@farris/ui-vue 1.8.3 → 1.8.4

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.
Files changed (40) hide show
  1. package/components/batch-editor/index.esm.js +7332 -7299
  2. package/components/batch-editor/index.umd.cjs +22 -22
  3. package/components/button/index.esm.js +7334 -7301
  4. package/components/button/index.umd.cjs +22 -22
  5. package/components/component/index.esm.js +880 -874
  6. package/components/component/index.umd.cjs +2 -2
  7. package/components/data-grid/index.esm.js +841 -835
  8. package/components/data-grid/index.umd.cjs +2 -2
  9. package/components/data-view/index.esm.js +14551 -14472
  10. package/components/data-view/index.umd.cjs +27 -27
  11. package/components/designer-canvas/index.esm.js +820 -814
  12. package/components/designer-canvas/index.umd.cjs +1 -1
  13. package/components/mapping-editor/index.esm.js +848 -842
  14. package/components/mapping-editor/index.umd.cjs +2 -2
  15. package/components/popover/index.esm.js +264 -243
  16. package/components/popover/index.umd.cjs +1 -1
  17. package/components/tree-grid/index.esm.js +315 -309
  18. package/components/tree-grid/index.umd.cjs +1 -1
  19. package/designer/data-grid/index.esm.js +8304 -8257
  20. package/designer/data-grid/index.umd.cjs +26 -26
  21. package/designer/farris-designer.all.esm.js +3235 -3223
  22. package/designer/farris-designer.all.umd.cjs +14 -14
  23. package/designer/radio-group/index.esm.js +80 -62
  24. package/designer/radio-group/index.umd.cjs +2 -2
  25. package/designer/tabs/index.esm.js +830 -824
  26. package/designer/tabs/index.umd.cjs +2 -2
  27. package/designer/tree-grid/index.esm.js +348 -342
  28. package/designer/tree-grid/index.umd.cjs +1 -1
  29. package/farris.all.esm.js +18917 -18820
  30. package/farris.all.umd.cjs +39 -39
  31. package/package.json +1 -1
  32. package/types/data-view/components/column-header/column-header.component.d.ts +2 -2
  33. package/types/data-view/composition/column/persist-column-widths.d.ts +15 -0
  34. package/types/data-view/composition/column/use-resize.d.ts +3 -2
  35. package/types/data-view/index.d.ts +1 -0
  36. package/types/popover/src/composition/measure-host.d.ts +10 -5
  37. package/types/popover/src/composition/types.d.ts +2 -2
  38. package/types/popover/src/composition/use-host.d.ts +1 -2
  39. package/types/radio-group/src/property-config/radio-group.property-config.d.ts +21 -0
  40. package/package.zip +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@farris/ui-vue",
3
- "version": "1.8.3",
3
+ "version": "1.8.4",
4
4
  "license": "Apache-2.0",
5
5
  "description": "Farris Vue, a Farris Design based Vue3 component library.",
