@formicoidea/labre-framework-ddd-event-storming 0.36.0 → 0.37.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/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/reading.d.ts +33 -0
- package/dist/reading.js +54 -0
- package/dist/translations.js +7 -1
- package/dist/view.js +8 -1
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -10,3 +10,4 @@ export { eventStormingTemplateCategory } from './templates.js';
|
|
|
10
10
|
export { eventStormingSeniorTool } from './toolbar/senior-tool.js';
|
|
11
11
|
export { EdgelessDddEventStormingSeniorButton } from './toolbar/senior-button.js';
|
|
12
12
|
export { DddEventStormingRenderViewExtension, DddEventStormingViewExtension, } from './view.js';
|
|
13
|
+
export { EVENT_STORMING_READING } from './reading.js';
|
package/dist/index.js
CHANGED
|
@@ -13,3 +13,4 @@ export { eventStormingTemplateCategory } from './templates.js';
|
|
|
13
13
|
export { eventStormingSeniorTool } from './toolbar/senior-tool.js';
|
|
14
14
|
export { EdgelessDddEventStormingSeniorButton } from './toolbar/senior-button.js';
|
|
15
15
|
export { DddEventStormingRenderViewExtension, DddEventStormingViewExtension, } from './view.js';
|
|
16
|
+
export { EVENT_STORMING_READING } from './reading.js';
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { ReadingProfile } from '@formicoidea/labre-core/blocks/surface';
|
|
2
|
+
/**
|
|
3
|
+
* What an Event Storming board lets the tool read of a sticky (MF3, the
|
|
4
|
+
* reversed reading).
|
|
5
|
+
*
|
|
6
|
+
* DATA, like the rules and the profiles beside it: the engine
|
|
7
|
+
* (`@labre/affine-block-surface`) knows how to read a role and a typed edge — it
|
|
8
|
+
* knows nothing about Event Storming. Everything below is already stated in
|
|
9
|
+
* `roles.ts` and is merely POINTED AT here.
|
|
10
|
+
*
|
|
11
|
+
* Registered from the FLAG-GATED view extension: reading a board is tooling, so
|
|
12
|
+
* a roll whose flag is off keeps every sticky it has and simply stops being read
|
|
13
|
+
* (ADR 0009).
|
|
14
|
+
*
|
|
15
|
+
* ## One subject, nine kinds
|
|
16
|
+
*
|
|
17
|
+
* `es:sticky` is the parent of all nine, so one profile reads them all and the
|
|
18
|
+
* panel's type line says which ("Domain event › Sticky"). The board is the
|
|
19
|
+
* FRAME and specialises nothing, exactly so that what is written about the
|
|
20
|
+
* stickies never falls on the roll they are stuck to.
|
|
21
|
+
*
|
|
22
|
+
* The two kinds outside the grammar — the hotspot and the constraint — are read
|
|
23
|
+
* like the other seven, and deliberately: being outside `es.forbidden-arc`'s
|
|
24
|
+
* alphabet means no rule judges them, not that nobody may ask what they are.
|
|
25
|
+
*
|
|
26
|
+
* ## No nature, no phase
|
|
27
|
+
*
|
|
28
|
+
* The framework ships no type-3 tag pack: the nine kinds ARE the roles. And the
|
|
29
|
+
* roll's timeline is a direction the FLOW states, not a set of declared zones a
|
|
30
|
+
* position could be read against — `es.against-timeline` reads the edge, and so
|
|
31
|
+
* does the section below.
|
|
32
|
+
*/
|
|
33
|
+
export declare const EVENT_STORMING_READING: ReadingProfile;
|
package/dist/reading.js
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { ES_ROLE, EVENT_STORMING_ROLES } from './roles.js';
|
|
2
|
+
/**
|
|
3
|
+
* What an Event Storming board lets the tool read of a sticky (MF3, the
|
|
4
|
+
* reversed reading).
|
|
5
|
+
*
|
|
6
|
+
* DATA, like the rules and the profiles beside it: the engine
|
|
7
|
+
* (`@labre/affine-block-surface`) knows how to read a role and a typed edge — it
|
|
8
|
+
* knows nothing about Event Storming. Everything below is already stated in
|
|
9
|
+
* `roles.ts` and is merely POINTED AT here.
|
|
10
|
+
*
|
|
11
|
+
* Registered from the FLAG-GATED view extension: reading a board is tooling, so
|
|
12
|
+
* a roll whose flag is off keeps every sticky it has and simply stops being read
|
|
13
|
+
* (ADR 0009).
|
|
14
|
+
*
|
|
15
|
+
* ## One subject, nine kinds
|
|
16
|
+
*
|
|
17
|
+
* `es:sticky` is the parent of all nine, so one profile reads them all and the
|
|
18
|
+
* panel's type line says which ("Domain event › Sticky"). The board is the
|
|
19
|
+
* FRAME and specialises nothing, exactly so that what is written about the
|
|
20
|
+
* stickies never falls on the roll they are stuck to.
|
|
21
|
+
*
|
|
22
|
+
* The two kinds outside the grammar — the hotspot and the constraint — are read
|
|
23
|
+
* like the other seven, and deliberately: being outside `es.forbidden-arc`'s
|
|
24
|
+
* alphabet means no rule judges them, not that nobody may ask what they are.
|
|
25
|
+
*
|
|
26
|
+
* ## No nature, no phase
|
|
27
|
+
*
|
|
28
|
+
* The framework ships no type-3 tag pack: the nine kinds ARE the roles. And the
|
|
29
|
+
* roll's timeline is a direction the FLOW states, not a set of declared zones a
|
|
30
|
+
* position could be read against — `es.against-timeline` reads the edge, and so
|
|
31
|
+
* does the section below.
|
|
32
|
+
*/
|
|
33
|
+
export const EVENT_STORMING_READING = {
|
|
34
|
+
id: 'event-storming',
|
|
35
|
+
framework: 'ddd-event-storming',
|
|
36
|
+
roles: EVENT_STORMING_ROLES,
|
|
37
|
+
appliesTo: ES_ROLE.sticky,
|
|
38
|
+
relation: {
|
|
39
|
+
edgeRole: ES_ROLE.flow,
|
|
40
|
+
// ADR 0010 tier 2 on this role: the verb is "leads to", so the SOURCE is
|
|
41
|
+
// what happens FIRST. An edge leaving the subject names what follows it,
|
|
42
|
+
// one arriving names what it follows.
|
|
43
|
+
sides: {
|
|
44
|
+
consumer: {
|
|
45
|
+
labelKey: 'com.labre.event-storming.reading.relations.consumer',
|
|
46
|
+
labelFallback: 'Follows',
|
|
47
|
+
},
|
|
48
|
+
supplier: {
|
|
49
|
+
labelKey: 'com.labre.event-storming.reading.relations.supplier',
|
|
50
|
+
labelFallback: 'Leads to',
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
};
|
package/dist/translations.js
CHANGED
|
@@ -3,6 +3,7 @@ import { EVENT_STORMING_BACKGROUND } from './background.js';
|
|
|
3
3
|
import { eventStormingCommands } from './commands.js';
|
|
4
4
|
import { EVENT_STORMING_NUDGES } from './nudges.js';
|
|
5
5
|
import { EVENT_STORMING_PROFILES } from './profiles.js';
|
|
6
|
+
import { EVENT_STORMING_READING } from './reading.js';
|
|
6
7
|
import { EVENT_STORMING_ROLES } from './roles.js';
|
|
7
8
|
import { EVENT_STORMING_RULES } from './rules.js';
|
|
8
9
|
/**
|
|
@@ -25,4 +26,9 @@ export const eventStormingTranslationEntries = mergeTranslationEntries(commandTr
|
|
|
25
26
|
// registry names no framework category in the bundled distribution, so a
|
|
26
27
|
// host that composed core's manifest alone drew translated entries under
|
|
27
28
|
// English headers (#183).
|
|
28
|
-
commandCategoryTranslationEntries(eventStormingCommands), collectTranslationKeys('role', EVENT_STORMING_ROLES), collectTranslationKeys('background', EVENT_STORMING_BACKGROUND), collectTranslationKeys('rule', EVENT_STORMING_RULES), collectTranslationKeys('nudge', EVENT_STORMING_NUDGES), collectTranslationKeys('profile', EVENT_STORMING_PROFILES)
|
|
29
|
+
commandCategoryTranslationEntries(eventStormingCommands), collectTranslationKeys('role', EVENT_STORMING_ROLES), collectTranslationKeys('background', EVENT_STORMING_BACKGROUND), collectTranslationKeys('rule', EVENT_STORMING_RULES), collectTranslationKeys('nudge', EVENT_STORMING_NUDGES), collectTranslationKeys('profile', EVENT_STORMING_PROFILES),
|
|
30
|
+
// LAST, and the order is load-bearing: a reading profile carries the
|
|
31
|
+
// framework's own `roles`, so walking it reaches every role key the `role`
|
|
32
|
+
// line above already named. `mergeTranslationEntries` keeps the FIRST
|
|
33
|
+
// occurrence, which is what makes each key report the source it comes from.
|
|
34
|
+
collectTranslationKeys('reading', EVENT_STORMING_READING));
|
package/dist/view.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { morphToolbarConfig, QualityNudgeExtension, validationToolbarConfig, ValidationProfileExtension, ValidationRuleExtension, } from '@formicoidea/labre-core/blocks/surface';
|
|
1
|
+
import { morphToolbarConfig, QualityNudgeExtension, ReadingProfileExtension, validationToolbarConfig, ValidationProfileExtension, ValidationRuleExtension, } from '@formicoidea/labre-core/blocks/surface';
|
|
2
2
|
import { ViewExtensionProvider, } from '@formicoidea/labre-core/ext-loader';
|
|
3
3
|
import { ToolbarModuleExtension, toolbarModuleKey, } from '@formicoidea/labre-core/shared/services';
|
|
4
4
|
import { BlockFlavourIdentifier, CommandExtension } from '@formicoidea/labre-core/std';
|
|
@@ -10,6 +10,7 @@ import { EventStormingInteraction, EventStormingView } from './element-view.js';
|
|
|
10
10
|
import { EVENT_STORMING_MORPH_SPEC } from './morph.js';
|
|
11
11
|
import { EVENT_STORMING_NUDGES } from './nudges.js';
|
|
12
12
|
import { EVENT_STORMING_PROFILES } from './profiles.js';
|
|
13
|
+
import { EVENT_STORMING_READING } from './reading.js';
|
|
13
14
|
import { EVENT_STORMING_ROLES } from './roles.js';
|
|
14
15
|
import { EVENT_STORMING_RULES } from './rules.js';
|
|
15
16
|
import { eventStormingBoardToolbarExtension } from './toolbar/board-config.js';
|
|
@@ -81,6 +82,12 @@ export class DddEventStormingViewExtension extends ViewExtensionProvider {
|
|
|
81
82
|
id: BlockFlavourIdentifier('custom:affine:surface:eventStorming'),
|
|
82
83
|
config: validationToolbarConfig,
|
|
83
84
|
}));
|
|
85
|
+
// The reversed reading (MF3): what the board says about a sticky, on
|
|
86
|
+
// demand. One declaration — the roles and the flow edge, both already
|
|
87
|
+
// stated elsewhere in this framework. The CLICK that triggers it is
|
|
88
|
+
// registered once by the surface and gated by the presence of this
|
|
89
|
+
// profile, so it goes with the flag without either side naming the other.
|
|
90
|
+
context.register(ReadingProfileExtension(EVENT_STORMING_READING));
|
|
84
91
|
context.register(eventStormingSeniorTool);
|
|
85
92
|
context.register(CommandExtension(eventStormingCommands, eventStormingCommandIcons));
|
|
86
93
|
// The "Change type" dropdown on a selected STICKY's contextual toolbar —
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@formicoidea/labre-framework-ddd-event-storming",
|
|
3
3
|
"description": "Labre ddd-event-storming framework for @formicoidea/labre-core.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.37.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
7
7
|
"author": "lajola",
|
|
@@ -31,8 +31,8 @@
|
|
|
31
31
|
"dist"
|
|
32
32
|
],
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@formicoidea/labre-core": "0.
|
|
35
|
-
"@formicoidea/labre-ddd-shared": "0.
|
|
34
|
+
"@formicoidea/labre-core": "0.37.0",
|
|
35
|
+
"@formicoidea/labre-ddd-shared": "0.37.0",
|
|
36
36
|
"lit": "^3.2.0"
|
|
37
37
|
}
|
|
38
38
|
}
|