@bexis2/bexis2-core-ui 0.1.12 → 0.2.0
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 +22 -5
- package/dist/components/file/FileUploader.svelte.d.ts +2 -2
- package/dist/components/form/CheckboxKvPList.svelte +3 -1
- package/dist/components/form/CheckboxKvPList.svelte.d.ts +2 -0
- package/dist/components/form/DateInput.svelte +2 -1
- package/dist/components/form/DateInput.svelte.d.ts +1 -0
- package/dist/components/form/DropdownKvP.svelte +2 -1
- package/dist/components/form/DropdownKvP.svelte.d.ts +2 -0
- package/dist/components/form/InputContainer.svelte +16 -2
- package/dist/components/form/InputContainer.svelte.d.ts +2 -0
- package/dist/components/form/MultiSelect.svelte +10 -4
- package/dist/components/form/MultiSelect.svelte.d.ts +8 -2
- package/dist/components/form/NumberInput.svelte +3 -1
- package/dist/components/form/NumberInput.svelte.d.ts +1 -0
- package/dist/components/form/TextArea.svelte +14 -13
- package/dist/components/form/TextArea.svelte.d.ts +1 -0
- package/dist/components/form/TextInput.svelte +4 -1
- package/dist/components/form/TextInput.svelte.d.ts +1 -0
- package/dist/components/page/Help.svelte +38 -0
- package/dist/components/page/Help.svelte.d.ts +23 -0
- package/dist/components/page/Page.svelte +43 -9
- package/dist/components/page/Page.svelte.d.ts +3 -2
- package/dist/components/page/Spinner.svelte +2 -2
- package/dist/components/page/Spinner.svelte.d.ts +2 -2
- package/dist/components/page/breadcrumb/Breadcrumb.svelte +32 -0
- package/dist/components/page/breadcrumb/Breadcrumb.svelte.d.ts +16 -0
- package/dist/components/page/menu/Menu.svelte +14 -12
- package/dist/components/page/menu/MenuBar.svelte +0 -1
- package/dist/components/page/menu/MenuItem.svelte +9 -14
- package/dist/components/page/menu/MenuItem.svelte.d.ts +0 -1
- package/dist/components/page/menu/MenuSublist.svelte +35 -0
- package/dist/components/page/menu/MenuSublist.svelte.d.ts +18 -0
- package/dist/components/page/menu/SettingsBar.svelte +14 -32
- package/dist/index.d.ts +3 -3
- package/dist/index.js +2 -2
- package/dist/models/Enums.d.ts +1 -1
- package/dist/models/Enums.js +6 -6
- package/dist/models/Models.d.ts +20 -10
- package/dist/models/Models.js +1 -0
- package/dist/models/Page.js +16 -0
- package/dist/services/Api.js +1 -1
- package/dist/services/BaseCaller.d.ts +1 -0
- package/dist/services/BaseCaller.js +12 -0
- package/dist/stores/pageStores.d.ts +25 -0
- package/dist/stores/pageStores.js +112 -0
- package/package.json +1 -1
- package/src/lib/components/file/FileUploader.svelte +4 -4
- package/src/lib/components/form/CheckboxKvPList.svelte +3 -1
- package/src/lib/components/form/DateInput.svelte +3 -1
- package/src/lib/components/form/DropdownKvP.svelte +2 -1
- package/src/lib/components/form/InputContainer.svelte +26 -1
- package/src/lib/components/form/MultiSelect.svelte +10 -4
- package/src/lib/components/form/NumberInput.svelte +5 -1
- package/src/lib/components/form/TextArea.svelte +27 -25
- package/src/lib/components/form/TextInput.svelte +4 -2
- package/src/lib/components/page/Help.svelte +43 -0
- package/src/lib/components/page/Page.svelte +58 -10
- package/src/lib/components/page/Spinner.svelte +2 -2
- package/src/lib/components/page/breadcrumb/Breadcrumb.svelte +43 -0
- package/src/lib/components/page/menu/Menu.svelte +18 -16
- package/src/lib/components/page/menu/MenuBar.svelte +1 -1
- package/src/lib/components/page/menu/MenuItem.svelte +15 -15
- package/src/lib/components/page/menu/MenuSublist.svelte +48 -0
- package/src/lib/components/page/menu/SettingsBar.svelte +39 -60
- package/src/lib/index.ts +8 -8
- package/src/lib/models/Enums.ts +1 -1
- package/src/lib/models/Models.ts +23 -10
- package/src/lib/models/Page.ts +41 -0
- package/src/lib/services/Api.ts +1 -1
- package/src/lib/services/BaseCaller.js +12 -0
- package/src/lib/stores/pageStores.ts +135 -0
- package/dist/components/page/menu/menu.d.ts +0 -21
- package/dist/components/page/menu/menu.js +0 -1
- package/src/lib/components/page/menu/menu.ts +0 -23
- /package/dist/stores/{apistore.d.ts → apiStores.d.ts} +0 -0
- /package/dist/stores/{apistore.js → apiStores.js} +0 -0
- /package/src/lib/stores/{apistore.ts → apiStores.ts} +0 -0
package/README.md
CHANGED
|
@@ -1,4 +1,21 @@
|
|
|
1
1
|
# bexis-core-ui
|
|
2
|
+
## v0.2.0
|
|
3
|
+
> refactoring based on naming conventions (https://bexis2.github.io/bexis2-core-ui/code/naming/)
|
|
4
|
+
|
|
5
|
+
- add Help, helpStore
|
|
6
|
+
- update Page
|
|
7
|
+
|
|
8
|
+
## v0.1.13
|
|
9
|
+
### update
|
|
10
|
+
- MultiSelect
|
|
11
|
+
- loading flag
|
|
12
|
+
- isValid
|
|
13
|
+
|
|
14
|
+
## v0.1.12
|
|
15
|
+
### update
|
|
16
|
+
- MultiSelect
|
|
17
|
+
- pass all events from svelte select
|
|
18
|
+
|
|
2
19
|
## v0.1.11
|
|
3
20
|
### update
|
|
4
21
|
- MultiSelect
|
|
@@ -72,7 +89,7 @@
|
|
|
72
89
|
- KvP
|
|
73
90
|
|
|
74
91
|
#### enum
|
|
75
|
-
-
|
|
92
|
+
- position
|
|
76
93
|
|
|
77
94
|
### update
|
|
78
95
|
#### components
|
|
@@ -111,7 +128,7 @@
|
|
|
111
128
|
|
|
112
129
|
### add
|
|
113
130
|
#### types
|
|
114
|
-
-
|
|
131
|
+
- linkType
|
|
115
132
|
|
|
116
133
|
## v0.0.28
|
|
117
134
|
|
|
@@ -134,7 +151,7 @@
|
|
|
134
151
|
- TableConfig
|
|
135
152
|
- Columns
|
|
136
153
|
- Column
|
|
137
|
-
-
|
|
154
|
+
- inputType
|
|
138
155
|
|
|
139
156
|
<hr/>
|
|
140
157
|
|
|
@@ -153,11 +170,11 @@
|
|
|
153
170
|
#### components
|
|
154
171
|
- Spinner
|
|
155
172
|
- FileUploader
|
|
156
|
-
-
|
|
173
|
+
- fileInfoType
|
|
157
174
|
- FileIcon
|
|
158
175
|
-
|
|
159
176
|
#### types
|
|
160
|
-
-
|
|
177
|
+
- fileUploaderModel
|
|
161
178
|
|
|
162
179
|
<hr/>
|
|
163
180
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SvelteComponentTyped } from "svelte";
|
|
2
|
-
import type {
|
|
2
|
+
import type { fileUploaderModel } from '../../models/Models.js';
|
|
3
3
|
declare const __propDef: {
|
|
4
4
|
props: {
|
|
5
5
|
id?: number | undefined;
|
|
@@ -7,7 +7,7 @@ declare const __propDef: {
|
|
|
7
7
|
start?: string | undefined;
|
|
8
8
|
submit?: string | undefined;
|
|
9
9
|
context?: string | undefined;
|
|
10
|
-
data:
|
|
10
|
+
data: fileUploaderModel | undefined;
|
|
11
11
|
};
|
|
12
12
|
events: {
|
|
13
13
|
error: CustomEvent<any>;
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
<script>import InputContainer from "./InputContainer.svelte";
|
|
2
|
+
export let id;
|
|
2
3
|
export let source;
|
|
3
4
|
export let target;
|
|
4
5
|
export let title;
|
|
5
6
|
export let description = "";
|
|
6
7
|
export let key;
|
|
8
|
+
export let help = false;
|
|
7
9
|
let required = false;
|
|
8
10
|
let feedback;
|
|
9
11
|
</script>
|
|
10
12
|
|
|
11
|
-
<InputContainer label={title} {feedback} {required}>
|
|
13
|
+
<InputContainer {id} label={title} {feedback} {required} {help}>
|
|
12
14
|
{#each source as item}
|
|
13
15
|
<label class="flex items-center space-x-2" for={key}>
|
|
14
16
|
<input
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { SvelteComponentTyped } from "svelte";
|
|
2
2
|
declare const __propDef: {
|
|
3
3
|
props: {
|
|
4
|
+
id: any;
|
|
4
5
|
source: any;
|
|
5
6
|
target: any;
|
|
6
7
|
title: any;
|
|
7
8
|
description?: string | undefined;
|
|
8
9
|
key: any;
|
|
10
|
+
help?: boolean | undefined;
|
|
9
11
|
};
|
|
10
12
|
events: {
|
|
11
13
|
[evt: string]: CustomEvent<any>;
|
|
@@ -6,9 +6,10 @@ export let valid = false;
|
|
|
6
6
|
export let invalid = false;
|
|
7
7
|
export let required = false;
|
|
8
8
|
export let feedback = [""];
|
|
9
|
+
export let help = false;
|
|
9
10
|
</script>
|
|
10
11
|
|
|
11
|
-
<InputContainer {label} {feedback} {required}>
|
|
12
|
+
<InputContainer {id} {label} {feedback} {required} {help}>
|
|
12
13
|
<input
|
|
13
14
|
{id}
|
|
14
15
|
class="input variant-form-material"
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
export let feedback = [''];
|
|
11
11
|
export let required = false;
|
|
12
12
|
export let complexTarget = false;
|
|
13
|
+
export let help = false;
|
|
13
14
|
|
|
14
15
|
$: selected = null;
|
|
15
16
|
|
|
@@ -41,7 +42,7 @@
|
|
|
41
42
|
}
|
|
42
43
|
</script>
|
|
43
44
|
|
|
44
|
-
<InputContainer label={title} {feedback} {required}>
|
|
45
|
+
<InputContainer {id} label={title} {feedback} {required} {help}>
|
|
45
46
|
<select
|
|
46
47
|
{id}
|
|
47
48
|
class="select variant-form-material"
|
|
@@ -11,6 +11,7 @@ export default class DropdownKvP extends SvelteComponentTyped<{
|
|
|
11
11
|
valid?: boolean | undefined;
|
|
12
12
|
feedback?: string[] | undefined;
|
|
13
13
|
complexTarget?: boolean | undefined;
|
|
14
|
+
help?: boolean | undefined;
|
|
14
15
|
}, {
|
|
15
16
|
change: Event;
|
|
16
17
|
select: Event;
|
|
@@ -33,6 +34,7 @@ declare const __propDef: {
|
|
|
33
34
|
valid?: boolean | undefined;
|
|
34
35
|
feedback?: string[] | undefined;
|
|
35
36
|
complexTarget?: boolean | undefined;
|
|
37
|
+
help?: boolean | undefined;
|
|
36
38
|
};
|
|
37
39
|
events: {
|
|
38
40
|
change: Event;
|
|
@@ -1,8 +1,21 @@
|
|
|
1
|
-
<script>
|
|
1
|
+
<script>import { helpStore } from "../../stores/pageStores";
|
|
2
|
+
export let id = "";
|
|
3
|
+
export let label = "";
|
|
2
4
|
export let required;
|
|
3
5
|
export let feedback;
|
|
6
|
+
export let help = false;
|
|
7
|
+
function onMouseOver() {
|
|
8
|
+
if (help) {
|
|
9
|
+
helpStore.show(id);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
function onMouseOut() {
|
|
13
|
+
if (help) {
|
|
14
|
+
helpStore.hide();
|
|
15
|
+
}
|
|
16
|
+
}
|
|
4
17
|
</script>
|
|
5
|
-
|
|
18
|
+
<div {id} on:mouseover={onMouseOver} on:mouseout={onMouseOut}>
|
|
6
19
|
<label class="label">
|
|
7
20
|
<span
|
|
8
21
|
>{label}
|
|
@@ -19,3 +32,4 @@ export let feedback;
|
|
|
19
32
|
</span>
|
|
20
33
|
{/if}
|
|
21
34
|
</label>
|
|
35
|
+
</div>
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { SvelteComponentTyped } from "svelte";
|
|
2
2
|
declare const __propDef: {
|
|
3
3
|
props: {
|
|
4
|
+
id?: string | undefined;
|
|
4
5
|
label?: string | undefined;
|
|
5
6
|
required: boolean;
|
|
6
7
|
feedback: string[];
|
|
8
|
+
help?: boolean | undefined;
|
|
7
9
|
};
|
|
8
10
|
events: {
|
|
9
11
|
[evt: string]: CustomEvent<any>;
|
|
@@ -15,8 +15,12 @@
|
|
|
15
15
|
export let complexSource = false;
|
|
16
16
|
export let complexTarget = false;
|
|
17
17
|
export let required = false;
|
|
18
|
-
export let feedback = [];
|
|
18
|
+
export let feedback = [''];
|
|
19
19
|
export let placeholder = "-- Please select --"
|
|
20
|
+
export let invalid = false;
|
|
21
|
+
export let loading = false;
|
|
22
|
+
export let help = false;
|
|
23
|
+
|
|
20
24
|
|
|
21
25
|
let isLoaded = false;
|
|
22
26
|
|
|
@@ -79,7 +83,7 @@
|
|
|
79
83
|
}
|
|
80
84
|
|
|
81
85
|
onMount(async () => {
|
|
82
|
-
|
|
86
|
+
console.log("on mount multiselect");
|
|
83
87
|
////console.log(source);
|
|
84
88
|
|
|
85
89
|
//a) source is complex model is simple
|
|
@@ -119,7 +123,7 @@
|
|
|
119
123
|
|
|
120
124
|
if(!isMulti)
|
|
121
125
|
{
|
|
122
|
-
console.log("onmount",complexSource,complexTarget,value,target)
|
|
126
|
+
//console.log("onmount",complexSource,complexTarget,value,target)
|
|
123
127
|
if(!complexSource && !complexTarget)
|
|
124
128
|
{
|
|
125
129
|
value = {
|
|
@@ -147,7 +151,7 @@
|
|
|
147
151
|
</script>
|
|
148
152
|
|
|
149
153
|
|
|
150
|
-
<InputContainer label={title} {feedback} {required}>
|
|
154
|
+
<InputContainer {id} label={title} {feedback} {required} {help}>
|
|
151
155
|
<Select
|
|
152
156
|
{id}
|
|
153
157
|
items={source}
|
|
@@ -157,6 +161,8 @@
|
|
|
157
161
|
multiple={isMulti}
|
|
158
162
|
bind:value
|
|
159
163
|
{placeholder}
|
|
164
|
+
hasError={invalid}
|
|
165
|
+
{loading}
|
|
160
166
|
on:change
|
|
161
167
|
on:input
|
|
162
168
|
on:focus
|
|
@@ -7,14 +7,17 @@ export default class MultiSelect extends SvelteComponentTyped<{
|
|
|
7
7
|
source: any;
|
|
8
8
|
title: any;
|
|
9
9
|
required?: boolean | undefined;
|
|
10
|
-
|
|
10
|
+
invalid?: boolean | undefined;
|
|
11
|
+
feedback?: string[] | undefined;
|
|
11
12
|
complexTarget?: boolean | undefined;
|
|
13
|
+
help?: boolean | undefined;
|
|
12
14
|
itemId?: string | undefined;
|
|
13
15
|
itemLabel?: string | undefined;
|
|
14
16
|
itemGroup?: string | undefined;
|
|
15
17
|
isMulti?: boolean | undefined;
|
|
16
18
|
complexSource?: boolean | undefined;
|
|
17
19
|
placeholder?: string | undefined;
|
|
20
|
+
loading?: boolean | undefined;
|
|
18
21
|
}, {
|
|
19
22
|
change: CustomEvent<any>;
|
|
20
23
|
input: CustomEvent<any>;
|
|
@@ -40,14 +43,17 @@ declare const __propDef: {
|
|
|
40
43
|
source: any;
|
|
41
44
|
title: any;
|
|
42
45
|
required?: boolean | undefined;
|
|
43
|
-
|
|
46
|
+
invalid?: boolean | undefined;
|
|
47
|
+
feedback?: string[] | undefined;
|
|
44
48
|
complexTarget?: boolean | undefined;
|
|
49
|
+
help?: boolean | undefined;
|
|
45
50
|
itemId?: string | undefined;
|
|
46
51
|
itemLabel?: string | undefined;
|
|
47
52
|
itemGroup?: string | undefined;
|
|
48
53
|
isMulti?: boolean | undefined;
|
|
49
54
|
complexSource?: boolean | undefined;
|
|
50
55
|
placeholder?: string | undefined;
|
|
56
|
+
loading?: boolean | undefined;
|
|
51
57
|
};
|
|
52
58
|
events: {
|
|
53
59
|
change: CustomEvent<any>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
<script>import InputContainer from "./InputContainer.svelte";
|
|
2
|
+
import { helpStore } from "../../stores/pageStores";
|
|
2
3
|
export let id = "";
|
|
3
4
|
export let label = "";
|
|
4
5
|
export let value = "";
|
|
@@ -7,9 +8,10 @@ export let invalid = false;
|
|
|
7
8
|
export let required = false;
|
|
8
9
|
export let feedback = [""];
|
|
9
10
|
export let placeholder = "";
|
|
11
|
+
export let help = false;
|
|
10
12
|
</script>
|
|
11
13
|
|
|
12
|
-
<InputContainer {label} {feedback} {required}>
|
|
14
|
+
<InputContainer {id} {label} {feedback} {required} {help}>
|
|
13
15
|
<input
|
|
14
16
|
{id}
|
|
15
17
|
class="input variant-form-material"
|
|
@@ -7,16 +7,17 @@ export let invalid = false;
|
|
|
7
7
|
export let required = false;
|
|
8
8
|
export let feedback = [""];
|
|
9
9
|
export let placeholder = "";
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
class
|
|
17
|
-
class:input-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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>
|
|
@@ -7,9 +7,12 @@ export let invalid = false;
|
|
|
7
7
|
export let required = false;
|
|
8
8
|
export let feedback = [""];
|
|
9
9
|
export let placeholder = "";
|
|
10
|
+
export let help = false;
|
|
10
11
|
</script>
|
|
11
12
|
|
|
12
|
-
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
<InputContainer {id} {label} {feedback} {required} {help}>
|
|
13
16
|
<input
|
|
14
17
|
{id}
|
|
15
18
|
class="input variant-form-material"
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
<script lang=ts>import { helpStore } from "../../stores/pageStores";
|
|
2
|
+
let Value;
|
|
3
|
+
$:
|
|
4
|
+
helpStore.subscribe((value) => {
|
|
5
|
+
Value = value;
|
|
6
|
+
});
|
|
7
|
+
let helpItem;
|
|
8
|
+
$:
|
|
9
|
+
helpItem = getHelpItem(Value);
|
|
10
|
+
function getHelpItem(value) {
|
|
11
|
+
if (value != void 0 && value.helpItems != void 0 && value.itemId != void 0) {
|
|
12
|
+
return value.itemId == "" ? { id: void 0, name: "", description: "" } : value.helpItems.find((h) => h.id === value.itemId);
|
|
13
|
+
}
|
|
14
|
+
return { id: void 0, name: "", description: "" };
|
|
15
|
+
}
|
|
16
|
+
window.origin;
|
|
17
|
+
</script>
|
|
18
|
+
{#if helpItem && helpItem.id}
|
|
19
|
+
<div class="p-5 w-96 space-y-4" id={helpItem.id}>
|
|
20
|
+
<h3 class="h3">{ helpItem.name }</h3>
|
|
21
|
+
<p>{@html helpItem.description }</p>
|
|
22
|
+
{#if helpItem.link}
|
|
23
|
+
<p><a href="{helpItem.link}">... read more</a></p>
|
|
24
|
+
{/if}
|
|
25
|
+
</div>
|
|
26
|
+
{:else}
|
|
27
|
+
<div class="p-5 w-96 space-y-4">
|
|
28
|
+
<h3 class="h3">Help</h3>
|
|
29
|
+
<div class="space-y-4">
|
|
30
|
+
<div class="grid grid-cols-3 gap-8">
|
|
31
|
+
<div class="placeholder animate-pulse" />
|
|
32
|
+
<div class="placeholder animate-pulse" />
|
|
33
|
+
<div class="placeholder animate-pulse" />
|
|
34
|
+
</div>
|
|
35
|
+
<div class="placeholder w-28 animate-pulse" />
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
38
|
+
{/if}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** @typedef {typeof __propDef.props} HelpProps */
|
|
2
|
+
/** @typedef {typeof __propDef.events} HelpEvents */
|
|
3
|
+
/** @typedef {typeof __propDef.slots} HelpSlots */
|
|
4
|
+
export default class Help extends SvelteComponentTyped<{
|
|
5
|
+
[x: string]: never;
|
|
6
|
+
}, {
|
|
7
|
+
[evt: string]: CustomEvent<any>;
|
|
8
|
+
}, {}> {
|
|
9
|
+
}
|
|
10
|
+
export type HelpProps = typeof __propDef.props;
|
|
11
|
+
export type HelpEvents = typeof __propDef.events;
|
|
12
|
+
export type HelpSlots = typeof __propDef.slots;
|
|
13
|
+
import { SvelteComponentTyped } from "svelte";
|
|
14
|
+
declare const __propDef: {
|
|
15
|
+
props: {
|
|
16
|
+
[x: string]: never;
|
|
17
|
+
};
|
|
18
|
+
events: {
|
|
19
|
+
[evt: string]: CustomEvent<any>;
|
|
20
|
+
};
|
|
21
|
+
slots: {};
|
|
22
|
+
};
|
|
23
|
+
export {};
|
|
@@ -1,21 +1,43 @@
|
|
|
1
|
-
<script>import
|
|
1
|
+
<script>import { onMount } from "svelte";
|
|
2
|
+
import Menu from "./menu/Menu.svelte";
|
|
3
|
+
import Help from "./Help.svelte";
|
|
4
|
+
import Breadcrumb from "./breadcrumb/Breadcrumb.svelte";
|
|
5
|
+
import { popup } from "@skeletonlabs/skeleton";
|
|
6
|
+
import { computePosition, autoUpdate, offset, shift, flip, arrow } from "@floating-ui/dom";
|
|
7
|
+
import { storePopup } from "@skeletonlabs/skeleton";
|
|
8
|
+
import { breadcrumbStore } from "../../stores/pageStores";
|
|
9
|
+
storePopup.set({ computePosition, autoUpdate, offset, shift, flip, arrow });
|
|
10
|
+
import { AppShell } from "@skeletonlabs/skeleton";
|
|
11
|
+
import { helpStore } from "../../stores/pageStores";
|
|
2
12
|
export let title = "";
|
|
3
13
|
export let note = "";
|
|
4
14
|
export let links = [];
|
|
5
15
|
export let menu = true;
|
|
6
16
|
export let footer = true;
|
|
17
|
+
export let help = false;
|
|
18
|
+
onMount(async () => {
|
|
19
|
+
console.log("on mount page ");
|
|
20
|
+
breadcrumbStore.clean();
|
|
21
|
+
breadcrumbStore.addItem({ label: title, link: window.location.pathname });
|
|
22
|
+
});
|
|
23
|
+
const popupClick = {
|
|
24
|
+
event: "click",
|
|
25
|
+
target: "popupClick",
|
|
26
|
+
placement: "top"
|
|
27
|
+
};
|
|
7
28
|
</script>
|
|
8
|
-
|
|
9
|
-
{#if
|
|
29
|
+
|
|
30
|
+
{#if true}
|
|
10
31
|
<Menu/>
|
|
11
32
|
{/if}
|
|
33
|
+
<Breadcrumb {title}/>
|
|
12
34
|
|
|
13
35
|
<div class="px-5 grid gap-5 content-center" >
|
|
14
36
|
|
|
15
|
-
<h3 class="h3">{title}</h3>
|
|
37
|
+
<!-- <h3 class="h3">{title}</h3>
|
|
16
38
|
{#if note}
|
|
17
39
|
<blockquote class="blockquote">{note}</blockquote>
|
|
18
|
-
{/if}
|
|
40
|
+
{/if} -->
|
|
19
41
|
|
|
20
42
|
<slot name="description" />
|
|
21
43
|
|
|
@@ -38,16 +60,28 @@ export let footer = true;
|
|
|
38
60
|
{/if}
|
|
39
61
|
<slot/>
|
|
40
62
|
</div>
|
|
41
|
-
{#if $$slots.right}
|
|
42
|
-
<div class="w-fixed w-full max-w-min flex-shrink flex-grow-0 px-2">
|
|
43
|
-
|
|
63
|
+
{#if $$slots.right || help}
|
|
64
|
+
<div class="w-fixed w-full max-w-min flex-shrink flex-grow-0 px-2" class:w-96:={help}>
|
|
65
|
+
<!--if help is active show Help-->
|
|
66
|
+
<!--if help is active and slot is set -->
|
|
67
|
+
<!-- help is deactiveated -->
|
|
68
|
+
<slot name="right"/>
|
|
69
|
+
|
|
44
70
|
</div>
|
|
45
71
|
{/if}
|
|
46
72
|
|
|
73
|
+
|
|
47
74
|
</div>
|
|
48
75
|
</div>
|
|
49
76
|
|
|
50
|
-
|
|
77
|
+
{#if help}
|
|
78
|
+
<button class="btn btn-sm variant-filled-warning fixed bottom-5 right-10" use:popup={popupClick}>?</button>
|
|
79
|
+
|
|
80
|
+
<div class="card p-4 variant-filled-primary" data-popup="popupClick">
|
|
81
|
+
<Help />
|
|
82
|
+
<div class="arrow variant-filled-primary" />
|
|
83
|
+
</div>
|
|
84
|
+
{/if}
|
|
51
85
|
|
|
52
86
|
|
|
53
87
|
{#if menu}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { SvelteComponentTyped } from "svelte";
|
|
2
|
-
import type {
|
|
2
|
+
import type { linkType } from "../../models/Models";
|
|
3
3
|
declare const __propDef: {
|
|
4
4
|
props: {
|
|
5
5
|
title?: string | undefined;
|
|
6
6
|
note?: string | undefined;
|
|
7
|
-
links?:
|
|
7
|
+
links?: linkType[] | undefined;
|
|
8
8
|
menu?: boolean | undefined;
|
|
9
9
|
footer?: boolean | undefined;
|
|
10
|
+
help?: boolean | undefined;
|
|
10
11
|
};
|
|
11
12
|
events: {
|
|
12
13
|
[evt: string]: CustomEvent<any>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
<script>import {
|
|
1
|
+
<script>import { positionType } from "../../models/Enums";
|
|
2
2
|
export let textCss = "text-secundary-500";
|
|
3
3
|
export let label = "";
|
|
4
|
-
export let position =
|
|
4
|
+
export let position = positionType.start;
|
|
5
5
|
</script>
|
|
6
6
|
|
|
7
7
|
<div class="flex justify-{position} items-{position} h-full w-full gap-5 pt-2">
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { SvelteComponentTyped } from "svelte";
|
|
2
|
-
import {
|
|
2
|
+
import { positionType } from "../../models/Enums";
|
|
3
3
|
declare const __propDef: {
|
|
4
4
|
props: {
|
|
5
5
|
textCss?: string | undefined;
|
|
6
6
|
label?: string | undefined;
|
|
7
|
-
position?:
|
|
7
|
+
position?: positionType | undefined;
|
|
8
8
|
};
|
|
9
9
|
events: {
|
|
10
10
|
[evt: string]: CustomEvent<any>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
<script>import { breadcrumbStore } from "../../../stores/pageStores";
|
|
2
|
+
export let title;
|
|
3
|
+
let list = [];
|
|
4
|
+
$:
|
|
5
|
+
list;
|
|
6
|
+
$:
|
|
7
|
+
breadcrumbStore.subscribe((value) => {
|
|
8
|
+
list = value?.items;
|
|
9
|
+
});
|
|
10
|
+
</script>
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
<div class="px-5 py-2">
|
|
14
|
+
<ol class="breadcrumb -p50">
|
|
15
|
+
|
|
16
|
+
<!--default home-->
|
|
17
|
+
<li class="crumb"><a class="anchor" href={"/"}>Home</a></li>
|
|
18
|
+
<li class="crumb-separator" aria-hidden>›</li>
|
|
19
|
+
|
|
20
|
+
{#each list as crumb, i}
|
|
21
|
+
<!-- If crumb index is less than the breadcrumb length minus 1 -->
|
|
22
|
+
{#if i < list.length - 1}
|
|
23
|
+
<li class="crumb"><a class="anchor" href={crumb.link}>{crumb.label}</a></li>
|
|
24
|
+
<li class="crumb-separator" aria-hidden>›</li>
|
|
25
|
+
{:else}
|
|
26
|
+
<li class="crumb">{crumb.label}</li>
|
|
27
|
+
{/if}
|
|
28
|
+
{/each}
|
|
29
|
+
</ol>
|
|
30
|
+
</div>
|
|
31
|
+
|
|
32
|
+
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
title: any;
|
|
5
|
+
};
|
|
6
|
+
events: {
|
|
7
|
+
[evt: string]: CustomEvent<any>;
|
|
8
|
+
};
|
|
9
|
+
slots: {};
|
|
10
|
+
};
|
|
11
|
+
export type BreadcrumbProps = typeof __propDef.props;
|
|
12
|
+
export type BreadcrumbEvents = typeof __propDef.events;
|
|
13
|
+
export type BreadcrumbSlots = typeof __propDef.slots;
|
|
14
|
+
export default class Breadcrumb extends SvelteComponentTyped<BreadcrumbProps, BreadcrumbEvents, BreadcrumbSlots> {
|
|
15
|
+
}
|
|
16
|
+
export {};
|