@bexis2/bexis2-core-ui 0.4.18 → 0.4.20
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 +16 -8
- package/dist/components/CodeEditor/CodeEditor.svelte +4 -0
- package/dist/components/Facets/Facets.svelte +57 -20
- package/dist/components/Facets/Facets.svelte.d.ts +5 -1
- package/dist/components/Facets/ShowMore.svelte +31 -18
- package/dist/components/Facets/ShowMore.svelte.d.ts +2 -2
- package/dist/components/File/FileUploader.svelte +1 -1
- package/dist/components/Table/ColumnsMenu.svelte +5 -0
- package/dist/components/Table/TableContent.svelte +32 -16
- package/dist/components/Table/TableFilter.svelte +12 -0
- package/dist/components/Table/TableFilterServer.svelte +13 -1
- package/dist/components/Table/TablePagination.svelte +11 -6
- package/dist/components/Table/TablePaginationServer.svelte +8 -0
- package/dist/components/form/Checkbox.svelte +1 -1
- package/dist/components/form/CheckboxKvPList.svelte +2 -1
- package/dist/components/form/CheckboxList.svelte +2 -2
- package/dist/components/form/DateInput.svelte +1 -1
- package/dist/components/form/DropdownKvP.svelte +1 -1
- package/dist/components/form/InputContainer.svelte +7 -1
- package/dist/components/form/MultiSelect.svelte +100 -106
- package/dist/components/form/NumberInput.svelte +1 -1
- package/dist/components/form/TextArea.svelte +1 -1
- package/dist/components/form/TextInput.svelte +1 -1
- package/dist/components/page/Alert.svelte +1 -1
- package/dist/components/page/BackToTop.svelte +1 -1
- package/dist/components/page/Docs.svelte +1 -1
- package/dist/components/page/GoToTop.svelte +1 -0
- package/dist/components/page/HelpPopUp.svelte +1 -0
- package/dist/components/page/Page.svelte +14 -19
- package/dist/components/page/menu/MenuSublist.svelte +7 -5
- package/package.json +114 -114
- package/src/lib/components/CodeEditor/CodeEditor.svelte +4 -0
- package/src/lib/components/Facets/Facets.svelte +74 -25
- package/src/lib/components/Facets/ShowMore.svelte +33 -19
- package/src/lib/components/File/FileUploader.svelte +1 -1
- package/src/lib/components/Table/ColumnsMenu.svelte +5 -0
- package/src/lib/components/Table/TableContent.svelte +32 -16
- package/src/lib/components/Table/TableFilter.svelte +12 -0
- package/src/lib/components/Table/TableFilterServer.svelte +13 -1
- package/src/lib/components/Table/TablePagination.svelte +11 -6
- package/src/lib/components/Table/TablePaginationServer.svelte +8 -0
- package/src/lib/components/form/Checkbox.svelte +1 -1
- package/src/lib/components/form/CheckboxKvPList.svelte +2 -1
- package/src/lib/components/form/CheckboxList.svelte +2 -2
- package/src/lib/components/form/DateInput.svelte +1 -1
- package/src/lib/components/form/DropdownKvP.svelte +1 -1
- package/src/lib/components/form/InputContainer.svelte +7 -1
- package/src/lib/components/form/MultiSelect.svelte +100 -106
- package/src/lib/components/form/NumberInput.svelte +1 -1
- package/src/lib/components/form/TextArea.svelte +1 -1
- package/src/lib/components/form/TextInput.svelte +1 -1
- package/src/lib/components/page/Alert.svelte +1 -1
- package/src/lib/components/page/BackToTop.svelte +1 -1
- package/src/lib/components/page/Docs.svelte +1 -1
- package/src/lib/components/page/GoToTop.svelte +1 -0
- package/src/lib/components/page/HelpPopUp.svelte +1 -0
- package/src/lib/components/page/Page.svelte +15 -20
- package/src/lib/components/page/menu/MenuSublist.svelte +11 -8
|
@@ -52,7 +52,11 @@ $: $pageSize = pageSizeDropdownValue;
|
|
|
52
52
|
{/each}
|
|
53
53
|
</select> -->
|
|
54
54
|
|
|
55
|
-
<button
|
|
55
|
+
<button
|
|
56
|
+
aria-label="Open menu to select number of items per page"
|
|
57
|
+
class="btn variant-filled-primary w-20 justify-between"
|
|
58
|
+
use:popup={pageSizePopup}
|
|
59
|
+
>
|
|
56
60
|
<span class="capitalize font-semibold">{pageSizeDropdownValue}</span>
|
|
57
61
|
<Fa icon={faChevronDown} size="xs" />
|
|
58
62
|
</button>
|
|
@@ -72,6 +76,7 @@ $: $pageSize = pageSizeDropdownValue;
|
|
|
72
76
|
<button
|
|
73
77
|
class="btn btn-sm variant-filled-primary"
|
|
74
78
|
on:click|preventDefault={goToFirstPage}
|
|
79
|
+
aria-label="Go to first page"
|
|
75
80
|
disabled={goToFirstPageDisabled}
|
|
76
81
|
id="{id}-first"
|
|
77
82
|
>
|
|
@@ -80,6 +85,7 @@ $: $pageSize = pageSizeDropdownValue;
|
|
|
80
85
|
<button
|
|
81
86
|
class="btn btn-sm variant-filled-primary"
|
|
82
87
|
id="{id}-previous"
|
|
88
|
+
aria-label="Go to previous page"
|
|
83
89
|
on:click|preventDefault={goToPreviousPage}
|
|
84
90
|
disabled={goToPreviousPageDisabled}><Fa icon={faAngleLeft} /></button
|
|
85
91
|
>
|
|
@@ -88,17 +94,20 @@ $: $pageSize = pageSizeDropdownValue;
|
|
|
88
94
|
class="input border border-primary-500 rounded flex w-24"
|
|
89
95
|
value={$pageIndex + 1}
|
|
90
96
|
max={$pageCount}
|
|
97
|
+
aria-label="Current page"
|
|
91
98
|
min={1}
|
|
92
99
|
on:change={handleChange}
|
|
93
100
|
/>
|
|
94
101
|
<button
|
|
95
102
|
class="btn btn-sm variant-filled-primary"
|
|
96
103
|
id="{id}-next"
|
|
104
|
+
aria-label="Go to next page"
|
|
97
105
|
on:click|preventDefault={goToNextPage}
|
|
98
106
|
disabled={goToNextPageDisabled}><Fa icon={faAngleRight} /></button
|
|
99
107
|
>
|
|
100
108
|
<button
|
|
101
109
|
class="btn btn-sm variant-filled-primary"
|
|
110
|
+
aria-label="Go to last page"
|
|
102
111
|
id="{id}-last"
|
|
103
112
|
on:click|preventDefault={goToLastPage}
|
|
104
113
|
disabled={goToLastPageDisabled}><Fa icon={faAnglesRight} /></button
|
|
@@ -107,11 +116,7 @@ $: $pageSize = pageSizeDropdownValue;
|
|
|
107
116
|
<div class="flex justify-end items-center">
|
|
108
117
|
<span class="text-sm text-gray-500">
|
|
109
118
|
{#if $pageCount > 0}
|
|
110
|
-
{
|
|
111
|
-
1 page
|
|
112
|
-
{:else}
|
|
113
|
-
{$pageCount} pages
|
|
114
|
-
{/if}
|
|
119
|
+
Page {$pageIndex + 1} of {$pageCount}
|
|
115
120
|
{:else}
|
|
116
121
|
No pages
|
|
117
122
|
{/if}
|
|
@@ -59,6 +59,7 @@ updateTable();
|
|
|
59
59
|
<select
|
|
60
60
|
name="pageSize"
|
|
61
61
|
id="{id}-pageSize"
|
|
62
|
+
aria-label="Open menu to select number of items per page"
|
|
62
63
|
class="select variant-filled-primary w-min font-bold"
|
|
63
64
|
bind:value={$pageSize}
|
|
64
65
|
>
|
|
@@ -70,21 +71,26 @@ updateTable();
|
|
|
70
71
|
<div class="flex justify-center gap-1">
|
|
71
72
|
<button
|
|
72
73
|
class="btn btn-sm variant-filled-primary"
|
|
74
|
+
title="Go to first page"
|
|
73
75
|
on:click|preventDefault={() => goTo('first')}
|
|
74
76
|
disabled={goToFirstPageDisabled}
|
|
77
|
+
aria-label="Go to first page"
|
|
75
78
|
id="{id}-first"
|
|
76
79
|
>
|
|
77
80
|
<Fa icon={faAnglesLeft} /></button
|
|
78
81
|
>
|
|
79
82
|
<button
|
|
80
83
|
class="btn btn-sm variant-filled-primary"
|
|
84
|
+
title="Go to previous page"
|
|
81
85
|
id="{id}-previous"
|
|
86
|
+
aria-label="Go to previous page"
|
|
82
87
|
on:click|preventDefault={() => goTo('previous')}
|
|
83
88
|
disabled={goToPreviousPageDisabled}><Fa icon={faAngleLeft} /></button
|
|
84
89
|
>
|
|
85
90
|
<input
|
|
86
91
|
type="number"
|
|
87
92
|
class="input border border-primary-500 rounded flex w-24"
|
|
93
|
+
aria-label="Current page"
|
|
88
94
|
value={$pageIndex + 1}
|
|
89
95
|
max={pageCount}
|
|
90
96
|
min={1}
|
|
@@ -94,11 +100,13 @@ updateTable();
|
|
|
94
100
|
class="btn btn-sm variant-filled-primary"
|
|
95
101
|
id="{id}-next"
|
|
96
102
|
on:click|preventDefault={() => goTo('next')}
|
|
103
|
+
aria-label="Go to next page"
|
|
97
104
|
disabled={goToNextPageDisabled}><Fa icon={faAngleRight} /></button
|
|
98
105
|
>
|
|
99
106
|
<button
|
|
100
107
|
class="btn btn-sm variant-filled-primary"
|
|
101
108
|
id="{id}-last"
|
|
109
|
+
aria-label="Go to last page"
|
|
102
110
|
on:click|preventDefault={() => goTo('last')}
|
|
103
111
|
disabled={goToLastPageDisabled}><Fa icon={faAnglesRight} /></button
|
|
104
112
|
>
|
|
@@ -11,7 +11,7 @@ export let feedback;
|
|
|
11
11
|
<InputContainer {label} {feedback} {required}>
|
|
12
12
|
<input
|
|
13
13
|
{id}
|
|
14
|
-
class="input variant-form-material"
|
|
14
|
+
class="input variant-form-material bg-zinc-50 dark:bg-zinc-50"
|
|
15
15
|
type="checkbox"
|
|
16
16
|
class:input-success={valid}
|
|
17
17
|
class:input-error={invalid}
|
|
@@ -12,13 +12,14 @@ let feedback;
|
|
|
12
12
|
|
|
13
13
|
<InputContainer {id} label={title} {feedback} {required} {help}>
|
|
14
14
|
{#each source as item}
|
|
15
|
-
<label class="flex items-center space-x-2" for={key}>
|
|
15
|
+
<label class="flex items-center space-x-2" for={item.key}>
|
|
16
16
|
<input
|
|
17
17
|
class="checkbox"
|
|
18
18
|
type="checkbox"
|
|
19
19
|
bind:group={target}
|
|
20
20
|
checked={item.key}
|
|
21
21
|
value={item.key}
|
|
22
|
+
id={item.key}
|
|
22
23
|
/>
|
|
23
24
|
<p>{item.value}</p>
|
|
24
25
|
</label>
|
|
@@ -10,8 +10,8 @@ let feedback;
|
|
|
10
10
|
|
|
11
11
|
<InputContainer label={title} {feedback} {required}>
|
|
12
12
|
{#each source as item}
|
|
13
|
-
<label class="flex items-center space-x-2" for={
|
|
14
|
-
<input class="checkbox" type="checkbox" bind:group={target} value={item} />
|
|
13
|
+
<label class="flex items-center space-x-2" for={item}>
|
|
14
|
+
<input class="checkbox" type="checkbox" bind:group={target} value={item} id={item}/>
|
|
15
15
|
<p>{item}</p>
|
|
16
16
|
</label>
|
|
17
17
|
{/each}
|
|
@@ -13,7 +13,7 @@ export let disabled = false;
|
|
|
13
13
|
<InputContainer {id} {label} {feedback} {required} {help}>
|
|
14
14
|
<input
|
|
15
15
|
{id}
|
|
16
|
-
class="input variant-form-material"
|
|
16
|
+
class="input variant-form-material bg-zinc-50 dark:bg-zinc-700 placeholder:text-gray-400"
|
|
17
17
|
type="date"
|
|
18
18
|
class:input-success={valid}
|
|
19
19
|
class:input-error={invalid}
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
<InputContainer {id} label={title} {feedback} {required} {help}>
|
|
40
40
|
<select
|
|
41
41
|
{id}
|
|
42
|
-
class="select variant-form-material"
|
|
42
|
+
class="select variant-form-material dark:bg-zinc-700 bg-zinc-50 placeholder:text-gray-400"
|
|
43
43
|
class:input-success={valid}
|
|
44
44
|
class:input-error={invalid}
|
|
45
45
|
bind:value={selected}
|
|
@@ -13,7 +13,13 @@ function onMouseOut() {
|
|
|
13
13
|
}
|
|
14
14
|
</script>
|
|
15
15
|
|
|
16
|
-
<div
|
|
16
|
+
<div
|
|
17
|
+
id="{id}-container"
|
|
18
|
+
on:mouseover={onMouseOver}
|
|
19
|
+
on:focus={onMouseOver}
|
|
20
|
+
on:mouseout={onMouseOut}
|
|
21
|
+
on:blur={onMouseOut}
|
|
22
|
+
>
|
|
17
23
|
<label class="label">
|
|
18
24
|
<span
|
|
19
25
|
>{label}
|
|
@@ -4,8 +4,6 @@
|
|
|
4
4
|
import Select from 'svelte-select';
|
|
5
5
|
import { onMount } from 'svelte';
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
7
|
export let source;
|
|
10
8
|
export let target;
|
|
11
9
|
export let id;
|
|
@@ -35,16 +33,14 @@
|
|
|
35
33
|
$: groupBy;
|
|
36
34
|
|
|
37
35
|
function updateTarget(selection) {
|
|
36
|
+
console.log('updateTarget', target, selection, isMulti);
|
|
37
|
+
if (selection == undefined) {
|
|
38
|
+
console.log('no update');
|
|
38
39
|
|
|
39
|
-
|
|
40
|
-
if(selection == undefined)
|
|
41
|
-
{
|
|
42
|
-
console.log("no update");
|
|
43
|
-
|
|
44
|
-
return;
|
|
40
|
+
return;
|
|
45
41
|
}
|
|
46
42
|
|
|
47
|
-
console.log(
|
|
43
|
+
console.log('update');
|
|
48
44
|
//different cases
|
|
49
45
|
//a) source is complex model is simple return array
|
|
50
46
|
if (complexSource && !complexTarget && isLoaded && isMulti) {
|
|
@@ -75,8 +71,8 @@
|
|
|
75
71
|
}
|
|
76
72
|
|
|
77
73
|
if (!complexSource && !complexTarget && isLoaded && !isMulti) {
|
|
78
|
-
console.log(
|
|
79
|
-
if(selection){
|
|
74
|
+
console.log('🚀 ~ updateTarget ~ selection:', selection);
|
|
75
|
+
if (selection) {
|
|
80
76
|
target = selection.value;
|
|
81
77
|
}
|
|
82
78
|
}
|
|
@@ -167,118 +163,116 @@
|
|
|
167
163
|
//console.log(t,value)
|
|
168
164
|
}
|
|
169
165
|
|
|
170
|
-
function filterItemStartFn(label, filterText, option) {
|
|
171
|
-
|
|
172
|
-
|
|
166
|
+
function filterItemStartFn(label, filterText, option) {
|
|
167
|
+
// console.log(label, filterText, option);
|
|
168
|
+
let itemFilter = label.toLowerCase().startsWith(filterText.toLowerCase());
|
|
173
169
|
|
|
174
|
-
|
|
175
|
-
}
|
|
170
|
+
return itemFilter;
|
|
171
|
+
}
|
|
176
172
|
|
|
177
|
-
function filterItemExactFn(label, filterText, option) {
|
|
178
|
-
|
|
179
|
-
|
|
173
|
+
function filterItemExactFn(label, filterText, option) {
|
|
174
|
+
// console.log(label, filterText, option);
|
|
175
|
+
let itemFilter = label.toLowerCase() == filterText.toLowerCase();
|
|
180
176
|
|
|
181
|
-
|
|
182
|
-
}
|
|
177
|
+
return itemFilter;
|
|
178
|
+
}
|
|
183
179
|
|
|
184
|
-
function filterItemIncludesFn(label, filterText, option) {
|
|
185
|
-
|
|
186
|
-
|
|
180
|
+
function filterItemIncludesFn(label, filterText, option) {
|
|
181
|
+
// console.log(label, filterText, option);
|
|
182
|
+
let itemFilter = label.toLowerCase().includes(filterText.toLowerCase());
|
|
187
183
|
|
|
188
|
-
|
|
189
|
-
}
|
|
184
|
+
return itemFilter;
|
|
185
|
+
}
|
|
190
186
|
|
|
191
|
-
function filterFn({
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
}) {
|
|
205
|
-
|
|
206
|
-
|
|
187
|
+
function filterFn({
|
|
188
|
+
loadOptions,
|
|
189
|
+
filterText,
|
|
190
|
+
items,
|
|
191
|
+
multiple,
|
|
192
|
+
value,
|
|
193
|
+
itemId,
|
|
194
|
+
groupBy,
|
|
195
|
+
filterSelectedItems,
|
|
196
|
+
itemFilter,
|
|
197
|
+
convertStringItemsToObjects,
|
|
198
|
+
filterGroupedItems,
|
|
199
|
+
label
|
|
200
|
+
}) {
|
|
201
|
+
if (items && loadOptions) return items;
|
|
202
|
+
if (!items) return [];
|
|
203
|
+
|
|
204
|
+
if (items && items.length > 0 && typeof items[0] !== 'object') {
|
|
205
|
+
items = convertStringItemsToObjects(items);
|
|
206
|
+
}
|
|
207
207
|
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
208
|
+
let filterResults = filterListFn(
|
|
209
|
+
items,
|
|
210
|
+
label,
|
|
211
|
+
filterText,
|
|
212
|
+
multiple,
|
|
213
|
+
value,
|
|
214
|
+
filterSelectedItems,
|
|
215
|
+
itemId
|
|
216
|
+
);
|
|
217
|
+
|
|
218
|
+
if (groupBy) {
|
|
219
|
+
filterResults = filterGroupedItems(filterResults, label, filterText);
|
|
220
|
+
}
|
|
211
221
|
|
|
212
|
-
|
|
222
|
+
return filterResults;
|
|
223
|
+
}
|
|
213
224
|
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
225
|
+
// filter checks 3 types, exact, starts, includes
|
|
226
|
+
function filterListFn(items, label, filterText, multiple, value, filterSelectedItems, itemId) {
|
|
227
|
+
if (!items) return [];
|
|
217
228
|
|
|
218
|
-
|
|
219
|
-
|
|
229
|
+
let exact = items.filter((item) => {
|
|
230
|
+
let matchesFilter = filterItemExactFn(item[label], filterText, item);
|
|
231
|
+
if (matchesFilter && multiple && value?.length) {
|
|
232
|
+
matchesFilter = !value.some((x) => {
|
|
233
|
+
return filterSelectedItems ? x[itemId] === item[itemId] : false;
|
|
234
|
+
});
|
|
235
|
+
}
|
|
220
236
|
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
{
|
|
237
|
+
return matchesFilter;
|
|
238
|
+
});
|
|
224
239
|
|
|
225
|
-
|
|
240
|
+
let starts = items.filter((item) => {
|
|
241
|
+
let matchesFilter = filterItemStartFn(item[label], filterText, item);
|
|
242
|
+
if (matchesFilter && multiple && value?.length) {
|
|
243
|
+
matchesFilter = !value.some((x) => {
|
|
244
|
+
return filterSelectedItems ? x[itemId] === item[itemId] : false;
|
|
245
|
+
});
|
|
246
|
+
}
|
|
226
247
|
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
if (matchesFilter && multiple && value?.length) {
|
|
230
|
-
matchesFilter = !value.some((x) => {
|
|
231
|
-
return filterSelectedItems ? x[itemId] === item[itemId] : false;
|
|
232
|
-
});
|
|
233
|
-
}
|
|
248
|
+
return matchesFilter;
|
|
249
|
+
});
|
|
234
250
|
|
|
235
|
-
|
|
236
|
-
|
|
251
|
+
let includes = items.filter((item) => {
|
|
252
|
+
let matchesFilter = filterItemIncludesFn(item[label], filterText, item);
|
|
253
|
+
if (matchesFilter && multiple && value?.length) {
|
|
254
|
+
matchesFilter = !value.some((x) => {
|
|
255
|
+
return filterSelectedItems ? x[itemId] === item[itemId] : false;
|
|
256
|
+
});
|
|
257
|
+
}
|
|
237
258
|
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
if (matchesFilter && multiple && value?.length) {
|
|
241
|
-
matchesFilter = !value.some((x) => {
|
|
242
|
-
return filterSelectedItems ? x[itemId] === item[itemId] : false;
|
|
243
|
-
});
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
return matchesFilter;
|
|
247
|
-
|
|
248
|
-
});
|
|
249
|
-
|
|
250
|
-
let includes = items.filter((item) => {
|
|
251
|
-
let matchesFilter = filterItemIncludesFn(item[label], filterText, item);
|
|
252
|
-
if (matchesFilter && multiple && value?.length) {
|
|
253
|
-
matchesFilter = !value.some((x) => {
|
|
254
|
-
return filterSelectedItems ? x[itemId] === item[itemId] : false;
|
|
255
|
-
});
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
return matchesFilter;
|
|
259
|
-
});
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
let result = [...exact,...starts,...includes];
|
|
263
|
-
return [...new Set(result)];
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
function clearFn(e)
|
|
267
|
-
{
|
|
268
|
-
console.log("clear", target, e);
|
|
269
|
-
if(isMulti)
|
|
270
|
-
{
|
|
271
|
-
target = [];
|
|
272
|
-
}
|
|
273
|
-
else
|
|
274
|
-
{
|
|
275
|
-
target="";
|
|
276
|
-
}
|
|
259
|
+
return matchesFilter;
|
|
260
|
+
});
|
|
277
261
|
|
|
278
|
-
|
|
279
|
-
|
|
262
|
+
let result = [...exact, ...starts, ...includes];
|
|
263
|
+
return [...new Set(result)];
|
|
264
|
+
}
|
|
280
265
|
|
|
266
|
+
function clearFn(e) {
|
|
267
|
+
console.log('clear', target, e);
|
|
268
|
+
if (isMulti) {
|
|
269
|
+
target = [];
|
|
270
|
+
} else {
|
|
271
|
+
target = '';
|
|
272
|
+
}
|
|
281
273
|
|
|
274
|
+
console.log('after clear', target);
|
|
275
|
+
}
|
|
282
276
|
</script>
|
|
283
277
|
|
|
284
278
|
<InputContainer {id} label={title} {feedback} {required} {help}>
|
|
@@ -295,7 +289,7 @@ function clearFn(e)
|
|
|
295
289
|
{loading}
|
|
296
290
|
{clearable}
|
|
297
291
|
{disabled}
|
|
298
|
-
|
|
292
|
+
filter={filterFn}
|
|
299
293
|
on:change
|
|
300
294
|
on:input
|
|
301
295
|
on:focus
|
|
@@ -15,7 +15,7 @@ export let disabled = false;
|
|
|
15
15
|
<InputContainer {id} {label} {feedback} {required} {help}>
|
|
16
16
|
<input
|
|
17
17
|
{id}
|
|
18
|
-
class="input variant-form-material"
|
|
18
|
+
class="input variant-form-material dark:bg-zinc-700 bg-zinc-50 placeholder:text-gray-400"
|
|
19
19
|
type="number"
|
|
20
20
|
class:input-success={valid}
|
|
21
21
|
class:input-error={invalid}
|
|
@@ -14,7 +14,7 @@ export let disabled = false;
|
|
|
14
14
|
<InputContainer {id} {label} {feedback} {required} {help}>
|
|
15
15
|
<textarea
|
|
16
16
|
{id}
|
|
17
|
-
class="textarea variant-form-material"
|
|
17
|
+
class="textarea variant-form-material dark:bg-zinc-700 bg-zinc-50 placeholder:text-gray-400"
|
|
18
18
|
class:input-success={valid}
|
|
19
19
|
class:input-error={invalid}
|
|
20
20
|
bind:value
|
|
@@ -14,7 +14,7 @@ export let disabled = false;
|
|
|
14
14
|
<InputContainer {id} {label} {feedback} {required} {help}>
|
|
15
15
|
<input
|
|
16
16
|
{id}
|
|
17
|
-
class="input variant-form-material"
|
|
17
|
+
class="input variant-form-material dark:bg-zinc-700 bg-zinc-50 placeholder:text-gray-400"
|
|
18
18
|
type="text"
|
|
19
19
|
class:input-success={valid}
|
|
20
20
|
class:input-error={invalid}
|
|
@@ -27,7 +27,7 @@ $: show = true;
|
|
|
27
27
|
<slot name="actions" />
|
|
28
28
|
|
|
29
29
|
{#if deleteBtn}
|
|
30
|
-
<button class="btn hover:text-primary-100" on:click={() => (show = false)}>
|
|
30
|
+
<button class="btn hover:text-primary-100" title="Close alert" on:click={() => (show = false)}>
|
|
31
31
|
<Fa icon={faXmark} />
|
|
32
32
|
</button>
|
|
33
33
|
{/if}
|
|
@@ -26,5 +26,5 @@
|
|
|
26
26
|
<svelte:window on:scroll={handleOnScroll} />
|
|
27
27
|
|
|
28
28
|
<div class="w-full items-center">
|
|
29
|
-
<button class="btn ring back-to-top" on:click={goTop} class:hidden>Back to top</button>
|
|
29
|
+
<button class="btn ring back-to-top" title="Back to top" on:click={goTop} class:hidden>Back to top</button>
|
|
30
30
|
</div>
|
|
@@ -29,7 +29,7 @@ const noteSettings = {
|
|
|
29
29
|
{/if}
|
|
30
30
|
|
|
31
31
|
{#each links as link}
|
|
32
|
-
<span class="chip variant-soft hover:variant-filled" on:click={() => goTo(link.url, false)} on:keypress={() => goTo(link.url, false)}>
|
|
32
|
+
<span class="chip variant-soft hover:variant-filled" role="button" tabindex="0" on:click={() => goTo(link.url, false)} on:keypress={() => goTo(link.url, false)}>
|
|
33
33
|
<span>{link.label}</span>
|
|
34
34
|
</span>
|
|
35
35
|
{/each}
|
|
@@ -41,27 +41,23 @@ function scrollToTop() {
|
|
|
41
41
|
</script>
|
|
42
42
|
|
|
43
43
|
<div class="app" bind:this={app}>
|
|
44
|
-
<
|
|
44
|
+
<div class="w-full h-full flex flex-col overflow-hidden">
|
|
45
45
|
<!--header-->
|
|
46
|
-
<
|
|
47
|
-
<
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
<Menu />
|
|
52
|
-
{/if}
|
|
46
|
+
<header class="flex-none z-10">
|
|
47
|
+
<Header />
|
|
48
|
+
{#if true}
|
|
49
|
+
<Menu />
|
|
50
|
+
{/if}
|
|
53
51
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
</AppBar>
|
|
60
|
-
</svelte:fragment>
|
|
52
|
+
<div class="grid grid-cols-2">
|
|
53
|
+
<Breadcrumb bind:title />
|
|
54
|
+
<Docs {links} {note} />
|
|
55
|
+
</div>
|
|
56
|
+
</header>
|
|
61
57
|
|
|
62
|
-
<
|
|
58
|
+
<footer >
|
|
63
59
|
<Footer />
|
|
64
|
-
</
|
|
60
|
+
</footer>
|
|
65
61
|
|
|
66
62
|
<slot name="description" />
|
|
67
63
|
|
|
@@ -98,6 +94,5 @@ function scrollToTop() {
|
|
|
98
94
|
<GoToTop/>
|
|
99
95
|
<HelpPopUp active={help} />
|
|
100
96
|
<Notification />
|
|
101
|
-
</AppShell>
|
|
102
97
|
</div>
|
|
103
|
-
|
|
98
|
+
</div>
|
|
@@ -15,12 +15,14 @@ function isNewModule(module) {
|
|
|
15
15
|
return true;
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
-
function clickFn(item) {
|
|
18
|
+
function clickFn(item, newWindow = false) {
|
|
19
19
|
if (item.Title == "Log Off") {
|
|
20
20
|
logOffFn();
|
|
21
21
|
return;
|
|
22
|
-
} else {
|
|
22
|
+
} else if (newWindow == false) {
|
|
23
23
|
goTo(item.Url);
|
|
24
|
+
} else {
|
|
25
|
+
window.open(item.Url);
|
|
24
26
|
}
|
|
25
27
|
}
|
|
26
28
|
async function logOffFn() {
|
|
@@ -49,8 +51,8 @@ async function logOffFn() {
|
|
|
49
51
|
|
|
50
52
|
<ListBox class="sm:bg-white sm:border overflow-y-auto max-h-[500px]">
|
|
51
53
|
{#each items as item}
|
|
52
|
-
{#if isNewModule(item.Module)}<hr class="text-surface-800"
|
|
53
|
-
|
|
54
|
+
{#if isNewModule(item.Module)}<hr class="text-surface-800"/>{/if}
|
|
55
|
+
<span on:auxclick={() => clickFn(item, true)}>
|
|
54
56
|
<ListBoxItem
|
|
55
57
|
class="text-md sm:text-sm text-surface-800 py-1 hover:text-secondary-500 bg-transparent hover:bg-surface-200"
|
|
56
58
|
bind:group={item.Title}
|
|
@@ -60,6 +62,6 @@ async function logOffFn() {
|
|
|
60
62
|
>
|
|
61
63
|
{item.Title}
|
|
62
64
|
</ListBoxItem>
|
|
63
|
-
|
|
65
|
+
</span>
|
|
64
66
|
{/each}
|
|
65
67
|
</ListBox>
|