@g1cloud/entity-modeler-next 5.0.0-beta.9 → 5.0.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.
Files changed (54) hide show
  1. package/README.md +19 -5
  2. package/dist/adapter/diagramAdapter.d.ts +6 -0
  3. package/dist/adapter/healBackfill.d.ts +38 -0
  4. package/dist/agent/resolver.d.ts +195 -7
  5. package/dist/agent/symbolicOp.d.ts +53 -4
  6. package/dist/command/op.d.ts +35 -1
  7. package/dist/command/opSync.d.ts +11 -1
  8. package/dist/command/stack.d.ts +11 -1
  9. package/dist/core/associationNav.d.ts +14 -0
  10. package/dist/core/columnResolve.d.ts +36 -0
  11. package/dist/core/embedSlots.d.ts +18 -0
  12. package/dist/core/entityPackage.d.ts +24 -0
  13. package/dist/core/fkDerived.d.ts +22 -2
  14. package/dist/core/indexCleanup.d.ts +16 -0
  15. package/dist/core/indexColumnRef.d.ts +27 -0
  16. package/dist/core/javaTypes.d.ts +5 -0
  17. package/dist/core/opSubject.d.ts +54 -0
  18. package/dist/core/projectActionLog.d.ts +7 -10
  19. package/dist/core/projectSeqDiff.d.ts +41 -0
  20. package/dist/core/propagation.d.ts +33 -2
  21. package/dist/core/quickFix.d.ts +9 -4
  22. package/dist/core/resolve.d.ts +0 -3
  23. package/dist/core/scaffoldJava.d.ts +30 -1
  24. package/dist/core/text.d.ts +2 -1
  25. package/dist/core/validation.d.ts +1 -13
  26. package/dist/editor/association.d.ts +18 -0
  27. package/dist/editor/attribute.d.ts +25 -0
  28. package/dist/editor/clipboardImport.d.ts +23 -0
  29. package/dist/editor/commandPlans.d.ts +111 -0
  30. package/dist/editor/controller.d.ts +61 -20
  31. package/dist/editor/entity.d.ts +19 -0
  32. package/dist/editor/group.d.ts +22 -0
  33. package/dist/editor/hostSync.d.ts +30 -0
  34. package/dist/editor/note.d.ts +11 -0
  35. package/dist/editor/selection.d.ts +22 -0
  36. package/dist/entity-modeler-next.css +1 -1
  37. package/dist/entity-modeler.js +16701 -13753
  38. package/dist/entity-modeler.umd.cjs +28 -24
  39. package/dist/i18n/ko.d.ts +64 -2
  40. package/dist/index.d.ts +26 -23
  41. package/dist/view/ColumnLangSelect.vue.d.ts +16 -0
  42. package/dist/view/DiagramCanvas.vue.d.ts +9 -0
  43. package/dist/view/DiagramExplorer.vue.d.ts +7 -2
  44. package/dist/view/HistoryPanel.vue.d.ts +3 -0
  45. package/dist/view/MultiLangTextField.vue.d.ts +7 -0
  46. package/dist/view/columnResolution.d.ts +91 -0
  47. package/dist/view/diffOverlay.d.ts +14 -0
  48. package/dist/view/embedSlotCollapse.d.ts +36 -0
  49. package/dist/view/nodeInternals.d.ts +15 -0
  50. package/dist/view/opConflictNotice.d.ts +8 -6
  51. package/dist/view/swatches.d.ts +3 -2
  52. package/dist/view/useAttributeEditing.d.ts +82 -0
  53. package/dist/view/useTreeCollapse.d.ts +16 -0
  54. package/package.json +9 -6
