@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.
Files changed (88) hide show
  1. package/README.md +273 -214
  2. package/dist/components/Table/Table.svelte +85 -85
  3. package/dist/components/Table/TableFilter.svelte +8 -8
  4. package/dist/components/Table/TablePagination.svelte +38 -38
  5. package/dist/components/file/FileUploader.svelte +34 -34
  6. package/dist/components/form/Checkbox.svelte.d.ts +1 -1
  7. package/dist/components/form/DropdownKvP.svelte +5 -11
  8. package/dist/components/form/InputContainer.svelte +20 -19
  9. package/dist/components/form/MultiSelect.svelte +163 -178
  10. package/dist/components/form/TextArea.svelte +13 -13
  11. package/dist/components/form/TextInput.svelte +0 -2
  12. package/dist/components/page/Alert.svelte +28 -30
  13. package/dist/components/page/BackToTop.svelte +30 -30
  14. package/dist/components/page/Docs.svelte +22 -19
  15. package/dist/components/page/Docs.svelte.d.ts +1 -1
  16. package/dist/components/page/ErrorMessage.svelte +8 -8
  17. package/dist/components/page/Footer.svelte +5 -5
  18. package/dist/components/page/Header.svelte +5 -4
  19. package/dist/components/page/HelpPopUp.svelte +31 -25
  20. package/dist/components/page/HelpPopUp.svelte.d.ts +5 -12
  21. package/dist/components/page/Page.svelte +57 -67
  22. package/dist/components/page/Page.svelte.d.ts +2 -2
  23. package/dist/components/page/PageCaller.js +19 -21
  24. package/dist/components/page/Spinner.svelte +9 -10
  25. package/dist/components/page/Spinner.svelte.d.ts +1 -1
  26. package/dist/components/page/breadcrumb/Breadcrumb.svelte +19 -23
  27. package/dist/components/page/menu/Menu.svelte +48 -22
  28. package/dist/components/page/menu/MenuBar.svelte +8 -14
  29. package/dist/components/page/menu/MenuBar.svelte.d.ts +1 -1
  30. package/dist/components/page/menu/MenuDataCaller.js +10 -11
  31. package/dist/components/page/menu/MenuItem.svelte +28 -15
  32. package/dist/components/page/menu/MenuItem.svelte.d.ts +2 -1
  33. package/dist/components/page/menu/MenuSublist.svelte +14 -16
  34. package/dist/components/page/menu/MenuSublist.svelte.d.ts +2 -3
  35. package/dist/components/page/menu/SettingsBar.svelte +22 -14
  36. package/dist/components/page/menu/SettingsBar.svelte.d.ts +2 -2
  37. package/dist/css/core.ui.postcss +10 -7
  38. package/dist/css/themes/theme-bexis2.css +12 -13
  39. package/dist/index.d.ts +3 -5
  40. package/dist/index.js +5 -5
  41. package/dist/models/Enums.d.ts +18 -0
  42. package/dist/models/Enums.js +22 -0
  43. package/dist/models/Models.d.ts +18 -0
  44. package/dist/models/Models.js +1 -2
  45. package/dist/models/Page.d.ts +31 -0
  46. package/dist/services/BaseCaller.js +16 -21
  47. package/dist/stores/pageStores.d.ts +4 -4
  48. package/dist/stores/pageStores.js +27 -27
  49. package/package.json +2 -2
  50. package/src/lib/components/Table/Table.svelte +246 -246
  51. package/src/lib/components/Table/TableFilter.svelte +8 -8
  52. package/src/lib/components/Table/TablePagination.svelte +61 -61
  53. package/src/lib/components/Table/filter.ts +141 -141
  54. package/src/lib/components/file/FileUploader.svelte +184 -184
  55. package/src/lib/components/form/Checkbox.svelte +1 -1
  56. package/src/lib/components/form/DateInput.svelte +0 -1
  57. package/src/lib/components/form/DropdownKvP.svelte +5 -11
  58. package/src/lib/components/form/InputContainer.svelte +36 -44
  59. package/src/lib/components/form/MultiSelect.svelte +163 -178
  60. package/src/lib/components/form/NumberInput.svelte +3 -5
  61. package/src/lib/components/form/TextArea.svelte +26 -27
  62. package/src/lib/components/form/TextInput.svelte +2 -5
  63. package/src/lib/components/page/Alert.svelte +41 -45
  64. package/src/lib/components/page/BackToTop.svelte +30 -30
  65. package/src/lib/components/page/Docs.svelte +46 -44
  66. package/src/lib/components/page/ErrorMessage.svelte +10 -12
  67. package/src/lib/components/page/Footer.svelte +18 -22
  68. package/src/lib/components/page/Header.svelte +18 -21
  69. package/src/lib/components/page/HelpPopUp.svelte +72 -66
  70. package/src/lib/components/page/Page.svelte +96 -109
  71. package/src/lib/components/page/PageCaller.js +19 -21
  72. package/src/lib/components/page/Spinner.svelte +13 -15
  73. package/src/lib/components/page/breadcrumb/Breadcrumb.svelte +31 -43
  74. package/src/lib/components/page/menu/Menu.svelte +61 -43
  75. package/src/lib/components/page/menu/MenuBar.svelte +18 -29
  76. package/src/lib/components/page/menu/MenuDataCaller.js +10 -11
  77. package/src/lib/components/page/menu/MenuItem.svelte +45 -34
  78. package/src/lib/components/page/menu/MenuSublist.svelte +33 -41
  79. package/src/lib/components/page/menu/SettingsBar.svelte +39 -37
  80. package/src/lib/css/core.ui.postcss +10 -7
  81. package/src/lib/css/themes/theme-bexis2.css +12 -13
  82. package/src/lib/index.ts +78 -77
  83. package/src/lib/models/Enums.ts +32 -11
  84. package/src/lib/models/Models.ts +136 -113
  85. package/src/lib/models/Page.ts +40 -41
  86. package/src/lib/services/BaseCaller.js +16 -21
  87. package/src/lib/stores/apiStores.ts +31 -32
  88. 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>
