@ddd-tool/domain-designer-ui-component 0.1.0-beta.8 → 0.3.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.
@@ -0,0 +1,80 @@
1
+ export declare const DIAGRAM_STORAGE_PLUGIN: import('vue-fn/domain').DomainSetupPlugin<
2
+ import('vue-fn/domain').DomainSingletonAgg<
3
+ {
4
+ renderConfig: {
5
+ ranker: import('./types').Ranker
6
+ padding: number
7
+ fontSize: number
8
+ edges: import('./types').EdgeType
9
+ bendSize: number
10
+ }
11
+ design: import('vue').ComputedRef<
12
+ import('@ddd-tool/domain-designer-core').DomainDesigner | undefined
13
+ >
14
+ designKeys: import('vue').ComputedRef<string[]>
15
+ designRecords: import('vue').Ref<
16
+ Record<string, import('@ddd-tool/domain-designer-core').DomainDesigner>,
17
+ Record<string, import('@ddd-tool/domain-designer-core').DomainDesigner>
18
+ >
19
+ code: import('vue').ComputedRef<string>
20
+ userStories: import('vue').ComputedRef<Record<string, string[]>>
21
+ workflows: import('vue').ComputedRef<Record<string, string[]>>
22
+ workflowPlayInterval: import('vue').Ref<number, number>
23
+ currentWorkflow: import('vue').Ref<string | undefined, string | undefined>
24
+ currentStory: import('vue').Ref<string, string>
25
+ currentDesignKey: import('vue').Ref<string | undefined, string | undefined>
26
+ currentNode: import('vue').Ref<string | undefined, string | undefined>
27
+ downloadEnabled: import('vue').Ref<boolean, boolean>
28
+ linkReadModel: import('vue').Ref<boolean, boolean>
29
+ linkSystem: import('vue').Ref<boolean, boolean>
30
+ builtinStoryMode: import('vue').Ref<boolean, boolean>
31
+ customWorkflowNames: import('vue').Ref<string[], string[]>
32
+ },
33
+ {
34
+ focusFlow: {
35
+ (workflow: undefined, userStory?: undefined): void
36
+ (workflow: string, userStory: string): void
37
+ }
38
+ downloadSvg(): void
39
+ getFilteredContext(): {
40
+ aggs: import('@ddd-tool/domain-designer-core').DomainDesignAgg<any>[]
41
+ commands: import('@ddd-tool/domain-designer-core').DomainDesignCommand<any>[]
42
+ facadeCommands: import('@ddd-tool/domain-designer-core').DomainDesignFacadeCommand<any>[]
43
+ events: import('@ddd-tool/domain-designer-core').DomainDesignEvent<any>[]
44
+ services: import('@ddd-tool/domain-designer-core').DomainDesignService[]
45
+ actors: import('@ddd-tool/domain-designer-core').DomainDesignActor[]
46
+ policies: import('@ddd-tool/domain-designer-core').DomainDesignPolicy[]
47
+ readModels: import('@ddd-tool/domain-designer-core').DomainDesignReadModel<any>[]
48
+ systems: import('@ddd-tool/domain-designer-core').DomainDesignSystem[]
49
+ links: Record<string, import('@ddd-tool/domain-designer-core/common').LinkType>
50
+ getIdMap: () => Record<string, import('@ddd-tool/domain-designer-core').DomainDesignObject>
51
+ }
52
+ setBuiltinStoryMode(b: boolean): void
53
+ setCustomWorkflowNames(v: string[]): void
54
+ setRenderRanker(v: import('./types').Ranker): void
55
+ setRenderPadding(v: number): void
56
+ setRenderFontSize(v: number): void
57
+ setRenderBendSize(v: number): void
58
+ setRenderEdgesType(v: import('./types').EdgeType): void
59
+ setDownloadEnabled(b: boolean): void
60
+ setWorkflowPlayInterval(i: number): void
61
+ setDisplayReadModel(b: boolean): void
62
+ setDisplaySystem(b: boolean): void
63
+ setCurrentNode(id: string | undefined): void
64
+ switchDesign(key: string): void
65
+ getIdMap(): Record<string, import('@ddd-tool/domain-designer-core').DomainDesignObject>
66
+ },
67
+ {
68
+ onFocusNode: import('vue-fn/domain').DomainBroadcastEvent<{
69
+ id: string | undefined
70
+ }>
71
+ onFocusFlow: import('vue-fn/domain').DomainBroadcastEvent<{
72
+ userStory: string
73
+ workflow: string | undefined
74
+ displayReadModel: import('vue').Ref<boolean, boolean>
75
+ displaySystem: import('vue').Ref<boolean, boolean>
76
+ }>
77
+ onDownloadSvg: import('vue-fn/domain').DomainBroadcastEvent<{}>
78
+ }
79
+ >
80
+ >
@@ -0,0 +1,20 @@
1
+ export declare const EMPTY_STORY = '__Empty__'
2
+ export declare const Ranker: Readonly<{
3
+ readonly NetworkSimplex: 'network-simplex'
4
+ readonly TightTree: 'tight-tree'
5
+ readonly LongestPath: 'longest-path'
6
+ }>
7
+ export type Ranker = Enum<typeof Ranker>
8
+ export declare const EdgeType: Readonly<{
9
+ readonly Rounded: 'rounded'
10
+ readonly Hard: 'hard'
11
+ }>
12
+ export type EdgeType = Enum<typeof EdgeType>
13
+ export type RenderConfig = {
14
+ ranker: Ranker
15
+ padding: number
16
+ fontSize: number
17
+ edges: EdgeType
18
+ bendSize: number
19
+ }
20
+ export declare function defaultRenderConfig(): RenderConfig
@@ -1,21 +1,25 @@
1
- import { type ComputedRef } from 'vue';
2
- import type { I18nMessageKeys } from './message';
3
- export declare const validLanguages: readonly ["zh-CN", "en-US"];
4
- export type Language = (typeof validLanguages)[number];
1
+ import { type ComputedRef } from 'vue'
2
+ import type { I18nMessageKeys } from './message'
3
+ export declare const validLanguages: readonly ['zh-CN', 'en-US']
4
+ export type Language = (typeof validLanguages)[number]
5
5
  export declare function useI18nAgg(): Readonly<{
6
- states: Readonly<{
7
- currentLanguage: Readonly<import("vue").Ref<"zh-CN" | "en-US", "zh-CN" | "en-US">>;
8
- }>;
9
- commands: Readonly<{
10
- setLanguage: (lang: Language) => void;
11
- t: {
12
- (key: I18nMessageKeys, defaultValue?: string): string;
13
- (key: I18nMessageKeys, attr: Record<string, string | number>, defaultValue?: string): string;
14
- };
15
- $t: {
16
- (key: I18nMessageKeys, defaultValue?: string): ComputedRef<string>;
17
- (key: I18nMessageKeys, attr: Record<string, string | number>, defaultValue?: string): ComputedRef<string>;
18
- };
19
- }>;
20
- events: Readonly<{}>;
21
- }>;
6
+ states: Readonly<{
7
+ currentLanguage: Readonly<import('vue').Ref<'zh-CN' | 'en-US', 'zh-CN' | 'en-US'>>
8
+ }>
9
+ commands: Readonly<{
10
+ setLanguage: (lang: Language) => void
11
+ t: {
12
+ (key: I18nMessageKeys, defaultValue?: string): string
13
+ (key: I18nMessageKeys, attr: Record<string, string | number>, defaultValue?: string): string
14
+ }
15
+ $t: {
16
+ (key: I18nMessageKeys, defaultValue?: string): ComputedRef<string>
17
+ (
18
+ key: I18nMessageKeys,
19
+ attr: Record<string, string | number>,
20
+ defaultValue?: string,
21
+ ): ComputedRef<string>
22
+ }
23
+ }>
24
+ events: Readonly<{}>
25
+ }>
@@ -1,3 +1,3 @@
1
- import { type I18nMessages } from '../message';
2
- declare const messages: I18nMessages;
3
- export default messages;
1
+ import { type I18nMessages } from '../message'
2
+ declare const messages: I18nMessages
3
+ export default messages
@@ -1,3 +1,3 @@
1
- import { type I18nMessages } from '../message';
2
- declare const messages: I18nMessages;
3
- export default messages;
1
+ import { type I18nMessages } from '../message'
2
+ declare const messages: I18nMessages
3
+ export default messages
@@ -1,4 +1,42 @@
1
- export type I18nMessageKeys = 'constant.type' | 'constant.type.id' | 'constant.type.document' | 'constant.type.function' | 'constant.type.valueObject' | 'constant.type.version' | 'constant.relatedTypes' | 'constant.note' | 'constant.empty' | 'constant.others' | 'menu.replayWorkflow' | 'menu.focusOnUserStory' | 'menu.focusOnUserStory.focusNothing' | 'menu.focusOnUserStory.animationDuration' | 'menu.completenessAssist' | 'menu.settings' | 'menu.settings.linkExternalSystem' | 'menu.settings.linkReadModel' | 'menu.settings.language' | 'menu.settings.dataSource' | 'menu.help' | 'menu.help.zoom' | 'menu.help.zoom.content' | 'menu.help.drag' | 'menu.help.drag.content' | 'menu.exportSvg' | 'menu.resetPosition';
1
+ export type I18nMessageKeys =
2
+ | 'constant.type'
3
+ | 'constant.type.id'
4
+ | 'constant.type.document'
5
+ | 'constant.type.function'
6
+ | 'constant.type.valueObject'
7
+ | 'constant.type.version'
8
+ | 'constant.relatedTypes'
9
+ | 'constant.note'
10
+ | 'constant.empty'
11
+ | 'constant.others'
12
+ | 'menu.replayWorkflow'
13
+ | 'menu.focusOnUserStory'
14
+ | 'menu.focusOnUserStory.focusNothing'
15
+ | 'menu.focusOnUserStory.animationDuration'
16
+ | 'menu.completenessAssist'
17
+ | 'menu.settings'
18
+ | 'menu.settings.linkExternalSystem'
19
+ | 'menu.settings.linkReadModel'
20
+ | 'menu.settings.language'
21
+ | 'menu.settings.dataSource'
22
+ | 'menu.settings.render'
23
+ | 'menu.settings.render.ranker'
24
+ | 'menu.settings.render.ranker.NetworkSimplex.note'
25
+ | 'menu.settings.render.ranker.TightTree.note'
26
+ | 'menu.settings.render.ranker.LongestPath.note'
27
+ | 'menu.settings.render.padding'
28
+ | 'menu.settings.render.fontSize'
29
+ | 'menu.settings.render.edgesType'
30
+ | 'menu.settings.render.edgesType.rounded'
31
+ | 'menu.settings.render.edgesType.hard'
32
+ | 'menu.settings.render.bendSize'
33
+ | 'menu.help'
34
+ | 'menu.help.zoom'
35
+ | 'menu.help.zoom.content'
36
+ | 'menu.help.drag'
37
+ | 'menu.help.drag.content'
38
+ | 'menu.exportSvg'
39
+ | 'menu.resetPosition'
2
40
  export type I18nMessages = {
3
- [key in I18nMessageKeys]: string;
4
- };
41
+ [key in I18nMessageKeys]: string
42
+ }
@@ -0,0 +1 @@
1
+ export {}
package/index.css CHANGED
@@ -1,127 +1,144 @@
1
1
 