@@ -0,0 +1,82 @@
1
+ import { ComputedRef } from 'vue';
2
+ import { EditorController } from '../editor/controller';
3
+ import { Attribute, EmbeddableCatalogEntry, Entity, GroupCodeValue, MultiLangText } from '../core/types';
4
+ import { JavaTypeDef } from '../core/javaTypes';
5
+ export declare function useAttributeEditing(c: EditorController, entityId: () => string): {
6
+ entity: ComputedRef<Entity | null>;
7
+ isEmbeddable: ComputedRef<boolean>;
8
+ focusedAttrIds: ComputedRef<Set<string>>;
9
+ personalInfoItems: string[];
10
+ piiLabel: (v: string) => string;
11
+ idn: <T>(s: T) => T;
12
+ setAttr: (a: Attribute, patch: Partial<Attribute>) => void;
13
+ isManagedFk: (a: Attribute) => boolean;
14
+ setNaturalId: (a: Attribute, v: boolean) => void;
15
+ clearNaturalIdPatch: () => Partial<Attribute>;
16
+ setIdentifier: (a: Attribute, v: boolean) => void;
17
+ setTransient: (a: Attribute, v: boolean) => void;
18
+ dbLocked: (a: Attribute) => boolean;
19
+ fkDerived: (a: Attribute) => boolean;
20
+ fkOriginPhysical: (a: Attribute, i?: number) => string | undefined;
21
+ typeValueOf: (t: JavaTypeDef) => string;
22
+ typeLabelOf: (t: JavaTypeDef) => string;
23
+ setAttrType: (a: Attribute, v: string | undefined) => void;
24
+ setAttrCustomType: (a: Attribute, v: string) => void;
25
+ setDb: (a: Attribute, patch: Record<string, unknown>) => void;
26
+ scaleApplicable: (a: Attribute) => boolean;
27
+ scaleHint: (a: Attribute) => string | undefined;
28
+ setDbLogical: (a: Attribute, value: MultiLangText) => void;
29
+ setAttrDescription: (a: Attribute, value: MultiLangText) => void;
30
+ attrPiiValue: (a: Attribute) => string;
31
+ setAttrPii: (a: Attribute, v: string) => void;
32
+ predefinedCustomTypeCatalog: ComputedRef<import('..').PredefinedCustomTypeCatalog>;
33
+ embeddableCatalog: ComputedRef<import('..').EmbeddableCatalog>;
34
+ predefinedLabel: (e: EmbeddableCatalogEntry) => string;
35
+ groupCodeCatalog: ComputedRef<import('..').GroupCodeCatalog>;
36
+ attrGroupCodes: (a: Attribute) => GroupCodeValue[];
37
+ attrCodeItems: (a: Attribute) => (GroupCodeValue | "none")[];
38
+ codeValueOf: (v: GroupCodeValue | "none") => string;
39
+ codeLabelOf: (v: GroupCodeValue | "none") => string;
40
+ setAttrGroupCode: (a: Attribute, v: string | undefined) => void;
41
+ setAttrCode: (a: Attribute, v: string) => void;
42
+ setAttrDefaultValue: (a: Attribute, v: string) => void;
43
+ isEmbedExpanded: (a: Attribute) => boolean;
44
+ setDbAt: (a: Attribute, i: number, patch: Record<string, unknown>) => void;
45
+ setDbLogicalAt: (a: Attribute, i: number, value: MultiLangText) => void;
46
+ embedColMeta: (a: Attribute, i: number) => {
47
+ name?: string;
48
+ physicalName?: string;
49
+ dataType?: string;
50
+ length?: number;
51
+ scale?: number;
52
+ shareable?: boolean;
53
+ logicalName?: MultiLangText;
54
+ } | undefined;
55
+ fixedDataType: (a: Attribute, i: number) => string;
56
+ fixedLength: (a: Attribute, i: number) => number | undefined;
57
+ fixedScale: (a: Attribute, i: number) => number | undefined;
58
+ updatableItems: string[];
59
+ updatableLabel: (v: string) => string;
60
+ updatableValue: (col: Attribute["dbAttrs"][number] | undefined) => string;
61
+ setUpdatableAt: (a: Attribute, i: number, v: string) => void;
62
+ setUpdatable: (a: Attribute, v: string) => void;
63
+ insertableItems: string[];
64
+ insertableLabel: (v: string) => string;
65
+ insertableValue: (col: Attribute["dbAttrs"][number] | undefined) => string;
66
+ setInsertableAt: (a: Attribute, i: number, v: string) => void;
67
+ setInsertable: (a: Attribute, v: string) => void;
68
+ scopeEntities: ComputedRef<Entity[]>;
69
+ columnsById: ComputedRef<Map<string, import('..').DbColumn>>;
70
+ sharedCandidates: ComputedRef<{
71
+ modelId: string;
72
+ physical: string;
73
+ isCurrency: boolean;
74
+ ownerName: string | undefined;
75
+ }[]>;
76
+ sharedItems: () => string[];
77
+ sharedLabel: (v: string) => string;
78
+ sharedValue: (col: Attribute["dbAttrs"][number] | undefined) => string;
79
+ setSharedAt: (a: Attribute, i: number, v: string) => void;
80
+ isShared: (col: Attribute["dbAttrs"][number] | undefined) => boolean;
81
+ sharedPhysical: (col: Attribute["dbAttrs"][number]) => string;
82
+ };
@@ -0,0 +1,16 @@
1
+ export interface TreeCollapseOptions {
2
+ /** 접기 가능한(=자식 있는) 노드 키 — `toggleAll`·`allExpanded` 계산 입력. */
3
+ expandableKeys: () => readonly string[];
4
+ /** 명시 토글이 없을 때의 기본 접힘 여부. 키의 순수 함수여야 한다. */
5
+ defaultCollapsed: (key: string) => boolean;
6
+ /** sessionStorage 보존 키. 생략 시 보존하지 않음. */
7
+ storageKey?: string;
8
+ /** 보존 슬롯 스코프(다이어그램 id 등). 바뀌면 다른 슬롯을 읽는다. */
9
+ scope?: () => string;
10
+ }
11
+ export declare function useTreeCollapse(opts: TreeCollapseOptions): {
12
+ isCollapsed: (key: string) => boolean;
13
+ toggle: (key: string) => void;
14
+ toggleAll: () => void;
15
+ allExpanded: import('vue').ComputedRef<boolean>;
16
+ };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@g1cloud/entity-modeler-next",
3
3
  "private": false,
