http://git-wip-us.apache.org/repos/asf/asterixdb/blob/3e5815a7/asterixdb/asterix-dashboard/src/node/src/app/shared/effects/datatype.effects.ts ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-dashboard/src/node/src/app/shared/effects/datatype.effects.ts b/asterixdb/asterix-dashboard/src/node/src/app/shared/effects/datatype.effects.ts index 4fa187f..5e06f89 100755 --- a/asterixdb/asterix-dashboard/src/node/src/app/shared/effects/datatype.effects.ts +++ b/asterixdb/asterix-dashboard/src/node/src/app/shared/effects/datatype.effects.ts @@ -13,51 +13,46 @@ limitations under the License. */ import { Injectable } from '@angular/core'; import { Effect, Actions } from '@ngrx/effects'; -import { Observable } from 'rxjs/Observable'; -import { of } from 'rxjs/observable/of'; +import { Observable , of } from 'rxjs'; import * as datatypeActions from '../actions/datatype.actions'; import { SQLService } from '../services/async-query.service'; -import 'rxjs/add/operator/map'; -import 'rxjs/add/operator/switchMap'; -import 'rxjs/add/operator/catch'; export type Action = datatypeActions.All @Injectable() export class DatatypeEffects { constructor(private actions: Actions, - private sqlService: SQLService) {} + private sqlService: SQLService) {} - /* Effect to load a collection of all Datatypes from AsterixDB - */ - @Effect() - selectDatatypes$: Observable<Action> = this.actions - .ofType(datatypeActions.SELECT_DATATYPES) - .switchMap(query => { - return this.sqlService.selectDatatypes() - .map(datatype => new datatypeActions.SelectDatatypesSuccess(datatype)) - .catch(err => of(new datatypeActions.SelectDatatypesFail(err))); - }); + /* Effect to load a collection of all Datatypes from AsterixDB */ + @Effect() + selectDatatypes$: Observable<Action> = this.actions + .ofType(datatypeActions.SELECT_DATATYPES) + .switchMap(query => { + return this.sqlService.selectDatatypes() + .map(datatype => new datatypeActions.SelectDatatypesSuccess(datatype)) + .catch(err => of(new datatypeActions.SelectDatatypesFail(err))); + }); - /* Effect to create a Datatype from AsterixDB - */ - @Effect() - createDatatypes$: Observable<Action> = this.actions - .ofType(datatypeActions.CREATE_DATATYPE) - .switchMap(datatype => { - return this.sqlService.createDatatype((datatype as any).payload) - .map(datatype => new datatypeActions.CreateDatatypeSuccess(datatype)) - .catch(err => of(new datatypeActions.CreateDatatypeFail(err))); - }); + /* Effect to create a Datatype from AsterixDB + */ + @Effect() + createDatatypes$: Observable<Action> = this.actions + .ofType(datatypeActions.CREATE_DATATYPE) + .switchMap(datatype => { + return this.sqlService.createDatatype((datatype as any).payload) + .map(datatype => new datatypeActions.CreateDatatypeSuccess(datatype)) + .catch(err => of(new datatypeActions.CreateDatatypeFail(err))); + }); - /* Effect to drop a Datatype from AsterixDB - */ - @Effect() - dropDatatypes$: Observable<Action> = this.actions - .ofType(datatypeActions.DROP_DATATYPE) - .switchMap(datatype => { - return this.sqlService.dropDatatype((datatype as any).payload) - .map(datatype => new datatypeActions.DropDatatypeSuccess(datatype)) - .catch(err => of(new datatypeActions.DropDatatypeFail(err))); - }); -} + /* Effect to drop a Datatype from AsterixDB + */ + @Effect() + dropDatatypes$: Observable<Action> = this.actions + .ofType(datatypeActions.DROP_DATATYPE) + .switchMap(datatype => { + return this.sqlService.dropDatatype((datatype as any).payload) + .map(datatype => new datatypeActions.DropDatatypeSuccess(datatype)) + .catch(err => of(new datatypeActions.DropDatatypeFail(err))); + }); +} \ No newline at end of file
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/3e5815a7/asterixdb/asterix-dashboard/src/node/src/app/shared/effects/dataverse.effects.ts ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-dashboard/src/node/src/app/shared/effects/dataverse.effects.ts b/asterixdb/asterix-dashboard/src/node/src/app/shared/effects/dataverse.effects.ts index d917420..e8e86af 100755 --- a/asterixdb/asterix-dashboard/src/node/src/app/shared/effects/dataverse.effects.ts +++ b/asterixdb/asterix-dashboard/src/node/src/app/shared/effects/dataverse.effects.ts @@ -13,30 +13,32 @@ limitations under the License. */ import { Injectable } from '@angular/core'; import { Effect, Actions } from '@ngrx/effects'; -import { Observable } from 'rxjs/Observable'; -import { of } from 'rxjs/observable/of'; +import { Observable , of } from 'rxjs'; import * as dataverseActions from '../actions/dataverse.actions'; import { SQLService } from '../services/async-query.service'; -import 'rxjs/add/operator/map'; -import 'rxjs/add/operator/switchMap'; -import 'rxjs/add/operator/catch'; export type Action = dataverseActions.All @Injectable() export class DataverseEffects { - constructor(private actions: Actions, - private sqlService: SQLService) {} + constructor(private actions: Actions, private sqlService: SQLService) {} - /* Effect to load a collection of all Dataverses from AsterixDB - */ - @Effect() + /* Effect to set the default Dataverse */ + @Effect() + setDefaultDataverse$: Observable<Action> = this.actions + .ofType(dataverseActions.SET_DEFAULT_DATAVERSE) + .switchMap(query => { + return new Observable().map(dataverse => new dataverseActions.SetDefaultDataverse('Default')) + }); + + /* Effect to load a collection of all Dataverses from AsterixDB */ + @Effect() selectDataverses$: Observable<Action> = this.actions .ofType(dataverseActions.SELECT_DATAVERSES) .switchMap(query => { return this.sqlService.selectDataverses() - .map(dataverse => new dataverseActions.SelectDataversesSuccess(dataverse)) - .catch(err => of(new dataverseActions.SelectDataversesFail(err))); + .map(dataverse => new dataverseActions.SelectDataversesSuccess(dataverse)) + .catch(err => of(new dataverseActions.SelectDataversesFail(err))); }); /* Effect to create Dataverse from AsterixDB @@ -46,8 +48,8 @@ export class DataverseEffects { .ofType(dataverseActions.CREATE_DATAVERSE) .switchMap(dataverseName => { return this.sqlService.createDataverse((dataverseName as any).payload) - .map(dataverse => new dataverseActions.CreateDataverseSuccess(dataverse)) - .catch(err => of(new dataverseActions.CreateDataverseFail(err))); + .map(dataverse => new dataverseActions.CreateDataverseSuccess(dataverse)) + .catch(err => of(new dataverseActions.CreateDataverseFail(err))); }); /* Effect to drop a Dataverse from AsterixDB @@ -57,7 +59,7 @@ export class DataverseEffects { .ofType(dataverseActions.DROP_DATAVERSE) .switchMap(dataverseName => { return this.sqlService.dropDataverse((dataverseName as any).payload) - .map(dataverse => new dataverseActions.DropDataverseSuccess(dataverse)) - .catch(err => of(new dataverseActions.DropDataverseFail(err))); + .map(dataverse => new dataverseActions.DropDataverseSuccess(dataverse)) + .catch(err => of(new dataverseActions.DropDataverseFail(err))); }); } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/3e5815a7/asterixdb/asterix-dashboard/src/node/src/app/shared/effects/index.effects.ts ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-dashboard/src/node/src/app/shared/effects/index.effects.ts b/asterixdb/asterix-dashboard/src/node/src/app/shared/effects/index.effects.ts index 8491392..a1c0b07 100755 --- a/asterixdb/asterix-dashboard/src/node/src/app/shared/effects/index.effects.ts +++ b/asterixdb/asterix-dashboard/src/node/src/app/shared/effects/index.effects.ts @@ -13,51 +13,46 @@ limitations under the License. */ import { Injectable } from '@angular/core'; import { Effect, Actions } from '@ngrx/effects'; -import { Observable } from 'rxjs/Observable'; -import { of } from 'rxjs/observable/of'; +import { Observable , of } from 'rxjs'; import * as indexActions from '../actions/index.actions'; import { SQLService } from '../services/async-query.service'; -import 'rxjs/add/operator/map'; -import 'rxjs/add/operator/switchMap'; -import 'rxjs/add/operator/catch'; export type Action = indexActions.All @Injectable() export class IndexEffects { constructor(private actions: Actions, - private sqlService: SQLService) {} + private sqlService: SQLService) {} - /* Effect to load a collection of all Index from AsterixDB - */ - @Effect() - selectIndexes$: Observable<Action> = this.actions - .ofType(indexActions.SELECT_INDEXES) - .switchMap(query => { - return this.sqlService.selectIndexes() - .map(index => new indexActions.SelectIndexesSuccess(index)) - .catch(err => of(new indexActions.SelectIndexesFail(err))); - }); + /* Effect to load a collection of all Index from AsterixDB */ + @Effect() + selectIndexes$: Observable<Action> = this.actions + .ofType(indexActions.SELECT_INDEXES) + .switchMap(query => { + return this.sqlService.selectIndexes() + .map(index => new indexActions.SelectIndexesSuccess(index)) + .catch(err => of(new indexActions.SelectIndexesFail(err))); + }); - /* Effect to create a Index - */ - @Effect() - createIndexes$: Observable<Action> = this.actions - .ofType(indexActions.CREATE_INDEX) - .switchMap(index => { - return this.sqlService.createIndex((index as any).payload) - .map(index => new indexActions.CreateIndexSuccess(index)) - .catch(err => of(new indexActions.CreateIndexFail(err))); - }); + /* Effect to create a Index + */ + @Effect() + createIndexes$: Observable<Action> = this.actions + .ofType(indexActions.CREATE_INDEX) + .switchMap(index => { + return this.sqlService.createIndex((index as any).payload) + .map(index => new indexActions.CreateIndexSuccess(index)) + .catch(err => of(new indexActions.CreateIndexFail(err))); + }); - /* Effect to drop a Index - */ - @Effect() - dropIndexes$: Observable<Action> = this.actions - .ofType(indexActions.DROP_INDEX) - .switchMap(index => { - return this.sqlService.dropIndex((index as any).payload) - .map(index => new indexActions.DropIndexSuccess(index)) - .catch(err => of(new indexActions.DropIndexFail(err))); - }); + /* Effect to drop a Index + */ + @Effect() + dropIndexes$: Observable<Action> = this.actions + .ofType(indexActions.DROP_INDEX) + .switchMap(index => { + return this.sqlService.dropIndex((index as any).payload) + .map(index => new indexActions.DropIndexSuccess(index)) + .catch(err => of(new indexActions.DropIndexFail(err))); + }); } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/3e5815a7/asterixdb/asterix-dashboard/src/node/src/app/shared/effects/metadata.effects.ts ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-dashboard/src/node/src/app/shared/effects/metadata.effects.ts b/asterixdb/asterix-dashboard/src/node/src/app/shared/effects/metadata.effects.ts deleted file mode 100755 index ddcdb27..0000000 --- a/asterixdb/asterix-dashboard/src/node/src/app/shared/effects/metadata.effects.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 { Injectable } from '@angular/core'; -import { Action } from '@ngrx/store'; -import { Effect, Actions } from '@ngrx/effects'; -import { Observable } from 'rxjs/Observable'; -import { of } from 'rxjs/observable/of'; -import { MetadataService } from '../services/async-metadata.service'; -import * as metadataActions from '../actions/metadata.actions'; -import 'rxjs/add/operator/map'; -import 'rxjs/add/operator/switchMap'; -import 'rxjs/add/operator/catch'; - -export type Action = metadataActions.All - -@Injectable() -export class MetadataEffects { - constructor(private actions: Actions, - private metadataService: MetadataService) {} - - /* Effect to update and retrieve the Metadata Tree - */ - @Effect() - calculateDBTree$: Observable<Action> = this.actions - .ofType(metadataActions.UPDATE_METADATA_TREE) - .switchMap(() => { - return this.metadataService.getMetadataTree() - .map(tree => new metadataActions.UpdateMetadataTreeSuccess(tree)) - }); -} http://git-wip-us.apache.org/repos/asf/asterixdb/blob/3e5815a7/asterixdb/asterix-dashboard/src/node/src/app/shared/effects/query.effects.ts ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-dashboard/src/node/src/app/shared/effects/query.effects.ts b/asterixdb/asterix-dashboard/src/node/src/app/shared/effects/query.effects.ts index cb78255..0d209cd1 100755 --- a/asterixdb/asterix-dashboard/src/node/src/app/shared/effects/query.effects.ts +++ b/asterixdb/asterix-dashboard/src/node/src/app/shared/effects/query.effects.ts @@ -13,41 +13,36 @@ limitations under the License. */ import { Injectable } from '@angular/core'; import { Action } from '@ngrx/store'; -import { Effect, Actions } from '@ngrx/effects'; -import { Observable } from 'rxjs/Observable'; -import { of } from 'rxjs/observable/of'; +import { Actions, Effect, ofType } from '@ngrx/effects'; +import { Observable , of } from 'rxjs'; import { SQLService } from '../services/async-query.service'; import * as sqlQueryActions from '../actions/query.actions'; -import 'rxjs/add/operator/map'; -import 'rxjs/add/operator/switchMap'; -import 'rxjs/add/operator/catch'; export type Action = sqlQueryActions.All @Injectable() export class SQLQueryEffects { constructor(private actions: Actions, - private sqlService: SQLService) {} + private sqlService: SQLService) {} - /* Effect to Execute an SQL++ Query against the AsterixDB - */ - @Effect() - executeQuery$: Observable<Action> = this.actions - .ofType(sqlQueryActions.EXECUTE_QUERY) - .switchMap(query => { - return this.sqlService.executeSQLQuery((query as any).payload) - .map(sqlQueryResult => new sqlQueryActions.ExecuteQuerySuccess(sqlQueryResult)) - .catch(sqlQueryError => of(new sqlQueryActions.ExecuteQueryFail(sqlQueryError))); - }); + /* Effect to Execute an SQL++ Query against the AsterixDB */ + @Effect() + executeQuery$: Observable<Action> = this.actions + .ofType(sqlQueryActions.EXECUTE_QUERY) + .switchMap(query => { + return this.sqlService.executeSQLQuery((query as any).payload.queryString) + .map(sqlQueryResult => new sqlQueryActions.ExecuteQuerySuccess(sqlQueryResult)) + .catch(sqlQueryError => of(new sqlQueryActions.ExecuteQueryFail(sqlQueryError))); + }); - /* Effect to Execute an SQL++ Metadata Query against the AsterixDB - */ - @Effect() - executeMetadataQuery$: Observable<Action> = this.actions - .ofType(sqlQueryActions.EXECUTE_METADATA_QUERY) - .switchMap(query => { - return this.sqlService.executeSQLQuery((query as any).payload) - .map(sqlMetadataQueryResult => new sqlQueryActions.ExecuteMetadataQuerySuccess(sqlMetadataQueryResult)) - .catch(sqlMetadataQueryError => of(new sqlQueryActions.ExecuteMetadataQueryFail(sqlMetadataQueryError))); - }); -} + /* Effect to Execute an SQL++ Metadata Query against the AsterixDB + */ + @Effect() + executeMetadataQuery$: Observable<Action> = this.actions + .ofType(sqlQueryActions.EXECUTE_METADATA_QUERY) + .switchMap(query => { + return this.sqlService.executeSQLQuery((query as any).payload) + .map(sqlMetadataQueryResult => new sqlQueryActions.ExecuteMetadataQuerySuccess(sqlMetadataQueryResult)) + .catch(sqlMetadataQueryError => of(new sqlQueryActions.ExecuteMetadataQueryFail(sqlMetadataQueryError))); + }); +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/asterixdb/blob/3e5815a7/asterixdb/asterix-dashboard/src/node/src/app/shared/models/asterixDB.model.ts ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-dashboard/src/node/src/app/shared/models/asterixDB.model.ts b/asterixdb/asterix-dashboard/src/node/src/app/shared/models/asterixDB.model.ts deleted file mode 100755 index bbdabe2..0000000 --- a/asterixdb/asterix-dashboard/src/node/src/app/shared/models/asterixDB.model.ts +++ /dev/null @@ -1,112 +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. -*/ -/* -* Interfaces representing AsterixDB data model structures. -*/ - -export interface Dataverse { - dataFormat: string; - dataverseName: string; - pendingOp: string; - timeStamp: string; -}; - -export interface ResultsM { - dataFormat: string; - dataverseName: string; - pendingOp: string; - timeStamp: string; -}; - -export interface Dataset { - compactionPolicy: string; - compactionPolicyProperties: CompactionPolicyProperties[]; - datasetId: string; - datasetName: string; - datasetType:string; - datatypeDataverseName: string; - datatypeName: string; - dataverseName: string; - groupName:string; - hints: string[]; - internalDetails: InternalDetails; - pendingOp: string; - timestamp: string; -}; - -export interface CompactionPolicyProperties { - name: string; - value: string; -}; - -export interface InternalDetails { - autogenerated: string; - fileStructure: string; - partitioningKey: string; - partitioningStrategy: string; - primaryKey: string[]; -}; - -// Message format coming back from AsterixDB REST API -export interface AsterixDBQueryMessage { - metrics: Metrics; - requestId: string; - results: any[]; - signature: string; - status: string; -}; - -export interface Metrics { - elapsedTime: string; - executionTime: string; - resultCount: string; - resultSize: string; -}; - -// Datatype Data Model comming from AsterixDB REST API -export interface Datatype { - datatypeName: string; - dataverseName: string; - derived: DatatypeDerived; - timeStamp: string; -}; - -export interface DatatypeDerived { - isAnonymous: boolean; - record: DatatypeDerivedRecord; - tag: string; -}; - -export interface DatatypeDerivedRecord { - Fields: DatatypeDerivedRecordField[]; - isOpen: boolean; -}; - -export interface DatatypeDerivedRecordField { - fieldName: string; - fieldType: "string"; - isNullable: boolean; -} - -// Index Data Model comming from AsterixDB REST API -export interface Index { - dataverseName: string; - datasetName: string; - indexName: string; - indexStructure: string; - searchKey: string[]; - isPrimary: boolean; - timestamp: string; - pendingOp: string; -}; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/3e5815a7/asterixdb/asterix-dashboard/src/node/src/app/shared/pipes/keys.pipe.ts ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-dashboard/src/node/src/app/shared/pipes/keys.pipe.ts b/asterixdb/asterix-dashboard/src/node/src/app/shared/pipes/keys.pipe.ts deleted file mode 100755 index 77cac5a..0000000 --- a/asterixdb/asterix-dashboard/src/node/src/app/shared/pipes/keys.pipe.ts +++ /dev/null @@ -1,25 +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 { PipeTransform, Pipe } from '@angular/core'; - -@Pipe({name: 'keys'}) -export class KeysPipe implements PipeTransform { - transform(value, args:string[]) : any { - let keys = []; - for (let key in value) { - keys.push(key); - } - return keys; - } -} http://git-wip-us.apache.org/repos/asf/asterixdb/blob/3e5815a7/asterixdb/asterix-dashboard/src/node/src/app/shared/pipes/objectArrayType.pipe.ts ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-dashboard/src/node/src/app/shared/pipes/objectArrayType.pipe.ts b/asterixdb/asterix-dashboard/src/node/src/app/shared/pipes/objectArrayType.pipe.ts deleted file mode 100755 index 220b53c..0000000 --- a/asterixdb/asterix-dashboard/src/node/src/app/shared/pipes/objectArrayType.pipe.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. -*/ -// Detecting if an object is an array -import { PipeTransform, Pipe } from '@angular/core'; - -@Pipe({name: 'isObjectArray'}) -export class ObjectArrayTypePipe implements PipeTransform { - transform(value, args:string[]) : any { - return value && (value.constructor.toString().indexOf("Array") != -1) - && value[0] && (value[0].constructor.toString().indexOf("Object") != -1); - } -} http://git-wip-us.apache.org/repos/asf/asterixdb/blob/3e5815a7/asterixdb/asterix-dashboard/src/node/src/app/shared/pipes/objectType.pipe.ts ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-dashboard/src/node/src/app/shared/pipes/objectType.pipe.ts b/asterixdb/asterix-dashboard/src/node/src/app/shared/pipes/objectType.pipe.ts deleted file mode 100755 index 5b8f795..0000000 --- a/asterixdb/asterix-dashboard/src/node/src/app/shared/pipes/objectType.pipe.ts +++ /dev/null @@ -1,21 +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 { PipeTransform, Pipe } from '@angular/core'; - -@Pipe({name: 'isObject'}) -export class ObjectTypePipe implements PipeTransform { - transform(value, args:string[]) : any { - return value && (value.constructor.toString().indexOf("Object") != -1); - } -} http://git-wip-us.apache.org/repos/asf/asterixdb/blob/3e5815a7/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/app.reducer.ts ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/app.reducer.ts b/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/app.reducer.ts index 01c65ac..c656ef8 100755 --- a/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/app.reducer.ts +++ b/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/app.reducer.ts @@ -11,7 +11,6 @@ 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 { AsterixDBQueryMessage } from '../models/asterixDB.model'; import * as appActions from '../actions/app.actions'; export type Action = appActions.All; @@ -20,54 +19,48 @@ export type Action = appActions.All; ** Interfaces for app state in store/state */ export interface State { - loading: boolean, - loaded: boolean, - success: boolean, - sqlQueryString: string, - sqlQueryResult: AsterixDBQueryMessage[], - sqlQueryError: AsterixDBQueryMessage[], - sqlMetadataQueryString: string, - sqlMetadataQueryResult: AsterixDBQueryMessage[], - sqlMetadataQueryError: AsterixDBQueryMessage[] + currentQueryIndex: Number; + sideMenuVisible: boolean; }; const initialState: State = { - loading: false, - loaded: false, - success: false, - sqlQueryString: "", - sqlQueryResult: [], - sqlQueryError: [], - sqlMetadataQueryString: "", - sqlMetadataQueryResult: [], - sqlMetadataQueryError: [], + currentQueryIndex: 0, + sideMenuVisible: false, }; /* ** Reducer function for app state in store/state */ export function appReducer(state = initialState, action: Action) { - switch (action.type) { + switch (action.type) { + /* + * Global side navigator open/close controller + */ + case appActions.APP_SIDE_MENU: { + return Object.assign({}, state, { + sideMenuVisible: action.payload + }); + } - /* - * Change the load state to true, and clear previous results - * to signaling that a EXECUTE a SQL++ Query is ongoing - */ - case appActions.APP_MODE_CHANGE: { - return Object.assign({}, state, { - loading: false, - loaded: true, - success: false, - sqlQueryString: action.payload, - sqlQueryResult: [], - sqlQueryError: [] - }); - } - - /* - * Just returns the current store/state object - */ - default: - return state; - } -} + /* + * Change the load state to true, and clear previous results + * to signaling that a EXECUTE a SQL++ Query is ongoing + */ + case appActions.APP_MODE_CHANGE: { + return Object.assign({}, state, { + }); + } + + /* + * store the query currently in codemirror editor + */ + case appActions.APP_QUERY_INPUT_INDEX: { + return Object.assign({}, state, { + currentQueryIndex: action.payload + }); + } + + default: + return state; + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/asterixdb/blob/3e5815a7/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/dataset.reducer.ts ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/dataset.reducer.ts b/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/dataset.reducer.ts index 25d09b9..deaceb3 100755 --- a/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/dataset.reducer.ts +++ b/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/dataset.reducer.ts @@ -11,7 +11,6 @@ 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 { Dataset } from '../models/asterixDB.model'; import * as DatasetAction from '../actions/dataset.actions'; export type Action = DatasetAction.All; @@ -20,158 +19,158 @@ export type Action = DatasetAction.All; ** Interfaces for datasets in store/state */ export interface State { - loaded: boolean, - loading: boolean, - datasets: any[], - createDataset: any[], - createDatasetError: any[], - createDatasetSuccess: boolean, - createDatasetFailed: boolean, - dropDataset: any[], - dropDatasetError: any[], - dropDatasetSuccess: boolean, - dropDatasetFailed: boolean, - guideSelectsDataset: string, + loaded: boolean, + loading: boolean, + datasets: any[], + createDataset: any[], + createDatasetError: any[], + createDatasetSuccess: boolean, + createDatasetFailed: boolean, + dropDataset: any[], + dropDatasetError: any[], + dropDatasetSuccess: boolean, + dropDatasetFailed: boolean, + guideSelectsDataset: string }; const initialState: State = { - loaded: false, - loading: false, - datasets: [], - createDataset: [], - createDatasetError: [], - createDatasetSuccess: false, - createDatasetFailed: false, - dropDataset: [], - dropDatasetError: [], - dropDatasetSuccess: false, - dropDatasetFailed: false, - guideSelectsDataset: "" + loaded: false, + loading: false, + datasets: [], + createDataset: [], + createDatasetError: [], + createDatasetSuccess: false, + createDatasetFailed: false, + dropDataset: [], + dropDatasetError: [], + dropDatasetSuccess: false, + dropDatasetFailed: false, + guideSelectsDataset: "" }; /* ** Reducer function for datasets in store/state */ export function datasetReducer(state = initialState, action: Action) { - switch (action.type) { - - /* - * Change the selected dataset state to true to signaling - * UI from metadata guide - */ - case DatasetAction.GUIDE_SELECT_DATASET: { - return Object.assign({}, state, { guideSelectsDataset: action.payload }); + switch (action.type) { + + /* + * Change the selected dataset state to true to signaling + * UI from metadata guide + */ + case DatasetAction.GUIDE_SELECT_DATASET: { + return Object.assign({}, state, { guideSelectsDataset: action.payload }); + } + + /* + * Change the load state to true to signaling + * that a SELECT Query is ongoing + */ + case DatasetAction.SELECT_DATASETS: { + return Object.assign({}, state, { loading: true }); + } + + /* + * Change the load state to false, and loaded to true to signaling + * that a SELECT Query is success and there is datasets available in the + * store + */ + case DatasetAction.SELECT_DATASETS_SUCCESS: { + return Object.assign({}, state, { + loaded: true, + loading: false, + datasets: action.payload + }) + } + + /* + * Change the load state to true to signaling + * that a CREATE a Dataset Query is ongoing + */ + case DatasetAction.CREATE_DATASET: { + return Object.assign({}, state, { + createDataset: [], + createDatasetError: [], + createDatasetSuccess: false, + createDatasetFailed: false + }); + } + + /* + * Change the load state to false, and loaded to true to signaling + * that a CREATE a Dataset Query is success and there is datasets available in the + * store + */ + case DatasetAction.CREATE_DATASET_SUCCESS: { + return Object.assign({}, state, { + createDataset: action.payload, + createDatasetName: action.payload, + createDatasetError: [], + createDatasetSuccess: true, + createDatasetFailed: false + }) + } + + /* + * Change the load state to false, and loaded to true to signaling + * that a CREATE a Dataset Query is failed and there is an error message available in the + * store + */ + case DatasetAction.CREATE_DATASET_FAIL: { + return Object.assign({}, state, { + createDataset: [], + createDatasetError: action.payload, + createDatasetSuccess: false, + createDatasetFailed: true + }) + } + + /* + * Change the load state to true to signaling + * that a DROP a Dataset Query is ongoing + */ + case DatasetAction.DROP_DATASET: { + return Object.assign({}, state, { + dropDataset: [], + dropDatasetError: [], + dropDatasetName: action.payload, + dropDatasetSuccess: false, + dropDatasetFailed: false + }); + } + + /* + * Change the load state to false, and loaded to true to signaling + * that a DROP a Dataset Query is success and there is datasets available in the + * store + */ + case DatasetAction.DROP_DATASET_SUCCESS: { + return Object.assign({}, state, { + dropDataset: action.payload, + dropDatasetError: [], + dropDatasetSuccess: true, + dropDatasetFailed: false + }) + } + + /* + * Change the load state to false, and loaded to true to signaling + * that a DROP a Dataset Query is failed and there is an error message available in the + * store + */ + case DatasetAction.DROP_DATASET_FAIL: { + return Object.assign({}, state, { + dropDataset: [], + dropDatasetError: action.payload, + dropDatasetSuccess: false, + dropDatasetFailed: true + }) + } + + /* + * Just returns the current store/state object + */ + default: + return state; } - - /* - * Change the load state to true to signaling - * that a SELECT Query is ongoing - */ - case DatasetAction.SELECT_DATASETS: { - return Object.assign({}, state, { loading: true }); - } - - /* - * Change the load state to false, and loaded to true to signaling - * that a SELECT Query is success and there is datasets available in the - * store - */ - case DatasetAction.SELECT_DATASETS_SUCCESS: { - return Object.assign({}, state, { - loaded: true, - loading: false, - datasets: action.payload - }) - } - - /* - * Change the load state to true to signaling - * that a CREATE a Dataset Query is ongoing - */ - case DatasetAction.CREATE_DATASET: { - return Object.assign({}, state, { - createDataset: [], - createDatasetError: [], - createDatasetSuccess: false, - createDatasetFailed: false, - }); - } - - /* - * Change the load state to false, and loaded to true to signaling - * that a CREATE a Dataset Query is success and there is datasets available in the - * store - */ - case DatasetAction.CREATE_DATASET_SUCCESS: { - return Object.assign({}, state, { - createDataset: action.payload, - createDatasetName: action.payload, - createDatasetError: [], - createDatasetSuccess: true, - createDatasetFailed: false - }) - } - - /* - * Change the load state to false, and loaded to true to signaling - * that a CREATE a Dataset Query is failed and there is an error message available in the - * store - */ - case DatasetAction.CREATE_DATASET_FAIL: { - return Object.assign({}, state, { - createDataset: [], - createDatasetError: action.payload, - createDatasetSuccess: false, - createDatasetFailed: true - }) - } - - /* - * Change the load state to true to signaling - * that a DROP a Dataset Query is ongoing - */ - case DatasetAction.DROP_DATASET: { - return Object.assign({}, state, { - dropDataset: [], - dropDatasetError: [], - dropDatasetName: action.payload, - dropDatasetSuccess: false, - dropDatasetFailed: false - }); - } - - /* - * Change the load state to false, and loaded to true to signaling - * that a DROP a Dataset Query is success and there is datasets available in the - * store - */ - case DatasetAction.DROP_DATASET_SUCCESS: { - return Object.assign({}, state, { - dropDataset: action.payload, - dropDatasetError: [], - dropDatasetSuccess: true, - dropDatasetFailed: false - }) - } - - /* - * Change the load state to false, and loaded to true to signaling - * that a DROP a Dataset Query is failed and there is an error message available in the - * store - */ - case DatasetAction.DROP_DATASET_FAIL: { - return Object.assign({}, state, { - dropDataset: [], - dropDatasetError: action.payload, - dropDatasetSuccess: false, - dropDatasetFailed: true - }) - } - - /* - * Just returns the current store/state object - */ - default: - return state; - } -} +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/asterixdb/blob/3e5815a7/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/datatype.reducer.ts ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/datatype.reducer.ts b/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/datatype.reducer.ts index 1036fdb..289b889 100755 --- a/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/datatype.reducer.ts +++ b/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/datatype.reducer.ts @@ -11,7 +11,6 @@ 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 { Datatype } from '../models/asterixDB.model'; import * as DatatypeAction from '../actions/datatype.actions'; export type Action = DatatypeAction.All; @@ -20,148 +19,148 @@ export type Action = DatatypeAction.All; ** Interfaces for datatype in store/state */ export interface State { - loaded: boolean, - loading: boolean, - datatypes: Datatype[], - createDatatype: any[], - createDatatypeError: any[], - createDatatypeSuccess: boolean, - createDatatypeFailed: boolean, - dropDatatype: any[], - dropDatatypeError: any[], - dropDatatypeSuccess: boolean, - dropDatatypeFailed: boolean + loaded: boolean, + loading: boolean, + datatypes: any[], + createDatatype: any[], + createDatatypeError: any[], + createDatatypeSuccess: boolean, + createDatatypeFailed: boolean, + dropDatatype: any[], + dropDatatypeError: any[], + dropDatatypeSuccess: boolean, + dropDatatypeFailed: boolean }; const initialState: State = { - loaded: false, - loading: false, - datatypes: [], - createDatatype: [], - createDatatypeError: [], - createDatatypeSuccess: false, - createDatatypeFailed: false, - dropDatatype: [], - dropDatatypeError: [], - dropDatatypeSuccess: false, - dropDatatypeFailed: false + loaded: false, + loading: false, + datatypes: [], + createDatatype: [], + createDatatypeError: [], + createDatatypeSuccess: false, + createDatatypeFailed: false, + dropDatatype: [], + dropDatatypeError: [], + dropDatatypeSuccess: false, + dropDatatypeFailed: false }; /* ** Reducer function for datatypes in store/state */ export function datatypeReducer(state = initialState, action: Action) { - switch (action.type) { + switch (action.type) { - /* - * Change the load state to true to signaling - * that a SELECT Query is ongoing - */ - case DatatypeAction.SELECT_DATATYPES: { - return Object.assign({}, state, { loading: true }); - } + /* + * Change the load state to true to signaling + * that a SELECT Query is ongoing + */ + case DatatypeAction.SELECT_DATATYPES: { + return Object.assign({}, state, { loading: true }); + } - /* - * Change the load state to false, and loaded to true to signaling - * that a SELECT Query is success and there is datatypes available in the - * store - */ - case DatatypeAction.SELECT_DATATYPES_SUCCESS: { - return Object.assign({}, state, { - loaded: true, - loading: false, - datatypes: action.payload - }) - } + /* + * Change the load state to false, and loaded to true to signaling + * that a SELECT Query is success and there is datatypes available in the + * store + */ + case DatatypeAction.SELECT_DATATYPES_SUCCESS: { + return Object.assign({}, state, { + loaded: true, + loading: false, + datatypes: action.payload + }) + } - /* - * Change the load state to true to signaling - * that a CREATE a Datatype Query is ongoing - */ - case DatatypeAction.CREATE_DATATYPE: { - return Object.assign({}, state, { - createDatatype: [], - createDatatypeName: action.payload, - createDatatypeError: [], - createDatatypeSuccess: false, - createDatatypeFailed: false, - }); - } + /* + * Change the load state to true to signaling + * that a CREATE a Datatype Query is ongoing + */ + case DatatypeAction.CREATE_DATATYPE: { + return Object.assign({}, state, { + createDatatype: [], + createDatatypeName: action.payload, + createDatatypeError: [], + createDatatypeSuccess: false, + createDatatypeFailed: false, + }); + } - /* - * Change the load state to false, and loaded to true to signaling - * that a CREATE a Datatype Query is success and there is datasets available in the - * store - */ - case DatatypeAction.CREATE_DATATYPE_SUCCESS: { - return Object.assign({}, state, { - createDatatype: action.payload, - createDatatypeError: [], - createDatatypeSuccess: true, - createDatatypeFailed: false - }) - } + /* + * Change the load state to false, and loaded to true to signaling + * that a CREATE a Datatype Query is success and there is datasets available in the + * store + */ + case DatatypeAction.CREATE_DATATYPE_SUCCESS: { + return Object.assign({}, state, { + createDatatype: action.payload, + createDatatypeError: [], + createDatatypeSuccess: true, + createDatatypeFailed: false + }) + } - /* - * Change the load state to false, and loaded to true to signaling - * that a CREATE a Datatype Query is failed and there is an error message available in the - * store - */ - case DatatypeAction.CREATE_DATATYPE_FAIL: { - return Object.assign({}, state, { - createDatatype: [], - createDatatypeError: action.payload, - createDatatypeSuccess: false, - createDatatypeFailed: true - }) - } + /* + * Change the load state to false, and loaded to true to signaling + * that a CREATE a Datatype Query is failed and there is an error message available in the + * store + */ + case DatatypeAction.CREATE_DATATYPE_FAIL: { + return Object.assign({}, state, { + createDatatype: [], + createDatatypeError: action.payload, + createDatatypeSuccess: false, + createDatatypeFailed: true + }) + } - /* - * Change the load state to true to signaling - * that a DROP a Datatype Query is ongoing - */ - case DatatypeAction.DROP_DATATYPE: { - return Object.assign({}, state, { - dropDatatype: [], - dropDatatypeName: action.payload, - dropDatatypeError: [], - dropDatatypeSuccess: false, - dropDatatypeFailed: false - }); - } + /* + * Change the load state to true to signaling + * that a DROP a Datatype Query is ongoing + */ + case DatatypeAction.DROP_DATATYPE: { + return Object.assign({}, state, { + dropDatatype: [], + dropDatatypeName: action.payload, + dropDatatypeError: [], + dropDatatypeSuccess: false, + dropDatatypeFailed: false + }); + } - /* - * Change the load state to false, and loaded to true to signaling - * that a DROP a Datatype Query is success and there is datasets available in the - * store - */ - case DatatypeAction.DROP_DATATYPE_SUCCESS: { - return Object.assign({}, state, { - dropDatatype: action.payload, - dropDatatypeError: [], - dropDatatypeSuccess: true, - dropDatatypeFailed: false - }) - } + /* + * Change the load state to false, and loaded to true to signaling + * that a DROP a Datatype Query is success and there is datasets available in the + * store + */ + case DatatypeAction.DROP_DATATYPE_SUCCESS: { + return Object.assign({}, state, { + dropDatatype: action.payload, + dropDatatypeError: [], + dropDatatypeSuccess: true, + dropDatatypeFailed: false + }) + } - /* - * Change the load state to false, and loaded to true to signaling - * that a DROP a Datatype Query is failed and there is an error message available in the - * store - */ - case DatatypeAction.DROP_DATATYPE_FAIL: { - return Object.assign({}, state, { - dropDatatype: [], - dropDatatypeError: action.payload, - dropDatatypeSuccess: false, - dropDatatypeFailed: true - }) - } + /* + * Change the load state to false, and loaded to true to signaling + * that a DROP a Datatype Query is failed and there is an error message available in the + * store + */ + case DatatypeAction.DROP_DATATYPE_FAIL: { + return Object.assign({}, state, { + dropDatatype: [], + dropDatatypeError: action.payload, + dropDatatypeSuccess: false, + dropDatatypeFailed: true + }) + } - /* - * Just returns the current store/state object - */ - default: - return state; - } -} + /* + * Just returns the current store/state object + */ + default: + return state; + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/asterixdb/blob/3e5815a7/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/dataverse.reducer.ts ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/dataverse.reducer.ts b/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/dataverse.reducer.ts index 7ac78ea..28f6a58 100755 --- a/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/dataverse.reducer.ts +++ b/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/dataverse.reducer.ts @@ -11,7 +11,6 @@ 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 { Dataverse } from '../models/asterixDB.model'; import * as DataverseAction from '../actions/dataverse.actions'; export type Action = DataverseAction.All; @@ -20,152 +19,161 @@ export type Action = DataverseAction.All; ** Interfaces for dataverses in store/state */ export interface State { - loaded: boolean, - loading: boolean, - dataverses: any[], - createDataverse: any[], - createDataverseName: string, - createDataverseError: any[], - createDataverseSuccess: boolean, - createDataverseFailed: boolean - dropDataverse: any[], - dropDataverseName: string; - dropDataverseError: any[], - dropDataverseSuccess: boolean, - dropDataverseFailed: boolean + loaded: boolean, + loading: boolean, + dataverses: any[], + createDataverse: any[], + createDataverseName: string, + createDataverseError: any[], + createDataverseSuccess: boolean, + createDataverseFailed: boolean + dropDataverse: any[], + dropDataverseName: string; + dropDataverseError: any[], + dropDataverseSuccess: boolean, + dropDataverseFailed: boolean, + defaultDataverseName: any }; const initialState: State = { - loaded: false, - loading: false, - dataverses: [], - createDataverse: [], - createDataverseName: "", - createDataverseError: [], - createDataverseSuccess: false, - createDataverseFailed: false, - dropDataverse: [], - dropDataverseName: "", - dropDataverseError: [], - dropDataverseSuccess: false, - dropDataverseFailed: false + loaded: false, + loading: false, + dataverses: [], + createDataverse: [], + createDataverseName: "", + createDataverseError: [], + createDataverseSuccess: false, + createDataverseFailed: false, + dropDataverse: [], + dropDataverseName: "", + dropDataverseError: [], + dropDataverseSuccess: false, + dropDataverseFailed: false, + defaultDataverseName: 'Default' }; /* ** Reducer function for dataverses in store/state */ export function dataverseReducer(state = initialState, action: Action) { - switch (action.type) { - - /* - * Change the load state to true to signaling - * that a SELECT Query is ongoing - */ - case DataverseAction.SELECT_DATAVERSES: { - return Object.assign({}, state, { loading: true }); - } + switch (action.type) { - /* - * Change the load state to false, and loaded to true to signaling - * that a SELECT Query is success and there is dataverses available in the - * store - */ - case DataverseAction.SELECT_DATAVERSES_SUCCESS: { - return Object.assign({}, state, { - loaded: true, - loading: false, - dataverses: action.payload // _.sortBy(_.values(action.payload), 'dataverseName') - }) - } + /* + * Set the default Dataverse Name + */ + case DataverseAction.SET_DEFAULT_DATAVERSE: { + return Object.assign({}, state, { defaultDataverseName: action.payload }); + } - /* - * Change the load state to true to signaling - * that a CREATE a Dataset Query is ongoing - */ - case DataverseAction.CREATE_DATAVERSE: { - return Object.assign({}, state, { - createDataverse: [], - createDataverseName: action.payload, - createDataverseError: [], - createDataverseSuccess: false, - createDataverseFailed: false - }); - } + /* + * Change the load state to true to signaling + * that a SELECT Query is ongoing + */ + case DataverseAction.SELECT_DATAVERSES: { + return Object.assign({}, state, { loading: true }); + } - /* - * Change the load state to false, and loaded to true to signaling - * that a CREATE a Dataverse Query is success and there is a success message available in the - * store - */ - case DataverseAction.CREATE_DATAVERSE_SUCCESS: { - return Object.assign({}, state, { - createDataverse: action.payload, - createDataverseError: [], - createDataverseSuccess: true, - createDataverseFailed: false - }) - } + /* + * Change the load state to false, and loaded to true to signaling + * that a SELECT Query is success and there is dataverses available in the + * store + */ + case DataverseAction.SELECT_DATAVERSES_SUCCESS: { + return Object.assign({}, state, { + loaded: true, + loading: false, + dataverses: action.payload // _.sortBy(_.values(action.payload), 'dataverseName') + }) + } - /* - * Change the load state to false, and loaded to true to signaling - * that a CREATE a Dataverse Query is failed and there is an error message available in the - * store - */ - case DataverseAction.CREATE_DATAVERSE_FAIL: { - return Object.assign({}, state, { - createDataverse: [], - createDataverseError: action.payload, - createDataverseSuccess: false, - createDataverseFailed: true - }) - } + /* + * Change the load state to true to signaling + * that a CREATE a Dataset Query is ongoing + */ + case DataverseAction.CREATE_DATAVERSE: { + return Object.assign({}, state, { + createDataverse: [], + createDataverseName: action.payload, + createDataverseError: [], + createDataverseSuccess: false, + createDataverseFailed: false + }); + } - /* - * Change the load state to true to signaling - * that a DROP a Dataverse Query is ongoing - */ - case DataverseAction.DROP_DATAVERSE: { - return Object.assign({}, state, { - dropDataverse: [], - dropDataverseName: action.payload, - dropDataverseError: [], - dropDataverseSuccess: false, - dropDataverseFailed: false - }); - } + /* + * Change the load state to false, and loaded to true to signaling + * that a CREATE a Dataverse Query is success and there is a success message available in the + * store + */ + case DataverseAction.CREATE_DATAVERSE_SUCCESS: { + return Object.assign({}, state, { + createDataverse: action.payload, + createDataverseError: [], + createDataverseSuccess: true, + createDataverseFailed: false + }) + } - /* - * Change the load state to false, and loaded to true to signaling - * that a DROP a Dataverse Query is success and there is success message available in the - * store - */ - case DataverseAction.DROP_DATAVERSE_SUCCESS: { - return Object.assign({}, state, { - dropDataverse: action.payload, - dropDataverseError: [], - dropDataverseSuccess: true, - dropDataverseFailed: false - }) - } + /* + * Change the load state to false, and loaded to true to signaling + * that a CREATE a Dataverse Query is failed and there is an error message available in the + * store + */ + case DataverseAction.CREATE_DATAVERSE_FAIL: { + return Object.assign({}, state, { + createDataverse: [], + createDataverseError: action.payload, + createDataverseSuccess: false, + createDataverseFailed: true + }) + } - /* - * Change the load state to false, and loaded to true to signaling - * that a DROP a Dataverse Query is failed and there is an error message available in the - * store - */ - case DataverseAction.DROP_DATAVERSE_FAIL: { - return Object.assign({}, state, { - dropDataverse: [], - dropDataverseError: action.payload, - dropDataverseSuccess: false, - dropDataverseFailed: true - }) - } + /* + * Change the load state to true to signaling + * that a DROP a Dataverse Query is ongoing + */ + case DataverseAction.DROP_DATAVERSE: { + return Object.assign({}, state, { + dropDataverse: [], + dropDataverseName: action.payload, + dropDataverseError: [], + dropDataverseSuccess: false, + dropDataverseFailed: false + }); + } + + /* + * Change the load state to false, and loaded to true to signaling + * that a DROP a Dataverse Query is success and there is success message available in the + * store + */ + case DataverseAction.DROP_DATAVERSE_SUCCESS: { + return Object.assign({}, state, { + dropDataverse: action.payload, + dropDataverseError: [], + dropDataverseSuccess: true, + dropDataverseFailed: false + }) + } - /* - * Just returns the current store/state object - */ - default: - return state; - } + /* + * Change the load state to false, and loaded to true to signaling + * that a DROP a Dataverse Query is failed and there is an error message available in the + * store + */ + case DataverseAction.DROP_DATAVERSE_FAIL: { + return Object.assign({}, state, { + dropDataverse: [], + dropDataverseError: action.payload, + dropDataverseSuccess: false, + dropDataverseFailed: true + }) + } + + /* + * Just returns the current store/state object + */ + default: + return state; + } } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/3e5815a7/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/index.reducer.ts ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/index.reducer.ts b/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/index.reducer.ts index 792abc7..7d8dd33 100755 --- a/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/index.reducer.ts +++ b/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/index.reducer.ts @@ -11,7 +11,6 @@ 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 { Index } from '../models/asterixDB.model'; import * as IndexAction from '../actions/index.actions'; export type Action = IndexAction.All; @@ -20,148 +19,147 @@ export type Action = IndexAction.All; ** Interfaces for indexes in store/state */ export interface State { - loaded: boolean, - loading: boolean, - indexes: Index[], - createIndex: any[], - createIndexError: any[], - createIndexSuccess: boolean, - createIndexFailed: boolean, - dropIndex: any[], - dropIndexError: any[], - dropIndexSuccess: boolean, - dropIndexFailed: boolean + loaded: boolean, + loading: boolean, + indexes: any[], + createIndex: any[], + createIndexError: any[], + createIndexSuccess: boolean, + createIndexFailed: boolean, + dropIndex: any[], + dropIndexError: any[], + dropIndexSuccess: boolean, + dropIndexFailed: boolean }; const initialState: State = { - loaded: false, - loading: false, - indexes: [], - createIndex: [], - createIndexError: [], - createIndexSuccess: false, - createIndexFailed: false, - dropIndex: [], - dropIndexError: [], - dropIndexSuccess: false, - dropIndexFailed: false + loaded: false, + loading: false, + indexes: [], + createIndex: [], + createIndexError: [], + createIndexSuccess: false, + createIndexFailed: false, + dropIndex: [], + dropIndexError: [], + dropIndexSuccess: false, + dropIndexFailed: false }; /* ** Reducer function for indexes in store/state */ export function indexReducer(state = initialState, action: Action) { - switch (action.type) { + switch (action.type) { + /* + * Change the load state to true to signaling + * that a SELECT Query is ongoing + */ + case IndexAction.SELECT_INDEXES: { + return Object.assign({}, state, { loading: true }); + } - /* - * Change the load state to true to signaling - * that a SELECT Query is ongoing - */ - case IndexAction.SELECT_INDEXES: { - return Object.assign({}, state, { loading: true }); - } + /* + * Change the load state to false, and loaded to true to signaling + * that a SELECT Query is success and there is indexes available in the + * store + */ + case IndexAction.SELECT_INDEXES_SUCCESS: { + return Object.assign({}, state, { + loaded: true, + loading: false, + indexes: action.payload + }) + } - /* - * Change the load state to false, and loaded to true to signaling - * that a SELECT Query is success and there is indexes available in the - * store - */ - case IndexAction.SELECT_INDEXES_SUCCESS: { - return Object.assign({}, state, { - loaded: true, - loading: false, - indexes: action.payload - }) - } + /* + * Change the load state to true to signaling + * that a CREATE a Index Query is ongoing + */ + case IndexAction.CREATE_INDEX: { + return Object.assign({}, state, { + createIndex: [], + createIndexName: action.payload, + createIndexError: [], + createIndexSuccess: false, + createIndexFailed: false + }); + } - /* - * Change the load state to true to signaling - * that a CREATE a Index Query is ongoing - */ - case IndexAction.CREATE_INDEX: { - return Object.assign({}, state, { - createIndex: [], - createIndexName: action.payload, - createIndexError: [], - createIndexSuccess: false, - createIndexFailed: false - }); - } + /* + * Change the load state to false, and loaded to true to signaling + * that a CREATE a Index Query is success and there is datasets available in the + * store + */ + case IndexAction.CREATE_INDEX_SUCCESS: { + return Object.assign({}, state, { + createIndex: [], + createIndexError: [], + createIndexSuccess: true, + createIndexFailed: false + }) + } - /* - * Change the load state to false, and loaded to true to signaling - * that a CREATE a Index Query is success and there is datasets available in the - * store - */ - case IndexAction.CREATE_INDEX_SUCCESS: { - return Object.assign({}, state, { - createIndex: [], - createIndexError: [], - createIndexSuccess: true, - createIndexFailed: false - }) - } + /* + * Change the load state to false, and loaded to true to signaling + * that a CREATE a Index Query is success and there is datasets available in the + * store + */ + case IndexAction.CREATE_INDEX_SUCCESS: { + return Object.assign({}, state, { + createIndex: action.payload, + createIndexError: [], + createIndexSuccess: false, + createIndexFailed: true + }) + } - /* - * Change the load state to false, and loaded to true to signaling - * that a CREATE a Index Query is success and there is datasets available in the - * store - */ - case IndexAction.CREATE_INDEX_SUCCESS: { - return Object.assign({}, state, { - createIndex: action.payload, - createIndexError: [], - createIndexSuccess: false, - createIndexFailed: true - }) - } + /* + * Change the load state to true to signaling + * that a DROP a Index Query is ongoing + */ + case IndexAction.DROP_INDEX: { + return Object.assign({}, state, { + dropIndex: [], + dropIndexError: [], + dropIndexName: action.payload, + dropIndexSuccess: false, + dropIndexFailed: false + }); + } - /* - * Change the load state to true to signaling - * that a DROP a Index Query is ongoing - */ - case IndexAction.DROP_INDEX: { - return Object.assign({}, state, { - dropIndex: [], - dropIndexError: [], - dropIndexName: action.payload, - dropIndexSuccess: false, - dropIndexFailed: false - }); - } + /* + * Change the load state to false, and loaded to true to signaling + * that a DROP a Index Query is success and there is datasets available in the + * store + */ + case IndexAction.DROP_INDEX_SUCCESS: { + return Object.assign({}, state, { + dropIndex: action.payload, + dropIndexError: [], + dropIndexSuccess: true, + dropIndexFailed: false + }) + } - /* - * Change the load state to false, and loaded to true to signaling - * that a DROP a Index Query is success and there is datasets available in the - * store - */ - case IndexAction.DROP_INDEX_SUCCESS: { - return Object.assign({}, state, { - dropIndex: action.payload, - dropIndexError: [], - dropIndexSuccess: true, - dropIndexFailed: false - }) - } + /* + * Change the load state to false, and loaded to true to signaling + * that a DROP a Index Query is failed and there is an error message available in the + * store + */ + case IndexAction.DROP_INDEX_FAIL: { + return Object.assign({}, state, { + dropIndex: [], + dropIndexError: action.payload, + dropIndexSuccess: false, + dropIndexFailed: true + }) + } - /* - * Change the load state to false, and loaded to true to signaling - * that a DROP a Index Query is failed and there is an error message available in the - * store - */ - case IndexAction.DROP_INDEX_FAIL: { - return Object.assign({}, state, { - dropIndex: [], - dropIndexError: action.payload, - dropIndexSuccess: false, - dropIndexFailed: true - }) + /* + * Just returns the current store/state object + */ + default: + return state; } - - /* - * Just returns the current store/state object - */ - default: - return state; - } } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/3e5815a7/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/index.ts ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/index.ts b/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/index.ts index 1965d8c..77b678c 100755 --- a/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/index.ts +++ b/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/index.ts @@ -11,39 +11,36 @@ 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 { ActionReducer } from '@ngrx/store'; import * as fromDataverse from './dataverse.reducer'; import * as fromDataset from './dataset.reducer'; import * as fromDatatype from './datatype.reducer'; import * as fromIndex from './index.reducer'; import * as fromQuery from './query.reducer'; import * as fromQueryMetadata from './query-metadata.reducer'; -import * as fromMetadata from './metadata.reducer'; import * as fromAppState from './app.reducer'; /* ** Global Interfaces store/state */ export interface ModelState { - dataverse: fromDataverse.State, - dataset: fromDataset.State, - datatype: fromDatatype.State, - index: fromIndex.State, - sqlQuery: fromQuery.State, - sqlMetadataQuery: fromQueryMetadata.State, - metadata: fromMetadata.State, - appState: fromAppState.State, + dataverse: fromDataverse.State, + dataset: fromDataset.State, + datatype: fromDatatype.State, + index: fromIndex.State, + sqlQuery: fromQuery.State, + sqlMetadataQuery: fromQueryMetadata.State, + appState: fromAppState.State, } /* ** Global Reducers configuration */ export const reducers = { - dataverse: fromDataverse.dataverseReducer, - dataset: fromDataset.datasetReducer, - datatype: fromDatatype.datatypeReducer, - index: fromIndex.indexReducer, - sqlQuery: fromQuery.sqlReducer, - sqlMetadataQuery: fromQueryMetadata.sqlMetadataReducer, - metadata: fromMetadata.metadataTreeReducer -}; + dataverse: fromDataverse.dataverseReducer, + dataset: fromDataset.datasetReducer, + datatype: fromDatatype.datatypeReducer, + index: fromIndex.indexReducer, + sqlQuery: fromQuery.sqlReducer, + sqlMetadataQuery: fromQueryMetadata.sqlMetadataReducer, + app: fromAppState.appReducer +}; \ No newline at end of file http://git-wip-us.apache.org/repos/asf/asterixdb/blob/3e5815a7/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/metadata.reducer.ts ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/metadata.reducer.ts b/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/metadata.reducer.ts deleted file mode 100755 index 52b88f2..0000000 --- a/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/metadata.reducer.ts +++ /dev/null @@ -1,56 +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 * as metadataTreeActions from '../actions/metadata.actions'; - -export type Action = metadataTreeActions.All; - -/* -** Interfaces for the metadata tree in store/state -*/ -export interface State { - tree: any[], - loading: boolean, - loaded: boolean, -}; - -const initialState: State = { - tree: [], - loading: false, - loaded: false -}; - -export function metadataTreeReducer(state = initialState, action: Action) { - switch (action.type) { - case metadataTreeActions.UPDATE_METADATA_TREE: { - return Object.assign({}, state, { - tree: [], - loading: true, - loaded: false - }); - } - - case metadataTreeActions.UPDATE_METADATA_TREE_SUCCESS: { - return Object.assign({}, state, { - tree: [...state.tree, action.payload], - loading: false, - loaded: true - }); - } - /* - * Just returns the current store/state object - */ - default: - return state; - } -} http://git-wip-us.apache.org/repos/asf/asterixdb/blob/3e5815a7/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/query-metadata.reducer.ts ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/query-metadata.reducer.ts b/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/query-metadata.reducer.ts index e360e95..b8af934 100755 --- a/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/query-metadata.reducer.ts +++ b/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/query-metadata.reducer.ts @@ -11,7 +11,6 @@ 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 { AsterixDBQueryMessage } from '../models/asterixDB.model'; import * as sqlQueryActions from '../actions/query.actions'; export type Action = sqlQueryActions.All; @@ -20,77 +19,77 @@ export type Action = sqlQueryActions.All; ** Interfaces for sql++ queries in store/state */ export interface State { - loading: boolean, - loaded: boolean, - success: boolean, - sqlQueryMetadataString: string, - sqlQueryMetadataResult: AsterixDBQueryMessage[], - sqlQueryMetadataError: AsterixDBQueryMessage[] + loading: boolean, + loaded: boolean, + success: boolean, + sqlQueryMetadataString: string, + sqlQueryMetadataResult: any[], + sqlQueryMetadataError: any[] }; const initialState: State = { - loading: false, - loaded: false, - success: false, - sqlQueryMetadataString: "", - sqlQueryMetadataResult: [], - sqlQueryMetadataError: [], + loading: false, + loaded: false, + success: false, + sqlQueryMetadataString: "", + sqlQueryMetadataResult: [], + sqlQueryMetadataError: [], }; /* ** Reducer function for sql++ queries in store/state */ export function sqlMetadataReducer(state = initialState, action: Action) { - switch (action.type) { - /* - * Change the load state to true, and clear previous results - * to signaling that a METADATA EXECUTE a SQL++ Query is ongoing - */ - case sqlQueryActions.EXECUTE_METADATA_QUERY: { - return Object.assign({}, state, { - loading: false, - loaded: true, - success: false, - sqlQueryMetadataString: action.payload, - sqlQueryMetadataResult: [], - sqlQueryMetadataError: [] - }); - } + switch (action.type) { + /* + * Change the load state to true, and clear previous results + * to signaling that a METADATA EXECUTE a SQL++ Query is ongoing + */ + case sqlQueryActions.EXECUTE_METADATA_QUERY: { + return Object.assign({}, state, { + loading: false, + loaded: true, + success: false, + sqlQueryMetadataString: action.payload, + sqlQueryMetadataResult: [], + sqlQueryMetadataError: [] + }); + } - /* - * Change the load state to false, and loaded to true to signaling - * that a METADATA EXECUTE Query is success and there is data available in the - * store - */ - case sqlQueryActions.EXECUTE_METADATA_QUERY_SUCCESS: { - return Object.assign({}, state, { - loading: false, - loaded: true, - success: true, - sqlQueryMetadataResult: action.payload, - sqlQueryMetadataError: [] - }) - } + /* + * Change the load state to false, and loaded to true to signaling + * that a METADATA EXECUTE Query is success and there is data available in the + * store + */ + case sqlQueryActions.EXECUTE_METADATA_QUERY_SUCCESS: { + return Object.assign({}, state, { + loading: false, + loaded: true, + success: true, + sqlQueryMetadataResult: action.payload, + sqlQueryMetadataError: [] + }) + } - /* - * Change the load state to false, and loaded to true to signaling - * that a METADATA EXECUTE Query is failed and there is error data available in the - * store - */ - case sqlQueryActions.EXECUTE_METADATA_QUERY_FAIL: { - return Object.assign({}, state, { - loading: false, - loaded: true, - success: false, - sqlQueryMetadataResult: [], - sqlQueryMetadataError: action.payload - }) - } + /* + * Change the load state to false, and loaded to true to signaling + * that a METADATA EXECUTE Query is failed and there is error data available in the + * store + */ + case sqlQueryActions.EXECUTE_METADATA_QUERY_FAIL: { + return Object.assign({}, state, { + loading: false, + loaded: true, + success: false, + sqlQueryMetadataResult: [], + sqlQueryMetadataError: action.payload + }) + } - /* - * Just returns the current store/state object - */ - default: - return state; - } + /* + * Just returns the current store/state object + */ + default: + return state; + } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/asterixdb/blob/3e5815a7/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/query.reducer.ts ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/query.reducer.ts b/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/query.reducer.ts index 5c8ad08..8dc67a0 100755 --- a/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/query.reducer.ts +++ b/asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/query.reducer.ts @@ -11,7 +11,6 @@ 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 { AsterixDBQueryMessage } from '../models/asterixDB.model'; import * as sqlQueryActions from '../actions/query.actions'; export type Action = sqlQueryActions.All; @@ -20,78 +19,127 @@ export type Action = sqlQueryActions.All; ** Interfaces for sql++ queries in store/state */ export interface State { - loading: boolean, - loaded: boolean, - success: boolean, - sqlQueryString: string, - sqlQueryResult: AsterixDBQueryMessage[], - sqlQueryError: AsterixDBQueryMessage[] + currentRequestId: string, + loadingHash: {}, + loadedHash: {}, + successHash:{}, + errorHash: {}, + sqlQueryString: string, + sqlQueryStringHash: {}, + sqlQueryResultHash: {}, + sqlQueryErrorHash: {}, + sqlQueryPrepared: {}, + sqlQueryMetrics: {} }; const initialState: State = { - loading: false, - loaded: false, - success: false, - sqlQueryString: "", - sqlQueryResult: [], - sqlQueryError: [] + currentRequestId: '', + loadingHash: {}, + loadedHash: {}, + successHash:{}, + errorHash: {}, + sqlQueryString: "", + sqlQueryStringHash: {}, + sqlQueryResultHash: {}, + sqlQueryErrorHash: {}, + sqlQueryPrepared: {}, + sqlQueryMetrics: {} }; /* ** Reducer function for sql++ queries in store/state */ export function sqlReducer(state = initialState, action: Action) { - switch (action.type) { - /* - * Change the load state to true, and clear previous results - * to signaling that a EXECUTE a SQL++ Query is ongoing - */ - case sqlQueryActions.EXECUTE_QUERY: { - return Object.assign({}, state, { - loading: false, - loaded: true, - success: false, - sqlQueryString: action.payload, - sqlQueryResult: [], - sqlQueryError: [] - }); - } + switch (action.type) { + case sqlQueryActions.PREPARE_QUERY: { + return Object.assign({}, state, { + sqlQueryPrepared: { ...state.sqlQueryPrepared, [action.payload.editorId]: action.payload.queryString }, + loadingHash: state.loadingHash, + errorHash: state.errorHash, + sqlQueryErrorHash: state.sqlQueryErrorHash, + sqlQueryResultHash: state.sqlQueryResultHash, + sqlQueryStringHash: state.sqlQueryStringHash, + sqlQueryMetrics: state.sqlQueryMetrics, + currentRequestId: state.currentRequestId + }); + } - /* - * Change the load state to false, and loaded to true to signaling - * that a EXECUTE Query is success and there is data available in the - * store - */ - case sqlQueryActions.EXECUTE_QUERY_SUCCESS: { - return Object.assign({}, state, { - loading: false, - loaded: true, - success: true, - sqlQueryResult: action.payload, - sqlQueryError: [] - }) - } + case sqlQueryActions.CLEAN_QUERY: { + return Object.assign({}, state, { + sqlQueryPrepared: { ...state.sqlQueryPrepared, [action.payload.editorId]: action.payload.queryString }, + loadingHash: { ...state.loadingHash, [action.payload.editorId]: false }, + loadedHash: { ...state.loadedHash, [action.payload.editorId]: false }, + successHash: { ...state.successHash, [action.payload.editorId]: false }, + errorHash: { ...state.errorHash, [action.payload.editorId]: false }, + sqlQueryStringHash: { ...state.sqlQueryStringHash, [action.payload.editorId]: {} }, + sqlQueryResultHash: { ...state.sqlQueryResultHash, [action.payload.editorId]: {} }, + sqlQueryErrorHash: { ...state.sqlQueryErrorHash, [action.payload.editorId]: [] }, + sqlQueryMetrics: { ...state.sqlQueryMetrics, [action.payload.editorId]: {} }, + currentRequestId: action.payload.editorId + }); + } + + /* + * Change the load state to true, and clear previous results + * to signaling that a EXECUTE a SQL++ Query is ongoing + */ + case sqlQueryActions.EXECUTE_QUERY: { + return Object.assign({}, state, { + currentRequestId: action.payload.requestId, + loadingHash: { ...state.loadingHash, [action.payload.requestId]: true }, + loadedHash: { ...state.loadedHash, [action.payload.requestId]: false }, + successHash: { ...state.successHash, [action.payload.requestId]: false }, + errorHash: { ...state.errorHash, [action.payload.requestId]: false }, + sqlQueryString: action.payload.queryString, + sqlQueryStringHash: { ...state.sqlQueryStringHash, [action.payload.requestId]: action.payload.queryString }, + sqlQueryResultHash: { ...state.sqlQueryResultHash, [action.payload.requestId]: [] }, + sqlQueryErrorHash: { ...state.sqlQueryErrorHash, [action.payload.requestId]: [] }, + sqlQueryMetrics: { ...state.sqlQueryMetrics, [action.payload.requestId]: [] }, + }); + } + + /* + * Change the load state to false, and loaded to true to signaling + * that a EXECUTE Query is success and there is data available in the + * store + */ + case sqlQueryActions.EXECUTE_QUERY_SUCCESS: { + return Object.assign({}, state, { + loadingHash: { ...state.loadingHash, [state.currentRequestId]: false }, + loadedHash: { ...state.loadedHash, [state.currentRequestId]: true }, + successHash: { ...state.successHash, [state.currentRequestId]: true }, + errorHash: { ...state.errorHash, [state.currentRequestId]: false }, + sqlQueryStringHash: { ...state.sqlQueryStringHash, [state.currentRequestId]: state.sqlQueryString }, + sqlQueryResultHash: { ...state.sqlQueryResultHash, [state.currentRequestId]: action.payload }, + sqlQueryErrorHash: { ...state.sqlQueryErrorHash, [state.currentRequestId]: [] }, + sqlQueryMetrics: { ...state.sqlQueryMetrics, [state.currentRequestId]: action.payload.metrics } + }) + } + + /* + * Change the load state to false, and loaded to true to signaling + * that a EXECUTE Query is failed and there is error data available in the + * store + */ + case sqlQueryActions.EXECUTE_QUERY_FAIL: { + return Object.assign({}, state, { + loadingHash: { ...state.loadingHash, [state.currentRequestId]: false }, + loadedHash: { ...state.loadedHash, [state.currentRequestId]: true }, + successHash: { ...state.successHash, [state.currentRequestId]: false }, + errorHash: { ...state.errorHash, [state.currentRequestId]: true }, + sqlQueryStringHash: { ...state.sqlQueryStringHash, [state.currentRequestId]: state.sqlQueryString }, + sqlQueryResultHash: { ...state.sqlQueryResultHash, [state.currentRequestId]: [] }, + sqlQueryErrorHash: { ...state.sqlQueryErrorHash, [state.currentRequestId]: action.payload.errors }, + sqlQueryMetrics: { ...state.sqlQueryMetrics, [state.currentRequestId]: [] }, + }) + } - /* - * Change the load state to false, and loaded to true to signaling - * that a EXECUTE Query is failed and there is error data available in the - * store - */ - case sqlQueryActions.EXECUTE_QUERY_FAIL: { - return Object.assign({}, state, { - loading: false, - loaded: true, - success: false, - sqlQueryResult: [], - sqlQueryError: action.payload - }) + /* + * Just returns the current store/state object + */ + default: { + return state; + } } - - /* - * Just returns the current store/state object - */ - default: - return state; - } } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/3e5815a7/asterixdb/asterix-dashboard/src/node/src/app/shared/services/app-core.service.ts ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-dashboard/src/node/src/app/shared/services/app-core.service.ts b/asterixdb/asterix-dashboard/src/node/src/app/shared/services/app-core.service.ts deleted file mode 100755 index ed38c26..0000000 --- a/asterixdb/asterix-dashboard/src/node/src/app/shared/services/app-core.service.ts +++ /dev/null @@ -1,38 +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 { Injectable } from '@angular/core'; -import { Store } from '@ngrx/store'; -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' - -/* -* Main application service to initialize, -* load, set App status and initial data, and synchronize app level functionality -*/ -@Injectable() -export class AppCoreService { - /* - * Initialize and load metadata store structures - */ - constructor(private store: Store<any>) { - console.log('AsterixDB Web Console Core Service') - this.store.dispatch(new dataverseActions.SelectDataverses('-')); - this.store.dispatch(new datasetActions.SelectDatasets('-')); - this.store.dispatch(new datatypesActions.SelectDatatypes('-')); - this.store.dispatch(new indexesActions.SelectIndexes('-')); - } -}