@ticatec/uniface-element 5.0.4 → 5.1.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/README.md +14 -13
- package/README_CN.md +17 -15
- package/dist/app_layout/ColumnsLayout.svelte +14 -10
- package/dist/app_layout/ColumnsLayout.svelte.d.ts +8 -4
- package/dist/app_layout/README.md +14 -12
- package/dist/app_layout/README_CN.md +14 -12
- package/dist/app_layout/RowsLayout.svelte +14 -10
- package/dist/app_layout/RowsLayout.svelte.d.ts +8 -4
- package/dist/base-calendar/CalendarBase.svelte +4 -10
- package/dist/base-calendar/CalendarBase.svelte.d.ts +0 -4
- package/dist/base-calendar/DateContext.d.ts +1 -0
- package/dist/base-calendar/DateContext.js +5 -8
- package/dist/base-calendar/MonthlyCalendar.svelte +11 -3
- package/dist/base-calendar/MonthlyCalendar.svelte.d.ts +1 -2
- package/dist/base-calendar/YearPickupPanel.svelte +5 -5
- package/dist/base-calendar/YearPickupPanel.svelte.d.ts +2 -2
- package/dist/base-calendar/dateUtils.js +9 -5
- package/dist/composite/pagination_panel/PaginationPanel.svelte +19 -13
- package/dist/composite/pagination_panel/PaginationPanel.svelte.d.ts +8 -5
- package/dist/composite/pagination_panel/README.md +3 -1
- package/dist/composite/pagination_panel/README_CN.md +3 -1
- package/dist/composite/transfer/Transfer.svelte +30 -16
- package/dist/composite/transfer/Transfer.svelte.d.ts +11 -4
- package/dist/composite/transfer/index.d.ts +2 -2
- package/dist/data_display/accordion/Accordion.svelte +10 -9
- package/dist/data_display/accordion/Accordion.svelte.d.ts +2 -1
- package/dist/data_display/accordion/AccordionItemView.svelte +6 -6
- package/dist/data_display/accordion/AccordionItemView.svelte.d.ts +1 -1
- package/dist/data_display/accordion/README.md +6 -4
- package/dist/data_display/accordion/README_CN.md +6 -4
- package/dist/data_display/card/Card.svelte +13 -11
- package/dist/data_display/card/Card.svelte.d.ts +5 -3
- package/dist/data_display/card/CardAction.d.ts +7 -2
- package/dist/data_display/card/CommonCardActionBar.svelte +2 -2
- package/dist/data_display/card/README.md +11 -9
- package/dist/data_display/card/README_CN.md +11 -9
- package/dist/data_display/card/index.d.ts +2 -1
- package/dist/data_display/concise_data_table/Column.d.ts +0 -6
- package/dist/data_display/concise_data_table/ConciseListTable.svelte +6 -5
- package/dist/data_display/concise_data_table/ConciseListTable.svelte.d.ts +4 -3
- package/dist/data_display/concise_data_table/DataCell.svelte +1 -1
- package/dist/data_display/concise_data_table/README.md +7 -5
- package/dist/data_display/concise_data_table/README_CN.md +7 -5
- package/dist/data_display/concise_data_table/TableOptions.d.ts +1 -1
- package/dist/data_display/list_box/ListBox.svelte +11 -15
- package/dist/data_display/list_box/ListBox.svelte.d.ts +6 -9
- package/dist/data_display/list_box/README.md +10 -8
- package/dist/data_display/list_box/README_CN.md +10 -8
- package/dist/data_display/list_box/index.d.ts +2 -3
- package/dist/data_display/tree_view/README.md +4 -2
- package/dist/data_display/tree_view/README_CN.md +4 -2
- package/dist/data_display/tree_view/TreeNodeView.svelte +15 -16
- package/dist/data_display/tree_view/TreeNodeView.svelte.d.ts +4 -5
- package/dist/data_display/tree_view/TreeView.svelte +27 -19
- package/dist/data_display/tree_view/TreeView.svelte.d.ts +12 -4
- package/dist/data_display/tree_view/index.d.ts +2 -3
- package/dist/data_table/DataTable.svelte +46 -15
- package/dist/data_table/DataTable.svelte.d.ts +9 -1
- package/dist/data_table/README.md +10 -8
- package/dist/data_table/README_CN.md +10 -8
- package/dist/data_table/UniDataTable.d.ts +4 -4
- package/dist/data_table/UniDataTable.js +2 -2
- package/dist/data_table/index.d.ts +5 -5
- package/dist/data_table/lib/CellAction.d.ts +9 -0
- package/dist/data_table/lib/CommonHeaderCell.d.ts +2 -2
- package/dist/data_table/lib/CompareFn.d.ts +3 -0
- package/dist/data_table/lib/DataColumn.d.ts +7 -12
- package/dist/data_table/lib/FormatCellFn.d.ts +2 -0
- package/dist/data_table/lib/HrefLink.d.ts +3 -3
- package/dist/data_table/lib/IndicatorColumn.d.ts +2 -1
- package/dist/data_table/lib/RowAction.d.ts +14 -20
- package/dist/data_table/lib/virtualWindow.d.ts +37 -0
- package/dist/data_table/lib/virtualWindow.js +41 -0
- package/dist/data_table/parts/ActionCell.svelte +3 -3
- package/dist/data_table/parts/ActionCell.svelte.d.ts +1 -1
- package/dist/data_table/parts/ActionsPanel.svelte +17 -2
- package/dist/data_table/parts/ActionsPanel.svelte.d.ts +3 -0
- package/dist/data_table/parts/ActionsRow.svelte +7 -5
- package/dist/data_table/parts/ContentPanel.svelte +40 -15
- package/dist/data_table/parts/ContentPanel.svelte.d.ts +11 -6
- package/dist/data_table/parts/FixedColumnsPanel.svelte +32 -16
- package/dist/data_table/parts/FixedColumnsPanel.svelte.d.ts +8 -5
- package/dist/data_table/parts/FixedHeaderPanel.svelte +14 -15
- package/dist/data_table/parts/FixedHeaderPanel.svelte.d.ts +4 -4
- package/dist/data_table/parts/FixedRow.svelte +9 -9
- package/dist/data_table/parts/FixedRow.svelte.d.ts +3 -3
- package/dist/data_table/parts/HrefCell.svelte +1 -1
- package/dist/data_table/parts/PopupMenu.svelte +3 -3
- package/dist/data_table/parts/PopupMenu.svelte.d.ts +1 -1
- package/dist/data_table/parts/TableHeaderPanel.svelte +14 -14
- package/dist/data_table/parts/TableHeaderPanel.svelte.d.ts +4 -4
- package/dist/data_table/parts/TextCell.svelte +1 -1
- package/dist/feedback/progress-bar/ProgressBar.svelte +13 -10
- package/dist/feedback/progress-bar/ProgressBar.svelte.d.ts +6 -3
- package/dist/form/FormEditor.svelte +2 -2
- package/dist/form/FormEditor.svelte.d.ts +1 -1
- package/dist/form/attachment_files/AttachmentEditor.svelte +407 -92
- package/dist/form/attachment_files/AttachmentEditor.svelte.d.ts +71 -15
- package/dist/form/attachment_files/AttachmentFile.d.ts +35 -8
- package/dist/form/attachment_files/AttachmentFile.js +54 -29
- package/dist/form/attachment_files/AttachmentListItem.svelte +208 -0
- package/dist/form/attachment_files/AttachmentListItem.svelte.d.ts +25 -0
- package/dist/form/attachment_files/AttachmentTile.svelte +296 -0
- package/dist/form/attachment_files/AttachmentTile.svelte.d.ts +25 -0
- package/dist/form/attachment_files/FileUpload.d.ts +2 -2
- package/dist/form/attachment_files/README.md +71 -452
- package/dist/form/attachment_files/README_CN.md +68 -449
- package/dist/form/attachment_files/UploadTask.d.ts +27 -0
- package/dist/form/attachment_files/index.d.ts +8 -5
- package/dist/form/attachment_files/index.js +4 -2
- package/dist/form/cascade_options_select/CascadeOptionSelect.svelte +16 -15
- package/dist/form/cascade_options_select/CascadeOptionSelect.svelte.d.ts +6 -5
- package/dist/form/cascade_options_select/IsLeaf.d.ts +4 -0
- package/dist/form/cascade_options_select/IsLeaf.js +1 -0
- package/dist/form/cascade_options_select/OptionsBox.svelte +4 -4
- package/dist/form/cascade_options_select/OptionsBox.svelte.d.ts +2 -2
- package/dist/form/color_picker/ColorPicker.svelte +3 -3
- package/dist/form/color_picker/ColorPickerPanel.svelte +1 -1
- package/dist/form/common_editor/BasePicker.svelte +7 -7
- package/dist/form/common_editor/BasePicker.svelte.d.ts +3 -3
- package/dist/form/common_editor/CommonEditor.svelte +8 -8
- package/dist/form/common_editor/CommonEditor.svelte.d.ts +2 -2
- package/dist/form/common_editor/CommonPicker.svelte +43 -31
- package/dist/form/common_editor/CommonPicker.svelte.d.ts +6 -6
- package/dist/form/common_editor/CommonPickerProps.d.ts +2 -2
- package/dist/form/common_editor/CommonPopupEditor.svelte +13 -13
- package/dist/form/common_editor/CommonPopupEditor.svelte.d.ts +3 -4
- package/dist/form/common_editor/NumberInput.svelte +10 -2
- package/dist/form/common_editor/NumberInput.svelte.d.ts +1 -1
- package/dist/form/common_range_editor/CommonRangeEditor.svelte +17 -17
- package/dist/form/common_range_editor/CommonRangeEditor.svelte.d.ts +5 -5
- package/dist/form/date_picker/DatePicker.svelte +5 -5
- package/dist/form/date_picker/DatePicker.svelte.d.ts +1 -1
- package/dist/form/date_picker/DateTimePicker.svelte +16 -6
- package/dist/form/date_picker/README.md +7 -5
- package/dist/form/date_picker/README_CN.md +7 -5
- package/dist/form/date_picker/ScrollBar.svelte +21 -20
- package/dist/form/date_picker/ScrollBar.svelte.d.ts +3 -3
- package/dist/form/date_range/DateRangeEditor.svelte +6 -6
- package/dist/form/events.d.ts +70 -0
- package/dist/form/events.js +6 -0
- package/dist/form/group_box/group-check-box/GroupCheckBox.svelte +9 -7
- package/dist/form/group_box/group-check-box/GroupCheckBox.svelte.d.ts +4 -3
- package/dist/form/group_box/group-check-box/README.md +5 -3
- package/dist/form/group_box/group-check-box/README_CN.md +5 -3
- package/dist/form/group_box/group-radio-box/GroupRadioBox.svelte +9 -7
- package/dist/form/group_box/group-radio-box/GroupRadioBox.svelte.d.ts +4 -3
- package/dist/form/group_box/group-radio-box/README.md +3 -1
- package/dist/form/group_box/group-radio-box/README_CN.md +3 -1
- package/dist/form/image_editor/ImageEditor.svelte +118 -0
- package/dist/form/image_editor/ImageEditor.svelte.d.ts +52 -0
- package/dist/form/image_editor/ImageFile.d.ts +11 -0
- package/dist/form/image_editor/ImageFile.js +1 -0
- package/dist/form/{image-files → image_editor}/ImagePreview.svelte +10 -2
- package/dist/form/image_editor/README.md +89 -0
- package/dist/form/image_editor/README_CN.md +89 -0
- package/dist/form/image_editor/index.d.ts +11 -0
- package/dist/form/image_editor/index.js +4 -0
- package/dist/form/input_options_select/InputOptionsSelect.svelte +11 -8
- package/dist/form/input_options_select/InputOptionsSelect.svelte.d.ts +2 -1
- package/dist/form/input_options_select/README.md +44 -218
- package/dist/form/input_options_select/README_CN.md +38 -211
- package/dist/form/lookup_editor/LookupEditor.svelte +7 -10
- package/dist/form/lookup_editor/LookupEditor.svelte.d.ts +2 -1
- package/dist/form/memo_editor/MemoEditor.svelte +2 -2
- package/dist/form/memo_editor/MemoEditor.svelte.d.ts +1 -1
- package/dist/form/number_editor/NumberEditor.svelte +13 -1
- package/dist/form/number_editor/NumberEditor.svelte.d.ts +1 -1
- package/dist/form/number_range/NumberRange.svelte +5 -5
- package/dist/form/options_multi_select/OptionsMultiSelect.svelte +13 -13
- package/dist/form/options_multi_select/OptionsMultiSelect.svelte.d.ts +3 -2
- package/dist/form/options_multi_select/README.md +5 -3
- package/dist/form/options_multi_select/README_CN.md +5 -3
- package/dist/form/options_select/OptionsSelect.svelte +19 -15
- package/dist/form/options_select/OptionsSelect.svelte.d.ts +2 -1
- package/dist/form/options_select/README.md +9 -7
- package/dist/form/options_select/README_CN.md +8 -6
- package/dist/form/prompts_text_editor/PromptsTextEditor.svelte +6 -5
- package/dist/form/prompts_text_editor/PromptsTextEditor.svelte.d.ts +2 -1
- package/dist/form/prompts_text_editor/README.md +16 -14
- package/dist/form/prompts_text_editor/README_CN.md +16 -14
- package/dist/form/search_box/SearchBox.svelte +3 -2
- package/dist/form/search_box/SearchBox.svelte.d.ts +1 -1
- package/dist/form/switch/README.md +7 -5
- package/dist/form/switch/README_CN.md +7 -5
- package/dist/form/switch/Switch.svelte +7 -5
- package/dist/form/switch/Switch.svelte.d.ts +4 -2
- package/dist/form/text_editor/PasswordEditor.svelte +2 -2
- package/dist/form/text_editor/PasswordEditor.svelte.d.ts +1 -1
- package/dist/form/text_editor/TextEditor.svelte +6 -4
- package/dist/form/text_editor/TextEditor.svelte.d.ts +1 -1
- package/dist/form/time_editor/README.md +4 -2
- package/dist/form/time_editor/README_CN.md +4 -2
- package/dist/form/time_editor/TimeEditor.svelte +10 -7
- package/dist/form/time_editor/TimeEditor.svelte.d.ts +2 -1
- package/dist/form/types.d.ts +5 -42
- package/dist/form/unit-number-editor/README.md +21 -19
- package/dist/form/unit-number-editor/README_CN.md +21 -19
- package/dist/form/unit-number-editor/UnitNumberEditor.svelte +12 -11
- package/dist/form/unit-number-editor/UnitNumberEditor.svelte.d.ts +4 -3
- package/dist/general/button/Button.svelte +4 -1
- package/dist/general/button/Button.svelte.d.ts +3 -1
- package/dist/general/button/IconButton.svelte +11 -5
- package/dist/general/button/IconButton.svelte.d.ts +5 -2
- package/dist/general/button/IconButton_README.md +9 -6
- package/dist/general/button/IconButton_README_CN.md +9 -6
- package/dist/general/button/TextButton.svelte +15 -5
- package/dist/general/button/TextButton.svelte.d.ts +6 -2
- package/dist/general/button/TextButton_README.md +10 -6
- package/dist/general/button/TextButton_README_CN.md +10 -6
- package/dist/general/icon/Icon.svelte +6 -4
- package/dist/general/icon/Icon.svelte.d.ts +3 -2
- package/dist/general/tag/Tag.svelte +8 -4
- package/dist/general/tag/Tag.svelte.d.ts +3 -1
- package/dist/i18nRes/i18nRes.d.ts +45 -2
- package/dist/i18nRes/i18nRes.js +7 -2
- package/dist/layouts/action_bar/ActionBar.svelte +5 -4
- package/dist/layouts/action_bar/ActionBar.svelte.d.ts +2 -1
- package/dist/layouts/action_bar/ButtonAction.d.ts +1 -23
- package/dist/layouts/action_bar/README.md +20 -18
- package/dist/layouts/action_bar/README_CN.md +19 -17
- package/dist/layouts/box/Box.svelte +4 -3
- package/dist/layouts/box/Box.svelte.d.ts +2 -1
- package/dist/layouts/box/README.md +13 -11
- package/dist/layouts/box/README_CN.md +13 -11
- package/dist/layouts/form_field/FormField.svelte +5 -4
- package/dist/layouts/form_field/FormField.svelte.d.ts +3 -2
- package/dist/layouts/form_field/README.md +11 -9
- package/dist/layouts/form_field/README_CN.md +9 -7
- package/dist/layouts/form_panel/flex_row_form/Cell.svelte +3 -1
- package/dist/layouts/form_panel/flex_row_form/Cell.svelte.d.ts +3 -1
- package/dist/layouts/form_panel/flex_row_form/Row.svelte +3 -1
- package/dist/layouts/form_panel/flex_row_form/Row.svelte.d.ts +3 -1
- package/dist/layouts/form_panel/grid_form/GridField.svelte +8 -4
- package/dist/layouts/form_panel/grid_form/GridField.svelte.d.ts +6 -2
- package/dist/layouts/form_panel/grid_form/GridForm.svelte +3 -1
- package/dist/layouts/form_panel/grid_form/GridForm.svelte.d.ts +3 -1
- package/dist/layouts/form_panel/grid_form/README.md +6 -4
- package/dist/layouts/form_panel/grid_form/README_CN.md +6 -4
- package/dist/layouts/page/Page.svelte +7 -7
- package/dist/layouts/page/Page.svelte.d.ts +2 -2
- package/dist/layouts/page/PageHeader.svelte +4 -4
- package/dist/layouts/page/PageHeader.svelte.d.ts +1 -1
- package/dist/layouts/page/README.md +18 -18
- package/dist/layouts/page/README_CN.md +18 -18
- package/dist/navigation/nav_menu/MenuItem.d.ts +1 -1
- package/dist/navigation/nav_menu/NavigatorMenu.svelte +16 -14
- package/dist/navigation/nav_menu/NavigatorMenu.svelte.d.ts +7 -5
- package/dist/navigation/nav_menu/NavigatorMenuItem.svelte +2 -2
- package/dist/navigation/nav_menu/NavigatorMenuItem.svelte.d.ts +2 -2
- package/dist/navigation/nav_menu/README.md +8 -6
- package/dist/navigation/nav_menu/README_CN.md +8 -6
- package/dist/navigation/nav_menu/index.d.ts +2 -2
- package/dist/navigation/navigator/Navigator.svelte +5 -4
- package/dist/navigation/navigator/Navigator.svelte.d.ts +3 -2
- package/dist/navigation/navigator/README.md +12 -10
- package/dist/navigation/navigator/README_CN.md +12 -10
- package/dist/navigation/pagination/Pagination.svelte +23 -15
- package/dist/navigation/pagination/Pagination.svelte.d.ts +6 -4
- package/dist/navigation/progress_step_bar/ProgressStep.d.ts +2 -1
- package/dist/navigation/progress_step_bar/ProgressStepBar.svelte +5 -4
- package/dist/navigation/progress_step_bar/ProgressStepBar.svelte.d.ts +2 -1
- package/dist/navigation/progress_step_bar/ProgressStepBlock.svelte +3 -3
- package/dist/navigation/progress_step_bar/ProgressStepBlock.svelte.d.ts +1 -1
- package/dist/navigation/progress_step_bar/README.md +37 -35
- package/dist/navigation/progress_step_bar/README_CN.md +36 -34
- package/dist/navigation/tabs/Tabs.svelte +14 -5
- package/dist/navigation/tabs/Tabs.svelte.d.ts +11 -4
- package/dist/navigation/tabs/index.d.ts +2 -2
- package/dist/overlay/common/ModalPopover.svelte +5 -4
- package/dist/overlay/common/ModalPopover.svelte.d.ts +2 -1
- package/dist/overlay/common/Popover.svelte +4 -3
- package/dist/overlay/common/Popover.svelte.d.ts +2 -1
- package/dist/overlay/context-menu/ContextMenuItem.d.ts +3 -3
- package/dist/overlay/context-menu/ContextMenuPanel.svelte +4 -4
- package/dist/overlay/context-menu/index.d.ts +2 -2
- package/dist/overlay/dialog/CommonDialog.svelte +17 -13
- package/dist/overlay/dialog/CommonDialog.svelte.d.ts +9 -5
- package/dist/overlay/dialog/Dialog.svelte +25 -19
- package/dist/overlay/dialog/Dialog.svelte.d.ts +11 -5
- package/dist/overlay/dialog/DialogActions.d.ts +1 -1
- package/dist/overlay/dialog/DialogCloseConfirm.d.ts +4 -1
- package/dist/overlay/dialog/DialogCloseConfirm.js +1 -1
- package/dist/overlay/dialog/DialogManager.svelte.js +2 -1
- package/dist/overlay/dialog/README.md +19 -17
- package/dist/overlay/dialog/README_CN.md +19 -17
- package/dist/overlay/dialog/index.d.ts +2 -2
- package/dist/overlay/message-box/IMessageBox.d.ts +4 -4
- package/dist/overlay/message-box/MessageBox.svelte.js +3 -3
- package/dist/ticatec-uniface-web.css +38 -12
- package/dist/types.d.ts +38 -46
- package/dist/unifaceContext.d.ts +2 -2
- package/dist/utils/prefixFilter.js +0 -1
- package/docs/NAMING.md +362 -0
- package/docs/NAMING_CN.md +362 -0
- package/docs/components/README.md +16 -14
- package/docs/components/accordion/README.md +13 -2
- package/docs/components/accordion/example.svelte +1 -0
- package/docs/components/action-bar/README.md +4 -4
- package/docs/components/attachment-editor/README.md +224 -0
- package/docs/components/attachment-editor/example.svelte +22 -0
- package/docs/components/box/README.md +1 -1
- package/docs/components/button/README.md +8 -1
- package/docs/components/button/example.svelte +1 -0
- package/docs/components/card/README.md +19 -5
- package/docs/components/cascade-options-select/README.md +11 -5
- package/docs/components/columns-layout/README.md +8 -4
- package/docs/components/columns-layout/example.svelte +4 -0
- package/docs/components/common-dialog/README.md +19 -10
- package/docs/components/common-dialog/example.svelte +2 -1
- package/docs/components/concise-data-table/README.md +18 -29
- package/docs/components/concise-data-table/example.svelte +1 -1
- package/docs/components/context-menu/README.md +5 -5
- package/docs/components/context-menu/example.svelte +1 -1
- package/docs/components/criteria-field/README.md +1 -0
- package/docs/components/criteria-field/example.svelte +1 -0
- package/docs/components/data-table/README.md +63 -40
- package/docs/components/data-table/example.svelte +2 -2
- package/docs/components/date-picker/README.md +1 -1
- package/docs/components/date-time-picker/README.md +1 -1
- package/docs/components/dialog/README.md +21 -14
- package/docs/components/dialog/example.svelte +1 -1
- package/docs/components/form-field/README.md +3 -3
- package/docs/components/grid-form/README.md +15 -5
- package/docs/components/grid-form/example.svelte +1 -1
- package/docs/components/group-check-box/README.md +3 -3
- package/docs/components/group-radio-box/README.md +3 -3
- package/docs/components/icon/README.md +6 -5
- package/docs/components/icon-button/README.md +10 -1
- package/docs/components/icon-button/example.svelte +1 -0
- package/docs/components/image-editor/README.md +262 -0
- package/docs/components/{image-files → image-editor}/example.svelte +5 -3
- package/docs/components/input-options-select/README.md +2 -2
- package/docs/components/list-box/README.md +12 -13
- package/docs/components/list-box/example.svelte +3 -3
- package/docs/components/lookup-editor/README.md +1 -1
- package/docs/components/navigator/README.md +2 -1
- package/docs/components/navigator/example.svelte +1 -0
- package/docs/components/navigator-menu/README.md +24 -21
- package/docs/components/navigator-menu/example.svelte +4 -2
- package/docs/components/options-multi-select/README.md +2 -2
- package/docs/components/options-select/README.md +4 -4
- package/docs/components/page/README.md +2 -2
- package/docs/components/page-stack/README.md +67 -0
- package/docs/components/page-stack/example.svelte +7 -0
- package/docs/components/pagination/README.md +24 -7
- package/docs/components/pagination/example.svelte +5 -2
- package/docs/components/pagination-panel/README.md +25 -10
- package/docs/components/pagination-panel/example.svelte +5 -4
- package/docs/components/password-editor/README.md +128 -0
- package/docs/components/{attachment-files → password-editor}/example.svelte +5 -5
- package/docs/components/progress-bar/README.md +14 -4
- package/docs/components/progress-bar/example.svelte +1 -1
- package/docs/components/progress-step-bar/README.md +16 -7
- package/docs/components/progress-step-bar/example.svelte +5 -1
- package/docs/components/prompts-text-editor/README.md +8 -6
- package/docs/components/prompts-text-editor/example.svelte +0 -1
- package/docs/components/rows-layout/README.md +8 -4
- package/docs/components/rows-layout/example.svelte +4 -0
- package/docs/components/switch/README.md +2 -2
- package/docs/components/tabs/README.md +24 -9
- package/docs/components/tag/README.md +13 -2
- package/docs/components/tag/example.svelte +1 -0
- package/docs/components/text-button/README.md +20 -1
- package/docs/components/text-button/example.svelte +2 -0
- package/docs/components/time-editor/README.md +1 -1
- package/docs/components/transfer/README.md +16 -9
- package/docs/components/tree-view/README.md +29 -13
- package/docs/components/tree-view/example.svelte +2 -1
- package/docs/components/unit-number-editor/README.md +11 -8
- package/docs/components/unit-number-editor/example.svelte +0 -1
- package/package.json +13 -7
- package/dist/data_table/lib/CompareFunction.d.ts +0 -3
- package/dist/data_table/lib/FormatCell.d.ts +0 -2
- package/dist/form/attachment_files/FileRender.svelte +0 -125
- package/dist/form/attachment_files/FileRender.svelte.d.ts +0 -9
- package/dist/form/attachment_files/FileUploadBar.svelte +0 -66
- package/dist/form/attachment_files/FileUploadBar.svelte.d.ts +0 -8
- package/dist/form/attachment_files/FileUploadPanel.svelte +0 -161
- package/dist/form/attachment_files/FileUploadPanel.svelte.d.ts +0 -14
- package/dist/form/attachment_files/UploadFile.d.ts +0 -43
- package/dist/form/attachment_files/UploadFile.js +0 -80
- package/dist/form/cascade_options_select/CascadePanel.svelte +0 -52
- package/dist/form/cascade_options_select/CascadePanel.svelte.d.ts +0 -26
- package/dist/form/cascade_options_select/isLeafDetermine.d.ts +0 -4
- package/dist/form/common_editor/EditorEvents.d.ts +0 -14
- package/dist/form/common_editor/EditorEvents.js +0 -2
- package/dist/form/image-files/ImageFile.d.ts +0 -12
- package/dist/form/image-files/ImageFilesField.svelte +0 -128
- package/dist/form/image-files/ImageFilesField.svelte.d.ts +0 -18
- package/dist/form/image-files/ImageRender.svelte +0 -95
- package/dist/form/image-files/ImageRender.svelte.d.ts +0 -10
- package/dist/form/image-files/README.md +0 -468
- package/dist/form/image-files/README_CN.md +0 -468
- package/dist/form/image-files/index.d.ts +0 -10
- package/dist/form/image-files/index.js +0 -2
- package/dist/layout/flex/FlexBlock.svelte +0 -17
- package/dist/layout/flex/FlexBlock.svelte.d.ts +0 -38
- package/dist/layout/flex/README.md +0 -148
- package/dist/layout/flex/README_CN.md +0 -148
- package/dist/layout/flex/index.d.ts +0 -2
- package/dist/layout/flex/index.js +0 -2
- package/dist/layout/index.d.ts +0 -0
- package/dist/layout/index.js +0 -1
- package/docs/components/attachment-files/README.md +0 -332
- package/docs/components/image-files/README.md +0 -174
- /package/dist/data_table/lib/{FormatCell.js → CellAction.js} +0 -0
- /package/dist/data_table/lib/{CompareFunction.js → CompareFn.js} +0 -0
- /package/dist/{form/cascade_options_select/isLeafDetermine.js → data_table/lib/FormatCellFn.js} +0 -0
- /package/dist/form/{image-files/ImageFile.js → attachment_files/UploadTask.js} +0 -0
- /package/dist/form/{image-files → image_editor}/ImagePreview.svelte.d.ts +0 -0
|
@@ -1,246 +1,73 @@
|
|
|
1
1
|
# InputOptionsSelect
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
> **5.1.0 重命名**:本文使用 [API 命名规范](../../../docs/NAMING_CN.md) 中的名字;旧名 `mandatory` 已在 5.1.0 移除(5.1.0 不保留兼容别名)。
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
可输入的远程检索选择器:用户在输入框里键入关键字,组件通过 `lazyLoader` 分页拉取候选项并在下方面板展示,点击某一项后把它的 key 写入 `value`。适合候选数据量大、必须走服务端检索的场景(客户、产品、地址快速定位)。
|
|
6
|
+
|
|
7
|
+
> 与 `OptionsSelect` 的区别:`OptionsSelect` 接收完整的 `options` 数组做本地筛选;`InputOptionsSelect` **没有** `options` 属性,所有候选都来自 `lazyLoader`。
|
|
6
8
|
|
|
7
9
|
## 特性
|
|
8
10
|
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
- **`value` 是选项的 key
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
- **快速过滤** —— `filterFunction` 控制过滤逻辑。
|
|
16
|
-
- **必填模式** —— 隐藏清空按钮,用户无法把字段清空。
|
|
17
|
-
- **紧凑模式** —— 适用于表格单元格和密集表单。
|
|
18
|
-
- **禁用 / 只读** —— 下拉被抑制,渲染普通输入框。
|
|
19
|
-
- **共享的 form-editor 属性** —— `variant`、`style`、`error`、`tooltip`、`theme`、`placeholder`、`onfocus` / `onblur` / `onchange`。
|
|
20
|
-
- **键盘导航** —— 方向键移动选中、Enter 确认、Escape 关闭、下拉打开时 Tab 被锁住。
|
|
21
|
-
|
|
22
|
-
## 安装
|
|
23
|
-
|
|
24
|
-
```bash
|
|
25
|
-
npm install @ticatec/uniface-element
|
|
26
|
-
```
|
|
11
|
+
- **输入即检索**:停止输入 200ms 后调用 `lazyLoader(text, 1)`;继续输入会中止上一次未完成的请求。
|
|
12
|
+
- **滚动分页**:面板滚到底部时调用 `lazyLoader(text, pageNo + 1)`,直到返回 `hasMore: false`。
|
|
13
|
+
- **`value` 是选项的 key**:由 `keyField` 决定;显示文本由 `textField` 或 `retrieveText` 决定。
|
|
14
|
+
- **自定义项渲染**:`itemRender` 传入一个接收 `item` 的 Svelte 组件。
|
|
15
|
+
- **不可清空模式**:`clearable={false}` 隐藏清空按钮。
|
|
16
|
+
- **共享的表单字段属性**:继承 `CommonPickerProps`(`variant`、`compact`、`disabled`、`readonly`、`style`、`error`、`tooltip`、`theme`、`placeholder`、`onfocus` / `onblur` / `onchange`)。
|
|
27
17
|
|
|
28
18
|
## 引入
|
|
29
19
|
|
|
30
20
|
```typescript
|
|
31
21
|
import InputOptionsSelect from "@ticatec/uniface-element/InputOptionsSelect";
|
|
22
|
+
import type {ListLazyLoader} from "@ticatec/uniface-element/types";
|
|
32
23
|
```
|
|
33
24
|
|
|
34
|
-
##
|
|
25
|
+
## 基本用法
|
|
35
26
|
|
|
36
27
|
```svelte
|
|
37
28
|
<script lang="ts">
|
|
38
29
|
import InputOptionsSelect from "@ticatec/uniface-element/InputOptionsSelect";
|
|
30
|
+
import type {ListLazyLoader} from "@ticatec/uniface-element/types";
|
|
39
31
|
|
|
40
32
|
let value = $state<string | null>(null);
|
|
33
|
+
let text = $state('');
|
|
41
34
|
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
{
|
|
45
|
-
{
|
|
46
|
-
|
|
47
|
-
];
|
|
35
|
+
const loadCustomers: ListLazyLoader = async (keyword, pageNo) => {
|
|
36
|
+
const res = await fetch(`/api/customers?q=${encodeURIComponent(keyword)}&page=${pageNo}`);
|
|
37
|
+
const data = await res.json(); // { list: [...], hasMore: boolean }
|
|
38
|
+
return {list: data.list, hasMore: data.hasMore};
|
|
39
|
+
};
|
|
48
40
|
</script>
|
|
49
41
|
|
|
50
|
-
<InputOptionsSelect
|
|
42
|
+
<InputOptionsSelect bind:value {text} lazyLoader={loadCustomers} placeholder="输入客户名称检索"
|
|
43
|
+
onchange={(item) => text = item?.text ?? ''}/>
|
|
51
44
|
```
|
|
52
45
|
|
|
53
46
|
## 属性(Props)
|
|
54
47
|
|
|
55
|
-
|
|
48
|
+
继承 `CommonPickerProps` 的属性不再重复列出。
|
|
56
49
|
|
|
57
50
|
| 属性 | 类型 | 默认值 | 说明 |
|
|
58
51
|
|------|------|--------|------|
|
|
59
|
-
| `value` | `any`(可绑定) | — | 选中项的 key
|
|
60
|
-
| `
|
|
61
|
-
| `
|
|
62
|
-
| `
|
|
63
|
-
| `
|
|
64
|
-
| `
|
|
65
|
-
| `
|
|
66
|
-
| `
|
|
67
|
-
| `
|
|
68
|
-
| `
|
|
69
|
-
| `disabled` | `boolean` | `false` | 完全禁用 —— 普通输入框,无下拉。 |
|
|
70
|
-
| `readonly` | `boolean` | `false` | 只读 —— 视觉同 disabled,语义是"查看,不可编辑"。 |
|
|
71
|
-
| `mandatory` | `boolean` | `false` | 隐藏清空(×)按钮。 |
|
|
72
|
-
| `style` | `string` | — | 编辑器根节点的内联 CSS。 |
|
|
73
|
-
| `error` | `string` | — | 校验错误文本,触发编辑器的 error 状态。 |
|
|
74
|
-
| `tooltip` | `string` | — | 编辑器的 hover tooltip。 |
|
|
75
|
-
| `theme` | `string` | — | 渲染为下拉根的 `data-theme`,用于作用域样式覆盖。 |
|
|
76
|
-
| `itemRender` | `{ component: any; props?: Record<string, any> } \| undefined` | — | 自定义每项渲染的 Svelte 组件。子组件接收 `item`、`disabled`、`onclick`。 |
|
|
77
|
-
| `filterFunction` | `((option: any, keyword: string) => boolean) \| undefined` | — | 过滤函数。传入后,输入时会按每个选项调用。 |
|
|
78
|
-
| `noResultsText` | `string` | `"No results found"` | 过滤后列表为空时显示的文本。 |
|
|
79
|
-
| `retrieveOptionText` | `(option: any) => string \| null \| undefined` | — | 可选的文本转换函数。接收选项对象,返回要显示的文本。返回 `undefined` 时使用 `textField` 的原始值。 |
|
|
80
|
-
| `onchange` | `(value: any) => void` | — | 用户选中时触发**一次**,参数是**完整的选项对象**(不是 key)。父组件编程式修改 `value` 不会触发。 |
|
|
81
|
-
| `onfocus` | `(e: FocusEvent) => void` | — | 输入框获焦。 |
|
|
82
|
-
| `onblur` | `(e: FocusEvent) => void` | — | 输入框失焦。在弹窗关闭且焦点真正离开编辑器后触发。 |
|
|
83
|
-
|
|
84
|
-
## 事件
|
|
85
|
-
|
|
86
|
-
| 事件 | 签名 | 说明 |
|
|
87
|
-
|------|------|------|
|
|
88
|
-
| `onchange` | `(value: any) => void` | 用户选中时触发,参数是**完整的选项对象**(不是 key)。 |
|
|
89
|
-
| `onfocus` | `(e: FocusEvent) => void` | 输入框获焦。 |
|
|
90
|
-
| `onblur` | `(e: FocusEvent) => void` | 输入框失焦。在弹窗关闭且焦点真正离开编辑器后触发。 |
|
|
91
|
-
|
|
92
|
-
## `retrieveOptionText`
|
|
93
|
-
|
|
94
|
-
这个钩子可以格式化或转换输入框和下拉中显示的文本。它接收完整的选项对象,返回显示字符串。
|
|
95
|
-
|
|
96
|
-
```svelte
|
|
97
|
-
<script lang="ts">
|
|
98
|
-
import InputOptionsSelect from "@ticatec/uniface-element/InputOptionsSelect";
|
|
99
|
-
|
|
100
|
-
let value = $state<string | null>(null);
|
|
101
|
-
|
|
102
|
-
const options = [
|
|
103
|
-
{ code: 1001, text: "张三", age: 30, department: "工程部" },
|
|
104
|
-
{ code: 1002, text: "李四", age: 25, department: "市场部" },
|
|
105
|
-
{ code: 1003, text: "王五", age: 35, department: "工程部" }
|
|
106
|
-
];
|
|
107
|
-
|
|
108
|
-
// 下拉中显示 "张三 (工程部)"
|
|
109
|
-
const retrieveOptionText = (option: any) => {
|
|
110
|
-
return `${option.text} (${option.department})`;
|
|
111
|
-
};
|
|
112
|
-
</script>
|
|
113
|
-
|
|
114
|
-
<InputOptionsSelect
|
|
115
|
-
{options}
|
|
116
|
-
bind:value
|
|
117
|
-
retrieveOptionText={retrieveOptionText}
|
|
118
|
-
placeholder="搜索员工..."
|
|
119
|
-
/>
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
## `itemRender`
|
|
123
|
-
|
|
124
|
-
传 `{component, props?}`。子组件接收:
|
|
125
|
-
|
|
126
|
-
| 属性 | 来源 |
|
|
127
|
-
|------|------|
|
|
128
|
-
| `item` | 当前选项对象。 |
|
|
129
|
-
| `disabled` | 选项 key 在 `disableOptions` 中时为 `true`。 |
|
|
130
|
-
| `onclick` | 内部处理函数 —— 点击时调用它来选中这一项。 |
|
|
131
|
-
| `...props` | 你放在 `itemRender.props` 里的属性都会展开到组件上。 |
|
|
132
|
-
|
|
133
|
-
## 示例
|
|
134
|
-
|
|
135
|
-
### 员工搜索,自定义下拉文本格式
|
|
136
|
-
|
|
137
|
-
```svelte
|
|
138
|
-
<script lang="ts">
|
|
139
|
-
import InputOptionsSelect from "@ticatec/uniface-element/InputOptionsSelect";
|
|
140
|
-
|
|
141
|
-
let value = $state<string | null>(null);
|
|
142
|
-
|
|
143
|
-
const employees = [
|
|
144
|
-
{ id: "E001", name: "Alice", dept: "Engineering", email: "alice@example.com" },
|
|
145
|
-
{ id: "E002", name: "Bob", dept: "Marketing", email: "bob@example.com" },
|
|
146
|
-
{ id: "E003", name: "Carol", dept: "Engineering", email: "carol@example.com" },
|
|
147
|
-
{ id: "E004", name: "Dave", dept: "Sales", email: "dave@example.com" }
|
|
148
|
-
];
|
|
149
|
-
|
|
150
|
-
// 下拉中显示 "Alice (Engineering)"
|
|
151
|
-
const retrieveOptionText = (emp: any) => `${emp.name} (${emp.dept})`;
|
|
152
|
-
|
|
153
|
-
// 按 name / dept / email 任一字段过滤
|
|
154
|
-
const filter = (emp: any, keyword: string) =>
|
|
155
|
-
!keyword || [emp.name, emp.dept, emp.email].some(v =>
|
|
156
|
-
v.toLowerCase().includes(keyword.toLowerCase())
|
|
157
|
-
);
|
|
158
|
-
</script>
|
|
159
|
-
|
|
160
|
-
<InputOptionsSelect
|
|
161
|
-
{options: employees}
|
|
162
|
-
keyField="id"
|
|
163
|
-
textField="name"
|
|
164
|
-
bind:value={value}
|
|
165
|
-
retrieveOptionText={retrieveOptionText}
|
|
166
|
-
filterFunction={filter}
|
|
167
|
-
placeholder="搜索员工..."
|
|
168
|
-
/>
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
### 禁用 / 隐藏选项
|
|
172
|
-
|
|
173
|
-
```svelte
|
|
174
|
-
<script lang="ts">
|
|
175
|
-
import InputOptionsSelect from "@ticatec/uniface-element/InputOptionsSelect";
|
|
176
|
-
|
|
177
|
-
let value = $state<string | null>(null);
|
|
178
|
-
|
|
179
|
-
const statuses = [
|
|
180
|
-
{ code: "ACTIVE", text: "Active" },
|
|
181
|
-
{ code: "SUSPENDED", text: "Suspended" },
|
|
182
|
-
{ code: "BANNED", text: "Banned" },
|
|
183
|
-
{ code: "DELETED", text: "Deleted" }
|
|
184
|
-
];
|
|
185
|
-
</script>
|
|
186
|
-
|
|
187
|
-
<InputOptionsSelect
|
|
188
|
-
{options: statuses}
|
|
189
|
-
bind:value={value}
|
|
190
|
-
disableOptions={["BANNED"]}
|
|
191
|
-
hideOptions={["DELETED"]}
|
|
192
|
-
placeholder="选择状态"
|
|
193
|
-
/>
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
### 只读模式
|
|
197
|
-
|
|
198
|
-
```svelte
|
|
199
|
-
<script lang="ts">
|
|
200
|
-
import InputOptionsSelect from "@ticatec/uniface-element/InputOptionsSelect";
|
|
201
|
-
|
|
202
|
-
let value = $state("E001");
|
|
203
|
-
|
|
204
|
-
const options = [
|
|
205
|
-
{ code: "E001", text: "Alice" },
|
|
206
|
-
{ code: "E002", text: "Bob" }
|
|
207
|
-
];
|
|
208
|
-
</script>
|
|
209
|
-
|
|
210
|
-
<InputOptionsSelect
|
|
211
|
-
{options}
|
|
212
|
-
bind:value={value}
|
|
213
|
-
readonly
|
|
214
|
-
/>
|
|
215
|
-
```
|
|
52
|
+
| `value` | `any`(可绑定) | — | 选中项的 key(`item[keyField]`)。用户重新输入时会被置为 `null`。 |
|
|
53
|
+
| `text` | `string` | — | 输入框当前显示的文本。组件在选中项后会更新它;初始化时由调用方传入已选项的显示文本。 |
|
|
54
|
+
| `lazyLoader` | `ListLazyLoader` | — | `(text, pageNo) => Promise<{list, hasMore}>`。**必需**,否则输入不会触发任何检索。 |
|
|
55
|
+
| `keyField` | `string` | `"code"` | 作为 `value` 的字段。 |
|
|
56
|
+
| `textField` | `string` | `"text"` | 默认显示文本字段。 |
|
|
57
|
+
| `retrieveText` | `(item) => string` | — | 自定义显示文本;返回值优先于 `textField`。 |
|
|
58
|
+
| `itemRender` | Svelte 组件 | — | 自定义每一项的渲染,组件接收 `item` 属性。 |
|
|
59
|
+
| `menu$height` | `number` | `0` | 面板固定高度(px);`0` 表示自适应,最高 300px。 |
|
|
60
|
+
| `clearable` | `boolean` | `true` | 是否显示清空按钮;`false` 时用户不能把值清空。 |
|
|
61
|
+
| `onchange` | `(item: any) => void` | — | 用户点击选中某一项时触发,参数是**完整的选项对象**。清空或重新输入不会触发。 |
|
|
216
62
|
|
|
217
63
|
## 行为说明
|
|
218
64
|
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|------|-------------------|---------------|
|
|
223
|
-
| 输入方式 | `<input>` + 实时过滤 | 点击打开下拉框 |
|
|
224
|
-
| 过滤时机 | 逐字符触发,客户端过滤 | 点击打开后过滤 |
|
|
225
|
-
| 适用场景 | 用户经常输入的场景 | 用户浏览的场景 |
|
|
226
|
-
|
|
227
|
-
### 只读 / 禁用渲染
|
|
228
|
-
|
|
229
|
-
两种模式都渲染普通 `<input readonly>`,显示文本。清空按钮、下拉箭头、下拉面板都不渲染。
|
|
230
|
-
|
|
231
|
-
### `emptyText` 与 `placeholder`
|
|
232
|
-
|
|
233
|
-
- `placeholder` —— 输入框的原生占位文字,`value` 为空时显示。
|
|
234
|
-
- `emptyText` —— 覆盖显示文本,用于当前 `value` 在 `options` 中找不到对应项的场景。
|
|
235
|
-
|
|
236
|
-
## 无障碍
|
|
237
|
-
|
|
238
|
-
- 下拉通过 `Popover`(portal 渲染到 `document.body`)实现,有 scroll/resize 监听。
|
|
239
|
-
- 键盘:方向键移动选中,Enter 确认,Escape 关闭,下拉打开时 Tab 被锁。
|
|
240
|
-
- 完整的 ARIA 需要外层 `<label>` / `FormField` 配合 `error` 文本。
|
|
65
|
+
- 只有输入非空文本才会检索;清空输入不会调用 `lazyLoader`。
|
|
66
|
+
- 面板在 `options.length > 0 || loading` 时打开,检索结果为空时自动关闭。
|
|
67
|
+
- `readonly` / `disabled` 时输入框不可编辑,也不会检索。
|
|
241
68
|
|
|
242
69
|
## 相关组件
|
|
243
70
|
|
|
244
|
-
-
|
|
245
|
-
-
|
|
246
|
-
-
|
|
71
|
+
- `OptionsSelect`:本地选项数组的单选下拉。
|
|
72
|
+
- `LookupEditor`:通过弹出查找界面选择复杂对象。
|
|
73
|
+
- `ListBox`:同样支持 `lazyLoader` 的列表框。
|
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
interface Props extends CommonFieldProps {
|
|
9
|
-
|
|
9
|
+
/** 是否允许清空(显示清空按钮),默认 true */
|
|
10
|
+
clearable?: boolean;
|
|
10
11
|
value?: any;
|
|
11
12
|
text?: string;
|
|
12
13
|
onaction?: () => void;
|
|
@@ -14,6 +15,7 @@
|
|
|
14
15
|
}
|
|
15
16
|
|
|
16
17
|
let {
|
|
18
|
+
leadingIcon,
|
|
17
19
|
theme,
|
|
18
20
|
style,
|
|
19
21
|
tooltip,
|
|
@@ -21,7 +23,7 @@
|
|
|
21
23
|
disabled = false,
|
|
22
24
|
readonly = false,
|
|
23
25
|
compact = false,
|
|
24
|
-
|
|
26
|
+
clearable = true,
|
|
25
27
|
variant,
|
|
26
28
|
value = $bindable(),
|
|
27
29
|
text,
|
|
@@ -32,6 +34,7 @@
|
|
|
32
34
|
onblur
|
|
33
35
|
}: Props = $props();
|
|
34
36
|
|
|
37
|
+
|
|
35
38
|
let editor: HTMLInputElement | undefined = $state(undefined);
|
|
36
39
|
|
|
37
40
|
export function focus() {
|
|
@@ -59,11 +62,11 @@
|
|
|
59
62
|
|
|
60
63
|
</script>
|
|
61
64
|
|
|
62
|
-
<CommonEditor {theme} {clear} {style} {tooltip} {error} {readonly} {disabled} {compact} {variant} textValue={text??''}
|
|
65
|
+
<CommonEditor {theme} {clear} {style} {tooltip} {error} {readonly} {disabled} {compact} {variant} {leadingIcon} textValue={text??''} {clearable}>
|
|
63
66
|
<input bind:this={editor} {placeholder} readonly value={text ?? ''} {onfocus} {onblur}/>
|
|
64
67
|
{#snippet trailingIcon()}
|
|
65
68
|
{#if !disabled && !readonly}
|
|
66
|
-
<i class="icon_google_arrow_drop_down action_icon" role="button" tabindex="
|
|
69
|
+
<i class="icon_google_arrow_drop_down action_icon" role="button" tabindex="-1" aria-label="Lookup"
|
|
67
70
|
onmousedown={(event: MouseEvent)=> {event.preventDefault()}}
|
|
68
71
|
onclick={handleActionClick} onkeydown={handleActionKeyDown}></i>
|
|
69
72
|
{/if}
|
|
@@ -72,7 +75,6 @@
|
|
|
72
75
|
|
|
73
76
|
<style>
|
|
74
77
|
.action_icon {
|
|
75
|
-
visibility: hidden;
|
|
76
78
|
cursor: pointer;
|
|
77
79
|
}
|
|
78
80
|
|
|
@@ -80,9 +82,4 @@
|
|
|
80
82
|
position: relative;
|
|
81
83
|
top: 1px;
|
|
82
84
|
}
|
|
83
|
-
|
|
84
|
-
:global(.uniface-common-editor:hover) .action_icon,
|
|
85
|
-
:global(.uniface-common-editor:focus-within) .action_icon {
|
|
86
|
-
visibility: visible;
|
|
87
|
-
}
|
|
88
85
|
</style>
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { Snippet } from "svelte";
|
|
2
2
|
import type CommonFieldProps from "../common_editor/CommonFieldProps";
|
|
3
3
|
interface Props extends CommonFieldProps {
|
|
4
|
-
|
|
4
|
+
/** 是否允许清空(显示清空按钮),默认 true */
|
|
5
|
+
clearable?: boolean;
|
|
5
6
|
value?: any;
|
|
6
7
|
text?: string;
|
|
7
8
|
onaction?: () => void;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import prefixFilter, {eventFilter} from "../../utils/prefixFilter";
|
|
5
5
|
|
|
6
6
|
import type CommonFieldProps from "../common_editor/CommonFieldProps";
|
|
7
|
-
import type {KeyboardEvents} from "../
|
|
7
|
+
import type {KeyboardEvents} from "../events";
|
|
8
8
|
|
|
9
9
|
const excludeAttrs = ['readonly', 'disabled', 'required', 'rows', 'form', 'wrap'];
|
|
10
10
|
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
|
|
69
69
|
</script>
|
|
70
70
|
|
|
71
|
-
<FormEditor {variant} {theme} {error} {tooltip} style="{style}; {heightStyle}" {readonly} {disabled} {compact}
|
|
71
|
+
<FormEditor {variant} {theme} {error} {tooltip} style="{style}; {heightStyle}" {readonly} {disabled} {compact} class="{className} {allowHorizontal ? 'memo-resize-horizontal' : ''}">
|
|
72
72
|
<div class="memo-inner" style={heightStyle} class:resize-horizontal={allowHorizontal}>
|
|
73
73
|
<textarea
|
|
74
74
|
bind:this={editor}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type CommonFieldProps from "../common_editor/CommonFieldProps";
|
|
2
|
-
import type { KeyboardEvents } from "../
|
|
2
|
+
import type { KeyboardEvents } from "../events";
|
|
3
3
|
interface Props extends CommonFieldProps, KeyboardEvents {
|
|
4
4
|
class?: string;
|
|
5
5
|
value?: any;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import utils from "../../overlay/common/utils";
|
|
6
6
|
import prefixFilter from "../../utils/prefixFilter";
|
|
7
7
|
import type CommonFieldProps from "../common_editor/CommonFieldProps";
|
|
8
|
-
import type {KeyboardEvents} from "../
|
|
8
|
+
import type {KeyboardEvents} from "../events";
|
|
9
9
|
|
|
10
10
|
const excludeAttrs = ['type', 'readonly', 'disabled', 'required', 'wrap', 'value', 'max', 'min', 'step'];
|
|
11
11
|
|
|
@@ -41,6 +41,11 @@
|
|
|
41
41
|
max,
|
|
42
42
|
min,
|
|
43
43
|
onchange,
|
|
44
|
+
onfocus,
|
|
45
|
+
onblur,
|
|
46
|
+
onkeydown,
|
|
47
|
+
onkeyup,
|
|
48
|
+
onkeypress,
|
|
44
49
|
leadingIcon,
|
|
45
50
|
trailingIcon,
|
|
46
51
|
...restProps
|
|
@@ -72,6 +77,7 @@
|
|
|
72
77
|
|
|
73
78
|
<CommonEditor
|
|
74
79
|
textValue={displayValue}
|
|
80
|
+
{style}
|
|
75
81
|
{suffix}
|
|
76
82
|
{prefix}
|
|
77
83
|
{readonly}
|
|
@@ -93,6 +99,12 @@
|
|
|
93
99
|
{allowNegative}
|
|
94
100
|
{max}
|
|
95
101
|
{min}
|
|
102
|
+
{onchange}
|
|
103
|
+
{onfocus}
|
|
104
|
+
{onblur}
|
|
105
|
+
{onkeydown}
|
|
106
|
+
{onkeyup}
|
|
107
|
+
{onkeypress}
|
|
96
108
|
{...input$}
|
|
97
109
|
/>
|
|
98
110
|
{/if}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Snippet } from 'svelte';
|
|
2
2
|
import type CommonFieldProps from "../common_editor/CommonFieldProps";
|
|
3
|
-
import type { KeyboardEvents } from "../
|
|
3
|
+
import type { KeyboardEvents } from "../events";
|
|
4
4
|
interface Props extends CommonFieldProps, KeyboardEvents {
|
|
5
5
|
value?: any;
|
|
6
6
|
precision?: number;
|
|
@@ -39,15 +39,15 @@
|
|
|
39
39
|
|
|
40
40
|
let editor: NumberInput | undefined = $state(undefined);
|
|
41
41
|
|
|
42
|
-
const
|
|
43
|
-
const
|
|
42
|
+
const fromClearable = $derived(!disabled && !readonly && fromValue != null);
|
|
43
|
+
const toClearable = $derived(!disabled && !readonly && toValue != null);
|
|
44
44
|
|
|
45
45
|
const cleanFrom = () => { fromValue = undefined; editor?.focus(); };
|
|
46
46
|
const cleanTo = () => { toValue = undefined; };
|
|
47
47
|
</script>
|
|
48
48
|
|
|
49
|
-
<CommonRangeEditor {compact} {disabled} {readonly} {error} {tooltip} {theme} {className} {style} {variant} {
|
|
50
|
-
{#snippet
|
|
49
|
+
<CommonRangeEditor {compact} {disabled} {readonly} {error} {tooltip} {theme} class={className} {style} {variant} {fromClearable} {toClearable} {cleanFrom} {cleanTo}>
|
|
50
|
+
{#snippet from()}
|
|
51
51
|
<NumberInput
|
|
52
52
|
bind:this={editor}
|
|
53
53
|
style="width: 100%; text-align: center"
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
max={toValue ?? undefined}
|
|
58
58
|
bind:value={fromValue}/>
|
|
59
59
|
{/snippet}
|
|
60
|
-
{#snippet
|
|
60
|
+
{#snippet to()}
|
|
61
61
|
<NumberInput
|
|
62
62
|
style="width: 100%; text-align: center"
|
|
63
63
|
{allowNegative}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import type PickerProps from "../common_editor/CommonPickerProps";
|
|
6
6
|
import {CommonPicker} from "../common_editor";
|
|
7
7
|
import CheckBox from "../checkbox";
|
|
8
|
-
import type {KeyboardEvents} from "../
|
|
8
|
+
import type {KeyboardEvents} from "../events";
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
interface Props extends PickerProps, KeyboardEvents {
|
|
@@ -16,7 +16,8 @@
|
|
|
16
16
|
keyField?: string;
|
|
17
17
|
textField?: string;
|
|
18
18
|
emptyText?: string;
|
|
19
|
-
|
|
19
|
+
/** 要渲染但禁用的选项 key 列表 */
|
|
20
|
+
disabledOptions?: Array<string>;
|
|
20
21
|
hideOptions?: Array<string>;
|
|
21
22
|
tagColor?: string;
|
|
22
23
|
tagVariant?: 'borderless' | 'border' | 'round';
|
|
@@ -30,7 +31,7 @@
|
|
|
30
31
|
variant,
|
|
31
32
|
compact,
|
|
32
33
|
disabled,
|
|
33
|
-
|
|
34
|
+
clearable,
|
|
34
35
|
readonly,
|
|
35
36
|
menu$height = 0,
|
|
36
37
|
value = $bindable(),
|
|
@@ -40,7 +41,7 @@
|
|
|
40
41
|
textField = "text",
|
|
41
42
|
placeholder,
|
|
42
43
|
emptyText,
|
|
43
|
-
|
|
44
|
+
disabledOptions = [],
|
|
44
45
|
hideOptions = [],
|
|
45
46
|
onchange,
|
|
46
47
|
onfocus,
|
|
@@ -49,7 +50,8 @@
|
|
|
49
50
|
tagVariant = 'border'
|
|
50
51
|
}: Props = $props();
|
|
51
52
|
|
|
52
|
-
|
|
53
|
+
|
|
54
|
+
export function focus() {
|
|
53
55
|
setTimeout(() => {
|
|
54
56
|
editor?.focus();
|
|
55
57
|
}, 50);
|
|
@@ -110,9 +112,7 @@
|
|
|
110
112
|
|
|
111
113
|
// 删除tag后确保获得焦点
|
|
112
114
|
if (!hasFocus) {
|
|
113
|
-
|
|
114
|
-
//editor?.focus();
|
|
115
|
-
}, 10);
|
|
115
|
+
//editor?.focus();
|
|
116
116
|
}
|
|
117
117
|
|
|
118
118
|
e.stopPropagation();
|
|
@@ -156,13 +156,13 @@
|
|
|
156
156
|
|
|
157
157
|
</script>
|
|
158
158
|
|
|
159
|
-
<CommonPicker {variant} {style} {compact} {tooltip} {error} {readonly} {disabled} {theme} {placeholder} {value} {
|
|
160
|
-
bind:isOpen {onblur} {onfocus} autoFit {input$style}>
|
|
159
|
+
<CommonPicker {variant} {style} {compact} {tooltip} {error} {readonly} {disabled} {theme} {placeholder} {value} {clearable} {clear}
|
|
160
|
+
bind:expanded={isOpen} {onblur} {onfocus} autoFit {input$style}>
|
|
161
161
|
<div class="option-field">
|
|
162
162
|
<div class="options-editor" onclick={openPopupLayer} onkeydown={handleEditorKeyDown} tabindex="0" role="button" aria-haspopup="listbox" aria-expanded={isOpen}>
|
|
163
163
|
{#if selectedList.length > 0 }
|
|
164
164
|
{#each selectedList as code}
|
|
165
|
-
<Tag style="flex-shrink: 0" size={compact ? 'small' : '
|
|
165
|
+
<Tag style="flex-shrink: 0" size={compact ? 'small' : 'medium'} color={tagColor} variant={tagVariant}
|
|
166
166
|
text={getOptionItem(code)}
|
|
167
167
|
removable={!readonly && !disabled && !isOpen} ondelete={removeOption(code)}/>
|
|
168
168
|
{/each}
|
|
@@ -177,11 +177,11 @@
|
|
|
177
177
|
{/if}
|
|
178
178
|
</div>
|
|
179
179
|
</div>
|
|
180
|
-
{#snippet
|
|
180
|
+
{#snippet popup()}
|
|
181
181
|
<div class="options-popover" style={mh} role="listbox" aria-multiselectable="true">
|
|
182
182
|
{#each options as op}
|
|
183
183
|
{#if hideOptions.indexOf(op[keyField]) < 0}
|
|
184
|
-
{@const itemDisabled =
|
|
184
|
+
{@const itemDisabled = disabledOptions.indexOf(op[keyField]) > -1}
|
|
185
185
|
<div class="option-item" class:disabled={itemDisabled} onclick={itemDisabled ? null : toggleOption(op[keyField])}
|
|
186
186
|
onkeydown={handleOptionKeyDown(op[keyField], itemDisabled)}
|
|
187
187
|
role="option" tabindex={itemDisabled ? -1 : 0}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type PickerProps from "../common_editor/CommonPickerProps";
|
|
2
|
-
import type { KeyboardEvents } from "../
|
|
2
|
+
import type { KeyboardEvents } from "../events";
|
|
3
3
|
interface Props extends PickerProps, KeyboardEvents {
|
|
4
4
|
menu$height?: number;
|
|
5
5
|
value?: string;
|
|
@@ -8,7 +8,8 @@ interface Props extends PickerProps, KeyboardEvents {
|
|
|
8
8
|
keyField?: string;
|
|
9
9
|
textField?: string;
|
|
10
10
|
emptyText?: string;
|
|
11
|
-
|
|
11
|
+
/** 要渲染但禁用的选项 key 列表 */
|
|
12
|
+
disabledOptions?: Array<string>;
|
|
12
13
|
hideOptions?: Array<string>;
|
|
13
14
|
tagColor?: string;
|
|
14
15
|
tagVariant?: 'borderless' | 'border' | 'round';
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# OptionsMultiSelect
|
|
2
2
|
|
|
3
|
+
> **Renamed in 5.1.0**: this document uses the names from the [API Naming Guide](../../../docs/NAMING.md); the old names `disableOptions` were removed in 5.1.0 (no compatibility aliases are kept).
|
|
4
|
+
|
|
3
5
|
A multi-selection dropdown picker. Selected items render inline as removable tags; the dropdown shows a checkbox per option. The bound `value` is a **delimited string** (default `;`), not an array — convenient for storing straight into a single text column.
|
|
4
6
|
|
|
5
7
|
> This is the **multi-select** picker. For single-select see [OptionsSelect](../options_select/README.md); for cascading (tree-shaped) data see [CascadeOptionSelect](../cascade_options_select/README.md).
|
|
@@ -12,7 +14,7 @@ A multi-selection dropdown picker. Selected items render inline as removable tag
|
|
|
12
14
|
- **Delimited-string `value`** — `"A;B;C"`-style. Set `delimiter` to use a different separator (`,` / `|` / etc.).
|
|
13
15
|
- **`onchange` fires the array** of selected keys, regardless of the storage delimiter. So you always get a clean `Array<string>` to work with.
|
|
14
16
|
- **Custom field mapping** via `keyField` / `textField`.
|
|
15
|
-
- **Hide or disable individual options** via `hideOptions` / `
|
|
17
|
+
- **Hide or disable individual options** via `hideOptions` / `disabledOptions`.
|
|
16
18
|
- **Tag styling** — `tagVariant` (`borderless` / `border` / `round`) and `tagColor` (`"0"` … `"12"`, mapped to the `--uniface-tag-g{n}-color` tokens).
|
|
17
19
|
- **Compact mode** — switches tags to their small size variant for table cells and dense forms.
|
|
18
20
|
- **Read-only / disabled** modes — tags render without the × buttons; dropdown is suppressed.
|
|
@@ -67,7 +69,7 @@ import OptionsMultiSelect from "@ticatec/uniface-element/OptionsMultiSelect";
|
|
|
67
69
|
| `delimiter` | `string` | `";"` | Separator for joining keys in `value`. |
|
|
68
70
|
| `placeholder` | `string` | — | Shown when nothing is selected. |
|
|
69
71
|
| `emptyText` | `string` | — | Shown when nothing is selected, in place of the placeholder. Useful for "All items" or "No filter" labels in read-only mode. |
|
|
70
|
-
| `
|
|
72
|
+
| `disabledOptions` | `Array<string>` | `[]` | Keys rendered but unclickable (dimmed checkbox). |
|
|
71
73
|
| `hideOptions` | `Array<string>` | `[]` | Keys not rendered at all. |
|
|
72
74
|
| `tagColor` | `string` | — | Maps to the `--uniface-tag-g{n}-color` token family. Accepts `"0"` … `"12"`. |
|
|
73
75
|
| `tagVariant` | `'borderless' \| 'border' \| 'round'` | `'border'` | Visual style of each tag. |
|
|
@@ -164,7 +166,7 @@ Use `,` instead of `;` for CSV-style storage:
|
|
|
164
166
|
<OptionsMultiSelect
|
|
165
167
|
{options}
|
|
166
168
|
bind:value
|
|
167
|
-
|
|
169
|
+
disabledOptions={["ARCHIVED"]}
|
|
168
170
|
hideOptions={["DRAFT"]}
|
|
169
171
|
placeholder="Visible statuses"
|
|
170
172
|
/>
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# OptionsMultiSelect
|
|
2
2
|
|
|
3
|
+
> **5.1.0 重命名**:本文使用 [API 命名规范](../../../docs/NAMING_CN.md) 中的名字;旧名 `disableOptions` 已在 5.1.0 移除(5.1.0 不保留兼容别名)。
|
|
4
|
+
|
|
3
5
|
多选下拉选择器。选中的项以内置可删除 tag 的形式行内展示;下拉里每个选项是一个 checkbox。绑定的 `value` 是**分隔符拼接的字符串**(默认 `;`),不是数组 —— 适合直接存进一个文本列。
|
|
4
6
|
|
|
5
7
|
> 这是**多选**组件。单选见 [OptionsSelect](../options_select/README_CN.md);树形级联见 [CascadeOptionSelect](../cascade_options_select/README_CN.md)。
|
|
@@ -12,7 +14,7 @@
|
|
|
12
14
|
- **`value` 是分隔字符串** —— `"A;B;C"` 这种形式。改 `delimiter` 可以换分隔符(`,` / `|` 等)。
|
|
13
15
|
- **`onchange` 拿到的是数组** —— 不管存储用什么分隔符,回调始终给你干净的 `Array<string>`。
|
|
14
16
|
- **自定义字段映射**:`keyField` / `textField`。
|
|
15
|
-
- **隐藏 / 禁用单个选项**:`hideOptions` / `
|
|
17
|
+
- **隐藏 / 禁用单个选项**:`hideOptions` / `disabledOptions`。
|
|
16
18
|
- **Tag 样式**:`tagVariant`(`borderless` / `border` / `round`)+ `tagColor`(`"0"` … `"12"`,对应 `--uniface-tag-g{n}-color` 这组 token)。
|
|
17
19
|
- **紧凑模式** —— 切到 tag 的小尺寸,适合表格单元格和密集表单。
|
|
18
20
|
- **只读 / 禁用** —— tag 不显示 ×;下拉不弹。
|
|
@@ -67,7 +69,7 @@ import OptionsMultiSelect from "@ticatec/uniface-element/OptionsMultiSelect";
|
|
|
67
69
|
| `delimiter` | `string` | `";"` | `value` 拼接用的分隔符。 |
|
|
68
70
|
| `placeholder` | `string` | — | 没有选中时输入框的占位文字。 |
|
|
69
71
|
| `emptyText` | `string` | — | 没有选中时**替换** placeholder 显示的文字。常用于只读模式下显示"全部"或"不限"。 |
|
|
70
|
-
| `
|
|
72
|
+
| `disabledOptions` | `Array<string>` | `[]` | 要渲染但禁用(checkbox 变灰)的 keys。 |
|
|
71
73
|
| `hideOptions` | `Array<string>` | `[]` | 完全不渲染的 keys。 |
|
|
72
74
|
| `tagColor` | `string` | — | 对应 `--uniface-tag-g{n}-color` 这组 token。可填 `"0"` … `"12"`。 |
|
|
73
75
|
| `tagVariant` | `'borderless' \| 'border' \| 'round'` | `'border'` | tag 的视觉风格。 |
|
|
@@ -155,7 +157,7 @@ import OptionsMultiSelect from "@ticatec/uniface-element/OptionsMultiSelect";
|
|
|
155
157
|
<OptionsMultiSelect
|
|
156
158
|
{options}
|
|
157
159
|
bind:value
|
|
158
|
-
|
|
160
|
+
disabledOptions={["ARCHIVED"]}
|
|
159
161
|
hideOptions={["DRAFT"]}
|
|
160
162
|
placeholder="可见状态"
|
|
161
163
|
/>
|