From 1af60169c485e50234a38996d3fa4d97f67ff364 Mon Sep 17 00:00:00 2001 From: Frederic Bonifas Date: Wed, 22 Jul 2015 15:51:08 +0200 Subject: [PATCH] =?UTF-8?q?#91:=20possibilit=C3=A9=20d'ajouter=20et=20de?= =?UTF-8?q?=20supprimer=20un=20filtre?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/scripts/controllers/commonmap.js | 44 ++++++++++++++++++++++++---- app/styles/map.scss | 2 +- app/views/commonmap.html | 4 +-- 3 files changed, 41 insertions(+), 9 deletions(-) diff --git a/app/scripts/controllers/commonmap.js b/app/scripts/controllers/commonmap.js index ebbb1bca..a0899fb6 100644 --- a/app/scripts/controllers/commonmap.js +++ b/app/scripts/controllers/commonmap.js @@ -88,17 +88,49 @@ angular.module('accessimapEditeurDerApp') 'f0': 'Titre par défaut', }]; - var checkboxTemplate = '
{{row.entity[col.field]}}
'; + var checkboxTemplate = ''; + checkboxTemplate += '
{{row.entity[col.field]}}
'; + + var menuItems = [ + { + title: 'Supprimer cette colonne', + icon: 'ui-grid-icon-cancel', + action: function() { + var colName = this.context.col.name; + + // Remove the column from interactiveFiltersColumns + var columnToDelete = interactiveFiltersColumns.filter(function(col) { + return col.name === colName; + }); + var index = interactiveFiltersColumns.indexOf(columnToDelete[0]); + interactiveFiltersColumns.splice(index, 1); + + // Remove the column from interactiveFiltersColumns + angular.forEach($scope.interactiveFilters.data, function(row) { + delete row[colName]; + }); + } + } + ]; + + var interactiveFiltersColumns = [ + { name: 'id', enableCellEdit: false, enableHiding: false }, + { name: 'f0', cellTemplate: checkboxTemplate, menuItems: menuItems, enableHiding: false }, + { name: 'f1', cellTemplate: checkboxTemplate, menuItems: menuItems, enableHiding: false } + ]; $scope.interactiveFilters = { data: $scope.interactiveFiltersInit, showSelectionCheckbox: true, enableSorting: false, - columnDefs: [ - { name: 'id', enableCellEdit: false }, - { name: 'f0', cellTemplate: checkboxTemplate }, - { name: 'f1', cellTemplate: checkboxTemplate } - ], + columnDefs: interactiveFiltersColumns, + }; + + $scope.nextFilterNumber = 2; + + $scope.addFilter = function() { + interactiveFiltersColumns.push({ name: 'f' + $scope.nextFilterNumber, cellTemplate: checkboxTemplate, menuItems: menuItems, enableHiding: false }); + $scope.nextFilterNumber += 1; }; d3.select('svg').append('defs') diff --git a/app/styles/map.scss b/app/styles/map.scss index e97dc08e..4d4a610d 100644 --- a/app/styles/map.scss +++ b/app/styles/map.scss @@ -45,6 +45,6 @@ } .myGrid { - width: 500px; + width: 800px; height: 250px; } \ No newline at end of file diff --git a/app/views/commonmap.html b/app/views/commonmap.html index dc945988..130cb78f 100644 --- a/app/views/commonmap.html +++ b/app/views/commonmap.html @@ -101,7 +101,7 @@ - Ajouter des interactions -
+ +