You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by nt...@apache.org on 2017/04/03 08:31:23 UTC
[23/50] [abbrv] ignite git commit: IGNITE-4666 Clone to Input
service. (cherry picked from commit 83579ce)
IGNITE-4666 Clone to Input service.
(cherry picked from commit 83579ce)
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/4ba2d12c
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/4ba2d12c
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/4ba2d12c
Branch: refs/heads/master
Commit: 4ba2d12c1a797bc9cc5ce585354adfe3755a3ddb
Parents: baf8a8c
Author: Andrey Novikov <an...@gridgain.com>
Authored: Fri Mar 17 11:08:39 2017 +0700
Committer: Alexey Kuznetsov <ak...@apache.org>
Committed: Tue Mar 21 09:51:35 2017 +0700
----------------------------------------------------------------------
modules/web-console/frontend/app/app.js | 10 +--
.../app/components/input-dialog/index.js | 24 ++++++
.../input-dialog/input-dialog.controller.js | 35 ++++++++
.../input-dialog/input-dialog.service.js | 88 ++++++++++++++++++++
.../input-dialog/input-dialog.tpl.pug | 39 +++++++++
.../frontend/app/services/Clone.service.js | 66 ---------------
.../frontend/controllers/caches-controller.js | 10 +--
.../frontend/controllers/clusters-controller.js | 6 +-
.../frontend/controllers/domains-controller.js | 12 ++-
.../frontend/controllers/igfs-controller.js | 10 +--
.../frontend/views/templates/clone.tpl.pug | 39 ---------
11 files changed, 207 insertions(+), 132 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/4ba2d12c/modules/web-console/frontend/app/app.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/app.js b/modules/web-console/frontend/app/app.js
index 5e3bb07..1e21d24 100644
--- a/modules/web-console/frontend/app/app.js
+++ b/modules/web-console/frontend/app/app.js
@@ -16,9 +16,9 @@
*/
import '../public/stylesheets/style.scss';
-import '../app/components/ui-grid-header/ui-grid-header.scss';
-import '../app/components/ui-grid-settings/ui-grid-settings.scss';
-import '../app/components/form-field-datepicker/form-field-datepicker.scss';
+import './components/ui-grid-header/ui-grid-header.scss';
+import './components/ui-grid-settings/ui-grid-settings.scss';
+import './components/form-field-datepicker/form-field-datepicker.scss';
import './app.config';
@@ -80,7 +80,6 @@ import igniteRetainSelection from './directives/retain-selection.directive';
// Services.
import ChartColors from './services/ChartColors.service';
-import Clone from './services/Clone.service.js';
import Confirm from './services/Confirm.service.js';
import ConfirmBatch from './services/ConfirmBatch.service.js';
import CopyToClipboard from './services/CopyToClipboard.service';
@@ -117,6 +116,7 @@ import resetPassword from './controllers/reset-password.controller';
// Components
import igniteListOfRegisteredUsers from './components/list-of-registered-users';
import IgniteActivitiesUserDialog from './components/activities-user-dialog';
+import './components/input-dialog';
// Inject external modules.
import 'ignite_modules_temp/index';
@@ -149,6 +149,7 @@ angular
'ignite-console.core',
'ignite-console.ace',
'ignite-console.Form',
+ 'ignite-console.input-dialog',
'ignite-console.user',
'ignite-console.branding',
'ignite-console.socket',
@@ -203,7 +204,6 @@ angular
.service('JavaTypes', JavaTypes)
.service('SqlTypes', SqlTypes)
.service(...ChartColors)
-.service(...Clone)
.service(...Confirm)
.service(...ConfirmBatch)
.service(...CopyToClipboard)
http://git-wip-us.apache.org/repos/asf/ignite/blob/4ba2d12c/modules/web-console/frontend/app/components/input-dialog/index.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/components/input-dialog/index.js b/modules/web-console/frontend/app/components/input-dialog/index.js
new file mode 100644
index 0000000..4bb9642
--- /dev/null
+++ b/modules/web-console/frontend/app/components/input-dialog/index.js
@@ -0,0 +1,24 @@
+/*
+ * 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.
+ */
+
+import angular from 'angular';
+
+import inputDialog from './input-dialog.service';
+
+angular
+ .module('ignite-console.input-dialog', [])
+ .service('IgniteInput', inputDialog);
http://git-wip-us.apache.org/repos/asf/ignite/blob/4ba2d12c/modules/web-console/frontend/app/components/input-dialog/input-dialog.controller.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/components/input-dialog/input-dialog.controller.js b/modules/web-console/frontend/app/components/input-dialog/input-dialog.controller.js
new file mode 100644
index 0000000..3f6e97b
--- /dev/null
+++ b/modules/web-console/frontend/app/components/input-dialog/input-dialog.controller.js
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+export default class InputDialogController {
+ static $inject = ['deferred', 'ui'];
+
+ constructor(deferred, {title, label, value, toValidValue}) {
+ this.deferred = deferred;
+ this.title = title;
+ this.label = label;
+ this.value = value;
+ this.toValidValue = toValidValue;
+ }
+
+ confirm() {
+ if (_.isFunction(this.toValidValue))
+ return this.deferred.resolve(this.toValidValue(this.value));
+
+ this.deferred.resolve(this.value);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/4ba2d12c/modules/web-console/frontend/app/components/input-dialog/input-dialog.service.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/components/input-dialog/input-dialog.service.js b/modules/web-console/frontend/app/components/input-dialog/input-dialog.service.js
new file mode 100644
index 0000000..fc3cb85
--- /dev/null
+++ b/modules/web-console/frontend/app/components/input-dialog/input-dialog.service.js
@@ -0,0 +1,88 @@
+/*
+ * 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.
+ */
+
+import controller from './input-dialog.controller';
+import templateUrl from './input-dialog.tpl.pug';
+
+export default class InputDialog {
+ static $inject = ['$modal', '$q'];
+
+ constructor($modal, $q) {
+ this.$modal = $modal;
+ this.$q = $q;
+ }
+
+ /**
+ * Open input dialog to configure custom value.
+ *
+ * @param {String} title Dialog title.
+ * @param {String} label Input field label.
+ * @param {String} value Default value.
+ * @param {Function} [toValidValue] Validator function.
+ * @returns {Promise.<String>} User input.
+ */
+ input(title, label, value, toValidValue) {
+ const deferred = this.$q.defer();
+
+ const modal = this.$modal({
+ templateUrl,
+ resolve: {
+ deferred: () => deferred,
+ ui: () => ({
+ title,
+ label,
+ value,
+ toValidValue
+ })
+ },
+ placement: 'center',
+ controller,
+ controllerAs: 'ctrl'
+ });
+
+ const modalHide = modal.hide;
+
+ modal.hide = () => deferred.reject('cancelled');
+
+ return deferred.promise
+ .finally(modalHide);
+ }
+
+ /**
+ * Open input dialog to configure cloned object name.
+ *
+ * @param {String} srcName Name of source object.
+ * @param {Array.<String>} names List of already exist names.
+ * @returns {Promise.<String>} New name
+ */
+ clone(srcName, names) {
+ const uniqueName = (value) => {
+ let num = 1;
+ let tmpName = value;
+
+ while (_.includes(names, tmpName)) {
+ tmpName = `${value}_${num}`;
+
+ num++;
+ }
+
+ return tmpName;
+ };
+
+ return this.input('Clone', 'New name', uniqueName(srcName), uniqueName);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/4ba2d12c/modules/web-console/frontend/app/components/input-dialog/input-dialog.tpl.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/components/input-dialog/input-dialog.tpl.pug b/modules/web-console/frontend/app/components/input-dialog/input-dialog.tpl.pug
new file mode 100644
index 0000000..95549d7
--- /dev/null
+++ b/modules/web-console/frontend/app/components/input-dialog/input-dialog.tpl.pug
@@ -0,0 +1,39 @@
+//-
+ 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.
+
+include /app/helpers/jade/mixins
+
+.modal(tabindex='-1' role='dialog')
+ .modal-dialog
+ .modal-content
+ .modal-header
+ button.close(ng-click='$hide()') ×
+ h4.modal-title
+ i.fa.fa-clone
+ | {{ ctrl.title }}
+ form.form-horizontal.modal-body.row(name='ui.inputForm' novalidate)
+ div
+ .col-sm-2
+ label.required.labelFormField {{ ctrl.label }}:
+ .col-sm-10
+ .input-tip
+ +ignite-form-field-input('"input-field"', 'ctrl.value', false, 'true', 'Enter value')(
+ data-ignite-form-field-input-autofocus='true'
+ ignite-on-enter='form.$valid && ctrl.confirm()'
+ )
+ .modal-footer
+ button.btn.btn-default(id='copy-btn-cancel' ng-click='$hide()') Cancel
+ button.btn.btn-primary(id='copy-btn-confirm' ng-disabled='ui.inputForm.$invalid' ng-click='ctrl.confirm()') Confirm
http://git-wip-us.apache.org/repos/asf/ignite/blob/4ba2d12c/modules/web-console/frontend/app/services/Clone.service.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/services/Clone.service.js b/modules/web-console/frontend/app/services/Clone.service.js
deleted file mode 100644
index d079141..0000000
--- a/modules/web-console/frontend/app/services/Clone.service.js
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import templateUrl from 'views/templates/clone.tpl.pug';
-
-// Service for clone objects.
-export default ['IgniteClone', ['$rootScope', '$q', '$modal', ($root, $q, $modal) => {
- const scope = $root.$new();
-
- let _names = [];
- let deferred;
- let _validator;
-
- function _nextAvailableName(name) {
- let num = 1;
- let tmpName = name;
-
- while (_.includes(_names, tmpName)) {
- tmpName = name + '_' + num.toString();
-
- num++;
- }
-
- return tmpName;
- }
-
- const cloneModal = $modal({templateUrl, scope, placement: 'center', show: false});
-
- scope.ok = function(newName) {
- if (!_validator || _validator(newName)) {
- deferred.resolve(_nextAvailableName(newName));
-
- cloneModal.hide();
- }
- };
-
- cloneModal.confirm = function(oldName, names, validator) {
- _names = names;
-
- scope.newName = _nextAvailableName(oldName);
-
- _validator = validator;
-
- deferred = $q.defer();
-
- cloneModal.$promise.then(cloneModal.show);
-
- return deferred.promise;
- };
-
- return cloneModal;
-}]];
http://git-wip-us.apache.org/repos/asf/ignite/blob/4ba2d12c/modules/web-console/frontend/controllers/caches-controller.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/controllers/caches-controller.js b/modules/web-console/frontend/controllers/caches-controller.js
index b50fde3..d4a13e5 100644
--- a/modules/web-console/frontend/controllers/caches-controller.js
+++ b/modules/web-console/frontend/controllers/caches-controller.js
@@ -19,8 +19,8 @@ import infoMessageTemplateUrl from 'views/templates/message.tpl.pug';
// Controller for Caches screen.
export default ['cachesController', [
- '$scope', '$http', '$state', '$filter', '$timeout', '$modal', 'IgniteLegacyUtils', 'IgniteMessages', 'IgniteConfirm', 'IgniteClone', 'IgniteLoading', 'IgniteModelNormalizer', 'IgniteUnsavedChangesGuard', 'IgniteConfigurationResource', 'IgniteErrorPopover', 'IgniteFormUtils', 'IgniteLegacyTable',
- function($scope, $http, $state, $filter, $timeout, $modal, LegacyUtils, Messages, Confirm, Clone, Loading, ModelNormalizer, UnsavedChangesGuard, Resource, ErrorPopover, FormUtils, LegacyTable) {
+ '$scope', '$http', '$state', '$filter', '$timeout', '$modal', 'IgniteLegacyUtils', 'IgniteMessages', 'IgniteConfirm', 'IgniteInput', 'IgniteLoading', 'IgniteModelNormalizer', 'IgniteUnsavedChangesGuard', 'IgniteConfigurationResource', 'IgniteErrorPopover', 'IgniteFormUtils', 'IgniteLegacyTable',
+ function($scope, $http, $state, $filter, $timeout, $modal, LegacyUtils, Messages, Confirm, Input, Loading, ModelNormalizer, UnsavedChangesGuard, Resource, ErrorPopover, FormUtils, LegacyTable) {
UnsavedChangesGuard.install($scope);
const emptyCache = {empty: true};
@@ -517,15 +517,13 @@ export default ['cachesController', [
};
function _cacheNames() {
- return _.map($scope.caches, function(cache) {
- return cache.name;
- });
+ return _.map($scope.caches, (cache) => cache.name);
}
// Clone cache with new name.
$scope.cloneItem = function() {
if (validate($scope.backupItem)) {
- Clone.confirm($scope.backupItem.name, _cacheNames()).then(function(newName) {
+ Input.clone($scope.backupItem.name, _cacheNames()).then((newName) => {
const item = angular.copy($scope.backupItem);
delete item._id;
http://git-wip-us.apache.org/repos/asf/ignite/blob/4ba2d12c/modules/web-console/frontend/controllers/clusters-controller.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/controllers/clusters-controller.js b/modules/web-console/frontend/controllers/clusters-controller.js
index 7f90b90..c8392cf 100644
--- a/modules/web-console/frontend/controllers/clusters-controller.js
+++ b/modules/web-console/frontend/controllers/clusters-controller.js
@@ -17,8 +17,8 @@
// Controller for Clusters screen.
export default ['clustersController', [
- '$rootScope', '$scope', '$http', '$state', '$timeout', 'IgniteLegacyUtils', 'IgniteMessages', 'IgniteConfirm', 'IgniteClone', 'IgniteLoading', 'IgniteModelNormalizer', 'IgniteUnsavedChangesGuard', 'IgniteEventGroups', 'DemoInfo', 'IgniteLegacyTable', 'IgniteConfigurationResource', 'IgniteErrorPopover', 'IgniteFormUtils',
- function($root, $scope, $http, $state, $timeout, LegacyUtils, Messages, Confirm, Clone, Loading, ModelNormalizer, UnsavedChangesGuard, igniteEventGroups, DemoInfo, LegacyTable, Resource, ErrorPopover, FormUtils) {
+ '$rootScope', '$scope', '$http', '$state', '$timeout', 'IgniteLegacyUtils', 'IgniteMessages', 'IgniteConfirm', 'IgniteInput', 'IgniteLoading', 'IgniteModelNormalizer', 'IgniteUnsavedChangesGuard', 'IgniteEventGroups', 'DemoInfo', 'IgniteLegacyTable', 'IgniteConfigurationResource', 'IgniteErrorPopover', 'IgniteFormUtils',
+ function($root, $scope, $http, $state, $timeout, LegacyUtils, Messages, Confirm, Input, Loading, ModelNormalizer, UnsavedChangesGuard, igniteEventGroups, DemoInfo, LegacyTable, Resource, ErrorPopover, FormUtils) {
UnsavedChangesGuard.install($scope);
const emptyCluster = {empty: true};
@@ -774,7 +774,7 @@ export default ['clustersController', [
// Clone cluster with new name.
$scope.cloneItem = function() {
if (validate($scope.backupItem)) {
- Clone.confirm($scope.backupItem.name, _clusterNames()).then(function(newName) {
+ Input.clone($scope.backupItem.name, _clusterNames()).then((newName) => {
const item = angular.copy($scope.backupItem);
delete item._id;
http://git-wip-us.apache.org/repos/asf/ignite/blob/4ba2d12c/modules/web-console/frontend/controllers/domains-controller.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/controllers/domains-controller.js b/modules/web-console/frontend/controllers/domains-controller.js
index 5c9e511..806dd45 100644
--- a/modules/web-console/frontend/controllers/domains-controller.js
+++ b/modules/web-console/frontend/controllers/domains-controller.js
@@ -19,8 +19,8 @@ import templateUrl from 'views/configuration/domains-import.tpl.pug';
// Controller for Domain model screen.
export default ['domainsController', [
- '$rootScope', '$scope', '$http', '$state', '$filter', '$timeout', '$modal', 'IgniteLegacyUtils', 'IgniteMessages', 'IgniteFocus', 'IgniteConfirm', 'IgniteConfirmBatch', 'IgniteClone', 'IgniteLoading', 'IgniteModelNormalizer', 'IgniteUnsavedChangesGuard', 'IgniteAgentMonitor', 'IgniteLegacyTable', 'IgniteConfigurationResource', 'IgniteErrorPopover', 'IgniteFormUtils', 'JavaTypes', 'SqlTypes', 'IgniteActivitiesData',
- function($root, $scope, $http, $state, $filter, $timeout, $modal, LegacyUtils, Messages, Focus, Confirm, ConfirmBatch, Clone, Loading, ModelNormalizer, UnsavedChangesGuard, IgniteAgentMonitor, LegacyTable, Resource, ErrorPopover, FormUtils, JavaTypes, SqlTypes, ActivitiesData) {
+ '$rootScope', '$scope', '$http', '$state', '$filter', '$timeout', '$modal', 'IgniteLegacyUtils', 'IgniteMessages', 'IgniteFocus', 'IgniteConfirm', 'IgniteConfirmBatch', 'IgniteInput', 'IgniteLoading', 'IgniteModelNormalizer', 'IgniteUnsavedChangesGuard', 'IgniteAgentMonitor', 'IgniteLegacyTable', 'IgniteConfigurationResource', 'IgniteErrorPopover', 'IgniteFormUtils', 'JavaTypes', 'SqlTypes', 'IgniteActivitiesData',
+ function($root, $scope, $http, $state, $filter, $timeout, $modal, LegacyUtils, Messages, Focus, Confirm, ConfirmBatch, Input, Loading, ModelNormalizer, UnsavedChangesGuard, IgniteAgentMonitor, LegacyTable, Resource, ErrorPopover, FormUtils, JavaTypes, SqlTypes, ActivitiesData) {
UnsavedChangesGuard.install($scope);
const emptyDomain = {empty: true};
@@ -1429,7 +1429,7 @@ export default ['domainsController', [
item.cacheStoreChanges = [];
- _.forEach(item.caches, function(cacheId) {
+ _.forEach(item.caches, (cacheId) => {
const cache = _.find($scope.caches, {value: cacheId}).cache;
const change = LegacyUtils.autoCacheStoreConfiguration(cache, [item]);
@@ -1444,9 +1444,7 @@ export default ['domainsController', [
};
function _domainNames() {
- return _.map($scope.domains, function(domain) {
- return domain.valueType;
- });
+ return _.map($scope.domains, (domain) => domain.valueType);
}
function _newNameIsValidJavaClass(newName) {
@@ -1457,7 +1455,7 @@ export default ['domainsController', [
// Save domain model with new name.
$scope.cloneItem = function() {
if ($scope.tableReset(true) && validate($scope.backupItem)) {
- Clone.confirm($scope.backupItem.valueType, _domainNames(), _newNameIsValidJavaClass).then(function(newName) {
+ Input.clone($scope.backupItem.valueType, _domainNames(), _newNameIsValidJavaClass).then((newName) => {
const item = angular.copy($scope.backupItem);
delete item._id;
http://git-wip-us.apache.org/repos/asf/ignite/blob/4ba2d12c/modules/web-console/frontend/controllers/igfs-controller.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/controllers/igfs-controller.js b/modules/web-console/frontend/controllers/igfs-controller.js
index b3c6043..504e28d 100644
--- a/modules/web-console/frontend/controllers/igfs-controller.js
+++ b/modules/web-console/frontend/controllers/igfs-controller.js
@@ -17,8 +17,8 @@
// Controller for IGFS screen.
export default ['igfsController', [
- '$scope', '$http', '$state', '$filter', '$timeout', 'IgniteLegacyUtils', 'IgniteMessages', 'IgniteConfirm', 'IgniteClone', 'IgniteLoading', 'IgniteModelNormalizer', 'IgniteUnsavedChangesGuard', 'IgniteLegacyTable', 'IgniteConfigurationResource', 'IgniteErrorPopover', 'IgniteFormUtils',
- function($scope, $http, $state, $filter, $timeout, LegacyUtils, Messages, Confirm, Clone, Loading, ModelNormalizer, UnsavedChangesGuard, LegacyTable, Resource, ErrorPopover, FormUtils) {
+ '$scope', '$http', '$state', '$filter', '$timeout', 'IgniteLegacyUtils', 'IgniteMessages', 'IgniteConfirm', 'IgniteInput', 'IgniteLoading', 'IgniteModelNormalizer', 'IgniteUnsavedChangesGuard', 'IgniteLegacyTable', 'IgniteConfigurationResource', 'IgniteErrorPopover', 'IgniteFormUtils',
+ function($scope, $http, $state, $filter, $timeout, LegacyUtils, Messages, Confirm, Input, Loading, ModelNormalizer, UnsavedChangesGuard, LegacyTable, Resource, ErrorPopover, FormUtils) {
UnsavedChangesGuard.install($scope);
const emptyIgfs = {empty: true};
@@ -328,15 +328,13 @@ export default ['igfsController', [
};
function _igfsNames() {
- return _.map($scope.igfss, function(igfs) {
- return igfs.name;
- });
+ return _.map($scope.igfss, (igfs) => igfs.name);
}
// Clone IGFS with new name.
$scope.cloneItem = function() {
if ($scope.tableReset(true) && validate($scope.backupItem)) {
- Clone.confirm($scope.backupItem.name, _igfsNames()).then(function(newName) {
+ Input.clone($scope.backupItem.name, _igfsNames()).then((newName) => {
const item = angular.copy($scope.backupItem);
delete item._id;
http://git-wip-us.apache.org/repos/asf/ignite/blob/4ba2d12c/modules/web-console/frontend/views/templates/clone.tpl.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/views/templates/clone.tpl.pug b/modules/web-console/frontend/views/templates/clone.tpl.pug
deleted file mode 100644
index e62cb18..0000000
--- a/modules/web-console/frontend/views/templates/clone.tpl.pug
+++ /dev/null
@@ -1,39 +0,0 @@
-//-
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-include /app/helpers/jade/mixins
-
-.modal(tabindex='-1' role='dialog')
- .modal-dialog
- .modal-content
- .modal-header
- button.close(ng-click='$hide()') ×
- h4.modal-title
- i.fa.fa-clone
- | Clone
- form.form-horizontal.modal-body.row(name='ui.inputForm' novalidate)
- div
- .col-sm-2
- label.required.labelFormField New name:
- .col-sm-10
- .input-tip
- +ignite-form-field-input('"copy-new-name"','newName', false, 'true', 'Enter new name')(
- data-ignite-form-field-input-autofocus='true'
- ignite-on-enter='form.$valid && ok(newName)'
- )
- .modal-footer
- button.btn.btn-default(id='copy-btn-cancel' ng-click='$hide()') Cancel
- button.btn.btn-primary(id='copy-btn-confirm' ng-disabled='ui.inputForm.$invalid' ng-click='ok(newName)') Confirm