@ticatec/topside-elements 1.0.6 → 1.2.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/CHANGELOG.md +27 -0
- package/dist/app_layout/ClassicLayout.svelte +22 -11
- package/dist/app_layout/ClassicLayout.svelte.d.ts +6 -0
- package/dist/app_layout/ColumnsLayout.svelte +7 -4
- package/dist/app_layout/ColumnsLayout.svelte.d.ts +2 -0
- package/dist/app_layout/HeaderLayout.svelte +11 -2
- package/dist/app_layout/HeaderLayout.svelte.d.ts +4 -0
- package/dist/app_layout/README.md +23 -1
- package/dist/app_layout/README_CN.md +23 -1
- package/dist/app_layout/RowsLayout.svelte +7 -4
- package/dist/app_layout/RowsLayout.svelte.d.ts +2 -0
- package/dist/app_layout/SidebarLayout.svelte +11 -2
- package/dist/app_layout/SidebarLayout.svelte.d.ts +4 -0
- package/dist/data_table/DataTable.svelte +153 -12
- package/dist/data_table/DataTable.svelte.d.ts +22 -2
- package/dist/data_table/README.md +119 -38
- package/dist/data_table/README_CN.md +119 -38
- package/dist/data_table/index.d.ts +5 -0
- package/dist/data_table/index.js +2 -0
- package/dist/data_table/lib/IndicatorColumn.d.ts +2 -1
- package/dist/data_table/lib/RowExpansion.d.ts +84 -0
- package/dist/data_table/lib/RowExpansion.js +43 -0
- package/dist/data_table/parts/ActionsPanel.svelte +4 -0
- package/dist/data_table/parts/ActionsPanel.svelte.d.ts +2 -0
- package/dist/data_table/parts/ActionsRow.svelte +8 -1
- package/dist/data_table/parts/ActionsRow.svelte.d.ts +2 -0
- package/dist/data_table/parts/ContentPanel.svelte +9 -1
- package/dist/data_table/parts/ContentPanel.svelte.d.ts +4 -0
- package/dist/data_table/parts/DataRow.svelte +13 -2
- package/dist/data_table/parts/DataRow.svelte.d.ts +2 -0
- package/dist/data_table/parts/FixedColumnsPanel.svelte +11 -2
- package/dist/data_table/parts/FixedColumnsPanel.svelte.d.ts +6 -1
- package/dist/data_table/parts/FixedRow.svelte +19 -2
- package/dist/data_table/parts/FixedRow.svelte.d.ts +4 -0
- package/docs/components/README.md +6 -6
- package/docs/components/classic-layout/README.md +3 -0
- package/docs/components/columns-layout/README.md +1 -0
- package/docs/components/data-table/README.md +53 -1
- package/docs/components/header-layout/README.md +2 -0
- package/docs/components/rows-layout/README.md +1 -0
- package/docs/components/sidebar-layout/README.md +2 -0
- package/package.json +1 -1
|
@@ -38,6 +38,7 @@ import DataTable from '@ticatec/topside-elements/DataTable';
|
|
|
38
38
|
| `overscan` | 否 | `number` | 否 | `8` | 否 | 虚拟化时可视区上下额外渲染的行数。 |
|
|
39
39
|
| `summaryLabel` | 否 | `string` | 否 | `undefined` | 否 | 合计行的标签,默认取 i18n(uniface.dataTable.summaryLabel,"合计" / "Total");传空串则不显示标签 |
|
|
40
40
|
| `summaryValues` | 否 | `Record<string, any> \| null` | 否 | `null` | 否 | 外部提供的合计值,按列 field 取值,优先于列的 summary 在当前 list 上的计算。 分页场景下用它显示服务端算好的全量合计(数字串会按数字格式化)。 |
|
|
41
|
+
| `rowExpansion` | 否 | `RowExpansion<T> \| null` | 否 | `null` | 否 | 行展开配置:展开区组件、是否显示指示列图标(默认显示)、整行单击 / 双击触发等。 不配置图标时可以用组件方法 expandRow / collapseRow / toggleRowExpand, 或在行内(自定义单元格、操作列、展开区)派发 ROW_EXPAND_EVENT 事件来控制。 同一时间只展开一行。 |
|
|
41
42
|
|
|
42
43
|
> 组件的“可绑定”表示源码使用了 Svelte 5 的 `$bindable`;服务的“响应式”表示成员使用了 `$state`。复杂类型请同时参考 TypeScript 自动补全。
|
|
43
44
|
|
|
@@ -81,6 +82,18 @@ import DataTable from '@ticatec/topside-elements/DataTable';
|
|
|
81
82
|
- 默认值:`$bindable(80)`
|
|
82
83
|
- 推荐写法:`bind:inlineRowHeight`
|
|
83
84
|
|
|
85
|
+
## 组件实例方法
|
|
86
|
+
|
|
87
|
+
通过 `bind:this` 获取组件实例后调用。
|
|
88
|
+
|
|
89
|
+
| 方法 | 类型 | 说明 |
|
|
90
|
+
| --- | --- | --- |
|
|
91
|
+
| `expandRow()` | `(data: T) => Promise<void>` | 展开指定行(按行数据对象匹配);行不存在或不允许展开时不做任何事 |
|
|
92
|
+
| `collapseRow()` | `(data?: T) => void` | 收起指定行;不传参数则收起当前展开的行 |
|
|
93
|
+
| `toggleRowExpand()` | `(data: T) => Promise<void>` | 切换指定行的展开状态 |
|
|
94
|
+
| `isRowExpanded()` | `(data: T) => boolean` | 某行当前是否展开 |
|
|
95
|
+
| `getExpandedRow()` | `() => T \| null` | 当前展开行的数据,没有则为 null |
|
|
96
|
+
|
|
84
97
|
## 相关类型定义
|
|
85
98
|
|
|
86
99
|
以下定义帮助理解复杂属性的数据结构;其中部分辅助类型属于内部实现,不一定是独立导出入口。
|
|
@@ -218,7 +231,8 @@ export default interface IndicatorColumn {
|
|
|
218
231
|
selectable?: boolean;
|
|
219
232
|
|
|
220
233
|
/**
|
|
221
|
-
*
|
|
234
|
+
* @deprecated 请改用 DataTable 的 `rowExpansion` 属性(`{ build, showToggle, trigger, ... }`)。
|
|
235
|
+
* 保留兼容:等价于 rowExpansion = { build: buildInlineComponent }。
|
|
222
236
|
*/
|
|
223
237
|
buildInlineComponent?: (data:any) => Promise<any>;
|
|
224
238
|
|
|
@@ -237,6 +251,26 @@ export default interface IndicatorColumn {
|
|
|
237
251
|
export type GetRowFontStyle<T = any> = (data: T) => RowFontStyle;
|
|
238
252
|
```
|
|
239
253
|
|
|
254
|
+
### `RowExpansion`
|
|
255
|
+
|
|
256
|
+
```ts
|
|
257
|
+
export default interface RowExpansion<T = any> {
|
|
258
|
+
/** 展开区组件生成器 */
|
|
259
|
+
build: BuildInlineComponent<T>;
|
|
260
|
+
/**
|
|
261
|
+
* 是否在指示列显示展开 / 收起图标,默认 true。
|
|
262
|
+
* 需要同时配置 indicatorColumn;设为 false 时只靠 trigger / 方法 / 事件触发。
|
|
263
|
+
*/
|
|
264
|
+
showToggle?: boolean;
|
|
265
|
+
/** 整行触发方式(单击 / 双击),默认不设置 */
|
|
266
|
+
trigger?: RowExpandTrigger;
|
|
267
|
+
/** 判定某行是否允许展开,默认所有行都可以 */
|
|
268
|
+
isExpandable?: IsRowExpandable<T>;
|
|
269
|
+
/** 展开状态变化回调:展开时为该行数据,收起时为 null */
|
|
270
|
+
onExpandChange?: (data: T | null) => void;
|
|
271
|
+
}
|
|
272
|
+
```
|
|
273
|
+
|
|
240
274
|
### `Column`
|
|
241
275
|
|
|
242
276
|
```ts
|
|
@@ -337,6 +371,24 @@ export interface RowFontStyle {
|
|
|
337
371
|
}
|
|
338
372
|
```
|
|
339
373
|
|
|
374
|
+
### `BuildInlineComponent`
|
|
375
|
+
|
|
376
|
+
```ts
|
|
377
|
+
export type BuildInlineComponent<T = any> = (data: T) => Promise<Component<any>> | Component<any>;
|
|
378
|
+
```
|
|
379
|
+
|
|
380
|
+
### `RowExpandTrigger`
|
|
381
|
+
|
|
382
|
+
```ts
|
|
383
|
+
export type RowExpandTrigger = 'click' | 'dblclick';
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
### `IsRowExpandable`
|
|
387
|
+
|
|
388
|
+
```ts
|
|
389
|
+
export type IsRowExpandable<T = any> = (data: T) => boolean;
|
|
390
|
+
```
|
|
391
|
+
|
|
340
392
|
### `HrefLink`
|
|
341
393
|
|
|
342
394
|
```ts
|
|
@@ -26,6 +26,8 @@ import HeaderLayout from '@ticatec/topside-elements/app-layout/HeaderLayout';
|
|
|
26
26
|
| `sidebarResize` | 否 | `boolean` | 否 | `false` | 否 | 可选配置,具体取值范围和数据结构见类型列。 |
|
|
27
27
|
| `sidebarMaxWidth` | 否 | `string \| null` | 否 | `null` | 否 | 宽度配置;字符串可以使用 px、rem、% 等 CSS 单位。 |
|
|
28
28
|
| `sidebarMinWidth` | 否 | `string \| null` | 否 | `null` | 否 | 宽度配置;字符串可以使用 px、rem、% 等 CSS 单位。 |
|
|
29
|
+
| `divider` | 否 | `boolean` | 否 | `true` | 否 | 面板之间是否显示分割线,默认 true;与 *Resize(能否拖动)相互独立:可拖动但不显示线时,只在悬停 / 拖动时出现把手 |
|
|
30
|
+
| `headerDivider` | 否 | `boolean` | 否 | `false` | 否 | 头部与内容之间显示横向分割线,默认 false |
|
|
29
31
|
| `header` | 否 | `Snippet` | 否 | `undefined` | 否 | Svelte Snippet 渲染入口,用于替换或补充默认内容。 |
|
|
30
32
|
| `sidebar` | 否 | `Snippet` | 否 | `undefined` | 否 | Svelte Snippet 渲染入口,用于替换或补充默认内容。 |
|
|
31
33
|
| `children` | 是 | `Snippet` | 否 | `undefined` | 否 | Svelte Snippet 子内容,用于自定义组件主体。 |
|
|
@@ -31,6 +31,7 @@ import RowsLayout from '@ticatec/topside-elements/app-layout/RowsLayout';
|
|
|
31
31
|
| `bottomMaxHeight` | 否 | `string \| null` | 否 | `null` | 否 | 下栏最大高度(CSS 长度) |
|
|
32
32
|
| `topResize` | 否 | `boolean` | 否 | `false` | 否 | 可选配置,具体取值范围和数据结构见类型列。 |
|
|
33
33
|
| `bottomResize` | 否 | `boolean` | 否 | `false` | 否 | 可选配置,具体取值范围和数据结构见类型列。 |
|
|
34
|
+
| `divider` | 否 | `boolean` | 否 | `true` | 否 | 面板之间是否显示分割线,默认 true;与 *Resize(能否拖动)相互独立:可拖动但不显示线时,只在悬停 / 拖动时出现把手 |
|
|
34
35
|
| `top` | 否 | `Snippet` | 否 | `undefined` | 否 | Svelte Snippet 渲染入口,用于替换或补充默认内容。 |
|
|
35
36
|
| `children` | 是 | `Snippet` | 否 | `undefined` | 否 | Svelte Snippet 子内容,用于自定义组件主体。 |
|
|
36
37
|
| `bottom` | 否 | `Snippet` | 否 | `undefined` | 否 | Svelte Snippet 渲染入口,用于替换或补充默认内容。 |
|
|
@@ -26,6 +26,8 @@ import SidebarLayout from '@ticatec/topside-elements/app-layout/SidebarLayout';
|
|
|
26
26
|
| `sidebarWidth` | 否 | `string` | 否 | `'300px'` | 否 | 宽度配置;字符串可以使用 px、rem、% 等 CSS 单位。 |
|
|
27
27
|
| `sidebarMaxWidth` | 否 | `string \| null` | 否 | `null` | 否 | 宽度配置;字符串可以使用 px、rem、% 等 CSS 单位。 |
|
|
28
28
|
| `sidebarMinWidth` | 否 | `string \| null` | 否 | `null` | 否 | 宽度配置;字符串可以使用 px、rem、% 等 CSS 单位。 |
|
|
29
|
+
| `divider` | 否 | `boolean` | 否 | `true` | 否 | 面板之间是否显示分割线,默认 true;与 *Resize(能否拖动)相互独立:可拖动但不显示线时,只在悬停 / 拖动时出现把手 |
|
|
30
|
+
| `headerDivider` | 否 | `boolean` | 否 | `false` | 否 | 头部与内容之间显示横向分割线,默认 false |
|
|
29
31
|
| `sidebar` | 否 | `Snippet` | 否 | `undefined` | 否 | Svelte Snippet 渲染入口,用于替换或补充默认内容。 |
|
|
30
32
|
| `header` | 否 | `Snippet` | 否 | `undefined` | 否 | Svelte Snippet 渲染入口,用于替换或补充默认内容。 |
|
|
31
33
|
| `children` | 是 | `Snippet` | 否 | `undefined` | 否 | Svelte Snippet 子内容,用于自定义组件主体。 |
|
package/package.json
CHANGED