@bexis2/bexis2-core-ui 0.4.95 → 0.4.97

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 (89) hide show
  1. package/README.md +105 -24
  2. package/dist/components/CodeEditor/CodeEditor.svelte +2 -2
  3. package/dist/components/Facets/ShowMore.svelte +4 -6
  4. package/dist/components/File/FileUploader.svelte +6 -3
  5. package/dist/components/Table/Table.svelte +31 -5
  6. package/dist/components/Table/TableContent.svelte +226 -27
  7. package/dist/components/Table/TableFilter.svelte +25 -12
  8. package/dist/components/Table/TableFilterServer.svelte +51 -6
  9. package/dist/components/Table/TablePaginationServer.svelte +27 -8
  10. package/dist/components/Table/clientDB.d.ts +22 -0
  11. package/dist/components/Table/clientDB.js +236 -0
  12. package/dist/components/Table/filter.js +21 -2
  13. package/dist/components/Table/tableWorker.d.ts +1 -0
  14. package/dist/components/Table/tableWorker.js +179 -0
  15. package/dist/components/Table/utils.d.ts +1 -2
  16. package/dist/components/Table/utils.js +64 -31
  17. package/dist/components/form/CheckboxKvPList.svelte +15 -15
  18. package/dist/components/form/CheckboxList.svelte +1 -1
  19. package/dist/components/form/DateInput.svelte +12 -1
  20. package/dist/components/form/DatePickerInput.svelte +51 -29
  21. package/dist/components/form/Dropdown.svelte +14 -3
  22. package/dist/components/form/DropdownKvP.svelte +13 -2
  23. package/dist/components/form/InputContainer.svelte +17 -15
  24. package/dist/components/form/MultiSelect.svelte +30 -29
  25. package/dist/components/form/NumberInput.svelte +12 -1
  26. package/dist/components/form/TextArea.svelte +12 -1
  27. package/dist/components/form/TextInput.svelte +12 -1
  28. package/dist/components/page/Alert.svelte +5 -1
  29. package/dist/components/page/BackToTop.svelte +3 -1
  30. package/dist/components/page/Docs.svelte +9 -2
  31. package/dist/components/page/GoToTop.svelte +14 -15
  32. package/dist/components/page/Page.svelte +50 -56
  33. package/dist/components/page/breadcrumb/BreadcrumbDataCaller.js +11 -15
  34. package/dist/components/page/menu/MenuAccountBar.svelte +1 -5
  35. package/dist/components/page/menu/MenuDataCaller.js +1 -1
  36. package/dist/components/page/menu/MenuItem.svelte +9 -7
  37. package/dist/components/page/menu/MenuSublist.svelte +7 -5
  38. package/dist/components/page/menu/SettingsBar.svelte +4 -1
  39. package/dist/components/toggle/Toggle.svelte +9 -9
  40. package/dist/css/core.ui.postcss +1 -2
  41. package/dist/services/Api.js +4 -4
  42. package/dist/services/BaseCaller.js +1 -1
  43. package/package.json +114 -114
  44. package/src/lib/components/CodeEditor/CodeEditor.svelte +4 -4
  45. package/src/lib/components/Facets/Facets.svelte +2 -2
  46. package/src/lib/components/Facets/ShowMore.svelte +4 -6
  47. package/src/lib/components/File/FileUploader.svelte +17 -14
  48. package/src/lib/components/Table/Table.svelte +32 -5
  49. package/src/lib/components/Table/TableContent.svelte +261 -38
  50. package/src/lib/components/Table/TableFilter.svelte +34 -8
  51. package/src/lib/components/Table/TableFilterServer.svelte +65 -9
  52. package/src/lib/components/Table/TablePagination.svelte +6 -2
  53. package/src/lib/components/Table/TablePaginationServer.svelte +36 -10
  54. package/src/lib/components/Table/clientDB.js +236 -0
  55. package/src/lib/components/Table/filter.ts +44 -24
  56. package/src/lib/components/Table/tableWorker.js +179 -0
  57. package/src/lib/components/Table/utils.ts +80 -46
  58. package/src/lib/components/form/Checkbox.svelte +1 -1
  59. package/src/lib/components/form/CheckboxKvPList.svelte +15 -16
  60. package/src/lib/components/form/CheckboxList.svelte +1 -1
  61. package/src/lib/components/form/DateInput.svelte +13 -2
  62. package/src/lib/components/form/DatePickerInput.svelte +51 -29
  63. package/src/lib/components/form/Dropdown.svelte +14 -3
  64. package/src/lib/components/form/DropdownKvP.svelte +13 -2
  65. package/src/lib/components/form/InputContainer.svelte +18 -17
  66. package/src/lib/components/form/MultiSelect.svelte +30 -29
  67. package/src/lib/components/form/NumberInput.svelte +21 -12
  68. package/src/lib/components/form/TextArea.svelte +13 -2
  69. package/src/lib/components/form/TextInput.svelte +13 -2
  70. package/src/lib/components/page/Alert.svelte +5 -1
  71. package/src/lib/components/page/BackToTop.svelte +3 -1
  72. package/src/lib/components/page/Docs.svelte +9 -2
  73. package/src/lib/components/page/GoToTop.svelte +14 -15
  74. package/src/lib/components/page/Notification.svelte +1 -1
  75. package/src/lib/components/page/Page.svelte +67 -78
  76. package/src/lib/components/page/breadcrumb/Breadcrumb.svelte +2 -3
  77. package/src/lib/components/page/breadcrumb/BreadcrumbDataCaller.js +11 -15
  78. package/src/lib/components/page/menu/MenuAccountBar.svelte +1 -6
  79. package/src/lib/components/page/menu/MenuDataCaller.js +1 -1
  80. package/src/lib/components/page/menu/MenuItem.svelte +10 -8
  81. package/src/lib/components/page/menu/MenuSublist.svelte +35 -41
  82. package/src/lib/components/page/menu/SettingsBar.svelte +5 -2
  83. package/src/lib/components/toggle/Toggle.svelte +28 -30
  84. package/src/lib/css/core.ui.postcss +1 -2
  85. package/src/lib/index.ts +1 -2
  86. package/src/lib/services/Api.ts +21 -20
  87. package/src/lib/services/BaseCaller.js +1 -1
  88. package/src/lib/stores/apiStores.ts +1 -5
  89. package/src/lib/stores/pageStores.ts +0 -2
