@@ -73,35 +73,43 @@ export function withSelectedMultiContext<TCtor extends MultiCompConstructor>(
7373comp . 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 ( (
8877action . editDSL
8978|| isCustomAction < LazyCompReadyAction > ( action , "LazyCompReady" )
9079|| isCustomAction < RemoteCompReadyAction > ( action , "RemoteCompReady" )
9180|| isCustomAction < ModuleReadyAction > ( action , "moduleReady" )
9281) && (
9382action . path [ 1 ] === SELECTED_KEY
94- || ( // special check added for modules inside list view
83+ || (
9584isCustomAction < 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+ ) {
9999const newAction = {
100100 ...action ,
101101path :action . path . slice ( 2 ) ,
102102} ;
103103comp = comp . reduce ( WithMultiContextComp . forEachAction ( newAction ) ) ;
104104comp = 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) {
113121comp = super . reduce ( action ) ;
114122}
115-
116- // console.info("exit withSelectedMultiContext reduce. action: ", action, "\nthis:", this, "\ncomp:", comp);
117123return comp ;
118124}
119125