@shival99/z-ui 1.9.23 → 1.9.25
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/fesm2022/shival99-z-ui-components-z-autocomplete.mjs +186 -26
- package/fesm2022/shival99-z-ui-components-z-autocomplete.mjs.map +1 -1
- package/fesm2022/shival99-z-ui-components-z-calendar.mjs +2 -2
- package/fesm2022/shival99-z-ui-components-z-calendar.mjs.map +1 -1
- package/fesm2022/shival99-z-ui-components-z-checkbox.mjs +4 -4
- package/fesm2022/shival99-z-ui-components-z-checkbox.mjs.map +1 -1
- package/fesm2022/shival99-z-ui-components-z-kanban.mjs +1 -1
- package/fesm2022/shival99-z-ui-components-z-kanban.mjs.map +1 -1
- package/fesm2022/shival99-z-ui-components-z-pagination.mjs +1 -1
- package/fesm2022/shival99-z-ui-components-z-pagination.mjs.map +1 -1
- package/fesm2022/shival99-z-ui-components-z-radio.mjs +5 -5
- package/fesm2022/shival99-z-ui-components-z-radio.mjs.map +1 -1
- package/fesm2022/shival99-z-ui-components-z-select.mjs +205 -40
- package/fesm2022/shival99-z-ui-components-z-select.mjs.map +1 -1
- package/fesm2022/shival99-z-ui-components-z-table.mjs +2 -2
- package/fesm2022/shival99-z-ui-components-z-table.mjs.map +1 -1
- package/fesm2022/shival99-z-ui-utils.mjs +69 -2
- package/fesm2022/shival99-z-ui-utils.mjs.map +1 -1
- package/package.json +1 -1
- package/types/shival99-z-ui-components-z-autocomplete.d.ts +37 -6
- package/types/shival99-z-ui-components-z-select.d.ts +37 -4
- package/types/shival99-z-ui-utils.d.ts +47 -2
|
@@ -83,6 +83,51 @@ declare const zMiniSearch$: <T>(data: T[], query: string, fields: (keyof T | str
|
|
|
83
83
|
}) => Observable<T[]>;
|
|
84
84
|
declare const zDetectBrowser: () => ZBrowserInfo;
|
|
85
85
|
|
|
86
|
+
/** Thông tin truy vấn dùng cho autocomplete/select tự tải dữ liệu. */
|
|
87
|
+
interface ZAsyncOptionsQuery {
|
|
88
|
+
/** Từ khóa hiện tại người dùng đang nhập. */
|
|
89
|
+
keyword: string;
|
|
90
|
+
/** Trang cần tải, bắt đầu từ 1. */
|
|
91
|
+
page: number;
|
|
92
|
+
/** Số lượng option mong muốn trên mỗi trang. */
|
|
93
|
+
pageSize: number;
|
|
94
|
+
}
|
|
95
|
+
/** Kết quả trả về từ hàm tải option bất đồng bộ. */
|
|
96
|
+
interface ZAsyncOptionsResult<TOption> {
|
|
97
|
+
/** Danh sách option của trang hiện tại. */
|
|
98
|
+
items: TOption[];
|
|
99
|
+
/** Tổng số option trên server, dùng để component tự tính còn trang tiếp theo hay không. */
|
|
100
|
+
total?: number;
|
|
101
|
+
/** Đặt trực tiếp còn dữ liệu hay không khi API không trả total. */
|
|
102
|
+
hasMore?: boolean;
|
|
103
|
+
}
|
|
104
|
+
/** Kiểu dữ liệu hàm load có thể trả về: sync, Promise hoặc Observable. */
|
|
105
|
+
type ZAsyncOptionsLoadResult<TOption> = ZAsyncOptionsResult<TOption> | Promise<ZAsyncOptionsResult<TOption>> | Observable<ZAsyncOptionsResult<TOption>>;
|
|
106
|
+
/** Hàm tải option theo keyword/page/pageSize. */
|
|
107
|
+
type ZAsyncOptionsLoadFn<TOption> = (query: ZAsyncOptionsQuery) => ZAsyncOptionsLoadResult<TOption>;
|
|
108
|
+
/** Config giúp component tự xử lý search, phân trang, loading và chống trùng option. */
|
|
109
|
+
interface ZAsyncOptionsConfig<TOption> {
|
|
110
|
+
/** Hàm gọi API hoặc nguồn dữ liệu bất đồng bộ. */
|
|
111
|
+
load: ZAsyncOptionsLoadFn<TOption>;
|
|
112
|
+
/** Số item mỗi lần tải, mặc định 20. */
|
|
113
|
+
pageSize?: number;
|
|
114
|
+
/** Tự tải trang đầu khi dropdown mở/focus, kể cả keyword rỗng. */
|
|
115
|
+
loadOnFocus?: boolean;
|
|
116
|
+
/** Khóa chống trùng khi append trang mới, ví dụ: option => option.value.code. */
|
|
117
|
+
dedupeBy?: (option: TOption) => unknown;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/** Số option mặc định mỗi lần component tự gọi load. */
|
|
121
|
+
declare const Z_ASYNC_OPTIONS_DEFAULT_PAGE_SIZE = 20;
|
|
122
|
+
/** Chuẩn hóa kết quả sync/Promise/Observable về Observable để component xử lý thống nhất. */
|
|
123
|
+
declare function zToAsyncOptionsObservable<TOption>(result: ZAsyncOptionsLoadResult<TOption>): Observable<ZAsyncOptionsResult<TOption>>;
|
|
124
|
+
/** Gộp option mới vào danh sách cũ và loại bỏ phần tử trùng theo dedupeBy/default key. */
|
|
125
|
+
declare function zMergeAsyncOptions<TOption>(current: TOption[], next: TOption[], dedupeBy?: ZAsyncOptionsConfig<TOption>['dedupeBy']): TOption[];
|
|
126
|
+
/** Tính còn dữ liệu để load-more dựa trên hasMore, total hoặc độ dài page vừa trả về. */
|
|
127
|
+
declare function zResolveAsyncOptionsHasMore<TOption>(result: ZAsyncOptionsResult<TOption>, pageSize: number, loadedCount: number): boolean;
|
|
128
|
+
/** Lấy khóa ổn định cho option, hỗ trợ value là object và vẫn cho phép truyền dedupeBy riêng. */
|
|
129
|
+
declare function zGetAsyncOptionKey<TOption>(option: TOption, dedupeBy?: ZAsyncOptionsConfig<TOption>['dedupeBy']): unknown;
|
|
130
|
+
|
|
86
131
|
interface ZEchartsThemeOptions {
|
|
87
132
|
/** Theme name (default: 'zTheme') */
|
|
88
133
|
themeName?: string;
|
|
@@ -152,5 +197,5 @@ interface ZFormDebugOptions {
|
|
|
152
197
|
logLevel?: 'error' | 'warn' | 'log';
|
|
153
198
|
}
|
|
154
199
|
|
|
155
|
-
export { VIETNAMESE_MAP, Z_DIVIDE_SCALE, Z_EXCEL_NUMBER_FORMAT_MAP, Z_LOCALE_MAP, zCapitalCase, zCleanObject, zConvertColorToArgb, zCreateEvent, zDebugFormInvalid, zDecodeUnicode, zDetectBrowser, zFormatNum, zFormatNumExcel, zMergeClasses, zMiniSearch, zMiniSearch$, zNoop, zNormalize, zRandomColor, zRegisterEchartsTheme, zRemoveVietnamese, zTransform, zTreeBuild, zTreeFlatten, zUuid, zValidForm };
|
|
156
|
-
export type { ZBlurEventData, ZBrowserInfo, ZBrowserName, ZCapitalizeType, ZChangeEventData, ZClickEventData, ZCopyEventData, ZCutEventData, ZDblclickEventData, ZDeviceType, ZDragenterEventData, ZDragleaveEventData, ZDragoverEventData, ZDropEventData, ZEchartsThemeOptions, ZEmptyCheck, ZEvent, ZEventType, ZFocusEventData, ZFormDebugOptions, ZFormSubmitResult, ZFormatNumExcelOptions, ZFormatNumOptions, ZInputEventData, ZKeydownEventData, ZKeypressEventData, ZKeyupEventData, ZMousedownEventData, ZMouseenterEventData, ZMouseleaveEventData, ZMouseoutEventData, ZMouseoverEventData, ZMouseupEventData, ZNavigatorUABrandVersion, ZNavigatorUAData, ZNumberDivide, ZPasteEventData, ZTouchendEventData, ZTouchmoveEventData, ZTouchstartEventData };
|
|
200
|
+
export { VIETNAMESE_MAP, Z_ASYNC_OPTIONS_DEFAULT_PAGE_SIZE, Z_DIVIDE_SCALE, Z_EXCEL_NUMBER_FORMAT_MAP, Z_LOCALE_MAP, zCapitalCase, zCleanObject, zConvertColorToArgb, zCreateEvent, zDebugFormInvalid, zDecodeUnicode, zDetectBrowser, zFormatNum, zFormatNumExcel, zGetAsyncOptionKey, zMergeAsyncOptions, zMergeClasses, zMiniSearch, zMiniSearch$, zNoop, zNormalize, zRandomColor, zRegisterEchartsTheme, zRemoveVietnamese, zResolveAsyncOptionsHasMore, zToAsyncOptionsObservable, zTransform, zTreeBuild, zTreeFlatten, zUuid, zValidForm };
|
|
201
|
+
export type { ZAsyncOptionsConfig, ZAsyncOptionsLoadFn, ZAsyncOptionsLoadResult, ZAsyncOptionsQuery, ZAsyncOptionsResult, ZBlurEventData, ZBrowserInfo, ZBrowserName, ZCapitalizeType, ZChangeEventData, ZClickEventData, ZCopyEventData, ZCutEventData, ZDblclickEventData, ZDeviceType, ZDragenterEventData, ZDragleaveEventData, ZDragoverEventData, ZDropEventData, ZEchartsThemeOptions, ZEmptyCheck, ZEvent, ZEventType, ZFocusEventData, ZFormDebugOptions, ZFormSubmitResult, ZFormatNumExcelOptions, ZFormatNumOptions, ZInputEventData, ZKeydownEventData, ZKeypressEventData, ZKeyupEventData, ZMousedownEventData, ZMouseenterEventData, ZMouseleaveEventData, ZMouseoutEventData, ZMouseoverEventData, ZMouseupEventData, ZNavigatorUABrandVersion, ZNavigatorUAData, ZNumberDivide, ZPasteEventData, ZTouchendEventData, ZTouchmoveEventData, ZTouchstartEventData };
|