package/README.md CHANGED
@@ -1,33 +1,49 @@
1
1
  # bexis-core-ui
2
+
3
+ ## 0.4.97
4
+ - Table:
5
+ - handle 20 000+ rows client side
6
+ - fix item count server side table not shown
7
+
8
+
9
+ ## 0.4.96
10
+
11
+ - ServerSideTable
12
+ - Add support for boolean
13
+ - Fix missing value handling
14
+
2
15
  ## 0.4.95
16
+
3
17
  - Input
4
18
  - Add focus in/out for element
5
19
  - format date picker
6
20
 
7
-
8
21
  ## 0.4.94
22
+
9
23
  - Input
10
24
  - Add InputContainer to export for custom components
11
25
 
12
-
13
26
  ## 0.4.93
27
+
14
28
  - Input
15
29
  - Add DataPickerInput based on Svelty Picker
16
30
  - reorder font size in menu (less layout shift with old header)
17
31
  - trigger description event on mouse over / out
18
32
 
19
33
  ## 0.4.87
34
+
20
35
  - Input
21
36
  - add show description to all form components
22
37
 
23
38
  ## 0.4.86
39
+
24
40
  - Menu
25
41
  - set size to local storage
26
42
  - Input
27
43
  - expose show description
28
44
 
29
-
30
45
  ## 0.4.85
46
+
31
47
  - Menu
32
48
  - add increase / decrease font size
33
49
  - add toogle dark mode in dev mode
