fomantic-ui 2.10.0-beta.7 → 2.10.0-beta.70
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 -33
- 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 +11 -8
- package/changelog-setup.js +88 -72
- package/changelog-template.hbs +256 -251
- package/dist/components/accordion.css +1 -1
- package/dist/components/accordion.js +116 -164
- package/dist/components/accordion.min.css +1 -1
- package/dist/components/accordion.min.js +2 -2
- package/dist/components/ad.css +1 -1
- package/dist/components/ad.min.css +1 -1
- package/dist/components/api.js +190 -303
- package/dist/components/api.min.js +2 -2
- 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 +397 -482
- package/dist/components/calendar.min.css +2 -2
- package/dist/components/calendar.min.js +2 -2
- 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 +105 -166
- package/dist/components/checkbox.min.css +1 -1
- package/dist/components/checkbox.min.js +2 -2
- 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 +75 -121
- package/dist/components/dimmer.min.css +2 -2
- package/dist/components/dimmer.min.js +2 -2
- 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 +775 -1161
- package/dist/components/dropdown.min.css +2 -2
- package/dist/components/dropdown.min.js +2 -2
- package/dist/components/embed.css +1 -1
- package/dist/components/embed.js +95 -146
- package/dist/components/embed.min.css +1 -1
- package/dist/components/embed.min.js +2 -2
- 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 +242 -336
- package/dist/components/flyout.min.css +1 -1
- package/dist/components/flyout.min.js +2 -2
- package/dist/components/form.css +3 -5
- package/dist/components/form.js +425 -554
- package/dist/components/form.min.css +2 -2
- package/dist/components/form.min.js +2 -2
- 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 +274 -369
- package/dist/components/modal.min.css +2 -2
- package/dist/components/modal.min.js +2 -2
- package/dist/components/nag.css +1 -1
- package/dist/components/nag.js +109 -153
- package/dist/components/nag.min.css +1 -1
- package/dist/components/nag.min.js +2 -2
- 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 +210 -303
- package/dist/components/popup.min.css +2 -2
- package/dist/components/popup.min.js +2 -2
- package/dist/components/progress.css +4 -13
- package/dist/components/progress.js +128 -185
- package/dist/components/progress.min.css +2 -2
- package/dist/components/progress.min.js +2 -2
- 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 +92 -145
- package/dist/components/rating.min.css +1 -1
- package/dist/components/rating.min.js +2 -2
- 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 +311 -425
- package/dist/components/search.min.css +2 -2
- package/dist/components/search.min.js +2 -2
- 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 +173 -249
- package/dist/components/shape.min.css +1 -1
- package/dist/components/shape.min.js +2 -2
- package/dist/components/sidebar.css +1 -1
- package/dist/components/sidebar.js +138 -199
- package/dist/components/sidebar.min.css +1 -1
- package/dist/components/sidebar.min.js +2 -2
- package/dist/components/site.css +1 -1
- package/dist/components/site.js +59 -99
- package/dist/components/site.min.css +1 -1
- package/dist/components/site.min.js +2 -2
- package/dist/components/slider.css +1 -1
- package/dist/components/slider.js +267 -364
- package/dist/components/slider.min.css +1 -1
- package/dist/components/slider.min.js +2 -2
- package/dist/components/state.js +88 -132
- package/dist/components/state.min.js +2 -2
- 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 +163 -228
- package/dist/components/sticky.min.css +1 -1
- package/dist/components/sticky.min.js +2 -2
- package/dist/components/tab.css +1 -1
- package/dist/components/tab.js +192 -287
- package/dist/components/tab.min.css +1 -1
- package/dist/components/tab.min.js +2 -2
- 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 +118 -155
- package/dist/components/toast.min.css +1 -1
- package/dist/components/toast.min.js +2 -2
- package/dist/components/transition.css +1 -1
- package/dist/components/transition.js +114 -193
- package/dist/components/transition.min.css +1 -1
- package/dist/components/transition.min.js +2 -2
- package/dist/components/visibility.js +175 -271
- package/dist/components/visibility.min.js +2 -2
- package/dist/semantic.css +4479 -8221
- package/dist/semantic.js +5023 -7182
- package/dist/semantic.min.css +2 -2
- package/dist/semantic.min.js +2 -2
- package/examples/assets/show-examples.js +2 -4
- package/examples/attached.html +1 -1
- package/examples/components/menu.html +1 -1
- package/gulpfile.js +5 -7
- package/package.json +4 -5
- package/scripts/nightly-version.js +11 -14
- package/src/definitions/behaviors/api.js +189 -302
- package/src/definitions/behaviors/form.js +426 -555
- package/src/definitions/behaviors/state.js +87 -131
- package/src/definitions/behaviors/visibility.js +174 -270
- 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 +58 -98
- package/src/definitions/globals/site.less +0 -1
- package/src/definitions/modules/accordion.js +115 -163
- package/src/definitions/modules/accordion.less +0 -1
- package/src/definitions/modules/calendar.js +396 -481
- package/src/definitions/modules/calendar.less +2 -3
- package/src/definitions/modules/checkbox.js +104 -165
- package/src/definitions/modules/checkbox.less +0 -1
- package/src/definitions/modules/dimmer.js +74 -120
- package/src/definitions/modules/dimmer.less +1 -2
- package/src/definitions/modules/dropdown.js +774 -1160
- package/src/definitions/modules/dropdown.less +27 -38
- package/src/definitions/modules/embed.js +94 -145
- package/src/definitions/modules/embed.less +0 -1
- package/src/definitions/modules/flyout.js +241 -335
- package/src/definitions/modules/flyout.less +0 -1
- package/src/definitions/modules/modal.js +273 -368
- package/src/definitions/modules/modal.less +3 -4
- package/src/definitions/modules/nag.js +108 -152
- package/src/definitions/modules/nag.less +0 -1
- package/src/definitions/modules/popup.js +209 -302
- package/src/definitions/modules/popup.less +18 -73
- package/src/definitions/modules/progress.js +127 -184
- package/src/definitions/modules/progress.less +3 -13
- package/src/definitions/modules/rating.js +93 -146
- package/src/definitions/modules/rating.less +0 -1
- package/src/definitions/modules/search.js +312 -426
- package/src/definitions/modules/search.less +2 -4
- package/src/definitions/modules/shape.js +172 -248
- package/src/definitions/modules/shape.less +0 -1
- package/src/definitions/modules/sidebar.js +137 -198
- package/src/definitions/modules/sidebar.less +0 -1
- package/src/definitions/modules/slider.js +266 -363
- package/src/definitions/modules/slider.less +0 -1
- package/src/definitions/modules/sticky.js +162 -227
- package/src/definitions/modules/sticky.less +0 -1
- package/src/definitions/modules/tab.js +191 -286
- package/src/definitions/modules/tab.less +0 -1
- package/src/definitions/modules/toast.js +117 -154
- package/src/definitions/modules/toast.less +0 -1
- package/src/definitions/modules/transition.js +113 -192
- 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 +87 -110
- package/tasks/admin/components/init.js +26 -33
- package/tasks/admin/components/update.js +46 -54
- package/tasks/admin/distributions/create.js +74 -125
- package/tasks/admin/distributions/init.js +27 -34
- package/tasks/admin/distributions/update.js +45 -53
- package/tasks/admin/register.js +11 -15
- package/tasks/build/assets.js +14 -18
- package/tasks/build/css.js +59 -68
- package/tasks/build/javascript.js +46 -54
- package/tasks/build.js +4 -6
- package/tasks/check-install.js +5 -7
- package/tasks/clean.js +2 -4
- package/tasks/collections/admin.js +13 -15
- package/tasks/collections/build.js +6 -8
- package/tasks/collections/docs.js +2 -4
- package/tasks/collections/install.js +2 -4
- package/tasks/collections/rtl.js +2 -4
- package/tasks/collections/various.js +2 -4
- package/tasks/config/admin/github.js +8 -10
- package/tasks/config/admin/templates/css-package.js +1 -3
- package/tasks/config/admin/templates/less-package.js +1 -3
- package/tasks/config/npm/gulpfile.js +4 -6
- package/tasks/config/project/config.js +26 -34
- package/tasks/config/project/install.js +58 -72
- package/tasks/config/project/release.js +7 -15
- package/tasks/config/tasks.js +23 -24
- package/tasks/config/user.js +9 -16
- package/tasks/docs/build.js +26 -31
- package/tasks/docs/metadata.js +35 -43
- package/tasks/docs/serve.js +20 -26
- package/tasks/install.js +77 -102
- package/tasks/rtl/build.js +2 -4
- package/tasks/rtl/watch.js +2 -4
- package/tasks/watch.js +9 -11
- package/test/meteor/assets.js +4 -4
- package/test/meteor/fonts.js +11 -13
- package/test/modules/module.spec.js +25 -27
|
@@ -23,75 +23,70 @@
|
|
|
23
23
|
? window
|
|
24
24
|
: globalThis;
|
|
25
25
|
|
|
26
|
-
$.fn.api = function (
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
$
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
$context = win.frameElement ? contextCheck(context, win.parent) : window;
|
|
46
|
-
}
|
|
26
|
+
$.fn.api = function (...args) {
|
|
27
|
+
// use window context if none specified
|
|
28
|
+
const $allModules = isFunction(this)
|
|
29
|
+
? $(window)
|
|
30
|
+
: $(this);
|
|
31
|
+
let time = Date.now();
|
|
32
|
+
let performance = [];
|
|
33
|
+
|
|
34
|
+
const parameters = args[0];
|
|
35
|
+
const methodInvoked = typeof parameters === 'string';
|
|
36
|
+
const queryArguments = args.slice(1);
|
|
37
|
+
const contextCheck = function (context, win) {
|
|
38
|
+
let $context;
|
|
39
|
+
if ([window, document].includes(context)) {
|
|
40
|
+
$context = $(context);
|
|
41
|
+
} else {
|
|
42
|
+
$context = $(win.document).find(context);
|
|
43
|
+
if ($context.length === 0) {
|
|
44
|
+
$context = win.frameElement ? contextCheck(context, win.parent) : window;
|
|
47
45
|
}
|
|
46
|
+
}
|
|
48
47
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
;
|
|
48
|
+
return $context;
|
|
49
|
+
};
|
|
50
|
+
let returnedValue;
|
|
53
51
|
|
|
54
52
|
$allModules.each(function () {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
;
|
|
93
|
-
|
|
94
|
-
module = {
|
|
53
|
+
const settings = $.isPlainObject(parameters)
|
|
54
|
+
? $.extend(true, {}, $.fn.api.settings, parameters)
|
|
55
|
+
: $.extend({}, $.fn.api.settings);
|
|
56
|
+
|
|
57
|
+
// internal aliases
|
|
58
|
+
const regExp = settings.regExp;
|
|
59
|
+
const namespace = settings.namespace;
|
|
60
|
+
const metadata = settings.metadata;
|
|
61
|
+
const selector = settings.selector;
|
|
62
|
+
const error = settings.error;
|
|
63
|
+
const className = settings.className;
|
|
64
|
+
|
|
65
|
+
// define namespaces for modules
|
|
66
|
+
const eventNamespace = '.' + namespace;
|
|
67
|
+
const moduleNamespace = 'module-' + namespace;
|
|
68
|
+
|
|
69
|
+
// element that creates request
|
|
70
|
+
const $module = $(this);
|
|
71
|
+
const $form = $module.closest(selector.form);
|
|
72
|
+
|
|
73
|
+
// context used for state
|
|
74
|
+
const $context = settings.stateContext ? contextCheck(settings.stateContext, window) : $module;
|
|
75
|
+
|
|
76
|
+
// request details
|
|
77
|
+
let ajaxSettings;
|
|
78
|
+
let requestSettings;
|
|
79
|
+
let url;
|
|
80
|
+
let data;
|
|
81
|
+
let requestStartTime;
|
|
82
|
+
let originalData;
|
|
83
|
+
|
|
84
|
+
// standard module
|
|
85
|
+
const element = this;
|
|
86
|
+
const context = $context[0];
|
|
87
|
+
let instance = $module.data(moduleNamespace);
|
|
88
|
+
|
|
89
|
+
const module = {
|
|
95
90
|
|
|
96
91
|
initialize: function () {
|
|
97
92
|
if (!methodInvoked) {
|
|
@@ -105,28 +100,23 @@
|
|
|
105
100
|
module.verbose('Storing instance of module', module);
|
|
106
101
|
instance = module;
|
|
107
102
|
$module
|
|
108
|
-
.data(moduleNamespace, instance)
|
|
109
|
-
;
|
|
103
|
+
.data(moduleNamespace, instance);
|
|
110
104
|
},
|
|
111
105
|
|
|
112
106
|
destroy: function () {
|
|
113
107
|
module.verbose('Destroying previous module for', element);
|
|
114
108
|
$module
|
|
115
109
|
.removeData(moduleNamespace)
|
|
116
|
-
.off(eventNamespace)
|
|
117
|
-
;
|
|
110
|
+
.off(eventNamespace);
|
|
118
111
|
},
|
|
119
112
|
|
|
120
113
|
bind: {
|
|
121
114
|
events: function () {
|
|
122
|
-
|
|
123
|
-
triggerEvent = module.get.event()
|
|
124
|
-
;
|
|
115
|
+
const triggerEvent = module.get.event();
|
|
125
116
|
if (triggerEvent) {
|
|
126
117
|
module.verbose('Attaching API events to element', triggerEvent);
|
|
127
118
|
$module
|
|
128
|
-
.on(triggerEvent + eventNamespace, module.event.trigger)
|
|
129
|
-
;
|
|
119
|
+
.on(triggerEvent + eventNamespace, module.event.trigger);
|
|
130
120
|
} else if (settings.on === 'now') {
|
|
131
121
|
module.debug('Querying API endpoint immediately');
|
|
132
122
|
module.query();
|
|
@@ -139,7 +129,7 @@
|
|
|
139
129
|
if (response !== undefined && typeof response === 'string') {
|
|
140
130
|
try {
|
|
141
131
|
response = JSON.parse(response);
|
|
142
|
-
} catch
|
|
132
|
+
} catch {
|
|
143
133
|
// isn't json string
|
|
144
134
|
}
|
|
145
135
|
}
|
|
@@ -150,15 +140,7 @@
|
|
|
150
140
|
|
|
151
141
|
read: {
|
|
152
142
|
cachedResponse: function (url) {
|
|
153
|
-
|
|
154
|
-
response
|
|
155
|
-
;
|
|
156
|
-
if (window.Storage === undefined) {
|
|
157
|
-
module.error(error.noStorage);
|
|
158
|
-
|
|
159
|
-
return;
|
|
160
|
-
}
|
|
161
|
-
response = sessionStorage.getItem(url + module.get.normalizedData());
|
|
143
|
+
let response = window.sessionStorage.getItem(url + module.get.normalizedData());
|
|
162
144
|
module.debug('Using cached response', url, settings.data, response);
|
|
163
145
|
response = module.decode.json(response);
|
|
164
146
|
|
|
@@ -167,15 +149,10 @@
|
|
|
167
149
|
},
|
|
168
150
|
write: {
|
|
169
151
|
cachedResponse: function (url, response) {
|
|
170
|
-
if (window.Storage === undefined) {
|
|
171
|
-
module.error(error.noStorage);
|
|
172
|
-
|
|
173
|
-
return;
|
|
174
|
-
}
|
|
175
152
|
if ($.isPlainObject(response)) {
|
|
176
153
|
response = JSON.stringify(response);
|
|
177
154
|
}
|
|
178
|
-
sessionStorage.setItem(url + module.get.normalizedData(), response);
|
|
155
|
+
window.sessionStorage.setItem(url + module.get.normalizedData(), response);
|
|
179
156
|
module.verbose('Storing cached response for url', url, settings.data, response);
|
|
180
157
|
},
|
|
181
158
|
},
|
|
@@ -263,22 +240,20 @@
|
|
|
263
240
|
if (!settings.throttle) {
|
|
264
241
|
module.debug('Sending request', data, ajaxSettings.method);
|
|
265
242
|
module.send.request();
|
|
243
|
+
} else if (!settings.throttleFirstRequest && !module.timer) {
|
|
244
|
+
module.debug('Sending request', data, ajaxSettings.method);
|
|
245
|
+
module.send.request();
|
|
246
|
+
module.timer = setTimeout(function () {}, settings.throttle);
|
|
266
247
|
} else {
|
|
267
|
-
|
|
268
|
-
|
|
248
|
+
module.debug('Throttling request', settings.throttle);
|
|
249
|
+
clearTimeout(module.timer);
|
|
250
|
+
module.timer = setTimeout(function () {
|
|
251
|
+
if (module.timer) {
|
|
252
|
+
delete module.timer;
|
|
253
|
+
}
|
|
254
|
+
module.debug('Sending throttled request', data, ajaxSettings.method);
|
|
269
255
|
module.send.request();
|
|
270
|
-
|
|
271
|
-
} else {
|
|
272
|
-
module.debug('Throttling request', settings.throttle);
|
|
273
|
-
clearTimeout(module.timer);
|
|
274
|
-
module.timer = setTimeout(function () {
|
|
275
|
-
if (module.timer) {
|
|
276
|
-
delete module.timer;
|
|
277
|
-
}
|
|
278
|
-
module.debug('Sending throttled request', data, ajaxSettings.method);
|
|
279
|
-
module.send.request();
|
|
280
|
-
}, settings.throttle);
|
|
281
|
-
}
|
|
256
|
+
}, settings.throttle);
|
|
282
257
|
}
|
|
283
258
|
},
|
|
284
259
|
|
|
@@ -355,31 +330,23 @@
|
|
|
355
330
|
},
|
|
356
331
|
|
|
357
332
|
add: {
|
|
358
|
-
urlData: function (url, urlData) {
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
optionalVariables
|
|
362
|
-
;
|
|
333
|
+
urlData: function (url, urlData = settings.urlData) {
|
|
334
|
+
let requiredVariables;
|
|
335
|
+
let optionalVariables;
|
|
363
336
|
if (url) {
|
|
364
337
|
requiredVariables = url.match(regExp.required);
|
|
365
338
|
optionalVariables = url.match(regExp.optional);
|
|
366
|
-
urlData = urlData || settings.urlData;
|
|
367
339
|
if (requiredVariables) {
|
|
368
340
|
module.debug('Looking for required URL variables', requiredVariables);
|
|
369
341
|
$.each(requiredVariables, function (index, templatedString) {
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
variable
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
? $module.data(variable)
|
|
379
|
-
: ($context.data(variable) !== undefined // eslint-disable-line unicorn/no-nested-ternary
|
|
380
|
-
? $context.data(variable)
|
|
381
|
-
: urlData[variable]))
|
|
382
|
-
;
|
|
342
|
+
const variable = templatedString.slice(1, -1);
|
|
343
|
+
let value = $.isPlainObject(urlData) && urlData[variable] !== undefined
|
|
344
|
+
? urlData[variable]
|
|
345
|
+
: ($module.data(variable) !== undefined
|
|
346
|
+
? $module.data(variable)
|
|
347
|
+
: ($context.data(variable) !== undefined // eslint-disable-line unicorn/no-nested-ternary
|
|
348
|
+
? $context.data(variable)
|
|
349
|
+
: urlData[variable]));
|
|
383
350
|
// remove value
|
|
384
351
|
if (value === undefined) {
|
|
385
352
|
module.error(error.requiredParameter, variable, url);
|
|
@@ -398,19 +365,14 @@
|
|
|
398
365
|
if (optionalVariables) {
|
|
399
366
|
module.debug('Looking for optional URL variables', requiredVariables);
|
|
400
367
|
$.each(optionalVariables, function (index, templatedString) {
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
variable
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
? $module.data(variable)
|
|
410
|
-
: ($context.data(variable) !== undefined // eslint-disable-line unicorn/no-nested-ternary
|
|
411
|
-
? $context.data(variable)
|
|
412
|
-
: urlData[variable]))
|
|
413
|
-
;
|
|
368
|
+
const variable = templatedString.slice(2, -1);
|
|
369
|
+
const value = $.isPlainObject(urlData) && urlData[variable] !== undefined
|
|
370
|
+
? urlData[variable]
|
|
371
|
+
: ($module.data(variable) !== undefined
|
|
372
|
+
? $module.data(variable)
|
|
373
|
+
: ($context.data(variable) !== undefined // eslint-disable-line unicorn/no-nested-ternary
|
|
374
|
+
? $context.data(variable)
|
|
375
|
+
: urlData[variable]));
|
|
414
376
|
// optional replacement
|
|
415
377
|
if (value !== undefined) {
|
|
416
378
|
module.verbose('Optional variable Found', variable, value);
|
|
@@ -418,7 +380,7 @@
|
|
|
418
380
|
} else {
|
|
419
381
|
module.verbose('Optional variable not found', variable);
|
|
420
382
|
// remove preceding slash if set
|
|
421
|
-
url = url.
|
|
383
|
+
url = url.includes('/' + templatedString)
|
|
422
384
|
? url.replace('/' + templatedString, '')
|
|
423
385
|
: url.replace(templatedString, '');
|
|
424
386
|
}
|
|
@@ -428,30 +390,24 @@
|
|
|
428
390
|
|
|
429
391
|
return url;
|
|
430
392
|
},
|
|
431
|
-
formData: function (data) {
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
useFormDataApi = settings.serializeForm === 'formdata'
|
|
436
|
-
;
|
|
437
|
-
data = data || originalData || settings.data;
|
|
438
|
-
hasOtherData = $.isPlainObject(data);
|
|
393
|
+
formData: function (data = originalData || settings.data) {
|
|
394
|
+
let formData = {};
|
|
395
|
+
const useFormDataApi = settings.serializeForm === 'formdata';
|
|
396
|
+
const hasOtherData = $.isPlainObject(data);
|
|
439
397
|
|
|
440
398
|
if (useFormDataApi) {
|
|
441
399
|
formData = new FormData($form[0]);
|
|
442
400
|
settings.processData = settings.processData !== undefined ? settings.processData : false;
|
|
443
401
|
settings.contentType = settings.contentType !== undefined ? settings.contentType : false;
|
|
444
402
|
} else {
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
}
|
|
454
|
-
;
|
|
403
|
+
const formArray = $form.serializeArray();
|
|
404
|
+
const pushes = {};
|
|
405
|
+
const pushValues = {};
|
|
406
|
+
const build = function (base, key, value) {
|
|
407
|
+
base[key] = value;
|
|
408
|
+
|
|
409
|
+
return base;
|
|
410
|
+
};
|
|
455
411
|
// add files
|
|
456
412
|
$.each($('input[type="file"]', $form), function (i, tag) {
|
|
457
413
|
$.each($(tag)[0].files, function (j, file) {
|
|
@@ -462,17 +418,15 @@
|
|
|
462
418
|
if (!regExp.validate.test(el.name)) {
|
|
463
419
|
return;
|
|
464
420
|
}
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
value = (isCheckbox && el.value === 'on')
|
|
421
|
+
const isCheckbox = $('[name="' + CSS.escape(el.name) + '"]', $form).attr('type') === 'checkbox';
|
|
422
|
+
const floatValue = Number.parseFloat(el.value);
|
|
423
|
+
let value = (isCheckbox && el.value === 'on')
|
|
469
424
|
|| el.value === 'true'
|
|
470
425
|
|| (String(floatValue) === el.value
|
|
471
426
|
? floatValue
|
|
472
|
-
: (el.value === 'false' ? false : el.value))
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
;
|
|
427
|
+
: (el.value === 'false' ? false : el.value));
|
|
428
|
+
const nameKeys = el.name.match(regExp.key) || [];
|
|
429
|
+
const pushKey = el.name.replace(/\[]$/, '');
|
|
476
430
|
if (!(pushKey in pushes)) {
|
|
477
431
|
pushes[pushKey] = 0;
|
|
478
432
|
pushValues[pushKey] = value;
|
|
@@ -481,12 +435,12 @@
|
|
|
481
435
|
} else {
|
|
482
436
|
pushValues[pushKey] = [pushValues[pushKey], value];
|
|
483
437
|
}
|
|
484
|
-
if (pushKey.
|
|
438
|
+
if (!pushKey.includes('[]')) {
|
|
485
439
|
value = pushValues[pushKey];
|
|
486
440
|
}
|
|
487
441
|
|
|
488
442
|
while (nameKeys.length > 0) {
|
|
489
|
-
|
|
443
|
+
const k = nameKeys.pop();
|
|
490
444
|
|
|
491
445
|
if (k === '' && !Array.isArray(value)) { // foo[]
|
|
492
446
|
value = build([], pushes[pushKey]++, value);
|
|
@@ -544,19 +498,15 @@
|
|
|
544
498
|
// nothing special
|
|
545
499
|
},
|
|
546
500
|
done: function (response, textStatus, xhr) {
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
?
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
;
|
|
557
|
-
timeLeft = timeLeft > 0
|
|
558
|
-
? timeLeft
|
|
559
|
-
: 0;
|
|
501
|
+
const context = this;
|
|
502
|
+
const elapsedTime = Date.now() - requestStartTime;
|
|
503
|
+
let timeLeft = settings.loadingDuration - elapsedTime;
|
|
504
|
+
const translatedResponse = isFunction(settings.onResponse)
|
|
505
|
+
? (module.is.expectingJSON() && !settings.rawResponse
|
|
506
|
+
? settings.onResponse.call(context, $.extend(true, {}, response))
|
|
507
|
+
: settings.onResponse.call(context, response))
|
|
508
|
+
: false;
|
|
509
|
+
timeLeft = Math.max(timeLeft, 0);
|
|
560
510
|
if (translatedResponse) {
|
|
561
511
|
module.debug('Modified API response in onResponse callback', settings.onResponse, translatedResponse, response);
|
|
562
512
|
response = translatedResponse;
|
|
@@ -573,14 +523,10 @@
|
|
|
573
523
|
}, timeLeft);
|
|
574
524
|
},
|
|
575
525
|
fail: function (xhr, status, httpMessage) {
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
;
|
|
581
|
-
timeLeft = timeLeft > 0
|
|
582
|
-
? timeLeft
|
|
583
|
-
: 0;
|
|
526
|
+
const context = this;
|
|
527
|
+
const elapsedTime = Date.now() - requestStartTime;
|
|
528
|
+
let timeLeft = settings.loadingDuration - elapsedTime;
|
|
529
|
+
timeLeft = Math.max(timeLeft, 0);
|
|
584
530
|
if (timeLeft > 0) {
|
|
585
531
|
module.debug('Response completed early delaying state change by', timeLeft);
|
|
586
532
|
}
|
|
@@ -603,10 +549,8 @@
|
|
|
603
549
|
settings.onSuccess.call(context, response, $module, xhr);
|
|
604
550
|
},
|
|
605
551
|
complete: function (firstParameter, secondParameter) {
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
response
|
|
609
|
-
;
|
|
552
|
+
let xhr;
|
|
553
|
+
let response;
|
|
610
554
|
// have to guess callback parameters based on request success
|
|
611
555
|
if (module.was.successful()) {
|
|
612
556
|
response = firstParameter;
|
|
@@ -619,11 +563,9 @@
|
|
|
619
563
|
settings.onComplete.call(context, response, $module, xhr);
|
|
620
564
|
},
|
|
621
565
|
fail: function (xhr, status, httpMessage) {
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
errorMessage = module.get.errorFromRequest(response, status, httpMessage)
|
|
626
|
-
;
|
|
566
|
+
// pull response from xhr if available
|
|
567
|
+
const response = module.get.responseFromXHR(xhr);
|
|
568
|
+
const errorMessage = module.get.errorFromRequest(response, status, httpMessage);
|
|
627
569
|
if (status === 'aborted') {
|
|
628
570
|
module.debug('XHR Aborted (Most likely caused by page navigation or CORS Policy)', status, httpMessage);
|
|
629
571
|
settings.onAbort.call(context, status, $module, xhr);
|
|
@@ -632,15 +574,13 @@
|
|
|
632
574
|
}
|
|
633
575
|
if (status === 'invalid') {
|
|
634
576
|
module.debug('JSON did not pass success test. A server-side error has most likely occurred', response);
|
|
635
|
-
} else if (status === 'error') {
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
module.error(error.statusMessage + httpMessage, ajaxSettings.url);
|
|
641
|
-
}
|
|
642
|
-
settings.onError.call(context, errorMessage, $module, xhr);
|
|
577
|
+
} else if (status === 'error' && xhr !== undefined) {
|
|
578
|
+
module.debug('XHR produced a server error', status, httpMessage);
|
|
579
|
+
// make sure we have an error to display to console
|
|
580
|
+
if ((xhr.status < 200 || xhr.status >= 300) && httpMessage !== undefined && httpMessage !== '') {
|
|
581
|
+
module.error(error.statusMessage + httpMessage, ajaxSettings.url);
|
|
643
582
|
}
|
|
583
|
+
settings.onError.call(context, errorMessage, $module, xhr);
|
|
644
584
|
}
|
|
645
585
|
|
|
646
586
|
if (settings.errorDuration && status !== 'aborted') {
|
|
@@ -665,28 +605,23 @@
|
|
|
665
605
|
return $.Deferred()
|
|
666
606
|
.always(module.event.request.complete)
|
|
667
607
|
.done(module.event.request.done)
|
|
668
|
-
.fail(module.event.request.fail)
|
|
669
|
-
;
|
|
608
|
+
.fail(module.event.request.fail);
|
|
670
609
|
},
|
|
671
610
|
|
|
672
611
|
mockedXHR: function () {
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
;
|
|
684
|
-
|
|
685
|
-
mockedXHR = $.Deferred()
|
|
612
|
+
// xhr does not simulate these properties of xhr but must return them
|
|
613
|
+
const textStatus = false;
|
|
614
|
+
const status = false;
|
|
615
|
+
const httpMessage = false;
|
|
616
|
+
const responder = settings.mockResponse || settings.response;
|
|
617
|
+
const asyncResponder = settings.mockResponseAsync || settings.responseAsync;
|
|
618
|
+
let asyncCallback;
|
|
619
|
+
let response;
|
|
620
|
+
|
|
621
|
+
const mockedXHR = $.Deferred()
|
|
686
622
|
.always(module.event.xhr.complete)
|
|
687
623
|
.done(module.event.xhr.done)
|
|
688
|
-
.fail(module.event.xhr.fail)
|
|
689
|
-
;
|
|
624
|
+
.fail(module.event.xhr.fail);
|
|
690
625
|
|
|
691
626
|
if (responder) {
|
|
692
627
|
if (isFunction(responder)) {
|
|
@@ -716,15 +651,11 @@
|
|
|
716
651
|
},
|
|
717
652
|
|
|
718
653
|
xhr: function () {
|
|
719
|
-
var
|
|
720
|
-
xhr
|
|
721
|
-
;
|
|
722
654
|
// ajax request promise
|
|
723
|
-
xhr = $.ajax(ajaxSettings)
|
|
655
|
+
const xhr = $.ajax(ajaxSettings)
|
|
724
656
|
.always(module.event.xhr.always)
|
|
725
657
|
.done(module.event.xhr.done)
|
|
726
|
-
.fail(module.event.xhr.fail)
|
|
727
|
-
;
|
|
658
|
+
.fail(module.event.xhr.fail);
|
|
728
659
|
module.verbose('Created server request', xhr, ajaxSettings);
|
|
729
660
|
|
|
730
661
|
return xhr;
|
|
@@ -779,27 +710,7 @@
|
|
|
779
710
|
return module.xhr || false;
|
|
780
711
|
},
|
|
781
712
|
settings: function () {
|
|
782
|
-
|
|
783
|
-
runSettings
|
|
784
|
-
;
|
|
785
|
-
runSettings = settings.beforeSend.call($module, settings);
|
|
786
|
-
if (runSettings) {
|
|
787
|
-
if (runSettings.success !== undefined) {
|
|
788
|
-
module.debug('Legacy success callback detected', runSettings);
|
|
789
|
-
module.error(error.legacyParameters, runSettings.success);
|
|
790
|
-
runSettings.onSuccess = runSettings.success;
|
|
791
|
-
}
|
|
792
|
-
if (runSettings.failure !== undefined) {
|
|
793
|
-
module.debug('Legacy failure callback detected', runSettings);
|
|
794
|
-
module.error(error.legacyParameters, runSettings.failure);
|
|
795
|
-
runSettings.onFailure = runSettings.failure;
|
|
796
|
-
}
|
|
797
|
-
if (runSettings.complete !== undefined) {
|
|
798
|
-
module.debug('Legacy complete callback detected', runSettings);
|
|
799
|
-
module.error(error.legacyParameters, runSettings.complete);
|
|
800
|
-
runSettings.onComplete = runSettings.complete;
|
|
801
|
-
}
|
|
802
|
-
}
|
|
713
|
+
const runSettings = settings.beforeSend.call(element, settings);
|
|
803
714
|
if (runSettings === undefined) {
|
|
804
715
|
module.error(error.noReturnedValue);
|
|
805
716
|
}
|
|
@@ -812,11 +723,9 @@
|
|
|
812
723
|
: $.extend(true, {}, settings);
|
|
813
724
|
},
|
|
814
725
|
urlEncodedValue: function (value) {
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
alreadyEncoded = decodedValue !== value
|
|
819
|
-
;
|
|
726
|
+
const decodedValue = window.decodeURIComponent(value);
|
|
727
|
+
const encodedValue = window.encodeURIComponent(value);
|
|
728
|
+
const alreadyEncoded = decodedValue !== value;
|
|
820
729
|
if (alreadyEncoded) {
|
|
821
730
|
module.debug('URL value is already encoded, avoiding double encoding', value);
|
|
822
731
|
|
|
@@ -827,9 +736,7 @@
|
|
|
827
736
|
return encodedValue;
|
|
828
737
|
},
|
|
829
738
|
defaultData: function () {
|
|
830
|
-
|
|
831
|
-
data = {}
|
|
832
|
-
;
|
|
739
|
+
const data = {};
|
|
833
740
|
if (!isWindow(element)) {
|
|
834
741
|
if (module.is.input()) {
|
|
835
742
|
data.value = $module.val();
|
|
@@ -863,8 +770,7 @@
|
|
|
863
770
|
|
|
864
771
|
return settings.on;
|
|
865
772
|
},
|
|
866
|
-
templatedURL: function (action) {
|
|
867
|
-
action = action || settings.action || $module.data(metadata.action) || false;
|
|
773
|
+
templatedURL: function (action = settings.action || $module.data(metadata.action) || false) {
|
|
868
774
|
url = settings.url || $module.data(metadata.url) || false;
|
|
869
775
|
if (url) {
|
|
870
776
|
module.debug('Using specified url', url);
|
|
@@ -889,9 +795,7 @@
|
|
|
889
795
|
},
|
|
890
796
|
|
|
891
797
|
abort: function () {
|
|
892
|
-
|
|
893
|
-
xhr = module.get.xhr()
|
|
894
|
-
;
|
|
798
|
+
const xhr = module.get.xhr();
|
|
895
799
|
if (xhr && xhr.state() !== 'resolved') {
|
|
896
800
|
module.debug('Cancelling API request');
|
|
897
801
|
xhr.abort();
|
|
@@ -927,39 +831,37 @@
|
|
|
927
831
|
return module[name];
|
|
928
832
|
}
|
|
929
833
|
},
|
|
930
|
-
debug: function () {
|
|
834
|
+
debug: function (...args) {
|
|
931
835
|
if (!settings.silent && settings.debug) {
|
|
932
836
|
if (settings.performance) {
|
|
933
|
-
module.performance.log(
|
|
837
|
+
module.performance.log(args);
|
|
934
838
|
} else {
|
|
935
839
|
module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');
|
|
936
|
-
module.debug.apply(console,
|
|
840
|
+
module.debug.apply(console, args);
|
|
937
841
|
}
|
|
938
842
|
}
|
|
939
843
|
},
|
|
940
|
-
verbose: function () {
|
|
844
|
+
verbose: function (...args) {
|
|
941
845
|
if (!settings.silent && settings.verbose && settings.debug) {
|
|
942
846
|
if (settings.performance) {
|
|
943
|
-
module.performance.log(
|
|
847
|
+
module.performance.log(args);
|
|
944
848
|
} else {
|
|
945
849
|
module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');
|
|
946
|
-
module.verbose.apply(console,
|
|
850
|
+
module.verbose.apply(console, args);
|
|
947
851
|
}
|
|
948
852
|
}
|
|
949
853
|
},
|
|
950
|
-
error: function () {
|
|
854
|
+
error: function (...args) {
|
|
951
855
|
if (!settings.silent) {
|
|
952
856
|
module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');
|
|
953
|
-
module.error.apply(console,
|
|
857
|
+
module.error.apply(console, args);
|
|
954
858
|
}
|
|
955
859
|
},
|
|
956
860
|
performance: {
|
|
957
861
|
log: function (message) {
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
previousTime
|
|
962
|
-
;
|
|
862
|
+
let currentTime;
|
|
863
|
+
let executionTime;
|
|
864
|
+
let previousTime;
|
|
963
865
|
if (settings.performance) {
|
|
964
866
|
currentTime = Date.now();
|
|
965
867
|
previousTime = time || currentTime;
|
|
@@ -967,7 +869,7 @@
|
|
|
967
869
|
time = currentTime;
|
|
968
870
|
performance.push({
|
|
969
871
|
Name: message[0],
|
|
970
|
-
Arguments:
|
|
872
|
+
Arguments: message.slice(1),
|
|
971
873
|
// 'Element' : element,
|
|
972
874
|
'Execution Time': executionTime,
|
|
973
875
|
});
|
|
@@ -978,10 +880,8 @@
|
|
|
978
880
|
}, 500);
|
|
979
881
|
},
|
|
980
882
|
display: function () {
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
totalTime = 0
|
|
984
|
-
;
|
|
883
|
+
let title = settings.name + ':';
|
|
884
|
+
let totalTime = 0;
|
|
985
885
|
time = false;
|
|
986
886
|
clearTimeout(module.performance.timer);
|
|
987
887
|
$.each(performance, function (index, data) {
|
|
@@ -990,35 +890,24 @@
|
|
|
990
890
|
title += ' ' + totalTime + 'ms';
|
|
991
891
|
if (performance.length > 0) {
|
|
992
892
|
console.groupCollapsed(title);
|
|
993
|
-
|
|
994
|
-
console.table(performance);
|
|
995
|
-
} else {
|
|
996
|
-
$.each(performance, function (index, data) {
|
|
997
|
-
console.log(data.Name + ': ' + data['Execution Time'] + 'ms');
|
|
998
|
-
});
|
|
999
|
-
}
|
|
893
|
+
console.table(performance);
|
|
1000
894
|
console.groupEnd();
|
|
1001
895
|
}
|
|
1002
896
|
performance = [];
|
|
1003
897
|
},
|
|
1004
898
|
},
|
|
1005
|
-
invoke: function (query, passedArguments, context) {
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
response
|
|
1011
|
-
;
|
|
1012
|
-
passedArguments = passedArguments || queryArguments;
|
|
1013
|
-
context = context || element;
|
|
899
|
+
invoke: function (query, passedArguments = queryArguments, context = element) {
|
|
900
|
+
let object = instance;
|
|
901
|
+
let maxDepth;
|
|
902
|
+
let found;
|
|
903
|
+
let response;
|
|
1014
904
|
if (typeof query === 'string' && object !== undefined) {
|
|
1015
905
|
query = query.split(/[ .]/);
|
|
1016
906
|
maxDepth = query.length - 1;
|
|
1017
907
|
$.each(query, function (depth, value) {
|
|
1018
|
-
|
|
908
|
+
const camelCaseValue = depth !== maxDepth
|
|
1019
909
|
? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
|
|
1020
|
-
: query
|
|
1021
|
-
;
|
|
910
|
+
: query;
|
|
1022
911
|
if ($.isPlainObject(object[camelCaseValue]) && (depth !== maxDepth)) {
|
|
1023
912
|
object = object[camelCaseValue];
|
|
1024
913
|
} else if (object[camelCaseValue] !== undefined) {
|
|
@@ -1059,7 +948,7 @@
|
|
|
1059
948
|
if (instance === undefined) {
|
|
1060
949
|
module.initialize();
|
|
1061
950
|
}
|
|
1062
|
-
module.invoke(
|
|
951
|
+
module.invoke(parameters);
|
|
1063
952
|
} else {
|
|
1064
953
|
if (instance !== undefined) {
|
|
1065
954
|
instance.invoke('destroy');
|
|
@@ -1185,12 +1074,10 @@
|
|
|
1185
1074
|
error: 'There was an error with your request',
|
|
1186
1075
|
exitConditions: 'API Request Aborted. Exit conditions met',
|
|
1187
1076
|
JSONParse: 'JSON could not be parsed during error handling',
|
|
1188
|
-
legacyParameters: 'You are using legacy API success callback names',
|
|
1189
1077
|
method: 'The method you called is not defined',
|
|
1190
1078
|
missingAction: 'API action used but no url was defined',
|
|
1191
1079
|
missingURL: 'No URL specified for api event',
|
|
1192
1080
|
noReturnedValue: 'The beforeSend callback must return a settings object, beforeSend ignored.',
|
|
1193
|
-
noStorage: 'Caching responses locally requires session storage',
|
|
1194
1081
|
parseError: 'There was an error parsing your request',
|
|
1195
1082
|
requiredParameter: 'Missing a required URL parameter: ',
|
|
1196
1083
|
statusMessage: 'Server gave an error: ',
|
|
@@ -1198,8 +1085,8 @@
|
|
|
1198
1085
|
},
|
|
1199
1086
|
|
|
1200
1087
|
regExp: {
|
|
1201
|
-
required: /{
|
|
1202
|
-
optional: /{
|
|
1088
|
+
required: /{[\da-z]+}/gi,
|
|
1089
|
+
optional: /{\/[\da-z]+}/gi,
|
|
1203
1090
|
validate: /^[_a-z][\w-]*(?:\[[\w-]*])*$/i,
|
|
1204
1091
|
key: /[\w-]+|(?=\[])/gi,
|
|
1205
1092
|
push: /^$/,
|