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,8 +53,8 @@ | ||
| 53 | 53 | ||
| 54 | tree.addEventListener("tree-view-controllet_selected-fields", function (e) { | 54 | tree.addEventListener("tree-view-controllet_selected-fields", function (e) { |
| 55 | fields.innerHTML = e.detail.fields; | 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 | </script> | 60 | </script> |
| @@ -64,6 +64,7 @@ | @@ -64,6 +64,7 @@ | ||
| 64 | </html> | 64 | </html> |
| 65 | 65 | ||
| 66 | <!--urls:--> | 66 | <!--urls:--> |
| 67 | +<!--http://dati.lazio.it/catalog/api/action/datastore_search?resource_id=114baf3d-6d4f-42ff-b4af-481beef59ae1--> | ||
| 67 | <!--url: 'http://ckan.routetopa.eu/api/action/datastore_search?resource_id=73e02092-85a1-434e-85fe-0c9a43aa9a52&limit=5',--> | 68 | <!--url: 'http://ckan.routetopa.eu/api/action/datastore_search?resource_id=73e02092-85a1-434e-85fe-0c9a43aa9a52&limit=5',--> |
| 68 | <!--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 | <!--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 | <!--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',--> | 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,7 +8,6 @@ | ||
| 8 | <dom-module id="tree-view-controllet"> | 8 | <dom-module id="tree-view-controllet"> |
| 9 | 9 | ||
| 10 | <style is="custom-style"> | 10 | <style is="custom-style"> |
| 11 | - | ||
| 12 | --paper-item { | 11 | --paper-item { |
| 13 | } | 12 | } |
| 14 | 13 | ||
| @@ -36,7 +35,7 @@ | @@ -36,7 +35,7 @@ | ||
| 36 | 35 | ||
| 37 | :host{ | 36 | :host{ |
| 38 | --paper-menu-focused-item-after: { | 37 | --paper-menu-focused-item-after: { |
| 39 | - opacity: 0; | 38 | + opacity: 0; |
| 40 | }; | 39 | }; |
| 41 | } | 40 | } |
| 42 | </style> | 41 | </style> |
| @@ -131,7 +130,10 @@ | @@ -131,7 +130,10 @@ | ||
| 131 | 130 | ||
| 132 | _createTree : function(nodeName, node) { | 131 | _createTree : function(nodeName, node) { |
| 133 | var html = ""; | 132 | var html = ""; |
| 134 | - if(node.constructor == Object){ | 133 | + if(!node){ |
| 134 | + html = nodeName; | ||
| 135 | + } | ||
| 136 | + else if(node.constructor == Object){ | ||
| 135 | var list = new Array(); | 137 | var list = new Array(); |
| 136 | for(var child in node) | 138 | for(var child in node) |
| 137 | list.push(this._createTree(nodeName+","+child, node[child])); | 139 | list.push(this._createTree(nodeName+","+child, node[child])); |
| @@ -237,6 +239,7 @@ | @@ -237,6 +239,7 @@ | ||
| 237 | }, | 239 | }, |
| 238 | 240 | ||
| 239 | _updateSelectedFields : function(e) { | 241 | _updateSelectedFields : function(e) { |
| 242 | + | ||
| 240 | var menuId = e.target.id; | 243 | var menuId = e.target.id; |
| 241 | var selectedIds = []; | 244 | var selectedIds = []; |
| 242 | 245 | ||
| @@ -247,12 +250,22 @@ | @@ -247,12 +250,22 @@ | ||
| 247 | selectedIds.push(id); | 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 | else | 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 | }); |