/* * Included in dashboard edit and dashboard display * * Parses params.items and dssw.items and parameters.items, gflags.items * sets up arc.globals.params, arc.globals.parameters and arc.globals.dssw, arc.globals.gflags */ { // Set up params var params = arc.params.tracker(), parameters = arc.params.parameters(), decodedKey, decodedValue, currentDS, newParam; var decodedScopeData = decodeURIComponent('{{dataset_scope}}'); arc.globals.filter_scope = decodedScopeData ? JSON.parse(decodedScopeData) : []; arc.globals.filter_scope_hash = {}; arc.globals.filter_scope.forEach(function(ds){ arc.globals.filter_scope_hash[ds.filterName] = ds; }); arc.globals.gflags = arc.globals.gflags || {}; {% for key, value in gflags.items %} decodedKey = decodeURIComponent('{{key}}'); decodedValue = decodeURIComponent('{{value}}'); if (+decodedValue == decodedValue) { decodedValue = Number(decodedValue); } arc.globals.gflags[decodedKey] = decodedValue; {% endfor %} var allParamItems = [] {% for key, value in params.items %} decodedKey = decodeURIComponent('{{key}}'); decodedValue = decodeURIComponent('{{value}}'); newParam = { key: decodedKey, value: decodedValue, }; if (arc.globals.filter_scope_hash[decodedKey]) { currentDS = arc.globals.filter_scope_hash[decodedKey]; newParam.filtername = currentDS.filterName; newParam.source_visual_id = currentDS.filterId; newParam.source_dataset_id = currentDS.datasetId; newParam.scopetype = currentDS.datasetId ? arc.params.ParamEnums.ScopeTypeEnum.DATASET : arc.params.ParamEnums.ScopeTypeEnum.EXPLICIT; newParam.scope = { datasetId: currentDS.datasetId, filterName: currentDS.filterName, }; } allParamItems.push(newParam); {% endfor %} params.addFromUrl(allParamItems); {% for key, value in parameters.items %} decodedKey = decodeURIComponent('{{key}}'); decodedValue = decodeURIComponent('{{value}}'); parameters.addParams(decodedKey, decodedValue); {% endfor %} // Set up dataset switch table var dssw = {}; {% for key, value in dssw.items %} dssw[+{{key}}] = +{{value}}; {% endfor %} arc.globals.params = params; arc.globals.parameters = parameters; arc.globals.dssw = dssw; }