@drecchia/tom-select 2.5.2-virtual-scroll.0 → 2.5.2-virtual-scroll.1

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.
Files changed (248) hide show
  1. package/dist/cjs/constants.js +16 -0
  2. package/dist/cjs/constants.js.map +1 -0
  3. package/dist/cjs/contrib/highlight.js +69 -0
  4. package/dist/cjs/contrib/highlight.js.map +1 -0
  5. package/dist/cjs/contrib/microevent.js +64 -0
  6. package/dist/cjs/contrib/microevent.js.map +1 -0
  7. package/dist/cjs/contrib/microplugin.js +112 -0
  8. package/dist/cjs/contrib/microplugin.js.map +1 -0
  9. package/dist/cjs/defaults.js +85 -0
  10. package/dist/cjs/defaults.js.map +1 -0
  11. package/dist/cjs/getSettings.js +146 -0
  12. package/dist/cjs/getSettings.js.map +1 -0
  13. package/dist/cjs/package.json +1 -0
  14. package/dist/cjs/plugins/caret_position/plugin.js +66 -0
  15. package/dist/cjs/plugins/caret_position/plugin.js.map +1 -0
  16. package/dist/cjs/plugins/change_listener/plugin.js +25 -0
  17. package/dist/cjs/plugins/change_listener/plugin.js.map +1 -0
  18. package/dist/cjs/plugins/checkbox_options/plugin.js +108 -0
  19. package/dist/cjs/plugins/checkbox_options/plugin.js.map +1 -0
  20. package/dist/cjs/plugins/checkbox_options/types.js +3 -0
  21. package/dist/cjs/plugins/checkbox_options/types.js.map +1 -0
  22. package/dist/cjs/plugins/clear_button/plugin.js +47 -0
  23. package/dist/cjs/plugins/clear_button/plugin.js.map +1 -0
  24. package/dist/cjs/plugins/clear_button/types.js +3 -0
  25. package/dist/cjs/plugins/clear_button/types.js.map +1 -0
  26. package/dist/cjs/plugins/drag_drop/plugin.js +117 -0
  27. package/dist/cjs/plugins/drag_drop/plugin.js.map +1 -0
  28. package/dist/cjs/plugins/dropdown_header/plugin.js +50 -0
  29. package/dist/cjs/plugins/dropdown_header/plugin.js.map +1 -0
  30. package/dist/cjs/plugins/dropdown_header/types.js +3 -0
  31. package/dist/cjs/plugins/dropdown_header/types.js.map +1 -0
  32. package/dist/cjs/plugins/dropdown_input/plugin.js +88 -0
  33. package/dist/cjs/plugins/dropdown_input/plugin.js.map +1 -0
  34. package/dist/cjs/plugins/input_autogrow/plugin.js +47 -0
  35. package/dist/cjs/plugins/input_autogrow/plugin.js.map +1 -0
  36. package/dist/cjs/plugins/local_virtual_scroll/plugin.js +293 -0
  37. package/dist/cjs/plugins/local_virtual_scroll/plugin.js.map +1 -0
  38. package/dist/cjs/plugins/local_virtual_scroll/types.js +3 -0
  39. package/dist/cjs/plugins/local_virtual_scroll/types.js.map +1 -0
  40. package/dist/cjs/plugins/no_active_items/plugin.js +22 -0
  41. package/dist/cjs/plugins/no_active_items/plugin.js.map +1 -0
  42. package/dist/cjs/plugins/no_backspace_delete/plugin.js +28 -0
  43. package/dist/cjs/plugins/no_backspace_delete/plugin.js.map +1 -0
  44. package/dist/cjs/plugins/optgroup_columns/plugin.js +51 -0
  45. package/dist/cjs/plugins/optgroup_columns/plugin.js.map +1 -0
  46. package/dist/cjs/plugins/remove_button/plugin.js +61 -0
  47. package/dist/cjs/plugins/remove_button/plugin.js.map +1 -0
  48. package/dist/cjs/plugins/remove_button/types.js +3 -0
  49. package/dist/cjs/plugins/remove_button/types.js.map +1 -0
  50. package/dist/cjs/plugins/restore_on_backspace/plugin.js +24 -0
  51. package/dist/cjs/plugins/restore_on_backspace/plugin.js.map +1 -0
  52. package/dist/cjs/plugins/virtual_scroll/plugin.js +170 -0
  53. package/dist/cjs/plugins/virtual_scroll/plugin.js.map +1 -0
  54. package/dist/cjs/tom-select.complete.js +35 -0
  55. package/dist/cjs/tom-select.complete.js.map +1 -0
  56. package/dist/cjs/tom-select.js +2303 -0
  57. package/dist/cjs/tom-select.js.map +1 -0
  58. package/dist/cjs/tom-select.popular.js +15 -0
  59. package/dist/cjs/tom-select.popular.js.map +1 -0
  60. package/dist/cjs/types/core.js +3 -0
  61. package/dist/cjs/types/core.js.map +1 -0
  62. package/dist/cjs/types/index.js +19 -0
  63. package/dist/cjs/types/index.js.map +1 -0
  64. package/dist/cjs/types/settings.js +3 -0
  65. package/dist/cjs/types/settings.js.map +1 -0
  66. package/dist/cjs/utils.js +212 -0
  67. package/dist/cjs/utils.js.map +1 -0
  68. package/dist/cjs/vanilla.js +190 -0
  69. package/dist/cjs/vanilla.js.map +1 -0
  70. package/dist/css/tom-select.bootstrap4.css +16 -4
  71. package/dist/css/tom-select.bootstrap4.css.map +1 -0
  72. package/dist/css/tom-select.bootstrap4.min.css +2 -0
  73. package/dist/css/tom-select.bootstrap4.min.css.map +1 -0
  74. package/dist/css/tom-select.bootstrap5.css +16 -4
  75. package/dist/css/tom-select.bootstrap5.css.map +1 -0
  76. package/dist/css/tom-select.bootstrap5.min.css +2 -0
  77. package/dist/css/tom-select.bootstrap5.min.css.map +1 -0
  78. package/dist/css/tom-select.css +12 -4
  79. package/dist/css/tom-select.css.map +1 -0
  80. package/dist/css/tom-select.default.css +11 -5
  81. package/dist/css/tom-select.default.css.map +1 -1
  82. package/dist/css/tom-select.default.min.css +2 -0
  83. package/dist/css/tom-select.default.min.css.map +1 -0
  84. package/dist/css/tom-select.min.css +2 -0
  85. package/dist/css/tom-select.min.css.map +1 -0
  86. package/dist/esm/constants.d.ts +12 -0
  87. package/dist/esm/constants.js +13 -0
  88. package/dist/esm/constants.js.map +1 -0
  89. package/dist/esm/contrib/highlight.d.ts +13 -0
  90. package/dist/esm/contrib/highlight.js +64 -0
  91. package/dist/esm/contrib/highlight.js.map +1 -0
  92. package/dist/esm/contrib/microevent.d.ts +20 -0
  93. package/dist/esm/contrib/microevent.js +61 -0
  94. package/dist/esm/contrib/microevent.js.map +1 -0
  95. package/dist/esm/contrib/microplugin.d.ts +71 -0
  96. package/dist/esm/contrib/microplugin.js +109 -0
  97. package/dist/esm/contrib/microplugin.js.map +1 -0
  98. package/dist/esm/defaults.d.ts +53 -0
  99. package/dist/esm/defaults.js +83 -0
  100. package/dist/esm/defaults.js.map +1 -0
  101. package/dist/esm/getSettings.d.ts +3 -0
  102. package/dist/esm/getSettings.js +143 -0
  103. package/dist/esm/getSettings.js.map +1 -0
  104. package/dist/esm/plugins/caret_position/plugin.d.ts +16 -0
  105. package/dist/esm/plugins/caret_position/plugin.js +1 -1
  106. package/dist/esm/plugins/change_listener/plugin.d.ts +16 -0
  107. package/dist/esm/plugins/change_listener/plugin.js +1 -1
  108. package/dist/esm/plugins/checkbox_options/plugin.d.ts +17 -0
  109. package/dist/esm/plugins/checkbox_options/plugin.js +1 -1
  110. package/dist/esm/plugins/checkbox_options/types.d.ts +14 -0
  111. package/dist/esm/plugins/checkbox_options/types.js +2 -0
  112. package/dist/esm/plugins/checkbox_options/types.js.map +1 -0
  113. package/dist/esm/plugins/clear_button/plugin.d.ts +17 -0
  114. package/dist/esm/plugins/clear_button/plugin.js +1 -1
  115. package/dist/esm/plugins/clear_button/types.d.ts +7 -0
  116. package/dist/esm/plugins/clear_button/types.js +2 -0
  117. package/dist/esm/plugins/clear_button/types.js.map +1 -0
  118. package/dist/esm/plugins/drag_drop/plugin.d.ts +16 -0
  119. package/dist/esm/plugins/drag_drop/plugin.js +1 -1
  120. package/dist/esm/plugins/dropdown_header/plugin.d.ts +17 -0
  121. package/dist/esm/plugins/dropdown_header/plugin.js +1 -1
  122. package/dist/esm/plugins/dropdown_header/types.d.ts +8 -0
  123. package/dist/esm/plugins/dropdown_header/types.js +2 -0
  124. package/dist/esm/plugins/dropdown_header/types.js.map +1 -0
  125. package/dist/esm/plugins/dropdown_input/plugin.d.ts +16 -0
  126. package/dist/esm/plugins/dropdown_input/plugin.js +1 -1
  127. package/dist/esm/plugins/input_autogrow/plugin.d.ts +15 -0
  128. package/dist/esm/plugins/input_autogrow/plugin.js +1 -1
  129. package/dist/esm/plugins/local_virtual_scroll/plugin.d.ts +19 -0
  130. package/dist/esm/plugins/local_virtual_scroll/plugin.js +92 -1
  131. package/dist/esm/plugins/local_virtual_scroll/plugin.js.map +1 -1
  132. package/dist/esm/plugins/local_virtual_scroll/types.d.ts +14 -0
  133. package/dist/esm/plugins/local_virtual_scroll/types.js +2 -0
  134. package/dist/esm/plugins/local_virtual_scroll/types.js.map +1 -0
  135. package/dist/esm/plugins/no_active_items/plugin.d.ts +15 -0
  136. package/dist/esm/plugins/no_active_items/plugin.js +1 -1
  137. package/dist/esm/plugins/no_backspace_delete/plugin.d.ts +15 -0
  138. package/dist/esm/plugins/no_backspace_delete/plugin.js +1 -1
  139. package/dist/esm/plugins/optgroup_columns/plugin.d.ts +16 -0
  140. package/dist/esm/plugins/optgroup_columns/plugin.js +1 -1
  141. package/dist/esm/plugins/remove_button/plugin.d.ts +17 -0
  142. package/dist/esm/plugins/remove_button/plugin.js +1 -1
  143. package/dist/esm/plugins/remove_button/types.d.ts +6 -0
  144. package/dist/esm/plugins/remove_button/types.js +2 -0
  145. package/dist/esm/plugins/remove_button/types.js.map +1 -0
  146. package/dist/esm/plugins/restore_on_backspace/plugin.d.ts +21 -0
  147. package/dist/esm/plugins/restore_on_backspace/plugin.js +1 -1
  148. package/dist/esm/plugins/virtual_scroll/plugin.d.ts +16 -0
  149. package/dist/esm/plugins/virtual_scroll/plugin.js +1 -1
  150. package/dist/esm/tom-select.complete.d.ts +2 -0
  151. package/dist/esm/tom-select.complete.js +33 -0
  152. package/dist/esm/tom-select.complete.js.map +1 -0
  153. package/dist/esm/tom-select.d.ts +594 -0
  154. package/dist/esm/tom-select.js +2300 -0
  155. package/dist/esm/tom-select.js.map +1 -0
  156. package/dist/esm/tom-select.popular.d.ts +2 -0
  157. package/dist/esm/tom-select.popular.js +13 -0
  158. package/dist/esm/tom-select.popular.js.map +1 -0
  159. package/dist/esm/types/core.d.ts +50 -0
  160. package/dist/esm/types/core.js +2 -0
  161. package/dist/esm/types/core.js.map +1 -0
  162. package/dist/esm/types/index.d.ts +2 -0
  163. package/dist/esm/types/index.js +3 -0
  164. package/dist/esm/types/index.js.map +1 -0
  165. package/dist/esm/types/settings.d.ts +81 -0
  166. package/dist/esm/types/settings.js +2 -0
  167. package/dist/esm/types/settings.js.map +1 -0
  168. package/dist/esm/utils.d.ts +95 -0
  169. package/dist/esm/utils.js +195 -0
  170. package/dist/esm/utils.js.map +1 -0
  171. package/dist/esm/vanilla.d.ts +76 -0
  172. package/dist/esm/vanilla.js +172 -0
  173. package/dist/esm/vanilla.js.map +1 -0
  174. package/dist/js/package.json +1 -0
  175. package/dist/js/plugins/caret_position.js +1 -1
  176. package/dist/js/plugins/change_listener.js +1 -1
  177. package/dist/js/plugins/checkbox_options.js +1 -1
  178. package/dist/js/plugins/clear_button.js +1 -1
  179. package/dist/js/plugins/drag_drop.js +1 -1
  180. package/dist/js/plugins/dropdown_header.js +1 -1
  181. package/dist/js/plugins/dropdown_input.js +1 -1
  182. package/dist/js/plugins/input_autogrow.js +1 -1
  183. package/dist/js/plugins/local_virtual_scroll.js +92 -1
  184. package/dist/js/plugins/local_virtual_scroll.js.map +1 -1
  185. package/dist/js/plugins/no_active_items.js +1 -1
  186. package/dist/js/plugins/no_backspace_delete.js +1 -1
  187. package/dist/js/plugins/optgroup_columns.js +1 -1
  188. package/dist/js/plugins/remove_button.js +1 -1
  189. package/dist/js/plugins/restore_on_backspace.js +1 -1
  190. package/dist/js/plugins/virtual_scroll.js +1 -1
  191. package/dist/js/tom-select.base.js +1 -1
  192. package/dist/js/tom-select.base.min.js +1 -1
  193. package/dist/js/tom-select.complete.js +19 -1
  194. package/dist/js/tom-select.complete.js.map +1 -1
  195. package/dist/js/tom-select.complete.min.js +51 -45
  196. package/dist/js/tom-select.complete.min.js.map +1 -1
  197. package/dist/js/tom-select.popular.js +1 -1
  198. package/dist/js/tom-select.popular.min.js +1 -1
  199. package/dist/scss/_dropdown.scss +99 -0
  200. package/dist/scss/_items.scss +114 -0
  201. package/dist/scss/plugins/checkbox_options.scss +11 -0
  202. package/dist/scss/plugins/clear_button.scss +33 -0
  203. package/dist/scss/plugins/drag_drop.scss +10 -0
  204. package/dist/scss/plugins/dropdown_header.scss +24 -0
  205. package/dist/scss/plugins/dropdown_input.scss +43 -0
  206. package/dist/scss/plugins/input_autogrow.scss +15 -0
  207. package/dist/scss/plugins/optgroup_columns.scss +25 -0
  208. package/dist/scss/plugins/remove_button.scss +70 -0
  209. package/dist/scss/tom-select.bootstrap4.scss +218 -0
  210. package/dist/scss/tom-select.bootstrap5.scss +270 -0
  211. package/dist/scss/tom-select.default.scss +89 -0
  212. package/dist/scss/tom-select.scss +179 -0
  213. package/package.json +2 -2
  214. package/src/plugins/local_virtual_scroll/plugin.ts +19 -0
  215. /package/dist/{types → cjs}/constants.d.ts +0 -0
  216. /package/dist/{types → cjs}/contrib/highlight.d.ts +0 -0
  217. /package/dist/{types → cjs}/contrib/microevent.d.ts +0 -0
  218. /package/dist/{types → cjs}/contrib/microplugin.d.ts +0 -0
  219. /package/dist/{types → cjs}/defaults.d.ts +0 -0
  220. /package/dist/{types → cjs}/getSettings.d.ts +0 -0
  221. /package/dist/{types → cjs}/plugins/caret_position/plugin.d.ts +0 -0
  222. /package/dist/{types → cjs}/plugins/change_listener/plugin.d.ts +0 -0
  223. /package/dist/{types → cjs}/plugins/checkbox_options/plugin.d.ts +0 -0
  224. /package/dist/{types → cjs}/plugins/checkbox_options/types.d.ts +0 -0
  225. /package/dist/{types → cjs}/plugins/clear_button/plugin.d.ts +0 -0
  226. /package/dist/{types → cjs}/plugins/clear_button/types.d.ts +0 -0
  227. /package/dist/{types → cjs}/plugins/drag_drop/plugin.d.ts +0 -0
  228. /package/dist/{types → cjs}/plugins/dropdown_header/plugin.d.ts +0 -0
  229. /package/dist/{types → cjs}/plugins/dropdown_header/types.d.ts +0 -0
  230. /package/dist/{types → cjs}/plugins/dropdown_input/plugin.d.ts +0 -0
  231. /package/dist/{types → cjs}/plugins/input_autogrow/plugin.d.ts +0 -0
  232. /package/dist/{types → cjs}/plugins/local_virtual_scroll/plugin.d.ts +0 -0
  233. /package/dist/{types → cjs}/plugins/local_virtual_scroll/types.d.ts +0 -0
  234. /package/dist/{types → cjs}/plugins/no_active_items/plugin.d.ts +0 -0
  235. /package/dist/{types → cjs}/plugins/no_backspace_delete/plugin.d.ts +0 -0
  236. /package/dist/{types → cjs}/plugins/optgroup_columns/plugin.d.ts +0 -0
  237. /package/dist/{types → cjs}/plugins/remove_button/plugin.d.ts +0 -0
  238. /package/dist/{types → cjs}/plugins/remove_button/types.d.ts +0 -0
  239. /package/dist/{types → cjs}/plugins/restore_on_backspace/plugin.d.ts +0 -0
  240. /package/dist/{types → cjs}/plugins/virtual_scroll/plugin.d.ts +0 -0
  241. /package/dist/{types → cjs}/tom-select.complete.d.ts +0 -0
  242. /package/dist/{types → cjs}/tom-select.d.ts +0 -0
  243. /package/dist/{types → cjs}/tom-select.popular.d.ts +0 -0
  244. /package/dist/{types → cjs}/types/core.d.ts +0 -0
  245. /package/dist/{types → cjs}/types/index.d.ts +0 -0
  246. /package/dist/{types → cjs}/types/settings.d.ts +0 -0
  247. /package/dist/{types → cjs}/utils.d.ts +0 -0
  248. /package/dist/{types → cjs}/vanilla.d.ts +0 -0
