http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/indexes-collection/indexes.component.ts
----------------------------------------------------------------------
diff --git 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/indexes-collection/indexes.component.ts
 
b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/indexes-collection/indexes.component.ts
deleted file mode 100755
index 2913470..0000000
--- 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/indexes-collection/indexes.component.ts
+++ /dev/null
@@ -1,230 +0,0 @@
-/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-import { Component, Inject, Input } from '@angular/core';
-import { Index } from '../../../shared/models/asterixDB.model'
-import { Store } from '@ngrx/store';
-import { Observable } from 'rxjs/Observable';
-import * as indexActions from '../../../shared/actions/index.actions'
-import { ElementRef, ViewChild} from '@angular/core';
-import {DataSource} from '@angular/cdk/collections';
-import {BehaviorSubject} from 'rxjs/BehaviorSubject';
-import 'rxjs/add/operator/startWith';
-import 'rxjs/add/observable/merge';
-import 'rxjs/add/operator/map';
-import 'rxjs/add/operator/debounceTime';
-import 'rxjs/add/operator/distinctUntilChanged';
-import 'rxjs/add/observable/fromEvent';
-import { Subscription } from "rxjs/Rx";
-import { State } from '../../../shared/reducers/index.reducer';
-import { MatPaginator } from '@angular/material';
-import { SelectionModel } from '@angular/cdk/collections';
-import { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';
-
-/**
- * Root component
- * Defines our application's layout
- */
-@Component({
-  selector: 'awc-indexes',
-  templateUrl: 'indexes.component.html',
-  styleUrls: ['indexes.component.scss']
-})
-
-export class IndexCollection {
-  displayedColumns = "['dataverseName', 'datasetName', 'indexName', 
'indexStructure', 'isPrimary', 'timestamp', 'pendingOp']"
-  /*
-  dataverseName: string;
-  datasetName: string;
-  indexName: string;
-  indexStructure: string;
-  searchKey: string[];
-  isPrimary: boolean;
-  timestamp: string;
-  pendingOp: string;
-  */
-  indexName: string;
-  dataSource: IndexDataSource | null;
-  loaded$: Observable<any>;
-  @Input('message') errorMessage: string = ""
-  
-  idxName = "";
-
-  constructor(private store: Store<any>, public dialog: MatDialog) {
-    this.loaded$ = this.store.select('index');
-    // Watching the name of the latest create index
-    this.store.select(s => s.index.createIndexName).subscribe((data: any) => {
-      this.idxName = data;
-    })
-
-    // Watching the name of the latest drop index
-    this.store.select(s => s.index.dropIndexName).subscribe((data: any) => {
-      this.idxName = data;
-    })
-
-    // Watching for the if there is a change in the collection
-               this.store.select(s => 
s.index.createIndexSuccess).subscribe((data: any) => {
-      if (data === true) {
-        this.getIndexes();
-        this.errorMessage = "SUCCEED: CREATE INDEX " + this.idxName;
-      }  
-    })
-
-    // Watching for the if there is a error in a create index operation 
-               this.store.select(s => 
s.index.createIndexError).subscribe((data: any) => {
-      if (data.errors) {
-        this.errorMessage = "ERROR: " + data.errors[0].msg;
-      }  
-    })
-
-    // Watching for the success message in a drop index operation 
-    this.store.select(s => s.index.dropIndexSuccess).subscribe((data: any) => {
-      if (data === true) {
-        this.getIndexes();
-        this.errorMessage = "SUCCEED: DROP INDEX " + this.idxName;
-      }  
-    })
-
-    // Watching for the if there is a error in a drop index operation 
-               this.store.select(s => s.index.dropIndexError).subscribe((data: 
any) => {
-      if (data.errors) {
-        this.errorMessage = "ERROR: " + data.errors[0].msg;
-      }  
-    })
-  }
-
-  getIndexes() {
-    // Triggers the effect to refresg the indexes
-    this.store.dispatch(new indexActions.SelectIndexes('-'));
-  }
-
-  ngOnInit() {
-    // Assign the datasource for the table 
-    this.dataSource = new IndexDataSource(this.store);
-  }  
-
-  /* 
-  * opens the create index dialog
-  */
-  openCreateIndexDialog(): void {
-    let dialogRef = this.dialog.open(DialogCreateIndex, {
-      width: '420px',
-      data: { name: this.indexName }
-    });
-
-    dialogRef.afterClosed().subscribe(result => {
-      this.indexName = result;
-    });
-  }
-
-
-   /* 
-  * opens the drop index dialog
-  */
-  openDropIndexDialog(): void {
-    let dialogRef = this.dialog.open(DialogDropIndex, {
-      width: '420px',
-      data: { name: this.indexName }
-    });
-
-    dialogRef.afterClosed().subscribe(result => {
-      this.indexName = result;
-    });
-  }
-
-  /* 
-  * Clean up the error message on the screen
-  */
-  onClick(): void {
-    this.errorMessage = "";
-  }
-
-   /* Showing all the index metadata information */
-   output: any;
-   
-   highlight(row){
-     this.output = JSON.stringify(row, null, 2);
-   }
-
-  @ViewChild('querymetadata') inputQuery;
-
-  /* Cleans up error message */
-  cleanUp() {
-    this.errorMessage = ""; 
-    // Cascading   
-    this.inputQuery.cleanUp(); 
-  }
-}
-
-@Component({
-  selector: 'index-create-dialog',
-  templateUrl: 'index-create-dialog.component.html',
-  styleUrls: ['index-create-dialog.component.scss']
-})
-
-export class DialogCreateIndex {
-  constructor(  private store: Store<any>,
-                public dialogCreateIdxRef: MatDialogRef<DialogCreateIndex>,
-                @Inject(MAT_DIALOG_DATA) public data: any) { }
-
-  onClick(): void {
-    this.store.dispatch(new indexActions.CreateIndex(this.data.indexName));
-    this.dialogCreateIdxRef.close();
-  }
-
-  onNoClick(): void {
-    this.dialogCreateIdxRef.close();
-  }
-}
-
-@Component({
-  selector: 'index-drop-dialog',
-  templateUrl: 'index-drop-dialog.component.html',
-  styleUrls: ['index-drop-dialog.component.scss']
-})
-
-export class DialogDropIndex {
-  constructor(  private store: Store<any>,
-                public dialogDropIdxRef: MatDialogRef<DialogDropIndex>,
-                @Inject(MAT_DIALOG_DATA) public data: any) { }
-
-  onClick(): void {
-    console.log(this.data.indexName)
-    this.store.dispatch(new indexActions.DropIndex(this.data.indexName));
-    this.dialogDropIdxRef.close();
-  }
-
-  onNoClick(): void {
-    this.dialogDropIdxRef.close();
-  }
-}
-
-export class IndexDataSource extends DataSource<any> {
-  private indexes$: Observable<any>
-
-  constructor(private store: Store<any>) {
-    super();
-    this.indexes$ = this.store.select(s => s.index.indexes.results);
-  }
-
-  /** Connect function called by the table to retrieve one stream containing 
the data to render. */
-  connect(): Observable<Index[]> {
-      const displayDataChanges = [
-        this.indexes$,
-      ];
-
-    return this.indexes$;
-  }
-
-  disconnect() {}
-}

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/input-metadata.component.html
----------------------------------------------------------------------
diff --git 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/input-metadata.component.html
 
b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/input-metadata.component.html
deleted file mode 100755
index 939ab06..0000000
--- 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/input-metadata.component.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<!--/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/ -->
-<mat-card class="input-card" (click)="onClick()">
-    <mat-toolbar color="primary" class="input-selector">
-            <mat-icon class="toolbar-icon">menu</mat-icon>
-            <span>INPUT: SQL++</span>  
-            <span class="spacer"></span>
-    </mat-toolbar>
-    <mat-card-content class="content-area">
-        <div class="codemirror-container">
-           <codemirror-metadata class="code" [(ngModel)]="queryMetadataString" 
[config]="codemirrorMetadataConfig">
-            </codemirror-metadata>  
-        </div>
-    </mat-card-content>
-    <mat-card-actions class="actions">
-        <button mat-button class="query-button" 
(click)="executeQuery()">RUN</button>
-        <span class="error-message">{{errorMessage}}</span>
-        <span class="spacer"></span>
-    </mat-card-actions>
-</mat-card>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/input-metadata.component.scss
----------------------------------------------------------------------
diff --git 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/input-metadata.component.scss
 
