comparison src/app/query-state.js @ 58:3b4046e0cc02 default

Merge from ng2-table branch. d7c947909ab888c013171b8c037e4f9fab30fe57
author casties
date Wed, 29 Mar 2017 17:19:12 +0200
parents
children
comparison
equal deleted inserted replaced
49:781a5387ca93 58:3b4046e0cc02
1 "use strict";
2 var query_step_1 = require('./query-step');
3 var query_mode_1 = require('./query-mode');
4 var QueryState = (function () {
5 function QueryState() {
6 this.steps = [];
7 }
8 /**
9 * Sets the query state from a string.
10 */
11 QueryState.prototype.setStateFromString = function (newStateString) {
12 try {
13 // state string is json
14 var newState = JSON.parse(newStateString);
15 // state should be list of steps
16 if (!Array.isArray(newState))
17 return;
18 var newSteps_1 = [];
19 newState.forEach(function (elem) {
20 // step is an array [mode, params]
21 if (!Array.isArray(elem))
22 return;
23 var mode = elem[0];
24 // get QueryMode object
25 var qm = query_mode_1.getQueryModeById(mode);
26 var params = elem[1];
27 if (qm != null && params != null) {
28 // construct QueryStep
29 var qs = new query_step_1.QueryStep(qm, params);
30 newSteps_1.push(qs);
31 }
32 });
33 if (newSteps_1.length > 0) {
34 // set new state
35 this.steps = newSteps_1;
36 }
37 }
38 catch (e) {
39 console.error("Unable to set state from string: " + newStateString);
40 }
41 };
42 QueryState.prototype.getNumSteps = function () {
43 return this.steps.length;
44 };
45 /**
46 * Returns the current query state as a string.
47 */
48 QueryState.prototype.getStateAsString = function () {
49 var stateList = this.steps.map(function (qs) { return [qs.mode.id, qs.params]; });
50 var stateStr = JSON.stringify(stateList);
51 return stateStr;
52 };
53 /**
54 * Returns the cypher query as text for display.
55 */
56 QueryState.prototype.getQueryText = function () {
57 var text = this.resultCypherQuery;
58 var hasParams = false;
59 for (var k in this.cypherQueryParams) {
60 if (!hasParams) {
61 hasParams = true;
62 text += '\n';
63 }
64 text += "[" + k + "='" + this.cypherQueryParams[k] + "'] ";
65 }
66 return text;
67 };
68 return QueryState;
69 }());
70 exports.QueryState = QueryState;
71 //# sourceMappingURL=query-state.js.map