@@ -36,55 +52,67 @@
36
52
  - remove layout shift by adding a fixed space for the error message
37
53
 
38
54
  ## 0.4.84
55
+
39
56
  - MultiSelect
40
57
  - fix itemGroup was not working
41
58
 
42
59
  ## 0.4.83
60
+
43
61
  - InputContainer
44
62
  - error message position and basic styling of input fields
45
63
 
46
64
  ## 0.4.82
65
+
47
66
  - Table
48
67
  - ServerSide communication, reduce calls
49
68
 
50
69
  ## 0.4.81
70
+
51
71
  - Multiselect
52
72
  - check if groupItem is set or not, if true add groupby to output
53
-
73
+
54
74
  ## 0.4.78
75
+
55
76
  - Fileuploader
56
77
  - after submited add the responce to the event
57
78
 
58
79
  ## 0.4.76
80
+
59
81
  - API
60
82
  - Extending the API with custom headers and configuration
61
-
62
83
 
63
84
  ## 0.4.75
85
+
64
86
  - Menu
65
87
  - add ids
66
88
 
67
89
  ## 0.4.73
90
+
68
91
  - NumberInput
69
92
  - fix issue destroying layout with number.MinValue
70
93
 
71
94
  ## 0.4.71
95
+
72
96
  - NumberInput
73
97
  - add min and max
74
-
98
+
75
99
  ## 0.4.70
100
+
76
101
  - CheckboxKVPList
77
- - add vertical flag for orientation
102
+ - add vertical flag for orientation
78
103
 
79
104
  ## 0.4.68
105
+
80
106
  - form
81
107
  - add description to input container, only visible if description added to the component
82
108
 
83
109
  ## 0.4.67
110
+
84
111
  - dropdown
85
- - export dropdown
112
+ - export dropdown
86
113
 
87
114
  ## 0.4.66
115
+
88
116
  - dropdown
89
117
  - add dropdown with simple list and value
90
118
  - multiselect
@@ -92,6 +120,7 @@
92
120
  - fix placeholder does not work
93
121
 
94
122
  ## 0.4.59
123
+
95
124
  - Table
96
125
  - remove static title "table"
97
126
  - shorten upload text
@@ -99,107 +128,133 @@
99
128
  - remove title about sorting, if not possible
100
129
 
101
130
  ## 0.4.49 -> 0.4.53
131
+
102
132
  - Api
103
- - remove __RequestVerificationToken from header
133
+ - remove \_\_RequestVerificationToken from header
104
134
  - change post request to 'application/x-www-form-urlencoded'
105
- - add __RequestVerificationToken to data
106
-
135
+ - add \_\_RequestVerificationToken to data
136
+
107
137
  ## 0.4.48
138
+
108
139
  - Api
109
- - add __RequestVerificationToken if exist
140
+ - add \_\_RequestVerificationToken if exist
110
141
 
111
142
  ## 0.4.47
143
+
112
144
  - Menu
113
145
  - change hover over menu items
114
-
146
+
115
147
  ## 0.4.46
148
+
116
149
  - Menu
117
150
  - Add hover to menu
118
151
  - Fix Missing nowrap in menu
119
152
 
120
153
  ## 0.4.45
154
+
121
155
  - Menu
122
156
  - hide gear if settings array has no entry
123
157
 
124
158
  ## 0.4.44
159
+
125
160
  - Page
126
161
  - replace manual link with icon
162
+
127
163
  ## 0.4.43
164
+
128
165
  - Table
129
166
  - fix header names with dots breaks the table
130
167
 
131
168
  ## 0.4.42
169
+
132
170
  ## 0.4.41
171
+
133
172
  - Multiselect
134
173
  - remove console.logs
135
174
  - Table
136
175
  - fix filter error by exact match with complex object
137
176
 
138
177
  ## 0.4.40
178
+
139
179
  - Multiselect
140
180
  - add clear event, when selection is deselected
141
181
 
142
182
  ## 0.4.39
