@@ -73,35 +73,43 @@ export function withSelectedMultiContext<TCtor extends MultiCompConstructor>(
7373 comp . getOriginalComp ( ) . setParams ( comp . cacheParamsMap . get ( selection ) ! )
7474 ) ;
7575 }
76- } else if ( (
77- ! action . editDSL
78- && ! isCustomAction < LazyCompReadyAction > ( action , "LazyCompReady" )
79- && ! isCustomAction < RemoteCompReadyAction > ( action , "RemoteCompReady" )
80- && ! isCustomAction < ModuleReadyAction > ( action , "moduleReady" )
81- ) || action . path [ 0 ] !== MAP_KEY || _ . isNil ( action . path [ 1 ] )
82- ) {
83- if ( action . path [ 0 ] === MAP_KEY && action . path [ 1 ] === SELECTED_KEY ) {
84- action . path [ 1 ] = this . selection ;
85- }
86- comp = super . reduce ( action ) ;
8776 } else if ( (
8877 action . editDSL
8978 || isCustomAction < LazyCompReadyAction > ( action , "LazyCompReady" )
9079 || isCustomAction < RemoteCompReadyAction > ( action , "RemoteCompReady" )
9180 || isCustomAction < ModuleReadyAction > ( action , "moduleReady" )
9281 ) && (
9382 action . path [ 1 ] === SELECTED_KEY
94- || ( // special check added for modules inside list view
83+ || (
9584 isCustomAction < ModuleReadyAction > ( action , "moduleReady" )
9685 && action . path [ 1 ] === this . selection )
9786 ) ) {
98- // broadcast
87+ // broadcast edits from the selected design-time view to all instances and template
88+ const newAction = {
89+ ...action ,
90+ path : action . path . slice ( 2 ) ,
91+ } ;
92+ comp = comp . reduce ( WithMultiContextComp . forEachAction ( newAction ) ) ;
93+ comp = comp . reduce ( wrapChildAction ( COMP_KEY , newAction ) ) ;
94+ } else if (
95+ // ensure edits made in the expanded view configurator (SELECTED key)
96+ // also update the template
97+ action . path [ 0 ] === MAP_KEY && action . path [ 1 ] === SELECTED_KEY
98+ ) {
9999 const newAction = {
100100 ...action ,
101101 path : action . path . slice ( 2 ) ,
102102 } ;
103103 comp = comp . reduce ( WithMultiContextComp . forEachAction ( newAction ) ) ;
104104 comp = comp . reduce ( wrapChildAction ( COMP_KEY , newAction ) ) ;
105+ } else if ( (
106+ ! action . editDSL
107+ && ! isCustomAction < LazyCompReadyAction > ( action , "LazyCompReady" )
108+ && ! isCustomAction < RemoteCompReadyAction > ( action , "RemoteCompReady" )
109+ && ! isCustomAction < ModuleReadyAction > ( action , "moduleReady" )
110+ ) || action . path [ 0 ] !== MAP_KEY || _ . isNil ( action . path [ 1 ] )
111+ ) {
112+ comp = super . reduce ( action ) ;
105113 } else if (
106114 ! action . editDSL
107115 && (
@@ -112,8 +120,6 @@ export function withSelectedMultiContext<TCtor extends MultiCompConstructor>(
112120 ) {
113121 comp = super . reduce ( action ) ;
114122 }
115-
116- // console.info("exit withSelectedMultiContext reduce. action: ", action, "\nthis:", this, "\ncomp:", comp);
117123 return comp ;
118124 }
119125
0 commit comments