Skip to content

Instantly share code, notes, and snippets.

@wayne-o
Created November 13, 2015 09:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wayne-o/9682182e8eb34a9274ce to your computer and use it in GitHub Desktop.
Save wayne-o/9682182e8eb34a9274ce to your computer and use it in GitHub Desktop.
define('sonatribe-ui/pods/event/lineup/route', ['exports', 'ember', 'ember-infinity/mixins/route', 'ember-computed-decorators'], function (exports, Ember, InfinityRoute, observes) {
'use strict';
function _createDecoratedObject(descriptors) { var target = {}; for (var i = 0; i < descriptors.length; i++) { var descriptor = descriptors[i]; var decorators = descriptor.decorators; var key = descriptor.key; delete descriptor.key; delete descriptor.decorators; descriptor.enumerable = true; descriptor.configurable = true; if ('value' in descriptor || descriptor.initializer) descriptor.writable = true; if (decorators) { for (var f = 0; f < decorators.length; f++) { var decorator = decorators[f]; if (typeof decorator === 'function') { descriptor = decorator(target, key, descriptor) || descriptor; } else { throw new TypeError('The decorator for method ' + descriptor.key + ' is of the invalid type ' + typeof decorator); } } } if (descriptor.initializer) { descriptor.value = descriptor.initializer.call(target); } Object.defineProperty(target, key, descriptor); } return target; }
exports['default'] = Ember['default'].Route.extend(InfinityRoute['default'], _createDecoratedObject([{
key: 'slug',
initializer: function initializer() {
return null;
}
}, {
key: 'selected',
initializer: function initializer() {
return [];
}
}, {
key: 'model',
value: function model() {
var _this = this;
var slug = this.modelFor('event').params.slug;
this.set('slug', slug);
return Ember['default'].run(function () {
return Ember['default'].RSVP.hash({
eventInstance: _this.store.query('eventInstance', {
slug: slug
}),
lineup: _this.infinityModel("lineup", { perPage: 24, startingPage: 0, slug: slug, sort: 'familiarity desc', currentUserAttending: false, locations: _this.get('locations'), listingevent: _this.get('listingEvents') })
});
});
}
}, {
key: '_modelPath',
initializer: function initializer() {
return 'currentModel.lineup';
}
}, {
key: 'setupController',
value: function setupController(controller, models) {
controller.set('eventInstance', models.eventInstance.get('firstObject'));
controller.set('lineup', models.lineup);
}
}, {
key: 'locations',
decorators: [observes['default']('selected', 'selected.[]')],
value: function locations(selected) {
var locationsString = '';
if (selected !== null) {
for (var i = 0; i < selected.length; i++) {
var filter = selected[i];
switch (filter.model_type) {
case 'location':
if (locationsString === '') {
locationsString = filter.name;
} else {
locationsString += ',' + filter.name;
}
break;
default:
}
}
}
return locationsString;
}
}, {
key: 'listingEvents',
initializer: function initializer() {
return null;
}
}, {
key: 'listingEventsObserver',
decorators: [observes['default']('selected', 'selected.[]')],
/* jshint ignore:end */
value: function listingEventsObserver(selected) {
var listingEventsString = '';
if (selected !== null) {
for (var i = 0; i < selected.length; i++) {
var filter = selected[i];
switch (filter.model_type) {
case 'listingevent':
if (listingEventsString === '') {
listingEventsString = filter.name;
} else {
listingEventsString += ',' + filter.name;
}
break;
default:
}
}
}
return listingEventsString;
}
}, {
key: 'actions',
initializer: function initializer() {
return {
filtersChanged: function filtersChanged(selected) {
this.set('selected', selected);
}
};
}
}]));
/* jshint ignore:start */
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment