@genesislcap/foundation-header 15.17.1 → 15.18.0-notification-listener.1
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/custom-elements.json +93 -0
- package/dist/dts/main/main.d.ts +14 -0
- package/dist/dts/main/main.d.ts.map +1 -1
- package/dist/dts/utils/dump-event-metadata.d.ts +22 -0
- package/dist/dts/utils/dump-event-metadata.d.ts.map +1 -0
- package/dist/dts/utils/index.d.ts +1 -0
- package/dist/dts/utils/index.d.ts.map +1 -1
- package/dist/esm/main/main.js +62 -1
- package/dist/esm/utils/dump-event-metadata.js +61 -0
- package/dist/esm/utils/index.js +1 -0
- package/dist/foundation-header.d.ts +14 -0
- package/package.json +22 -22
|
@@ -597,6 +597,16 @@
|
|
|
597
597
|
"default": "true",
|
|
598
598
|
"description": "Boolean attribute which controls whether to enable inactivity monitoring\nControl via `enable-inactivity-monitoring`"
|
|
599
599
|
},
|
|
600
|
+
{
|
|
601
|
+
"kind": "method",
|
|
602
|
+
"name": "registerEventMetadataDumpHotkey",
|
|
603
|
+
"privacy": "private",
|
|
604
|
+
"return": {
|
|
605
|
+
"type": {
|
|
606
|
+
"text": "void"
|
|
607
|
+
}
|
|
608
|
+
}
|
|
609
|
+
},
|
|
600
610
|
{
|
|
601
611
|
"kind": "method",
|
|
602
612
|
"name": "setLuminance"
|
|
@@ -1357,6 +1367,20 @@
|
|
|
1357
1367
|
"module": "src/main/main.ts"
|
|
1358
1368
|
}
|
|
1359
1369
|
},
|
|
1370
|
+
{
|
|
1371
|
+
"kind": "method",
|
|
1372
|
+
"name": "registerEventMetadataDumpHotkey",
|
|
1373
|
+
"privacy": "private",
|
|
1374
|
+
"return": {
|
|
1375
|
+
"type": {
|
|
1376
|
+
"text": "void"
|
|
1377
|
+
}
|
|
1378
|
+
},
|
|
1379
|
+
"inheritedFrom": {
|
|
1380
|
+
"name": "Navigation",
|
|
1381
|
+
"module": "src/main/main.ts"
|
|
1382
|
+
}
|
|
1383
|
+
},
|
|
1360
1384
|
{
|
|
1361
1385
|
"kind": "method",
|
|
1362
1386
|
"name": "setLuminance",
|
|
@@ -2596,6 +2620,20 @@
|
|
|
2596
2620
|
"module": "src/main/main.ts"
|
|
2597
2621
|
}
|
|
2598
2622
|
},
|
|
2623
|
+
{
|
|
2624
|
+
"kind": "method",
|
|
2625
|
+
"name": "registerEventMetadataDumpHotkey",
|
|
2626
|
+
"privacy": "private",
|
|
2627
|
+
"return": {
|
|
2628
|
+
"type": {
|
|
2629
|
+
"text": "void"
|
|
2630
|
+
}
|
|
2631
|
+
},
|
|
2632
|
+
"inheritedFrom": {
|
|
2633
|
+
"name": "Navigation",
|
|
2634
|
+
"module": "src/main/main.ts"
|
|
2635
|
+
}
|
|
2636
|
+
},
|
|
2599
2637
|
{
|
|
2600
2638
|
"kind": "method",
|
|
2601
2639
|
"name": "setLuminance",
|
|
@@ -3356,6 +3394,20 @@
|
|
|
3356
3394
|
"module": "src/main/main.ts"
|
|
3357
3395
|
}
|
|
3358
3396
|
},
|
|
3397
|
+
{
|
|
3398
|
+
"kind": "method",
|
|
3399
|
+
"name": "registerEventMetadataDumpHotkey",
|
|
3400
|
+
"privacy": "private",
|
|
3401
|
+
"return": {
|
|
3402
|
+
"type": {
|
|
3403
|
+
"text": "void"
|
|
3404
|
+
}
|
|
3405
|
+
},
|
|
3406
|
+
"inheritedFrom": {
|
|
3407
|
+
"name": "Navigation",
|
|
3408
|
+
"module": "src/main/main.ts"
|
|
3409
|
+
}
|
|
3410
|
+
},
|
|
3359
3411
|
{
|
|
3360
3412
|
"kind": "method",
|
|
3361
3413
|
"name": "setLuminance",
|
|
@@ -4440,6 +4492,39 @@
|
|
|
4440
4492
|
"declarations": [],
|
|
4441
4493
|
"exports": []
|
|
4442
4494
|
},
|
|
4495
|
+
{
|
|
4496
|
+
"kind": "javascript-module",
|
|
4497
|
+
"path": "src/utils/dump-event-metadata.ts",
|
|
4498
|
+
"declarations": [
|
|
4499
|
+
{
|
|
4500
|
+
"kind": "function",
|
|
4501
|
+
"name": "dumpEventMetadataToDownload",
|
|
4502
|
+
"return": {
|
|
4503
|
+
"type": {
|
|
4504
|
+
"text": "Promise<EventMetadataDumpFile>"
|
|
4505
|
+
}
|
|
4506
|
+
},
|
|
4507
|
+
"parameters": [
|
|
4508
|
+
{
|
|
4509
|
+
"name": "fileName",
|
|
4510
|
+
"default": "'event-metadata.json'"
|
|
4511
|
+
}
|
|
4512
|
+
],
|
|
4513
|
+
"description": "Fetch all EVENT_HANDLER resources' metadata + JSON Schema and download\n`event-metadata.json` for offline/codegen use (FUI-2608).",
|
|
4514
|
+
"privacy": "public"
|
|
4515
|
+
}
|
|
4516
|
+
],
|
|
4517
|
+
"exports": [
|
|
4518
|
+
{
|
|
4519
|
+
"kind": "js",
|
|
4520
|
+
"name": "dumpEventMetadataToDownload",
|
|
4521
|
+
"declaration": {
|
|
4522
|
+
"name": "dumpEventMetadataToDownload",
|
|
4523
|
+
"module": "src/utils/dump-event-metadata.ts"
|
|
4524
|
+
}
|
|
4525
|
+
}
|
|
4526
|
+
]
|
|
4527
|
+
},
|
|
4443
4528
|
{
|
|
4444
4529
|
"kind": "javascript-module",
|
|
4445
4530
|
"path": "src/utils/index.ts",
|
|
@@ -4452,6 +4537,14 @@
|
|
|
4452
4537
|
"name": "*",
|
|
4453
4538
|
"package": "./logger"
|
|
4454
4539
|
}
|
|
4540
|
+
},
|
|
4541
|
+
{
|
|
4542
|
+
"kind": "js",
|
|
4543
|
+
"name": "*",
|
|
4544
|
+
"declaration": {
|
|
4545
|
+
"name": "*",
|
|
4546
|
+
"package": "./dump-event-metadata"
|
|
4547
|
+
}
|
|
4455
4548
|
}
|
|
4456
4549
|
]
|
|
4457
4550
|
},
|
package/dist/dts/main/main.d.ts
CHANGED
|
@@ -519,6 +519,20 @@ export declare class Navigation extends Navigation_base {
|
|
|
519
519
|
* Called when the component is connected to the DOM
|
|
520
520
|
*/
|
|
521
521
|
connectedCallback(): Promise<void>;
|
|
522
|
+
/**
|
|
523
|
+
* @internal
|
|
524
|
+
* Dev-only: Ctrl/Cmd+Shift+E downloads event-metadata.json for genx --from-metadata (FUI-2608).
|
|
525
|
+
* Listener is scoped on `document` (shared across MF remotes); refcounted so disconnect
|
|
526
|
+
* of one header does not drop the hotkey while others remain.
|
|
527
|
+
*/
|
|
528
|
+
private eventMetadataDumpKeyHandler;
|
|
529
|
+
private registerEventMetadataDumpHotkey;
|
|
530
|
+
/**
|
|
531
|
+
* Capture EVENT_HANDLER metadata + JSON Schema and download event-metadata.json.
|
|
532
|
+
* Intended for development use with `genx generate event-types --from-metadata`.
|
|
533
|
+
* @internal
|
|
534
|
+
*/
|
|
535
|
+
dumpEventMetadata(): Promise<void>;
|
|
522
536
|
/**
|
|
523
537
|
* @internal
|
|
524
538
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/main/main.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAEnE,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAEvD,OAAO,EAAsB,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/main/main.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAEnE,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAEvD,OAAO,EAAsB,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAQpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAEL,SAAS,EAKV,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAUhD;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,2CAA2C;IAC3C,IAAI,EAAE,sBAAsB,CAAC;IAC7B,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,wHAAwH;IACxH,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,oCAAoC;IACpC,OAAO,EAAE,GAAG,CAAC;CACd,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,wBAAwB,EAAE,IAAI,CAAC;IAC/B,gBAAgB,EAAE,IAAI,CAAC;IACvB,mBAAmB,EAAE,IAAI,CAAC;IAC1B,2BAA2B,EAAE,IAAI,CAAC;IAClC,kBAAkB,EAAE,IAAI,CAAC;IACzB,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAClC,oBAAoB,EAAE,oBAAoB,CAAC;CAC5C,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,cAAc,EAAE,qBAAqB,EAAE,CAAC;CACzC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,qBAKa,UAAW,SAAQ,eAAsC;IACzD,SAAS,EAAG,SAAS,CAAC;IACxB,OAAO,EAAG,OAAO,CAAC;IACb,YAAY,EAAG,YAAY,CAAC;IAC7B,WAAW,EAAG,WAAW,CAAC;IACjC,IAAI,EAAE,IAAI,CAAC;IACL,eAAe,EAAE,OAAO,CAAS;IAC7C,YAAY,EAAE,YAAY,CAAC;IAE3B;;;OAGG;IACS,KAAK,EAAE,OAAO,CAAS;IAEnC;;;;;;;OAOG;IAEI,QAAQ,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACS,WAAW,UAAS;IAEhC;;;OAGG;IACH,OAAO,CAAC,iBAAiB,CAAkC;IAE3D;;;;;;OAMG;IAEH,wBAAwB,EAAE,MAAM,CAAsC;IAEtE;;;;;;OAMG;IAEH,wBAAwB,EAAE,MAAM,CAAsC;IAEtE;;;;;;OAMG;IAEH,0BAA0B,EAAE,OAAO,CAAQ;IAE3C;;OAEG;IACU,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB/C;;;;;OAKG;IACH,OAAO,CAAC,2BAA2B,CAAiD;IAEpF,OAAO,CAAC,+BAA+B;IA6BvC;;;;OAIG;IACU,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAS/C;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI;IAMrD,YAAY;IAIZ;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAsBnC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAOhC;;OAEG;IACI,oBAAoB,IAAI,IAAI;IAmBnC;;;;;;;OAOG;IAC8B,OAAO,EAAE,GAAG,CAAQ;IAErD;;;;;;OAMG;IACmC,WAAW,EAAE,MAAM,CAAoB;IAE7E;;;;;;;OAOG;IAEH,yBAAyB,EAAE,OAAO,CAAC;IAEnC;;;;;;;OAOG;IAC8D,oBAAoB,EAAE,OAAO,CAAC;IAE/F;;;;;;;;;OASG;IAEH,uBAAuB,EAAE,OAAO,CAAC;IAEjC;;OAEG;IACH,8BAA8B,IAAI,IAAI;IAItC;;;;OAIG;IAEH,uBAAuB,EAAE,OAAO,CAAQ;IAExC;;;OAGG;IAEH,eAAe,EAAE,OAAO,CAAS;IAEjC;;;OAGG;IAEH,wBAAwB,EAAE,OAAO,CAAS;IAE1C;;;OAGG;IAEH,gBAAgB,EAAE,OAAO,CAAS;IAElC;;;;;;;;OAQG;IAEH,oBAAoB,EAAE,OAAO,CAAS;IAEtC;;OAEG;IACS,eAAe,EAAE,eAAe,CAG1C;IAEF;;;;;;;;OAQG;IAEH,wBAAwB,EAAE,OAAO,CAAS;IAE1C;;;;;;;;OAQG;IACS,kBAAkB,EAAE,kBAAkB,CAAC;IAEnD;;;OAGG;IACS,qBAAqB,UAAS;IAE1C;;OAEG;IACH,yBAAyB,IAAI,IAAI;IAIjC;;OAEG;IACH,+BAA+B,IAAI,IAAI;IAIvC;;;;;;;;OAQG;IACH,OAAO,CAAC,+BAA+B;IAKvC;;;;OAIG;IAEH,WAAW,EAAE,OAAO,CAAC;IAErB;;;;;;;OAOG;IAEH,oBAAoB,EAAE,UAAU,GAAG,cAAc,GAAG,MAAM,CAAc;IAExE;;;;OAIG;IACS,YAAY,EAAE,KAAK,CAAC;QAC9B,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IAEH;;OAEG;IACH,mBAAmB,IAAI,IAAI;IAiB3B;;OAEG;IACS,aAAa,EAAE,sBAAsB,EAAE,CAAC;IAEpD;;;;;;;;;;;;;;;;OAgBG;IACS,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC;IAEhE;;;;;;;;;;;;;;;;;;;;OAoBG;IACS,sBAAsB,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5F;;;;;OAKG;IACI,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO;IAOhE;;;;;;OAMG;IAEH,eAAe,EAAE,OAAO,CAAS;IAEjC;;;;;OAKG;IACH,IAAI,qBAAqB,IAAI,OAAO,CAEnC;IAED;;;;;;;;OAQG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAMlC;;;OAGG;IACH,cAAc,IAAI,YAAY,CAAC,UAAU,CAAC;IAI1C;;;;OAIG;IACU,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAOpC;;;;;;;;;;OAUG;IACI,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAUrC;;;;;OAKG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAI5C;;;;;;;;;OASG;IACH,mBAAmB,IAAI,IAAI;IAI3B;;;;;;;;OAQG;IACH,QAAQ,IAAI,IAAI;IAIhB;;;;;;;;;OASG;IACH,kBAAkB,IAAI,IAAI;IAM1B;;;;;;;;;OASG;IACH,aAAa,IAAI,IAAI;IAIrB;;;;;;;;;OASG;IACH,qBAAqB,IAAI,IAAI;IAI7B;;OAEG;IACH,kBAAkB,IAAI,IAAI;IAI1B;;;;;;;;OAQG;IACH,cAAc,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI;IAKpC;;OAEG;IACH,uBAAuB,IAAI,IAAI;IAI/B;;;;;;;;OAQG;IACH,kBAAkB,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI;IAQlD;;OAEG;IACH,gCAAgC,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE;IAOtE;;;OAGG;IACH,4BAA4B,IAAI,MAAM,EAAE;IAMxC;;;;;;;;OAQG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAMrC;;;OAGG;IACG,oBAAoB,CAAC,YAAY,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB/E;;;OAGG;IACH,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED;;;;;OAKG;IACI,cAAc,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO;CAoBhE;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,gBAAiB,SAAQ,UAAU;IACxC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;CAGnC;AAED;;;;;;GAMG;AACH,qBAKa,UAAW,SAAQ,UAAU;CAAG;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAKa,WAAY,SAAQ,UAAU;IACzC;;;;;;;;OAQG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAMlC,cAAc,IAAI,YAAY,CAAC,UAAU,CAAC;CAG3C"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type Metadata, type SchemaResponse } from '@genesislcap/foundation-comms';
|
|
2
|
+
/**
|
|
3
|
+
* Shape written by {@link dumpEventMetadataToDownload} for
|
|
4
|
+
* `genx generate event-types --from-metadata event-metadata.json`.
|
|
5
|
+
* @public
|
|
6
|
+
*/
|
|
7
|
+
export type EventMetadataDumpFile = {
|
|
8
|
+
capturedAt: string;
|
|
9
|
+
source: string;
|
|
10
|
+
eventCount: number;
|
|
11
|
+
events: Record<string, {
|
|
12
|
+
metadata: Metadata;
|
|
13
|
+
schema: SchemaResponse;
|
|
14
|
+
}>;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Fetch all EVENT_HANDLER resources' metadata + JSON Schema and download
|
|
18
|
+
* `event-metadata.json` for offline/codegen use (FUI-2608).
|
|
19
|
+
* @public
|
|
20
|
+
*/
|
|
21
|
+
export declare function dumpEventMetadataToDownload(fileName?: string): Promise<EventMetadataDumpFile>;
|
|
22
|
+
//# sourceMappingURL=dump-event-metadata.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dump-event-metadata.d.ts","sourceRoot":"","sources":["../../../src/utils/dump-event-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,QAAQ,EACb,KAAK,cAAc,EACpB,MAAM,+BAA+B,CAAC;AAGvC;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CACZ,MAAM,EACN;QACE,QAAQ,EAAE,QAAQ,CAAC;QACnB,MAAM,EAAE,cAAc,CAAC;KACxB,CACF,CAAC;CACH,CAAC;AAkBF;;;;GAIG;AACH,wBAAsB,2BAA2B,CAC/C,QAAQ,SAAwB,GAC/B,OAAO,CAAC,qBAAqB,CAAC,CA6ChC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,uBAAuB,CAAC"}
|
package/dist/esm/main/main.js
CHANGED
|
@@ -5,7 +5,7 @@ import { EventEmitter } from '@genesislcap/foundation-events';
|
|
|
5
5
|
import { I18next } from '@genesislcap/foundation-i18n';
|
|
6
6
|
import { FoundationRouteNav } from '@genesislcap/foundation-ui';
|
|
7
7
|
import { User } from '@genesislcap/foundation-user';
|
|
8
|
-
import { InactivityManager, isFeatureActivated, RouteUtil, setActivatedFeatures, } from '@genesislcap/foundation-utils';
|
|
8
|
+
import { InactivityManager, isDev, isFeatureActivated, RouteUtil, setActivatedFeatures, } from '@genesislcap/foundation-utils';
|
|
9
9
|
import { attr, Container, customElement, GenesisElement, observable, Observable, } from '@genesislcap/web-core';
|
|
10
10
|
import logo from '../assets/logo.svg';
|
|
11
11
|
import { HeaderConfig } from '../config/config';
|
|
@@ -105,6 +105,13 @@ let Navigation = class Navigation extends EventEmitter(GenesisElement) {
|
|
|
105
105
|
* Default is true
|
|
106
106
|
*/
|
|
107
107
|
this.enableInactivityMonitoring = true;
|
|
108
|
+
/**
|
|
109
|
+
* @internal
|
|
110
|
+
* Dev-only: Ctrl/Cmd+Shift+E downloads event-metadata.json for genx --from-metadata (FUI-2608).
|
|
111
|
+
* Listener is scoped on `document` (shared across MF remotes); refcounted so disconnect
|
|
112
|
+
* of one header does not drop the hotkey while others remain.
|
|
113
|
+
*/
|
|
114
|
+
this.eventMetadataDumpKeyHandler = null;
|
|
108
115
|
/**
|
|
109
116
|
* Optional attribute which controls the icon to show on the navigation bar and flyout
|
|
110
117
|
* Control via `logo-src`
|
|
@@ -214,6 +221,47 @@ let Navigation = class Navigation extends EventEmitter(GenesisElement) {
|
|
|
214
221
|
this.notifyFeatureFlagsNavVisibility();
|
|
215
222
|
// React and other hosts often assign object properties after connect.
|
|
216
223
|
queueMicrotask(() => this.notifyFeatureFlagsNavVisibility());
|
|
224
|
+
this.registerEventMetadataDumpHotkey();
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
registerEventMetadataDumpHotkey() {
|
|
228
|
+
if (!isDev() || this.eventMetadataDumpKeyHandler) {
|
|
229
|
+
return;
|
|
230
|
+
}
|
|
231
|
+
const flag = '__foundationHeaderEventMetadataDumpHotkey__';
|
|
232
|
+
const doc = document;
|
|
233
|
+
let state = doc[flag];
|
|
234
|
+
if (!state) {
|
|
235
|
+
const handler = (event) => {
|
|
236
|
+
const modifier = event.ctrlKey || event.metaKey;
|
|
237
|
+
if (modifier && event.shiftKey && event.key.toLowerCase() === 'e') {
|
|
238
|
+
event.preventDefault();
|
|
239
|
+
void import('../utils/dump-event-metadata')
|
|
240
|
+
.then(({ dumpEventMetadataToDownload }) => dumpEventMetadataToDownload())
|
|
241
|
+
.catch((err) => logger.error('Failed to dump event metadata', err));
|
|
242
|
+
}
|
|
243
|
+
};
|
|
244
|
+
document.addEventListener('keydown', handler);
|
|
245
|
+
state = { handler, owners: 0 };
|
|
246
|
+
doc[flag] = state;
|
|
247
|
+
}
|
|
248
|
+
state.owners += 1;
|
|
249
|
+
this.eventMetadataDumpKeyHandler = state.handler;
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Capture EVENT_HANDLER metadata + JSON Schema and download event-metadata.json.
|
|
253
|
+
* Intended for development use with `genx generate event-types --from-metadata`.
|
|
254
|
+
* @internal
|
|
255
|
+
*/
|
|
256
|
+
dumpEventMetadata() {
|
|
257
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
258
|
+
try {
|
|
259
|
+
const { dumpEventMetadataToDownload } = yield import('../utils/dump-event-metadata');
|
|
260
|
+
yield dumpEventMetadataToDownload();
|
|
261
|
+
}
|
|
262
|
+
catch (err) {
|
|
263
|
+
logger.error('Failed to dump event metadata', err);
|
|
264
|
+
}
|
|
217
265
|
});
|
|
218
266
|
}
|
|
219
267
|
/**
|
|
@@ -262,6 +310,19 @@ let Navigation = class Navigation extends EventEmitter(GenesisElement) {
|
|
|
262
310
|
disconnectedCallback() {
|
|
263
311
|
super.disconnectedCallback();
|
|
264
312
|
this.cleanupInactivityManager();
|
|
313
|
+
if (this.eventMetadataDumpKeyHandler) {
|
|
314
|
+
const flag = '__foundationHeaderEventMetadataDumpHotkey__';
|
|
315
|
+
const doc = document;
|
|
316
|
+
const state = doc[flag];
|
|
317
|
+
if ((state === null || state === void 0 ? void 0 : state.handler) === this.eventMetadataDumpKeyHandler) {
|
|
318
|
+
state.owners -= 1;
|
|
319
|
+
if (state.owners <= 0) {
|
|
320
|
+
document.removeEventListener('keydown', state.handler);
|
|
321
|
+
delete doc[flag];
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
this.eventMetadataDumpKeyHandler = null;
|
|
325
|
+
}
|
|
265
326
|
}
|
|
266
327
|
/**
|
|
267
328
|
* @internal
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { getConnect, getGenesisResources, ResourceType, } from '@genesislcap/foundation-comms';
|
|
3
|
+
import { logger } from './logger';
|
|
4
|
+
const downloadJson = (content, fileName) => {
|
|
5
|
+
if (typeof document === 'undefined') {
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
const blob = new Blob([content], { type: 'application/json;charset=utf-8;' });
|
|
9
|
+
const url = URL.createObjectURL(blob);
|
|
10
|
+
const link = document.createElement('a');
|
|
11
|
+
link.href = url;
|
|
12
|
+
link.download = fileName;
|
|
13
|
+
link.style.display = 'none';
|
|
14
|
+
document.body.appendChild(link);
|
|
15
|
+
link.click();
|
|
16
|
+
document.body.removeChild(link);
|
|
17
|
+
URL.revokeObjectURL(url);
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Fetch all EVENT_HANDLER resources' metadata + JSON Schema and download
|
|
21
|
+
* `event-metadata.json` for offline/codegen use (FUI-2608).
|
|
22
|
+
* @public
|
|
23
|
+
*/
|
|
24
|
+
export function dumpEventMetadataToDownload() {
|
|
25
|
+
return __awaiter(this, arguments, void 0, function* (fileName = 'event-metadata.json') {
|
|
26
|
+
const connect = getConnect();
|
|
27
|
+
const resources = yield getGenesisResources().getAllResources();
|
|
28
|
+
const eventResources = resources.filter((r) => !!r.RESOURCE_NAME &&
|
|
29
|
+
(r.RESOURCE_TYPE === ResourceType.EVENT_HANDLER || r.RESOURCE_NAME.startsWith('EVENT_')));
|
|
30
|
+
const events = {};
|
|
31
|
+
const errors = [];
|
|
32
|
+
// Sequential on purpose: dumps can hit hundreds of handlers; unbounded
|
|
33
|
+
// parallelism trips browser connection limits / server rate limits.
|
|
34
|
+
for (const resource of eventResources) {
|
|
35
|
+
const name = resource.RESOURCE_NAME;
|
|
36
|
+
try {
|
|
37
|
+
// oxlint-disable-next-line no-await-in-loop -- intentional sequential dump
|
|
38
|
+
const [metadata, schema] = yield Promise.all([
|
|
39
|
+
connect.getMetadata(name, false),
|
|
40
|
+
connect.getJSONSchema(name),
|
|
41
|
+
]);
|
|
42
|
+
events[name] = { metadata, schema };
|
|
43
|
+
}
|
|
44
|
+
catch (err) {
|
|
45
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
46
|
+
errors.push(`${name}: ${message}`);
|
|
47
|
+
logger.warn(`event metadata dump skipped ${name}`, err);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
const dump = {
|
|
51
|
+
capturedAt: new Date().toISOString(),
|
|
52
|
+
source: typeof location !== 'undefined' ? location.origin : 'unknown',
|
|
53
|
+
eventCount: Object.keys(events).length,
|
|
54
|
+
events,
|
|
55
|
+
};
|
|
56
|
+
downloadJson(`${JSON.stringify(dump, null, 2)}\n`, fileName);
|
|
57
|
+
logger.debug(`event metadata dump: ${dump.eventCount} events downloaded` +
|
|
58
|
+
(errors.length ? ` (${errors.length} failed)` : ''));
|
|
59
|
+
return dump;
|
|
60
|
+
});
|
|
61
|
+
}
|
package/dist/esm/utils/index.js
CHANGED
|
@@ -439,6 +439,20 @@ export declare class Navigation extends Navigation_base {
|
|
|
439
439
|
* Called when the component is connected to the DOM
|
|
440
440
|
*/
|
|
441
441
|
connectedCallback(): Promise<void>;
|
|
442
|
+
/**
|
|
443
|
+
* @internal
|
|
444
|
+
* Dev-only: Ctrl/Cmd+Shift+E downloads event-metadata.json for genx --from-metadata (FUI-2608).
|
|
445
|
+
* Listener is scoped on `document` (shared across MF remotes); refcounted so disconnect
|
|
446
|
+
* of one header does not drop the hotkey while others remain.
|
|
447
|
+
*/
|
|
448
|
+
private eventMetadataDumpKeyHandler;
|
|
449
|
+
private registerEventMetadataDumpHotkey;
|
|
450
|
+
/**
|
|
451
|
+
* Capture EVENT_HANDLER metadata + JSON Schema and download event-metadata.json.
|
|
452
|
+
* Intended for development use with `genx generate event-types --from-metadata`.
|
|
453
|
+
* @internal
|
|
454
|
+
*/
|
|
455
|
+
dumpEventMetadata(): Promise<void>;
|
|
442
456
|
/**
|
|
443
457
|
* @internal
|
|
444
458
|
*/
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@genesislcap/foundation-header",
|
|
3
3
|
"description": "Genesis Foundation Header",
|
|
4
|
-
"version": "15.
|
|
4
|
+
"version": "15.18.0-notification-listener.1",
|
|
5
5
|
"license": "SEE LICENSE IN license.txt",
|
|
6
6
|
"main": "dist/esm/index.js",
|
|
7
7
|
"types": "dist/foundation-header.d.ts",
|
|
@@ -84,28 +84,28 @@
|
|
|
84
84
|
}
|
|
85
85
|
},
|
|
86
86
|
"devDependencies": {
|
|
87
|
-
"@genesislcap/foundation-testing": "15.
|
|
88
|
-
"@genesislcap/genx": "15.
|
|
89
|
-
"@genesislcap/rollup-builder": "15.
|
|
90
|
-
"@genesislcap/ts-builder": "15.
|
|
91
|
-
"@genesislcap/uvu-playwright-builder": "15.
|
|
92
|
-
"@genesislcap/vite-builder": "15.
|
|
93
|
-
"@genesislcap/webpack-builder": "15.
|
|
87
|
+
"@genesislcap/foundation-testing": "15.18.0-notification-listener.1",
|
|
88
|
+
"@genesislcap/genx": "15.18.0-notification-listener.1",
|
|
89
|
+
"@genesislcap/rollup-builder": "15.18.0-notification-listener.1",
|
|
90
|
+
"@genesislcap/ts-builder": "15.18.0-notification-listener.1",
|
|
91
|
+
"@genesislcap/uvu-playwright-builder": "15.18.0-notification-listener.1",
|
|
92
|
+
"@genesislcap/vite-builder": "15.18.0-notification-listener.1",
|
|
93
|
+
"@genesislcap/webpack-builder": "15.18.0-notification-listener.1"
|
|
94
94
|
},
|
|
95
95
|
"dependencies": {
|
|
96
|
-
"@genesislcap/foundation-ai": "15.
|
|
97
|
-
"@genesislcap/foundation-auth": "15.
|
|
98
|
-
"@genesislcap/foundation-comms": "15.
|
|
99
|
-
"@genesislcap/foundation-events": "15.
|
|
100
|
-
"@genesislcap/foundation-i18n": "15.
|
|
101
|
-
"@genesislcap/foundation-logger": "15.
|
|
102
|
-
"@genesislcap/foundation-shell": "15.
|
|
103
|
-
"@genesislcap/foundation-ui": "15.
|
|
104
|
-
"@genesislcap/foundation-user": "15.
|
|
105
|
-
"@genesislcap/foundation-utils": "15.
|
|
106
|
-
"@genesislcap/foundation-zero": "15.
|
|
107
|
-
"@genesislcap/rapid-design-system": "15.
|
|
108
|
-
"@genesislcap/web-core": "15.
|
|
96
|
+
"@genesislcap/foundation-ai": "15.18.0-notification-listener.1",
|
|
97
|
+
"@genesislcap/foundation-auth": "15.18.0-notification-listener.1",
|
|
98
|
+
"@genesislcap/foundation-comms": "15.18.0-notification-listener.1",
|
|
99
|
+
"@genesislcap/foundation-events": "15.18.0-notification-listener.1",
|
|
100
|
+
"@genesislcap/foundation-i18n": "15.18.0-notification-listener.1",
|
|
101
|
+
"@genesislcap/foundation-logger": "15.18.0-notification-listener.1",
|
|
102
|
+
"@genesislcap/foundation-shell": "15.18.0-notification-listener.1",
|
|
103
|
+
"@genesislcap/foundation-ui": "15.18.0-notification-listener.1",
|
|
104
|
+
"@genesislcap/foundation-user": "15.18.0-notification-listener.1",
|
|
105
|
+
"@genesislcap/foundation-utils": "15.18.0-notification-listener.1",
|
|
106
|
+
"@genesislcap/foundation-zero": "15.18.0-notification-listener.1",
|
|
107
|
+
"@genesislcap/rapid-design-system": "15.18.0-notification-listener.1",
|
|
108
|
+
"@genesislcap/web-core": "15.18.0-notification-listener.1"
|
|
109
109
|
},
|
|
110
110
|
"repository": {
|
|
111
111
|
"type": "git",
|
|
@@ -116,5 +116,5 @@
|
|
|
116
116
|
"access": "public"
|
|
117
117
|
},
|
|
118
118
|
"customElements": "dist/custom-elements.json",
|
|
119
|
-
"gitHead": "
|
|
119
|
+
"gitHead": "51bed22f8b8a92c2333c46b9bbec906d687fa7ad"
|
|
120
120
|
}
|