IGNITE-7996 Use configuration.state for state registration only.

Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/2800ef08
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/2800ef08
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/2800ef08

Branch: refs/heads/master
Commit: 2800ef084fe480224fcb14f12a73ccb24007edb0
Parents: d5e0be0
Author: Ilya Borisov <klast...@gmail.com>
Authored: Fri Apr 6 11:20:13 2018 +0700
Committer: Ilya Borisov <klast...@gmail.com>
Committed: Fri Apr 6 11:20:13 2018 +0700

----------------------------------------------------------------------
 .../page-configure/configuration.state.js       | 490 +++++++++----------
 1 file changed, 233 insertions(+), 257 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/2800ef08/modules/web-console/frontend/app/components/page-configure/configuration.state.js
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/components/page-configure/configuration.state.js
 
b/modules/web-console/frontend/app/components/page-configure/configuration.state.js
index 1a0a598..f8bb4dc 100644
--- 
a/modules/web-console/frontend/app/components/page-configure/configuration.state.js
+++ 
b/modules/web-console/frontend/app/components/page-configure/configuration.state.js
@@ -17,20 +17,11 @@
 
 import angular from 'angular';
 
-import {default as ActivitiesData} from 'app/core/activities/Activities.data';
-
-// Common directives.
-import previewPanel from './configuration/preview-panel.directive.js';
-
-// Summary screen.
-import ConfigurationResource from './configuration/Configuration.resource';
-import IgniteSummaryZipper from 
'./configuration/summary/summary-zipper.service';
-
 import base2 from 'views/base2.pug';
-import pageConfigureAdvancedClusterComponent from 
'app/components/page-configure-advanced/components/page-configure-advanced-cluster/component';
-import pageConfigureAdvancedModelsComponent from 
'app/components/page-configure-advanced/components/page-configure-advanced-models/component';
-import pageConfigureAdvancedCachesComponent from 
'app/components/page-configure-advanced/components/page-configure-advanced-caches/component';
-import pageConfigureAdvancedIGFSComponent from 
'app/components/page-configure-advanced/components/page-configure-advanced-igfs/component';
+import pageConfigureAdvancedClusterComponent from 
'../page-configure-advanced/components/page-configure-advanced-cluster/component';
+import pageConfigureAdvancedModelsComponent from 
'../page-configure-advanced/components/page-configure-advanced-models/component';
+import pageConfigureAdvancedCachesComponent from 
'../page-configure-advanced/components/page-configure-advanced-caches/component';
+import pageConfigureAdvancedIGFSComponent from 
'../page-configure-advanced/components/page-configure-advanced-igfs/component';
 
 import get from 'lodash/get';
 import {Observable} from 'rxjs/Observable';
@@ -47,251 +38,236 @@ const shortCachesResolve = ['ConfigSelectors', 
'ConfigureState', 'ConfigEffects'
     .toPromise();
 }];
 
