Commit 5054a06e961c97332659123e3a0e8f48200ae657
1 parent
b9dd9495
tree-view update
Showing
2 changed files
with
23 additions
and
9 deletions
controllets/tree-view-controllet/demo/index.html
100644 → 100755
... | ... | @@ -53,8 +53,8 @@ |
53 | 53 | |
54 | 54 | tree.addEventListener("tree-view-controllet_selected-fields", function (e) { |
55 | 55 | fields.innerHTML = e.detail.fields; |
56 | - console.log(tree.getFlatFields()); | |
57 | - console.log(tree.getFields());//firefox console.log does not recognize associative array? | |
56 | +// console.log(tree.getFlatFields()); | |
57 | +// console.log(tree.getFields());//firefox console.log does not recognize associative array? | |
58 | 58 | }); |
59 | 59 | |
60 | 60 | </script> |
... | ... | @@ -64,6 +64,7 @@ |
64 | 64 | </html> |
65 | 65 | |
66 | 66 | <!--urls:--> |
67 | +<!--http://dati.lazio.it/catalog/api/action/datastore_search?resource_id=114baf3d-6d4f-42ff-b4af-481beef59ae1--> | |
67 | 68 | <!--url: 'http://ckan.routetopa.eu/api/action/datastore_search?resource_id=73e02092-85a1-434e-85fe-0c9a43aa9a52&limit=5',--> |
68 | 69 | <!--url: 'https://data.issy.com/api/records/1.0/search?dataset=liste-des-restaurants-a-issy-les-moulineaux&sort=type&facet=type&facet=terrasse',--> |
69 | 70 | <!--url: 'https://data.issy.com/api/records/1.0/search?dataset=flux-rss-des-offres-demplois-a-issy-les-moulineaux&sort=published&facet=published&refine.published=2015',--> |
... | ... |
controllets/tree-view-controllet/tree-view-controllet.html
100644 → 100755
... | ... | @@ -8,7 +8,6 @@ |
8 | 8 | <dom-module id="tree-view-controllet"> |
9 | 9 | |
10 | 10 | <style is="custom-style"> |
11 | - | |
12 | 11 | --paper-item { |
13 | 12 | } |
14 | 13 | |
... | ... | @@ -36,7 +35,7 @@ |
36 | 35 | |
37 | 36 | :host{ |
38 | 37 | --paper-menu-focused-item-after: { |
39 | - opacity: 0; | |
38 | + opacity: 0; | |
40 | 39 | }; |
41 | 40 | } |
42 | 41 | </style> |
... | ... | @@ -131,7 +130,10 @@ |
131 | 130 | |
132 | 131 | _createTree : function(nodeName, node) { |
133 | 132 | var html = ""; |
134 | - if(node.constructor == Object){ | |
133 | + if(!node){ | |
134 | + html = nodeName; | |
135 | + } | |
136 | + else if(node.constructor == Object){ | |
135 | 137 | var list = new Array(); |
136 | 138 | for(var child in node) |
137 | 139 | list.push(this._createTree(nodeName+","+child, node[child])); |
... | ... | @@ -237,6 +239,7 @@ |
237 | 239 | }, |
238 | 240 | |
239 | 241 | _updateSelectedFields : function(e) { |
242 | + | |
240 | 243 | var menuId = e.target.id; |
241 | 244 | var selectedIds = []; |
242 | 245 | |
... | ... | @@ -247,12 +250,22 @@ |
247 | 250 | selectedIds.push(id); |
248 | 251 | } |
249 | 252 | |
250 | - if(selectedIds.length) | |
251 | - this.selectedFields[menuId] = selectedIds; | |
253 | + var prevLength; | |
254 | + if(this.selectedFields[menuId]) | |
255 | + prevLength = this.selectedFields[menuId].length; | |
252 | 256 | else |
253 | - delete this.selectedFields[menuId]; | |
257 | + prevLength = 0; | |
258 | + var currLength = selectedIds.length | |
254 | 259 | |
255 | - this.fire('tree-view-controllet_selected-fields', {fields : this.getFlatFields()}); | |
260 | + if(prevLength != currLength) { | |
261 | + | |
262 | + if (selectedIds.length) | |
263 | + this.selectedFields[menuId] = selectedIds; | |
264 | + else | |
265 | + delete this.selectedFields[menuId]; | |
266 | + | |
267 | + this.fire('tree-view-controllet_selected-fields', {fields: this.getFlatFields()}); | |
268 | + } | |
256 | 269 | } |
257 | 270 | |
258 | 271 | }); |
... | ... |