IGNITE-843 Refactored modules.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/0fc97266 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/0fc97266 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/0fc97266 Branch: refs/heads/ignite-843-rc3 Commit: 0fc9726635cb832ec2a2fdad0d6ce17d5e12f6b2 Parents: 61fe0f7 Author: Andrey <[email protected]> Authored: Mon Feb 8 16:03:43 2016 +0700 Committer: Andrey <[email protected]> Committed: Mon Feb 8 16:03:43 2016 +0700 ---------------------------------------------------------------------- .../control-center-web/src/main/js/app/index.js | 43 ++++--- .../src/main/js/app/modules/Auth/index.js | 84 -------------- .../src/main/js/app/modules/Form/form.module.js | 92 +++++++++++++++ .../src/main/js/app/modules/Form/index.js | 92 --------------- .../app/modules/JavaTypes/JavaTypes.provider.js | 67 +++++++++++ .../src/main/js/app/modules/JavaTypes/index.js | 67 ----------- .../QueryNotebooks/QueryNotebooks.provider.js | 115 +++++++++++++++++++ .../main/js/app/modules/QueryNotebooks/index.js | 115 ------------------- .../main/js/app/modules/User/Auth.service.js | 76 ++++++++++++ .../main/js/app/modules/User/User.service.js | 58 ++++++++++ .../src/main/js/app/modules/User/index.js | 66 ----------- .../src/main/js/app/modules/User/user.module.js | 28 +++++ .../js/app/modules/Version/Version.provider.js | 32 ++++++ .../src/main/js/app/modules/Version/main.js | 32 ------ .../js/app/modules/branding/branding.module.js | 38 ++++++ .../js/app/modules/branding/logo.directive.js | 34 ++++++ .../src/main/js/app/modules/branding/logo.jade | 18 +++ .../js/app/modules/branding/logo.provider.js | 42 +++++++ .../branding/powered-by-apache.directive.js | 35 ++++++ .../app/modules/branding/powered-by-apache.jade | 18 +++ .../js/app/modules/branding/terms.directive.js | 31 +++++ .../js/app/modules/branding/terms.provider.js | 41 +++++++ .../js/app/modules/branding/title.directive.js | 35 ++++++ .../configuration/EventGroups.provider.js | 30 +++++ .../modules/configuration/Sidebar.provider.js | 39 +++++++ .../configuration/configuration.module.js | 32 ++++++ .../configuration/include-event-types/main.js | 36 ------ .../modules/configuration/sidebar.directive.js | 30 +++++ .../app/modules/configuration/sidebar/main.js | 56 --------- .../main/js/app/modules/dialog/dialog.module.js | 32 ++++++ .../src/main/js/app/modules/dialog/index.js | 31 ----- .../getting-started/GettingStarted.provider.js | 112 ++++++++++++++++++ .../main/js/app/modules/getting-started/main.js | 112 ------------------ .../src/main/js/app/modules/logo/logo.jade | 18 --- .../src/main/js/app/modules/logo/main.js | 98 ---------------- .../js/app/modules/logo/powered-by-apache.jade | 18 --- .../js/app/modules/navbar/Navbar.provider.js | 28 +++++ .../js/app/modules/navbar/Userbar.directive.js | 48 ++++++++ .../js/app/modules/navbar/Userbar.provider.js | 28 +++++ .../src/main/js/app/modules/navbar/main.js | 47 -------- .../js/app/modules/navbar/navbar.directive.js | 30 +++++ .../main/js/app/modules/navbar/navbar.module.js | 33 ++++++ .../src/main/js/app/modules/settings/main.js | 65 ----------- .../main/js/app/modules/states/login/index.js | 6 +- .../src/main/js/app/modules/terms/main.js | 61 ---------- .../app/services/Countries/Countries.service.js | 23 ++++ .../src/main/js/app/services/Countries/index.js | 23 ---- .../main/js/controllers/clusters-controller.js | 4 +- .../src/main/js/controllers/common-module.js | 5 - .../main/js/helpers/generator/generator-java.js | 2 +- .../main/js/helpers/generator/generator-xml.js | 2 +- .../main/js/views/configuration/sidebar.jade | 2 +- .../src/main/js/views/includes/header.jade | 6 +- 53 files changed, 1256 insertions(+), 1060 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/0fc97266/modules/control-center-web/src/main/js/app/index.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/index.js b/modules/control-center-web/src/main/js/app/index.js index 3f4bd04..ac45b73 100644 --- a/modules/control-center-web/src/main/js/app/index.js +++ b/modules/control-center-web/src/main/js/app/index.js @@ -56,11 +56,9 @@ import 'angular-ui-grid/ui-grid.css!'; import 'angular-loading/angular-loading.css!'; import 'angular-motion/dist/angular-motion.css!'; -import './modules/User/index'; -import './modules/Auth/index'; -import './modules/Form/index'; -import './modules/JavaTypes/index'; -import './modules/QueryNotebooks/index'; +import './modules/Form/form.module'; +import './modules/JavaTypes/JavaTypes.provider'; +import './modules/QueryNotebooks/QueryNotebooks.provider'; import './modules/states/login/index'; import './modules/states/logout/index'; @@ -71,15 +69,13 @@ import './modules/states/profile/index'; import './modules/states/admin/index'; // ignite:modules -import './modules/dialog/index'; -import './modules/navbar/main'; -import './modules/settings/main'; -import './modules/configuration/sidebar/main'; -import './modules/configuration/include-event-types/main'; -import './modules/terms/main'; -import './modules/logo/main'; -import './modules/getting-started/main'; -import './modules/Version/main'; +import './modules/user/user.module'; +import './modules/branding/branding.module'; +import './modules/navbar/navbar.module'; +import './modules/configuration/configuration.module'; +import './modules/getting-started/GettingStarted.provider'; +import './modules/dialog/dialog.module'; +import './modules/Version/Version.provider'; // endignite // Directives. @@ -97,7 +93,7 @@ import igniteFormFieldJavaClass from './directives/form-field-java-class/form-fi import cleanup from './services/cleanup/cleanup.service'; import GeneratorXml from './services/Generator/Xml.service'; import GeneratorJava from './services/Generator/Java.service'; -import IgniteCountries from './services/Countries/index'; +import IgniteCountries from './services/Countries/Countries.service'; // Providers @@ -110,8 +106,8 @@ angular 'ui.router.title', 'ngRetina', // Base modules. - 'ignite-console.Auth', - 'ignite-console.User', + 'ignite-console.user', + 'ignite-console.branding', 'ignite-console.Form', 'ignite-console.JavaTypes', 'ignite-console.QueryNotebooks', @@ -126,11 +122,7 @@ angular // Common modules. 'ignite-console.dialog', 'ignite-console.navbar', - 'ignite-console.userbar', - 'ignite-console.configuration.sidebar', - 'ignite-console.configuration.include-event-types', - 'ignite-console.terms', - 'ignite-console.logo', + 'ignite-console.configuration', 'ignite-console.getting-started', 'ignite-console.version' ]) @@ -170,6 +162,11 @@ angular $locationProvider.html5Mode(true); }]) -.run(['$rootScope', '$state', ($root, $state) => { +.run(['$rootScope', '$state', 'Auth', 'User', ($root, $state, Auth, User) => { $root.$state = $state; + + if (Auth.authorized) { + User.read() + .then((user) => $root.$broadcast('user', user)); + } }]); http://git-wip-us.apache.org/repos/asf/ignite/blob/0fc97266/modules/control-center-web/src/main/js/app/modules/Auth/index.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/Auth/index.js b/modules/control-center-web/src/main/js/app/modules/Auth/index.js deleted file mode 100644 index 31a2d94..0000000 --- a/modules/control-center-web/src/main/js/app/modules/Auth/index.js +++ /dev/null @@ -1,84 +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.Auth', [ - -]) -.provider('Auth', function() { - let _auth = false; - - try { - _auth = localStorage.authorized === 'true'; - } - catch (ignore) { - // No-op. - } - - function _authorized(value) { - try { - return _auth = localStorage.authorized = !!value; - } catch (ignore) { - return _auth = !!value; - } - } - - this.$get = ['$http', '$rootScope', '$state', '$common', 'IgniteGettingStarted', 'User', function($http, $root, $state, $common, gettingStarted, User) { - return { - get authorized() { - return _auth; - }, - set authorized(auth) { - _authorized(auth); - }, - auth(action, userInfo) { - $http.post('/api/v1/' + action, userInfo) - .then(User.read) - .then((user) => { - if (action !== 'password/forgot') { - _authorized(true); - - $root.$broadcast('user', user); - - $state.go('base.configuration.clusters'); - - $root.gettingStarted.tryShow(); - } else - $state.go('password.send'); - }) - .catch(function(errMsg) { - $common.showPopoverMessage(null, null, 'user_email', errMsg.data); - }); - }, - logout() { - $http.post('/api/v1/logout') - .then(function() { - User.clean(); - - _authorized(false); - - $state.go('login'); - }) - .catch(function(errMsg) { - $common.showError(errMsg); - }); - } - }; - }]; -}); http://git-wip-us.apache.org/repos/asf/ignite/blob/0fc97266/modules/control-center-web/src/main/js/app/modules/Form/form.module.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/Form/form.module.js b/modules/control-center-web/src/main/js/app/modules/Form/form.module.js new file mode 100644 index 0000000..aac831d --- /dev/null +++ b/modules/control-center-web/src/main/js/app/modules/Form/form.module.js @@ -0,0 +1,92 @@ +/* + * 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'; + +// Panel. +import igniteFormPanel from './panel/panel.directive'; +import igniteFormPanelChevron from './panel/chevron.directive'; +import igniteFormRevert from './panel/revert.directive'; + +// Field. +import igniteFormField from './field/field.directive'; +import igniteFormFieldLabel from './field/label.directive'; +import igniteFormFieldTooltip from './field/tooltip.directive'; +import igniteFormFieldDropdown from './field/dropdown.directive'; +import igniteFormFieldInputNumber from './field/input/number.directive'; +import igniteFormFieldInputText from './field/input/text.directive'; +import igniteFormFieldInputCheckbox from './field/input/checkbox.directive'; +import igniteFormFieldInputDatalist from './field/input/datalist.directive'; + +// Group. +import igniteFormGroup from './group/group.directive'; +import igniteFormGroupAdd from './group/add.directive'; +import igniteFormGroupTooltip from './group/tooltip.directive'; + +// Validators. +import javaKeywords from './validator/java-keywords.directive'; +import javaPackageSpecified from './validator/java-package-specified.directive'; +import javaBuiltInClass from './validator/java-built-in-class.directive'; +import javaIdentifier from './validator/java-identifier.directive'; +import javaPackageName from './validator/java-package-name.directive'; +import unique from './validator/unique.directive'; + +// Helpers. +import igniteFormFieldInputAutofocus from './field/input/autofocus.directive'; +import igniteFormFieldUp from './field/up.directive'; +import igniteFormFieldDown from './field/down.directive'; +import igniteFormControlFeedback from './field/form-control-feedback.directive'; + +angular +.module('ignite-console.Form', [ + +]) +// Panel. +.directive(...igniteFormPanel) +.directive(...igniteFormPanelChevron) +.directive(...igniteFormRevert) +// Field. +.directive(...igniteFormField) +.directive(...igniteFormFieldLabel) +.directive(...igniteFormFieldTooltip) +.directive(...igniteFormFieldDropdown) +.directive(...igniteFormFieldInputNumber) +.directive(...igniteFormFieldInputText) +.directive(...igniteFormFieldInputCheckbox) +.directive(...igniteFormFieldInputDatalist) +// Group. +.directive(...igniteFormGroup) +.directive(...igniteFormGroupAdd) +.directive(...igniteFormGroupTooltip) +// Validators. +.directive(...javaKeywords) +.directive(...javaPackageSpecified) +.directive(...javaBuiltInClass) +.directive(...javaIdentifier) +.directive(...javaPackageName) +.directive(...unique) +// Helpers. +.directive(...igniteFormFieldInputAutofocus) +.directive(...igniteFormFieldUp) +.directive(...igniteFormFieldDown) +.directive(...igniteFormControlFeedback) +// Generator of globally unique identifier. +.factory('IgniteFormGUID', [() => { + let guid = 0; + + return () => `form-field-${guid++}`; +}]); http://git-wip-us.apache.org/repos/asf/ignite/blob/0fc97266/modules/control-center-web/src/main/js/app/modules/Form/index.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/Form/index.js b/modules/control-center-web/src/main/js/app/modules/Form/index.js deleted file mode 100644 index aac831d..0000000 --- a/modules/control-center-web/src/main/js/app/modules/Form/index.js +++ /dev/null @@ -1,92 +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'; - -// Panel. -import igniteFormPanel from './panel/panel.directive'; -import igniteFormPanelChevron from './panel/chevron.directive'; -import igniteFormRevert from './panel/revert.directive'; - -// Field. -import igniteFormField from './field/field.directive'; -import igniteFormFieldLabel from './field/label.directive'; -import igniteFormFieldTooltip from './field/tooltip.directive'; -import igniteFormFieldDropdown from './field/dropdown.directive'; -import igniteFormFieldInputNumber from './field/input/number.directive'; -import igniteFormFieldInputText from './field/input/text.directive'; -import igniteFormFieldInputCheckbox from './field/input/checkbox.directive'; -import igniteFormFieldInputDatalist from './field/input/datalist.directive'; - -// Group. -import igniteFormGroup from './group/group.directive'; -import igniteFormGroupAdd from './group/add.directive'; -import igniteFormGroupTooltip from './group/tooltip.directive'; - -// Validators. -import javaKeywords from './validator/java-keywords.directive'; -import javaPackageSpecified from './validator/java-package-specified.directive'; -import javaBuiltInClass from './validator/java-built-in-class.directive'; -import javaIdentifier from './validator/java-identifier.directive'; -import javaPackageName from './validator/java-package-name.directive'; -import unique from './validator/unique.directive'; - -// Helpers. -import igniteFormFieldInputAutofocus from './field/input/autofocus.directive'; -import igniteFormFieldUp from './field/up.directive'; -import igniteFormFieldDown from './field/down.directive'; -import igniteFormControlFeedback from './field/form-control-feedback.directive'; - -angular -.module('ignite-console.Form', [ - -]) -// Panel. -.directive(...igniteFormPanel) -.directive(...igniteFormPanelChevron) -.directive(...igniteFormRevert) -// Field. -.directive(...igniteFormField) -.directive(...igniteFormFieldLabel) -.directive(...igniteFormFieldTooltip) -.directive(...igniteFormFieldDropdown) -.directive(...igniteFormFieldInputNumber) -.directive(...igniteFormFieldInputText) -.directive(...igniteFormFieldInputCheckbox) -.directive(...igniteFormFieldInputDatalist) -// Group. -.directive(...igniteFormGroup) -.directive(...igniteFormGroupAdd) -.directive(...igniteFormGroupTooltip) -// Validators. -.directive(...javaKeywords) -.directive(...javaPackageSpecified) -.directive(...javaBuiltInClass) -.directive(...javaIdentifier) -.directive(...javaPackageName) -.directive(...unique) -// Helpers. -.directive(...igniteFormFieldInputAutofocus) -.directive(...igniteFormFieldUp) -.directive(...igniteFormFieldDown) -.directive(...igniteFormControlFeedback) -// Generator of globally unique identifier. -.factory('IgniteFormGUID', [() => { - let guid = 0; - - return () => `form-field-${guid++}`; -}]); http://git-wip-us.apache.org/repos/asf/ignite/blob/0fc97266/modules/control-center-web/src/main/js/app/modules/JavaTypes/JavaTypes.provider.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/JavaTypes/JavaTypes.provider.js b/modules/control-center-web/src/main/js/app/modules/JavaTypes/JavaTypes.provider.js new file mode 100644 index 0000000..7b87ba7 --- /dev/null +++ b/modules/control-center-web/src/main/js/app/modules/JavaTypes/JavaTypes.provider.js @@ -0,0 +1,67 @@ +/* + * 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'; + +// Java built-in short class names. +import JAVA_CLASSES from 'app/data/java-classes.json!'; + +// Java built-in full class names. +import JAVA_FULLNAME_CLASSES from 'app/data/java-fullname-classes.json!'; + +import JAVA_KEYWORDS from 'app/data/java-keywords.json!'; + +angular + .module('ignite-console.JavaTypes', []) + .provider('JavaTypes', function() { + this.$get = [function() { + return { + /** + * @param cls Class name to check. + * @returns boolean 'true' if given class name non a Java built-in type. + */ + nonBuiltInClass(cls) { + return !(_.contains(JAVA_CLASSES, cls) || _.contains(JAVA_FULLNAME_CLASSES, cls)); + }, + /** + * @param value text to check. + * @returns boolean 'true' if given text is valid Java identifier. + */ + validIdentifier(value) { + const regexp = /^(([a-zA-Z_$][a-zA-Z0-9_$]*)\.)*([a-zA-Z_$][a-zA-Z0-9_$]*)$/igm; + + return value === '' || regexp.test(value); + }, + /** + * @param value text to check. + * @returns boolean 'true' if given text is valid Java package. + */ + validPackage(value) { + const regexp = /^(([a-zA-Z_$][a-zA-Z0-9_$]*)\.)*([a-zA-Z_$][a-zA-Z0-9_$]*(\.?\*)?)$/igm; + + return value === '' || regexp.test(value); + }, + /** + * @param value text to check. + * @returns boolean 'true' if given text non Java keyword. + */ + isKeywords(value) { + return _.contains(JAVA_KEYWORDS, value); + } + }; + }]; + }); http://git-wip-us.apache.org/repos/asf/ignite/blob/0fc97266/modules/control-center-web/src/main/js/app/modules/JavaTypes/index.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/JavaTypes/index.js b/modules/control-center-web/src/main/js/app/modules/JavaTypes/index.js deleted file mode 100644 index 7b87ba7..0000000 --- a/modules/control-center-web/src/main/js/app/modules/JavaTypes/index.js +++ /dev/null @@ -1,67 +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'; - -// Java built-in short class names. -import JAVA_CLASSES from 'app/data/java-classes.json!'; - -// Java built-in full class names. -import JAVA_FULLNAME_CLASSES from 'app/data/java-fullname-classes.json!'; - -import JAVA_KEYWORDS from 'app/data/java-keywords.json!'; - -angular - .module('ignite-console.JavaTypes', []) - .provider('JavaTypes', function() { - this.$get = [function() { - return { - /** - * @param cls Class name to check. - * @returns boolean 'true' if given class name non a Java built-in type. - */ - nonBuiltInClass(cls) { - return !(_.contains(JAVA_CLASSES, cls) || _.contains(JAVA_FULLNAME_CLASSES, cls)); - }, - /** - * @param value text to check. - * @returns boolean 'true' if given text is valid Java identifier. - */ - validIdentifier(value) { - const regexp = /^(([a-zA-Z_$][a-zA-Z0-9_$]*)\.)*([a-zA-Z_$][a-zA-Z0-9_$]*)$/igm; - - return value === '' || regexp.test(value); - }, - /** - * @param value text to check. - * @returns boolean 'true' if given text is valid Java package. - */ - validPackage(value) { - const regexp = /^(([a-zA-Z_$][a-zA-Z0-9_$]*)\.)*([a-zA-Z_$][a-zA-Z0-9_$]*(\.?\*)?)$/igm; - - return value === '' || regexp.test(value); - }, - /** - * @param value text to check. - * @returns boolean 'true' if given text non Java keyword. - */ - isKeywords(value) { - return _.contains(JAVA_KEYWORDS, value); - } - }; - }]; - }); http://git-wip-us.apache.org/repos/asf/ignite/blob/0fc97266/modules/control-center-web/src/main/js/app/modules/QueryNotebooks/QueryNotebooks.provider.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/QueryNotebooks/QueryNotebooks.provider.js b/modules/control-center-web/src/main/js/app/modules/QueryNotebooks/QueryNotebooks.provider.js new file mode 100644 index 0000000..b9c1d4b --- /dev/null +++ b/modules/control-center-web/src/main/js/app/modules/QueryNotebooks/QueryNotebooks.provider.js @@ -0,0 +1,115 @@ +/* + * 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.QueryNotebooks', [ + + ]) + .provider('QueryNotebooks', function() { + const _demoNotebook = { + name: 'SQL demo', + paragraphs: [ + { + name: 'Query with refresh rate', + cacheName: 'CarCache', + pageSize: 50, + query: 'SELECT count(*)\nFROM "CarCache".Car', + result: 'bar', + timeLineSpan: '1', + rate: { + value: 3, + unit: 1000, + installed: true + } + }, + { + name: 'Simple query', + cacheName: 'CarCache', + pageSize: 50, + query: 'SELECT * FROM "CarCache".Car', + result: 'table', + timeLineSpan: '1', + rate: { + value: 30, + unit: 1000, + installed: false + } + }, + { + name: 'Query with aggregates', + cacheName: 'CarCache', + pageSize: 50, + query: 'SELECT p.name, count(*) AS cnt\nFROM "ParkingCache".Parking p\nINNER JOIN "CarCache".Car c\n ON (p.id) = (c.parkingId)\nGROUP BY P.NAME', + result: 'table', + timeLineSpan: '1', + rate: { + value: 30, + unit: 1000, + installed: false + } + } + ], + expandedParagraphs: [0, 1, 2] + }; + + this.$get = ['$q', '$http', '$rootScope', ($q, $http, $rootScope) => { + return { + read(demo, noteId) { + if (demo) + return $q.when(angular.copy(_demoNotebook)); + + return $http.post('/api/v1/notebooks/get', {noteId}) + .then(({data}) => { + return data; + }); + }, + save(demo, notebook) { + if (demo) + return $q.when(); + + return $http.post('/api/v1/notebooks/save', notebook).then(({data}) => { + return data; + }); + }, + remove(demo, nodeId) { + if (demo) + return $q.reject('Removing "SQL demo" notebook is not supported.'); + + return $http.post('/api/v1/notebooks/remove', {_id: nodeId}) + .then(() => { + const idx = _.findIndex($rootScope.notebooks, (item) => { + return item._id === nodeId; + }); + + if (idx >= 0) { + $rootScope.notebooks.splice(idx, 1); + + $rootScope.rebuildDropdown(); + + if (idx < $rootScope.notebooks.length) + return $rootScope.notebooks[idx]; + } + + if ($rootScope.notebooks.length > 0) + return $rootScope.notebooks[$rootScope.notebooks.length - 1]; + }); + } + }; + }]; + }); http://git-wip-us.apache.org/repos/asf/ignite/blob/0fc97266/modules/control-center-web/src/main/js/app/modules/QueryNotebooks/index.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/QueryNotebooks/index.js b/modules/control-center-web/src/main/js/app/modules/QueryNotebooks/index.js deleted file mode 100644 index b9c1d4b..0000000 --- a/modules/control-center-web/src/main/js/app/modules/QueryNotebooks/index.js +++ /dev/null @@ -1,115 +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.QueryNotebooks', [ - - ]) - .provider('QueryNotebooks', function() { - const _demoNotebook = { - name: 'SQL demo', - paragraphs: [ - { - name: 'Query with refresh rate', - cacheName: 'CarCache', - pageSize: 50, - query: 'SELECT count(*)\nFROM "CarCache".Car', - result: 'bar', - timeLineSpan: '1', - rate: { - value: 3, - unit: 1000, - installed: true - } - }, - { - name: 'Simple query', - cacheName: 'CarCache', - pageSize: 50, - query: 'SELECT * FROM "CarCache".Car', - result: 'table', - timeLineSpan: '1', - rate: { - value: 30, - unit: 1000, - installed: false - } - }, - { - name: 'Query with aggregates', - cacheName: 'CarCache', - pageSize: 50, - query: 'SELECT p.name, count(*) AS cnt\nFROM "ParkingCache".Parking p\nINNER JOIN "CarCache".Car c\n ON (p.id) = (c.parkingId)\nGROUP BY P.NAME', - result: 'table', - timeLineSpan: '1', - rate: { - value: 30, - unit: 1000, - installed: false - } - } - ], - expandedParagraphs: [0, 1, 2] - }; - - this.$get = ['$q', '$http', '$rootScope', ($q, $http, $rootScope) => { - return { - read(demo, noteId) { - if (demo) - return $q.when(angular.copy(_demoNotebook)); - - return $http.post('/api/v1/notebooks/get', {noteId}) - .then(({data}) => { - return data; - }); - }, - save(demo, notebook) { - if (demo) - return $q.when(); - - return $http.post('/api/v1/notebooks/save', notebook).then(({data}) => { - return data; - }); - }, - remove(demo, nodeId) { - if (demo) - return $q.reject('Removing "SQL demo" notebook is not supported.'); - - return $http.post('/api/v1/notebooks/remove', {_id: nodeId}) - .then(() => { - const idx = _.findIndex($rootScope.notebooks, (item) => { - return item._id === nodeId; - }); - - if (idx >= 0) { - $rootScope.notebooks.splice(idx, 1); - - $rootScope.rebuildDropdown(); - - if (idx < $rootScope.notebooks.length) - return $rootScope.notebooks[idx]; - } - - if ($rootScope.notebooks.length > 0) - return $rootScope.notebooks[$rootScope.notebooks.length - 1]; - }); - } - }; - }]; - }); http://git-wip-us.apache.org/repos/asf/ignite/blob/0fc97266/modules/control-center-web/src/main/js/app/modules/User/Auth.service.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/User/Auth.service.js b/modules/control-center-web/src/main/js/app/modules/User/Auth.service.js new file mode 100644 index 0000000..175c22c --- /dev/null +++ b/modules/control-center-web/src/main/js/app/modules/User/Auth.service.js @@ -0,0 +1,76 @@ +/* + * 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 ['Auth', ['$http', '$rootScope', '$state', '$common', 'IgniteGettingStarted', 'User', function($http, $root, $state, $common, gettingStarted, User) { + let _auth = false; + + try { + _auth = localStorage.authorized === 'true'; + } + catch (ignore) { + // No-op. + } + + function _authorized(value) { + try { + return _auth = localStorage.authorized = !!value; + } catch (ignore) { + return _auth = !!value; + } + } + + return { + get authorized() { + return _auth; + }, + set authorized(auth) { + _authorized(auth); + }, + auth(action, userInfo) { + $http.post('/api/v1/' + action, userInfo) + .then(User.read) + .then((user) => { + if (action !== 'password/forgot') { + _authorized(true); + + $root.$broadcast('user', user); + + $state.go('base.configuration.clusters'); + + $root.gettingStarted.tryShow(); + } else + $state.go('password.send'); + }) + .catch(function(errMsg) { + $common.showPopoverMessage(null, null, 'user_email', errMsg.data); + }); + }, + logout() { + $http.post('/api/v1/logout') + .then(function() { + User.clean(); + + _authorized(false); + + $state.go('login'); + }) + .catch(function(errMsg) { + $common.showError(errMsg); + }); + } + }; +}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/0fc97266/modules/control-center-web/src/main/js/app/modules/User/User.service.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/User/User.service.js b/modules/control-center-web/src/main/js/app/modules/User/User.service.js new file mode 100644 index 0000000..dc2117e --- /dev/null +++ b/modules/control-center-web/src/main/js/app/modules/User/User.service.js @@ -0,0 +1,58 @@ +/* + * 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 ['User', ['$q', '$injector', '$rootScope', '$state', '$http', function($q, $injector, $root, $state, $http) { + let _user; + + try { + _user = JSON.parse(localStorage.user); + + if (_user) + $root.user = _user; + } + catch (ignore) { + // No-op. + } + + return { + read() { + return $http.post('/api/v1/user').then(({data}) => { + if (_.isEmpty(data)) { + const Auth = $injector.get('Auth'); + + Auth.authorized = false; + + $state.go('login'); + } + + try { + localStorage.user = JSON.stringify(data); + } + catch (ignore) { + // No-op. + } + + return _user = $root.user = data; + }); + }, + clean() { + delete $root.user; + + delete localStorage.user; + } + }; +}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/0fc97266/modules/control-center-web/src/main/js/app/modules/User/index.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/User/index.js b/modules/control-center-web/src/main/js/app/modules/User/index.js deleted file mode 100644 index 6d81b65..0000000 --- a/modules/control-center-web/src/main/js/app/modules/User/index.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 angular from 'angular'; - -angular -.module('ignite-console.User', [ - -]) -.provider('User', function() { - let _user; - - try { - _user = JSON.parse(localStorage.user); - } - catch (ignore) { - // No-op. - } - - this.$get = ['$q', '$injector', '$rootScope', '$state', '$http', ($q, $injector, $root, $state, $http) => { - if (_user) - $root.user = _user; - - return { - read() { - return $http.post('/api/v1/user').then(({data}) => { - if (_.isEmpty(data)) { - const Auth = $injector.get('Auth'); - - Auth.authorized = false; - - $state.go('login'); - } - - try { - localStorage.user = JSON.stringify(data); - } - catch (ignore) { - // No-op. - } - - return _user = $root.user = data; - }); - }, - clean() { - delete $root.user; - - delete localStorage.user; - } - }; - }]; -}); http://git-wip-us.apache.org/repos/asf/ignite/blob/0fc97266/modules/control-center-web/src/main/js/app/modules/User/user.module.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/User/user.module.js b/modules/control-center-web/src/main/js/app/modules/User/user.module.js new file mode 100644 index 0000000..2387f20 --- /dev/null +++ b/modules/control-center-web/src/main/js/app/modules/User/user.module.js @@ -0,0 +1,28 @@ +/* + * 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 Auth from './Auth.service'; +import User from './User.service'; + +angular +.module('ignite-console.user', [ + +]) +.service(...Auth) +.service(...User); http://git-wip-us.apache.org/repos/asf/ignite/blob/0fc97266/modules/control-center-web/src/main/js/app/modules/Version/Version.provider.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/Version/Version.provider.js b/modules/control-center-web/src/main/js/app/modules/Version/Version.provider.js new file mode 100644 index 0000000..4aa008e --- /dev/null +++ b/modules/control-center-web/src/main/js/app/modules/Version/Version.provider.js @@ -0,0 +1,32 @@ +/* + * 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.5.0-final' + }; + + this.update = (newVersion) => { + version.version = newVersion; + }; + + this.$get = [() => version]; + }); http://git-wip-us.apache.org/repos/asf/ignite/blob/0fc97266/modules/control-center-web/src/main/js/app/modules/Version/main.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/Version/main.js b/modules/control-center-web/src/main/js/app/modules/Version/main.js deleted file mode 100644 index 4aa008e..0000000 --- a/modules/control-center-web/src/main/js/app/modules/Version/main.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.5.0-final' - }; - - this.update = (newVersion) => { - version.version = newVersion; - }; - - this.$get = [() => version]; - }); http://git-wip-us.apache.org/repos/asf/ignite/blob/0fc97266/modules/control-center-web/src/main/js/app/modules/branding/branding.module.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/branding/branding.module.js b/modules/control-center-web/src/main/js/app/modules/branding/branding.module.js new file mode 100644 index 0000000..dc65efc --- /dev/null +++ b/modules/control-center-web/src/main/js/app/modules/branding/branding.module.js @@ -0,0 +1,38 @@ +/* + * 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 IgniteLogo from './Logo.provider'; +import IgniteTerms from './Terms.provider'; + +import ignitePoweredByApache from './powered-by-apache.directive'; +import igniteLogo from './logo.directive'; +import igniteTitle from './title.directive'; +import igniteTerms from './terms.directive'; + +angular +.module('ignite-console.branding', [ + +]) +.provider(...IgniteLogo) +.provider(...IgniteTerms) +.directive(...ignitePoweredByApache) +.directive(...igniteLogo) +.directive(...igniteTitle) +.directive(...igniteTerms); + http://git-wip-us.apache.org/repos/asf/ignite/blob/0fc97266/modules/control-center-web/src/main/js/app/modules/branding/logo.directive.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/branding/logo.directive.js b/modules/control-center-web/src/main/js/app/modules/branding/logo.directive.js new file mode 100644 index 0000000..ff46945 --- /dev/null +++ b/modules/control-center-web/src/main/js/app/modules/branding/logo.directive.js @@ -0,0 +1,34 @@ +/* + * 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 templateLogo from './logo.jade!'; + +export default ['igniteLogo', ['IgniteLogo', (IgniteLogo) => { + function controller() { + const ctrl = this; + + ctrl.url = IgniteLogo.url; + } + + return { + restrict: 'E', + template: templateLogo, + controller, + controllerAs: 'logo', + replace: true + }; +}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/0fc97266/modules/control-center-web/src/main/js/app/modules/branding/logo.jade ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/branding/logo.jade b/modules/control-center-web/src/main/js/app/modules/branding/logo.jade new file mode 100644 index 0000000..b807921 --- /dev/null +++ b/modules/control-center-web/src/main/js/app/modules/branding/logo.jade @@ -0,0 +1,18 @@ +//- + 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. + +a(href='/') + img.navbar-brand(ng-src='{{logo.url}}' height='40') http://git-wip-us.apache.org/repos/asf/ignite/blob/0fc97266/modules/control-center-web/src/main/js/app/modules/branding/logo.provider.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/branding/logo.provider.js b/modules/control-center-web/src/main/js/app/modules/branding/logo.provider.js new file mode 100644 index 0000000..fcefc7c --- /dev/null +++ b/modules/control-center-web/src/main/js/app/modules/branding/logo.provider.js @@ -0,0 +1,42 @@ +/* + * 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 ['IgniteLogo', [function() { + let poweredBy = false; + + let url = '/images/ignite-logo.png'; + + let title = 'Management console for Apache Ignite'; + + this.url = (_url) => { + url = _url; + + poweredBy = true; + }; + + this.title = (_title) => { + title = _title; + }; + + this.$get = [() => { + return { + url, + poweredBy, + title + }; + }]; +}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/0fc97266/modules/control-center-web/src/main/js/app/modules/branding/powered-by-apache.directive.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/branding/powered-by-apache.directive.js b/modules/control-center-web/src/main/js/app/modules/branding/powered-by-apache.directive.js new file mode 100644 index 0000000..fd2ab98 --- /dev/null +++ b/modules/control-center-web/src/main/js/app/modules/branding/powered-by-apache.directive.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. + */ + +import templatePoweredByApache from './powered-by-apache.jade!'; + +export default ['ignitePoweredByApache', ['IgniteLogo', (IgniteLogo) => { + function controller() { + const ctrl = this; + + ctrl.show = IgniteLogo.poweredBy; + } + + return { + restrict: 'E', + template: templatePoweredByApache, + controller, + controllerAs: 'poweredBy', + replace: true + }; +}]]; + http://git-wip-us.apache.org/repos/asf/ignite/blob/0fc97266/modules/control-center-web/src/main/js/app/modules/branding/powered-by-apache.jade ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/branding/powered-by-apache.jade b/modules/control-center-web/src/main/js/app/modules/branding/powered-by-apache.jade new file mode 100644 index 0000000..af9aadf --- /dev/null +++ b/modules/control-center-web/src/main/js/app/modules/branding/powered-by-apache.jade @@ -0,0 +1,18 @@ +//- + 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. + +a(ng-if='poweredBy.show' href='//ignite.apache.org' target='_blank') + img(ng-src='/images/pb-ignite.png' height='65') http://git-wip-us.apache.org/repos/asf/ignite/blob/0fc97266/modules/control-center-web/src/main/js/app/modules/branding/terms.directive.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/branding/terms.directive.js b/modules/control-center-web/src/main/js/app/modules/branding/terms.directive.js new file mode 100644 index 0000000..22f2977 --- /dev/null +++ b/modules/control-center-web/src/main/js/app/modules/branding/terms.directive.js @@ -0,0 +1,31 @@ +/* + * 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 ['igniteTerms', ['IgniteTerms', (IgniteTerms) => { + function controller() { + const ctrl = this; + + ctrl.footerRows = IgniteTerms.footerRows; + ctrl.termsState = IgniteTerms.termsState; + } + + return { + restrict: 'A', + controller, + controllerAs: 'terms' + }; +}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/0fc97266/modules/control-center-web/src/main/js/app/modules/branding/terms.provider.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/branding/terms.provider.js b/modules/control-center-web/src/main/js/app/modules/branding/terms.provider.js new file mode 100644 index 0000000..c9c6009 --- /dev/null +++ b/modules/control-center-web/src/main/js/app/modules/branding/terms.provider.js @@ -0,0 +1,41 @@ +/* + * 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 ['IgniteTerms', [function() { + let _rows = [ + 'Apache Ignite Web Console', + '© 2016 The Apache Software Foundation.', + 'Apache, Apache Ignite, the Apache feather and the Apache Ignite logo are trademarks of The Apache Software Foundation.' + ]; + + let _state; + + this.footerRows = function(rows) { + _rows = rows; + }; + + this.termsState = function(state) { + _state = state; + }; + + this.$get = [function() { + return { + footerRows: _rows, + termsState: _state + }; + }]; +}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/0fc97266/modules/control-center-web/src/main/js/app/modules/branding/title.directive.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/branding/title.directive.js b/modules/control-center-web/src/main/js/app/modules/branding/title.directive.js new file mode 100644 index 0000000..83b8a7b --- /dev/null +++ b/modules/control-center-web/src/main/js/app/modules/branding/title.directive.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. + */ + +const templateTitle = `<label class= 'title'>{{::title.text}}</label>`; + +export default ['igniteTitle', ['IgniteLogo', (IgniteLogo) => { + function controller() { + const ctrl = this; + + ctrl.text = IgniteLogo.title; + } + + return { + restrict: 'E', + template: templateTitle, + controller, + controllerAs: 'title', + replace: true + }; +}]]; + http://git-wip-us.apache.org/repos/asf/ignite/blob/0fc97266/modules/control-center-web/src/main/js/app/modules/configuration/EventGroups.provider.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/configuration/EventGroups.provider.js b/modules/control-center-web/src/main/js/app/modules/configuration/EventGroups.provider.js new file mode 100644 index 0000000..2bbf11f --- /dev/null +++ b/modules/control-center-web/src/main/js/app/modules/configuration/EventGroups.provider.js @@ -0,0 +1,30 @@ +/* + * 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. + */ + +// Events groups. +import GROUPS from 'app/data/event-types.json!'; + +export default ['igniteEventGroups', function() { + const groups = GROUPS; + + this.push = (data) => groups.push(data); + + this.$get = [() => { + return groups; + }]; +}]; + http://git-wip-us.apache.org/repos/asf/ignite/blob/0fc97266/modules/control-center-web/src/main/js/app/modules/configuration/Sidebar.provider.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/configuration/Sidebar.provider.js b/modules/control-center-web/src/main/js/app/modules/configuration/Sidebar.provider.js new file mode 100644 index 0000000..8bd5ba3 --- /dev/null +++ b/modules/control-center-web/src/main/js/app/modules/configuration/Sidebar.provider.js @@ -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. + */ + +import angular from 'angular'; + +export default ['igniteSidebar', function() { + const items = [ + { text: 'Clusters', sref: 'base.configuration.clusters' }, + { text: 'Model', sref: 'base.configuration.domains' }, + { text: 'Caches', sref: 'base.configuration.caches' }, + { text: 'IGFS', sref: 'base.configuration.igfs' } + ]; + + this.push = function(data) { + items.push(data); + }; + + this.$get = [function() { + const r = angular.copy(items); + + r.push({ text: 'Summary', sref: 'base.configuration.summary' }); + + return r; + }]; +}]; http://git-wip-us.apache.org/repos/asf/ignite/blob/0fc97266/modules/control-center-web/src/main/js/app/modules/configuration/configuration.module.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/configuration/configuration.module.js b/modules/control-center-web/src/main/js/app/modules/configuration/configuration.module.js new file mode 100644 index 0000000..94bdeb8 --- /dev/null +++ b/modules/control-center-web/src/main/js/app/modules/configuration/configuration.module.js @@ -0,0 +1,32 @@ +/* + * 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 igniteEventGroups from './EventGroups.provider'; +import igniteSidebar from './Sidebar.provider'; + +import igniteSidebarDirective from './sidebar.directive'; + +// Ignite events groups. +angular +.module('ignite-console.configuration', [ + +]) +.provider(...igniteEventGroups) +.provider(...igniteSidebar) +.directive(...igniteSidebarDirective); http://git-wip-us.apache.org/repos/asf/ignite/blob/0fc97266/modules/control-center-web/src/main/js/app/modules/configuration/include-event-types/main.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/configuration/include-event-types/main.js b/modules/control-center-web/src/main/js/app/modules/configuration/include-event-types/main.js deleted file mode 100644 index c75e0ae..0000000 --- a/modules/control-center-web/src/main/js/app/modules/configuration/include-event-types/main.js +++ /dev/null @@ -1,36 +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. - */ - -// Events groups. -import GROUPS from 'app/data/event-types.json!'; - -import angular from 'angular'; - -// Ignite events groups. -angular - .module('ignite-console.configuration.include-event-types', [ - - ]) -.provider('igniteIncludeEventGroups', function() { - const groups = GROUPS; - - this.push = (data) => groups.push(data); - - this.$get = [() => { - return groups; - }]; -}); http://git-wip-us.apache.org/repos/asf/ignite/blob/0fc97266/modules/control-center-web/src/main/js/app/modules/configuration/sidebar.directive.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/configuration/sidebar.directive.js b/modules/control-center-web/src/main/js/app/modules/configuration/sidebar.directive.js new file mode 100644 index 0000000..e51553b --- /dev/null +++ b/modules/control-center-web/src/main/js/app/modules/configuration/sidebar.directive.js @@ -0,0 +1,30 @@ +/* + * 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 ['igniteSidebar', ['igniteSidebar', (igniteSidebar) => { + function controller() { + const ctrl = this; + + ctrl.items = igniteSidebar; + } + + return { + restrict: 'A', + controller, + controllerAs: 'sidebar' + }; +}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/0fc97266/modules/control-center-web/src/main/js/app/modules/configuration/sidebar/main.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/configuration/sidebar/main.js b/modules/control-center-web/src/main/js/app/modules/configuration/sidebar/main.js deleted file mode 100644 index 4e2c39c..0000000 --- a/modules/control-center-web/src/main/js/app/modules/configuration/sidebar/main.js +++ /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. - */ - -import angular from 'angular'; - -angular -.module('ignite-console.configuration.sidebar', [ - -]) -.provider('igniteConfigurationSidebar', function() { - const items = [ - { text: 'Clusters', sref: 'base.configuration.clusters' }, - { text: 'Model', sref: 'base.configuration.domains' }, - { text: 'Caches', sref: 'base.configuration.caches' }, - { text: 'IGFS', sref: 'base.configuration.igfs' } - ]; - - this.push = function(data) { - items.push(data); - }; - - this.$get = [function() { - const r = angular.copy(items); - - r.push({ text: 'Summary', sref: 'base.configuration.summary' }); - - return r; - }]; -}) -.directive('igniteConfigurationSidebar', ['igniteConfigurationSidebar', function(igniteConfigurationSidebar) { - function controller() { - const ctrl = this; - - ctrl.items = igniteConfigurationSidebar; - } - - return { - restrict: 'A', - controller, - controllerAs: 'sidebar' - }; -}]); http://git-wip-us.apache.org/repos/asf/ignite/blob/0fc97266/modules/control-center-web/src/main/js/app/modules/dialog/dialog.module.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/dialog/dialog.module.js b/modules/control-center-web/src/main/js/app/modules/dialog/dialog.module.js new file mode 100644 index 0000000..c9ba9f9 --- /dev/null +++ b/modules/control-center-web/src/main/js/app/modules/dialog/dialog.module.js @@ -0,0 +1,32 @@ +/* + * 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 igniteDialog from './dialog.directive'; +import igniteDialogTitle from './dialog-title.directive'; +import igniteDialogContent from './dialog-content.directive'; +import IgniteDialog from './dialog.factory'; + +angular +.module('ignite-console.dialog', [ + +]) +.factory(...IgniteDialog) +.directive(...igniteDialog) +.directive(...igniteDialogTitle) +.directive(...igniteDialogContent); http://git-wip-us.apache.org/repos/asf/ignite/blob/0fc97266/modules/control-center-web/src/main/js/app/modules/dialog/index.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/dialog/index.js b/modules/control-center-web/src/main/js/app/modules/dialog/index.js deleted file mode 100644 index 2ca51ba..0000000 --- a/modules/control-center-web/src/main/js/app/modules/dialog/index.js +++ /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. - */ - -import angular from 'angular'; -import igniteDialog from './dialog.directive'; -import igniteDialogTitle from './dialog-title.directive'; -import igniteDialogContent from './dialog-content.directive'; -import IgniteDialog from './dialog.factory'; - -angular -.module('ignite-console.dialog', [ - -]) -.factory(...IgniteDialog) -.directive(...igniteDialog) -.directive(...igniteDialogTitle) -.directive(...igniteDialogContent); http://git-wip-us.apache.org/repos/asf/ignite/blob/0fc97266/modules/control-center-web/src/main/js/app/modules/getting-started/GettingStarted.provider.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/getting-started/GettingStarted.provider.js b/modules/control-center-web/src/main/js/app/modules/getting-started/GettingStarted.provider.js new file mode 100644 index 0000000..d3379a0 --- /dev/null +++ b/modules/control-center-web/src/main/js/app/modules/getting-started/GettingStarted.provider.js @@ -0,0 +1,112 @@ +/* + * 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'; + +// Getting started pages. +import PAGES from 'app/data/getting-started.json!'; + +angular + .module('ignite-console.getting-started', []) + .provider('igniteGettingStarted', function() { + const items = PAGES; + + this.push = (before, data) => { + const idx = _.findIndex(items, {title: before}); + + if (idx < 0) + items.push(data); + else + items.splice(idx, 0, data); + }; + + this.update = (before, data) => { + const idx = _.findIndex(items, {title: before}); + + if (idx >= 0) + items[idx] = data; + }; + + this.$get = [function() { + return items; + }]; + }) + .service('IgniteGettingStarted', ['$rootScope', '$modal', 'igniteGettingStarted', function($root, $modal, igniteGettingStarted) { + const _model = igniteGettingStarted; + + let _page = 0; + + const scope = $root.$new(); + + scope.ui = { + showGettingStarted: false + }; + + function _fillPage() { + scope.title = _model[_page].title; + scope.message = _model[_page].message.join(' '); + } + + scope.isFirst = () => _page === 0; + + scope.isLast = () => _page === _model.length - 1; + + scope.next = () => { + _page += 1; + + _fillPage(); + }; + + scope.prev = () => { + _page -= 1; + + _fillPage(); + }; + + const dialog = $modal({templateUrl: '/templates/getting-started.html', scope, placement: 'center', show: false, backdrop: 'static'}); + + scope.close = () => { + try { + localStorage.showGettingStarted = scope.ui.showGettingStarted; + } + catch (ignore) { + // No-op. + } + + dialog.hide(); + }; + + return { + tryShow: (force) => { + try { + scope.ui.showGettingStarted = typeof localStorage.showGettingStarted === 'undefined' + || localStorage.showGettingStarted === 'true'; + } + catch (ignore) { + // No-op. + } + + if (force || scope.ui.showGettingStarted) { + _page = 0; + + _fillPage(); + + dialog.show(); + } + } + }; + }]); http://git-wip-us.apache.org/repos/asf/ignite/blob/0fc97266/modules/control-center-web/src/main/js/app/modules/getting-started/main.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/getting-started/main.js b/modules/control-center-web/src/main/js/app/modules/getting-started/main.js deleted file mode 100644 index d3379a0..0000000 --- a/modules/control-center-web/src/main/js/app/modules/getting-started/main.js +++ /dev/null @@ -1,112 +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'; - -// Getting started pages. -import PAGES from 'app/data/getting-started.json!'; - -angular - .module('ignite-console.getting-started', []) - .provider('igniteGettingStarted', function() { - const items = PAGES; - - this.push = (before, data) => { - const idx = _.findIndex(items, {title: before}); - - if (idx < 0) - items.push(data); - else - items.splice(idx, 0, data); - }; - - this.update = (before, data) => { - const idx = _.findIndex(items, {title: before}); - - if (idx >= 0) - items[idx] = data; - }; - - this.$get = [function() { - return items; - }]; - }) - .service('IgniteGettingStarted', ['$rootScope', '$modal', 'igniteGettingStarted', function($root, $modal, igniteGettingStarted) { - const _model = igniteGettingStarted; - - let _page = 0; - - const scope = $root.$new(); - - scope.ui = { - showGettingStarted: false - }; - - function _fillPage() { - scope.title = _model[_page].title; - scope.message = _model[_page].message.join(' '); - } - - scope.isFirst = () => _page === 0; - - scope.isLast = () => _page === _model.length - 1; - - scope.next = () => { - _page += 1; - - _fillPage(); - }; - - scope.prev = () => { - _page -= 1; - - _fillPage(); - }; - - const dialog = $modal({templateUrl: '/templates/getting-started.html', scope, placement: 'center', show: false, backdrop: 'static'}); - - scope.close = () => { - try { - localStorage.showGettingStarted = scope.ui.showGettingStarted; - } - catch (ignore) { - // No-op. - } - - dialog.hide(); - }; - - return { - tryShow: (force) => { - try { - scope.ui.showGettingStarted = typeof localStorage.showGettingStarted === 'undefined' - || localStorage.showGettingStarted === 'true'; - } - catch (ignore) { - // No-op. - } - - if (force || scope.ui.showGettingStarted) { - _page = 0; - - _fillPage(); - - dialog.show(); - } - } - }; - }]); http://git-wip-us.apache.org/repos/asf/ignite/blob/0fc97266/modules/control-center-web/src/main/js/app/modules/logo/logo.jade ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/logo/logo.jade b/modules/control-center-web/src/main/js/app/modules/logo/logo.jade deleted file mode 100644 index b807921..0000000 --- a/modules/control-center-web/src/main/js/app/modules/logo/logo.jade +++ /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. - -a(href='/') - img.navbar-brand(ng-src='{{logo.url}}' height='40')
