PageRenderTime 42ms CodeModel.GetById 16ms RepoModel.GetById 0ms app.codeStats 0ms

/app/scripts/gallery/gallery-view.js

https://github.com/TheWebShop/gallery-walking
JavaScript | 48 lines | 40 code | 5 blank | 3 comment | 0 complexity | 55699c7e01774a29833482a8bd7af346 MD5 | raw file
  1. /*global define*/
  2. define([
  3. 'jquery',
  4. 'underscore',
  5. 'backbone',
  6. 'marionette',
  7. 'gallery/slide-view',
  8. 'galleria'
  9. ], function ($, _, Backbone, Marionette, SlideView) {
  10. 'use strict';
  11. _.templateSettings = {
  12. evaluate : /\{\[([\s\S]+?)\]\}/g,
  13. interpolate : /\{\{([\s\S]+?)\}\}/g
  14. };
  15. var GalleryView = Marionette.CollectionView.extend({
  16. itemView: SlideView,
  17. loading: new $.Deferred(),
  18. initialize: function(galleryView) {
  19. this.collection.fetch({
  20. orderby: 'Name asc'
  21. })
  22. .done(_.bind(this.initGal, this, galleryView));
  23. },
  24. initGal: function() {
  25. var self = this;
  26. // needed to give Galleria a target
  27. self.$el.attr('id', 'images');
  28. Galleria.loadTheme('scripts/vendor/galleria-theme/galleria.classic.js');
  29. Galleria.run('#carousel', { dataSource: '#images' });
  30. Galleria.on('loadstart', function(e) {
  31. var galleria = this
  32. self.trigger('slideChange', galleria.getIndex());
  33. });
  34. Galleria.ready(function() {
  35. // delay until after first image
  36. _.defer(function(){
  37. self.loading.resolve();
  38. });
  39. });
  40. }
  41. });
  42. return GalleryView;
  43. });