Sha256: 7438f269628ec00696ee8db12d11863dd4d5d742875bc580f566d5f45f13343d

Contents?: true

Size: 1.07 KB

Versions: 11

Compression:

Stored size: 1.07 KB

Contents

pageflow.PageReferenceInputView = Backbone.Marionette.ItemView.extend({
  mixins: [pageflow.inputView],

  template: 'templates/inputs/page_reference',
  className: 'page_reference_input',

  ui: {
    chapters: 'ul.chapters'
  },

  modelEvents: {
    'change:linked_page_ids': function() {
      this._highlightUsedPages();
    }
  },

  onRender: function() {
    this.model.page.set('linked_page_ids_editable', true);

    this.subview(new pageflow.CollectionView({
      el: this.ui.chapters,
      collection: pageflow.entry.chapters,
      itemViewConstructor: pageflow.ChapterItemView,
      itemViewOptions: {
        pageItemView: pageflow.DraggablePageItemView
      }
    }));

    this._highlightUsedPages();
  },

  onClose: function() {
    this.model.page.unset('linked_page_ids_editable');
  },

  _highlightUsedPages: function() {
    var model = this.model;

    this.$('ul.pages > li').each(function() {
      var usedPageIds = _.values(model.get('linked_page_ids') || {});
      $(this).toggleClass('used', _.contains(usedPageIds, $(this).data('permaId')));
    });
  }
});

Version data entries

11 entries across 11 versions & 1 rubygems

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