Sha256: 1c8d1e9b4b8cb2036a2d74aa5c9af4d8d59500aeb7a204b64b66e48c8db2e071

Contents?: true

Size: 1.24 KB

Versions: 11

Compression:

Stored size: 1.24 KB

Contents

pageflow.ConfigurationEditorTabView = Backbone.Marionette.View.extend({
  className: 'configuration_editor',

  initialize: function() {
    this.groups = this.options.groups || pageflow.ConfigurationEditorTabView.groups;
  },

  input: function(propertyName, view, options) {
    this.inputs = this.inputs || new Backbone.ChildViewContainer();
    this.inputs.add(new view(_.extend({
      model: this.model,
      propertyName: propertyName
    }, options || {})));
  },

  group: function(name) {
    this.groups.apply(name, this);
  },

  render: function() {
    this.inputs.each(function(input) {
      this.$el.append(input.render().el);
    }, this);

    return this;
  },

  onClose: function() {
    if (this.inputs) {
      this.inputs.call('close');
    }
  }
});

pageflow.ConfigurationEditorTabView.Groups = function() {
  var groups = {};

  this.define = function(name, fn) {
    if (typeof fn !== 'function') {
      throw 'Group has to be function.';
    }

    groups[name] = fn;
  };

  this.apply = function(name, context) {
    if (!(name in groups)) {
      throw 'Undefined group named "' + name + '".';
    }

    groups[name].call(context);
  };
};

pageflow.ConfigurationEditorTabView.groups = new pageflow.ConfigurationEditorTabView.Groups();

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
pageflow-0.5.0 app/assets/javascripts/pageflow/editor/views/configuration_editor_tab_view.js
pageflow-0.4.0 app/assets/javascripts/pageflow/editor/views/configuration_editor_tab_view.js
pageflow-0.3.0 app/assets/javascripts/pageflow/editor/views/configuration_editor_tab_view.js
pageflow-0.2.1 app/assets/javascripts/pageflow/editor/views/configuration_editor_tab_view.js
pageflow-0.2.0 app/assets/javascripts/pageflow/editor/views/configuration_editor_tab_view.js
pageflow-0.1.0 app/assets/javascripts/pageflow/editor/views/configuration_editor_tab_view.js
pageflow-0.0.5 app/assets/javascripts/pageflow/editor/views/configuration_editor_tab_view.js
pageflow-0.0.4 app/assets/javascripts/pageflow/editor/views/configuration_editor_tab_view.js
pageflow-0.0.3 app/assets/javascripts/pageflow/editor/views/configuration_editor_tab_view.js
pageflow-0.0.2 app/assets/javascripts/pageflow/editor/views/configuration_editor_tab_view.js
pageflow-0.0.1 app/assets/javascripts/pageflow/editor/views/configuration_editor_tab_view.js