183
+
143
184
  - page
144
185
  - add option to hide Footer on Page
145
186
 
146
187
  ## 0.4.38
188
+
147
189
  - table
148
190
  - Fix server side OrderBy
149
191
 
150
192
  ## 0.4.37
193
+
151
194
  - table
152
195
  - Fix server side Pagination
153
196
 
154
197
  ## 0.4.36
198
+
155
199
  - table
156
200
  - Fix server side Pagination
157
201
 
158
202
  ## 0.4.35
159
203
 
160
204
  - enlarge help and up to start button
161
-
205
+
162
206
  ## 0.4.33
207
+
163
208
  - Menu
164
- - remove alert ("log off")
209
+ - remove alert ("log off")
165
210
 
166
211
  ## 0.4.32
212
+
167
213
  - Menu
168
214
  - fix log off, add click event o a
169
215
 
170
216
  ## 0.4.31
217
+
171
218
  - Table
172
219
  - Adds variants for pagination buttons
173
220
 
174
221
  ## 0.4.30
222
+
175
223
  - Table:
176
224
  - Fixes issue with rounded corners on pagination button under the table
177
225
  - Updates colors scheme for disabled buttons
178
226
 
179
227
  ## 0.4.29
228
+
180
229
  - table
181
230
  - Fixes the appearance issues related to Table paginator.
182
- -
231
+ -
232
+
183
233
  ## 0.4.28
234
+
184
235
  - Fixes issue with options component not displaying items correctly
185
236
  - New pagination component
186
237
  - Removes the option for selecting page index string type of "pages" or "items". "items" will be the default and only option to show pagination info now.
187
-
238
+
188
239
  ## 0.4.27
240
+
189
241
  - Fixes the issue with updating the number of displayed items correctly.
190
242
  - Makes "items" the default type for displaying pagination info.
191
243
 
192
244
  ## 0.4.26
245
+
193
246
  - menu
194
247
  - change submenu buttons to a link and add link menuitems to support right click menu
195
-
248
+
196
249
  ## 0.4.25
250
+
197
251
  - menu
198
252
  - add internal & target to menuItemType to support handle menuEntries open in same or other window
199
253
 
200
254
  ## 0.4.24
255
+
201
256
  - Table
202
- - Adds option for enabling/disabling show/hide column menu in table.
257
+ - Adds option for enabling/disabling show/hide column menu in table.
203
258
  - Adds option to show number of items displayed instead of number of pages.
204
259
  - Fixes an issue where "0" values return empty string.
205
260
 
@@ -207,6 +262,7 @@
207
262
  - Fixes an issue with truncation of text in Facet headers and options.
208
263
 
209
264
  ## 0.4.23
265
+
210
266
  - Table
211
267
  - fix resizing issues after page size or page index changes
212
268
  - Add Select All and Deselect All in columns menu
@@ -214,17 +270,20 @@
214
270
  - Export as JSON to fix special characters and encoding issues
215
271
 
216
272
  ## 0.4.22
273
+
217
274
  - Facets
218
275
  - Replace column class function with more efficient solution
219
276
  - Sort options in ShowMore alphabetically
220
- Table
277
+ Table
221
278
  - Add titles for components for better accessibility
222
279
  - Remove z-index from pagination buttons
223
280
 
224
281
  ## 0.4.21
282
+
225
283
  - change footer position in page component
226
284
 
227
285
  ## 0.4.20
286
+
228
287
  - Add aria-label to Table and other components
229
288
  - Facets
230
289
  - Add aria-label to Facets component
@@ -232,24 +291,29 @@ Table
232
291
  - Search
233
292
  - Add aria-label to Search component
234
293
  - Table: add column
294
+
235
295
  ## 0.4.19
236
296
 
237
297
  ## 0.4.18
298
+
238
299
  - Updates indicator text for current page and possible number of pages in a Table
239
300
  - Fixes client-side search on Table
240
301
  - Adds "No rows available" text in Table if search or filter returns no rows.
