<script src="../shared_js/perfect-scrollbar/js/min/perfect-scrollbar.jquery.min.js"></script> <link rel="stylesheet" href="../shared_js/perfect-scrollbar/css/perfect-scrollbar.min.css"> <script src="../../locales/controllet_ln.js"></script> <link rel="import" href="../../bower_components/polymer/polymer.html"> <link rel="import" href="../page-slider-controllet/page-slider-controllet.html"> <link rel="import" href="../select-data-controllet/select-data-controllet.html" /> <link rel="import" href="../select-visualization-controllet/select-visualization-controllet.html" /> <dom-module id="data-sevc-controllet"> <template> <page-slider-controllet id="slider"> <neon-animatable> <select-data-controllet id="select_data"></select-data-controllet> </neon-animatable> <neon-animatable> <select-visualization-controllet id="select_visualization" deep-url={{deepUrl}} datalets-list-url={{dataletsListUrl}}></select-visualization-controllet> </neon-animatable> </page-slider-controllet> </template> <script> Polymer({ is : 'data-sevc-controllet', listeners : { 'page-slider-controllet_selected' : '_updateSlider', 'dataset-selection-controllet_data-url' : '_allowSecondStep', 'tree-view-controllet_selected-fields' : '_allowThirdStep' }, properties : { // dataUrl : { // type : String, // value : undefined // }, preselectedDatalet : { //datalet type : String, value : undefined }, preselectedFields : { //fields type : Array, value : undefined }, dataletPreset : { //params type : String, value : undefined }, deepUrl : { type : String, value : undefined }, dataletsListUrl : { type : String , value : undefined }, localization : { type : String, value : "en" } }, ready : function(){ if(this.selectedDatalet){ this.modify = true; this.$.slider.selected = 1; this.dataUrl = this.dataletPreset["data-url"]; } ln["localization"] = this.localization; }, _updateSlider : function(e){ switch (e.detail.selected) { case 0: slider.setTitle(ln["slide1Title_" + this.localization], ln["slide1Subtitle_" + this.localization]); slider.chevronLeft("invisible"); slider.chevronRight(false); if(slider.getPrevSelected() == 1) slider.chevronRight(true); break; case 1: slider.setTitle(ln["slide2Title_" + this.localization], ln["slide2Subtitle_" + this.localization]); if(this.modify){ slider.chevronLeft("invisible"); } else{ slider.chevronLeft(true); } slider.chevronRight(false); this._allowThirdStep({detail: {fields: select_data.getSelectedFields()}}); if(this.modify){ this.$.select_visualization.setFields(select_data.getSelectedFields()); this.$.select_visualization.setFilters(select_data.getFilters()); } break; case 2: slider.setTitle(ln["slide3Title_" + this.localization], ln["slide3Subtitle_" + this.localization]); slider.chevronLeft(true); slider.chevronRight("invisible"); this.$.select_visualization.setFields(select_data.getSelectedFields()); this.$.select_visualization.setFilters(select_data.getFilters()); if(this.modify) { this.$.select_visualization.show();//resize } } }, _allowSecondStep : function(e){ if(e.detail.url == "") { slider.chevronRight(false); select_dataset.$.selected_url.invalid = false; return; } this.dataUrl = e.detail.url; var that = this; $.ajax({ url: e.detail.url, dataType: "json", success: function(data){ // this.dataUrl = e.detail.url // this.jsonData = JSON.stringify(data); slider.chevronRight(true); select_dataset.$.selected_url.invalid = false; that.$.select_data._init(); }, error: function(){ // this.jsonData = undefined; slider.chevronRight(false); select_dataset.$.selected_url.invalid = true; that.$.select_data._reset(); } }); //NOT HERE ma quando VADO al secondo passo e l'url รจ cambiato // this.$.select_data._init(); this.$.select_visualization.reset(); }, _allowThirdStep : function(e){ if(e.detail.fields.length > 0) slider.chevronRight(true); else slider.chevronRight(false); //this.$.select_visualization.reset(); } }); </script> </dom-module>