Sha256: 1890be8ee9c51f7a6dad6cf25de5a8ac9f18b15cca84a24698e13e041ee946b0

Contents?: true

Size: 1.27 KB

Versions: 6

Compression:

Stored size: 1.27 KB

Contents

//= require_self
//= require_tree ./page_types/mixins
//= require_tree ./page_types

pageflow.pageType = (function() {
  var base = {
    enhance: function(pageElement, configuarion) {},
    prepare: function(pageElement, configuarion) {},
    unprepare: function(pageElement, configuarion) {},
    preload: function(pageElement, configuarion) {},
    resize: function(pageElement, configuarion) {},
    activating: function(pageElement, configuarion) {},
    activated: function(pageElement, configuarion) {},
    deactivating: function(pageElement, configuarion) {},
    deactivated: function(pageElement, configuarion) {},
    update: function(pageElement, configuarion) {},
    cleanup: function(pageElement, configuarion) {},

    embeddedEditorViews: function() {},

    linkedPages: function() {
      return [];
    },

    prepareNextPageTimeout: 200
  };

  return {
    repository: [],

    register: function(name, pageType) {
      var constructor = function() {};

      _.extend(constructor.prototype, base, Backbone.Events, pageType);
      this.repository[name] = constructor;
    },

    get: function(name) {
      if (!this.repository.hasOwnProperty(name)) {
        throw 'Unknown page type "' + name + '"';
      }

      return new this.repository[name]();
    }
  };
}());

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
pageflow-0.11.4 app/assets/javascripts/pageflow/page_type.js
pageflow-0.11.3 app/assets/javascripts/pageflow/page_type.js
pageflow-0.11.2 app/assets/javascripts/pageflow/page_type.js
pageflow-0.11.1 app/assets/javascripts/pageflow/page_type.js
pageflow-0.11.0 app/assets/javascripts/pageflow/page_type.js
pageflow-0.10.0 app/assets/javascripts/pageflow/page_type.js