@elementor/editor-app-bar 0.10.9 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/dist/index.js +117 -94
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +68 -45
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
- package/src/extensions/documents-save/hooks/__tests__/use-document-view-page-props.test.ts +43 -0
- package/src/extensions/documents-save/hooks/use-document-view-page-props.ts +16 -0
- package/src/extensions/documents-save/index.ts +8 -0
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/extensions/documents-save/locations.ts","../src/init.ts","../src/sync/redirect-old-menus.ts","../src/extensions/documents-indicator/index.ts","../src/extensions/documents-indicator/components/settings-button.tsx","../src/extensions/documents-preview/index.ts","../src/extensions/documents-preview/hooks/use-action-props.ts","../src/extensions/documents-save/index.ts","../src/extensions/documents-save/hooks/use-document-save-draft-props.ts","../src/extensions/documents-save/hooks/use-document-save-template-props.ts","../src/extensions/documents-save/components/primary-action.tsx","../src/extensions/documents-save/components/primary-action-menu.tsx","../src/extensions/elements/sync/sync-panel-title.ts","../src/extensions/elements/index.ts","../src/extensions/elements/hooks/use-action-props.ts","../src/extensions/finder/index.ts","../src/extensions/finder/hooks/use-action-props.ts","../src/extensions/help/index.ts","../src/extensions/history/index.ts","../src/extensions/history/hooks/use-action-props.ts","../src/extensions/keyboard-shortcuts/index.ts","../src/extensions/keyboard-shortcuts/hooks/use-action-props.ts","../src/extensions/site-settings/index.ts","../src/extensions/site-settings/components/portalled-primary-action.tsx","../src/extensions/site-settings/components/portal.tsx","../src/extensions/site-settings/components/primary-action.tsx","../src/extensions/site-settings/hooks/use-action-props.ts","../src/extensions/structure/index.ts","../src/extensions/structure/hooks/use-action-props.ts","../src/extensions/theme-builder/index.ts","../src/extensions/theme-builder/hooks/use-action-props.ts","../src/extensions/user-preferences/index.ts","../src/extensions/user-preferences/hooks/use-action-props.ts","../src/extensions/wordpress/index.ts","../src/extensions/index.ts"],"sourcesContent":["// Re-exporting the menus & locations from `@elementor/editor-app-bar-ui`\n// to expose the API for other packages to use.\nexport {\n\t__privateMainMenu as mainMenu,\n\t__privateToolsMenu as toolsMenu,\n\t__privateUtilitiesMenu as utilitiesMenu,\n\t__privateIntegrationsMenu as integrationsMenu,\n\t__privateInjectIntoPageIndication as injectIntoPageIndication,\n\t__privateInjectIntoResponsive as injectIntoResponsive,\n\t__privateInjectIntoPrimaryAction as injectIntoPrimaryAction,\n} from '@elementor/editor-app-bar-ui';\n\nexport { documentOptionsMenu } from './extensions/documents-save/locations';\n\nimport init from './init';\n\ninit();\n","import { __privateCreateMenu as createMenu } from '@elementor/editor-app-bar-ui';\n\nexport const documentOptionsMenu = createMenu( [ 'save' ] );\n","import { __privateAppBar as AppBar } from '@elementor/editor-app-bar-ui';\nimport { injectIntoTop } from '@elementor/editor';\nimport redirectOldMenus from './sync/redirect-old-menus';\nimport { init as initExtensions } from './extensions';\n\nexport default function init() {\n\tredirectOldMenus();\n\n\tinitExtensions();\n\n\tinjectIntoTop( {\n\t\tid: 'app-bar',\n\t\tcomponent: AppBar,\n\t} );\n}\n","import { __privateListenTo as listenTo, __privateOpenRoute as openRoute, routeOpenEvent } from '@elementor/editor-v1-adapters';\n\nexport default function redirectOldMenus() {\n\t// Currently, in V1, when you click `esc` it opens the hamburger menu in the panel.\n\t// In V2, we don't have this panel, so we redirect the user to the elements panel instead.\n\tlistenTo( routeOpenEvent( 'panel/menu' ), () => {\n\t\topenRoute( 'panel/elements/categories' );\n\t} );\n}\n","import { __privateInjectIntoPageIndication as injectIntoPageIndication } from '@elementor/editor-app-bar-ui';\nimport SettingsButton from './components/settings-button';\n\nexport function init() {\n\tinjectIntoPageIndication( {\n\t\tid: 'document-settings-button',\n\t\tcomponent: SettingsButton,\n\t\toptions: {\n\t\t\tpriority: 20, // After document indicator.\n\t\t},\n\t} );\n}\n","import * as React from 'react';\nimport { Box, ToggleButton, Tooltip as BaseTooltip, TooltipProps } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\nimport { __privateOpenRoute as openRoute, __privateUseRouteStatus as useRouteStatus } from '@elementor/editor-v1-adapters';\nimport { SettingsIcon } from '@elementor/icons';\nimport { __useActiveDocument as useActiveDocument, __useHostDocument as useHostDocument } from '@elementor/editor-documents';\n\nexport default function SettingsButton() {\n\tconst activeDocument = useActiveDocument();\n\tconst hostDocument = useHostDocument();\n\n\tconst document = activeDocument && activeDocument.type.value !== 'kit'\n\t\t? activeDocument\n\t\t: hostDocument;\n\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/page-settings' );\n\n\tif ( ! document ) {\n\t\treturn null;\n\t}\n\n\t/* translators: %s: Post type label. */\n\tconst title = __( '%s Settings', 'elementor' )\n\t\t.replace( '%s', document.type.label );\n\n\treturn (\n\t\t<Tooltip title={ title }>\n\t\t\t{ /* @see https://mui.com/material-ui/react-tooltip/#disabled-elements */ }\n\t\t\t<Box component=\"span\" aria-label={ undefined }>\n\t\t\t\t<ToggleButton\n\t\t\t\t\tvalue=\"document-settings\"\n\t\t\t\t\tselected={ isActive }\n\t\t\t\t\tdisabled={ isBlocked }\n\t\t\t\t\tonChange={ () => openRoute( 'panel/page-settings/settings' ) }\n\t\t\t\t\taria-label={ title }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\tsx={ {\n\t\t\t\t\t\tborder: 0, // Temp fix until the style of the ToggleButton component will be decided.\n\t\t\t\t\t\t'&.Mui-disabled': {\n\t\t\t\t\t\t\tborder: 0, // Temp fix until the style of the ToggleButton component will be decided.\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<SettingsIcon fontSize=\"small\" />\n\t\t\t\t</ToggleButton>\n\t\t\t</Box>\n\t\t</Tooltip>\n\t);\n}\n\nfunction Tooltip( props: TooltipProps ) {\n\treturn <BaseTooltip\n\t\tPopperProps={ {\n\t\t\tsx: {\n\t\t\t\t'&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom': {\n\t\t\t\t\tmt: 1.7,\n\t\t\t\t},\n\t\t\t},\n\t\t} }\n\t\t{ ...props }\n\t/>;\n}\n","import { __privateUtilitiesMenu as utilitiesMenu } from '@elementor/editor-app-bar-ui';\nimport useDocumentPreviewProps from './hooks/use-action-props';\n\nexport function init() {\n\tutilitiesMenu.registerAction( {\n\t\tid: 'document-preview-button',\n\t\tpriority: 30, // After help.\n\t\tuseProps: useDocumentPreviewProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { EyeIcon } from '@elementor/icons';\nimport { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';\nimport { __useActiveDocument as useActiveDocument } from '@elementor/editor-documents';\n\nexport default function useActionProps() {\n\tconst document = useActiveDocument();\n\n\treturn {\n\t\ticon: EyeIcon,\n\t\ttitle: __( 'Preview Changes', 'elementor' ),\n\t\tonClick: () => document && runCommand( 'editor/documents/preview', {\n\t\t\tid: document.id,\n\t\t\tforce: true,\n\t\t} ),\n\t};\n}\n","import { __privateInjectIntoPrimaryAction as injectIntoPrimaryAction } from '@elementor/editor-app-bar-ui';\nimport useDocumentSaveDraftProps from './hooks/use-document-save-draft-props';\nimport useDocumentSaveTemplateProps from './hooks/use-document-save-template-props';\nimport PrimaryAction from './components/primary-action';\nimport { documentOptionsMenu } from './locations';\n\nexport function init() {\n\tinjectIntoPrimaryAction( {\n\t\tid: 'document-primary-action',\n\t\tcomponent: PrimaryAction,\n\t} );\n\n\t// Documents options menu.\n\tdocumentOptionsMenu.registerAction( {\n\t\tgroup: 'save',\n\t\tid: 'document-save-draft',\n\t\tpriority: 10, // Before save as template.\n\t\tuseProps: useDocumentSaveDraftProps,\n\t} );\n\n\tdocumentOptionsMenu.registerAction( {\n\t\tgroup: 'save',\n\t\tid: 'document-save-as-template',\n\t\tpriority: 20, // After save draft.\n\t\tuseProps: useDocumentSaveTemplateProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { ActionProps } from '@elementor/editor-app-bar-ui';\nimport { FileReportIcon } from '@elementor/icons';\nimport { __useActiveDocument as useActiveDocument, __useActiveDocumentActions as useActiveDocumentActions } from '@elementor/editor-documents';\n\nexport default function useDocumentSaveDraftProps(): ActionProps {\n\tconst document = useActiveDocument();\n\tconst { saveDraft } = useActiveDocumentActions();\n\n\treturn {\n\t\ticon: FileReportIcon,\n\t\ttitle: __( 'Save Draft', 'elementor' ),\n\t\tonClick: saveDraft,\n\t\tdisabled: ! document || document.isSaving || document.isSavingDraft || ! document.isDirty,\n\t};\n}\n","import { __ } from '@wordpress/i18n';\nimport { ActionProps } from '@elementor/editor-app-bar-ui';\nimport { FolderIcon } from '@elementor/icons';\nimport { __useActiveDocumentActions as useActiveDocumentActions } from '@elementor/editor-documents';\n\nexport default function useDocumentSaveTemplateProps(): ActionProps {\n\tconst { saveTemplate } = useActiveDocumentActions();\n\n\treturn {\n\t\ticon: FolderIcon,\n\t\ttitle: __( 'Save as Template', 'elementor' ),\n\t\tonClick: saveTemplate,\n\t};\n}\n","import * as React from 'react';\nimport { __ } from '@wordpress/i18n';\nimport PrimaryActionMenu from './primary-action-menu';\nimport {\n\tbindMenu,\n\tbindTrigger,\n\tBox,\n\tButton,\n\tButtonGroup,\n\tCircularProgress,\n\tTooltip,\n\tusePopupState,\n} from '@elementor/ui';\nimport { Document, __useActiveDocument as useActiveDocument, __useActiveDocumentActions as useActiveDocumentActions } from '@elementor/editor-documents';\nimport { ChevronDownIcon } from '@elementor/icons';\nimport { __privateUseIsPreviewMode as useIsPreviewMode } from '@elementor/editor-v1-adapters';\n\nexport default function PrimaryAction() {\n\tconst document = useActiveDocument();\n\tconst { save } = useActiveDocumentActions();\n\tconst isPreviewMode = useIsPreviewMode();\n\n\tconst popupState = usePopupState( {\n\t\tvariant: 'popover',\n\t\tpopupId: 'document-save-options',\n\t} );\n\n\tif ( ! document ) {\n\t\treturn null;\n\t}\n\n\tconst isPublishDisabled = isPreviewMode || ! isPublishEnabled( document );\n\tconst isSaveOptionsDisabled = isPreviewMode || document.type.value === 'kit';\n\n\t// When the document is being saved, the spinner should not appear.\n\t// Usually happens when the Kit is being saved.\n\tconst shouldShowSpinner = document.isSaving && ! isPublishDisabled;\n\n\treturn (\n\t\t<>\n\t\t\t<ButtonGroup size=\"large\" variant=\"contained\">\n\t\t\t\t<Button\n\t\t\t\t\tonClick={ () => ! document.isSaving && save() }\n\t\t\t\t\tsx={ {\n\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\tborderRadius: 0,\n\t\t\t\t\t\tmaxWidth: '158px',\n\t\t\t\t\t\t'&.MuiButtonBase-root.MuiButtonGroup-grouped': {\n\t\t\t\t\t\t\tminWidth: '110px',\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t\tdisabled={ isPublishDisabled }\n\t\t\t\t>\n\t\t\t\t\t{ shouldShowSpinner ? <CircularProgress color=\"inherit\" size=\"1.5em\" /> : getLabel( document ) }\n\t\t\t\t</Button>\n\n\t\t\t\t<Tooltip\n\t\t\t\t\ttitle={ __( 'Save Options', 'elementor' ) }\n\t\t\t\t\tPopperProps={ {\n\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t'&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom': {\n\t\t\t\t\t\t\t\tmt: 1,\n\t\t\t\t\t\t\t\tmr: 0.25,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<Box component=\"span\" aria-label={ undefined }>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t{ ...bindTrigger( popupState ) }\n\t\t\t\t\t\t\tsx={ { px: 0, height: '100%', borderRadius: 0 } }\n\t\t\t\t\t\t\tdisabled={ isSaveOptionsDisabled }\n\t\t\t\t\t\t\taria-label={ __( 'Save Options', 'elementor' ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ChevronDownIcon />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</Box>\n\t\t\t\t</Tooltip>\n\t\t\t</ButtonGroup>\n\t\t\t<PrimaryActionMenu { ...bindMenu( popupState ) } onClick={ popupState.close } />\n\t\t</>\n\t);\n}\n\nfunction getLabel( document: Document ) {\n\treturn document.userCan.publish\n\t\t? __( 'Publish', 'elementor' )\n\t\t: __( 'Submit', 'elementor' );\n}\n\nfunction isPublishEnabled( document: Document ) {\n\tif ( document.type.value === 'kit' ) {\n\t\treturn false;\n\t}\n\n\treturn document.isDirty || document.status.value === 'draft';\n}\n","import * as React from 'react';\nimport { Divider, styled } from '@elementor/ui';\nimport { __privatePopoverMenu as PopoverMenu, PopoverMenuProps } from '@elementor/editor-app-bar-ui';\nimport { documentOptionsMenu } from '../locations';\n\nconst { useMenuItems } = documentOptionsMenu;\n\n// CSS hack to hide dividers when a group is rendered empty (due to a limitation in our locations' mechanism).\n// It doesn't cover all the cases (i.e. when there are multiple dividers at the end), but it's good enough for our use-case.\nconst StyledPopoverMenu = styled( PopoverMenu )`\n\t& > .MuiPopover-paper > .MuiList-root > .MuiDivider-root {\n\t\t&:only-child, /* A divider is being rendered lonely */\n\t\t&:last-child, /* The last group renders empty but renders a divider */\n\t\t& + .MuiDivider-root /* Multiple dividers due to multiple empty groups */ {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n`;\n\nexport default function PrimaryActionMenu( props: PopoverMenuProps ) {\n\tconst { save: saveActions, default: defaultActions } = useMenuItems();\n\n\treturn (\n\t\t<StyledPopoverMenu\n\t\t\t{ ...props }\n\t\t\tanchorOrigin={ {\n\t\t\t\tvertical: 'bottom',\n\t\t\t\thorizontal: 'right',\n\t\t\t} }\n\t\t\ttransformOrigin={ {\n\t\t\t\tvertical: 'top',\n\t\t\t\thorizontal: 'right',\n\t\t\t} }\n\t\t\tmarginThreshold={ 4 }\n\t\t\tPaperProps={ {\n\t\t\t\tsx: { mt: 0.5 },\n\t\t\t} }\n\t\t>\n\t\t\t{ saveActions.map( ( { MenuItem, id }, index ) => ( [\n\t\t\t\t( index > 0 ) && <Divider key={ `${ id }-divider` } />,\n\t\t\t\t<MenuItem key={ id } />,\n\t\t\t] ) ) }\n\n\t\t\t{ defaultActions.length > 0 && <Divider /> }\n\n\t\t\t{ defaultActions.map( ( { MenuItem, id } ) => <MenuItem key={ id } /> ) }\n\t\t</StyledPopoverMenu>\n\t);\n}\n","import { __ } from '@wordpress/i18n';\nimport { __privateIsRouteActive as isRouteActive, __privateListenTo as listenTo, routeOpenEvent, v1ReadyEvent } from '@elementor/editor-v1-adapters';\n\ntype ExtendedWindow = Window & {\n\telementor: {\n\t\tgetPanelView: () => {\n\t\t\tgetHeaderView: () => {\n\t\t\t\tsetTitle: ( title: string ) => void;\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport default function syncPanelTitle() {\n\tconst panelTitle = __( 'Elements', 'elementor' );\n\tconst tabTitle = __( 'Widgets', 'elementor' );\n\n\tlistenTo(\n\t\trouteOpenEvent( 'panel/elements' ),\n\t\t() => {\n\t\t\tsetPanelTitle( panelTitle );\n\t\t\tsetTabTitle( tabTitle );\n\t\t}\n\t);\n\n\tlistenTo(\n\t\tv1ReadyEvent(),\n\t\t() => {\n\t\t\tif ( isRouteActive( 'panel/elements' ) ) {\n\t\t\t\tsetPanelTitle( panelTitle );\n\t\t\t\tsetTabTitle( tabTitle );\n\t\t\t}\n\t\t}\n\t);\n}\n\nfunction setPanelTitle( title: string ) {\n\t( window as unknown as ExtendedWindow ).elementor?.getPanelView?.()?.getHeaderView?.()?.setTitle?.( title );\n}\n\nfunction setTabTitle( title: string ) {\n\tconst tab = document.querySelector( '.elementor-component-tab[data-tab=\"categories\"]' );\n\n\tif ( tab ) {\n\t\ttab.textContent = title;\n\t}\n}\n","import syncPanelTitle from './sync/sync-panel-title';\nimport { __privateToolsMenu as toolsMenu } from '@elementor/editor-app-bar-ui';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tsyncPanelTitle();\n\n\ttoolsMenu.registerToggleAction( {\n\t\tid: 'open-elements-panel',\n\t\tpriority: 1,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { PlusIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\nimport { __privateOpenRoute as openRoute, __privateUseRouteStatus as useRouteStatus } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps() {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/elements' );\n\n\treturn {\n\t\ttitle: __( 'Add Element', 'elementor' ),\n\t\ticon: PlusIcon,\n\t\tonClick: () => openRoute( 'panel/elements/categories' ),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { __privateUtilitiesMenu as utilitiesMenu } from '@elementor/editor-app-bar-ui';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tutilitiesMenu.registerAction( {\n\t\tid: 'toggle-finder',\n\t\tpriority: 10, // Before help.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { SearchIcon } from '@elementor/icons';\nimport { __privateRunCommand as runCommand, __privateUseRouteStatus as useRouteStatus } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps() {\n\tconst { isBlocked } = useRouteStatus( 'finder', {\n\t\tblockOnKitRoutes: false,\n\t\tblockOnPreviewMode: false,\n\t} );\n\n\treturn {\n\t\ttitle: __( 'Finder', 'elementor' ),\n\t\ticon: SearchIcon,\n\t\tonClick: () => runCommand( 'finder/toggle' ),\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { __privateUtilitiesMenu as utilitiesMenu } from '@elementor/editor-app-bar-ui';\nimport { __ } from '@wordpress/i18n';\nimport { HelpIcon } from '@elementor/icons';\n\nexport function init() {\n\tutilitiesMenu.registerLink( {\n\t\tid: 'open-help-center',\n\t\tpriority: 20, // After Finder.\n\t\tuseProps: () => {\n\t\t\treturn {\n\t\t\t\ttitle: __( 'Help', 'elementor' ),\n\t\t\t\thref: 'https://go.elementor.com/editor-top-bar-learn/',\n\t\t\t\ticon: HelpIcon,\n\t\t\t\ttarget: '_blank',\n\t\t\t};\n\t\t},\n\t} );\n}\n","import { __privateMainMenu as mainMenu } from '@elementor/editor-app-bar-ui';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerToggleAction( {\n\t\tid: 'open-history',\n\t\tpriority: 20,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { HistoryIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\nimport { __privateOpenRoute as openRoute, __privateUseRouteStatus as useRouteStatus } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps() {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/history' );\n\n\treturn {\n\t\ttitle: __( 'History', 'elementor' ),\n\t\ticon: HistoryIcon,\n\t\tonClick: () => openRoute( 'panel/history/actions' ),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { __privateMainMenu as mainMenu } from '@elementor/editor-app-bar-ui';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerAction( {\n\t\tid: 'open-keyboard-shortcuts',\n\t\tgroup: 'default',\n\t\tpriority: 40, // After user preferences.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { ActionProps } from '@elementor/editor-app-bar-ui';\nimport { KeyboardIcon } from '@elementor/icons';\nimport { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps(): ActionProps {\n\treturn {\n\t\ticon: KeyboardIcon,\n\t\ttitle: __( 'Keyboard Shortcuts', 'elementor' ),\n\t\tonClick: () => runCommand( 'shortcuts/open' ),\n\t};\n}\n","import { injectIntoTop } from '@elementor/editor';\nimport PortalledPrimaryAction from './components/portalled-primary-action';\nimport { __privateToolsMenu as toolsMenu } from '@elementor/editor-app-bar-ui';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\t// This is portal, so it injected into the top of the editor, but renders inside the site-settings panel.\n\tinjectIntoTop( {\n\t\tid: 'site-settings-primary-action-portal',\n\t\tcomponent: PortalledPrimaryAction,\n\t} );\n\n\ttoolsMenu.registerToggleAction( {\n\t\tid: 'toggle-site-settings',\n\t\tpriority: 2,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import * as React from 'react';\nimport Portal from './portal';\nimport PrimaryAction from './primary-action';\n\nexport default function PortalledPrimaryAction() {\n\treturn (\n\t\t<Portal>\n\t\t\t<PrimaryAction />\n\t\t</Portal>\n\t);\n}\n","import * as React from 'react';\nimport { Portal as BasePortal, PortalProps } from '@elementor/ui';\nimport { __privateIsRouteActive as isRouteActive, routeCloseEvent, routeOpenEvent, __privateUseListenTo as useListenTo } from '@elementor/editor-v1-adapters';\n\nexport default function Portal( props: Omit<PortalProps, 'container'> ) {\n\tconst containerRef = useListenTo(\n\t\t[\n\t\t\trouteOpenEvent( 'panel/global' ),\n\t\t\trouteCloseEvent( 'panel/global' ),\n\t\t],\n\t\tgetContainerRef\n\t);\n\n\tif ( ! containerRef.current ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<BasePortal container={ containerRef.current } { ...props } />\n\t);\n}\n\nfunction getContainerRef() {\n\treturn isRouteActive( 'panel/global' )\n\t\t? { current: document.querySelector( '#elementor-panel-inner' ) }\n\t\t: { current: null };\n}\n","import * as React from 'react';\nimport { __useActiveDocument as useActiveDocument, __useActiveDocumentActions as useActiveDocumentActions } from '@elementor/editor-documents';\nimport { Button, CircularProgress, Paper } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\n\nexport default function PrimaryAction() {\n\tconst document = useActiveDocument();\n\tconst { save } = useActiveDocumentActions();\n\n\treturn (\n\t\t<Paper sx={ {\n\t\t\tpx: 5,\n\t\t\tpy: 4,\n\t\t\tborderTop: 1,\n\t\t\tborderColor: 'divider',\n\t\t} }>\n\t\t\t<Button\n\t\t\t\tvariant=\"contained\"\n\t\t\t\tdisabled={ ! document || ! document.isDirty }\n\t\t\t\tsize=\"medium\"\n\t\t\t\tsx={ { width: '100%' } }\n\t\t\t\tonClick={ () => document && ! document.isSaving ? save() : null }\n\t\t\t>\n\t\t\t\t{\n\t\t\t\t\tdocument?.isSaving\n\t\t\t\t\t\t? <CircularProgress />\n\t\t\t\t\t\t: __( 'Save Changes', 'elementor' )\n\t\t\t\t}\n\t\t\t</Button>\n\t\t</Paper>\n\t);\n}\n","import { __ } from '@wordpress/i18n';\nimport { __privateRunCommand as runCommand, __privateUseRouteStatus as useRouteStatus } from '@elementor/editor-v1-adapters';\nimport { ToggleActionProps } from '@elementor/editor-app-bar-ui';\nimport { AdjustmentsHorizontalIcon } from '@elementor/icons';\n\nexport default function useActionProps(): ToggleActionProps {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/global', {\n\t\tblockOnKitRoutes: false,\n\t} );\n\n\treturn {\n\t\ttitle: __( 'Site Settings', 'elementor' ),\n\t\ticon: AdjustmentsHorizontalIcon,\n\t\tonClick: () => (\n\t\t\tisActive\n\t\t\t\t? runCommand( 'panel/global/close' )\n\t\t\t\t: runCommand( 'panel/global/open' )\n\t\t),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { __privateToolsMenu as toolsMenu } from '@elementor/editor-app-bar-ui';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\ttoolsMenu.registerToggleAction( {\n\t\tid: 'toggle-structure-view',\n\t\tpriority: 3,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { __privateRunCommand as runCommand, __privateUseRouteStatus as useRouteStatus } from '@elementor/editor-v1-adapters';\nimport { StructureIcon } from '@elementor/icons';\nimport { ToggleActionProps } from '@elementor/editor-app-bar-ui';\n\nexport default function useActionProps(): ToggleActionProps {\n\tconst { isActive, isBlocked } = useRouteStatus( 'navigator' );\n\n\treturn {\n\t\ttitle: __( 'Structure', 'elementor' ),\n\t\ticon: StructureIcon,\n\t\tonClick: () => runCommand( 'navigator/toggle' ),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { __privateMainMenu as mainMenu } from '@elementor/editor-app-bar-ui';\nimport useThemeBuilderActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerAction( {\n\t\tid: 'open-theme-builder',\n\t\tuseProps: useThemeBuilderActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { ThemeBuilderIcon } from '@elementor/icons';\nimport { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';\nimport { ActionProps } from '@elementor/editor-app-bar-ui';\n\nexport default function useActionProps(): ActionProps {\n\treturn {\n\t\ticon: ThemeBuilderIcon,\n\t\ttitle: __( 'Theme Builder', 'elementor' ),\n\t\tonClick: () => runCommand( 'app/open' ),\n\t};\n}\n","import { __privateMainMenu as mainMenu } from '@elementor/editor-app-bar-ui';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerToggleAction( {\n\t\tid: 'open-user-preferences',\n\t\tpriority: 30, // After history.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { ToggleActionProps } from '@elementor/editor-app-bar-ui';\nimport { ToggleRightIcon } from '@elementor/icons';\nimport { __privateOpenRoute as openRoute, __privateUseRouteStatus as useRouteStatus } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps(): ToggleActionProps {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/editor-preferences' );\n\n\treturn {\n\t\ticon: ToggleRightIcon,\n\t\ttitle: __( 'User Preferences', 'elementor' ),\n\t\tonClick: () => openRoute( 'panel/editor-preferences' ),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { __privateMainMenu as mainMenu } from '@elementor/editor-app-bar-ui';\nimport { __ } from '@wordpress/i18n';\nimport { WordpressIcon } from '@elementor/icons';\nimport { __useActiveDocument as useActiveDocument } from '@elementor/editor-documents';\n\nexport function init() {\n\tmainMenu.registerLink( {\n\t\tid: 'exit-to-wordpress',\n\t\tgroup: 'exits',\n\t\tuseProps: () => {\n\t\t\tconst document = useActiveDocument();\n\n\t\t\treturn {\n\t\t\t\ttitle: __( 'Exit to WordPress', 'elementor' ),\n\t\t\t\thref: document?.links?.platformEdit,\n\t\t\t\ticon: WordpressIcon,\n\t\t\t};\n\t\t},\n\t} );\n}\n","/**\n * All the code in this directory is a temporary solution.\n * The code should be moved to the appropriate packages.\n */\n\nimport { init as initDocumentsIndicator } from './documents-indicator';\nimport { init as initDocumentsPreview } from './documents-preview';\nimport { init as initDocumentsSave } from './documents-save';\nimport { init as initElements } from './elements';\nimport { init as initFinder } from './finder';\nimport { init as initHelp } from './help';\nimport { init as initHistory } from './history';\nimport { init as initKeyboardShortcuts } from './keyboard-shortcuts';\nimport { init as initSiteSettings } from './site-settings';\nimport { init as initStructure } from './structure';\nimport { init as initThemeBuilder } from './theme-builder';\nimport { init as initUserPreferences } from './user-preferences';\nimport { init as initWordpress } from './wordpress';\n\nexport function init() {\n\tinitDocumentsIndicator();\n\tinitDocumentsPreview();\n\tinitDocumentsSave();\n\tinitElements();\n\tinitFinder();\n\tinitHelp();\n\tinitHistory();\n\tinitKeyboardShortcuts();\n\tinitSiteSettings();\n\tinitStructure();\n\tinitThemeBuilder();\n\tinitUserPreferences();\n\tinitWordpress();\n}\n"],"mappings":"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","names":["injectIntoTop","openRoute","document","__","useActiveDocument","document","init","__","useActiveDocument","document","__","useActiveDocumentActions","React","__","React","Box","Tooltip","useActiveDocument","useActiveDocumentActions","document","__","init","__","listenTo","routeOpenEvent","__","openRoute","useRouteStatus","useActionProps","init","useActionProps","utilitiesMenu","__","runCommand","useRouteStatus","useActionProps","init","utilitiesMenu","useActionProps","utilitiesMenu","__","init","__","openRoute","useRouteStatus","useActionProps","init","useActionProps","mainMenu","__","runCommand","useActionProps","init","mainMenu","useActionProps","React","React","isRouteActive","routeOpenEvent","React","useActiveDocument","useActiveDocumentActions","Button","CircularProgress","__","PrimaryAction","document","PrimaryAction","toolsMenu","__","runCommand","useRouteStatus","useActionProps","init","toolsMenu","useActionProps","toolsMenu","__","runCommand","useRouteStatus","useActionProps","init","toolsMenu","useActionProps","mainMenu","__","runCommand","useActionProps","init","mainMenu","useActionProps","mainMenu","__","openRoute","useRouteStatus","useActionProps","init","mainMenu","useActionProps","mainMenu","__","useActiveDocument","init","document","init","init","injectIntoTop","init"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/extensions/documents-save/locations.ts","../src/init.ts","../src/sync/redirect-old-menus.ts","../src/extensions/documents-indicator/index.ts","../src/extensions/documents-indicator/components/settings-button.tsx","../src/extensions/documents-preview/index.ts","../src/extensions/documents-preview/hooks/use-action-props.ts","../src/extensions/documents-save/index.ts","../src/extensions/documents-save/hooks/use-document-save-draft-props.ts","../src/extensions/documents-save/hooks/use-document-save-template-props.ts","../src/extensions/documents-save/hooks/use-document-view-page-props.ts","../src/extensions/documents-save/components/primary-action.tsx","../src/extensions/documents-save/components/primary-action-menu.tsx","../src/extensions/elements/sync/sync-panel-title.ts","../src/extensions/elements/index.ts","../src/extensions/elements/hooks/use-action-props.ts","../src/extensions/finder/index.ts","../src/extensions/finder/hooks/use-action-props.ts","../src/extensions/help/index.ts","../src/extensions/history/index.ts","../src/extensions/history/hooks/use-action-props.ts","../src/extensions/keyboard-shortcuts/index.ts","../src/extensions/keyboard-shortcuts/hooks/use-action-props.ts","../src/extensions/site-settings/index.ts","../src/extensions/site-settings/components/portalled-primary-action.tsx","../src/extensions/site-settings/components/portal.tsx","../src/extensions/site-settings/components/primary-action.tsx","../src/extensions/site-settings/hooks/use-action-props.ts","../src/extensions/structure/index.ts","../src/extensions/structure/hooks/use-action-props.ts","../src/extensions/theme-builder/index.ts","../src/extensions/theme-builder/hooks/use-action-props.ts","../src/extensions/user-preferences/index.ts","../src/extensions/user-preferences/hooks/use-action-props.ts","../src/extensions/wordpress/index.ts","../src/extensions/index.ts"],"sourcesContent":["// Re-exporting the menus & locations from `@elementor/editor-app-bar-ui`\n// to expose the API for other packages to use.\nexport {\n\t__privateMainMenu as mainMenu,\n\t__privateToolsMenu as toolsMenu,\n\t__privateUtilitiesMenu as utilitiesMenu,\n\t__privateIntegrationsMenu as integrationsMenu,\n\t__privateInjectIntoPageIndication as injectIntoPageIndication,\n\t__privateInjectIntoResponsive as injectIntoResponsive,\n\t__privateInjectIntoPrimaryAction as injectIntoPrimaryAction,\n} from '@elementor/editor-app-bar-ui';\n\nexport { documentOptionsMenu } from './extensions/documents-save/locations';\n\nimport init from './init';\n\ninit();\n","import { __privateCreateMenu as createMenu } from '@elementor/editor-app-bar-ui';\n\nexport const documentOptionsMenu = createMenu( [ 'save' ] );\n","import { __privateAppBar as AppBar } from '@elementor/editor-app-bar-ui';\nimport { injectIntoTop } from '@elementor/editor';\nimport redirectOldMenus from './sync/redirect-old-menus';\nimport { init as initExtensions } from './extensions';\n\nexport default function init() {\n\tredirectOldMenus();\n\n\tinitExtensions();\n\n\tinjectIntoTop( {\n\t\tid: 'app-bar',\n\t\tcomponent: AppBar,\n\t} );\n}\n","import { __privateListenTo as listenTo, __privateOpenRoute as openRoute, routeOpenEvent } from '@elementor/editor-v1-adapters';\n\nexport default function redirectOldMenus() {\n\t// Currently, in V1, when you click `esc` it opens the hamburger menu in the panel.\n\t// In V2, we don't have this panel, so we redirect the user to the elements panel instead.\n\tlistenTo( routeOpenEvent( 'panel/menu' ), () => {\n\t\topenRoute( 'panel/elements/categories' );\n\t} );\n}\n","import { __privateInjectIntoPageIndication as injectIntoPageIndication } from '@elementor/editor-app-bar-ui';\nimport SettingsButton from './components/settings-button';\n\nexport function init() {\n\tinjectIntoPageIndication( {\n\t\tid: 'document-settings-button',\n\t\tcomponent: SettingsButton,\n\t\toptions: {\n\t\t\tpriority: 20, // After document indicator.\n\t\t},\n\t} );\n}\n","import * as React from 'react';\nimport { Box, ToggleButton, Tooltip as BaseTooltip, TooltipProps } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\nimport { __privateOpenRoute as openRoute, __privateUseRouteStatus as useRouteStatus } from '@elementor/editor-v1-adapters';\nimport { SettingsIcon } from '@elementor/icons';\nimport { __useActiveDocument as useActiveDocument, __useHostDocument as useHostDocument } from '@elementor/editor-documents';\n\nexport default function SettingsButton() {\n\tconst activeDocument = useActiveDocument();\n\tconst hostDocument = useHostDocument();\n\n\tconst document = activeDocument && activeDocument.type.value !== 'kit'\n\t\t? activeDocument\n\t\t: hostDocument;\n\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/page-settings' );\n\n\tif ( ! document ) {\n\t\treturn null;\n\t}\n\n\t/* translators: %s: Post type label. */\n\tconst title = __( '%s Settings', 'elementor' )\n\t\t.replace( '%s', document.type.label );\n\n\treturn (\n\t\t<Tooltip title={ title }>\n\t\t\t{ /* @see https://mui.com/material-ui/react-tooltip/#disabled-elements */ }\n\t\t\t<Box component=\"span\" aria-label={ undefined }>\n\t\t\t\t<ToggleButton\n\t\t\t\t\tvalue=\"document-settings\"\n\t\t\t\t\tselected={ isActive }\n\t\t\t\t\tdisabled={ isBlocked }\n\t\t\t\t\tonChange={ () => openRoute( 'panel/page-settings/settings' ) }\n\t\t\t\t\taria-label={ title }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\tsx={ {\n\t\t\t\t\t\tborder: 0, // Temp fix until the style of the ToggleButton component will be decided.\n\t\t\t\t\t\t'&.Mui-disabled': {\n\t\t\t\t\t\t\tborder: 0, // Temp fix until the style of the ToggleButton component will be decided.\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<SettingsIcon fontSize=\"small\" />\n\t\t\t\t</ToggleButton>\n\t\t\t</Box>\n\t\t</Tooltip>\n\t);\n}\n\nfunction Tooltip( props: TooltipProps ) {\n\treturn <BaseTooltip\n\t\tPopperProps={ {\n\t\t\tsx: {\n\t\t\t\t'&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom': {\n\t\t\t\t\tmt: 1.7,\n\t\t\t\t},\n\t\t\t},\n\t\t} }\n\t\t{ ...props }\n\t/>;\n}\n","import { __privateUtilitiesMenu as utilitiesMenu } from '@elementor/editor-app-bar-ui';\nimport useDocumentPreviewProps from './hooks/use-action-props';\n\nexport function init() {\n\tutilitiesMenu.registerAction( {\n\t\tid: 'document-preview-button',\n\t\tpriority: 30, // After help.\n\t\tuseProps: useDocumentPreviewProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { EyeIcon } from '@elementor/icons';\nimport { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';\nimport { __useActiveDocument as useActiveDocument } from '@elementor/editor-documents';\n\nexport default function useActionProps() {\n\tconst document = useActiveDocument();\n\n\treturn {\n\t\ticon: EyeIcon,\n\t\ttitle: __( 'Preview Changes', 'elementor' ),\n\t\tonClick: () => document && runCommand( 'editor/documents/preview', {\n\t\t\tid: document.id,\n\t\t\tforce: true,\n\t\t} ),\n\t};\n}\n","import { __privateInjectIntoPrimaryAction as injectIntoPrimaryAction } from '@elementor/editor-app-bar-ui';\nimport useDocumentSaveDraftProps from './hooks/use-document-save-draft-props';\nimport useDocumentSaveTemplateProps from './hooks/use-document-save-template-props';\nimport useDocumentViewPageProps from './hooks/use-document-view-page-props';\nimport PrimaryAction from './components/primary-action';\nimport { documentOptionsMenu } from './locations';\n\nexport function init() {\n\tinjectIntoPrimaryAction( {\n\t\tid: 'document-primary-action',\n\t\tcomponent: PrimaryAction,\n\t} );\n\n\t// Documents options menu.\n\tdocumentOptionsMenu.registerAction( {\n\t\tgroup: 'save',\n\t\tid: 'document-save-draft',\n\t\tpriority: 10, // Before save as template.\n\t\tuseProps: useDocumentSaveDraftProps,\n\t} );\n\n\tdocumentOptionsMenu.registerAction( {\n\t\tgroup: 'save',\n\t\tid: 'document-save-as-template',\n\t\tpriority: 20, // After save draft.\n\t\tuseProps: useDocumentSaveTemplateProps,\n\t} );\n\n\tdocumentOptionsMenu.registerAction( {\n\t\tgroup: 'save',\n\t\tid: 'document-view-page',\n\t\tpriority: 30, // After save draft.\n\t\tuseProps: useDocumentViewPageProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { ActionProps } from '@elementor/editor-app-bar-ui';\nimport { FileReportIcon } from '@elementor/icons';\nimport { __useActiveDocument as useActiveDocument, __useActiveDocumentActions as useActiveDocumentActions } from '@elementor/editor-documents';\n\nexport default function useDocumentSaveDraftProps(): ActionProps {\n\tconst document = useActiveDocument();\n\tconst { saveDraft } = useActiveDocumentActions();\n\n\treturn {\n\t\ticon: FileReportIcon,\n\t\ttitle: __( 'Save Draft', 'elementor' ),\n\t\tonClick: saveDraft,\n\t\tdisabled: ! document || document.isSaving || document.isSavingDraft || ! document.isDirty,\n\t};\n}\n","import { __ } from '@wordpress/i18n';\nimport { ActionProps } from '@elementor/editor-app-bar-ui';\nimport { FolderIcon } from '@elementor/icons';\nimport { __useActiveDocumentActions as useActiveDocumentActions } from '@elementor/editor-documents';\n\nexport default function useDocumentSaveTemplateProps(): ActionProps {\n\tconst { saveTemplate } = useActiveDocumentActions();\n\n\treturn {\n\t\ticon: FolderIcon,\n\t\ttitle: __( 'Save as Template', 'elementor' ),\n\t\tonClick: saveTemplate,\n\t};\n}\n","import { __ } from '@wordpress/i18n';\nimport { EyeIcon } from '@elementor/icons';\nimport { __useActiveDocument as useActiveDocument } from '@elementor/editor-documents';\nimport { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';\n\nexport default function useDocumentViewPageProps() {\n\tconst document = useActiveDocument();\n\n\treturn {\n\t\ticon: EyeIcon,\n\t\ttitle: __( 'View Page', 'elementor' ),\n\t\tonClick: () => document?.id && runCommand( 'editor/documents/view', {\n\t\t\tid: document.id,\n\t\t} ),\n\t};\n}\n","import * as React from 'react';\nimport { __ } from '@wordpress/i18n';\nimport PrimaryActionMenu from './primary-action-menu';\nimport {\n\tbindMenu,\n\tbindTrigger,\n\tBox,\n\tButton,\n\tButtonGroup,\n\tCircularProgress,\n\tTooltip,\n\tusePopupState,\n} from '@elementor/ui';\nimport { Document, __useActiveDocument as useActiveDocument, __useActiveDocumentActions as useActiveDocumentActions } from '@elementor/editor-documents';\nimport { ChevronDownIcon } from '@elementor/icons';\nimport { __privateUseIsPreviewMode as useIsPreviewMode } from '@elementor/editor-v1-adapters';\n\nexport default function PrimaryAction() {\n\tconst document = useActiveDocument();\n\tconst { save } = useActiveDocumentActions();\n\tconst isPreviewMode = useIsPreviewMode();\n\n\tconst popupState = usePopupState( {\n\t\tvariant: 'popover',\n\t\tpopupId: 'document-save-options',\n\t} );\n\n\tif ( ! document ) {\n\t\treturn null;\n\t}\n\n\tconst isPublishDisabled = isPreviewMode || ! isPublishEnabled( document );\n\tconst isSaveOptionsDisabled = isPreviewMode || document.type.value === 'kit';\n\n\t// When the document is being saved, the spinner should not appear.\n\t// Usually happens when the Kit is being saved.\n\tconst shouldShowSpinner = document.isSaving && ! isPublishDisabled;\n\n\treturn (\n\t\t<>\n\t\t\t<ButtonGroup size=\"large\" variant=\"contained\">\n\t\t\t\t<Button\n\t\t\t\t\tonClick={ () => ! document.isSaving && save() }\n\t\t\t\t\tsx={ {\n\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\tborderRadius: 0,\n\t\t\t\t\t\tmaxWidth: '158px',\n\t\t\t\t\t\t'&.MuiButtonBase-root.MuiButtonGroup-grouped': {\n\t\t\t\t\t\t\tminWidth: '110px',\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t\tdisabled={ isPublishDisabled }\n\t\t\t\t>\n\t\t\t\t\t{ shouldShowSpinner ? <CircularProgress color=\"inherit\" size=\"1.5em\" /> : getLabel( document ) }\n\t\t\t\t</Button>\n\n\t\t\t\t<Tooltip\n\t\t\t\t\ttitle={ __( 'Save Options', 'elementor' ) }\n\t\t\t\t\tPopperProps={ {\n\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t'&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom': {\n\t\t\t\t\t\t\t\tmt: 1,\n\t\t\t\t\t\t\t\tmr: 0.25,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<Box component=\"span\" aria-label={ undefined }>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t{ ...bindTrigger( popupState ) }\n\t\t\t\t\t\t\tsx={ { px: 0, height: '100%', borderRadius: 0 } }\n\t\t\t\t\t\t\tdisabled={ isSaveOptionsDisabled }\n\t\t\t\t\t\t\taria-label={ __( 'Save Options', 'elementor' ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ChevronDownIcon />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</Box>\n\t\t\t\t</Tooltip>\n\t\t\t</ButtonGroup>\n\t\t\t<PrimaryActionMenu { ...bindMenu( popupState ) } onClick={ popupState.close } />\n\t\t</>\n\t);\n}\n\nfunction getLabel( document: Document ) {\n\treturn document.userCan.publish\n\t\t? __( 'Publish', 'elementor' )\n\t\t: __( 'Submit', 'elementor' );\n}\n\nfunction isPublishEnabled( document: Document ) {\n\tif ( document.type.value === 'kit' ) {\n\t\treturn false;\n\t}\n\n\treturn document.isDirty || document.status.value === 'draft';\n}\n","import * as React from 'react';\nimport { Divider, styled } from '@elementor/ui';\nimport { __privatePopoverMenu as PopoverMenu, PopoverMenuProps } from '@elementor/editor-app-bar-ui';\nimport { documentOptionsMenu } from '../locations';\n\nconst { useMenuItems } = documentOptionsMenu;\n\n// CSS hack to hide dividers when a group is rendered empty (due to a limitation in our locations' mechanism).\n// It doesn't cover all the cases (i.e. when there are multiple dividers at the end), but it's good enough for our use-case.\nconst StyledPopoverMenu = styled( PopoverMenu )`\n\t& > .MuiPopover-paper > .MuiList-root > .MuiDivider-root {\n\t\t&:only-child, /* A divider is being rendered lonely */\n\t\t&:last-child, /* The last group renders empty but renders a divider */\n\t\t& + .MuiDivider-root /* Multiple dividers due to multiple empty groups */ {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n`;\n\nexport default function PrimaryActionMenu( props: PopoverMenuProps ) {\n\tconst { save: saveActions, default: defaultActions } = useMenuItems();\n\n\treturn (\n\t\t<StyledPopoverMenu\n\t\t\t{ ...props }\n\t\t\tanchorOrigin={ {\n\t\t\t\tvertical: 'bottom',\n\t\t\t\thorizontal: 'right',\n\t\t\t} }\n\t\t\ttransformOrigin={ {\n\t\t\t\tvertical: 'top',\n\t\t\t\thorizontal: 'right',\n\t\t\t} }\n\t\t\tmarginThreshold={ 4 }\n\t\t\tPaperProps={ {\n\t\t\t\tsx: { mt: 0.5 },\n\t\t\t} }\n\t\t>\n\t\t\t{ saveActions.map( ( { MenuItem, id }, index ) => ( [\n\t\t\t\t( index > 0 ) && <Divider key={ `${ id }-divider` } />,\n\t\t\t\t<MenuItem key={ id } />,\n\t\t\t] ) ) }\n\n\t\t\t{ defaultActions.length > 0 && <Divider /> }\n\n\t\t\t{ defaultActions.map( ( { MenuItem, id } ) => <MenuItem key={ id } /> ) }\n\t\t</StyledPopoverMenu>\n\t);\n}\n","import { __ } from '@wordpress/i18n';\nimport { __privateIsRouteActive as isRouteActive, __privateListenTo as listenTo, routeOpenEvent, v1ReadyEvent } from '@elementor/editor-v1-adapters';\n\ntype ExtendedWindow = Window & {\n\telementor: {\n\t\tgetPanelView: () => {\n\t\t\tgetHeaderView: () => {\n\t\t\t\tsetTitle: ( title: string ) => void;\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport default function syncPanelTitle() {\n\tconst panelTitle = __( 'Elements', 'elementor' );\n\tconst tabTitle = __( 'Widgets', 'elementor' );\n\n\tlistenTo(\n\t\trouteOpenEvent( 'panel/elements' ),\n\t\t() => {\n\t\t\tsetPanelTitle( panelTitle );\n\t\t\tsetTabTitle( tabTitle );\n\t\t}\n\t);\n\n\tlistenTo(\n\t\tv1ReadyEvent(),\n\t\t() => {\n\t\t\tif ( isRouteActive( 'panel/elements' ) ) {\n\t\t\t\tsetPanelTitle( panelTitle );\n\t\t\t\tsetTabTitle( tabTitle );\n\t\t\t}\n\t\t}\n\t);\n}\n\nfunction setPanelTitle( title: string ) {\n\t( window as unknown as ExtendedWindow ).elementor?.getPanelView?.()?.getHeaderView?.()?.setTitle?.( title );\n}\n\nfunction setTabTitle( title: string ) {\n\tconst tab = document.querySelector( '.elementor-component-tab[data-tab=\"categories\"]' );\n\n\tif ( tab ) {\n\t\ttab.textContent = title;\n\t}\n}\n","import syncPanelTitle from './sync/sync-panel-title';\nimport { __privateToolsMenu as toolsMenu } from '@elementor/editor-app-bar-ui';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tsyncPanelTitle();\n\n\ttoolsMenu.registerToggleAction( {\n\t\tid: 'open-elements-panel',\n\t\tpriority: 1,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { PlusIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\nimport { __privateOpenRoute as openRoute, __privateUseRouteStatus as useRouteStatus } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps() {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/elements' );\n\n\treturn {\n\t\ttitle: __( 'Add Element', 'elementor' ),\n\t\ticon: PlusIcon,\n\t\tonClick: () => openRoute( 'panel/elements/categories' ),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { __privateUtilitiesMenu as utilitiesMenu } from '@elementor/editor-app-bar-ui';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tutilitiesMenu.registerAction( {\n\t\tid: 'toggle-finder',\n\t\tpriority: 10, // Before help.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { SearchIcon } from '@elementor/icons';\nimport { __privateRunCommand as runCommand, __privateUseRouteStatus as useRouteStatus } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps() {\n\tconst { isBlocked } = useRouteStatus( 'finder', {\n\t\tblockOnKitRoutes: false,\n\t\tblockOnPreviewMode: false,\n\t} );\n\n\treturn {\n\t\ttitle: __( 'Finder', 'elementor' ),\n\t\ticon: SearchIcon,\n\t\tonClick: () => runCommand( 'finder/toggle' ),\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { __privateUtilitiesMenu as utilitiesMenu } from '@elementor/editor-app-bar-ui';\nimport { __ } from '@wordpress/i18n';\nimport { HelpIcon } from '@elementor/icons';\n\nexport function init() {\n\tutilitiesMenu.registerLink( {\n\t\tid: 'open-help-center',\n\t\tpriority: 20, // After Finder.\n\t\tuseProps: () => {\n\t\t\treturn {\n\t\t\t\ttitle: __( 'Help', 'elementor' ),\n\t\t\t\thref: 'https://go.elementor.com/editor-top-bar-learn/',\n\t\t\t\ticon: HelpIcon,\n\t\t\t\ttarget: '_blank',\n\t\t\t};\n\t\t},\n\t} );\n}\n","import { __privateMainMenu as mainMenu } from '@elementor/editor-app-bar-ui';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerToggleAction( {\n\t\tid: 'open-history',\n\t\tpriority: 20,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { HistoryIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\nimport { __privateOpenRoute as openRoute, __privateUseRouteStatus as useRouteStatus } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps() {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/history' );\n\n\treturn {\n\t\ttitle: __( 'History', 'elementor' ),\n\t\ticon: HistoryIcon,\n\t\tonClick: () => openRoute( 'panel/history/actions' ),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { __privateMainMenu as mainMenu } from '@elementor/editor-app-bar-ui';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerAction( {\n\t\tid: 'open-keyboard-shortcuts',\n\t\tgroup: 'default',\n\t\tpriority: 40, // After user preferences.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { ActionProps } from '@elementor/editor-app-bar-ui';\nimport { KeyboardIcon } from '@elementor/icons';\nimport { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps(): ActionProps {\n\treturn {\n\t\ticon: KeyboardIcon,\n\t\ttitle: __( 'Keyboard Shortcuts', 'elementor' ),\n\t\tonClick: () => runCommand( 'shortcuts/open' ),\n\t};\n}\n","import { injectIntoTop } from '@elementor/editor';\nimport PortalledPrimaryAction from './components/portalled-primary-action';\nimport { __privateToolsMenu as toolsMenu } from '@elementor/editor-app-bar-ui';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\t// This is portal, so it injected into the top of the editor, but renders inside the site-settings panel.\n\tinjectIntoTop( {\n\t\tid: 'site-settings-primary-action-portal',\n\t\tcomponent: PortalledPrimaryAction,\n\t} );\n\n\ttoolsMenu.registerToggleAction( {\n\t\tid: 'toggle-site-settings',\n\t\tpriority: 2,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import * as React from 'react';\nimport Portal from './portal';\nimport PrimaryAction from './primary-action';\n\nexport default function PortalledPrimaryAction() {\n\treturn (\n\t\t<Portal>\n\t\t\t<PrimaryAction />\n\t\t</Portal>\n\t);\n}\n","import * as React from 'react';\nimport { Portal as BasePortal, PortalProps } from '@elementor/ui';\nimport { __privateIsRouteActive as isRouteActive, routeCloseEvent, routeOpenEvent, __privateUseListenTo as useListenTo } from '@elementor/editor-v1-adapters';\n\nexport default function Portal( props: Omit<PortalProps, 'container'> ) {\n\tconst containerRef = useListenTo(\n\t\t[\n\t\t\trouteOpenEvent( 'panel/global' ),\n\t\t\trouteCloseEvent( 'panel/global' ),\n\t\t],\n\t\tgetContainerRef\n\t);\n\n\tif ( ! containerRef.current ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<BasePortal container={ containerRef.current } { ...props } />\n\t);\n}\n\nfunction getContainerRef() {\n\treturn isRouteActive( 'panel/global' )\n\t\t? { current: document.querySelector( '#elementor-panel-inner' ) }\n\t\t: { current: null };\n}\n","import * as React from 'react';\nimport { __useActiveDocument as useActiveDocument, __useActiveDocumentActions as useActiveDocumentActions } from '@elementor/editor-documents';\nimport { Button, CircularProgress, Paper } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\n\nexport default function PrimaryAction() {\n\tconst document = useActiveDocument();\n\tconst { save } = useActiveDocumentActions();\n\n\treturn (\n\t\t<Paper sx={ {\n\t\t\tpx: 5,\n\t\t\tpy: 4,\n\t\t\tborderTop: 1,\n\t\t\tborderColor: 'divider',\n\t\t} }>\n\t\t\t<Button\n\t\t\t\tvariant=\"contained\"\n\t\t\t\tdisabled={ ! document || ! document.isDirty }\n\t\t\t\tsize=\"medium\"\n\t\t\t\tsx={ { width: '100%' } }\n\t\t\t\tonClick={ () => document && ! document.isSaving ? save() : null }\n\t\t\t>\n\t\t\t\t{\n\t\t\t\t\tdocument?.isSaving\n\t\t\t\t\t\t? <CircularProgress />\n\t\t\t\t\t\t: __( 'Save Changes', 'elementor' )\n\t\t\t\t}\n\t\t\t</Button>\n\t\t</Paper>\n\t);\n}\n","import { __ } from '@wordpress/i18n';\nimport { __privateRunCommand as runCommand, __privateUseRouteStatus as useRouteStatus } from '@elementor/editor-v1-adapters';\nimport { ToggleActionProps } from '@elementor/editor-app-bar-ui';\nimport { AdjustmentsHorizontalIcon } from '@elementor/icons';\n\nexport default function useActionProps(): ToggleActionProps {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/global', {\n\t\tblockOnKitRoutes: false,\n\t} );\n\n\treturn {\n\t\ttitle: __( 'Site Settings', 'elementor' ),\n\t\ticon: AdjustmentsHorizontalIcon,\n\t\tonClick: () => (\n\t\t\tisActive\n\t\t\t\t? runCommand( 'panel/global/close' )\n\t\t\t\t: runCommand( 'panel/global/open' )\n\t\t),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { __privateToolsMenu as toolsMenu } from '@elementor/editor-app-bar-ui';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\ttoolsMenu.registerToggleAction( {\n\t\tid: 'toggle-structure-view',\n\t\tpriority: 3,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { __privateRunCommand as runCommand, __privateUseRouteStatus as useRouteStatus } from '@elementor/editor-v1-adapters';\nimport { StructureIcon } from '@elementor/icons';\nimport { ToggleActionProps } from '@elementor/editor-app-bar-ui';\n\nexport default function useActionProps(): ToggleActionProps {\n\tconst { isActive, isBlocked } = useRouteStatus( 'navigator' );\n\n\treturn {\n\t\ttitle: __( 'Structure', 'elementor' ),\n\t\ticon: StructureIcon,\n\t\tonClick: () => runCommand( 'navigator/toggle' ),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { __privateMainMenu as mainMenu } from '@elementor/editor-app-bar-ui';\nimport useThemeBuilderActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerAction( {\n\t\tid: 'open-theme-builder',\n\t\tuseProps: useThemeBuilderActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { ThemeBuilderIcon } from '@elementor/icons';\nimport { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';\nimport { ActionProps } from '@elementor/editor-app-bar-ui';\n\nexport default function useActionProps(): ActionProps {\n\treturn {\n\t\ticon: ThemeBuilderIcon,\n\t\ttitle: __( 'Theme Builder', 'elementor' ),\n\t\tonClick: () => runCommand( 'app/open' ),\n\t};\n}\n","import { __privateMainMenu as mainMenu } from '@elementor/editor-app-bar-ui';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerToggleAction( {\n\t\tid: 'open-user-preferences',\n\t\tpriority: 30, // After history.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { ToggleActionProps } from '@elementor/editor-app-bar-ui';\nimport { ToggleRightIcon } from '@elementor/icons';\nimport { __privateOpenRoute as openRoute, __privateUseRouteStatus as useRouteStatus } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps(): ToggleActionProps {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/editor-preferences' );\n\n\treturn {\n\t\ticon: ToggleRightIcon,\n\t\ttitle: __( 'User Preferences', 'elementor' ),\n\t\tonClick: () => openRoute( 'panel/editor-preferences' ),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { __privateMainMenu as mainMenu } from '@elementor/editor-app-bar-ui';\nimport { __ } from '@wordpress/i18n';\nimport { WordpressIcon } from '@elementor/icons';\nimport { __useActiveDocument as useActiveDocument } from '@elementor/editor-documents';\n\nexport function init() {\n\tmainMenu.registerLink( {\n\t\tid: 'exit-to-wordpress',\n\t\tgroup: 'exits',\n\t\tuseProps: () => {\n\t\t\tconst document = useActiveDocument();\n\n\t\t\treturn {\n\t\t\t\ttitle: __( 'Exit to WordPress', 'elementor' ),\n\t\t\t\thref: document?.links?.platformEdit,\n\t\t\t\ticon: WordpressIcon,\n\t\t\t};\n\t\t},\n\t} );\n}\n","/**\n * All the code in this directory is a temporary solution.\n * The code should be moved to the appropriate packages.\n */\n\nimport { init as initDocumentsIndicator } from './documents-indicator';\nimport { init as initDocumentsPreview } from './documents-preview';\nimport { init as initDocumentsSave } from './documents-save';\nimport { init as initElements } from './elements';\nimport { init as initFinder } from './finder';\nimport { init as initHelp } from './help';\nimport { init as initHistory } from './history';\nimport { init as initKeyboardShortcuts } from './keyboard-shortcuts';\nimport { init as initSiteSettings } from './site-settings';\nimport { init as initStructure } from './structure';\nimport { init as initThemeBuilder } from './theme-builder';\nimport { init as initUserPreferences } from './user-preferences';\nimport { init as initWordpress } from './wordpress';\n\nexport function init() {\n\tinitDocumentsIndicator();\n\tinitDocumentsPreview();\n\tinitDocumentsSave();\n\tinitElements();\n\tinitFinder();\n\tinitHelp();\n\tinitHistory();\n\tinitKeyboardShortcuts();\n\tinitSiteSettings();\n\tinitStructure();\n\tinitThemeBuilder();\n\tinitUserPreferences();\n\tinitWordpress();\n}\n"],"mappings":"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","names":["injectIntoTop","openRoute","document","__","useActiveDocument","document","init","__","useActiveDocument","document","__","useActiveDocumentActions","__","EyeIcon","useActiveDocument","runCommand","document","React","__","React","Box","Tooltip","useActiveDocument","useActiveDocumentActions","document","__","init","__","listenTo","routeOpenEvent","__","openRoute","useRouteStatus","useActionProps","init","useActionProps","utilitiesMenu","__","runCommand","useRouteStatus","useActionProps","init","utilitiesMenu","useActionProps","utilitiesMenu","__","init","__","openRoute","useRouteStatus","useActionProps","init","useActionProps","mainMenu","__","runCommand","useActionProps","init","mainMenu","useActionProps","React","React","isRouteActive","routeOpenEvent","React","useActiveDocument","useActiveDocumentActions","Button","CircularProgress","__","PrimaryAction","document","PrimaryAction","toolsMenu","__","runCommand","useRouteStatus","useActionProps","init","toolsMenu","useActionProps","toolsMenu","__","runCommand","useRouteStatus","useActionProps","init","toolsMenu","useActionProps","mainMenu","__","runCommand","useActionProps","init","mainMenu","useActionProps","mainMenu","__","openRoute","useRouteStatus","useActionProps","init","mainMenu","useActionProps","mainMenu","__","useActiveDocument","init","document","init","init","injectIntoTop","init"]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elementor/editor-app-bar",
|
|
3
3
|
"description": "App Bar extension for @elementor/editor",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.11.0",
|
|
5
5
|
"private": false,
|
|
6
6
|
"author": "Elementor Team",
|
|
7
7
|
"homepage": "https://elementor.com/",
|
|
@@ -44,5 +44,5 @@
|
|
|
44
44
|
"peerDependencies": {
|
|
45
45
|
"react": "18.x"
|
|
46
46
|
},
|
|
47
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "93ef57d5541e96a71be40eb289f70ee089d76708"
|
|
48
48
|
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { renderHook } from '@testing-library/react';
|
|
2
|
+
import useViewPageProps from '../use-document-view-page-props';
|
|
3
|
+
import { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';
|
|
4
|
+
import { createMockDocument } from 'test-utils';
|
|
5
|
+
import { __useActiveDocument as useActiveDocument } from '@elementor/editor-documents';
|
|
6
|
+
|
|
7
|
+
jest.mock( '@elementor/editor-documents', () => ( {
|
|
8
|
+
__useActiveDocument: jest.fn(),
|
|
9
|
+
} ) );
|
|
10
|
+
|
|
11
|
+
jest.mock( '@elementor/editor-v1-adapters', () => ( {
|
|
12
|
+
__privateRunCommand: jest.fn(),
|
|
13
|
+
} ) );
|
|
14
|
+
|
|
15
|
+
describe( '@elementor/editor-app-bar - useDocumentViewProps', () => {
|
|
16
|
+
it( 'should open the document view', () => {
|
|
17
|
+
// Arrange.
|
|
18
|
+
jest.mocked( useActiveDocument ).mockReturnValue( createMockDocument() );
|
|
19
|
+
|
|
20
|
+
const command = 'editor/documents/view';
|
|
21
|
+
const args = { id: 1 };
|
|
22
|
+
|
|
23
|
+
// Act.
|
|
24
|
+
const { result } = renderHook( () => useViewPageProps() );
|
|
25
|
+
result.current.onClick();
|
|
26
|
+
|
|
27
|
+
// Assert.
|
|
28
|
+
expect( runCommand ).toBeCalledTimes( 1 );
|
|
29
|
+
expect( runCommand ).toHaveBeenCalledWith( command, args );
|
|
30
|
+
} );
|
|
31
|
+
|
|
32
|
+
it( 'should not run the command when there is no document', () => {
|
|
33
|
+
// Arrange.
|
|
34
|
+
jest.mocked( useActiveDocument ).mockReturnValue( null );
|
|
35
|
+
|
|
36
|
+
// Act.
|
|
37
|
+
const { result } = renderHook( () => useViewPageProps() );
|
|
38
|
+
result.current.onClick();
|
|
39
|
+
|
|
40
|
+
// Assert.
|
|
41
|
+
expect( runCommand ).toBeCalledTimes( 0 );
|
|
42
|
+
} );
|
|
43
|
+
} );
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { __ } from '@wordpress/i18n';
|
|
2
|
+
import { EyeIcon } from '@elementor/icons';
|
|
3
|
+
import { __useActiveDocument as useActiveDocument } from '@elementor/editor-documents';
|
|
4
|
+
import { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';
|
|
5
|
+
|
|
6
|
+
export default function useDocumentViewPageProps() {
|
|
7
|
+
const document = useActiveDocument();
|
|
8
|
+
|
|
9
|
+
return {
|
|
10
|
+
icon: EyeIcon,
|
|
11
|
+
title: __( 'View Page', 'elementor' ),
|
|
12
|
+
onClick: () => document?.id && runCommand( 'editor/documents/view', {
|
|
13
|
+
id: document.id,
|
|
14
|
+
} ),
|
|
15
|
+
};
|
|
16
|
+
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { __privateInjectIntoPrimaryAction as injectIntoPrimaryAction } from '@elementor/editor-app-bar-ui';
|
|
2
2
|
import useDocumentSaveDraftProps from './hooks/use-document-save-draft-props';
|
|
3
3
|
import useDocumentSaveTemplateProps from './hooks/use-document-save-template-props';
|
|
4
|
+
import useDocumentViewPageProps from './hooks/use-document-view-page-props';
|
|
4
5
|
import PrimaryAction from './components/primary-action';
|
|
5
6
|
import { documentOptionsMenu } from './locations';
|
|
6
7
|
|
|
@@ -24,4 +25,11 @@ export function init() {
|
|
|
24
25
|
priority: 20, // After save draft.
|
|
25
26
|
useProps: useDocumentSaveTemplateProps,
|
|
26
27
|
} );
|
|
28
|
+
|
|
29
|
+
documentOptionsMenu.registerAction( {
|
|
30
|
+
group: 'save',
|
|
31
|
+
id: 'document-view-page',
|
|
32
|
+
priority: 30, // After save draft.
|
|
33
|
+
useProps: useDocumentViewPageProps,
|
|
34
|
+
} );
|
|
27
35
|
}
|