Repository: ignite Updated Branches: refs/heads/master ece827dcd -> cca10d0c5
http://git-wip-us.apache.org/repos/asf/ignite/blob/cca10d0c/modules/web-console/frontend/app/helpers/jade/mixins.pug ---------------------------------------------------------------------- diff --git a/modules/web-console/frontend/app/helpers/jade/mixins.pug b/modules/web-console/frontend/app/helpers/jade/mixins.pug index 8927586..b2aa8e5 100644 --- a/modules/web-console/frontend/app/helpers/jade/mixins.pug +++ b/modules/web-console/frontend/app/helpers/jade/mixins.pug @@ -21,68 +21,27 @@ include ../../primitives/dropdown/index include ../../primitives/switcher/index include ../../primitives/form-field/index -//- Mixin for feedback on unique violation. -mixin unique-feedback(name, errorMessage) - +form-field__error({ error: 'igniteUnique', message: errorMessage }) - -//- Mixin for feedback on IP address violation. -mixin ipaddress-feedback(name) - +form-field__error({ error: 'ipaddress', message: 'Invalid address!' }) - -//- Mixin for feedback on port of IP address violation. -mixin ipaddress-port-feedback(name) - +form-field__error({ error: 'ipaddressPort', message: 'Invalid port!' }) - -//- Mixin for feedback on port range violation. -mixin ipaddress-port-range-feedback(name) - +form-field__error({ error: 'ipaddressPortRange', message: 'Invalid port range!' }) - -//- Mixin for feedback on UUID violation. -mixin uuid-feedback(name) - +form-field__error({ error: 'uuid', message: 'Invalid node ID!' }) - //- Function that convert enabled state to corresponding disabled state. -var enabledToDisabled = function (enabled) { - return (enabled === false || enabled === true) ? !enabled : '!(' + enabled + ')'; -} -//- Mixin for checkbox. -mixin checkbox(label, model, name, tip) - +form-field__checkbox({ - label, - model, - name, - tip - }) - -//- Mixin for checkbox with enabled condition. -mixin checkbox-enabled(label, model, name, enabled, tip) - +form-field__checkbox({ - label, - model, - name, - disabled: enabledToDisabled(enabled), - tip - }) - -//- Mixin for Java class name field with auto focus condition. -mixin java-class-autofocus-placholder(label, model, name, enabled, required, autofocus, placeholder, tip, validationActive) +mixin form-field__java-class({ label, model, name, disabled, required, tip, placeholder, validationActive }) -var errLbl = label.substring(0, label.length - 1) +form-field__text({ label, model, name, - disabled: enabledToDisabled(enabled), + disabled, required, - placeholder, + placeholder: placeholder || 'Enter fully qualified class name', tip })( data-java-identifier='true' data-java-package-specified='true' data-java-keywords='true' data-java-built-in-class='true' - data-ignite-form-field-input-autofocus=autofocus data-validation-active=validationActive ? `{{ ${validationActive} }}` : `'always'` )&attributes(attributes) if block @@ -93,34 +52,15 @@ mixin java-class-autofocus-placholder(label, model, name, enabled, required, aut +form-field__error({ error: 'javaPackageSpecified', message: `${ errLbl } does not have package specified!` }) +form-field__error({ error: 'javaIdentifier', message: `${ errLbl } is invalid Java identifier!` }) -//- Mixin for Java class name field with auto focus condition. -mixin java-class-autofocus(lbl, model, name, enabled, required, autofocus, tip, validationActive) - +java-class-autofocus-placholder(lbl, model, name, enabled, required, autofocus, 'Enter fully qualified class name', tip, validationActive)&attributes(attributes) - if block - block - -//- Mixin for Java class name field. -mixin form-field__java-class({ label, model, name, enabled, required, tip, validationActive }) - +java-class-autofocus(label, model, name, enabled, required, 'false', tip, validationActive) - if block - block - - -mixin java-class(label, model, name, enabled, required, tip, validationActive) - +form-field__java-class({ label, model, name, enabled, required, tip, validationActive }) - if block - block - - //- Mixin for text field with enabled condition with options. -mixin java-class-typeahead(label, model, name, options, enabled, required, placeholder, tip, validationActive) +mixin form-field__java-class--typeahead({ label, model, name, options, disabled, required, placeholder, tip, validationActive }) -var errLbl = label.substring(0, label.length - 1) +form-field__typeahead({ label, model, name, - disabled: enabledToDisabled(enabled), + disabled, required, placeholder, options, @@ -135,16 +75,6 @@ mixin java-class-typeahead(label, model, name, options, enabled, required, place +form-field__error({ error: 'javaPackageSpecified', message: `${ errLbl } does not have package specified!` }) +form-field__error({ error: 'javaIdentifier', message: `${ errLbl } is invalid Java identifier!` }) -//- Mixin for java package field with enabled condition. -mixin java-package(label, model, name, enabled, required, tip) - +form-field__java-package({ - label, - model, - name, - disabled: enabledToDisabled(enabled), - required, - tip - }) mixin form-field__java-package({ label, model, name, disabled, required, tip, tipOpts, placeholder }) +form-field__text({ @@ -167,7 +97,7 @@ mixin form-field__java-package({ label, model, name, disabled, required, tip, ti +form-field__error({ error: 'javaKeywords', message: 'Package name could not contains reserved java keyword!' }) //- Mixin for text field with IP address check. -mixin text-ip-address(label, model, name, enabled, placeholder, tip) +mixin form-field__ip-address({ label, model, name, enabled, placeholder, tip }) +form-field__text({ label, model, @@ -176,10 +106,10 @@ mixin text-ip-address(label, model, name, enabled, placeholder, tip) placeholder, tip })(data-ipaddress='true') - +ipaddress-feedback(name) + +form-field__error({ error: 'ipaddress', message: 'Invalid address!' }) //- Mixin for text field with IP address and port range check. -mixin text-ip-address-with-port-range(label, model, name, enabled, placeholder, tip) +mixin form-field__ip-address-with-port-range({ label, model, name, enabled, placeholder, tip }) +form-field__text({ label, model, @@ -192,66 +122,12 @@ mixin text-ip-address-with-port-range(label, model, name, enabled, placeholder, data-ipaddress-with-port='true' data-ipaddress-with-port-range='true' ) - +ipaddress-feedback(name) - +ipaddress-port-feedback(name) - +ipaddress-port-range-feedback(name) - -//- Mixin for text field. -mixin text-enabled(label, model, name, enabled, required, placeholder, tip) - +form-field__text({ - label, - model, - name, - disabled: enabledToDisabled(enabled), - required, - placeholder, - tip - }) - if block - block - -//- Mixin for text field with autofocus. -mixin text-enabled-autofocus(label, model, name, enabled, required, placeholder, tip) - +form-field__text--autofocus({ - label, - model, - name, - disabled: enabledToDisabled(enabled), - required, - placeholder, - tip - }) - -mixin form-field__text--autofocus({ label, model, name, disabled = false, required, placeholder, tip }) - +form-field__text({ - label, - model, - name, - disabled, - required, - placeholder, - tip - })( - data-ignite-form-field-input-autofocus='true' - )&attributes(attributes) - if block - block - -//- Mixin for text field. -mixin text(label, model, name, required, placeholder, tip) - +form-field__text({ - label, - model, - name, - required, - placeholder, - tip - })&attributes(attributes) - if block - block + +form-field__error({ error: 'ipaddress', message: 'Invalid address!' }) + +form-field__error({ error: 'ipaddressPort', message: 'Invalid port!' }) + +form-field__error({ error: 'ipaddressPortRange', message: 'Invalid port range!' }) //- Mixin for url field. -mixin url(label, model, name, enabled, required, placeholder, tip) +mixin form-field__url({ label, model, name, enabled, required, placeholder, tip }) -var errLbl = label.substring(0, label.length - 1) +form-field__text({ @@ -270,167 +146,6 @@ mixin url(label, model, name, enabled, required, placeholder, tip) +form-field__error({ error: 'url', message: `${ errLbl } should be a valid URL!` }) -//- Mixin for text field with enabled condition with options. -mixin text-options(label, model, name, options, enabled, required, placeholder, tip) - +form-field__typeahead({ - label, - model, - name, - disabled: enabledToDisabled(enabled), - required, - placeholder, - options, - tip - }) - -//- Mixin for required numeric field. -mixin number-required(label, model, name, enabled, required, placeholder, min, tip) - +form-field__number({ - label, - model, - name, - disabled: enabledToDisabled(enabled), - required, - placeholder, - min, - tip - }) - -//- Mixin for required numeric field with maximum and minimum limit. -mixin number-min-max(label, model, name, enabled, placeholder, min, max, tip) - +form-field__number({ - label, - model, - name, - disabled: enabledToDisabled(enabled), - placeholder, - min, - max, - tip - }) - -//- Mixin for required numeric field with maximum and minimum limit. -mixin number-min-max-step(label, model, name, enabled, placeholder, min, max, step, tip) - +form-field__number({ - label, - model, - name, - disabled: enabledToDisabled(enabled), - placeholder, - min, - max, - step, - tip - }) - -//- Mixin for numeric field. -mixin number(label, model, name, enabled, placeholder, min, tip) - +form-field__number({ - label, - model, - name, - disabled: enabledToDisabled(enabled), - placeholder, - min, - tip - }) - -//- Mixin for required dropdown field. -mixin dropdown-required-empty(label, model, name, enabled, required, placeholder, placeholderEmpty, options, tip) - +form-field__dropdown({ - label, - model, - name, - disabled: enabledToDisabled(enabled), - required, - placeholder, - placeholderEmpty, - options, - tip - })&attributes(attributes) - if block - block - -//- Mixin for required dropdown field with autofocus. -mixin dropdown-required-empty-autofocus(label, model, name, enabled, required, placeholder, placeholderEmpty, options, tip) - +form-field__dropdown({ - label, - model, - name, - disabled: enabledToDisabled(enabled), - required, - placeholder, - placeholderEmpty, - options, - tip - })( - data-ignite-form-field-input-autofocus='true' - ) - if block - block - -//- Mixin for required dropdown field. -mixin dropdown-required(label, model, name, enabled, required, placeholder, options, tip) - +form-field__dropdown({ - label, - model, - name, - disabled: enabledToDisabled(enabled), - required, - placeholder, - options, - tip - })&attributes(attributes) - if block - block - -//- Mixin for required dropdown field with autofocus. -mixin dropdown-required-autofocus(label, model, name, enabled, required, placeholder, options, tip) - +form-field__dropdown({ - label, - model, - name, - disabled: enabledToDisabled(enabled), - required, - placeholder, - options, - tip - })( - data-ignite-form-field-input-autofocus='true' - ) - if block - block - -//- Mixin for dropdown field. -mixin dropdown(label, model, name, enabled, placeholder, options, tip) - +form-field__dropdown({ - label, - model, - name, - disabled: enabledToDisabled(enabled), - placeholder, - options, - tip - })&attributes(attributes) - if block - block - -//- Mixin for dropdown-multiple field. -mixin dropdown-multiple(label, model, name, enabled, placeholder, placeholderEmpty, options, tip) - +form-field__dropdown({ - label, - model, - name, - disabled: enabledToDisabled(enabled), - required, - multiple: true, - placeholder, - placeholderEmpty, - options, - tip - })&attributes(attributes) - if block - block mixin list-text-field({ items, lbl, name, itemName, itemsName }) list-editable(ng-model=items)&attributes(attributes) @@ -445,8 +160,8 @@ mixin list-text-field({ items, lbl, name, itemName, itemsName }) required: true, placeholder: `Enter ${lbl.toLowerCase()}` })( - data-ignite-unique=items - data-ignite-form-field-input-autofocus='true' + ignite-unique=items + ignite-form-field-input-autofocus='true' ) if block block @@ -466,13 +181,13 @@ mixin list-java-class-field(label, model, name, items) required: true, 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' + java-identifier='true' + java-package-specified='true' + java-keywords='true' + java-built-in-class='true' - data-ignite-unique=items - data-ignite-form-field-input-autofocus='true' + ignite-unique=items + ignite-form-field-input-autofocus='true' ) +form-field__error({ error: 'javaBuiltInClass', message: `${ label } should not be the Java built-in class!` }) +form-field__error({ error: 'javaKeywords', message: `${ label } could not contains reserved Java keyword!` }) @@ -492,8 +207,8 @@ mixin list-url-field(label, model, name, items) })( type='url' - data-ignite-unique=items - data-ignite-form-field-input-autofocus='true' + ignite-unique=items + ignite-form-field-input-autofocus='true' ) +form-field__error({ error: 'url', message: 'URL should be valid!' }) @@ -511,20 +226,20 @@ mixin list-addresses({ items, name, tip, withPortRange = true }) +form-field__text({ label: 'Address', model: 'address', - name: '"address"', + name: '"address"', required: true, placeholder: 'IP address:port' })( - data-ipaddress='true' - data-ipaddress-with-port='true' - data-ipaddress-with-port-range=withPortRange - data-ignite-unique=items - data-ignite-form-field-input-autofocus='true' + ipaddress='true' + ipaddress-with-port='true' + ipaddress-with-port-range=withPortRange + ignite-unique=items + ignite-form-field-input-autofocus='true' ) - +unique-feedback('"address"', 'Such IP address already exists!') - +ipaddress-feedback('"address"') - +ipaddress-port-feedback('"address"') - +ipaddress-port-range-feedback('"address"') + +form-field__error({ error: 'igniteUnique', message: 'Such IP address already exists!' }) + +form-field__error({ error: 'ipaddress', message: 'Invalid address!' }) + +form-field__error({ error: 'ipaddressPort', message: 'Invalid port!' }) + +form-field__error({ error: 'ipaddressPortRange', message: 'Invalid port range!' }) +form-field__error({ error: 'required', message: 'IP address:port could not be empty!' }) list-editable-no-items @@ -534,16 +249,6 @@ mixin list-addresses({ items, name, tip, withPortRange = true }) label-single='address' ) -//- Mixin for cache mode. -mixin cacheMode(label, model, name, placeholder) - +form-field__cache-modes({ - label, - model, - name, - placeholder - })&attributes(attributes) - if block - block mixin form-field__cache-modes({ label, model, name, placeholder }) +form-field__dropdown({ @@ -581,8 +286,15 @@ mixin form-field__eviction-policy({ model, name, enabled, required, tip }) }) .pc-form-group.pc-form-grid-row(ng-if=kind) .pc-form-grid-col-30 - +number('Batch size', policy + '.batchSize', name + '+ "batchSize"', enabled, '1', '1', - 'Number of entries to remove on shrink') + +form-field__number({ + label: 'Batch size', + model: policy + '.batchSize', + name: name + '+ "batchSize"', + disabled: enabledToDisabled(enabled), + placeholder: '1', + min: '1', + tip: 'Number of entries to remove on shrink' + }) .pc-form-grid-col-30 form-field-size( label='Max memory size:' @@ -611,35 +323,6 @@ mixin form-field__eviction-policy({ model, name, enabled, required, tip }) ) +form-field__error({ error: 'min', message: 'Either maximum memory size or maximum size should be greater than 0' }) -mixin evictionPolicy(model, name, enabled, required, tip) - +form-field__eviction-policy({ model, name, enabled, required, tip }) - -//- Mixin for clusters dropdown. -mixin clusters(model, tip) - +dropdown-multiple('Clusters:', - model + '.clusters', '"clusters"', true, 'Choose clusters', 'No clusters configured', 'clusters', tip) - -//- Mixin for caches dropdown. -mixin caches(model, tip) - +dropdown-multiple('Caches:', - model + '.caches', '"caches"', true, 'Choose caches', 'No caches configured', 'caches', tip) - -//- Mixin for XML, Java, .Net preview. -mixin preview(master, generator, detail) - ignite-ui-ace-tabs - .preview-panel(ng-init='mode = "spring"') - .preview-legend - a(ng-class='{active: mode === "spring"}' ng-click='mode = "spring"') Spring - a(ng-class='{active: mode === "java"}' ng-click='mode = "java"') Java - a(ng-class='{active: mode === "csharp"}' ng-click='mode = "csharp"') C# - //a(ng-class='{active: mode === "app.config"}' ng-click='mode = "app.config"') app.config - .preview-content(ng-switch='mode') - ignite-ui-ace-spring(ng-switch-when='spring' data-master=master data-generator=generator ng-model='$parent.data' data-detail=detail) - ignite-ui-ace-java(ng-switch-when='java' data-master=master data-generator=generator ng-model='$parent.data' data-detail=detail) - ignite-ui-ace-sharp(ng-switch-when='csharp' data-master=master data-generator=generator ng-model='$parent.data' data-detail=detail) - .preview-content-empty(ng-if='!data') - label All Defaults - //- Mixin for XML and Java preview. mixin preview-xml-java(master, generator, detail) ignite-ui-ace-tabs @@ -656,21 +339,6 @@ mixin preview-xml-java(master, generator, 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') mixin list-pair-edit({ items, keyLbl, valLbl, itemName, itemsName }) list-editable(ng-model=items) @@ -688,11 +356,11 @@ mixin list-pair-edit({ items, keyLbl, valLbl, itemName, itemsName }) required: true, placeholder: keyLbl })( - data-ignite-unique=items - data-ignite-unique-property='name' + ignite-unique=items + ignite-unique-property='name' ignite-auto-focus ) - +unique-feedback('"name"', 'Property with such name already exists!') + +form-field__error({ error: 'igniteUnique', message: 'Property with such name already exists!' }) .pc-form-grid-col-30 +form-field__text({ label: valLbl, @@ -709,8 +377,7 @@ mixin list-pair-edit({ items, keyLbl, valLbl, itemName, itemsName }) label-multiple=itemsName ) -//- Mixin for DB dialect. -mixin dialect(label, model, name, required, tip, genericDialectName, placeholder) +mixin form-field__dialect({ label, model, name, required, tip, genericDialectName, placeholder }) +form-field__dropdown({ label, model, http://git-wip-us.apache.org/repos/asf/ignite/blob/cca10d0c/modules/web-console/frontend/app/modules/form/panel/chevron.directive.js ---------------------------------------------------------------------- diff --git a/modules/web-console/frontend/app/modules/form/panel/chevron.directive.js b/modules/web-console/frontend/app/modules/form/panel/chevron.directive.js deleted file mode 100644 index 17e918a..0000000 --- a/modules/web-console/frontend/app/modules/form/panel/chevron.directive.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. - */ - -const template = `<img ng-src="{{ isOpen ? '/images/collapse.svg' : '/images/expand.svg' }}" style='width:13px;height:13px;' />`; - -export default ['igniteFormPanelChevron', ['$timeout', ($timeout) => { - const controller = [function() {}]; - - const link = ($scope, $element, $attrs, [bsCollapseCtrl]) => { - const $target = $element.parent().parent().find('[bs-collapse-target]'); - - const listener = function() { - const index = bsCollapseCtrl.$targets.reduce((acc, el, i) => { - if (el[0] === $target[0]) - acc.push(i); - - return acc; - }, [])[0]; - - $scope.isOpen = false; - - const active = bsCollapseCtrl.$activeIndexes(); - - if ((active instanceof Array) && active.indexOf(index) !== -1 || active === index) - $scope.isOpen = true; - }; - - bsCollapseCtrl.$viewChangeListeners.push(listener); - $timeout(listener); - }; - - return { - restrict: 'E', - scope: {}, - link, - template, - controller, - // replace: true, - // transclude: true, - require: ['^bsCollapse'] - }; -}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/cca10d0c/modules/web-console/frontend/app/primitives/datepicker/index.pug ---------------------------------------------------------------------- diff --git a/modules/web-console/frontend/app/primitives/datepicker/index.pug b/modules/web-console/frontend/app/primitives/datepicker/index.pug index 110c243..28cd1a0 100644 --- a/modules/web-console/frontend/app/primitives/datepicker/index.pug +++ b/modules/web-console/frontend/app/primitives/datepicker/index.pug @@ -42,7 +42,8 @@ mixin form-field__datepicker({ label, model, name, mindate, maxdate, minview = 1 tabindex='0' onkeydown='return false', - expose-ignite-form-field-control='$input' + ng-ref='$input' + ng-ref-read='ngModel' )&attributes(attributes.attributes) .form-field.form-field__datepicker.ignite-form-field(id=`{{ ${name} }}Field`) http://git-wip-us.apache.org/repos/asf/ignite/blob/cca10d0c/modules/web-console/frontend/app/primitives/form-field/dropdown.pug ---------------------------------------------------------------------- diff --git a/modules/web-console/frontend/app/primitives/form-field/dropdown.pug b/modules/web-console/frontend/app/primitives/form-field/dropdown.pug index bdd9b03..96d8482 100644 --- a/modules/web-console/frontend/app/primitives/form-field/dropdown.pug +++ b/modules/web-console/frontend/app/primitives/form-field/dropdown.pug @@ -28,7 +28,8 @@ mixin form-field__dropdown({ label, model, name, disabled, required, multiple, p ng-model=model ng-disabled=disabled && `${disabled}` ng-required=required && `${required}` - expose-ignite-form-field-control='$input' + ng-ref='$input' + ng-ref-read='ngModel' bs-select bs-options=`item.value as item.${optionLabel} for item in ${options}` http://git-wip-us.apache.org/repos/asf/ignite/blob/cca10d0c/modules/web-console/frontend/app/primitives/form-field/input.pug ---------------------------------------------------------------------- diff --git a/modules/web-console/frontend/app/primitives/form-field/input.pug b/modules/web-console/frontend/app/primitives/form-field/input.pug index 4d45813..0551101 100644 --- a/modules/web-console/frontend/app/primitives/form-field/input.pug +++ b/modules/web-console/frontend/app/primitives/form-field/input.pug @@ -24,6 +24,6 @@ mixin form-field__input({ name, model, disabled, required, placeholder, namePost ng-required=required && `${required}` ng-disabled=disabled && `${disabled}` - expose-ignite-form-field-control='$input' - + ng-ref='$input' + ng-ref-read='ngModel' )&attributes(attributes ? attributes.attributes ? attributes.attributes : attributes : {}) http://git-wip-us.apache.org/repos/asf/ignite/blob/cca10d0c/modules/web-console/frontend/app/primitives/form-field/typeahead.pug ---------------------------------------------------------------------- diff --git a/modules/web-console/frontend/app/primitives/form-field/typeahead.pug b/modules/web-console/frontend/app/primitives/form-field/typeahead.pug index 809a8ae..b2c62ae 100644 --- a/modules/web-console/frontend/app/primitives/form-field/typeahead.pug +++ b/modules/web-console/frontend/app/primitives/form-field/typeahead.pug @@ -32,7 +32,8 @@ mixin form-field__typeahead({ label, model, name, disabled, required, placeholde container='body' data-min-length='1' ignite-retain-selection - expose-ignite-form-field-control='$input' + ng-ref='$input' + ng-ref-read='ngModel' )&attributes(attributes.attributes) .form-field.form-field__typeahead.ignite-form-field(id=`{{ ${name} }}Field`) http://git-wip-us.apache.org/repos/asf/ignite/blob/cca10d0c/modules/web-console/frontend/app/primitives/index.js ---------------------------------------------------------------------- diff --git a/modules/web-console/frontend/app/primitives/index.js b/modules/web-console/frontend/app/primitives/index.js index 555a844..a9ff053 100644 --- a/modules/web-console/frontend/app/primitives/index.js +++ b/modules/web-console/frontend/app/primitives/index.js @@ -28,6 +28,7 @@ import './ui-grid/index.scss'; import './ui-grid-header/index.scss'; import './ui-grid-settings/index.scss'; import './page/index.scss'; +import './spinner-circle/index.scss'; import './switcher/index.scss'; import './form-field/index.scss'; import './typography/index.scss'; http://git-wip-us.apache.org/repos/asf/ignite/blob/cca10d0c/modules/web-console/frontend/app/primitives/modal/index.scss ---------------------------------------------------------------------- diff --git a/modules/web-console/frontend/app/primitives/modal/index.scss b/modules/web-console/frontend/app/primitives/modal/index.scss index d9d4467..bc4dadd 100644 --- a/modules/web-console/frontend/app/primitives/modal/index.scss +++ b/modules/web-console/frontend/app/primitives/modal/index.scss @@ -122,7 +122,7 @@ opacity: 1; background: none; color: $gray-light; - + [ignite-icon] { height: 12px; } @@ -174,8 +174,8 @@ } .modal-body { - margin: 0; - padding: 5px 20px; + margin: 5px 20px; + padding: 0; .input-tip { padding-top: 0; @@ -227,6 +227,10 @@ &:last-child { flex: 1; justify-content: flex-end; + + &.modal-footer--no-grow { + flex-grow: 0; + } } } } http://git-wip-us.apache.org/repos/asf/ignite/blob/cca10d0c/modules/web-console/frontend/app/primitives/panel/index.scss ---------------------------------------------------------------------- diff --git a/modules/web-console/frontend/app/primitives/panel/index.scss b/modules/web-console/frontend/app/primitives/panel/index.scss index f148a56..49737ad 100644 --- a/modules/web-console/frontend/app/primitives/panel/index.scss +++ b/modules/web-console/frontend/app/primitives/panel/index.scss @@ -33,11 +33,17 @@ background-color: initial; font-size: 16px; - line-height: 36px; &:hover { text-decoration: none; } + + h5 { + margin: 0; + font-size: 16px; + font-weight: normal; + line-height: 36px; + } } & > hr { @@ -76,10 +82,13 @@ & > header.header-with-selector { margin: 0; padding: 14px 20px; + min-height: 65px; border-bottom: 1px solid #ddd; - line-height: 36px; + sub { + bottom: 0; + } } } http://git-wip-us.apache.org/repos/asf/ignite/blob/cca10d0c/modules/web-console/frontend/app/primitives/spinner-circle/index.scss ---------------------------------------------------------------------- diff --git a/modules/web-console/frontend/app/primitives/spinner-circle/index.scss b/modules/web-console/frontend/app/primitives/spinner-circle/index.scss new file mode 100644 index 0000000..88152fa --- /dev/null +++ b/modules/web-console/frontend/app/primitives/spinner-circle/index.scss @@ -0,0 +1,59 @@ +/* + * 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. + */ + +$color-inactive-primary: #C5C5C5; +$color-inactive-secondary: #FFFFFF; +$color-active-primary: #EE2B27; +$color-active-secondary: #FF8485; + +.spinner-circle { + display: inline-block; + + &:before { + content: ''; + + display: block; + + width: 20px; + height: 20px; + + border-width: 1px; + border-style: solid; + border-radius: 50%; + border-color: $color-inactive-primary; + border-left-color: $color-active-primary; + } +} + +.spinner-circle:before { + border-left-width: 2px; + border-left-color: $color-active-primary; + + animation-name: spinner-circle--animation; + animation-duration: 1s; + animation-iteration-count: infinite; + animation-timing-function: linear; +} + +@keyframes spinner-circle--animation { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} http://git-wip-us.apache.org/repos/asf/ignite/blob/cca10d0c/modules/web-console/frontend/app/primitives/timepicker/index.pug ---------------------------------------------------------------------- diff --git a/modules/web-console/frontend/app/primitives/timepicker/index.pug b/modules/web-console/frontend/app/primitives/timepicker/index.pug index d411a19..5e3936c 100644 --- a/modules/web-console/frontend/app/primitives/timepicker/index.pug +++ b/modules/web-console/frontend/app/primitives/timepicker/index.pug @@ -34,11 +34,13 @@ mixin form-field__timepicker({ label, model, name, mindate, maxdate, disabled, r data-arrow-behavior='picker' data-placement='bottom' + data-container='body' tabindex='0' onkeydown='return false' - expose-ignite-form-field-control='$input' + ng-ref='$input' + ng-ref-read='ngModel' )&attributes(attributes.attributes) .form-field.form-field__timepicker.ignite-form-field(id=`{{ ${name} }}Field`) http://git-wip-us.apache.org/repos/asf/ignite/blob/cca10d0c/modules/web-console/frontend/app/primitives/ui-grid/index.scss ---------------------------------------------------------------------- diff --git a/modules/web-console/frontend/app/primitives/ui-grid/index.scss b/modules/web-console/frontend/app/primitives/ui-grid/index.scss index c450dad..274e21d 100644 --- a/modules/web-console/frontend/app/primitives/ui-grid/index.scss +++ b/modules/web-console/frontend/app/primitives/ui-grid/index.scss @@ -208,10 +208,6 @@ } .ui-grid-header--subcategories { - .ui-grid-tree-base-row-header-buttons { - margin-top: 10px; - } - .ui-grid-selection-row-header-buttons { margin-top: 12px; @@ -449,7 +445,7 @@ z-index: 1; width: 4px; - height: 46px; + height: 47px; background: #0067b9; box-shadow: 0 -1px 0 0 rgba(0, 0, 0, .3), 0 -1px 0 0 rgba(0, 103, 185, 1);
