Repository: ignite Updated Branches: refs/heads/master 84880a810 -> 83579ce80
IGNITE-4666 Clone to Input service. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/83579ce8 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/83579ce8 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/83579ce8 Branch: refs/heads/master Commit: 83579ce80abf3960cfe4eb07019f8ce6154df5c2 Parents: 84880a8 Author: Andrey Novikov <[email protected]> Authored: Fri Mar 17 11:08:39 2017 +0700 Committer: Andrey Novikov <[email protected]> Committed: Fri Mar 17 11:08:39 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/83579ce8/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/83579ce8/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/83579ce8/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/83579ce8/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/83579ce8/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/83579ce8/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/83579ce8/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/83579ce8/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/83579ce8/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/83579ce8/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/83579ce8/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
