http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/assets/fonts/glyphicons-halflings-regular.woff ---------------------------------------------------------------------- diff --git a/ambari-web/app/assets/fonts/glyphicons-halflings-regular.woff b/ambari-web/app/assets/fonts/glyphicons-halflings-regular.woff new file mode 100644 index 0000000..9e61285 Binary files /dev/null and b/ambari-web/app/assets/fonts/glyphicons-halflings-regular.woff differ
http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/assets/fonts/glyphicons-halflings-regular.woff2 ---------------------------------------------------------------------- diff --git a/ambari-web/app/assets/fonts/glyphicons-halflings-regular.woff2 b/ambari-web/app/assets/fonts/glyphicons-halflings-regular.woff2 new file mode 100644 index 0000000..64539b5 Binary files /dev/null and b/ambari-web/app/assets/fonts/glyphicons-halflings-regular.woff2 differ http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/config.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/config.js b/ambari-web/app/config.js index 4550eb8..379aed9 100644 --- a/ambari-web/app/config.js +++ b/ambari-web/app/config.js @@ -49,10 +49,10 @@ App.singleNodeInstall = false; App.singleNodeAlias = document.location.hostname; App.minDiskSpace = 2.0; // minimum disk space required for '/' for each host before install, unit GB App.minDiskSpaceUsrLib = 1.0; // minimum disk space for '/usr/lib' for each host before install, unit GB -App.healthIconClassGreen = 'icon-ok-sign'; // bootstrap icon class for healthy/started service/host/host-component -App.healthIconClassRed = 'icon-warning-sign'; // bootstrap icon class for master down/stopped service/host/host-component -App.healthIconClassOrange = 'icon-minus-sign'; // bootstrap icon class for slave down/decommissioned host/host-component -App.healthIconClassYellow = 'icon-question-sign'; // bootstrap icon class for heartbeat lost service/host/host-component +App.healthIconClassGreen = 'glyphicon glyphicon-ok-sign'; // bootstrap icon class for healthy/started service/host/host-component +App.healthIconClassRed = 'glyphicon glyphicon-warning-sign'; // bootstrap icon class for master down/stopped service/host/host-component +App.healthIconClassOrange = 'glyphicon glyphicon-minus-sign'; // bootstrap icon class for slave down/decommissioned host/host-component +App.healthIconClassYellow = 'glyphicon glyphicon-question-sign'; // bootstrap icon class for heartbeat lost service/host/host-component App.isManagedMySQLForHiveEnabled = false; App.isStormMetricsSupported = true; App.healthStatusRed = '#ff0000'; http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/controllers/application.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/controllers/application.js b/ambari-web/app/controllers/application.js index dca689f..4bd09c3 100644 --- a/ambari-web/app/controllers/application.js +++ b/ambari-web/app/controllers/application.js @@ -25,15 +25,13 @@ App.ApplicationController = Em.Controller.extend(App.UserPref, { isPollerRunning: false, - clusterName: function () { - return (App.router.get('clusterController.clusterName') || 'My Cluster'); - }.property('App.router.clusterController.clusterName'), + clusterName: Em.computed.alias('App.router.clusterController.clusterName'), /** * set ambari server version from installerController or mainController, making sure version shown up all the time */ ambariVersion: function () { - return (App.router.get('installerController.ambariServerVersion') || App.router.get('mainController.ambariServerVersion') || Em.I18n.t('common.notAvailable')); + return App.router.get('installerController.ambariServerVersion') || App.router.get('mainController.ambariServerVersion') || Em.I18n.t('common.notAvailable'); }.property('App.router.installerController.ambariServerVersion', 'App.router.mainController.ambariServerVersion'), clusterDisplayName: Em.computed.truncate('clusterName', 13, 10), @@ -57,9 +55,58 @@ App.ApplicationController = Em.Controller.extend(App.UserPref, { return true; }.property('App.router.clusterInstallCompleted', 'isClusterDataLoaded'), - init: function(){ - this._super(); - }, + /** + * Determines if "Manage Ambari" menu-item should be shown + * + * @type {boolean} + */ + showManageAmbari: function () { + if (App.router.get('clusterInstallCompleted')) { + return this.get('isClusterDataLoaded'); + } + return App.get('isPermissionDataLoaded'); + }.property('App.router.clusterInstallCompleted', 'isClusterDataLoaded', 'App.isPermissionDataLoaded'), + + /** + * Determines if upgrade label should be shown + * + * @type {boolean} + */ + showUpgradeLabel: Em.computed.or('App.upgradeInProgress', 'App.upgradeHolding', 'App.upgradeSuspended'), + + /** + * @return {{msg: string, cls: string, icon: string}} + */ + upgradeMap: function () { + var upgradeInProgress = App.get('upgradeInProgress'); + var upgradeHolding = App.get('upgradeHolding'); + var upgradeSuspended = App.get('upgradeSuspended'); + var isDowngrade = App.router.get('mainAdminStackAndUpgradeController.isDowngrade'); + var typeSuffix = isDowngrade ? 'downgrade' : 'upgrade'; + + if (upgradeInProgress) { + return { + cls: 'upgrade-in-progress', + icon: 'glyphicon-cog', + msg: Em.I18n.t('admin.stackVersions.version.' + typeSuffix + '.running') + } + } + if (upgradeHolding) { + return { + cls: 'upgrade-in-holding', + icon: 'glyphicon-pause', + msg: Em.I18n.t('admin.stackVersions.version.' + typeSuffix + '.pause') + } + } + if (upgradeSuspended) { + return { + cls: 'upgrade-in-holding', + icon: 'glyphicon-pause', + msg: Em.I18n.t('admin.stackVersions.version.' + typeSuffix + '.suspended') + } + } + return {}; + }.property('App.upgradeInProgress', 'App.upgradeHolding', 'App.upgradeSuspended', 'App.router.mainAdminStackAndUpgradeController.isDowngrade'), startKeepAlivePoller: function() { if (!this.get('isPollerRunning')) { @@ -81,8 +128,6 @@ App.ApplicationController = Em.Controller.extend(App.UserPref, { }, showAboutPopup: function() { - - var self = this; App.ModalPopup.show({ header: Em.I18n.t('common.aboutAmbari'), secondary: false, http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/controllers/main/admin/service_auto_start.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/controllers/main/admin/service_auto_start.js b/ambari-web/app/controllers/main/admin/service_auto_start.js index b425c78..8f40f25 100644 --- a/ambari-web/app/controllers/main/admin/service_auto_start.js +++ b/ambari-web/app/controllers/main/admin/service_auto_start.js @@ -89,11 +89,11 @@ App.MainAdminServiceAutoStartController = Em.Controller.extend({ totalComponents: 1, indicator: function () { var percentage = this.get('enabledComponents') / this.get('totalComponents'); - var indicator = "icon-adjust"; + var indicator = "glyphicon glyphicon-adjust"; if (percentage === 1) { - indicator = "icon-circle"; + indicator = "glyphicon glyphicon-circle"; } else if (percentage === 0) { - indicator = "icon-circle-blank"; + indicator = "glyphicon glyphicon-circle-blank"; } return indicator; }.property('enabledComponents', 'totalComponents') http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/controllers/main/admin/stack_and_upgrade_controller.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/controllers/main/admin/stack_and_upgrade_controller.js b/ambari-web/app/controllers/main/admin/stack_and_upgrade_controller.js index d00a652..01feb14 100644 --- a/ambari-web/app/controllers/main/admin/stack_and_upgrade_controller.js +++ b/ambari-web/app/controllers/main/admin/stack_and_upgrade_controller.js @@ -115,7 +115,7 @@ App.MainAdminStackAndUpgradeController = Em.Controller.extend(App.LocalStorage, Em.Object.create({ displayName: Em.I18n.t('admin.stackVersions.version.upgrade.upgradeOptions.RU.title'), type: 'ROLLING', - icon: "icon-dashboard", + icon: "glyphicon glyphicon-dashboard", description: Em.I18n.t('admin.stackVersions.version.upgrade.upgradeOptions.RU.description'), selected: false, allowed: true, @@ -128,7 +128,7 @@ App.MainAdminStackAndUpgradeController = Em.Controller.extend(App.LocalStorage, Em.Object.create({ displayName: Em.I18n.t('admin.stackVersions.version.upgrade.upgradeOptions.EU.title'), type: 'NON_ROLLING', - icon: "icon-bolt", + icon: "glyphicon glyphicon-bolt", description: Em.I18n.t('admin.stackVersions.version.upgrade.upgradeOptions.EU.description'), selected: false, allowed: true, @@ -149,20 +149,20 @@ App.MainAdminStackAndUpgradeController = Em.Controller.extend(App.LocalStorage, template: 'admin.stackUpgrade.preCheck.warning.message', precheckResultsMessageClass: 'ORANGE', isPrecheckFailed: false, - precheckResultsMessageIconClass: 'icon-warning-sign' + precheckResultsMessageIconClass: 'glyphicon glyphicon-warning-sign' }, 'BYPASS': { template: 'admin.stackUpgrade.preCheck.bypass.message', precheckResultsMessageClass: 'RED', isPrecheckFailed: false, - precheckResultsMessageIconClass: 'icon-remove', + precheckResultsMessageIconClass: 'glyphicon glyphicon-remove', bypassedFailures: true }, 'FAIL': { template: 'admin.stackUpgrade.preCheck.fail.message', precheckResultsMessageClass: 'RED', isPrecheckFailed: true, - precheckResultsMessageIconClass: 'icon-remove' + precheckResultsMessageIconClass: 'glyphicon glyphicon-remove' } }, @@ -366,7 +366,7 @@ App.MainAdminStackAndUpgradeController = Em.Controller.extend(App.LocalStorage, id: upgradeId }, success: 'loadUpgradeDataSuccessCallback' - }).then(deferred.resolve).complete(function () { + }).then(deferred.resolve).always(function () { self.set('isLoadUpgradeDataPending', false); }); } @@ -769,7 +769,7 @@ App.MainAdminStackAndUpgradeController = Em.Controller.extend(App.LocalStorage, * @type {string} */ barWidth: 'width: 100%;', - progressBarClass: 'progress progress-striped active log_popup', + progressBarClass: 'progress log_popup', /** * Popup-message @@ -950,7 +950,7 @@ App.MainAdminStackAndUpgradeController = Em.Controller.extend(App.LocalStorage, title: Em.I18n.t('admin.stackVersions.version.upgrade.upgradeOptions.tolerance.tooltip') }); Em.run.later(this, function () { - App.tooltip($(".thumbnail.check-failed"), { + App.tooltip($(".img-thumbnail.check-failed"), { placement: "bottom", title: Em.I18n.t('admin.stackVersions.version.upgrade.upgradeOptions.preCheck.failed.tooltip') }); @@ -1172,7 +1172,7 @@ App.MainAdminStackAndUpgradeController = Em.Controller.extend(App.LocalStorage, precheckResultsMessage: '', recheckResultsMessageClass: 'GREEN', isPrecheckFailed: false, - precheckResultsMessageIconClass: 'icon-ok', + precheckResultsMessageIconClass: 'glyphicon glyphicon-ok', bypassedFailures: false }; @@ -1210,12 +1210,12 @@ App.MainAdminStackAndUpgradeController = Em.Controller.extend(App.LocalStorage, addPrecheckMessageTooltip: function() { Em.run.later(this, function () { // add tooltip for the type with preCheck errors - App.tooltip($(".thumbnail.check-failed"), { + App.tooltip($(".img-thumbnail.check-failed"), { placement: "bottom", title: Em.I18n.t('admin.stackVersions.version.upgrade.upgradeOptions.preCheck.failed.tooltip') }); // destroy the tooltip for the type wo preCheck errors - $(".thumbnail").not(".check-failed").not(".not-allowed-by-version").tooltip("destroy"); + $(".img-thumbnail").not(".check-failed").not(".not-allowed-by-version").tooltip("destroy"); }, 1000); }, @@ -1226,7 +1226,7 @@ App.MainAdminStackAndUpgradeController = Em.Controller.extend(App.LocalStorage, precheckResultsTitle: Em.I18n.t('admin.stackVersions.version.upgrade.upgradeOptions.preCheck.msg.failed.title'), precheckResultsMessageClass: 'RED', isPrecheckFailed: true, - precheckResultsMessageIconClass: 'icon-warning-sign', + precheckResultsMessageIconClass: 'glyphicon glyphicon-warning-sign', action: 'rerunCheck' }); }, http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/controllers/main/admin/stack_upgrade_history_controller.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/controllers/main/admin/stack_upgrade_history_controller.js b/ambari-web/app/controllers/main/admin/stack_upgrade_history_controller.js index f05d366..3a78e30 100644 --- a/ambari-web/app/controllers/main/admin/stack_upgrade_history_controller.js +++ b/ambari-web/app/controllers/main/admin/stack_upgrade_history_controller.js @@ -87,7 +87,7 @@ App.MainAdminStackUpgradeHistoryController = Em.ArrayController.extend({ id: record.get('requestId') }, success: 'loadUpgradeRecordSuccessCallback' - }).then(dfd.resolve).complete(function () { + }).then(dfd.resolve).always(function () { }); } else { dfd.resolve(); http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/controllers/main/alerts/add_alert_definition/step1_controller.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/controllers/main/alerts/add_alert_definition/step1_controller.js b/ambari-web/app/controllers/main/alerts/add_alert_definition/step1_controller.js index 43e25c8..ae9471c 100644 --- a/ambari-web/app/controllers/main/alerts/add_alert_definition/step1_controller.js +++ b/ambari-web/app/controllers/main/alerts/add_alert_definition/step1_controller.js @@ -27,13 +27,13 @@ App.AddAlertDefinitionStep1Controller = Em.Controller.extend({ * @type {{value: string, isActive: boolean}[]} */ alertDefinitionsTypes: [ - Em.Object.create({value: 'PORT', isActive: false, icon: 'icon-signal'}), - Em.Object.create({value: 'METRIC', isActive: false, icon: 'icon-bolt'}), - Em.Object.create({value: 'WEB', isActive: false, icon: 'icon-globe'}), - Em.Object.create({value: 'AGGREGATE', isActive: false, icon: 'icon-plus-sign-alt'}), - Em.Object.create({value: 'SCRIPT', isActive: false, icon: 'icon-code'}), - Em.Object.create({value: 'SERVER', isActive: false, icon: 'icon-desktop'}), - Em.Object.create({value: 'RECOVERY', isActive: false, icon: 'icon-desktop'}) + Em.Object.create({value: 'PORT', isActive: false, icon: 'glyphicon glyphicon-signal'}), + Em.Object.create({value: 'METRIC', isActive: false, icon: 'glyphicon glyphicon-bolt'}), + Em.Object.create({value: 'WEB', isActive: false, icon: 'glyphicon glyphicon-globe'}), + Em.Object.create({value: 'AGGREGATE', isActive: false, icon: 'glyphicon glyphicon-plus-sign-alt'}), + Em.Object.create({value: 'SCRIPT', isActive: false, icon: 'glyphicon glyphicon-code'}), + Em.Object.create({value: 'SERVER', isActive: false, icon: 'glyphicon glyphicon-desktop'}), + Em.Object.create({value: 'RECOVERY', isActive: false, icon: 'glyphicon glyphicon-desktop'}) ], /** http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/controllers/main/alerts/alert_definitions_actions_controller.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/controllers/main/alerts/alert_definitions_actions_controller.js b/ambari-web/app/controllers/main/alerts/alert_definitions_actions_controller.js index 6ca3e78..36bc232 100644 --- a/ambari-web/app/controllers/main/alerts/alert_definitions_actions_controller.js +++ b/ambari-web/app/controllers/main/alerts/alert_definitions_actions_controller.js @@ -29,25 +29,25 @@ App.MainAlertDefinitionActionsController = Em.ArrayController.extend({ content: [ /*{ title: Em.I18n.t('alerts.actions.create'), - icon: 'icon-plus', + icon: 'glyphicon glyphicon-plus', action: 'createNewAlertDefinition', showDivider: true },*/ { title: Em.I18n.t('alerts.actions.manageGroups'), - icon: 'icon-th-large', + icon: 'glyphicon glyphicon-th-large', action: 'manageAlertGroups', showDivider: false }, { title: Em.I18n.t('alerts.actions.manageNotifications'), - icon: 'icon-envelope-alt', + icon: 'glyphicon glyphicon-envelope', action: 'manageNotifications', showDivider: false }, { title: Em.I18n.t('alerts.actions.manageSettings'), - icon: 'icon-cogs', + icon: 'glyphicon glyphicon-cog', action: 'manageSettings', showDivider: false } @@ -93,7 +93,8 @@ App.MainAlertDefinitionActionsController = Em.ArrayController.extend({ controllerBinding: 'App.router.manageAlertGroupsController' }), - classNames: ['sixty-percent-width-modal', 'manage-alert-group-popup'], + classNames: ['common-modal-wrapper', 'manage-alert-group-popup'], + modalDialogClasses: ['modal-lg'], primary: Em.I18n.t('common.save'), onPrimary: function () { @@ -196,7 +197,8 @@ App.MainAlertDefinitionActionsController = Em.ArrayController.extend({ controllerBinding: 'App.router.manageAlertNotificationsController' }), - classNames: ['sixty-percent-width-modal', 'manage-configuration-group-popup', 'manage-alert-notifications-popup'], + classNames: ['common-modal-wrapper', 'manage-configuration-group-popup'], + modalDialogClasses: ['modal-lg'], secondary: null, http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/controllers/main/alerts/alert_instances_controller.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/controllers/main/alerts/alert_instances_controller.js b/ambari-web/app/controllers/main/alerts/alert_instances_controller.js index 5913070..cbeb71a 100644 --- a/ambari-web/app/controllers/main/alerts/alert_instances_controller.js +++ b/ambari-web/app/controllers/main/alerts/alert_instances_controller.js @@ -210,7 +210,8 @@ App.MainAlertInstancesController = Em.Controller.extend({ header: Em.computed.i18nFormat('alerts.fastAccess.popup.header', 'alertsNumber'), - classNames: ['sixty-percent-width-modal', 'alerts-popup'], + classNames: ['common-modal-wrapper', 'alerts-popup'], + modalDialogClasses: ['modal-lg'], secondary: Em.I18n.t('alerts.fastAccess.popup.body.showmore'), http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/controllers/main/alerts/manage_alert_groups_controller.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/controllers/main/alerts/manage_alert_groups_controller.js b/ambari-web/app/controllers/main/alerts/manage_alert_groups_controller.js index 6ba5957..a501a34 100644 --- a/ambari-web/app/controllers/main/alerts/manage_alert_groups_controller.js +++ b/ambari-web/app/controllers/main/alerts/manage_alert_groups_controller.js @@ -389,7 +389,9 @@ App.ManageAlertGroupsController = Em.Controller.extend({ return App.ModalPopup.show({ - classNames: [ 'sixty-percent-width-modal' ], + classNames: [ 'common-modal-wrapper' ], + + modalDialogClasses: ['modal-lg'], header: popupDescription.header, http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/controllers/main/charts/heatmap.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/controllers/main/charts/heatmap.js b/ambari-web/app/controllers/main/charts/heatmap.js index 73d1800..caa3f2d 100644 --- a/ambari-web/app/controllers/main/charts/heatmap.js +++ b/ambari-web/app/controllers/main/charts/heatmap.js @@ -269,11 +269,11 @@ App.MainChartsHeatmapController = Em.Controller.extend(App.WidgetSectionMixin, { rackClass: function () { var rackCount = this.get('racks.length'); if (rackCount < 2) { - return "span12"; + return "col-md-12"; } else if (rackCount == 2) { - return "span6"; + return "col-md-6"; } else { - return "span4"; + return "col-md-4"; } }.property('racks.length') }); http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/controllers/main/service/info/summary.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/controllers/main/service/info/summary.js b/ambari-web/app/controllers/main/service/info/summary.js index c16bb3f..6752bbf 100644 --- a/ambari-web/app/controllers/main/service/info/summary.js +++ b/ambari-web/app/controllers/main/service/info/summary.js @@ -742,7 +742,8 @@ App.MainServiceInfoSummaryController = Em.Controller.extend(App.WidgetSectionMix return App.ModalPopup.show({ header: Em.I18n.t('dashboard.widgets.browser.header'), - classNames: ['sixty-percent-width-modal', 'widgets-browser-popup'], + classNames: ['common-modal-wrapper', 'widgets-browser-popup'], + modalDialogClasses: ['modal-lg'], onPrimary: function () { this.hide(); self.set('isAllSharedWidgetsLoaded', false); http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/controllers/main/service/manage_config_groups_controller.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/controllers/main/service/manage_config_groups_controller.js b/ambari-web/app/controllers/main/service/manage_config_groups_controller.js index 539d03e..07756f0 100644 --- a/ambari-web/app/controllers/main/service/manage_config_groups_controller.js +++ b/ambari-web/app/controllers/main/service/manage_config_groups_controller.js @@ -806,7 +806,8 @@ App.ManageConfigGroupsController = Em.Controller.extend(App.ConfigOverridable, { controller: configsController }), - classNames: ['sixty-percent-width-modal', 'manage-configuration-group-popup'], + classNames: ['common-modal-wrapper', 'manage-configuration-group-popup'], + modalDialogClasses: ['modal-lg'], primary: Em.I18n.t('common.save'), http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/controllers/wizard/step10_controller.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/controllers/wizard/step10_controller.js b/ambari-web/app/controllers/wizard/step10_controller.js index 8c4b5db..6840c13 100644 --- a/ambari-web/app/controllers/wizard/step10_controller.js +++ b/ambari-web/app/controllers/wizard/step10_controller.js @@ -161,7 +161,7 @@ App.WizardStep10Controller = Em.Controller.extend({ this.get('clusterInfo').pushObject(Em.Object.create({ id: 2, displayStatement: Em.I18n.t('installer.step10.installStatus.failed'), - color: 'text-error', + color: 'text-danger', status: [] })); return false; @@ -233,7 +233,7 @@ App.WizardStep10Controller = Em.Controller.extend({ } else { this.get('clusterInfo').pushObject(Em.Object.create({ id: 3, - color: 'text-error', + color: 'text-danger', displayStatement: Em.I18n.t('installer.step10.startStatus.failed'), status: [] })); http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/controllers/wizard/step1_controller.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/controllers/wizard/step1_controller.js b/ambari-web/app/controllers/wizard/step1_controller.js index a1ebad8..e1cb4ff 100644 --- a/ambari-web/app/controllers/wizard/step1_controller.js +++ b/ambari-web/app/controllers/wizard/step1_controller.js @@ -302,7 +302,7 @@ App.WizardStep1Controller = Em.Controller.extend({ App.showAlertPopup(Em.I18n.t('common.warning'), Em.I18n.t('installer.step1.addVersion.stackChanged.popup.body').format(oldStackNameVersion, response.stackNameVersion)); } Ember.run.next(function () { - $("[rel=skip-validation-tooltip]").tooltip({placement: 'right'}); + App.tooltip($("[rel=skip-validation-tooltip]"), {html: true, placement: 'left'}); $("[rel=use-redhat-tooltip]").tooltip({placement: 'right'}); }); }); http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/controllers/wizard/step7/assign_master_controller.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/controllers/wizard/step7/assign_master_controller.js b/ambari-web/app/controllers/wizard/step7/assign_master_controller.js index 399000e..1ee0c45 100644 --- a/ambari-web/app/controllers/wizard/step7/assign_master_controller.js +++ b/ambari-web/app/controllers/wizard/step7/assign_master_controller.js @@ -111,7 +111,8 @@ App.AssignMasterOnStep7Controller = Em.Controller.extend(App.BlueprintMixin, App var configWidgetContext = this.get('configWidgetContext'); var config = this.get('configWidgetContext.config'); var popup = App.ModalPopup.show({ - classNames: ['full-width-modal', 'add-service-wizard-modal'], + classNames: ['wizard-modal-wrapper', 'add-service-wizard-modal'], + modalDialogClasses: ['modal-xlg'], header: Em.I18n.t('assign.master.popup.header').format(masterToCreateDisplayName), bodyClass: App.AssignMasterOnStep7View.extend({ controller: self http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/data/host/categories.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/data/host/categories.js b/ambari-web/app/data/host/categories.js index 7e010d5..4d018bc 100644 --- a/ambari-web/app/data/host/categories.js +++ b/ambari-web/app/data/host/categories.js @@ -56,7 +56,7 @@ module.exports = [ { value: Em.I18n.t('hosts.host.alerts.label'), hostProperty: 'criticalWarningAlertsCount', - class: 'icon-exclamation-sign', + class: 'glyphicon glyphicon-exclamation-sign', isHealthStatus: false, healthClass: 'health-status-WITH-ALERTS', healthStatus: 'health-status-WITH-ALERTS', @@ -67,7 +67,7 @@ module.exports = [ { value: Em.I18n.t('common.restart'), hostProperty: 'componentsWithStaleConfigsCount', - class: 'icon-refresh', + class: 'glyphicon glyphicon-refresh', isHealthStatus: false, healthClass: 'health-status-RESTART', healthStatus: 'health-status-RESTART', http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/messages.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js index 7150081..6da179a 100644 --- a/ambari-web/app/messages.js +++ b/ambari-web/app/messages.js @@ -336,7 +336,7 @@ Em.I18n.translations = { 'common.levels': 'Levels', 'common.extension': 'Extension', 'common.logs': 'Logs', - 'common.warn.message': '<div class="alert alert-warn">{0}</div>', + 'common.warn.message': '<div class="alert alert-warning">{0}</div>', 'common.link': 'Link', 'common.from.version': 'From Version', 'common.to.version': 'To Version', @@ -725,8 +725,8 @@ Em.I18n.translations = { 'installer.step3.hostWarningsPopup.notice':'After manually resolving the issues, click <b>Rerun Checks</b>.'+ '<br>To manually resolve issues on <b>each host</b> run the HostCleanup script (Python 2.6 or greater is required):'+ '<br><div class="code-snippet">python /usr/lib/python2.6/site-packages/ambari_agent/HostCleanup.py --silent --skip=users</div>' + - '<div class="alert alert-warn"><b>Note</b>: Clean up of Firewall and Transparent Huge Page issues are not supported by the HostCleanup script.</div>' + - '<div class="alert alert-warn"><b>Note</b>: To clean up in interactive mode, remove <b>--silent</b> option. To clean up all resources, including <i>users</i>, remove <b>--skip=users</b> option. Use <b>--help</b> for a list of available options.</div>', + '<div class="alert alert-warning"><b>Note</b>: Clean up of Firewall and Transparent Huge Page issues are not supported by the HostCleanup script.</div>' + + '<div class="alert alert-warning"><b>Note</b>: To clean up in interactive mode, remove <b>--silent</b> option. To clean up all resources, including <i>users</i>, remove <b>--skip=users</b> option. Use <b>--help</b> for a list of available options.</div>', 'installer.step3.hostWarningsPopup.summary':'{0} on {1}', 'installer.step3.hostWarningsPopup.jdk':'JDK Issues', 'installer.step3.hostWarningsPopup.jdk.name':'JDK not found at <i>{0}</i>', @@ -859,7 +859,7 @@ Em.I18n.translations = { 'installer.step5.reassign.header':'Select Target Host', 'installer.step5.attention':' hosts not running master services', 'installer.step5.body':'Assign master components to hosts you want to run them on.', - 'installer.step5.body.coHostedComponents':'<i class="icon-asterisks">✵</i> {0} will be hosted on the same host.', + 'installer.step5.body.coHostedComponents':'<i class="glyphicon glyphicon-asterisks">✵</i> {0} will be hosted on the same host.', 'installer.step5.hostInfo':'%@ (%@, %@ cores)', 'installer.step5.hiveGroup':'HiveServer2, WebHCat Server, MySQL Server', 'installer.step5.validationIssuesAttention.header': 'Validation Issues', @@ -867,7 +867,7 @@ Em.I18n.translations = { 'installer.step5.error.host.invalid': 'The host you choose could (1) have an invalid host name; (2) be conflicting with another selection; or (3) be in maintenance mode', 'installer.step6.header':'Assign Slaves and Clients', - 'installer.step6.body':'Assign slave and client components to hosts you want to run them on.<br/>Hosts that are assigned master components are shown with <i class=icon-asterisks>✵</i>.', + 'installer.step6.body':'Assign slave and client components to hosts you want to run them on.<br/>Hosts that are assigned master components are shown with <i class="glyphicon glyphicon-asterisks">✵</i>.', 'installer.step6.body.clientText': ' <br/>"Client" will install ', 'installer.step6.error.mustSelectOne':'You must assign at least one host to each component.', 'installer.step6.error.mustSelectOneForHost':'You must assign at least one slave/client component to each.', @@ -1018,7 +1018,7 @@ Em.I18n.translations = { 'installer.step10.body':'Here is the summary of the install process.', 'installer.step10.staleServicesRestartRequired':' You may also need to restart other services for the newly added ' + 'services to function properly (for example, HDFS and YARN/MapReduce need to be restarted after adding Oozie). After closing this ' + - 'wizard, please restart all services that have the restart indicator <i class="icon-refresh"></i> next to the service name.', + 'wizard, please restart all services that have the restart indicator <i class="glyphicon glyphicon-refresh"></i> next to the service name.', 'installer.step10.hostsSummary':'The cluster consists of {0} hosts', 'installer.step10.installedAndStarted':'Installed and started services successfully on {0} new ', 'installer.step10.installed':'Installed services successfully on {0} new ', @@ -1400,7 +1400,7 @@ Em.I18n.translations = { '<div class="alert alert-info">' + '<ol start="3">' + '<li>Login to the Additional NameNode host <b>{2}</b>.<br>' + - '<div class="alert alert-warn"><strong>Important!</strong> Be sure to login to the Additional NameNode host.<br>This is a different host from the Steps 1 and 2 above.</div>' + + '<div class="alert alert-warning"><strong>Important!</strong> Be sure to login to the Additional NameNode host.<br>This is a different host from the Steps 1 and 2 above.</div>' + '</li>' + '<li>Initialize the metadata for the Additional NameNode by running:' + '<div class="code-snippet">sudo su {0} -l -c \'hdfs namenode -bootstrapStandby\'</div></li>' + @@ -1422,7 +1422,7 @@ Em.I18n.translations = { '<li>Once in Safe Mode, create a Checkpoint:' + '<div class="code-snippet">sudo su {0} -l -c \'hdfs dfsadmin -saveNamespace\'</div></li>' + '<li>You will be able to proceed once Ambari detects that the NameNode is in Safe Mode and the Checkpoint has been created successfully.</li>'+ - '<div class="alert alert-warn">If the <b>Next</b> button is enabled before you run the <b>"Step 4: Create a Checkpoint"</b> command, it means there is a recent Checkpoint already and you may proceed without running the <b>"Step 4: Create a Checkpoint"</b> command.</div>' + + '<div class="alert alert-warning">If the <b>Next</b> button is enabled before you run the <b>"Step 4: Create a Checkpoint"</b> command, it means there is a recent Checkpoint already and you may proceed without running the <b>"Step 4: Create a Checkpoint"</b> command.</div>' + '</ol>', 'admin.highAvailability.wizard.step3.confirm.host.body':'<b>Confirm your host selections.</b>', 'admin.highAvailability.wizard.step3.confirm.config.body':'<div class="alert alert-info">' + @@ -1517,7 +1517,7 @@ Em.I18n.translations = { 'admin.security.step1.body.instruction2': 'Install and configure the Kerberos client on every host in the cluster', 'admin.security.step1.body.instruction3': 'Create Kerberos principals for Hadoop services and hosts', 'admin.security.step1.body.instruction4': 'Generate keytabs for each principal and place on the appropriate hosts', - 'admin.security.step1.body.instruction5': '<b>Application Timeline Server</b> component of YARN service will be <span class="text-error"><b>deleted</b></span> as part of enabling security in this HDP stack version', + 'admin.security.step1.body.instruction5': '<b>Application Timeline Server</b> component of YARN service will be <span class="text-danger"><b>deleted</b></span> as part of enabling security in this HDP stack version', 'admin.security.step2.body.header': 'Configure Kerberos security properties', 'admin.security.step3.notice': 'You need to create Kerberos principals and keytabs before proceeding.<br />'+ 'Download the CSV file and use it to create a script to generate the principals and keytabs on specified hosts. ' + @@ -2237,7 +2237,7 @@ Em.I18n.translations = { '<div class="alert alert-info">' + '<ol start="3">' + '<li>Login to the newly installed NameNode host <b>{2}</b>.<br>' + - '<div class="alert alert-warn"><strong>Important!</strong> Be sure to login to the newly installed NameNode host.<br>This is a different host from the Steps 1 and 2 above.</div>' + + '<div class="alert alert-warning"><strong>Important!</strong> Be sure to login to the newly installed NameNode host.<br>This is a different host from the Steps 1 and 2 above.</div>' + '</li>' + '<li>Initialize the metadata by running:' + "<div class='code-snippet'>sudo su {3} -l -c 'hdfs namenode -bootstrapStandby'</div></li>" + @@ -2283,7 +2283,7 @@ Em.I18n.translations = { '<div class="code-snippet">chmod -R 700 {7}/{8}</div></li>' + '</ol>' + '</div>', - 'services.reassign.step5.body.securityNotice': '<div class="alert alert-info"> <div class="alert alert-warn"> <strong>Note: </strong> Secure cluster' + + 'services.reassign.step5.body.securityNotice': '<div class="alert alert-info"> <div class="alert alert-warning"> <strong>Note: </strong> Secure cluster' + ' requires generating necessary principals for reassigned component and creating keytab files with the principal on ' + 'the target host. The keytab file should be accessible to the service user.</div> {0} </div>', 'services.reassign.step5.body.securityConfigsList': 'Create keytab file <b>{0}</b> with principal <b>{1}</b> on <b>{2}</b> host.', @@ -2642,7 +2642,7 @@ Em.I18n.translations = { 'charts.horizon.chart.attributes.network':'Network', 'charts.horizon.chart.attributes.io':'I/O', - 'charts.heatmap.selectMetric':'Select Metric...', + 'charts.heatmap.selectMetric':'Select Metric', 'charts.heatmap.category.host':'Host', 'charts.heatmap.item.host.memory':'Memory Used', @@ -3010,7 +3010,7 @@ Em.I18n.translations = { 'menu.item.hosts':'Hosts', 'menu.item.admin':'Admin', 'menu.item.alerts': 'Alerts', - 'menu.item.views':'<i class="icon-th"></i>', + 'menu.item.views':'<i class="glyphicon glyphicon-th"></i>', 'menu.item.views.noViews':'No Views', 'bulkOperation.loading': 'Loading...', http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/mixins/common/configs/configs_saver.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/mixins/common/configs/configs_saver.js b/ambari-web/app/mixins/common/configs/configs_saver.js index 6592203..8127a81 100644 --- a/ambari-web/app/mixins/common/configs/configs_saver.js +++ b/ambari-web/app/mixins/common/configs/configs_saver.js @@ -950,6 +950,7 @@ App.ConfigsSaverMixin = Em.Mixin.create({ header: Em.I18n.t('common.warning'), bodyClass: Em.View.extend({ templateName: require('templates/common/configs/save_configuration'), + classNames: ['col-md-12'], showSaveWarning: true, showPasswordChangeWarning: passwordWasChanged, notesArea: Em.TextArea.extend({ http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/mixins/common/widgets/widget_mixin.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/mixins/common/widgets/widget_mixin.js b/ambari-web/app/mixins/common/widgets/widget_mixin.js index 5ec4dd6..0ccc93e 100644 --- a/ambari-web/app/mixins/common/widgets/widget_mixin.js +++ b/ambari-web/app/mixins/common/widgets/widget_mixin.js @@ -458,17 +458,17 @@ App.WidgetMixin = Ember.Mixin.create({ if (this.get('isLoaded')) { Em.run.next(function(){ - App.tooltip(self.$(".corner-icon > .icon-copy"), {title: Em.I18n.t('common.clone')}); - App.tooltip(self.$(".corner-icon > .icon-edit"), {title: Em.I18n.t('common.edit')}); - App.tooltip(self.$(".corner-icon > .icon-save"), {title: Em.I18n.t('common.export')}); + App.tooltip(self.$(".corner-icon > .glyphicon-copy"), {title: Em.I18n.t('common.clone')}); + App.tooltip(self.$(".corner-icon > .glyphicon-edit"), {title: Em.I18n.t('common.edit')}); + App.tooltip(self.$(".corner-icon > .glyphicon-save"), {title: Em.I18n.t('common.export')}); }); } }.observes('isLoaded'), willDestroyElement: function() { - this.$(".corner-icon > .icon-copy").tooltip('destroy'); - this.$(".corner-icon > .icon-edit").tooltip('destroy'); - this.$(".corner-icon > .icon-save").tooltip('destroy'); + this.$(".corner-icon > .glyphicon-copy").tooltip('destroy'); + this.$(".corner-icon > .glyphicon-edit").tooltip('destroy'); + this.$(".corner-icon > .glyphicon-save").tooltip('destroy'); }, /** http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/mixins/main/dashboard/widgets/editable.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/mixins/main/dashboard/widgets/editable.js b/ambari-web/app/mixins/main/dashboard/widgets/editable.js index c5d3bb4..f330ec3 100644 --- a/ambari-web/app/mixins/main/dashboard/widgets/editable.js +++ b/ambari-web/app/mixins/main/dashboard/widgets/editable.js @@ -72,7 +72,8 @@ App.EditableWidgetMixin = Em.Mixin.create({ var browserVerion = this.getInternetExplorerVersion(); App.ModalPopup.show( { header: Em.I18n.t('dashboard.widgets.popupHeader'), - classNames: [ 'sixty-percent-width-modal-edit-widget'], + classNames: [ 'modal-edit-widget'], + modalDialogClasses: ['modal-lg'], bodyClass: Ember.View.extend({ templateName: require('templates/main/dashboard/edit_widget_popup'), configPropertyObj: configObj http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/mixins/main/dashboard/widgets/editable_with_limit.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/mixins/main/dashboard/widgets/editable_with_limit.js b/ambari-web/app/mixins/main/dashboard/widgets/editable_with_limit.js index b10d386..df1b645 100644 --- a/ambari-web/app/mixins/main/dashboard/widgets/editable_with_limit.js +++ b/ambari-web/app/mixins/main/dashboard/widgets/editable_with_limit.js @@ -81,7 +81,8 @@ App.EditableWithLimitWidgetMixin = Em.Mixin.create({ var browserVerion = this.getInternetExplorerVersion(); App.ModalPopup.show({ header: Em.I18n.t('dashboard.widgets.popupHeader'), - classNames: ['sixty-percent-width-modal-edit-widget'], + classNames: ['modal-edit-widget'], + modalDialogClasses: ['modal-lg'], bodyClass: Ember.View.extend({ templateName: require('templates/main/dashboard/edit_widget_popup'), configPropertyObj: configObj http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/mixins/main/dashboard/widgets/single_numeric_threshold.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/mixins/main/dashboard/widgets/single_numeric_threshold.js b/ambari-web/app/mixins/main/dashboard/widgets/single_numeric_threshold.js index cbb81b3..12c7d1a 100644 --- a/ambari-web/app/mixins/main/dashboard/widgets/single_numeric_threshold.js +++ b/ambari-web/app/mixins/main/dashboard/widgets/single_numeric_threshold.js @@ -79,7 +79,8 @@ App.SingleNumericThresholdMixin = Em.Mixin.create({ var browserVersion = this.getInternetExplorerVersion(); App.ModalPopup.show({ header: Em.I18n.t('dashboard.widgets.popupHeader'), - classNames: ['sixty-percent-width-modal-edit-widget'], + classNames: ['modal-edit-widget'], + modalDialogClasses: ['modal-lg'], bodyClass: Ember.View.extend({ templateName: require('templates/main/dashboard/edit_widget_popup_single_threshold'), configPropertyObj: configObj http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/mixins/main/host/details/host_components/decommissionable.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/mixins/main/host/details/host_components/decommissionable.js b/ambari-web/app/mixins/main/host/details/host_components/decommissionable.js index 38d5b17..d3eb0c5 100644 --- a/ambari-web/app/mixins/main/host/details/host_components/decommissionable.js +++ b/ambari-web/app/mixins/main/host/details/host_components/decommissionable.js @@ -87,12 +87,12 @@ App.Decommissionable = Em.Mixin.create({ //Class when install failed if (this.get('workStatus') === App.HostComponentStatus.install_failed) { - return 'health-status-color-red icon-cog'; + return 'health-status-color-red glyphicon glyphicon-cog'; } //Class when installing if (this.get('workStatus') === App.HostComponentStatus.installing) { - return 'health-status-color-blue icon-cog'; + return 'health-status-color-blue glyphicon glyphicon-cog'; } if (this.get('isComponentRecommissionAvailable') && (this.get('isStart') || this.get('workStatus') == 'INSTALLED')) { @@ -317,7 +317,8 @@ App.Decommissionable = Em.Mixin.create({ decommissionView: Em.View.extend({ - + classNameBindings: ['parentView.noActionAvailable'], + tagName: 'li', templateName: require('templates/main/host/decommission'), text: Em.computed.ifThenElse('parentView.isComponentDecommissionAvailable', Em.I18n.t('common.decommission'), Em.I18n.t('common.recommission')), http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/mixins/main/service/configs/config_overridable.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/mixins/main/service/configs/config_overridable.js b/ambari-web/app/mixins/main/service/configs/config_overridable.js index a8bd273..92891be 100644 --- a/ambari-web/app/mixins/main/service/configs/config_overridable.js +++ b/ambari-web/app/mixins/main/service/configs/config_overridable.js @@ -102,7 +102,8 @@ App.ConfigOverridable = Em.Mixin.create({ var serviceName = App.format.role(serviceId, true); return App.ModalPopup.show({ - classNames: ['sixty-percent-width-modal'], + classNames: ['common-modal-wrapper'], + modalDialogClasses: ['modal-lg'], header: Em.I18n.t('config.group.selection.dialog.title').format(serviceName), subTitle: Em.I18n.t('config.group.selection.dialog.subtitle').format(serviceName), selectExistingGroupLabel: Em.I18n.t('config.group.selection.dialog.option.select').format(serviceName), http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/mixins/main/service/configs/widget_popover_support.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/mixins/main/service/configs/widget_popover_support.js b/ambari-web/app/mixins/main/service/configs/widget_popover_support.js index 96a2578..7fd57f7 100644 --- a/ambari-web/app/mixins/main/service/configs/widget_popover_support.js +++ b/ambari-web/app/mixins/main/service/configs/widget_popover_support.js @@ -52,7 +52,7 @@ App.WidgetPopoverSupport = Em.Mixin.create({ this.destroyPopover(); var leftPopoverTemplate = '<div class="popover config-widget-left-popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>', isWidget = !Em.isEmpty(this.$('.original-widget')), - popoverSelector = isWidget ? this.$('.original-widget') : this.$('.input-append'); + popoverSelector = isWidget ? this.$('.original-widget') : this.$('.input-group'); App.popover(popoverSelector, { template: this.get('popoverPlacement') === 'left'? leftPopoverTemplate : undefined, @@ -63,6 +63,7 @@ App.WidgetPopoverSupport = Em.Mixin.create({ content: this.get('config.description'), placement: this.get('popoverPlacement'), trigger: 'hover', + html: true, delay: { show: 1000, hide: 0 @@ -87,7 +88,7 @@ App.WidgetPopoverSupport = Em.Mixin.create({ }.observes('config.showAsTextBox'), movePopover: function (action) { - var popoverSelector = Em.isEmpty(this.$('.original-widget')) ? this.$('.input-append') : this.$('.original-widget'); + var popoverSelector = Em.isEmpty(this.$('.original-widget')) ? this.$('.input-group') : this.$('.original-widget'); if (popoverSelector) { this.$(popoverSelector).popover(action) } http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/mixins/wizard/wizardProgressPageView.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/mixins/wizard/wizardProgressPageView.js b/ambari-web/app/mixins/wizard/wizardProgressPageView.js index 8197086..66ff712 100644 --- a/ambari-web/app/mixins/wizard/wizardProgressPageView.js +++ b/ambari-web/app/mixins/wizard/wizardProgressPageView.js @@ -69,7 +69,7 @@ App.wizardProgressPageViewMixin = Em.Mixin.create({ * Class to define task label width * @type {String} */ - labelWidth: 'span4', + labelWidth: 'col-md-4', onStatusChange: function () { var status = this.get('controller.status'); @@ -100,16 +100,16 @@ App.wizardProgressPageViewMixin = Em.Mixin.create({ var linkClass = !!this.get('content.requestIds.length') ? 'active-link' : 'active-text'; this.set('linkClass', linkClass); if (this.get('content.status') === 'IN_PROGRESS') { - this.set('icon', 'icon-cog'); + this.set('icon', 'glyphicon glyphicon-cog'); this.set('iconColor', 'text-info'); } else if (this.get('content.status') === 'FAILED') { - this.set('icon', 'icon-exclamation-sign'); - this.set('iconColor', 'text-error'); + this.set('icon', 'glyphicon glyphicon-exclamation-sign'); + this.set('iconColor', 'text-danger'); } else if (this.get('content.status') === 'COMPLETED') { - this.set('icon', 'icon-ok'); + this.set('icon', 'glyphicon glyphicon-ok'); this.set('iconColor', 'text-success'); } else { - this.set('icon', 'icon-cog'); + this.set('icon', 'glyphicon glyphicon-cog'); this.set('iconColor', ''); this.set('linkClass', 'not-active-link'); } http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/models/alerts/alert_config.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/models/alerts/alert_config.js b/ambari-web/app/models/alerts/alert_config.js index efbfebf..5a4a84e 100644 --- a/ambari-web/app/models/alerts/alert_config.js +++ b/ambari-web/app/models/alerts/alert_config.js @@ -163,7 +163,6 @@ App.AlertConfigProperties = { name: 'alert_name', label: 'Alert Name', displayType: 'textField', - classNames: 'alert-text-input', apiProperty: 'name' }), @@ -222,7 +221,6 @@ App.AlertConfigProperties = { name: 'description', label: 'Description', displayType: 'textArea', - classNames: 'alert-config-text-area', // todo: check value after API will be provided apiProperty: 'description' }), @@ -232,7 +230,7 @@ App.AlertConfigProperties = { label: 'Check Interval', displayType: 'textField', unit: 'Minute', - classNames: 'alert-interval-input', + colWidth: 'col-md-3', apiProperty: 'interval', isValid: function () { var value = this.get('value'); @@ -294,8 +292,6 @@ App.AlertConfigProperties = { displayType: 'threshold', - classNames: 'alert-thresholds-input', - apiProperty: [], init: function () { @@ -410,7 +406,6 @@ App.AlertConfigProperties = { name: 'uri', label: 'URI', displayType: 'textField', - classNames: 'alert-text-input', apiProperty: 'source.uri' }), @@ -418,7 +413,6 @@ App.AlertConfigProperties = { name: 'uri', label: 'URI', displayType: 'textArea', - classNames: 'alert-config-text-area', apiProperty: 'source.uri', apiFormattedValue: function () { var result = {}; @@ -435,7 +429,6 @@ App.AlertConfigProperties = { name: 'default_port', label: 'Default Port', displayType: 'textField', - classNames: 'alert-port-input', apiProperty: 'source.default_port' }), @@ -443,7 +436,6 @@ App.AlertConfigProperties = { name: 'path', label: 'Path', displayType: 'textField', - classNames: 'alert-text-input', apiProperty: 'source.path' }), @@ -451,7 +443,6 @@ App.AlertConfigProperties = { name: 'metrics', label: 'JMX/Ganglia Metrics', displayType: 'textArea', - classNames: 'alert-config-text-area', apiProperty: Em.computed.ifThenElse('isJMXMetric', 'source.jmx.property_list', 'source.ganglia.property_list'), apiFormattedValue: function () { return this.get('value').split(',\n'); @@ -462,7 +453,6 @@ App.AlertConfigProperties = { name: 'metrics_string', label: 'Format String', displayType: 'textArea', - classNames: 'alert-config-text-area', apiProperty: Em.computed.ifThenElse('isJMXMetric', 'source.jmx.value', 'source.ganglia.value') }), @@ -482,7 +472,7 @@ App.AlertConfigProperties = { * Custom css-class for different badges * type {string} */ - badgeCssClass: Em.computed.format('alert-state-{0}', 'badge'), + badgeCssClass: Em.computed.format('alert-state-{0}', 'badge') }) http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/models/alerts/alert_definition.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/models/alerts/alert_definition.js b/ambari-web/app/models/alerts/alert_definition.js index 4da7199..a3c8850 100644 --- a/ambari-web/app/models/alerts/alert_definition.js +++ b/ambari-web/app/models/alerts/alert_definition.js @@ -229,14 +229,14 @@ App.AlertDefinition = DS.Model.extend({ * @type {object} */ typeIcons: { - 'METRIC': 'icon-bolt', - 'SCRIPT': 'icon-file-text', - 'WEB': 'icon-globe', - 'PORT': 'icon-signin', - 'AGGREGATE': 'icon-plus', - 'SERVER': 'icon-desktop', - 'RECOVERY': 'icon-desktop', - 'AMS': 'icon-bar-chart' + 'METRIC': 'glyphicon glyphicon-flash', + 'SCRIPT': 'glyphicon glyphicon-file', + 'WEB': 'glyphicon glyphicon-globe', + 'PORT': 'glyphicon glyphicon-log-in', + 'AGGREGATE': 'glyphicon glyphicon-plus', + 'SERVER': 'glyphicon glyphicon-oil', + 'RECOVERY': 'glyphicon glyphicon-oil', + 'AMS': 'glyphicon glyphicon-stats' }, /** http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/models/alerts/alert_instance.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/models/alerts/alert_instance.js b/ambari-web/app/models/alerts/alert_instance.js index b366802..1e2d71e 100644 --- a/ambari-web/app/models/alerts/alert_instance.js +++ b/ambari-web/app/models/alerts/alert_instance.js @@ -144,7 +144,7 @@ App.AlertInstance = DS.Model.extend({ * @type {object} */ typeIcons: { - 'DISABLED': 'icon-off' + 'DISABLED': 'glyphicon glyphicon-off' }, repeatToleranceReceived: function () { http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/models/authentication.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/models/authentication.js b/ambari-web/app/models/authentication.js index 436c184..bac88be 100644 --- a/ambari-web/app/models/authentication.js +++ b/ambari-web/app/models/authentication.js @@ -99,6 +99,6 @@ App.AuthenticationForm = App.Form.extend({ }, testConfigurationMessage: Em.computed.ifThenElse('testResult', Em.I18n.t('admin.authentication.form.test.success'), Em.I18n.t('admin.authentication.form.test.fail')), - testConfigurationClass: Em.computed.ifThenElse('testResult', 'text-success', 'text-error') + testConfigurationClass: Em.computed.ifThenElse('testResult', 'text-success', 'text-danger') }); \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/models/host_component.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/models/host_component.js b/ambari-web/app/models/host_component.js index 11ea659..8f2774e 100644 --- a/ambari-web/app/models/host_component.js +++ b/ambari-web/app/models/host_component.js @@ -284,19 +284,19 @@ App.HostComponentActionMap = { action: 'restartAllHostComponents', context: ctx.get('serviceName'), label: Em.I18n.t('restart.service.all'), - cssClass: 'icon-repeat', + cssClass: 'glyphicon glyphicon-repeat', disabled: false }, RUN_SMOKE_TEST: { action: 'runSmokeTest', label: Em.I18n.t('services.service.actions.run.smoke'), - cssClass: 'icon-thumbs-up-alt', + cssClass: 'glyphicon glyphicon-thumbs-up', disabled: ctx.get('controller.isSmokeTestDisabled') }, REFRESH_CONFIGS: { action: 'refreshConfigs', label: Em.I18n.t('hosts.host.details.refreshConfigs'), - cssClass: 'icon-refresh', + cssClass: 'glyphicon glyphicon-refresh', disabled: false }, REFRESHQUEUES: { @@ -304,14 +304,14 @@ App.HostComponentActionMap = { customCommand: 'REFRESHQUEUES', context : Em.I18n.t('services.service.actions.run.yarnRefreshQueues.context'), label: Em.I18n.t('services.service.actions.run.yarnRefreshQueues.menu'), - cssClass: 'icon-refresh', + cssClass: 'glyphicon glyphicon-refresh', disabled: false }, ROLLING_RESTART: { action: 'rollingRestart', context: ctx.get('rollingRestartComponent'), label: Em.I18n.t('rollingrestart.dialog.title'), - cssClass: 'icon-time', + cssClass: 'glyphicon glyphicon-time', disabled: false }, TOGGLE_PASSIVE: { @@ -324,21 +324,21 @@ App.HostComponentActionMap = { TOGGLE_NN_HA: { action: App.get('isHaEnabled') ? 'disableHighAvailability' : 'enableHighAvailability', label: App.get('isHaEnabled') ? Em.I18n.t('admin.highAvailability.button.disable') : Em.I18n.t('admin.highAvailability.button.enable'), - cssClass: App.get('isHaEnabled') ? 'icon-arrow-down' : 'icon-arrow-up', + cssClass: App.get('isHaEnabled') ? 'glyphicon glyphicon-arrow-down' : 'glyphicon glyphicon-arrow-up', isHidden: App.get('isHaEnabled'), disabled: App.get('isSingleNode') || !NN || NN.get('isNotInstalled') }, TOGGLE_RM_HA: { action: 'enableRMHighAvailability', label: App.get('isRMHaEnabled') ? Em.I18n.t('admin.rm_highAvailability.button.disable') : Em.I18n.t('admin.rm_highAvailability.button.enable'), - cssClass: App.get('isRMHaEnabled') ? 'icon-arrow-down' : 'icon-arrow-up', + cssClass: App.get('isRMHaEnabled') ? 'glyphicon glyphicon-arrow-down' : 'glyphicon glyphicon-arrow-up', isHidden: App.get('isRMHaEnabled'), disabled: App.get('isSingleNode') || !RM || RM.get('isNotInstalled') }, TOGGLE_RA_HA: { action: 'enableRAHighAvailability', label: Em.I18n.t('admin.ra_highAvailability.button.enable'), - cssClass: 'icon-arrow-up', + cssClass: 'glyphicon glyphicon-arrow-up', isHidden: App.get('isRAHaEnabled'), disabled: App.get('isSingleNode') || !RA || RA.get('isNotInstalled') }, @@ -347,14 +347,14 @@ App.HostComponentActionMap = { context: '', isHidden: !App.isAuthorized('SERVICE.MOVE'), label: Em.I18n.t('services.service.actions.reassign.master'), - cssClass: 'icon-share-alt' + cssClass: 'glyphicon glyphicon-share-alt' }, STARTDEMOLDAP: { action: 'startLdapKnox', customCommand: 'STARTDEMOLDAP', context: Em.I18n.t('services.service.actions.run.startLdapKnox.context'), label: Em.I18n.t('services.service.actions.run.startLdapKnox.context'), - cssClass: 'icon-play-sign', + cssClass: 'glyphicon glyphicon-play-sign', disabled: false }, STOPDEMOLDAP: { @@ -362,7 +362,7 @@ App.HostComponentActionMap = { customCommand: 'STOPDEMOLDAP', context: Em.I18n.t('services.service.actions.run.stopLdapKnox.context'), label: Em.I18n.t('services.service.actions.run.stopLdapKnox.context'), - cssClass: 'icon-stop', + cssClass: 'glyphicon glyphicon-stop', disabled: false }, RESTART_LLAP: { @@ -370,20 +370,20 @@ App.HostComponentActionMap = { customCommand: 'RESTART_LLAP', context: Em.I18n.t('services.service.actions.run.restartLLAP'), label: Em.I18n.t('services.service.actions.run.restartLLAP') + ' â', - cssClass: 'icon-refresh' + cssClass: 'glyphicon glyphicon-refresh' }, REBALANCEHDFS: { action: 'rebalanceHdfsNodes', customCommand: 'REBALANCEHDFS', context: Em.I18n.t('services.service.actions.run.rebalanceHdfsNodes.context'), label: Em.I18n.t('services.service.actions.run.rebalanceHdfsNodes'), - cssClass: 'icon-refresh', + cssClass: 'glyphicon glyphicon-refresh', disabled: false }, DOWNLOAD_CLIENT_CONFIGS: { action: ctx.get('controller.isSeveralClients') ? '' : 'downloadClientConfigs', label: Em.I18n.t('services.service.actions.downloadClientConfigs'), - cssClass: 'icon-download-alt', + cssClass: 'glyphicon glyphicon-download-alt', isHidden: !!ctx.get('controller.content.clientComponents') ? ctx.get('controller.content.clientComponents').rejectProperty('totalCount', 0).length == 0 : false, disabled: false, hasSubmenu: ctx.get('controller.isSeveralClients'), @@ -393,35 +393,35 @@ App.HostComponentActionMap = { action: 'deleteService', context: ctx.get('serviceName'), label: Em.I18n.t('services.service.actions.deleteService'), - cssClass: 'icon-remove' + cssClass: 'glyphicon glyphicon-remove' }, IMMEDIATE_STOP_HAWQ_SERVICE: { action: 'executeHawqCustomCommand', customCommand: 'IMMEDIATE_STOP_HAWQ_SERVICE', context: Em.I18n.t('services.service.actions.run.immediateStopHawqService.context'), label: Em.I18n.t('services.service.actions.run.immediateStopHawqService.label'), - cssClass: 'icon-stop', + cssClass: 'glyphicon glyphicon-stop', disabled: !HM || HM.get('workStatus') != App.HostComponentStatus.started }, IMMEDIATE_STOP_HAWQ_SEGMENT: { customCommand: 'IMMEDIATE_STOP_HAWQ_SEGMENT', context: Em.I18n.t('services.service.actions.run.immediateStopHawqSegment.context'), label: Em.I18n.t('services.service.actions.run.immediateStopHawqSegment.label'), - cssClass: 'icon-stop' + cssClass: 'glyphicon glyphicon-stop' }, RESYNC_HAWQ_STANDBY: { action: 'executeHawqCustomCommand', customCommand: 'RESYNC_HAWQ_STANDBY', context: Em.I18n.t('services.service.actions.run.resyncHawqStandby.context'), label: Em.I18n.t('services.service.actions.run.resyncHawqStandby.label'), - cssClass: 'icon-refresh', + cssClass: 'glyphicon glyphicon-refresh', isHidden : App.get('isSingleNode') || !HS , disabled: !((!!HMComponent && HMComponent.get('startedCount') === 1) && (!!HSComponent && HSComponent.get('startedCount') === 1)) }, TOGGLE_ADD_HAWQ_STANDBY: { action: 'addHawqStandby', label: Em.I18n.t('admin.addHawqStandby.button.enable'), - cssClass: 'icon-plus', + cssClass: 'glyphicon glyphicon-plus', isHidden: App.get('isSingleNode') || HS, disabled: false }, @@ -429,7 +429,7 @@ App.HostComponentActionMap = { action: 'removeHawqStandby', context: Em.I18n.t('admin.removeHawqStandby.button.enable'), label: Em.I18n.t('admin.removeHawqStandby.button.enable'), - cssClass: 'icon-minus', + cssClass: 'glyphicon glyphicon-minus', isHidden: App.get('isSingleNode') || !HS, disabled: !HM || HM.get('workStatus') != App.HostComponentStatus.started, hideFromComponentView: true @@ -438,7 +438,7 @@ App.HostComponentActionMap = { action: 'activateHawqStandby', label: Em.I18n.t('admin.activateHawqStandby.button.enable'), context: Em.I18n.t('admin.activateHawqStandby.button.enable'), - cssClass: 'icon-arrow-up', + cssClass: 'glyphicon glyphicon-arrow-up', isHidden: App.get('isSingleNode') || !HS, disabled: false, hideFromComponentView: true @@ -448,7 +448,7 @@ App.HostComponentActionMap = { customCommand: 'HAWQ_CLEAR_CACHE', context: Em.I18n.t('services.service.actions.run.clearHawqCache.label'), label: Em.I18n.t('services.service.actions.run.clearHawqCache.label'), - cssClass: 'icon-refresh', + cssClass: 'glyphicon glyphicon-refresh', isHidden : false, disabled: !HM || HM.get('workStatus') != App.HostComponentStatus.started }, @@ -457,13 +457,13 @@ App.HostComponentActionMap = { customCommand: 'RUN_HAWQ_CHECK', context: Em.I18n.t('services.service.actions.run.runHawqCheck.label'), label: Em.I18n.t('services.service.actions.run.runHawqCheck.label'), - cssClass: 'icon-thumbs-up-alt', + cssClass: 'glyphicon glyphicon-thumbs-up', isHidden : false, disabled: false }, MASTER_CUSTOM_COMMAND: { action: 'executeCustomCommand', - cssClass: 'icon-play-circle', + cssClass: 'glyphicon glyphicon-play-circle', isHidden: false, disabled: false } http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/models/hosts.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/models/hosts.js b/ambari-web/app/models/hosts.js index 9275b3e..edc08be 100644 --- a/ambari-web/app/models/hosts.js +++ b/ambari-web/app/models/hosts.js @@ -24,7 +24,7 @@ App.HostInfo = Ember.Object.extend({ cpu: null, memory: null, message: 'Information', - barColor: 'progress-info', + barColor: 'progress-bar-info', isChecked: true, bootLog:null, bootStatus: 'PENDING', @@ -40,22 +40,22 @@ App.HostInfo = Ember.Object.extend({ REGISTERING: 'Registering' }, - bootBarColor: Em.computed.getByKey('bootBarColorMap', 'bootStatus', 'progress-info'), + bootBarColor: Em.computed.getByKey('bootBarColorMap', 'bootStatus', 'progress-bar-info'), bootBarColorMap: { - REGISTERED: 'progress-success', - FAILED: 'progress-danger', - PENDING: 'progress-info', - RUNNING: 'progress-info', - DONE: 'progress-info', - REGISTERING: 'progress-info' + REGISTERED: 'progress-bar-success', + FAILED: 'progress-bar-danger', + PENDING: 'progress-bar-info', + RUNNING: 'progress-bar-info', + DONE: 'progress-bar-info', + REGISTERING: 'progress-bar-info' }, bootStatusColor:Em.computed.getByKey('bootStatusColorMap', 'bootStatus', 'text-info'), bootStatusColorMap: { REGISTERED: 'text-success', - FAILED: 'text-error', + FAILED: 'text-danger', PENDING: 'text-info', RUNNING: 'text-info', DONE: 'text-info', http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/models/repository.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/models/repository.js b/ambari-web/app/models/repository.js index 0b7ee69..9caef59 100644 --- a/ambari-web/app/models/repository.js +++ b/ambari-web/app/models/repository.js @@ -73,9 +73,9 @@ App.Repository = DS.Model.extend({ App.Repository.validation = { PENDING: '', - INVALID: 'icon-exclamation-sign', - OK: 'icon-ok', - INPROGRESS: 'icon-repeat' + INVALID: 'glyphicon glyphicon-exclamation-sign', + OK: 'glyphicon glyphicon-ok', + INPROGRESS: 'glyphicon glyphicon-repeat' }; http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/router.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/router.js b/ambari-web/app/router.js index 0270771..d671e86 100644 --- a/ambari-web/app/router.js +++ b/ambari-web/app/router.js @@ -266,7 +266,7 @@ App.Router = Em.Router.extend({ success: 'onAuthenticationSuccess', error: 'onAuthenticationError' }).complete(function (xhr) { - if (xhr.isResolved()) { + if (xhr.state() === 'resolved') { // if server knows the user and user authenticated by UI if (auth) { dfd.resolve(self.get('loggedIn')); @@ -478,7 +478,8 @@ App.Router = Em.Router.extend({ if(text && status){ return App.ModalPopup.show({ - classNames: ['sixty-percent-width-modal'], + classNames: ['common-modal-wrapper'], + modalDialogClasses: ['modal-lg'], header: Em.I18n.t('login.message.title'), bodyClass: Ember.View.extend({ template: Ember.Handlebars.compile(text) http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/routes/activate_hawq_standby_routes.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/routes/activate_hawq_standby_routes.js b/ambari-web/app/routes/activate_hawq_standby_routes.js index 8ab19db..9ba6073 100644 --- a/ambari-web/app/routes/activate_hawq_standby_routes.js +++ b/ambari-web/app/routes/activate_hawq_standby_routes.js @@ -27,7 +27,8 @@ module.exports = App.WizardRoute.extend({ App.router.set('mainServiceItemController.content', App.Service.find().findProperty('serviceName', 'HAWQ')); App.router.get('updateController').set('isWorking', false); var popup = App.ModalPopup.show({ - classNames: ['full-width-modal'], + classNames: ['wizard-modal-wrapper'], + modalDialogClasses: ['modal-xlg'], header: Em.I18n.t('admin.activateHawqStandby.wizard.header'), bodyClass: App.ActivateHawqStandbyWizardView.extend({ controller: activateHawqStandbyWizardController http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/routes/add_alert_definition_routes.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/routes/add_alert_definition_routes.js b/ambari-web/app/routes/add_alert_definition_routes.js index 15d0103..02d8c18 100644 --- a/ambari-web/app/routes/add_alert_definition_routes.js +++ b/ambari-web/app/routes/add_alert_definition_routes.js @@ -28,7 +28,8 @@ module.exports = App.WizardRoute.extend({ var addAlertDefinitionController = router.get('addAlertDefinitionController'); App.router.get('updateController').set('isWorking', false); var popup = App.ModalPopup.show({ - classNames: ['full-width-modal'], + classNames: ['wizard-modal-wrapper'], + modalDialogClasses: ['modal-xlg'], header: Em.I18n.t('alerts.add.header'), bodyClass: App.AddAlertDefinitionView.extend({ controllerBinding: 'App.router.addAlertDefinitionController' http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/routes/add_hawq_standby_routes.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/routes/add_hawq_standby_routes.js b/ambari-web/app/routes/add_hawq_standby_routes.js index d802808..346f506 100644 --- a/ambari-web/app/routes/add_hawq_standby_routes.js +++ b/ambari-web/app/routes/add_hawq_standby_routes.js @@ -28,7 +28,8 @@ module.exports = App.WizardRoute.extend({ App.router.set('mainServiceItemController.content', App.Service.find().findProperty('serviceName', 'HAWQ')); App.router.get('updateController').set('isWorking', false); var popup = App.ModalPopup.show({ - classNames: ['full-width-modal'], + classNames: ['wizard-modal-wrapper'], + modalDialogClasses: ['modal-xlg'], header: Em.I18n.t('admin.addHawqStandby.wizard.header'), bodyClass: App.AddHawqStandbyWizardView.extend({ controller: addHawqStandbyWizardController http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/routes/add_host_routes.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/routes/add_host_routes.js b/ambari-web/app/routes/add_host_routes.js index c733a66..f18cc2c 100644 --- a/ambari-web/app/routes/add_host_routes.js +++ b/ambari-web/app/routes/add_host_routes.js @@ -33,7 +33,8 @@ module.exports = App.WizardRoute.extend({ var addHostController = router.get('addHostController'); App.router.get('updateController').set('isWorking', false); var popup = App.ModalPopup.show({ - classNames: ['full-width-modal'], + classNames: ['wizard-modal-wrapper'], + modalDialogClasses: ['modal-xlg'], header: Em.I18n.t('hosts.add.header'), bodyClass: App.AddHostView.extend({ controllerBinding: 'App.router.addHostController' http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/routes/add_kerberos_routes.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/routes/add_kerberos_routes.js b/ambari-web/app/routes/add_kerberos_routes.js index 1568577..64ed3a3 100644 --- a/ambari-web/app/routes/add_kerberos_routes.js +++ b/ambari-web/app/routes/add_kerberos_routes.js @@ -26,7 +26,8 @@ module.exports = App.WizardRoute.extend({ var kerberosWizardController = router.get('kerberosWizardController'); App.router.get('updateController').set('isWorking', false); var popup = App.ModalPopup.show({ - classNames: ['full-width-modal'], + classNames: ['wizard-modal-wrapper'], + modalDialogClasses: ['modal-xlg'], header: Em.I18n.t('admin.kerberos.wizard.header'), bodyClass: App.KerberosWizardView.extend({ controller: kerberosWizardController http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/routes/add_service_routes.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/routes/add_service_routes.js b/ambari-web/app/routes/add_service_routes.js index 692d186..0dafdb7 100644 --- a/ambari-web/app/routes/add_service_routes.js +++ b/ambari-web/app/routes/add_service_routes.js @@ -32,8 +32,9 @@ module.exports = App.WizardRoute.extend({ var addServiceController = router.get('addServiceController'); App.router.get('updateController').set('isWorking', false); var popup = App.ModalPopup.show({ - classNames: ['full-width-modal', 'add-service-wizard-modal'], + classNames: ['wizard-modal-wrapper', 'add-service-wizard-modal'], header: Em.I18n.t('services.add.header'), + modalDialogClasses: ['modal-xlg'], bodyClass: App.AddServiceView.extend({ controllerBinding: 'App.router.addServiceController' }), http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/routes/create_widget.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/routes/create_widget.js b/ambari-web/app/routes/create_widget.js index 805b572..f014a7f 100644 --- a/ambari-web/app/routes/create_widget.js +++ b/ambari-web/app/routes/create_widget.js @@ -24,7 +24,8 @@ module.exports = App.WizardRoute.extend({ var widgetWizardController = router.get('widgetWizardController'); App.router.get('updateController').set('isWorking', false); var popup = App.ModalPopup.show({ - classNames: ['full-width-modal'], + classNames: ['wizard-modal-wrapper'], + modalDialogClasses: ['modal-xlg'], header: Em.I18n.t('widget.create.wizard.header'), bodyClass: App.WidgetWizardView.extend({ controller: widgetWizardController http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/routes/edit_widget.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/routes/edit_widget.js b/ambari-web/app/routes/edit_widget.js index adf3d75..39728eb 100644 --- a/ambari-web/app/routes/edit_widget.js +++ b/ambari-web/app/routes/edit_widget.js @@ -23,7 +23,8 @@ module.exports = App.WizardRoute.extend({ router.get('mainController').dataLoading().done(function () { var widgetEditController = router.get('widgetEditController'); var popup = App.ModalPopup.show({ - classNames: ['full-width-modal'], + classNames: ['wizard-modal-wrapper'], + modalDialogClasses: ['modal-xlg'], header: Em.I18n.t('widget.edit.wizard.header'), bodyClass: App.WidgetEditView.extend({ controller: widgetEditController http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/routes/high_availability_routes.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/routes/high_availability_routes.js b/ambari-web/app/routes/high_availability_routes.js index 4ab36e4..9530232 100644 --- a/ambari-web/app/routes/high_availability_routes.js +++ b/ambari-web/app/routes/high_availability_routes.js @@ -26,7 +26,8 @@ module.exports = App.WizardRoute.extend({ highAvailabilityWizardController.dataLoading().done(function () { App.router.get('updateController').set('isWorking', false); var popup = App.ModalPopup.show({ - classNames: ['full-width-modal'], + classNames: ['wizard-modal-wrapper'], + modalDialogClasses: ['modal-xlg'], header: Em.I18n.t('admin.highAvailability.wizard.header'), bodyClass: App.HighAvailabilityWizardView.extend({ controller: highAvailabilityWizardController http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/routes/main.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/routes/main.js b/ambari-web/app/routes/main.js index 8d19e0f..59f3cf4 100644 --- a/ambari-web/app/routes/main.js +++ b/ambari-web/app/routes/main.js @@ -415,7 +415,8 @@ module.exports = Em.Route.extend(App.RouterRedirections, { App.router.get('updateController').set('isWorking', false); router.get('mainController').dataLoading().done(function () { App.ModalPopup.show({ - classNames: ['full-width-modal'], + classNames: ['wizard-modal-wrapper'], + modalDialogClasses: ['modal-xlg'], header: Em.I18n.t('admin.removeSecurity.header'), bodyClass: App.KerberosDisableView.extend({ controllerBinding: 'App.router.kerberosDisableController' http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/routes/ra_high_availability_routes.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/routes/ra_high_availability_routes.js b/ambari-web/app/routes/ra_high_availability_routes.js index 9995937..ac975ab 100644 --- a/ambari-web/app/routes/ra_high_availability_routes.js +++ b/ambari-web/app/routes/ra_high_availability_routes.js @@ -30,7 +30,8 @@ module.exports = App.WizardRoute.extend({ Em.run.next(function () { App.router.get('updateController').set('isWorking', false); var popup = App.ModalPopup.show({ - classNames: ['full-width-modal'], + classNames: ['wizard-modal-wrapper'], + modalDialogClasses: ['modal-xlg'], header: Em.I18n.t('admin.ra_highAvailability.wizard.header'), bodyClass: App.RAHighAvailabilityWizardView.extend({ controller: rAHighAvailabilityWizardController http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/routes/reassign_master_routes.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/routes/reassign_master_routes.js b/ambari-web/app/routes/reassign_master_routes.js index 35bd96f..10ad0e9 100644 --- a/ambari-web/app/routes/reassign_master_routes.js +++ b/ambari-web/app/routes/reassign_master_routes.js @@ -35,7 +35,8 @@ module.exports = App.WizardRoute.extend({ Em.run.next(function () { App.router.get('updateController').set('isWorking', false); var popup = App.ModalPopup.show({ - classNames: ['full-width-modal'], + classNames: ['wizard-modal-wrapper'], + modalDialogClasses: ['modal-xlg'], header: Em.I18n.t('services.reassign.header'), bodyClass: App.ReassignMasterView.extend({ controller: reassignMasterController http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/routes/remove_hawq_standby_routes.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/routes/remove_hawq_standby_routes.js b/ambari-web/app/routes/remove_hawq_standby_routes.js index 8eb39d9..64250ee 100644 --- a/ambari-web/app/routes/remove_hawq_standby_routes.js +++ b/ambari-web/app/routes/remove_hawq_standby_routes.js @@ -29,7 +29,8 @@ module.exports = App.WizardRoute.extend({ Em.run.next(function() { App.router.get('updateController').set('isWorking', false); var popup = App.ModalPopup.show({ - classNames: ['full-width-modal'], + classNames: ['wizard-modal-wrapper'], + modalDialogClasses: ['modal-xlg'], header: Em.I18n.t('admin.removeHawqStandby.wizard.header'), bodyClass: App.RemoveHawqStandbyWizardView.extend({ controller: removeHawqStandbyWizardController http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/routes/rm_high_availability_routes.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/routes/rm_high_availability_routes.js b/ambari-web/app/routes/rm_high_availability_routes.js index af99c13..d8aa8b3 100644 --- a/ambari-web/app/routes/rm_high_availability_routes.js +++ b/ambari-web/app/routes/rm_high_availability_routes.js @@ -28,7 +28,8 @@ module.exports = App.WizardRoute.extend({ App.router.set('mainServiceItemController.content', App.Service.find().findProperty('serviceName', 'YARN')); App.router.get('updateController').set('isWorking', false); var popup = App.ModalPopup.show({ - classNames: ['full-width-modal'], + classNames: ['wizard-modal-wrapper'], + modalDialogClasses: ['modal-xlg'], header: Em.I18n.t('admin.rm_highAvailability.wizard.header'), bodyClass: App.RMHighAvailabilityWizardView.extend({ controller: rMHighAvailabilityWizardController http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/routes/rollbackHA_routes.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/routes/rollbackHA_routes.js b/ambari-web/app/routes/rollbackHA_routes.js index 17d3599..796d439 100644 --- a/ambari-web/app/routes/rollbackHA_routes.js +++ b/ambari-web/app/routes/rollbackHA_routes.js @@ -26,7 +26,8 @@ module.exports = App.WizardRoute.extend({ var rollbackHighAvailabilityWizardController = router.get('rollbackHighAvailabilityWizardController'); App.router.get('updateController').set('isWorking', false); var popup = App.ModalPopup.show({ - classNames: ['full-width-modal'], + classNames: ['wizard-modal-wrapper'], + modalDialogClasses: ['modal-xlg'], header: Em.I18n.t('admin.highAvailability.wizard.rollback.header.title'), bodyClass: App.RollbackHighAvailabilityWizardView.extend({ controller: rollbackHighAvailabilityWizardController http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/routes/stack_upgrade_routes.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/routes/stack_upgrade_routes.js b/ambari-web/app/routes/stack_upgrade_routes.js index be92f28..7cf83b6 100644 --- a/ambari-web/app/routes/stack_upgrade_routes.js +++ b/ambari-web/app/routes/stack_upgrade_routes.js @@ -34,7 +34,8 @@ module.exports = App.WizardRoute.extend({ App.router.get('updateController').set('isWorking', false); return App.ModalPopup.show({ - classNames: ['full-width-modal'], + classNames: ['upgrade-wizard-modal'], + modalDialogClasses: ['modal-xlg'], header: function () { var controller = App.router.get('mainAdminStackAndUpgradeController'); if (controller.get('isDowngrade')) { http://git-wip-us.apache.org/repos/asf/ambari/blob/2a77e39c/ambari-web/app/styles/alerts.less ---------------------------------------------------------------------- diff --git a/ambari-web/app/styles/alerts.less b/ambari-web/app/styles/alerts.less index e31ea30..eb3f5a3 100644 --- a/ambari-web/app/styles/alerts.less +++ b/ambari-web/app/styles/alerts.less @@ -17,27 +17,27 @@ */ @import 'common.less'; -.alert-state-OK { +.label.alert-state-OK { background-color: @health-status-green; } -.alert-state-WARNING { +.label.alert-state-WARNING { background-color: @health-status-orange; } -.alert-state-CRITICAL { +.label.alert-state-CRITICAL { background-color: @health-status-red; } -.alert-state-DISABLED { +.label.alert-state-DISABLED { color: #000; } -.alert-state-UNKNOWN { +.label.alert-state-UNKNOWN { background-color: @health-status-yellow; } -.alert-state-PENDING { +.label.alert-state-PENDING { background-color: #999; } @@ -69,6 +69,10 @@ margin-bottom: 10px; font-size: 13px \9; + .filter-input-width { + width: ~"calc(100% - 20px)"; + } + .filter-row { th { padding: 0; @@ -95,54 +99,44 @@ } } + .filter-input-width { + width: ~"calc(100% - 20px)"; + } + .col0, td:first-child, th:first-child { width: 35%; + } .col1, td:first-child + td, th:first-child + th { width: 15%; - .filter-input-width { - width: 80%; - } } .col2, td:first-child + td + td, th:first-child + th + th { width: 20%; - .filter-input-width { - width: 80%; - } } .col3, td:first-child + td + td + td, th:first-child + th + th + th { width: 15%; - .filter-input-width { - width: 80%; - } } .col4, td:first-child + td + td + td + td, th:first-child + th + th + th + th { width: 15%; - .filter-input-width { - width: 80%; - } } .col5, td:first-child + td + td + td + td + td, th:first-child + th + th + th + th + th { width: 10%; - .filter-input-width { - width: 80%; - } } .type-icon { @@ -190,6 +184,12 @@ white-space: nowrap; width: 100%; } + + .filter-row { + input, select { + width: ~"calc(100% - 20px)"; + } + } } #alert-definition-details { @@ -199,7 +199,7 @@ .box { .box-header { .edit-link { - margin: 5px; + margin: 3px; } } margin-bottom: 0; @@ -267,7 +267,7 @@ margin-top: -4px; float: left; margin-left: 7px; - } + } } .error-msg { @@ -277,7 +277,6 @@ .edit-buttons { text-align: right; margin-bottom: 10px; - margin-right: 10px; } .text-area-edit { @@ -301,65 +300,22 @@ .alert-configs { - label.shifted { - width: 170px; - } - - .stuck-left { - margin-left: 0!important; - } - - .controls.shifted { - margin-left: 190px; + textarea { + resize: vertical; } - margin-top: 20px; - - .alert-config-text-area { - height: 100px; - } - - .alert-text-input { - input { - width: 98%; - } - } - - .input-append { - padding-right: 13px; - } - - .alert-interval-input { - input { - width: 20%; - } - } - - .alert-port-input { - input { - width: 30%; - } - } - - .badge-container { - height: 26px; - .alert-threshold-badge, - .alert-parameter-badge { - line-height: 26px; - height: 26px; - } + .alert-label { + line-height: 26px; + width: 100%; + font-size: 85%; } - .control-group.error{ - .alert-text-input input{ - color: #555555; - border-color: #ccc; - } + // ":last-child" used in the Bootstrap affects "script"-tag created by Handlebars and not ".input-group-addon" + // ":last-of-type" should be used instead + .input-group-addon:last-of-type { + border-left: 0 !important; + border-radius: 0 4px 4px 0; } - .error-message { - color: #b94a48; - } - } @@ -432,9 +388,6 @@ #create-edit-alert-notification { .form-horizontal { - .controls { - margin-left: 140px; - } .control-label { font-weight: bold; } @@ -449,7 +402,7 @@ } } - .icon-minus-sign { + .glyphicon-minus-sign { color: #FF4B4B; } @@ -469,13 +422,6 @@ } -.create-edit-alert-notification-popup { - .modal { - margin-top: 0; - top: 5%; - width: 600px; - } -} .service-block .summary-box-header { .alerts-crit-count, .alerts-warn-count, .no-alerts-label { @@ -489,13 +435,13 @@ cursor: pointer; } -.alerts-crit-count { +.label.alerts-crit-count { background: @health-status-red; } -.alerts-warn-count { +.label.alerts-warn-count { background: @health-status-orange; } -.no-alerts-label { +.label.no-alerts-label { background: @health-status-green; } @@ -510,13 +456,7 @@ } /*****start styles for manage alerts popup*****/ -.sixty-percent-width-modal.manage-alert-group-popup { - .modal{ - max-height: 650px; - } - .modal-body { - max-height: 500px; - } +.manage-alert-group-popup { .group-select { width: 100%; height: 250px; @@ -541,8 +481,6 @@ .forty-percent-width-modal { .modal { - width: 40%; - .definition-latest-text { overflow-x: auto; text-overflow: inherit; @@ -668,4 +606,4 @@ .alert-definition-filter-list { max-height: 200px; overflow-y: scroll; -} \ No newline at end of file +}