http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/information/information.scss ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/directives/information/information.scss b/modules/web-console/src/main/js/app/directives/information/information.scss deleted file mode 100644 index 39f3c05..0000000 --- a/modules/web-console/src/main/js/app/directives/information/information.scss +++ /dev/null @@ -1,56 +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. - */ - -$ignite-block-information: #fcfcfc; -$ignite-block-information-border: #aab8c6; -$ignite-block-information-icon: #4a6785; - -.block-information { - position: relative; - - background: $ignite-block-information; - - border-radius: 5px; - border: 1px solid $ignite-block-information-border; - - margin: 20px 0; - padding: 10px 10px 0 30px; - - > h3 { - font-weight: bold; - margin-bottom: 10px; - } - - > .icon { - cursor: default; - - color: $ignite-block-information-icon; - - position: absolute; - top: 12px; - left: 10px; - - font-size: 16px; - - vertical-align: text-bottom - } - - ul { - padding-left: 20px; - } -} -
http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/match.directive.js ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/directives/match.directive.js b/modules/web-console/src/main/js/app/directives/match.directive.js deleted file mode 100644 index 3a45f6d..0000000 --- a/modules/web-console/src/main/js/app/directives/match.directive.js +++ /dev/null @@ -1,27 +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. - */ - -// Directive to enable validation to match specified value. -export default ['igniteMatch', ['$parse', ($parse) => { - return { - require: 'ngModel', - link(scope, elem, attrs, ctrl) { - scope.$watch(() => $parse(attrs.igniteMatch)(scope) === ctrl.$modelValue, - (currentValue) => ctrl.$setValidity('mismatch', currentValue)); - } - }; -}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/on-click-focus.directive.js ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/directives/on-click-focus.directive.js b/modules/web-console/src/main/js/app/directives/on-click-focus.directive.js deleted file mode 100644 index 5c9ee88..0000000 --- a/modules/web-console/src/main/js/app/directives/on-click-focus.directive.js +++ /dev/null @@ -1,26 +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. - */ - -// Directive to describe element that should be focused on click. -export default ['igniteOnClickFocus', ['IgniteFocus', (Focus) => { - return function(scope, elem, attrs) { - elem.on('click', () => Focus.move(attrs.igniteOnClickFocus)); - - // Removes bound events in the element itself when the scope is destroyed - scope.$on('$destroy', () => elem.off('click')); - }; -}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/on-enter-focus-move.directive.js ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/directives/on-enter-focus-move.directive.js b/modules/web-console/src/main/js/app/directives/on-enter-focus-move.directive.js deleted file mode 100644 index 2dd2884..0000000 --- a/modules/web-console/src/main/js/app/directives/on-enter-focus-move.directive.js +++ /dev/null @@ -1,29 +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. - */ - -// Directive to move focus to specified element on ENTER key. -export default ['igniteOnEnterFocusMove', ['IgniteFocus', (Focus) => { - return function(scope, elem, attrs) { - elem.on('keydown keypress', (event) => { - if (event.which === 13) { - event.preventDefault(); - - Focus.move(attrs.igniteOnEnterFocusMove); - } - }); - }; -}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/on-enter.directive.js ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/directives/on-enter.directive.js b/modules/web-console/src/main/js/app/directives/on-enter.directive.js deleted file mode 100644 index 459220e..0000000 --- a/modules/web-console/src/main/js/app/directives/on-enter.directive.js +++ /dev/null @@ -1,32 +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. - */ - -// Directive to bind ENTER key press with some user action. -export default ['igniteOnEnter', ['$timeout', ($timeout) => { - return function(scope, elem, attrs) { - elem.on('keydown keypress', (event) => { - if (event.which === 13) { - scope.$apply(() => $timeout(() => scope.$eval(attrs.igniteOnEnter))); - - event.preventDefault(); - } - }); - - // Removes bound events in the element itself when the scope is destroyed. - scope.$on('$destroy', () => elem.off('keydown keypress')); - }; -}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/on-escape.directive.js ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/directives/on-escape.directive.js b/modules/web-console/src/main/js/app/directives/on-escape.directive.js deleted file mode 100644 index aa1accd..0000000 --- a/modules/web-console/src/main/js/app/directives/on-escape.directive.js +++ /dev/null @@ -1,32 +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. - */ - -// Directive to bind ESC key press with some user action. -export default ['igniteOnEscape', ['$timeout', ($timeout) => { - return function(scope, elem, attrs) { - elem.on('keydown keypress', (event) => { - if (event.which === 27) { - scope.$apply(() => $timeout(() => scope.$eval(attrs.igniteOnEscape))); - - event.preventDefault(); - } - }); - - // Removes bound events in the element itself when the scope is destroyed. - scope.$on('$destroy', () => elem.off('keydown keypress')); - }; -}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/ui-ace-docker/ui-ace-docker.controller.js ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/directives/ui-ace-docker/ui-ace-docker.controller.js b/modules/web-console/src/main/js/app/directives/ui-ace-docker/ui-ace-docker.controller.js deleted file mode 100644 index 32feaf3..0000000 --- a/modules/web-console/src/main/js/app/directives/ui-ace-docker/ui-ace-docker.controller.js +++ /dev/null @@ -1,33 +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. - */ - -export default ['$scope', 'GeneratorDocker', function($scope, docker) { - const ctrl = this; - - // Watchers definition. - const clusterWatcher = () => { - delete ctrl.data; - - if (!$scope.cluster) - return; - - ctrl.data = docker.generate($scope.cluster, 'latest'); - }; - - // Setup watchers. - $scope.$watch('cluster', clusterWatcher); -}]; http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/ui-ace-docker/ui-ace-docker.directive.js ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/directives/ui-ace-docker/ui-ace-docker.directive.js b/modules/web-console/src/main/js/app/directives/ui-ace-docker/ui-ace-docker.directive.js deleted file mode 100644 index 08e4f76..0000000 --- a/modules/web-console/src/main/js/app/directives/ui-ace-docker/ui-ace-docker.directive.js +++ /dev/null @@ -1,46 +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 './ui-ace-docker.jade'; -import controller from './ui-ace-docker.controller'; - -export default ['igniteUiAceDocker', [() => { - const link = ($scope, $el, $attrs, [igniteUiAceTabs]) => { - if (igniteUiAceTabs.onLoad) - $scope.onLoad = igniteUiAceTabs.onLoad; - - if (igniteUiAceTabs.onChange) - $scope.onChange = igniteUiAceTabs.onChange; - }; - - return { - restrict: 'E', - scope: { - cluster: '=', - data: '=ngModel' - }, - bindToController: { - cluster: '=', - data: '=ngModel' - }, - link, - templateUrl, - controller, - controllerAs: 'ctrl', - require: ['?^igniteUiAceTabs'] - }; -}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/ui-ace-docker/ui-ace-docker.jade ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/directives/ui-ace-docker/ui-ace-docker.jade b/modules/web-console/src/main/js/app/directives/ui-ace-docker/ui-ace-docker.jade deleted file mode 100644 index 3b0e7b8..0000000 --- a/modules/web-console/src/main/js/app/directives/ui-ace-docker/ui-ace-docker.jade +++ /dev/null @@ -1,31 +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. - -mixin hard-link(ref, txt) - a(style='color:#ec1c24' href=ref target='_blank') #{txt} - -.panel-details-noborder - .details-row - p - +hard-link('https://docs.docker.com/reference/builder', 'Docker') - | file is a text file with instructions to create Docker image.<br/> - | To build image you have to store following Docker file with your Ignite XML configuration to the same directory.<br> - | Also you could use predefined - +hard-link('https://ignite.apache.org/download.html#docker', 'Apache Ignite docker image') - | . For more information about using Ignite with Docker please read - +hard-link('http://apacheignite.readme.io/docs/docker-deployment', 'documentation') - |. - .details-row(ng-if='ctrl.data' ignite-ace='{onLoad: onLoad, mode: "dockerfile"}' ng-model='ctrl.data') http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/ui-ace-java/ui-ace-java.controller.js ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/directives/ui-ace-java/ui-ace-java.controller.js b/modules/web-console/src/main/js/app/directives/ui-ace-java/ui-ace-java.controller.js deleted file mode 100644 index f869e65..0000000 --- a/modules/web-console/src/main/js/app/directives/ui-ace-java/ui-ace-java.controller.js +++ /dev/null @@ -1,32 +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. - */ - -const SERVER_CFG = 'ServerConfigurationFactory'; -const CLIENT_CFG = 'ClientConfigurationFactory'; - -export default ['$scope', 'GeneratorJava', function($scope, generator) { - const ctrl = this; - - delete ctrl.data; - - // Set default generator - ctrl.generator = (cluster) => { - const type = $scope.cfg ? CLIENT_CFG : SERVER_CFG; - - return generator.cluster(cluster, 'config', type, $scope.cfg); - }; -}]; http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/ui-ace-java/ui-ace-java.directive.js ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/directives/ui-ace-java/ui-ace-java.directive.js b/modules/web-console/src/main/js/app/directives/ui-ace-java/ui-ace-java.directive.js deleted file mode 100644 index 17d3a00..0000000 --- a/modules/web-console/src/main/js/app/directives/ui-ace-java/ui-ace-java.directive.js +++ /dev/null @@ -1,133 +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 './ui-ace-java.jade'; -import controller from './ui-ace-java.controller'; - -export default ['igniteUiAceJava', ['GeneratorJava', (generator) => { - const link = (scope, $el, attrs, [ctrl, igniteUiAceTabs, formCtrl, ngModelCtrl]) => { - if (formCtrl && ngModelCtrl) - formCtrl.$removeControl(ngModelCtrl); - - if (igniteUiAceTabs && igniteUiAceTabs.onLoad) { - scope.onLoad = (editor) => { - igniteUiAceTabs.onLoad(editor); - - scope.$watch('master', () => editor.attractAttention = false); - }; - } - - if (igniteUiAceTabs && igniteUiAceTabs.onChange) - scope.onChange = igniteUiAceTabs.onChange; - - const render = (data) => { - delete ctrl.data; - - if (!data) - return; - - return ctrl.generator(scope.master); - }; - - // Setup generator. - if (scope.generator) { - const method = scope.generator; - - switch (method) { - case 'clusterCaches': - ctrl.generator = (cluster) => { - const caches = _.reduce(scope.detail, (acc, cache) => { - if (_.includes(cluster.caches, cache.value)) - acc.push(cache.cache); - - return acc; - }, []); - - return generator.clusterCaches(caches, null, true, generator.clusterGeneral(cluster)).asString(); - }; - - break; - - case 'igfss': - ctrl.generator = (cluster) => { - const igfss = _.reduce(scope.detail, (acc, igfs) => { - if (_.includes(cluster.igfss, igfs.value)) - acc.push(igfs.igfs); - - return acc; - }, []); - - return generator.igfss(igfss, 'cfg').asString(); - }; - - break; - - case 'cacheStore': - ctrl.generator = (cache) => { - const domains = _.reduce(scope.detail, (acc, domain) => { - if (_.includes(cache.domains, domain.value)) - acc.push(domain.meta); - - return acc; - }, []); - - return generator.cacheStore(cache, domains).asString(); - }; - - break; - - default: - ctrl.generator = (data) => generator[method](data).asString(); - } - } - - if (!_.isUndefined(attrs.clusterCfg)) { - scope.$watch('cfg', (cfg) => { - if (!_.isUndefined(cfg)) - return; - - scope.cfg = {}; - }); - - scope.$watch('cfg', (data) => ctrl.data = render(data), true); - } - - const noDeepWatch = !(typeof attrs.noDeepWatch !== 'undefined'); - - // Setup watchers. - scope.$watch('master', (data) => ctrl.data = render(data), noDeepWatch); - }; - - return { - priority: 1, - restrict: 'E', - scope: { - master: '=', - detail: '=', - generator: '@', - cfg: '=?clusterCfg' - }, - bindToController: { - data: '=?ngModel' - }, - link, - templateUrl, - controller, - controllerAs: 'ctrl', - require: ['igniteUiAceJava', '?^igniteUiAceTabs', '?^form', '?ngModel'] - }; -}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/ui-ace-java/ui-ace-java.jade ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/directives/ui-ace-java/ui-ace-java.jade b/modules/web-console/src/main/js/app/directives/ui-ace-java/ui-ace-java.jade deleted file mode 100644 index 5acffb8..0000000 --- a/modules/web-console/src/main/js/app/directives/ui-ace-java/ui-ace-java.jade +++ /dev/null @@ -1,22 +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. - -div(ng-if='ctrl.data' - ignite-ace='{onLoad: onLoad, \ - onChange: onChange, \ - renderOptions: renderOptions, \ - mode: "java"}' - ng-model='ctrl.data') http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/ui-ace-pojos/ui-ace-pojos.controller.js ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/directives/ui-ace-pojos/ui-ace-pojos.controller.js b/modules/web-console/src/main/js/app/directives/ui-ace-pojos/ui-ace-pojos.controller.js deleted file mode 100644 index bc185b3..0000000 --- a/modules/web-console/src/main/js/app/directives/ui-ace-pojos/ui-ace-pojos.controller.js +++ /dev/null @@ -1,95 +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. - */ - -export default ['$scope', 'JavaTypes', 'GeneratorJava', function($scope, JavaTypes, generator) { - const ctrl = this; - - // Watchers definition. - // Watcher clean instance data if instance to cluster caches was change - const cleanPojos = () => { - delete ctrl.class; - delete ctrl.pojos; - delete ctrl.classes; - }; - - // Watcher update pojos when changes caches and checkers useConstructor and includeKeyFields - const updatePojos = () => { - delete ctrl.pojos; - - if (!ctrl.cluster || !ctrl.cluster.caches) - return; - - ctrl.pojos = generator.pojos(ctrl.cluster.caches, ctrl.useConstructor, ctrl.includeKeyFields); - }; - - // Watcher update classes after - const updateClasses = (value) => { - delete ctrl.classes; - - if (!value) - return; - - const classes = ctrl.classes = []; - - _.forEach(ctrl.pojos, (pojo) => { - if (pojo.keyType && JavaTypes.nonBuiltInClass(pojo.keyType)) - classes.push(pojo.keyType); - - classes.push(pojo.valueType); - }); - }; - - // Update pojos class. - const updateClass = (value) => { - if (!value || !ctrl.pojos.length) - return; - - const keyType = ctrl.pojos[0].keyType; - - ctrl.class = ctrl.class || (JavaTypes.nonBuiltInClass(keyType) ? keyType : null) || ctrl.pojos[0].valueType; - }; - - // Update pojos data. - const updatePojosData = (value) => { - if (!value) - return; - - _.forEach(ctrl.pojos, (pojo) => { - if (pojo.keyType === ctrl.class) { - ctrl.data = pojo.keyClass; - - return false; - } - - if (pojo.valueType === ctrl.class) { - ctrl.data = pojo.valueClass; - - return false; - } - }); - }; - - // Setup watchers. Watchers order is important. - $scope.$watch('ctrl.cluster.caches', cleanPojos); - $scope.$watch('ctrl.cluster.caches', updatePojos); - $scope.$watch('ctrl.cluster.caches', updateClasses); - $scope.$watch('ctrl.useConstructor', updatePojos); - $scope.$watch('ctrl.includeKeyFields', updatePojos); - $scope.$watch('ctrl.pojos', updateClass); - $scope.$watch('ctrl.pojos', updatePojosData); - $scope.$watch('ctrl.class', updatePojosData); -}]; http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/ui-ace-pojos/ui-ace-pojos.directive.js ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/directives/ui-ace-pojos/ui-ace-pojos.directive.js b/modules/web-console/src/main/js/app/directives/ui-ace-pojos/ui-ace-pojos.directive.js deleted file mode 100644 index 7c224b7..0000000 --- a/modules/web-console/src/main/js/app/directives/ui-ace-pojos/ui-ace-pojos.directive.js +++ /dev/null @@ -1,46 +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 './ui-ace-pojos.jade'; -import controller from './ui-ace-pojos.controller'; - -export default ['igniteUiAcePojos', [() => { - const link = ($scope, $el, $attrs, [igniteUiAceTabs]) => { - if (igniteUiAceTabs.onLoad) - $scope.onLoad = igniteUiAceTabs.onLoad; - - if (igniteUiAceTabs.onChange) - $scope.onChange = igniteUiAceTabs.onChange; - }; - - return { - restrict: 'E', - scope: { - cluster: '=', - pojos: '=ngModel' - }, - bindToController: { - cluster: '=', - pojos: '=ngModel' - }, - link, - templateUrl, - controller, - controllerAs: 'ctrl', - require: ['?^igniteUiAceTabs'] - }; -}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/ui-ace-pojos/ui-ace-pojos.jade ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/directives/ui-ace-pojos/ui-ace-pojos.jade b/modules/web-console/src/main/js/app/directives/ui-ace-pojos/ui-ace-pojos.jade deleted file mode 100644 index ed1432b..0000000 --- a/modules/web-console/src/main/js/app/directives/ui-ace-pojos/ui-ace-pojos.jade +++ /dev/null @@ -1,40 +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. - -mixin check-tooltip(message) - i.tipLabel.fa.fa-question-circle(bs-tooltip='"#{message}"') - -.panel-details-noborder - .details-row - .col-xs-2.col-sm-2.col-md-2 - label POJO class: - .col-xs-10.col-sm-10.col-md-10.summary-pojo-list - button.select-toggle.form-control(ng-model='ctrl.class' bs-select bs-options='item for item in ctrl.classes' data-container='') - .details-row.checkbox - .col-xs-2.col-sm-2.col-md-2 - .col-xs-10.col-sm-10.col-md-10 - label - input(type='checkbox' ng-model='ctrl.useConstructor') - | Generate constructors - +check-tooltip("Generate empty and full constructors in POJO classes") - .details-row.checkbox - .col-xs-2.col-sm-2.col-md-2 - .col-xs-10.col-sm-10.col-md-10 - label - input(type='checkbox' ng-model='ctrl.includeKeyFields') - | Include key fields - +check-tooltip("Generate key fields in POJO value class") - .details-row(ng-if='ctrl.data' ignite-ace='{onLoad: onLoad, mode: "java"}' ng-model='ctrl.data') http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/ui-ace-pom/ui-ace-pom.controller.js ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/directives/ui-ace-pom/ui-ace-pom.controller.js b/modules/web-console/src/main/js/app/directives/ui-ace-pom/ui-ace-pom.controller.js deleted file mode 100644 index ec880bd..0000000 --- a/modules/web-console/src/main/js/app/directives/ui-ace-pom/ui-ace-pom.controller.js +++ /dev/null @@ -1,33 +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. - */ - -export default ['$scope', 'GeneratorPom', 'IgniteVersion', function($scope, pom, IgniteVersion) { - const ctrl = this; - - // Watchers definition. - const clusterWatcher = (value) => { - delete ctrl.data; - - if (!value) - return; - - ctrl.data = pom.generate($scope.cluster, IgniteVersion.version).asString(); - }; - - // Setup watchers. - $scope.$watch('cluster', clusterWatcher); -}]; http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/ui-ace-pom/ui-ace-pom.directive.js ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/directives/ui-ace-pom/ui-ace-pom.directive.js b/modules/web-console/src/main/js/app/directives/ui-ace-pom/ui-ace-pom.directive.js deleted file mode 100644 index 2a7a878..0000000 --- a/modules/web-console/src/main/js/app/directives/ui-ace-pom/ui-ace-pom.directive.js +++ /dev/null @@ -1,41 +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 './ui-ace-pom.jade'; -import controller from './ui-ace-pom.controller'; - -export default ['igniteUiAcePom', [() => { - const link = ($scope, $el, $attrs, [igniteUiAceTabs]) => { - if (igniteUiAceTabs.onLoad) - $scope.onLoad = igniteUiAceTabs.onLoad; - - if (igniteUiAceTabs.onChange) - $scope.onChange = igniteUiAceTabs.onChange; - }; - - return { - restrict: 'E', - scope: { - cluster: '=' - }, - link, - templateUrl, - controller, - controllerAs: 'ctrl', - require: ['?^igniteUiAceTabs'] - }; -}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/ui-ace-pom/ui-ace-pom.jade ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/directives/ui-ace-pom/ui-ace-pom.jade b/modules/web-console/src/main/js/app/directives/ui-ace-pom/ui-ace-pom.jade deleted file mode 100644 index b973a74..0000000 --- a/modules/web-console/src/main/js/app/directives/ui-ace-pom/ui-ace-pom.jade +++ /dev/null @@ -1,17 +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. - -div(ng-if='ctrl.data' ignite-ace='{onLoad: onLoad, mode: "xml"}' ng-model='ctrl.data') http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/ui-ace-tabs.directive.js ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/directives/ui-ace-tabs.directive.js b/modules/web-console/src/main/js/app/directives/ui-ace-tabs.directive.js deleted file mode 100644 index a9649c8..0000000 --- a/modules/web-console/src/main/js/app/directives/ui-ace-tabs.directive.js +++ /dev/null @@ -1,23 +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. - */ - -export default ['igniteUiAceTabs', [() => { - return { - restrict: 'AE', - controller: _.noop - }; -}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/ui-ace-xml/ui-ace-xml.controller.js ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/directives/ui-ace-xml/ui-ace-xml.controller.js b/modules/web-console/src/main/js/app/directives/ui-ace-xml/ui-ace-xml.controller.js deleted file mode 100644 index 3233757..0000000 --- a/modules/web-console/src/main/js/app/directives/ui-ace-xml/ui-ace-xml.controller.js +++ /dev/null @@ -1,27 +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. - */ - -export default ['$scope', 'GeneratorXml', function($scope, generator) { - const ctrl = this; - - delete ctrl.data; - - // Set default generator - ctrl.generator = (cluster) => { - return generator.cluster(cluster, $scope.cfg); - }; -}]; http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/ui-ace-xml/ui-ace-xml.directive.js ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/directives/ui-ace-xml/ui-ace-xml.directive.js b/modules/web-console/src/main/js/app/directives/ui-ace-xml/ui-ace-xml.directive.js deleted file mode 100644 index 3bae4de..0000000 --- a/modules/web-console/src/main/js/app/directives/ui-ace-xml/ui-ace-xml.directive.js +++ /dev/null @@ -1,133 +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 './ui-ace-xml.jade'; -import controller from './ui-ace-xml.controller'; - -export default ['igniteUiAceXml', ['GeneratorXml', (generator) => { - const link = (scope, $el, attrs, [ctrl, igniteUiAceTabs, formCtrl, ngModelCtrl]) => { - if (formCtrl && ngModelCtrl) - formCtrl.$removeControl(ngModelCtrl); - - if (igniteUiAceTabs && igniteUiAceTabs.onLoad) { - scope.onLoad = (editor) => { - igniteUiAceTabs.onLoad(editor); - - scope.$watch('master', () => editor.attractAttention = false); - }; - } - - if (igniteUiAceTabs && igniteUiAceTabs.onChange) - scope.onChange = igniteUiAceTabs.onChange; - - const render = (data) => { - delete ctrl.data; - - if (!data) - return; - - return ctrl.generator(scope.master); - }; - - // Setup generator. - if (scope.generator) { - const method = scope.generator; - - switch (method) { - case 'clusterCaches': - ctrl.generator = (cluster) => { - const caches = _.reduce(scope.detail, (acc, cache) => { - if (_.includes(cluster.caches, cache.value)) - acc.push(cache.cache); - - return acc; - }, []); - - return generator.clusterCaches(caches, null, true, generator.clusterGeneral(cluster)).asString(); - }; - - break; - - case 'igfss': - ctrl.generator = (cluster) => { - const igfss = _.reduce(scope.detail, (acc, igfs) => { - if (_.includes(cluster.igfss, igfs.value)) - acc.push(igfs.igfs); - - return acc; - }, []); - - return generator.igfss(igfss).asString(); - }; - - break; - - case 'cacheStore': - ctrl.generator = (cache) => { - const domains = _.reduce(scope.detail, (acc, domain) => { - if (_.includes(cache.domains, domain.value)) - acc.push(domain.meta); - - return acc; - }, []); - - return generator.cacheStore(cache, domains).asString(); - }; - - break; - - default: - ctrl.generator = (data) => generator[method](data).asString(); - } - } - - if (!_.isUndefined(attrs.clusterCfg)) { - scope.$watch('cfg', (cfg) => { - if (!_.isUndefined(cfg)) - return; - - scope.cfg = {}; - }); - - scope.$watch('cfg', (data) => ctrl.data = render(data), true); - } - - const noDeepWatch = !(typeof attrs.noDeepWatch !== 'undefined'); - - // Setup watchers. - scope.$watch('master', (data) => ctrl.data = render(data), noDeepWatch); - }; - - return { - priority: 1, - restrict: 'E', - scope: { - master: '=', - detail: '=', - generator: '@', - cfg: '=?clusterCfg' - }, - bindToController: { - data: '=?ngModel' - }, - link, - templateUrl, - controller, - controllerAs: 'ctrl', - require: ['igniteUiAceXml', '?^igniteUiAceTabs', '?^form', '?ngModel'] - }; -}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/ui-ace-xml/ui-ace-xml.jade ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/directives/ui-ace-xml/ui-ace-xml.jade b/modules/web-console/src/main/js/app/directives/ui-ace-xml/ui-ace-xml.jade deleted file mode 100644 index 0dd627a..0000000 --- a/modules/web-console/src/main/js/app/directives/ui-ace-xml/ui-ace-xml.jade +++ /dev/null @@ -1,17 +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. - -div(ng-if='ctrl.data' ignite-ace='{onLoad: onLoad, onChange: onChange, mode: "xml"}' ng-model='ctrl.data') http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/filters/byName.filter.js ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/filters/byName.filter.js b/modules/web-console/src/main/js/app/filters/byName.filter.js deleted file mode 100644 index 3b0746f..0000000 --- a/modules/web-console/src/main/js/app/filters/byName.filter.js +++ /dev/null @@ -1,23 +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. - */ - -export default ['byName', [() => (arr, search) => { - if (!(arr && arr.length) || !search) - return arr; - - return _.filter(arr, ({ name }) => name.indexOf(search) >= 0); -}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/filters/domainsValidation.filter.js ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/filters/domainsValidation.filter.js b/modules/web-console/src/main/js/app/filters/domainsValidation.filter.js deleted file mode 100644 index 1a38392..0000000 --- a/modules/web-console/src/main/js/app/filters/domainsValidation.filter.js +++ /dev/null @@ -1,33 +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. - */ - -// Filter domain models with key fields configuration. -export default ['domainsValidation', ['IgniteLegacyUtils', (LegacyUtils) => (domains, valid, invalid) => { - if (valid && invalid) - return domains; - - const out = []; - - _.forEach(domains, function(domain) { - const _valid = !LegacyUtils.domainForStoreConfigured(domain) || LegacyUtils.isJavaBuiltInClass(domain.keyType) || !_.isEmpty(domain.keyFields); - - if (valid && _valid || invalid && !_valid) - out.push(domain); - }); - - return out; -}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/filters/hasPojo.filter.js ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/filters/hasPojo.filter.js b/modules/web-console/src/main/js/app/filters/hasPojo.filter.js deleted file mode 100644 index a179423..0000000 --- a/modules/web-console/src/main/js/app/filters/hasPojo.filter.js +++ /dev/null @@ -1,18 +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. - */ - -export default ['hasPojo', [() => ({caches} = []) => _.find(caches, (cache) => cache.domains && cache.domains.length)]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/helpers/jade/mixins.jade ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/helpers/jade/mixins.jade b/modules/web-console/src/main/js/app/helpers/jade/mixins.jade deleted file mode 100644 index 08ebe87..0000000 --- a/modules/web-console/src/main/js/app/helpers/jade/mixins.jade +++ /dev/null @@ -1,588 +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. - -//- Mixin for advanced options toggle. -mixin advanced-options-toggle(click, cond, showMessage, hideMessage) - .advanced-options - i.fa(ng-click=click ng-class='#{cond} ? "fa-chevron-circle-down" : "fa-chevron-circle-right"') - a(ng-click=click) {{#{cond} ? '#{hideMessage}' : '#{showMessage}'}} - -//- Mixin for advanced options toggle with default settings. -mixin advanced-options-toggle-default - +advanced-options-toggle('toggleExpanded()', 'ui.expanded', 'Show advanced settings...', 'Hide advanced settings...') - -//- Mixin for main table on screen with list of items. -mixin main-table(title, rows, focusId, click, rowTemplate, searchField) - .padding-bottom-dflt(ng-show='#{rows} && #{rows}.length > 0') - table.links(st-table='displayedRows' st-safe-src='#{rows}') - thead - tr - th - lable.labelHeader.labelFormField #{title}: - .col-sm-3.pull-right(style='padding: 0') - input.form-control(type='text' st-search='#{searchField}' placeholder='Filter #{title}...') - tbody - tr - td - .scrollable-y(ng-show='displayedRows.length > 0' style='max-height: 200px') - table - tbody - tr(ng-repeat='row in displayedRows track by row._id' ignite-bs-affix-update) - td - a(ng-class='{active: row._id == selectedItem._id}' ignite-on-click-focus=focusId ng-click=click) #{rowTemplate} - label.placeholder(ng-show='displayedRows.length == 0') No #{title} found - -//- Mixin with save, remove, clone and undo buttons. -mixin save-remove-clone-undo-buttons(objectName) - -var removeTip = '"Remove current ' + objectName + '"' - -var cloneTip = '"Clone current ' + objectName + '"' - -var undoTip = '"Undo all changes for current ' + objectName + '"' - - div(ng-show='contentVisible()' style='display: inline-block;') - .panel-tip-container(ng-hide='!backupItem || backupItem._id') - a.btn.btn-primary(ng-disabled='!ui.inputForm.$dirty' ng-click='ui.inputForm.$dirty && saveItem()' bs-tooltip='' data-title='{{saveBtnTipText(ui.inputForm.$dirty, "#{objectName}")}}' data-placement='bottom' data-trigger='hover') Save - .panel-tip-container(ng-show='backupItem._id') - a.btn.btn-primary(id='save-item' ng-disabled='!ui.inputForm.$dirty' ng-click='ui.inputForm.$dirty && saveItem()' bs-tooltip='' data-title='{{saveBtnTipText(ui.inputForm.$dirty, "#{objectName}")}}' data-placement='bottom' data-trigger='hover') Save - .panel-tip-container(ng-show='backupItem._id') - a.btn.btn-primary(id='clone-item' ng-click='cloneItem()' bs-tooltip=cloneTip data-placement='bottom' data-trigger='hover') Clone - .btn-group.panel-tip-container(ng-show='backupItem._id') - button.btn.btn-primary(id='remove-item' ng-click='removeItem()' bs-tooltip=removeTip data-placement='bottom' data-trigger='hover') Remove - button.btn.dropdown-toggle.btn-primary(id='remove-item-dropdown' data-toggle='dropdown' data-container='body' bs-dropdown='[{ text: "Remove All", click: "removeAllItems()" }]' data-placement='bottom-right') - span.caret - .panel-tip-container(ng-show='backupItem') - i.btn.btn-primary.fa.fa-undo(id='undo-item' ng-disabled='!ui.inputForm.$dirty' ng-click='ui.inputForm.$dirty && resetAll()' bs-tooltip=undoTip data-placement='bottom' data-trigger='hover') - -//- Mixin for feedback on specified error. -mixin error-feedback(visible, error, errorMessage, name) - i.fa.fa-exclamation-triangle.form-control-feedback( - ng-if=visible - bs-tooltip='"#{errorMessage}"' - ignite-error=error - ignite-error-message=errorMessage - name=name - ) - -//- Mixin for feedback on unique violation. -mixin unique-feedback(visible, errorMessage) - +error-feedback(visible, 'igniteUnique', errorMessage) - -//- Mixin for feedback on IP address violation. -mixin ipaddress-feedback(visible, name) - +error-feedback(visible, 'ipaddress', 'Invalid address!', name) - -//- Mixin for feedback on port of IP address violation. -mixin ipaddress-port-feedback(visible, name) - +error-feedback(visible, 'ipaddressPort', 'Invalid port!', name) - -//- Mixin for feedback on port range violation. -mixin ipaddress-port-range-feedback(visible, name) - +error-feedback(visible, 'ipaddressPortRange', 'Invalid port range!', name) - -//- Mixin for checkbox. -mixin checkbox(lbl, model, name, tip) - ignite-form-field.checkbox - ignite-form-field-input-checkbox( - data-id=name - data-name=name - data-ng-model=model - ) - | #{lbl} - ignite-form-field-tooltip - | !{tip} - -//- Mixin for checkbox with enabled condition. -mixin checkbox-enabled(lbl, model, name, enabled, tip) - ignite-form-field.checkbox - ignite-form-field-input-checkbox( - data-id=name - data-name=name - data-ng-model=model - data-ng-disabled='!(#{enabled})' - ) - | #{lbl} - ignite-form-field-tooltip - | !{tip} - -//- Mixin for java name field with enabled condition. -mixin java-class(lbl, model, name, enabled, required, tip) - -var errLbl = lbl.substring(0, lbl.length - 1) - - ignite-form-field - ignite-form-field-label - | #{lbl} - ignite-form-field-tooltip - | !{tip} - ignite-form-field-input-text( - data-id=name - data-name=name - data-ng-model=model - data-ng-disabled='!(#{enabled})' - data-ng-required=required - data-placeholder='Enter fully qualified class name' - - data-java-identifier='true' - data-java-package-specified='true' - data-java-keywords='true' - data-java-built-in-class='true' - ) - +error-feedback('form[ngModelName].$error.javaBuiltInClass', 'javaBuiltInClass', errLbl + ' should not be the Java built-in class!', name) - +error-feedback('form[ngModelName].$error.javaKeywords', 'javaKeywords', errLbl + ' could not contains reserved Java keyword!', name) - +error-feedback('form[ngModelName].$error.javaPackageSpecified', 'javaPackageSpecified', errLbl + ' does not have package specified!', name) - +error-feedback('form[ngModelName].$error.javaIdentifier', 'javaIdentifier', errLbl + ' is invalid Java identifier!', name) - -//- Mixin for text field with enabled condition with options. -mixin java-class-typeahead(lbl, model, name, options, enabled, required, placeholder, tip) - -var errLbl = lbl.substring(0, lbl.length - 1) - - ignite-form-field - ignite-form-field-label - | #{lbl} - ignite-form-field-tooltip - | !{tip} - ignite-form-field-input-datalist( - data-id=name - data-name=name - data-ng-model=model - data-options=options - data-placeholder=placeholder - data-ng-disabled='!(#{enabled})' - data-ng-required=required - - data-java-identifier='true' - data-java-package-specified='allow-built-in' - data-java-keywords='true' - ) - +error-feedback('form[ngModelName].$error.javaKeywords', 'javaKeywords', errLbl + ' could not contains reserved Java keyword!', name) - +error-feedback('form[ngModelName].$error.javaPackageSpecified', 'javaPackageSpecified', errLbl + ' does not have package specified!', name) - +error-feedback('form[ngModelName].$error.javaIdentifier', 'javaIdentifier', errLbl + ' is invalid Java identifier!', name) - -//- Mixin for text field with IP address check. -mixin text-ip-address(lbl, model, name, enabled, placeholder, tip) - ignite-form-field - ignite-form-field-label - | #{lbl} - ignite-form-field-tooltip - | !{tip} - ignite-form-field-input-text( - data-id=name - data-name=name - data-ng-model=model - data-ipaddress='true' - data-ng-disabled='!(#{enabled})' - data-placeholder=placeholder - ) - +ipaddress-feedback('form[ngModelName].$error.ipaddress', name) - - -//- Mixin for text field with IP address and port check. -mixin text-ip-address-with-port(lbl, model, name, enabled, placeholder, tip) - ignite-form-field - ignite-form-field-label - | #{lbl} - ignite-form-field-tooltip - | !{tip} - ignite-form-field-input-text( - data-id=name - data-name=name - data-ng-model=model - data-ipaddress='true' - data-ipaddress-with-port='true' - data-ng-disabled='!(#{enabled})' - data-placeholder=placeholder - ) - +ipaddress-feedback('form[ngModelName].$error.ipaddress', name) - +ipaddress-port-feedback('form[ngModelName].$error.ipaddressPort', name) - -//- Mixin for text field. -mixin text-enabled(lbl, model, name, enabled, required, placeholder, tip) - ignite-form-field - ignite-form-field-label - | #{lbl} - ignite-form-field-tooltip - | !{tip} - ignite-form-field-input-text( - data-id=name - data-name=name - data-ng-model=model - data-placeholder=placeholder - data-ng-disabled='!(#{enabled})' - data-ng-required=required - ) - -//- Mixin for text field. -mixin text(lbl, model, name, required, placeholder, tip) - +text-enabled(lbl, model, name, 'true', required, placeholder, tip) - -//- Mixin for text field with enabled condition with options. -mixin text-options(lbl, model, name, options, enabled, required, placeholder, tip) - ignite-form-field - ignite-form-field-label - | #{lbl} - ignite-form-field-tooltip - | !{tip} - ignite-form-field-input-datalist( - data-id=name - data-name=name - data-ng-model=model - data-options=options - data-placeholder=placeholder - data-ng-disabled='!(#{enabled})' - data-ng-required=required - ) - -//- Mixin for required numeric field. -mixin number-required(lbl, model, name, enabled, required, placeholder, min, tip) - ignite-form-field - ignite-form-field-label - | #{lbl} - ignite-form-field-tooltip - | !{tip} - ignite-form-field-input-number( - data-id=name - data-name=name - data-ng-model=model - data-ng-required=required - data-ng-disabled='!(#{enabled})' - data-placeholder=placeholder - data-min=min - ) - -//- Mixin for required numeric field with maximum and minimum limit. -mixin number-min-max(lbl, model, name, enabled, placeholder, min, max, tip) - +number-min-max-step(lbl, model, name, enabled, placeholder, min, max, '1', tip) - -//- Mixin for required numeric field with maximum and minimum limit. -mixin number-min-max-step(lbl, model, name, enabled, placeholder, min, max, step, tip) - ignite-form-field - ignite-form-field-label - | #{lbl} - ignite-form-field-tooltip - | !{tip} - ignite-form-field-input-number( - data-id=name - data-name=name - data-ng-model=model - data-ng-disabled='!(#{enabled})' - data-placeholder=placeholder - data-min=min - data-max=max - data-step=step - ) - -//- Mixin for numeric field. -mixin number(lbl, model, name, enabled, placeholder, min, tip) - +number-required(lbl, model, name, enabled, 'false', placeholder, min, tip) - -//- Mixin for required dropdown field. -mixin dropdown-required-empty(lbl, model, name, enabled, required, placeholder, placeholderEmpty, options, tip) - ignite-form-field - ignite-form-field-label - | #{lbl} - ignite-form-field-tooltip - | !{tip} - ignite-form-field-dropdown( - data-id=name - data-name=name - data-options=options - data-ng-model=model - data-ng-disabled='!(#{enabled})' - data-ng-required=required - data-placeholder='{{#{options}.length > 0 ? "#{placeholder}" : "#{placeholderEmpty}"}}' - ) - -//- Mixin for required dropdown field. -mixin dropdown-required(lbl, model, name, enabled, required, placeholder, options, tip) - ignite-form-field - ignite-form-field-label - | #{lbl} - ignite-form-field-tooltip - | !{tip} - ignite-form-field-dropdown( - data-id=name - data-name=name - data-options=options - data-ng-model=model - data-ng-disabled='!(#{enabled})' - data-ng-required=required - data-placeholder=placeholder - ) - -//- Mixin for dropdown field. -mixin dropdown(lbl, model, name, enabled, placeholder, options, tip) - +dropdown-required(lbl, model, name, enabled, 'false', placeholder, options, tip) - -//- Mixin for dropdown-multiple field. -mixin dropdown-multiple(lbl, model, name, enabled, placeholder, placeholderEmpty, options, tip) - ignite-form-field - ignite-form-field-label - | !{lbl} - ignite-form-field-tooltip - | !{tip} - ignite-form-field-dropdown( - data-id=name - data-name=name - data-multiple='true' - data-options=options - data-ng-model=model - data-ng-disabled='!(#{enabled})' - data-placeholder='{{ #{options}.length > 0 ? "#{placeholder}" : "#{placeholderEmpty}" }}' - data-disabled='!#{options}.length' - ) - -//- Mixin for table text field. -mixin table-text-field(field, items, valid, save, placeholder, newItem) - -var resetOnEnter = newItem ? '(stopblur = true) && (group.add = [{}])' : '(field.edit = false)' - -var onEnter = valid + ' && (' + save + '); ' + valid + ' && ' + resetOnEnter + ';' - - -var onEscape = newItem ? 'group.add = []' : 'field.edit = false' - - -var resetOnBlur = newItem ? '!stopblur && (group.add = [])' : 'field.edit = false' - -var onBlur = valid + ' && ( ' + save + '); ' + resetOnBlur + ';' - - ignite-form-field-input-text( - data-name='#{field}{{ $index || "" }}' - data-ng-model=field - data-ng-required='true' - data-placeholder=placeholder - data-ignite-unique=items - data-ignite-form-field-input-autofocus='true' - ignite-on-enter=onEnter - ignite-on-escape=onEscape - ng-blur=onBlur - ) - block - -//- Mixin for table java class field. -mixin table-java-class-field(lbl, field, items, valid, save, newItem) - -var resetOnEnter = newItem ? '(stopblur = true) && (group.add = [{}])' : '(field.edit = false)' - -var onEnter = valid + ' && (' + save + '); ' + valid + ' && ' + resetOnEnter + ';' - - -var onEscape = newItem ? 'group.add = []' : 'field.edit = false' - - -var resetOnBlur = newItem ? '!stopblur && (group.add = [])' : 'field.edit = false' - -var onBlur = valid + ' && ( ' + save + '); ' + resetOnBlur + ';' - - ignite-form-field-input-text( - data-name='#{field}{{ $index || "" }}' - data-ng-model=field - data-ng-required='true' - data-ignite-unique=items - data-ignite-form-field-input-autofocus='true' - - data-java-identifier='true' - data-java-package-specified='true' - data-java-keywords='true' - data-java-built-in-class='true' - - data-placeholder='Enter fully qualified class name' - - ignite-on-enter=onEnter - ignite-on-escape=onEscape - ng-blur=onBlur - ) - +error-feedback('form[ngModelName].$error.javaBuiltInClass', 'javaBuiltInClass', lbl + ' should not be the Java built-in class!') - +error-feedback('form[ngModelName].$error.javaKeywords', 'javaKeywords', lbl + ' could not contains reserved Java keyword!') - +error-feedback('form[ngModelName].$error.javaPackageSpecified', 'javaPackageSpecified', lbl + ' does not have package specified!') - +error-feedback('form[ngModelName].$error.javaIdentifier', 'javaIdentifier', lbl + ' is invalid Java identifier!') - - block - -//- Mixin for table java package field. -mixin table-java-package-field(field, items, valid, save, newItem) - -var resetOnEnter = newItem ? '(stopblur = true) && (group.add = [{}])' : '(field.edit = false)' - -var onEnter = valid + ' && (' + save + '); ' + valid + ' && ' + resetOnEnter + ';' - - -var onEscape = newItem ? 'group.add = []' : 'field.edit = false' - - -var resetOnBlur = newItem ? '!stopblur && (group.add = [])' : 'field.edit = false' - -var onBlur = valid + ' && ( ' + save + '); ' + resetOnBlur + ';' - - ignite-form-field-input-text( - data-name='#{field}{{ $index || "" }}' - data-ng-model=field - data-ng-required='true' - data-placeholder='Enter package name' - data-java-keywords='true' - data-java-package-name='true' - data-ignite-unique=items - data-ignite-form-field-input-autofocus='true' - ignite-on-enter=onEnter - ignite-on-escape=onEscape - ng-blur=onBlur - ) - block - -//- Mixin for table address field. -mixin table-address-field(field, items, valid, save, newItem, portRange) - -var resetOnEnter = newItem ? '(stopblur = true) && (group.add = [{}])' : '(field.edit = false)' - -var onEnter = valid + ' && (' + save + '); ' + valid + ' && ' + resetOnEnter + ';' - - -var onEscape = newItem ? 'group.add = []' : 'field.edit = false' - - -var resetOnBlur = newItem ? '!stopblur && (group.add = [])' : 'field.edit = false' - -var onBlur = valid + ' && ( ' + save + '); ' + resetOnBlur + ';' - - ignite-form-field-input-text( - data-name='#{field}{{ $index || "" }}' - data-ng-model=field - data-ng-required='true' - data-placeholder='IP address:port' - data-ipaddress='true' - data-ipaddress-with-port='true' - data-ipaddress-with-port-range=portRange ? 'true' : null - data-ignite-unique=items - data-ignite-form-field-input-autofocus='true' - ignite-on-enter=onEnter - ignite-on-escape=onEscape - ng-blur=onBlur - ) - block - -//- Mixin for table save button. - "||" used instead of "&&" to workaround escaping of "&&" to "&&" -mixin table-save-button(valid, save, newItem) - -var reset = newItem ? 'group.add = []' : 'field.edit = false' - - i.fa.fa-floppy-o( - ng-show=valid - ng-click='!(#{valid}) || (#{save}); !(#{valid}) || (#{reset});' - bs-tooltip - data-title='Click icon or press [Enter] to save item' - ) - -//- Mixin for table remove button. -mixin table-remove-conditional-button(items, show, tip) - i.tipField.fa.fa-remove( - ng-hide='!#{show} || field.edit' - bs-tooltip - data-title=tip - ng-click='#{items}.splice(#{items}.indexOf(model), 1)' - ) - -//- Mixin for table remove button. -mixin table-remove-button(items, tip) - +table-remove-conditional-button(items, 'true', tip) - -//- Mixin for cache mode. -mixin cacheMode(lbl, model, name, placeholder) - +dropdown(lbl, model, name, 'true', placeholder, - '[\ - {value: "LOCAL", label: "LOCAL"},\ - {value: "REPLICATED", label: "REPLICATED"},\ - {value: "PARTITIONED", label: "PARTITIONED"}\ - ]', - 'Cache modes:\ - <ul>\ - <li>Partitioned - in this mode the overall key set will be divided into partitions and all partitions will be split equally between participating nodes</li>\ - <li>Replicated - in this mode all the keys are distributed to all participating nodes</li>\ - <li>Local - in this mode caches residing on different grid nodes will not know about each other</li>\ - </ul>' - ) - -//- Mixin for eviction policy. -mixin evictionPolicy(model, name, enabled, required, tip) - -var kind = model + '.kind' - -var policy = model + '[' + kind + ']' - - +dropdown-required('Eviction policy:', kind, name + 'Kind', enabled, required, 'Not set', - '[\ - {value: "LRU", label: "LRU"},\ - {value: "FIFO", label: "FIFO"},\ - {value: "SORTED", label: "Sorted"},\ - {value: undefined, label: "Not set"}\ - ]', tip) - span(ng-if=kind) - a.customize(ng-show='__.expanded' ng-click='__.expanded = false') Hide settings - a.customize(ng-hide='__.expanded' ng-click='__.expanded = true') Show settings - .panel-details(ng-if='__.expanded') - .details-row - +number('Batch size', policy + '.batchSize', name + 'batchSize', enabled, '1', '0', - 'Number of entries to remove on shrink') - .details-row - +number('Max memory size', policy + '.maxMemorySize', name + 'maxMemorySize', enabled, '0', '0', - 'Maximum allowed cache size in bytes') - .details-row - +number('Max size', policy + '.maxSize', name + 'maxSize', enabled, '100000', '0', - 'Maximum allowed size of cache before entry will start getting evicted') - -//- Mixin for clusters dropdown. -mixin clusters(model, tip) - +dropdown-multiple('<span>Clusters:</span>' + '<a ui-sref="base.configuration.clusters({linkId: linkId()})"> (add)</a>', - model + '.clusters', 'clusters', 'true', 'Choose clusters', 'No clusters configured', 'clusters', tip) - -//- Mixin for caches dropdown. -mixin caches(model, tip) - +dropdown-multiple('<span>Caches:</span>' + '<a ui-sref="base.configuration.caches({linkId: linkId()})"> (add)</a>', - model + '.caches', 'caches', 'true', 'Choose caches', 'No caches configured', 'caches', tip) - -//- Mixin for XML and Java preview. -mixin preview-xml-java(master, generator, detail) - ignite-ui-ace-tabs - .preview-panel(ng-init='mode = false') - .preview-legend - a(ng-class='{active: !mode, inactive: mode}' ng-click='mode = false') XML - | - a(ng-class='{active: mode, inactive: !mode}' ng-click='mode = true') Java - .preview-content(ng-if='mode') - ignite-ui-ace-java(data-master=master data-generator=generator ng-model='$parent.data' data-detail=detail) - .preview-content(ng-if='!mode') - ignite-ui-ace-xml(data-master=master data-generator=generator ng-model='$parent.data' data-detail=detail) - .preview-content-empty(ng-if='!data') - label All Defaults - -//- LEGACY mixin for LEGACY tables. -mixin btn-save(show, click) - i.tipField.fa.fa-floppy-o(ng-show=show ng-click=click bs-tooltip='' data-title='Click icon or press [Enter] to save item' data-trigger='hover') - -//- LEGACY mixin for LEGACY tables. -mixin btn-add(click, tip) - i.tipField.fa.fa-plus(ng-click=click bs-tooltip=tip data-trigger = 'hover') - -//- LEGACY mixin for LEGACY tables. -mixin btn-remove(click, tip) - i.tipField.fa.fa-remove(ng-click=click bs-tooltip=tip data-trigger='hover') - -//- LEGACY mixin for LEGACY tables. -mixin btn-remove-cond(cond, click, tip) - i.tipField.fa.fa-remove(ng-show=cond ng-click=click bs-tooltip=tip data-trigger='hover') - -//- LEGACY mixin for LEGACY pair values tables. -mixin table-pair-edit(tbl, prefix, keyPlaceholder, valPlaceholder, keyJavaBuiltInTypes, valueJavaBuiltInTypes, focusId, index, divider) - -var keyModel = tbl + '.' + prefix + 'Key' - -var valModel = tbl +'.' + prefix + 'Value' - - -var keyFocusId = prefix + 'Key' + focusId - -var valFocusId = prefix + 'Value' + focusId - - .col-xs-6.col-sm-6.col-md-6 - .fieldSep !{divider} - .input-tip - if keyJavaBuiltInTypes - input.form-control(id=keyFocusId ignite-on-enter-focus-move=valFocusId type='text' ng-model=keyModel placeholder=keyPlaceholder bs-typeahead container='body' ignite-retain-selection data-min-length='1' bs-options='javaClass for javaClass in javaBuiltInClasses' ignite-on-escape='tableReset()') - else - input.form-control(id=keyFocusId ignite-on-enter-focus-move=valFocusId type='text' ng-model=keyModel placeholder=keyPlaceholder ignite-on-escape='tableReset()') - .col-xs-6.col-sm-6.col-md-6 - -var arg = keyModel + ', ' + valModel - -var btnVisible = 'tablePairSaveVisible(' + tbl + ', ' + index + ')' - -var btnSave = 'tablePairSave(tablePairValid, backupItem, ' + tbl + ', ' + index + ')' - -var btnVisibleAndSave = btnVisible + ' && ' + btnSave - - +btn-save(btnVisible, btnSave) - .input-tip - if valueJavaBuiltInTypes - input.form-control(id=valFocusId type='text' ng-model=valModel placeholder=valPlaceholder bs-typeahead container='body' ignite-retain-selection data-min-length='1' bs-options='javaClass for javaClass in javaBuiltInClasses' ignite-on-enter=btnVisibleAndSave ignite-on-escape='tableReset()') - else - input.form-control(id=valFocusId type='text' ng-model=valModel placeholder=valPlaceholder ignite-on-enter=btnVisibleAndSave ignite-on-escape='tableReset()') http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/modules/Demo/Demo.module.js ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/modules/Demo/Demo.module.js b/modules/web-console/src/main/js/app/modules/Demo/Demo.module.js deleted file mode 100644 index 68aca9d..0000000 --- a/modules/web-console/src/main/js/app/modules/Demo/Demo.module.js +++ /dev/null @@ -1,166 +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 angular from 'angular'; - -import DEMO_INFO from 'app/data/demo-info.json'; - -angular -.module('ignite-console.demo', [ - 'ignite-console.socket' -]) -.config(['$stateProvider', ($stateProvider) => { - $stateProvider - .state('demo', { - abstract: true, - template: '<ui-view></ui-view>' - }) - .state('demo.resume', { - url: '/demo', - controller: ['$state', ($state) => { - $state.go('base.configuration.clusters'); - }], - metaTags: { - } - }) - .state('demo.reset', { - url: '/demo/reset', - controller: ['$state', '$http', 'IgniteMessages', ($state, $http, Messages) => { - $http.post('/api/v1/demo/reset') - .then(() => $state.go('base.configuration.clusters')) - .catch((err) => { - $state.go('base.configuration.clusters'); - - Messages.showError(err); - }); - }], - metaTags: {} - }); -}]) -.provider('Demo', ['$stateProvider', '$httpProvider', 'igniteSocketFactoryProvider', function($state, $http, socketFactory) { - if (/(\/demo.*)/ig.test(location.pathname)) - sessionStorage.setItem('IgniteDemoMode', 'true'); - - const enabled = sessionStorage.getItem('IgniteDemoMode') === 'true'; - - if (enabled) { - socketFactory.set({query: 'IgniteDemoMode=true'}); - - $http.interceptors.push('demoInterceptor'); - } - - this.$get = ['$rootScope', ($root) => { - $root.IgniteDemoMode = enabled; - - return {enabled}; - }]; -}]) -.factory('demoInterceptor', ['Demo', (Demo) => { - const isApiRequest = (url) => /\/api\/v1/ig.test(url); - - return { - request(cfg) { - if (Demo.enabled && isApiRequest(cfg.url)) - cfg.headers.IgniteDemoMode = true; - - return cfg; - } - }; -}]) -.controller('demoController', ['$scope', '$state', '$window', 'IgniteConfirm', ($scope, $state, $window, Confirm) => { - const _openTab = (stateName) => $window.open($state.href(stateName), '_blank'); - - $scope.startDemo = () => { - if (!$scope.user.demoCreated) - return _openTab('demo.reset'); - - Confirm.confirm('Would you like to continue with previous demo session?', true, false) - .then((resume) => { - if (resume) - return _openTab('demo.resume'); - - _openTab('demo.reset'); - }); - }; - - $scope.closeDemo = () => { - $window.close(); - }; -}]) -.provider('igniteDemoInfo', [function() { - const items = DEMO_INFO; - - this.update = (data) => items[0] = data; - - this.$get = [() => { - return items; - }]; -}]) -.service('DemoInfo', ['$rootScope', '$modal', '$state', '$q', 'igniteDemoInfo', 'IgniteAgentMonitor', ($rootScope, $modal, $state, $q, igniteDemoInfo, agentMonitor) => { - const scope = $rootScope.$new(); - - let closePromise = null; - - function _fillPage() { - const model = igniteDemoInfo; - - scope.title = model[0].title; - scope.message = model[0].message.join(' '); - } - - const dialog = $modal({ - templateUrl: '/templates/demo-info.html', - scope, - placement: 'center', - show: false, - backdrop: 'static' - }); - - scope.close = () => { - dialog.hide(); - - closePromise && closePromise.resolve(); - }; - - scope.downloadAgent = () => { - const lnk = document.createElement('a'); - - lnk.setAttribute('href', '/api/v1/agent/download/zip'); - lnk.setAttribute('target', '_self'); - lnk.setAttribute('download', null); - lnk.style.display = 'none'; - - document.body.appendChild(lnk); - - lnk.click(); - - document.body.removeChild(lnk); - }; - - return { - show: () => { - closePromise = $q.defer(); - - _fillPage(); - - return dialog.$promise - .then(dialog.show) - .then(() => Promise.race([agentMonitor.awaitAgent(), closePromise.promise])) - .then(() => scope.hasAgents = true); - } - }; -}]); http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/modules/Version/Version.provider.js ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/modules/Version/Version.provider.js b/modules/web-console/src/main/js/app/modules/Version/Version.provider.js deleted file mode 100644 index fe503ab..0000000 --- a/modules/web-console/src/main/js/app/modules/Version/Version.provider.js +++ /dev/null @@ -1,32 +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 angular from 'angular'; - -angular - .module('ignite-console.version', []) - .provider('IgniteVersion', function() { - const version = { - version: '1.6.0' - }; - - this.update = (newVersion) => { - version.version = newVersion; - }; - - this.$get = [() => version]; - });