6
6
  "keywords": [
@@ -14,8 +14,8 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { Ref, SetupContext } from 'vue';
17
- import { UseColumn, UseDataView, UseDragColumn, UseColumnFilter, UseFilterHistory, UseFitColumn, UseGroupColumn, UseSidebar, UseSort, UseVirtualScroll, UseFilter, DataViewOptions, UseSelection, VisualData } from '../../composition/types';
18
- export default function (props: DataViewOptions, context: SetupContext, gridContentRef: Ref<any>, leftFixedGridContentRef: Ref<any>, rightFixedGridContentRef: Ref<any>, useColumnComposition: UseColumn, useDataViewComposition: UseDataView, useDragColumnComposition: UseDragColumn, useColumnFilterComposition: UseColumnFilter, useFilterComposition: UseFilter, useFilterHistoryComposition: UseFilterHistory, useFitColumnComposition: UseFitColumn, useGroupColumnComposition: UseGroupColumn, useSelectionComposition: UseSelection, useSidebarComposition: UseSidebar, useSortComposition: UseSort, useVirtualScrollComposition: UseVirtualScroll, viewPortWidth: Ref<number>, visibleDatas: Ref<VisualData[]>, openSetting: Ref<boolean>): {
17
+ import { UseColumn, UseDataView, UseDragColumn, UseColumnFilter, UseFilterHistory, UseFitColumn, UseGroupColumn, UseSidebar, UseSort, UseVirtualScroll, UseFilter, DataViewOptions, DataColumn, UseSelection, VisualData } from '../../composition/types';
18
+ export default function (props: DataViewOptions, context: SetupContext, gridContentRef: Ref<any>, leftFixedGridContentRef: Ref<any>, rightFixedGridContentRef: Ref<any>, useColumnComposition: UseColumn, useDataViewComposition: UseDataView, useDragColumnComposition: UseDragColumn, useColumnFilterComposition: UseColumnFilter, useFilterComposition: UseFilter, useFilterHistoryComposition: UseFilterHistory, useFitColumnComposition: UseFitColumn, useGroupColumnComposition: UseGroupColumn, useSelectionComposition: UseSelection, useSidebarComposition: UseSidebar, useSortComposition: UseSort, useVirtualScrollComposition: UseVirtualScroll, viewPortWidth: Ref<number>, visibleDatas: Ref<VisualData[]>, openSetting: Ref<boolean>, onColumnWidthChanged?: (column: DataColumn, allColumns: DataColumn[]) => void): {
19
19
  renderGridHeader: () => any;
20
20
  renderGridColumnResizeOverlay: () => any;
21
21
  shouldShowHeader: import("vue").ComputedRef<boolean>;
@@ -0,0 +1,15 @@
1
+ import type { DataColumn } from '../types';
2
+ export declare function syncColumnWidthsFromGrid(targetColumns: DataColumn[], gridColumns: DataColumn[]): void;
3
+ export declare function canPersistColumnSettingSolution(current: {
4
+ isSystem?: boolean;
5
+ } | null | undefined): boolean;
6
+ export declare function persistColumnWidthsToSolution(options: {
7
+ current: {
8
+ isSystem?: boolean;
9
+ } | null | undefined;
10
+ targetColumns: DataColumn[];
11
+ gridColumns: DataColumn[];
12
+ update: () => Promise<void>;
13
+ }): Promise<{
14
+ persisted: boolean;
15
+ }>;
@@ -14,5 +14,6 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { Ref } from 'vue';
17
- import { ColumnContext, DataViewOptions, UseFitColumn, UseResize, UseVirtualScroll } from '../types';
18
- export declare function useResize(props: DataViewOptions, context: Ref<ColumnContext>, useFitColumnComposition: UseFitColumn, useVirtualScrollComposition: UseVirtualScroll): UseResize;
17
+ import { ColumnContext, DataColumn, DataViewOptions, UseFitColumn, UseResize, UseVirtualScroll } from '../types';
18
+ export type ColumnWidthChangedHandler = (column: DataColumn, allColumns: DataColumn[]) => void;
19
+ export declare function useResize(props: DataViewOptions, context: Ref<ColumnContext>, useFitColumnComposition: UseFitColumn, useVirtualScrollComposition: UseVirtualScroll, onColumnWidthChanged?: ColumnWidthChangedHandler): UseResize;
@@ -24,6 +24,7 @@ export * from './composition/column/use-drag-column';
24
24
  export * from './composition/column/use-fit-column';
25
25
  export * from './composition/column/use-group-column';
26
26
  export * from './composition/column/use-resize';
27
+ export * from './composition/column/persist-column-widths';
27
28
  export * from './composition/data/use-data-view';
28
29
  export * from './composition/data/use-group-data';
29
30
  export * from './composition/filter/use-filter';
@@ -1,11 +1,11 @@
1
1
  /**
2
- * 测量 Popover 挂载宿主的几何信息。
2
+ * Popover 定位几何。
3
3
  *
4
- * Teleport to="body" 在京东 micro-app 等场景会落到 micro-app-body,
5
- * 不能再把 body 当成视口原点 (0,0)。统一用真实 DOM 的 getBoundingClientRect。
4
+ * 通用策略(对齐 Ant Design rc-trigger):
5
+ * 将浮层临时置于 left/top=0,用 getBoundingClientRect 读出当前坐标系原点的视口位置,
6
+ * 再与触发器视口坐标做差。不依赖「是否 micro-app / 哪个元素是包含块」的先验假设。
6
7
  *
7
- * 定位公式配合:left/top = referenceRect - hostRect + hostScroll
8
- * (两侧矩形都是视口坐标,差值为相对宿主坐标;滚动取宿主自身 scroll,不再叠加 documentElement)
8
+ * 定位公式:left/top = referenceRect - originRect(校准后 scroll 记为 0)
9
9
  */
10
10
  export interface HostMetrics {
11
11
  left: number;
@@ -23,3 +23,8 @@ export interface HostMetrics {
23
23
  export declare function resolveHostTarget(host: any): HTMLElement | 'body';
24
24
  export declare function getHostElement(host: HTMLElement | 'body'): HTMLElement | null;
25
25
  export declare function measureHost(host: HTMLElement | 'body', rightBoundary?: HTMLElement | null): HostMetrics;
26
+ /**
27
+ * 通用定位原点校准:浮层归零 → 量视口矩形 → 恢复样式。
28
+ * 覆盖 body / micro-app-body / 自定义 host / transform 包含块 / 初始包含块等场景。
29
+ */
30
+ export declare function measureAlignOrigin(popoverEl: HTMLElement | null | undefined, host: HTMLElement | 'body', rightBoundary?: HTMLElement | null): HostMetrics;
@@ -19,8 +19,8 @@ export interface UseHost {
19
19
  hostWidth: ComputedRef<number>;
20
20
  hostHeight: ComputedRef<number>;
21
21
  hostBottom: ComputedRef<number>;
22
- /** 定位时调用,避免 computed 无依赖缓存导致几何信息过期 */
23
- measure: () => HostMetrics;
22
+ /** 定位时调用;传入 popover 时做浮层归零校准,得到通用坐标系原点 */
23
+ measure: (popoverEl?: HTMLElement | null) => HostMetrics;
24
24
  }
25
25
  export interface UsePopup {
26
26
  hidePopverOnClickBodyHandler: ($event: MouseEvent) => any;
@@ -1,7 +1,6 @@
1
1
  import { PopoverProps } from '../popover.props';
2
2
  import { UseHost } from './types';
3
3
  /**
4
- * 解析 Teleport 目标,并提供宿主几何信息。
5
- * body 与自定义 host 一律按真实 DOM 测量,兼容 micro-app 等「假 body」场景。
4
+ * 解析 Teleport 目标;定位时用浮层归零校准坐标系(不绑定特定页面/微应用假设)。
6
5
  */
7
6
  export declare function useHost(props: PopoverProps): UseHost;
@@ -2,6 +2,27 @@ import { InputBaseProperty } from "../../../property-panel/src/composition/entit
2
2
  import { FormPropertyChangeObject } from "../../../property-panel";
3
3
  export declare class RadioGroupProperty extends InputBaseProperty {
4
4
  constructor(componentId: string, designerHostService: any);
5
+ /**
6
+ * 交互面板增加 changeValue(设计器字段名为 onChangeValue,对应运行时 emit('changeValue'))
7
+ */
8
+ getEventPropertyConfig(propertyData: any, showPosition?: string, customEventList?: {
9
+ label: string;
10
+ name: string;
11
+ }[], setPropertyRelates?: (changeObject: any, data: any, parameters: any) => void): {
12
+ title: string;
13
+ hideTitle: boolean;
14
+ properties: {};
15
+ tabId: string;
16
+ tabName: string;
17
+ setPropertyRelates(changeObject: FormPropertyChangeObject, data: any): void;
18
+ } | {
19
+ title: string;
20
+ hideTitle: boolean;
21
+ properties: {};
22
+ tabId: string;
23
+ tabName: string;
24
+ hide: boolean;
25
+ };
5
26
  getEditorProperties(propertyData: any): {
6
27
  properties: {
7
28
  readonly: {
package/package.zip DELETED
Binary file