@genesislcap/pbc-notify-ui 15.8.3 → 15.9.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/README.md +39 -0
- package/custom-elements-manifest.config.js +5 -0
- package/dist/custom-elements.json +1771 -321
- package/dist/dts/components/components.d.ts.map +1 -1
- package/dist/dts/components/foundation-inbox/inbox-base/inbox-base.d.ts +2 -0
- package/dist/dts/components/foundation-inbox/inbox-base/inbox-base.d.ts.map +1 -1
- package/dist/dts/components/foundation-inbox/inbox.styles.d.ts.map +1 -1
- package/dist/dts/components/foundation-inbox/inbox.template.d.ts.map +1 -1
- package/dist/dts/components/foundation-inbox/inbox.types.d.ts +4 -1
- package/dist/dts/components/foundation-inbox/inbox.types.d.ts.map +1 -1
- package/dist/dts/components/foundation-notification-dashboard/alert-sound-attachment.d.ts +86 -0
- package/dist/dts/components/foundation-notification-dashboard/alert-sound-attachment.d.ts.map +1 -0
- package/dist/dts/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-dialog.d.ts +39 -1
- package/dist/dts/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-dialog.d.ts.map +1 -1
- package/dist/dts/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-dialog.template.d.ts.map +1 -1
- package/dist/dts/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-dialog.types.d.ts +8 -0
- package/dist/dts/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-dialog.types.d.ts.map +1 -1
- package/dist/dts/components/foundation-notification-dashboard/components/rules/rule-management.d.ts.map +1 -1
- package/dist/dts/components/foundation-notification-dashboard/components/templates/template-dialog/template-dialog.d.ts +41 -1
- package/dist/dts/components/foundation-notification-dashboard/components/templates/template-dialog/template-dialog.d.ts.map +1 -1
- package/dist/dts/components/foundation-notification-dashboard/components/templates/template-dialog/template-dialog.template.d.ts.map +1 -1
- package/dist/dts/components/foundation-notification-dashboard/components/templates/template-dialog/template-dialog.types.d.ts +2 -1
- package/dist/dts/components/foundation-notification-dashboard/components/templates/template-dialog/template-dialog.types.d.ts.map +1 -1
- package/dist/dts/components/foundation-notification-dashboard/components/templates/template-management.d.ts.map +1 -1
- package/dist/dts/components/foundation-notification-dashboard/styles/dynamic-rule.styles.d.ts.map +1 -1
- package/dist/dts/components/foundation-sounds/foundation-sounds-panel.d.ts +73 -0
- package/dist/dts/components/foundation-sounds/foundation-sounds-panel.d.ts.map +1 -0
- package/dist/dts/components/foundation-sounds/foundation-sounds-panel.styles.d.ts +2 -0
- package/dist/dts/components/foundation-sounds/foundation-sounds-panel.styles.d.ts.map +1 -0
- package/dist/dts/components/foundation-sounds/foundation-sounds-panel.template.d.ts +3 -0
- package/dist/dts/components/foundation-sounds/foundation-sounds-panel.template.d.ts.map +1 -0
- package/dist/dts/components/foundation-sounds/foundation-sounds.d.ts +34 -0
- package/dist/dts/components/foundation-sounds/foundation-sounds.d.ts.map +1 -0
- package/dist/dts/components/foundation-sounds/foundation-sounds.styles.d.ts +3 -0
- package/dist/dts/components/foundation-sounds/foundation-sounds.styles.d.ts.map +1 -0
- package/dist/dts/index.d.ts +4 -0
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/react.d.ts +31 -11
- package/dist/dts/services/inbox.service.d.ts +6 -0
- package/dist/dts/services/inbox.service.d.ts.map +1 -1
- package/dist/dts/services/rule.service.d.ts +2 -1
- package/dist/dts/services/rule.service.d.ts.map +1 -1
- package/dist/dts/utils/alert-sound.d.ts +177 -0
- package/dist/dts/utils/alert-sound.d.ts.map +1 -0
- package/dist/dts/utils/alert-sound.test.d.ts +2 -0
- package/dist/dts/utils/alert-sound.test.d.ts.map +1 -0
- package/dist/esm/components/components.js +4 -0
- package/dist/esm/components/foundation-inbox/inbox-base/inbox-base.js +6 -0
- package/dist/esm/components/foundation-inbox/inbox.styles.js +15 -0
- package/dist/esm/components/foundation-inbox/inbox.template.js +16 -0
- package/dist/esm/components/foundation-inbox/inbox.types.js +1 -0
- package/dist/esm/components/foundation-notification-dashboard/alert-sound-attachment.js +218 -0
- package/dist/esm/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-dialog.js +17 -2
- package/dist/esm/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-dialog.template.js +3 -0
- package/dist/esm/components/foundation-notification-dashboard/components/rules/rule-management.js +5 -1
- package/dist/esm/components/foundation-notification-dashboard/components/templates/template-dialog/template-dialog.js +23 -2
- package/dist/esm/components/foundation-notification-dashboard/components/templates/template-dialog/template-dialog.template.js +3 -0
- package/dist/esm/components/foundation-notification-dashboard/components/templates/template-management.js +8 -1
- package/dist/esm/components/foundation-notification-dashboard/styles/dynamic-rule.styles.js +31 -1
- package/dist/esm/components/foundation-sounds/foundation-sounds-panel.js +283 -0
- package/dist/esm/components/foundation-sounds/foundation-sounds-panel.styles.js +200 -0
- package/dist/esm/components/foundation-sounds/foundation-sounds-panel.template.js +179 -0
- package/dist/esm/components/foundation-sounds/foundation-sounds.js +206 -0
- package/dist/esm/components/foundation-sounds/foundation-sounds.styles.js +7 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/services/inbox.service.js +6 -2
- package/dist/esm/services/rule.service.js +35 -0
- package/dist/esm/utils/alert-sound.js +955 -0
- package/dist/esm/utils/alert-sound.test.js +25 -0
- package/dist/esm/utils/index.js +3 -0
- package/dist/pbc-notify-ui.api.json +2859 -332
- package/dist/pbc-notify-ui.d.ts +281 -3
- package/dist/react.cjs +19 -5
- package/dist/react.mjs +16 -4
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +23 -23
- package/src/components/components.ts +4 -0
- package/src/components/foundation-inbox/inbox-base/inbox-base.ts +7 -0
- package/src/components/foundation-inbox/inbox.styles.ts +15 -0
- package/src/components/foundation-inbox/inbox.template.ts +16 -0
- package/src/components/foundation-inbox/inbox.types.ts +3 -0
- package/src/components/foundation-notification-dashboard/alert-sound-attachment.ts +283 -0
- package/src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-dialog.template.ts +3 -0
- package/src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-dialog.ts +21 -2
- package/src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-dialog.types.ts +9 -0
- package/src/components/foundation-notification-dashboard/components/rules/rule-management.ts +5 -1
- package/src/components/foundation-notification-dashboard/components/templates/template-dialog/template-dialog.template.ts +3 -0
- package/src/components/foundation-notification-dashboard/components/templates/template-dialog/template-dialog.ts +25 -2
- package/src/components/foundation-notification-dashboard/components/templates/template-dialog/template-dialog.types.ts +2 -1
- package/src/components/foundation-notification-dashboard/components/templates/template-management.ts +8 -1
- package/src/components/foundation-notification-dashboard/styles/dynamic-rule.styles.ts +31 -1
- package/src/components/foundation-sounds/foundation-sounds-panel.styles.ts +201 -0
- package/src/components/foundation-sounds/foundation-sounds-panel.template.ts +188 -0
- package/src/components/foundation-sounds/foundation-sounds-panel.ts +280 -0
- package/src/components/foundation-sounds/foundation-sounds.styles.ts +8 -0
- package/src/components/foundation-sounds/foundation-sounds.ts +222 -0
- package/src/index.ts +8 -0
- package/src/services/inbox.service.ts +12 -2
- package/src/services/rule.service.ts +37 -1
- package/src/utils/alert-sound.test.ts +32 -0
- package/src/utils/alert-sound.ts +1135 -0
- package/src/utils/index.ts +3 -0
|
@@ -37,6 +37,22 @@
|
|
|
37
37
|
"package": "./components/foundation-inbox/components/foundation-inbox-counter/foundation-inbox-counter"
|
|
38
38
|
}
|
|
39
39
|
},
|
|
40
|
+
{
|
|
41
|
+
"kind": "js",
|
|
42
|
+
"name": "*",
|
|
43
|
+
"declaration": {
|
|
44
|
+
"name": "*",
|
|
45
|
+
"package": "./components/foundation-sounds/foundation-sounds"
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"kind": "js",
|
|
50
|
+
"name": "*",
|
|
51
|
+
"declaration": {
|
|
52
|
+
"name": "*",
|
|
53
|
+
"package": "./components/foundation-sounds/foundation-sounds-panel"
|
|
54
|
+
}
|
|
55
|
+
},
|
|
40
56
|
{
|
|
41
57
|
"kind": "js",
|
|
42
58
|
"name": "*",
|
|
@@ -45,6 +61,54 @@
|
|
|
45
61
|
"package": "./components/foundation-notification-dashboard"
|
|
46
62
|
}
|
|
47
63
|
},
|
|
64
|
+
{
|
|
65
|
+
"kind": "js",
|
|
66
|
+
"name": "AlertSoundPlayer",
|
|
67
|
+
"declaration": {
|
|
68
|
+
"name": "AlertSoundPlayer",
|
|
69
|
+
"module": "./utils/alert-sound"
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"kind": "js",
|
|
74
|
+
"name": "MAX_SOUND_RULES",
|
|
75
|
+
"declaration": {
|
|
76
|
+
"name": "MAX_SOUND_RULES",
|
|
77
|
+
"module": "./utils/alert-sound"
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"kind": "js",
|
|
82
|
+
"name": "MAX_SOUND_FILE_BYTES",
|
|
83
|
+
"declaration": {
|
|
84
|
+
"name": "MAX_SOUND_FILE_BYTES",
|
|
85
|
+
"module": "./utils/alert-sound"
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"kind": "js",
|
|
90
|
+
"name": "AlertSoundMatchMode",
|
|
91
|
+
"declaration": {
|
|
92
|
+
"name": "AlertSoundMatchMode",
|
|
93
|
+
"module": "./utils/alert-sound"
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"kind": "js",
|
|
98
|
+
"name": "AlertSoundRuleView",
|
|
99
|
+
"declaration": {
|
|
100
|
+
"name": "AlertSoundRuleView",
|
|
101
|
+
"module": "./utils/alert-sound"
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"kind": "js",
|
|
106
|
+
"name": "AlertSoundSelectableRule",
|
|
107
|
+
"declaration": {
|
|
108
|
+
"name": "AlertSoundSelectableRule",
|
|
109
|
+
"module": "./utils/alert-sound"
|
|
110
|
+
}
|
|
111
|
+
},
|
|
48
112
|
{
|
|
49
113
|
"kind": "js",
|
|
50
114
|
"name": "Alert",
|
|
@@ -415,27 +479,6 @@
|
|
|
415
479
|
}
|
|
416
480
|
]
|
|
417
481
|
},
|
|
418
|
-
{
|
|
419
|
-
"kind": "javascript-module",
|
|
420
|
-
"path": "src/styles/scrollbar.styles.ts",
|
|
421
|
-
"declarations": [
|
|
422
|
-
{
|
|
423
|
-
"kind": "variable",
|
|
424
|
-
"name": "scrollbarStyles",
|
|
425
|
-
"default": "css`\n ::-webkit-scrollbar {\n width: calc((var(--base-height-multiplier) + var(--design-unit)) * 1px);\n }\n\n ::-webkit-scrollbar-track {\n background: var(--neutral-layer-1);\n }\n\n ::-webkit-scrollbar-thumb {\n background: var(--neutral-fill-rest);\n }\n`"
|
|
426
|
-
}
|
|
427
|
-
],
|
|
428
|
-
"exports": [
|
|
429
|
-
{
|
|
430
|
-
"kind": "js",
|
|
431
|
-
"name": "scrollbarStyles",
|
|
432
|
-
"declaration": {
|
|
433
|
-
"name": "scrollbarStyles",
|
|
434
|
-
"module": "src/styles/scrollbar.styles.ts"
|
|
435
|
-
}
|
|
436
|
-
}
|
|
437
|
-
]
|
|
438
|
-
},
|
|
439
482
|
{
|
|
440
483
|
"kind": "javascript-module",
|
|
441
484
|
"path": "src/utils/eventDetail.ts",
|
|
@@ -757,6 +800,27 @@
|
|
|
757
800
|
}
|
|
758
801
|
]
|
|
759
802
|
},
|
|
803
|
+
{
|
|
804
|
+
"kind": "javascript-module",
|
|
805
|
+
"path": "src/styles/scrollbar.styles.ts",
|
|
806
|
+
"declarations": [
|
|
807
|
+
{
|
|
808
|
+
"kind": "variable",
|
|
809
|
+
"name": "scrollbarStyles",
|
|
810
|
+
"default": "css`\n ::-webkit-scrollbar {\n width: calc((var(--base-height-multiplier) + var(--design-unit)) * 1px);\n }\n\n ::-webkit-scrollbar-track {\n background: var(--neutral-layer-1);\n }\n\n ::-webkit-scrollbar-thumb {\n background: var(--neutral-fill-rest);\n }\n`"
|
|
811
|
+
}
|
|
812
|
+
],
|
|
813
|
+
"exports": [
|
|
814
|
+
{
|
|
815
|
+
"kind": "js",
|
|
816
|
+
"name": "scrollbarStyles",
|
|
817
|
+
"declaration": {
|
|
818
|
+
"name": "scrollbarStyles",
|
|
819
|
+
"module": "src/styles/scrollbar.styles.ts"
|
|
820
|
+
}
|
|
821
|
+
}
|
|
822
|
+
]
|
|
823
|
+
},
|
|
760
824
|
{
|
|
761
825
|
"kind": "javascript-module",
|
|
762
826
|
"path": "src/components/foundation-inbox/inbox.styles.ts",
|
|
@@ -779,7 +843,7 @@
|
|
|
779
843
|
{
|
|
780
844
|
"kind": "variable",
|
|
781
845
|
"name": "subscribe",
|
|
782
|
-
"default": "css`\n .subscribe-tab-panel {\n display: flex;\n flex-direction: column;\n min-height: 0;\n flex: 1;\n }\n\n .subscribe-tab-content {\n flex: 1;\n overflow: auto;\n }\n`"
|
|
846
|
+
"default": "css`\n .subscribe-tab-panel {\n display: flex;\n flex-direction: column;\n min-height: 0;\n flex: 1;\n }\n\n .subscribe-tab-content {\n flex: 1;\n overflow: auto;\n }\n\n .sounds-tab-panel {\n display: flex;\n flex-direction: column;\n min-height: 0;\n flex: 1;\n overflow: hidden;\n }\n\n .sounds-tab-panel foundation-sounds-panel {\n display: flex;\n flex: 1;\n min-height: 0;\n height: 100%;\n }\n`"
|
|
783
847
|
},
|
|
784
848
|
{
|
|
785
849
|
"kind": "variable",
|
|
@@ -851,7 +915,7 @@
|
|
|
851
915
|
{
|
|
852
916
|
"kind": "variable",
|
|
853
917
|
"name": "FoundationInboxTemplate",
|
|
854
|
-
"default": "html<FoundationInbox>`\n <div class=\"inbox-content\">\n <rapid-tabs ${ref('tabs')} appearance=\"secondary\" activeid=${(x) => InboxTab.ALERTS_NEW}>\n <rapid-tab\n slot=\"alert-log-tab\"\n id=${InboxTab.ALERTS_NEW}\n @click=${(x) => x.inboxTabChanged(InboxTab.ALERTS_NEW)}\n appearance=\"secondary\"\n >\n Alerts\n </rapid-tab>\n <rapid-tab\n slot=\"alert-log-tab\"\n id=${InboxTab.ALERT_HISTORY}\n @click=${(x) => x.inboxTabChanged(InboxTab.ALERT_HISTORY)}\n appearance=\"secondary\"\n >\n Alert History\n </rapid-tab>\n ${when(\n (x) => x.auth.currentUser?.hasPermission(NotifyPermission.NotificationRuleTemplateView),\n html`\n <rapid-tab\n slot=\"subscribe-tab\"\n id=${InboxTab.SUBSCRIBE}\n @click=${(x) => x.inboxTabChanged(InboxTab.SUBSCRIBE)}\n appearance=\"secondary\"\n >\n Subscribe\n </rapid-tab>\n `,\n )}\n\n <!-- Alerts -->\n ${(_) => alertsTab(InboxTab.ALERTS_NEW)} ${(_) => alertsTab(InboxTab.ALERT_HISTORY)}\n ${when(\n (x) => x.auth.currentUser?.hasPermission(NotifyPermission.NotificationRuleTemplateView),\n html`\n <rapid-tab-panel\n slot=\"subscribe-tab\"\n class=\"subscribe-tab-panel\"\n id=${InboxTab.SUBSCRIBE}\n style=${(x) => (x.selectedTab === InboxTab.SUBSCRIBE ? '' : 'display: none;')}\n >\n <div class=\"search\">\n <rapid-text-field\n class=\"search-input\"\n @input=${(x, c) => {\n x.searchSubscribe = (c.event.target as HTMLInputElement).value;\n x.filterSearchSubscribe();\n }}\n placeholder=\"Search Templates...\"\n autocomplete=\"off\"\n ></rapid-text-field>\n </div>\n <div class=\"subscribe-tab-content\">\n ${repeat(\n (x) => x.templatesFilter,\n html<RuleTemplate, FoundationInbox>`\n <div\n class=\"template ${(x, c) =>\n c.parent.pendingSubscribeTemplateId === x.ID ? 'template-subscribing' : ''}\"\n id=${(x) => x.ID}\n >\n <div class=\"template-row\">\n <div class=\"template-details\">\n <div class=\"template-name\">${(x) => x.NAME}</div>\n <div class=\"template-description\">${(x) => x.DESCRIPTION}</div>\n </div>\n <rapid-switch\n class=\"template-subscribe-toggle\"\n :checked=${(x, c) => c.parent.isTemplateSubscribed(x)}\n @change=${(x, c) => c.parent.handleTemplateToggle(x, c.event as Event)}\n @click=${(_, c) => c.event.stopPropagation()}\n ></rapid-switch>\n </div>\n ${when(\n (x, c) =>\n c.parent.auth.currentUser?.hasPermission(\n NotifyPermission.NotificationRouteView,\n ),\n html<RuleTemplate, FoundationInbox>`\n <div class=\"channel-chip-row\">\n ${when(\n (x, c) => c.parent.isChannelAvailable(x, 'popup'),\n html<RuleTemplate, FoundationInbox>`\n <rapid-button\n class=\"channel-chip\"\n appearance=${(x, c) =>\n c.parent.isChannelEnabled(x, 'popup') ? 'selected' : ''}\n ?disabled=${(x, c) =>\n !c.parent.isTemplateSubscribed(x) ||\n c.parent.isChannelTogglePending(x, 'popup')}\n @click=${(x, c) => {\n c.event.stopPropagation();\n c.parent.toggleChannel(x, 'popup');\n }}\n >\n Pop-up\n </rapid-button>\n `,\n )}\n ${when(\n (x, c) => c.parent.isChannelAvailable(x, 'email'),\n html<RuleTemplate, FoundationInbox>`\n <rapid-button\n class=\"channel-chip\"\n appearance=${(x, c) =>\n c.parent.isChannelEnabled(x, 'email') ? 'selected' : ''}\n ?disabled=${(x, c) =>\n !c.parent.isTemplateSubscribed(x) ||\n c.parent.isChannelTogglePending(x, 'email')}\n @click=${(x, c) => {\n c.event.stopPropagation();\n c.parent.toggleChannel(x, 'email');\n }}\n >\n Email\n </rapid-button>\n `,\n )}\n </div>\n `,\n )}\n ${when(\n (x, c) => c.parent.pendingSubscribeTemplateId === x.ID,\n html`\n <inbox-subscription\n inline\n :template=${(x, c) => c.parent.ruleTemplateDetails}\n @templateSubscribed=${(x, c) =>\n c.parent.onTemplateSubscribed(eventDetail(c))}\n @subscribeCancelled=${(x, c) => c.parent.cancelPendingSubscribe()}\n ></inbox-subscription>\n `,\n )}\n </div>\n `,\n )}\n </div>\n </rapid-tab-panel>\n `,\n )}\n </rapid-tabs>\n </div>\n`",
|
|
918
|
+
"default": "html<FoundationInbox>`\n <div class=\"inbox-content\">\n <rapid-tabs ${ref('tabs')} appearance=\"secondary\" activeid=${(x) => InboxTab.ALERTS_NEW}>\n <rapid-tab\n slot=\"alert-log-tab\"\n id=${InboxTab.ALERTS_NEW}\n @click=${(x) => x.inboxTabChanged(InboxTab.ALERTS_NEW)}\n appearance=\"secondary\"\n >\n Alerts\n </rapid-tab>\n <rapid-tab\n slot=\"alert-log-tab\"\n id=${InboxTab.ALERT_HISTORY}\n @click=${(x) => x.inboxTabChanged(InboxTab.ALERT_HISTORY)}\n appearance=\"secondary\"\n >\n Alert History\n </rapid-tab>\n ${when(\n (x) => x.auth.currentUser?.hasPermission(NotifyPermission.NotificationRuleTemplateView),\n html`\n <rapid-tab\n slot=\"subscribe-tab\"\n id=${InboxTab.SUBSCRIBE}\n @click=${(x) => x.inboxTabChanged(InboxTab.SUBSCRIBE)}\n appearance=\"secondary\"\n >\n Subscribe\n </rapid-tab>\n `,\n )}\n <rapid-tab\n slot=\"sounds-tab\"\n id=${InboxTab.SOUNDS}\n @click=${(x) => x.inboxTabChanged(InboxTab.SOUNDS)}\n appearance=\"secondary\"\n >\n Sounds\n </rapid-tab>\n\n <!-- Alerts -->\n ${(_) => alertsTab(InboxTab.ALERTS_NEW)} ${(_) => alertsTab(InboxTab.ALERT_HISTORY)}\n ${when(\n (x) => x.auth.currentUser?.hasPermission(NotifyPermission.NotificationRuleTemplateView),\n html`\n <rapid-tab-panel\n slot=\"subscribe-tab\"\n class=\"subscribe-tab-panel\"\n id=${InboxTab.SUBSCRIBE}\n style=${(x) => (x.selectedTab === InboxTab.SUBSCRIBE ? '' : 'display: none;')}\n >\n <div class=\"search\">\n <rapid-text-field\n class=\"search-input\"\n @input=${(x, c) => {\n x.searchSubscribe = (c.event.target as HTMLInputElement).value;\n x.filterSearchSubscribe();\n }}\n placeholder=\"Search Templates...\"\n autocomplete=\"off\"\n ></rapid-text-field>\n </div>\n <div class=\"subscribe-tab-content\">\n ${repeat(\n (x) => x.templatesFilter,\n html<RuleTemplate, FoundationInbox>`\n <div\n class=\"template ${(x, c) =>\n c.parent.pendingSubscribeTemplateId === x.ID ? 'template-subscribing' : ''}\"\n id=${(x) => x.ID}\n >\n <div class=\"template-row\">\n <div class=\"template-details\">\n <div class=\"template-name\">${(x) => x.NAME}</div>\n <div class=\"template-description\">${(x) => x.DESCRIPTION}</div>\n </div>\n <rapid-switch\n class=\"template-subscribe-toggle\"\n :checked=${(x, c) => c.parent.isTemplateSubscribed(x)}\n @change=${(x, c) => c.parent.handleTemplateToggle(x, c.event as Event)}\n @click=${(_, c) => c.event.stopPropagation()}\n ></rapid-switch>\n </div>\n ${when(\n (x, c) =>\n c.parent.auth.currentUser?.hasPermission(\n NotifyPermission.NotificationRouteView,\n ),\n html<RuleTemplate, FoundationInbox>`\n <div class=\"channel-chip-row\">\n ${when(\n (x, c) => c.parent.isChannelAvailable(x, 'popup'),\n html<RuleTemplate, FoundationInbox>`\n <rapid-button\n class=\"channel-chip\"\n appearance=${(x, c) =>\n c.parent.isChannelEnabled(x, 'popup') ? 'selected' : ''}\n ?disabled=${(x, c) =>\n !c.parent.isTemplateSubscribed(x) ||\n c.parent.isChannelTogglePending(x, 'popup')}\n @click=${(x, c) => {\n c.event.stopPropagation();\n c.parent.toggleChannel(x, 'popup');\n }}\n >\n Pop-up\n </rapid-button>\n `,\n )}\n ${when(\n (x, c) => c.parent.isChannelAvailable(x, 'email'),\n html<RuleTemplate, FoundationInbox>`\n <rapid-button\n class=\"channel-chip\"\n appearance=${(x, c) =>\n c.parent.isChannelEnabled(x, 'email') ? 'selected' : ''}\n ?disabled=${(x, c) =>\n !c.parent.isTemplateSubscribed(x) ||\n c.parent.isChannelTogglePending(x, 'email')}\n @click=${(x, c) => {\n c.event.stopPropagation();\n c.parent.toggleChannel(x, 'email');\n }}\n >\n Email\n </rapid-button>\n `,\n )}\n </div>\n `,\n )}\n ${when(\n (x, c) => c.parent.pendingSubscribeTemplateId === x.ID,\n html`\n <inbox-subscription\n inline\n :template=${(x, c) => c.parent.ruleTemplateDetails}\n @templateSubscribed=${(x, c) =>\n c.parent.onTemplateSubscribed(eventDetail(c))}\n @subscribeCancelled=${(x, c) => c.parent.cancelPendingSubscribe()}\n ></inbox-subscription>\n `,\n )}\n </div>\n `,\n )}\n </div>\n </rapid-tab-panel>\n `,\n )}\n <rapid-tab-panel\n slot=\"sounds-tab\"\n class=\"sounds-tab-panel\"\n id=${InboxTab.SOUNDS}\n style=${(x) => (x.selectedTab === InboxTab.SOUNDS ? '' : 'display: none;')}\n >\n <foundation-sounds-panel ${ref('sounds')}></foundation-sounds-panel>\n </rapid-tab-panel>\n </rapid-tabs>\n </div>\n`",
|
|
855
919
|
"privacy": "public"
|
|
856
920
|
}
|
|
857
921
|
],
|
|
@@ -1375,6 +1439,18 @@
|
|
|
1375
1439
|
"module": "src/components/foundation-inbox/inbox-base/inbox-base.ts"
|
|
1376
1440
|
}
|
|
1377
1441
|
},
|
|
1442
|
+
{
|
|
1443
|
+
"kind": "field",
|
|
1444
|
+
"name": "sounds",
|
|
1445
|
+
"type": {
|
|
1446
|
+
"text": "FoundationSoundsPanel"
|
|
1447
|
+
},
|
|
1448
|
+
"privacy": "public",
|
|
1449
|
+
"inheritedFrom": {
|
|
1450
|
+
"name": "FoundationInboxBase",
|
|
1451
|
+
"module": "src/components/foundation-inbox/inbox-base/inbox-base.ts"
|
|
1452
|
+
}
|
|
1453
|
+
},
|
|
1378
1454
|
{
|
|
1379
1455
|
"kind": "field",
|
|
1380
1456
|
"name": "alertSubscription",
|
|
@@ -1965,170 +2041,385 @@
|
|
|
1965
2041
|
},
|
|
1966
2042
|
{
|
|
1967
2043
|
"kind": "javascript-module",
|
|
1968
|
-
"path": "src/components/foundation-notification-dashboard/
|
|
1969
|
-
"declarations": [],
|
|
1970
|
-
"exports": [
|
|
1971
|
-
{
|
|
1972
|
-
"kind": "js",
|
|
1973
|
-
"name": "*",
|
|
1974
|
-
"declaration": {
|
|
1975
|
-
"name": "*",
|
|
1976
|
-
"package": "./notification-dashboard"
|
|
1977
|
-
}
|
|
1978
|
-
}
|
|
1979
|
-
]
|
|
1980
|
-
},
|
|
1981
|
-
{
|
|
1982
|
-
"kind": "javascript-module",
|
|
1983
|
-
"path": "src/components/foundation-notification-dashboard/notification-dashboard.styles.ts",
|
|
2044
|
+
"path": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts",
|
|
1984
2045
|
"declarations": [
|
|
1985
2046
|
{
|
|
1986
2047
|
"kind": "variable",
|
|
1987
|
-
"name": "
|
|
1988
|
-
"default": "
|
|
2048
|
+
"name": "alertSoundAttachmentTemplate",
|
|
2049
|
+
"default": "html<AlertSoundAttachmentHost>`\n <div class=\"alert-sound\">\n <input\n ${ref('fileInput')}\n class=\"file-input\"\n type=\"file\"\n accept=\"audio/*\"\n @change=${(x, c) => x.onAlertSoundSelected(c.event)}\n />\n <label>Alert sound</label>\n <div class=\"alert-sound-row\">\n <span class=\"alert-sound-name\" title=${(x) => x.alertSoundFileName || ''}>\n ${(x) => x.alertSoundFileName || 'No sound attached'}\n </span>\n <rapid-button appearance=\"lightweight\" @click=${(x) => x.openAlertSoundPicker()}>\n ${(x) => (x.hasAlertSound ? 'Replace' : 'Attach')}\n </rapid-button>\n ${when(\n (x) => x.hasAlertSound,\n html<AlertSoundAttachmentHost>`\n <rapid-button appearance=\"lightweight\" @click=${(x) => x.testAttachedAlertSound()}>\n Test\n </rapid-button>\n <rapid-button appearance=\"lightweight\" @click=${(x) => x.clearAttachedAlertSound()}>\n Clear\n </rapid-button>\n `,\n )}\n </div>\n </div>\n`",
|
|
2050
|
+
"description": "Shared Attach/Replace/Test/Clear UI for rule and template dialogs.",
|
|
1989
2051
|
"privacy": "public"
|
|
1990
|
-
}
|
|
1991
|
-
],
|
|
1992
|
-
"exports": [
|
|
1993
|
-
{
|
|
1994
|
-
"kind": "js",
|
|
1995
|
-
"name": "FoundationNotificationDashboardStyles",
|
|
1996
|
-
"declaration": {
|
|
1997
|
-
"name": "FoundationNotificationDashboardStyles",
|
|
1998
|
-
"module": "src/components/foundation-notification-dashboard/notification-dashboard.styles.ts"
|
|
1999
|
-
}
|
|
2000
|
-
}
|
|
2001
|
-
]
|
|
2002
|
-
},
|
|
2003
|
-
{
|
|
2004
|
-
"kind": "javascript-module",
|
|
2005
|
-
"path": "src/components/foundation-notification-dashboard/notification-dashboard.tabs.ts",
|
|
2006
|
-
"declarations": [
|
|
2052
|
+
},
|
|
2007
2053
|
{
|
|
2008
|
-
"kind": "
|
|
2009
|
-
"description": "",
|
|
2010
|
-
"name": "
|
|
2054
|
+
"kind": "mixin",
|
|
2055
|
+
"description": "Mixin: pick / test / clear / load server sound + apply fields to submit payload.\n\nSubclasses must provide ruleService, isAlertSoundEditMode,\nalertSoundEntityId, and alertSoundCacheSyncMode.",
|
|
2056
|
+
"name": "AlertSoundAttachmentMixin",
|
|
2011
2057
|
"members": [
|
|
2012
2058
|
{
|
|
2013
2059
|
"kind": "field",
|
|
2014
|
-
"name": "
|
|
2060
|
+
"name": "ruleService",
|
|
2015
2061
|
"type": {
|
|
2016
|
-
"text": "
|
|
2062
|
+
"text": "RuleService"
|
|
2017
2063
|
}
|
|
2018
2064
|
},
|
|
2019
2065
|
{
|
|
2020
2066
|
"kind": "field",
|
|
2021
|
-
"name": "
|
|
2067
|
+
"name": "isAlertSoundEditMode",
|
|
2022
2068
|
"type": {
|
|
2023
|
-
"text": "
|
|
2024
|
-
}
|
|
2069
|
+
"text": "boolean"
|
|
2070
|
+
},
|
|
2071
|
+
"description": "True when editing an existing entity (clear should set CLEAR_ALERT_SOUND).",
|
|
2072
|
+
"readonly": true
|
|
2025
2073
|
},
|
|
2026
2074
|
{
|
|
2027
2075
|
"kind": "field",
|
|
2028
|
-
"name": "
|
|
2076
|
+
"name": "alertSoundEntityId",
|
|
2077
|
+
"type": {
|
|
2078
|
+
"text": "string | null"
|
|
2079
|
+
},
|
|
2080
|
+
"description": "DYNAMIC_RULE_ID of the entity being edited (null on create).\nUsed when alertSoundCacheSyncMode is `'entity'`.",
|
|
2081
|
+
"readonly": true
|
|
2082
|
+
},
|
|
2083
|
+
{
|
|
2084
|
+
"kind": "field",
|
|
2085
|
+
"name": "alertSoundCacheSyncMode",
|
|
2086
|
+
"type": {
|
|
2087
|
+
"text": "'entity' | 'all'"
|
|
2088
|
+
},
|
|
2089
|
+
"description": "`'entity'` — update/clear cache for alertSoundEntityId (rules).\n`'all'` — drop every cached server sound (templates; instance ids unknown).",
|
|
2090
|
+
"readonly": true
|
|
2091
|
+
},
|
|
2092
|
+
{
|
|
2093
|
+
"kind": "field",
|
|
2094
|
+
"name": "alertSoundFileName",
|
|
2029
2095
|
"type": {
|
|
2030
2096
|
"text": "string"
|
|
2031
|
-
}
|
|
2097
|
+
},
|
|
2098
|
+
"default": "''",
|
|
2099
|
+
"description": "Display name of the attached / pending alert sound file."
|
|
2032
2100
|
},
|
|
2033
2101
|
{
|
|
2034
2102
|
"kind": "field",
|
|
2035
|
-
"name": "
|
|
2103
|
+
"name": "alertSoundMimeType",
|
|
2036
2104
|
"type": {
|
|
2037
2105
|
"text": "string"
|
|
2038
|
-
}
|
|
2039
|
-
|
|
2040
|
-
|
|
2041
|
-
},
|
|
2042
|
-
{
|
|
2043
|
-
"kind": "variable",
|
|
2044
|
-
"name": "NOTIFICATION_DASHBOARD_TABS",
|
|
2045
|
-
"type": {
|
|
2046
|
-
"text": "NotificationDashboardTab[]"
|
|
2047
|
-
},
|
|
2048
|
-
"default": "[\n {\n id: 'rules',\n name: 'Rules',\n component: 'rule-management',\n right: 'NotificationRuleView',\n },\n {\n id: 'templates',\n name: 'Templates',\n component: 'template-management',\n right: 'NotificationRuleTemplateView',\n },\n {\n id: 'routes',\n name: 'Routes',\n component: 'route-management',\n right: 'NotificationRouteView',\n },\n /* TODO: Not needed at the moment\n {\n id: 'notify-audit',\n name: 'Notify Audit',\n component: 'notify-audit-management',\n right: 'NotificationAuditView',\n },\n */\n]"
|
|
2049
|
-
}
|
|
2050
|
-
],
|
|
2051
|
-
"exports": [
|
|
2052
|
-
{
|
|
2053
|
-
"kind": "js",
|
|
2054
|
-
"name": "NotificationDashboardTab",
|
|
2055
|
-
"declaration": {
|
|
2056
|
-
"name": "NotificationDashboardTab",
|
|
2057
|
-
"module": "src/components/foundation-notification-dashboard/notification-dashboard.tabs.ts"
|
|
2058
|
-
}
|
|
2059
|
-
},
|
|
2060
|
-
{
|
|
2061
|
-
"kind": "js",
|
|
2062
|
-
"name": "NOTIFICATION_DASHBOARD_TABS",
|
|
2063
|
-
"declaration": {
|
|
2064
|
-
"name": "NOTIFICATION_DASHBOARD_TABS",
|
|
2065
|
-
"module": "src/components/foundation-notification-dashboard/notification-dashboard.tabs.ts"
|
|
2066
|
-
}
|
|
2067
|
-
}
|
|
2068
|
-
]
|
|
2069
|
-
},
|
|
2070
|
-
{
|
|
2071
|
-
"kind": "javascript-module",
|
|
2072
|
-
"path": "src/components/foundation-notification-dashboard/notification-dashboard.template.ts",
|
|
2073
|
-
"declarations": [
|
|
2074
|
-
{
|
|
2075
|
-
"kind": "variable",
|
|
2076
|
-
"name": "FoundationNotificationDashboardTemplate",
|
|
2077
|
-
"default": "html<FoundationNotificationDashboard>`\n <div class=\"notification-dashboard\">\n ${whenElse(\n (x) => x.hasPermissions,\n html`\n <rapid-tabs class=\"tabs\">\n <!-- Tabs -->\n ${repeat(\n (_) => NOTIFICATION_DASHBOARD_TABS,\n html<NotificationDashboardTab>`\n ${when(\n (x, c) => (c.parent.auth as Auth).currentUser.hasPermission(x.right),\n html<NotificationDashboardTab>`\n <rapid-tab slot=\"${(x) => x.id}-tab\">${(x) => x.name}</rapid-tab>\n `,\n )}\n `,\n )}\n\n <!-- Panels -->\n ${repeat(\n (_) => NOTIFICATION_DASHBOARD_TABS,\n html<NotificationDashboardTab>`\n ${when(\n (x, c) => (c.parent.auth as Auth).currentUser.hasPermission(x.right),\n html`\n ${\n /* HTML Render */\n (x) => html<NotificationDashboardTab>`\n <rapid-tab-panel slot=\"${x.id}-tab\"\n id=\"${x.id}-tab-panel\">\n <${x.component}></${x.component}>\n </rapid-tab-panel>\n `\n }\n `,\n )}\n `,\n )}\n </rapid-tabs>\n `,\n html`\n <div class=\"no-permissions\">\n <label>User has no permissions to view Notification Screens</label>\n </div>\n `,\n )}\n </div>\n`"
|
|
2078
|
-
}
|
|
2079
|
-
],
|
|
2080
|
-
"exports": [
|
|
2081
|
-
{
|
|
2082
|
-
"kind": "js",
|
|
2083
|
-
"name": "FoundationNotificationDashboardTemplate",
|
|
2084
|
-
"declaration": {
|
|
2085
|
-
"name": "FoundationNotificationDashboardTemplate",
|
|
2086
|
-
"module": "src/components/foundation-notification-dashboard/notification-dashboard.template.ts"
|
|
2087
|
-
}
|
|
2088
|
-
}
|
|
2089
|
-
]
|
|
2090
|
-
},
|
|
2091
|
-
{
|
|
2092
|
-
"kind": "javascript-module",
|
|
2093
|
-
"path": "src/components/foundation-notification-dashboard/notification-dashboard.ts",
|
|
2094
|
-
"declarations": [
|
|
2095
|
-
{
|
|
2096
|
-
"kind": "class",
|
|
2097
|
-
"description": "",
|
|
2098
|
-
"name": "FoundationNotificationDashboard",
|
|
2099
|
-
"members": [
|
|
2106
|
+
},
|
|
2107
|
+
"default": "''"
|
|
2108
|
+
},
|
|
2100
2109
|
{
|
|
2101
2110
|
"kind": "field",
|
|
2102
|
-
"name": "
|
|
2111
|
+
"name": "hasAlertSound",
|
|
2103
2112
|
"type": {
|
|
2104
|
-
"text": "
|
|
2113
|
+
"text": "boolean"
|
|
2114
|
+
},
|
|
2115
|
+
"default": "false",
|
|
2116
|
+
"description": "True when edit loaded an existing server sound (or user attached one)."
|
|
2117
|
+
},
|
|
2118
|
+
{
|
|
2119
|
+
"kind": "field",
|
|
2120
|
+
"name": "fileInput",
|
|
2121
|
+
"type": {
|
|
2122
|
+
"text": "HTMLInputElement"
|
|
2105
2123
|
}
|
|
2106
2124
|
},
|
|
2107
2125
|
{
|
|
2108
2126
|
"kind": "field",
|
|
2109
|
-
"name": "
|
|
2127
|
+
"name": "pendingAlertSoundData",
|
|
2128
|
+
"type": {
|
|
2129
|
+
"text": "string | null"
|
|
2130
|
+
},
|
|
2131
|
+
"default": "null"
|
|
2132
|
+
},
|
|
2133
|
+
{
|
|
2134
|
+
"kind": "field",
|
|
2135
|
+
"name": "alertSoundDirty",
|
|
2110
2136
|
"type": {
|
|
2111
2137
|
"text": "boolean"
|
|
2112
2138
|
},
|
|
2113
|
-
"default": "false"
|
|
2139
|
+
"default": "false",
|
|
2140
|
+
"description": "True when the user picked a new file this session (needs upload)."
|
|
2114
2141
|
},
|
|
2115
2142
|
{
|
|
2116
2143
|
"kind": "field",
|
|
2117
|
-
"name": "
|
|
2144
|
+
"name": "clearAlertSound",
|
|
2118
2145
|
"type": {
|
|
2119
2146
|
"text": "boolean"
|
|
2120
2147
|
},
|
|
2121
|
-
"default": "
|
|
2122
|
-
}
|
|
2123
|
-
|
|
2124
|
-
|
|
2125
|
-
|
|
2126
|
-
|
|
2127
|
-
|
|
2128
|
-
|
|
2129
|
-
|
|
2130
|
-
|
|
2131
|
-
|
|
2148
|
+
"default": "false"
|
|
2149
|
+
},
|
|
2150
|
+
{
|
|
2151
|
+
"kind": "field",
|
|
2152
|
+
"name": "testAudio",
|
|
2153
|
+
"type": {
|
|
2154
|
+
"text": "HTMLAudioElement | null"
|
|
2155
|
+
},
|
|
2156
|
+
"default": "null",
|
|
2157
|
+
"description": "In-progress Test playback; not private — mixin return type is exported."
|
|
2158
|
+
},
|
|
2159
|
+
{
|
|
2160
|
+
"kind": "method",
|
|
2161
|
+
"name": "loadExistingAlertSound",
|
|
2162
|
+
"parameters": [
|
|
2163
|
+
{
|
|
2164
|
+
"name": "dynamicRuleId",
|
|
2165
|
+
"type": {
|
|
2166
|
+
"text": "string"
|
|
2167
|
+
}
|
|
2168
|
+
}
|
|
2169
|
+
]
|
|
2170
|
+
},
|
|
2171
|
+
{
|
|
2172
|
+
"kind": "method",
|
|
2173
|
+
"name": "openAlertSoundPicker"
|
|
2174
|
+
},
|
|
2175
|
+
{
|
|
2176
|
+
"kind": "method",
|
|
2177
|
+
"name": "onAlertSoundSelected",
|
|
2178
|
+
"parameters": [
|
|
2179
|
+
{
|
|
2180
|
+
"name": "event",
|
|
2181
|
+
"type": {
|
|
2182
|
+
"text": "Event"
|
|
2183
|
+
}
|
|
2184
|
+
}
|
|
2185
|
+
]
|
|
2186
|
+
},
|
|
2187
|
+
{
|
|
2188
|
+
"kind": "method",
|
|
2189
|
+
"name": "clearAttachedAlertSound"
|
|
2190
|
+
},
|
|
2191
|
+
{
|
|
2192
|
+
"kind": "method",
|
|
2193
|
+
"name": "testAttachedAlertSound"
|
|
2194
|
+
},
|
|
2195
|
+
{
|
|
2196
|
+
"kind": "method",
|
|
2197
|
+
"name": "stopTestSound"
|
|
2198
|
+
},
|
|
2199
|
+
{
|
|
2200
|
+
"kind": "method",
|
|
2201
|
+
"name": "resetAlertSoundState"
|
|
2202
|
+
},
|
|
2203
|
+
{
|
|
2204
|
+
"kind": "method",
|
|
2205
|
+
"name": "applyAlertSoundToPayload",
|
|
2206
|
+
"return": {
|
|
2207
|
+
"type": {
|
|
2208
|
+
"text": "T"
|
|
2209
|
+
}
|
|
2210
|
+
},
|
|
2211
|
+
"parameters": [
|
|
2212
|
+
{
|
|
2213
|
+
"name": "target",
|
|
2214
|
+
"type": {
|
|
2215
|
+
"text": "T"
|
|
2216
|
+
}
|
|
2217
|
+
}
|
|
2218
|
+
],
|
|
2219
|
+
"description": "Merges pending sound / clear flag onto a create/update DETAILS object."
|
|
2220
|
+
},
|
|
2221
|
+
{
|
|
2222
|
+
"kind": "method",
|
|
2223
|
+
"name": "syncAlertSoundCacheAfterSave",
|
|
2224
|
+
"description": "Keep AlertSoundPlayer's in-memory NOTIFY_ALERT_SOUND cache in sync with\nwhat we just saved — otherwise the next alert still plays the old file."
|
|
2225
|
+
}
|
|
2226
|
+
],
|
|
2227
|
+
"parameters": [
|
|
2228
|
+
{
|
|
2229
|
+
"name": "Base",
|
|
2230
|
+
"type": {
|
|
2231
|
+
"text": "TBase"
|
|
2232
|
+
}
|
|
2233
|
+
}
|
|
2234
|
+
],
|
|
2235
|
+
"privacy": "public"
|
|
2236
|
+
}
|
|
2237
|
+
],
|
|
2238
|
+
"exports": [
|
|
2239
|
+
{
|
|
2240
|
+
"kind": "js",
|
|
2241
|
+
"name": "alertSoundAttachmentTemplate",
|
|
2242
|
+
"declaration": {
|
|
2243
|
+
"name": "alertSoundAttachmentTemplate",
|
|
2244
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
2245
|
+
}
|
|
2246
|
+
},
|
|
2247
|
+
{
|
|
2248
|
+
"kind": "js",
|
|
2249
|
+
"name": "AlertSoundAttachmentMixin",
|
|
2250
|
+
"declaration": {
|
|
2251
|
+
"name": "AlertSoundAttachmentMixin",
|
|
2252
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
2253
|
+
}
|
|
2254
|
+
}
|
|
2255
|
+
]
|
|
2256
|
+
},
|
|
2257
|
+
{
|
|
2258
|
+
"kind": "javascript-module",
|
|
2259
|
+
"path": "src/components/foundation-notification-dashboard/index.ts",
|
|
2260
|
+
"declarations": [],
|
|
2261
|
+
"exports": [
|
|
2262
|
+
{
|
|
2263
|
+
"kind": "js",
|
|
2264
|
+
"name": "*",
|
|
2265
|
+
"declaration": {
|
|
2266
|
+
"name": "*",
|
|
2267
|
+
"package": "./notification-dashboard"
|
|
2268
|
+
}
|
|
2269
|
+
}
|
|
2270
|
+
]
|
|
2271
|
+
},
|
|
2272
|
+
{
|
|
2273
|
+
"kind": "javascript-module",
|
|
2274
|
+
"path": "src/components/foundation-notification-dashboard/notification-dashboard.styles.ts",
|
|
2275
|
+
"declarations": [
|
|
2276
|
+
{
|
|
2277
|
+
"kind": "variable",
|
|
2278
|
+
"name": "FoundationNotificationDashboardStyles",
|
|
2279
|
+
"default": "css`\n .notification-dashboard,\n rapid-tabs,\n rapid-tab-panel {\n height: 100%;\n }\n\n .no-permissions {\n font-family: var(--body-font);\n color: var(--neutral-foreground-rest);\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n`",
|
|
2280
|
+
"privacy": "public"
|
|
2281
|
+
}
|
|
2282
|
+
],
|
|
2283
|
+
"exports": [
|
|
2284
|
+
{
|
|
2285
|
+
"kind": "js",
|
|
2286
|
+
"name": "FoundationNotificationDashboardStyles",
|
|
2287
|
+
"declaration": {
|
|
2288
|
+
"name": "FoundationNotificationDashboardStyles",
|
|
2289
|
+
"module": "src/components/foundation-notification-dashboard/notification-dashboard.styles.ts"
|
|
2290
|
+
}
|
|
2291
|
+
}
|
|
2292
|
+
]
|
|
2293
|
+
},
|
|
2294
|
+
{
|
|
2295
|
+
"kind": "javascript-module",
|
|
2296
|
+
"path": "src/components/foundation-notification-dashboard/notification-dashboard.tabs.ts",
|
|
2297
|
+
"declarations": [
|
|
2298
|
+
{
|
|
2299
|
+
"kind": "class",
|
|
2300
|
+
"description": "",
|
|
2301
|
+
"name": "NotificationDashboardTab",
|
|
2302
|
+
"members": [
|
|
2303
|
+
{
|
|
2304
|
+
"kind": "field",
|
|
2305
|
+
"name": "id",
|
|
2306
|
+
"type": {
|
|
2307
|
+
"text": "string"
|
|
2308
|
+
}
|
|
2309
|
+
},
|
|
2310
|
+
{
|
|
2311
|
+
"kind": "field",
|
|
2312
|
+
"name": "name",
|
|
2313
|
+
"type": {
|
|
2314
|
+
"text": "string"
|
|
2315
|
+
}
|
|
2316
|
+
},
|
|
2317
|
+
{
|
|
2318
|
+
"kind": "field",
|
|
2319
|
+
"name": "component",
|
|
2320
|
+
"type": {
|
|
2321
|
+
"text": "string"
|
|
2322
|
+
}
|
|
2323
|
+
},
|
|
2324
|
+
{
|
|
2325
|
+
"kind": "field",
|
|
2326
|
+
"name": "right",
|
|
2327
|
+
"type": {
|
|
2328
|
+
"text": "string"
|
|
2329
|
+
}
|
|
2330
|
+
}
|
|
2331
|
+
]
|
|
2332
|
+
},
|
|
2333
|
+
{
|
|
2334
|
+
"kind": "variable",
|
|
2335
|
+
"name": "NOTIFICATION_DASHBOARD_TABS",
|
|
2336
|
+
"type": {
|
|
2337
|
+
"text": "NotificationDashboardTab[]"
|
|
2338
|
+
},
|
|
2339
|
+
"default": "[\n {\n id: 'rules',\n name: 'Rules',\n component: 'rule-management',\n right: 'NotificationRuleView',\n },\n {\n id: 'templates',\n name: 'Templates',\n component: 'template-management',\n right: 'NotificationRuleTemplateView',\n },\n {\n id: 'routes',\n name: 'Routes',\n component: 'route-management',\n right: 'NotificationRouteView',\n },\n /* TODO: Not needed at the moment\n {\n id: 'notify-audit',\n name: 'Notify Audit',\n component: 'notify-audit-management',\n right: 'NotificationAuditView',\n },\n */\n]"
|
|
2340
|
+
}
|
|
2341
|
+
],
|
|
2342
|
+
"exports": [
|
|
2343
|
+
{
|
|
2344
|
+
"kind": "js",
|
|
2345
|
+
"name": "NotificationDashboardTab",
|
|
2346
|
+
"declaration": {
|
|
2347
|
+
"name": "NotificationDashboardTab",
|
|
2348
|
+
"module": "src/components/foundation-notification-dashboard/notification-dashboard.tabs.ts"
|
|
2349
|
+
}
|
|
2350
|
+
},
|
|
2351
|
+
{
|
|
2352
|
+
"kind": "js",
|
|
2353
|
+
"name": "NOTIFICATION_DASHBOARD_TABS",
|
|
2354
|
+
"declaration": {
|
|
2355
|
+
"name": "NOTIFICATION_DASHBOARD_TABS",
|
|
2356
|
+
"module": "src/components/foundation-notification-dashboard/notification-dashboard.tabs.ts"
|
|
2357
|
+
}
|
|
2358
|
+
}
|
|
2359
|
+
]
|
|
2360
|
+
},
|
|
2361
|
+
{
|
|
2362
|
+
"kind": "javascript-module",
|
|
2363
|
+
"path": "src/components/foundation-notification-dashboard/notification-dashboard.template.ts",
|
|
2364
|
+
"declarations": [
|
|
2365
|
+
{
|
|
2366
|
+
"kind": "variable",
|
|
2367
|
+
"name": "FoundationNotificationDashboardTemplate",
|
|
2368
|
+
"default": "html<FoundationNotificationDashboard>`\n <div class=\"notification-dashboard\">\n ${whenElse(\n (x) => x.hasPermissions,\n html`\n <rapid-tabs class=\"tabs\">\n <!-- Tabs -->\n ${repeat(\n (_) => NOTIFICATION_DASHBOARD_TABS,\n html<NotificationDashboardTab>`\n ${when(\n (x, c) => (c.parent.auth as Auth).currentUser.hasPermission(x.right),\n html<NotificationDashboardTab>`\n <rapid-tab slot=\"${(x) => x.id}-tab\">${(x) => x.name}</rapid-tab>\n `,\n )}\n `,\n )}\n\n <!-- Panels -->\n ${repeat(\n (_) => NOTIFICATION_DASHBOARD_TABS,\n html<NotificationDashboardTab>`\n ${when(\n (x, c) => (c.parent.auth as Auth).currentUser.hasPermission(x.right),\n html`\n ${\n /* HTML Render */\n (x) => html<NotificationDashboardTab>`\n <rapid-tab-panel slot=\"${x.id}-tab\"\n id=\"${x.id}-tab-panel\">\n <${x.component}></${x.component}>\n </rapid-tab-panel>\n `\n }\n `,\n )}\n `,\n )}\n </rapid-tabs>\n `,\n html`\n <div class=\"no-permissions\">\n <label>User has no permissions to view Notification Screens</label>\n </div>\n `,\n )}\n </div>\n`"
|
|
2369
|
+
}
|
|
2370
|
+
],
|
|
2371
|
+
"exports": [
|
|
2372
|
+
{
|
|
2373
|
+
"kind": "js",
|
|
2374
|
+
"name": "FoundationNotificationDashboardTemplate",
|
|
2375
|
+
"declaration": {
|
|
2376
|
+
"name": "FoundationNotificationDashboardTemplate",
|
|
2377
|
+
"module": "src/components/foundation-notification-dashboard/notification-dashboard.template.ts"
|
|
2378
|
+
}
|
|
2379
|
+
}
|
|
2380
|
+
]
|
|
2381
|
+
},
|
|
2382
|
+
{
|
|
2383
|
+
"kind": "javascript-module",
|
|
2384
|
+
"path": "src/components/foundation-notification-dashboard/notification-dashboard.ts",
|
|
2385
|
+
"declarations": [
|
|
2386
|
+
{
|
|
2387
|
+
"kind": "class",
|
|
2388
|
+
"description": "",
|
|
2389
|
+
"name": "FoundationNotificationDashboard",
|
|
2390
|
+
"members": [
|
|
2391
|
+
{
|
|
2392
|
+
"kind": "field",
|
|
2393
|
+
"name": "auth",
|
|
2394
|
+
"type": {
|
|
2395
|
+
"text": "Auth"
|
|
2396
|
+
}
|
|
2397
|
+
},
|
|
2398
|
+
{
|
|
2399
|
+
"kind": "field",
|
|
2400
|
+
"name": "ready",
|
|
2401
|
+
"type": {
|
|
2402
|
+
"text": "boolean"
|
|
2403
|
+
},
|
|
2404
|
+
"default": "false"
|
|
2405
|
+
},
|
|
2406
|
+
{
|
|
2407
|
+
"kind": "field",
|
|
2408
|
+
"name": "hasPermissions",
|
|
2409
|
+
"type": {
|
|
2410
|
+
"text": "boolean"
|
|
2411
|
+
},
|
|
2412
|
+
"default": "true"
|
|
2413
|
+
}
|
|
2414
|
+
],
|
|
2415
|
+
"superclass": {
|
|
2416
|
+
"name": "GenesisElement",
|
|
2417
|
+
"package": "@genesislcap/web-core"
|
|
2418
|
+
},
|
|
2419
|
+
"tagName": "foundation-notification-dashboard",
|
|
2420
|
+
"customElement": true
|
|
2421
|
+
}
|
|
2422
|
+
],
|
|
2132
2423
|
"exports": [
|
|
2133
2424
|
{
|
|
2134
2425
|
"kind": "js",
|
|
@@ -2555,15 +2846,645 @@
|
|
|
2555
2846
|
},
|
|
2556
2847
|
{
|
|
2557
2848
|
"kind": "javascript-module",
|
|
2558
|
-
"path": "src/components/foundation-
|
|
2849
|
+
"path": "src/components/foundation-sounds/foundation-sounds-panel.styles.ts",
|
|
2559
2850
|
"declarations": [
|
|
2560
2851
|
{
|
|
2561
|
-
"kind": "
|
|
2562
|
-
"
|
|
2563
|
-
"
|
|
2564
|
-
|
|
2565
|
-
|
|
2566
|
-
|
|
2852
|
+
"kind": "variable",
|
|
2853
|
+
"name": "FoundationSoundsPanelStyles",
|
|
2854
|
+
"default": "css`\n :host {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n width: 100%;\n }\n\n .sounds-controls {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-height: 0;\n gap: 12px;\n padding: calc(var(--design-unit) * 3px);\n box-sizing: border-box;\n }\n\n .sounds-help-disclosure {\n flex: 0 0 auto;\n }\n\n .sounds-help-toggle {\n margin-inline-start: calc(var(--design-unit) * 1px);\n }\n\n .sounds-help-toggle::before {\n content: '+';\n }\n\n .sounds-help-disclosure[expanded] .sounds-help-toggle::before {\n content: '−';\n }\n\n .sounds-help {\n margin: 0;\n font-size: var(--type-ramp-minus-1-font-size);\n color: var(--neutral-foreground-hint);\n text-align: left;\n }\n\n .volume-row {\n display: flex;\n align-items: center;\n flex: 0 0 auto;\n gap: calc(var(--design-unit) * 2px);\n min-width: 0;\n }\n\n .volume-icon {\n flex: 0 0 auto;\n }\n\n .volume-label {\n flex: 0 0 auto;\n font-size: var(--type-ramp-minus-1-font-size);\n color: var(--neutral-foreground-hint);\n }\n\n .volume-slider {\n flex: 1 1 auto;\n min-width: 0;\n }\n\n .volume-percent {\n flex: 0 0 auto;\n min-width: 3ch;\n text-align: end;\n font-size: var(--type-ramp-minus-1-font-size);\n color: var(--neutral-foreground-hint);\n }\n\n .mute-all {\n flex: 0 0 auto;\n margin: 0;\n }\n\n .sound-rules-panel {\n flex: 1 1 auto;\n min-height: 0;\n overflow: auto;\n }\n\n .sound-rules {\n display: flex;\n flex-direction: column;\n gap: 12px;\n }\n\n .sound-rule {\n display: flex;\n flex-direction: column;\n gap: 8px;\n padding: 12px;\n border: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n border-radius: calc(var(--control-corner-radius) * 1px);\n\n /* Keep absolute listboxes from being clipped by the card itself. */\n overflow: visible;\n }\n\n .sound-rule-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n font-weight: 700;\n font-size: var(--type-ramp-minus-1-font-size);\n }\n\n .sound-rule-actions {\n display: flex;\n align-items: center;\n gap: 2px;\n }\n\n .sound-rule-label {\n display: flex;\n flex-direction: column;\n gap: 4px;\n font-size: var(--type-ramp-minus-1-font-size);\n color: var(--neutral-foreground-hint);\n }\n\n .pattern-input,\n .match-mode-select,\n .rule-select,\n .sound-file-input {\n width: 100%;\n }\n\n /*\n * Anchor the listbox to the select host and use position:fixed so it escapes\n * .sound-rules-panel overflow:auto (and the rule card). Each select sets a\n * unique --sounds-select-anchor / anchor-name via inline style.\n * !important beats FAST's internal absolute top/bottom for [open] selects.\n */\n .match-mode-select[open]::part(listbox),\n .rule-select[open]::part(listbox) {\n position: fixed !important;\n /* stylelint-disable-next-line property-no-unknown -- CSS anchor positioning */\n position-anchor: var(--sounds-select-anchor);\n inset: auto !important;\n top: anchor(bottom) !important;\n left: anchor(left) !important;\n right: anchor(right) !important;\n bottom: auto !important;\n width: auto !important;\n margin-top: calc(var(--design-unit) * 1px);\n z-index: 10000;\n max-height: min(240px, 40vh);\n overflow-x: hidden;\n overflow-y: auto;\n box-shadow: 0 4px 16px rgb(0 0 0 / 24%);\n }\n\n .match-mode-select[open][position='above']::part(listbox),\n .rule-select[open][position='above']::part(listbox) {\n top: auto !important;\n bottom: anchor(top) !important;\n margin-top: 0;\n margin-bottom: calc(var(--design-unit) * 1px);\n }\n\n .sound-file-row {\n display: flex;\n align-items: center;\n gap: 4px;\n }\n\n .sound-file-row .sound-file-input {\n flex: 1;\n min-width: 0;\n }\n\n .choose-sound {\n cursor: pointer;\n }\n\n .sound-rules-footer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n flex: 0 0 auto;\n gap: 8px;\n }\n\n .rule-count {\n font-size: var(--type-ramp-minus-1-font-size);\n color: var(--neutral-foreground-hint);\n }\n\n .file-input {\n display: none;\n }\n\n ${scrollbarStyles}\n`"
|
|
2855
|
+
}
|
|
2856
|
+
],
|
|
2857
|
+
"exports": [
|
|
2858
|
+
{
|
|
2859
|
+
"kind": "js",
|
|
2860
|
+
"name": "FoundationSoundsPanelStyles",
|
|
2861
|
+
"declaration": {
|
|
2862
|
+
"name": "FoundationSoundsPanelStyles",
|
|
2863
|
+
"module": "src/components/foundation-sounds/foundation-sounds-panel.styles.ts"
|
|
2864
|
+
}
|
|
2865
|
+
}
|
|
2866
|
+
]
|
|
2867
|
+
},
|
|
2868
|
+
{
|
|
2869
|
+
"kind": "javascript-module",
|
|
2870
|
+
"path": "src/components/foundation-sounds/foundation-sounds-panel.template.ts",
|
|
2871
|
+
"declarations": [
|
|
2872
|
+
{
|
|
2873
|
+
"kind": "variable",
|
|
2874
|
+
"name": "FoundationSoundsPanelTemplate",
|
|
2875
|
+
"default": "html<FoundationSoundsPanel>`\n <div class=\"sounds-controls\" part=\"controls\">\n <input\n ${ref('fileInput')}\n class=\"file-input\"\n type=\"file\"\n accept=\"audio/*\"\n @change=${(x, c) => x.onFileSelected(c.event)}\n />\n <rapid-disclosure class=\"sounds-help-disclosure\" appearance=\"lightweight\">\n <span slot=\"title\">\n Sound Alerts Information\n <span class=\"sounds-help-toggle\" aria-hidden=\"true\"></span>\n </span>\n <p class=\"sounds-help\">\n Add up to ${(x) => x.maxRules} sounds.\n <br />\n Match text in MESSAGE or HEADER (a word or phrase), or a notification rule (including rules\n created when you subscribe to a template).\n <br />\n The first matching rule is played.\n </p>\n </rapid-disclosure>\n <div class=\"volume-row\">\n <rapid-icon\n class=\"volume-icon\"\n name=${(x) => (x.muted || x.volumePercent === 0 ? 'volume-xmark' : 'volume-high')}\n ></rapid-icon>\n <span class=\"volume-label\">Volume</span>\n <rapid-slider\n class=\"volume-slider\"\n min=\"0\"\n max=\"100\"\n step=\"1\"\n :value=${(x) => String(x.volumePercent)}\n @change=${(x, c) => x.onVolumeChange(c.event)}\n ></rapid-slider>\n <span class=\"volume-percent\">${(x) => `${x.volumePercent}%`}</span>\n <rapid-button\n class=\"mute-all\"\n appearance=\"lightweight\"\n title=${(x) => (x.muted ? 'Unmute alert sounds' : 'Mute all alert sounds')}\n @click=${(x) => x.toggleMute()}\n >\n ${(x) => (x.muted ? 'Unmute' : 'Mute all')}\n </rapid-button>\n </div>\n <div class=\"sound-rules-panel\">\n <div class=\"sound-rules\">\n ${repeat(\n (x) => x.rules,\n html<AlertSoundRuleView, FoundationSoundsPanel>`\n <div class=\"sound-rule\" data-rule-index=${(x) => x.index}>\n <div class=\"sound-rule-header\">\n <span>Rule ${(x) => x.index + 1}</span>\n <div class=\"sound-rule-actions\">\n <rapid-button\n class=\"mute-rule\"\n appearance=\"stealth\"\n title=${(x) => (x.muted ? 'Unmute this rule' : 'Mute this rule')}\n @click=${(x, c) => c.parent.toggleRuleMute(x.index)}\n >\n <rapid-icon\n name=${(x) => (x.muted ? 'volume-xmark' : 'volume-high')}\n ></rapid-icon>\n </rapid-button>\n <rapid-button\n class=\"remove-rule\"\n appearance=\"stealth\"\n title=${(_, c) => (c.parent.canRemoveRule ? 'Remove rule' : 'Reset rule')}\n @click=${(x, c) => c.parent.removeRule(x.index)}\n >\n <rapid-icon name=\"trash\"></rapid-icon>\n </rapid-button>\n </div>\n </div>\n <label class=\"sound-rule-label\">\n Match by\n <rapid-select\n class=\"match-mode-select\"\n style=${(x) =>\n `anchor-name: --sound-match-${x.index}; --sounds-select-anchor: --sound-match-${x.index}`}\n :value=${(x) => x.matchMode}\n @change=${(x, c) => c.parent.onMatchModeChange(x.index, c.event)}\n >\n <rapid-option value=\"message\">MESSAGE text</rapid-option>\n <rapid-option value=\"header\">HEADER text</rapid-option>\n <rapid-option value=\"rule\">Notification rule</rapid-option>\n </rapid-select>\n </label>\n <label\n class=\"sound-rule-label\"\n style=${(x) => (x.matchMode === 'rule' ? 'display: none;' : '')}\n >\n ${(x) => (x.matchMode === 'header' ? 'HEADER text' : 'MESSAGE text')}\n <rapid-text-field\n class=\"pattern-input\"\n placeholder=${(x) =>\n x.matchMode === 'header' ? 'e.g. Price alert' : 'e.g. limit breached'}\n :value=${(x) => x.pattern}\n @input=${(x, c) => c.parent.onPatternInput(x.index, c.event)}\n ></rapid-text-field>\n </label>\n <label\n class=\"sound-rule-label\"\n style=${(x) => (x.matchMode === 'rule' ? '' : 'display: none;')}\n >\n Notification rule\n <rapid-select\n class=\"rule-select\"\n style=${(x) =>\n `anchor-name: --sound-rule-${x.index}; --sounds-select-anchor: --sound-rule-${x.index}`}\n :value=${(x) => x.templateId ?? ''}\n @change=${(x, c) => c.parent.onRuleChange(x.index, c.event)}\n >\n <options-datasource\n value-field=\"id\"\n label-field=\"name\"\n option-element=\"rapid-option\"\n :data=${(_, c) => c.parent.ruleSelectOptions}\n ></options-datasource>\n </rapid-select>\n </label>\n <label class=\"sound-rule-label\">\n Sound file\n <div class=\"sound-file-row\">\n <rapid-text-field\n class=\"sound-file-input\"\n readonly\n placeholder=\"No sound selected\"\n :value=${(x) => x.fileName ?? ''}\n title=${(x) => x.fileName ?? 'No sound selected'}\n >\n <rapid-icon\n slot=\"end\"\n class=\"choose-sound\"\n name=\"folder-open\"\n title=\"Choose alert sound\"\n @click=${(x, c) => {\n c.event.stopPropagation();\n return c.parent.openFilePicker(x.index);\n }}\n ></rapid-icon>\n </rapid-text-field>\n <rapid-button\n class=\"test-sound\"\n appearance=\"stealth\"\n title=\"Test play this sound\"\n ?disabled=${(x) => !x.hasSound}\n @click=${(x, c) => c.parent.testSound(x.index)}\n >\n <rapid-icon name=\"play\"></rapid-icon>\n </rapid-button>\n <rapid-button\n class=\"clear-sound\"\n appearance=\"stealth\"\n title=\"Clear sound file\"\n ?disabled=${(x) => !x.hasSound}\n @click=${(x, c) => c.parent.clearSound(x.index)}\n >\n <rapid-icon name=\"times\"></rapid-icon>\n </rapid-button>\n </div>\n </label>\n </div>\n `,\n )}\n </div>\n </div>\n <div class=\"sound-rules-footer\">\n <rapid-button\n class=\"add-rule\"\n appearance=\"lightweight\"\n title=\"Add sound rule\"\n ?disabled=${(x) => !x.canAddRule}\n @click=${(x) => x.addRule()}\n >\n <rapid-icon name=\"plus\"></rapid-icon>\n Add rule\n </rapid-button>\n <span class=\"rule-count\">${(x) => `${x.rules.length} / ${x.maxRules}`}</span>\n </div>\n </div>\n`"
|
|
2876
|
+
}
|
|
2877
|
+
],
|
|
2878
|
+
"exports": [
|
|
2879
|
+
{
|
|
2880
|
+
"kind": "js",
|
|
2881
|
+
"name": "FoundationSoundsPanelTemplate",
|
|
2882
|
+
"declaration": {
|
|
2883
|
+
"name": "FoundationSoundsPanelTemplate",
|
|
2884
|
+
"module": "src/components/foundation-sounds/foundation-sounds-panel.template.ts"
|
|
2885
|
+
}
|
|
2886
|
+
}
|
|
2887
|
+
]
|
|
2888
|
+
},
|
|
2889
|
+
{
|
|
2890
|
+
"kind": "javascript-module",
|
|
2891
|
+
"path": "src/components/foundation-sounds/foundation-sounds-panel.ts",
|
|
2892
|
+
"declarations": [
|
|
2893
|
+
{
|
|
2894
|
+
"kind": "class",
|
|
2895
|
+
"description": "Configures alert sound rules in the inbox Sounds tab. Persists via the shared\nAlertSoundPlayer; playback is handled by layout-mounted\nFoundationSounds.",
|
|
2896
|
+
"name": "FoundationSoundsPanel",
|
|
2897
|
+
"members": [
|
|
2898
|
+
{
|
|
2899
|
+
"kind": "field",
|
|
2900
|
+
"name": "ruleService",
|
|
2901
|
+
"type": {
|
|
2902
|
+
"text": "RuleService"
|
|
2903
|
+
}
|
|
2904
|
+
},
|
|
2905
|
+
{
|
|
2906
|
+
"kind": "field",
|
|
2907
|
+
"name": "volumePercent",
|
|
2908
|
+
"type": {
|
|
2909
|
+
"text": "number"
|
|
2910
|
+
},
|
|
2911
|
+
"default": "100",
|
|
2912
|
+
"description": "Global playback volume 0–100. @internal"
|
|
2913
|
+
},
|
|
2914
|
+
{
|
|
2915
|
+
"kind": "field",
|
|
2916
|
+
"name": "selectableRules",
|
|
2917
|
+
"type": {
|
|
2918
|
+
"text": "AlertSoundSelectableRule[]"
|
|
2919
|
+
},
|
|
2920
|
+
"default": "[]",
|
|
2921
|
+
"description": "Notification rules from REQ_NOTIFICATION_RULE. @internal"
|
|
2922
|
+
},
|
|
2923
|
+
{
|
|
2924
|
+
"kind": "field",
|
|
2925
|
+
"name": "fileInput",
|
|
2926
|
+
"type": {
|
|
2927
|
+
"text": "HTMLInputElement"
|
|
2928
|
+
}
|
|
2929
|
+
},
|
|
2930
|
+
{
|
|
2931
|
+
"kind": "field",
|
|
2932
|
+
"name": "pendingRuleIndex",
|
|
2933
|
+
"type": {
|
|
2934
|
+
"text": "number | null"
|
|
2935
|
+
},
|
|
2936
|
+
"privacy": "private",
|
|
2937
|
+
"default": "null"
|
|
2938
|
+
},
|
|
2939
|
+
{
|
|
2940
|
+
"kind": "field",
|
|
2941
|
+
"name": "player",
|
|
2942
|
+
"privacy": "private",
|
|
2943
|
+
"readonly": true
|
|
2944
|
+
},
|
|
2945
|
+
{
|
|
2946
|
+
"kind": "field",
|
|
2947
|
+
"name": "unsubscribePlayer",
|
|
2948
|
+
"type": {
|
|
2949
|
+
"text": "(() => void) | undefined"
|
|
2950
|
+
},
|
|
2951
|
+
"privacy": "private"
|
|
2952
|
+
},
|
|
2953
|
+
{
|
|
2954
|
+
"kind": "field",
|
|
2955
|
+
"name": "ignoreSelectChanges",
|
|
2956
|
+
"type": {
|
|
2957
|
+
"text": "boolean"
|
|
2958
|
+
},
|
|
2959
|
+
"privacy": "private",
|
|
2960
|
+
"default": "false",
|
|
2961
|
+
"description": "Suppresses select change events while options are rebuilt."
|
|
2962
|
+
},
|
|
2963
|
+
{
|
|
2964
|
+
"kind": "method",
|
|
2965
|
+
"name": "onMatchModeChange",
|
|
2966
|
+
"return": {
|
|
2967
|
+
"type": {
|
|
2968
|
+
"text": "boolean"
|
|
2969
|
+
}
|
|
2970
|
+
},
|
|
2971
|
+
"parameters": [
|
|
2972
|
+
{
|
|
2973
|
+
"name": "index",
|
|
2974
|
+
"type": {
|
|
2975
|
+
"text": "number"
|
|
2976
|
+
}
|
|
2977
|
+
},
|
|
2978
|
+
{
|
|
2979
|
+
"name": "event",
|
|
2980
|
+
"type": {
|
|
2981
|
+
"text": "Event"
|
|
2982
|
+
}
|
|
2983
|
+
}
|
|
2984
|
+
]
|
|
2985
|
+
},
|
|
2986
|
+
{
|
|
2987
|
+
"kind": "method",
|
|
2988
|
+
"name": "onPatternInput",
|
|
2989
|
+
"return": {
|
|
2990
|
+
"type": {
|
|
2991
|
+
"text": "boolean"
|
|
2992
|
+
}
|
|
2993
|
+
},
|
|
2994
|
+
"parameters": [
|
|
2995
|
+
{
|
|
2996
|
+
"name": "index",
|
|
2997
|
+
"type": {
|
|
2998
|
+
"text": "number"
|
|
2999
|
+
}
|
|
3000
|
+
},
|
|
3001
|
+
{
|
|
3002
|
+
"name": "event",
|
|
3003
|
+
"type": {
|
|
3004
|
+
"text": "Event"
|
|
3005
|
+
}
|
|
3006
|
+
}
|
|
3007
|
+
]
|
|
3008
|
+
},
|
|
3009
|
+
{
|
|
3010
|
+
"kind": "method",
|
|
3011
|
+
"name": "onRuleChange",
|
|
3012
|
+
"return": {
|
|
3013
|
+
"type": {
|
|
3014
|
+
"text": "boolean"
|
|
3015
|
+
}
|
|
3016
|
+
},
|
|
3017
|
+
"parameters": [
|
|
3018
|
+
{
|
|
3019
|
+
"name": "index",
|
|
3020
|
+
"type": {
|
|
3021
|
+
"text": "number"
|
|
3022
|
+
}
|
|
3023
|
+
},
|
|
3024
|
+
{
|
|
3025
|
+
"name": "event",
|
|
3026
|
+
"type": {
|
|
3027
|
+
"text": "Event"
|
|
3028
|
+
}
|
|
3029
|
+
}
|
|
3030
|
+
]
|
|
3031
|
+
},
|
|
3032
|
+
{
|
|
3033
|
+
"kind": "method",
|
|
3034
|
+
"name": "openFilePicker",
|
|
3035
|
+
"return": {
|
|
3036
|
+
"type": {
|
|
3037
|
+
"text": "boolean"
|
|
3038
|
+
}
|
|
3039
|
+
},
|
|
3040
|
+
"parameters": [
|
|
3041
|
+
{
|
|
3042
|
+
"name": "index",
|
|
3043
|
+
"type": {
|
|
3044
|
+
"text": "number"
|
|
3045
|
+
}
|
|
3046
|
+
}
|
|
3047
|
+
]
|
|
3048
|
+
},
|
|
3049
|
+
{
|
|
3050
|
+
"kind": "method",
|
|
3051
|
+
"name": "onFileSelected",
|
|
3052
|
+
"return": {
|
|
3053
|
+
"type": {
|
|
3054
|
+
"text": "boolean"
|
|
3055
|
+
}
|
|
3056
|
+
},
|
|
3057
|
+
"parameters": [
|
|
3058
|
+
{
|
|
3059
|
+
"name": "event",
|
|
3060
|
+
"type": {
|
|
3061
|
+
"text": "Event"
|
|
3062
|
+
}
|
|
3063
|
+
}
|
|
3064
|
+
]
|
|
3065
|
+
},
|
|
3066
|
+
{
|
|
3067
|
+
"kind": "method",
|
|
3068
|
+
"name": "clearSound",
|
|
3069
|
+
"return": {
|
|
3070
|
+
"type": {
|
|
3071
|
+
"text": "boolean"
|
|
3072
|
+
}
|
|
3073
|
+
},
|
|
3074
|
+
"parameters": [
|
|
3075
|
+
{
|
|
3076
|
+
"name": "index",
|
|
3077
|
+
"type": {
|
|
3078
|
+
"text": "number"
|
|
3079
|
+
}
|
|
3080
|
+
}
|
|
3081
|
+
]
|
|
3082
|
+
},
|
|
3083
|
+
{
|
|
3084
|
+
"kind": "method",
|
|
3085
|
+
"name": "testSound",
|
|
3086
|
+
"return": {
|
|
3087
|
+
"type": {
|
|
3088
|
+
"text": "boolean"
|
|
3089
|
+
}
|
|
3090
|
+
},
|
|
3091
|
+
"parameters": [
|
|
3092
|
+
{
|
|
3093
|
+
"name": "index",
|
|
3094
|
+
"type": {
|
|
3095
|
+
"text": "number"
|
|
3096
|
+
}
|
|
3097
|
+
}
|
|
3098
|
+
]
|
|
3099
|
+
},
|
|
3100
|
+
{
|
|
3101
|
+
"kind": "method",
|
|
3102
|
+
"name": "toggleRuleMute",
|
|
3103
|
+
"return": {
|
|
3104
|
+
"type": {
|
|
3105
|
+
"text": "boolean"
|
|
3106
|
+
}
|
|
3107
|
+
},
|
|
3108
|
+
"parameters": [
|
|
3109
|
+
{
|
|
3110
|
+
"name": "index",
|
|
3111
|
+
"type": {
|
|
3112
|
+
"text": "number"
|
|
3113
|
+
}
|
|
3114
|
+
}
|
|
3115
|
+
]
|
|
3116
|
+
},
|
|
3117
|
+
{
|
|
3118
|
+
"kind": "method",
|
|
3119
|
+
"name": "onVolumeChange",
|
|
3120
|
+
"return": {
|
|
3121
|
+
"type": {
|
|
3122
|
+
"text": "boolean"
|
|
3123
|
+
}
|
|
3124
|
+
},
|
|
3125
|
+
"parameters": [
|
|
3126
|
+
{
|
|
3127
|
+
"name": "event",
|
|
3128
|
+
"type": {
|
|
3129
|
+
"text": "Event"
|
|
3130
|
+
}
|
|
3131
|
+
}
|
|
3132
|
+
]
|
|
3133
|
+
},
|
|
3134
|
+
{
|
|
3135
|
+
"kind": "method",
|
|
3136
|
+
"name": "toggleMute",
|
|
3137
|
+
"return": {
|
|
3138
|
+
"type": {
|
|
3139
|
+
"text": "boolean"
|
|
3140
|
+
}
|
|
3141
|
+
}
|
|
3142
|
+
},
|
|
3143
|
+
{
|
|
3144
|
+
"kind": "method",
|
|
3145
|
+
"name": "addRule",
|
|
3146
|
+
"return": {
|
|
3147
|
+
"type": {
|
|
3148
|
+
"text": "boolean"
|
|
3149
|
+
}
|
|
3150
|
+
}
|
|
3151
|
+
},
|
|
3152
|
+
{
|
|
3153
|
+
"kind": "method",
|
|
3154
|
+
"name": "removeRule",
|
|
3155
|
+
"return": {
|
|
3156
|
+
"type": {
|
|
3157
|
+
"text": "boolean"
|
|
3158
|
+
}
|
|
3159
|
+
},
|
|
3160
|
+
"parameters": [
|
|
3161
|
+
{
|
|
3162
|
+
"name": "index",
|
|
3163
|
+
"type": {
|
|
3164
|
+
"text": "number"
|
|
3165
|
+
}
|
|
3166
|
+
}
|
|
3167
|
+
]
|
|
3168
|
+
},
|
|
3169
|
+
{
|
|
3170
|
+
"kind": "method",
|
|
3171
|
+
"name": "reloadRules",
|
|
3172
|
+
"return": {
|
|
3173
|
+
"type": {
|
|
3174
|
+
"text": "Promise<void>"
|
|
3175
|
+
}
|
|
3176
|
+
},
|
|
3177
|
+
"description": "Reloads the notification-rule picker (e.g. when the Sounds tab is opened)."
|
|
3178
|
+
},
|
|
3179
|
+
{
|
|
3180
|
+
"kind": "method",
|
|
3181
|
+
"name": "loadRules",
|
|
3182
|
+
"privacy": "private",
|
|
3183
|
+
"return": {
|
|
3184
|
+
"type": {
|
|
3185
|
+
"text": "Promise<void>"
|
|
3186
|
+
}
|
|
3187
|
+
}
|
|
3188
|
+
},
|
|
3189
|
+
{
|
|
3190
|
+
"kind": "method",
|
|
3191
|
+
"name": "settleRuleOptions",
|
|
3192
|
+
"privacy": "private",
|
|
3193
|
+
"return": {
|
|
3194
|
+
"type": {
|
|
3195
|
+
"text": "Promise<void>"
|
|
3196
|
+
}
|
|
3197
|
+
},
|
|
3198
|
+
"description": "Suppresses select `change` events only while options-datasource rebuilds\nthe DOM — not for the `getRules()` round trip itself, so a user picking a\nrule while a request is in flight isn't silently dropped."
|
|
3199
|
+
},
|
|
3200
|
+
{
|
|
3201
|
+
"kind": "method",
|
|
3202
|
+
"name": "applyRuleSelectValues",
|
|
3203
|
+
"privacy": "private",
|
|
3204
|
+
"return": {
|
|
3205
|
+
"type": {
|
|
3206
|
+
"text": "void"
|
|
3207
|
+
}
|
|
3208
|
+
},
|
|
3209
|
+
"description": "Re-applies persisted template ids onto `.rule-select` hosts after\noptions-datasource has rebuilt its options. We deliberately do *not* bind\n`:initialSelectedValue` to templateId: that path compares the option label\nagainst Select.value (the option id), always mismatches, clearData()'s the\nselect, and leaves the next pick stuck on \"Select a rule...\"."
|
|
3210
|
+
},
|
|
3211
|
+
{
|
|
3212
|
+
"kind": "method",
|
|
3213
|
+
"name": "mapRules",
|
|
3214
|
+
"privacy": "private",
|
|
3215
|
+
"return": {
|
|
3216
|
+
"type": {
|
|
3217
|
+
"text": "AlertSoundSelectableRule[]"
|
|
3218
|
+
}
|
|
3219
|
+
},
|
|
3220
|
+
"parameters": [
|
|
3221
|
+
{
|
|
3222
|
+
"name": "ruleList",
|
|
3223
|
+
"type": {
|
|
3224
|
+
"text": "NamedRuleRow[]"
|
|
3225
|
+
}
|
|
3226
|
+
}
|
|
3227
|
+
]
|
|
3228
|
+
},
|
|
3229
|
+
{
|
|
3230
|
+
"kind": "method",
|
|
3231
|
+
"name": "ruleMatchId",
|
|
3232
|
+
"privacy": "private",
|
|
3233
|
+
"return": {
|
|
3234
|
+
"type": {
|
|
3235
|
+
"text": "string"
|
|
3236
|
+
}
|
|
3237
|
+
},
|
|
3238
|
+
"parameters": [
|
|
3239
|
+
{
|
|
3240
|
+
"name": "rule",
|
|
3241
|
+
"type": {
|
|
3242
|
+
"text": "NamedRuleRow | undefined"
|
|
3243
|
+
}
|
|
3244
|
+
}
|
|
3245
|
+
]
|
|
3246
|
+
},
|
|
3247
|
+
{
|
|
3248
|
+
"kind": "method",
|
|
3249
|
+
"name": "syncSoundState",
|
|
3250
|
+
"privacy": "private"
|
|
3251
|
+
}
|
|
3252
|
+
],
|
|
3253
|
+
"superclass": {
|
|
3254
|
+
"name": "GenesisElement",
|
|
3255
|
+
"package": "@genesislcap/web-core"
|
|
3256
|
+
},
|
|
3257
|
+
"tagName": "foundation-sounds-panel",
|
|
3258
|
+
"customElement": true
|
|
3259
|
+
}
|
|
3260
|
+
],
|
|
3261
|
+
"exports": [
|
|
3262
|
+
{
|
|
3263
|
+
"kind": "js",
|
|
3264
|
+
"name": "FoundationSoundsPanel",
|
|
3265
|
+
"declaration": {
|
|
3266
|
+
"name": "FoundationSoundsPanel",
|
|
3267
|
+
"module": "src/components/foundation-sounds/foundation-sounds-panel.ts"
|
|
3268
|
+
}
|
|
3269
|
+
},
|
|
3270
|
+
{
|
|
3271
|
+
"kind": "custom-element-definition",
|
|
3272
|
+
"name": "foundation-sounds-panel",
|
|
3273
|
+
"declaration": {
|
|
3274
|
+
"name": "FoundationSoundsPanel",
|
|
3275
|
+
"module": "src/components/foundation-sounds/foundation-sounds-panel.ts"
|
|
3276
|
+
}
|
|
3277
|
+
}
|
|
3278
|
+
]
|
|
3279
|
+
},
|
|
3280
|
+
{
|
|
3281
|
+
"kind": "javascript-module",
|
|
3282
|
+
"path": "src/components/foundation-sounds/foundation-sounds.styles.ts",
|
|
3283
|
+
"declarations": [
|
|
3284
|
+
{
|
|
3285
|
+
"kind": "variable",
|
|
3286
|
+
"name": "FoundationSoundsStyles",
|
|
3287
|
+
"default": "css`\n :host {\n display: none;\n }\n`",
|
|
3288
|
+
"description": "Headless layout listener — take no space in the layout chrome."
|
|
3289
|
+
}
|
|
3290
|
+
],
|
|
3291
|
+
"exports": [
|
|
3292
|
+
{
|
|
3293
|
+
"kind": "js",
|
|
3294
|
+
"name": "FoundationSoundsStyles",
|
|
3295
|
+
"declaration": {
|
|
3296
|
+
"name": "FoundationSoundsStyles",
|
|
3297
|
+
"module": "src/components/foundation-sounds/foundation-sounds.styles.ts"
|
|
3298
|
+
}
|
|
3299
|
+
}
|
|
3300
|
+
]
|
|
3301
|
+
},
|
|
3302
|
+
{
|
|
3303
|
+
"kind": "javascript-module",
|
|
3304
|
+
"path": "src/components/foundation-sounds/foundation-sounds.ts",
|
|
3305
|
+
"declarations": [
|
|
3306
|
+
{
|
|
3307
|
+
"kind": "class",
|
|
3308
|
+
"description": "Headless listener for inbox alert inserts. Plays configured sounds via the\nshared AlertSoundPlayer. Mount once in the app layout.\n\nConfigure rules in the inbox Sounds tab with FoundationSoundsPanel.",
|
|
3309
|
+
"name": "FoundationSounds",
|
|
3310
|
+
"members": [
|
|
3311
|
+
{
|
|
3312
|
+
"kind": "field",
|
|
3313
|
+
"name": "connect",
|
|
3314
|
+
"type": {
|
|
3315
|
+
"text": "Connect"
|
|
3316
|
+
}
|
|
3317
|
+
},
|
|
3318
|
+
{
|
|
3319
|
+
"kind": "field",
|
|
3320
|
+
"name": "inboxService",
|
|
3321
|
+
"type": {
|
|
3322
|
+
"text": "FoundationInboxService"
|
|
3323
|
+
}
|
|
3324
|
+
},
|
|
3325
|
+
{
|
|
3326
|
+
"kind": "field",
|
|
3327
|
+
"name": "ruleService",
|
|
3328
|
+
"type": {
|
|
3329
|
+
"text": "RuleService"
|
|
3330
|
+
}
|
|
3331
|
+
},
|
|
3332
|
+
{
|
|
3333
|
+
"kind": "field",
|
|
3334
|
+
"name": "soundEnabled",
|
|
3335
|
+
"type": {
|
|
3336
|
+
"text": "boolean"
|
|
3337
|
+
},
|
|
3338
|
+
"default": "true",
|
|
3339
|
+
"description": "When false, new audible alerts are tracked but do not play."
|
|
3340
|
+
},
|
|
3341
|
+
{
|
|
3342
|
+
"kind": "field",
|
|
3343
|
+
"name": "connectionSub",
|
|
3344
|
+
"type": {
|
|
3345
|
+
"text": "Subscription | undefined"
|
|
3346
|
+
},
|
|
3347
|
+
"privacy": "private"
|
|
3348
|
+
},
|
|
3349
|
+
{
|
|
3350
|
+
"kind": "field",
|
|
3351
|
+
"name": "player",
|
|
3352
|
+
"privacy": "private",
|
|
3353
|
+
"readonly": true
|
|
3354
|
+
},
|
|
3355
|
+
{
|
|
3356
|
+
"kind": "field",
|
|
3357
|
+
"name": "knownAlertIds",
|
|
3358
|
+
"privacy": "private",
|
|
3359
|
+
"default": "new Set<string>()"
|
|
3360
|
+
},
|
|
3361
|
+
{
|
|
3362
|
+
"kind": "field",
|
|
3363
|
+
"name": "serverSoundFetches",
|
|
3364
|
+
"privacy": "private",
|
|
3365
|
+
"readonly": true,
|
|
3366
|
+
"default": "new Map<string, Promise<boolean>>()",
|
|
3367
|
+
"description": "In-flight server sound fetches keyed by DYNAMIC_RULE_ID."
|
|
3368
|
+
},
|
|
3369
|
+
{
|
|
3370
|
+
"kind": "method",
|
|
3371
|
+
"name": "subscribeToAlerts",
|
|
3372
|
+
"privacy": "private",
|
|
3373
|
+
"return": {
|
|
3374
|
+
"type": {
|
|
3375
|
+
"text": "void"
|
|
3376
|
+
}
|
|
3377
|
+
}
|
|
3378
|
+
},
|
|
3379
|
+
{
|
|
3380
|
+
"kind": "field",
|
|
3381
|
+
"name": "subscriptionHandler",
|
|
3382
|
+
"privacy": "private"
|
|
3383
|
+
},
|
|
3384
|
+
{
|
|
3385
|
+
"kind": "method",
|
|
3386
|
+
"name": "playForNewAlerts",
|
|
3387
|
+
"privacy": "private",
|
|
3388
|
+
"return": {
|
|
3389
|
+
"type": {
|
|
3390
|
+
"text": "Promise<void>"
|
|
3391
|
+
}
|
|
3392
|
+
},
|
|
3393
|
+
"parameters": [
|
|
3394
|
+
{
|
|
3395
|
+
"name": "rows",
|
|
3396
|
+
"type": {
|
|
3397
|
+
"text": "Array<{\n id: string;\n message?: string;\n header?: string;\n dynamicRuleId?: string;\n }>"
|
|
3398
|
+
}
|
|
3399
|
+
}
|
|
3400
|
+
]
|
|
3401
|
+
},
|
|
3402
|
+
{
|
|
3403
|
+
"kind": "method",
|
|
3404
|
+
"name": "tryPlayServerSound",
|
|
3405
|
+
"privacy": "private",
|
|
3406
|
+
"return": {
|
|
3407
|
+
"type": {
|
|
3408
|
+
"text": "Promise<boolean>"
|
|
3409
|
+
}
|
|
3410
|
+
},
|
|
3411
|
+
"parameters": [
|
|
3412
|
+
{
|
|
3413
|
+
"name": "dynamicRuleId",
|
|
3414
|
+
"type": {
|
|
3415
|
+
"text": "string"
|
|
3416
|
+
}
|
|
3417
|
+
}
|
|
3418
|
+
]
|
|
3419
|
+
},
|
|
3420
|
+
{
|
|
3421
|
+
"kind": "method",
|
|
3422
|
+
"name": "fetchAndCacheServerSound",
|
|
3423
|
+
"privacy": "private",
|
|
3424
|
+
"return": {
|
|
3425
|
+
"type": {
|
|
3426
|
+
"text": "Promise<boolean>"
|
|
3427
|
+
}
|
|
3428
|
+
},
|
|
3429
|
+
"parameters": [
|
|
3430
|
+
{
|
|
3431
|
+
"name": "dynamicRuleId",
|
|
3432
|
+
"type": {
|
|
3433
|
+
"text": "string"
|
|
3434
|
+
}
|
|
3435
|
+
}
|
|
3436
|
+
]
|
|
3437
|
+
}
|
|
3438
|
+
],
|
|
3439
|
+
"attributes": [
|
|
3440
|
+
{
|
|
3441
|
+
"name": "sound-enabled",
|
|
3442
|
+
"type": {
|
|
3443
|
+
"text": "boolean"
|
|
3444
|
+
},
|
|
3445
|
+
"default": "true",
|
|
3446
|
+
"description": "When false, new audible alerts are tracked but do not play.",
|
|
3447
|
+
"fieldName": "soundEnabled"
|
|
3448
|
+
}
|
|
3449
|
+
],
|
|
3450
|
+
"superclass": {
|
|
3451
|
+
"name": "GenesisElement",
|
|
3452
|
+
"package": "@genesislcap/web-core"
|
|
3453
|
+
},
|
|
3454
|
+
"tagName": "foundation-sounds",
|
|
3455
|
+
"customElement": true
|
|
3456
|
+
}
|
|
3457
|
+
],
|
|
3458
|
+
"exports": [
|
|
3459
|
+
{
|
|
3460
|
+
"kind": "js",
|
|
3461
|
+
"name": "FoundationSounds",
|
|
3462
|
+
"declaration": {
|
|
3463
|
+
"name": "FoundationSounds",
|
|
3464
|
+
"module": "src/components/foundation-sounds/foundation-sounds.ts"
|
|
3465
|
+
}
|
|
3466
|
+
},
|
|
3467
|
+
{
|
|
3468
|
+
"kind": "custom-element-definition",
|
|
3469
|
+
"name": "foundation-sounds",
|
|
3470
|
+
"declaration": {
|
|
3471
|
+
"name": "FoundationSounds",
|
|
3472
|
+
"module": "src/components/foundation-sounds/foundation-sounds.ts"
|
|
3473
|
+
}
|
|
3474
|
+
}
|
|
3475
|
+
]
|
|
3476
|
+
},
|
|
3477
|
+
{
|
|
3478
|
+
"kind": "javascript-module",
|
|
3479
|
+
"path": "src/components/foundation-inbox/inbox-base/inbox-base.ts",
|
|
3480
|
+
"declarations": [
|
|
3481
|
+
{
|
|
3482
|
+
"kind": "class",
|
|
3483
|
+
"description": "",
|
|
3484
|
+
"name": "FoundationInboxBase",
|
|
3485
|
+
"members": [
|
|
3486
|
+
{
|
|
3487
|
+
"kind": "field",
|
|
2567
3488
|
"name": "auth",
|
|
2568
3489
|
"type": {
|
|
2569
3490
|
"text": "Auth"
|
|
@@ -2882,6 +3803,14 @@
|
|
|
2882
3803
|
},
|
|
2883
3804
|
"privacy": "public"
|
|
2884
3805
|
},
|
|
3806
|
+
{
|
|
3807
|
+
"kind": "field",
|
|
3808
|
+
"name": "sounds",
|
|
3809
|
+
"type": {
|
|
3810
|
+
"text": "FoundationSoundsPanel"
|
|
3811
|
+
},
|
|
3812
|
+
"privacy": "public"
|
|
3813
|
+
},
|
|
2885
3814
|
{
|
|
2886
3815
|
"kind": "field",
|
|
2887
3816
|
"name": "alertSubscription"
|
|
@@ -3346,7 +4275,7 @@
|
|
|
3346
4275
|
{
|
|
3347
4276
|
"kind": "variable",
|
|
3348
4277
|
"name": "DynamicRuleDialogStyles",
|
|
3349
|
-
"default": "css`\n ${scrollbarStyles}\n ${top}\n ${bottom}\n\n rapid-modal::part(dialog) {\n padding: 0;\n background: var(--neutral-layer-4);\n border: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n }\n\n .dialog-content {\n display: flex;\n flex-direction: column;\n width: ${String(modalWidthPx)}px;\n max-height:
|
|
4278
|
+
"default": "css`\n ${scrollbarStyles}\n ${top}\n ${bottom}\n\n rapid-modal::part(dialog) {\n padding: 0;\n background: var(--neutral-layer-4);\n border: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n }\n\n .dialog-content {\n display: flex;\n flex-direction: column;\n width: ${String(modalWidthPx)}px;\n max-height: 600px;\n overflow-y: scroll;\n gap: calc(var(--design-unit) * 3px);\n padding: calc(var(--design-unit) * 4px);\n }\n\n .content-row {\n display: flex;\n gap: calc(var(--design-unit) * 3px);\n }\n\n .control {\n display: flex;\n flex-direction: column;\n width: 100%;\n gap: calc(var(--design-unit) * 2px);\n }\n\n .items {\n border: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n border-radius: calc(var(--control-corner-radius) * 1px);\n display: flex;\n padding: calc(var(--design-unit) * 2px);\n flex-direction: column;\n }\n\n .item {\n gap: 0;\n flex-direction: column;\n margin-bottom: 0;\n }\n\n ${textField}\n ${select}\n\n rapid-button {\n margin: 0;\n }\n\n rapid-select {\n min-width: 0;\n }\n\n rapid-select::part(listbox) {\n max-height: 160px;\n }\n\n .horizontal {\n flex-direction: row;\n }\n\n .destination {\n align-self: center;\n }\n\n .topic {\n min-width: revert-layer;\n }\n\n .expression-preview {\n width: 100%;\n margin-top: calc(var(--design-unit) * 2px);\n }\n\n .expression-preview::part(control) {\n font-family: var(--body-font, monospace);\n font-size: 12px;\n color: var(--neutral-foreground-hint);\n min-height: calc(var(--design-unit) * 12px);\n resize: vertical;\n }\n\n .alert-sound {\n display: flex;\n flex-direction: column;\n gap: calc(var(--design-unit) * 2px);\n margin-top: calc(var(--design-unit) * 2px);\n }\n\n .alert-sound .file-input {\n display: none;\n }\n\n .alert-sound-row {\n display: flex;\n align-items: center;\n gap: calc(var(--design-unit) * 2px);\n flex-wrap: wrap;\n border: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n border-radius: calc(var(--control-corner-radius) * 1px);\n padding: calc(var(--design-unit) * 2px);\n }\n\n .alert-sound-name {\n flex: 1;\n min-width: 120px;\n color: var(--neutral-foreground-hint);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n`"
|
|
3350
4279
|
}
|
|
3351
4280
|
],
|
|
3352
4281
|
"exports": [
|
|
@@ -4700,6 +5629,18 @@
|
|
|
4700
5629
|
"module": "src/components/foundation-inbox/inbox-base/inbox-base.ts"
|
|
4701
5630
|
}
|
|
4702
5631
|
},
|
|
5632
|
+
{
|
|
5633
|
+
"kind": "field",
|
|
5634
|
+
"name": "sounds",
|
|
5635
|
+
"type": {
|
|
5636
|
+
"text": "FoundationSoundsPanel"
|
|
5637
|
+
},
|
|
5638
|
+
"privacy": "public",
|
|
5639
|
+
"inheritedFrom": {
|
|
5640
|
+
"name": "FoundationInboxBase",
|
|
5641
|
+
"module": "src/components/foundation-inbox/inbox-base/inbox-base.ts"
|
|
5642
|
+
}
|
|
5643
|
+
},
|
|
4703
5644
|
{
|
|
4704
5645
|
"kind": "field",
|
|
4705
5646
|
"name": "alertSubscription",
|
|
@@ -6130,7 +7071,7 @@
|
|
|
6130
7071
|
{
|
|
6131
7072
|
"kind": "variable",
|
|
6132
7073
|
"name": "RuleDialogTemplate",
|
|
6133
|
-
"default": "html<RuleDialog>`\n <rapid-modal ${ref('dialog')} class=\"dialog\" :onCloseCallback=${(x) => () => x.close()}>\n <div slot=\"top\" class=\"dialog-top\">${(x) => x.ruleDialogTitle}</div>\n\n <div class=\"dialog-content\">\n <div class=\"content-row\">\n <div class=\"control\">\n <rapid-text-field\n :value=${sync((x) => x.name)}\n @change=\"${(x) => x.validateRequiredFields()}\"\n autofocus\n autocomplete=\"off\"\n required\n >\n Name\n </rapid-text-field>\n </div>\n\n <div class=\"control\">\n <rapid-text-field\n :value=${sync((x) => x.description)}\n @change=\"${(x) => x.validateRequiredFields()}\"\n autocomplete=\"off\"\n required\n >\n Description\n </rapid-text-field>\n </div>\n </div>\n\n <div class=\"content-row\">\n <div class=\"control\">\n <label>Resource</label>\n <rapid-select\n :value=${sync((x) => x.resource)}\n title=${(x) => x.resource}\n position=\"below\"\n >\n ${repeat(\n (x) => x.resources,\n html`\n <rapid-option value=${(x) => x} title=${(x) => x}>${(x) => x}</rapid-option>\n `,\n )}\n </rapid-select>\n </div>\n\n <div class=\"control\">\n <label>Topic</label>\n <rapid-combobox\n autocomplete=\"both\"\n :value=${sync((x) => x.topic)}\n title=${(x) => x.topic}\n >\n ${repeat(\n (x) => x.topics,\n html`\n <rapid-option value=${(x) => x} title=${(x) => x}>${(x) => x}</rapid-option>\n `,\n )}\n </rapid-combobox>\n </div>\n\n <div class=\"control\">\n <label>Severity</label>\n <rapid-select :value=${sync((x) => x.severity)}>\n <options-datasource\n value-field=\"value\"\n label-field=\"value\"\n option-element=\"rapid-option\"\n :data=${(_) => Object.values(Severity).map((value) => ({ value }))}\n ></options-datasource>\n </rapid-select>\n </div>\n\n <div class=\"control\">\n <label>Update Type</label>\n <rapid-multiselect\n :selectedOptions=${(x) => x.updateType}\n @selectionChange=${(x, c) => {\n x.updateType = (c.event as CustomEvent).detail;\n }}\n search=\"false\"\n all=\"false\"\n >\n <multiselect-datasource\n value-field=\"value\"\n label-field=\"value\"\n :data=${() => Object.values(UpdateType).map((value) => ({ value, label: value }))}\n ></multiselect-datasource>\n </rapid-multiselect>\n </div>\n </div>\n\n <div class=\"content-row\">\n <div class=\"control\">\n <rapid-text-field\n required\n :value=${sync((x) => x.header)}\n @change=\"${(x) => x.validateRequiredFields()}\"\n autocomplete=\"off\"\n >\n Header\n </rapid-text-field>\n </div>\n\n <div class=\"control\">\n <rapid-text-field\n required\n :value=${sync((x) => x.message)}\n @change=\"${(x) => x.validateRequiredFields()}\"\n autocomplete=\"off\"\n >\n Message\n </rapid-text-field>\n </div>\n </div>\n\n <div class=\"control\">\n <label>Condition(s)</label>\n <div class=\"items\">\n <div class=\"content-row item\">\n ${repeat(\n (x) => x.conditions,\n html<ConditionNode, RuleDialog>`\n ${when(\n (x) => isGroup(x),\n html<ConditionNode>`\n <rule-condition-group\n :fields=${(x, c) => c.parent.fields}\n :node=${(x) => x}\n :isFirst=${(x, c) => c.index === 0}\n @edit=${(x, c) => c.parent.editCondition(eventDetail(c))}\n @delete=${(x, c) => c.parent.deleteCondition(eventDetail(c))}\n ></rule-condition-group>\n `,\n )}\n ${when(\n (x) => !isGroup(x),\n html<ConditionNode>`\n <rule-condition-builder\n :fields=${(x, c) => c.parent.fields}\n :condition=${(x) => x}\n :isFirst=${(x, c) => c.index === 0}\n @edit=${(x, c) => c.parent.editCondition(eventDetail(c))}\n @delete=${(x, c) => c.parent.deleteCondition(eventDetail(c))}\n ></rule-condition-builder>\n `,\n )}\n `,\n { positioning: true },\n )}\n </div>\n\n <div class=\"content-row\">\n <rapid-button appearance=\"lightweight\" @click=${(x) => x.newCondition()}>\n + Condition\n </rapid-button>\n <rapid-button appearance=\"lightweight\" @click=${(x) => x.newGroup()}>\n + Group\n </rapid-button>\n </div>\n </div>\n <rapid-text-area\n class=\"expression-preview\"\n readonly\n :value=${(x) => x.rawExpressionPreview}\n >\n Compiled expression\n </rapid-text-area>\n </div>\n </div>\n\n <div slot=\"bottom\" class=\"dialog-bottom\">\n <rapid-button\n appearance=\"primary\"\n @click=${(x) => x.submit()}\n ?disabled=${(x) => x.submitDisabled}\n >\n Submit\n </rapid-button>\n </div>\n </rapid-modal>\n`"
|
|
7074
|
+
"default": "html<RuleDialog>`\n <rapid-modal ${ref('dialog')} class=\"dialog\" :onCloseCallback=${(x) => () => x.close()}>\n <div slot=\"top\" class=\"dialog-top\">${(x) => x.ruleDialogTitle}</div>\n\n <div class=\"dialog-content\">\n <div class=\"content-row\">\n <div class=\"control\">\n <rapid-text-field\n :value=${sync((x) => x.name)}\n @change=\"${(x) => x.validateRequiredFields()}\"\n autofocus\n autocomplete=\"off\"\n required\n >\n Name\n </rapid-text-field>\n </div>\n\n <div class=\"control\">\n <rapid-text-field\n :value=${sync((x) => x.description)}\n @change=\"${(x) => x.validateRequiredFields()}\"\n autocomplete=\"off\"\n required\n >\n Description\n </rapid-text-field>\n </div>\n </div>\n\n <div class=\"content-row\">\n <div class=\"control\">\n <label>Resource</label>\n <rapid-select\n :value=${sync((x) => x.resource)}\n title=${(x) => x.resource}\n position=\"below\"\n >\n ${repeat(\n (x) => x.resources,\n html`\n <rapid-option value=${(x) => x} title=${(x) => x}>${(x) => x}</rapid-option>\n `,\n )}\n </rapid-select>\n </div>\n\n <div class=\"control\">\n <label>Topic</label>\n <rapid-combobox\n autocomplete=\"both\"\n :value=${sync((x) => x.topic)}\n title=${(x) => x.topic}\n >\n ${repeat(\n (x) => x.topics,\n html`\n <rapid-option value=${(x) => x} title=${(x) => x}>${(x) => x}</rapid-option>\n `,\n )}\n </rapid-combobox>\n </div>\n\n <div class=\"control\">\n <label>Severity</label>\n <rapid-select :value=${sync((x) => x.severity)}>\n <options-datasource\n value-field=\"value\"\n label-field=\"value\"\n option-element=\"rapid-option\"\n :data=${(_) => Object.values(Severity).map((value) => ({ value }))}\n ></options-datasource>\n </rapid-select>\n </div>\n\n <div class=\"control\">\n <label>Update Type</label>\n <rapid-multiselect\n :selectedOptions=${(x) => x.updateType}\n @selectionChange=${(x, c) => {\n x.updateType = (c.event as CustomEvent).detail;\n }}\n search=\"false\"\n all=\"false\"\n >\n <multiselect-datasource\n value-field=\"value\"\n label-field=\"value\"\n :data=${() => Object.values(UpdateType).map((value) => ({ value, label: value }))}\n ></multiselect-datasource>\n </rapid-multiselect>\n </div>\n </div>\n\n <div class=\"content-row\">\n <div class=\"control\">\n <rapid-text-field\n required\n :value=${sync((x) => x.header)}\n @change=\"${(x) => x.validateRequiredFields()}\"\n autocomplete=\"off\"\n >\n Header\n </rapid-text-field>\n </div>\n\n <div class=\"control\">\n <rapid-text-field\n required\n :value=${sync((x) => x.message)}\n @change=\"${(x) => x.validateRequiredFields()}\"\n autocomplete=\"off\"\n >\n Message\n </rapid-text-field>\n </div>\n </div>\n\n ${alertSoundAttachmentTemplate}\n\n <div class=\"control\">\n <label>Condition(s)</label>\n <div class=\"items\">\n <div class=\"content-row item\">\n ${repeat(\n (x) => x.conditions,\n html<ConditionNode, RuleDialog>`\n ${when(\n (x) => isGroup(x),\n html<ConditionNode>`\n <rule-condition-group\n :fields=${(x, c) => c.parent.fields}\n :node=${(x) => x}\n :isFirst=${(x, c) => c.index === 0}\n @edit=${(x, c) => c.parent.editCondition(eventDetail(c))}\n @delete=${(x, c) => c.parent.deleteCondition(eventDetail(c))}\n ></rule-condition-group>\n `,\n )}\n ${when(\n (x) => !isGroup(x),\n html<ConditionNode>`\n <rule-condition-builder\n :fields=${(x, c) => c.parent.fields}\n :condition=${(x) => x}\n :isFirst=${(x, c) => c.index === 0}\n @edit=${(x, c) => c.parent.editCondition(eventDetail(c))}\n @delete=${(x, c) => c.parent.deleteCondition(eventDetail(c))}\n ></rule-condition-builder>\n `,\n )}\n `,\n { positioning: true },\n )}\n </div>\n\n <div class=\"content-row\">\n <rapid-button appearance=\"lightweight\" @click=${(x) => x.newCondition()}>\n + Condition\n </rapid-button>\n <rapid-button appearance=\"lightweight\" @click=${(x) => x.newGroup()}>\n + Group\n </rapid-button>\n </div>\n </div>\n <rapid-text-area\n class=\"expression-preview\"\n readonly\n :value=${(x) => x.rawExpressionPreview}\n >\n Compiled expression\n </rapid-text-area>\n </div>\n </div>\n\n <div slot=\"bottom\" class=\"dialog-bottom\">\n <rapid-button\n appearance=\"primary\"\n @click=${(x) => x.submit()}\n ?disabled=${(x) => x.submitDisabled}\n >\n Submit\n </rapid-button>\n </div>\n </rapid-modal>\n`"
|
|
6134
7075
|
}
|
|
6135
7076
|
],
|
|
6136
7077
|
"exports": [
|
|
@@ -6158,6 +7099,10 @@
|
|
|
6158
7099
|
"name": "ruleService",
|
|
6159
7100
|
"type": {
|
|
6160
7101
|
"text": "RuleService"
|
|
7102
|
+
},
|
|
7103
|
+
"inheritedFrom": {
|
|
7104
|
+
"name": "AlertSoundAttachmentMixin",
|
|
7105
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
6161
7106
|
}
|
|
6162
7107
|
},
|
|
6163
7108
|
{
|
|
@@ -6308,6 +7253,45 @@
|
|
|
6308
7253
|
},
|
|
6309
7254
|
"default": "[]"
|
|
6310
7255
|
},
|
|
7256
|
+
{
|
|
7257
|
+
"kind": "field",
|
|
7258
|
+
"name": "isAlertSoundEditMode",
|
|
7259
|
+
"type": {
|
|
7260
|
+
"text": "boolean"
|
|
7261
|
+
},
|
|
7262
|
+
"description": "True when editing an existing entity (clear should set CLEAR_ALERT_SOUND).",
|
|
7263
|
+
"readonly": true,
|
|
7264
|
+
"inheritedFrom": {
|
|
7265
|
+
"name": "AlertSoundAttachmentMixin",
|
|
7266
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
7267
|
+
}
|
|
7268
|
+
},
|
|
7269
|
+
{
|
|
7270
|
+
"kind": "field",
|
|
7271
|
+
"name": "alertSoundEntityId",
|
|
7272
|
+
"type": {
|
|
7273
|
+
"text": "string | null"
|
|
7274
|
+
},
|
|
7275
|
+
"description": "DYNAMIC_RULE_ID of the entity being edited (null on create).\nUsed when alertSoundCacheSyncMode is `'entity'`.",
|
|
7276
|
+
"readonly": true,
|
|
7277
|
+
"inheritedFrom": {
|
|
7278
|
+
"name": "AlertSoundAttachmentMixin",
|
|
7279
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
7280
|
+
}
|
|
7281
|
+
},
|
|
7282
|
+
{
|
|
7283
|
+
"kind": "field",
|
|
7284
|
+
"name": "alertSoundCacheSyncMode",
|
|
7285
|
+
"type": {
|
|
7286
|
+
"text": "'entity' | 'all'"
|
|
7287
|
+
},
|
|
7288
|
+
"description": "`'entity'` — update/clear cache for alertSoundEntityId (rules).\n`'all'` — drop every cached server sound (templates; instance ids unknown).",
|
|
7289
|
+
"readonly": true,
|
|
7290
|
+
"inheritedFrom": {
|
|
7291
|
+
"name": "AlertSoundAttachmentMixin",
|
|
7292
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
7293
|
+
}
|
|
7294
|
+
},
|
|
6311
7295
|
{
|
|
6312
7296
|
"kind": "method",
|
|
6313
7297
|
"name": "openDialog",
|
|
@@ -6357,75 +7341,277 @@
|
|
|
6357
7341
|
},
|
|
6358
7342
|
{
|
|
6359
7343
|
"kind": "field",
|
|
6360
|
-
"name": "ruleDialogTitle",
|
|
7344
|
+
"name": "ruleDialogTitle",
|
|
7345
|
+
"type": {
|
|
7346
|
+
"text": "string"
|
|
7347
|
+
},
|
|
7348
|
+
"readonly": true
|
|
7349
|
+
},
|
|
7350
|
+
{
|
|
7351
|
+
"kind": "method",
|
|
7352
|
+
"name": "submit"
|
|
7353
|
+
},
|
|
7354
|
+
{
|
|
7355
|
+
"kind": "method",
|
|
7356
|
+
"name": "createRuleObject",
|
|
7357
|
+
"privacy": "private",
|
|
7358
|
+
"return": {
|
|
7359
|
+
"type": {
|
|
7360
|
+
"text": "Rule"
|
|
7361
|
+
}
|
|
7362
|
+
}
|
|
7363
|
+
},
|
|
7364
|
+
{
|
|
7365
|
+
"kind": "method",
|
|
7366
|
+
"name": "validateResponse",
|
|
7367
|
+
"parameters": [
|
|
7368
|
+
{
|
|
7369
|
+
"name": "response"
|
|
7370
|
+
}
|
|
7371
|
+
]
|
|
7372
|
+
},
|
|
7373
|
+
{
|
|
7374
|
+
"kind": "method",
|
|
7375
|
+
"name": "resourceChanged"
|
|
7376
|
+
},
|
|
7377
|
+
{
|
|
7378
|
+
"kind": "method",
|
|
7379
|
+
"name": "newCondition"
|
|
7380
|
+
},
|
|
7381
|
+
{
|
|
7382
|
+
"kind": "method",
|
|
7383
|
+
"name": "newGroup"
|
|
7384
|
+
},
|
|
7385
|
+
{
|
|
7386
|
+
"kind": "method",
|
|
7387
|
+
"name": "editCondition",
|
|
7388
|
+
"parameters": [
|
|
7389
|
+
{
|
|
7390
|
+
"name": "editedCondition",
|
|
7391
|
+
"type": {
|
|
7392
|
+
"text": "ConditionNode"
|
|
7393
|
+
}
|
|
7394
|
+
}
|
|
7395
|
+
]
|
|
7396
|
+
},
|
|
7397
|
+
{
|
|
7398
|
+
"kind": "method",
|
|
7399
|
+
"name": "deleteCondition",
|
|
7400
|
+
"parameters": [
|
|
7401
|
+
{
|
|
7402
|
+
"name": "deletedCondition",
|
|
7403
|
+
"type": {
|
|
7404
|
+
"text": "ConditionNode"
|
|
7405
|
+
}
|
|
7406
|
+
}
|
|
7407
|
+
]
|
|
7408
|
+
},
|
|
7409
|
+
{
|
|
7410
|
+
"kind": "method",
|
|
7411
|
+
"name": "validateRequiredFields",
|
|
7412
|
+
"privacy": "public"
|
|
7413
|
+
},
|
|
7414
|
+
{
|
|
7415
|
+
"kind": "field",
|
|
7416
|
+
"name": "alertSoundFileName",
|
|
7417
|
+
"type": {
|
|
7418
|
+
"text": "string"
|
|
7419
|
+
},
|
|
7420
|
+
"default": "''",
|
|
7421
|
+
"description": "Display name of the attached / pending alert sound file.",
|
|
7422
|
+
"inheritedFrom": {
|
|
7423
|
+
"name": "AlertSoundAttachmentMixin",
|
|
7424
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
7425
|
+
}
|
|
7426
|
+
},
|
|
7427
|
+
{
|
|
7428
|
+
"kind": "field",
|
|
7429
|
+
"name": "alertSoundMimeType",
|
|
7430
|
+
"type": {
|
|
7431
|
+
"text": "string"
|
|
7432
|
+
},
|
|
7433
|
+
"default": "''",
|
|
7434
|
+
"inheritedFrom": {
|
|
7435
|
+
"name": "AlertSoundAttachmentMixin",
|
|
7436
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
7437
|
+
}
|
|
7438
|
+
},
|
|
7439
|
+
{
|
|
7440
|
+
"kind": "field",
|
|
7441
|
+
"name": "hasAlertSound",
|
|
7442
|
+
"type": {
|
|
7443
|
+
"text": "boolean"
|
|
7444
|
+
},
|
|
7445
|
+
"default": "false",
|
|
7446
|
+
"description": "True when edit loaded an existing server sound (or user attached one).",
|
|
7447
|
+
"inheritedFrom": {
|
|
7448
|
+
"name": "AlertSoundAttachmentMixin",
|
|
7449
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
7450
|
+
}
|
|
7451
|
+
},
|
|
7452
|
+
{
|
|
7453
|
+
"kind": "field",
|
|
7454
|
+
"name": "fileInput",
|
|
7455
|
+
"type": {
|
|
7456
|
+
"text": "HTMLInputElement"
|
|
7457
|
+
},
|
|
7458
|
+
"inheritedFrom": {
|
|
7459
|
+
"name": "AlertSoundAttachmentMixin",
|
|
7460
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
7461
|
+
}
|
|
7462
|
+
},
|
|
7463
|
+
{
|
|
7464
|
+
"kind": "field",
|
|
7465
|
+
"name": "pendingAlertSoundData",
|
|
7466
|
+
"type": {
|
|
7467
|
+
"text": "string | null"
|
|
7468
|
+
},
|
|
7469
|
+
"default": "null",
|
|
7470
|
+
"inheritedFrom": {
|
|
7471
|
+
"name": "AlertSoundAttachmentMixin",
|
|
7472
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
7473
|
+
}
|
|
7474
|
+
},
|
|
7475
|
+
{
|
|
7476
|
+
"kind": "field",
|
|
7477
|
+
"name": "alertSoundDirty",
|
|
7478
|
+
"type": {
|
|
7479
|
+
"text": "boolean"
|
|
7480
|
+
},
|
|
7481
|
+
"default": "false",
|
|
7482
|
+
"description": "True when the user picked a new file this session (needs upload).",
|
|
7483
|
+
"inheritedFrom": {
|
|
7484
|
+
"name": "AlertSoundAttachmentMixin",
|
|
7485
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
7486
|
+
}
|
|
7487
|
+
},
|
|
7488
|
+
{
|
|
7489
|
+
"kind": "field",
|
|
7490
|
+
"name": "clearAlertSound",
|
|
7491
|
+
"type": {
|
|
7492
|
+
"text": "boolean"
|
|
7493
|
+
},
|
|
7494
|
+
"default": "false",
|
|
7495
|
+
"inheritedFrom": {
|
|
7496
|
+
"name": "AlertSoundAttachmentMixin",
|
|
7497
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
7498
|
+
}
|
|
7499
|
+
},
|
|
7500
|
+
{
|
|
7501
|
+
"kind": "field",
|
|
7502
|
+
"name": "testAudio",
|
|
6361
7503
|
"type": {
|
|
6362
|
-
"text": "
|
|
7504
|
+
"text": "HTMLAudioElement | null"
|
|
6363
7505
|
},
|
|
6364
|
-
"
|
|
7506
|
+
"default": "null",
|
|
7507
|
+
"description": "In-progress Test playback; not private — mixin return type is exported.",
|
|
7508
|
+
"inheritedFrom": {
|
|
7509
|
+
"name": "AlertSoundAttachmentMixin",
|
|
7510
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
7511
|
+
}
|
|
6365
7512
|
},
|
|
6366
7513
|
{
|
|
6367
7514
|
"kind": "method",
|
|
6368
|
-
"name": "
|
|
7515
|
+
"name": "loadExistingAlertSound",
|
|
7516
|
+
"parameters": [
|
|
7517
|
+
{
|
|
7518
|
+
"name": "dynamicRuleId",
|
|
7519
|
+
"type": {
|
|
7520
|
+
"text": "string"
|
|
7521
|
+
}
|
|
7522
|
+
}
|
|
7523
|
+
],
|
|
7524
|
+
"inheritedFrom": {
|
|
7525
|
+
"name": "AlertSoundAttachmentMixin",
|
|
7526
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
7527
|
+
}
|
|
6369
7528
|
},
|
|
6370
7529
|
{
|
|
6371
7530
|
"kind": "method",
|
|
6372
|
-
"name": "
|
|
6373
|
-
"
|
|
6374
|
-
|
|
6375
|
-
"
|
|
6376
|
-
"text": "Rule"
|
|
6377
|
-
}
|
|
7531
|
+
"name": "openAlertSoundPicker",
|
|
7532
|
+
"inheritedFrom": {
|
|
7533
|
+
"name": "AlertSoundAttachmentMixin",
|
|
7534
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
6378
7535
|
}
|
|
6379
7536
|
},
|
|
6380
7537
|
{
|
|
6381
7538
|
"kind": "method",
|
|
6382
|
-
"name": "
|
|
7539
|
+
"name": "onAlertSoundSelected",
|
|
6383
7540
|
"parameters": [
|
|
6384
7541
|
{
|
|
6385
|
-
"name": "
|
|
7542
|
+
"name": "event",
|
|
7543
|
+
"type": {
|
|
7544
|
+
"text": "Event"
|
|
7545
|
+
}
|
|
6386
7546
|
}
|
|
6387
|
-
]
|
|
7547
|
+
],
|
|
7548
|
+
"inheritedFrom": {
|
|
7549
|
+
"name": "AlertSoundAttachmentMixin",
|
|
7550
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
7551
|
+
}
|
|
6388
7552
|
},
|
|
6389
7553
|
{
|
|
6390
7554
|
"kind": "method",
|
|
6391
|
-
"name": "
|
|
7555
|
+
"name": "clearAttachedAlertSound",
|
|
7556
|
+
"inheritedFrom": {
|
|
7557
|
+
"name": "AlertSoundAttachmentMixin",
|
|
7558
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
7559
|
+
}
|
|
6392
7560
|
},
|
|
6393
7561
|
{
|
|
6394
7562
|
"kind": "method",
|
|
6395
|
-
"name": "
|
|
7563
|
+
"name": "testAttachedAlertSound",
|
|
7564
|
+
"inheritedFrom": {
|
|
7565
|
+
"name": "AlertSoundAttachmentMixin",
|
|
7566
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
7567
|
+
}
|
|
6396
7568
|
},
|
|
6397
7569
|
{
|
|
6398
7570
|
"kind": "method",
|
|
6399
|
-
"name": "
|
|
7571
|
+
"name": "stopTestSound",
|
|
7572
|
+
"inheritedFrom": {
|
|
7573
|
+
"name": "AlertSoundAttachmentMixin",
|
|
7574
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
7575
|
+
}
|
|
6400
7576
|
},
|
|
6401
7577
|
{
|
|
6402
7578
|
"kind": "method",
|
|
6403
|
-
"name": "
|
|
6404
|
-
"
|
|
6405
|
-
|
|
6406
|
-
|
|
6407
|
-
|
|
6408
|
-
"text": "ConditionNode"
|
|
6409
|
-
}
|
|
6410
|
-
}
|
|
6411
|
-
]
|
|
7579
|
+
"name": "resetAlertSoundState",
|
|
7580
|
+
"inheritedFrom": {
|
|
7581
|
+
"name": "AlertSoundAttachmentMixin",
|
|
7582
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
7583
|
+
}
|
|
6412
7584
|
},
|
|
6413
7585
|
{
|
|
6414
7586
|
"kind": "method",
|
|
6415
|
-
"name": "
|
|
7587
|
+
"name": "applyAlertSoundToPayload",
|
|
7588
|
+
"return": {
|
|
7589
|
+
"type": {
|
|
7590
|
+
"text": "T"
|
|
7591
|
+
}
|
|
7592
|
+
},
|
|
6416
7593
|
"parameters": [
|
|
6417
7594
|
{
|
|
6418
|
-
"name": "
|
|
7595
|
+
"name": "target",
|
|
6419
7596
|
"type": {
|
|
6420
|
-
"text": "
|
|
7597
|
+
"text": "T"
|
|
6421
7598
|
}
|
|
6422
7599
|
}
|
|
6423
|
-
]
|
|
7600
|
+
],
|
|
7601
|
+
"description": "Merges pending sound / clear flag onto a create/update DETAILS object.",
|
|
7602
|
+
"inheritedFrom": {
|
|
7603
|
+
"name": "AlertSoundAttachmentMixin",
|
|
7604
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
7605
|
+
}
|
|
6424
7606
|
},
|
|
6425
7607
|
{
|
|
6426
7608
|
"kind": "method",
|
|
6427
|
-
"name": "
|
|
6428
|
-
"
|
|
7609
|
+
"name": "syncAlertSoundCacheAfterSave",
|
|
7610
|
+
"description": "Keep AlertSoundPlayer's in-memory NOTIFY_ALERT_SOUND cache in sync with\nwhat we just saved — otherwise the next alert still plays the old file.",
|
|
7611
|
+
"inheritedFrom": {
|
|
7612
|
+
"name": "AlertSoundAttachmentMixin",
|
|
7613
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
7614
|
+
}
|
|
6429
7615
|
}
|
|
6430
7616
|
],
|
|
6431
7617
|
"events": [
|
|
@@ -6434,6 +7620,12 @@
|
|
|
6434
7620
|
"name": "close"
|
|
6435
7621
|
}
|
|
6436
7622
|
],
|
|
7623
|
+
"mixins": [
|
|
7624
|
+
{
|
|
7625
|
+
"name": "AlertSoundAttachmentMixin",
|
|
7626
|
+
"module": "/src/components/foundation-notification-dashboard/alert-sound-attachment"
|
|
7627
|
+
}
|
|
7628
|
+
],
|
|
6437
7629
|
"superclass": {
|
|
6438
7630
|
"name": "GenesisElement",
|
|
6439
7631
|
"package": "@genesislcap/web-core"
|
|
@@ -6492,7 +7684,7 @@
|
|
|
6492
7684
|
{
|
|
6493
7685
|
"kind": "variable",
|
|
6494
7686
|
"name": "TemplateDialogTemplate",
|
|
6495
|
-
"default": "html<TemplateDialog>`\n <rapid-modal ${ref('dialog')} class=\"dialog\" :onCloseCallback=${(x) => () => x.close()}>\n <div slot=\"top\" class=\"dialog-top\">${(x) => x.templateDialogTitle}</div>\n\n <div class=\"dialog-content\">\n <div class=\"content-row\">\n <div class=\"control\">\n <rapid-text-field :value=${sync((x) => x.name)} autofocus>Name</rapid-text-field>\n </div>\n\n <div class=\"control\">\n <rapid-text-field :value=${sync((x) => x.description)}>Description</rapid-text-field>\n </div>\n </div>\n\n <div class=\"content-row\">\n <div class=\"control\">\n <label>Resource</label>\n <rapid-select :value=${sync((x) => x.resource)} position=\"below\">\n ${repeat(\n (x) => x.resources,\n html`\n <rapid-option value=${(x) => x}>${(x) => x}</rapid-option>\n `,\n )}\n </rapid-select>\n </div>\n\n <div class=\"control\">\n <label>Topic</label>\n <rapid-select :value=${sync((x) => x.topic)}>\n ${repeat(\n (x) => x.topics,\n html`\n <rapid-option value=${(x) => x}>${(x) => x}</rapid-option>\n `,\n )}\n </rapid-select>\n </div>\n\n <div class=\"control\">\n <label>Severity</label>\n <rapid-select :value=${sync((x) => x.severity)}>\n <options-datasource\n value-field=\"value\"\n label-field=\"value\"\n option-element=\"rapid-option\"\n :data=${(_) => Object.values(Severity).map((value) => ({ value }))}\n ></options-datasource>\n </rapid-select>\n </div>\n\n <div class=\"control\">\n <label>Update Type</label>\n <rapid-multiselect\n :selectedOptions=${(x) => x.updateType}\n @selectionChange=${(x, c) => {\n x.updateType = (c.event as CustomEvent).detail;\n }}\n search=\"false\"\n all=\"false\"\n >\n <multiselect-datasource\n value-field=\"value\"\n label-field=\"value\"\n :data=${() => Object.values(UpdateType).map((value) => ({ value, label: value }))}\n ></multiselect-datasource>\n </rapid-multiselect>\n </div>\n </div>\n\n <div class=\"content-row\">\n <div class=\"control\">\n <rapid-text-field :value=${sync((x) => x.header)}>Header</rapid-text-field>\n </div>\n\n <div class=\"control\">\n <rapid-text-field :value=${sync((x) => x.message)}>Message</rapid-text-field>\n </div>\n </div>\n\n <div class=\"control\">\n <label>Parameter(s)</label>\n <div class=\"items\">\n <div class=\"content-row item\">\n ${repeat(\n (x) => x.parameters,\n html`\n <parameter-builder\n :parameter=${(x) => x}\n @edit=${(x, c) => c.parent.editParameter(eventDetail(c))}\n @delete=${(x, c) => c.parent.deleteParameter(eventDetail(c))}\n ></parameter-builder>\n `,\n )}\n </div>\n\n <div class=\"content-row\">\n <rapid-button @click=${(x) => x.newParameter()}>+ Parameter</rapid-button>\n </div>\n </div>\n </div>\n\n <div class=\"control\">\n <label>Condition(s)</label>\n <div class=\"items\">\n <div class=\"content-row item\">\n ${repeat(\n (x) => x.conditions,\n html<ConditionNode, TemplateDialog>`\n ${when(\n (x) => isGroup(x),\n html<ConditionNode>`\n <template-condition-group\n :fields=${(x, c) => c.parent.fields}\n :parameters=${(x, c) => c.parent.parameters}\n :node=${(x) => x}\n :isFirst=${(x, c) => c.index === 0}\n @edit=${(x, c) => c.parent.editCondition(eventDetail(c))}\n @delete=${(x, c) => c.parent.deleteCondition(eventDetail(c))}\n ></template-condition-group>\n `,\n )}\n ${when(\n (x) => !isGroup(x),\n html<ConditionNode>`\n <template-condition-builder\n :fields=${(x, c) => c.parent.fields}\n :parameters=${(x, c) => c.parent.parameters}\n :condition=${(x) => x}\n :isFirst=${(x, c) => c.index === 0}\n @edit=${(x, c) => c.parent.editCondition(eventDetail(c))}\n @delete=${(x, c) => c.parent.deleteCondition(eventDetail(c))}\n ></template-condition-builder>\n `,\n )}\n `,\n { positioning: true },\n )}\n </div>\n\n <div class=\"content-row\">\n <rapid-button appearance=\"lightweight\" @click=${(x) => x.newCondition()}>\n + Condition\n </rapid-button>\n <rapid-button appearance=\"lightweight\" @click=${(x) => x.newGroup()}>\n + Group\n </rapid-button>\n </div>\n </div>\n <rapid-text-area\n class=\"expression-preview\"\n readonly\n :value=${(x) => x.rawExpressionPreview}\n >\n Compiled expression\n </rapid-text-area>\n </div>\n </div>\n\n <div slot=\"bottom\" class=\"dialog-bottom\">\n <rapid-button appearance=\"primary\" @click=${(x) => x.submit()}>Submit</rapid-button>\n </div>\n </rapid-modal>\n`"
|
|
7687
|
+
"default": "html<TemplateDialog>`\n <rapid-modal ${ref('dialog')} class=\"dialog\" :onCloseCallback=${(x) => () => x.close()}>\n <div slot=\"top\" class=\"dialog-top\">${(x) => x.templateDialogTitle}</div>\n\n <div class=\"dialog-content\">\n <div class=\"content-row\">\n <div class=\"control\">\n <rapid-text-field :value=${sync((x) => x.name)} autofocus>Name</rapid-text-field>\n </div>\n\n <div class=\"control\">\n <rapid-text-field :value=${sync((x) => x.description)}>Description</rapid-text-field>\n </div>\n </div>\n\n <div class=\"content-row\">\n <div class=\"control\">\n <label>Resource</label>\n <rapid-select :value=${sync((x) => x.resource)} position=\"below\">\n ${repeat(\n (x) => x.resources,\n html`\n <rapid-option value=${(x) => x}>${(x) => x}</rapid-option>\n `,\n )}\n </rapid-select>\n </div>\n\n <div class=\"control\">\n <label>Topic</label>\n <rapid-select :value=${sync((x) => x.topic)}>\n ${repeat(\n (x) => x.topics,\n html`\n <rapid-option value=${(x) => x}>${(x) => x}</rapid-option>\n `,\n )}\n </rapid-select>\n </div>\n\n <div class=\"control\">\n <label>Severity</label>\n <rapid-select :value=${sync((x) => x.severity)}>\n <options-datasource\n value-field=\"value\"\n label-field=\"value\"\n option-element=\"rapid-option\"\n :data=${(_) => Object.values(Severity).map((value) => ({ value }))}\n ></options-datasource>\n </rapid-select>\n </div>\n\n <div class=\"control\">\n <label>Update Type</label>\n <rapid-multiselect\n :selectedOptions=${(x) => x.updateType}\n @selectionChange=${(x, c) => {\n x.updateType = (c.event as CustomEvent).detail;\n }}\n search=\"false\"\n all=\"false\"\n >\n <multiselect-datasource\n value-field=\"value\"\n label-field=\"value\"\n :data=${() => Object.values(UpdateType).map((value) => ({ value, label: value }))}\n ></multiselect-datasource>\n </rapid-multiselect>\n </div>\n </div>\n\n <div class=\"content-row\">\n <div class=\"control\">\n <rapid-text-field :value=${sync((x) => x.header)}>Header</rapid-text-field>\n </div>\n\n <div class=\"control\">\n <rapid-text-field :value=${sync((x) => x.message)}>Message</rapid-text-field>\n </div>\n </div>\n\n <div class=\"control\">\n <label>Parameter(s)</label>\n <div class=\"items\">\n <div class=\"content-row item\">\n ${repeat(\n (x) => x.parameters,\n html`\n <parameter-builder\n :parameter=${(x) => x}\n @edit=${(x, c) => c.parent.editParameter(eventDetail(c))}\n @delete=${(x, c) => c.parent.deleteParameter(eventDetail(c))}\n ></parameter-builder>\n `,\n )}\n </div>\n\n <div class=\"content-row\">\n <rapid-button @click=${(x) => x.newParameter()}>+ Parameter</rapid-button>\n </div>\n </div>\n </div>\n\n ${alertSoundAttachmentTemplate}\n\n <div class=\"control\">\n <label>Condition(s)</label>\n <div class=\"items\">\n <div class=\"content-row item\">\n ${repeat(\n (x) => x.conditions,\n html<ConditionNode, TemplateDialog>`\n ${when(\n (x) => isGroup(x),\n html<ConditionNode>`\n <template-condition-group\n :fields=${(x, c) => c.parent.fields}\n :parameters=${(x, c) => c.parent.parameters}\n :node=${(x) => x}\n :isFirst=${(x, c) => c.index === 0}\n @edit=${(x, c) => c.parent.editCondition(eventDetail(c))}\n @delete=${(x, c) => c.parent.deleteCondition(eventDetail(c))}\n ></template-condition-group>\n `,\n )}\n ${when(\n (x) => !isGroup(x),\n html<ConditionNode>`\n <template-condition-builder\n :fields=${(x, c) => c.parent.fields}\n :parameters=${(x, c) => c.parent.parameters}\n :condition=${(x) => x}\n :isFirst=${(x, c) => c.index === 0}\n @edit=${(x, c) => c.parent.editCondition(eventDetail(c))}\n @delete=${(x, c) => c.parent.deleteCondition(eventDetail(c))}\n ></template-condition-builder>\n `,\n )}\n `,\n { positioning: true },\n )}\n </div>\n\n <div class=\"content-row\">\n <rapid-button appearance=\"lightweight\" @click=${(x) => x.newCondition()}>\n + Condition\n </rapid-button>\n <rapid-button appearance=\"lightweight\" @click=${(x) => x.newGroup()}>\n + Group\n </rapid-button>\n </div>\n </div>\n <rapid-text-area\n class=\"expression-preview\"\n readonly\n :value=${(x) => x.rawExpressionPreview}\n >\n Compiled expression\n </rapid-text-area>\n </div>\n </div>\n\n <div slot=\"bottom\" class=\"dialog-bottom\">\n <rapid-button appearance=\"primary\" @click=${(x) => x.submit()}>Submit</rapid-button>\n </div>\n </rapid-modal>\n`"
|
|
6496
7688
|
}
|
|
6497
7689
|
],
|
|
6498
7690
|
"exports": [
|
|
@@ -6536,6 +7728,17 @@
|
|
|
6536
7728
|
"text": "NotifyService"
|
|
6537
7729
|
}
|
|
6538
7730
|
},
|
|
7731
|
+
{
|
|
7732
|
+
"kind": "field",
|
|
7733
|
+
"name": "ruleService",
|
|
7734
|
+
"type": {
|
|
7735
|
+
"text": "RuleService"
|
|
7736
|
+
},
|
|
7737
|
+
"inheritedFrom": {
|
|
7738
|
+
"name": "AlertSoundAttachmentMixin",
|
|
7739
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
7740
|
+
}
|
|
7741
|
+
},
|
|
6539
7742
|
{
|
|
6540
7743
|
"kind": "field",
|
|
6541
7744
|
"name": "dialog",
|
|
@@ -6677,6 +7880,45 @@
|
|
|
6677
7880
|
"name": "requiredFields",
|
|
6678
7881
|
"privacy": "private"
|
|
6679
7882
|
},
|
|
7883
|
+
{
|
|
7884
|
+
"kind": "field",
|
|
7885
|
+
"name": "isAlertSoundEditMode",
|
|
7886
|
+
"type": {
|
|
7887
|
+
"text": "boolean"
|
|
7888
|
+
},
|
|
7889
|
+
"description": "True when editing an existing entity (clear should set CLEAR_ALERT_SOUND).",
|
|
7890
|
+
"readonly": true,
|
|
7891
|
+
"inheritedFrom": {
|
|
7892
|
+
"name": "AlertSoundAttachmentMixin",
|
|
7893
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
7894
|
+
}
|
|
7895
|
+
},
|
|
7896
|
+
{
|
|
7897
|
+
"kind": "field",
|
|
7898
|
+
"name": "alertSoundEntityId",
|
|
7899
|
+
"type": {
|
|
7900
|
+
"text": "string | null"
|
|
7901
|
+
},
|
|
7902
|
+
"description": "DYNAMIC_RULE_ID of the entity being edited (null on create).\nUsed when alertSoundCacheSyncMode is `'entity'`.",
|
|
7903
|
+
"readonly": true,
|
|
7904
|
+
"inheritedFrom": {
|
|
7905
|
+
"name": "AlertSoundAttachmentMixin",
|
|
7906
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
7907
|
+
}
|
|
7908
|
+
},
|
|
7909
|
+
{
|
|
7910
|
+
"kind": "field",
|
|
7911
|
+
"name": "alertSoundCacheSyncMode",
|
|
7912
|
+
"type": {
|
|
7913
|
+
"text": "'entity' | 'all'"
|
|
7914
|
+
},
|
|
7915
|
+
"description": "`'entity'` — update/clear cache for alertSoundEntityId (rules).\n`'all'` — drop every cached server sound (templates; instance ids unknown).",
|
|
7916
|
+
"readonly": true,
|
|
7917
|
+
"inheritedFrom": {
|
|
7918
|
+
"name": "AlertSoundAttachmentMixin",
|
|
7919
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
7920
|
+
}
|
|
7921
|
+
},
|
|
6680
7922
|
{
|
|
6681
7923
|
"kind": "method",
|
|
6682
7924
|
"name": "openDialog",
|
|
@@ -6827,211 +8069,269 @@
|
|
|
6827
8069
|
},
|
|
6828
8070
|
"privacy": "public",
|
|
6829
8071
|
"readonly": true
|
|
6830
|
-
}
|
|
6831
|
-
],
|
|
6832
|
-
"events": [
|
|
8072
|
+
},
|
|
6833
8073
|
{
|
|
6834
|
-
"
|
|
6835
|
-
"name": "
|
|
6836
|
-
|
|
6837
|
-
|
|
6838
|
-
|
|
6839
|
-
|
|
6840
|
-
|
|
6841
|
-
|
|
6842
|
-
|
|
6843
|
-
|
|
6844
|
-
|
|
6845
|
-
|
|
6846
|
-
"exports": [
|
|
6847
|
-
{
|
|
6848
|
-
"kind": "js",
|
|
6849
|
-
"name": "TemplateDialog",
|
|
6850
|
-
"declaration": {
|
|
6851
|
-
"name": "TemplateDialog",
|
|
6852
|
-
"module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-dialog.ts"
|
|
6853
|
-
}
|
|
6854
|
-
},
|
|
6855
|
-
{
|
|
6856
|
-
"kind": "custom-element-definition",
|
|
6857
|
-
"name": "template-dialog",
|
|
6858
|
-
"declaration": {
|
|
6859
|
-
"name": "TemplateDialog",
|
|
6860
|
-
"module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-dialog.ts"
|
|
6861
|
-
}
|
|
6862
|
-
}
|
|
6863
|
-
]
|
|
6864
|
-
},
|
|
6865
|
-
{
|
|
6866
|
-
"kind": "javascript-module",
|
|
6867
|
-
"path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-dialog.types.ts",
|
|
6868
|
-
"declarations": [
|
|
6869
|
-
{
|
|
6870
|
-
"kind": "variable",
|
|
6871
|
-
"name": "TemplateDialogMode",
|
|
6872
|
-
"type": {
|
|
6873
|
-
"text": "{\n CREATE: 'create',\n EDIT: 'edit',\n}"
|
|
6874
|
-
},
|
|
6875
|
-
"default": "{\n CREATE: 'create',\n EDIT: 'edit',\n}"
|
|
6876
|
-
}
|
|
6877
|
-
],
|
|
6878
|
-
"exports": [
|
|
6879
|
-
{
|
|
6880
|
-
"kind": "js",
|
|
6881
|
-
"name": "TemplateDialogMode",
|
|
6882
|
-
"declaration": {
|
|
6883
|
-
"name": "TemplateDialogMode",
|
|
6884
|
-
"module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-dialog.types.ts"
|
|
6885
|
-
}
|
|
6886
|
-
}
|
|
6887
|
-
]
|
|
6888
|
-
},
|
|
6889
|
-
{
|
|
6890
|
-
"kind": "javascript-module",
|
|
6891
|
-
"path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.template.ts",
|
|
6892
|
-
"declarations": [
|
|
6893
|
-
{
|
|
6894
|
-
"kind": "variable",
|
|
6895
|
-
"name": "RuleConditionGroupTemplate",
|
|
6896
|
-
"default": "html<RuleConditionGroup>`\n ${when(\n (x) => !x.isFirst,\n html`\n <div class=\"join-toggle-row\">\n <div class=\"join-toggle\">\n <span\n class=\"join-text${(x) => classNames(['active', x.joinOperator === 'AND'])}\"\n @click=${(x) => (x.joinOperator = 'AND')}\n >\n AND\n </span>\n <span\n class=\"join-text${(x) => classNames(['active', x.joinOperator === 'OR'])}\"\n @click=${(x) => (x.joinOperator = 'OR')}\n >\n OR\n </span>\n </div>\n </div>\n `,\n )}\n <div class=\"condition-group-row\">\n <div class=\"condition-group-box\">\n ${repeat(\n (x) => x.groupChildren,\n html<ConditionNode, RuleConditionGroup>`\n ${when(\n (x) => isGroup(x),\n html<ConditionNode>`\n <rule-condition-group\n :fields=${(x, c) => c.parent.fields}\n :node=${(x) => x}\n :isFirst=${(x, c) => c.index === 0}\n @edit=${(x, c) => c.parent.editChild(eventDetail(c))}\n @delete=${(x, c) => c.parent.deleteChild(eventDetail(c))}\n ></rule-condition-group>\n `,\n )}\n ${when(\n (x) => !isGroup(x),\n html<ConditionNode>`\n <rule-condition-builder\n :fields=${(x, c) => c.parent.fields}\n :condition=${(x) => x}\n :isFirst=${(x, c) => c.index === 0}\n @edit=${(x, c) => c.parent.editChild(eventDetail(c))}\n @delete=${(x, c) => c.parent.deleteChild(eventDetail(c))}\n ></rule-condition-builder>\n `,\n )}\n `,\n { positioning: true },\n )}\n\n <div class=\"content-row\">\n <rapid-button appearance=\"lightweight\" @click=${(x) => x.newCondition()}>\n + Condition\n </rapid-button>\n <rapid-button appearance=\"lightweight\" @click=${(x) => x.newGroup()}>+ Group</rapid-button>\n <rapid-button appearance=\"icon\" class=\"delete-group\" @click=${(x) => x.deleteSelf()}>\n <rapid-icon variant=\"regular\" name=\"trash-alt\" size=\"lg\" part=\"icon\"></rapid-icon>\n </rapid-button>\n </div>\n </div>\n </div>\n`"
|
|
6897
|
-
}
|
|
6898
|
-
],
|
|
6899
|
-
"exports": [
|
|
6900
|
-
{
|
|
6901
|
-
"kind": "js",
|
|
6902
|
-
"name": "RuleConditionGroupTemplate",
|
|
6903
|
-
"declaration": {
|
|
6904
|
-
"name": "RuleConditionGroupTemplate",
|
|
6905
|
-
"module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.template.ts"
|
|
6906
|
-
}
|
|
6907
|
-
}
|
|
6908
|
-
]
|
|
6909
|
-
},
|
|
6910
|
-
{
|
|
6911
|
-
"kind": "javascript-module",
|
|
6912
|
-
"path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.ts",
|
|
6913
|
-
"declarations": [
|
|
6914
|
-
{
|
|
6915
|
-
"kind": "class",
|
|
6916
|
-
"description": "Parenthesized group of conditions/nested groups for notification rule\ncriteria, joined to the previous sibling via AND/OR like a single\ncondition row - but bracketing its own children off from the rest of the\nlist, so e.g. \"(A && B) || C\" can be expressed without the AND silently\nspanning more than intended.",
|
|
6917
|
-
"name": "RuleConditionGroup",
|
|
6918
|
-
"members": [
|
|
8074
|
+
"kind": "field",
|
|
8075
|
+
"name": "alertSoundFileName",
|
|
8076
|
+
"type": {
|
|
8077
|
+
"text": "string"
|
|
8078
|
+
},
|
|
8079
|
+
"default": "''",
|
|
8080
|
+
"description": "Display name of the attached / pending alert sound file.",
|
|
8081
|
+
"inheritedFrom": {
|
|
8082
|
+
"name": "AlertSoundAttachmentMixin",
|
|
8083
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
8084
|
+
}
|
|
8085
|
+
},
|
|
6919
8086
|
{
|
|
6920
8087
|
"kind": "field",
|
|
6921
|
-
"name": "
|
|
8088
|
+
"name": "alertSoundMimeType",
|
|
6922
8089
|
"type": {
|
|
6923
|
-
"text": "
|
|
8090
|
+
"text": "string"
|
|
8091
|
+
},
|
|
8092
|
+
"default": "''",
|
|
8093
|
+
"inheritedFrom": {
|
|
8094
|
+
"name": "AlertSoundAttachmentMixin",
|
|
8095
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
6924
8096
|
}
|
|
6925
8097
|
},
|
|
6926
8098
|
{
|
|
6927
8099
|
"kind": "field",
|
|
6928
|
-
"name": "
|
|
8100
|
+
"name": "hasAlertSound",
|
|
6929
8101
|
"type": {
|
|
6930
|
-
"text": "
|
|
8102
|
+
"text": "boolean"
|
|
6931
8103
|
},
|
|
6932
|
-
"default": "
|
|
8104
|
+
"default": "false",
|
|
8105
|
+
"description": "True when edit loaded an existing server sound (or user attached one).",
|
|
8106
|
+
"inheritedFrom": {
|
|
8107
|
+
"name": "AlertSoundAttachmentMixin",
|
|
8108
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
8109
|
+
}
|
|
6933
8110
|
},
|
|
6934
8111
|
{
|
|
6935
8112
|
"kind": "field",
|
|
6936
|
-
"name": "
|
|
8113
|
+
"name": "fileInput",
|
|
8114
|
+
"type": {
|
|
8115
|
+
"text": "HTMLInputElement"
|
|
8116
|
+
},
|
|
8117
|
+
"inheritedFrom": {
|
|
8118
|
+
"name": "AlertSoundAttachmentMixin",
|
|
8119
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
8120
|
+
}
|
|
8121
|
+
},
|
|
8122
|
+
{
|
|
8123
|
+
"kind": "field",
|
|
8124
|
+
"name": "pendingAlertSoundData",
|
|
8125
|
+
"type": {
|
|
8126
|
+
"text": "string | null"
|
|
8127
|
+
},
|
|
8128
|
+
"default": "null",
|
|
8129
|
+
"inheritedFrom": {
|
|
8130
|
+
"name": "AlertSoundAttachmentMixin",
|
|
8131
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
8132
|
+
}
|
|
8133
|
+
},
|
|
8134
|
+
{
|
|
8135
|
+
"kind": "field",
|
|
8136
|
+
"name": "alertSoundDirty",
|
|
6937
8137
|
"type": {
|
|
6938
8138
|
"text": "boolean"
|
|
6939
8139
|
},
|
|
6940
|
-
"default": "false"
|
|
8140
|
+
"default": "false",
|
|
8141
|
+
"description": "True when the user picked a new file this session (needs upload).",
|
|
8142
|
+
"inheritedFrom": {
|
|
8143
|
+
"name": "AlertSoundAttachmentMixin",
|
|
8144
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
8145
|
+
}
|
|
6941
8146
|
},
|
|
6942
8147
|
{
|
|
6943
8148
|
"kind": "field",
|
|
6944
|
-
"name": "
|
|
8149
|
+
"name": "clearAlertSound",
|
|
6945
8150
|
"type": {
|
|
6946
|
-
"text": "
|
|
8151
|
+
"text": "boolean"
|
|
8152
|
+
},
|
|
8153
|
+
"default": "false",
|
|
8154
|
+
"inheritedFrom": {
|
|
8155
|
+
"name": "AlertSoundAttachmentMixin",
|
|
8156
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
8157
|
+
}
|
|
8158
|
+
},
|
|
8159
|
+
{
|
|
8160
|
+
"kind": "field",
|
|
8161
|
+
"name": "testAudio",
|
|
8162
|
+
"type": {
|
|
8163
|
+
"text": "HTMLAudioElement | null"
|
|
8164
|
+
},
|
|
8165
|
+
"default": "null",
|
|
8166
|
+
"description": "In-progress Test playback; not private — mixin return type is exported.",
|
|
8167
|
+
"inheritedFrom": {
|
|
8168
|
+
"name": "AlertSoundAttachmentMixin",
|
|
8169
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
8170
|
+
}
|
|
8171
|
+
},
|
|
8172
|
+
{
|
|
8173
|
+
"kind": "method",
|
|
8174
|
+
"name": "loadExistingAlertSound",
|
|
8175
|
+
"parameters": [
|
|
8176
|
+
{
|
|
8177
|
+
"name": "dynamicRuleId",
|
|
8178
|
+
"type": {
|
|
8179
|
+
"text": "string"
|
|
8180
|
+
}
|
|
8181
|
+
}
|
|
8182
|
+
],
|
|
8183
|
+
"inheritedFrom": {
|
|
8184
|
+
"name": "AlertSoundAttachmentMixin",
|
|
8185
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
6947
8186
|
}
|
|
6948
8187
|
},
|
|
6949
8188
|
{
|
|
6950
|
-
"kind": "
|
|
6951
|
-
"name": "
|
|
6952
|
-
"
|
|
6953
|
-
"
|
|
6954
|
-
|
|
6955
|
-
|
|
8189
|
+
"kind": "method",
|
|
8190
|
+
"name": "openAlertSoundPicker",
|
|
8191
|
+
"inheritedFrom": {
|
|
8192
|
+
"name": "AlertSoundAttachmentMixin",
|
|
8193
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
8194
|
+
}
|
|
6956
8195
|
},
|
|
6957
8196
|
{
|
|
6958
8197
|
"kind": "method",
|
|
6959
|
-
"name": "
|
|
8198
|
+
"name": "onAlertSoundSelected",
|
|
8199
|
+
"parameters": [
|
|
8200
|
+
{
|
|
8201
|
+
"name": "event",
|
|
8202
|
+
"type": {
|
|
8203
|
+
"text": "Event"
|
|
8204
|
+
}
|
|
8205
|
+
}
|
|
8206
|
+
],
|
|
8207
|
+
"inheritedFrom": {
|
|
8208
|
+
"name": "AlertSoundAttachmentMixin",
|
|
8209
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
8210
|
+
}
|
|
6960
8211
|
},
|
|
6961
8212
|
{
|
|
6962
8213
|
"kind": "method",
|
|
6963
|
-
"name": "
|
|
8214
|
+
"name": "clearAttachedAlertSound",
|
|
8215
|
+
"inheritedFrom": {
|
|
8216
|
+
"name": "AlertSoundAttachmentMixin",
|
|
8217
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
8218
|
+
}
|
|
6964
8219
|
},
|
|
6965
8220
|
{
|
|
6966
8221
|
"kind": "method",
|
|
6967
|
-
"name": "
|
|
8222
|
+
"name": "testAttachedAlertSound",
|
|
8223
|
+
"inheritedFrom": {
|
|
8224
|
+
"name": "AlertSoundAttachmentMixin",
|
|
8225
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
8226
|
+
}
|
|
6968
8227
|
},
|
|
6969
8228
|
{
|
|
6970
8229
|
"kind": "method",
|
|
6971
|
-
"name": "
|
|
8230
|
+
"name": "stopTestSound",
|
|
8231
|
+
"inheritedFrom": {
|
|
8232
|
+
"name": "AlertSoundAttachmentMixin",
|
|
8233
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
8234
|
+
}
|
|
6972
8235
|
},
|
|
6973
8236
|
{
|
|
6974
8237
|
"kind": "method",
|
|
6975
|
-
"name": "
|
|
6976
|
-
"
|
|
6977
|
-
|
|
6978
|
-
|
|
6979
|
-
|
|
6980
|
-
"text": "ConditionNode"
|
|
6981
|
-
}
|
|
6982
|
-
}
|
|
6983
|
-
]
|
|
8238
|
+
"name": "resetAlertSoundState",
|
|
8239
|
+
"inheritedFrom": {
|
|
8240
|
+
"name": "AlertSoundAttachmentMixin",
|
|
8241
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
8242
|
+
}
|
|
6984
8243
|
},
|
|
6985
8244
|
{
|
|
6986
8245
|
"kind": "method",
|
|
6987
|
-
"name": "
|
|
8246
|
+
"name": "applyAlertSoundToPayload",
|
|
8247
|
+
"return": {
|
|
8248
|
+
"type": {
|
|
8249
|
+
"text": "T"
|
|
8250
|
+
}
|
|
8251
|
+
},
|
|
6988
8252
|
"parameters": [
|
|
6989
8253
|
{
|
|
6990
|
-
"name": "
|
|
8254
|
+
"name": "target",
|
|
6991
8255
|
"type": {
|
|
6992
|
-
"text": "
|
|
8256
|
+
"text": "T"
|
|
6993
8257
|
}
|
|
6994
8258
|
}
|
|
6995
|
-
]
|
|
8259
|
+
],
|
|
8260
|
+
"description": "Merges pending sound / clear flag onto a create/update DETAILS object.",
|
|
8261
|
+
"inheritedFrom": {
|
|
8262
|
+
"name": "AlertSoundAttachmentMixin",
|
|
8263
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
8264
|
+
}
|
|
6996
8265
|
},
|
|
6997
8266
|
{
|
|
6998
8267
|
"kind": "method",
|
|
6999
|
-
"name": "
|
|
8268
|
+
"name": "syncAlertSoundCacheAfterSave",
|
|
8269
|
+
"description": "Keep AlertSoundPlayer's in-memory NOTIFY_ALERT_SOUND cache in sync with\nwhat we just saved — otherwise the next alert still plays the old file.",
|
|
8270
|
+
"inheritedFrom": {
|
|
8271
|
+
"name": "AlertSoundAttachmentMixin",
|
|
8272
|
+
"module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
|
|
8273
|
+
}
|
|
7000
8274
|
}
|
|
7001
8275
|
],
|
|
7002
8276
|
"events": [
|
|
7003
8277
|
{
|
|
7004
|
-
"description": "Fired when
|
|
7005
|
-
"name": "
|
|
7006
|
-
}
|
|
8278
|
+
"description": "Fired when the dialog should close",
|
|
8279
|
+
"name": "close"
|
|
8280
|
+
}
|
|
8281
|
+
],
|
|
8282
|
+
"mixins": [
|
|
7007
8283
|
{
|
|
7008
|
-
"
|
|
7009
|
-
"
|
|
8284
|
+
"name": "AlertSoundAttachmentMixin",
|
|
8285
|
+
"module": "/src/components/foundation-notification-dashboard/alert-sound-attachment"
|
|
7010
8286
|
}
|
|
7011
8287
|
],
|
|
7012
8288
|
"superclass": {
|
|
7013
8289
|
"name": "GenesisElement",
|
|
7014
8290
|
"package": "@genesislcap/web-core"
|
|
7015
8291
|
},
|
|
7016
|
-
"tagName": "
|
|
8292
|
+
"tagName": "template-dialog",
|
|
7017
8293
|
"customElement": true
|
|
7018
8294
|
}
|
|
7019
8295
|
],
|
|
7020
8296
|
"exports": [
|
|
7021
8297
|
{
|
|
7022
8298
|
"kind": "js",
|
|
7023
|
-
"name": "
|
|
8299
|
+
"name": "TemplateDialog",
|
|
7024
8300
|
"declaration": {
|
|
7025
|
-
"name": "
|
|
7026
|
-
"module": "src/components/foundation-notification-dashboard/components/
|
|
8301
|
+
"name": "TemplateDialog",
|
|
8302
|
+
"module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-dialog.ts"
|
|
7027
8303
|
}
|
|
7028
8304
|
},
|
|
7029
8305
|
{
|
|
7030
8306
|
"kind": "custom-element-definition",
|
|
7031
|
-
"name": "
|
|
8307
|
+
"name": "template-dialog",
|
|
7032
8308
|
"declaration": {
|
|
7033
|
-
"name": "
|
|
7034
|
-
"module": "src/components/foundation-notification-dashboard/components/
|
|
8309
|
+
"name": "TemplateDialog",
|
|
8310
|
+
"module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-dialog.ts"
|
|
8311
|
+
}
|
|
8312
|
+
}
|
|
8313
|
+
]
|
|
8314
|
+
},
|
|
8315
|
+
{
|
|
8316
|
+
"kind": "javascript-module",
|
|
8317
|
+
"path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-dialog.types.ts",
|
|
8318
|
+
"declarations": [
|
|
8319
|
+
{
|
|
8320
|
+
"kind": "variable",
|
|
8321
|
+
"name": "TemplateDialogMode",
|
|
8322
|
+
"type": {
|
|
8323
|
+
"text": "{\n CREATE: 'create',\n EDIT: 'edit',\n}"
|
|
8324
|
+
},
|
|
8325
|
+
"default": "{\n CREATE: 'create',\n EDIT: 'edit',\n}"
|
|
8326
|
+
}
|
|
8327
|
+
],
|
|
8328
|
+
"exports": [
|
|
8329
|
+
{
|
|
8330
|
+
"kind": "js",
|
|
8331
|
+
"name": "TemplateDialogMode",
|
|
8332
|
+
"declaration": {
|
|
8333
|
+
"name": "TemplateDialogMode",
|
|
8334
|
+
"module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-dialog.types.ts"
|
|
7035
8335
|
}
|
|
7036
8336
|
}
|
|
7037
8337
|
]
|
|
@@ -7320,6 +8620,156 @@
|
|
|
7320
8620
|
"declarations": [],
|
|
7321
8621
|
"exports": []
|
|
7322
8622
|
},
|
|
8623
|
+
{
|
|
8624
|
+
"kind": "javascript-module",
|
|
8625
|
+
"path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.template.ts",
|
|
8626
|
+
"declarations": [
|
|
8627
|
+
{
|
|
8628
|
+
"kind": "variable",
|
|
8629
|
+
"name": "RuleConditionGroupTemplate",
|
|
8630
|
+
"default": "html<RuleConditionGroup>`\n ${when(\n (x) => !x.isFirst,\n html`\n <div class=\"join-toggle-row\">\n <div class=\"join-toggle\">\n <span\n class=\"join-text${(x) => classNames(['active', x.joinOperator === 'AND'])}\"\n @click=${(x) => (x.joinOperator = 'AND')}\n >\n AND\n </span>\n <span\n class=\"join-text${(x) => classNames(['active', x.joinOperator === 'OR'])}\"\n @click=${(x) => (x.joinOperator = 'OR')}\n >\n OR\n </span>\n </div>\n </div>\n `,\n )}\n <div class=\"condition-group-row\">\n <div class=\"condition-group-box\">\n ${repeat(\n (x) => x.groupChildren,\n html<ConditionNode, RuleConditionGroup>`\n ${when(\n (x) => isGroup(x),\n html<ConditionNode>`\n <rule-condition-group\n :fields=${(x, c) => c.parent.fields}\n :node=${(x) => x}\n :isFirst=${(x, c) => c.index === 0}\n @edit=${(x, c) => c.parent.editChild(eventDetail(c))}\n @delete=${(x, c) => c.parent.deleteChild(eventDetail(c))}\n ></rule-condition-group>\n `,\n )}\n ${when(\n (x) => !isGroup(x),\n html<ConditionNode>`\n <rule-condition-builder\n :fields=${(x, c) => c.parent.fields}\n :condition=${(x) => x}\n :isFirst=${(x, c) => c.index === 0}\n @edit=${(x, c) => c.parent.editChild(eventDetail(c))}\n @delete=${(x, c) => c.parent.deleteChild(eventDetail(c))}\n ></rule-condition-builder>\n `,\n )}\n `,\n { positioning: true },\n )}\n\n <div class=\"content-row\">\n <rapid-button appearance=\"lightweight\" @click=${(x) => x.newCondition()}>\n + Condition\n </rapid-button>\n <rapid-button appearance=\"lightweight\" @click=${(x) => x.newGroup()}>+ Group</rapid-button>\n <rapid-button appearance=\"icon\" class=\"delete-group\" @click=${(x) => x.deleteSelf()}>\n <rapid-icon variant=\"regular\" name=\"trash-alt\" size=\"lg\" part=\"icon\"></rapid-icon>\n </rapid-button>\n </div>\n </div>\n </div>\n`"
|
|
8631
|
+
}
|
|
8632
|
+
],
|
|
8633
|
+
"exports": [
|
|
8634
|
+
{
|
|
8635
|
+
"kind": "js",
|
|
8636
|
+
"name": "RuleConditionGroupTemplate",
|
|
8637
|
+
"declaration": {
|
|
8638
|
+
"name": "RuleConditionGroupTemplate",
|
|
8639
|
+
"module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.template.ts"
|
|
8640
|
+
}
|
|
8641
|
+
}
|
|
8642
|
+
]
|
|
8643
|
+
},
|
|
8644
|
+
{
|
|
8645
|
+
"kind": "javascript-module",
|
|
8646
|
+
"path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.ts",
|
|
8647
|
+
"declarations": [
|
|
8648
|
+
{
|
|
8649
|
+
"kind": "class",
|
|
8650
|
+
"description": "Parenthesized group of conditions/nested groups for notification rule\ncriteria, joined to the previous sibling via AND/OR like a single\ncondition row - but bracketing its own children off from the rest of the\nlist, so e.g. \"(A && B) || C\" can be expressed without the AND silently\nspanning more than intended.",
|
|
8651
|
+
"name": "RuleConditionGroup",
|
|
8652
|
+
"members": [
|
|
8653
|
+
{
|
|
8654
|
+
"kind": "field",
|
|
8655
|
+
"name": "node",
|
|
8656
|
+
"type": {
|
|
8657
|
+
"text": "ConditionGroupEntity"
|
|
8658
|
+
}
|
|
8659
|
+
},
|
|
8660
|
+
{
|
|
8661
|
+
"kind": "field",
|
|
8662
|
+
"name": "fields",
|
|
8663
|
+
"type": {
|
|
8664
|
+
"text": "Field[]"
|
|
8665
|
+
},
|
|
8666
|
+
"default": "[]"
|
|
8667
|
+
},
|
|
8668
|
+
{
|
|
8669
|
+
"kind": "field",
|
|
8670
|
+
"name": "isFirst",
|
|
8671
|
+
"type": {
|
|
8672
|
+
"text": "boolean"
|
|
8673
|
+
},
|
|
8674
|
+
"default": "false"
|
|
8675
|
+
},
|
|
8676
|
+
{
|
|
8677
|
+
"kind": "field",
|
|
8678
|
+
"name": "joinOperator",
|
|
8679
|
+
"type": {
|
|
8680
|
+
"text": "string"
|
|
8681
|
+
}
|
|
8682
|
+
},
|
|
8683
|
+
{
|
|
8684
|
+
"kind": "field",
|
|
8685
|
+
"name": "groupChildren",
|
|
8686
|
+
"type": {
|
|
8687
|
+
"text": "ConditionNode[]"
|
|
8688
|
+
},
|
|
8689
|
+
"default": "[]"
|
|
8690
|
+
},
|
|
8691
|
+
{
|
|
8692
|
+
"kind": "method",
|
|
8693
|
+
"name": "nodeChanged"
|
|
8694
|
+
},
|
|
8695
|
+
{
|
|
8696
|
+
"kind": "method",
|
|
8697
|
+
"name": "joinOperatorChanged"
|
|
8698
|
+
},
|
|
8699
|
+
{
|
|
8700
|
+
"kind": "method",
|
|
8701
|
+
"name": "newCondition"
|
|
8702
|
+
},
|
|
8703
|
+
{
|
|
8704
|
+
"kind": "method",
|
|
8705
|
+
"name": "newGroup"
|
|
8706
|
+
},
|
|
8707
|
+
{
|
|
8708
|
+
"kind": "method",
|
|
8709
|
+
"name": "editChild",
|
|
8710
|
+
"parameters": [
|
|
8711
|
+
{
|
|
8712
|
+
"name": "_editedChild",
|
|
8713
|
+
"type": {
|
|
8714
|
+
"text": "ConditionNode"
|
|
8715
|
+
}
|
|
8716
|
+
}
|
|
8717
|
+
]
|
|
8718
|
+
},
|
|
8719
|
+
{
|
|
8720
|
+
"kind": "method",
|
|
8721
|
+
"name": "deleteChild",
|
|
8722
|
+
"parameters": [
|
|
8723
|
+
{
|
|
8724
|
+
"name": "deletedChild",
|
|
8725
|
+
"type": {
|
|
8726
|
+
"text": "ConditionNode"
|
|
8727
|
+
}
|
|
8728
|
+
}
|
|
8729
|
+
]
|
|
8730
|
+
},
|
|
8731
|
+
{
|
|
8732
|
+
"kind": "method",
|
|
8733
|
+
"name": "deleteSelf"
|
|
8734
|
+
}
|
|
8735
|
+
],
|
|
8736
|
+
"events": [
|
|
8737
|
+
{
|
|
8738
|
+
"description": "Fired when this whole group should be removed",
|
|
8739
|
+
"name": "delete"
|
|
8740
|
+
},
|
|
8741
|
+
{
|
|
8742
|
+
"description": "Fired when anything inside this group changes",
|
|
8743
|
+
"name": "edit"
|
|
8744
|
+
}
|
|
8745
|
+
],
|
|
8746
|
+
"superclass": {
|
|
8747
|
+
"name": "GenesisElement",
|
|
8748
|
+
"package": "@genesislcap/web-core"
|
|
8749
|
+
},
|
|
8750
|
+
"tagName": "rule-condition-group",
|
|
8751
|
+
"customElement": true
|
|
8752
|
+
}
|
|
8753
|
+
],
|
|
8754
|
+
"exports": [
|
|
8755
|
+
{
|
|
8756
|
+
"kind": "js",
|
|
8757
|
+
"name": "RuleConditionGroup",
|
|
8758
|
+
"declaration": {
|
|
8759
|
+
"name": "RuleConditionGroup",
|
|
8760
|
+
"module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.ts"
|
|
8761
|
+
}
|
|
8762
|
+
},
|
|
8763
|
+
{
|
|
8764
|
+
"kind": "custom-element-definition",
|
|
8765
|
+
"name": "rule-condition-group",
|
|
8766
|
+
"declaration": {
|
|
8767
|
+
"name": "RuleConditionGroup",
|
|
8768
|
+
"module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.ts"
|
|
8769
|
+
}
|
|
8770
|
+
}
|
|
8771
|
+
]
|
|
8772
|
+
},
|
|
7323
8773
|
{
|
|
7324
8774
|
"kind": "javascript-module",
|
|
7325
8775
|
"path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.styles.ts",
|