@g1cloud/entity-modeler-next 5.0.0-beta.5 → 5.0.0-beta.51

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 (57) 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 +175 -4
  5. package/dist/agent/symbolicOp.d.ts +18 -1
  6. package/dist/command/commands.d.ts +4 -3
  7. package/dist/command/op.d.ts +35 -1
  8. package/dist/command/opSync.d.ts +11 -1
  9. package/dist/command/stack.d.ts +11 -1
  10. package/dist/core/associationNav.d.ts +20 -0
  11. package/dist/core/attributeOrder.d.ts +9 -0
  12. package/dist/core/columnResolve.d.ts +36 -0
  13. package/dist/core/embedSlots.d.ts +18 -0
  14. package/dist/core/fkDerived.d.ts +37 -0
  15. package/dist/core/indexCleanup.d.ts +16 -0
  16. package/dist/core/indexColumnRef.d.ts +27 -0
  17. package/dist/core/javaTypes.d.ts +5 -0
  18. package/dist/core/opSubject.d.ts +54 -0
  19. package/dist/core/projectActionLog.d.ts +7 -10
  20. package/dist/core/projectSeqDiff.d.ts +41 -0
  21. package/dist/core/propagation.d.ts +19 -2
  22. package/dist/core/quickFix.d.ts +9 -4
  23. package/dist/core/resolve.d.ts +0 -3
  24. package/dist/core/scaffoldJava.d.ts +30 -1
  25. package/dist/core/stereotype.d.ts +2 -0
  26. package/dist/core/text.d.ts +2 -1
  27. package/dist/core/types.d.ts +7 -0
  28. package/dist/core/validation.d.ts +1 -13
  29. package/dist/editor/association.d.ts +18 -0
  30. package/dist/editor/attribute.d.ts +25 -0
  31. package/dist/editor/clipboardImport.d.ts +23 -0
  32. package/dist/editor/commandPlans.d.ts +111 -0
  33. package/dist/editor/controller.d.ts +34 -20
  34. package/dist/editor/entity.d.ts +19 -0
  35. package/dist/editor/group.d.ts +22 -0
  36. package/dist/editor/hostSync.d.ts +30 -0
  37. package/dist/editor/note.d.ts +11 -0
  38. package/dist/editor/selection.d.ts +22 -0
  39. package/dist/entity-modeler-next.css +1 -1
  40. package/dist/entity-modeler.js +16745 -13745
  41. package/dist/entity-modeler.umd.cjs +33 -29
  42. package/dist/i18n/ko.d.ts +63 -1
  43. package/dist/index.d.ts +28 -23
  44. package/dist/view/ColumnLangSelect.vue.d.ts +16 -0
  45. package/dist/view/DiagramCanvas.vue.d.ts +9 -0
  46. package/dist/view/DiagramExplorer.vue.d.ts +7 -2
  47. package/dist/view/HistoryPanel.vue.d.ts +3 -0
  48. package/dist/view/MultiLangTextField.vue.d.ts +7 -0
  49. package/dist/view/columnResolution.d.ts +91 -0
  50. package/dist/view/diffOverlay.d.ts +14 -0
  51. package/dist/view/embedSlotCollapse.d.ts +36 -0
  52. package/dist/view/nodeInternals.d.ts +15 -0
  53. package/dist/view/opConflictNotice.d.ts +8 -6
  54. package/dist/view/swatches.d.ts +3 -2
  55. package/dist/view/useAttributeEditing.d.ts +82 -0
  56. package/dist/view/useTreeCollapse.d.ts +16 -0
  57. package/package.json +9 -6
