Sha256: ce44d3ea4fec4d0928628a83f4bd9746260922745fc38255f2e31913c75bb75b

Contents?: true

Size: 1.91 KB

Versions: 20

Compression:

Stored size: 1.91 KB

Contents

;(function() {
  'use strict';

  function GoalToolService(focus) {
    var goalDefaults = {
      id: null,
      description: '',
      isCompleted: false,
      dueOn: ''
    };

    function GoalTool() {}

    GoalTool.prototype.MODES = {
      BROWSE: 0,
      ENTRY: 1
    };

    GoalTool.prototype.edit = function(goal) {
      this.setModel(goal);
      this.setMode(this.MODES.ENTRY);
      focus('new-goal');
    };

    GoalTool.prototype.getMode = function() { return this._mode; };

    GoalTool.prototype.setMode = function(mode) { this._mode = mode; };

    GoalTool.prototype.copy = function(srcGoal, dstGoal) {
      dstGoal.description = srcGoal.description;
      dstGoal.isCompleted = srcGoal.isCompleted;
      dstGoal.dueOn = srcGoal.dueOn;
    };

    GoalTool.prototype.setModel = function(goal) {
      var g = typeof goal === 'undefined' ? goalDefaults : goal;
      this._goalModel.id = g.id;
      this.copy(g, this._goalModel);
    };

    GoalTool.prototype.getModel = function() { return this._goalModel; };

    GoalTool.prototype.setFilter = function(type) {
      switch(type) {
        case 'all':
          this._currentFilter = { isDeleted: false };
          break;
        case 'completed':
          this._currentFilter = { isDeleted: false, isCompleted: true };
          break;
        case 'deleted':
          this._currentFilter = { isDeleted: true };
      }
    };

    GoalTool.prototype.getFilter = function() { return this._currentFilter; };

    GoalTool.prototype.setTab = function(name) { this._tab = name; };

    GoalTool.prototype.getTab = function() { return this._tab; };

    GoalTool.prototype._mode = GoalTool.prototype.MODES.BROWSE;

    GoalTool.prototype._currentFilter = {};

    GoalTool.prototype._goalModel = {};

    GoalTool.prototype._tab = 'all';

    return new GoalTool();
  }

  angular.module('socialNetworking.services')
    .service('goalTool', ['focus', GoalToolService]);
})();

Version data entries

20 entries across 16 versions & 1 rubygems

Version Path
social_networking-0.13.3 app/assets/javascripts/social_networking/services/goal-tool-service.js
social_networking-0.13.2 app/assets/javascripts/social_networking/services/goal-tool-service.js
social_networking-0.13.1 app/assets/javascripts/social_networking/services/goal-tool-service.js
social_networking-0.13.0 app/assets/javascripts/social_networking/services/goal-tool-service.js
social_networking-0.12.0 app/assets/javascripts/social_networking/services/goal-tool-service.js
social_networking-0.11.8 app/assets/javascripts/social_networking/services/goal-tool-service.js
social_networking-0.11.7 spec/dummy/tmp/jasmine/assets/social_networking/services/goal-tool-service.js
social_networking-0.11.7 app/assets/javascripts/social_networking/services/goal-tool-service.js
social_networking-0.11.6 app/assets/javascripts/social_networking/services/goal-tool-service.js
social_networking-0.11.6 spec/dummy/tmp/jasmine/assets/social_networking/services/goal-tool-service.js
social_networking-0.11.5 app/assets/javascripts/social_networking/services/goal-tool-service.js
social_networking-0.11.4 app/assets/javascripts/social_networking/services/goal-tool-service.js
social_networking-0.11.3 app/assets/javascripts/social_networking/services/goal-tool-service.js
social_networking-0.11.2 app/assets/javascripts/social_networking/services/goal-tool-service.js
social_networking-0.11.2 spec/dummy/tmp/jasmine/assets/social_networking/services/goal-tool-service.js
social_networking-0.11.1 app/assets/javascripts/social_networking/services/goal-tool-service.js
social_networking-0.11.1 spec/dummy/tmp/jasmine/assets/social_networking/services/goal-tool-service.js
social_networking-0.11.0 app/assets/javascripts/social_networking/services/goal-tool-service.js
social_networking-0.10.0 app/assets/javascripts/social_networking/services/goal-tool-service.js
social_networking-0.9.3 app/assets/javascripts/social_networking/services/goal-tool-service.js