@ticatec/uniface-element 5.0.5 → 5.1.1
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 +4 -3
- package/README_CN.md +4 -3
- 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/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 +15 -12
- 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 -15
- 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 +15 -14
- package/dist/data_table/DataTable.svelte.d.ts +2 -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/parts/ActionCell.svelte +3 -3
- package/dist/data_table/parts/ActionCell.svelte.d.ts +1 -1
- package/dist/data_table/parts/ActionsRow.svelte +7 -5
- package/dist/data_table/parts/ContentPanel.svelte +14 -14
- package/dist/data_table/parts/ContentPanel.svelte.d.ts +5 -5
- package/dist/data_table/parts/FixedColumnsPanel.svelte +15 -15
- package/dist/data_table/parts/FixedColumnsPanel.svelte.d.ts +4 -4
- package/dist/data_table/parts/FixedHeaderPanel.svelte +13 -13
- 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/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 +15 -5
- 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 +17 -13
- 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 +5 -1
- package/dist/i18nRes/i18nRes.js +5 -1
- 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/BeforeClose.d.ts +4 -0
- package/dist/overlay/dialog/BeforeClose.js +1 -0
- package/dist/overlay/dialog/CommonDialog.svelte +16 -12
- 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/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/tooltip/README.md +16 -1
- package/dist/overlay/tooltip/README_CN.md +16 -1
- package/dist/overlay/tooltip/Tooltip.svelte +94 -19
- 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 +364 -0
- package/docs/NAMING_CN.md +364 -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/overlay/dialog/DialogActions.d.ts +0 -16
- package/dist/overlay/dialog/DialogActions.js +0 -1
- package/dist/overlay/dialog/DialogCloseConfirm.d.ts +0 -1
- package/dist/overlay/dialog/DialogCloseConfirm.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,11 +1,12 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type OnRowClick, type TableOptions } from "./TableOptions";
|
|
2
2
|
import type Column from "./Column";
|
|
3
3
|
interface Props {
|
|
4
4
|
list: Array<any>;
|
|
5
5
|
columns: Array<Column>;
|
|
6
6
|
autoScroll?: boolean;
|
|
7
7
|
scrollInterval?: number;
|
|
8
|
-
|
|
8
|
+
/** 行点击回调 */
|
|
9
|
+
onRowClick?: OnRowClick | null;
|
|
9
10
|
options?: TableOptions;
|
|
10
11
|
style?: string;
|
|
11
12
|
class?: string;
|
|
@@ -13,7 +14,7 @@ interface Props {
|
|
|
13
14
|
onblur?: (event: FocusEvent) => void;
|
|
14
15
|
}
|
|
15
16
|
declare const ConciseListTable: import("svelte").Component<Props, {
|
|
16
|
-
|
|
17
|
+
focus: () => void;
|
|
17
18
|
}, "">;
|
|
18
19
|
type ConciseListTable = ReturnType<typeof ConciseListTable>;
|
|
19
20
|
export default ConciseListTable;
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
let text = $derived(column.formatter ? column.formatter(data[column.field]) : (data[column.field] ?? ''));
|
|
17
17
|
// Safe by default: HTML rendering is opt-in only (renderHTML: true), matching the
|
|
18
18
|
// semantics of the data_table component's DataColumn#renderHTML flag.
|
|
19
|
-
let renderAsHtml = $derived(
|
|
19
|
+
let renderAsHtml = $derived(column.renderHTML === true);
|
|
20
20
|
</script>
|
|
21
21
|
|
|
22
22
|
<div class="data-cell col_{idx}" role="cell">
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# ConciseListTable
|
|
2
2
|
|
|
3
|
+
> **Renamed in 5.1.0**: this document uses the names from the [API Naming Guide](../../../docs/NAMING.md); the old names `RowClickHandler`, `rowClickHandler`, `setFocus` were removed in 5.1.0 (no compatibility aliases are kept).
|
|
4
|
+
|
|
3
5
|
A lightweight single-purpose table for **display-only** data: fixed columns, optional marquee auto-scroll, alternating row styling. No sorting, no resizing, no selection — use the full `DataTable` when you need those.
|
|
4
6
|
|
|
5
7
|
> Svelte 5 component. The table fills its parent (100% × 100%); the parent must have an explicit height.
|
|
@@ -15,7 +17,7 @@ npm install @ticatec/uniface-element
|
|
|
15
17
|
```svelte
|
|
16
18
|
<script lang="ts">
|
|
17
19
|
import ConciseListTable from '@ticatec/uniface-element/ConciseDataTable';
|
|
18
|
-
import type { Column, TableOptions,
|
|
20
|
+
import type { Column, TableOptions, OnRowClick } from '@ticatec/uniface-element/ConciseDataTable';
|
|
19
21
|
</script>
|
|
20
22
|
```
|
|
21
23
|
|
|
@@ -28,7 +30,7 @@ npm install @ticatec/uniface-element
|
|
|
28
30
|
| `options` | `TableOptions` | `{}` | Visual options (heights, row colors). Defaults: `headerHeight=36`, `rowHeight=32` |
|
|
29
31
|
| `autoScroll` | `boolean` | `false` | Continuous marquee scroll. When on, the list is **rendered 3 times back-to-back** and animated with a CSS `translateY` keyframe |
|
|
30
32
|
| `scrollInterval` | `number` | `2000` | Milliseconds each row stays visible (total animation duration = `scrollInterval × list.length`) |
|
|
31
|
-
| `
|
|
33
|
+
| `onRowClick` | `(row: any) => void \| null` | `null` | Row click callback |
|
|
32
34
|
| `style` | `string` | `''` | Inline CSS on the root |
|
|
33
35
|
| `class` | `string` | `''` | Extra class on the root |
|
|
34
36
|
| `onfocus` | `(e: FocusEvent) => void` | `undefined` | Forwarded from the root via `focusin` |
|
|
@@ -119,11 +121,11 @@ Leftover space is split 1:2 between the two weighted columns; the 100-px status
|
|
|
119
121
|
{ product: 'Mouse', desc: 'Wireless', status: 'out' },
|
|
120
122
|
];
|
|
121
123
|
|
|
122
|
-
const
|
|
124
|
+
const onRowClick = (row: any) => console.log('clicked', row);
|
|
123
125
|
</script>
|
|
124
126
|
|
|
125
127
|
<div style="height: 400px;">
|
|
126
|
-
<ConciseListTable {list: products} {columns} {options} {
|
|
128
|
+
<ConciseListTable {list: products} {columns} {options} {onRowClick} />
|
|
127
129
|
</div>
|
|
128
130
|
```
|
|
129
131
|
|
|
@@ -155,7 +157,7 @@ For one-off theming prefer passing `options` (it generates scoped CSS with a uni
|
|
|
155
157
|
|
|
156
158
|
## Imperative API
|
|
157
159
|
|
|
158
|
-
`
|
|
160
|
+
`focus()` is exported from the instance — call via `bind:this`:
|
|
159
161
|
|
|
160
162
|
```svelte
|
|
161
163
|
<script lang="ts">
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# ConciseListTable 简洁数据表
|
|
2
2
|
|
|
3
|
+
> **5.1.0 重命名**:本文使用 [API 命名规范](../../../docs/NAMING_CN.md) 中的名字;旧名 `RowClickHandler`, `rowClickHandler`, `setFocus` 已在 5.1.0 移除(5.1.0 不保留兼容别名)。
|
|
4
|
+
|
|
3
5
|
**只用于展示** 的轻量表格:固定列、可选跑马灯自动滚动、交替行配色。不支持排序、调整列宽、选择 —— 那些功能请用完整的 `DataTable`。
|
|
4
6
|
|
|
5
7
|
> Svelte 5 组件。表格填满父容器(100% × 100%),父容器必须给出明确高度。
|
|
@@ -15,7 +17,7 @@ npm install @ticatec/uniface-element
|
|
|
15
17
|
```svelte
|
|
16
18
|
<script lang="ts">
|
|
17
19
|
import ConciseListTable from '@ticatec/uniface-element/ConciseDataTable';
|
|
18
|
-
import type { Column, TableOptions,
|
|
20
|
+
import type { Column, TableOptions, OnRowClick } from '@ticatec/uniface-element/ConciseDataTable';
|
|
19
21
|
</script>
|
|
20
22
|
```
|
|
21
23
|
|
|
@@ -28,7 +30,7 @@ npm install @ticatec/uniface-element
|
|
|
28
30
|
| `options` | `TableOptions` | `{}` | 视觉选项(行高、配色等)。缺省 `headerHeight=36`、`rowHeight=32` |
|
|
29
31
|
| `autoScroll` | `boolean` | `false` | 跑马灯自动滚动。开启后会把 list **连续渲染 3 次**,用 CSS `translateY` 关键帧无缝循环 |
|
|
30
32
|
| `scrollInterval` | `number` | `2000` | 每行停留的毫秒数(动画总时长 = `scrollInterval × list.length`) |
|
|
31
|
-
| `
|
|
33
|
+
| `onRowClick` | `(row: any) => void \| null` | `null` | 行点击回调 |
|
|
32
34
|
| `style` | `string` | `''` | 根节点内联 CSS |
|
|
33
35
|
| `class` | `string` | `''` | 根节点附加 class |
|
|
34
36
|
| `onfocus` | `(e: FocusEvent) => void` | `undefined` | 通过 `focusin` 转发 |
|
|
@@ -119,11 +121,11 @@ interface TableOptions {
|
|
|
119
121
|
{ product: '鼠标', desc: '无线', status: 'out' },
|
|
120
122
|
];
|
|
121
123
|
|
|
122
|
-
const
|
|
124
|
+
const onRowClick = (row: any) => console.log('clicked', row);
|
|
123
125
|
</script>
|
|
124
126
|
|
|
125
127
|
<div style="height: 400px;">
|
|
126
|
-
<ConciseListTable list={products} {columns} {options} {
|
|
128
|
+
<ConciseListTable list={products} {columns} {options} {onRowClick} />
|
|
127
129
|
</div>
|
|
128
130
|
```
|
|
129
131
|
|
|
@@ -155,7 +157,7 @@ SCSS 中消费的 CSS 变量(在根或任意祖先覆盖):
|
|
|
155
157
|
|
|
156
158
|
## 命令式 API
|
|
157
159
|
|
|
158
|
-
`
|
|
160
|
+
`focus()` 暴露在组件实例上,通过 `bind:this` 调用:
|
|
159
161
|
|
|
160
162
|
```svelte
|
|
161
163
|
<script lang="ts">
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import {tick, onDestroy, untrack} from "svelte";
|
|
3
3
|
import SearchBox from "../../form/search_box"
|
|
4
|
-
import type {
|
|
4
|
+
import type {FilterFn} from "../../types";
|
|
5
5
|
import type {ListLazyLoader} from "../../types";
|
|
6
6
|
import CheckBox from "../../form/checkbox/CheckBox.svelte";
|
|
7
7
|
import loading from "../../assets/loading.gif"
|
|
@@ -12,21 +12,18 @@
|
|
|
12
12
|
|
|
13
13
|
interface Props {
|
|
14
14
|
readonly?: boolean;
|
|
15
|
-
style?: string
|
|
15
|
+
style?: string;
|
|
16
16
|
list?: Array<any>;
|
|
17
17
|
itemRender?: any;
|
|
18
18
|
selectMode?: 'none' | 'single' | 'multiple';
|
|
19
|
-
filter?:
|
|
19
|
+
filter?: FilterFn | null;
|
|
20
20
|
lazyLoader?: ListLazyLoader | null;
|
|
21
21
|
selectedItem?: any;
|
|
22
|
-
|
|
22
|
+
/** 多选模式下的已选项 */
|
|
23
|
+
selectedItems?: Array<any>;
|
|
23
24
|
class?: string;
|
|
24
25
|
item$props?: any;
|
|
25
26
|
onchange?: OnSelectChange;
|
|
26
|
-
/**
|
|
27
|
-
* @deprecated 请使用 onchange;仍受支持以兼容旧调用。
|
|
28
|
-
*/
|
|
29
|
-
onSelectChange?: OnSelectChange;
|
|
30
27
|
onItemDblClick?: OnItemDblClick;
|
|
31
28
|
onItemClick?: OnItemClick;
|
|
32
29
|
title?: string;
|
|
@@ -46,11 +43,10 @@
|
|
|
46
43
|
filter,
|
|
47
44
|
lazyLoader,
|
|
48
45
|
selectedItem,
|
|
49
|
-
|
|
46
|
+
selectedItems = $bindable([]),
|
|
50
47
|
class: className,
|
|
51
48
|
item$props,
|
|
52
49
|
onchange,
|
|
53
|
-
onSelectChange,
|
|
54
50
|
onItemDblClick,
|
|
55
51
|
onItemClick,
|
|
56
52
|
title,
|
|
@@ -64,7 +60,7 @@
|
|
|
64
60
|
// External values are synchronized by the effects below. Neutral initial values
|
|
65
61
|
// avoid implying that these props are intentionally captured only once.
|
|
66
62
|
let localSelectedItem = $state<any>(null);
|
|
67
|
-
let localSelectedList = $state(
|
|
63
|
+
let localSelectedList = $state<Array<any>>([]);
|
|
68
64
|
let localFilterText = $state('');
|
|
69
65
|
|
|
70
66
|
let hasMore = $state(false);
|
|
@@ -81,18 +77,15 @@
|
|
|
81
77
|
});
|
|
82
78
|
|
|
83
79
|
$effect(() => {
|
|
84
|
-
localSelectedList =
|
|
80
|
+
localSelectedList = selectedItems ?? [];
|
|
85
81
|
});
|
|
86
82
|
|
|
87
83
|
$effect(() => {
|
|
88
84
|
localFilterText = filterText ?? '';
|
|
89
85
|
});
|
|
90
86
|
|
|
91
|
-
// onchange is the canonical name; onSelectChange is kept as a deprecated
|
|
92
|
-
// alias and fired alongside it for backward compatibility.
|
|
93
87
|
const notifySelectChange = (item: any) => {
|
|
94
88
|
onchange?.(item);
|
|
95
|
-
onSelectChange?.(item);
|
|
96
89
|
};
|
|
97
90
|
|
|
98
91
|
const handleItemClick = (item: any) => (e: MouseEvent) => {
|
|
@@ -241,6 +234,9 @@
|
|
|
241
234
|
localSelectedList.splice(idx, 1);
|
|
242
235
|
localSelectedList = [...localSelectedList];
|
|
243
236
|
}
|
|
237
|
+
// Write the selection back through the two-way binding (regression: bind:selectedList
|
|
238
|
+
// never received updates, which left Transfer's move buttons dead).
|
|
239
|
+
selectedItems = localSelectedList;
|
|
244
240
|
}
|
|
245
241
|
|
|
246
242
|
// untrack: lazyLoad() reads pageNo/isBusy/localFilterText synchronously
|
|
@@ -1,25 +1,22 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { FilterFn } from "../../types";
|
|
2
2
|
import type { ListLazyLoader } from "../../types";
|
|
3
3
|
type OnSelectChange = (item: any) => void;
|
|
4
4
|
type OnItemDblClick = (item: any) => void;
|
|
5
5
|
type OnItemClick = (item: any) => void;
|
|
6
6
|
interface Props {
|
|
7
7
|
readonly?: boolean;
|
|
8
|
-
style?: string
|
|
8
|
+
style?: string;
|
|
9
9
|
list?: Array<any>;
|
|
10
10
|
itemRender?: any;
|
|
11
11
|
selectMode?: 'none' | 'single' | 'multiple';
|
|
12
|
-
filter?:
|
|
12
|
+
filter?: FilterFn | null;
|
|
13
13
|
lazyLoader?: ListLazyLoader | null;
|
|
14
14
|
selectedItem?: any;
|
|
15
|
-
|
|
15
|
+
/** 多选模式下的已选项 */
|
|
16
|
+
selectedItems?: Array<any>;
|
|
16
17
|
class?: string;
|
|
17
18
|
item$props?: any;
|
|
18
19
|
onchange?: OnSelectChange;
|
|
19
|
-
/**
|
|
20
|
-
* @deprecated 请使用 onchange;仍受支持以兼容旧调用。
|
|
21
|
-
*/
|
|
22
|
-
onSelectChange?: OnSelectChange;
|
|
23
20
|
onItemDblClick?: OnItemDblClick;
|
|
24
21
|
onItemClick?: OnItemClick;
|
|
25
22
|
title?: string;
|
|
@@ -29,6 +26,6 @@ interface Props {
|
|
|
29
26
|
footer?: any;
|
|
30
27
|
loadMoreIndicator?: any;
|
|
31
28
|
}
|
|
32
|
-
declare const ListBox: import("svelte").Component<Props, {}, "
|
|
29
|
+
declare const ListBox: import("svelte").Component<Props, {}, "selectedItems">;
|
|
33
30
|
type ListBox = ReturnType<typeof ListBox>;
|
|
34
31
|
export default ListBox;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# ListBox
|
|
2
2
|
|
|
3
|
+
> **Renamed in 5.1.0**: this document uses the names from the [API Naming Guide](../../../docs/NAMING.md); the old names `onSelectChange`, `selectedList` were removed in 5.1.0 (no compatibility aliases are kept).
|
|
4
|
+
|
|
3
5
|
A list component with optional header / footer snippets, built-in search, lazy loading, and single / multiple selection modes.
|
|
4
6
|
|
|
5
7
|
> Svelte 5 component. Custom header/footer/load-more content is passed as **Snippets** (`header`, `footer`, `loadMoreIndicator`).
|
|
@@ -28,7 +30,7 @@ npm install @ticatec/uniface-element
|
|
|
28
30
|
| `item$props` | `any` | `undefined` | Extra props spread onto every `itemRender` instance |
|
|
29
31
|
| `selectMode` | `'none' \| 'single' \| 'multiple'` | `'none'` | Selection behavior. `'multiple'` renders a checkbox per row |
|
|
30
32
|
| `selectedItem` | `any` | `undefined` | Currently selected item in single mode (one-way in; component mirrors into local state) |
|
|
31
|
-
| `
|
|
33
|
+
| `selectedItems` | `Array<any>` | `[]` | Selected items in multiple mode. **Bindable** — use `bind:selectedItems` |
|
|
32
34
|
| `readonly` | `boolean` | `false` | Disables selection and hides the search box |
|
|
33
35
|
| `filter` | `FunFilter \| null` | `null` | If set, a search box appears at the top |
|
|
34
36
|
| `lazyLoader` | `ListLazyLoader \| null` | `null` | If set, replaces `list` with a paginated source. Search box appears and infinite-scroll is wired up |
|
|
@@ -40,7 +42,7 @@ npm install @ticatec/uniface-element
|
|
|
40
42
|
| `header` | `Snippet` | `undefined` | Custom header content (overrides `title`) |
|
|
41
43
|
| `footer` | `Snippet` | `undefined` | Custom footer content |
|
|
42
44
|
| `loadMoreIndicator` | `Snippet` | `undefined` | Custom "loading more" indicator shown at the bottom while `hasMore` |
|
|
43
|
-
| `
|
|
45
|
+
| `onchange` | `(item: any) => void` | `undefined` | Single-mode: fires when the selected item changes (also fires with `null` when filter resets selection) |
|
|
44
46
|
| `onItemDblClick` | `(item: any) => void` | `undefined` | Single-mode only |
|
|
45
47
|
| `onItemClick` | `(item: any) => void` | `undefined` | Non-single modes |
|
|
46
48
|
|
|
@@ -61,8 +63,8 @@ interface LoadResult {
|
|
|
61
63
|
## Selection model
|
|
62
64
|
|
|
63
65
|
- **`selectMode='none'`** — no selection visuals, no callbacks. `onItemClick` still fires.
|
|
64
|
-
- **`selectMode='single'`** — click an item to select; `
|
|
65
|
-
- **`selectMode='multiple'`** — checkbox per row; the checked set is stored in `
|
|
66
|
+
- **`selectMode='single'`** — click an item to select; `onchange(item)` fires. `selectedItem` is mirrored into local state on prop change.
|
|
67
|
+
- **`selectMode='multiple'`** — checkbox per row; the checked set is stored in `selectedItems` (use `bind:selectedItems`). Clicking the row label toggles the same checkbox.
|
|
66
68
|
|
|
67
69
|
## Examples
|
|
68
70
|
|
|
@@ -82,7 +84,7 @@ interface LoadResult {
|
|
|
82
84
|
item.name.toLowerCase().includes(text.toLowerCase()) ||
|
|
83
85
|
item.email.toLowerCase().includes(text.toLowerCase());
|
|
84
86
|
|
|
85
|
-
const
|
|
87
|
+
const onchange = (item: any) => console.log('selected', item);
|
|
86
88
|
</script>
|
|
87
89
|
|
|
88
90
|
<ListBox
|
|
@@ -92,19 +94,19 @@ interface LoadResult {
|
|
|
92
94
|
{filter}
|
|
93
95
|
title="Users"
|
|
94
96
|
round
|
|
95
|
-
|
|
97
|
+
onchange={onchange}
|
|
96
98
|
style="height: 400px;"
|
|
97
99
|
/>
|
|
98
100
|
```
|
|
99
101
|
|
|
100
|
-
### Multiple-select with `bind:
|
|
102
|
+
### Multiple-select with `bind:selectedItems`
|
|
101
103
|
|
|
102
104
|
```svelte
|
|
103
105
|
<script lang="ts">
|
|
104
106
|
let selected: any[] = [];
|
|
105
107
|
</script>
|
|
106
108
|
|
|
107
|
-
<ListBox list={users} itemRender={UserItem} selectMode="multiple" bind:
|
|
109
|
+
<ListBox list={users} itemRender={UserItem} selectMode="multiple" bind:selectedItems={selected} />
|
|
108
110
|
|
|
109
111
|
<button disabled={selected.length === 0} onclick={() => console.log(selected)}>OK</button>
|
|
110
112
|
```
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# ListBox 列表框
|
|
2
2
|
|
|
3
|
+
> **5.1.0 重命名**:本文使用 [API 命名规范](../../../docs/NAMING_CN.md) 中的名字;旧名 `onSelectChange`, `selectedList` 已在 5.1.0 移除(5.1.0 不保留兼容别名)。
|
|
4
|
+
|
|
3
5
|
列表组件,可选 header / footer snippet、内置搜索框、懒加载、单选 / 多选。
|
|
4
6
|
|
|
5
7
|
> Svelte 5 组件。header / footer / 加载更多 通过 **Snippet** 传入(`header`、`footer`、`loadMoreIndicator`)。
|
|
@@ -28,7 +30,7 @@ npm install @ticatec/uniface-element
|
|
|
28
30
|
| `item$props` | `any` | `undefined` | 额外 props,会展开传给每个 `itemRender` 实例 |
|
|
29
31
|
| `selectMode` | `'none' \| 'single' \| 'multiple'` | `'none'` | 选择行为。`'multiple'` 会给每行加一个 checkbox |
|
|
30
32
|
| `selectedItem` | `any` | `undefined` | 单选模式下当前选中的 item(单向输入;组件会镜像到内部状态) |
|
|
31
|
-
| `
|
|
33
|
+
| `selectedItems` | `Array<any>` | `[]` | 多选模式下选中的 items。**可绑定** —— 用 `bind:selectedItems` |
|
|
32
34
|
| `readonly` | `boolean` | `false` | 禁用选择,隐藏搜索框 |
|
|
33
35
|
| `filter` | `FunFilter \| null` | `null` | 设置后顶部会出现搜索框 |
|
|
34
36
|
| `lazyLoader` | `ListLazyLoader \| null` | `null` | 设置后用分页数据源代替 `list`,自动出现搜索框 + 滚动到底加载下一页 |
|
|
@@ -40,7 +42,7 @@ npm install @ticatec/uniface-element
|
|
|
40
42
|
| `header` | `Snippet` | `undefined` | 自定义 header(覆盖 `title`) |
|
|
41
43
|
| `footer` | `Snippet` | `undefined` | 自定义 footer |
|
|
42
44
|
| `loadMoreIndicator` | `Snippet` | `undefined` | 自定义"加载更多"指示器,`hasMore` 时显示在底部 |
|
|
43
|
-
| `
|
|
45
|
+
| `onchange` | `(item: any) => void` | `undefined` | 单选模式:选中变化时触发(过滤重置时也会以 `null` 触发一次) |
|
|
44
46
|
| `onItemDblClick` | `(item: any) => void` | `undefined` | 仅单选模式 |
|
|
45
47
|
| `onItemClick` | `(item: any) => void` | `undefined` | 仅非 single 模式 |
|
|
46
48
|
|
|
@@ -61,8 +63,8 @@ interface LoadResult {
|
|
|
61
63
|
## 选择模型
|
|
62
64
|
|
|
63
65
|
- **`selectMode='none'`** —— 没有选择视觉,没有回调。`onItemClick` 仍会触发。
|
|
64
|
-
- **`selectMode='single'`** —— 点击 item 选中,触发 `
|
|
65
|
-
- **`selectMode='multiple'`** —— 每行一个 checkbox;选中集合存在 `
|
|
66
|
+
- **`selectMode='single'`** —— 点击 item 选中,触发 `onchange(item)`。`selectedItem` 变化时会镜像到内部状态。
|
|
67
|
+
- **`selectMode='multiple'`** —— 每行一个 checkbox;选中集合存在 `selectedItems`(用 `bind:selectedItems`)。点行标签也会切换同一个 checkbox。
|
|
66
68
|
|
|
67
69
|
## 示例
|
|
68
70
|
|
|
@@ -82,7 +84,7 @@ interface LoadResult {
|
|
|
82
84
|
item.name.toLowerCase().includes(text.toLowerCase()) ||
|
|
83
85
|
item.email.toLowerCase().includes(text.toLowerCase());
|
|
84
86
|
|
|
85
|
-
const
|
|
87
|
+
const onchange = (item: any) => console.log('selected', item);
|
|
86
88
|
</script>
|
|
87
89
|
|
|
88
90
|
<ListBox
|
|
@@ -92,19 +94,19 @@ interface LoadResult {
|
|
|
92
94
|
{filter}
|
|
93
95
|
title="Users"
|
|
94
96
|
round
|
|
95
|
-
{
|
|
97
|
+
{onchange}
|
|
96
98
|
style="height: 400px;"
|
|
97
99
|
/>
|
|
98
100
|
```
|
|
99
101
|
|
|
100
|
-
### 多选 + `bind:
|
|
102
|
+
### 多选 + `bind:selectedItems`
|
|
101
103
|
|
|
102
104
|
```svelte
|
|
103
105
|
<script lang="ts">
|
|
104
106
|
let selected: any[] = [];
|
|
105
107
|
</script>
|
|
106
108
|
|
|
107
|
-
<ListBox list={users} itemRender={UserItem} selectMode="multiple" bind:
|
|
109
|
+
<ListBox list={users} itemRender={UserItem} selectMode="multiple" bind:selectedItems={selected} />
|
|
108
110
|
|
|
109
111
|
<button disabled={selected.length === 0} onclick={() => console.log(selected)}>OK</button>
|
|
110
112
|
```
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import ListBox from "./ListBox.svelte";
|
|
2
|
-
import type { ListLazyLoader, LoadResult,
|
|
3
|
-
import type { LazyLoader } from "../tree_view";
|
|
2
|
+
import type { ListLazyLoader, LoadResult, FilterFn } from "../../types";
|
|
4
3
|
export default ListBox;
|
|
5
|
-
export type { ListLazyLoader,
|
|
4
|
+
export type { ListLazyLoader, FilterFn, LoadResult };
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# TreeView
|
|
2
2
|
|
|
3
|
+
> **Renamed in 5.1.0**: this document uses the names from the [API Naming Guide](../../../docs/NAMING.md); the old names `onContextMenu` were removed in 5.1.0 (no compatibility aliases are kept).
|
|
4
|
+
|
|
3
5
|
A hierarchical tree component for displaying nested or flat hierarchical data (backed by `HierarchyTree`), with support for custom icons (folder open/close, file-type badges), lazy loading, selection binding, and context menus.
|
|
4
6
|
|
|
5
7
|
## Features
|
|
@@ -9,7 +11,7 @@ A hierarchical tree component for displaying nested or flat hierarchical data (b
|
|
|
9
11
|
- **Expansion control**: `defaultExpandDepth` sets the initial expand depth; clicking the chevron toggles a branch.
|
|
10
12
|
- **Two-way selection binding**: `bind:activeNode` reactively tracks the selected node.
|
|
11
13
|
- **Async lazy loading**: `lazyLoader` fetches children on demand and shows a loading icon while the fetch is in flight.
|
|
12
|
-
- **Context menu integration**: `
|
|
14
|
+
- **Context menu integration**: `oncontextmenu` opens a `ContextMenu` on right-click.
|
|
13
15
|
- **Accessibility**: the container has `role="tree"` and supports `onfocus` / `onblur`.
|
|
14
16
|
|
|
15
17
|
## Installation
|
|
@@ -43,7 +45,7 @@ import {HierarchyTree} from "@ticatec/uniface-element/TreeNodes";
|
|
|
43
45
|
| `onchange` | `OnNodeSelectionChange` | - | Callback fired when the selection changes; return `false` to cancel the selection |
|
|
44
46
|
| `onfocus` | `(event: FocusEvent) => void` | - | Callback fired when the tree container gains focus |
|
|
45
47
|
| `onblur` | `(event: FocusEvent) => void` | - | Callback fired when the tree container loses focus |
|
|
46
|
-
| `
|
|
48
|
+
| `oncontextmenu` | `OnContextMenu` | - | Callback fired on right-click, used to show a context menu |
|
|
47
49
|
| `title` | `string` | - | Optional title shown at the top of the tree; clicking it clears the selection (`activeNode` is set to `null`) |
|
|
48
50
|
|
|
49
51
|
## Types
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# 树形视图组件 (TreeView)
|
|
2
2
|
|
|
3
|
+
> **5.1.0 重命名**:本文使用 [API 命名规范](../../../docs/NAMING_CN.md) 中的名字;旧名 `onContextMenu` 已在 5.1.0 移除(5.1.0 不保留兼容别名)。
|
|
4
|
+
|
|
3
5
|
分层树形组件,用于展示嵌套或平铺层次结构数据(基于 `HierarchyTree`),支持图标替换(如文件夹打开/关闭、文件类型徽章)、按需懒加载、选中项绑定和右键菜单。
|
|
4
6
|
|
|
5
7
|
## 特性
|
|
@@ -9,7 +11,7 @@
|
|
|
9
11
|
- **动态展开与深层控制**:支持 `defaultExpandDepth` 初始展开深度与单击箭头切换展开。
|
|
10
12
|
- **选择状态双向绑定**:支持 `bind:activeNode` 响应式绑定选中节点。
|
|
11
13
|
- **异步懒加载**:支持 `lazyLoader` 按需加载子节点,加载过程中自动显示 loading 图标。
|
|
12
|
-
- **右键菜单集成**:支持 `
|
|
14
|
+
- **右键菜单集成**:支持 `oncontextmenu` 在节点上唤起 `ContextMenu` 右键菜单。
|
|
13
15
|
- **可访问性**:容器带 `role="tree"`,支持 `onfocus`/`onblur` 焦点事件。
|
|
14
16
|
|
|
15
17
|
## 安装
|
|
@@ -43,7 +45,7 @@ import {HierarchyTree} from "@ticatec/uniface-element/TreeNodes";
|
|
|
43
45
|
| `onchange` | `OnNodeSelectionChange` | - | 节点选择变化时的回调函数(返回 `false` 可取消本次选择) |
|
|
44
46
|
| `onfocus` | `(event: FocusEvent) => void` | - | 树容器获得焦点时的回调 |
|
|
45
47
|
| `onblur` | `(event: FocusEvent) => void` | - | 树容器失去焦点时的回调 |
|
|
46
|
-
| `
|
|
48
|
+
| `oncontextmenu` | `OnContextMenu` | - | 右键菜单事件的回调函数 |
|
|
47
49
|
| `title` | `string` | - | 显示在树顶部的标题,点击标题会触发一次"取消选中"(`activeNode` 置为 `null`) |
|
|
48
50
|
|
|
49
51
|
## 类型定义
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
import iconLoading from "../../assets/loading.gif";
|
|
3
3
|
import type { OnContextMenu } from "../../overlay/context-menu/ContextMenuItem";
|
|
4
4
|
import type { IHierarchyData } from "../../lib";
|
|
5
|
-
import type { OnNodeSelectionChange } from "../../types";
|
|
6
5
|
import type { Snippet } from 'svelte';
|
|
7
6
|
import type { GetIcon, NodeIconContext, ChevronIconContext } from './TreeView.svelte';
|
|
8
7
|
|
|
@@ -15,12 +14,12 @@
|
|
|
15
14
|
nodeIcon?: Snippet<[NodeIconContext]>;
|
|
16
15
|
chevronIcon?: Snippet<[ChevronIconContext]>;
|
|
17
16
|
activeNode: any;
|
|
18
|
-
|
|
17
|
+
expandable: boolean;
|
|
19
18
|
expanded: boolean;
|
|
20
19
|
loading?: boolean;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
ontoggle: () => void;
|
|
21
|
+
onselect: (node: IHierarchyData<any>) => Promise<void>;
|
|
22
|
+
oncontextmenu?: OnContextMenu;
|
|
24
23
|
}
|
|
25
24
|
|
|
26
25
|
let {
|
|
@@ -30,12 +29,12 @@
|
|
|
30
29
|
nodeIcon,
|
|
31
30
|
chevronIcon,
|
|
32
31
|
activeNode,
|
|
33
|
-
|
|
32
|
+
expandable,
|
|
34
33
|
expanded,
|
|
35
34
|
loading = false,
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
ontoggle,
|
|
36
|
+
onselect,
|
|
37
|
+
oncontextmenu
|
|
39
38
|
}: Props = $props();
|
|
40
39
|
|
|
41
40
|
let nodeText = $derived(
|
|
@@ -61,11 +60,11 @@
|
|
|
61
60
|
const handleIconClick = async (e: MouseEvent) => {
|
|
62
61
|
e.stopPropagation();
|
|
63
62
|
e.preventDefault();
|
|
64
|
-
await
|
|
63
|
+
await ontoggle();
|
|
65
64
|
}
|
|
66
65
|
|
|
67
66
|
const handleRowClick = async () => {
|
|
68
|
-
await
|
|
67
|
+
await onselect(node);
|
|
69
68
|
}
|
|
70
69
|
|
|
71
70
|
const handleRowKeyDown = async (e: KeyboardEvent) => {
|
|
@@ -79,22 +78,22 @@
|
|
|
79
78
|
if (e.key === 'Enter' || e.key === ' ') {
|
|
80
79
|
e.preventDefault();
|
|
81
80
|
e.stopPropagation();
|
|
82
|
-
await
|
|
81
|
+
await ontoggle();
|
|
83
82
|
}
|
|
84
83
|
}
|
|
85
84
|
|
|
86
85
|
const handleContextMenu = (event: MouseEvent) => {
|
|
87
|
-
|
|
86
|
+
oncontextmenu?.(event, node);
|
|
88
87
|
}
|
|
89
88
|
</script>
|
|
90
89
|
|
|
91
90
|
<div class="tree-node" class:expanded style="padding-left: {node.level * 16}px">
|
|
92
91
|
<div class="node-item" class:selected={isSelected} onclick={handleRowClick} onkeydown={handleRowKeyDown}
|
|
93
92
|
oncontextmenu={handleContextMenu} role="treeitem" tabindex="0" aria-selected={isSelected}
|
|
94
|
-
aria-expanded={
|
|
93
|
+
aria-expanded={expandable ? expanded : undefined}>
|
|
95
94
|
|
|
96
95
|
<div class="item-chevron">
|
|
97
|
-
{#if
|
|
96
|
+
{#if expandable}
|
|
98
97
|
{#if loading}
|
|
99
98
|
<img alt="loading" class="chevron-img" src={iconLoading}/>
|
|
100
99
|
{:else if chevronIcon}
|
|
@@ -113,7 +112,7 @@
|
|
|
113
112
|
|
|
114
113
|
{#if nodeIcon}
|
|
115
114
|
<div class="node-type-icon">
|
|
116
|
-
{@render nodeIcon({ node, expanded, isBranch })}
|
|
115
|
+
{@render nodeIcon({ node, expanded, isBranch: expandable })}
|
|
117
116
|
</div>
|
|
118
117
|
{:else if nodeIconValue}
|
|
119
118
|
<div class="node-type-icon">
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { OnContextMenu } from "../../overlay/context-menu/ContextMenuItem";
|
|
2
2
|
import type { IHierarchyData } from "../../lib";
|
|
3
|
-
import type { OnNodeSelectionChange } from "../../types";
|
|
4
3
|
import type { Snippet } from 'svelte';
|
|
5
4
|
import type { GetIcon, NodeIconContext, ChevronIconContext } from './TreeView.svelte';
|
|
6
5
|
type GetText<T> = (item: T) => string;
|
|
@@ -11,12 +10,12 @@ interface Props {
|
|
|
11
10
|
nodeIcon?: Snippet<[NodeIconContext]>;
|
|
12
11
|
chevronIcon?: Snippet<[ChevronIconContext]>;
|
|
13
12
|
activeNode: any;
|
|
14
|
-
|
|
13
|
+
expandable: boolean;
|
|
15
14
|
expanded: boolean;
|
|
16
15
|
loading?: boolean;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
ontoggle: () => void;
|
|
17
|
+
onselect: (node: IHierarchyData<any>) => Promise<void>;
|
|
18
|
+
oncontextmenu?: OnContextMenu;
|
|
20
19
|
}
|
|
21
20
|
declare const TreeNodeView: import("svelte").Component<Props, {}, "">;
|
|
22
21
|
type TreeNodeView = ReturnType<typeof TreeNodeView>;
|