UNPKG

6.33 kBSource Map (JSON)View Raw
1{"version":3,"sources":["@wordpress/block-library/src/block/edit-panel/index.js"],"names":["ReusableBlockEditPanel","arguments","titleField","editButton","handleFormSubmit","bind","handleTitleChange","handleTitleKeyDown","props","isEditing","current","select","prevProps","isSaving","focus","event","preventDefault","onSave","onChangeTitle","target","value","keyCode","ESCAPE","stopPropagation","onCancel","title","isEditDisabled","onEdit","instanceId","Component"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button } from '@wordpress/components';\nimport { Component, Fragment, createRef } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { ESCAPE } from '@wordpress/keycodes';\nimport { withInstanceId } from '@wordpress/compose';\n\nclass ReusableBlockEditPanel extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.titleField = createRef();\n\t\tthis.editButton = createRef();\n\t\tthis.handleFormSubmit = this.handleFormSubmit.bind( this );\n\t\tthis.handleTitleChange = this.handleTitleChange.bind( this );\n\t\tthis.handleTitleKeyDown = this.handleTitleKeyDown.bind( this );\n\t}\n\n\tcomponentDidMount() {\n\t\t// Select the input text when the form opens.\n\t\tif ( this.props.isEditing && this.titleField.current ) {\n\t\t\tthis.titleField.current.select();\n\t\t}\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\t// Select the input text only once when the form opens.\n\t\tif ( ! prevProps.isEditing && this.props.isEditing ) {\n\t\t\tthis.titleField.current.select();\n\t\t}\n\t\t// Move focus back to the Edit button after pressing the Escape key or Save.\n\t\tif ( ( prevProps.isEditing || prevProps.isSaving ) && ! this.props.isEditing && ! this.props.isSaving ) {\n\t\t\tthis.editButton.current.focus();\n\t\t}\n\t}\n\n\thandleFormSubmit( event ) {\n\t\tevent.preventDefault();\n\t\tthis.props.onSave();\n\t}\n\n\thandleTitleChange( event ) {\n\t\tthis.props.onChangeTitle( event.target.value );\n\t}\n\n\thandleTitleKeyDown( event ) {\n\t\tif ( event.keyCode === ESCAPE ) {\n\t\t\tevent.stopPropagation();\n\t\t\tthis.props.onCancel();\n\t\t}\n\t}\n\n\trender() {\n\t\tconst { isEditing, title, isSaving, isEditDisabled, onEdit, instanceId } = this.props;\n\n\t\treturn (\n\t\t\t<Fragment>\n\t\t\t\t{ ( ! isEditing && ! isSaving ) && (\n\t\t\t\t\t<div className=\"reusable-block-edit-panel\">\n\t\t\t\t\t\t<b className=\"reusable-block-edit-panel__info\">\n\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t</b>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tref={ this.editButton }\n\t\t\t\t\t\t\tisLarge\n\t\t\t\t\t\t\tclassName=\"reusable-block-edit-panel__button\"\n\t\t\t\t\t\t\tdisabled={ isEditDisabled }\n\t\t\t\t\t\t\tonClick={ onEdit }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t{ ( isEditing || isSaving ) && (\n\t\t\t\t\t<form className=\"reusable-block-edit-panel\" onSubmit={ this.handleFormSubmit }>\n\t\t\t\t\t\t<label\n\t\t\t\t\t\t\thtmlFor={ `reusable-block-edit-panel__title-${ instanceId }` }\n\t\t\t\t\t\t\tclassName=\"reusable-block-edit-panel__label\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Name:' ) }\n\t\t\t\t\t\t</label>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tref={ this.titleField }\n\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\tdisabled={ isSaving }\n\t\t\t\t\t\t\tclassName=\"reusable-block-edit-panel__title\"\n\t\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\t\tonChange={ this.handleTitleChange }\n\t\t\t\t\t\t\tonKeyDown={ this.handleTitleKeyDown }\n\t\t\t\t\t\t\tid={ `reusable-block-edit-panel__title-${ instanceId }` }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\tisLarge\n\t\t\t\t\t\t\tisBusy={ isSaving }\n\t\t\t\t\t\t\tdisabled={ ! title || isSaving }\n\t\t\t\t\t\t\tclassName=\"reusable-block-edit-panel__button\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</form>\n\t\t\t\t) }\n\t\t\t</Fragment>\n\t\t);\n\t}\n}\n\nexport default withInstanceId( ReusableBlockEditPanel );\n"]}
\No newline at end of file