@atlassian/aui 9.9.6 → 9.9.7
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 +1 -1
- 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 +4 -4
- 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 +4 -4
- 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 +12 -18
- 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 +1 -1
- 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/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
|
@@ -15,11 +15,12 @@ var templates = {
|
|
|
15
15
|
// clear items section
|
|
16
16
|
var $clearItemsSection = createSection();
|
|
17
17
|
|
|
18
|
-
$('<button />')
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
18
|
+
$('<button />')
|
|
19
|
+
.attr({
|
|
20
|
+
'type': 'button',
|
|
21
|
+
'data-aui-checkbox-multiselect-clear': '',
|
|
22
|
+
'class': 'aui-button aui-button-link',
|
|
23
|
+
})
|
|
23
24
|
.text(I18n.getText('aui.checkboxmultiselect.clear.selected'))
|
|
24
25
|
.appendTo($clearItemsSection);
|
|
25
26
|
|
|
@@ -28,11 +29,13 @@ var templates = {
|
|
|
28
29
|
var $itemList = $('<ul />').appendTo($section);
|
|
29
30
|
|
|
30
31
|
$.each(items, function (idx, item) {
|
|
31
|
-
var $li = $('<li />')
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
var $li = $('<li />')
|
|
33
|
+
.attr({
|
|
34
|
+
class: item.styleClass || '',
|
|
35
|
+
})
|
|
36
|
+
.appendTo($itemList);
|
|
34
37
|
|
|
35
|
-
var $a =
|
|
38
|
+
var $a = $('<a />')
|
|
36
39
|
.text(item.label)
|
|
37
40
|
.attr('data-value', item.value)
|
|
38
41
|
.addClass('aui-dropdown2-checkbox aui-dropdown2-interactive')
|
|
@@ -50,40 +53,33 @@ var templates = {
|
|
|
50
53
|
}
|
|
51
54
|
});
|
|
52
55
|
|
|
53
|
-
return $('<div />')
|
|
54
|
-
.append($clearItemsSection)
|
|
55
|
-
.append($section)
|
|
56
|
-
.html();
|
|
56
|
+
return $('<div />').append($clearItemsSection).append($section).html();
|
|
57
57
|
},
|
|
58
58
|
|
|
59
59
|
furniture: function (name, optionsHtml) {
|
|
60
60
|
var dropdownId = name + '-dropdown';
|
|
61
61
|
|
|
62
|
-
var $select = $('<select />')
|
|
63
|
-
name: name,
|
|
64
|
-
multiple: 'multiple'
|
|
65
|
-
}).html(optionsHtml);
|
|
66
|
-
|
|
67
|
-
var $dropdown = $('<div>')
|
|
62
|
+
var $select = $('<select />')
|
|
68
63
|
.attr({
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
})
|
|
64
|
+
name: name,
|
|
65
|
+
multiple: 'multiple',
|
|
66
|
+
})
|
|
67
|
+
.html(optionsHtml);
|
|
72
68
|
|
|
73
|
-
var $
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
}
|
|
69
|
+
var $dropdown = $('<div>').attr({
|
|
70
|
+
id: dropdownId,
|
|
71
|
+
class: 'aui-checkbox-multiselect-dropdown aui-dropdown2',
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
var $button = $('<button />').attr({
|
|
75
|
+
'class': 'aui-checkbox-multiselect-btn aui-button aui-dropdown2-trigger',
|
|
76
|
+
'type': 'button',
|
|
77
|
+
'aria-owns': dropdownId,
|
|
78
|
+
'aria-haspopup': true,
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
return $('<div />').append($select).append($button).append($dropdown).html();
|
|
82
|
+
},
|
|
87
83
|
};
|
|
88
84
|
|
|
89
85
|
/**
|
|
@@ -91,7 +87,7 @@ var templates = {
|
|
|
91
87
|
* option in the <select>.
|
|
92
88
|
* @private
|
|
93
89
|
*/
|
|
94
|
-
function handleDropdownSelection
|
|
90
|
+
function handleDropdownSelection(e) {
|
|
95
91
|
var $a = $(e.target);
|
|
96
92
|
var value = $a.attr('data-value');
|
|
97
93
|
updateOption(this, value, $a.hasClass('aui-dropdown2-checked'));
|
|
@@ -104,7 +100,7 @@ function handleDropdownSelection (e) {
|
|
|
104
100
|
* @param value - value of option to update
|
|
105
101
|
* @param {Boolean} selected - select or unselect it.
|
|
106
102
|
*/
|
|
107
|
-
function updateOption
|
|
103
|
+
function updateOption(component, value, selected) {
|
|
108
104
|
var $toUpdate = component.$select.find('option').filter(function () {
|
|
109
105
|
var $this = $(this);
|
|
110
106
|
return $this.attr('value') === value && $this.prop('selected') !== selected;
|
|
@@ -119,7 +115,7 @@ function updateOption (component, value, selected) {
|
|
|
119
115
|
* Enables 'clear all' button if there are any selected <option>s, otherwise disables it.
|
|
120
116
|
* @private
|
|
121
117
|
*/
|
|
122
|
-
function updateClearAll
|
|
118
|
+
function updateClearAll(component) {
|
|
123
119
|
component.$dropdown.find('[data-aui-checkbox-multiselect-clear]').prop('disabled', function () {
|
|
124
120
|
return getSelectedDescriptors(component).length < 1;
|
|
125
121
|
});
|
|
@@ -131,8 +127,10 @@ function updateClearAll (component) {
|
|
|
131
127
|
* @param component
|
|
132
128
|
* @returns {string}
|
|
133
129
|
*/
|
|
134
|
-
function getButtonTitle
|
|
135
|
-
return component.$dropdown[0].hasAttribute('hidden')
|
|
130
|
+
function getButtonTitle(component) {
|
|
131
|
+
return component.$dropdown[0].hasAttribute('hidden')
|
|
132
|
+
? ''
|
|
133
|
+
: getSelectedLabels(component).join(', ');
|
|
136
134
|
}
|
|
137
135
|
|
|
138
136
|
/**
|
|
@@ -141,7 +139,7 @@ function getButtonTitle (component) {
|
|
|
141
139
|
* @returns {Array<Object>}
|
|
142
140
|
* @private
|
|
143
141
|
*/
|
|
144
|
-
function mapOptionDescriptors
|
|
142
|
+
function mapOptionDescriptors($options) {
|
|
145
143
|
return $options.map(function () {
|
|
146
144
|
var $option = $(this);
|
|
147
145
|
return {
|
|
@@ -151,7 +149,7 @@ function mapOptionDescriptors ($options) {
|
|
|
151
149
|
styleClass: $option.data('styleClass'),
|
|
152
150
|
title: $option.attr('title'),
|
|
153
151
|
disabled: $option.attr('disabled'),
|
|
154
|
-
selected: $option.prop('selected')
|
|
152
|
+
selected: $option.prop('selected'),
|
|
155
153
|
};
|
|
156
154
|
});
|
|
157
155
|
}
|
|
@@ -161,16 +159,15 @@ function mapOptionDescriptors ($options) {
|
|
|
161
159
|
* @returns {string}
|
|
162
160
|
* @private
|
|
163
161
|
*/
|
|
164
|
-
function getImplicitAllLabel
|
|
162
|
+
function getImplicitAllLabel(component) {
|
|
165
163
|
return $(component).data('allLabel') || 'All';
|
|
166
164
|
}
|
|
167
165
|
|
|
168
|
-
|
|
169
166
|
/**
|
|
170
167
|
* Renders dropdown with list of items representing the selected or unselect state of the <option>s in <select>
|
|
171
168
|
* @private
|
|
172
169
|
*/
|
|
173
|
-
function renderDropdown
|
|
170
|
+
function renderDropdown(component) {
|
|
174
171
|
component.$dropdown.html(templates.dropdown(getDescriptors(component)));
|
|
175
172
|
updateClearAll(component);
|
|
176
173
|
}
|
|
@@ -180,9 +177,11 @@ function renderDropdown (component) {
|
|
|
180
177
|
* is displayed.
|
|
181
178
|
* @private
|
|
182
179
|
*/
|
|
183
|
-
function renderButton
|
|
180
|
+
function renderButton(component) {
|
|
184
181
|
var selectedLabels = getSelectedLabels(component);
|
|
185
|
-
var label = isImplicitAll(component)
|
|
182
|
+
var label = isImplicitAll(component)
|
|
183
|
+
? getImplicitAllLabel(component)
|
|
184
|
+
: selectedLabels.join(', ');
|
|
186
185
|
component.$btn.text(label);
|
|
187
186
|
}
|
|
188
187
|
|
|
@@ -192,7 +191,7 @@ function renderButton (component) {
|
|
|
192
191
|
* @private
|
|
193
192
|
* @returns Array<Object>
|
|
194
193
|
*/
|
|
195
|
-
function getDescriptors
|
|
194
|
+
function getDescriptors(component) {
|
|
196
195
|
return mapOptionDescriptors(component.getOptions());
|
|
197
196
|
}
|
|
198
197
|
|
|
@@ -202,7 +201,7 @@ function getDescriptors (component) {
|
|
|
202
201
|
* @private
|
|
203
202
|
* @returns Array<Object>
|
|
204
203
|
*/
|
|
205
|
-
function getSelectedDescriptors
|
|
204
|
+
function getSelectedDescriptors(component) {
|
|
206
205
|
return mapOptionDescriptors(component.getSelectedOptions());
|
|
207
206
|
}
|
|
208
207
|
|
|
@@ -211,7 +210,7 @@ function getSelectedDescriptors (component) {
|
|
|
211
210
|
* @private
|
|
212
211
|
* @returns Array<String>
|
|
213
212
|
*/
|
|
214
|
-
function getSelectedLabels
|
|
213
|
+
function getSelectedLabels(component) {
|
|
215
214
|
return $.map(getSelectedDescriptors(component), function (descriptor) {
|
|
216
215
|
return descriptor.label;
|
|
217
216
|
});
|
|
@@ -221,7 +220,7 @@ function getSelectedLabels (component) {
|
|
|
221
220
|
* If nothing is selected, we take this to mean that everything is selected.
|
|
222
221
|
* @returns Boolean
|
|
223
222
|
*/
|
|
224
|
-
function isImplicitAll
|
|
223
|
+
function isImplicitAll(component) {
|
|
225
224
|
return getSelectedDescriptors(component).length === 0;
|
|
226
225
|
}
|
|
227
226
|
|
|
@@ -237,29 +236,30 @@ const CheckboxMultiselectEl = skate('aui-checkbox-multiselect', {
|
|
|
237
236
|
var name = component.getAttribute('name') || uid('aui-checkbox-multiselect-');
|
|
238
237
|
component.innerHTML = templates.furniture(name, component.innerHTML);
|
|
239
238
|
|
|
240
|
-
component.$select = $('select', component)
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
});
|
|
239
|
+
component.$select = $('select', component).on('change', function () {
|
|
240
|
+
renderButton(component);
|
|
241
|
+
updateClearAll(component);
|
|
242
|
+
});
|
|
245
243
|
|
|
246
244
|
component.$dropdown = $('.aui-checkbox-multiselect-dropdown', component)
|
|
247
245
|
.on('aui-dropdown2-item-check', handleDropdownSelection.bind(component))
|
|
248
246
|
.on('aui-dropdown2-item-uncheck', handleDropdownSelection.bind(component))
|
|
249
|
-
.on(
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
247
|
+
.on(
|
|
248
|
+
'click',
|
|
249
|
+
'button[data-aui-checkbox-multiselect-clear]',
|
|
250
|
+
component.deselectAllOptions.bind(component)
|
|
251
|
+
);
|
|
252
|
+
|
|
253
|
+
component.$btn = $('.aui-checkbox-multiselect-btn', component).tooltip({
|
|
254
|
+
title: function () {
|
|
255
|
+
return getButtonTitle(component);
|
|
256
|
+
},
|
|
257
|
+
});
|
|
257
258
|
|
|
258
259
|
renderButton(component);
|
|
259
260
|
renderDropdown(component);
|
|
260
261
|
},
|
|
261
262
|
prototype: {
|
|
262
|
-
|
|
263
263
|
/**
|
|
264
264
|
* Gets all options regardless of selected or unselected
|
|
265
265
|
* @returns {jQuery}
|
|
@@ -303,7 +303,9 @@ const CheckboxMultiselectEl = skate('aui-checkbox-multiselect', {
|
|
|
303
303
|
*/
|
|
304
304
|
deselectAllOptions: function () {
|
|
305
305
|
this.$select.val([]).trigger('change');
|
|
306
|
-
this.$dropdown
|
|
306
|
+
this.$dropdown
|
|
307
|
+
.find('.aui-dropdown2-checked,.checked')
|
|
308
|
+
.removeClass('aui-dropdown2-checked checked');
|
|
307
309
|
},
|
|
308
310
|
|
|
309
311
|
/**
|
|
@@ -311,13 +313,14 @@ const CheckboxMultiselectEl = skate('aui-checkbox-multiselect', {
|
|
|
311
313
|
* @param descriptor
|
|
312
314
|
*/
|
|
313
315
|
addOption: function (descriptor) {
|
|
314
|
-
$('<option />')
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
316
|
+
$('<option />')
|
|
317
|
+
.attr({
|
|
318
|
+
value: descriptor.value,
|
|
319
|
+
icon: descriptor.icon,
|
|
320
|
+
disabled: descriptor.disabled,
|
|
321
|
+
selected: descriptor.selected,
|
|
322
|
+
title: descriptor.title,
|
|
323
|
+
})
|
|
321
324
|
.text(descriptor.label)
|
|
322
325
|
.appendTo(this.$select);
|
|
323
326
|
renderButton(this);
|
|
@@ -332,8 +335,8 @@ const CheckboxMultiselectEl = skate('aui-checkbox-multiselect', {
|
|
|
332
335
|
this.$select.find("[value='" + value + "']").remove();
|
|
333
336
|
renderButton(this);
|
|
334
337
|
renderDropdown(this);
|
|
335
|
-
}
|
|
336
|
-
}
|
|
338
|
+
},
|
|
339
|
+
},
|
|
337
340
|
});
|
|
338
341
|
|
|
339
342
|
amdify('aui/checkbox-multiselect', CheckboxMultiselectEl);
|
package/src/js/aui/clone.js
CHANGED
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
import {I18n} from './i18n';
|
|
1
|
+
import { I18n } from './i18n';
|
|
2
2
|
|
|
3
3
|
const CLOSE_BUTTON_CLASS = 'aui-close-button';
|
|
4
4
|
const CLOSE_BUTTON_CLASS_SELECTOR = `.${CLOSE_BUTTON_CLASS}`;
|
|
5
5
|
const CLOSE_BUTTON = `<button type="button" class="${CLOSE_BUTTON_CLASS}" aria-label="${I18n.getText('aui.words.close')}">`;
|
|
6
6
|
|
|
7
|
-
export {
|
|
8
|
-
CLOSE_BUTTON,
|
|
9
|
-
CLOSE_BUTTON_CLASS,
|
|
10
|
-
CLOSE_BUTTON_CLASS_SELECTOR
|
|
11
|
-
};
|
|
7
|
+
export { CLOSE_BUTTON, CLOSE_BUTTON_CLASS, CLOSE_BUTTON_CLASS_SELECTOR };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import $ from './jquery';
|
|
2
2
|
import globalize from './internal/globalize';
|
|
3
3
|
|
|
4
|
-
function containDropdown
|
|
4
|
+
function containDropdown(dropdown, containerSelector, dynamic) {
|
|
5
5
|
function getDropdownOffset() {
|
|
6
6
|
return dropdown.$.offset().top - $(containerSelector).offset().top;
|
|
7
7
|
}
|
|
@@ -24,17 +24,17 @@ function containDropdown (dropdown, containerSelector, dynamic) {
|
|
|
24
24
|
}
|
|
25
25
|
dropdown.reset();
|
|
26
26
|
}
|
|
27
|
-
}
|
|
27
|
+
}
|
|
28
28
|
|
|
29
29
|
containDropdown.containHeight = function (dropdown, availableArea) {
|
|
30
30
|
dropdown.$.css({
|
|
31
|
-
height: availableArea
|
|
31
|
+
height: availableArea,
|
|
32
32
|
});
|
|
33
33
|
if (dropdown.$.css('overflowY') !== 'scroll') {
|
|
34
34
|
dropdown.$.css({
|
|
35
35
|
width: 15 + dropdown.$.attr('scrollWidth'),
|
|
36
36
|
overflowY: 'scroll',
|
|
37
|
-
overflowX: 'hidden'
|
|
37
|
+
overflowX: 'hidden',
|
|
38
38
|
});
|
|
39
39
|
}
|
|
40
40
|
};
|
|
@@ -44,7 +44,7 @@ containDropdown.releaseContainment = function (dropdown) {
|
|
|
44
44
|
height: '',
|
|
45
45
|
width: '',
|
|
46
46
|
overflowY: '',
|
|
47
|
-
overflowX: ''
|
|
47
|
+
overflowX: '',
|
|
48
48
|
});
|
|
49
49
|
};
|
|
50
50
|
|
package/src/js/aui/contains.js
CHANGED
package/src/js/aui/cookie.js
CHANGED
|
@@ -7,11 +7,11 @@ var CONSECUTIVE_PIPE_CHARS_REGEX = /\|\|+/g;
|
|
|
7
7
|
var ANY_QUOTE_REGEX = /"/g;
|
|
8
8
|
var REGEX_SPECIAL_CHARS = /[.*+?|^$()[\]{\\]/g;
|
|
9
9
|
|
|
10
|
-
function regexEscape
|
|
10
|
+
function regexEscape(str) {
|
|
11
11
|
return str.replace(REGEX_SPECIAL_CHARS, '\\$&');
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
function getValueFromConglomerate
|
|
14
|
+
function getValueFromConglomerate(name, cookieValue) {
|
|
15
15
|
// A null cookieValue is just the first time through so create it.
|
|
16
16
|
cookieValue = cookieValue || '';
|
|
17
17
|
var reg = new RegExp(regexEscape(name) + '=([^|]+)');
|
|
@@ -20,7 +20,7 @@ function getValueFromConglomerate (name, cookieValue) {
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
// Either append or replace the value in the cookie string/
|
|
23
|
-
function addOrAppendToValue
|
|
23
|
+
function addOrAppendToValue(name, value, cookieValue) {
|
|
24
24
|
// A cookie name follows after any amount of white space mixed with any amount of '|' characters.
|
|
25
25
|
// A cookie value is preceded by '=', then anything except for '|'.
|
|
26
26
|
var reg = new RegExp('(\\s|\\|)*\\b' + regexEscape(name) + '=[^|]*[|]*');
|
|
@@ -38,17 +38,17 @@ function addOrAppendToValue (name, value, cookieValue) {
|
|
|
38
38
|
return cookieValue.replace(CONSECUTIVE_PIPE_CHARS_REGEX, '|');
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
-
function unescapeCookieValue
|
|
41
|
+
function unescapeCookieValue(name) {
|
|
42
42
|
return name.replace(UNESCAPE_COOKIE_REGEX, '');
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
function getCookieValue
|
|
45
|
+
function getCookieValue(name) {
|
|
46
46
|
var reg = new RegExp('\\b' + regexEscape(name) + '=((?:[^\\\\;]+|\\\\.)*)(?:;|$)');
|
|
47
47
|
var res = document.cookie.match(reg);
|
|
48
48
|
return res && unescapeCookieValue(res[1]);
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
function saveCookie
|
|
51
|
+
function saveCookie(name, value, days) {
|
|
52
52
|
var ex = '';
|
|
53
53
|
var d;
|
|
54
54
|
var quotedValue = '"' + value.replace(ANY_QUOTE_REGEX, '\\"') + '"';
|
|
@@ -68,7 +68,7 @@ function saveCookie (name, value, days) {
|
|
|
68
68
|
* @param value {String} value of cookie
|
|
69
69
|
* @param expires {Number} number of days before cookie expires
|
|
70
70
|
*/
|
|
71
|
-
function save
|
|
71
|
+
function save(name, value, expires) {
|
|
72
72
|
var cookieValue = getCookieValue(COOKIE_NAME);
|
|
73
73
|
cookieValue = addOrAppendToValue(name, value, cookieValue);
|
|
74
74
|
saveCookie(COOKIE_NAME, cookieValue, expires || 365);
|
|
@@ -79,7 +79,7 @@ function save (name, value, expires) {
|
|
|
79
79
|
* @param name {String} name of cookie to read
|
|
80
80
|
* @param defaultValue {String} the default value of the cookie to return if not found
|
|
81
81
|
*/
|
|
82
|
-
function read
|
|
82
|
+
function read(name, defaultValue) {
|
|
83
83
|
var cookieValue = getCookieValue(COOKIE_NAME);
|
|
84
84
|
var value = getValueFromConglomerate(name, cookieValue);
|
|
85
85
|
if (value != null) {
|
|
@@ -92,14 +92,14 @@ function read (name, defaultValue) {
|
|
|
92
92
|
* Remove the given cookie.
|
|
93
93
|
* @param name {String} the name of the cookie to remove
|
|
94
94
|
*/
|
|
95
|
-
function erase
|
|
95
|
+
function erase(name) {
|
|
96
96
|
save(name, '');
|
|
97
97
|
}
|
|
98
98
|
|
|
99
99
|
var cookie = {
|
|
100
100
|
erase: erase,
|
|
101
101
|
read: read,
|
|
102
|
-
save: save
|
|
102
|
+
save: save,
|
|
103
103
|
};
|
|
104
104
|
|
|
105
105
|
globalize('cookie', cookie);
|
|
@@ -107,11 +107,7 @@ globalize('Cookie', cookie);
|
|
|
107
107
|
|
|
108
108
|
deprecate.prop(AJS, 'Cookie', {
|
|
109
109
|
alternativeName: 'cookie',
|
|
110
|
-
sinceVersion: '5.8.0'
|
|
110
|
+
sinceVersion: '5.8.0',
|
|
111
111
|
});
|
|
112
112
|
|
|
113
|
-
export {
|
|
114
|
-
erase,
|
|
115
|
-
read,
|
|
116
|
-
save
|
|
117
|
-
};
|
|
113
|
+
export { erase, read, save };
|