@ticatec/uniface-element 0.2.3 → 0.3.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/dist/accordion/README.md +169 -0
- package/dist/accordion/README_CN.md +176 -0
- package/dist/action-bar/README.md +275 -0
- package/dist/action-bar/README_CN.md +285 -0
- package/dist/app-layout/README.md +374 -0
- package/dist/app-layout/README_CN.md +381 -0
- package/dist/app-top-bar/README.md +357 -0
- package/dist/app-top-bar/README_CN.md +365 -0
- package/dist/attachment-files/AttachmentFilesField.svelte +67 -1
- package/dist/attachment-files/AttachmentFilesField.svelte.d.ts +8 -1
- package/dist/base-calendar/CalendarBase.svelte +0 -3
- package/dist/box/README.md +385 -0
- package/dist/box/README_CN.md +393 -0
- package/dist/breadcrumbs/README.md +442 -0
- package/dist/breadcrumbs/README_CN.md +442 -0
- package/dist/button/Button.svelte +27 -7
- package/dist/button/Button.svelte.d.ts +3 -1
- package/dist/button/IconButton.svelte +26 -6
- package/dist/button/IconButton.svelte.d.ts +3 -1
- package/dist/button/IconButton_README.md +513 -0
- package/dist/button/IconButton_README_CN.md +513 -0
- package/dist/button/README.md +428 -0
- package/dist/button/README_CN.md +428 -0
- package/dist/button/TextButton.svelte +26 -6
- package/dist/button/TextButton.svelte.d.ts +3 -1
- package/dist/button/TextButton_README.md +571 -0
- package/dist/button/TextButton_README_CN.md +571 -0
- package/dist/card/README.md +666 -0
- package/dist/card/README_CN.md +666 -0
- package/dist/cascade-options-select/CascadeOptionSelect.svelte +43 -7
- package/dist/cascade-options-select/CascadeOptionSelect.svelte.d.ts +3 -4
- package/dist/cascade-options-select/README.md +663 -2
- package/dist/cascade-options-select/README_CN.md +664 -0
- package/dist/checkbox/CheckBox.svelte +20 -6
- package/dist/checkbox/CheckBox.svelte.d.ts +4 -2
- package/dist/checkbox/README.md +562 -0
- package/dist/checkbox/README_CN.md +727 -0
- package/dist/common-editor/NumberInput.svelte +39 -26
- package/dist/common-editor/NumberInput.svelte.d.ts +5 -1
- package/dist/concise-data-table/ConciseListTable.svelte +133 -36
- package/dist/concise-data-table/ConciseListTable.svelte.d.ts +8 -1
- package/dist/concise-data-table/DataCell.svelte +5 -6
- package/dist/concise-data-table/DataRow.svelte +22 -2
- package/dist/concise-data-table/DataRow.svelte.d.ts +1 -0
- package/dist/concise-data-table/README.md +606 -0
- package/dist/concise-data-table/README_CN.md +611 -0
- package/dist/context-menu/ContextMenu.svelte +138 -21
- package/dist/context-menu/ContextMenu.svelte.d.ts +5 -0
- package/dist/context-menu/ContextMenuItem.d.ts +20 -4
- package/dist/context-menu/README.md +551 -0
- package/dist/context-menu/README_CN.md +551 -0
- package/dist/criteria-field/CriteriaField.svelte +3 -5
- package/dist/criteria-field/README.md +532 -0
- package/dist/criteria-field/README_CN.md +532 -0
- package/dist/data-table/README.md +712 -0
- package/dist/data-table/README_CN.md +712 -0
- package/dist/date-picker/DatePicker.svelte +44 -7
- package/dist/date-picker/DatePicker.svelte.d.ts +3 -4
- package/dist/date-picker/DateTimePicker.svelte +32 -8
- package/dist/date-picker/DateTimePicker.svelte.d.ts +3 -4
- package/dist/date-picker/README.md +326 -0
- package/dist/date-picker/README_CN.md +316 -0
- package/dist/date-picker/ScrollBar.svelte +18 -8
- package/dist/date-picker/ScrollBar.svelte.d.ts +1 -1
- package/dist/date-picker/TimePanel.svelte +5 -5
- package/dist/date-picker/TimePanel.svelte.d.ts +1 -1
- package/dist/date-range/README.md +374 -0
- package/dist/date-range/README_CN.md +374 -0
- package/dist/dialog/DialogBoard.svelte +1 -1
- package/dist/dialog/README.md +596 -0
- package/dist/dialog/README_CN.md +596 -0
- package/dist/drawer/README.md +679 -1
- package/dist/drawer/README_CN.md +679 -0
- package/dist/group-box/group-check-box/GroupCheckBox.svelte +62 -5
- package/dist/group-box/group-check-box/GroupCheckBox.svelte.d.ts +7 -2
- package/dist/group-box/group-check-box/README.md +749 -0
- package/dist/group-box/group-check-box/README_CN.md +750 -0
- package/dist/group-box/group-radio-box/GroupRadioBox.svelte +69 -4
- package/dist/group-box/group-radio-box/GroupRadioBox.svelte.d.ts +8 -2
- package/dist/group-box/group-radio-box/README.md +920 -0
- package/dist/group-box/group-radio-box/README_CN.md +920 -0
- package/dist/image-files/README.md +1346 -0
- package/dist/image-files/README_CN.md +1346 -0
- package/dist/input-options-select/InputOptionsSelect.svelte +161 -65
- package/dist/input-options-select/InputOptionsSelect.svelte.d.ts +4 -1
- package/dist/lib/forwardAllEvents.d.ts +3 -0
- package/dist/lib/forwardAllEvents.js +24 -0
- package/dist/list-box/README.md +579 -0
- package/dist/list-box/README_CN.md +682 -0
- package/dist/lookup-editor/LookupEditor.svelte +15 -3
- package/dist/lookup-editor/LookupEditor.svelte.d.ts +3 -4
- package/dist/lookup-editor/README.md +684 -0
- package/dist/lookup-editor/README_CN.md +684 -0
- package/dist/memo-editor/MemoEditor.svelte +77 -27
- package/dist/memo-editor/MemoEditor.svelte.d.ts +6 -3
- package/dist/memo-editor/README.md +819 -0
- package/dist/memo-editor/README_CN.md +819 -0
- package/dist/message-box/README.md +398 -0
- package/dist/message-box/README_CN.md +398 -0
- package/dist/number-editor/NumberEditor.svelte +2 -2
- package/dist/number-editor/NumberEditor.svelte.d.ts +1 -1
- package/dist/number-editor/README.md +353 -22
- package/dist/number-editor/README_CN.md +357 -0
- package/dist/number-range/README.md +443 -0
- package/dist/number-range/README_CN.md +443 -0
- package/dist/options-multi-select/OptionsMultiSelect.svelte +87 -12
- package/dist/options-multi-select/OptionsMultiSelect.svelte.d.ts +3 -1
- package/dist/options-multi-select/README.md +480 -0
- package/dist/options-multi-select/README_CN.md +480 -0
- package/dist/options-select/OptionsSelect.svelte +36 -5
- package/dist/options-select/OptionsSelect.svelte.d.ts +3 -4
- package/dist/options-select/README.md +632 -0
- package/dist/options-select/README_CN.md +632 -0
- package/dist/page/README.md +605 -0
- package/dist/page/README_CN.md +605 -0
- package/dist/pagination/README.md +946 -0
- package/dist/pagination/README_CN.md +946 -0
- package/dist/pagination-panel/README.md +1075 -0
- package/dist/pagination-panel/README_CN.md +1075 -0
- package/dist/popup-hint/README.md +841 -0
- package/dist/popup-hint/README_CN.md +840 -0
- package/dist/progress-bar/README.md +242 -0
- package/dist/progress-bar/README_CN.md +242 -0
- package/dist/progress-step-bar/README.md +316 -0
- package/dist/progress-step-bar/README_CN.md +316 -0
- package/dist/prompts-text-editor/PromptsTextEditor.svelte +6 -3
- package/dist/prompts-text-editor/PromptsTextEditor.svelte.d.ts +3 -1
- package/dist/prompts-text-editor/README.md +329 -0
- package/dist/prompts-text-editor/README_CN.md +329 -0
- package/dist/property-editor/README.md +969 -0
- package/dist/property-editor/README_CN.md +969 -0
- package/dist/radio-button/README.md +372 -0
- package/dist/radio-button/README_CN.md +372 -0
- package/dist/radio-button/RadioButton.svelte +32 -3
- package/dist/radio-button/RadioButton.svelte.d.ts +12 -1
- package/dist/search-box/README.md +425 -0
- package/dist/search-box/README_CN.md +424 -0
- package/dist/search-box/SearchBox.svelte +22 -6
- package/dist/search-box/SearchBox.svelte.d.ts +4 -1
- package/dist/tabs/README.md +919 -0
- package/dist/tabs/README_CN.md +920 -0
- package/dist/tag/README.md +922 -0
- package/dist/tag/README_CN.md +922 -0
- package/dist/text-editor/PasswordEditor.svelte +17 -2
- package/dist/text-editor/PasswordEditor.svelte.d.ts +3 -3
- package/dist/text-editor/PasswordEditor_README.md +551 -0
- package/dist/text-editor/PasswordEditor_README_CN.md +551 -0
- package/dist/text-editor/README.md +466 -0
- package/dist/text-editor/README_CN.md +466 -0
- package/dist/text-editor/TextEditor.svelte +51 -19
- package/dist/text-editor/TextEditor.svelte.d.ts +0 -1
- package/dist/ticatec-uniface-web.css +1 -0
- package/dist/time-editor/README.md +498 -24
- package/dist/time-editor/README_CN.md +498 -0
- package/dist/time-editor/TimeEditor.svelte +7 -3
- package/dist/time-editor/TimeEditor.svelte.d.ts +3 -1
- package/dist/toast/README.md +667 -0
- package/dist/toast/README_CN.md +667 -0
- package/dist/transfer/README.md +795 -0
- package/dist/transfer/Transfer.svelte +6 -4
- package/dist/transfer/Transfer.svelte.d.ts +3 -1
- package/dist/tree-view/README.md +761 -0
- package/dist/tree-view/README_CN.md +761 -0
- package/dist/tree-view/TreeView.svelte +5 -3
- package/dist/tree-view/TreeView.svelte.d.ts +3 -1
- package/dist/unit-number-editor/README.md +546 -20
- package/dist/unit-number-editor/README_CN.md +525 -0
- package/dist/unit-number-editor/UnitNumberEditor.svelte +62 -8
- package/dist/unit-number-editor/UnitNumberEditor.svelte.d.ts +5 -1
- package/docs/form-field/cn/README_CN.md +364 -0
- package/docs/form-field/en/README.md +364 -0
- package/docs/form-panel/flex-form/cn/README_CN.md +586 -0
- package/docs/form-panel/flex-form/en/README.md +586 -0
- package/docs/form-panel/flex-row-form/cn/README_CN.md +787 -0
- package/docs/form-panel/flex-row-form/en/README.md +787 -0
- package/docs/form-panel/grid-form/en/README.md +744 -0
- package/package.json +1 -1
- package/dist/drawer/README-CN.md +0 -1
|
@@ -20,11 +20,23 @@
|
|
|
20
20
|
export let hideOptions: Array<string> = [];
|
|
21
21
|
export let variant: '' | 'plain' | 'outlined' | 'filled' = '';
|
|
22
22
|
export let compact: boolean = false;
|
|
23
|
-
export let
|
|
23
|
+
export let onchange: OnChangeHandler<string | number> = null as unknown as OnChangeHandler<string | number>;
|
|
24
|
+
export let onfocus: (() => void) | null = null;
|
|
25
|
+
export let onblur: (() => void) | null = null;
|
|
24
26
|
|
|
25
|
-
|
|
27
|
+
export const setFocus = () => {
|
|
28
|
+
const firstCheckbox = groupContainer?.querySelector('input[type="checkbox"]:not(:disabled)') as HTMLInputElement;
|
|
29
|
+
if (firstCheckbox) {
|
|
30
|
+
firstCheckbox.focus();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
26
33
|
|
|
34
|
+
let textValue: string;
|
|
27
35
|
let selectedList: Array<any> = [];
|
|
36
|
+
let oldValue = value;
|
|
37
|
+
let isUserChange: boolean = false;
|
|
38
|
+
let hasFocus: boolean = false;
|
|
39
|
+
let groupContainer: HTMLDivElement;
|
|
28
40
|
|
|
29
41
|
const generateText = (list: Array<string>) => {
|
|
30
42
|
if (list.length > 0) {
|
|
@@ -43,6 +55,7 @@
|
|
|
43
55
|
|
|
44
56
|
|
|
45
57
|
const handleCheckboxChange = (key: string) => async (checked: boolean) => {
|
|
58
|
+
isUserChange = true;
|
|
46
59
|
if (checked) {
|
|
47
60
|
selectedList.push(key);
|
|
48
61
|
} else {
|
|
@@ -51,6 +64,7 @@
|
|
|
51
64
|
selectedList.splice(idx, 1);
|
|
52
65
|
}
|
|
53
66
|
}
|
|
67
|
+
selectedList = [...selectedList]; // 触发reactive更新
|
|
54
68
|
if (bitBase) {
|
|
55
69
|
let v = 0;
|
|
56
70
|
for (let i=0; i<options.length; i++) {
|
|
@@ -62,7 +76,6 @@
|
|
|
62
76
|
} else {
|
|
63
77
|
value = selectedList.length==0 ? '' : selectedList.join(delimiter)
|
|
64
78
|
}
|
|
65
|
-
onChange?.(value);
|
|
66
79
|
}
|
|
67
80
|
|
|
68
81
|
const generateSelectedListViaBits = (v: number): void => {
|
|
@@ -87,6 +100,47 @@
|
|
|
87
100
|
$: bitBase ? generateSelectedListViaBits(utils.getNumberValue(value)??0) : generateSelectedListViaString(utils.getStringValue(value)??'');
|
|
88
101
|
$: generateText(selectedList);
|
|
89
102
|
|
|
103
|
+
// 处理onchange事件
|
|
104
|
+
$: if (oldValue != value) {
|
|
105
|
+
if (isUserChange) {
|
|
106
|
+
onchange?.(value);
|
|
107
|
+
isUserChange = false;
|
|
108
|
+
}
|
|
109
|
+
oldValue = value;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
// 处理focus/blur事件
|
|
113
|
+
const handleFocus = () => {
|
|
114
|
+
if (!hasFocus) {
|
|
115
|
+
hasFocus = true;
|
|
116
|
+
onfocus?.();
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
const handleBlur = () => {
|
|
121
|
+
if (hasFocus) {
|
|
122
|
+
hasFocus = false;
|
|
123
|
+
onblur?.();
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
const handleContainerClick = (e: MouseEvent) => {
|
|
128
|
+
if (!disabled && !readonly && e.target === groupContainer) {
|
|
129
|
+
handleFocus();
|
|
130
|
+
setFocus();
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
const handleContainerBlur = (e: FocusEvent) => {
|
|
135
|
+
// 检查焦点是否移到了组件外部
|
|
136
|
+
setTimeout(() => {
|
|
137
|
+
const activeElement = document.activeElement;
|
|
138
|
+
if (!groupContainer?.contains(activeElement)) {
|
|
139
|
+
handleBlur();
|
|
140
|
+
}
|
|
141
|
+
}, 0);
|
|
142
|
+
}
|
|
143
|
+
|
|
90
144
|
|
|
91
145
|
</script>
|
|
92
146
|
{#if displayMode === DisplayMode.View}
|
|
@@ -94,12 +148,15 @@
|
|
|
94
148
|
<span>{textValue}</span>
|
|
95
149
|
</div>
|
|
96
150
|
{:else}
|
|
97
|
-
<div class="uniface-group-box {variant}" {style} class:compact class:disabled>
|
|
151
|
+
<div bind:this={groupContainer} class="uniface-group-box {variant}" {style} class:compact class:disabled on:click={handleContainerClick} on:focusout={handleContainerBlur}>
|
|
98
152
|
{#each options as op}
|
|
99
153
|
{#if (hideOptions??[]).indexOf(op[keyField]) === -1}
|
|
100
154
|
<CheckBox {compact} {readonly} disabled={disabled || disabledOptions.indexOf(op[keyField]) > -1}
|
|
101
155
|
label={op[textField]} style={item$style} value={selectedList.indexOf(op[keyField]) > -1}
|
|
102
|
-
onChange={handleCheckboxChange(op[keyField])}
|
|
156
|
+
onChange={handleCheckboxChange(op[keyField])}
|
|
157
|
+
onClick={handleFocus}
|
|
158
|
+
on:focus={handleFocus}
|
|
159
|
+
on:blur={handleContainerBlur}/>
|
|
103
160
|
{/if}
|
|
104
161
|
{/each}
|
|
105
162
|
</div>
|
|
@@ -29,9 +29,14 @@ declare const GroupCheckBox: $$__sveltets_2_IsomorphicComponent<{
|
|
|
29
29
|
hideOptions?: Array<string>;
|
|
30
30
|
variant?: "" | "plain" | "outlined" | "filled";
|
|
31
31
|
compact?: boolean;
|
|
32
|
-
|
|
32
|
+
onchange?: OnChangeHandler<string | number>;
|
|
33
|
+
onfocus?: (() => void) | null;
|
|
34
|
+
onblur?: (() => void) | null;
|
|
35
|
+
setFocus?: () => void;
|
|
33
36
|
}, {
|
|
34
37
|
[evt: string]: CustomEvent<any>;
|
|
35
|
-
}, {}, {
|
|
38
|
+
}, {}, {
|
|
39
|
+
setFocus: () => void;
|
|
40
|
+
}, string>;
|
|
36
41
|
type GroupCheckBox = InstanceType<typeof GroupCheckBox>;
|
|
37
42
|
export default GroupCheckBox;
|