@@ -0,0 +1,19 @@
1
+ import { Ref } from 'vue';
2
+ import { Command, EditorState } from '../command/types';
3
+ import { EditorController } from './controller';
4
+ import { ModelId } from '../core/types';
5
+ /** 이 축이 팩토리 클로저에서 쓰는 것 전부. 늘어나면 여기 선언이 먼저 늘어난다(= 의존 인벤토리). */
6
+ export interface EntityContext {
7
+ /** 편집 대상 reactive 상태(속성만 교체되므로 참조 안정). */
8
+ state: EditorState;
9
+ /** 조회 모드 판정 — `addEntity`가 `null`을 돌려주려면 run()의 no-op 백스톱보다 앞에서 봐야 한다. */
10
+ editable: Ref<boolean>;
11
+ /** 모델 변경의 단일 실행점(조회 모드 no-op + 안내). */
12
+ run: (c: Command) => void;
13
+ /** 잠금 게이트 — 차단 시 true + 안내 emit(사용자 intent 경로). */
14
+ gateEntityLocked: (id: ModelId) => boolean;
15
+ /** 순수 잠금 조회 — 공개 질의의 위임 대상. **안내를 내지 않는다**(위 ⚠️ 참고). */
16
+ isEntityLockedFn: (id: ModelId) => boolean;
17
+ isAssocLockedFn: (assocId: ModelId) => boolean;
18
+ }
19
+ export declare function createEntityApi(ctx: EntityContext): Pick<EditorController, 'addEntity' | 'renameEntity' | 'updateEntity' | 'moveEntity' | 'resizeEntity' | 'removeEntity' | 'setEntitySwatch' | 'setEntityCollapsed' | 'setEntityLocked' | 'isEntityLocked' | 'isAssociationLocked' | 'collapseAll' | 'expandAll'>;
@@ -0,0 +1,22 @@
1
+ import { Ref } from 'vue';
2
+ import { Command, EditorState } from '../command/types';
3
+ import { EditorController, Selection } from './controller';
4
+ import { ModelId } from '../core/types';
5
+ /** 이 축이 팩토리 클로저에서 쓰는 것 전부. 늘어나면 여기 선언이 먼저 늘어난다(= 의존 인벤토리). */
6
+ export interface GroupContext {
7
+ /** 편집 대상 reactive 상태(속성만 교체되므로 참조 안정). */
8
+ state: EditorState;
9
+ /** 조회 모드 판정 — add류가 `null`을 돌려주려면 run()의 no-op 백스톱보다 앞에서 봐야 한다. */
10
+ editable: Ref<boolean>;
11
+ /** 모델 변경의 단일 실행점(조회 모드 no-op + 안내). */
12
+ run: (c: Command) => void;
13
+ /** 그룹 생성 후 선택 해제(사라진 엔티티 선택을 남기지 않는다). */
14
+ selection: Ref<Selection>;
15
+ /** 잠금 게이트(엔티티) — `dropEntity`가 옮기는 대상이 엔티티라서 필요하다. */
16
+ gateEntityLocked: (id: ModelId) => boolean;
17
+ /** 잠금 게이트(그룹) — 차단 시 true + 안내 emit. */
18
+ gateGroupLocked: (groupId: ModelId) => boolean;
19
+ /** 순수 잠금 조회 — 공개 질의 `isGroupLocked`의 위임 대상. **안내를 내지 않는다**(위 ⚠️). */
20
+ isGroupLockedFn: (groupId: ModelId) => boolean;
21
+ }
22
+ export declare function createGroupApi(ctx: GroupContext): Pick<EditorController, 'dragGroup' | 'resizeGroup' | 'setGroupSwatch' | 'setGroupLocked' | 'isGroupLocked' | 'updateGroup' | 'createGroup' | 'addEmptyGroup' | 'removeGroup' | 'dropEntity' | 'ungroupEntity' | 'dropNote'>;
@@ -0,0 +1,30 @@
1
+ import { ComputedRef, Ref } from 'vue';
2
+ import { EditorState } from '../command/types';
3
+ import { CommandStack } from '../command/stack';
4
+ import { DiagramMeta } from '../adapter/diagramAdapter';
5
+ import { OpConflict } from '../command/op';
6
+ import { OpSyncTransport } from '../command/opSync';
7
+ import { EditorController, HistoryTransport, RestoreTransport } from './controller';
8
+ /** 이 축이 팩토리 클로저에서 쓰는 것 전부(주입 옵션 4 + 상태 4). 늘어나면 여기 선언이 먼저 늘어난다. */
9
+ export interface HostSyncContext {
10
+ state: EditorState;
11
+ /** op-mode 게이트(schemaVersion>=2 && opWriteEnabled) — attach·가용성 판정 공용. */
12
+ opMode: ComputedRef<boolean>;
13
+ /** 프리즈 시 편집 잠금(쓰기) + 복원 가용성 판정(읽기). */
14
+ editable: Ref<boolean>;
15
+ /** 하드 프리즈 충돌 노출(쓰기). */
16
+ opConflict: Ref<OpConflict | null>;
17
+ opTransport?: OpSyncTransport;
18
+ onOpError?: (err: unknown) => void;
19
+ historyTransport?: HistoryTransport;
20
+ restoreTransport?: RestoreTransport;
21
+ }
22
+ export interface HostSyncBinding extends Pick<EditorController, 'historyTransport' | 'historyAvailable' | 'restoreTransport' | 'restoreAvailable' | 'restoreToSeq' | 'reloadRequest' | 'flush' | 'whenOpsSettled'> {
23
+ /**
24
+ * op 어댑터 (재)구성 — 최초 생성과 `loadDiagram` 양쪽에서 호출한다.
25
+ * `stack`·`meta`를 **캡처하지 않고 이 시점에 받는 것**이 이 분리의 핵심이다(reload가 둘 다 교체한다).
26
+ */
27
+ setupOpAdapter(stack: CommandStack, meta: DiagramMeta | undefined): void;
28
+ teardownOpAdapter(): void;
29
+ }
30
+ export declare function createHostSync(ctx: HostSyncContext): HostSyncBinding;
@@ -0,0 +1,11 @@
1
+ import { Ref } from 'vue';
2
+ import { Command } from '../command/types';
3
+ import { EditorController } from './controller';
4
+ /** 이 축이 팩토리 클로저에서 쓰는 것 전부. 늘어나면 여기 선언이 먼저 늘어난다(= 의존 인벤토리). */
5
+ export interface NoteContext {
6
+ /** 조회 모드 판정 — `addNote`가 `null`을 돌려주려면 run()의 no-op 백스톱보다 앞에서 봐야 한다. */
7
+ editable: Ref<boolean>;
8
+ /** 모델 변경의 단일 실행점(조회 모드 no-op + 안내). */
9
+ run: (c: Command) => void;
10
+ }
11
+ export declare function createNoteApi(ctx: NoteContext): Pick<EditorController, 'addNote' | 'removeNote' | 'moveNote' | 'resizeNote' | 'setNoteMemo' | 'setNoteSwatch' | 'addNoteConnection' | 'removeNoteConnection' | 'moveNoteConnectionWaypoint' | 'addNoteConnectionWaypoint' | 'removeNoteConnectionWaypoint' | 'clearNoteConnectionWaypoints'>;
@@ -0,0 +1,22 @@
1
+ import { Ref } from 'vue';
2
+ import { Command, EditorState } from '../command/types';
3
+ import { EditorController, Selection } from './controller';
4
+ import { ModelId } from '../core/types';
5
+ /** 이 축이 팩토리 클로저에서 쓰는 것 전부. 늘어나면 여기 선언이 먼저 늘어난다(= 의존 인벤토리). */
6
+ export interface SelectionContext {
7
+ state: EditorState;
8
+ selection: Ref<Selection>;
9
+ /** 캔버스 센터링 요청 신호(requestFocus가 nonce를 올려 발화). */
10
+ focusRequest: Ref<{
11
+ id: ModelId;
12
+ nonce: number;
13
+ } | null>;
14
+ /** 모델 변경의 단일 실행점(조회 모드 no-op + 안내). */
15
+ run: (c: Command) => void;
16
+ /** 잠금 게이트 — 차단 시 true + 안내 emit. */
17
+ gateEntityLocked: (id: ModelId) => boolean;
18
+ /** 순수 잠금 조회(다중 이동에서 잠긴 대상만 건너뛴다 — 안내는 내지 않는다). */
19
+ isEntityLockedFn: (id: ModelId) => boolean;
20
+ isGroupLockedFn: (id: ModelId) => boolean;
21
+ }
22
+ export declare function createSelectionApi(ctx: SelectionContext): Pick<EditorController, 'selectAttribute' | 'moveAttributeFocus' | 'nudgeSelectedAttributes' | 'nudgeNodes' | 'requestFocus'>;