4
- "version": "5.0.0-beta.9",
4
+ "version": "5.0.0",
5
5
  "description": "Vue 3 visual entity-modeling / class-diagram editor",
6
6
  "type": "module",
7
7
  "files": [
@@ -31,21 +31,21 @@
31
31
  "@vue-flow/background": "^1.3.2",
32
32
  "@vue-flow/controls": "^1.1.2",
33
33
  "@vue-flow/core": "^1.42.1",
34
- "@vue-flow/minimap": "^1.5.2",
35
- "pinia": "^2.2.0"
34
+ "@vue-flow/minimap": "^1.5.2"
36
35
  },
37
36
  "devDependencies": {
38
37
  "@g1cloud/open-bluesea-core": "1.0.0-alpha.9",
39
38
  "@tailwindcss/vite": "^4.1.0",
40
39
  "@types/node": "^25.9.2",
41
40
  "@vitejs/plugin-vue": "^5.2.0",
41
+ "@vitest/coverage-v8": "3.2.7",
42
42
  "jsdom": "^25.0.0",
43
43
  "playwright": "^1.60.0",
44
44
  "tailwindcss": "^4.1.0",
45
45
  "typescript": "^5.6.0",
46
46
  "vite": "^6.0.0",
47
47
  "vite-plugin-dts": "^5.0.3",
48
- "vitest": "^2.1.0",
48
+ "vitest": "^3.0.0",
49
49
  "vue": "^3.5.0",
50
50
  "vue-tsc": "^2.1.0"
51
51
  },
@@ -55,7 +55,10 @@
55
55
  "preview": "vite preview",
56
56
  "test": "vitest run",
57
57
  "test:watch": "vitest",
58
- "verify:m0": "node scripts/verify-m0.mjs",
59
- "typecheck": "vue-tsc --noEmit"
58
+ "test:coverage": "vitest run --coverage",
59
+ "verify": "node scripts/verify-all.mjs",
60
+ "verify:floor": "node scripts/verify-all.mjs --update-floor",
61
+ "typecheck": "vue-tsc --noEmit",
62
+ "check": "pnpm run test && pnpm run build"
60
63
  }
61
64
  }