@bexis2/bexis2-core-ui 0.1.13 → 0.2.1
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 -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 +5 -3
- package/dist/components/form/MultiSelect.svelte.d.ts +2 -0
- 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 +5 -3
- 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
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
<script>import { popup } from "@skeletonlabs/skeleton";
|
|
2
|
-
import
|
|
2
|
+
import MenuSublist from "./MenuSublist.svelte";
|
|
3
|
+
import { goTo } from "../../../services/BaseCaller";
|
|
3
4
|
export let menubarItem;
|
|
4
5
|
export let comboboxValue;
|
|
5
|
-
let
|
|
6
|
+
let id = Math.floor(Math.random() * 100).toString();
|
|
6
7
|
let popupCombobox = {
|
|
7
8
|
event: "click",
|
|
8
|
-
target:
|
|
9
|
+
target: id,
|
|
9
10
|
placement: "bottom",
|
|
10
11
|
// Close the popup when the item is clicked
|
|
11
12
|
closeQuery: ".listbox-item"
|
|
@@ -13,24 +14,18 @@ let popupCombobox = {
|
|
|
13
14
|
</script>
|
|
14
15
|
{#if menubarItem.Items.length<1}
|
|
15
16
|
|
|
16
|
-
<button
|
|
17
|
+
<button use:popup={popupCombobox} on:click={()=> goTo(menubarItem.Url)}>
|
|
17
18
|
<span class="capitalize">{comboboxValue ?? menubarItem.Title}</span>
|
|
18
|
-
|
|
19
19
|
</button>
|
|
20
20
|
|
|
21
21
|
{:else}
|
|
22
|
-
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
<button class="flex items-center gap-x-1 " use:popup={popupCombobox}>
|
|
23
25
|
<span class="capitalize">{menubarItem.Title}</span>
|
|
24
26
|
<div class="before:content-['▾']"></div>
|
|
25
27
|
</button>
|
|
26
|
-
<div class="card w-48 shadow-xl py-2" data-popup={radomNumber}>
|
|
27
|
-
|
|
28
|
-
<ListBox rounded="rounded-none">
|
|
29
|
-
{#each menubarItem.Items as item}
|
|
30
28
|
|
|
31
|
-
<
|
|
32
|
-
{/each}
|
|
33
|
-
</ListBox>
|
|
34
|
-
</div>
|
|
29
|
+
<MenuSublist {id} items={menubarItem.Items} />
|
|
35
30
|
|
|
36
31
|
{/if}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
<script>import { ListBox, ListBoxItem } from "@skeletonlabs/skeleton";
|
|
2
|
+
import { goTo } from "../../../services/BaseCaller";
|
|
3
|
+
export let id;
|
|
4
|
+
export let items;
|
|
5
|
+
let lastModule = "";
|
|
6
|
+
let first = true;
|
|
7
|
+
function isNewModule(module) {
|
|
8
|
+
if (module === lastModule) {
|
|
9
|
+
return false;
|
|
10
|
+
} else {
|
|
11
|
+
lastModule = module;
|
|
12
|
+
if (first) {
|
|
13
|
+
first = false;
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
</script>
|
|
20
|
+
|
|
21
|
+
<div class="z-50 w-max" data-popup={id}>
|
|
22
|
+
<ListBox class="bg-white border-solid border border-surface-500">
|
|
23
|
+
{#each items as item}
|
|
24
|
+
{#if isNewModule(item.Module) }<hr class="text-surface-800">{/if}
|
|
25
|
+
<ListBoxItem class="bg-white text-sm text-surface-800 py-1 hover:bg-surface-100 hover:text-secondary-500"
|
|
26
|
+
bind:group={item.Title}
|
|
27
|
+
name="medium"
|
|
28
|
+
value={item.Title}
|
|
29
|
+
on:click={()=> goTo(item.Url)}
|
|
30
|
+
>
|
|
31
|
+
{item.Title}
|
|
32
|
+
</ListBoxItem>
|
|
33
|
+
{/each}
|
|
34
|
+
</ListBox>
|
|
35
|
+
</div>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
import type { MenuItem } from "./menu";
|
|
3
|
+
declare const __propDef: {
|
|
4
|
+
props: {
|
|
5
|
+
id: any;
|
|
6
|
+
items: MenuItem[];
|
|
7
|
+
};
|
|
8
|
+
events: {
|
|
9
|
+
[evt: string]: CustomEvent<any>;
|
|
10
|
+
};
|
|
11
|
+
slots: {};
|
|
12
|
+
};
|
|
13
|
+
export type MenuSublistProps = typeof __propDef.props;
|
|
14
|
+
export type MenuSublistEvents = typeof __propDef.events;
|
|
15
|
+
export type MenuSublistSlots = typeof __propDef.slots;
|
|
16
|
+
export default class MenuSublist extends SvelteComponentTyped<MenuSublistProps, MenuSublistEvents, MenuSublistSlots> {
|
|
17
|
+
}
|
|
18
|
+
export {};
|
|
@@ -2,45 +2,27 @@
|
|
|
2
2
|
import { ListBox, ListBoxItem } 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";
|
|
5
6
|
export let menuBar;
|
|
6
|
-
|
|
7
|
-
let first = true;
|
|
8
|
-
function isNewModule(module) {
|
|
9
|
-
if (module === lastModule) {
|
|
10
|
-
return false;
|
|
11
|
-
} else {
|
|
12
|
-
lastModule = module;
|
|
13
|
-
if (first) {
|
|
14
|
-
first = false;
|
|
15
|
-
return false;
|
|
16
|
-
}
|
|
17
|
-
return true;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
7
|
+
import MenuSublist from "./MenuSublist.svelte";
|
|
20
8
|
let popupCombobox = {
|
|
21
9
|
event: "click",
|
|
22
|
-
target: "
|
|
10
|
+
target: "settings",
|
|
23
11
|
placement: "bottom",
|
|
24
12
|
// Close the popup when the item is clicked
|
|
25
13
|
closeQuery: ".listbox-item"
|
|
26
14
|
};
|
|
27
15
|
</script>
|
|
16
|
+
|
|
17
|
+
{#if menuBar}
|
|
18
|
+
<button class="flex items-center gap-x-1 text-sm text-surface-800" use:popup={popupCombobox}>
|
|
19
|
+
<span class="capitalize"><Fa icon={faCog} /></span>
|
|
20
|
+
|
|
21
|
+
</button>
|
|
28
22
|
|
|
29
|
-
{
|
|
30
|
-
|
|
31
|
-
<span class="capitalize"><Fa icon={faCog} /></span>
|
|
32
|
-
|
|
33
|
-
</button>
|
|
34
|
-
<div class="card w-48 shadow-xl py-2" data-popup="popupCombobox">
|
|
35
|
-
<ListBox rounded="rounded-none bg-white">
|
|
36
|
-
{#each menuBar as menubarItem}
|
|
37
|
-
{#if isNewModule(menubarItem.Module) }<hr class="bg-gray-900">{/if}
|
|
38
|
-
<ListBoxItem class="bg-white text-gray-900 py-1" href="{menubarItem.Url}" bind:group={menubarItem.Title} name="medium" value={menubarItem.Title}><a href={menubarItem.Url}>{menubarItem.Title}</a></ListBoxItem>
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
{/each}
|
|
43
|
-
</ListBox>
|
|
44
|
-
</div>
|
|
45
|
-
{/if}
|
|
23
|
+
<MenuSublist id="settings" items={menuBar} />
|
|
24
|
+
|
|
46
25
|
|
|
26
|
+
{/if}
|
|
27
|
+
|
|
28
|
+
|
package/dist/index.d.ts
CHANGED
|
@@ -23,8 +23,8 @@ export { Checkbox, CheckboxKVPList, CheckboxList, DateInput, DropdownKVP, MultiS
|
|
|
23
23
|
export { FileInfo, FileIcon, FileUploader };
|
|
24
24
|
export { ListView, TableView, Spinner, Page, Alert };
|
|
25
25
|
export { Api } from './services/Api.js';
|
|
26
|
-
export { host, username, password, setApiConfig } from './stores/
|
|
27
|
-
export type {
|
|
28
|
-
export {
|
|
26
|
+
export { host, username, password, setApiConfig } from './stores/apiStores.js';
|
|
27
|
+
export type { userType, inputType, fileUploaderModel, linkType, listItemType, keyValuePairType } from './models/Models.js';
|
|
28
|
+
export { positionType } from './models/Enums';
|
|
29
29
|
export { Table, TableFilter, columnFilter, searchFilter };
|
|
30
30
|
export type { TableConfig, Columns, Column };
|
package/dist/index.js
CHANGED
|
@@ -29,8 +29,8 @@ export { FileInfo, FileIcon, FileUploader };
|
|
|
29
29
|
export { ListView, TableView, Spinner, Page, Alert };
|
|
30
30
|
//Api
|
|
31
31
|
export { Api } from './services/Api.js';
|
|
32
|
-
export { host, username, password, setApiConfig } from './stores/
|
|
32
|
+
export { host, username, password, setApiConfig } from './stores/apiStores.js';
|
|
33
33
|
//enum
|
|
34
|
-
export {
|
|
34
|
+
export { positionType } from './models/Enums';
|
|
35
35
|
// Table
|
|
36
36
|
export { Table, TableFilter, columnFilter, searchFilter };
|
package/dist/models/Enums.d.ts
CHANGED
package/dist/models/Enums.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export var
|
|
2
|
-
(function (
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
})(
|
|
1
|
+
export var positionType;
|
|
2
|
+
(function (positionType) {
|
|
3
|
+
positionType["start"] = "start";
|
|
4
|
+
positionType["end"] = "end";
|
|
5
|
+
positionType["center"] = "center";
|
|
6
|
+
})(positionType || (positionType = {}));
|
package/dist/models/Models.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
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
|
-
export interface
|
|
4
|
+
export interface linkType {
|
|
5
5
|
label: string;
|
|
6
6
|
url: string;
|
|
7
7
|
}
|
|
8
|
-
export interface
|
|
8
|
+
export interface inputType {
|
|
9
9
|
id: string;
|
|
10
10
|
label: string;
|
|
11
11
|
feedback: string[];
|
|
@@ -14,29 +14,29 @@ export interface Input {
|
|
|
14
14
|
required: boolean;
|
|
15
15
|
placeholder: string;
|
|
16
16
|
}
|
|
17
|
-
export interface
|
|
17
|
+
export interface fileInfoType {
|
|
18
18
|
name: string;
|
|
19
19
|
type: string;
|
|
20
20
|
length: number;
|
|
21
21
|
description: string;
|
|
22
22
|
validationHash: string;
|
|
23
23
|
}
|
|
24
|
-
export interface
|
|
24
|
+
export interface fileUploaderModel {
|
|
25
25
|
accept: string[];
|
|
26
|
-
existingFiles:
|
|
26
|
+
existingFiles: fileInfoType[];
|
|
27
27
|
descriptionType: number;
|
|
28
28
|
multiple: boolean;
|
|
29
29
|
maxSize: number;
|
|
30
30
|
lastModification: Date;
|
|
31
31
|
}
|
|
32
|
-
export interface
|
|
32
|
+
export interface filesType {
|
|
33
33
|
accepted: Blob[];
|
|
34
34
|
rejected: Blob[];
|
|
35
35
|
}
|
|
36
|
-
export type
|
|
36
|
+
export type userType = {
|
|
37
37
|
name: string;
|
|
38
38
|
};
|
|
39
|
-
export interface
|
|
39
|
+
export interface fileObjType {
|
|
40
40
|
path: string;
|
|
41
41
|
lastModified: number;
|
|
42
42
|
lastModifiedDate: Date;
|
|
@@ -71,12 +71,22 @@ export interface TableConfig<T> {
|
|
|
71
71
|
defaultPageSize?: number;
|
|
72
72
|
optionsComponent?: typeof SvelteComponent;
|
|
73
73
|
}
|
|
74
|
-
export interface
|
|
74
|
+
export interface keyValuePairType {
|
|
75
75
|
id: number;
|
|
76
76
|
text: string;
|
|
77
77
|
}
|
|
78
|
-
export interface
|
|
78
|
+
export interface listItemType {
|
|
79
79
|
id: number;
|
|
80
80
|
text: string;
|
|
81
81
|
group: string;
|
|
82
82
|
}
|
|
83
|
+
export interface helpItemType {
|
|
84
|
+
id?: string;
|
|
85
|
+
name: string;
|
|
86
|
+
description: string;
|
|
87
|
+
link?: string;
|
|
88
|
+
}
|
|
89
|
+
export interface helpStoreType {
|
|
90
|
+
itemId?: string;
|
|
91
|
+
helpItems: helpItemType[];
|
|
92
|
+
}
|
package/dist/models/Models.js
CHANGED
package/dist/services/Api.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Api.js
|
|
2
2
|
import axios from 'axios';
|
|
3
|
-
import { host, username, password } from '../stores/
|
|
3
|
+
import { host, username, password } from '../stores/apiStores';
|
|
4
4
|
console.log('setup axios');
|
|
5
5
|
// implement a method to execute all the request from here.
|
|
6
6
|
const apiRequest = (method, url, request) => {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function goTo(url: any): Promise<void>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Implementations for all the calls for the pokemon endpoints.
|
|
2
|
+
//import Api from "./Api";
|
|
3
|
+
import { host } from "../stores/apiStores";
|
|
4
|
+
|
|
5
|
+
// go to a internal action
|
|
6
|
+
export const goTo = async (url) => {
|
|
7
|
+
if(window!=null && host != null && url!=null){
|
|
8
|
+
window.open(host+url,"_self")?.focus()
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { helpItemType, helpStoreType } from "../models/Models";
|
|
2
|
+
import type { breadcrumbItemType } from "../models/Page";
|
|
3
|
+
import { BreadcrumbModel } from "../models/Page";
|
|
4
|
+
export declare const helpStore: {
|
|
5
|
+
subscribe: (this: void, run: import("svelte/store").Subscriber<helpStoreType>, invalidate?: ((value?: helpStoreType | undefined) => void) | undefined) => import("svelte/store").Unsubscriber;
|
|
6
|
+
set: (this: void, value: helpStoreType) => void;
|
|
7
|
+
update: (this: void, updater: import("svelte/store").Updater<helpStoreType>) => void;
|
|
8
|
+
setHelpItemList: (helpItems: helpItemType[]) => void;
|
|
9
|
+
setItemId: (itemId: string) => void;
|
|
10
|
+
resetItemId: () => void;
|
|
11
|
+
show: (itemId: string) => void;
|
|
12
|
+
showHelpItem: (helpItem: helpItemType) => void;
|
|
13
|
+
hide: () => void;
|
|
14
|
+
toggle: (itemId: string) => void;
|
|
15
|
+
reset: () => void;
|
|
16
|
+
clear: () => void;
|
|
17
|
+
};
|
|
18
|
+
export declare const menuStore: import("svelte/store").Writable<Menu>;
|
|
19
|
+
export declare const breadcrumbStore: {
|
|
20
|
+
subscribe: (this: void, run: import("svelte/store").Subscriber<BreadcrumbModel>, invalidate?: ((value?: BreadcrumbModel | undefined) => void) | undefined) => import("svelte/store").Unsubscriber;
|
|
21
|
+
set: (this: void, value: BreadcrumbModel) => void;
|
|
22
|
+
update: (this: void, updater: import("svelte/store").Updater<BreadcrumbModel>) => void;
|
|
23
|
+
addItem: (item: breadcrumbItemType) => void;
|
|
24
|
+
clean: () => void;
|
|
25
|
+
};
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { BreadcrumbModel } from "../models/Page";
|
|
2
|
+
import { writable } from 'svelte/store';
|
|
3
|
+
function createHelpStore() {
|
|
4
|
+
// set Store Type
|
|
5
|
+
const { subscribe, set, update } = writable();
|
|
6
|
+
return {
|
|
7
|
+
//pass Store default functions
|
|
8
|
+
subscribe,
|
|
9
|
+
set,
|
|
10
|
+
update,
|
|
11
|
+
//set the list of help items to show
|
|
12
|
+
setHelpItemList: (helpItems) => {
|
|
13
|
+
helpStore.set({ itemId: undefined, helpItems: helpItems });
|
|
14
|
+
},
|
|
15
|
+
//set the ID of the help item and display it
|
|
16
|
+
setItemId: (itemId) => {
|
|
17
|
+
let v;
|
|
18
|
+
const h = [];
|
|
19
|
+
helpStore.subscribe(value => {
|
|
20
|
+
value = (value === undefined) ? { itemId: undefined, helpItems: h } : value;
|
|
21
|
+
value.helpItems = (value.helpItems === undefined) ? h : value.helpItems;
|
|
22
|
+
v = { itemId: itemId, helpItems: value.helpItems };
|
|
23
|
+
});
|
|
24
|
+
update(u => u = v);
|
|
25
|
+
},
|
|
26
|
+
//reset the ID of the help item and hide it
|
|
27
|
+
resetItemId: () => {
|
|
28
|
+
let v;
|
|
29
|
+
const h = [];
|
|
30
|
+
helpStore.subscribe(value => {
|
|
31
|
+
value = (value === undefined) ? { itemId: undefined, helpItems: h } : value;
|
|
32
|
+
value.helpItems = (value.helpItems === undefined) ? h : value.helpItems;
|
|
33
|
+
v = { itemId: undefined, helpItems: value.helpItems };
|
|
34
|
+
});
|
|
35
|
+
update(u => u = v);
|
|
36
|
+
},
|
|
37
|
+
//set the ID of the help item and display it
|
|
38
|
+
show: (itemId) => {
|
|
39
|
+
helpStore.setItemId(itemId);
|
|
40
|
+
},
|
|
41
|
+
//set a help item and display it
|
|
42
|
+
showHelpItem: (helpItem) => {
|
|
43
|
+
helpItem.id = (helpItem.id === undefined) ? "default" : helpItem.id;
|
|
44
|
+
helpStore.set({ itemId: helpItem.id, helpItems: [helpItem] });
|
|
45
|
+
},
|
|
46
|
+
//reset the ID of the help item and hide it
|
|
47
|
+
hide: () => {
|
|
48
|
+
helpStore.resetItemId();
|
|
49
|
+
},
|
|
50
|
+
//reset the ID of the help item and hide it
|
|
51
|
+
toggle: (itemId) => {
|
|
52
|
+
let v;
|
|
53
|
+
const h = [];
|
|
54
|
+
helpStore.subscribe(value => {
|
|
55
|
+
value = (value === undefined) ? { itemId: undefined, helpItems: h } : value;
|
|
56
|
+
value.helpItems = (value.helpItems === undefined) ? h : value.helpItems;
|
|
57
|
+
if (itemId != value.itemId) {
|
|
58
|
+
v = { itemId: itemId, helpItems: value.helpItems };
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
v = { itemId: undefined, helpItems: value.helpItems };
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
update(u => u = v);
|
|
65
|
+
},
|
|
66
|
+
reset: () => {
|
|
67
|
+
const h = [];
|
|
68
|
+
helpStore.set({ itemId: undefined, helpItems: h });
|
|
69
|
+
},
|
|
70
|
+
clear: () => {
|
|
71
|
+
helpStore.reset();
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
//crate and export the instance of the store
|
|
76
|
+
export const helpStore = createHelpStore();
|
|
77
|
+
// store for menu
|
|
78
|
+
export const menuStore = writable();
|
|
79
|
+
function createBreadcrumbStore() {
|
|
80
|
+
// set Store Type
|
|
81
|
+
const { subscribe, set, update } = writable();
|
|
82
|
+
set(new BreadcrumbModel());
|
|
83
|
+
return {
|
|
84
|
+
//pass Store default functions
|
|
85
|
+
subscribe,
|
|
86
|
+
set,
|
|
87
|
+
update,
|
|
88
|
+
//set the ID of the help item and display it
|
|
89
|
+
addItem: (item) => {
|
|
90
|
+
let b;
|
|
91
|
+
breadcrumbStore.subscribe(value => {
|
|
92
|
+
value = (value === undefined) ? new BreadcrumbModel() : value;
|
|
93
|
+
// value.items = (value.items === undefined) ? b:value.items
|
|
94
|
+
if (!value.items.find(i => i.label === item.label)) {
|
|
95
|
+
value.items = [...value.items, item];
|
|
96
|
+
}
|
|
97
|
+
b = value;
|
|
98
|
+
});
|
|
99
|
+
update(s => s = b);
|
|
100
|
+
},
|
|
101
|
+
clean: () => {
|
|
102
|
+
let b;
|
|
103
|
+
breadcrumbStore.subscribe(value => {
|
|
104
|
+
value = new BreadcrumbModel();
|
|
105
|
+
b = value;
|
|
106
|
+
});
|
|
107
|
+
update(s => s = b);
|
|
108
|
+
},
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
// store for breadcrumb navigation
|
|
112
|
+
export const breadcrumbStore = createBreadcrumbStore();
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import type {
|
|
2
|
+
import type { fileUploaderModel, fileInfoType, filesType } from '../../models/Models.js';
|
|
3
3
|
|
|
4
4
|
import DropZone from 'svelte-file-dropzone/Dropzone.svelte';
|
|
5
5
|
import Fa from 'svelte-fa/src/fa.svelte';
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
|
|
28
28
|
export let context = '';
|
|
29
29
|
|
|
30
|
-
export let data:
|
|
30
|
+
export let data: fileUploaderModel | undefined;
|
|
31
31
|
|
|
32
32
|
$: model = data;
|
|
33
33
|
$: submitBt = 'submit';
|
|
@@ -36,9 +36,9 @@
|
|
|
36
36
|
|
|
37
37
|
const dispatch = createEventDispatcher();
|
|
38
38
|
|
|
39
|
-
let fx:
|
|
39
|
+
let fx: fileInfoType[];
|
|
40
40
|
|
|
41
|
-
let files:
|
|
41
|
+
let files: filesType = { accepted: [], rejected: [] };
|
|
42
42
|
$: files;
|
|
43
43
|
|
|
44
44
|
onMount(async () => {
|
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import InputContainer from './InputContainer.svelte';
|
|
3
3
|
|
|
4
|
+
export let id;
|
|
4
5
|
export let source;
|
|
5
6
|
export let target;
|
|
6
7
|
export let title;
|
|
7
8
|
export let description = '';
|
|
8
9
|
export let key;
|
|
10
|
+
export let help = false;
|
|
9
11
|
|
|
10
12
|
let required = false;
|
|
11
13
|
let feedback: [];
|
|
12
14
|
</script>
|
|
13
15
|
|
|
14
|
-
<InputContainer label={title} {feedback} {required}>
|
|
16
|
+
<InputContainer {id} label={title} {feedback} {required} {help}>
|
|
15
17
|
{#each source as item}
|
|
16
18
|
<label class="flex items-center space-x-2" for={key}>
|
|
17
19
|
<input
|
|
@@ -9,9 +9,11 @@
|
|
|
9
9
|
export let invalid: boolean = false;
|
|
10
10
|
export let required: boolean = false;
|
|
11
11
|
export let feedback: string[] = [''];
|
|
12
|
+
export let help = false;
|
|
13
|
+
|
|
12
14
|
</script>
|
|
13
15
|
|
|
14
|
-
<InputContainer {label} {feedback} {required}>
|
|
16
|
+
<InputContainer {id} {label} {feedback} {required} {help}>
|
|
15
17
|
<input
|
|
16
18
|
{id}
|
|
17
19
|
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"
|
|
@@ -1,9 +1,33 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
+
import { helpStore } from '$store/pageStores'
|
|
3
|
+
|
|
4
|
+
export let id: string = '';
|
|
2
5
|
export let label: string = '';
|
|
3
6
|
export let required: boolean;
|
|
4
7
|
export let feedback: string[];
|
|
5
|
-
|
|
8
|
+
export let help:boolean=false;
|
|
9
|
+
|
|
10
|
+
function onMouseOver()
|
|
11
|
+
{
|
|
12
|
+
|
|
13
|
+
if(help)
|
|
14
|
+
{
|
|
15
|
+
helpStore.show(id);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
}
|
|
6
19
|
|
|
20
|
+
|
|
21
|
+
function onMouseOut()
|
|
22
|
+
{
|
|
23
|
+
if(help)
|
|
24
|
+
{
|
|
25
|
+
helpStore.hide();
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
</script>
|
|
30
|
+
<div {id} on:mouseover={onMouseOver} on:mouseout={onMouseOut}>
|
|
7
31
|
<label class="label">
|
|
8
32
|
<span
|
|
9
33
|
>{label}
|
|
@@ -20,3 +44,4 @@
|
|
|
20
44
|
</span>
|
|
21
45
|
{/if}
|
|
22
46
|
</label>
|
|
47
|
+
</div>
|
|
@@ -17,8 +17,10 @@
|
|
|
17
17
|
export let required = false;
|
|
18
18
|
export let feedback = [''];
|
|
19
19
|
export let placeholder = "-- Please select --"
|
|
20
|
-
export let invalid = false
|
|
21
|
-
export let loading = false
|
|
20
|
+
export let invalid = false;
|
|
21
|
+
export let loading = false;
|
|
22
|
+
export let help = false;
|
|
23
|
+
|
|
22
24
|
|
|
23
25
|
let isLoaded = false;
|
|
24
26
|
|
|
@@ -149,7 +151,7 @@
|
|
|
149
151
|
</script>
|
|
150
152
|
|
|
151
153
|
|
|
152
|
-
<InputContainer label={title} {feedback} {required}>
|
|
154
|
+
<InputContainer {id} label={title} {feedback} {required} {help}>
|
|
153
155
|
<Select
|
|
154
156
|
{id}
|
|
155
157
|
items={source}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import InputContainer from './InputContainer.svelte';
|
|
3
|
+
import { helpStore } from '$store/pageStores'
|
|
3
4
|
|
|
4
5
|
export let id: string = '';
|
|
5
6
|
export let label: string = '';
|
|
@@ -10,9 +11,12 @@
|
|
|
10
11
|
export let required: boolean = false;
|
|
11
12
|
export let feedback: string[] = [''];
|
|
12
13
|
export let placeholder: string = "";
|
|
14
|
+
export let help:boolean=false;
|
|
15
|
+
|
|
16
|
+
|
|
13
17
|
</script>
|
|
14
18
|
|
|
15
|
-
<InputContainer {label} {feedback} {required}>
|
|
19
|
+
<InputContainer {id} {label} {feedback} {required} {help}>
|
|
16
20
|
<input
|
|
17
21
|
{id}
|
|
18
22
|
class="input variant-form-material"
|