@atlassian/aui 9.9.6 → 9.9.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +7 -9
- package/dist/aui/aui-css-deprecations.js.map +1 -1
- package/dist/aui/aui-prototyping-browserfocus.css +2 -651
- package/dist/aui/aui-prototyping-browserfocus.css.map +1 -0
- package/dist/aui/aui-prototyping-darkmode.css +2 -285
- package/dist/aui/aui-prototyping-darkmode.css.map +1 -0
- package/dist/aui/aui-prototyping-design-tokens-api-full.js +2 -2
- package/dist/aui/aui-prototyping-design-tokens-api-full.js.map +1 -1
- package/dist/aui/aui-prototyping-design-tokens-api.js +1 -1
- package/dist/aui/aui-prototyping-design-tokens-api.js.map +1 -1
- package/dist/aui/aui-prototyping-design-tokens-base-themes-css.css +2 -2
- package/dist/aui/aui-prototyping-design-tokens-base-themes-css.css.map +1 -1
- package/dist/aui/aui-prototyping-design-tokens-base-themes-css.js +1 -1
- package/dist/aui/aui-prototyping-design-tokens-base-themes.js +1 -1
- package/dist/aui/aui-prototyping-design-tokens-compatibility.css +2 -115
- package/dist/aui/aui-prototyping-design-tokens-compatibility.css.map +1 -0
- package/dist/aui/aui-prototyping.css +10 -10
- package/dist/aui/aui-prototyping.css.map +1 -1
- package/dist/aui/aui-prototyping.js +8 -10
- package/dist/aui/aui-prototyping.js.map +1 -1
- package/dist/aui/aui-prototyping.nodeps.css +10 -10
- package/dist/aui/aui-prototyping.nodeps.css.map +1 -1
- package/dist/aui/aui-prototyping.nodeps.js +12 -14
- package/dist/aui/aui-prototyping.nodeps.js.map +1 -1
- package/dist/aui/fonts/adgs-icons.eot +0 -0
- package/dist/aui/fonts/adgs-icons.ttf +0 -0
- package/dist/aui/fonts/adgs-icons.woff +0 -0
- package/entry/aui.batch.components.js +23 -23
- package/entry/aui.batch.page.js +3 -3
- package/entry/aui.batch.patterns.js +20 -20
- package/entry/aui.batch.prototyping.js +3 -11
- package/entry/aui.component.nav.js +1 -1
- package/entry/aui.component.progressbar.js +4 -1
- package/entry/aui.side-effects.js +2 -2
- package/entry/behaviours/aui.behaviour.format.js +1 -1
- package/entry/behaviours/aui.behaviour.i18n.js +1 -1
- package/entry/behaviours/aui.behaviour.keyboard-shortcuts.js +1 -1
- package/entry/behaviours/aui.behaviour.progressive-data-set.js +1 -1
- package/entry/behaviours/aui.behaviour.version.js +1 -1
- package/entry/deprecated/aui.component.inline-dialog1.js +1 -1
- package/entry/styles/aui-design-tokens-compatibility.less +114 -115
- package/package.json +3 -7
- package/src/js/aui/alphanum.js +1 -1
- package/src/js/aui/avatar-badged.js +4 -5
- package/src/js/aui/avatar-group.js +58 -28
- package/src/js/aui/avatar.js +16 -14
- package/src/js/aui/banner.js +5 -4
- package/src/js/aui/blanket.js +11 -14
- package/src/js/aui/button.js +5 -5
- package/src/js/aui/checkbox-multiselect.js +79 -76
- package/src/js/aui/clone.js +1 -1
- package/src/js/aui/close-button.js +2 -6
- package/src/js/aui/contain-dropdown.js +5 -5
- package/src/js/aui/contains.js +1 -1
- package/src/js/aui/cookie.js +12 -16
- package/src/js/aui/date-picker.js +84 -69
- package/src/js/aui/debounce.js +5 -8
- package/src/js/aui/design-tokens/design-tokens-full.js +4 -13
- package/src/js/aui/design-tokens/design-tokens-init.js +3 -5
- package/src/js/aui/design-tokens/design-tokens-testing-theme.js +15 -21
- package/src/js/aui/design-tokens/design-tokens.js +2 -4
- package/src/js/aui/dialog.js +206 -172
- package/src/js/aui/dialog2.js +36 -25
- package/src/js/aui/dropdown2.js +221 -189
- package/src/js/aui/escape-html.js +2 -2
- package/src/js/aui/escape.js +1 -1
- package/src/js/aui/event.js +4 -8
- package/src/js/aui/expander.js +15 -13
- package/src/js/aui/flag.js +14 -16
- package/src/js/aui/focus-manager.js +19 -18
- package/src/js/aui/form-notification.js +15 -14
- package/src/js/aui/form-validation/basic-validators.js +39 -30
- package/src/js/aui/form-validation/validator-register.js +9 -5
- package/src/js/aui/form-validation.js +12 -13
- package/src/js/aui/format.js +9 -6
- package/src/js/aui/forms/create-forms-component-body.js +6 -9
- package/src/js/aui/forms/custom-checkbox.js +2 -6
- package/src/js/aui/forms/custom-radio.js +2 -6
- package/src/js/aui/forms.js +4 -8
- package/src/js/aui/header-async.js +1 -1
- package/src/js/aui/header.js +2 -2
- package/src/js/aui/i18n.js +2 -5
- package/src/js/aui/index-of.js +1 -1
- package/src/js/aui/inline-dialog.js +171 -117
- package/src/js/aui/inline-dialog2.js +40 -33
- package/src/js/aui/internal/add-id.js +1 -1
- package/src/js/aui/internal/alignment.js +57 -49
- package/src/js/aui/internal/amdify.js +0 -1
- package/src/js/aui/internal/animation.js +2 -5
- package/src/js/aui/internal/attributes.js +2 -3
- package/src/js/aui/internal/browser.js +5 -6
- package/src/js/aui/internal/constants.js +1 -3
- package/src/js/aui/internal/deduplicateIDs.js +8 -7
- package/src/js/aui/internal/deprecation/deprecated-adg2-icons.js +132 -132
- package/src/js/aui/internal/deprecation.js +53 -31
- package/src/js/aui/internal/detect-children-change.js +3 -2
- package/src/js/aui/internal/elements.js +2 -5
- package/src/js/aui/internal/enforcer.js +11 -13
- package/src/js/aui/internal/globalize.js +3 -3
- package/src/js/aui/internal/has-touch.js +1 -2
- package/src/js/aui/internal/header/create-header.js +54 -30
- package/src/js/aui/internal/i18n/aui.js +10 -6
- package/src/js/aui/internal/i18n/aui_af.js +31 -31
- package/src/js/aui/internal/i18n/aui_ar.js +31 -31
- package/src/js/aui/internal/i18n/aui_ar_DZ.js +31 -31
- package/src/js/aui/internal/i18n/aui_az.js +31 -31
- package/src/js/aui/internal/i18n/aui_bg.js +31 -31
- package/src/js/aui/internal/i18n/aui_bs.js +31 -31
- package/src/js/aui/internal/i18n/aui_ca.js +31 -31
- package/src/js/aui/internal/i18n/aui_cs.js +31 -31
- package/src/js/aui/internal/i18n/aui_da.js +31 -31
- package/src/js/aui/internal/i18n/aui_de.js +31 -31
- package/src/js/aui/internal/i18n/aui_el.js +31 -31
- package/src/js/aui/internal/i18n/aui_en_AU.js +31 -31
- package/src/js/aui/internal/i18n/aui_en_GB.js +31 -31
- package/src/js/aui/internal/i18n/aui_en_NZ.js +31 -31
- package/src/js/aui/internal/i18n/aui_eo.js +31 -31
- package/src/js/aui/internal/i18n/aui_es.js +31 -31
- package/src/js/aui/internal/i18n/aui_et.js +31 -31
- package/src/js/aui/internal/i18n/aui_eu.js +31 -31
- package/src/js/aui/internal/i18n/aui_fa.js +31 -31
- package/src/js/aui/internal/i18n/aui_fi.js +31 -31
- package/src/js/aui/internal/i18n/aui_fo.js +31 -31
- package/src/js/aui/internal/i18n/aui_fr.js +31 -31
- package/src/js/aui/internal/i18n/aui_fr_CH.js +31 -31
- package/src/js/aui/internal/i18n/aui_gl.js +31 -31
- package/src/js/aui/internal/i18n/aui_he.js +31 -31
- package/src/js/aui/internal/i18n/aui_hr.js +31 -31
- package/src/js/aui/internal/i18n/aui_hu.js +31 -31
- package/src/js/aui/internal/i18n/aui_hy.js +31 -31
- package/src/js/aui/internal/i18n/aui_id.js +31 -31
- package/src/js/aui/internal/i18n/aui_is.js +31 -31
- package/src/js/aui/internal/i18n/aui_it.js +31 -31
- package/src/js/aui/internal/i18n/aui_ja.js +31 -31
- package/src/js/aui/internal/i18n/aui_ko.js +31 -31
- package/src/js/aui/internal/i18n/aui_kz.js +31 -31
- package/src/js/aui/internal/i18n/aui_lt.js +31 -31
- package/src/js/aui/internal/i18n/aui_lv.js +31 -31
- package/src/js/aui/internal/i18n/aui_ml.js +31 -31
- package/src/js/aui/internal/i18n/aui_ms.js +31 -31
- package/src/js/aui/internal/i18n/aui_nl.js +31 -31
- package/src/js/aui/internal/i18n/aui_no.js +31 -31
- package/src/js/aui/internal/i18n/aui_pl.js +31 -31
- package/src/js/aui/internal/i18n/aui_pt.js +31 -31
- package/src/js/aui/internal/i18n/aui_pt_BR.js +31 -31
- package/src/js/aui/internal/i18n/aui_rm.js +31 -31
- package/src/js/aui/internal/i18n/aui_ro.js +31 -31
- package/src/js/aui/internal/i18n/aui_ru.js +31 -31
- package/src/js/aui/internal/i18n/aui_sk.js +31 -31
- package/src/js/aui/internal/i18n/aui_sl.js +31 -31
- package/src/js/aui/internal/i18n/aui_sq.js +31 -31
- package/src/js/aui/internal/i18n/aui_sr.js +31 -31
- package/src/js/aui/internal/i18n/aui_sr_SR.js +31 -31
- package/src/js/aui/internal/i18n/aui_sv.js +31 -31
- package/src/js/aui/internal/i18n/aui_ta.js +31 -31
- package/src/js/aui/internal/i18n/aui_th.js +31 -31
- package/src/js/aui/internal/i18n/aui_tj.js +31 -31
- package/src/js/aui/internal/i18n/aui_tr.js +31 -31
- package/src/js/aui/internal/i18n/aui_uk.js +31 -31
- package/src/js/aui/internal/i18n/aui_vi.js +31 -31
- package/src/js/aui/internal/i18n/aui_zh_CN.js +31 -31
- package/src/js/aui/internal/i18n/aui_zh_HK.js +31 -31
- package/src/js/aui/internal/i18n/aui_zh_TW.js +31 -31
- package/src/js/aui/internal/log.js +2 -6
- package/src/js/aui/internal/mediaQuery.js +2 -3
- package/src/js/aui/internal/select/option.js +3 -3
- package/src/js/aui/internal/select/suggestion-model.js +1 -1
- package/src/js/aui/internal/select/suggestions-model.js +4 -5
- package/src/js/aui/internal/select/suggestions-view.js +17 -12
- package/src/js/aui/internal/state.js +2 -3
- package/src/js/aui/is-clipped.js +2 -2
- package/src/js/aui/key-code.js +1 -1
- package/src/js/aui/label.js +6 -6
- package/src/js/aui/layer.js +101 -89
- package/src/js/aui/messages.js +57 -41
- package/src/js/aui/navigation.js +7 -9
- package/src/js/aui/on-text-resize.js +7 -5
- package/src/js/aui/params.js +11 -8
- package/src/js/aui/polyfills/custom-event.js +7 -7
- package/src/js/aui/polyfills/placeholder.js +4 -4
- package/src/js/aui/populate-parameters.js +4 -4
- package/src/js/aui/progress-indicator.js +35 -27
- package/src/js/aui/progressive-data-set.js +13 -8
- package/src/js/aui/query-input.js +1 -1
- package/src/js/aui/restful-table/class-names.js +1 -1
- package/src/js/aui/restful-table/data-keys.js +1 -1
- package/src/js/aui/restful-table/edit-row.js +63 -63
- package/src/js/aui/restful-table/entry-model.js +6 -13
- package/src/js/aui/restful-table/event-handlers.js +4 -8
- package/src/js/aui/restful-table/event-names.js +1 -1
- package/src/js/aui/restful-table/row.js +41 -23
- package/src/js/aui/restful-table.js +101 -72
- package/src/js/aui/result-set.js +5 -5
- package/src/js/aui/results-list.js +3 -3
- package/src/js/aui/select.js +72 -51
- package/src/js/aui/select2.js +16 -8
- package/src/js/aui/sidebar.js +81 -51
- package/src/js/aui/spin.js +61 -49
- package/src/js/aui/spinner.js +11 -12
- package/src/js/aui/tables-sortable.js +21 -10
- package/src/js/aui/tabs.js +108 -77
- package/src/js/aui/to-init.js +1 -1
- package/src/js/aui/toggle.js +55 -43
- package/src/js/aui/tooltip.js +35 -34
- package/src/js/aui/trigger.js +20 -18
- package/src/js/aui/truncating-progressive-data-set.js +1 -1
- package/src/js/aui/unbind-text-resize.js +1 -1
- package/src/js/aui/unique-id.js +1 -1
- package/src/js/aui/when-i-type.js +66 -39
- package/src/js/aui-css-deprecations.js +52 -51
- package/src/js/jquery/jquery.hotkeys.js +124 -49
- package/src/js/jquery/jquery.moveto.js +18 -12
- package/src/less/adg-fancy-file-input.less +2 -3
- package/src/less/adg-header-quicksearch.less +4 -1
- package/src/less/adg-iconfont.less +242 -242
- package/src/less/adgs-icons.less +262 -262
- package/src/less/aui-appheader.less +11 -7
- package/src/less/aui-avatars.less +2 -2
- package/src/less/aui-banner.less +2 -1
- package/src/less/aui-buttons.less +6 -5
- package/src/less/aui-dark-mode.less +1 -1
- package/src/less/aui-date-picker.less +9 -6
- package/src/less/aui-experimental-expander.less +3 -3
- package/src/less/aui-experimental-labels.less +1 -1
- package/src/less/aui-experimental-progress-indicator.less +10 -4
- package/src/less/aui-experimental-progress-tracker.less +9 -6
- package/src/less/aui-experimental-restfultable.less +11 -3
- package/src/less/aui-experimental-tables-sortable.less +5 -3
- package/src/less/aui-experimental-tooltip.less +1 -1
- package/src/less/aui-link.less +0 -1
- package/src/less/aui-lozenge.less +6 -3
- package/src/less/aui-navigation.less +13 -13
- package/src/less/aui-page-layout.less +3 -4
- package/src/less/aui-page-typography.less +8 -3
- package/src/less/aui-reset.less +22 -6
- package/src/less/aui-select2.less +11 -8
- package/src/less/aui-sidebar-badges.less +1 -2
- package/src/less/aui-sidebar-config.less +7 -2
- package/src/less/aui-sidebar-grouping.less +16 -6
- package/src/less/aui-sidebar-navigation.less +7 -5
- package/src/less/aui-sidebar-skeleton.less +12 -7
- package/src/less/aui-skip-link.less +2 -1
- package/src/less/aui-spinner.less +2 -2
- package/src/less/aui-toggle.less +2 -2
- package/src/less/aui-toolbar2.less +1 -1
- package/src/less/checkbox-multiselect.less +13 -13
- package/src/less/dialog.less +3 -3
- package/src/less/dialog2.less +11 -10
- package/src/less/dropdown2-temp.css +4 -4
- package/src/less/dropdown2.less +4 -4
- package/src/less/flag.less +2 -2
- package/src/less/form-notification.less +10 -6
- package/src/less/forms-current.less +6 -5
- package/src/less/forms-legacy.less +4 -2
- package/src/less/forms-radios-and-checkboxes.less +18 -16
- package/src/less/forms.less +2 -4
- package/src/less/iconfont-mixin.less +7 -4
- package/src/less/imports/aui-theme/adg/adg-colors.less +40 -40
- package/src/less/imports/aui-theme/adg/adg-neutral-dark.less +20 -20
- package/src/less/imports/aui-theme/adg/adg-neutral-light.less +20 -20
- package/src/less/imports/aui-theme/components/buttons.less +5 -1
- package/src/less/imports/aui-theme/components/dropdown.less +3 -1
- package/src/less/imports/aui-theme/components/flag.less +1 -1
- package/src/less/imports/aui-theme/components/form-notification.less +2 -1
- package/src/less/imports/aui-theme/components/forms.less +20 -3
- package/src/less/imports/aui-theme/components/inline-dialog2.less +1 -1
- package/src/less/imports/aui-theme/components/navigation.less +3 -3
- package/src/less/imports/aui-theme/components/progress-tracker.less +6 -2
- package/src/less/imports/aui-theme/components/tables.less +3 -2
- package/src/less/imports/aui-theme/components/toggle.less +8 -3
- package/src/less/imports/aui-theme/core/colors.less +6 -3
- package/src/less/imports/aui-theme/core/icons.less +22 -22
- package/src/less/imports/aui-theme/core/spaces.less +1 -1
- package/src/less/imports/aui-theme/core/text.less +6 -3
- package/src/less/imports/aui-theme/theme.less +1 -3
- package/src/less/imports/mixins/dropdown2-trigger-chevron-icon.less +0 -1
- package/src/less/imports/mixins/focus.less +12 -4
- package/src/less/imports/mixins/media-queries.less +2 -2
- package/src/less/imports/mixins/shadows.less +3 -1
- package/src/less/imports/mixins/tab-indicator.less +2 -2
- package/src/less/imports/mixins.less +11 -4
- package/src/less/inline-dialog.less +21 -19
- package/src/less/layer.less +0 -2
- package/src/less/messages.less +2 -1
- package/src/less/single-select.less +15 -10
- package/src/less/tables.less +3 -2
- package/src/less/tabs.less +4 -3
|
@@ -5,13 +5,13 @@ const special = {
|
|
|
5
5
|
'>': '>',
|
|
6
6
|
'&': '&',
|
|
7
7
|
'"': '"',
|
|
8
|
-
'
|
|
8
|
+
"'": ''',
|
|
9
9
|
'`': '`',
|
|
10
10
|
};
|
|
11
11
|
|
|
12
12
|
const expr = new RegExp(`[${Object.keys(special).join('')}]`, 'g');
|
|
13
13
|
|
|
14
|
-
function escapeHtml
|
|
14
|
+
function escapeHtml(str) {
|
|
15
15
|
return str.replace(expr, (str) => special[str]);
|
|
16
16
|
}
|
|
17
17
|
|
package/src/js/aui/escape.js
CHANGED
package/src/js/aui/event.js
CHANGED
|
@@ -9,7 +9,7 @@ const $target = $(window);
|
|
|
9
9
|
* Binds events to the window object. See jQuery bind documentation for more
|
|
10
10
|
* details. Exceptions are caught and logged.
|
|
11
11
|
*/
|
|
12
|
-
function bind
|
|
12
|
+
function bind(eventType, eventData, handler) {
|
|
13
13
|
try {
|
|
14
14
|
if (typeof handler === 'function') {
|
|
15
15
|
return $target.on(eventType, EMPTY_SELECTOR, eventData, handler);
|
|
@@ -25,7 +25,7 @@ function bind (eventType, eventData, handler) {
|
|
|
25
25
|
* Unbinds event handlers from the window object. See jQuery unbind
|
|
26
26
|
* documentation for more details. Exceptions are caught and logged.
|
|
27
27
|
*/
|
|
28
|
-
function unbind
|
|
28
|
+
function unbind(eventType, handler) {
|
|
29
29
|
try {
|
|
30
30
|
return $target.off(eventType, handler);
|
|
31
31
|
} catch (e) {
|
|
@@ -37,7 +37,7 @@ function unbind (eventType, handler) {
|
|
|
37
37
|
* Triggers events on the window object. See jQuery trigger documentation for
|
|
38
38
|
* more details. Exceptions are caught and logged.
|
|
39
39
|
*/
|
|
40
|
-
function trigger
|
|
40
|
+
function trigger(eventType, extraParameters) {
|
|
41
41
|
try {
|
|
42
42
|
return $target.trigger(eventType, extraParameters);
|
|
43
43
|
} catch (e) {
|
|
@@ -49,8 +49,4 @@ globalize('bind', bind);
|
|
|
49
49
|
globalize('trigger', trigger);
|
|
50
50
|
globalize('unbind', unbind);
|
|
51
51
|
|
|
52
|
-
export {
|
|
53
|
-
bind,
|
|
54
|
-
unbind,
|
|
55
|
-
trigger
|
|
56
|
-
};
|
|
52
|
+
export { bind, unbind, trigger };
|
package/src/js/aui/expander.js
CHANGED
|
@@ -2,7 +2,6 @@ import $ from './jquery';
|
|
|
2
2
|
|
|
3
3
|
import { getMessageLogger } from './internal/deprecation';
|
|
4
4
|
|
|
5
|
-
|
|
6
5
|
const deprecate = {
|
|
7
6
|
'aria-expanded': getMessageLogger('Expander [aria-expanded] attribute', {
|
|
8
7
|
removeInVersion: '10.0.0',
|
|
@@ -23,7 +22,7 @@ const deprecate = {
|
|
|
23
22
|
sinceVersion: '9.9.0',
|
|
24
23
|
deprecationType: 'EXPANDER CLASS (PATTERN)',
|
|
25
24
|
}),
|
|
26
|
-
}
|
|
25
|
+
};
|
|
27
26
|
|
|
28
27
|
const getExpanderProperties = ($trigger) => {
|
|
29
28
|
const $content = $(`#${$trigger.attr('aria-controls')}`);
|
|
@@ -55,7 +54,8 @@ const getExpanderProperties = ($trigger) => {
|
|
|
55
54
|
};
|
|
56
55
|
|
|
57
56
|
function expand($trigger) {
|
|
58
|
-
const { $content, isTriggerParent, $shortContent, textReplacement } =
|
|
57
|
+
const { $content, isTriggerParent, $shortContent, textReplacement } =
|
|
58
|
+
getExpanderProperties($trigger);
|
|
59
59
|
|
|
60
60
|
$trigger.attr('aria-expanded', 'true');
|
|
61
61
|
$content.addClass('expanded');
|
|
@@ -70,7 +70,8 @@ function expand($trigger) {
|
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
function collapse($trigger) {
|
|
73
|
-
const { $content, isTriggerParent, $shortContent, textReplacement } =
|
|
73
|
+
const { $content, isTriggerParent, $shortContent, textReplacement } =
|
|
74
|
+
getExpanderProperties($trigger);
|
|
74
75
|
|
|
75
76
|
replaceText($trigger, textReplacement);
|
|
76
77
|
$trigger.attr('aria-expanded', 'false');
|
|
@@ -87,7 +88,6 @@ function collapse($trigger) {
|
|
|
87
88
|
$trigger.trigger('aui-expander-collapsed');
|
|
88
89
|
}
|
|
89
90
|
|
|
90
|
-
|
|
91
91
|
function init($trigger) {
|
|
92
92
|
const { $content, isTriggerParent, isExpanded } = getExpanderProperties($trigger);
|
|
93
93
|
|
|
@@ -120,7 +120,9 @@ function init($trigger) {
|
|
|
120
120
|
}
|
|
121
121
|
|
|
122
122
|
const replaceText = ($trigger, textReplacement) => {
|
|
123
|
-
if (!textReplacement) {
|
|
123
|
+
if (!textReplacement) {
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
124
126
|
|
|
125
127
|
/**
|
|
126
128
|
* ! Deprecated since 9.9.0
|
|
@@ -144,7 +146,7 @@ const replaceText = ($trigger, textReplacement) => {
|
|
|
144
146
|
|
|
145
147
|
const EXPANDER_EVENTS = {
|
|
146
148
|
'aui-expander-invoke': function (event) {
|
|
147
|
-
const $trigger = $(event.currentTarget)
|
|
149
|
+
const $trigger = $(event.currentTarget);
|
|
148
150
|
const { isCollapsible, isExpanded } = getExpanderProperties($trigger);
|
|
149
151
|
|
|
150
152
|
if (isExpanded && isCollapsible) {
|
|
@@ -155,7 +157,7 @@ const EXPANDER_EVENTS = {
|
|
|
155
157
|
},
|
|
156
158
|
|
|
157
159
|
'aui-expander-expand': function (event) {
|
|
158
|
-
expand($(event.currentTarget))
|
|
160
|
+
expand($(event.currentTarget));
|
|
159
161
|
},
|
|
160
162
|
|
|
161
163
|
'aui-expander-collapse': function (event) {
|
|
@@ -165,13 +167,13 @@ const EXPANDER_EVENTS = {
|
|
|
165
167
|
'click.aui-expander': function (event) {
|
|
166
168
|
const $target = $(event.currentTarget);
|
|
167
169
|
$target.trigger('aui-expander-invoke', event.currentTarget);
|
|
168
|
-
}
|
|
170
|
+
},
|
|
169
171
|
};
|
|
170
172
|
|
|
171
173
|
$(document).on(EXPANDER_EVENTS, '.aui-expander-trigger');
|
|
172
|
-
$(document).ready(function() {
|
|
173
|
-
$('.aui-expander-trigger').each(function() {
|
|
174
|
+
$(document).ready(function () {
|
|
175
|
+
$('.aui-expander-trigger').each(function () {
|
|
174
176
|
const $trigger = $(this);
|
|
175
177
|
init($trigger);
|
|
176
|
-
})
|
|
177
|
-
})
|
|
178
|
+
});
|
|
179
|
+
});
|
package/src/js/aui/flag.js
CHANGED
|
@@ -5,7 +5,7 @@ import globalize from './internal/globalize';
|
|
|
5
5
|
import keyCode from './key-code';
|
|
6
6
|
import CustomEvent from './polyfills/custom-event';
|
|
7
7
|
import escapeHtml from './escape-html';
|
|
8
|
-
import {CLOSE_BUTTON} from './close-button';
|
|
8
|
+
import { CLOSE_BUTTON } from './close-button';
|
|
9
9
|
|
|
10
10
|
const AUTO_CLOSE_TIME = 8000;
|
|
11
11
|
const ID_FLAG_CONTAINER = 'aui-flag-container';
|
|
@@ -17,7 +17,7 @@ const DEFAULT_OPTIONS = {
|
|
|
17
17
|
duration: AUTO_CLOSE_TIME,
|
|
18
18
|
};
|
|
19
19
|
|
|
20
|
-
function flag
|
|
20
|
+
function flag(flagOptions) {
|
|
21
21
|
const options = { ...DEFAULT_OPTIONS, ...flagOptions };
|
|
22
22
|
options.title = (options.title || '').toString().trim();
|
|
23
23
|
|
|
@@ -37,7 +37,7 @@ function flag (flagOptions) {
|
|
|
37
37
|
return $flag.get(0);
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
function extendFlagElement
|
|
40
|
+
function extendFlagElement($flag) {
|
|
41
41
|
const flag = $flag[0];
|
|
42
42
|
|
|
43
43
|
flag.close = function () {
|
|
@@ -45,7 +45,7 @@ function extendFlagElement ($flag) {
|
|
|
45
45
|
};
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
function renderFlagElement
|
|
48
|
+
function renderFlagElement({ body, title, close, type }) {
|
|
49
49
|
const titleHtml = title ? `<p class="title"><strong>${escapeHtml(title)}</strong></p>` : '';
|
|
50
50
|
const html = `<div class="aui-message">${titleHtml}</div>`;
|
|
51
51
|
|
|
@@ -56,7 +56,7 @@ function renderFlagElement ({body, title, close, type}) {
|
|
|
56
56
|
return $('<div class="aui-flag" aria-live="polite"></div>').append($message);
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
-
function makeCloseable
|
|
59
|
+
function makeCloseable($flag) {
|
|
60
60
|
const $icon = $(CLOSE_BUTTON);
|
|
61
61
|
|
|
62
62
|
$icon.on('click', function () {
|
|
@@ -64,7 +64,7 @@ function makeCloseable ($flag) {
|
|
|
64
64
|
});
|
|
65
65
|
|
|
66
66
|
$icon.on('keypress', function (e) {
|
|
67
|
-
if (
|
|
67
|
+
if (e.which === keyCode.ENTER || e.which === keyCode.SPACE) {
|
|
68
68
|
closeFlag($flag);
|
|
69
69
|
e.preventDefault();
|
|
70
70
|
}
|
|
@@ -73,47 +73,45 @@ function makeCloseable ($flag) {
|
|
|
73
73
|
return $flag.find('.aui-message').append($icon)[0];
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
-
function makeAutoClosable
|
|
76
|
+
function makeAutoClosable($flag, duration) {
|
|
77
77
|
$flag.find('.aui-message').addClass('aui-will-close');
|
|
78
78
|
setTimeout(function () {
|
|
79
79
|
$flag[0].close();
|
|
80
80
|
}, duration);
|
|
81
81
|
}
|
|
82
82
|
|
|
83
|
-
function closeFlag
|
|
83
|
+
function closeFlag($flagToClose) {
|
|
84
84
|
const flag = $flagToClose.get(0);
|
|
85
85
|
|
|
86
86
|
flag.removeAttribute('open');
|
|
87
|
-
flag.dispatchEvent(new CustomEvent('aui-flag-close', {bubbles: true}));
|
|
87
|
+
flag.dispatchEvent(new CustomEvent('aui-flag-close', { bubbles: true }));
|
|
88
88
|
|
|
89
89
|
return flag;
|
|
90
90
|
}
|
|
91
91
|
|
|
92
|
-
function handleFlagContainer
|
|
92
|
+
function handleFlagContainer() {
|
|
93
93
|
const container = findContainer();
|
|
94
94
|
|
|
95
95
|
if (container) {
|
|
96
96
|
const closedFlags = container.querySelectorAll('.aui-flag:not([open])');
|
|
97
97
|
|
|
98
|
-
Array.from(closedFlags).map(flag => flag.parentNode.removeChild(flag));
|
|
98
|
+
Array.from(closedFlags).map((flag) => flag.parentNode.removeChild(flag));
|
|
99
99
|
} else {
|
|
100
100
|
$('body').prepend('<div id="' + ID_FLAG_CONTAINER + '"></div>');
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
103
|
|
|
104
|
-
function findContainer
|
|
104
|
+
function findContainer() {
|
|
105
105
|
return document.getElementById(ID_FLAG_CONTAINER);
|
|
106
106
|
}
|
|
107
107
|
|
|
108
|
-
function insertFlag
|
|
108
|
+
function insertFlag($flag) {
|
|
109
109
|
const flagContainer = findContainer();
|
|
110
110
|
|
|
111
111
|
$flag.appendTo(flagContainer);
|
|
112
112
|
recomputeStyle($flag);
|
|
113
113
|
|
|
114
|
-
$flag
|
|
115
|
-
.removeAttr('hidden')
|
|
116
|
-
.attr('open','');
|
|
114
|
+
$flag.removeAttr('hidden').attr('open', '');
|
|
117
115
|
}
|
|
118
116
|
|
|
119
117
|
amdify('aui/flag', flag);
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import $ from './jquery';
|
|
2
2
|
import globalize from './internal/globalize';
|
|
3
3
|
import keyCodes from './key-code';
|
|
4
|
-
import {getTrigger} from './trigger';
|
|
4
|
+
import { getTrigger } from './trigger';
|
|
5
5
|
|
|
6
|
-
(function initSelectors
|
|
6
|
+
(function initSelectors() {
|
|
7
7
|
/*
|
|
8
8
|
:tabbable and :focusable functions from jQuery UI v 1.10.4
|
|
9
9
|
renamed to :aui-tabbable and :aui-focusable to not clash with jquery-ui if it's included.
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
function visible
|
|
13
|
-
return
|
|
12
|
+
function visible(element) {
|
|
13
|
+
return $.css(element, 'visibility') === 'visible' && $(element).is(':visible');
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
function focusable
|
|
16
|
+
function focusable(element, isTabIndexNotNaN) {
|
|
17
17
|
var nodeName = element.nodeName.toLowerCase();
|
|
18
18
|
|
|
19
19
|
if (nodeName === 'aui-select') {
|
|
@@ -32,27 +32,27 @@ import {getTrigger} from './trigger';
|
|
|
32
32
|
}
|
|
33
33
|
var isFormElement = /input|select|textarea|button|object|iframe/.test(nodeName);
|
|
34
34
|
var isAnchor = nodeName === 'a';
|
|
35
|
-
var isAnchorTabbable =
|
|
35
|
+
var isAnchorTabbable = element.href || isTabIndexNotNaN;
|
|
36
36
|
|
|
37
37
|
return (
|
|
38
|
-
isFormElement ? !element.disabled :
|
|
39
|
-
|
|
40
|
-
)
|
|
38
|
+
(isFormElement ? !element.disabled : isAnchor ? isAnchorTabbable : isTabIndexNotNaN) &&
|
|
39
|
+
visible(element)
|
|
40
|
+
);
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
function tabbable
|
|
43
|
+
function tabbable(element) {
|
|
44
44
|
var tabIndex = $.attr(element, 'tabindex');
|
|
45
45
|
var isTabIndexNaN = isNaN(tabIndex);
|
|
46
|
-
var hasTabIndex =
|
|
46
|
+
var hasTabIndex = isTabIndexNaN || tabIndex >= 0;
|
|
47
47
|
|
|
48
48
|
return hasTabIndex && focusable(element, !isTabIndexNaN);
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
$.extend($.expr.pseudos, {
|
|
52
|
-
'aui-focusable': element => focusable(element, !isNaN($.attr(element, 'tabindex'))),
|
|
53
|
-
'aui-tabbable': tabbable
|
|
52
|
+
'aui-focusable': (element) => focusable(element, !isNaN($.attr(element, 'tabindex'))),
|
|
53
|
+
'aui-tabbable': tabbable,
|
|
54
54
|
});
|
|
55
|
-
}()
|
|
55
|
+
})();
|
|
56
56
|
|
|
57
57
|
var RESTORE_FOCUS_DATA_KEY = '_aui-focus-restore';
|
|
58
58
|
|
|
@@ -62,15 +62,15 @@ var RESTORE_FOCUS_DATA_KEY = '_aui-focus-restore';
|
|
|
62
62
|
* @param {HTMLElement} $el - element to store the data about focus
|
|
63
63
|
* @param {Element} [lastFocussedEl=document.activeElement] - last focused element
|
|
64
64
|
*/
|
|
65
|
-
function setLastFocus
|
|
65
|
+
function setLastFocus($el, lastFocussedEl = document.activeElement) {
|
|
66
66
|
$el.data(RESTORE_FOCUS_DATA_KEY, lastFocussedEl);
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
-
function getLastFocus
|
|
69
|
+
function getLastFocus($el) {
|
|
70
70
|
return $($el.data(RESTORE_FOCUS_DATA_KEY));
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
-
function elementTrapsFocus
|
|
73
|
+
function elementTrapsFocus($el) {
|
|
74
74
|
return $el.is('.aui-dialog2') || $el.is('[aui-focus-trap="true"]');
|
|
75
75
|
}
|
|
76
76
|
|
|
@@ -89,7 +89,8 @@ FocusManager.prototype.enter = function ($el, $lastFocused) {
|
|
|
89
89
|
|
|
90
90
|
// focus on new selector
|
|
91
91
|
if ($el.attr('data-aui-focus') !== 'false') {
|
|
92
|
-
var focusSelector =
|
|
92
|
+
var focusSelector =
|
|
93
|
+
$el.attr('data-aui-focus-selector') || FocusManager.defaultFocusSelector;
|
|
93
94
|
var $focusEl = $el.is(focusSelector) ? $el : $el.find(focusSelector);
|
|
94
95
|
$focusEl.first().trigger('focus');
|
|
95
96
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import $ from './jquery';
|
|
2
2
|
import amdify from './internal/amdify';
|
|
3
3
|
import skate from './internal/skate';
|
|
4
|
-
import './spinner'
|
|
5
|
-
import {getMessageLogger} from './internal/deprecation'
|
|
4
|
+
import './spinner';
|
|
5
|
+
import { getMessageLogger } from './internal/deprecation';
|
|
6
6
|
|
|
7
7
|
const CLASS_NOTIFICATION_INITIALISED = '_aui-form-notification-initialised';
|
|
8
8
|
|
|
@@ -20,7 +20,7 @@ const NOTIFICATION_PRIORITY = [
|
|
|
20
20
|
ATTRIBUTE_NOTIFICATION_ERROR,
|
|
21
21
|
ATTRIBUTE_NOTIFICATION_SUCCESS,
|
|
22
22
|
ATTRIBUTE_NOTIFICATION_WAIT,
|
|
23
|
-
ATTRIBUTE_NOTIFICATION_INFO
|
|
23
|
+
ATTRIBUTE_NOTIFICATION_INFO,
|
|
24
24
|
];
|
|
25
25
|
|
|
26
26
|
function initialiseNotification($field) {
|
|
@@ -46,7 +46,7 @@ function appendDescription($field, message) {
|
|
|
46
46
|
const existingDescription = $field.parent().find('.description');
|
|
47
47
|
|
|
48
48
|
if (!existingDescription.length) {
|
|
49
|
-
$field.after(descriptionTemplate($field, message))
|
|
49
|
+
$field.after(descriptionTemplate($field, message));
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
|
|
@@ -137,7 +137,7 @@ function updateAriaInfo($field) {
|
|
|
137
137
|
*/
|
|
138
138
|
function conditionallyGetFieldTarget($field) {
|
|
139
139
|
const modifiers = {
|
|
140
|
-
'aui-select': 'input[type="text"][role="combobox"]'
|
|
140
|
+
'aui-select': 'input[type="text"][role="combobox"]',
|
|
141
141
|
};
|
|
142
142
|
|
|
143
143
|
for (let [source, selector] of Object.entries(modifiers)) {
|
|
@@ -160,7 +160,10 @@ function isJqueryObject(el) {
|
|
|
160
160
|
function errorMessageTemplate($field, messages) {
|
|
161
161
|
const id = $field.attr('id') || $field.attr('name');
|
|
162
162
|
const list = messages
|
|
163
|
-
.map(
|
|
163
|
+
.map(
|
|
164
|
+
(message) =>
|
|
165
|
+
`<li><span class="aui-icon aui-icon-small aui-iconfont-error aui-icon-notification"></span>${message}</li>`
|
|
166
|
+
)
|
|
164
167
|
.join('');
|
|
165
168
|
|
|
166
169
|
return `<div class="error" role="alert" id="${id}-${ARIA_ERROR_POSTFIX}"><ul>${list}</ul></div>`;
|
|
@@ -170,9 +173,7 @@ function descriptionTemplate($field, messages) {
|
|
|
170
173
|
const id = $field.attr('id') || $field.attr('name');
|
|
171
174
|
|
|
172
175
|
if (messages.length > 1) {
|
|
173
|
-
let list = messages
|
|
174
|
-
.map(message => `<li>${message}</li>`)
|
|
175
|
-
.join('');
|
|
176
|
+
let list = messages.map((message) => `<li>${message}</li>`).join('');
|
|
176
177
|
return `<div class="description" id="${id}-${ARIA_DESCRIPTION_POSTFIX}"><ul>${list}</ul></div>`;
|
|
177
178
|
}
|
|
178
179
|
return `<div class="description" id="${id}-${ARIA_DESCRIPTION_POSTFIX}">${messages}</div>`;
|
|
@@ -205,7 +206,7 @@ function setFieldSpinner($field, isSpinnerVisible) {
|
|
|
205
206
|
|
|
206
207
|
const deprecationLogger = getMessageLogger('data-aui-notification-field attribute', {
|
|
207
208
|
deprecationType: 'ATTRIBUTE',
|
|
208
|
-
alternativeName: 'HTML markup'
|
|
209
|
+
alternativeName: 'HTML markup',
|
|
209
210
|
});
|
|
210
211
|
|
|
211
212
|
skate('data-aui-notification-field', {
|
|
@@ -219,8 +220,8 @@ skate('data-aui-notification-field', {
|
|
|
219
220
|
attrs[type] = synchroniseNotificationDisplay;
|
|
220
221
|
});
|
|
221
222
|
return attrs;
|
|
222
|
-
}()
|
|
223
|
-
type: skate.type.ATTRIBUTE
|
|
223
|
+
})(),
|
|
224
|
+
type: skate.type.ATTRIBUTE,
|
|
224
225
|
});
|
|
225
226
|
|
|
226
227
|
amdify('aui/form-notification');
|
|
@@ -231,5 +232,5 @@ export {
|
|
|
231
232
|
appendDescription,
|
|
232
233
|
updateAriaInfo,
|
|
233
234
|
errorMessageTemplate,
|
|
234
|
-
setFieldSpinner
|
|
235
|
-
}
|
|
235
|
+
setFieldSpinner,
|
|
236
|
+
};
|
|
@@ -11,13 +11,19 @@ function minMaxLength(field) {
|
|
|
11
11
|
var minlength = parseInt(field.args('minlength'), 10);
|
|
12
12
|
var maxlength = parseInt(field.args('maxlength'), 10);
|
|
13
13
|
|
|
14
|
-
if (
|
|
14
|
+
if (
|
|
15
|
+
minlength &&
|
|
16
|
+
maxlength &&
|
|
17
|
+
minlength === maxlength &&
|
|
18
|
+
!fieldIsEmpty &&
|
|
19
|
+
fieldValueLength !== minlength
|
|
20
|
+
) {
|
|
15
21
|
const exactlengthMessage = makeMessage('exactlength', field.args, [minlength]);
|
|
16
22
|
field.invalidate(exactlengthMessage);
|
|
17
|
-
} else if (minlength &&
|
|
23
|
+
} else if (minlength && fieldValueLength < minlength && !fieldIsEmpty) {
|
|
18
24
|
const minlengthMessage = makeMessage('minlength', field.args);
|
|
19
25
|
field.invalidate(minlengthMessage);
|
|
20
|
-
} else if (maxlength &&
|
|
26
|
+
} else if (maxlength && fieldValueLength > maxlength) {
|
|
21
27
|
const maxlengthMessage = makeMessage('maxlength', field.args);
|
|
22
28
|
field.invalidate(maxlengthMessage);
|
|
23
29
|
} else {
|
|
@@ -33,14 +39,17 @@ validatorRegister.register(['matchingfield'], function (field) {
|
|
|
33
39
|
var matchingField = document.getElementById(field.args('matchingfield'));
|
|
34
40
|
var matchingFieldValue = matchingField.value;
|
|
35
41
|
|
|
36
|
-
var matchingFieldMessage = makeMessage('matchingfield', field.args, [
|
|
42
|
+
var matchingFieldMessage = makeMessage('matchingfield', field.args, [
|
|
43
|
+
thisFieldValue,
|
|
44
|
+
matchingFieldValue,
|
|
45
|
+
]);
|
|
37
46
|
|
|
38
47
|
var shouldHidePasswords = isPasswordField(field.el) || isPasswordField(matchingField);
|
|
39
48
|
if (shouldHidePasswords) {
|
|
40
49
|
matchingFieldMessage = makeMessage('matchingfield-novalue', field.args);
|
|
41
50
|
}
|
|
42
51
|
|
|
43
|
-
if (!thisFieldValue || !matchingFieldValue){
|
|
52
|
+
if (!thisFieldValue || !matchingFieldValue) {
|
|
44
53
|
field.validate();
|
|
45
54
|
} else if (matchingFieldValue !== thisFieldValue) {
|
|
46
55
|
field.invalidate(matchingFieldMessage);
|
|
@@ -66,12 +75,12 @@ validatorRegister.register(['doesnotcontain'], function (field) {
|
|
|
66
75
|
|
|
67
76
|
//Matches regex
|
|
68
77
|
|
|
69
|
-
function matchesRegex(val, regex){
|
|
78
|
+
function matchesRegex(val, regex) {
|
|
70
79
|
var matches = val.match(regex);
|
|
71
80
|
if (!matches) {
|
|
72
81
|
return false;
|
|
73
82
|
}
|
|
74
|
-
var isExactMatch =
|
|
83
|
+
var isExactMatch = val === matches[0];
|
|
75
84
|
return isExactMatch;
|
|
76
85
|
}
|
|
77
86
|
|
|
@@ -114,9 +123,9 @@ function minOrMax(field) {
|
|
|
114
123
|
var minValue = field.args('min');
|
|
115
124
|
var maxValue = field.args('max');
|
|
116
125
|
|
|
117
|
-
if (minValue &&
|
|
126
|
+
if (minValue && fieldValue < parseInt(minValue, 10)) {
|
|
118
127
|
field.invalidate(makeMessage('min', field.args));
|
|
119
|
-
} else if (maxValue &&
|
|
128
|
+
} else if (maxValue && fieldValue > parseInt(maxValue, 10)) {
|
|
120
129
|
field.invalidate(makeMessage('max', field.args));
|
|
121
130
|
} else {
|
|
122
131
|
field.validate();
|
|
@@ -131,12 +140,12 @@ validatorRegister.register(['dateformat'], function (field) {
|
|
|
131
140
|
var dateFormatMessage = makeMessage('dateformat', field.args);
|
|
132
141
|
|
|
133
142
|
var symbolRegexMap = {
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
143
|
+
Y: '[0-9]{4}',
|
|
144
|
+
y: '[0-9]{2}',
|
|
145
|
+
m: '(0?[1-9]|10|11|12)',
|
|
146
|
+
M: '[Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec]',
|
|
147
|
+
D: '[Mon|Tue|Wed|Thu|Fri|Sat|Sun]',
|
|
148
|
+
d: '([0-2]?[1-9]|10|20|30|31)',
|
|
140
149
|
};
|
|
141
150
|
|
|
142
151
|
var dateFormatSymbolArray = dateFormatSymbolic.split('');
|
|
@@ -164,8 +173,8 @@ validatorRegister.register(['dateformat'], function (field) {
|
|
|
164
173
|
//Checkbox count
|
|
165
174
|
validatorRegister.register(['minchecked', 'maxchecked'], function (field) {
|
|
166
175
|
var amountChecked = $(field.el).find(':checked').length;
|
|
167
|
-
var aboveMin = !field.args('minchecked') ||
|
|
168
|
-
var belowMax = !field.args('maxchecked') ||
|
|
176
|
+
var aboveMin = !field.args('minchecked') || amountChecked >= field.args('minchecked');
|
|
177
|
+
var belowMax = !field.args('maxchecked') || amountChecked <= field.args('maxchecked');
|
|
169
178
|
|
|
170
179
|
var belowMinMessage = makeMessage('minchecked', field.args);
|
|
171
180
|
var aboveMaxMessage = makeMessage('maxchecked', field.args);
|
|
@@ -213,20 +222,20 @@ function makeMessage(key, accessorFunction, customTokens) {
|
|
|
213
222
|
must appear verbatim for the plugin I18n transformation to pick it up
|
|
214
223
|
*/
|
|
215
224
|
var pluginI18nMessages = {
|
|
216
|
-
minlength: I18n.getText('aui.validation.message.minlength'),
|
|
217
|
-
maxlength: I18n.getText('aui.validation.message.maxlength'),
|
|
218
|
-
exactlength: I18n.getText('aui.validation.message.exactlength'),
|
|
219
|
-
matchingfield: I18n.getText('aui.validation.message.matchingfield'),
|
|
225
|
+
'minlength': I18n.getText('aui.validation.message.minlength'),
|
|
226
|
+
'maxlength': I18n.getText('aui.validation.message.maxlength'),
|
|
227
|
+
'exactlength': I18n.getText('aui.validation.message.exactlength'),
|
|
228
|
+
'matchingfield': I18n.getText('aui.validation.message.matchingfield'),
|
|
220
229
|
'matchingfield-novalue': I18n.getText('aui.validation.message.matchingfield-novalue'),
|
|
221
|
-
doesnotcontain: I18n.getText('aui.validation.message.doesnotcontain'),
|
|
222
|
-
pattern: I18n.getText('aui.validation.message.pattern'),
|
|
223
|
-
required: I18n.getText('aui.validation.message.required'),
|
|
224
|
-
validnumber: I18n.getText('aui.validation.message.validnumber'),
|
|
225
|
-
min: I18n.getText('aui.validation.message.min'),
|
|
226
|
-
max: I18n.getText('aui.validation.message.max'),
|
|
227
|
-
dateformat: I18n.getText('aui.validation.message.dateformat'),
|
|
228
|
-
minchecked: I18n.getText('aui.validation.message.minchecked'),
|
|
229
|
-
maxchecked: I18n.getText('aui.validation.message.maxchecked')
|
|
230
|
+
'doesnotcontain': I18n.getText('aui.validation.message.doesnotcontain'),
|
|
231
|
+
'pattern': I18n.getText('aui.validation.message.pattern'),
|
|
232
|
+
'required': I18n.getText('aui.validation.message.required'),
|
|
233
|
+
'validnumber': I18n.getText('aui.validation.message.validnumber'),
|
|
234
|
+
'min': I18n.getText('aui.validation.message.min'),
|
|
235
|
+
'max': I18n.getText('aui.validation.message.max'),
|
|
236
|
+
'dateformat': I18n.getText('aui.validation.message.dateformat'),
|
|
237
|
+
'minchecked': I18n.getText('aui.validation.message.minchecked'),
|
|
238
|
+
'maxchecked': I18n.getText('aui.validation.message.maxchecked'),
|
|
230
239
|
};
|
|
231
240
|
|
|
232
241
|
amdify('aui/form-validation/basic-validators');
|
|
@@ -5,7 +5,7 @@ import amdify from '../internal/amdify';
|
|
|
5
5
|
var ATTRIBUTE_RESERVED_ARGUMENTS = ['displayfield', 'watchfield', 'when', 'novalidate', 'state'];
|
|
6
6
|
var validators = [];
|
|
7
7
|
|
|
8
|
-
function getReservedArgument
|
|
8
|
+
function getReservedArgument(validatorArguments) {
|
|
9
9
|
var reservedArgument = false;
|
|
10
10
|
|
|
11
11
|
validatorArguments.some(function (arg) {
|
|
@@ -28,7 +28,7 @@ function getReservedArgument (validatorArguments) {
|
|
|
28
28
|
* field - the field that is being validated
|
|
29
29
|
* args - the arguments that have been specified in HTML markup.
|
|
30
30
|
*/
|
|
31
|
-
function registerValidator
|
|
31
|
+
function registerValidator(trigger, validatorFunction) {
|
|
32
32
|
var triggerSelector;
|
|
33
33
|
|
|
34
34
|
if (typeof trigger === 'string') {
|
|
@@ -37,7 +37,11 @@ function registerValidator (trigger, validatorFunction) {
|
|
|
37
37
|
var reservedArgument = getReservedArgument(trigger);
|
|
38
38
|
|
|
39
39
|
if (reservedArgument) {
|
|
40
|
-
logger.warn(
|
|
40
|
+
logger.warn(
|
|
41
|
+
'Validators cannot be registered with the argument "' +
|
|
42
|
+
reservedArgument +
|
|
43
|
+
'", as it is a reserved argument.'
|
|
44
|
+
);
|
|
41
45
|
return false;
|
|
42
46
|
}
|
|
43
47
|
|
|
@@ -46,7 +50,7 @@ function registerValidator (trigger, validatorFunction) {
|
|
|
46
50
|
|
|
47
51
|
var validator = {
|
|
48
52
|
validatorFunction: validatorFunction,
|
|
49
|
-
validatorTrigger: triggerSelector
|
|
53
|
+
validatorTrigger: triggerSelector,
|
|
50
54
|
};
|
|
51
55
|
|
|
52
56
|
validators.push(validator);
|
|
@@ -58,7 +62,7 @@ var validatorRegister = {
|
|
|
58
62
|
register: registerValidator,
|
|
59
63
|
validators: function () {
|
|
60
64
|
return validators;
|
|
61
|
-
}
|
|
65
|
+
},
|
|
62
66
|
};
|
|
63
67
|
|
|
64
68
|
amdify('aui/form-validation/validator-register', validatorRegister);
|