@bexis2/bexis2-core-ui 0.2.11 → 0.2.13
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 +273 -214
- package/dist/components/Table/Table.svelte +85 -85
- package/dist/components/Table/TableFilter.svelte +8 -8
- 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 +8 -8
- 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 +57 -67
- package/dist/components/page/Page.svelte.d.ts +2 -2
- package/dist/components/page/PageCaller.js +19 -21
- package/dist/components/page/Spinner.svelte +9 -10
- 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 +48 -22
- package/dist/components/page/menu/MenuBar.svelte +8 -14
- package/dist/components/page/menu/MenuBar.svelte.d.ts +1 -1
- package/dist/components/page/menu/MenuDataCaller.js +10 -11
- package/dist/components/page/menu/MenuItem.svelte +28 -15
- package/dist/components/page/menu/MenuItem.svelte.d.ts +2 -1
- package/dist/components/page/menu/MenuSublist.svelte +14 -16
- package/dist/components/page/menu/MenuSublist.svelte.d.ts +2 -3
- package/dist/components/page/menu/SettingsBar.svelte +22 -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 +3 -5
- package/dist/index.js +5 -5
- package/dist/models/Enums.d.ts +18 -0
- package/dist/models/Enums.js +22 -0
- package/dist/models/Models.d.ts +18 -0
- package/dist/models/Models.js +1 -2
- 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 +8 -8
- 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 -12
- 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 -109
- package/src/lib/components/page/PageCaller.js +19 -21
- package/src/lib/components/page/Spinner.svelte +13 -15
- package/src/lib/components/page/breadcrumb/Breadcrumb.svelte +31 -43
- package/src/lib/components/page/menu/Menu.svelte +61 -43
- package/src/lib/components/page/menu/MenuBar.svelte +18 -29
- package/src/lib/components/page/menu/MenuDataCaller.js +10 -11
- package/src/lib/components/page/menu/MenuItem.svelte +45 -34
- package/src/lib/components/page/menu/MenuSublist.svelte +33 -41
- package/src/lib/components/page/menu/SettingsBar.svelte +39 -37
- package/src/lib/css/core.ui.postcss +10 -7
- package/src/lib/css/themes/theme-bexis2.css +12 -13
- package/src/lib/index.ts +78 -77
- package/src/lib/models/Enums.ts +32 -11
- package/src/lib/models/Models.ts +136 -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
|
@@ -20,41 +20,41 @@ $:
|
|
|
20
20
|
goToNextPageDisabled = !$hasNextPage;
|
|
21
21
|
$:
|
|
22
22
|
goToPreviousPageDisabled = !$hasPreviousPage;
|
|
23
|
-
</script>
|
|
24
|
-
|
|
25
|
-
<div class="flex justify-center gap-1">
|
|
26
|
-
<button
|
|
27
|
-
class="btn btn-sm variant-filled-primary"
|
|
28
|
-
on:click|preventDefault={goToFirstPage}
|
|
29
|
-
disabled={goToFirstPageDisabled}
|
|
30
|
-
>
|
|
31
|
-
<Fa icon={faAnglesLeft} /></button
|
|
32
|
-
>
|
|
33
|
-
<button
|
|
34
|
-
class="btn btn-sm variant-filled-primary"
|
|
35
|
-
on:click|preventDefault={goToPreviousPage}
|
|
36
|
-
disabled={goToPreviousPageDisabled}><Fa icon={faAngleLeft} /></button
|
|
37
|
-
>
|
|
38
|
-
|
|
39
|
-
<select
|
|
40
|
-
name="pageSize"
|
|
41
|
-
id="pageSize"
|
|
42
|
-
class="select variant-filled-primary w-min font-bold"
|
|
43
|
-
bind:value={$pageSize}
|
|
44
|
-
>
|
|
45
|
-
{#each pageSizes as size}
|
|
46
|
-
<option value={size}>{size}</option>
|
|
47
|
-
{/each}
|
|
48
|
-
</select>
|
|
49
|
-
|
|
50
|
-
<button
|
|
51
|
-
class="btn btn-sm variant-filled-primary"
|
|
52
|
-
on:click|preventDefault={goToNextPage}
|
|
53
|
-
disabled={goToNextPageDisabled}><Fa icon={faAngleRight} /></button
|
|
54
|
-
>
|
|
55
|
-
<button
|
|
56
|
-
class="btn btn-sm variant-filled-primary"
|
|
57
|
-
on:click|preventDefault={goToLastPage}
|
|
58
|
-
disabled={goToLastPageDisabled}><Fa icon={faAnglesRight} /></button
|
|
59
|
-
>
|
|
60
|
-
</div>
|
|
23
|
+
</script>
|
|
24
|
+
|
|
25
|
+
<div class="flex justify-center gap-1">
|
|
26
|
+
<button
|
|
27
|
+
class="btn btn-sm variant-filled-primary"
|
|
28
|
+
on:click|preventDefault={goToFirstPage}
|
|
29
|
+
disabled={goToFirstPageDisabled}
|
|
30
|
+
>
|
|
31
|
+
<Fa icon={faAnglesLeft} /></button
|
|
32
|
+
>
|
|
33
|
+
<button
|
|
34
|
+
class="btn btn-sm variant-filled-primary"
|
|
35
|
+
on:click|preventDefault={goToPreviousPage}
|
|
36
|
+
disabled={goToPreviousPageDisabled}><Fa icon={faAngleLeft} /></button
|
|
37
|
+
>
|
|
38
|
+
|
|
39
|
+
<select
|
|
40
|
+
name="pageSize"
|
|
41
|
+
id="pageSize"
|
|
42
|
+
class="select variant-filled-primary w-min font-bold"
|
|
43
|
+
bind:value={$pageSize}
|
|
44
|
+
>
|
|
45
|
+
{#each pageSizes as size}
|
|
46
|
+
<option value={size}>{size}</option>
|
|
47
|
+
{/each}
|
|
48
|
+
</select>
|
|
49
|
+
|
|
50
|
+
<button
|
|
51
|
+
class="btn btn-sm variant-filled-primary"
|
|
52
|
+
on:click|preventDefault={goToNextPage}
|
|
53
|
+
disabled={goToNextPageDisabled}><Fa icon={faAngleRight} /></button
|
|
54
|
+
>
|
|
55
|
+
<button
|
|
56
|
+
class="btn btn-sm variant-filled-primary"
|
|
57
|
+
on:click|preventDefault={goToLastPage}
|
|
58
|
+
disabled={goToLastPageDisabled}><Fa icon={faAnglesRight} /></button
|
|
59
|
+
>
|
|
60
|
+
</div>
|
|
@@ -88,37 +88,37 @@ async function handleSubmit() {
|
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
|
-
</script>
|
|
92
|
-
|
|
93
|
-
<form on:submit|preventDefault={handleSubmit}>
|
|
94
|
-
{#if model}
|
|
95
|
-
<!--if model exist -->
|
|
96
|
-
<div>
|
|
97
|
-
<DropZone
|
|
98
|
-
on:drop={handleFilesSelect}
|
|
99
|
-
accept={model.accept}
|
|
100
|
-
multiple={model.multiple}
|
|
101
|
-
{maxSize}
|
|
102
|
-
>
|
|
103
|
-
<b style="font-size:xx-large"><Fa icon={faFileUpload} /></b>
|
|
104
|
-
<span
|
|
105
|
-
><b>Drag 'n' drop some files here, or click to select files</b>
|
|
106
|
-
<b>max file : {model.maxSize} mb</b></span
|
|
107
|
-
>
|
|
108
|
-
<p>
|
|
109
|
-
{#if model.accept}
|
|
110
|
-
{#each model.accept as ext}
|
|
111
|
-
{ext} ,
|
|
112
|
-
{/each}
|
|
113
|
-
{/if}
|
|
114
|
-
</p>
|
|
115
|
-
</DropZone>
|
|
116
|
-
</div>
|
|
117
|
-
|
|
118
|
-
<button id={submitBt} color="primary" style="display:none"><Fa icon={faSave} /></button>
|
|
119
|
-
{:else}
|
|
120
|
-
<!-- while data is not loaded show a loading information -->
|
|
121
|
-
|
|
122
|
-
<Spinner />
|
|
123
|
-
{/if}
|
|
124
|
-
</form>
|
|
91
|
+
</script>
|
|
92
|
+
|
|
93
|
+
<form on:submit|preventDefault={handleSubmit}>
|
|
94
|
+
{#if model}
|
|
95
|
+
<!--if model exist -->
|
|
96
|
+
<div>
|
|
97
|
+
<DropZone
|
|
98
|
+
on:drop={handleFilesSelect}
|
|
99
|
+
accept={model.accept}
|
|
100
|
+
multiple={model.multiple}
|
|
101
|
+
{maxSize}
|
|
102
|
+
>
|
|
103
|
+
<b style="font-size:xx-large"><Fa icon={faFileUpload} /></b>
|
|
104
|
+
<span
|
|
105
|
+
><b>Drag 'n' drop some files here, or click to select files</b>
|
|
106
|
+
<b>max file : {model.maxSize} mb</b></span
|
|
107
|
+
>
|
|
108
|
+
<p>
|
|
109
|
+
{#if model.accept}
|
|
110
|
+
{#each model.accept as ext}
|
|
111
|
+
{ext} ,
|
|
112
|
+
{/each}
|
|
113
|
+
{/if}
|
|
114
|
+
</p>
|
|
115
|
+
</DropZone>
|
|
116
|
+
</div>
|
|
117
|
+
|
|
118
|
+
<button id={submitBt} color="primary" style="display:none"><Fa icon={faSave} /></button>
|
|
119
|
+
{:else}
|
|
120
|
+
<!-- while data is not loaded show a loading information -->
|
|
121
|
+
|
|
122
|
+
<Spinner />
|
|
123
|
+
{/if}
|
|
124
|
+
</form>
|
|
@@ -19,24 +19,18 @@
|
|
|
19
19
|
|
|
20
20
|
function updatedSelectedValue(selection) {
|
|
21
21
|
if (selection != null) {
|
|
22
|
-
if(complexTarget)
|
|
23
|
-
{
|
|
22
|
+
if (complexTarget) {
|
|
24
23
|
selected = selection.id;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
{
|
|
28
|
-
selected = selection
|
|
24
|
+
} else {
|
|
25
|
+
selected = selection;
|
|
29
26
|
}
|
|
30
27
|
}
|
|
31
28
|
}
|
|
32
29
|
|
|
33
30
|
function updatedTarget(id) {
|
|
34
|
-
if(complexTarget)
|
|
35
|
-
{
|
|
31
|
+
if (complexTarget) {
|
|
36
32
|
target = source.find((opt) => opt.id === id);
|
|
37
|
-
}
|
|
38
|
-
else
|
|
39
|
-
{
|
|
33
|
+
} else {
|
|
40
34
|
target = id;
|
|
41
35
|
}
|
|
42
36
|
}
|
|
@@ -11,22 +11,23 @@ function onMouseOver() {
|
|
|
11
11
|
}
|
|
12
12
|
function onMouseOut() {
|
|
13
13
|
}
|
|
14
|
-
</script>
|
|
15
|
-
|
|
16
|
-
<
|
|
17
|
-
<
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
<
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
</
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
<div {id} on:mouseover={onMouseOver} on:mouseout={onMouseOut}>
|
|
17
|
+
<label class="label">
|
|
18
|
+
<span
|
|
19
|
+
>{label}
|
|
20
|
+
{#if required} <span class="text-sm text-red-600">*</span> {/if}
|
|
21
|
+
</span>
|
|
22
|
+
<slot />
|
|
23
|
+
{#if feedback}
|
|
24
|
+
<span class="text-sm text-error-600">
|
|
25
|
+
<ul>
|
|
26
|
+
{#each feedback as message}
|
|
27
|
+
<li>{message}</li>
|
|
28
|
+
{/each}
|
|
29
|
+
</ul>
|
|
30
|
+
</span>
|
|
31
|
+
{/if}
|
|
32
|
+
</label>
|
|
33
|
+
</div>
|
|
@@ -1,178 +1,163 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
import InputContainer from './InputContainer.svelte';
|
|
3
|
-
|
|
4
|
-
import Select from 'svelte-select';
|
|
5
|
-
import { onMount } from 'svelte';
|
|
6
|
-
|
|
7
|
-
export let source;
|
|
8
|
-
export let target;
|
|
9
|
-
export let id;
|
|
10
|
-
export let title;
|
|
11
|
-
export let itemId = 'value';
|
|
12
|
-
export let itemLabel = 'label';
|
|
13
|
-
export let itemGroup = 'group';
|
|
14
|
-
export let isMulti = true;
|
|
15
|
-
export let complexSource = false;
|
|
16
|
-
export let complexTarget = false;
|
|
17
|
-
export let required = false;
|
|
18
|
-
export let feedback = [''];
|
|
19
|
-
export let placeholder =
|
|
20
|
-
export let invalid = false;
|
|
21
|
-
export let loading = false;
|
|
22
|
-
export let help = false;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
$: value
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
{
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
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
|
-
value = target
|
|
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
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
hasError={invalid}
|
|
165
|
-
{loading}
|
|
166
|
-
on:change
|
|
167
|
-
on:input
|
|
168
|
-
on:focus
|
|
169
|
-
on:blur
|
|
170
|
-
on:clear
|
|
171
|
-
on:loaded
|
|
172
|
-
on:error
|
|
173
|
-
on:filter
|
|
174
|
-
on:hoverItem
|
|
175
|
-
/>
|
|
176
|
-
|
|
177
|
-
</InputContainer>
|
|
178
|
-
|
|
1
|
+
<script>
|
|
2
|
+
import InputContainer from './InputContainer.svelte';
|
|
3
|
+
|
|
4
|
+
import Select from 'svelte-select';
|
|
5
|
+
import { onMount } from 'svelte';
|
|
6
|
+
|
|
7
|
+
export let source;
|
|
8
|
+
export let target;
|
|
9
|
+
export let id;
|
|
10
|
+
export let title;
|
|
11
|
+
export let itemId = 'value';
|
|
12
|
+
export let itemLabel = 'label';
|
|
13
|
+
export let itemGroup = 'group';
|
|
14
|
+
export let isMulti = true;
|
|
15
|
+
export let complexSource = false;
|
|
16
|
+
export let complexTarget = false;
|
|
17
|
+
export let required = false;
|
|
18
|
+
export let feedback = [''];
|
|
19
|
+
export let placeholder = '-- Please select --';
|
|
20
|
+
export let invalid = false;
|
|
21
|
+
export let loading = false;
|
|
22
|
+
export let help = false;
|
|
23
|
+
|
|
24
|
+
let isLoaded = false;
|
|
25
|
+
|
|
26
|
+
$: value = null;
|
|
27
|
+
$: updateTarget(value);
|
|
28
|
+
|
|
29
|
+
let groupBy;
|
|
30
|
+
$: groupBy;
|
|
31
|
+
|
|
32
|
+
function updateTarget(selection) {
|
|
33
|
+
//different cases
|
|
34
|
+
//a) source is complex model is simple return array
|
|
35
|
+
if (complexSource && !complexTarget && isLoaded && isMulti) {
|
|
36
|
+
//console.log('a) source is complex model is simple');
|
|
37
|
+
|
|
38
|
+
target = [];
|
|
39
|
+
for (let i in selection) {
|
|
40
|
+
let item = selection[i];
|
|
41
|
+
target.push(item[itemId]);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
if (!complexSource && !complexTarget && isLoaded && isMulti) {
|
|
46
|
+
target = [];
|
|
47
|
+
for (let i in selection) {
|
|
48
|
+
target.push(selection[i].value);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
if (complexSource && complexTarget && isLoaded && isMulti) {
|
|
53
|
+
//console.log("both complex",selection);
|
|
54
|
+
target = selection;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
if (complexSource && complexTarget && isLoaded && !isMulti) {
|
|
58
|
+
target = selection;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
if (!complexSource && !complexTarget && isLoaded && !isMulti) {
|
|
62
|
+
target = selection.value;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
if (complexSource && !complexTarget && isLoaded && !isMulti) {
|
|
66
|
+
target = selection[itemLabel];
|
|
67
|
+
console.log('selection', selection);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// //console.log('selection ' + title, selection);
|
|
71
|
+
// //console.log('target ' + title, target);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
onMount(async () => {
|
|
75
|
+
console.log('on mount multiselect');
|
|
76
|
+
////console.log(source);
|
|
77
|
+
|
|
78
|
+
//a) source is complex model is simple
|
|
79
|
+
if (complexSource && !complexTarget && isMulti) {
|
|
80
|
+
let items = [];
|
|
81
|
+
// event.detail will be null unless isMulti is true and user has removed a single item
|
|
82
|
+
for (let i in target) {
|
|
83
|
+
let t = target[i];
|
|
84
|
+
items.push(source.find((item) => item[itemId] === t));
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
isLoaded = true;
|
|
88
|
+
if (items.length > 0) {
|
|
89
|
+
value = items;
|
|
90
|
+
}
|
|
91
|
+
////console.log(value);
|
|
92
|
+
groupBy = (item) => item[itemGroup];
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
if (complexSource && complexTarget && isMulti) {
|
|
96
|
+
value = target;
|
|
97
|
+
isLoaded = true;
|
|
98
|
+
groupBy = (item) => item[itemGroup];
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
//b) simple liust and simple model
|
|
102
|
+
if (!complexSource && !complexTarget && isMulti) {
|
|
103
|
+
////console.log("source", source);
|
|
104
|
+
////console.log("target",target);
|
|
105
|
+
isLoaded = true;
|
|
106
|
+
//set target only if its nit empty
|
|
107
|
+
if (target != null && target !== undefined && target != '') {
|
|
108
|
+
value = target;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
if (!isMulti) {
|
|
113
|
+
//console.log("onmount",complexSource,complexTarget,value,target)
|
|
114
|
+
if (!complexSource && !complexTarget) {
|
|
115
|
+
value = {
|
|
116
|
+
value: target,
|
|
117
|
+
label: target
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
if (complexSource && complexTarget) {
|
|
122
|
+
value = target;
|
|
123
|
+
groupBy = (item) => item[itemGroup];
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
if (complexSource && !complexTarget) {
|
|
127
|
+
//value = target
|
|
128
|
+
console.log(
|
|
129
|
+
'this case is currently not supported (complexSource,complexTarget,isMulti)',
|
|
130
|
+
complexSource,
|
|
131
|
+
complexTarget,
|
|
132
|
+
isMulti
|
|
133
|
+
);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
isLoaded = true;
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
</script>
|
|
140
|
+
|
|
141
|
+
<InputContainer {id} label={title} {feedback} {required} {help}>
|
|
142
|
+
<Select
|
|
143
|
+
{id}
|
|
144
|
+
items={source}
|
|
145
|
+
{groupBy}
|
|
146
|
+
{itemId}
|
|
147
|
+
label={itemLabel}
|
|
148
|
+
multiple={isMulti}
|
|
149
|
+
bind:value
|
|
150
|
+
{placeholder}
|
|
151
|
+
hasError={invalid}
|
|
152
|
+
{loading}
|
|
153
|
+
on:change
|
|
154
|
+
on:input
|
|
155
|
+
on:focus
|
|
156
|
+
on:blur
|
|
157
|
+
on:clear
|
|
158
|
+
on:loaded
|
|
159
|
+
on:error
|
|
160
|
+
on:filter
|
|
161
|
+
on:hoverItem
|
|
162
|
+
/>
|
|
163
|
+
</InputContainer>
|
|
@@ -8,16 +8,16 @@ export let required = false;
|
|
|
8
8
|
export let feedback = [""];
|
|
9
9
|
export let placeholder = "";
|
|
10
10
|
export let help = false;
|
|
11
|
-
</script>
|
|
12
|
-
|
|
13
|
-
<InputContainer {id} {label} {feedback} {required} {help}>
|
|
14
|
-
<textarea
|
|
15
|
-
{id}
|
|
16
|
-
class="textarea variant-form-material"
|
|
17
|
-
class:input-success={valid}
|
|
18
|
-
class:input-error={invalid}
|
|
19
|
-
bind:value
|
|
20
|
-
on:input
|
|
21
|
-
{placeholder}
|
|
22
|
-
/>
|
|
23
|
-
</InputContainer>
|
|
11
|
+
</script>
|
|
12
|
+
|
|
13
|
+
<InputContainer {id} {label} {feedback} {required} {help}>
|
|
14
|
+
<textarea
|
|
15
|
+
{id}
|
|
16
|
+
class="textarea variant-form-material"
|
|
17
|
+
class:input-success={valid}
|
|
18
|
+
class:input-error={invalid}
|
|
19
|
+
bind:value
|
|
20
|
+
on:input
|
|
21
|
+
{placeholder}
|
|
22
|
+
/>
|
|
23
|
+
</InputContainer>
|