You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by dp...@apache.org on 2018/09/13 12:49:24 UTC
[30/50] [abbrv] ignite git commit: IGNITE-9508 Web Console:
Refactored legacy pug mixins.
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);