2
- .nomnoml[data-v-ddc71b2c] {
3
- height: 100%;
2
+ .nomnoml[data-v-d8ed1f3a] {
3
+ height: 100%;
4
4
  overflow: auto;
5
- }
5
+ }
6
6
 
7
- .nomnoml text {
7
+ .nomnoml text {
8
8
  cursor: pointer;
9
9
  }
10
10
  @keyframes shining-info {
11
- from {
12
- stroke-width: 1px;
13
- stroke-opacity: 0.2;
14
- stroke: #000;
11
+ from {
12
+ stroke-width: 1px;
13
+ stroke-opacity: 0.2;
14
+ stroke: #000;
15
15
  -webkit-text-stroke-color: #000;
16
16
  }
17
- to {
18
- stroke-width: 1px;
19
- stroke-opacity: 0.8;
20
- stroke: #000;
17
+ to {
18
+ stroke-width: 1px;
19
+ stroke-opacity: 0.8;
20
+ stroke: #000;
21
21
  -webkit-text-stroke-color: #000;
22
22
  }
23
23
  }
24
24
  @keyframes shining-node {
25
- from {
26
- stroke-opacity: 0.2;
27
- stroke: #33322e;
25
+ from {
26
+ stroke-opacity: 0.2;
27
+ stroke: #33322e;
28
28
  -webkit-text-stroke-color: #33322e;
29
29
  }
30
- to {
31
- stroke-opacity: 1;
32
- stroke: #33322e;
30
+ to {
31
+ stroke-opacity: 1;
32
+ stroke: #33322e;
33
33
  -webkit-text-stroke-color: #33322e;
34
34
  }
35
35
  }
36
- .nomnoml .highlight-info:not(.active) text {
37
- animation: shining-info 0.6s alternate infinite;
38
- -webkit-animation: shining-info 0.6s alternate infinite;
36
+ .nomnoml .highlight-info:not(.active) text {
37
+ animation: shining-info 0.6s alternate infinite;
38
+ -webkit-animation: shining-info 0.6s alternate infinite;
39
39
  -moz-animation: shining-info 0.6s alternate infinite;
40
40
  }
41
- .nomnoml .highlight-note:not(.active) {
42
- animation: shining-info 0.6s alternate infinite;
43
- -webkit-animation: shining-info 0.6s alternate infinite;
41
+ .nomnoml .highlight-note:not(.active) {
42
+ animation: shining-info 0.6s alternate infinite;
43
+ -webkit-animation: shining-info 0.6s alternate infinite;
44
44
  -moz-animation: shining-info 0.6s alternate infinite;
45
45
  }
46
- .nomnoml .highlight-node:not(.active) g:first-child {
47
- animation: shining-node 0.6s alternate infinite;
48
- -webkit-animation: shining-node 0.6s alternate infinite;
46
+ .nomnoml .highlight-node:not(.active) g:first-child {
47
+ animation: shining-node 0.6s alternate infinite;
48
+ -webkit-animation: shining-node 0.6s alternate infinite;
49
49
  -moz-animation: shining-node 0.6s alternate infinite;
50
50
  }
51
- .nomnoml g[data-id].active text,
52
- .nomnoml tspan[data-id].active {
53
- stroke-width: 1px;
54
- stroke-opacity: 0.8;
55
- stroke: #000;
51
+ .nomnoml g[data-id].active text,
52
+ .nomnoml tspan[data-id].active {
53
+ stroke-width: 1px;
54
+ stroke-opacity: 0.8;
55
+ stroke: #000;
56
56
  -webkit-text-stroke-color: #000;
57
57
  }
58
- .nomnoml g.node.active {
59
- animation: shining-node 0.6s alternate infinite;
60
- -webkit-animation: shining-node 0.6s alternate infinite;
58
+ .nomnoml g.node.active {
59
+ animation: shining-node 0.6s alternate infinite;
60
+ -webkit-animation: shining-node 0.6s alternate infinite;
61
61
  -moz-animation: shining-node 0.6s alternate infinite;
62
- }
62
+ }
63
63
 
64
- .container {
65
- width: 100vw;
66
- height: 100vh;
67
- background-color: #efefef;
68
- overflow: hidden;
64
+ .container {
65
+ width: 100vw;
66
+ height: 100vh;
67
+ background-color: #efefef;
68
+ overflow: hidden;
69
69
  position: relative;
70
70
  }
71
- .draggable {
72
- position: absolute;
73
- top: 0;
74
- left: 0;
75
- user-select: none;
71
+ .draggable {
72
+ position: absolute;
73
+ top: 0;
74
+ left: 0;
75
+ user-select: none;
76
76
  transform-origin: 0 0; /* 设置缩放原点为左上角 */
77
- }
77
+ }
78
+
79
+ .dock-selector[data-v-419ca8ac] {
80
+ display: inline-block;
81
+ }
82
+ [data-v-419ca8ac] .p-dock-item {
83
+ padding: 0;
84
+ }
85
+ [data-v-419ca8ac] .p-dock-item-content > div {
86
+ padding: 0.5rem;
87
+ }
78
88
 
79
- .p-dock {
80
- opacity: 0.4;
89
+ .p-dock {
90
+ opacity: 0.4;
81
91
  transition: 0.5s;
82
92
  }
83
- .p-dock:hover {
93
+ .p-dock:hover {
84
94
  opacity: 1;
85
95
  }
86
- .p-dock .p-dock-item:hover {
87
- scale: 1.1;
96
+ .p-dock .p-dock-item {
97
+ transition: 0.5s;
98
+ }
99
+ .p-dock .p-dock-item:hover {
100
+ scale: 1.2;
88
101
  }
89
- .toolbar-drawer {
102
+ .toolbar-drawer {
90
103
  width: 40%;
91
104
  }
92
- .toolbar-drawer .datasource {
105
+ .toolbar-drawer .datasource {
93
106
  font-weight: bold;
94
107
  }
95
- .toolbar-drawer .datasource .datasource-item {
96
- display: grid;
97
- grid-template-columns: 20px 1fr;
98
- grid-template-rows: 1fr;
99
- margin: 5px 0;
100
- line-height: 1.5rem;
101
- font-size: 1rem;
108
+ .toolbar-drawer .datasource .datasource-item {
109
+ display: grid;
110
+ grid-template-columns: 20px 1fr;
111
+ grid-template-rows: 1fr;
112
+ margin: 5px 0;
113
+ line-height: 1.5rem;
114
+ font-size: 1rem;
102
115
  border-radius: 5px;
103
116
  }
104
- .toolbar-drawer .datasource .datasource-item :hover {
105
- cursor: pointer;
117
+ .toolbar-drawer .datasource .datasource-item :hover {
118
+ cursor: pointer;
106
119
  background-image: linear-gradient(to bottom, white, rgb(228, 250, 255), white);
107
120
  }
108
- .toolbar-drawer .datasource .datasource-item label {
121
+ .toolbar-drawer .datasource .datasource-item label {
109
122
  padding-left: 5px;
110
123
  }
111
- .root-fieldset {
112
- opacity: 0.9;
113
- white-space: pre-line;
114
- position: absolute;
115
- right: 4rem;
116
- top: 0;
124
+ .root-fieldset {
125
+ opacity: 0.7;
126
+ white-space: pre-line;
127
+ position: absolute;
128
+ right: 4rem;
129
+ top: 0;
117
130
  width: 30%;
131
+ transition: opacity 0.5s ease-out;
118
132
  }
119
- .root-fieldset .note::before {
120
- content: '';
121
- display: inline-block;
122
- height: 1rem;
123
- width: 0.5rem;
124
- border-radius: 0.25rem;
125
- margin-right: 0.5rem;
133
+ .root-fieldset:hover {
134
+ opacity: 1;
135
+ }
136
+ .root-fieldset .note::before {
137
+ content: '';
138
+ display: inline-block;
139
+ height: 1rem;
140
+ width: 0.5rem;
141
+ border-radius: 0.25rem;
142
+ margin-right: 0.5rem;
126
143
  background-color: #4441ff;
127
- }
144
+ }
package/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
- import Aura from '@primeuix/themes/aura';
2
- import PrimeVue from 'primevue/config';
3
- import Tooltip from 'primevue/tooltip';
4
- import Ui from './UI.vue';
5
- export { Ui, PrimeVue, Aura, Tooltip };
1
+ import Aura from '@primeuix/themes/aura'
2
+ import PrimeVue from 'primevue/config'
3
+ import Tooltip from 'primevue/tooltip'
4
+ import './domain/mount-plugin'
5
+ import Ui from './UI.vue'
6
+ export { Ui, PrimeVue, Aura, Tooltip }