241
302
 
242
303
  ## 0.4.16
304
+
243
305
  - Facets
244
306
  - Replaces groups array with a writable store to re-render component on data manipulation.
245
307
  - Adds selected attribute to the type so that Facets can be initialized with some selected values.
246
308
 
247
309
  ## 0.4.15
310
+
248
311
  - Update Facets with new params and add onChange action
249
312
  - Changes structure of Facets data
250
313
  - Adds on:change action
251
314
 
252
315
  ## 0.4.14
316
+
253
317
  - Table
254
318
  - fixes rendering issues with Table filters and different components
255
319
 
@@ -257,18 +321,22 @@ Table
257
321
  - Exports Facets component
258
322
 
259
323
  ## 0.4.13
324
+
260
325
  - menu
261
326
  - fix code isses
262
327
 
263
328
  ## 0.4.11
329
+
264
330
  - Table
265
331
  - fix lib issue
266
332
 
267
333
  ## 0.4.11
334
+
268
335
  - Menu
269
336
  - fix log off
270
337
 
271
338
  ## 0.4.10
339
+
272
340
  - Table:
273
341
  - Fixes issue with sticky Tables not rendering the filters correctly.
274
342
  - Fixes issues related to date picker in Tables with date filters.
@@ -281,36 +349,44 @@ Table
281
349
  - Adds Facets component.
282
350
 
283
351
  ## 0.4.8
352
+
284
353
  - page
285
354
  - add notification if api call to backend faild
286
355
 
287
356
  ## 0.4.7
357
+
288
358
  - menu
289
359
  - remove capitalization from menu item
290
360
 
291
361
  ## 0.4.6
362
+
292
363
  - table
293
364
  - Adds config for enabling and disabling Search field on Table.
294
365
  - Adds action dispatcher as prop for the renderComponent.
295
366
  - Adds unique IDs for Search reset and submit buttons.
296
367
 
297
368
  ## 0.4.5
369
+
298
370
  - table
299
371
  - adds searching for missing values in the filters #744
300
372
  - missing values for every data type
301
373
  - display patterns for date/time/datetime types
302
374
 
303
375
  ## 0.4.4
376
+
304
377
  - update libs
305
378
  - remove eslint-plugin-svelte3
306
379
  - update svelte, sveltekit, typescript, tailwind ...
307
380
 
308
381
  ## 0.4.3
382
+
309
383
  - table
310
384
  - Enable searching on server-side
311
385
 
312
386
  ## 0.4.2
387
+
313
388
  ## 0.4.1
389
+
314
390
  - table
315
391
  - Server-side searching
316
392
  - Case-insensitive filtering of missing values
@@ -318,13 +394,16 @@ Table
318
394
  - Handle missing values regardless of the data type
319
395
 
320
396
  ## 0.4.0
321
- - update dependency libaries
322
- - svelte
323
- - sveltekit
324
- - vite
397
+
398
+ - update dependency libaries
399
+ - svelte
400
+ - sveltekit
401
+ - vite
325
402
 
326
403
  ## 0.3.13
404
+
327
405
  ## 0.3.12
406
+
328
407
  - table
329
408
  - Server-side data fetching
330
409
  - Server-side filtering
@@ -334,9 +413,11 @@ Table
334
413
  - New pagination component
335
414
 
336
415
  ## 0.3.11
416
+
337
417
  - add on:change passthrough to TextInput, TextArea, DateInput, NumberInput, CheckBox
338
418
 
339
419
  ## 0.3.10
420
+
340
421
  - multi select
341
422
  - update svelte-select libary
342
423
  - refactor filterFn (new order - > exact, start, includes)
@@ -68,8 +68,8 @@ $: isValid = language === "json" ? isValidJSON(value) : language === "js" ? isVa
68
68
  lang={language === 'html'
69
69
  ? html({ selfClosingTags: true })
70
70
  : language === 'js'
71
- ? javascript()
72
- : json()}
71
+ ? javascript()
72
+ : json()}
73
73
  theme={dark ? oneDark : null}
