@wordpress/block-library
Version:
Block library for the WordPress editor.
77 lines (73 loc) • 2.23 kB
JavaScript
import { createElement, Fragment } from "@wordpress/element";
/**
* WordPress dependencies
*/
import { __ } from '@wordpress/i18n';
import { PanelBody, RangeControl, SelectControl, ToggleControl } from '@wordpress/components';
import { InspectorControls } from '@wordpress/block-editor';
/**
* Internal dependencies
*/
import { MIN_PREVIEW_HEIGHT, MAX_PREVIEW_HEIGHT } from './edit';
export default function FileBlockInspector(_ref) {
let {
hrefs,
openInNewWindow,
showDownloadButton,
changeLinkDestinationOption,
changeOpenInNewWindow,
changeShowDownloadButton,
displayPreview,
changeDisplayPreview,
previewHeight,
changePreviewHeight
} = _ref;
const {
href,
textLinkHref,
attachmentPage
} = hrefs;
let linkDestinationOptions = [{
value: href,
label: __('URL')
}];
if (attachmentPage) {
linkDestinationOptions = [{
value: href,
label: __('Media file')
}, {
value: attachmentPage,
label: __('Attachment page')
}];
}
return createElement(Fragment, null, createElement(InspectorControls, null, href.endsWith('.pdf') && createElement(PanelBody, {
title: __('PDF settings')
}, createElement(ToggleControl, {
label: __('Show inline embed'),
help: displayPreview ? __("Note: Most phone and tablet browsers won't display embedded PDFs.") : null,
checked: !!displayPreview,
onChange: changeDisplayPreview
}), displayPreview && createElement(RangeControl, {
label: __('Height in pixels'),
min: MIN_PREVIEW_HEIGHT,
max: Math.max(MAX_PREVIEW_HEIGHT, previewHeight),
value: previewHeight,
onChange: changePreviewHeight
})), createElement(PanelBody, {
title: __('Settings')
}, createElement(SelectControl, {
label: __('Link to'),
value: textLinkHref,
options: linkDestinationOptions,
onChange: changeLinkDestinationOption
}), createElement(ToggleControl, {
label: __('Open in new tab'),
checked: openInNewWindow,
onChange: changeOpenInNewWindow
}), createElement(ToggleControl, {
label: __('Show download button'),
checked: showDownloadButton,
onChange: changeShowDownloadButton
}))));
}
//# sourceMappingURL=inspector.js.map