@cloudparker/moldex.js 0.0.68 → 0.0.69
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/dist/services/dialog/dialog-service.d.ts +2 -1
- package/dist/services/dialog/dialog-service.js +9 -2
- package/dist/views/core/dialog/components/dialog/dialog.svelte +7 -2
- package/dist/views/core/dialog/components/dialog/dialog.svelte.d.ts +2 -0
- package/dist/views/core/dialog/components/picker-dialog/picker-dialog.svelte +18 -3
- package/dist/views/core/dialog/components/picker-dialog/picker-dialog.svelte.d.ts +2 -6
- package/package.json +1 -1
|
@@ -26,7 +26,7 @@ export declare function openAlertDialog(params?: DialogProps & {
|
|
|
26
26
|
export declare function openDeleteConfirmDialog(params?: DialogProps & {
|
|
27
27
|
msg?: string;
|
|
28
28
|
}): Promise<unknown>;
|
|
29
|
-
export declare function openPickerDialog<R>({ items, value, multiple, hasCheckbox, hasArrow, ...params }: DialogProps & PickerDialogProps): Promise<R>;
|
|
29
|
+
export declare function openPickerDialog<R>({ items, value, multiple, hasCheckbox, hasArrow, maxlength, maxlengthMsg, identityFieldName, titleFieldName, searchFieldName, subtitleFieldName, ...params }: DialogProps & PickerDialogProps): Promise<R>;
|
|
30
30
|
export declare function openTextFieldDialog({ title, value, label, name, maxlength, fieldClassName, autofocus, required, appearance, size, floatingLabel, ...params }?: DialogProps & InputFieldProps & {
|
|
31
31
|
fieldClassName?: string;
|
|
32
32
|
}): Promise<unknown>;
|
|
@@ -52,6 +52,7 @@ export declare function openLoadingDialog({ msg, loadingDialogContainerClassName
|
|
|
52
52
|
postData: (data: any) => void;
|
|
53
53
|
setHeaderSnippet: (snippet: import("svelte").Snippet) => void;
|
|
54
54
|
setFooterSnippet: (snippet: import("svelte").Snippet) => void;
|
|
55
|
+
setDialogTitle: (dialogTitle: string) => void;
|
|
55
56
|
} & {
|
|
56
57
|
$set?: any;
|
|
57
58
|
$on?: any;
|
|
@@ -70,7 +70,7 @@ export async function openDeleteConfirmDialog(params = {}) {
|
|
|
70
70
|
footerOkButtonClassName: 'bg-red-500 hover:bg-red-700 focus:bg-red-700'
|
|
71
71
|
});
|
|
72
72
|
}
|
|
73
|
-
export async function openPickerDialog({ items, value, multiple, hasCheckbox = true, hasArrow, ...params }) {
|
|
73
|
+
export async function openPickerDialog({ items, value, multiple, hasCheckbox = true, hasArrow, maxlength, maxlengthMsg, identityFieldName, titleFieldName, searchFieldName, subtitleFieldName, ...params }) {
|
|
74
74
|
if (hasArrow) {
|
|
75
75
|
multiple = false;
|
|
76
76
|
hasCheckbox = false;
|
|
@@ -83,13 +83,20 @@ export async function openPickerDialog({ items, value, multiple, hasCheckbox = t
|
|
|
83
83
|
multiple,
|
|
84
84
|
hasCheckbox,
|
|
85
85
|
hasArrow,
|
|
86
|
+
maxlength,
|
|
87
|
+
maxlengthMsg,
|
|
88
|
+
identityFieldName,
|
|
89
|
+
titleFieldName,
|
|
90
|
+
searchFieldName,
|
|
91
|
+
subtitleFieldName,
|
|
86
92
|
},
|
|
87
93
|
hasHeader: true,
|
|
94
|
+
hasTitle: true,
|
|
88
95
|
hasHeaderBack: isMobileScreen(),
|
|
89
96
|
hasHeaderClose: !isMobileScreen(),
|
|
90
97
|
footerOkButtonLable: 'Select',
|
|
91
98
|
footerClassName: 'border-t',
|
|
92
|
-
title: '
|
|
99
|
+
title: 'Pick',
|
|
93
100
|
...params,
|
|
94
101
|
hasFooter: multiple,
|
|
95
102
|
hasFooterOkButton: multiple,
|
|
@@ -64,7 +64,8 @@ let dialogExports = {
|
|
|
64
64
|
setOnOkClick,
|
|
65
65
|
setOnData,
|
|
66
66
|
setHeaderSnippet,
|
|
67
|
-
setFooterSnippet
|
|
67
|
+
setFooterSnippet,
|
|
68
|
+
setDialogTitle
|
|
68
69
|
};
|
|
69
70
|
let isPlaced = $state(false);
|
|
70
71
|
let isOpened = $state(false);
|
|
@@ -87,6 +88,7 @@ let screenSizeClassNameMap = {
|
|
|
87
88
|
xl: xlSizeClassName,
|
|
88
89
|
full: fullSizeClassName
|
|
89
90
|
};
|
|
91
|
+
let customTitle = $state("");
|
|
90
92
|
export function toggleDialog() {
|
|
91
93
|
if (isOpened) {
|
|
92
94
|
closeDialog();
|
|
@@ -138,6 +140,9 @@ export function setHeaderSnippet(snippet) {
|
|
|
138
140
|
export function setFooterSnippet(snippet) {
|
|
139
141
|
footerSnippet = snippet;
|
|
140
142
|
}
|
|
143
|
+
export function setDialogTitle(dialogTitle) {
|
|
144
|
+
customTitle = dialogTitle;
|
|
145
|
+
}
|
|
141
146
|
function handleBackdropClick() {
|
|
142
147
|
if (cancelable) {
|
|
143
148
|
closeDialog();
|
|
@@ -209,7 +214,7 @@ $effect(() => {
|
|
|
209
214
|
<div class="py-2 flex-grow">
|
|
210
215
|
{#if hasTitle}
|
|
211
216
|
<div class="text-xl text-base-800 dark:text-base-300 {titleClassName}">
|
|
212
|
-
{title || ''}
|
|
217
|
+
{@html customTitle || title || ''}
|
|
213
218
|
</div>
|
|
214
219
|
{/if}
|
|
215
220
|
{#if hasSubtitle}
|
|
@@ -63,6 +63,7 @@ export type DialogExports = {
|
|
|
63
63
|
setOnData: (listener: (data: any) => void) => void;
|
|
64
64
|
setHeaderSnippet: (snippet: Snippet) => void;
|
|
65
65
|
setFooterSnippet: (snippet: Snippet) => void;
|
|
66
|
+
setDialogTitle: (title: string) => void;
|
|
66
67
|
};
|
|
67
68
|
import { type Snippet } from 'svelte';
|
|
68
69
|
import '../../../../../tailwind.css';
|
|
@@ -94,6 +95,7 @@ declare const Dialog: $$__sveltets_2_IsomorphicComponent<DialogProps, {
|
|
|
94
95
|
postData: (data: any) => void;
|
|
95
96
|
setHeaderSnippet: (snippet: Snippet) => void;
|
|
96
97
|
setFooterSnippet: (snippet: Snippet) => void;
|
|
98
|
+
setDialogTitle: (dialogTitle: string) => void;
|
|
97
99
|
}, "">;
|
|
98
100
|
type Dialog = InstanceType<typeof Dialog>;
|
|
99
101
|
export default Dialog;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<script lang="ts" module></script>
|
|
2
2
|
|
|
3
|
-
<script lang="ts">import
|
|
3
|
+
<script lang="ts">import { showToast } from "../../../../../services";
|
|
4
|
+
import ButtonListItem from "../../../button/components/button-list-item/button-list-item.svelte";
|
|
4
5
|
import ButtonSearch from "../../../button/components/button-search/button-search.svelte";
|
|
5
6
|
let {
|
|
6
7
|
value,
|
|
@@ -12,10 +13,13 @@ let {
|
|
|
12
13
|
searchFieldName = "name",
|
|
13
14
|
hasCheckbox,
|
|
14
15
|
hasArrow,
|
|
16
|
+
maxlength = 0,
|
|
17
|
+
maxlengthMsg = "Selection limit reached!",
|
|
15
18
|
closeDialog,
|
|
16
19
|
setResult,
|
|
17
20
|
setOnOkClick,
|
|
18
|
-
setHeaderSnippet
|
|
21
|
+
setHeaderSnippet,
|
|
22
|
+
setDialogTitle
|
|
19
23
|
} = $props();
|
|
20
24
|
let selected = $state({ items: {} });
|
|
21
25
|
let searchText = $state("");
|
|
@@ -62,7 +66,18 @@ function handleItemClick(ev, item, index) {
|
|
|
62
66
|
if (selected.items[itemId]) {
|
|
63
67
|
delete selected.items[itemId];
|
|
64
68
|
} else {
|
|
65
|
-
selected.items
|
|
69
|
+
let itemLength2 = Object.keys(selected.items).length;
|
|
70
|
+
if (maxlength > 0 && itemLength2 >= maxlength) {
|
|
71
|
+
showToast({ msg: maxlengthMsg });
|
|
72
|
+
} else {
|
|
73
|
+
selected.items[itemId] = itemId;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
let itemLength = Object.keys(selected.items).length;
|
|
77
|
+
if (itemLength) {
|
|
78
|
+
setDialogTitle(`Selected (${itemLength})`);
|
|
79
|
+
} else {
|
|
80
|
+
setDialogTitle("");
|
|
66
81
|
}
|
|
67
82
|
}
|
|
68
83
|
}
|
|
@@ -7,13 +7,9 @@ export type PickerDialogProps = {
|
|
|
7
7
|
searchFieldName?: string;
|
|
8
8
|
subtitleFieldName?: string;
|
|
9
9
|
hasCheckbox?: boolean;
|
|
10
|
-
checkboxCheckIconPath?: string;
|
|
11
|
-
checkboxUncheckIconPath?: string;
|
|
12
|
-
checkboxCheckIconClassName?: string;
|
|
13
|
-
checkboxUncheckIconClassName?: string;
|
|
14
10
|
hasArrow?: boolean;
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
maxlength?: number;
|
|
12
|
+
maxlengthMsg?: string;
|
|
17
13
|
};
|
|
18
14
|
import type { DialogExports } from '../dialog/dialog.svelte';
|
|
19
15
|
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|