@bexis2/bexis2-core-ui 0.2.10 → 0.2.12
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/README.md +263 -207
- package/dist/components/Table/Table.svelte +85 -85
- package/dist/components/Table/TableFilter.svelte +109 -109
- package/dist/components/Table/TablePagination.svelte +38 -38
- package/dist/components/file/FileUploader.svelte +34 -34
- package/dist/components/form/Checkbox.svelte.d.ts +1 -1
- package/dist/components/form/DropdownKvP.svelte +5 -11
- package/dist/components/form/InputContainer.svelte +20 -19
- package/dist/components/form/MultiSelect.svelte +163 -178
- package/dist/components/form/TextArea.svelte +13 -13
- package/dist/components/form/TextInput.svelte +0 -2
- package/dist/components/page/Alert.svelte +28 -30
- package/dist/components/page/BackToTop.svelte +30 -30
- package/dist/components/page/Docs.svelte +22 -19
- package/dist/components/page/Docs.svelte.d.ts +1 -1
- package/dist/components/page/ErrorMessage.svelte +9 -0
- package/dist/components/page/ErrorMessage.svelte.d.ts +16 -0
- package/dist/components/page/Footer.svelte +5 -5
- package/dist/components/page/Header.svelte +5 -4
- package/dist/components/page/HelpPopUp.svelte +31 -25
- package/dist/components/page/HelpPopUp.svelte.d.ts +5 -12
- package/dist/components/page/Page.svelte +56 -66
- package/dist/components/page/Page.svelte.d.ts +2 -2
- package/dist/components/page/PageCaller.js +19 -21
- package/dist/components/page/Spinner.svelte +12 -13
- package/dist/components/page/Spinner.svelte.d.ts +1 -1
- package/dist/components/page/breadcrumb/Breadcrumb.svelte +19 -23
- package/dist/components/page/menu/Menu.svelte +25 -25
- package/dist/components/page/menu/MenuBar.svelte +7 -14
- package/dist/components/page/menu/MenuBar.svelte.d.ts +2 -2
- package/dist/components/page/menu/MenuDataCaller.js +10 -11
- package/dist/components/page/menu/MenuItem.svelte +9 -13
- package/dist/components/page/menu/MenuItem.svelte.d.ts +2 -1
- package/dist/components/page/menu/MenuSublist.svelte +18 -17
- package/dist/components/page/menu/MenuSublist.svelte.d.ts +2 -2
- package/dist/components/page/menu/SettingsBar.svelte +9 -14
- package/dist/components/page/menu/SettingsBar.svelte.d.ts +2 -2
- package/dist/css/core.ui.postcss +10 -7
- package/dist/css/themes/theme-bexis2.css +12 -13
- package/dist/index.d.ts +2 -3
- package/dist/index.js +5 -4
- package/dist/models/Models.js +0 -1
- package/dist/models/Page.d.ts +31 -0
- package/dist/services/BaseCaller.js +16 -21
- package/dist/stores/pageStores.d.ts +4 -4
- package/dist/stores/pageStores.js +27 -27
- package/package.json +2 -2
- package/src/lib/components/Table/Table.svelte +246 -246
- package/src/lib/components/Table/TableFilter.svelte +222 -222
- package/src/lib/components/Table/TablePagination.svelte +61 -61
- package/src/lib/components/Table/filter.ts +141 -141
- package/src/lib/components/file/FileUploader.svelte +184 -184
- package/src/lib/components/form/Checkbox.svelte +1 -1
- package/src/lib/components/form/DateInput.svelte +0 -1
- package/src/lib/components/form/DropdownKvP.svelte +5 -11
- package/src/lib/components/form/InputContainer.svelte +36 -44
- package/src/lib/components/form/MultiSelect.svelte +163 -178
- package/src/lib/components/form/NumberInput.svelte +3 -5
- package/src/lib/components/form/TextArea.svelte +26 -27
- package/src/lib/components/form/TextInput.svelte +2 -5
- package/src/lib/components/page/Alert.svelte +41 -45
- package/src/lib/components/page/BackToTop.svelte +30 -30
- package/src/lib/components/page/Docs.svelte +46 -44
- package/src/lib/components/page/ErrorMessage.svelte +10 -0
- package/src/lib/components/page/Footer.svelte +18 -22
- package/src/lib/components/page/Header.svelte +18 -21
- package/src/lib/components/page/HelpPopUp.svelte +72 -66
- package/src/lib/components/page/Page.svelte +96 -108
- package/src/lib/components/page/PageCaller.js +19 -21
- package/src/lib/components/page/Spinner.svelte +14 -16
- package/src/lib/components/page/breadcrumb/Breadcrumb.svelte +31 -43
- package/src/lib/components/page/menu/Menu.svelte +40 -47
- package/src/lib/components/page/menu/MenuBar.svelte +20 -31
- package/src/lib/components/page/menu/MenuDataCaller.js +10 -11
- package/src/lib/components/page/menu/MenuItem.svelte +27 -33
- package/src/lib/components/page/menu/MenuSublist.svelte +43 -48
- package/src/lib/components/page/menu/SettingsBar.svelte +31 -40
- package/src/lib/css/core.ui.postcss +10 -7
- package/src/lib/css/themes/theme-bexis2.css +12 -13
- package/src/lib/index.ts +75 -76
- package/src/lib/models/Enums.ts +10 -11
- package/src/lib/models/Models.ts +113 -113
- package/src/lib/models/Page.ts +40 -41
- package/src/lib/services/BaseCaller.js +16 -21
- package/src/lib/stores/apiStores.ts +31 -32
- package/src/lib/stores/pageStores.ts +121 -126
package/README.md
CHANGED
|
@@ -1,207 +1,263 @@
|
|
|
1
|
-
# bexis-core-ui
|
|
2
|
-
## v0.2.
|
|
3
|
-
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
- MultiSelect
|
|
39
|
-
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
## v0.1.
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
## v0.1.
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
-
|
|
55
|
-
|
|
56
|
-
## v0.1.
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
### update
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
-
|
|
69
|
-
-
|
|
70
|
-
|
|
71
|
-
## v0.1.
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
-
|
|
77
|
-
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
-
|
|
94
|
-
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
###
|
|
119
|
-
|
|
120
|
-
-
|
|
121
|
-
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
####
|
|
135
|
-
|
|
136
|
-
-
|
|
137
|
-
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
#### components
|
|
157
|
-
|
|
158
|
-
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
####
|
|
163
|
-
|
|
164
|
-
-
|
|
165
|
-
-
|
|
166
|
-
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
#### types
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
-
|
|
207
|
-
-
|
|
1
|
+
# bexis-core-ui
|
|
2
|
+
## v0.2.12
|
|
3
|
+
- update libs
|
|
4
|
+
|
|
5
|
+
## v0.2.11
|
|
6
|
+
|
|
7
|
+
- Error Message
|
|
8
|
+
- Spinner Update
|
|
9
|
+
- postion default is center
|
|
10
|
+
- Surface color changed
|
|
11
|
+
- Page: contentPageLayoutType
|
|
12
|
+
|
|
13
|
+
## v0.2.9
|
|
14
|
+
|
|
15
|
+
- helpStore
|
|
16
|
+
- helpStoreType
|
|
17
|
+
- helpItemType
|
|
18
|
+
- Menu
|
|
19
|
+
- Update Page
|
|
20
|
+
|
|
21
|
+
## v0.2.1
|
|
22
|
+
|
|
23
|
+
> refactoring based on naming conventions (https://bexis2.github.io/bexis2-core-ui/code/naming/)
|
|
24
|
+
|
|
25
|
+
- fix issue in index.ts file for export components
|
|
26
|
+
|
|
27
|
+
## v0.2.0
|
|
28
|
+
|
|
29
|
+
> refactoring based on naming conventions (https://bexis2.github.io/bexis2-core-ui/code/naming/)
|
|
30
|
+
|
|
31
|
+
- add Help, helpStore
|
|
32
|
+
- update Page
|
|
33
|
+
|
|
34
|
+
## v0.1.13
|
|
35
|
+
|
|
36
|
+
### update
|
|
37
|
+
|
|
38
|
+
- MultiSelect
|
|
39
|
+
- loading flag
|
|
40
|
+
- isValid
|
|
41
|
+
|
|
42
|
+
## v0.1.12
|
|
43
|
+
|
|
44
|
+
### update
|
|
45
|
+
|
|
46
|
+
- MultiSelect
|
|
47
|
+
- pass all events from svelte select
|
|
48
|
+
|
|
49
|
+
## v0.1.11
|
|
50
|
+
|
|
51
|
+
### update
|
|
52
|
+
|
|
53
|
+
- MultiSelect
|
|
54
|
+
- grouped source also works now in case of complex source & return single value
|
|
55
|
+
|
|
56
|
+
## v0.1.10
|
|
57
|
+
|
|
58
|
+
### update
|
|
59
|
+
|
|
60
|
+
- MultiSelect
|
|
61
|
+
- set isMulti to false to get also a single value
|
|
62
|
+
|
|
63
|
+
## v0.1.9
|
|
64
|
+
|
|
65
|
+
### update
|
|
66
|
+
|
|
67
|
+
- MultiSelect
|
|
68
|
+
- pass events
|
|
69
|
+
- placeholder
|
|
70
|
+
|
|
71
|
+
## v0.1.8
|
|
72
|
+
|
|
73
|
+
### update
|
|
74
|
+
|
|
75
|
+
- MultiSelect
|
|
76
|
+
- add placeholder
|
|
77
|
+
- add id
|
|
78
|
+
- add ItemGroup
|
|
79
|
+
|
|
80
|
+
## v0.1.7
|
|
81
|
+
|
|
82
|
+
### update
|
|
83
|
+
|
|
84
|
+
- MultiSelect
|
|
85
|
+
- remove skeleton css classes from svelte select input
|
|
86
|
+
|
|
87
|
+
## v0.1.6
|
|
88
|
+
|
|
89
|
+
- remove massive console.logs
|
|
90
|
+
|
|
91
|
+
### update
|
|
92
|
+
|
|
93
|
+
- Table
|
|
94
|
+
- change submit to apply filter
|
|
95
|
+
- show emtpy table if not data is in the store
|
|
96
|
+
- add option of including custom rendering component
|
|
97
|
+
|
|
98
|
+
## v0.1.5
|
|
99
|
+
|
|
100
|
+
### update
|
|
101
|
+
|
|
102
|
+
- MultiSelect
|
|
103
|
+
- isTargetComplex -> complexTarget
|
|
104
|
+
- isComplex -> complexSource
|
|
105
|
+
- DropdownKVP
|
|
106
|
+
- targetIsComplex -> complexTarget
|
|
107
|
+
|
|
108
|
+
## v0.1.4
|
|
109
|
+
|
|
110
|
+
> test for deploy
|
|
111
|
+
|
|
112
|
+
## v0.1.3
|
|
113
|
+
|
|
114
|
+
> test table
|
|
115
|
+
|
|
116
|
+
## v0.1.2
|
|
117
|
+
|
|
118
|
+
### update
|
|
119
|
+
|
|
120
|
+
- MultiSelect
|
|
121
|
+
- return complex type is available now
|
|
122
|
+
|
|
123
|
+
## v0.1.1
|
|
124
|
+
|
|
125
|
+
### update
|
|
126
|
+
|
|
127
|
+
- Page
|
|
128
|
+
- add menu (beta)
|
|
129
|
+
|
|
130
|
+
## v.0.1.0
|
|
131
|
+
|
|
132
|
+
### add
|
|
133
|
+
|
|
134
|
+
#### types
|
|
135
|
+
|
|
136
|
+
- ListItem
|
|
137
|
+
- KvP
|
|
138
|
+
|
|
139
|
+
#### enum
|
|
140
|
+
|
|
141
|
+
- position
|
|
142
|
+
|
|
143
|
+
### update
|
|
144
|
+
|
|
145
|
+
#### components
|
|
146
|
+
|
|
147
|
+
- DropdownKVP
|
|
148
|
+
- return of the target to complex or id only
|
|
149
|
+
- TextInput, TextArea, Number
|
|
150
|
+
- add placeholder
|
|
151
|
+
|
|
152
|
+
## v0.0.31
|
|
153
|
+
|
|
154
|
+
### add
|
|
155
|
+
|
|
156
|
+
#### components
|
|
157
|
+
|
|
158
|
+
- Alert
|
|
159
|
+
|
|
160
|
+
### updates
|
|
161
|
+
|
|
162
|
+
#### components
|
|
163
|
+
|
|
164
|
+
- Spinner
|
|
165
|
+
- label
|
|
166
|
+
- color
|
|
167
|
+
- position
|
|
168
|
+
- Table
|
|
169
|
+
- Date filters
|
|
170
|
+
- Configuration for complex types
|
|
171
|
+
- Custom event dispatcher
|
|
172
|
+
- Updated docs.
|
|
173
|
+
- Disabling of filters
|
|
174
|
+
- Disabling of sorting
|
|
175
|
+
|
|
176
|
+
### fixes:
|
|
177
|
+
|
|
178
|
+
#### table
|
|
179
|
+
|
|
180
|
+
- Arrow in pageSize dropdown.
|
|
181
|
+
- Bug with number filter not working on zero values.
|
|
182
|
+
- Table of Contents on the right sidebar.
|
|
183
|
+
|
|
184
|
+
## v0.0.29
|
|
185
|
+
|
|
186
|
+
### add
|
|
187
|
+
|
|
188
|
+
#### types
|
|
189
|
+
|
|
190
|
+
- linkType
|
|
191
|
+
|
|
192
|
+
## v0.0.28
|
|
193
|
+
|
|
194
|
+
### add
|
|
195
|
+
|
|
196
|
+
#### components
|
|
197
|
+
|
|
198
|
+
- Page
|
|
199
|
+
|
|
200
|
+
## v0.0.27
|
|
201
|
+
|
|
202
|
+
### add
|
|
203
|
+
|
|
204
|
+
#### components
|
|
205
|
+
|
|
206
|
+
- Table
|
|
207
|
+
- TableFilter
|
|
208
|
+
- cloumnFilter
|
|
209
|
+
- searchFilter
|
|
210
|
+
|
|
211
|
+
#### types
|
|
212
|
+
|
|
213
|
+
- TableConfig
|
|
214
|
+
- Columns
|
|
215
|
+
- Column
|
|
216
|
+
- inputType
|
|
217
|
+
|
|
218
|
+
<hr/>
|
|
219
|
+
|
|
220
|
+
## v0.0.26
|
|
221
|
+
|
|
222
|
+
### updates
|
|
223
|
+
|
|
224
|
+
- fix bugs in checkbox list
|
|
225
|
+
- fix bugs in multi select
|
|
226
|
+
|
|
227
|
+
<hr/>
|
|
228
|
+
|
|
229
|
+
## v0.0.25
|
|
230
|
+
|
|
231
|
+
### adds
|
|
232
|
+
|
|
233
|
+
#### components
|
|
234
|
+
|
|
235
|
+
- Spinner
|
|
236
|
+
- FileUploader
|
|
237
|
+
- fileInfoType
|
|
238
|
+
- FileIcon
|
|
239
|
+
-
|
|
240
|
+
|
|
241
|
+
#### types
|
|
242
|
+
|
|
243
|
+
- fileUploaderModel
|
|
244
|
+
|
|
245
|
+
<hr/>
|
|
246
|
+
|
|
247
|
+
## v0.0.23
|
|
248
|
+
|
|
249
|
+
### updates
|
|
250
|
+
|
|
251
|
+
- update bexis 2 theme
|
|
252
|
+
|
|
253
|
+
### adds
|
|
254
|
+
|
|
255
|
+
- Checkbox
|
|
256
|
+
- CheckboxKVPList
|
|
257
|
+
- CheckboxList
|
|
258
|
+
- DateInput
|
|
259
|
+
- DropdownKVP
|
|
260
|
+
- MultiSelect
|
|
261
|
+
- NumberInput
|
|
262
|
+
- TextArea
|
|
263
|
+
- TextInput
|
|
@@ -128,88 +128,88 @@ if (optionsComponent !== void 0) {
|
|
|
128
128
|
const createdTableColumns = table.createColumns(tableColumns);
|
|
129
129
|
const { headerRows, pageRows, tableAttrs, tableBodyAttrs, pluginStates } = table.createViewModel(createdTableColumns);
|
|
130
130
|
const { filterValue } = pluginStates.tableFilter;
|
|
131
|
-
</script>
|
|
132
|
-
|
|
133
|
-
<div class="grid gap-2">
|
|
134
|
-
<div class="table-container">
|
|
135
|
-
{#if $data.length > 0}
|
|
136
|
-
<input
|
|
137
|
-
class="input p-2 mb-2 border border-primary-500"
|
|
138
|
-
type="text"
|
|
139
|
-
bind:value={$filterValue}
|
|
140
|
-
placeholder="Search rows..."
|
|
141
|
-
/>
|
|
142
|
-
{/if}
|
|
143
|
-
<table {...$tableAttrs} class="table table-compact bg-tertiary-200">
|
|
144
|
-
<thead>
|
|
145
|
-
{#each $headerRows as headerRow (headerRow.id)}
|
|
146
|
-
<Subscribe
|
|
147
|
-
rowAttrs={headerRow.attrs()}
|
|
148
|
-
let:rowAttrs
|
|
149
|
-
rowProps={headerRow.props()}
|
|
150
|
-
let:rowProps
|
|
151
|
-
>
|
|
152
|
-
<tr {...rowAttrs} class="bg-primary-300">
|
|
153
|
-
{#each headerRow.cells as cell (cell.id)}
|
|
154
|
-
<Subscribe attrs={cell.attrs()} props={cell.props()} let:props let:attrs>
|
|
155
|
-
<th scope="col" class="!p-2 w-min" {...attrs}>
|
|
156
|
-
<div class="flex w-full justify-between items-center">
|
|
157
|
-
<div class="flex gap-1">
|
|
158
|
-
<span
|
|
159
|
-
class:underline={props.sort.order}
|
|
160
|
-
class:normal-case={cell.id !== cell.label}
|
|
161
|
-
class:cursor-pointer={!props.sort.disabled}
|
|
162
|
-
on:click={props.sort.toggle}
|
|
163
|
-
on:keydown={props.sort.toggle}
|
|
164
|
-
>
|
|
165
|
-
{cell.render()}
|
|
166
|
-
</span>
|
|
167
|
-
<div class="w-2">
|
|
168
|
-
{#if props.sort.order === 'asc'}
|
|
169
|
-
▾
|
|
170
|
-
{:else if props.sort.order === 'desc'}
|
|
171
|
-
▴
|
|
172
|
-
{/if}
|
|
173
|
-
</div>
|
|
174
|
-
</div>
|
|
175
|
-
{#if cell.isData()}
|
|
176
|
-
{#if props.colFilter?.render}
|
|
177
|
-
<div>
|
|
178
|
-
<Render of={props.colFilter.render} />
|
|
179
|
-
</div>
|
|
180
|
-
{/if}
|
|
181
|
-
{/if}
|
|
182
|
-
</div>
|
|
183
|
-
</th>
|
|
184
|
-
</Subscribe>
|
|
185
|
-
{/each}
|
|
186
|
-
</tr>
|
|
187
|
-
</Subscribe>
|
|
188
|
-
{:else}
|
|
189
|
-
<p class="items-center justify-center flex w-full p-10 italic">Nothing to show here.</p>
|
|
190
|
-
{/each}
|
|
191
|
-
</thead>
|
|
192
|
-
|
|
193
|
-
<tbody class="" {...$tableBodyAttrs}>
|
|
194
|
-
{#each $pageRows as row (row.id)}
|
|
195
|
-
<Subscribe rowAttrs={row.attrs()} let:rowAttrs>
|
|
196
|
-
<tr {...rowAttrs}>
|
|
197
|
-
{#each row.cells as cell (cell?.id)}
|
|
198
|
-
<Subscribe attrs={cell.attrs()} let:attrs>
|
|
199
|
-
<td {...attrs} class="!p-2 w-min">
|
|
200
|
-
<div class="flex items-center w-full h-full table-cell-fit">
|
|
201
|
-
<Render of={cell.render()} />
|
|
202
|
-
</div>
|
|
203
|
-
</td>
|
|
204
|
-
</Subscribe>
|
|
205
|
-
{/each}
|
|
206
|
-
</tr>
|
|
207
|
-
</Subscribe>
|
|
208
|
-
{/each}
|
|
209
|
-
</tbody>
|
|
210
|
-
</table>
|
|
211
|
-
</div>
|
|
212
|
-
{#if $data.length > 0}
|
|
213
|
-
<TablePagination pageConfig={pluginStates.page} {pageSizes} />
|
|
214
|
-
{/if}
|
|
215
|
-
</div>
|
|
131
|
+
</script>
|
|
132
|
+
|
|
133
|
+
<div class="grid gap-2">
|
|
134
|
+
<div class="table-container">
|
|
135
|
+
{#if $data.length > 0}
|
|
136
|
+
<input
|
|
137
|
+
class="input p-2 mb-2 border border-primary-500"
|
|
138
|
+
type="text"
|
|
139
|
+
bind:value={$filterValue}
|
|
140
|
+
placeholder="Search rows..."
|
|
141
|
+
/>
|
|
142
|
+
{/if}
|
|
143
|
+
<table {...$tableAttrs} class="table table-compact bg-tertiary-200">
|
|
144
|
+
<thead>
|
|
145
|
+
{#each $headerRows as headerRow (headerRow.id)}
|
|
146
|
+
<Subscribe
|
|
147
|
+
rowAttrs={headerRow.attrs()}
|
|
148
|
+
let:rowAttrs
|
|
149
|
+
rowProps={headerRow.props()}
|
|
150
|
+
let:rowProps
|
|
151
|
+
>
|
|
152
|
+
<tr {...rowAttrs} class="bg-primary-300">
|
|
153
|
+
{#each headerRow.cells as cell (cell.id)}
|
|
154
|
+
<Subscribe attrs={cell.attrs()} props={cell.props()} let:props let:attrs>
|
|
155
|
+
<th scope="col" class="!p-2 w-min" {...attrs}>
|
|
156
|
+
<div class="flex w-full justify-between items-center">
|
|
157
|
+
<div class="flex gap-1">
|
|
158
|
+
<span
|
|
159
|
+
class:underline={props.sort.order}
|
|
160
|
+
class:normal-case={cell.id !== cell.label}
|
|
161
|
+
class:cursor-pointer={!props.sort.disabled}
|
|
162
|
+
on:click={props.sort.toggle}
|
|
163
|
+
on:keydown={props.sort.toggle}
|
|
164
|
+
>
|
|
165
|
+
{cell.render()}
|
|
166
|
+
</span>
|
|
167
|
+
<div class="w-2">
|
|
168
|
+
{#if props.sort.order === 'asc'}
|
|
169
|
+
▾
|
|
170
|
+
{:else if props.sort.order === 'desc'}
|
|
171
|
+
▴
|
|
172
|
+
{/if}
|
|
173
|
+
</div>
|
|
174
|
+
</div>
|
|
175
|
+
{#if cell.isData()}
|
|
176
|
+
{#if props.colFilter?.render}
|
|
177
|
+
<div>
|
|
178
|
+
<Render of={props.colFilter.render} />
|
|
179
|
+
</div>
|
|
180
|
+
{/if}
|
|
181
|
+
{/if}
|
|
182
|
+
</div>
|
|
183
|
+
</th>
|
|
184
|
+
</Subscribe>
|
|
185
|
+
{/each}
|
|
186
|
+
</tr>
|
|
187
|
+
</Subscribe>
|
|
188
|
+
{:else}
|
|
189
|
+
<p class="items-center justify-center flex w-full p-10 italic">Nothing to show here.</p>
|
|
190
|
+
{/each}
|
|
191
|
+
</thead>
|
|
192
|
+
|
|
193
|
+
<tbody class="" {...$tableBodyAttrs}>
|
|
194
|
+
{#each $pageRows as row (row.id)}
|
|
195
|
+
<Subscribe rowAttrs={row.attrs()} let:rowAttrs>
|
|
196
|
+
<tr {...rowAttrs}>
|
|
197
|
+
{#each row.cells as cell (cell?.id)}
|
|
198
|
+
<Subscribe attrs={cell.attrs()} let:attrs>
|
|
199
|
+
<td {...attrs} class="!p-2 w-min">
|
|
200
|
+
<div class="flex items-center w-full h-full table-cell-fit">
|
|
201
|
+
<Render of={cell.render()} />
|
|
202
|
+
</div>
|
|
203
|
+
</td>
|
|
204
|
+
</Subscribe>
|
|
205
|
+
{/each}
|
|
206
|
+
</tr>
|
|
207
|
+
</Subscribe>
|
|
208
|
+
{/each}
|
|
209
|
+
</tbody>
|
|
210
|
+
</table>
|
|
211
|
+
</div>
|
|
212
|
+
{#if $data.length > 0}
|
|
213
|
+
<TablePagination pageConfig={pluginStates.page} {pageSizes} />
|
|
214
|
+
{/if}
|
|
215
|
+
</div>
|