@@ -88,9 +88,17 @@ define(function (require, exports, module) {
8888
8989 // live preview mode pref
9090 const PREFERENCE_LIVE_PREVIEW_MODE = "livePreviewMode" ;
91- const DEFAULT_LIVE_PREVIEW_MODE = "preview" ; // preview, highlight or edit
91+
92+ /**
93+ * Get the appropriate default mode based on whether edit features are active
94+ * @returns {string } "highlight" if edit features inactive, "edit" if active
95+ */
96+ function _getDefaultMode ( ) {
97+ return LiveDevelopment . isLPEditFeaturesActive ? "edit" : "highlight" ;
98+ }
99+
92100 // define the live preview mode preference
93- PreferencesManager . definePreference ( PREFERENCE_LIVE_PREVIEW_MODE , "string" , DEFAULT_LIVE_PREVIEW_MODE , {
101+ PreferencesManager . definePreference ( PREFERENCE_LIVE_PREVIEW_MODE , "string" , _getDefaultMode ( ) , {
94102 description : StringUtils . format ( Strings . LIVE_PREVIEW_MODE_PREFERENCE , "'preview'" , "'highlight'" , "'edit'" ) ,
95103 values : [ "preview" , "highlight" , "edit" ]
96104 } ) ;
@@ -242,15 +250,15 @@ define(function (require, exports, module) {
242250 * init live preview mode from saved preferences
243251 */
244252 function _initializeMode ( ) {
245- const savedMode = PreferencesManager . get ( PREFERENCE_LIVE_PREVIEW_MODE ) || "preview" ;
253+ const savedMode = PreferencesManager . get ( PREFERENCE_LIVE_PREVIEW_MODE ) || _getDefaultMode ( ) ;
246254 const isEditFeaturesActive = LiveDevelopment . isLPEditFeaturesActive ;
247255
248- // If user has edit mode saved but edit features are not active, default to preview
256+ // If user has edit mode saved but edit features are not active, default to highlight
249257 let effectiveMode = savedMode ;
250258 if ( savedMode === "edit" && ! isEditFeaturesActive ) {
251- effectiveMode = "preview " ;
259+ effectiveMode = "highlight " ;
252260 // Update the preference to reflect the actual mode being used
253- PreferencesManager . set ( PREFERENCE_LIVE_PREVIEW_MODE , "preview " ) ;
261+ PreferencesManager . set ( PREFERENCE_LIVE_PREVIEW_MODE , "highlight " ) ;
254262 }
255263
256264 // apply the effective mode
@@ -279,9 +287,9 @@ define(function (require, exports, module) {
279287 items . push ( Strings . LIVE_PREVIEW_EDIT_HIGHLIGHT_ON ) ;
280288 }
281289
282- const rawMode = PreferencesManager . get ( PREFERENCE_LIVE_PREVIEW_MODE ) || "preview" ;
290+ const rawMode = PreferencesManager . get ( PREFERENCE_LIVE_PREVIEW_MODE ) || _getDefaultMode ( ) ;
283291 // this is to take care of invalid values in the pref file
284- const currentMode = [ "preview" , "highlight" , "edit" ] . includes ( rawMode ) ? rawMode : "preview" ;
292+ const currentMode = [ "preview" , "highlight" , "edit" ] . includes ( rawMode ) ? rawMode : _getDefaultMode ( ) ;
285293
286294 const dropdown = new DropdownButton . DropdownButton ( "" , items , function ( item , index ) {
287295 if ( item === Strings . LIVE_PREVIEW_MODE_PREVIEW ) {
@@ -1044,12 +1052,12 @@ define(function (require, exports, module) {
10441052 const newMode = PreferencesManager . get ( PREFERENCE_LIVE_PREVIEW_MODE ) ;
10451053 const isEditFeaturesActive = LiveDevelopment . isLPEditFeaturesActive ;
10461054
1047- // If user tries to set edit mode but edit features are not active, default to preview
1055+ // If user tries to set edit mode but edit features are not active, default to highlight
10481056 let effectiveMode = newMode ;
10491057 if ( newMode === "edit" && ! isEditFeaturesActive ) {
1050- effectiveMode = "preview " ;
1058+ effectiveMode = "highlight " ;
10511059 // Update the preference to reflect the actual mode being used
1052- PreferencesManager . set ( PREFERENCE_LIVE_PREVIEW_MODE , "preview " ) ;
1060+ PreferencesManager . set ( PREFERENCE_LIVE_PREVIEW_MODE , "highlight " ) ;
10531061 return ; // Return to avoid infinite loop
10541062 }
10551063
0 commit comments