@bexis2/bexis2-core-ui 0.4.96 → 0.4.98

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