fomantic-ui 2.10.0-beta.8 → 2.10.0-beta.81
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/.eslintrc.js +6 -23
- package/.github/workflows/ci.yml +9 -9
- package/.github/workflows/depsreview.yml +1 -1
- package/.github/workflows/nightly.yml +7 -5
- package/.github/workflows/release.yml +2 -2
- package/.stylelintrc.js +1 -15
- package/CHANGELOG.md +5289 -2325
- package/README.md +8 -4
- package/changelog-setup.js +32 -10
- package/changelog-template.hbs +256 -251
- package/dist/components/accordion.css +1 -1
- package/dist/components/accordion.js +62 -73
- package/dist/components/accordion.min.css +1 -1
- package/dist/components/accordion.min.js +3 -3
- package/dist/components/ad.css +1 -1
- package/dist/components/ad.min.css +1 -1
- package/dist/components/api.js +101 -161
- package/dist/components/api.min.js +3 -3
- package/dist/components/breadcrumb.css +1 -1
- package/dist/components/breadcrumb.min.css +1 -1
- package/dist/components/button.css +5 -6
- package/dist/components/button.min.css +2 -2
- package/dist/components/calendar.css +3 -3
- package/dist/components/calendar.js +283 -332
- package/dist/components/calendar.min.css +2 -2
- package/dist/components/calendar.min.js +3 -3
- package/dist/components/card.css +1 -1
- package/dist/components/card.min.css +1 -1
- package/dist/components/checkbox.css +1 -1
- package/dist/components/checkbox.js +58 -79
- package/dist/components/checkbox.min.css +1 -1
- package/dist/components/checkbox.min.js +3 -3
- package/dist/components/comment.css +1 -1
- package/dist/components/comment.min.css +1 -1
- package/dist/components/container.css +1 -1
- package/dist/components/container.min.css +1 -1
- package/dist/components/dimmer.css +2 -2
- package/dist/components/dimmer.js +39 -52
- package/dist/components/dimmer.min.css +2 -2
- package/dist/components/dimmer.min.js +3 -3
- package/dist/components/divider.css +1 -1
- package/dist/components/divider.min.css +1 -1
- package/dist/components/dropdown.css +21 -35
- package/dist/components/dropdown.js +435 -531
- package/dist/components/dropdown.min.css +2 -2
- package/dist/components/dropdown.min.js +3 -3
- package/dist/components/embed.css +1 -1
- package/dist/components/embed.js +55 -68
- package/dist/components/embed.min.css +1 -1
- package/dist/components/embed.min.js +3 -3
- package/dist/components/emoji.css +3809 -7617
- package/dist/components/emoji.min.css +2 -2
- package/dist/components/feed.css +1 -1
- package/dist/components/feed.min.css +1 -1
- package/dist/components/flag.css +1 -1
- package/dist/components/flag.min.css +1 -1
- package/dist/components/flyout.css +1 -1
- package/dist/components/flyout.js +149 -168
- package/dist/components/flyout.min.css +1 -1
- package/dist/components/flyout.min.js +3 -3
- package/dist/components/form.css +3 -5
- package/dist/components/form.js +249 -269
- package/dist/components/form.min.css +2 -2
- package/dist/components/form.min.js +3 -3
- package/dist/components/grid.css +2 -2
- package/dist/components/grid.min.css +2 -2
- package/dist/components/header.css +6 -6
- package/dist/components/header.min.css +2 -2
- package/dist/components/icon.css +10 -37
- package/dist/components/icon.min.css +2 -2
- package/dist/components/image.css +1 -1
- package/dist/components/image.min.css +1 -1
- package/dist/components/input.css +284 -12
- package/dist/components/input.min.css +2 -2
- package/dist/components/item.css +1 -1
- package/dist/components/item.min.css +1 -1
- package/dist/components/label.css +6 -14
- package/dist/components/label.min.css +2 -2
- package/dist/components/list.css +3 -3
- package/dist/components/list.min.css +2 -2
- package/dist/components/loader.css +53 -53
- package/dist/components/loader.min.css +2 -2
- package/dist/components/menu.css +45 -60
- package/dist/components/menu.min.css +2 -2
- package/dist/components/message.css +2 -2
- package/dist/components/message.min.css +2 -2
- package/dist/components/modal.css +5 -5
- package/dist/components/modal.js +161 -170
- package/dist/components/modal.min.css +2 -2
- package/dist/components/modal.min.js +3 -3
- package/dist/components/nag.css +1 -1
- package/dist/components/nag.js +74 -88
- package/dist/components/nag.min.css +1 -1
- package/dist/components/nag.min.js +3 -3
- package/dist/components/placeholder.css +2 -2
- package/dist/components/placeholder.min.css +2 -2
- package/dist/components/popup.css +19 -73
- package/dist/components/popup.js +105 -138
- package/dist/components/popup.min.css +2 -2
- package/dist/components/popup.min.js +3 -3
- package/dist/components/progress.css +4 -13
- package/dist/components/progress.js +75 -97
- package/dist/components/progress.min.css +2 -2
- package/dist/components/progress.min.js +3 -3
- package/dist/components/rail.css +1 -1
- package/dist/components/rail.min.css +1 -1
- package/dist/components/rating.css +1 -1
- package/dist/components/rating.js +49 -61
- package/dist/components/rating.min.css +1 -1
- package/dist/components/rating.min.js +3 -3
- package/dist/components/reset.css +48 -208
- package/dist/components/reset.min.css +2 -2
- package/dist/components/reveal.css +2 -5
- package/dist/components/reveal.min.css +2 -2
- package/dist/components/search.css +2 -3
- package/dist/components/search.js +178 -198
- package/dist/components/search.min.css +2 -2
- package/dist/components/search.min.js +3 -3
- package/dist/components/segment.css +6 -6
- package/dist/components/segment.min.css +2 -2
- package/dist/components/shape.css +1 -1
- package/dist/components/shape.js +59 -69
- package/dist/components/shape.min.css +1 -1
- package/dist/components/shape.min.js +3 -3
- package/dist/components/sidebar.css +1 -1
- package/dist/components/sidebar.js +81 -101
- package/dist/components/sidebar.min.css +1 -1
- package/dist/components/sidebar.min.js +3 -3
- package/dist/components/site.css +1 -1
- package/dist/components/site.js +37 -58
- package/dist/components/site.min.css +1 -1
- package/dist/components/site.min.js +3 -3
- package/dist/components/slider.css +1 -1
- package/dist/components/slider.js +169 -183
- package/dist/components/slider.min.css +1 -1
- package/dist/components/slider.min.js +3 -3
- package/dist/components/state.js +45 -59
- package/dist/components/state.min.js +3 -3
- package/dist/components/statistic.css +1 -1
- package/dist/components/statistic.min.css +1 -1
- package/dist/components/step.css +4 -4
- package/dist/components/step.min.css +2 -2
- package/dist/components/sticky.css +1 -1
- package/dist/components/sticky.js +95 -117
- package/dist/components/sticky.min.css +1 -1
- package/dist/components/sticky.min.js +3 -3
- package/dist/components/tab.css +1 -1
- package/dist/components/tab.js +83 -115
- package/dist/components/tab.min.css +1 -1
- package/dist/components/tab.min.js +3 -3
- package/dist/components/table.css +8 -8
- package/dist/components/table.min.css +2 -2
- package/dist/components/text.css +1 -1
- package/dist/components/text.min.css +1 -1
- package/dist/components/toast.css +1 -1
- package/dist/components/toast.js +64 -74
- package/dist/components/toast.min.css +1 -1
- package/dist/components/toast.min.js +3 -3
- package/dist/components/transition.css +1 -1
- package/dist/components/transition.js +61 -85
- package/dist/components/transition.min.css +1 -1
- package/dist/components/transition.min.js +3 -3
- package/dist/components/visibility.js +120 -140
- package/dist/components/visibility.min.js +3 -3
- package/dist/semantic.css +4480 -8222
- package/dist/semantic.js +2886 -3485
- package/dist/semantic.min.css +3 -3
- package/dist/semantic.min.js +3 -3
- package/examples/attached.html +1 -1
- package/examples/components/menu.html +1 -1
- package/package.json +8 -5
- package/scripts/nightly-version.js +4 -4
- package/src/definitions/behaviors/api.js +100 -160
- package/src/definitions/behaviors/form.js +248 -268
- package/src/definitions/behaviors/state.js +44 -58
- package/src/definitions/behaviors/visibility.js +119 -139
- package/src/definitions/collections/breadcrumb.less +0 -1
- package/src/definitions/collections/form.less +3 -9
- package/src/definitions/collections/grid.less +1 -2
- package/src/definitions/collections/menu.less +106 -117
- package/src/definitions/collections/message.less +1 -2
- package/src/definitions/collections/table.less +7 -8
- package/src/definitions/elements/button.less +4 -6
- package/src/definitions/elements/container.less +0 -1
- package/src/definitions/elements/divider.less +1 -2
- package/src/definitions/elements/emoji.less +1 -1
- package/src/definitions/elements/flag.less +1 -1
- package/src/definitions/elements/header.less +4 -5
- package/src/definitions/elements/icon.less +10 -37
- package/src/definitions/elements/image.less +0 -1
- package/src/definitions/elements/input.less +4 -7
- package/src/definitions/elements/label.less +5 -14
- package/src/definitions/elements/list.less +2 -3
- package/src/definitions/elements/loader.less +10 -11
- package/src/definitions/elements/placeholder.less +1 -2
- package/src/definitions/elements/rail.less +0 -1
- package/src/definitions/elements/reveal.less +1 -5
- package/src/definitions/elements/segment.less +5 -6
- package/src/definitions/elements/step.less +3 -4
- package/src/definitions/elements/text.less +0 -1
- package/src/definitions/globals/reset.less +0 -1
- package/src/definitions/globals/site.js +36 -57
- package/src/definitions/globals/site.less +0 -1
- package/src/definitions/modules/accordion.js +61 -72
- package/src/definitions/modules/accordion.less +0 -1
- package/src/definitions/modules/calendar.js +282 -331
- package/src/definitions/modules/calendar.less +2 -3
- package/src/definitions/modules/checkbox.js +57 -78
- package/src/definitions/modules/checkbox.less +0 -1
- package/src/definitions/modules/dimmer.js +38 -51
- package/src/definitions/modules/dimmer.less +1 -2
- package/src/definitions/modules/dropdown.js +434 -530
- package/src/definitions/modules/dropdown.less +27 -38
- package/src/definitions/modules/embed.js +54 -67
- package/src/definitions/modules/embed.less +0 -1
- package/src/definitions/modules/flyout.js +148 -167
- package/src/definitions/modules/flyout.less +0 -1
- package/src/definitions/modules/modal.js +160 -169
- package/src/definitions/modules/modal.less +3 -4
- package/src/definitions/modules/nag.js +73 -87
- package/src/definitions/modules/nag.less +0 -1
- package/src/definitions/modules/popup.js +104 -137
- package/src/definitions/modules/popup.less +18 -73
- package/src/definitions/modules/progress.js +74 -96
- package/src/definitions/modules/progress.less +3 -13
- package/src/definitions/modules/rating.js +48 -60
- package/src/definitions/modules/rating.less +0 -1
- package/src/definitions/modules/search.js +177 -197
- package/src/definitions/modules/search.less +2 -4
- package/src/definitions/modules/shape.js +58 -68
- package/src/definitions/modules/shape.less +0 -1
- package/src/definitions/modules/sidebar.js +80 -100
- package/src/definitions/modules/sidebar.less +0 -1
- package/src/definitions/modules/slider.js +168 -182
- package/src/definitions/modules/slider.less +0 -1
- package/src/definitions/modules/sticky.js +94 -116
- package/src/definitions/modules/sticky.less +0 -1
- package/src/definitions/modules/tab.js +82 -114
- package/src/definitions/modules/tab.less +0 -1
- package/src/definitions/modules/toast.js +63 -73
- package/src/definitions/modules/toast.less +0 -1
- package/src/definitions/modules/transition.js +60 -84
- package/src/definitions/modules/transition.less +1 -2
- package/src/definitions/views/ad.less +0 -1
- package/src/definitions/views/card.less +0 -1
- package/src/definitions/views/comment.less +0 -1
- package/src/definitions/views/feed.less +0 -1
- package/src/definitions/views/item.less +0 -1
- package/src/definitions/views/statistic.less +0 -1
- package/src/semantic.less +1 -1
- package/src/themes/amazon/elements/button.overrides +1 -1
- package/src/themes/amazon/elements/button.variables +5 -6
- package/src/themes/amazon/globals/site.variables +2 -3
- package/src/themes/bookish/elements/header.variables +2 -2
- package/src/themes/bootstrap3/elements/button.variables +4 -5
- package/src/themes/chubby/collections/menu.variables +1 -1
- package/src/themes/chubby/elements/button.overrides +4 -4
- package/src/themes/chubby/modules/accordion.overrides +1 -1
- package/src/themes/chubby/views/comment.overrides +2 -2
- package/src/themes/chubby/views/comment.variables +2 -2
- package/src/themes/classic/collections/table.variables +2 -2
- package/src/themes/classic/elements/button.variables +11 -11
- package/src/themes/classic/modules/progress.variables +2 -2
- package/src/themes/classic/views/card.variables +2 -2
- package/src/themes/default/collections/form.variables +2 -3
- package/src/themes/default/collections/menu.variables +28 -28
- package/src/themes/default/collections/message.variables +1 -1
- package/src/themes/default/collections/table.variables +4 -4
- package/src/themes/default/elements/button.variables +9 -10
- package/src/themes/default/elements/divider.variables +1 -1
- package/src/themes/default/elements/icon.variables +2 -2
- package/src/themes/default/elements/image.variables +1 -1
- package/src/themes/default/elements/input.variables +2 -2
- package/src/themes/default/elements/label.variables +4 -4
- package/src/themes/default/elements/list.variables +1 -1
- package/src/themes/default/elements/placeholder.variables +6 -6
- package/src/themes/default/elements/segment.variables +8 -8
- package/src/themes/default/globals/reset.overrides +45 -201
- package/src/themes/default/globals/site.variables +50 -50
- package/src/themes/default/globals/variation.variables +3 -2
- package/src/themes/default/modules/accordion.variables +0 -1
- package/src/themes/default/modules/checkbox.variables +1 -1
- package/src/themes/default/modules/dimmer.variables +12 -12
- package/src/themes/default/modules/dropdown.variables +17 -16
- package/src/themes/default/modules/embed.variables +2 -2
- package/src/themes/default/modules/flyout.variables +3 -3
- package/src/themes/default/modules/modal.variables +14 -14
- package/src/themes/default/modules/nag.variables +1 -1
- package/src/themes/default/modules/rating.variables +1 -1
- package/src/themes/default/modules/search.variables +1 -1
- package/src/themes/default/modules/shape.variables +1 -1
- package/src/themes/default/modules/sidebar.variables +2 -2
- package/src/themes/default/modules/toast.variables +4 -4
- package/src/themes/default/views/card.variables +6 -7
- package/src/themes/default/views/feed.variables +4 -4
- package/src/themes/default/views/item.variables +2 -3
- package/src/themes/flat/collections/form.variables +1 -1
- package/src/themes/flat/globals/site.variables +9 -9
- package/src/themes/github/collections/form.overrides +3 -3
- package/src/themes/github/collections/form.variables +3 -3
- package/src/themes/github/collections/menu.overrides +1 -1
- package/src/themes/github/collections/menu.variables +10 -10
- package/src/themes/github/collections/message.variables +6 -6
- package/src/themes/github/elements/button.variables +17 -17
- package/src/themes/github/elements/input.variables +3 -3
- package/src/themes/github/elements/segment.variables +2 -2
- package/src/themes/github/elements/step.overrides +4 -4
- package/src/themes/github/elements/step.variables +3 -3
- package/src/themes/github/globals/site.variables +2 -2
- package/src/themes/github/modules/dropdown.variables +1 -3
- package/src/themes/gmail/collections/message.variables +2 -2
- package/src/themes/material/collections/menu.variables +1 -1
- package/src/themes/material/elements/button.overrides +4 -4
- package/src/themes/material/elements/button.variables +5 -5
- package/src/themes/material/modules/dropdown.variables +1 -1
- package/src/themes/material/modules/modal.variables +1 -1
- package/src/themes/raised/elements/button.variables +1 -1
- package/src/themes/round/elements/button.variables +12 -12
- package/src/themes/striped/modules/progress.overrides +3 -3
- package/src/themes/timeline/views/feed.variables +2 -2
- package/src/themes/twitter/elements/button.overrides +1 -1
- package/src/themes/twitter/elements/button.variables +4 -5
- package/tasks/admin/components/create.js +12 -15
- package/tasks/admin/components/init.js +11 -12
- package/tasks/admin/components/update.js +19 -20
- package/tasks/admin/distributions/create.js +30 -51
- package/tasks/admin/distributions/init.js +11 -12
- package/tasks/admin/distributions/update.js +18 -19
- package/tasks/admin/register.js +7 -7
- package/tasks/build/assets.js +1 -1
- package/tasks/build/css.js +5 -5
- package/tasks/build/javascript.js +1 -1
- package/tasks/config/admin/github.js +1 -1
- package/tasks/config/admin/templates/css-package.js +1 -1
- package/tasks/config/admin/templates/less-package.js +1 -1
- package/tasks/config/project/config.js +10 -10
- package/tasks/config/project/install.js +12 -12
- package/tasks/config/project/release.js +6 -12
- package/tasks/config/tasks.js +15 -11
- package/tasks/config/user.js +1 -4
- package/tasks/docs/metadata.js +18 -20
- package/tasks/install.js +14 -12
- package/test/meteor/assets.js +4 -4
- package/test/meteor/fonts.js +10 -11
- package/test/modules/module.spec.js +18 -18
|
@@ -23,21 +23,21 @@
|
|
|
23
23
|
? window
|
|
24
24
|
: globalThis;
|
|
25
25
|
|
|
26
|
-
$.fn.tab = function (
|
|
26
|
+
$.fn.tab = function (...args) {
|
|
27
27
|
// use window context if none specified
|
|
28
|
-
|
|
28
|
+
const $allModules = isFunction(this)
|
|
29
29
|
? $(window)
|
|
30
30
|
: $(this);
|
|
31
|
-
|
|
31
|
+
const $document = $(document);
|
|
32
32
|
let time = Date.now();
|
|
33
33
|
let performance = [];
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
const parameters = args[0];
|
|
36
|
+
const methodInvoked = typeof parameters === 'string';
|
|
37
|
+
const queryArguments = args.slice(1);
|
|
38
|
+
const contextCheck = function (context, win) {
|
|
39
39
|
let $context;
|
|
40
|
-
if ([window, document].
|
|
40
|
+
if ([window, document].includes(context)) {
|
|
41
41
|
$context = $(context);
|
|
42
42
|
} else {
|
|
43
43
|
$context = $(win.document).find(context);
|
|
@@ -52,36 +52,34 @@
|
|
|
52
52
|
let returnedValue;
|
|
53
53
|
|
|
54
54
|
$allModules.each(function () {
|
|
55
|
-
|
|
55
|
+
const settings = $.isPlainObject(parameters)
|
|
56
56
|
? $.extend(true, {}, $.fn.tab.settings, parameters)
|
|
57
57
|
: $.extend({}, $.fn.tab.settings);
|
|
58
58
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
let regExp = settings.regExp;
|
|
59
|
+
const className = settings.className;
|
|
60
|
+
const metadata = settings.metadata;
|
|
61
|
+
const selector = settings.selector;
|
|
62
|
+
const error = settings.error;
|
|
64
63
|
|
|
65
|
-
|
|
66
|
-
|
|
64
|
+
const eventNamespace = '.' + settings.namespace;
|
|
65
|
+
const moduleNamespace = 'module-' + settings.namespace;
|
|
67
66
|
|
|
68
|
-
|
|
67
|
+
const $module = $(this);
|
|
69
68
|
let $context;
|
|
70
69
|
let $tabs;
|
|
71
70
|
|
|
72
|
-
|
|
71
|
+
const cache = {};
|
|
73
72
|
let firstLoad = true;
|
|
74
73
|
let recursionDepth = 0;
|
|
75
|
-
|
|
74
|
+
const element = this;
|
|
76
75
|
let instance = $module.data(moduleNamespace);
|
|
77
76
|
|
|
78
77
|
let activeTabPath;
|
|
79
78
|
let parameterArray;
|
|
80
|
-
let module;
|
|
81
79
|
|
|
82
80
|
let historyEvent;
|
|
83
81
|
|
|
84
|
-
module = {
|
|
82
|
+
const module = {
|
|
85
83
|
|
|
86
84
|
initialize: function () {
|
|
87
85
|
module.debug('Initializing tab menu item', $module);
|
|
@@ -106,7 +104,7 @@
|
|
|
106
104
|
module.changeTab(activeTab);
|
|
107
105
|
}
|
|
108
106
|
if (activeTab !== null && settings.history && settings.historyType === 'state') {
|
|
109
|
-
|
|
107
|
+
const autoUpdate = $.address.autoUpdate();
|
|
110
108
|
$.address.autoUpdate(false);
|
|
111
109
|
$.address.value(activeTab);
|
|
112
110
|
$.address.autoUpdate(autoUpdate);
|
|
@@ -197,7 +195,7 @@
|
|
|
197
195
|
|
|
198
196
|
event: {
|
|
199
197
|
click: function (event) {
|
|
200
|
-
|
|
198
|
+
const tabPath = $(this).data(metadata.tab);
|
|
201
199
|
if (tabPath !== undefined) {
|
|
202
200
|
if (settings.history) {
|
|
203
201
|
module.verbose('Updating page state', event);
|
|
@@ -213,8 +211,8 @@
|
|
|
213
211
|
},
|
|
214
212
|
history: {
|
|
215
213
|
change: function (event) {
|
|
216
|
-
|
|
217
|
-
|
|
214
|
+
const tabPath = event.pathNames.join('/') || module.get.initialPath();
|
|
215
|
+
const pageTitle = settings.templates.determineTitle(tabPath) || false;
|
|
218
216
|
module.performance.display();
|
|
219
217
|
module.debug('History change event', tabPath, event);
|
|
220
218
|
historyEvent = event;
|
|
@@ -242,13 +240,11 @@
|
|
|
242
240
|
? cache[cacheKey]
|
|
243
241
|
: false;
|
|
244
242
|
},
|
|
245
|
-
add: function (cacheKey, content) {
|
|
246
|
-
cacheKey = cacheKey || activeTabPath;
|
|
243
|
+
add: function (cacheKey = activeTabPath, content = '') {
|
|
247
244
|
module.debug('Adding cached content for', cacheKey);
|
|
248
245
|
cache[cacheKey] = content;
|
|
249
246
|
},
|
|
250
|
-
remove: function (cacheKey) {
|
|
251
|
-
cacheKey = cacheKey || activeTabPath;
|
|
247
|
+
remove: function (cacheKey = activeTabPath) {
|
|
252
248
|
module.debug('Removing cached content for', cacheKey);
|
|
253
249
|
delete cache[cacheKey];
|
|
254
250
|
},
|
|
@@ -256,7 +252,7 @@
|
|
|
256
252
|
|
|
257
253
|
set: {
|
|
258
254
|
auto: function () {
|
|
259
|
-
|
|
255
|
+
const url = typeof settings.path === 'string'
|
|
260
256
|
? settings.path.replace(/\/$/, '') + '/{$tab}'
|
|
261
257
|
: '/{$tab}';
|
|
262
258
|
module.verbose('Setting up automatic tab retrieval from server', url);
|
|
@@ -269,8 +265,8 @@
|
|
|
269
265
|
}
|
|
270
266
|
},
|
|
271
267
|
loading: function (tabPath) {
|
|
272
|
-
|
|
273
|
-
|
|
268
|
+
const $tab = module.get.tabElement(tabPath);
|
|
269
|
+
const isLoading = $tab.hasClass(className.loading);
|
|
274
270
|
if (!isLoading) {
|
|
275
271
|
module.verbose('Setting loading state for', $tab);
|
|
276
272
|
$tab
|
|
@@ -288,20 +284,20 @@
|
|
|
288
284
|
},
|
|
289
285
|
|
|
290
286
|
changeTab: function (tabPath) {
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
287
|
+
const pushStateAvailable = window.history && window.history.pushState;
|
|
288
|
+
const shouldIgnoreLoad = pushStateAvailable && settings.ignoreFirstLoad && firstLoad;
|
|
289
|
+
const remoteContent = settings.auto || $.isPlainObject(settings.apiSettings);
|
|
294
290
|
// only add the default path if not remote content
|
|
295
|
-
|
|
291
|
+
const pathArray = remoteContent && !shouldIgnoreLoad
|
|
296
292
|
? module.utilities.pathToArray(tabPath)
|
|
297
293
|
: module.get.defaultPathArray(tabPath);
|
|
298
294
|
tabPath = module.utilities.arrayToPath(pathArray);
|
|
299
295
|
$.each(pathArray, function (index, tab) {
|
|
300
|
-
|
|
296
|
+
const currentPathArray = pathArray.slice(0, index + 1);
|
|
301
297
|
let currentPath = module.utilities.arrayToPath(currentPathArray);
|
|
302
298
|
|
|
303
|
-
|
|
304
|
-
|
|
299
|
+
const isTab = module.is.tab(currentPath);
|
|
300
|
+
const isLastIndex = index + 1 === pathArray.length;
|
|
305
301
|
|
|
306
302
|
let $tab = module.get.tabElement(currentPath);
|
|
307
303
|
let $anchor;
|
|
@@ -391,7 +387,7 @@
|
|
|
391
387
|
},
|
|
392
388
|
|
|
393
389
|
scrollTo: function ($element) {
|
|
394
|
-
|
|
390
|
+
const scrollOffset = $element && $element.length > 0
|
|
395
391
|
? $element.offset().top
|
|
396
392
|
: false;
|
|
397
393
|
if (scrollOffset !== false) {
|
|
@@ -401,33 +397,28 @@
|
|
|
401
397
|
},
|
|
402
398
|
|
|
403
399
|
update: {
|
|
404
|
-
content: function (tabPath, html, evaluateScripts) {
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
evaluateScripts = evaluateScripts !== undefined
|
|
408
|
-
? evaluateScripts
|
|
409
|
-
: settings.evaluateScripts;
|
|
400
|
+
content: function (tabPath, html, evaluateScripts = settings.evaluateScripts) {
|
|
401
|
+
const $tab = module.get.tabElement(tabPath);
|
|
402
|
+
const tab = $tab[0];
|
|
410
403
|
if (typeof settings.cacheType === 'string' && settings.cacheType.toLowerCase() === 'dom' && typeof html !== 'string') {
|
|
411
404
|
$tab
|
|
412
405
|
.empty()
|
|
413
406
|
.append($(html).clone(true));
|
|
407
|
+
} else if (evaluateScripts) {
|
|
408
|
+
module.debug('Updating HTML and evaluating inline scripts', tabPath, html);
|
|
409
|
+
$tab.html(html);
|
|
414
410
|
} else {
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
$tab.html(html);
|
|
418
|
-
} else {
|
|
419
|
-
module.debug('Updating HTML', tabPath, html);
|
|
420
|
-
tab.innerHTML = html;
|
|
421
|
-
}
|
|
411
|
+
module.debug('Updating HTML', tabPath, html);
|
|
412
|
+
tab.innerHTML = html;
|
|
422
413
|
}
|
|
423
414
|
},
|
|
424
415
|
},
|
|
425
416
|
|
|
426
417
|
fetch: {
|
|
427
418
|
|
|
428
|
-
content: function (tabPath, fullTabPath) {
|
|
429
|
-
|
|
430
|
-
|
|
419
|
+
content: function (tabPath, fullTabPath = tabPath) {
|
|
420
|
+
const $tab = module.get.tabElement(tabPath);
|
|
421
|
+
const apiSettings = {
|
|
431
422
|
dataType: 'html',
|
|
432
423
|
encodeParameters: false,
|
|
433
424
|
on: 'now',
|
|
@@ -462,13 +453,11 @@
|
|
|
462
453
|
tab: fullTabPath,
|
|
463
454
|
},
|
|
464
455
|
};
|
|
465
|
-
|
|
466
|
-
|
|
456
|
+
const request = $tab.api('get request') || false;
|
|
457
|
+
const existingRequest = request && request.state() === 'pending';
|
|
467
458
|
let requestSettings;
|
|
468
|
-
let cachedContent;
|
|
469
459
|
|
|
470
|
-
|
|
471
|
-
cachedContent = module.cache.read(fullTabPath);
|
|
460
|
+
const cachedContent = module.cache.read(fullTabPath);
|
|
472
461
|
|
|
473
462
|
if (settings.cache && cachedContent) {
|
|
474
463
|
module.activate.tab(tabPath);
|
|
@@ -501,11 +490,11 @@
|
|
|
501
490
|
module.activate.navigation(tabPath);
|
|
502
491
|
},
|
|
503
492
|
tab: function (tabPath) {
|
|
504
|
-
|
|
505
|
-
|
|
493
|
+
const $tab = module.get.tabElement(tabPath);
|
|
494
|
+
const $deactiveTabs = settings.deactivate === 'siblings'
|
|
506
495
|
? $tab.siblings($tabs)
|
|
507
496
|
: $tabs.not($tab);
|
|
508
|
-
|
|
497
|
+
const isActive = $tab.hasClass(className.active);
|
|
509
498
|
module.verbose('Showing tab content for', $tab);
|
|
510
499
|
if (!isActive) {
|
|
511
500
|
$tab
|
|
@@ -518,11 +507,11 @@
|
|
|
518
507
|
}
|
|
519
508
|
},
|
|
520
509
|
navigation: function (tabPath) {
|
|
521
|
-
|
|
522
|
-
|
|
510
|
+
const $navigation = module.get.navElement(tabPath);
|
|
511
|
+
const $deactiveNavigation = settings.deactivate === 'siblings'
|
|
523
512
|
? $navigation.siblings($allModules)
|
|
524
513
|
: $allModules.not($navigation);
|
|
525
|
-
|
|
514
|
+
const isActive = $navigation.hasClass(className.active);
|
|
526
515
|
module.verbose('Activating tab navigation for', $navigation, tabPath);
|
|
527
516
|
if (!isActive) {
|
|
528
517
|
$navigation
|
|
@@ -568,8 +557,8 @@
|
|
|
568
557
|
return module.utilities.pathToArray(module.get.defaultPath(tabPath));
|
|
569
558
|
},
|
|
570
559
|
defaultPath: function (tabPath) {
|
|
571
|
-
|
|
572
|
-
|
|
560
|
+
const $defaultNav = $allModules.filter('[data-' + metadata.tab + '^="' + CSS.escape(tabPath) + '/"]').eq(0);
|
|
561
|
+
const defaultTab = $defaultNav.data(metadata.tab) || false;
|
|
573
562
|
if (defaultTab) {
|
|
574
563
|
module.debug('Found default tab', defaultTab);
|
|
575
564
|
if (recursionDepth < settings.maxDepth) {
|
|
@@ -585,21 +574,14 @@
|
|
|
585
574
|
|
|
586
575
|
return tabPath;
|
|
587
576
|
},
|
|
588
|
-
navElement: function (tabPath) {
|
|
589
|
-
tabPath = tabPath || activeTabPath;
|
|
590
|
-
|
|
577
|
+
navElement: function (tabPath = activeTabPath) {
|
|
591
578
|
return $allModules.filter('[data-' + metadata.tab + '="' + CSS.escape(tabPath) + '"]');
|
|
592
579
|
},
|
|
593
|
-
tabElement: function (tabPath) {
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
tabPath = tabPath || activeTabPath;
|
|
599
|
-
tabPathArray = module.utilities.pathToArray(tabPath);
|
|
600
|
-
lastTab = module.utilities.last(tabPathArray);
|
|
601
|
-
$fullPathTab = $tabs.filter('[data-' + metadata.tab + '="' + CSS.escape(tabPath) + '"]');
|
|
602
|
-
$simplePathTab = $tabs.filter('[data-' + metadata.tab + '="' + CSS.escape(lastTab) + '"]');
|
|
580
|
+
tabElement: function (tabPath = activeTabPath) {
|
|
581
|
+
const tabPathArray = module.utilities.pathToArray(tabPath);
|
|
582
|
+
const lastTab = module.utilities.last(tabPathArray);
|
|
583
|
+
const $fullPathTab = $tabs.filter('[data-' + metadata.tab + '="' + CSS.escape(tabPath) + '"]');
|
|
584
|
+
const $simplePathTab = $tabs.filter('[data-' + metadata.tab + '="' + CSS.escape(lastTab) + '"]');
|
|
603
585
|
|
|
604
586
|
return $fullPathTab.length > 0
|
|
605
587
|
? $fullPathTab
|
|
@@ -615,11 +597,11 @@
|
|
|
615
597
|
let activeTab = null;
|
|
616
598
|
|
|
617
599
|
$tabs.each(function (_index, tab) {
|
|
618
|
-
|
|
600
|
+
const $tab = $(tab);
|
|
619
601
|
|
|
620
602
|
if ($tab.hasClass(className.active)) {
|
|
621
|
-
|
|
622
|
-
|
|
603
|
+
const tabPath = $(this).data(metadata.tab);
|
|
604
|
+
const $anchor = $allModules.filter('[data-' + metadata.tab + '="' + CSS.escape(tabPath) + '"]');
|
|
623
605
|
|
|
624
606
|
if ($anchor.hasClass(className.active)) {
|
|
625
607
|
activeTab = tabPath;
|
|
@@ -634,7 +616,7 @@
|
|
|
634
616
|
utilities: {
|
|
635
617
|
filterArray: function (keepArray, removeArray) {
|
|
636
618
|
return $.grep(keepArray, function (keepValue) {
|
|
637
|
-
return
|
|
619
|
+
return !removeArray.includes(keepValue);
|
|
638
620
|
});
|
|
639
621
|
},
|
|
640
622
|
last: function (array) {
|
|
@@ -681,30 +663,30 @@
|
|
|
681
663
|
return module[name];
|
|
682
664
|
}
|
|
683
665
|
},
|
|
684
|
-
debug: function () {
|
|
666
|
+
debug: function (...args) {
|
|
685
667
|
if (!settings.silent && settings.debug) {
|
|
686
668
|
if (settings.performance) {
|
|
687
|
-
module.performance.log(
|
|
669
|
+
module.performance.log(args);
|
|
688
670
|
} else {
|
|
689
671
|
module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');
|
|
690
|
-
module.debug.apply(console,
|
|
672
|
+
module.debug.apply(console, args);
|
|
691
673
|
}
|
|
692
674
|
}
|
|
693
675
|
},
|
|
694
|
-
verbose: function () {
|
|
676
|
+
verbose: function (...args) {
|
|
695
677
|
if (!settings.silent && settings.verbose && settings.debug) {
|
|
696
678
|
if (settings.performance) {
|
|
697
|
-
module.performance.log(
|
|
679
|
+
module.performance.log(args);
|
|
698
680
|
} else {
|
|
699
681
|
module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');
|
|
700
|
-
module.verbose.apply(console,
|
|
682
|
+
module.verbose.apply(console, args);
|
|
701
683
|
}
|
|
702
684
|
}
|
|
703
685
|
},
|
|
704
|
-
error: function () {
|
|
686
|
+
error: function (...args) {
|
|
705
687
|
if (!settings.silent) {
|
|
706
688
|
module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');
|
|
707
|
-
module.error.apply(console,
|
|
689
|
+
module.error.apply(console, args);
|
|
708
690
|
}
|
|
709
691
|
},
|
|
710
692
|
performance: {
|
|
@@ -719,7 +701,7 @@
|
|
|
719
701
|
time = currentTime;
|
|
720
702
|
performance.push({
|
|
721
703
|
Name: message[0],
|
|
722
|
-
Arguments:
|
|
704
|
+
Arguments: message.slice(1),
|
|
723
705
|
Element: element,
|
|
724
706
|
'Execution Time': executionTime,
|
|
725
707
|
});
|
|
@@ -740,30 +722,22 @@
|
|
|
740
722
|
title += ' ' + totalTime + 'ms';
|
|
741
723
|
if (performance.length > 0) {
|
|
742
724
|
console.groupCollapsed(title);
|
|
743
|
-
|
|
744
|
-
console.table(performance);
|
|
745
|
-
} else {
|
|
746
|
-
$.each(performance, function (index, data) {
|
|
747
|
-
console.log(data.Name + ': ' + data['Execution Time'] + 'ms');
|
|
748
|
-
});
|
|
749
|
-
}
|
|
725
|
+
console.table(performance);
|
|
750
726
|
console.groupEnd();
|
|
751
727
|
}
|
|
752
728
|
performance = [];
|
|
753
729
|
},
|
|
754
730
|
},
|
|
755
|
-
invoke: function (query, passedArguments, context) {
|
|
731
|
+
invoke: function (query, passedArguments = queryArguments, context = element) {
|
|
756
732
|
let object = instance;
|
|
757
733
|
let maxDepth;
|
|
758
734
|
let found;
|
|
759
735
|
let response;
|
|
760
|
-
passedArguments = passedArguments || queryArguments;
|
|
761
|
-
context = context || element;
|
|
762
736
|
if (typeof query === 'string' && object !== undefined) {
|
|
763
737
|
query = query.split(/[ .]/);
|
|
764
738
|
maxDepth = query.length - 1;
|
|
765
739
|
$.each(query, function (depth, value) {
|
|
766
|
-
|
|
740
|
+
const camelCaseValue = depth !== maxDepth
|
|
767
741
|
? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
|
|
768
742
|
: query;
|
|
769
743
|
if ($.isPlainObject(object[camelCaseValue]) && (depth !== maxDepth)) {
|
|
@@ -805,7 +779,7 @@
|
|
|
805
779
|
if (instance === undefined) {
|
|
806
780
|
module.initialize();
|
|
807
781
|
}
|
|
808
|
-
module.invoke(
|
|
782
|
+
module.invoke(parameters);
|
|
809
783
|
} else {
|
|
810
784
|
if (instance !== undefined) {
|
|
811
785
|
instance.invoke('destroy');
|
|
@@ -820,9 +794,7 @@
|
|
|
820
794
|
};
|
|
821
795
|
|
|
822
796
|
// shortcut for tabbed content with no defined navigation
|
|
823
|
-
$.tab =
|
|
824
|
-
$(window).tab.apply(this, arguments);
|
|
825
|
-
};
|
|
797
|
+
$.tab = $.fn.tab;
|
|
826
798
|
|
|
827
799
|
$.fn.tab.settings = {
|
|
828
800
|
|
|
@@ -875,10 +847,6 @@
|
|
|
875
847
|
state: 'History requires Asual\'s Address library <https://github.com/asual/jquery-address>',
|
|
876
848
|
},
|
|
877
849
|
|
|
878
|
-
regExp: {
|
|
879
|
-
escape: /[\s#$()*+,.:=?@[\\\]^{|}-]/g,
|
|
880
|
-
},
|
|
881
|
-
|
|
882
850
|
metadata: {
|
|
883
851
|
tab: 'tab',
|
|
884
852
|
loaded: 'loaded',
|