diff src/app/query-state.ts @ 57:d7c947909ab8 ng2-table

renamed query-app.module to app.module. loading query from url fragment works now.
author casties
date Wed, 29 Mar 2017 17:16:10 +0200
parents 308c96f734c8
children
line wrap: on
line diff
--- a/src/app/query-state.ts	Tue Mar 28 20:03:36 2017 +0200
+++ b/src/app/query-state.ts	Wed Mar 29 17:16:10 2017 +0200
@@ -21,6 +21,9 @@
     public resultColumns: any[];
     
 
+    /**
+     * Sets the query state from a string.
+     */
     setStateFromString(newStateString: string) {
         try {
             // state string is json
@@ -32,15 +35,17 @@
                 // step is an array [mode, params]
                 if (!Array.isArray(elem)) return;
                 let mode = elem[0];
+                // get QueryMode object
                 let qm: QueryMode = getQueryModeById(mode);
                 let params = elem[1];
                 if (qm != null && params != null) {
+                    // construct QueryStep
                     let qs = new QueryStep(qm, params);
                     newSteps.push(qs);
                 }
             });
             if (newSteps.length > 0) {
-                // set state
+                // set new state
                 this.steps = newSteps;
             }
         } catch (e) {
@@ -53,6 +58,15 @@
     }
     
     /**
+     * Returns the current query state as a string.
+     */
+    getStateAsString(): string {
+        let stateList = this.steps.map((qs) => [qs.mode.id, qs.params]);
+        let stateStr = JSON.stringify(stateList);
+        return stateStr;
+    }
+
+    /**
      * Returns the cypher query as text for display.
      */
     getQueryText() {