@@ -0,0 +1,170 @@
1
+ "use strict";
2
+ /**
3
+ * Plugin: "restore_on_backspace" (Tom Select)
4
+ * Copyright (c) contributors
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
7
+ * file except in compliance with the License. You may obtain a copy of the License at:
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software distributed under
11
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
12
+ * ANY KIND, either express or implied. See the License for the specific language
13
+ * governing permissions and limitations under the License.
14
+ *
15
+ */
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.default = default_1;
18
+ const vanilla_ts_1 = require("../../vanilla.js");
19
+ function default_1() {
20
+ const self = this;
21
+ const orig_canLoad = self.canLoad;
22
+ const orig_clearActiveOption = self.clearActiveOption;
23
+ const orig_loadCallback = self.loadCallback;
24
+ var pagination = {};
25
+ var dropdown_content;
26
+ var loading_more = false;
27
+ var load_more_opt;
28
+ var default_values = [];
29
+ if (!self.settings.shouldLoadMore) {
30
+ // return true if additional results should be loaded
31
+ self.settings.shouldLoadMore = () => {
32
+ const scroll_percent = dropdown_content.clientHeight / (dropdown_content.scrollHeight - dropdown_content.scrollTop);
33
+ if (scroll_percent > 0.9) {
34
+ return true;
35
+ }
36
+ if (self.activeOption) {
37
+ var selectable = self.selectable();
38
+ var index = Array.from(selectable).indexOf(self.activeOption);
39
+ if (index >= (selectable.length - 2)) {
40
+ return true;
41
+ }
42
+ }
43
+ return false;
44
+ };
45
+ }
46
+ if (!self.settings.firstUrl) {
47
+ throw 'virtual_scroll plugin requires a firstUrl() method';
48
+ }
49
+ // in order for virtual scrolling to work,
50
+ // options need to be ordered the same way they're returned from the remote data source
51
+ self.settings.sortField = [{ field: '$order' }, { field: '$score' }];
52
+ // can we load more results for given query?
53
+ const canLoadMore = (query) => {
54
+ if (typeof self.settings.maxOptions === 'number' && dropdown_content.children.length >= self.settings.maxOptions) {
55
+ return false;
56
+ }
57
+ if ((query in pagination) && pagination[query]) {
58
+ return true;
59
+ }
60
+ return false;
61
+ };
62
+ const clearFilter = (option, value) => {
63
+ if (self.items.indexOf(value) >= 0 || default_values.indexOf(value) >= 0) {
64
+ return true;
65
+ }
66
+ return false;
67
+ };
68
+ // set the next url that will be
69
+ self.setNextUrl = (value, next_url) => {
70
+ pagination[value] = next_url;
71
+ };
72
+ // getUrl() to be used in settings.load()
73
+ self.getUrl = (query) => {
74
+ if (query in pagination) {
75
+ const next_url = pagination[query];
76
+ pagination[query] = false;
77
+ return next_url;
78
+ }
79
+ // if the user goes back to a previous query
80
+ // we need to load the first page again
81
+ self.clearPagination();
82
+ return self.settings.firstUrl.call(self, query);
83
+ };
84
+ // clear pagination
85
+ self.clearPagination = () => {
86
+ pagination = {};
87
+ };
88
+ // don't clear the active option (and cause unwanted dropdown scroll)
89
+ // while loading more results
90
+ self.hook('instead', 'clearActiveOption', () => {
91
+ if (loading_more) {
92
+ return;
93
+ }
94
+ return orig_clearActiveOption.call(self);
95
+ });
96
+ // override the canLoad method
97
+ self.hook('instead', 'canLoad', (query) => {
98
+ // first time the query has been seen
99
+ if (!(query in pagination)) {
100
+ return orig_canLoad.call(self, query);
101
+ }
102
+ return canLoadMore(query);
103
+ });
104
+ // wrap the load
105
+ self.hook('instead', 'loadCallback', (options, optgroups) => {
106
+ if (!loading_more) {
107
+ self.clearOptions(clearFilter);
108
+ }
109
+ else if (load_more_opt) {
110
+ const first_option = options[0];
111
+ if (first_option !== undefined) {
112
+ load_more_opt.dataset.value = first_option[self.settings.valueField];
113
+ }
114
+ }
115
+ orig_loadCallback.call(self, options, optgroups);
116
+ loading_more = false;
117
+ });
118
+ // add templates to dropdown
119
+ // loading_more if we have another url in the queue
120
+ // no_more_results if we don't have another url in the queue
121
+ self.hook('after', 'refreshOptions', () => {
122
+ const query = self.lastValue;
123
+ var option;
124
+ if (canLoadMore(query)) {
125
+ option = self.render('loading_more', { query: query });
126
+ if (option) {
127
+ option.setAttribute('data-selectable', ''); // so that navigating dropdown with [down] keypresses can navigate to this node
128
+ load_more_opt = option;
129
+ }
130
+ }
131
+ else if ((query in pagination) && !dropdown_content.querySelector('.no-results')) {
132
+ option = self.render('no_more_results', { query: query });
133
+ }
134
+ if (option) {
135
+ (0, vanilla_ts_1.addClasses)(option, self.settings.optionClass);
136
+ dropdown_content.append(option);
137
+ }
138
+ });
139
+ // add scroll listener and default templates
140
+ self.on('initialize', () => {
141
+ default_values = Object.keys(self.options);
142
+ dropdown_content = self.dropdown_content;
143
+ // default templates
144
+ self.settings.render = Object.assign({}, {
145
+ loading_more: () => {
146
+ return `<div class="loading-more-results">Loading more results ... </div>`;
147
+ },
148
+ no_more_results: () => {
149
+ return `<div class="no-more-results">No more results</div>`;
150
+ }
151
+ }, self.settings.render);
152
+ // watch dropdown content scroll position
153
+ dropdown_content.addEventListener('scroll', () => {
154
+ if (!self.settings.shouldLoadMore.call(self)) {
155
+ return;
156
+ }
157
+ // !important: this will get checked again in load() but we still need to check here otherwise loading_more will be set to true
158
+ if (!canLoadMore(self.lastValue)) {
159
+ return;
160
+ }
161
+ // don't call load() too much
162
+ if (loading_more)
163
+ return;
164
+ loading_more = true;
165
+ self.load.call(self, self.lastValue);
166
+ });
167
+ });
168
+ }
169
+ ;
170
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../../src/plugins/virtual_scroll/plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tom_select_ts_1 = require("./tom-select.js");
4
+ const plugin_ts_1 = require("./plugins/change_listener/plugin.js");
5
+ const plugin_ts_2 = require("./plugins/checkbox_options/plugin.js");
6
+ const plugin_ts_3 = require("./plugins/clear_button/plugin.js");
7
+ const plugin_ts_4 = require("./plugins/drag_drop/plugin.js");
8
+ const plugin_ts_5 = require("./plugins/dropdown_header/plugin.js");
9
+ const plugin_ts_6 = require("./plugins/caret_position/plugin.js");
10
+ const plugin_ts_7 = require("./plugins/dropdown_input/plugin.js");
11
+ const plugin_ts_8 = require("./plugins/input_autogrow/plugin.js");
12
+ const plugin_ts_9 = require("./plugins/no_backspace_delete/plugin.js");
13
+ const plugin_ts_10 = require("./plugins/no_active_items/plugin.js");
14
+ const plugin_ts_11 = require("./plugins/optgroup_columns/plugin.js");
15
+ const plugin_ts_12 = require("./plugins/remove_button/plugin.js");
16
+ const plugin_ts_13 = require("./plugins/restore_on_backspace/plugin.js");
17
+ const plugin_ts_14 = require("./plugins/virtual_scroll/plugin.js");
18
+ const plugin_ts_15 = require("./plugins/local_virtual_scroll/plugin.js");
19
+ tom_select_ts_1.default.define('change_listener', plugin_ts_1.default);
20
+ tom_select_ts_1.default.define('checkbox_options', plugin_ts_2.default);
21
+ tom_select_ts_1.default.define('clear_button', plugin_ts_3.default);
22
+ tom_select_ts_1.default.define('drag_drop', plugin_ts_4.default);
23
+ tom_select_ts_1.default.define('dropdown_header', plugin_ts_5.default);
24
+ tom_select_ts_1.default.define('caret_position', plugin_ts_6.default);
25
+ tom_select_ts_1.default.define('dropdown_input', plugin_ts_7.default);
26
+ tom_select_ts_1.default.define('input_autogrow', plugin_ts_8.default);
27
+ tom_select_ts_1.default.define('no_backspace_delete', plugin_ts_9.default);
28
+ tom_select_ts_1.default.define('no_active_items', plugin_ts_10.default);
29
+ tom_select_ts_1.default.define('optgroup_columns', plugin_ts_11.default);
30
+ tom_select_ts_1.default.define('remove_button', plugin_ts_12.default);
31
+ tom_select_ts_1.default.define('restore_on_backspace', plugin_ts_13.default);
32
+ tom_select_ts_1.default.define('virtual_scroll', plugin_ts_14.default);
33
+ tom_select_ts_1.default.define('local_virtual_scroll', plugin_ts_15.default);
34
+ exports.default = tom_select_ts_1.default;
35
+ //# sourceMappingURL=tom-select.complete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tom-select.complete.js","sourceRoot":"","sources":["../../src/tom-select.complete.ts"],"names":[],"mappings":";;AAAA,mDAAwC;AAExC,mEAAkE;AAClE,oEAAoE;AACpE,gEAA4D;AAC5D,6DAAsD;AACtD,mEAAkE;AAClE,kEAAgE;AAChE,kEAAgE;AAChE,kEAAgE;AAChE,uEAA0E;AAC1E,oEAAkE;AAClE,qEAAoE;AACpE,kEAA8D;AAC9D,yEAA4E;AAC5E,mEAAgE;AAChE,yEAA4E;AAE5E,uBAAS,CAAC,MAAM,CAAC,iBAAiB,EAAE,mBAAe,CAAC,CAAC;AACrD,uBAAS,CAAC,MAAM,CAAC,kBAAkB,EAAE,mBAAgB,CAAC,CAAC;AACvD,uBAAS,CAAC,MAAM,CAAC,cAAc,EAAE,mBAAY,CAAC,CAAC;AAC/C,uBAAS,CAAC,MAAM,CAAC,WAAW,EAAE,mBAAS,CAAC,CAAC;AACzC,uBAAS,CAAC,MAAM,CAAC,iBAAiB,EAAE,mBAAe,CAAC,CAAC;AACrD,uBAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE,mBAAc,CAAC,CAAC;AACnD,uBAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE,mBAAc,CAAC,CAAC;AACnD,uBAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE,mBAAc,CAAC,CAAC;AACnD,uBAAS,CAAC,MAAM,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,CAAC;AAC7D,uBAAS,CAAC,MAAM,CAAC,iBAAiB,EAAE,oBAAe,CAAC,CAAC;AACrD,uBAAS,CAAC,MAAM,CAAC,kBAAkB,EAAE,oBAAgB,CAAC,CAAC;AACvD,uBAAS,CAAC,MAAM,CAAC,eAAe,EAAE,oBAAa,CAAC,CAAC;AACjD,uBAAS,CAAC,MAAM,CAAC,sBAAsB,EAAE,oBAAoB,CAAC,CAAC;AAC/D,uBAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE,oBAAc,CAAC,CAAC;AACnD,uBAAS,CAAC,MAAM,CAAC,sBAAsB,EAAE,oBAAoB,CAAC,CAAC;AAE/D,kBAAe,uBAAS,CAAC"}