@@ -13,6 +13,30 @@ type ExtraEvents = {
1313class OverlayWidgetConfigManager extends JsonDbManager < OverlayWidgetConfig , ExtraEvents > {
1414 constructor ( ) {
1515 super ( "Overlay Widget" , "/overlay-widgets" , "Overlay Widgets" ) ;
16+
17+ frontendCommunicator . onAsync ( "overlay-widgets:ui-service-ready" ,
18+ async ( ) => this . triggerUiRefresh ( )
19+ ) ;
20+
21+ frontendCommunicator . onAsync ( "overlay-widgets:save-config" , async ( config : OverlayWidgetConfig ) => {
22+ const existing = this . getItem ( config . id ) ;
23+ if ( existing ) {
24+ config . state = existing . state ;
25+ }
26+ return this . saveWidgetConfig ( config ) ;
27+ } ) ;
28+
29+ frontendCommunicator . onAsync ( "overlay-widgets:save-new-config" ,
30+ async ( config : OverlayWidgetConfig ) => this . saveWidgetConfig ( config , true )
31+ ) ;
32+
33+ frontendCommunicator . on ( "overlay-widgets:save-all-configs" ,
34+ ( configs : OverlayWidgetConfig [ ] ) => this . saveAllItems ( configs )
35+ ) ;
36+
37+ frontendCommunicator . on ( "overlay-widgets:delete-config" , ( configId : string ) =>
38+ this . removeWidgetConfigById ( configId )
39+ ) ;
1640 }
1741
1842 saveWidgetConfig ( config : OverlayWidgetConfig , isNew = false ) : OverlayWidgetConfig {
@@ -67,34 +91,11 @@ class OverlayWidgetConfigManager extends JsonDbManager<OverlayWidgetConfig, Extr
6791 }
6892
6993 triggerUiRefresh ( ) : void {
70- frontendCommunicator . send ( "overlay-widgets:configs-updated" ) ;
94+ this . logger . debug ( "Triggering widget config UI refresh" ) ;
95+ frontendCommunicator . send ( "overlay-widgets:configs-updated" , this . getAllItems ( ) ) ;
7196 }
7297}
7398
7499const manager = new OverlayWidgetConfigManager ( ) ;
75100
76- frontendCommunicator . onAsync ( "overlay-widgets:get-all-configs" ,
77- async ( ) => manager . getAllItems ( )
78- ) ;
79-
80- frontendCommunicator . onAsync ( "overlay-widgets:save-config" , async ( config : OverlayWidgetConfig ) => {
81- const existing = manager . getItem ( config . id ) ;
82- if ( existing ) {
83- config . state = existing . state ;
84- }
85- return manager . saveWidgetConfig ( config ) ;
86- } ) ;
87-
88- frontendCommunicator . onAsync ( "overlay-widgets:save-new-config" ,
89- async ( config : OverlayWidgetConfig ) => manager . saveWidgetConfig ( config , true )
90- ) ;
91-
92- frontendCommunicator . on ( "overlay-widgets:save-all-configs" ,
93- ( configs : OverlayWidgetConfig [ ] ) => manager . saveAllItems ( configs )
94- ) ;
95-
96- frontendCommunicator . on ( "overlay-widgets:delete-config" , ( configId : string ) =>
97- manager . removeWidgetConfigById ( configId )
98- ) ;
99-
100101export = manager ;
0 commit comments