-/**
- * @param {ActivitiesData} ActivitiesData
- * @param {uirouter.UIRouter} $uiRouter
- */
-function initConfiguration(ActivitiesData, $uiRouter) {
-    $uiRouter.transitionService.onSuccess({to: 'base.configuration.**'}, 
(transition) => {
-        ActivitiesData.post({group: 'configuration', action: 
transition.targetState().name()});
+function registerStates($stateProvider) {
+    // Setup the states.
+    $stateProvider
+    .state('base.configuration', {
+        abstract: true,
+        permission: 'configuration',
+        url: '/configuration',
+        onEnter: ['ConfigureState', (ConfigureState) => 
ConfigureState.dispatchAction({type: 'PRELOAD_STATE', state: {}})],
+        views: {
+            '@': {
+                template: base2
+            }
+        },
+        resolve: {
+            _shortClusters: ['ConfigEffects', ({etp}) => {
+                return etp('LOAD_USER_CLUSTERS');
+            }]
+        },
+        resolvePolicy: {
+            async: 'NOWAIT'
+        }
+    })
+    .state('base.configuration.overview', {
+        url: '/overview',
+        component: 'pageConfigureOverview',
+        permission: 'configuration',
+        tfMetaTags: {
+            title: 'Configuration'
+        }
+    })
+    .state('base.configuration.edit', {
+        url: `/{clusterID:${idRegex}}`,
+        permission: 'configuration',
+        component: 'pageConfigure',
+        resolve: {
+            _cluster: ['ConfigEffects', '$transition$', ({etp}, $transition$) 
=> {
+                return 
$transition$.injector().getAsync('_shortClusters').then(() => {
+                    return etp('LOAD_AND_EDIT_CLUSTER', {clusterID: 
$transition$.params().clusterID});
+                });
+            }]
+        },
+        data: {
+            errorState: 'base.configuration.overview'
+        },
+        redirectTo: ($transition$) => {
+            const [ConfigureState, ConfigSelectors] = ['ConfigureState', 
'ConfigSelectors'].map((t) => $transition$.injector().get(t));
+            const waitFor = ['_cluster', '_shortClusters'].map((t) => 
$transition$.injector().getAsync(t));
+            return Observable.fromPromise(Promise.all(waitFor)).switchMap(() 
=> {
+                return Observable.combineLatest(
+                    
ConfigureState.state$.let(ConfigSelectors.selectCluster($transition$.params().clusterID)).take(1),
+                    
ConfigureState.state$.let(ConfigSelectors.selectShortClusters()).take(1)
+                );
+            })
+            .map(([cluster = {caches: []}, clusters]) => {
+                return (clusters.value.size > 10 || cluster.caches.length > 5)
+                    ? 'base.configuration.edit.advanced'
+                    : 'base.configuration.edit.basic';
+            })
+            .toPromise();
+        },
+        failState: 'signin',
+        tfMetaTags: {
+            title: 'Configuration'
+        }
+    })
+    .state('base.configuration.edit.basic', {
+        url: '/basic',
+        component: 'pageConfigureBasic',
+        permission: 'configuration',
+        resolve: {
+            _shortCaches: shortCachesResolve
+        },
+        resolvePolicy: {
+            async: 'NOWAIT'
+        },
+        tfMetaTags: {
+            title: 'Basic Configuration'
+        }
+    })
+    .state('base.configuration.edit.advanced', {
+        url: '/advanced',
+        component: 'pageConfigureAdvanced',
+        permission: 'configuration',
+        redirectTo: 'base.configuration.edit.advanced.cluster'
+    })
+    .state('base.configuration.edit.advanced.cluster', {
+        url: '/cluster',
+        component: pageConfigureAdvancedClusterComponent.name,
+        permission: 'configuration',
+        resolve: {
+            _shortCaches: shortCachesResolve
+        },
+        resolvePolicy: {
+            async: 'NOWAIT'
+        },
+        tfMetaTags: {
+            title: 'Configure Cluster'
+        }
+    })
+    .state('base.configuration.edit.advanced.caches', {
+        url: '/caches',
+        permission: 'configuration',
+        component: pageConfigureAdvancedCachesComponent.name,
+        resolve: {
+            _shortCachesAndModels: ['ConfigSelectors', 'ConfigureState', 
'ConfigEffects', '$transition$', (ConfigSelectors, ConfigureState, {etp}, 
$transition$) => {
+                if ($transition$.params().clusterID === 'new') return 
Promise.resolve();
+                return 
Observable.fromPromise($transition$.injector().getAsync('_cluster'))
+                .switchMap(() => 
ConfigureState.state$.let(ConfigSelectors.selectCluster($transition$.params().clusterID)).take(1))
+                .map((cluster) => {
+                    return Promise.all([
+                        etp('LOAD_SHORT_CACHES', {ids: cluster.caches, 
clusterID: cluster._id}),
+                        etp('LOAD_SHORT_MODELS', {ids: cluster.models, 
clusterID: cluster._id}),
+                        etp('LOAD_SHORT_IGFSS', {ids: cluster.igfss, 
clusterID: cluster._id})
+                    ]);
+                })
+                .toPromise();
+            }]
+        },
+        resolvePolicy: {
+            async: 'NOWAIT'
+        },
+        tfMetaTags: {
+            title: 'Configure Caches'
+        }
+    })
+    .state('base.configuration.edit.advanced.caches.cache', {
+        url: `/{cacheID:${idRegex}}`,
+        permission: 'configuration',
+        resolve: {
+            _cache: ['ConfigEffects', '$transition$', ({etp}, $transition$) => 
{
+                const {clusterID, cacheID} = $transition$.params();
+                if (cacheID === 'new') return Promise.resolve();
+                return etp('LOAD_CACHE', {cacheID});
+            }]
+        },
+        data: {
+            errorState: 'base.configuration.edit.advanced.caches'
+        },
+        resolvePolicy: {
+            async: 'NOWAIT'
+        },
+        tfMetaTags: {
+            title: 'Configure Caches'
+        }
+    })
+    .state('base.configuration.edit.advanced.models', {
+        url: '/models',
+        component: pageConfigureAdvancedModelsComponent.name,
+        permission: 'configuration',
+        resolve: {
+            _shortCachesAndModels: ['ConfigSelectors', 'ConfigureState', 
'ConfigEffects', '$transition$', (ConfigSelectors, ConfigureState, {etp}, 
$transition$) => {
+                if ($transition$.params().clusterID === 'new') return 
Promise.resolve();
+                return 
Observable.fromPromise($transition$.injector().getAsync('_cluster'))
+                .switchMap(() => 
ConfigureState.state$.let(ConfigSelectors.selectCluster($transition$.params().clusterID)).take(1))
+                .map((cluster) => {
+                    return Promise.all([
+                        etp('LOAD_SHORT_CACHES', {ids: cluster.caches, 
clusterID: cluster._id}),
+                        etp('LOAD_SHORT_MODELS', {ids: cluster.models, 
clusterID: cluster._id})
+                    ]);
+                })
+                .toPromise();
+            }]
+        },
+        resolvePolicy: {
+            async: 'NOWAIT'
+        },
+        tfMetaTags: {
+            title: 'Configure SQL Schemes'
+        }
+    })
+    .state('base.configuration.edit.advanced.models.model', {
+        url: `/{modelID:${idRegex}}`,
+        resolve: {
+            _cache: ['ConfigEffects', '$transition$', ({etp}, $transition$) => 
{
+                const {clusterID, modelID} = $transition$.params();
+                if (modelID === 'new') return Promise.resolve();
+                return etp('LOAD_MODEL', {modelID});
+            }]
+        },
+        data: {
+            errorState: 'base.configuration.edit.advanced.models'
+        },
+        permission: 'configuration',
+        resolvePolicy: {
+            async: 'NOWAIT'
+        }
+    })
+    .state('base.configuration.edit.advanced.igfs', {
+        url: '/igfs',
+        component: pageConfigureAdvancedIGFSComponent.name,
+        permission: 'configuration',
+        resolve: {
+            _shortIGFSs: ['ConfigSelectors', 'ConfigureState', 
'ConfigEffects', '$transition$', (ConfigSelectors, ConfigureState, {etp}, 
$transition$) => {
+                if ($transition$.params().clusterID === 'new') return 
Promise.resolve();
+                return 
Observable.fromPromise($transition$.injector().getAsync('_cluster'))
+                .switchMap(() => 
ConfigureState.state$.let(ConfigSelectors.selectCluster($transition$.params().clusterID)).take(1))
+                .map((cluster) => {
+                    return Promise.all([
+                        etp('LOAD_SHORT_IGFSS', {ids: cluster.igfss, 
clusterID: cluster._id})
+                    ]);
+                })
+                .toPromise();
+            }]
+        },
+        resolvePolicy: {
+            async: 'NOWAIT'
+        },
+        tfMetaTags: {
+            title: 'Configure IGFS'
+        }
+    })
+    .state('base.configuration.edit.advanced.igfs.igfs', {
+        url: `/{igfsID:${idRegex}}`,
+        permission: 'configuration',
+        resolve: {
+            _igfs: ['ConfigEffects', '$transition$', ({etp}, $transition$) => {
+                const {clusterID, igfsID} = $transition$.params();
+                if (igfsID === 'new') return Promise.resolve();
+                return etp('LOAD_IGFS', {igfsID});
+            }]
+        },
+        data: {
+            errorState: 'base.configuration.edit.advanced.igfs'
+        },
+        resolvePolicy: {
+            async: 'NOWAIT'
+        }
     });
 }
 
-initConfiguration.$inject = ['IgniteActivitiesData', '$uiRouter'];
+registerStates.$inject = ['$stateProvider'];
 
-angular.module('ignite-console.states.configuration', ['ui.router'])
-    .directive(...previewPanel)
-    // Services.
-    .service('IgniteSummaryZipper', IgniteSummaryZipper)
-    .service('IgniteConfigurationResource', ConfigurationResource)
-    .run(initConfiguration)
-    // Configure state provider.
-    .config(['$stateProvider', ($stateProvider) => {
-        // Setup the states.
-        $stateProvider
-            .state('base.configuration', {
-                abstract: true,
-                permission: 'configuration',
-                url: '/configuration',
-                onEnter: ['ConfigureState', (ConfigureState) => 
ConfigureState.dispatchAction({type: 'PRELOAD_STATE', state: {}})],
-                views: {
-                    '@': {
-                        template: base2
-                    }
-                },
-                resolve: {
-                    _shortClusters: ['ConfigEffects', ({etp}) => {
-                        return etp('LOAD_USER_CLUSTERS');
-                    }]
-                },
-                resolvePolicy: {
-                    async: 'NOWAIT'
-                }
-            })
-            .state('base.configuration.overview', {
-                url: '/overview',
-                component: 'pageConfigureOverview',
-                permission: 'configuration',
-                tfMetaTags: {
-                    title: 'Configuration'
-                }
-            })
-            .state('base.configuration.edit', {
-                url: `/{clusterID:${idRegex}}`,
-                permission: 'configuration',
-                component: 'pageConfigure',
-                resolve: {
-                    _cluster: ['ConfigEffects', '$transition$', ({etp}, 
$transition$) => {
-                        return 
$transition$.injector().getAsync('_shortClusters').then(() => {
-                            return etp('LOAD_AND_EDIT_CLUSTER', {clusterID: 
$transition$.params().clusterID});
-                        });
-                    }]
-                },
-                data: {
-                    errorState: 'base.configuration.overview'
-                },
-                redirectTo: ($transition$) => {
-                    const [ConfigureState, ConfigSelectors] = 
['ConfigureState', 'ConfigSelectors'].map((t) => 
$transition$.injector().get(t));
-                    const waitFor = ['_cluster', '_shortClusters'].map((t) => 
$transition$.injector().getAsync(t));
-                    return 
Observable.fromPromise(Promise.all(waitFor)).switchMap(() => {
-                        return Observable.combineLatest(
-                            
ConfigureState.state$.let(ConfigSelectors.selectCluster($transition$.params().clusterID)).take(1),
-                            
ConfigureState.state$.let(ConfigSelectors.selectShortClusters()).take(1)
-                        );
-                    })
-                    .map(([cluster = {caches: []}, clusters]) => {
-                        return (clusters.value.size > 10 || 
cluster.caches.length > 5)
-                            ? 'base.configuration.edit.advanced'
-                            : 'base.configuration.edit.basic';
-                    })
-                    .toPromise();
-                },
-                failState: 'signin',
-                tfMetaTags: {
-                    title: 'Configuration'
-                }
-            })
-            .state('base.configuration.edit.basic', {
-                url: '/basic',
-                component: 'pageConfigureBasic',
-                permission: 'configuration',
-                resolve: {
-                    _shortCaches: shortCachesResolve
-                },
-                resolvePolicy: {
-                    async: 'NOWAIT'
-                },
-                tfMetaTags: {
-                    title: 'Basic Configuration'
-                }
-            })
-            .state('base.configuration.edit.advanced', {
-                url: '/advanced',
-                component: 'pageConfigureAdvanced',
-                permission: 'configuration',
-                redirectTo: 'base.configuration.edit.advanced.cluster'
-            })
-            .state('base.configuration.edit.advanced.cluster', {
-                url: '/cluster',
-                component: pageConfigureAdvancedClusterComponent.name,
-                permission: 'configuration',
-                resolve: {
-                    _shortCaches: shortCachesResolve
-                },
-                resolvePolicy: {
-                    async: 'NOWAIT'
-                },
-                tfMetaTags: {
-                    title: 'Configure Cluster'
-                }
-            })
-            .state('base.configuration.edit.advanced.caches', {
-                url: '/caches',
-                permission: 'configuration',
-                component: pageConfigureAdvancedCachesComponent.name,
-                resolve: {
-                    _shortCachesAndModels: ['ConfigSelectors', 
'ConfigureState', 'ConfigEffects', '$transition$', (ConfigSelectors, 
ConfigureState, {etp}, $transition$) => {
-                        if ($transition$.params().clusterID === 'new') return 
Promise.resolve();
-                        return 
Observable.fromPromise($transition$.injector().getAsync('_cluster'))
-                        .switchMap(() => 
ConfigureState.state$.let(ConfigSelectors.selectCluster($transition$.params().clusterID)).take(1))
-                        .map((cluster) => {
-                            return Promise.all([
-                                etp('LOAD_SHORT_CACHES', {ids: cluster.caches, 
clusterID: cluster._id}),
-                                etp('LOAD_SHORT_MODELS', {ids: cluster.models, 
clusterID: cluster._id}),
-                                etp('LOAD_SHORT_IGFSS', {ids: cluster.igfss, 
clusterID: cluster._id})
-                            ]);
-                        })
-                        .toPromise();
-                    }]
-                },
-                resolvePolicy: {
-                    async: 'NOWAIT'
-                },
-                tfMetaTags: {
-                    title: 'Configure Caches'
-                }
-            })
-            .state('base.configuration.edit.advanced.caches.cache', {
-                url: `/{cacheID:${idRegex}}`,
-                permission: 'configuration',
-                resolve: {
-                    _cache: ['ConfigEffects', '$transition$', ({etp}, 
$transition$) => {
-                        const {clusterID, cacheID} = $transition$.params();
-                        if (cacheID === 'new') return Promise.resolve();
-                        return etp('LOAD_CACHE', {cacheID});
-                    }]
-                },
-                data: {
-                    errorState: 'base.configuration.edit.advanced.caches'
-                },
-                resolvePolicy: {
-                    async: 'NOWAIT'
-                },
-                tfMetaTags: {
-                    title: 'Configure Caches'
-                }
-            })
-            .state('base.configuration.edit.advanced.models', {
-                url: '/models',
-                component: pageConfigureAdvancedModelsComponent.name,
-                permission: 'configuration',
-                resolve: {
-                    _shortCachesAndModels: ['ConfigSelectors', 
'ConfigureState', 'ConfigEffects', '$transition$', (ConfigSelectors, 
ConfigureState, {etp}, $transition$) => {
-                        if ($transition$.params().clusterID === 'new') return 
Promise.resolve();
-                        return 
Observable.fromPromise($transition$.injector().getAsync('_cluster'))
-                        .switchMap(() => 
ConfigureState.state$.let(ConfigSelectors.selectCluster($transition$.params().clusterID)).take(1))
-                        .map((cluster) => {
-                            return Promise.all([
-                                etp('LOAD_SHORT_CACHES', {ids: cluster.caches, 
clusterID: cluster._id}),
-                                etp('LOAD_SHORT_MODELS', {ids: cluster.models, 
clusterID: cluster._id})
-                            ]);
-                        })
-                        .toPromise();
-                    }]
-                },
-                resolvePolicy: {
-                    async: 'NOWAIT'
-                },
-                tfMetaTags: {
-                    title: 'Configure SQL Schemes'
-                }
-            })
-            .state('base.configuration.edit.advanced.models.model', {
-                url: `/{modelID:${idRegex}}`,
-                resolve: {
-                    _cache: ['ConfigEffects', '$transition$', ({etp}, 
$transition$) => {
-                        const {clusterID, modelID} = $transition$.params();
-                        if (modelID === 'new') return Promise.resolve();
-                        return etp('LOAD_MODEL', {modelID});
-                    }]
-                },
-                data: {
-                    errorState: 'base.configuration.edit.advanced.models'
-                },
-                permission: 'configuration',
-                resolvePolicy: {
-                    async: 'NOWAIT'
-                }
-            })
-            .state('base.configuration.edit.advanced.igfs', {
-                url: '/igfs',
-                component: pageConfigureAdvancedIGFSComponent.name,
-                permission: 'configuration',
-                resolve: {
-                    _shortIGFSs: ['ConfigSelectors', 'ConfigureState', 
'ConfigEffects', '$transition$', (ConfigSelectors, ConfigureState, {etp}, 
$transition$) => {
-                        if ($transition$.params().clusterID === 'new') return 
Promise.resolve();
-                        return 
Observable.fromPromise($transition$.injector().getAsync('_cluster'))
-                        .switchMap(() => 
ConfigureState.state$.let(ConfigSelectors.selectCluster($transition$.params().clusterID)).take(1))
-                        .map((cluster) => {
-                            return Promise.all([
-                                etp('LOAD_SHORT_IGFSS', {ids: cluster.igfss, 
clusterID: cluster._id})
-                            ]);
-                        })
-                        .toPromise();
-                    }]
-                },
-                resolvePolicy: {
-                    async: 'NOWAIT'
-                },
-                tfMetaTags: {
-                    title: 'Configure IGFS'
-                }
-            })
-            .state('base.configuration.edit.advanced.igfs.igfs', {
-                url: `/{igfsID:${idRegex}}`,
-                permission: 'configuration',
-                resolve: {
-                    _igfs: ['ConfigEffects', '$transition$', ({etp}, 
$transition$) => {
-                        const {clusterID, igfsID} = $transition$.params();
-                        if (igfsID === 'new') return Promise.resolve();
-                        return etp('LOAD_IGFS', {igfsID});
-                    }]
-                },
-                data: {
-                    errorState: 'base.configuration.edit.advanced.igfs'
-                },
-                resolvePolicy: {
-                    async: 'NOWAIT'
-                }
-            });
-    }]);
+export {registerStates};

Reply via email to