# HG changeset patch # User nowmad@nowmads-macbook-pro.local # Date 1452185210 -3600 # Node ID 848e4a5ad4d973eeaf55b655c35fa0ebb956fd95 # Parent 6e0272a9b3ca82a578336f315f78a67f2d91cbfc update date params to be an array of date instead of a string diff -r 6e0272a9b3ca -r 848e4a5ad4d9 cms/app-client/app/components/visu-chrono.js --- a/cms/app-client/app/components/visu-chrono.js Thu Dec 31 10:22:55 2015 +0100 +++ b/cms/app-client/app/components/visu-chrono.js Thu Jan 07 17:46:50 2016 +0100 @@ -5,7 +5,7 @@ var _this = this; if (this.get('container').lookup('controller:application').date !== null){ - this.highlightQuery(this.get('container').lookup('controller:application').date.split(',')); + this.highlightQuery(this.get('container').lookup('controller:application').date); } var isMouseDown = false, @@ -30,10 +30,10 @@ }); }, sendUpdate: function(){ - var dateQuery = $('.highlighted').map(function(index, elt) { - return parseInt($(elt).parent().attr('id')) + parseInt($(elt).html()); - }).get().join(','); - dateQuery = (dateQuery == "") ? null : dateQuery; + var dateQuery = []; + $('.highlighted').map(function(index, elt) { + dateQuery.push(parseInt($(elt).parent().attr('id')) + parseInt($(elt).html())); + }); this.sendAction('action', dateQuery); }, highlightQuery: function(list){ diff -r 6e0272a9b3ca -r 848e4a5ad4d9 cms/app-client/app/controllers/application.js --- a/cms/app-client/app/controllers/application.js Thu Dec 31 10:22:55 2015 +0100 +++ b/cms/app-client/app/controllers/application.js Thu Jan 07 17:46:50 2016 +0100 @@ -5,7 +5,7 @@ location: null, langue: null, discours: null, - date: null, + date: [], thematique: null, currentItem: {title: "example", master: 'http://www.noiseaddicts.com/samples_1w72b820/3921.mp3'}, filteredSounds: Ember.computed('location', 'langue', 'discours', 'date', 'thematique', 'model', function() { @@ -13,7 +13,7 @@ var langue = this.get('langue'); var discours = this.get('discours'); var date = this.get('date'); - // var thematique = this.get('thematique'); + var thematique = this.get('thematique'); var sounds = this.get('model'); @@ -26,19 +26,30 @@ if (discours) { sounds = sounds.filterBy('type', discours); } - if (date) { - sounds = sounds.filterBy('created', parseInt(date)); + if (date.length > 0) { + var temp = sounds; + sounds.map(function(elt, index){ + if (date.indexOf(elt.get('created')) === -1){ + temp = temp.without(elt); + } + }); + sounds = temp; } - // if (thematique) { - // sounds = sounds.filterBy('thematique', thematique); - // } - + if (thematique) { + sounds = sounds.filterBy('thematique', thematique); + } return sounds; }), actions: { - deleteTag: function(query){ + deleteTag: function(query, item){ var queryParams = {}; - queryParams[query] = null; + if (query === 'date'){ + var array = this.get('date'); + if(array.indexOf(item) !== -1) { + array.splice(array.indexOf(item), 1); + } + } + queryParams[query] = array || null; this.transitionToRoute({queryParams: queryParams}); }, play: function(item){ diff -r 6e0272a9b3ca -r 848e4a5ad4d9 cms/app-client/app/routes/application.js --- a/cms/app-client/app/routes/application.js Thu Dec 31 10:22:55 2015 +0100 +++ b/cms/app-client/app/routes/application.js Thu Jan 07 17:46:50 2016 +0100 @@ -1,6 +1,23 @@ import Ember from 'ember'; export default Ember.Route.extend({ + serializeQueryParam: function(value, urlKey, defaultValueType) { + if (urlKey === 'date') { + return value; + } + return '' + value; + }, + deserializeQueryParam: function(value, urlKey, defaultValueType) { + if (urlKey === 'date') { + var arr = []; + for (var i = 0; i < value.length; i++) { + arr.push(parseInt(value[i])); + } + return arr; + } + + return value; + }, model() { return this.store.findAll('sound'); },