@bexis2/bexis2-core-ui 0.2.12 → 0.2.14

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.
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { popup } from '@skeletonlabs/skeleton';
2
+ import { Accordion, AccordionItem, popup } from '@skeletonlabs/skeleton';
3
3
 
4
4
  //uicomponents
5
5
  import MenuSublist from './MenuSublist.svelte';
@@ -18,21 +18,38 @@
18
18
  let popupCombobox: PopupSettings = {
19
19
  event: 'click',
20
20
  target: id,
21
- placement: 'bottom',
21
+ placement: 'bottom-start',
22
22
  // Close the popup when the item is clicked
23
23
  closeQuery: '.listbox-item'
24
24
  };
25
25
  </script>
26
26
 
27
27
  {#if menubarItem.Items.length < 1}
28
- <button use:popup={popupCombobox} on:click={() => goTo(menubarItem.Url)}>
29
- <span class="capitalize">{comboboxValue ?? menubarItem.Title}</span>
30
- </button>
28
+ <div class="p-2">
29
+ <button class="grid" use:popup={popupCombobox} on:click={() => goTo(menubarItem.Url)}>
30
+ <span class="capitalize">{comboboxValue ?? menubarItem.Title}</span>
31
+ </button>
32
+ </div>
31
33
  {:else}
32
- <button class="flex items-center gap-x-1" use:popup={popupCombobox}>
33
- <span class="capitalize">{menubarItem.Title}</span>
34
- <div class="before:content-['▾']" />
35
- </button>
36
-
37
- <MenuSublist {id} items={menubarItem.Items} />
34
+ <div class="sm:hidden block">
35
+ <AccordionItem padding="p-2">
36
+ <svelte:fragment slot="summary"
37
+ ><button class="flex items-center gap-x-1">
38
+ <span class="capitalize">{menubarItem.Title}</span>
39
+ </button></svelte:fragment
40
+ >
41
+ <svelte:fragment slot="content"
42
+ ><MenuSublist {id} items={menubarItem.Items} /></svelte:fragment
43
+ ></AccordionItem
44
+ >
45
+ </div>
46
+ <div class="hidden sm:block place-self-center" use:popup={popupCombobox}>
47
+ <button class="flex items-center gap-x-1 px-2">
48
+ <span class="capitalize">{menubarItem.Title}▾</span>
49
+ </button>
50
+
51
+ <div class="z-50 w-max" data-popup={id}>
52
+ <MenuSublist {id} items={menubarItem.Items} />
53
+ </div>
54
+ </div>
38
55
  {/if}
@@ -1,43 +1,40 @@
1
- <script lang="ts">
2
- import { ListBox, ListBoxItem } from '@skeletonlabs/skeleton';
3
- import type { menuItemType } from '$models/Page';
4
- import { goTo } from '$services/BaseCaller';
5
-
6
- export let id;
7
- export let items: menuItemType[];
8
-
9
- let lastModule = '';
10
- let first = true;
11
-
12
- // store last module
13
- function isNewModule(module) {
14
- if (module === lastModule) {
15
- return false;
16
- } else {
17
- lastModule = module;
18
- if (first) {
19
- first = false;
20
- return false;
21
- }
22
-
23
- return true;
24
- }
25
- }
26
- </script>
27
-
28
- <div class="z-50 w-max" data-popup={id}>
29
- <ListBox class="bg-white border-solid border border-surface-500">
30
- {#each items as item}
31
- {#if isNewModule(item.Module)}<hr class="text-surface-800" />{/if}
32
- <ListBoxItem
33
- class="bg-white text-sm text-surface-800 py-1 hover:bg-surface-100 hover:text-secondary-500"
34
- bind:group={item.Title}
35
- name="medium"
36
- value={item.Title}
37
- on:click={() => goTo(item.Url)}
38
- >
39
- {item.Title}
40
- </ListBoxItem>
41
- {/each}
42
- </ListBox>
43
- </div>
1
+ <script lang="ts">
2
+ import { ListBox, ListBoxItem } from '@skeletonlabs/skeleton';
3
+ import type { menuItemType } from '$models/Page';
4
+ import { goTo } from '$services/BaseCaller';
5
+
6
+ export let items: menuItemType[];
7
+
8
+ let lastModule = '';
9
+ let first = true;
10
+
11
+ // store last module
12
+ function isNewModule(module) {
13
+ if (module === lastModule) {
14
+ return false;
15
+ } else {
16
+ lastModule = module;
17
+ if (first) {
18
+ first = false;
19
+ return false;
20
+ }
21
+
22
+ return true;
23
+ }
24
+ }
25
+ </script>
26
+
27
+ <ListBox class="sm:bg-white sm:border">
28
+ {#each items as item}
29
+ {#if isNewModule(item.Module)}<hr class="text-surface-800" />{/if}
30
+ <ListBoxItem
31
+ class="text-md sm:text-sm text-surface-800 py-1 hover:text-secondary-500 bg-transparent hover:bg-surface-200"
32
+ bind:group={item.Title}
33
+ name="medium"
34
+ value={item.Title}
35
+ on:click={() => goTo(item.Url)}
36
+ >
37
+ {item.Title}
38
+ </ListBoxItem>
39
+ {/each}
40
+ </ListBox>
@@ -1,31 +1,42 @@
1
- <script lang="ts">
2
- import { popup } from '@skeletonlabs/skeleton';
3
- import { ListBox, ListBoxItem } from '@skeletonlabs/skeleton';
4
-
5
- import type { PopupSettings } from '@skeletonlabs/skeleton';
6
- import type { menuItemType } from '$models/Page';
7
- import Fa from 'svelte-fa/src/fa.svelte';
8
- import { faCog } from '@fortawesome/free-solid-svg-icons';
9
-
10
- import { goTo } from '$services/BaseCaller';
11
-
12
- export let menuBar: menuItemType[];
13
- //uicomponents
14
- import MenuSublist from './MenuSublist.svelte';
15
-
16
- let popupCombobox: PopupSettings = {
17
- event: 'click',
18
- target: 'settings',
19
- placement: 'bottom',
20
- // Close the popup when the item is clicked
21
- closeQuery: '.listbox-item'
22
- };
23
- </script>
24
-
25
- {#if menuBar}
26
- <button class="flex items-center gap-x-1 text-sm text-surface-800" use:popup={popupCombobox}>
27
- <span class="capitalize"><Fa icon={faCog} /></span>
28
- </button>
29
-
30
- <MenuSublist id="settings" items={menuBar} />
31
- {/if}
1
+ <script lang="ts">
2
+ import { popup } from '@skeletonlabs/skeleton';
3
+
4
+ import { AccordionItem, type PopupSettings } from '@skeletonlabs/skeleton';
5
+ import type { menuItemType } from '$models/Page';
6
+ import Fa from 'svelte-fa/src/fa.svelte';
7
+ import { faCog } from '@fortawesome/free-solid-svg-icons';
8
+
9
+ export let menuBar: menuItemType[];
10
+ //uicomponents
11
+ import MenuSublist from './MenuSublist.svelte';
12
+
13
+ let popupCombobox: PopupSettings = {
14
+ event: 'click',
15
+ target: 'settings',
16
+ placement: 'bottom',
17
+ // Close the popup when the item is clicked
18
+ closeQuery: '.listbox-item'
19
+ };
20
+ </script>
21
+
22
+ {#if menuBar}
23
+ <div class="sm:hidden">
24
+ <AccordionItem padding="p-2">
25
+ <svelte:fragment slot="summary"
26
+ ><button class="flex items-center gap-x-1 text-sm text-surface-800 w-5 h-full">
27
+ <span class="capitalize"><Fa icon={faCog} /></span>
28
+ </button></svelte:fragment
29
+ >
30
+ <svelte:fragment slot="content"><MenuSublist items={menuBar} /></svelte:fragment>
31
+ </AccordionItem>
32
+ </div>
33
+ <div class="hidden sm:block place-self-center" use:popup={popupCombobox}>
34
+ <button class="flex items-center gap-x-1">
35
+ <div class="hidden sm:block" />
36
+ <span class="capitalize"><Fa icon={faCog} /></span>
37
+ </button>
38
+ <div class="z-50 w-max" data-popup="settings">
39
+ <MenuSublist items={menuBar} />
40
+ </div>
41
+ </div>
42
+ {/if}
package/src/lib/index.ts CHANGED
@@ -57,10 +57,13 @@ export { host, username, password, setApiConfig } from './stores/apiStores.js';
57
57
  export type {
58
58
  userType,
59
59
  inputType,
60
- fileUploaderModel,
60
+ fileUploaderType,
61
61
  linkType,
62
62
  listItemType,
63
- keyValuePairType
63
+ keyValuePairType,
64
+ fileInfoType,
65
+ fileReaderInfoType,
66
+ asciiFileReaderInfoType
64
67
  } from './models/Models.js';
65
68
 
66
69
  //help
@@ -68,7 +71,7 @@ export { helpStore } from '$store/pageStores';
68
71
  export type { helpStoreType, helpItemType } from './models/Models';
69
72
 
70
73
  //enum
71
- export { positionType, pageContentLayoutType } from './models/Enums';
74
+ export { positionType, pageContentLayoutType,decimalCharacterType,orientationType,textMarkerType,textSeperatorType } from './models/Enums';
72
75
 
73
76
  // Table
74
77
  export { Table, TableFilter, columnFilter, searchFilter };
@@ -8,3 +8,25 @@ export enum pageContentLayoutType {
8
8
  full = 'full',
9
9
  center = 'center'
10
10
  }
11
+
12
+ export enum decimalCharacterType {
13
+ point,
14
+ comma
15
+ }
16
+
17
+ export enum orientationType {
18
+ columnwise,
19
+ rowwise
20
+ }
21
+
22
+ export enum textSeperatorType {
23
+ tab = 9,
24
+ comma = 44,
25
+ semicolon = 59,
26
+ space = 32
27
+ }
28
+
29
+ export enum textMarkerType {
30
+ quotes,
31
+ doubleQuotes
32
+ }
@@ -2,6 +2,8 @@ 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
4
 
5
+ import {decimalCharacterType, orientationType,textMarkerType,textSeperatorType} from './Enums'
6
+
5
7
  // page
6
8
  export interface linkType {
7
9
  label: string;
@@ -27,15 +29,33 @@ export interface fileInfoType {
27
29
  validationHash: string;
28
30
  }
29
31
 
30
- export interface fileUploaderModel {
32
+ export interface fileUploaderType {
31
33
  accept: string[];
32
34
  existingFiles: fileInfoType[];
33
35
  descriptionType: number;
34
36
  multiple: boolean;
35
37
  maxSize: number;
36
- lastModification: Date;
37
38
  }
38
39
 
40
+ export interface asciiFileReaderInfoType extends fileReaderInfoType {
41
+ cells: boolean[];
42
+ seperator: textSeperatorType;
43
+ textMarker: textMarkerType;
44
+ }
45
+
46
+
47
+ export interface fileReaderInfoType {
48
+ decimal: decimalCharacterType;
49
+ orientation: orientationType;
50
+ offset: number;
51
+ variables: number;
52
+ data: number;
53
+ unit: number;
54
+ description: number;
55
+ dateformat: string;
56
+ }
57
+
58
+
39
59
  export interface filesType {
40
60
  accepted: Blob[];
41
61
  rejected: Blob[];