@atlassian/aui 9.2.16-bbd82a2f8 → 9.2.16
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.md +1 -1
- package/README.md +7 -9
- package/dist/aui/aui-css-deprecations.js.map +1 -1
- package/dist/aui/aui-prototyping.css +9 -9
- package/dist/aui/aui-prototyping.js +2 -2
- package/dist/aui/aui-prototyping.js.map +1 -1
- package/dist/aui/aui-prototyping.nodeps.css +9 -9
- package/dist/aui/aui-prototyping.nodeps.js +2 -2
- package/dist/aui/aui-prototyping.nodeps.js.map +1 -1
- package/entry/aui.batch.components.js +21 -21
- package/entry/aui.batch.page.js +3 -3
- package/entry/aui.batch.patterns.js +20 -20
- package/entry/aui.batch.prototyping.js +3 -10
- 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/package.json +1 -1
- package/src/js/aui/alphanum.js +1 -1
- package/src/js/aui/banner.js +2 -2
- package/src/js/aui/blanket.js +7 -11
- 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 +82 -75
- package/src/js/aui/debounce.js +5 -8
- package/src/js/aui/dialog.js +206 -172
- package/src/js/aui/dialog2.js +9 -8
- package/src/js/aui/dropdown2.js +207 -180
- 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 +9 -7
- package/src/js/aui/flag.js +15 -17
- package/src/js/aui/focus-manager.js +19 -18
- package/src/js/aui/form-notification.js +14 -13
- 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 +17 -14
- 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 +60 -50
- 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 +49 -26
- package/src/js/aui/internal/i18n/aui.js +8 -5
- 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 +100 -98
- package/src/js/aui/messages.js +51 -38
- 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 +65 -49
- package/src/js/aui/select2.js +14 -6
- package/src/js/aui/sidebar.js +81 -49
- 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 +19 -15
- 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 +48 -48
- 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 +10 -5
- package/src/less/aui-buttons.less +6 -5
- package/src/less/aui-date-picker.less +9 -6
- package/src/less/aui-experimental-expander.less +8 -8
- package/src/less/aui-experimental-labels.less +4 -3
- 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-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 +9 -7
- 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 +4 -3
- 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 +12 -11
- package/src/less/dropdown2-temp.css +4 -4
- package/src/less/dropdown2.less +3 -3
- 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 +9 -11
- 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/form-notification.less +2 -1
- package/src/less/imports/aui-theme/components/forms.less +16 -1
- 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 +12 -4
- package/src/less/imports/aui-theme/core/icons.less +22 -22
- package/src/less/imports/aui-theme/core/text.less +6 -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 +14 -9
- package/src/less/tables.less +3 -2
- package/src/less/tabs.less +4 -3
package/src/js/aui/select.js
CHANGED
|
@@ -16,7 +16,7 @@ import SuggestionsView from './internal/select/suggestions-view';
|
|
|
16
16
|
import template from './internal/select/template';
|
|
17
17
|
import uniqueId from './unique-id';
|
|
18
18
|
import { INPUT_SUFFIX } from './internal/constants';
|
|
19
|
-
import {ifGone} from './internal/elements';
|
|
19
|
+
import { ifGone } from './internal/elements';
|
|
20
20
|
|
|
21
21
|
var DESELECTED = -1;
|
|
22
22
|
var NO_HIGHLIGHT = -1;
|
|
@@ -41,11 +41,11 @@ function hasResults(element) {
|
|
|
41
41
|
return element._suggestionModel.getNumberOfResults();
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
function waitForAssistive
|
|
44
|
+
function waitForAssistive(callback) {
|
|
45
45
|
setTimeout(callback, 50);
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
function setBusyState
|
|
48
|
+
function setBusyState(element) {
|
|
49
49
|
if (!element._button.isBusy()) {
|
|
50
50
|
element._button.busy();
|
|
51
51
|
element._input.setAttribute('aria-busy', 'true');
|
|
@@ -53,23 +53,23 @@ function setBusyState (element) {
|
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
-
function setIdleState
|
|
56
|
+
function setIdleState(element) {
|
|
57
57
|
element._button.idle();
|
|
58
58
|
element._input.setAttribute('aria-busy', 'false');
|
|
59
59
|
element._dropdown.setAttribute('aria-busy', 'false');
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
-
function matchPrefix
|
|
62
|
+
function matchPrefix(model, query) {
|
|
63
63
|
var value = model.get('label').toLowerCase();
|
|
64
64
|
return value.indexOf(query.toLowerCase()) === 0;
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
-
function hideDropdown
|
|
67
|
+
function hideDropdown(element) {
|
|
68
68
|
element._suggestionsView.hide();
|
|
69
69
|
element._input.setAttribute('aria-expanded', 'false');
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
-
function setInitialVisualState
|
|
72
|
+
function setInitialVisualState(element) {
|
|
73
73
|
var initialHighlightedItem = hasResults(element) ? 0 : NO_HIGHLIGHT;
|
|
74
74
|
|
|
75
75
|
element._suggestionModel.highlight(initialHighlightedItem);
|
|
@@ -77,12 +77,12 @@ function setInitialVisualState (element) {
|
|
|
77
77
|
hideDropdown(element);
|
|
78
78
|
}
|
|
79
79
|
|
|
80
|
-
function setElementImage
|
|
80
|
+
function setElementImage(element, imageSource) {
|
|
81
81
|
$(element._input).addClass('aui-select-has-inline-image');
|
|
82
82
|
element._input.setAttribute('style', 'background-image: url(' + encodeURI(imageSource) + ')');
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
-
function suggest
|
|
85
|
+
function suggest(element, autoHighlight, query) {
|
|
86
86
|
element._autoHighlight = autoHighlight;
|
|
87
87
|
|
|
88
88
|
if (query === undefined) {
|
|
@@ -92,14 +92,16 @@ function suggest (element, autoHighlight, query) {
|
|
|
92
92
|
element._progressiveDataSet.query(query);
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
-
function setInputImageToHighlightedSuggestion
|
|
96
|
-
var imageSource =
|
|
95
|
+
function setInputImageToHighlightedSuggestion(element) {
|
|
96
|
+
var imageSource =
|
|
97
|
+
element._suggestionModel.highlighted() &&
|
|
98
|
+
element._suggestionModel.highlighted().get('img-src');
|
|
97
99
|
if (imageSource) {
|
|
98
100
|
setElementImage(element, imageSource);
|
|
99
101
|
}
|
|
100
102
|
}
|
|
101
103
|
|
|
102
|
-
function setValueAndDisplayFromModel
|
|
104
|
+
function setValueAndDisplayFromModel(element, model) {
|
|
103
105
|
if (!model) {
|
|
104
106
|
return;
|
|
105
107
|
}
|
|
@@ -118,25 +120,25 @@ function setValueAndDisplayFromModel (element, model) {
|
|
|
118
120
|
|
|
119
121
|
select.innerHTML = '';
|
|
120
122
|
select.options.add(option);
|
|
121
|
-
select.dispatchEvent(new CustomEvent('change', {bubbles: true}));
|
|
123
|
+
select.dispatchEvent(new CustomEvent('change', { bubbles: true }));
|
|
122
124
|
}
|
|
123
125
|
|
|
124
|
-
function clearValue
|
|
126
|
+
function clearValue(element) {
|
|
125
127
|
element._input.value = '';
|
|
126
128
|
element._select.innerHTML = '';
|
|
127
129
|
}
|
|
128
130
|
|
|
129
|
-
function selectHighlightedSuggestion
|
|
131
|
+
function selectHighlightedSuggestion(element) {
|
|
130
132
|
setValueAndDisplayFromModel(element, element._suggestionModel.highlighted());
|
|
131
133
|
setInputImageToHighlightedSuggestion(element);
|
|
132
134
|
setInitialVisualState(element);
|
|
133
135
|
}
|
|
134
136
|
|
|
135
|
-
function convertOptionToModel
|
|
137
|
+
function convertOptionToModel(option) {
|
|
136
138
|
return new SuggestionModel(option.serialize());
|
|
137
139
|
}
|
|
138
140
|
|
|
139
|
-
function convertOptionsToModels
|
|
141
|
+
function convertOptionsToModels(element) {
|
|
140
142
|
var models = [];
|
|
141
143
|
|
|
142
144
|
for (var i = 0; i < element._datalist.children.length; i++) {
|
|
@@ -153,7 +155,7 @@ function convertOptionsToModels (element) {
|
|
|
153
155
|
* @param data
|
|
154
156
|
* @returns {boolean} true if the results are different from the previous set; false otherwise.
|
|
155
157
|
*/
|
|
156
|
-
function clearAndSet
|
|
158
|
+
function clearAndSet(element, data) {
|
|
157
159
|
const before = element._suggestionModel.getNumberOfResults();
|
|
158
160
|
element._suggestionModel.set();
|
|
159
161
|
element._suggestionModel.set(data.results);
|
|
@@ -161,12 +163,12 @@ function clearAndSet (element, data) {
|
|
|
161
163
|
return before !== after;
|
|
162
164
|
}
|
|
163
165
|
|
|
164
|
-
function getActiveId
|
|
166
|
+
function getActiveId(select) {
|
|
165
167
|
var active = select._dropdown.querySelector('.aui-select-active');
|
|
166
168
|
return active && active.id;
|
|
167
169
|
}
|
|
168
170
|
|
|
169
|
-
function getIndexInResults
|
|
171
|
+
function getIndexInResults(id, results) {
|
|
170
172
|
var resultsIds = $.map(results, function (result) {
|
|
171
173
|
return result.id;
|
|
172
174
|
});
|
|
@@ -174,7 +176,7 @@ function getIndexInResults (id, results) {
|
|
|
174
176
|
return resultsIds.indexOf(id);
|
|
175
177
|
}
|
|
176
178
|
|
|
177
|
-
function createNewValueModel
|
|
179
|
+
function createNewValueModel(element) {
|
|
178
180
|
var option = new Option();
|
|
179
181
|
option.setAttribute('value', element._input.value);
|
|
180
182
|
var newValueSuggestionModel = convertOptionToModel(option);
|
|
@@ -182,12 +184,12 @@ function createNewValueModel (element) {
|
|
|
182
184
|
return newValueSuggestionModel;
|
|
183
185
|
}
|
|
184
186
|
|
|
185
|
-
function initialiseProgressiveDataSet
|
|
187
|
+
function initialiseProgressiveDataSet(element) {
|
|
186
188
|
element._progressiveDataSet = new ProgressiveDataSet(convertOptionsToModels(element), {
|
|
187
189
|
model: SuggestionModel,
|
|
188
190
|
matcher: matchPrefix,
|
|
189
191
|
queryEndpoint: element._queryEndpoint,
|
|
190
|
-
maxResults: DEFAULT_SS_PDS_SIZE
|
|
192
|
+
maxResults: DEFAULT_SS_PDS_SIZE,
|
|
191
193
|
});
|
|
192
194
|
|
|
193
195
|
element._isSync = !element._queryEndpoint;
|
|
@@ -259,20 +261,27 @@ function initialiseProgressiveDataSet (element) {
|
|
|
259
261
|
element._input.setAttribute('aria-expanded', 'true');
|
|
260
262
|
|
|
261
263
|
// If the response is async (append operation), has elements to append and has a highlighted element, we need to update the status.
|
|
262
|
-
if (
|
|
263
|
-
element.
|
|
264
|
+
if (
|
|
265
|
+
!element._isSync &&
|
|
266
|
+
resultsChanged &&
|
|
267
|
+
element._suggestionsView.getActive() &&
|
|
268
|
+
state(element).get('should-flag-new-suggestions')
|
|
269
|
+
) {
|
|
270
|
+
element.querySelector('.aui-select-status').innerHTML = I18n.getText(
|
|
271
|
+
'aui.select.new.suggestions'
|
|
272
|
+
);
|
|
264
273
|
}
|
|
265
274
|
|
|
266
275
|
element._suggestionsView.show();
|
|
267
276
|
});
|
|
268
277
|
}
|
|
269
278
|
|
|
270
|
-
function associateDropdownAndTrigger
|
|
279
|
+
function associateDropdownAndTrigger(element) {
|
|
271
280
|
element._dropdown.id = element._listId;
|
|
272
281
|
element.querySelector('button').setAttribute('aria-controls', element._listId);
|
|
273
282
|
}
|
|
274
283
|
|
|
275
|
-
function bindHighlightMouseover
|
|
284
|
+
function bindHighlightMouseover(element) {
|
|
276
285
|
$(element._dropdown).on('mouseover', 'li', function (e) {
|
|
277
286
|
if (hasResults(element)) {
|
|
278
287
|
element._suggestionModel.highlight($(e.target).index());
|
|
@@ -280,10 +289,10 @@ function bindHighlightMouseover (element) {
|
|
|
280
289
|
});
|
|
281
290
|
}
|
|
282
291
|
|
|
283
|
-
export function bindSelectMousedown
|
|
292
|
+
export function bindSelectMousedown(element) {
|
|
284
293
|
let preventClosingContainerLayer = false;
|
|
285
294
|
|
|
286
|
-
$(document).on('aui-close-layers-on-outer-click.single-select', e => {
|
|
295
|
+
$(document).on('aui-close-layers-on-outer-click.single-select', (e) => {
|
|
287
296
|
if (preventClosingContainerLayer) {
|
|
288
297
|
e.preventDefault();
|
|
289
298
|
preventClosingContainerLayer = false;
|
|
@@ -308,7 +317,7 @@ export function bindSelectMousedown (element) {
|
|
|
308
317
|
});
|
|
309
318
|
}
|
|
310
319
|
|
|
311
|
-
function initialiseValue
|
|
320
|
+
function initialiseValue(element) {
|
|
312
321
|
var option = element._datalist.querySelector('aui-option[selected]');
|
|
313
322
|
|
|
314
323
|
if (option) {
|
|
@@ -316,11 +325,11 @@ function initialiseValue (element) {
|
|
|
316
325
|
}
|
|
317
326
|
}
|
|
318
327
|
|
|
319
|
-
function isQueryInProgress
|
|
328
|
+
function isQueryInProgress(element) {
|
|
320
329
|
return element._progressiveDataSet.activeQueryCount > 0;
|
|
321
330
|
}
|
|
322
331
|
|
|
323
|
-
function focusInHandler
|
|
332
|
+
function focusInHandler(element) {
|
|
324
333
|
//if there is a selected value the single select should do an empty
|
|
325
334
|
//search and return everything
|
|
326
335
|
var searchValue = element.value ? '' : element._input.value;
|
|
@@ -329,7 +338,7 @@ function focusInHandler (element) {
|
|
|
329
338
|
suggest(element, true, searchValue);
|
|
330
339
|
}
|
|
331
340
|
|
|
332
|
-
function cancelInProgressQueries
|
|
341
|
+
function cancelInProgressQueries(element) {
|
|
333
342
|
if (isQueryInProgress(element)) {
|
|
334
343
|
state(element).set('should-cancel-response', true);
|
|
335
344
|
}
|
|
@@ -341,7 +350,7 @@ function getSelectedLabel(element) {
|
|
|
341
350
|
}
|
|
342
351
|
}
|
|
343
352
|
|
|
344
|
-
function handleInvalidInputOnFocusOut
|
|
353
|
+
function handleInvalidInputOnFocusOut(element) {
|
|
345
354
|
var selectCanBeEmpty = !element.hasAttribute('no-empty-values');
|
|
346
355
|
var selectionIsEmpty = !element._input.value;
|
|
347
356
|
var selectionNotExact = element._input.value !== getSelectedLabel(element);
|
|
@@ -366,14 +375,14 @@ function handleHighlightOnFocusOut(element) {
|
|
|
366
375
|
element._suggestionModel.highlight(NO_HIGHLIGHT);
|
|
367
376
|
}
|
|
368
377
|
|
|
369
|
-
function focusOutHandler
|
|
378
|
+
function focusOutHandler(element) {
|
|
370
379
|
cancelInProgressQueries(element);
|
|
371
380
|
handleInvalidInputOnFocusOut(element);
|
|
372
381
|
handleHighlightOnFocusOut(element);
|
|
373
382
|
hideDropdown(element);
|
|
374
383
|
}
|
|
375
384
|
|
|
376
|
-
function handleTabOut
|
|
385
|
+
function handleTabOut(element) {
|
|
377
386
|
var isSuggestionViewVisible = element._suggestionsView.isVisible();
|
|
378
387
|
if (isSuggestionViewVisible) {
|
|
379
388
|
selectHighlightedSuggestion(element);
|
|
@@ -405,7 +414,11 @@ const SelectEl = skate('aui-select', {
|
|
|
405
414
|
}
|
|
406
415
|
});
|
|
407
416
|
|
|
408
|
-
element._suggestionsView.render(
|
|
417
|
+
element._suggestionsView.render(
|
|
418
|
+
suggestionsToAdd,
|
|
419
|
+
oldSuggestions.length,
|
|
420
|
+
element._listId
|
|
421
|
+
);
|
|
409
422
|
};
|
|
410
423
|
|
|
411
424
|
element._suggestionModel.onHighlightChange = function () {
|
|
@@ -453,7 +466,7 @@ const SelectEl = skate('aui-select', {
|
|
|
453
466
|
|
|
454
467
|
src(element, data) {
|
|
455
468
|
element._queryEndpoint = data.newValue;
|
|
456
|
-
}
|
|
469
|
+
},
|
|
457
470
|
},
|
|
458
471
|
|
|
459
472
|
events: {
|
|
@@ -462,7 +475,10 @@ const SelectEl = skate('aui-select', {
|
|
|
462
475
|
},
|
|
463
476
|
|
|
464
477
|
'mousedown button': function (element) {
|
|
465
|
-
if (
|
|
478
|
+
if (
|
|
479
|
+
document.activeElement === element._input &&
|
|
480
|
+
!element._dropdown.hasAttribute('hidden')
|
|
481
|
+
) {
|
|
466
482
|
state(element).set('prevent-open-on-button-click', true);
|
|
467
483
|
}
|
|
468
484
|
},
|
|
@@ -482,7 +498,7 @@ const SelectEl = skate('aui-select', {
|
|
|
482
498
|
}
|
|
483
499
|
},
|
|
484
500
|
|
|
485
|
-
input: function (element) {
|
|
501
|
+
'input': function (element) {
|
|
486
502
|
if (!element._input.value) {
|
|
487
503
|
if (state(element).get('button-clicked-prevent-dropdown-hide')) {
|
|
488
504
|
state(element).set('button-clicked-prevent-dropdown-hide', false);
|
|
@@ -528,21 +544,21 @@ const SelectEl = skate('aui-select', {
|
|
|
528
544
|
}
|
|
529
545
|
|
|
530
546
|
handled = handled || e.defaultPrevented;
|
|
531
|
-
setTimeout(function emulateCrossBrowserInputEvent
|
|
547
|
+
setTimeout(function emulateCrossBrowserInputEvent() {
|
|
532
548
|
if (element._input.value !== currentValue && !handled) {
|
|
533
|
-
element.dispatchEvent(new CustomEvent('input', {bubbles: true}));
|
|
549
|
+
element.dispatchEvent(new CustomEvent('input', { bubbles: true }));
|
|
534
550
|
}
|
|
535
551
|
}, 0);
|
|
536
|
-
}
|
|
552
|
+
},
|
|
537
553
|
},
|
|
538
554
|
|
|
539
555
|
prototype: {
|
|
540
|
-
get value
|
|
556
|
+
get value() {
|
|
541
557
|
var selected = this._select.options[this._select.selectedIndex];
|
|
542
558
|
return selected ? selected.value : '';
|
|
543
559
|
},
|
|
544
560
|
|
|
545
|
-
set value
|
|
561
|
+
set value(value) {
|
|
546
562
|
if (value === '') {
|
|
547
563
|
clearValue(this);
|
|
548
564
|
} else if (value) {
|
|
@@ -551,7 +567,7 @@ const SelectEl = skate('aui-select', {
|
|
|
551
567
|
|
|
552
568
|
// Create a new value if allowed and the value doesn't exist.
|
|
553
569
|
if (!model && this.hasAttribute('can-create-values')) {
|
|
554
|
-
model = new SuggestionModel({value: value, label: value});
|
|
570
|
+
model = new SuggestionModel({ value: value, label: value });
|
|
555
571
|
}
|
|
556
572
|
|
|
557
573
|
setValueAndDisplayFromModel(this, model);
|
|
@@ -559,7 +575,7 @@ const SelectEl = skate('aui-select', {
|
|
|
559
575
|
return this;
|
|
560
576
|
},
|
|
561
577
|
|
|
562
|
-
get displayValue
|
|
578
|
+
get displayValue() {
|
|
563
579
|
return this._input.value;
|
|
564
580
|
},
|
|
565
581
|
|
|
@@ -573,8 +589,8 @@ const SelectEl = skate('aui-select', {
|
|
|
573
589
|
this._input.focus();
|
|
574
590
|
focusInHandler(this);
|
|
575
591
|
return this;
|
|
576
|
-
}
|
|
577
|
-
}
|
|
592
|
+
},
|
|
593
|
+
},
|
|
578
594
|
});
|
|
579
595
|
|
|
580
596
|
amdify('aui/select', SelectEl);
|
package/src/js/aui/select2.js
CHANGED
|
@@ -26,15 +26,23 @@ $.fn.auiSelect2 = function (first) {
|
|
|
26
26
|
var auiOpts = $.extend({}, first);
|
|
27
27
|
var auiAvatarClass = auiOpts.hasAvatar ? ' ' + auiHasAvatar : '';
|
|
28
28
|
//add our classes in addition to those the caller specified
|
|
29
|
-
auiOpts.containerCssClass
|
|
30
|
-
|
|
29
|
+
auiOpts.containerCssClass =
|
|
30
|
+
auiContainer +
|
|
31
|
+
auiAvatarClass +
|
|
32
|
+
(auiOpts.containerCssClass ? ' ' + auiOpts.containerCssClass : '');
|
|
33
|
+
auiOpts.dropdownCssClass =
|
|
34
|
+
auiDropdown +
|
|
35
|
+
auiAvatarClass +
|
|
36
|
+
(auiOpts.dropdownCssClass ? ' ' + auiOpts.dropdownCssClass : '');
|
|
31
37
|
updatedArgs = Array.prototype.slice.call(arguments, 1);
|
|
32
38
|
updatedArgs.unshift(auiOpts);
|
|
33
39
|
} else if (!arguments.length) {
|
|
34
|
-
updatedArgs = [
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
40
|
+
updatedArgs = [
|
|
41
|
+
{
|
|
42
|
+
containerCssClass: auiContainer,
|
|
43
|
+
dropdownCssClass: auiDropdown,
|
|
44
|
+
},
|
|
45
|
+
];
|
|
38
46
|
} else {
|
|
39
47
|
updatedArgs = arguments;
|
|
40
48
|
}
|