123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740 |
- /**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- var App = require('app');
- var stringUtils = require('utils/string_utils');
- module.exports = Em.Route.extend({
- route: '/main',
- enter: function (router) {
- App.db.updateStorage();
- console.log('in /main:enter');
- router.getAuthenticated().done(function (loggedIn) {
- if (loggedIn) {
- var applicationController = App.router.get('applicationController');
- applicationController.startKeepAlivePoller();
- App.router.get('mainController').checkServerClientVersion().done(function () {
- App.router.get('mainViewsController').loadAmbariViews();
- App.router.get('clusterController').loadClusterName(false).done(function () {
- if (App.get('testMode')) {
- router.get('mainController').initialize();
- } else {
- if (router.get('clusterInstallCompleted')) {
- App.router.get('clusterController').loadClientServerClockDistance().done(function () {
- router.get('mainController').initialize();
- });
- }
- else {
- App.router.get('clusterController').set('isLoaded', true);
- }
- }
- });
- });
- // TODO: redirect to last known state
- } else {
- router.set('preferedPath', router.location.location.hash);
- Em.run.next(function () {
- router.transitionTo('login');
- });
- }
- });
- },
- /*
- routePath: function(router,event) {
- if (router.getAuthenticated()) {
- App.router.get('clusterController').loadClusterName(false);
- router.get('mainController').initialize();
- // TODO: redirect to last known state
- } else {
- Ember.run.next(function () {
- router.transitionTo('login');
- });
- }
- }, */
- index: Ember.Route.extend({
- route: '/',
- redirectsTo: 'dashboard.index'
- }),
- connectOutlets: function (router, context) {
- router.get('applicationController').connectOutlet('main');
- },
- test: Em.Route.extend({
- route: '/test',
- connectOutlets: function (router, context) {
- router.get('mainController').connectOutlet('mainTest');
- }
- }),
- dashboard: Em.Route.extend({
- route: '/dashboard',
- connectOutlets: function (router, context) {
- router.get('mainController').connectOutlet('mainDashboard');
- },
- index: Em.Route.extend({
- route: '/',
- enter: function (router) {
- Em.run.next(function () {
- router.transitionTo('main.dashboard.widgets');
- });
- }
- }),
- goToDashboardView: function (router, event) {
- router.transitionTo(event.context);
- },
- widgets: Em.Route.extend({
- route: '/metrics',
- connectOutlets: function (router, context) {
- router.set('mainDashboardController.selectedCategory', 'widgets');
- router.get('mainDashboardController').connectOutlet('mainDashboardWidgets');
- }
- }),
- charts: Em.Route.extend({
- route: '/charts',
- connectOutlets: function (router, context) {
- router.set('mainDashboardController.selectedCategory', 'charts');
- router.get('mainDashboardController').connectOutlet('mainCharts');
- },
- index: Ember.Route.extend({
- route: '/',
- enter: function (router) {
- Em.run.next(function () {
- router.transitionTo('heatmap');
- });
- }
- }),
- heatmap: Em.Route.extend({
- route: '/heatmap',
- connectOutlets: function (router, context) {
- router.get('mainChartsController').connectOutlet('mainChartsHeatmap');
- }
- }),
- horizon_chart: Em.Route.extend({
- route: '/horizon_chart',
- connectOutlets: function (router, context) {
- router.get('mainChartsController').connectOutlet('mainChartsHorizon');
- }
- }),
- showChart: function (router, event) {
- var parent = event.view._parentView;
- parent.deactivateChildViews();
- event.view.set('active', "active");
- router.transitionTo(event.context);
- }
- }),
- configHistory: Em.Route.extend({
- route: '/config_history',
- connectOutlets: function (router, context) {
- router.set('mainDashboardController.selectedCategory', 'configHistory');
- router.get('mainDashboardController').connectOutlet('mainConfigHistory');
- }
- }),
- goToServiceConfigs: function (router, event) {
- router.get('mainServiceItemController').set('routeToConfigs', true);
- router.get('mainServiceInfoConfigsController').set('preSelectedConfigVersion', event.context);
- router.transitionTo('main.services.service.configs', App.Service.find(event.context.get('serviceName')));
- router.get('mainServiceItemController').set('routeToConfigs', false);
- }
- }),
- apps: Em.Route.extend({
- route: '/apps',
- connectOutlets: function (router) {
- if (App.get('isHadoop2Stack')) {
- Em.run.next(function () {
- router.transitionTo('main.dashboard.index');
- });
- } else {
- router.get('mainAppsController').loadRuns();
- router.get('mainController').connectOutlet('mainApps');
- }
- }
- }),
- mirroring: Em.Route.extend({
- route: '/mirroring',
- index: Ember.Route.extend({
- route: '/'
- }),
- connectOutlets: function (router) {
- router.get('mainController').connectOutlet('mainMirroring');
- },
- gotoShowJobs: function (router, context) {
- var dataset = context || router.get('mainMirroringController.selectedDataset') || App.Dataset.find().objectAt(0);
- if (dataset) {
- router.transitionTo('showDatasetJobs', dataset);
- } else {
- router.transitionTo('index');
- }
- },
- showDatasetJobs: Em.Route.extend({
- route: '/:dataset_id',
- connectOutlets: function (router, dataset) {
- router.get('mainDatasetJobsController').set('content', dataset);
- router.get('mainMirroringController').set('selectedDataset', dataset);
- }
- }),
- editDatasetRoute: Em.Route.extend({
- route: '/edit/:dataset_id',
- connectOutlets: function (router, dataset) {
- router.get('mainMirroringEditDataSetController').showEditPopup(dataset);
- }
- }),
- editDataset: function (router, event) {
- router.transitionTo('editDatasetRoute', event.view.get('dataset'));
- },
- addNewDataset: function (router) {
- router.transitionTo('addNewDatasetRoute');
- },
- addNewDatasetRoute: Em.Route.extend({
- route: '/dataset/add',
- enter: function (router) {
- var controller = router.get('mainMirroringEditDataSetController');
- controller.showAddPopup();
- }
- }),
- manageClustersRoute: Em.Route.extend({
- route: '/dataset/clusters/edit',
- enter: function (router) {
- var controller = router.get('mainMirroringController');
- controller.manageClusters();
- }
- }),
- manageClusters: function (router) {
- router.transitionTo('manageClustersRoute');
- }
- }),
- views: require('routes/views'),
- hosts: Em.Route.extend({
- route: '/hosts',
- index: Ember.Route.extend({
- route: '/',
- connectOutlets: function (router, context) {
- router.get('mainController').connectOutlet('mainHost');
- }
- }),
- hostDetails: Em.Route.extend({
- route: '/:host_id',
- connectOutlets: function (router, host) {
- router.get('mainHostController').set('showFilterConditionsFirstLoad', true);
- router.get('mainController').connectOutlet('mainHostDetails', host);
- },
- index: Ember.Route.extend({
- route: '/',
- redirectsTo: 'summary'
- }),
- summary: Em.Route.extend({
- route: '/summary',
- connectOutlets: function (router, context) {
- router.get('mainHostDetailsController').connectOutlet('mainHostSummary');
- }
- }),
- configs: Em.Route.extend({
- route: '/configs',
- connectOutlets: function (router, context) {
- router.get('mainHostDetailsController').connectOutlet('mainHostConfigs');
- }
- }),
- alerts: Em.Route.extend({
- route: '/alerts',
- connectOutlets: function (router, context) {
- router.get('mainHostDetailsController').connectOutlet('mainHostAlerts');
- },
- exit: function (router) {
- router.set('mainAlertInstancesController.isUpdating', false);
- }
- }),
- metrics: Em.Route.extend({
- route: '/metrics',
- connectOutlets: function (router, context) {
- router.get('mainHostDetailsController').connectOutlet('mainHostMetrics');
- }
- }),
- stackVersions: Em.Route.extend({
- route: '/stackVersions',
- connectOutlets: function (router, context) {
- router.get('mainHostDetailsController').connectOutlet('mainHostStackVersions');
- }
- }),
- hostNavigate: function (router, event) {
- var parent = event.view._parentView;
- parent.deactivateChildViews();
- event.view.set('active', "active");
- router.transitionTo(event.context);
- }
- }),
- back: function (router, event) {
- var referer = router.get('mainHostDetailsController.referer');
- if (referer) {
- router.route(referer);
- }
- else {
- window.history.back();
- }
- },
- addHost: function (router) {
- router.transitionTo('hostAdd');
- }
- }),
- hostAdd: require('routes/add_host_routes'),
- alerts: Em.Route.extend({
- route: '/alerts',
- index: Em.Route.extend({
- route: '/',
- connectOutlets: function (router, context) {
- router.get('mainController').connectOutlet('mainAlertDefinitions');
- }
- }),
- alertDetails: Em.Route.extend({
- route: '/:alert_definition_id',
- connectOutlets: function (router, alertDefinition) {
- router.get('mainController').connectOutlet('mainAlertDefinitionDetails', alertDefinition);
- },
- exit: function (router) {
- router.set('mainAlertInstancesController.isUpdating', false);
- }
- }),
- back: function (router, event) {
- window.history.back();
- }
- }),
- alertAdd: require('routes/add_alert_definition_routes'),
- admin: Em.Route.extend({
- route: '/admin',
- enter: function (router, transition) {
- if (router.get('loggedIn') && !App.isAccessible('upgrade_ADMIN')) {
- Em.run.next(function () {
- router.transitionTo('main.dashboard.index');
- });
- }
- },
- routePath: function (router, event) {
- if (!App.isAccessible('upgrade_ADMIN')) {
- Em.run.next(function () {
- App.router.transitionTo('main.dashboard.index');
- });
- } else {
- this._super(router, event);
- }
- },
- connectOutlets: function (router, context) {
- router.get('mainController').connectOutlet('mainAdmin');
- },
- index: Em.Route.extend({
- /* enter: function(router, transition){
- var controller = router.get('mainAdminController');
- router.transitionTo('admin' + controller.get('category').capitalize());
- }, */
- route: '/',
- redirectsTo: 'stackAndUpgrade'
- }),
- adminAuthentication: Em.Route.extend({
- route: '/authentication',
- connectOutlets: function (router, context) {
- router.set('mainAdminController.category', "authentication");
- router.get('mainAdminController').connectOutlet('mainAdminAuthentication');
- }
- }),
- adminSecurity: Em.Route.extend({
- route: '/security',
- enter: function (router) {
- router.set('mainAdminController.category', "security");
- var controller = router.get('mainAdminSecurityController');
- if (!(controller.getAddSecurityWizardStatus() === 'RUNNING') && !(controller.getDisableSecurityStatus() === 'RUNNING')) {
- Em.run.next(function () {
- router.transitionTo('adminSecurity.index');
- });
- } else if (controller.getAddSecurityWizardStatus() === 'RUNNING') {
- Em.run.next(function () {
- router.transitionTo('adminAddSecurity');
- });
- } else if (controller.getDisableSecurityStatus() === 'RUNNING') {
- Em.run.next(function () {
- router.transitionTo('disableSecurity');
- });
- }
- },
- index: Em.Route.extend({
- route: '/',
- connectOutlets: function (router, context) {
- var controller = router.get('mainAdminController');
- controller.set('category', "security");
- controller.connectOutlet('mainAdminSecurity');
- }
- }),
- addSecurity: function (router, object) {
- router.get('mainAdminSecurityController').setAddSecurityWizardStatus('RUNNING');
- router.transitionTo('adminAddSecurity');
- },
- disableSecurity: Em.Route.extend({
- route: '/disableSecurity',
- enter: function (router) {
- //after refresh check if the wizard is open then restore it
- if (router.get('mainAdminSecurityController').getDisableSecurityStatus() === 'RUNNING') {
- var controller = router.get('addSecurityController');
- // App.MainAdminSecurityDisableController uses App.Service DS model whose data needs to be loaded first
- controller.dataLoading().done(Em.run.next(function () {
- App.router.get('updateController').set('isWorking', false);
- App.ModalPopup.show({
- classNames: ['full-width-modal'],
- header: Em.I18n.t('admin.removeSecurity.header'),
- bodyClass: App.MainAdminSecurityDisableView.extend({
- controllerBinding: 'App.router.mainAdminSecurityDisableController'
- }),
- primary: Em.I18n.t('form.cancel'),
- secondary: null,
- showFooter: false,
- onClose: function () {
- var self = this;
- var controller = router.get('mainAdminSecurityDisableController');
- if (!controller.get('isSubmitDisabled')) {
- self.proceedOnClose();
- return;
- }
- var applyingConfigCommand = controller.get('commands').findProperty('name', 'APPLY_CONFIGURATIONS');
- if (applyingConfigCommand && !applyingConfigCommand.get('isCompleted')) {
- if (applyingConfigCommand.get('isStarted')) {
- App.showAlertPopup(Em.I18n.t('admin.security.applying.config.header'), Em.I18n.t('admin.security.applying.config.body'));
- } else {
- App.showConfirmationPopup(function () {
- self.proceedOnClose();
- }, Em.I18n.t('admin.addSecurity.disable.onClose'));
- }
- } else {
- self.proceedOnClose();
- }
- },
- proceedOnClose: function () {
- router.get('mainAdminSecurityDisableController').clearStep();
- App.db.setSecurityDeployCommands(undefined);
- App.router.get('updateController').set('isWorking', true);
- router.get('mainAdminSecurityController').setDisableSecurityStatus(undefined);
- router.get('addServiceController').finish();
- App.clusterStatus.setClusterStatus({
- clusterName: router.get('content.cluster.name'),
- clusterState: 'DEFAULT'
- });
- this.hide();
- router.transitionTo('adminSecurity.index');
- },
- didInsertElement: function () {
- this.fitHeight();
- }
- });
- }));
- } else {
- router.transitionTo('adminSecurity.index');
- }
- },
- unroutePath: function () {
- return false;
- },
- done: function (router, context) {
- var controller = router.get('mainAdminSecurityDisableController');
- if (!controller.get('isSubmitDisabled')) {
- $(context.currentTarget).parents("#modal").find(".close").trigger('click');
- }
- }
- }),
- adminAddSecurity: require('routes/add_security')
- }),
- adminKerberos: Em.Route.extend({
- route: '/kerberos',
- index: Em.Route.extend({
- route: '/',
- connectOutlets: function (router, context) {
- router.set('mainAdminController.category', "kerberos");
- router.get('mainAdminController').connectOutlet('mainAdminKerberos');
- }
- }),
- adminAddKerberos: require('routes/add_kerberos_routes')
- }),
- stackAndUpgrade: Em.Route.extend({
- route: '/stack',
- connectOutlets: function (router) {
- router.set('mainAdminController.category', "stackAndUpgrade");
- router.get('mainAdminController').connectOutlet('mainAdminStackAndUpgrade');
- }
- }),
- stackUpgrade: require('routes/stack_upgrade_routes'),
- adminStackVersions: Em.Route.extend({
- route: '/versions',
- index: Em.Route.extend({
- route: '/',
- connectOutlets: function (router) {
- if (App.get('supports.stackUpgrade')) {
- router.set('mainAdminController.category', "stackVersions");
- router.get('mainAdminController').connectOutlet('mainStackVersions');
- }
- }
- }),
- version: Em.Route.extend({
- route: '/:stack_version_id',
- connectOutlets: function (router, stackVersion) {
- router.get('mainAdminController').connectOutlet('mainStackVersionsDetails', stackVersion);
- }
- }),
- update: Em.Route.extend({
- route: '/updates',
- connectOutlets: function (router) {
- if (App.get('supports.stackUpgrade')) {
- router.set('mainAdminController.category', "stackVersions");
- router.get('mainAdminController').connectOutlet('repoVersions');
- }
- }
- })
- }),
- adminAdvanced: Em.Route.extend({
- route: '/advanced',
- connectOutlets: function (router) {
- router.set('mainAdminController.category', "advanced");
- router.get('mainAdminController').connectOutlet('mainAdminAdvanced');
- }
- }),
- adminServiceAccounts: Em.Route.extend({
- route: '/serviceAccounts',
- connectOutlets: function (router) {
- router.set('mainAdminController.category', "serviceAccounts");
- router.get('mainAdminController').connectOutlet('mainAdminServiceAccounts');
- }
- }),
- adminAudit: Em.Route.extend({
- route: '/audit',
- connectOutlets: function (router) {
- router.set('mainAdminController.category', "audit");
- router.get('mainAdminController').connectOutlet('mainAdminAudit');
- }
- }),
- upgradeStack: function (router, event) {
- if (!$(event.currentTarget).hasClass('inactive')) {
- router.transitionTo('stackUpgrade');
- }
- },
- adminNavigate: function (router, object) {
- router.transitionTo('admin' + object.context.capitalize());
- },
- //events
- goToAdmin: function (router, event) {
- router.transitionTo(event.context);
- }
- }),
- stackUpgrade: require('routes/stack_upgrade'),
- services: Em.Route.extend({
- route: '/services',
- index: Em.Route.extend({
- route: '/',
- enter: function (router) {
- Em.run.next(function () {
- var controller = router.get('mainController');
- controller.dataLoading().done(function () {
- var service = router.get('mainServiceItemController.content');
- if (!service || !service.get('isLoaded')) {
- service = App.Service.find().objectAt(0); // getting the first service to display
- }
- if (router.get('mainServiceItemController').get('routeToConfigs')) {
- router.transitionTo('service.configs', service);
- }
- else {
- router.transitionTo('service.summary', service);
- }
- });
- });
- }
- }),
- connectOutlets: function (router, context) {
- router.get('mainController').connectOutlet('mainService');
- },
- service: Em.Route.extend({
- route: '/:service_id',
- connectOutlets: function (router, service) {
- router.get('mainServiceController').connectOutlet('mainServiceItem', service);
- if (service && router.get('mainServiceItemController').get('routeToConfigs')) {
- router.transitionTo('configs');
- } else {
- router.transitionTo('summary');
- }
- },
- index: Ember.Route.extend({
- route: '/'
- }),
- summary: Em.Route.extend({
- route: '/summary',
- connectOutlets: function (router, context) {
- var item = router.get('mainServiceItemController.content');
- router.get('updateController').updateServiceMetric(Em.K);
- //if service is not existed then route to default service
- if (item.get('isLoaded')) {
- router.get('mainServiceItemController').connectOutlet('mainServiceInfoSummary', item);
- } else {
- router.transitionTo('services.index');
- }
- }
- }),
- metrics: Em.Route.extend({
- route: '/metrics',
- connectOutlets: function (router, context) {
- var item = router.get('mainServiceItemController.content');
- router.get('mainServiceItemController').connectOutlet('mainServiceInfoMetrics', item);
- }
- }),
- configs: Em.Route.extend({
- route: '/configs',
- connectOutlets: function (router, context) {
- var item = router.get('mainServiceItemController.content');
- //if service is not existed then route to default service
- if (item.get('isLoaded')) {
- if (router.get('mainServiceItemController.isConfigurable')) {
- router.get('mainServiceItemController').connectOutlet('mainServiceInfoConfigs', item);
- }
- else {
- // if service doesn't have configs redirect to summary
- router.transitionTo('summary');
- }
- }
- else {
- item.set('routeToConfigs', true);
- router.transitionTo('services.index');
- }
- },
- unroutePath: function (router, context) {
- var controller = router.get('mainServiceInfoConfigsController');
- if (!controller.get('forceTransition') && controller.hasUnsavedChanges()) {
- controller.showSavePopup(context);
- } else {
- this._super(router, context);
- }
- }
- }),
- audit: Em.Route.extend({
- route: '/audit',
- connectOutlets: function (router, context) {
- var item = router.get('mainServiceItemController.content');
- router.get('mainServiceItemController').connectOutlet('mainServiceInfoAudit', item);
- }
- }),
- showInfo: function (router, event) {
- var mainServiceInfoConfigsController = App.router.get('mainServiceInfoConfigsController');
- if (event.context === 'summary' && mainServiceInfoConfigsController.hasUnsavedChanges()) {
- mainServiceInfoConfigsController.showSavePopup(router.get('location.lastSetURL').replace('configs', 'summary'));
- return false;
- }
- var parent = event.view.get('_parentView');
- parent.deactivateChildViews();
- event.view.set('active', "active");
- router.transitionTo(event.context);
- }
- }),
- showService: Em.Router.transitionTo('service'),
- addService: Em.Router.transitionTo('serviceAdd'),
- reassign: Em.Router.transitionTo('reassign'),
- enableHighAvailability: require('routes/high_availability_routes'),
- enableRMHighAvailability: require('routes/rm_high_availability_routes'),
- rollbackHighAvailability: require('routes/rollbackHA_routes')
- }),
- reassign: require('routes/reassign_master_routes'),
- serviceAdd: require('routes/add_service_routes'),
- selectService: Em.Route.transitionTo('services.service.summary'),
- selectHost: function (router, event) {
- router.get('mainHostDetailsController').set('isFromHosts', false);
- router.transitionTo('hosts.hostDetails.index', event.context);
- },
- filterHosts: function (router, component) {
- if (!component.context)
- return;
- router.get('mainHostController').filterByComponent(component.context);
- router.get('mainHostController').set('showFilterConditionsFirstLoad', true);
- router.transitionTo('hosts.index');
- },
- showDetails: function (router, event) {
- router.get('mainHostDetailsController').set('referer', router.location.lastSetURL);
- router.get('mainHostDetailsController').set('isFromHosts', true);
- router.transitionTo('hosts.hostDetails.summary', event.context);
- },
- gotoAlertDetails: function (router, event) {
- router.transitionTo('alerts.alertDetails', event.context);
- },
- /**
- * Open summary page of the selected service
- * @param {object} event
- * @method routeToService
- */
- routeToService: function (router, event) {
- var service = event.context;
- router.transitionTo('main.services.service.summary', service);
- }
- });
|