74
74
  class="flex w-full"
75
75
  {styles}
@@ -29,15 +29,13 @@ const onCancel = () => {
29
29
  <h2 class="text-xl font-semibold">{group.displayName}</h2>
30
30
 
31
31
  <!-- Items -->
32
- <div class="gap-x-10 space-y-2 py-6 px-[2px] max-h-[500px] columns-[192px] overflow-auto min-h">
32
+ <div
33
+ class="gap-x-10 space-y-2 py-6 px-[2px] max-h-[500px] columns-[192px] overflow-auto min-h"
34
+ >
33
35
  {#each Object.keys(selected) as key}
34
36
  <label class="flex gap-3 items-center">
35
37
  <input type="checkbox" class="checkbox" bind:checked={selected[key].selected} />
36
- <span
37
- title={selected[key].displayName}
38
- class=""
39
- >{selected[key].displayName}</span
40
- >
38
+ <span title={selected[key].displayName} class="">{selected[key].displayName}</span>
41
39
  </label>
42
40
  {/each}
43
41
  </div>
@@ -120,17 +120,20 @@ async function handleSubmit() {
120
120
  <p>
121
121
  {#if model.accept}
122
122
  {#each model.accept as ext, i}
123
- {ext}{#if i < model.accept.length - 1}, {/if}
123
+ {ext}{#if i < model.accept.length - 1},
124
+ {/if}
124
125
  {/each}
125
126
  {/if}
126
127
  </p>
127
128
  </Dropzone>
128
129
  {#if isUploading}
129
- <ProgressBar value={undefined}/>
130
+ <ProgressBar value={undefined} />
130
131
  {/if}
131
132
  </div>
132
133
 
133
- <button title="Submit" id={submitBt} color="primary" style="display:none"><Fa icon={faSave} /></button>
134
+ <button title="Submit" id={submitBt} color="primary" style="display:none"
135
+ ><Fa icon={faSave} /></button
136
+ >
134
137
  {:else}
135
138
  <!-- while data is not loaded show a loading information -->
136
139
 
@@ -1,14 +1,40 @@
1
1
  <script>import Table from "./TableContent.svelte";
2
2
  export let config;
3
- let fetched = false;
4
- const data = config.data;
5
- $: if ($data.length > 0) fetched = true;
3
+ let remountKey = 0;
4
+ let didInitialColumnsRemount = false;
5
+ const normalizeColumns = (cols) => {
6
+ if (!cols || typeof cols !== "object") return "";
7
+ const c = cols;
8
+ const keys = Object.keys(c).sort();
9
+ return JSON.stringify(keys.map((k) => [k, c[k]]));
10
+ };
11
+ const onFetch = (event) => {
12
+ const payload = event.detail;
13
+ const nextColumns = payload?.columns ?? payload;
14
+ const nextCount = Number(payload?.count ?? 0);
15
+ const before = normalizeColumns(config?.columns);
16
+ const after = normalizeColumns(nextColumns);
17
+ config = {
18
+ ...config,
19
+ columns: nextColumns,
20
+ ...nextCount > 0 ? { __initialServerCount: nextCount } : {}
21
+ };
22
+ if (!didInitialColumnsRemount && before === "" && after !== "") {
23
+ remountKey += 1;
24
+ didInitialColumnsRemount = true;
25
+ }
26
+ };
27
+ if (typeof BigInt !== "undefined" && !BigInt.prototype.toJSON) {
28
+ BigInt.prototype.toJSON = function() {
29
+ return this.toString();
30
+ };
31
+ }
6
32
  </script>
7
33
 
8
- {#key fetched}
34
+ {#key remountKey}
9
35
  <Table
10
36
  {config}
11
- on:fetch={(columns) => (config = { ...config, columns: columns.detail })}
37
+ on:fetch={onFetch}
12
38
  on:action
13
39
  />
14
40
  {/key}