@wordpress/block-library
Version:
Block library for the WordPress editor.
8 lines (7 loc) • 3.23 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../../src/query-total/edit.js"],
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useBlockProps, BlockControls } from '@wordpress/block-editor';\nimport { ToolbarGroup, ToolbarDropdownMenu } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { resultsFound, displayingResults } from './icons';\n\nexport default function QueryTotalEdit( { attributes, setAttributes } ) {\n\tconst { displayType } = attributes;\n\n\t// Block properties and classes.\n\tconst blockProps = useBlockProps();\n\n\tconst getButtonPositionIcon = () => {\n\t\tswitch ( displayType ) {\n\t\t\tcase 'total-results':\n\t\t\t\treturn resultsFound;\n\t\t\tcase 'range-display':\n\t\t\t\treturn displayingResults;\n\t\t}\n\t};\n\n\tconst buttonPositionControls = [\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'Total results' ),\n\t\t\tisActive: displayType === 'total-results',\n\t\t\ticon: resultsFound,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( { displayType: 'total-results' } );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'Range display' ),\n\t\t\tisActive: displayType === 'range-display',\n\t\t\ticon: displayingResults,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( { displayType: 'range-display' } );\n\t\t\t},\n\t\t},\n\t];\n\n\t// Controls for the block.\n\tconst controls = (\n\t\t<BlockControls>\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\ticon={ getButtonPositionIcon() }\n\t\t\t\t\tlabel={ __( 'Change display type' ) }\n\t\t\t\t\tcontrols={ buttonPositionControls }\n\t\t\t\t/>\n\t\t\t</ToolbarGroup>\n\t\t</BlockControls>\n\t);\n\n\t// Render output based on the selected display type.\n\tconst renderDisplay = () => {\n\t\tif ( displayType === 'total-results' ) {\n\t\t\treturn <>{ __( '12 results found' ) }</>;\n\t\t}\n\n\t\tif ( displayType === 'range-display' ) {\n\t\t\treturn <>{ __( 'Displaying 1 \u2013 10 of 12' ) }</>;\n\t\t}\n\n\t\treturn null;\n\t};\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\t\t\t{ renderDisplay() }\n\t\t</div>\n\t);\n}\n"],
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAA6C;AAC7C,wBAAkD;AAClD,kBAAmB;AAKnB,mBAAgD;AA0C5C;AAxCW,SAAR,eAAiC,EAAE,YAAY,cAAc,GAAI;AACvE,QAAM,EAAE,YAAY,IAAI;AAGxB,QAAM,iBAAa,mCAAc;AAEjC,QAAM,wBAAwB,MAAM;AACnC,YAAS,aAAc;AAAA,MACtB,KAAK;AACJ,eAAO;AAAA,MACR,KAAK;AACJ,eAAO;AAAA,IACT;AAAA,EACD;AAEA,QAAM,yBAAyB;AAAA,IAC9B;AAAA,MACC,MAAM;AAAA,MACN,WAAO,gBAAI,eAAgB;AAAA,MAC3B,UAAU,gBAAgB;AAAA,MAC1B,MAAM;AAAA,MACN,SAAS,MAAM;AACd,sBAAe,EAAE,aAAa,gBAAgB,CAAE;AAAA,MACjD;AAAA,IACD;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,WAAO,gBAAI,eAAgB;AAAA,MAC3B,UAAU,gBAAgB;AAAA,MAC1B,MAAM;AAAA,MACN,SAAS,MAAM;AACd,sBAAe,EAAE,aAAa,gBAAgB,CAAE;AAAA,MACjD;AAAA,IACD;AAAA,EACD;AAGA,QAAM,WACL,4CAAC,qCACA,sDAAC,kCACA;AAAA,IAAC;AAAA;AAAA,MACA,MAAO,sBAAsB;AAAA,MAC7B,WAAQ,gBAAI,qBAAsB;AAAA,MAClC,UAAW;AAAA;AAAA,EACZ,GACD,GACD;AAID,QAAM,gBAAgB,MAAM;AAC3B,QAAK,gBAAgB,iBAAkB;AACtC,aAAO,2EAAI,8BAAI,kBAAmB,GAAG;AAAA,IACtC;AAEA,QAAK,gBAAgB,iBAAkB;AACtC,aAAO,2EAAI,8BAAI,8BAA0B,GAAG;AAAA,IAC7C;AAEA,WAAO;AAAA,EACR;AAEA,SACC,6CAAC,SAAM,GAAG,YACP;AAAA;AAAA,IACA,cAAc;AAAA,KACjB;AAEF;",
"names": []
}