b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/input-metadata.component.scss
deleted file mode 100755
index b98080c..0000000
--- 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/input-metadata.component.scss
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-$query-spacing-unit: 8px;
-
-.input-card {
-       display: flex;
-       flex-flow: column;
-       padding: 0;
-       margin: 0 auto;
-       margin-top: $query-spacing-unit;
-       height: 250px;
-       width: 95%;
-       overflow: hidden;
-}
-  
-.toolbar-icon {
-       padding: 0 14px 0 0;    
-       margin: 0;
-}
-
-.spacer {
-       flex: 1 1 auto;
-}
-  
-.input-selector {
-       max-height: 42px;
-       min-height: 42px;
-       justify-content: center;
-       //align-items: center;
-       font-size: 0.80rem;
-       font-weight: 500;
-       background-color: white;
-       border: 1px solid rgba(54, 147, 209, 0.87);
-}
-
-.content-area {
-       position: relative;
-       color: hsla(0,0%,0%,.87);
-       height: 120px;
-       padding: 0;
-       margin: $query-spacing-unit * 2;
-       overflow: none;
-}
-
-.codemirror-container {
-       width: 100%;
-       height: 100%;
-       padding: 0;
-       margin: 0;
-       font-size: 14px;
-       line-height: 1.8;
-}
-
-.actions {
-       border-top: 1px solid rgba(0, 0, 0, 0.1);
-       color: rgba(54, 147, 209, 0.87);
-       padding: $query-spacing-unit;
-       margin: 0;
-}
-
-.error-message {
-       border-bottom: 1px solid rgba(0, 0, 0, 0.1);
-       color: rgba(209, 54, 54, 0.87);
-       padding-top: 10px;  
-       padding-left: 20px;
-       text-overflow: ellipsis;
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/input-metadata.component.ts
----------------------------------------------------------------------
diff --git 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/input-metadata.component.ts
 
b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/input-metadata.component.ts
deleted file mode 100755
index 06b9375..0000000
--- 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/input-metadata.component.ts
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-import { Component, ViewChild, ChangeDetectionStrategy, ChangeDetectorRef } 
from '@angular/core';
-import { Observable } from 'rxjs/Observable';
-import { Store } from '@ngrx/store';
-import * as sqlQueryActions from '../../shared/actions/query.actions'
-import * as dataverseActions from '../../shared/actions/dataverse.actions'
-import * as datasetActions from '../../shared/actions/dataset.actions'
-import * as datatypeActions from '../../shared/actions/datatype.actions'
-import * as indexActions from '../../shared/actions/index.actions'
-
-
-import * as CodeMirror from 'codemirror';
-
-/*
- * Query metadata component
- * has editor (codemirror) for writing some query
- */
-@Component({
-       moduleId: module.id,
-       selector: 'awc-query-metadata',
-       templateUrl:'input-metadata.component.html',
-       styleUrls: ['input-metadata.component.scss'],
-})
-
-export class InputQueryMetadataComponent {
-       private dataverses$: Observable<any>;
-       private datatypes$: Observable<any>;
-       private datasets$: Observable<any>;
-       private indexes$: Observable<any>;
-       dataverses = [];
-       datatypes = [];
-       datasets = [];
-       indexes = [];
-       queryMetadataString: string = "";
-       loaded$: Observable<any>;
-       errorMessage: string = "";
-
-  /**
-  * Initialize codemirror
-  */
-  codemirrorMetadataConfig =   {       mode: "asterix",
-    //lineNumbers: true,
-    lineWrapping: true,
-    showCursorWhenSelecting: true,
-    autofocus: true
-  };
-
-       constructor(private store: Store<any>, private changeDetector: 
ChangeDetectorRef) {
-               this.store.select("sqlMetadataQuery").subscribe((data: any) => {
-                       if (data.success === false){
-                               if (data.sqlQueryMetadataError.errors){
-                                       this.errorMessage = "ERROR: " + 
data.sqlQueryMetadataError.errors[0].msg
-                                       this.changeDetector.detectChanges();
-                               }
-                       } else {
-                               this.errorMessage = "SUCCEED";
-
-                               // Refresh the tables automatically
-                               let stringQuery = data.sqlQueryMetadataString;
-                               stringQuery = stringQuery.toUpperCase();
-
-                               if (stringQuery.includes("CREATE DATAVERSE") || 
stringQuery.includes("DROP DATAVERSE") ){
-                               this.store.dispatch(new 
dataverseActions.SelectDataverses('-'));
-                               }
-                               else if (stringQuery.includes("CREATE DATASET") 
|| stringQuery.includes("DROP DATASET")){
-                               this.store.dispatch(new 
datasetActions.SelectDatasets('-'));
-                               }
-                               else if (stringQuery.includes("CREATE TYPE") || 
stringQuery.includes("DROP TYPE")){
-                               this.store.dispatch(new 
datatypeActions.SelectDatatypes('-'));
-                               }
-                               else if (stringQuery.includes("CREATE INDEX") 
|| stringQuery.includes("DROP INDEX")){
-                               this.store.dispatch(new 
indexActions.SelectIndexes('-'));
-                               }
-
-                               this.changeDetector.detectChanges();
-                       }
-
-               })
-       }
-
-       getQueryResults(queryMetadataString: string) {
-       this.store.dispatch(new 
sqlQueryActions.ExecuteMetadataQuery(queryMetadataString));
-         }
-
-       executeQuery() {
-               this.getQueryResults(this.queryMetadataString.replace(/\n/g, " 
"));
-               // Component View Refresh
-
-       }
-
-       onClick() {
-               this.errorMessage = "";
-       }
-
-       /* Cleans up error message */
-       cleanUp() {
-               this.errorMessage = "";
-       }
-}

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/metadata-container.component.html
----------------------------------------------------------------------
diff --git 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/metadata-container.component.html
 
b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/metadata-container.component.html
deleted file mode 100755
index a2f3a73..0000000
--- 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/metadata-container.component.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!--/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/ -->
-<mat-tab-group class="metadata-menu" (selectedTabChange)="tabChange()">
-    <mat-tab label="DATAVERSES" class="submenu">
-        <div class="dataverses">
-            <awc-dataverses #dataverses [message]="message" 
class="dataverses"></awc-dataverses>
-        </div>
-    </mat-tab>
-    <mat-tab label="DATASETS">
-        <div class="datasets">
-            <awc-datasets #datasets [message]="message" 
class="datasets"></awc-datasets>
-        </div>  
-    </mat-tab>
-    <mat-tab label="DATATYPES">
-        <div class="datatypes">
-            <awc-datatypes #datatypes [message]="message" 
class="datatypes"></awc-datatypes>
-        </div>
-    </mat-tab>
-    <mat-tab label="INDEXES" class="indexes">
-        <div class="indexes">
-            <awc-indexes #indexes [message]="message" 
class="indexes"></awc-indexes>
-        </div>
-    </mat-tab>
-</mat-tab-group>
-

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/metadata-container.component.scss
----------------------------------------------------------------------
diff --git 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/metadata-container.component.scss
 
b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/metadata-container.component.scss
deleted file mode 100755
index 3857d74..0000000
--- 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/metadata-container.component.scss
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
- .dataverses {
-    margin: 0;
-    min-height: 750px;
-    max-height: 750px;
-    width: 100%;
-    overflow: hidden;
- }
-
-.datasets {
-    margin: 0;
-    min-height: 750px;
-    max-height: 750px;
-    width: 100%;
-    overflow: hidden;
-}
-
-.datatypes {
-    margin: 0;
-    min-height: 750px;
-    max-height: 750px;
-    width: 100%;
-    overflow: hidden;
-}
-
-.indexes {
-    margin: 0;
-    min-height: 750px;
-    max-height: 750px;
-    width: 100%;
-    overflow: hidden;
-}
-
-.metadata-menu {    
-    /deep/ .mat-tab-label {
-        font-size: 0.80rem !important;
-        font-weight: 500  !important;
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/metadata-container.component.ts
----------------------------------------------------------------------
diff --git 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/metadata-container.component.ts
 
b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/metadata-container.component.ts
deleted file mode 100755
index c8382cf..0000000
--- 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/metadata-container.component.ts
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-import { Component, ViewChild } from '@angular/core';
-
-@Component({
-       moduleId: module.id,
-       selector: 'awc-metadata-container',
-       templateUrl: 'metadata-container.component.html',
-       styleUrls: ['metadata-container.component.scss']
-})
-
-export class MetadataContainerComponent {
-
-       @ViewChild('dataverses') dataverses ;
-       @ViewChild('datasets') datasets ;
-       @ViewChild('datatypes') datatypes ;
-       @ViewChild('indexes') indexes ;
-       message = "";
-
-       constructor() {}
-
-       tabChange() {
-               this.indexes.cleanUp();
-               this.datasets.cleanUp();
-               this.datatypes.cleanUp();
-               this.dataverses.cleanUp();
-       }
-
-       
-}

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/codemirror.component.scss
----------------------------------------------------------------------
diff --git 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/codemirror.component.scss
 
b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/codemirror.component.scss
deleted file mode 100755
index ba795c2..0000000
--- 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/codemirror.component.scss
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-/* -- Place holder for future expansion --> */
-code {
-       width: 100%;
-       height: 100%;
-       padding: 10%;
-    margin: 0; 
-    overflow-wrap: break-word;
-    word-break: break-all;
-    background-color: pink;
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/codemirror.component.ts
----------------------------------------------------------------------
diff --git 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/codemirror.component.ts
 
b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/codemirror.component.ts
deleted file mode 100755
index 91b711d..0000000
--- 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/codemirror.component.ts
+++ /dev/null
@@ -1,237 +0,0 @@
-/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-/**
- * Integrating codemirror (using ng2-codemirror) with our application
- *
- * component from "https://runkit.com/npm/ng2-codemirror";
- *                "https://www.npmjs.com/package/ng2-codemirror";
- * copy component from /src/codemirror.component.ts
- * and modified for custom mode (asterix aql, sql++ code hilighting)
- *
- * therefore, actually we don't need to "npm install ng2-codemirror"
- *
- * Because on the outside of this component,
- * It was hard to access the codemirror instance that 'ng-codemirror' use
- * So, we copied the component in our application and modified it
- *
- * 'codemirror.js(^5.23.0)' is included in the 'index.html'
- * And in this component(codemirror.component.ts)
- * add statement like "declare var CodeMirror: any;"
- *
- * I don't know whether this is right way
- *
- * ref 1) usage : https://embed.plnkr.co/8e9gxss9u10VeFrv29Zt/
- * ref 2) custom mode : http://jsfiddle.net/TcqAf/99/
- * ref 3) integrating : 
http://stackoverflow.com/questions/37092142/integrating-codemirror-with-angular2-typescript
- * ref 3) integrating :  
https://medium.com/@s_eschweiler/using-external-libraries-with-angular-2-87e06db8e5d1#.8ok74uvwg
- */
- import {
-   Component,
-   Input,
-   Output,
-   ElementRef,
-   ViewChild,
-   EventEmitter,
-   forwardRef,
-   AfterViewInit,
-   OnDestroy
- } from '@angular/core';
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
- import * as CodeMirror from 'codemirror';
-
-/**
- * CodeMirror component
- * Usage :
- * <codemirror [(ngModel)]="data" [config]="{...}"></codemirror>
- */
-@Component({
-  moduleId: module.id,
-  selector: 'codemirror',
-  providers: [
-    {
-      provide: NG_VALUE_ACCESSOR,
-      useExisting: forwardRef(() => CodemirrorComponent),
-      multi: true
-    }
-  ],
-  styleUrls: ['codemirror.component.scss'],
-  template: `<textarea class="code" #host></textarea>`,//,
-})
-
-export class CodemirrorComponent implements AfterViewInit, OnDestroy {
-  @Input() config;
-  @Output() change = new EventEmitter();
-  @Output() focus = new EventEmitter();
-  @Output() blur = new EventEmitter();
-  @Output() instance = null;
-  @ViewChild('host') host;
-  _value = '';
-
-  /**
-   * Constructor
-   */
-  constructor(){
-               /**
-                * Custom mode for AsterixDB
-                */
-               CodeMirror.defineMode("asterix", function(){
-                 var KEYWORD_MATCH = [
-                               // AQL
-                               "drop", "dataverse", "dataset",
-                               "if", "exists", "create",
-                               "use", "type", "as", "closed",
-                               "primary", "key",  "hints", "cardinality",
-                               "index", "on", "btree", "rtree", "keyword",
-                               "for", "in", "Metadata", "Dataset",
-                               "return", "Index", "load", "using", "localfs", 
"path", "format",
-                               // Query (not perfect)
-                               "from", "in", "with", "group", "by", "select",
-                               "let", "where", "order", "asc", "desc", "limit",
-                               "keeping", "offset", "distinct", "or", "and",
-                               // Built in functions (TODO)
-                               // Built in functions (TODO)
-                               // Built in functions (TODO)
-                               // Asterix Data Model
-                               // Primitive type
-                               "boolean",
-                               "tinyint", "smallint", "integer", "bigint",
-                               "float", "double",
-                               "string",
-                               "binary", "hex", "base64",
-                               "point", "line", "rectangle", "circle", 
"polygon",
-                               "date", "time", "datetime", "duration", 
"interval", "uuid",
-                               // Incomplete information type
-                               "null", "missing",
-                               // Derived type
-                               // object {}, array [], multiset {{}}
-                               // SQL++
-                               "DROP", "DATAVERSE", "IF", "EXISTS", "CREATE", 
"USE", "TYPE", "AS", "DATASET", "PRIMARY", "KEY",
-                               "INDEX", "SELECT", "VALUE", "INSERT", "INTO", 
"FROM", "WHERE", "AND", "SOME", "IN", "SATISFIES", "IS", "UNKNOWN", "NOT", 
"EVERY",
-                               "GROUP", "BY", "ORDER", "DESC", "LIMIT", "OR", 
"SET", "DELETE", "LOAD", "USING",
-                       ];
-
-                       //"(", ")","{{", "}}", "[", "]",        "{", "}",  ";", 
",", ":","?", "=",
-      var VAR_MATCH = /[$][a-zA-Z]+(\d*)/;
-                       var DOT_MATCH = /[.](\S)*/;
-                       var DOUBLE_QUOTE_MATCH = /["].*["]/;
-                       var SINGLE_QUOTE_MATCH = /['].*[']/;
-                       var BREAK_POINT = /(\s)/;
-
-                       return {
-                               startState: function() {return {inString: 
false};},
-                               token: function(stream, state) {
-                                       if (state.newLine == 
undefined)state.newLine = true;
-
-                                       //match variable reference
-                                       if (stream.match(VAR_MATCH)) {
-                                               return "variable";
-                                       }
-
-                                       if (stream.match(DOT_MATCH)) {
-                                               return "dot-variable";
-                                       }
-
-                                       //string variable match
-                                       if (stream.match(DOUBLE_QUOTE_MATCH)) {
-                                               return "string";
-                                       }
-                                       if (stream.match(SINGLE_QUOTE_MATCH)) {
-                                               return "string";
-                                       }
-
-                                       //keyword match
-                                       for (var i in KEYWORD_MATCH){
-                                               if (state.newLine && 
stream.match(KEYWORD_MATCH[i])){
-                                                               return 
"keyword";
-                                                }
-                                       }
-
-                                       if (stream.peek() === " " || 
stream.peek() === null){
-                                               state.newLine = true;
-                                       }else{
-                                               state.newLine = false;
-                                       }
-                                       stream.next();
-                                       return null;
-                               }
-                       };
-               });
-       }
-
-  get value() { return this._value; };
-
-  @Input() set value(v) {
-    if (v !== this._value) {
-      this._value = v;
-      this.onChange(v);
-    }
-  }
-
-  /**
-   * On component destroy
-   */
-  ngOnDestroy() {}
-
-  /**
-   * On component view init
-   */
-  ngAfterViewInit() {
-    this.config = this.config || {};
-    this.codemirrorInit(this.config);
-  }
-
-  /**
-   * Initialize codemirror
-   */
-  codemirrorInit(config){
-    this.instance = CodeMirror.fromTextArea(this.host.nativeElement, config);
-    this.instance.setValue(this._value);
-    this.instance.setSize(null, 90);
-    this.instance.on('change', () => {
-      this.updateValue(this.instance.getValue());
-    });
-
-    this.instance.on('focus', () => {
-      this.focus.emit();
-    });
-
-    this.instance.on('blur', () => {
-      this.blur.emit();
-    });
-  }
-
-  /**
-   * Value update process
-   */
-  updateValue(value){
-    this.value = value;
-    this.onTouched();
-    this.change.emit(value);
-  }
-
-  /**
-   * Implements ControlValueAccessor
-   */
-  writeValue(value){
-    this._value = value || '';
-    if (this.instance) {
-      this.instance.setValue(this._value);
-    }
-  }
-
-  onChange(_) {}
-  onTouched() {}
-  registerOnChange(fn){this.onChange = fn;}
-  registerOnTouched(fn){this.onTouched = fn;}
-}

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/input.component.html
----------------------------------------------------------------------
diff --git 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/input.component.html
 
b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/input.component.html
deleted file mode 100755
index 2eec6b7..0000000
--- 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/input.component.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!--/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/ -->
-<mat-card class="input-card">
-        <mat-toolbar color="primary" class="input-selector">
-                       <mat-icon class="toolbar-icon">menu</mat-icon>
-                       <span>INPUT: SQL++</span>       
-                       <span class="spacer"></span>
-       </mat-toolbar>
-       <mat-card-content class="content-area">
-               <div class="codemirror-container">
-                       <codemirror class="code" #host 
[(ngModel)]="queryString" [config]="codemirrorConfig"></codemirror>
-               </div>
-       </mat-card-content>
-       <mat-card-actions class="actions">
-               <button mat-button class="query-button" 
(click)="onClick()">RUN</button>
-       </mat-card-actions>
-</mat-card>

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/input.component.scss
----------------------------------------------------------------------
diff --git 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/input.component.scss
 
b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/input.component.scss
deleted file mode 100755
index 437ff58..0000000
--- 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/input.component.scss
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-$query-spacing-unit: 5px;
-
-.input-card {
-       display: flex;
-       flex-flow: column;
-       padding: 0;
-       margin: ($query-spacing-unit * 2);
-       height: 200px;
-       width: 100%;
-       min-height: 150px; 
-
-       //background-color: orange;
-}
-  
-.toolbar-icon {
-       padding: 0 14px 0 0;    
-       margin: 0;
-}
-
-.spacer {
-       flex: 1 1 auto;
-}
-  
-.input-selector {
-       max-height: 42px;
-       min-height: 42px;
-       justify-content: center;
-       //align-items: center;
-       font-size: 0.80rem;
-       font-weight: 500;
-       background-color: white;
-       border: 1px solid rgba(54, 147, 209, 0.87);
-}
-
-.content-area {
-       //position: relative;
-       color: hsla(0,0%,0%,.87);
-       //height: 102px;
-       padding: 0;
-       margin: 0;
-       overflow: none;
-  }
-
-.codemirror-container {
-       width: 95%;
-       height: 98%;
-       padding: 0; // ($query-spacing-unit * 2);
-       margin: 0 auto;
-       font-size: 14px;
-       //letter-spacing: 3px;
-       line-height: 1.8;
-       background-color: red;
-}
-
-//.code {
-//     width: 100%;
-//     height: 100%;
-//     padding: 0;
-//     margin: 0; 
-//     overflow-wrap: break-word;
-//     word-break: break-all;
-//}
-
-.actions {
-       border-top: 1px solid rgba(0, 0, 0, 0.1);
-       color: rgba(54, 147, 209, 0.87);
-       padding-left: $query-spacing-unit;
-       margin: 0;
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/input.component.ts
----------------------------------------------------------------------
diff --git 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/input.component.ts
 
b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/input.component.ts
deleted file mode 100755
index 9be9bd9..0000000
--- 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/input.component.ts
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-import { Component, ViewChild } from '@angular/core';
-import { Observable } from 'rxjs/Observable';
-import { Store } from '@ngrx/store';
-import * as sqlQueryActions from '../../shared/actions/query.actions'
-import * as CodeMirror from 'codemirror';
-
-/*
- * query component
- * has editor (codemirror) for writing some query
- */
-@Component({
-       moduleId: module.id,
-       selector: 'awc-query',
-       templateUrl:'input.component.html',
-       styleUrls: ['input.component.scss']
-})
-
-export class InputQueryComponent {
-       private guideSelectedDataset$: Observable<any>;         
-       private dataverses$: Observable<any>;   
-       private datatypes$: Observable<any>;
-       private datasets$: Observable<any>;     
-       private indexes$: Observable<any>;      
-       dataverses = [];
-       datatypes = [];
-       datasets = [];
-       indexes = [];
-       datasetName = "";
-       dataverseName = "";
-       queryString: string = ""
-       
-       /* Codemirror configuration
-       */
-       codemirrorConfig =      {       mode: "asterix",
-                                                       lineWrapping: true,
-                                                       
showCursorWhenSelecting: true,
-                                                       autofocus: true
-                                               }       ;
-
-       loaded$: Observable<any>
-
-       constructor(private store: Store<any>) {
-               // Watching for guide selected or clicked dataset
-               this.guideSelectedDataset$ = this.store.select(s => 
s.dataset.guideSelectsDataset);
-               this.guideSelectedDataset$.subscribe((data: any) => {
-                       if (data) {
-                               this.datasetName = data;
-                               for (let i = 0; i < this.datasets.length; i++) {
-                                       if ( this.datasets[i]['DatasetName'] 
=== this.datasetName ) {
-                                               this.dataverseName = 
this.datasets[i]['DataverseName'];
-                                       }
-                               }
-                               this.queryString = "USE " + this.dataverseName 
+ "; SELECT * FROM " + this.datasetName;
-                       }
-               });
-
-               // Watching for Datatypes
-               this.dataverses$ = this.store.select(s => 
s.dataverse.dataverses.results);
-               this.dataverses$.subscribe((data: any[]) => {
-                       this.dataverses = data;
-               });
-
-               // Watching for Datasets
-               this.datasets$ = this.store.select(s => 
s.dataset.datasets.results);
-               this.datasets$.subscribe((data: any[]) => {
-                       this.datasets = data;
-               });
-       }
-
-       getQueryResults(queryString: string) {
-       this.store.dispatch(new sqlQueryActions.ExecuteQuery(queryString));
-       }
-
-       onClick() {
-               this.getQueryResults(this.queryString.replace(/\n/g, " "));
-       }
-}

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/metadata.component.html
----------------------------------------------------------------------
diff --git 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/metadata.component.html
 
b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/metadata.component.html
deleted file mode 100755
index 4641426..0000000
--- 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/metadata.component.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!--/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/ -->
-<mat-card class="metadata-card">
-  <mat-toolbar color="primary" class="metadata-selector">
-    <mat-icon class="example-icon">menu</mat-icon>
-    <span>METADATA GUIDE</span>
-    <span class="spacer"></span>
-  </mat-toolbar>
-    <div class="metadata-content-area">
-    <div class="metadata-tree">
-      <div class="metadata-all">
-          <p-tree [style]="{'width':'100%', 'border': 'none', 'font-family': 
'Roboto Mono', 'font-size': '0.80rem',
-          'font-weight': '500'}" selectionMode="single" [value]="nodesAll" 
(onNodeSelect)="nodeSelectAll($event)"></p-tree>
-      </div>
-      <div class="metadata-datasets">
-          <p-tree [style]="{'width':'100%', 'border': 'none', 'font-family': 
'Roboto Mono', 'font-size': '0.80rem',
-          'font-weight': '500'}" selectionMode="single" 
[value]="nodesDatasets" (onNodeSelect)="nodeSelectDataset($event)"></p-tree>
-      </div>
-      <div class="metadata-datatypes">
-          <p-tree [style]="{'width':'100%', 'border': 'none', 'font-family': 
'Roboto Mono', 'font-size': '0.80rem',
-          'font-weight': '500'}" selectionMode="single" 
[value]="nodesDatatypes"></p-tree>
-      </div>
-      <div class="metadata-index">
-          <p-tree [style]="{'width':'100%', 'border': 'none', 'font-family': 
'Roboto Mono', 'font-size': '0.80rem',
-          'font-weight': '500'}" selectionMode="single" 
[value]="nodesIndexes"></p-tree>
-      </div>
-
-    </div>
-  </div>
-  <!--<mat-card-actions class="actions">
-     <button mat-button class="refresh-button" 
(click)="menuRefresh()">COLLAPSE</button>
-  </mat-card-actions> -->
-</mat-card>

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/metadata.component.scss
----------------------------------------------------------------------
diff --git 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/metadata.component.scss
 
b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/metadata.component.scss
deleted file mode 100755
index 4ee2339..0000000
--- 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/metadata.component.scss
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-$metadata-spacing-unit: 5px;
-
-.metadata-card {
-       display: flex;
-       flex-flow: column;
-       padding: 0;
-       margin: 0 auto; //($metadata-spacing-unit * 2);
-       margin-top: ($metadata-spacing-unit * 2);
-       margin-bottom: ($metadata-spacing-unit * 2);
-       min-height: 150px;
-       box-shadow: none !important;
-       width: 92%;
-       overflow: hidden;
-}
-
-.example-icon {
-       padding: 0 14px 0 0;
-       margin: 0;
-}
-
-.spacer {
-  flex: 1 1 auto;
-}
-
-.metadata-selector {
-       min-height: 42px;
-       max-height: 42px;
-       justify-content: center;
-       //align-items: center;
-       font-size: 0.80rem;
-       font-weight: 500;
-       background-color: white;
-       border: 1px solid rgba(54, 147, 209, 0.87);
-}
-
-.metadata-content-area {
-       padding: ($metadata-spacing-unit * 2);
-       margin: 0;
-}
-
-.metadata-tree {
-       min-height: 30px;
-       font-size: 0.80rem;
-       font-weight: 500;
-}
-
-.metadata-datasets {
-       margin-top: ($metadata-spacing-unit * 2);
-       margin-bottom: ($metadata-spacing-unit * 2);
-}
-
-.metadata-datatypes {
-       margin-top: ($metadata-spacing-unit * 2);
-       margin-bottom: ($metadata-spacing-unit * 2);
-}
-
-.metadata-dataindexes {
-       margin-top: ($metadata-spacing-unit * 2);
-       margin-bottom: ($metadata-spacing-unit * 2);
-}
-
-
-.metadata-tree.ui-tree {
-       //width: 260px !important;
-       font-size: 0.80rem;
-       font-weight: 500;
-       border: none !important;
-       background-color: red;
-}
-
-.refresh-button {
-       float: left;
-       margin-top: $metadata-spacing-unit;
-}
-
-.actions {
-       border-top: 1px solid rgba(0, 0, 0, 0.1);
-       color: rgba(54, 147, 209, 0.87);
-       padding: $metadata-spacing-unit;
-       margin: 0;
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/metadata.component.ts
----------------------------------------------------------------------
diff --git 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/metadata.component.ts
 
b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/metadata.component.ts
deleted file mode 100755
index e60c9de..0000000
--- 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/metadata.component.ts
+++ /dev/null
@@ -1,209 +0,0 @@
-/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-import { Component, OnInit, ChangeDetectorRef } from '@angular/core';
-import { Router } from '@angular/router';
-import { Dataverse } from '../../shared/models/asterixDB.model';
-import { Store } from '@ngrx/store';
-import { Observable } from 'rxjs/Observable';
-import * as dataverseActions from '../../shared/actions/dataverse.actions';
-import * as datasetActions from '../../shared/actions/dataset.actions';
-import * as datatypesActions from '../../shared/actions/datatype.actions';
-import * as indexesActions from '../../shared/actions/index.actions';
-import * as metadataActions from '../../shared/actions/metadata.actions';
-import * as datasetsActions from '../../shared/actions/dataset.actions';
-import { ElementRef, ViewChild} from '@angular/core';
-import {DataSource} from '@angular/cdk/collections';
-import {BehaviorSubject} from 'rxjs/BehaviorSubject';
-import 'rxjs/add/operator/startWith';
-import 'rxjs/add/observable/merge';
-import 'rxjs/add/operator/map';
-import 'rxjs/add/operator/debounceTime';
-import 'rxjs/add/operator/distinctUntilChanged';
-import 'rxjs/add/observable/fromEvent';
-import { Subscription } from 'rxjs/Rx';
-import * as fromRoot from '../../shared/reducers/dataverse.reducer';
-import { State } from '../../shared/reducers/dataverse.reducer';
-import { TreeModule, TreeNode} from 'primeng/primeng';
-
-
-/**
- * query component
- * has editor (codemirror) for writing some query
- */
-@Component({
-       moduleId: module.id,
-       selector: 'awc-metadata',
-       templateUrl: 'metadata.component.html',
-       styleUrls: ['metadata.component.scss']
-})
-
-export class MetadataComponent implements OnInit {
-       nodesAll = [];
-       nodesDatasets = [];
-       nodesDatatypes = [];
-       nodesIndexes = [];
-
-       constructor(private store: Store<any>, private changeDetector: 
ChangeDetectorRef) {}
-
-       ngOnInit(): void {
-
-               // Watching for the metadata tree
-               this.store.select(s => s.metadata.tree).subscribe((data: any[]) 
=> {
-                       
-                       this.nodesAll = [];
-                       this.nodesDatasets = [];
-                       this.nodesDatatypes = [];
-                       this.nodesIndexes = [];
-                       const indexesMenu = [];
-                       const datatypesMenu = [];
-                       const datasetsMenu = [];
-                       const dataversesRoot = { label: '', children: []};
-                       dataversesRoot.label = 'DATAVERSES';
-                       dataversesRoot.children = [];
-
-                       for (let i = 0; i < data.length; i++) {
-
-                               // Don't want to show metadata system datasets, 
datatypes or indexes
-                       // if (data[i]['DataverseName'] && 
data[i]['DataverseName'] !== "Metadata" )
-                       //      {
-                                       // Counting dataverses to align the 
menu identifiers
-                               const dataverse = { label: '', children: [] }; 
-                                       dataverse.label = 
data[i]['DataverseName'];
-                                       dataversesRoot.children.push(dataverse);
-
-                                       // Adding the datasets to correspondent 
dataverse
-                                       if (data[i]['Datasets'].length) {
-                                               const datasetRoot = { label: 
'', children: [] }; 
-                                               datasetRoot.label = 'DATASETS';
-                                               
dataverse.children.push(datasetRoot);
-                                               for (let j = 0; j < 
data[i]['Datasets'].length; j++) {
-                                                       const dataset = { 
label: '', children: [] }; 
-                                                       dataset.label = 
data[i]['Datasets'][j]['DatasetName'];
-
-                                                       //
-                                                       // Adding the datatype 
to correspondent dataset
-                                                       //
-                                                       if 
(data[i]['Datasets'][j]['Datatype']) {
-                                                               const 
datatypeRoot = { label: '', children: [] };
-                                                               
datatypeRoot.label = 'Datatype: ' + 
data[i]['Datasets'][j]['Datatype']['DatatypeName'];
-                                                               //
-                                                               // Looking for 
the datatype fields
-                                                               //
-                                                               if 
(data[i]['Datasets'][j]['Datatype']['Derived']) {
-                                                                       if 
(data[i]['Datasets'][j]['Datatype']['Derived']['Record']) { 
-                                                                               
const datatypeFieldsRoot = { label: '', leaf: true, expanded: true, children: 
[] };
-                                                                               
datatypeFieldsRoot.label = 'FIELDS';
-                                                                               
for (let k = 0; k < 
data[i]['Datasets'][j]['Datatype']['Derived']['Record']['Fields'].length; k++) {
-                                                                               
        const datatypeField = { label: '', children: [] }; 
-                                                                               
        datatypeField.label = 
data[i]['Datasets'][j]['Datatype']['Derived']['Record']['Fields'][k]['FieldName']
 + ": " + 
data[i]['Datasets'][j]['Datatype']['Derived']['Record']['Fields'][k]['FieldType'];
-                                                                               
        datatypeFieldsRoot.children.push(datatypeField);
-                                                                               
}
-                                                                               
datatypeRoot.children.push(datatypeFieldsRoot);
-
-                                                                       }
-                                                               }
-                                                               
dataset.children.push(datatypeRoot);
-
-                                                               
datatypeRoot.label = data[i]['Datasets'][j]['Datatype']['DatatypeName'];
-                                                               
datatypesMenu.push(datatypeRoot);
-                                                       }
-
-                                                       //
-                                                       // Adding the indexes 
to correspondent dataset
-                                                       //
-                                                       if 
(data[i]['Datasets'][j]['Indexes'].length) {
-                                                               const indexRoot 
= { label: '', children: [] }; 
-                                                               indexRoot.label 
= 'INDEXES';
-                                                               
-                                                               for (let k = 0; 
k < data[i]['Datasets'][j]['Indexes'].length; k++) {
-                                                                       const 
indexChild = { label: '', children: [] }; 
-                                                                       
indexChild.label = data[i]['Datasets'][j]['Indexes'][k]['IndexName'];
-
-                                                                       // is 
Primary
-                                                                       const 
indexIsPrimaryRoot = { label: '', children: [] };
-                                                                       
indexIsPrimaryRoot.label = 'isPrimary' + ': ' + 
data[i]['Datasets'][j]['Indexes'][k]['IsPrimary'];
-                                                                       
indexChild.children.push(indexIsPrimaryRoot);
-                                                               
-                                                                       // 
SearchKey
-                                                                       if 
(data[i]['Datasets'][j]['Indexes'][k]['SearchKey']) {
-                                                                               
const indexSearchKeyRoot = { label: '', children: [] };
-                                                                               
indexSearchKeyRoot.label = 'SEARCH KEY';
-                                                                               
for (let l = 0; l < data[i]['Datasets'][j]['Indexes'][k]['SearchKey'].length; 
l++) {
-                                                                               
        const indexsearchKeyField = { label: '', children: [] };
-                                                                               
        indexsearchKeyField.label = 
data[i]['Datasets'][j]['Indexes'][k]['SearchKey'][l]
-                                                                               
        indexSearchKeyRoot.children.push(indexsearchKeyField);
-                                                                               
}
-
-                                                                               
indexChild.children.push(indexSearchKeyRoot);
-                                                                               
indexesMenu.push(indexChild);
-                                                                       }
-
-                                                                       
indexRoot.children.push(indexChild);
-                                                               }
-
-                                                               
dataset.children.push(indexRoot);
-                                                               
datasetRoot.children.push(dataset);
-                                                               
datasetsMenu.push(dataset);
-                                                       }
-                                               }
-                                       }
-                       //      }
-                       }
-                       
-                       this.nodesAll.push(dataversesRoot);
-
-                       /*
-                       * Making the rest of the stand alone submenus
-                       */
-
-                       // Adding the DATASET stand alone submenu
-                       const datasetMenuRoot = { label: '', children: [] };
-                       datasetMenuRoot.label = 'DATASETS';
-                       datasetMenuRoot.children = datasetsMenu;
-                       this.nodesDatasets.push(datasetMenuRoot);
-
-                       // Adding the DATATYPES stand alone submenu
-                       const datatypeMenuRoot = { label: '', children: [] };
-                       datatypeMenuRoot.label = 'DATATYPES';
-                       datatypeMenuRoot.children = datatypesMenu;
-                       this.nodesDatatypes.push(datatypeMenuRoot);
-
-                       // Adding the DATATYPE stand alone submenu
-                       const indexesMenuRoot = { label: '', children: [] };
-                       indexesMenuRoot.label = 'INDEXES';
-                       indexesMenuRoot.children = indexesMenu;
-                       this.nodesIndexes.push(indexesMenuRoot);
-
-                       // Component View Refresh
-                       this.changeDetector.detectChanges();
-               });
-       }
-
-       /*
-       * UI helpers to select dataverses from the guide menu
-       */
-       nodeSelectAll(event) {
-               if (event.node.parent && event.node.parent.label === 
'DATASETS') {
-                       const datasetName = event.node.label.replace(/-;-/g);
-                       this.store.dispatch(new 
datasetsActions.GuideSelectDatasets(datasetName));
-               }
-       }
-       
-       nodeSelectDataset(event) {
-               if (event.node.parent && event.node.parent.label === 
'DATASETS') {
-                       const datasetName = event.node.label.replace(/-;-/g);
-                       this.store.dispatch(new 
datasetsActions.GuideSelectDatasets(datasetName));
-               }
-       }
-}

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/ouput.component.ts
----------------------------------------------------------------------
diff --git 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/ouput.component.ts
 
b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/ouput.component.ts
deleted file mode 100755
index fcfc235..0000000
--- 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/ouput.component.ts
+++ /dev/null
@@ -1,278 +0,0 @@
-/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-import { Component, OnInit, ViewChild,  AfterViewInit, ChangeDetectorRef, 
Pipe, PipeTransform } from '@angular/core';
-import { Observable } from 'rxjs/Observable';
-import { Store } from '@ngrx/store';
-import * as sqlQueryActions from '../../shared/actions/query.actions'
-import { saveAs } from 'file-saver';
-import { DomSanitizer } from '@angular/platform-browser';
-import {TreeModule,TreeNode} from 'primeng/primeng';
-
-/**
- * query component
- * has editor (codemirror) for writing some query
- */
-
-@Pipe({ name: 'safeHtml'})
-export class SafeHtmlPipe implements PipeTransform  {
-  constructor(private sanitized: DomSanitizer) {}
-  transform(value) {
-    return this.sanitized.bypassSecurityTrustHtml(value);
-  }
-}
-
-@Component({
-       moduleId: module.id,
-       selector: 'awc-results',
-       templateUrl:'output.component.html',
-       styleUrls: ['output.component.scss']
-})
-
-
-export class QueryOutputComponent implements OnInit {
-       queryMessage: string;
-       treeData = [];
-       flattenData = [];
-       dataColumns = [];
-       query_message: string;
-       execution_time: number;
-       loaded$: Observable<any>
-       data: any[];
-       loading: Boolean;
-       jsonOutput = "";
-       selectedOutputView = "NONE";
-       outputQueryString = "";
-       toogleExpand = "EXPAND TREE"
-       
-       /* Codemirror configuration */
-       codemirrorConfig =      {       mode: "asterix",
-               lineWrapping: true,
-               showCursorWhenSelecting: true
-       };
-
-       generateTreeMenu(node, rootMenu): any {
-
-               // Check in case the root object is not defined properly
-               if (rootMenu === undefined) {
-                       rootMenu = { label: '', children: []};
-               }
-
-               let nodeArray = [];
-               
-               // Going through all the keys in a node looking for objects or 
array of key values
-               // and create a sub menu if is an object.
-               Object.keys(node).map((k) => {          
-
-                       if (typeof node[k] === 'object') {
-                               let nodeObject = { label: '', children: []};
-                               nodeObject = { label: '', children: []};
-                               nodeObject.label = k;
-                               // if this is an object then a new node is 
created and
-                               // recursive call to find and fill with the 
nested elements
-                               let newNodeObject = 
this.generateTreeMenu(node[k], nodeObject);
-
-                               // if this is the first node, then will become 
the root.
-                               if (rootMenu.children) {
-                                       rootMenu.children.push(newNodeObject)
-                               } else {
-                                       rootMenu = newNodeObject
-                               }
-                       }
-                       else {
-                               // Array of key values converted into a unique 
string with a : separator 
-                               let nodeKeyValue = { label: '', children: []};
-                               nodeKeyValue.label = k + " : " + node[k]
-                               nodeArray.push(nodeKeyValue);
-                       }
-               })
-
-               // The array will be added as value to a parent key.
-               if (nodeArray.length > 0) {
-                       rootMenu.children = nodeArray.concat(rootMenu.children)
-               }
-               
-               return rootMenu 
-       }
-
-       constructor(private store: Store<any>, private changeDetector: 
ChangeDetectorRef) {
-               this.loaded$ = this.store.select(s => s.sqlQuery.loaded);
-               this.store.select("sqlQuery").subscribe((data: any) => {
-                       // Set the output toolbar query string and default view 
settings
-                       if (data.loaded) {
-                               this.selectedOutputView = "TABLE";
-                               this.loading = true;
-                               this.data = data.sqlQueryResult.results;
-                               this.treeData = [];
-                               let stringQuery = data.sqlQueryString;
-       
-                               // Preparing the toolbar 
-                               if (stringQuery.length > 150) {
-                                       this.outputQueryString = ": " + 
stringQuery.slice(0, 150) + " (..)"
-                               } else {
-                                       this.outputQueryString = ": " + 
stringQuery;
-                               }
-
-                               // Processing the results 
-                               if (data.sqlQueryResult.results && 
data.sqlQueryResult.results.length > 0 && this.data[0]) {
-
-                                       /* Removing the root object, disabled 
for the time being 
-                                       var resultKeyList = 
Object.keys(this.data[0]);
-                                       var resultKey: string = 
resultKeyList[0]; 
-                                       */
-
-                                       for (let i = 0; i < this.data.length; 
i++) {
-
-                                               /* Removing the root object, 
disabled for the time being 
-                                               if (this.data[i][resultKey] 
instanceof Object) {        
-                                                       this.data[i] = 
this.data[i][resultKey];
-                                               }*/     
-
-                                               let nodeContent = { label:"[" + 
i + "]" , children: []};
-                                               
this.treeData.push(this.generateTreeMenu(this.data[i], nodeContent))
-                                       }
-
-                                       this.loading = false;
-                               } 
-       
-                               // JSON OUTPUT
-                               // Making into a JSON String for JSON String 
Output
-                               this.jsonOutput = 
JSON.stringify(data.sqlQueryResult.results, null, 2)
-                               
-                               // TABLE OUTPUT
-                               if (this.data && this.data.length > 0) {
-
-                                       this.collapseAll();
-                                       // Normalize the data ( removing the 
first key if is an object )
-                                       // TODO: Move it into a recursive 
function.
-                                       this.dataColumns = [];
-
-                                       var resultKeyList = 
Object.keys(this.data[0]);
-                                       var resultKey: string = 
resultKeyList[0]; 
-                                       if (this.data[0][resultKey] instanceof 
Object) {        
-                                               // is a SQL++ Query Results 
-                                               var nestedKeyList = 
Object.keys(this.data[0][resultKey]);
-                                               for (let i = 0; i < 
nestedKeyList.length; i++) {
-                                                       if (typeof 
this.data[0][resultKey][nestedKeyList[i]] === 'object') {
-                                                               // Creating a 
key to display a nested type
-                                                               
this.dataColumns.push({field: 'nestedString' + i, header: nestedKeyList[i]})
-                                                                               
                
-                                                       } else {
-                                                               
this.dataColumns.push({field: nestedKeyList[i], header: nestedKeyList[i] })
-                                                       }
-                                                       
-                                               }
-                                       }
-                                       else { // is a SQL++ Metadata Results 
and there is an Array
-                                               for (let i = 0; i < 
resultKeyList.length; i++) {
-                                                       
this.dataColumns.push({field: resultKeyList[i], header: resultKeyList[i] })
-                                               }
-                                       }
-
-                                       // Now prepare the data ( SQL++ Query, 
Metatada Queries no need to change anything ).
-                                       // TODO: Move it into a recursive 
function.
-                                       if (this.data[0][resultKey] instanceof 
Object) {        
-                                               // is a SQL++ Query Results 
-                                               for (let i = 0; i < 
this.data.length; i++) {
-
-                                                       // // is a SQL++ Query 
Results 
-                                                       var nestedKeyList = 
Object.keys(this.data[i][resultKey]);
-                                                       for (let k = 0; k < 
nestedKeyList.length; k++) {
-                                                               if ( typeof 
this.data[i][resultKey][nestedKeyList[k]] === 'object' ){
-                                                                               
// Creating a display value to for a nested type JSON.stringify(jsObj, 
-                                                                               
var nestedObjectStr = JSON.stringify(this.data[i][resultKey][nestedKeyList[k]], 
null, '\n');
-                                                                               
var nestedKey = 'nestedString' + k;
-                                                                               
this.data[i][resultKey][nestedKey] = nestedObjectStr;                           
-                                                               } 
-                                                       }
-
-                                                       this.data[i] = 
this.data[i][resultKey];
-                                               }       
-                                       }
-                               }
-                       }
-       });
-       }
-
-       /* 
-       * Subscribing to store values
-       */
-       ngOnInit(): void {
-               this.loaded$ = this.store.select('sqlQuery');
-               this.store.select("sqlQuery").subscribe((data: any) => {
-                       if (data.sqlQueryError.errors){
-                               this.queryMessage = 
data.sqlQueryError.errors[0].msg
-                       }else{
-                               this.queryMessage = ""
-                       }
-               })
-       }
-
-       /* 
-       * Changes view mode [ TABLE, TREE, JSON VIEW ]
-       */
-       onSelect(value: any) {
-               this.selectedOutputView = value;                
-       }
-
-       /* 
-       * Export to CSV 
-       */
-    exportToCSV(){
-               var blob = new Blob([this.jsonOutput], {type: 
"text/csv;charset=utf-8"});
-               saveAs(blob, "Asterix-results.csv");
-       }
-       
-       /*
-       *  Export to plain text
-       */
-    exportToText(){
-               var exportOutput = this.jsonOutput;
-               var blob = new Blob([exportOutput], {type: 
"text/plain;charset=utf-8"});
-               saveAs(blob, "Asterix-results.txt");
-       }
-       
-       /*
-       *  Expand/Collapse Tree
-       */
-    expandTree(){
-               if (this.toogleExpand === "EXPAND TREE"){
-                       this.expandAll();
-               } else {
-                       this.collapseAll();
-               }
-       }
-       
-       expandAll(){
-               this.toogleExpand = "TREE COLLAPSE";
-        this.treeData.forEach( node => {
-            this.expandRecursive(node, true);
-        } );
-    }
-
-    collapseAll(){
-               this.toogleExpand = "EXPAND TREE";
-        this.treeData.forEach( node => {
-            this.expandRecursive(node, false);
-        } );
-    }
-    
-    private expandRecursive(node:TreeNode, isExpand:boolean){
-        node.expanded = isExpand;
-        if(node.children){
-            node.children.forEach( childNode => {
-                this.expandRecursive(childNode, isExpand);
-            } );
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/output.component.html
----------------------------------------------------------------------
diff --git 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/output.component.html
 
b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/output.component.html
deleted file mode 100755
index f7c4b43..0000000
--- 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/output.component.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<!--/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/ -->
-<mat-card class="sql-results-card">
-       <mat-toolbar color="primary" class="results-selector">
-               <mat-icon class="toolbar-icon">menu</mat-icon>
-           <span class="output-query-string">OUTPUT{{outputQueryString}}</span>
-               <span class="spacer"></span>
-       </mat-toolbar>
-       <mat-card-content class="content-area">
-               <div *ngIf="loaded$ | async as ld">
-                       <div *ngIf="selectedOutputView=='TABLE'">               
                
-                               <p-dataTable [style]="{'width':'100%', 
'overflow':'hidden'}" id='review-table' [responsive]="true" [hidden]="loading" 
[value]="data" [rows]="20" [paginator]="true" [pageLinks]="3" 
[rowsPerPageOptions]="[5,10,20, 30, 40, 50]" >
-                                       <p-column [style]="{'text-align':'left',
-                                       'text-overflow': 'ellipsis', 
'word-wrap': 'break-word', 'word-break': 'break-all'}"
-                                       
-                                       [footerStyle]="{'color':'blue'}" 
[headerStyleClass]="datatable-header" *ngFor="let node of dataColumns;" 
[field]="node.field" 
-                                       [header]="node.header" 
[sortable]="true">
-                                       </p-column>
-                               </p-dataTable>
-                       </div>
-               </div>
-               <div *ngIf="loaded$ | async as ld">     
-                       <div *ngIf="ld.sqlQueryError.metrics" 
class="queryErrorMessage">
-                               <span>ERROR:</span>
-                               <span>{{queryMessage}}</span>
-                       </div>  
-                        <div [hidden]="selectedOutputView!='TREE'" 
class="data-viewer-container">
-                               <button mat-button class="button-expand" 
(click)="expandTree()">{{toogleExpand}}</button>
-                               <p-tree [style]="{'width':'100%', 'border': 
'none', 'font-family': 'Roboto Mono', 'font-size': '0.80rem',
-                                       'font-weight': '500'}" 
[value]="treeData"></p-tree>
-                       </div>
-                       <div *ngIf="loaded$ | async as ld">     
-                               <div *ngIf="selectedOutputView=='JSON'" 
class="data-viewer-container">
-                                       <button mat-button 
class="button-export" (click)="exportToText()">EXPORT</button>
-                                       <pre 
class="json-output">{{jsonOutput}}</pre>
-                               </div>
-                       </div>
-               </div>
-       </mat-card-content>
-       <mat-card-actions class="actions">
-               <div *ngIf="loaded$ | async as ld">
-                       <span *ngIf="ld.sqlQueryResult.metrics" class="metrics">
-                               <span class="span-results">SUCCESS:</span>
-                               <span class="span-results">Count: 
{{ld.sqlQueryResult.metrics.resultCount}}</span>
-                               <span class="span-results">Size: 
{{ld.sqlQueryResult.metrics.resultSize}}</span>
-                               <span class="span-results">Elapsed time: 
{{ld.sqlQueryResult.metrics.elapsedTime}}</span>
-                               <span class="span-results">Execution time: 
{{ld.sqlQueryResult.metrics.executionTime}}</span>
-                               <span class="spacer"></span>
-                               <mat-button-toggle-group 
#group="matButtonToggleGroup" class="output-group" value={{selectedOutput}} 
(change)="onSelect(group.value)">
-                                       <mat-button-toggle mat-button  
value="TABLE">TABLE</mat-button-toggle>
-                                       <mat-button-toggle mat-button  
value="TREE">TREE</mat-button-toggle>
-                                       <mat-button-toggle mat-button  
value="JSON">JSON</mat-button-toggle>
-                               </mat-button-toggle-group>
-                       </span>
-               </div>
-       </mat-card-actions>
-</mat-card>

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/output.component.scss
----------------------------------------------------------------------
diff --git 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/output.component.scss
 
b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/output.component.scss
deleted file mode 100755
index 099ca87..0000000
--- 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/output.component.scss
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-$results-spacing-unit: 5px;
-
-.sql-results-card {
-  display: flex;
-       flex-flow: column;
-  padding: 0;
-  height: 600px;
-  width: 100%; // 1350px;
-       margin: ($results-spacing-unit * 2);
-       min-height: 150px; 
-}
-
-.toolbar-icon {
-  padding: 0 14px 0 0;
-  margin: 0;
-}
-
-.spacer {
-  flex: 1 1 auto;
-}
-
-.results-selector {
-       max-height: 42px;
-  min-height: 42px;
-  justify-content: center;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-  overflow: hidden;
-  font-size: 0.80rem;
-  font-weight: 500;
-  background-color: white;
-  border: 1px solid rgba(54, 147, 209, 0.87);
-  overflow-wrap: break-word;
-       word-break: break-all;
-}
-
-.content-area {
-  position: relative;
-  color: hsla(0,0%,0%,.87);
-  height: 500px;
-  padding: 0;
-  margin: 0;
-  overflow: auto;
-  font-size: 0.80rem;
-  font-weight: 500;
-  font-family: "Roboto", monospace;
-}
-
-.root-closed {
-  list-style-type:none;
-}
-
-.root-open {
-  list-style-type:none;
-}
-
-.leaf-list-open {
-  list-style-type:none;
-  // padding-top: ($results-spacing-unit) * 2;
-  padding-left: 25px;
-  color: red;
-}
-
-.leaf-list-open.div
-//.leaf-list-open.ul
-.leaf-list-open.li {
-  margin-left: ($results-spacing-unit * 10) !important;
-  color: green;
-}
-
-.leaf {
-  color: blue;
-}
-
-.leaf-list-closed {
-  list-style-type:none;
-  display: none;
-}
-
-ul > .root-closed::before {
-  content:'+'
-}
-
-ul > .root-open::before {
-  content:'-'
-}
-
-.queryErrorMessage {
-  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
-  color: rgba(209, 54, 54, 0.87);
-  padding: $results-spacing-unit;
-  padding-left: ($results-spacing-unit * 2);
-}
-
-.metrics {
-  display: flex;
-  color: rgba(54, 147, 209, 0.87);
-  font-size: 0.80rem;
-  font-weight: 500;
-}
-
-.span-results {
-  padding-top: ($results-spacing-unit * 2);
-  padding-left: ($results-spacing-unit * 2);
-}
-
-.actions {
-  border-top: 1px solid rgba(0, 0, 0, 0.1);
-  color: rgba(54, 147, 209, 0.87);
-  margin: 0;
-}
-
-//someID\:review-table
-th {
-  text-align: left !important;
-}
-
-.datatable-header {
-  color: red !important;
-  background-color: blue;
-}
-
-.data-viewer-container {
-  padding: ($results-spacing-unit * 4);
-  padding-bottom: ($results-spacing-unit * 8);
-  height: 100%;
-  overflow: hidden;
-}
-
-.output-group {
-  margin-right: ($results-spacing-unit * 4);
-}
-
-.menu-export {
-  font-size: 0.80rem !important;
-  font-weight: 500 !important;
-}
-
-.button-export {
-  margin-right: ($results-spacing-unit * 4);
-  color: rgba(54, 147, 209, 0.87);
-}
-
-.button-expand {
-  margin-right: ($results-spacing-unit * 4);
-  color: rgba(54, 147, 209, 0.87);
-}
-
-.ui-datatable-data> tr> td {
-  white-space: nowrap;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  max-width: 150px;
-  color: red;
-}
-

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/query-container.component.html
----------------------------------------------------------------------
diff --git 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/query-container.component.html
 
b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/query-container.component.html
deleted file mode 100755
index 6dd3ef3..0000000
--- 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/query-container.component.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!--/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/ -->
-
-<div class="query-container">
-  <div class="metadata">   
-    <awc-metadata class="metadata-card"></awc-metadata>
-  </div>
-  <div class="vertical">
-    <awc-query class="query-card"></awc-query>
-    <awc-results class="output-card"></awc-results>
-  </div>
-</div> 
-

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/query-container.component.scss
----------------------------------------------------------------------
diff --git 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/query-container.component.scss
 
b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/query-container.component.scss
deleted file mode 100755
index d6b530b..0000000
--- 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/query-container.component.scss
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
- .query-container {
-    display: flex;
-    flex-direction: row;
-    //background-color: red;
-    width: 100%; 
-    margin:0;
-    padding:0;
-    overflow: hidden;
- }
-
-.metadata {
-    display: flex;
-    flex-direction: row;
-    width: 20%;
-   // background-color: rgb(0, 255, 42);
-    margin:0;
-    padding: 0;
-   // padding-right: 10px;
-    border-right: 1px solid hsla(0,0%,0%,.20);
-}
-
-.vertical {
-    display: flex;
-    flex-direction: column;
-    align-items: center;
-    width: 80%;
-    overflow: hidden;
-    margin:0;
-    padding: 1px0;
-   // background-color: rgb(38, 0, 255);
-}
-
-.metadata-card {
-    display: flex;
-    flex-direction: row;
-    justify-content: center;     
-    width: 100%;
-    overflow: hidden;
-    margin:0;
-    padding: 0;
-   // background-color: green;
-}
-
-.query-card {
-    display: flex;
-    flex-direction: row;
-    justify-content: center;     
-    width: 100%;
-    overflow: hidden;
-    margin:0;
-    padding: 0;
-    //background-color: green;
-}
-
-.output-card {
-    display: flex;
-    flex-direction: row;
-    justify-content: center;     
-    width: 100%;
-    overflow: hidden;
-    margin:0;
-    padding: 0;
-    //background-color: yellow;
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/query-container.component.ts
----------------------------------------------------------------------
diff --git 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/query-container.component.ts
 
b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/query-container.component.ts
deleted file mode 100755
index 776e184..0000000
--- 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/query/query-container.component.ts
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-import { Component, OnInit } from '@angular/core';
-import { Router } from '@angular/router';
-import { Dataverse } from '../../shared/models/asterixDB.model'
-import { Store } from '@ngrx/store';
-import { Observable } from 'rxjs/Observable';
-import * as dataverseActions from '../../shared/actions/dataverse.actions'
-import * as datasetActions from '../../shared/actions/dataset.actions'
-import * as datatypesActions from '../../shared/actions/datatype.actions'
-import * as indexesActions from '../../shared/actions/index.actions'
-import * as metadataActions from '../../shared/actions/metadata.actions'
-import { ElementRef, ViewChild} from '@angular/core';
-import {DataSource} from '@angular/cdk/collections';
-import {BehaviorSubject} from 'rxjs/BehaviorSubject';
-import 'rxjs/add/operator/startWith';
-import 'rxjs/add/observable/merge';
-import 'rxjs/add/operator/map';
-import 'rxjs/add/operator/debounceTime';
-import 'rxjs/add/operator/distinctUntilChanged';
-import 'rxjs/add/observable/fromEvent';
-import { Subscription } from "rxjs/Rx";
-import * as fromRoot from '../../shared/reducers/dataverse.reducer';
-import { State } from '../../shared/reducers/dataverse.reducer';
-import * as sqlQueryActions from '../../shared/actions/query.actions'
-/*
- * query component
- * has editor (codemirror) for writing some query
- */
-@Component({
-       moduleId: module.id,
-       selector: 'awc-query-container',
-       templateUrl:'query-container.component.html',
-       styleUrls: ['query-container.component.scss']
-})
-
-export class QueryContainerComponent {
-       nodes = []
-       constructor(private store: Store<any>) {
-
-               this.store.select(s => s.metadata.tree).subscribe((data: any[]) 
=> {
-                       this.nodes = []
-                       for (let i = 0; i < data.length; i++) {
-                               if (data[i]['DataverseName']) {
-                                   let node = { id: 0, name:"", children:[] };
-                                   node.id = i;
-                                   node.name = data[i]['DataverseName'];
-                                               for (let j = 0; j < 
data[i]['Datasets'].length; j++) {
-                                                       let children = { id: 0, 
name:"", children:[] };
-                                                       children.id = j
-                                                       children.name = 
data[i]['Datasets'][j]['DatasetName'];
-                                                       
node.children.push(children)
-                                               }
-                                               this.nodes.push(node)
-                               }
-                       }
-               });
-       }
-
-       treeCalc() {
-               this.store.dispatch(new metadataActions.UpdateMetadataTree());
-       }
-}

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/db.ts
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/db.ts 
b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/db.ts
deleted file mode 100755
index 8f51b00..0000000
--- a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/db.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-import { DBSchema } from '@ngrx/db';
-
-/*
-* Persistent storage capability to the dashboard in case is needed.
-*/
-export const schema: DBSchema = {
-  version: 1,
-  name: 'asterixDB_app',
-  stores: {},
-};

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/material.module.ts
----------------------------------------------------------------------
diff --git 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/material.module.ts 
b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/material.module.ts
deleted file mode 100755
index 3bb67d9..0000000
--- 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/material.module.ts
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-import {NgModule} from '@angular/core';
-import {
-  MatAutocompleteModule,
-  MatButtonModule,
-  MatButtonToggleModule,
-  MatCardModule,
-  MatCheckboxModule,
-  MatChipsModule,
-  MatDatepickerModule,
-  MatDialogModule,
-  MatExpansionModule,
-  MatFormFieldModule,
-  MatGridListModule,
-  MatIconModule,
-  MatInputModule,
-  MatListModule,
-  MatMenuModule,
-  MatPaginatorModule,
-  MatProgressBarModule,
-  MatProgressSpinnerModule,
-  MatRadioModule,
-  MatSelectModule,
-  MatSidenavModule,
-  MatSliderModule,
-  MatSlideToggleModule,
-  MatSnackBarModule,
-  MatSortModule,
-  MatTableModule,
-  MatTabsModule,
-  MatToolbarModule,
-  MatTooltipModule,
-  MatStepperModule,
-} from '@angular/material';
-import {MatNativeDateModule, MatRippleModule} from '@angular/material';
-import {CdkTableModule} from '@angular/cdk/table';
-//import {CdkAccordionModule} from '@angular/cdk/accordion';
-import {A11yModule} from '@angular/cdk/a11y';
-import {BidiModule} from '@angular/cdk/bidi';
-import {OverlayModule} from '@angular/cdk/overlay';
-import {PlatformModule} from '@angular/cdk/platform';
-import {ObserversModule} from '@angular/cdk/observers';
-import {PortalModule} from '@angular/cdk/portal';
-
-/*
-* NgModule that includes all Material modules that are required to
-* serve AsterixDB Dashboard
-*/
-@NgModule({
-  exports: [
-    MatAutocompleteModule,
-    MatButtonModule,
-    MatButtonToggleModule,
-    MatCardModule,
-    MatCheckboxModule,
-    MatChipsModule,
-    MatTableModule,
-    MatDatepickerModule,
-    MatDialogModule,
-    MatExpansionModule,
-    MatFormFieldModule,
-    MatGridListModule,
-    MatIconModule,
-    MatInputModule,
-    MatListModule,
-    MatMenuModule,
-    MatPaginatorModule,
-    MatProgressBarModule,
-    MatProgressSpinnerModule,
-    MatRadioModule,
-    MatRippleModule,
-    MatSelectModule,
-    MatSidenavModule,
-    MatSlideToggleModule,
-    MatSliderModule,
-    MatSnackBarModule,
-    MatSortModule,
-    MatStepperModule,
-    MatTabsModule,
-    MatToolbarModule,
-    MatTooltipModule,
-    MatNativeDateModule,
-    CdkTableModule,
-    A11yModule,
-    BidiModule,
-  //  CdkAccordionModule,
-    ObserversModule,
-    OverlayModule,
-    PlatformModule,
-    PortalModule,
-  ]
-})
-export class MaterialModule {}

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/shared/actions/app.actions.ts
----------------------------------------------------------------------
diff --git 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/shared/actions/app.actions.ts
 
b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/shared/actions/app.actions.ts
deleted file mode 100755
index 29da05f..0000000
--- 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/shared/actions/app.actions.ts
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-import { Action } from '@ngrx/store';
-import { AsterixDBQueryMessage, Dataset } from '../models/asterixDB.model';
-
-/*
-* Definition of App Actions
-*/
-export const APP_MODE_CHANGE = '[App State] App Mode Change';
-
-/*
-* Guide Select Datasets for UI Helpers
-*/
-export class ChangeMode implements Action {
-  readonly type = APP_MODE_CHANGE;
-  constructor(public payload: string) {}
-}
-
-/*
-* Exports of datasets actions
-*/
-export type All = ChangeMode;

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/shared/actions/dataset.actions.ts
----------------------------------------------------------------------
diff --git 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/shared/actions/dataset.actions.ts
 
b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/shared/actions/dataset.actions.ts
deleted file mode 100755
index a49e07c..0000000
--- 
a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/shared/actions/dataset.actions.ts
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-import { Action } from '@ngrx/store';
-import { AsterixDBQueryMessage, Dataset } from '../models/asterixDB.model';
-
-/*
-* Definition of Datasets Actions
-*/
-export const SELECT_DATASETS          = '[Dataset Collection] Select Dataset';
-export const SELECT_DATASETS_SUCCESS  = '[Dataset Collection] Select Dataset 
Success';
-export const SELECT_DATASETS_FAIL     = '[Dataset Collection] Select Dataset 
Fail';
-export const CREATE_DATASET           = '[Dataset Collection] Create Dataset';
-export const CREATE_DATASET_SUCCESS   = '[Dataset Collection] Create Dataset 
Success';
-export const CREATE_DATASET_FAIL      = '[Dataset Collection] Create Dataset 
Fail';
-export const UPDATE_DATASET           = '[Dataset Collection] Update Dataset';
-export const UPDATE_DATASET_SUCCESS   = '[Dataset Collection] Update Dataset 
Success';
-export const UPDATE_DATASET_FAIL      = '[Dataset Collection] Update Dataset 
Fail';
-export const DROP_DATASET             = '[Dataset Collection] Drop Dataset';
-export const DROP_DATASET_SUCCESS     = '[Dataset Collection] Drop Dataset 
Success';
-export const DROP_DATASET_FAIL        = '[Dataset Collection] Drop Dataset 
Fail';
-export const GUIDE_SELECT_DATASET     = '[Dataset Collection] Guide Select 
Dataset';
-
-
-/*
-* Guide Select Datasets for UI Helpers
-*/
-export class GuideSelectDatasets implements Action {
-  readonly type = GUIDE_SELECT_DATASET;
-  constructor(public payload: string) {}
-}
-
-/*
-* Select Datasets
-*/
-export class SelectDatasets implements Action {
-  readonly type = SELECT_DATASETS;
-  constructor(public payload: string) {}
-}
-
-export class SelectDatasetsSuccess implements Action {
-  readonly type = SELECT_DATASETS_SUCCESS;
-  constructor(public payload: AsterixDBQueryMessage[]) {}
-}
-
-export class SelectDatasetsFail implements Action {
-  readonly type = SELECT_DATASETS_FAIL;
-  constructor(public payload: AsterixDBQueryMessage[]) {}
-}
-
-/*
-* Create Dataset
-*/
-export class CreateDataset implements Action {
-  readonly type = CREATE_DATASET;
-  constructor(public payload: string) {}
-}
-
-export class CreateDatasetSuccess implements Action {
-  readonly type = CREATE_DATASET_SUCCESS;
-  constructor(public payload: Dataset[]) {}
-}
-
-export class CreateDatasetFail implements Action {
-  readonly type = CREATE_DATASET_FAIL;
-  constructor(public payload: Dataset) {}
-}
-
-/*
-* Update Dataset
-*/
-export class UpdateDataset implements Action {
-  readonly type = UPDATE_DATASET;
-  constructor(public payload: Dataset) {}
-}
-
-export class UpdateDatasetSuccess implements Action {
-  readonly type = UPDATE_DATASET_SUCCESS;
-  constructor(public payload: Dataset[]) {}
-}
-
-export class UpdateDatasetFail implements Action {
-  readonly type = UPDATE_DATASET_FAIL;
-  constructor(public payload: Dataset) {}
-}
-
-/*
-* Drop Dataset
-*/
-export class DropDataset implements Action {
-  readonly type = DROP_DATASET;
-  constructor(public payload: string) {}
-}
-
-export class DropDatasetSuccess implements Action {
-  readonly type = DROP_DATASET_SUCCESS;
-  constructor(public payload: Dataset[]) {}
-}
-
-export class DropDatasetFail implements Action {
-  readonly type = DROP_DATASET_FAIL;
-  constructor(public payload: Dataset) {}
-}
-
-/*
-* Exports of datasets actions
-*/
-export type All = SelectDatasets |
-  SelectDatasetsSuccess |
-  SelectDatasetsFail |
-  CreateDataset |
-  CreateDatasetSuccess |
-  CreateDatasetFail |
-  UpdateDataset |
-  UpdateDatasetSuccess |
-  UpdateDatasetFail |
-  DropDataset |
-  DropDatasetSuccess |
-  DropDatasetFail | 
-  GuideSelectDatasets;

Reply via email to