@@ -3,7 +3,7 @@ declare const __propDef: {
3
3
  props: {
4
4
  id?: string | undefined;
5
5
  label?: string | undefined;
6
- checked?: any;
6
+ checked?: boolean | undefined;
7
7
  valid: boolean;
8
8
  invalid: boolean;
9
9
  required: boolean;
@@ -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
- else
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
- <div {id} on:mouseover={onMouseOver} on:mouseout={onMouseOut}>
16
- <label class="label">
17
- <span
18
- >{label}
19
- {#if required} <span class="text-sm text-red-600">*</span> {/if}
20
- </span>
21
- <slot />
22
- {#if feedback}
23
- <span class="text-sm text-error-600">
24
- <ul>
25
- {#each feedback as message}
26
- <li>{message}</li>
27
- {/each}
28
- </ul>
29
- </span>
30
- {/if}
31
- </label>
32
- </div>
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 = "-- Please select --"
20
- export let invalid = false;
21
- export let loading = false;
22
- export let help = false;
23
-
24
-
25
- let isLoaded = false;
26
-
27
- $: value = null;
28
- $: updateTarget(value);
29
-
30
- let groupBy
31
- $:groupBy;
32
-
33
-
34
-
35
- function updateTarget(selection) {
36
- //different cases
37
- //a) source is complex model is simple return array
38
- if (complexSource && !complexTarget && isLoaded && isMulti) {
39
- //console.log('a) source is complex model is simple');
40
-
41
- target = [];
42
- for (let i in selection) {
43
- let item = selection[i];
44
- target.push(item[itemId]);
45
- }
46
- }
47
-
48
-
49
- if (!complexSource && !complexTarget && isLoaded && isMulti) {
50
- target = [];
51
- for (let i in selection) {
52
- target.push(selection[i].value);
53
- }
54
- }
55
-
56
- if (complexSource && complexTarget && isLoaded && isMulti)
57
- {
58
- //console.log("both complex",selection);
59
- target = selection;
60
-
61
- }
62
-
63
- if(complexSource && complexTarget && isLoaded &&!isMulti)
64
- {
65
- target = selection
66
- }
67
-
68
- if(!complexSource && !complexTarget && isLoaded &&!isMulti)
69
- {
70
-
71
- target = selection.value
72
- }
73
-
74
- if(complexSource && !complexTarget && isLoaded &&!isMulti)
75
- {
76
- target = selection[itemLabel]
77
- console.log("selection",selection)
78
- }
79
-
80
-
81
- // //console.log('selection ' + title, selection);
82
- // //console.log('target ' + title, target);
83
- }
84
-
85
- onMount(async () => {
86
- console.log("on mount multiselect");
87
- ////console.log(source);
88
-
89
- //a) source is complex model is simple
90
- if (complexSource && !complexTarget && isMulti) {
91
- let items = [];
92
- // event.detail will be null unless isMulti is true and user has removed a single item
93
- for (let i in target) {
94
- let t = target[i];
95
- items.push(source.find((item) => item[itemId] === t));
96
- }
97
-
98
- isLoaded = true;
99
- if (items.length > 0) {
100
- value = items;
101
- }
102
- ////console.log(value);
103
- groupBy = (item) => item[itemGroup]
104
- }
105
-
106
- if (complexSource && complexTarget && isMulti)
107
- {
108
- value = target
109
- isLoaded = true;
110
- groupBy = (item) => item[itemGroup]
111
- }
112
-
113
- //b) simple liust and simple model
114
- if (!complexSource && !complexTarget && isMulti) {
115
- ////console.log("source", source);
116
- ////console.log("target",target);
117
- isLoaded = true;
118
- //set target only if its nit empty
119
- if (target != null && target !== undefined && target != '') {
120
- value = target;
121
- }
122
- }
123
-
124
- if(!isMulti)
125
- {
126
- //console.log("onmount",complexSource,complexTarget,value,target)
127
- if(!complexSource && !complexTarget)
128
- {
129
- value = {
130
- value:target,
131
- label:target
132
- }
133
- }
134
-
135
- if(complexSource && complexTarget)
136
- {
137
- value = target;
138
- groupBy = (item) => item[itemGroup]
139
- }
140
-
141
- if(complexSource && !complexTarget)
142
- {
143
- //value = target
144
- console.log("this case is currently not supported (complexSource,complexTarget,isMulti)", complexSource, complexTarget,isMulti)
145
- }
146
-
147
- isLoaded = true;
148
- }
149
-
150
- });
151
- </script>
152
-
153
-
154
- <InputContainer {id} label={title} {feedback} {required} {help}>
155
- <Select
156
- {id}
157
- items={source}
158
- {groupBy}
159
- {itemId}
160
- label = {itemLabel}
161
- multiple={isMulti}
162
- bind:value
163
- {placeholder}
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>
@@ -10,8 +10,6 @@ export let placeholder = "";
10
10
  export let help = false;
11
11
  </script>
12
12
 
13
-
14
-
15
13
  <InputContainer {id} {label} {feedback} {required} {help}>
16
14
  <input
17
15
  {id}