forked from phcode-dev/staging.phcode.dev
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmain.js
More file actions
1 lines (1 loc) · 4.01 KB
/
Copy pathmain.js
File metadata and controls
1 lines (1 loc) · 4.01 KB
1
define(function(require,exports,module){const AppInit=require("utils/AppInit"),Menus=require("command/Menus"),CommandManager=require("command/CommandManager"),Commands=require("command/Commands"),Strings=require("strings"),PreferencesManager=require("preferences/PreferencesManager"),ViewUtils=require("utils/ViewUtils"),KeyBindingManager=require("command/KeyBindingManager"),Metrics=require("utils/Metrics"),WorkspaceManager=require("view/WorkspaceManager"),PREFS_PURE_CODE="noDistractions",CMD_TOGGLE_PURE_CODE="view.togglePureCode",CMD_TOGGLE_FULLSCREEN="view.toggleFullscreen",CMD_TOGGLE_PANELS="view.togglePanels",togglePureCodeKey="Shift-F11",toggleFullScreenKey="F11",toggleFullScreenKeyMac="Cmd-F11",togglePanelsKey="Ctrl-Shift-1",togglePanelsKeyMac="Cmd-Shift-1",togglePanelsKey_EN="Ctrl-Shift-~",togglePanelsKeyMac_EN="Cmd-Shift-~";let _previouslyOpenPanelIDs=[],panelsToggled=!1,layoutUpdated=!1;function _updateCheckedState(){CommandManager.get(CMD_TOGGLE_PURE_CODE).setChecked(PreferencesManager.get(PREFS_PURE_CODE)),Phoenix.app.isFullscreen().then(isFullScreen=>{CommandManager.get(CMD_TOGGLE_FULLSCREEN).setChecked(isFullScreen)})}function _togglePureCode(){PreferencesManager.set(PREFS_PURE_CODE,!PreferencesManager.get(PREFS_PURE_CODE)),Metrics.countEvent(Metrics.EVENT_TYPE.UI,"noDistractions","toggle")}async function _toggleFullScreen(){Metrics.countEvent(Metrics.EVENT_TYPE.UI,"fullscreen","toggle"),Phoenix.app.isFullscreen().then(isFullScreen=>{Phoenix.app.setFullscreen(!isFullScreen).then(_updateCheckedState)})}function _hidePanelsIfRequired(){_previouslyOpenPanelIDs=[];let hiddenBottomPanels=WorkspaceManager.hideAllOpenBottomPanels();_previouslyOpenPanelIDs=hiddenBottomPanels;let panelIDs=WorkspaceManager.getAllPanelIDs();for(let i=0;i<panelIDs.length;i++){let panel=WorkspaceManager.getPanelForID(panelIDs[i]);panel&&panel.isVisible()&&(panel.hide(),_previouslyOpenPanelIDs.push(panelIDs[i]))}}function _showPanelsIfRequired(){var panelIDs;_previouslyOpenPanelIDs.forEach(function(panelID){var panel=WorkspaceManager.getPanelForID(panelID);panel&&panel.show()}),_previouslyOpenPanelIDs=[]}function _updateLayout(){layoutUpdated=!0,panelsToggled=!1}function _togglePanels(){(panelsToggled=!panelsToggled)?(_hidePanelsIfRequired(),layoutUpdated=!1,panelsToggled=!0):layoutUpdated||_showPanelsIfRequired(),Metrics.countEvent(Metrics.EVENT_TYPE.UI,"noDistractions","togglePanels")}PreferencesManager.definePreference(PREFS_PURE_CODE,"boolean",!1,{description:Strings.DESCRIPTION_PURE_CODING_SURFACE}),WorkspaceManager.on(WorkspaceManager.EVENT_WORKSPACE_PANEL_SHOWN,_updateLayout),AppInit.appReady(function(){CommandManager.register(Strings.CMD_TOGGLE_PURE_CODE,CMD_TOGGLE_PURE_CODE,_togglePureCode,{supportsDesignMode:!0}),CommandManager.register(Strings.CMD_TOGGLE_FULLSCREEN,CMD_TOGGLE_FULLSCREEN,_toggleFullScreen,{supportsDesignMode:!0}),CommandManager.register(Strings.CMD_TOGGLE_PANELS,CMD_TOGGLE_PANELS,_togglePanels,{supportsDesignMode:!0}),Menus.getMenu(Menus.AppMenuBar.VIEW_MENU).addMenuItem(CMD_TOGGLE_PANELS,"",Menus.AFTER,Commands.VIEW_HIDE_SIDEBAR),Menus.getMenu(Menus.AppMenuBar.VIEW_MENU).addMenuItem(CMD_TOGGLE_PURE_CODE,"Shift-F11",Menus.AFTER,CMD_TOGGLE_PANELS),Menus.getMenu(Menus.AppMenuBar.VIEW_MENU).addMenuItem(CMD_TOGGLE_FULLSCREEN,[{key:"F11"},{key:"Cmd-F11",platform:"mac"}],Menus.AFTER,CMD_TOGGLE_PURE_CODE),KeyBindingManager.addBinding(CMD_TOGGLE_PANELS,[{key:"Ctrl-Shift-1"},{key:"Cmd-Shift-1",platform:"mac"}]),KeyBindingManager.addBinding(CMD_TOGGLE_PANELS,[{key:"Ctrl-Shift-~"},{key:"Cmd-Shift-~",platform:"mac"}]),PreferencesManager.on("change",PREFS_PURE_CODE,function(){const inDesignMode=WorkspaceManager.isInDesignMode&&WorkspaceManager.isInDesignMode();PreferencesManager.get(PREFS_PURE_CODE)?inDesignMode?CommandManager.execute(Commands.HIDE_SIDEBAR):(ViewUtils.hideMainToolBar(),CommandManager.execute(Commands.HIDE_SIDEBAR),_hidePanelsIfRequired()):inDesignMode?CommandManager.execute(Commands.SHOW_SIDEBAR):(ViewUtils.showMainToolBar(),CommandManager.execute(Commands.SHOW_SIDEBAR),_showPanelsIfRequired()),_updateCheckedState()})})});