fomantic-ui 2.10.0-beta.6 → 2.10.0-beta.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.js +0 -10
- package/README.md +4 -5
- package/changelog-setup.js +64 -70
- package/dist/components/accordion.css +1 -1
- package/dist/components/accordion.js +94 -131
- 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 +152 -205
- 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 +1 -1
- package/dist/components/button.min.css +1 -1
- package/dist/components/calendar.css +1 -1
- package/dist/components/calendar.js +305 -341
- package/dist/components/calendar.min.css +1 -1
- 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 +76 -116
- 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 +1 -1
- package/dist/components/dimmer.js +58 -91
- package/dist/components/dimmer.min.css +1 -1
- 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 +1 -1
- package/dist/components/dropdown.js +674 -977
- package/dist/components/dropdown.min.css +1 -1
- package/dist/components/dropdown.min.js +2 -2
- package/dist/components/embed.css +1 -1
- package/dist/components/embed.js +80 -127
- package/dist/components/embed.min.css +1 -1
- package/dist/components/embed.min.js +2 -2
- package/dist/components/emoji.css +1 -1
- package/dist/components/emoji.min.css +1 -1
- 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 +192 -274
- package/dist/components/flyout.min.css +1 -1
- package/dist/components/flyout.min.js +2 -2
- package/dist/components/form.css +1 -1
- package/dist/components/form.js +325 -429
- package/dist/components/form.min.css +1 -1
- package/dist/components/form.min.js +2 -2
- package/dist/components/grid.css +1 -1
- package/dist/components/grid.min.css +1 -1
- package/dist/components/header.css +1 -1
- package/dist/components/header.min.css +1 -1
- package/dist/components/icon.css +1 -1
- package/dist/components/icon.min.css +1 -1
- package/dist/components/image.css +1 -1
- package/dist/components/image.min.css +1 -1
- package/dist/components/input.css +1 -1
- package/dist/components/input.min.css +1 -1
- package/dist/components/item.css +1 -1
- package/dist/components/item.min.css +1 -1
- package/dist/components/label.css +1 -1
- package/dist/components/label.min.css +1 -1
- package/dist/components/list.css +1 -1
- package/dist/components/list.min.css +1 -1
- package/dist/components/loader.css +1 -1
- package/dist/components/loader.min.css +1 -1
- package/dist/components/menu.css +1 -1
- package/dist/components/menu.min.css +1 -1
- package/dist/components/message.css +1 -1
- package/dist/components/message.min.css +1 -1
- package/dist/components/modal.css +1 -1
- package/dist/components/modal.js +221 -313
- package/dist/components/modal.min.css +1 -1
- package/dist/components/modal.min.js +2 -2
- package/dist/components/nag.css +1 -1
- package/dist/components/nag.js +67 -97
- package/dist/components/nag.min.css +1 -1
- package/dist/components/nag.min.js +2 -2
- package/dist/components/placeholder.css +1 -1
- package/dist/components/placeholder.min.css +1 -1
- package/dist/components/popup.css +1 -1
- package/dist/components/popup.js +185 -254
- package/dist/components/popup.min.css +1 -1
- package/dist/components/popup.min.js +2 -2
- package/dist/components/progress.css +1 -1
- package/dist/components/progress.js +103 -138
- package/dist/components/progress.min.css +1 -1
- 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 +89 -139
- package/dist/components/rating.min.css +1 -1
- package/dist/components/rating.min.js +2 -2
- package/dist/components/reset.css +1 -1
- package/dist/components/reset.min.css +1 -1
- package/dist/components/reveal.css +1 -1
- package/dist/components/reveal.min.css +1 -1
- package/dist/components/search.css +1 -1
- package/dist/components/search.js +253 -352
- package/dist/components/search.min.css +1 -1
- package/dist/components/search.min.js +2 -2
- package/dist/components/segment.css +1 -1
- package/dist/components/segment.min.css +1 -1
- package/dist/components/shape.css +1 -1
- package/dist/components/shape.js +157 -223
- 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 +122 -163
- 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 +38 -57
- 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 +242 -325
- package/dist/components/slider.min.css +1 -1
- package/dist/components/slider.min.js +2 -2
- package/dist/components/state.js +68 -98
- 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 +1 -1
- package/dist/components/step.min.css +1 -1
- package/dist/components/sticky.css +1 -1
- package/dist/components/sticky.js +116 -159
- 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 +168 -233
- package/dist/components/tab.min.css +1 -1
- package/dist/components/tab.min.js +2 -2
- package/dist/components/table.css +1 -1
- package/dist/components/table.min.css +1 -1
- 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 +99 -132
- 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 +86 -141
- package/dist/components/transition.min.css +1 -1
- package/dist/components/transition.min.js +2 -2
- package/dist/components/visibility.js +134 -210
- package/dist/components/visibility.min.js +2 -2
- package/dist/semantic.css +53 -53
- package/dist/semantic.js +4100 -5721
- package/dist/semantic.min.css +1 -1
- package/dist/semantic.min.js +2 -2
- package/examples/assets/show-examples.js +2 -4
- package/gulpfile.js +5 -7
- package/package.json +1 -1
- package/scripts/nightly-version.js +7 -10
- package/src/definitions/behaviors/api.js +151 -204
- package/src/definitions/behaviors/form.js +324 -428
- package/src/definitions/behaviors/state.js +67 -97
- package/src/definitions/behaviors/visibility.js +133 -209
- package/src/definitions/globals/site.js +37 -56
- package/src/definitions/modules/accordion.js +93 -130
- package/src/definitions/modules/calendar.js +304 -340
- package/src/definitions/modules/checkbox.js +75 -115
- package/src/definitions/modules/dimmer.js +57 -90
- package/src/definitions/modules/dropdown.js +673 -976
- package/src/definitions/modules/embed.js +79 -126
- package/src/definitions/modules/flyout.js +191 -273
- package/src/definitions/modules/modal.js +220 -312
- package/src/definitions/modules/nag.js +66 -96
- package/src/definitions/modules/popup.js +184 -253
- package/src/definitions/modules/progress.js +102 -137
- package/src/definitions/modules/rating.js +88 -138
- package/src/definitions/modules/search.js +252 -351
- package/src/definitions/modules/shape.js +156 -222
- package/src/definitions/modules/sidebar.js +121 -162
- package/src/definitions/modules/slider.js +241 -324
- package/src/definitions/modules/sticky.js +115 -158
- package/src/definitions/modules/tab.js +167 -232
- package/src/definitions/modules/toast.js +98 -131
- package/src/definitions/modules/transition.js +85 -140
- package/tasks/admin/components/create.js +88 -108
- package/tasks/admin/components/init.js +26 -32
- package/tasks/admin/components/update.js +46 -53
- package/tasks/admin/distributions/create.js +71 -101
- package/tasks/admin/distributions/init.js +27 -33
- package/tasks/admin/distributions/update.js +45 -52
- package/tasks/admin/register.js +11 -15
- package/tasks/build/assets.js +14 -18
- package/tasks/build/css.js +54 -63
- package/tasks/build/javascript.js +45 -53
- 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 +7 -9
- 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 +22 -30
- package/tasks/config/project/install.js +56 -70
- package/tasks/config/project/release.js +6 -8
- package/tasks/config/tasks.js +8 -12
- package/tasks/config/user.js +13 -17
- package/tasks/docs/build.js +26 -31
- package/tasks/docs/metadata.js +24 -30
- package/tasks/docs/serve.js +20 -26
- package/tasks/install.js +71 -98
- package/tasks/rtl/build.js +2 -4
- package/tasks/rtl/watch.js +2 -4
- package/tasks/watch.js +9 -11
- package/test/meteor/fonts.js +1 -2
- package/test/modules/module.spec.js +16 -18
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* # Fomantic-UI 2.10.0-beta.
|
2
|
+
* # Fomantic-UI 2.10.0-beta.8+62e258f - Search
|
3
3
|
* https://github.com/fomantic/Fomantic-UI/
|
4
4
|
*
|
5
5
|
*
|
@@ -20,49 +20,45 @@
|
|
20
20
|
: globalThis;
|
21
21
|
|
22
22
|
$.fn.search = function (parameters) {
|
23
|
-
|
24
|
-
$allModules = $(this),
|
23
|
+
let $allModules = $(this);
|
25
24
|
|
26
|
-
|
27
|
-
|
25
|
+
let time = Date.now();
|
26
|
+
let performance = [];
|
28
27
|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
;
|
28
|
+
let query = arguments[0];
|
29
|
+
let methodInvoked = typeof query === 'string';
|
30
|
+
let queryArguments = [].slice.call(arguments, 1);
|
31
|
+
let returnedValue;
|
34
32
|
$allModules.each(function () {
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
module
|
65
|
-
;
|
33
|
+
let settings = $.isPlainObject(parameters)
|
34
|
+
? $.extend(true, {}, $.fn.search.settings, parameters)
|
35
|
+
: $.extend({}, $.fn.search.settings);
|
36
|
+
|
37
|
+
let className = settings.className;
|
38
|
+
let metadata = settings.metadata;
|
39
|
+
let regExp = settings.regExp;
|
40
|
+
let fields = settings.fields;
|
41
|
+
let selector = settings.selector;
|
42
|
+
let error = settings.error;
|
43
|
+
let namespace = settings.namespace;
|
44
|
+
|
45
|
+
let eventNamespace = '.' + namespace;
|
46
|
+
let moduleNamespace = namespace + '-module';
|
47
|
+
|
48
|
+
let $module = $(this);
|
49
|
+
let $prompt = $module.find(selector.prompt);
|
50
|
+
let $searchButton = $module.find(selector.searchButton);
|
51
|
+
let $results = $module.find(selector.results);
|
52
|
+
let $result = $module.find(selector.result);
|
53
|
+
let $category = $module.find(selector.category);
|
54
|
+
|
55
|
+
let element = this;
|
56
|
+
let instance = $module.data(moduleNamespace);
|
57
|
+
|
58
|
+
let disabledBubbled = false;
|
59
|
+
let resultsDismissed = false;
|
60
|
+
|
61
|
+
let module;
|
66
62
|
|
67
63
|
module = {
|
68
64
|
|
@@ -79,15 +75,13 @@
|
|
79
75
|
module.verbose('Storing instance of module', module);
|
80
76
|
instance = module;
|
81
77
|
$module
|
82
|
-
.data(moduleNamespace, module)
|
83
|
-
;
|
78
|
+
.data(moduleNamespace, module);
|
84
79
|
},
|
85
80
|
destroy: function () {
|
86
81
|
module.verbose('Destroying instance');
|
87
82
|
$module
|
88
83
|
.off(eventNamespace)
|
89
|
-
.removeData(moduleNamespace)
|
90
|
-
;
|
84
|
+
.removeData(moduleNamespace);
|
91
85
|
},
|
92
86
|
|
93
87
|
refresh: function () {
|
@@ -109,11 +103,9 @@
|
|
109
103
|
module.verbose('Binding events to search');
|
110
104
|
if (settings.automatic) {
|
111
105
|
$module
|
112
|
-
.on(module.get.inputEvent() + eventNamespace, selector.prompt, module.event.input)
|
113
|
-
;
|
106
|
+
.on(module.get.inputEvent() + eventNamespace, selector.prompt, module.event.input);
|
114
107
|
$prompt
|
115
|
-
.attr('autocomplete', module.is.chrome() ? 'fomantic-search' : 'off')
|
116
|
-
;
|
108
|
+
.attr('autocomplete', module.is.chrome() ? 'fomantic-search' : 'off');
|
117
109
|
}
|
118
110
|
$module
|
119
111
|
// prompt
|
@@ -126,8 +118,7 @@
|
|
126
118
|
.on('mousedown' + eventNamespace, selector.results, module.event.result.mousedown)
|
127
119
|
.on('mouseup' + eventNamespace, selector.results, module.event.result.mouseup)
|
128
120
|
.on('click' + eventNamespace, selector.result, module.event.result.click)
|
129
|
-
.on('click' + eventNamespace, selector.remove, module.event.remove.click)
|
130
|
-
;
|
121
|
+
.on('click' + eventNamespace, selector.remove, module.event.remove.click);
|
131
122
|
},
|
132
123
|
},
|
133
124
|
|
@@ -138,8 +129,7 @@
|
|
138
129
|
if (parameters && parameters.searchFields !== undefined) {
|
139
130
|
settings.searchFields = Array.isArray(parameters.searchFields)
|
140
131
|
? parameters.searchFields
|
141
|
-
: [parameters.searchFields]
|
142
|
-
;
|
132
|
+
: [parameters.searchFields];
|
143
133
|
}
|
144
134
|
},
|
145
135
|
},
|
@@ -168,16 +158,14 @@
|
|
168
158
|
}
|
169
159
|
},
|
170
160
|
blur: function (event) {
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
module.
|
177
|
-
|
178
|
-
|
179
|
-
}
|
180
|
-
;
|
161
|
+
let pageLostFocus = document.activeElement === this;
|
162
|
+
let callback = function () {
|
163
|
+
module.cancel.query();
|
164
|
+
module.remove.focus();
|
165
|
+
module.timer = setTimeout(function () {
|
166
|
+
module.hideResults();
|
167
|
+
}, settings.hideDelay);
|
168
|
+
};
|
181
169
|
if (pageLostFocus) {
|
182
170
|
return;
|
183
171
|
}
|
@@ -195,8 +183,7 @@
|
|
195
183
|
if (!module.is.animating() && !module.is.hidden()) {
|
196
184
|
callback();
|
197
185
|
}
|
198
|
-
})
|
199
|
-
;
|
186
|
+
});
|
200
187
|
} else {
|
201
188
|
module.debug('Input blurred without user action, closing results');
|
202
189
|
callback();
|
@@ -217,22 +204,20 @@
|
|
217
204
|
},
|
218
205
|
click: function (event) {
|
219
206
|
module.debug('Search result selected');
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
;
|
235
|
-
var oldValue = module.get.value();
|
207
|
+
let $result = $(this);
|
208
|
+
let $title = $result.find(selector.title).eq(0);
|
209
|
+
let $link = $result.is('a[href]')
|
210
|
+
? $result
|
211
|
+
: $result.find('a[href]').eq(0);
|
212
|
+
let href = $link.attr('href') || false;
|
213
|
+
let target = $link.attr('target') || false;
|
214
|
+
// title is used for result lookup
|
215
|
+
let value = $title.length > 0
|
216
|
+
? $title.text()
|
217
|
+
: false;
|
218
|
+
let results = module.get.results();
|
219
|
+
let result = $result.data(metadata.result) || module.get.result(value, results);
|
220
|
+
let oldValue = module.get.value();
|
236
221
|
if (isFunction(settings.onSelect)) {
|
237
222
|
if (settings.onSelect.call(element, result, results) === false) {
|
238
223
|
module.debug('Custom onSelect callback cancelled default select action');
|
@@ -258,12 +243,10 @@
|
|
258
243
|
},
|
259
244
|
},
|
260
245
|
ensureVisible: function ($el) {
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
resultsHeight
|
266
|
-
;
|
246
|
+
let elTop;
|
247
|
+
let elBottom;
|
248
|
+
let resultsScrollTop;
|
249
|
+
let resultsHeight;
|
267
250
|
if ($el.length === 0) {
|
268
251
|
return;
|
269
252
|
}
|
@@ -280,25 +263,23 @@
|
|
280
263
|
}
|
281
264
|
},
|
282
265
|
handleKeyboard: function (event) {
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
newIndex
|
301
|
-
;
|
266
|
+
// force selector refresh
|
267
|
+
let $result = $module.find(selector.result);
|
268
|
+
let $category = $module.find(selector.category);
|
269
|
+
let $activeResult = $result.filter('.' + className.active);
|
270
|
+
let currentIndex = $result.index($activeResult);
|
271
|
+
let resultSize = $result.length;
|
272
|
+
let hasActiveResult = $activeResult.length > 0;
|
273
|
+
|
274
|
+
let keyCode = event.which;
|
275
|
+
let keys = {
|
276
|
+
backspace: 8,
|
277
|
+
enter: 13,
|
278
|
+
escape: 27,
|
279
|
+
upArrow: 38,
|
280
|
+
downArrow: 40,
|
281
|
+
};
|
282
|
+
let newIndex;
|
302
283
|
// search shortcuts
|
303
284
|
if (keyCode === keys.escape) {
|
304
285
|
if (!module.is.visible()) {
|
@@ -325,15 +306,13 @@
|
|
325
306
|
? currentIndex
|
326
307
|
: currentIndex - 1;
|
327
308
|
$category
|
328
|
-
.removeClass(className.active)
|
329
|
-
;
|
309
|
+
.removeClass(className.active);
|
330
310
|
$result
|
331
311
|
.removeClass(className.active)
|
332
312
|
.eq(newIndex)
|
333
313
|
.addClass(className.active)
|
334
314
|
.closest($category)
|
335
|
-
.addClass(className.active)
|
336
|
-
;
|
315
|
+
.addClass(className.active);
|
337
316
|
module.ensureVisible($result.eq(newIndex));
|
338
317
|
event.preventDefault();
|
339
318
|
} else if (keyCode === keys.downArrow) {
|
@@ -342,15 +321,13 @@
|
|
342
321
|
? currentIndex
|
343
322
|
: currentIndex + 1;
|
344
323
|
$category
|
345
|
-
.removeClass(className.active)
|
346
|
-
;
|
324
|
+
.removeClass(className.active);
|
347
325
|
$result
|
348
326
|
.removeClass(className.active)
|
349
327
|
.eq(newIndex)
|
350
328
|
.addClass(className.active)
|
351
329
|
.closest($category)
|
352
|
-
.addClass(className.active)
|
353
|
-
;
|
330
|
+
.addClass(className.active);
|
354
331
|
module.ensureVisible($result.eq(newIndex));
|
355
332
|
event.preventDefault();
|
356
333
|
}
|
@@ -367,44 +344,42 @@
|
|
367
344
|
|
368
345
|
setup: {
|
369
346
|
api: function (searchTerm, callback) {
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
query: searchTerm,
|
378
|
-
},
|
347
|
+
let apiSettings = {
|
348
|
+
debug: settings.debug,
|
349
|
+
on: false,
|
350
|
+
cache: settings.cache,
|
351
|
+
action: 'search',
|
352
|
+
urlData: {
|
353
|
+
query: searchTerm,
|
379
354
|
},
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
}
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
}
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
|
399
|
-
}
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
}
|
406
|
-
}
|
407
|
-
;
|
355
|
+
};
|
356
|
+
let apiCallbacks = {
|
357
|
+
onSuccess: function (response, $module, xhr) {
|
358
|
+
module.parse.response.call(element, response, searchTerm);
|
359
|
+
callback();
|
360
|
+
if (settings.apiSettings && typeof settings.apiSettings.onSuccess === 'function') {
|
361
|
+
settings.apiSettings.onSuccess.call(this, response, $module, xhr);
|
362
|
+
}
|
363
|
+
},
|
364
|
+
onFailure: function (response, $module, xhr) {
|
365
|
+
module.displayMessage(error.serverError);
|
366
|
+
callback();
|
367
|
+
if (settings.apiSettings && typeof settings.apiSettings.onFailure === 'function') {
|
368
|
+
settings.apiSettings.onFailure.call(this, response, $module, xhr);
|
369
|
+
}
|
370
|
+
},
|
371
|
+
onAbort: function (status, $module, xhr) {
|
372
|
+
if (settings.apiSettings && typeof settings.apiSettings.onAbort === 'function') {
|
373
|
+
settings.apiSettings.onAbort.call(this, status, $module, xhr);
|
374
|
+
}
|
375
|
+
},
|
376
|
+
onError: function (errorMessage, $module, xhr) {
|
377
|
+
module.error();
|
378
|
+
if (settings.apiSettings && typeof settings.apiSettings.onError === 'function') {
|
379
|
+
settings.apiSettings.onError.call(this, errorMessage, $module, xhr);
|
380
|
+
}
|
381
|
+
},
|
382
|
+
};
|
408
383
|
$.extend(true, apiSettings, settings.apiSettings, apiCallbacks);
|
409
384
|
module.verbose('Setting up API request', apiSettings);
|
410
385
|
$module.api(apiSettings);
|
@@ -437,10 +412,8 @@
|
|
437
412
|
if (!event.target) {
|
438
413
|
return;
|
439
414
|
}
|
440
|
-
|
441
|
-
|
442
|
-
isInDOM = $.contains(document.documentElement, event.target)
|
443
|
-
;
|
415
|
+
let $target = $(event.target);
|
416
|
+
let isInDOM = $.contains(document.documentElement, event.target);
|
444
417
|
|
445
418
|
return isInDOM && $target.closest(selector.message).length > 0;
|
446
419
|
},
|
@@ -463,14 +436,12 @@
|
|
463
436
|
}
|
464
437
|
},
|
465
438
|
inputEvent: function () {
|
466
|
-
|
467
|
-
|
468
|
-
|
469
|
-
|
470
|
-
|
471
|
-
|
472
|
-
: 'keyup')
|
473
|
-
;
|
439
|
+
let prompt = $prompt[0];
|
440
|
+
let inputEvent = prompt !== undefined && prompt.oninput !== undefined
|
441
|
+
? 'input'
|
442
|
+
: (prompt !== undefined && prompt.onpropertychange !== undefined
|
443
|
+
? 'propertychange'
|
444
|
+
: 'keyup');
|
474
445
|
|
475
446
|
return inputEvent;
|
476
447
|
},
|
@@ -481,9 +452,7 @@
|
|
481
452
|
return $module.data(metadata.results);
|
482
453
|
},
|
483
454
|
result: function (value, results) {
|
484
|
-
|
485
|
-
result = false
|
486
|
-
;
|
455
|
+
let result = false;
|
487
456
|
value = value !== undefined
|
488
457
|
? value
|
489
458
|
: module.get.value();
|
@@ -527,8 +496,7 @@
|
|
527
496
|
value: function (value) {
|
528
497
|
module.verbose('Setting search input value', value);
|
529
498
|
$prompt
|
530
|
-
.val(value)
|
531
|
-
;
|
499
|
+
.val(value);
|
532
500
|
},
|
533
501
|
type: function (type) {
|
534
502
|
type = type || settings.type;
|
@@ -560,10 +528,8 @@
|
|
560
528
|
callback = isFunction(callback)
|
561
529
|
? callback
|
562
530
|
: function () {};
|
563
|
-
|
564
|
-
|
565
|
-
cache = module.read.cache(searchTerm)
|
566
|
-
;
|
531
|
+
let searchTerm = module.get.value();
|
532
|
+
let cache = module.read.cache(searchTerm);
|
567
533
|
callback = callback || function () {};
|
568
534
|
if (module.has.minimumCharacters()) {
|
569
535
|
if (cache) {
|
@@ -593,10 +559,8 @@
|
|
593
559
|
|
594
560
|
search: {
|
595
561
|
local: function (searchTerm) {
|
596
|
-
|
597
|
-
|
598
|
-
searchHTML
|
599
|
-
;
|
562
|
+
let results = module.search.object(searchTerm, settings.source);
|
563
|
+
let searchHTML;
|
600
564
|
module.set.loading();
|
601
565
|
module.save.results(results);
|
602
566
|
module.debug('Returned full local search results', results);
|
@@ -627,30 +591,25 @@
|
|
627
591
|
}
|
628
592
|
module.setup.api(searchTerm, callback);
|
629
593
|
$module
|
630
|
-
.api('query')
|
631
|
-
;
|
594
|
+
.api('query');
|
632
595
|
},
|
633
596
|
object: function (searchTerm, source, searchFields) {
|
634
597
|
searchTerm = module.remove.diacritics(String(searchTerm));
|
635
|
-
|
636
|
-
|
637
|
-
|
638
|
-
|
639
|
-
|
640
|
-
|
641
|
-
|
642
|
-
|
643
|
-
|
644
|
-
|
645
|
-
|
646
|
-
|
647
|
-
|
648
|
-
;
|
649
|
-
if (notResult && notFuzzyResult && notExactResults) {
|
650
|
-
array.push(result);
|
651
|
-
}
|
598
|
+
let results = [];
|
599
|
+
let exactResults = [];
|
600
|
+
let fuzzyResults = [];
|
601
|
+
let searchExp = searchTerm.replace(regExp.escape, '\\$&');
|
602
|
+
let matchRegExp = new RegExp(regExp.beginsWith + searchExp, settings.ignoreSearchCase ? 'i' : '');
|
603
|
+
|
604
|
+
// avoid duplicates when pushing results
|
605
|
+
let addResult = function (array, result) {
|
606
|
+
let notResult = $.inArray(result, results) === -1;
|
607
|
+
let notFuzzyResult = $.inArray(result, fuzzyResults) === -1;
|
608
|
+
let notExactResults = $.inArray(result, exactResults) === -1;
|
609
|
+
if (notResult && notFuzzyResult && notExactResults) {
|
610
|
+
array.push(result);
|
652
611
|
}
|
653
|
-
;
|
612
|
+
};
|
654
613
|
source = source || settings.source;
|
655
614
|
searchFields = searchFields !== undefined
|
656
615
|
? searchFields
|
@@ -668,15 +627,13 @@
|
|
668
627
|
return [];
|
669
628
|
}
|
670
629
|
// iterate through search fields looking for matches
|
671
|
-
|
630
|
+
let lastSearchFieldIndex = searchFields.length - 1;
|
672
631
|
$.each(source, function (label, content) {
|
673
|
-
|
632
|
+
let concatenatedContent = [];
|
674
633
|
$.each(searchFields, function (index, field) {
|
675
|
-
|
676
|
-
fieldExists = typeof content[field] === 'string' || typeof content[field] === 'number'
|
677
|
-
;
|
634
|
+
let fieldExists = typeof content[field] === 'string' || typeof content[field] === 'number';
|
678
635
|
if (fieldExists) {
|
679
|
-
|
636
|
+
let text;
|
680
637
|
text = typeof content[field] === 'string'
|
681
638
|
? module.remove.diacritics(content[field])
|
682
639
|
: content[field].toString();
|
@@ -719,11 +676,10 @@
|
|
719
676
|
return term.indexOf(query) > -1;
|
720
677
|
},
|
721
678
|
wordSearch: function (query, term, matchAll) {
|
722
|
-
|
723
|
-
|
724
|
-
|
725
|
-
|
726
|
-
;
|
679
|
+
let allWords = query.split(/\s+/);
|
680
|
+
let w;
|
681
|
+
let wL = allWords.length;
|
682
|
+
let found = false;
|
727
683
|
for (w = 0; w < wL; w++) {
|
728
684
|
found = module.exactSearch(allWords[w], term);
|
729
685
|
if ((!found && matchAll) || (found && !matchAll)) {
|
@@ -734,10 +690,8 @@
|
|
734
690
|
return found;
|
735
691
|
},
|
736
692
|
fuzzySearch: function (query, term) {
|
737
|
-
|
738
|
-
|
739
|
-
queryLength = query.length
|
740
|
-
;
|
693
|
+
let termLength = term.length;
|
694
|
+
let queryLength = query.length;
|
741
695
|
if (typeof query !== 'string') {
|
742
696
|
return false;
|
743
697
|
}
|
@@ -751,11 +705,9 @@
|
|
751
705
|
if (queryLength === termLength) {
|
752
706
|
return query === term;
|
753
707
|
}
|
754
|
-
for (
|
755
|
-
|
756
|
-
|
757
|
-
queryCharacter = query.charCodeAt(characterIndex)
|
758
|
-
;
|
708
|
+
for (let characterIndex = 0, nextCharacterIndex = 0; characterIndex < queryLength; characterIndex++) {
|
709
|
+
let continueSearch = false;
|
710
|
+
let queryCharacter = query.charCodeAt(characterIndex);
|
759
711
|
while (nextCharacterIndex < termLength) {
|
760
712
|
if (term.charCodeAt(nextCharacterIndex++) === queryCharacter) {
|
761
713
|
continueSearch = true;
|
@@ -775,13 +727,11 @@
|
|
775
727
|
parse: {
|
776
728
|
response: function (response, searchTerm) {
|
777
729
|
if (Array.isArray(response)) {
|
778
|
-
|
730
|
+
let o = {};
|
779
731
|
o[fields.results] = response;
|
780
732
|
response = o;
|
781
733
|
}
|
782
|
-
|
783
|
-
searchHTML = module.generateResults(response)
|
784
|
-
;
|
734
|
+
let searchHTML = module.generateResults(response);
|
785
735
|
module.verbose('Parsing server response', response);
|
786
736
|
if (response !== undefined) {
|
787
737
|
if (searchTerm !== undefined && response[fields.results] !== undefined) {
|
@@ -807,10 +757,8 @@
|
|
807
757
|
|
808
758
|
has: {
|
809
759
|
minimumCharacters: function () {
|
810
|
-
|
811
|
-
|
812
|
-
numCharacters = searchTerm.length
|
813
|
-
;
|
760
|
+
let searchTerm = module.get.value();
|
761
|
+
let numCharacters = searchTerm.length;
|
814
762
|
|
815
763
|
return numCharacters >= settings.minCharacters;
|
816
764
|
},
|
@@ -818,9 +766,7 @@
|
|
818
766
|
if ($results.length === 0) {
|
819
767
|
return false;
|
820
768
|
}
|
821
|
-
|
822
|
-
html = $results.html()
|
823
|
-
;
|
769
|
+
let html = $results.html();
|
824
770
|
|
825
771
|
return html !== '';
|
826
772
|
},
|
@@ -828,9 +774,7 @@
|
|
828
774
|
|
829
775
|
clear: {
|
830
776
|
cache: function (value) {
|
831
|
-
|
832
|
-
cache = $module.data(metadata.cache)
|
833
|
-
;
|
777
|
+
let cache = $module.data(metadata.cache);
|
834
778
|
if (!value) {
|
835
779
|
module.debug('Clearing cache', value);
|
836
780
|
$module.removeData(metadata.cache);
|
@@ -847,9 +791,7 @@
|
|
847
791
|
|
848
792
|
read: {
|
849
793
|
cache: function (name) {
|
850
|
-
|
851
|
-
cache = $module.data(metadata.cache)
|
852
|
-
;
|
794
|
+
let cache = $module.data(metadata.cache);
|
853
795
|
if (settings.cache) {
|
854
796
|
module.verbose('Checking cache for generated html for query', name);
|
855
797
|
|
@@ -864,9 +806,7 @@
|
|
864
806
|
|
865
807
|
create: {
|
866
808
|
categoryResults: function (results) {
|
867
|
-
|
868
|
-
categoryResults = {}
|
869
|
-
;
|
809
|
+
let categoryResults = {};
|
870
810
|
$.each(results, function (index, result) {
|
871
811
|
if (!result.category) {
|
872
812
|
return;
|
@@ -885,11 +825,9 @@
|
|
885
825
|
return categoryResults;
|
886
826
|
},
|
887
827
|
id: function (resultIndex, categoryIndex) {
|
888
|
-
|
889
|
-
|
890
|
-
|
891
|
-
id
|
892
|
-
;
|
828
|
+
let resultID = resultIndex + 1; // not zero indexed
|
829
|
+
let letterID;
|
830
|
+
let id;
|
893
831
|
if (categoryIndex !== undefined) {
|
894
832
|
// start char code for "A"
|
895
833
|
letterID = String.fromCharCode(97 + categoryIndex);
|
@@ -906,8 +844,7 @@
|
|
906
844
|
if ($results.length === 0) {
|
907
845
|
$results = $('<div />')
|
908
846
|
.addClass(className.results)
|
909
|
-
.appendTo($module)
|
910
|
-
;
|
847
|
+
.appendTo($module);
|
911
848
|
}
|
912
849
|
},
|
913
850
|
},
|
@@ -915,29 +852,24 @@
|
|
915
852
|
inject: {
|
916
853
|
result: function (result, resultIndex, categoryIndex) {
|
917
854
|
module.verbose('Injecting result into results');
|
918
|
-
|
919
|
-
$
|
920
|
-
|
921
|
-
|
922
|
-
|
923
|
-
|
924
|
-
|
925
|
-
|
926
|
-
|
927
|
-
.children(selector.result).eq(resultIndex)
|
928
|
-
;
|
855
|
+
let $selectedResult = categoryIndex !== undefined
|
856
|
+
? $results
|
857
|
+
.children().eq(categoryIndex)
|
858
|
+
.children(selector.results)
|
859
|
+
.first()
|
860
|
+
.children(selector.result)
|
861
|
+
.eq(resultIndex)
|
862
|
+
: $results
|
863
|
+
.children(selector.result).eq(resultIndex);
|
929
864
|
module.verbose('Injecting results metadata', $selectedResult);
|
930
865
|
$selectedResult
|
931
|
-
.data(metadata.result, result)
|
932
|
-
;
|
866
|
+
.data(metadata.result, result);
|
933
867
|
},
|
934
868
|
id: function (results) {
|
935
869
|
module.debug('Injecting unique ids into results');
|
936
|
-
|
937
|
-
|
938
|
-
|
939
|
-
resultIndex = 0
|
940
|
-
;
|
870
|
+
// since results may be an object, we must use counters
|
871
|
+
let categoryIndex = 0;
|
872
|
+
let resultIndex = 0;
|
941
873
|
if (settings.type === 'category') {
|
942
874
|
// iterate through each category result
|
943
875
|
$.each(results, function (index, category) {
|
@@ -977,17 +909,14 @@
|
|
977
909
|
|
978
910
|
write: {
|
979
911
|
cache: function (name, value) {
|
980
|
-
|
981
|
-
|
982
|
-
|
983
|
-
: {}
|
984
|
-
;
|
912
|
+
let cache = $module.data(metadata.cache) !== undefined
|
913
|
+
? $module.data(metadata.cache)
|
914
|
+
: {};
|
985
915
|
if (settings.cache) {
|
986
916
|
module.verbose('Writing generated html to cache', name, value);
|
987
917
|
cache[name] = value;
|
988
918
|
$module
|
989
|
-
.data(metadata.cache, cache)
|
990
|
-
;
|
919
|
+
.data(metadata.cache, cache);
|
991
920
|
}
|
992
921
|
},
|
993
922
|
},
|
@@ -1002,8 +931,7 @@
|
|
1002
931
|
}
|
1003
932
|
if (html) {
|
1004
933
|
$results
|
1005
|
-
.html(html)
|
1006
|
-
;
|
934
|
+
.html(html);
|
1007
935
|
module.refreshResults();
|
1008
936
|
if (settings.selectFirstResult) {
|
1009
937
|
module.select.firstResult();
|
@@ -1034,21 +962,19 @@
|
|
1034
962
|
silent: settings.silent,
|
1035
963
|
duration: settings.duration,
|
1036
964
|
onShow: function () {
|
1037
|
-
|
965
|
+
let $firstResult = $module.find(selector.result).eq(0);
|
1038
966
|
module.ensureVisible($firstResult);
|
1039
967
|
},
|
1040
968
|
onComplete: function () {
|
1041
969
|
callback();
|
1042
970
|
},
|
1043
971
|
queue: true,
|
1044
|
-
})
|
1045
|
-
;
|
972
|
+
});
|
1046
973
|
} else {
|
1047
974
|
module.debug('Showing results with javascript');
|
1048
975
|
$results
|
1049
976
|
.stop()
|
1050
|
-
.fadeIn(settings.duration, settings.easing)
|
1051
|
-
;
|
977
|
+
.fadeIn(settings.duration, settings.easing);
|
1052
978
|
}
|
1053
979
|
settings.onResultsOpen.call($results);
|
1054
980
|
}
|
@@ -1071,14 +997,12 @@
|
|
1071
997
|
callback();
|
1072
998
|
},
|
1073
999
|
queue: true,
|
1074
|
-
})
|
1075
|
-
;
|
1000
|
+
});
|
1076
1001
|
} else {
|
1077
1002
|
module.debug('Hiding results with javascript');
|
1078
1003
|
$results
|
1079
1004
|
.stop()
|
1080
|
-
.fadeOut(settings.duration, settings.easing)
|
1081
|
-
;
|
1005
|
+
.fadeOut(settings.duration, settings.easing);
|
1082
1006
|
}
|
1083
1007
|
settings.onResultsClose.call($results);
|
1084
1008
|
}
|
@@ -1086,12 +1010,10 @@
|
|
1086
1010
|
|
1087
1011
|
generateResults: function (response) {
|
1088
1012
|
module.debug('Generating html from response', response);
|
1089
|
-
|
1090
|
-
|
1091
|
-
|
1092
|
-
|
1093
|
-
html = ''
|
1094
|
-
;
|
1013
|
+
let template = settings.templates[settings.type];
|
1014
|
+
let isProperObject = $.isPlainObject(response[fields.results]) && !$.isEmptyObject(response[fields.results]);
|
1015
|
+
let isProperArray = Array.isArray(response[fields.results]) && response[fields.results].length > 0;
|
1016
|
+
let html = '';
|
1095
1017
|
if (isProperObject || isProperArray) {
|
1096
1018
|
if (settings.maxResults > 0) {
|
1097
1019
|
if (isProperObject) {
|
@@ -1103,27 +1025,24 @@
|
|
1103
1025
|
}
|
1104
1026
|
}
|
1105
1027
|
if (settings.highlightMatches) {
|
1106
|
-
|
1107
|
-
|
1108
|
-
|
1109
|
-
|
1110
|
-
|
1111
|
-
|
1112
|
-
|
1113
|
-
|
1114
|
-
|
1115
|
-
|
1028
|
+
let results = response[fields.results];
|
1029
|
+
let regExpIgnore = settings.ignoreSearchCase ? 'i' : '';
|
1030
|
+
let querySplit = module.get.value().split('');
|
1031
|
+
let diacriticReg = settings.ignoreDiacritics ? '[\u0300-\u036F]?' : '';
|
1032
|
+
let htmlReg = '(?![^<]*>)';
|
1033
|
+
let markedRegExp = new RegExp(htmlReg + '(' + querySplit.join(diacriticReg + ')(.*?)' + htmlReg + '(') + diacriticReg + ')', regExpIgnore);
|
1034
|
+
let markedReplacer = function () {
|
1035
|
+
let args = [].slice.call(arguments, 1, querySplit.length * 2).map(function (x, i) {
|
1036
|
+
return i & 1 ? x : '<mark>' + x + '</mark>'; // eslint-disable-line no-bitwise
|
1037
|
+
});
|
1116
1038
|
|
1117
|
-
|
1118
|
-
|
1119
|
-
;
|
1039
|
+
return args.join('');
|
1040
|
+
};
|
1120
1041
|
$.each(results, function (label, content) {
|
1121
1042
|
$.each(settings.searchFields, function (index, field) {
|
1122
|
-
|
1123
|
-
fieldExists = typeof content[field] === 'string' || typeof content[field] === 'number'
|
1124
|
-
;
|
1043
|
+
let fieldExists = typeof content[field] === 'string' || typeof content[field] === 'number';
|
1125
1044
|
if (fieldExists) {
|
1126
|
-
|
1045
|
+
let markedHTML = typeof content[field] === 'string'
|
1127
1046
|
? content[field]
|
1128
1047
|
: content[field].toString();
|
1129
1048
|
if (settings.ignoreDiacritics) {
|
@@ -1202,11 +1121,9 @@
|
|
1202
1121
|
},
|
1203
1122
|
performance: {
|
1204
1123
|
log: function (message) {
|
1205
|
-
|
1206
|
-
|
1207
|
-
|
1208
|
-
previousTime
|
1209
|
-
;
|
1124
|
+
let currentTime;
|
1125
|
+
let executionTime;
|
1126
|
+
let previousTime;
|
1210
1127
|
if (settings.performance) {
|
1211
1128
|
currentTime = Date.now();
|
1212
1129
|
previousTime = time || currentTime;
|
@@ -1225,10 +1142,8 @@
|
|
1225
1142
|
}, 500);
|
1226
1143
|
},
|
1227
1144
|
display: function () {
|
1228
|
-
|
1229
|
-
|
1230
|
-
totalTime = 0
|
1231
|
-
;
|
1145
|
+
let title = settings.name + ':';
|
1146
|
+
let totalTime = 0;
|
1232
1147
|
time = false;
|
1233
1148
|
clearTimeout(module.performance.timer);
|
1234
1149
|
$.each(performance, function (index, data) {
|
@@ -1253,22 +1168,19 @@
|
|
1253
1168
|
},
|
1254
1169
|
},
|
1255
1170
|
invoke: function (query, passedArguments, context) {
|
1256
|
-
|
1257
|
-
|
1258
|
-
|
1259
|
-
|
1260
|
-
response
|
1261
|
-
;
|
1171
|
+
let object = instance;
|
1172
|
+
let maxDepth;
|
1173
|
+
let found;
|
1174
|
+
let response;
|
1262
1175
|
passedArguments = passedArguments || queryArguments;
|
1263
1176
|
context = context || element;
|
1264
1177
|
if (typeof query === 'string' && object !== undefined) {
|
1265
1178
|
query = query.split(/[ .]/);
|
1266
1179
|
maxDepth = query.length - 1;
|
1267
1180
|
$.each(query, function (depth, value) {
|
1268
|
-
|
1181
|
+
let camelCaseValue = depth !== maxDepth
|
1269
1182
|
? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
|
1270
|
-
: query
|
1271
|
-
;
|
1183
|
+
: query;
|
1272
1184
|
if ($.isPlainObject(object[camelCaseValue]) && (depth !== maxDepth)) {
|
1273
1185
|
object = object[camelCaseValue];
|
1274
1186
|
} else if (object[camelCaseValue] !== undefined) {
|
@@ -1475,32 +1387,25 @@
|
|
1475
1387
|
if (settings !== undefined && settings.preserveHTML) {
|
1476
1388
|
return string;
|
1477
1389
|
}
|
1478
|
-
|
1479
|
-
|
1480
|
-
|
1481
|
-
|
1482
|
-
|
1483
|
-
|
1484
|
-
|
1485
|
-
|
1486
|
-
|
1487
|
-
|
1488
|
-
|
1489
|
-
|
1490
|
-
|
1491
|
-
|
1492
|
-
string = string.replace(/&(?![\d#a-z]{1,12};)/gi, '&');
|
1493
|
-
string = string.replace(badChars, escapedChar);
|
1494
|
-
// FUI controlled HTML is still allowed
|
1495
|
-
string = string.replace(/<(\/)*mark>/g, '<$1mark>');
|
1496
|
-
}
|
1390
|
+
|
1391
|
+
const badChars = /["'<>]|&(?![\d#A-Za-z]{1,12};)/g;
|
1392
|
+
const escape = {
|
1393
|
+
'"': '"',
|
1394
|
+
'&': '&',
|
1395
|
+
"'": ''',
|
1396
|
+
'<': '<',
|
1397
|
+
'>': '>',
|
1398
|
+
};
|
1399
|
+
|
1400
|
+
string = string.replace(badChars, (chr) => escape[chr]);
|
1401
|
+
|
1402
|
+
// FUI controlled HTML is still allowed
|
1403
|
+
string = string.replace(/<(\/)*mark>/g, '<$1mark>');
|
1497
1404
|
|
1498
1405
|
return string;
|
1499
1406
|
},
|
1500
1407
|
message: function (message, type, header) {
|
1501
|
-
|
1502
|
-
html = ''
|
1503
|
-
;
|
1408
|
+
let html = '';
|
1504
1409
|
if (message !== undefined && type !== undefined) {
|
1505
1410
|
html += ''
|
1506
1411
|
+ '<div class="message ' + type + '">';
|
@@ -1515,11 +1420,9 @@
|
|
1515
1420
|
return html;
|
1516
1421
|
},
|
1517
1422
|
category: function (response, settings) {
|
1518
|
-
|
1519
|
-
|
1520
|
-
|
1521
|
-
escape = settings.templates.escape
|
1522
|
-
;
|
1423
|
+
let html = '';
|
1424
|
+
let fields = settings.fields;
|
1425
|
+
let escape = settings.templates.escape;
|
1523
1426
|
if (response[fields.categoryResults] !== undefined) {
|
1524
1427
|
// each category
|
1525
1428
|
$.each(response[fields.categoryResults], function (index, category) {
|
@@ -1579,11 +1482,9 @@
|
|
1579
1482
|
return false;
|
1580
1483
|
},
|
1581
1484
|
standard: function (response, settings) {
|
1582
|
-
|
1583
|
-
|
1584
|
-
|
1585
|
-
escape = settings.templates.escape
|
1586
|
-
;
|
1485
|
+
let html = '';
|
1486
|
+
let fields = settings.fields;
|
1487
|
+
let escape = settings.templates.escape;
|
1587
1488
|
if (response[fields.results] !== undefined) {
|
1588
1489
|
// each result
|
1589
1490
|
$.each(response[fields.results], function (index, result) {
|