@@ -38,6 +38,7 @@ define(function main(require, exports, module) {
3838 LivePreviewTransport = require ( "LiveDevelopment/MultiBrowserImpl/transports/LivePreviewTransport" ) ,
3939 CommandManager = require ( "command/CommandManager" ) ,
4040 PreferencesManager = require ( "preferences/PreferencesManager" ) ,
41+ StateManager = require ( "preferences/StateManager" ) ,
4142 UrlParams = require ( "utils/UrlParams" ) . UrlParams ,
4243 Strings = require ( "strings" ) ,
4344 ExtensionUtils = require ( "utils/ExtensionUtils" ) ,
@@ -56,6 +57,33 @@ define(function main(require, exports, module) {
5657
5758 const EVENT_LIVE_HIGHLIGHT_PREF_CHANGED = "liveHighlightPrefChange" ;
5859
60+ // state manager key to track image gallery selected state, by default we keep this as selected
61+ // if this is true we show the image gallery when an image element is clicked
62+ const IMAGE_GALLERY_STATE = "livePreview.imageGallery.state" ;
63+
64+ /**
65+ * get the image gallery state from StateManager
66+ * @returns {boolean } true (default)
67+ */
68+ function _getImageGalleryState ( ) {
69+ const savedState = StateManager . get ( IMAGE_GALLERY_STATE ) ;
70+ return savedState !== undefined && savedState !== null ? savedState : true ;
71+ }
72+
73+ /**
74+ * sets the image gallery state
75+ * @param {Boolean } the state that we need to set
76+ */
77+ function setImageGalleryState ( state ) {
78+ StateManager . set ( IMAGE_GALLERY_STATE , state ) ;
79+
80+ // update the config with the new state
81+ config . imageGalleryState = state ;
82+ if ( MultiBrowserLiveDev && MultiBrowserLiveDev . status >= MultiBrowserLiveDev . STATUS_ACTIVE ) {
83+ MultiBrowserLiveDev . updateConfig ( JSON . stringify ( config ) ) ;
84+ }
85+ }
86+
5987 var params = new UrlParams ( ) ;
6088 var config = {
6189 experimental : false , // enable experimental features
@@ -70,6 +98,7 @@ define(function main(require, exports, module) {
7098 } ,
7199 isProUser : isProUser ,
72100 elemHighlights : "hover" , // default value, this will get updated when the extension loads
101+ imageGalleryState : _getImageGalleryState ( ) , // image gallery selected state
73102 // this strings are used in RemoteFunctions.js
74103 // we need to pass this through config as remoteFunctions runs in browser context and cannot
75104 // directly reference Strings file
@@ -404,6 +433,7 @@ define(function main(require, exports, module) {
404433 exports . setLivePreviewTransportBridge = setLivePreviewTransportBridge ;
405434 exports . togglePreviewHighlight = togglePreviewHighlight ;
406435 exports . setLivePreviewEditFeaturesActive = setLivePreviewEditFeaturesActive ;
436+ exports . setImageGalleryState = setImageGalleryState ;
407437 exports . updateElementHighlightConfig = updateElementHighlightConfig ;
408438 exports . getConnectionIds = MultiBrowserLiveDev . getConnectionIds ;
409439 exports . getLivePreviewDetails = MultiBrowserLiveDev . getLivePreviewDetails ;
0 commit comments