Sha256: d42433e6fa3f544025cb47e3c17200d04fd72e169d2db273d614cccf7931e19f

Contents?: true

Size: 1.8 KB

Versions: 13

Compression:

Stored size: 1.8 KB

Contents

pageflow.linkmapPage.MobileInfoBoxEmbeddedView = Backbone.Marionette.View.extend({
  modelEvents: {
    'change:mobile_info_box_title change:mobile_info_box_description': 'update'
  },

  render: function() {
    var collection = this.model.linkmapAreas();
    var paginator = this.paginator = this.$el.find('.linkmap-paginator');

    this.setupOverviewPage();

    this.subview(new pageflow.CollectionView({
      el: this.$el.find('.linkmap-paginator-page_group'),
      collection: collection,
      itemViewConstructor: pageflow.linkmapPage.MobileInfoBoxPageItemEmbeddedView,
      itemViewOptions: {
        paginator: paginator
      }
    }));

    this.listenTo(collection, 'add remove', function() {
      paginator.linkmapPaginator('update');
    });

    this.listenTo(collection, 'sort', function() {
      paginator.linkmapPaginator('update');
    });

    this.listenTo(collection, 'select', function(area) {
      paginator.linkmapPaginator('goToPage', collection.indexOf(area) + 1);
    });

    this.listenTo(collection, 'resetSelection', function(area) {
      paginator.linkmapPaginator('goToPage', 0);
    });

    this.update();
    paginator.linkmapPaginator('update');

    return this;
  },

  setupOverviewPage: function() {
    var overviewPage = this.$el.find('.linkmap-mobile_info_box-overview_page');

    this.ui = {
      title: $('<h3 />').appendTo(overviewPage),
      description: $('<p />').appendTo(overviewPage)
    };
  },

  update: function() {
    this.ui.title.text(this.model.get('mobile_info_box_title'));
    this.ui.description.html(this.model.get('mobile_info_box_description'));

    this.ui.title.toggle(!!this.model.get('mobile_info_box_title'));
    this.ui.description.toggle(!!this.model.get('mobile_info_box_description'));

    this.paginator.linkmapPaginator('updateHeight');
  }
});

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
pageflow-linkmap-page-2.10.0 app/assets/javascript/pageflow/linkmap_page/editor/views/embedded/mobile_info_box_embedded_view.js
pageflow-linkmap-page-2.9.0 app/assets/javascript/pageflow/linkmap_page/editor/views/embedded/mobile_info_box_embedded_view.js
pageflow-linkmap-page-2.8.0 app/assets/javascript/pageflow/linkmap_page/editor/views/embedded/mobile_info_box_embedded_view.js
pageflow-linkmap-page-2.7.1 app/assets/javascript/pageflow/linkmap_page/editor/views/embedded/mobile_info_box_embedded_view.js
pageflow-linkmap-page-2.7.0 app/assets/javascript/pageflow/linkmap_page/editor/views/embedded/mobile_info_box_embedded_view.js
pageflow-linkmap-page-2.6.1 app/assets/javascript/pageflow/linkmap_page/editor/views/embedded/mobile_info_box_embedded_view.js
pageflow-linkmap-page-2.6.0 app/assets/javascript/pageflow/linkmap_page/editor/views/embedded/mobile_info_box_embedded_view.js
pageflow-linkmap-page-2.5.0 app/assets/javascript/pageflow/linkmap_page/editor/views/embedded/mobile_info_box_embedded_view.js
pageflow-linkmap-page-2.4.0 app/assets/javascript/pageflow/linkmap_page/editor/views/embedded/mobile_info_box_embedded_view.js
pageflow-linkmap-page-2.3.0 app/assets/javascript/pageflow/linkmap_page/editor/views/embedded/mobile_info_box_embedded_view.js
pageflow-linkmap-page-2.2.0 app/assets/javascript/pageflow/linkmap_page/editor/views/embedded/mobile_info_box_embedded_view.js
pageflow-linkmap-page-2.1.0 app/assets/javascript/pageflow/linkmap_page/editor/views/embedded/mobile_info_box_embedded_view.js
pageflow-linkmap-page-2.0.0 app/assets/javascript/pageflow/linkmap_page/editor/views/embedded/mobile_info_box_embedded_view.js