@bexis2/bexis2-core-ui 0.2.12 → 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 +10 -0
- package/dist/components/Table/TableFilter.svelte +117 -117
- package/dist/components/page/menu/Menu.svelte +52 -26
- package/dist/components/page/menu/MenuBar.svelte +9 -8
- package/dist/components/page/menu/MenuBar.svelte.d.ts +2 -2
- package/dist/components/page/menu/MenuItem.svelte +27 -10
- package/dist/components/page/menu/MenuSublist.svelte +16 -19
- package/dist/components/page/menu/MenuSublist.svelte.d.ts +0 -1
- package/dist/components/page/menu/SettingsBar.svelte +24 -11
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- 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 -1
- package/package.json +1 -1
- package/src/lib/components/Table/TableFilter.svelte +222 -222
- package/src/lib/components/page/menu/Menu.svelte +65 -40
- package/src/lib/components/page/menu/MenuBar.svelte +20 -20
- package/src/lib/components/page/menu/MenuItem.svelte +28 -11
- package/src/lib/components/page/menu/MenuSublist.svelte +40 -43
- package/src/lib/components/page/menu/SettingsBar.svelte +42 -31
- package/src/lib/index.ts +5 -2
- package/src/lib/models/Enums.ts +22 -0
- package/src/lib/models/Models.ts +23 -0
package/README.md
CHANGED
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
# bexis-core-ui
|
|
2
|
+
## v0.2.13
|
|
3
|
+
- add file reader types
|
|
4
|
+
- fileReaderInfoType,
|
|
5
|
+
- asciiFileReaderInfoType
|
|
6
|
+
- add file reader enums
|
|
7
|
+
- decimalCharacterType,orientationType,textMarkerType,textSeperatorType
|
|
8
|
+
- Table Change order of text filter options
|
|
9
|
+
- fix menu
|
|
10
|
+
- update navbar
|
|
11
|
+
|
|
2
12
|
## v0.2.12
|
|
3
13
|
- update libs
|
|
4
14
|
|
|
@@ -39,6 +39,14 @@ const options = {
|
|
|
39
39
|
}
|
|
40
40
|
],
|
|
41
41
|
string: [
|
|
42
|
+
{
|
|
43
|
+
value: "contains",
|
|
44
|
+
label: "Contains"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
value: "notcontains",
|
|
48
|
+
label: "Does not contain"
|
|
49
|
+
},
|
|
42
50
|
{
|
|
43
51
|
value: "isequal",
|
|
44
52
|
label: "Is equal to"
|
|
@@ -51,14 +59,6 @@ const options = {
|
|
|
51
59
|
value: "starts",
|
|
52
60
|
label: "Starts with"
|
|
53
61
|
},
|
|
54
|
-
{
|
|
55
|
-
value: "contains",
|
|
56
|
-
label: "Contains"
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
value: "notcontains",
|
|
60
|
-
label: "Does not contain"
|
|
61
|
-
},
|
|
62
62
|
{
|
|
63
63
|
value: "ends",
|
|
64
64
|
label: "Ends with"
|
|
@@ -103,112 +103,112 @@ if (type === "object") {
|
|
|
103
103
|
type = "date";
|
|
104
104
|
}
|
|
105
105
|
}
|
|
106
|
-
</script>
|
|
107
|
-
|
|
108
|
-
<form class="">
|
|
109
|
-
<button
|
|
110
|
-
class:variant-filled-primary={active}
|
|
111
|
-
class="btn w-max p-2"
|
|
112
|
-
type="button"
|
|
113
|
-
use:popup={popupFeatured}
|
|
114
|
-
>
|
|
115
|
-
<Fa icon={faFilter} size="12" />
|
|
116
|
-
</button>
|
|
117
|
-
|
|
118
|
-
<div data-popup={`${popupId}`}>
|
|
119
|
-
<div class="card p-3 absolute grid gap-2 shadow-lg z-10 w-min bg-base-100">
|
|
120
|
-
<button
|
|
121
|
-
class="btn variant-filled-primary btn-sm"
|
|
122
|
-
type="button"
|
|
123
|
-
on:click|preventDefault={() => {
|
|
124
|
-
firstOption = 'isequal';
|
|
125
|
-
firstValue = undefined;
|
|
126
|
-
secondOption = 'isequal';
|
|
127
|
-
secondValue = undefined;
|
|
128
|
-
|
|
129
|
-
$filterValue = [firstOption, firstValue, secondOption, secondValue];
|
|
130
|
-
active = false;
|
|
131
|
-
}}>Clear Filter</button
|
|
132
|
-
>
|
|
133
|
-
|
|
134
|
-
<label for="" class="label normal-case text-sm">Show rows with value that</label>
|
|
135
|
-
<div class="grid gap-2 w-full">
|
|
136
|
-
<select
|
|
137
|
-
class="select border border-primary-500 text-sm p-1"
|
|
138
|
-
aria-label="Show rows with value that"
|
|
139
|
-
bind:value={firstOption}
|
|
140
|
-
on:click|stopPropagation
|
|
141
|
-
>
|
|
142
|
-
{#each options[type] as option (option)}
|
|
143
|
-
<option value={option.value}>{option.label}</option>
|
|
144
|
-
{/each}
|
|
145
|
-
</select>
|
|
146
|
-
{#if type === 'number'}
|
|
147
|
-
<input
|
|
148
|
-
type="number"
|
|
149
|
-
class="input p-1 border border-primary-500"
|
|
150
|
-
bind:value={firstValue}
|
|
151
|
-
on:click|stopPropagation
|
|
152
|
-
/>
|
|
153
|
-
{:else if type === 'string'}
|
|
154
|
-
<input
|
|
155
|
-
type="text"
|
|
156
|
-
class="input p-1 border border-primary-500"
|
|
157
|
-
bind:value={firstValue}
|
|
158
|
-
on:click|stopPropagation
|
|
159
|
-
/>
|
|
160
|
-
{:else}
|
|
161
|
-
<input
|
|
162
|
-
type="date"
|
|
163
|
-
class="input p-1 border border-primary-500"
|
|
164
|
-
bind:value={firstValue}
|
|
165
|
-
on:click|stopPropagation
|
|
166
|
-
/>
|
|
167
|
-
{/if}
|
|
168
|
-
</div>
|
|
169
|
-
<label for="" class="label normal-case">And</label>
|
|
170
|
-
<div class="grid gap-2 w-max">
|
|
171
|
-
<select
|
|
172
|
-
class="select border border-primary-500 text-sm p-1"
|
|
173
|
-
aria-label="Show rows with value that"
|
|
174
|
-
bind:value={secondOption}
|
|
175
|
-
on:click|stopPropagation
|
|
176
|
-
>
|
|
177
|
-
{#each options[type] as option (option)}
|
|
178
|
-
<option value={option.value}>{option.label}</option>
|
|
179
|
-
{/each}
|
|
180
|
-
</select>
|
|
181
|
-
{#if type === 'number'}
|
|
182
|
-
<input
|
|
183
|
-
type="number"
|
|
184
|
-
class="input p-1 border border-primary-500"
|
|
185
|
-
bind:value={secondValue}
|
|
186
|
-
on:click|stopPropagation
|
|
187
|
-
/>
|
|
188
|
-
{:else if type === 'string'}
|
|
189
|
-
<input
|
|
190
|
-
type="text"
|
|
191
|
-
class="input p-1 border border-primary-500"
|
|
192
|
-
bind:value={secondValue}
|
|
193
|
-
on:click|stopPropagation
|
|
194
|
-
/>
|
|
195
|
-
{:else}
|
|
196
|
-
<input
|
|
197
|
-
type="date"
|
|
198
|
-
class="input p-1 border border-primary-500"
|
|
199
|
-
bind:value={secondValue}
|
|
200
|
-
on:click|stopPropagation
|
|
201
|
-
/>
|
|
202
|
-
{/if}
|
|
203
|
-
</div>
|
|
204
|
-
<button
|
|
205
|
-
class="btn variant-filled-primary btn-sm"
|
|
206
|
-
type="button"
|
|
207
|
-
on:click|preventDefault={() => {
|
|
208
|
-
active = firstValue?.toString().length > 0 || secondValue?.toString().length > 0;
|
|
209
|
-
$filterValue = [firstOption, firstValue, secondOption, secondValue];
|
|
210
|
-
}}>Apply</button
|
|
211
|
-
>
|
|
212
|
-
</div>
|
|
213
|
-
</div>
|
|
214
|
-
</form>
|
|
106
|
+
</script>
|
|
107
|
+
|
|
108
|
+
<form class="">
|
|
109
|
+
<button
|
|
110
|
+
class:variant-filled-primary={active}
|
|
111
|
+
class="btn w-max p-2"
|
|
112
|
+
type="button"
|
|
113
|
+
use:popup={popupFeatured}
|
|
114
|
+
>
|
|
115
|
+
<Fa icon={faFilter} size="12" />
|
|
116
|
+
</button>
|
|
117
|
+
|
|
118
|
+
<div data-popup={`${popupId}`}>
|
|
119
|
+
<div class="card p-3 absolute grid gap-2 shadow-lg z-10 w-min bg-base-100">
|
|
120
|
+
<button
|
|
121
|
+
class="btn variant-filled-primary btn-sm"
|
|
122
|
+
type="button"
|
|
123
|
+
on:click|preventDefault={() => {
|
|
124
|
+
firstOption = 'isequal';
|
|
125
|
+
firstValue = undefined;
|
|
126
|
+
secondOption = 'isequal';
|
|
127
|
+
secondValue = undefined;
|
|
128
|
+
|
|
129
|
+
$filterValue = [firstOption, firstValue, secondOption, secondValue];
|
|
130
|
+
active = false;
|
|
131
|
+
}}>Clear Filter</button
|
|
132
|
+
>
|
|
133
|
+
|
|
134
|
+
<label for="" class="label normal-case text-sm">Show rows with value that</label>
|
|
135
|
+
<div class="grid gap-2 w-full">
|
|
136
|
+
<select
|
|
137
|
+
class="select border border-primary-500 text-sm p-1"
|
|
138
|
+
aria-label="Show rows with value that"
|
|
139
|
+
bind:value={firstOption}
|
|
140
|
+
on:click|stopPropagation
|
|
141
|
+
>
|
|
142
|
+
{#each options[type] as option (option)}
|
|
143
|
+
<option value={option.value}>{option.label}</option>
|
|
144
|
+
{/each}
|
|
145
|
+
</select>
|
|
146
|
+
{#if type === 'number'}
|
|
147
|
+
<input
|
|
148
|
+
type="number"
|
|
149
|
+
class="input p-1 border border-primary-500"
|
|
150
|
+
bind:value={firstValue}
|
|
151
|
+
on:click|stopPropagation
|
|
152
|
+
/>
|
|
153
|
+
{:else if type === 'string'}
|
|
154
|
+
<input
|
|
155
|
+
type="text"
|
|
156
|
+
class="input p-1 border border-primary-500"
|
|
157
|
+
bind:value={firstValue}
|
|
158
|
+
on:click|stopPropagation
|
|
159
|
+
/>
|
|
160
|
+
{:else}
|
|
161
|
+
<input
|
|
162
|
+
type="date"
|
|
163
|
+
class="input p-1 border border-primary-500"
|
|
164
|
+
bind:value={firstValue}
|
|
165
|
+
on:click|stopPropagation
|
|
166
|
+
/>
|
|
167
|
+
{/if}
|
|
168
|
+
</div>
|
|
169
|
+
<label for="" class="label normal-case">And</label>
|
|
170
|
+
<div class="grid gap-2 w-max">
|
|
171
|
+
<select
|
|
172
|
+
class="select border border-primary-500 text-sm p-1"
|
|
173
|
+
aria-label="Show rows with value that"
|
|
174
|
+
bind:value={secondOption}
|
|
175
|
+
on:click|stopPropagation
|
|
176
|
+
>
|
|
177
|
+
{#each options[type] as option (option)}
|
|
178
|
+
<option value={option.value}>{option.label}</option>
|
|
179
|
+
{/each}
|
|
180
|
+
</select>
|
|
181
|
+
{#if type === 'number'}
|
|
182
|
+
<input
|
|
183
|
+
type="number"
|
|
184
|
+
class="input p-1 border border-primary-500"
|
|
185
|
+
bind:value={secondValue}
|
|
186
|
+
on:click|stopPropagation
|
|
187
|
+
/>
|
|
188
|
+
{:else if type === 'string'}
|
|
189
|
+
<input
|
|
190
|
+
type="text"
|
|
191
|
+
class="input p-1 border border-primary-500"
|
|
192
|
+
bind:value={secondValue}
|
|
193
|
+
on:click|stopPropagation
|
|
194
|
+
/>
|
|
195
|
+
{:else}
|
|
196
|
+
<input
|
|
197
|
+
type="date"
|
|
198
|
+
class="input p-1 border border-primary-500"
|
|
199
|
+
bind:value={secondValue}
|
|
200
|
+
on:click|stopPropagation
|
|
201
|
+
/>
|
|
202
|
+
{/if}
|
|
203
|
+
</div>
|
|
204
|
+
<button
|
|
205
|
+
class="btn variant-filled-primary btn-sm"
|
|
206
|
+
type="button"
|
|
207
|
+
on:click|preventDefault={() => {
|
|
208
|
+
active = firstValue?.toString().length > 0 || secondValue?.toString().length > 0;
|
|
209
|
+
$filterValue = [firstOption, firstValue, secondOption, secondValue];
|
|
210
|
+
}}>Apply</button
|
|
211
|
+
>
|
|
212
|
+
</div>
|
|
213
|
+
</div>
|
|
214
|
+
</form>
|
|
@@ -1,35 +1,61 @@
|
|
|
1
1
|
<script>import { onMount } from "svelte";
|
|
2
|
-
import { get } from "svelte/store";
|
|
3
2
|
import { getMenuItems } from "./MenuDataCaller";
|
|
4
3
|
import { menuStore } from "../../../stores/pageStores";
|
|
5
4
|
import MenuBar from "./MenuBar.svelte";
|
|
6
5
|
import SettingsBar from "./SettingsBar.svelte";
|
|
6
|
+
import Fa from "svelte-fa/src/fa.svelte";
|
|
7
|
+
import { faBars } from "@fortawesome/free-solid-svg-icons";
|
|
8
|
+
import { Accordion } from "@skeletonlabs/skeleton";
|
|
7
9
|
onMount(async () => {
|
|
8
10
|
let m = await getMenuItems();
|
|
9
11
|
menuStore.set(m);
|
|
10
12
|
});
|
|
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
|
-
|
|
13
|
+
let hamburger = true;
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
{#if $menuStore !== undefined}
|
|
18
|
+
<div
|
|
19
|
+
class="sm:flex h-min flex-row w-full justify-between items-center md:flex px-3 py-2 bg-tertiary-50 text-surface-800 z-50 shadow-md"
|
|
20
|
+
>
|
|
21
|
+
<div class="flex justify-between gap-5">
|
|
22
|
+
<div class="basis-8">
|
|
23
|
+
{#if $menuStore.Logo}
|
|
24
|
+
<img
|
|
25
|
+
src="data:{$menuStore.Logo.Mime};charset=utf-8;base64, {$menuStore.Logo.Data}"
|
|
26
|
+
alt={$menuStore.Logo.Name}
|
|
27
|
+
style="height:40px;"
|
|
28
|
+
/>
|
|
29
|
+
{/if}
|
|
30
|
+
</div>
|
|
31
|
+
<button
|
|
32
|
+
class="w-min h-min variant-ghost-surface aspect-square p-3 rounded-lg sm:hidden justify-end btn"
|
|
33
|
+
on:click|preventDefault={() => (hamburger = !hamburger)}
|
|
34
|
+
>
|
|
35
|
+
<Fa icon={faBars} />
|
|
36
|
+
</button>
|
|
37
|
+
</div>
|
|
38
|
+
|
|
39
|
+
<div class="sm:flex w-full h-full sm:h-10" class:hidden={hamburger}>
|
|
40
|
+
<div class="sm:flex justify-between w-full">
|
|
41
|
+
<Accordion>
|
|
42
|
+
<div class="sm:flex w-full justify-between">
|
|
43
|
+
<!-- <div class="sm:flex items-center sm:gap-5 px-1 text-lg justify-start gap-2 py-0"> -->
|
|
44
|
+
<MenuBar menuBar={$menuStore.MenuBar} />
|
|
45
|
+
<MenuBar menuBar={$menuStore.Extended} />
|
|
46
|
+
<!-- </div> -->
|
|
47
|
+
<!-- <div class="sm:flex items-center sm:gap-5 px-1 text-lg justify-end gap-2"> -->
|
|
48
|
+
<div class="grid w-full sm:flex gap-2 justify-auto sm:justify-end">
|
|
49
|
+
<MenuBar menuBar={$menuStore.AccountBar} />
|
|
50
|
+
<MenuBar menuBar={$menuStore.LaunchBar} />
|
|
51
|
+
<SettingsBar menuBar={$menuStore.Settings} />
|
|
52
|
+
<!-- </div> -->
|
|
53
|
+
</div>
|
|
54
|
+
</div>
|
|
55
|
+
</Accordion>
|
|
56
|
+
</div>
|
|
57
|
+
</div>
|
|
58
|
+
</div>
|
|
59
|
+
{:else}
|
|
60
|
+
<div class="placeholder h-14 bg-tertiary-50 shadow-md" />
|
|
61
|
+
{/if}
|
|
@@ -4,11 +4,12 @@ storePopup.set({ computePosition, autoUpdate, offset, shift, flip, arrow });
|
|
|
4
4
|
import Item from "./MenuItem.svelte";
|
|
5
5
|
export let menuBar;
|
|
6
6
|
let comboboxValue;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
7
|
+
</script>
|
|
8
|
+
|
|
9
|
+
{#if menuBar}
|
|
10
|
+
<div class="h-full place-self-center sm:flex gap-2 w-full sm:w-auto">
|
|
11
|
+
{#each menuBar as menubarItem}
|
|
12
|
+
<Item {menubarItem} {comboboxValue} />
|
|
13
|
+
{/each}
|
|
14
|
+
</div>
|
|
15
|
+
{/if}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { SvelteComponentTyped } from "svelte";
|
|
2
|
-
import type {
|
|
2
|
+
import type { MenuItem } from './menu';
|
|
3
3
|
declare const __propDef: {
|
|
4
4
|
props: {
|
|
5
|
-
menuBar:
|
|
5
|
+
menuBar: MenuItem[];
|
|
6
6
|
};
|
|
7
7
|
events: {
|
|
8
8
|
[evt: string]: CustomEvent<any>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<script>import { popup } from "@skeletonlabs/skeleton";
|
|
1
|
+
<script>import { Accordion, AccordionItem, popup } from "@skeletonlabs/skeleton";
|
|
2
2
|
import MenuSublist from "./MenuSublist.svelte";
|
|
3
3
|
import { goTo } from "../../../services/BaseCaller";
|
|
4
4
|
export let menubarItem;
|
|
@@ -7,21 +7,38 @@ let id = Math.floor(Math.random() * 100).toString();
|
|
|
7
7
|
let popupCombobox = {
|
|
8
8
|
event: "click",
|
|
9
9
|
target: id,
|
|
10
|
-
placement: "bottom",
|
|
10
|
+
placement: "bottom-start",
|
|
11
11
|
// Close the popup when the item is clicked
|
|
12
12
|
closeQuery: ".listbox-item"
|
|
13
13
|
};
|
|
14
14
|
</script>
|
|
15
15
|
|
|
16
16
|
{#if menubarItem.Items.length < 1}
|
|
17
|
-
<
|
|
18
|
-
<
|
|
19
|
-
|
|
17
|
+
<div class="p-2">
|
|
18
|
+
<button class="grid" use:popup={popupCombobox} on:click={() => goTo(menubarItem.Url)}>
|
|
19
|
+
<span class="capitalize">{comboboxValue ?? menubarItem.Title}</span>
|
|
20
|
+
</button>
|
|
21
|
+
</div>
|
|
20
22
|
{:else}
|
|
21
|
-
<
|
|
22
|
-
<
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
<div class="sm:hidden block">
|
|
24
|
+
<AccordionItem padding="p-2">
|
|
25
|
+
<svelte:fragment slot="summary"
|
|
26
|
+
><button class="flex items-center gap-x-1">
|
|
27
|
+
<span class="capitalize">{menubarItem.Title}</span>
|
|
28
|
+
</button></svelte:fragment
|
|
29
|
+
>
|
|
30
|
+
<svelte:fragment slot="content"
|
|
31
|
+
><MenuSublist {id} items={menubarItem.Items} /></svelte:fragment
|
|
32
|
+
></AccordionItem
|
|
33
|
+
>
|
|
34
|
+
</div>
|
|
35
|
+
<div class="hidden sm:block place-self-center" use:popup={popupCombobox}>
|
|
36
|
+
<button class="flex items-center gap-x-1 px-2">
|
|
37
|
+
<span class="capitalize">{menubarItem.Title}▾</span>
|
|
38
|
+
</button>
|
|
25
39
|
|
|
26
|
-
|
|
40
|
+
<div class="z-50 w-max" data-popup={id}>
|
|
41
|
+
<MenuSublist {id} items={menubarItem.Items} />
|
|
42
|
+
</div>
|
|
43
|
+
</div>
|
|
27
44
|
{/if}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
<script>import { ListBox, ListBoxItem } from "@skeletonlabs/skeleton";
|
|
2
2
|
import { goTo } from "../../../services/BaseCaller";
|
|
3
|
-
export let id;
|
|
4
3
|
export let items;
|
|
5
4
|
let lastModule = "";
|
|
6
5
|
let first = true;
|
|
@@ -16,21 +15,19 @@ function isNewModule(module) {
|
|
|
16
15
|
return true;
|
|
17
16
|
}
|
|
18
17
|
}
|
|
19
|
-
</script>
|
|
20
|
-
|
|
21
|
-
<
|
|
22
|
-
|
|
23
|
-
{#
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
</ListBox>
|
|
36
|
-
</div>
|
|
18
|
+
</script>
|
|
19
|
+
|
|
20
|
+
<ListBox class="sm:bg-white sm:border">
|
|
21
|
+
{#each items as item}
|
|
22
|
+
{#if isNewModule(item.Module)}<hr class="text-surface-800" />{/if}
|
|
23
|
+
<ListBoxItem
|
|
24
|
+
class="text-md sm:text-sm text-surface-800 py-1 hover:text-secondary-500 bg-transparent hover:bg-surface-200"
|
|
25
|
+
bind:group={item.Title}
|
|
26
|
+
name="medium"
|
|
27
|
+
value={item.Title}
|
|
28
|
+
on:click={() => goTo(item.Url)}
|
|
29
|
+
>
|
|
30
|
+
{item.Title}
|
|
31
|
+
</ListBoxItem>
|
|
32
|
+
{/each}
|
|
33
|
+
</ListBox>
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
<script>import { popup } from "@skeletonlabs/skeleton";
|
|
2
|
-
import {
|
|
2
|
+
import { AccordionItem } from "@skeletonlabs/skeleton";
|
|
3
3
|
import Fa from "svelte-fa/src/fa.svelte";
|
|
4
4
|
import { faCog } from "@fortawesome/free-solid-svg-icons";
|
|
5
|
-
import { goTo } from "../../../services/BaseCaller";
|
|
6
5
|
export let menuBar;
|
|
7
6
|
import MenuSublist from "./MenuSublist.svelte";
|
|
8
7
|
let popupCombobox = {
|
|
@@ -12,12 +11,26 @@ let popupCombobox = {
|
|
|
12
11
|
// Close the popup when the item is clicked
|
|
13
12
|
closeQuery: ".listbox-item"
|
|
14
13
|
};
|
|
15
|
-
</script>
|
|
16
|
-
|
|
17
|
-
{#if menuBar}
|
|
18
|
-
<
|
|
19
|
-
<
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
{#if menuBar}
|
|
17
|
+
<div class="sm:hidden">
|
|
18
|
+
<AccordionItem padding="p-2">
|
|
19
|
+
<svelte:fragment slot="summary"
|
|
20
|
+
><button class="flex items-center gap-x-1 text-sm text-surface-800 w-5 h-full">
|
|
21
|
+
<span class="capitalize"><Fa icon={faCog} /></span>
|
|
22
|
+
</button></svelte:fragment
|
|
23
|
+
>
|
|
24
|
+
<svelte:fragment slot="content"><MenuSublist items={menuBar} /></svelte:fragment>
|
|
25
|
+
</AccordionItem>
|
|
26
|
+
</div>
|
|
27
|
+
<div class="hidden sm:block place-self-center" use:popup={popupCombobox}>
|
|
28
|
+
<button class="flex items-center gap-x-1">
|
|
29
|
+
<div class="hidden sm:block" />
|
|
30
|
+
<span class="capitalize"><Fa icon={faCog} /></span>
|
|
31
|
+
</button>
|
|
32
|
+
<div class="z-50 w-max" data-popup="settings">
|
|
33
|
+
<MenuSublist items={menuBar} />
|
|
34
|
+
</div>
|
|
35
|
+
</div>
|
|
36
|
+
{/if}
|
package/dist/index.d.ts
CHANGED
|
@@ -24,9 +24,9 @@ export { FileInfo, FileIcon, FileUploader };
|
|
|
24
24
|
export { Spinner, Page, Alert, Menu, ErrorMessage };
|
|
25
25
|
export { Api } from './services/Api.js';
|
|
26
26
|
export { host, username, password, setApiConfig } from './stores/apiStores.js';
|
|
27
|
-
export type { userType, inputType, fileUploaderModel, linkType, listItemType, keyValuePairType } from './models/Models.js';
|
|
27
|
+
export type { userType, inputType, fileUploaderModel, linkType, listItemType, keyValuePairType, fileInfoType, fileReaderInfoType, asciiFileReaderInfoType } from './models/Models.js';
|
|
28
28
|
export { helpStore } from './stores/pageStores';
|
|
29
29
|
export type { helpStoreType, helpItemType } from './models/Models';
|
|
30
|
-
export { positionType, pageContentLayoutType } from './models/Enums';
|
|
30
|
+
export { positionType, pageContentLayoutType, decimalCharacterType, orientationType, textMarkerType, textSeperatorType } from './models/Enums';
|
|
31
31
|
export { Table, TableFilter, columnFilter, searchFilter };
|
|
32
32
|
export type { TableConfig, Columns, Column };
|
package/dist/index.js
CHANGED
|
@@ -36,6 +36,6 @@ export { host, username, password, setApiConfig } from './stores/apiStores.js';
|
|
|
36
36
|
//help
|
|
37
37
|
export { helpStore } from './stores/pageStores';
|
|
38
38
|
//enum
|
|
39
|
-
export { positionType, pageContentLayoutType } from './models/Enums';
|
|
39
|
+
export { positionType, pageContentLayoutType, decimalCharacterType, orientationType, textMarkerType, textSeperatorType } from './models/Enums';
|
|
40
40
|
// Table
|
|
41
41
|
export { Table, TableFilter, columnFilter, searchFilter };
|
package/dist/models/Enums.d.ts
CHANGED
|
@@ -7,3 +7,21 @@ export declare enum pageContentLayoutType {
|
|
|
7
7
|
full = "full",
|
|
8
8
|
center = "center"
|
|
9
9
|
}
|
|
10
|
+
export declare enum decimalCharacterType {
|
|
11
|
+
point = 0,
|
|
12
|
+
comma = 1
|
|
13
|
+
}
|
|
14
|
+
export declare enum orientationType {
|
|
15
|
+
columnwise = 0,
|
|
16
|
+
rowwise = 1
|
|
17
|
+
}
|
|
18
|
+
export declare enum textSeperatorType {
|
|
19
|
+
tab = 9,
|
|
20
|
+
comma = 44,
|
|
21
|
+
semicolon = 59,
|
|
22
|
+
space = 32
|
|
23
|
+
}
|
|
24
|
+
export declare enum textMarkerType {
|
|
25
|
+
quotes = 0,
|
|
26
|
+
doubleQuotes = 1
|
|
27
|
+
}
|
package/dist/models/Enums.js
CHANGED
|
@@ -9,3 +9,25 @@ export var pageContentLayoutType;
|
|
|
9
9
|
pageContentLayoutType["full"] = "full";
|
|
10
10
|
pageContentLayoutType["center"] = "center";
|
|
11
11
|
})(pageContentLayoutType || (pageContentLayoutType = {}));
|
|
12
|
+
export var decimalCharacterType;
|
|
13
|
+
(function (decimalCharacterType) {
|
|
14
|
+
decimalCharacterType[decimalCharacterType["point"] = 0] = "point";
|
|
15
|
+
decimalCharacterType[decimalCharacterType["comma"] = 1] = "comma";
|
|
16
|
+
})(decimalCharacterType || (decimalCharacterType = {}));
|
|
17
|
+
export var orientationType;
|
|
18
|
+
(function (orientationType) {
|
|
19
|
+
orientationType[orientationType["columnwise"] = 0] = "columnwise";
|
|
20
|
+
orientationType[orientationType["rowwise"] = 1] = "rowwise";
|
|
21
|
+
})(orientationType || (orientationType = {}));
|
|
22
|
+
export var textSeperatorType;
|
|
23
|
+
(function (textSeperatorType) {
|
|
24
|
+
textSeperatorType[textSeperatorType["tab"] = 9] = "tab";
|
|
25
|
+
textSeperatorType[textSeperatorType["comma"] = 44] = "comma";
|
|
26
|
+
textSeperatorType[textSeperatorType["semicolon"] = 59] = "semicolon";
|
|
27
|
+
textSeperatorType[textSeperatorType["space"] = 32] = "space";
|
|
28
|
+
})(textSeperatorType || (textSeperatorType = {}));
|
|
29
|
+
export var textMarkerType;
|
|
30
|
+
(function (textMarkerType) {
|
|
31
|
+
textMarkerType[textMarkerType["quotes"] = 0] = "quotes";
|
|
32
|
+
textMarkerType[textMarkerType["doubleQuotes"] = 1] = "doubleQuotes";
|
|
33
|
+
})(textMarkerType || (textMarkerType = {}));
|
package/dist/models/Models.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { SvelteComponent } from 'svelte';
|
|
2
2
|
import type { ColumnFilterFn } from 'svelte-headless-table/lib/plugins';
|
|
3
3
|
import type { Writable } from 'svelte/store';
|
|
4
|
+
import { decimalCharacterType, orientationType, textMarkerType, textSeperatorType } from './Enums';
|
|
4
5
|
export interface linkType {
|
|
5
6
|
label: string;
|
|
6
7
|
url: string;
|
|
@@ -28,6 +29,23 @@ export interface fileUploaderModel {
|
|
|
28
29
|
multiple: boolean;
|
|
29
30
|
maxSize: number;
|
|
30
31
|
lastModification: Date;
|
|
32
|
+
allFilesReadable: boolean;
|
|
33
|
+
asciiFileReaderInfo: asciiFileReaderInfoType;
|
|
34
|
+
}
|
|
35
|
+
export interface asciiFileReaderInfoType extends fileReaderInfoType {
|
|
36
|
+
cells: boolean[];
|
|
37
|
+
seperator: textSeperatorType;
|
|
38
|
+
textMarker: textMarkerType;
|
|
39
|
+
}
|
|
40
|
+
export interface fileReaderInfoType {
|
|
41
|
+
decimal: decimalCharacterType;
|
|
42
|
+
orientation: orientationType;
|
|
43
|
+
offset: number;
|
|
44
|
+
variables: number;
|
|
45
|
+
data: number;
|
|
46
|
+
unit: number;
|
|
47
|
+
description: number;
|
|
48
|
+
dateformat: string;
|
|
31
49
|
}
|
|
32
50
|
export interface filesType {
|
|
33
51
|
accepted: Blob[];
|
package/dist/models/Models.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
import { decimalCharacterType, orientationType, textMarkerType, textSeperatorType } from './Enums';
|