UNPKG

@wordpress/block-editor

Version:
8 lines (7 loc) 3.42 kB
{ "version": 3, "sources": ["../../src/utils/use-notify-copy.js"], "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useCallback } from '@wordpress/element';\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../store';\n\nexport function useNotifyCopy() {\n\tconst { getBlockName } = useSelect( blockEditorStore );\n\tconst { getBlockType } = useSelect( blocksStore );\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\n\treturn useCallback(\n\t\t( eventType, selectedBlockClientIds ) => {\n\t\t\tlet notice = '';\n\n\t\t\tif ( eventType === 'copyStyles' ) {\n\t\t\t\tnotice = __( 'Styles copied to clipboard.' );\n\t\t\t} else if ( selectedBlockClientIds.length === 1 ) {\n\t\t\t\tconst clientId = selectedBlockClientIds[ 0 ];\n\t\t\t\tconst title = getBlockType( getBlockName( clientId ) )?.title;\n\n\t\t\t\tif ( eventType === 'copy' ) {\n\t\t\t\t\tnotice = sprintf(\n\t\t\t\t\t\t// Translators: %s: Name of the block being copied, e.g. \"Paragraph\".\n\t\t\t\t\t\t__( 'Copied \"%s\" to clipboard.' ),\n\t\t\t\t\t\ttitle\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tnotice = sprintf(\n\t\t\t\t\t\t// Translators: %s: Name of the block being cut, e.g. \"Paragraph\".\n\t\t\t\t\t\t__( 'Moved \"%s\" to clipboard.' ),\n\t\t\t\t\t\ttitle\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} else if ( eventType === 'copy' ) {\n\t\t\t\tnotice = sprintf(\n\t\t\t\t\t// Translators: %d: Number of blocks being copied.\n\t\t\t\t\t_n(\n\t\t\t\t\t\t'Copied %d block to clipboard.',\n\t\t\t\t\t\t'Copied %d blocks to clipboard.',\n\t\t\t\t\t\tselectedBlockClientIds.length\n\t\t\t\t\t),\n\t\t\t\t\tselectedBlockClientIds.length\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tnotice = sprintf(\n\t\t\t\t\t// Translators: %d: Number of blocks being moved.\n\t\t\t\t\t_n(\n\t\t\t\t\t\t'Moved %d block to clipboard.',\n\t\t\t\t\t\t'Moved %d blocks to clipboard.',\n\t\t\t\t\t\tselectedBlockClientIds.length\n\t\t\t\t\t),\n\t\t\t\t\tselectedBlockClientIds.length\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tcreateSuccessNotice( notice, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t},\n\t\t[ createSuccessNotice, getBlockName, getBlockType ]\n\t);\n}\n"], "mappings": ";AAGA,SAAS,mBAAmB;AAC5B,SAAS,SAAS,mBAAmB;AACrC,SAAS,aAAa,iBAAiB;AACvC,SAAS,IAAI,IAAI,eAAe;AAChC,SAAS,SAAS,oBAAoB;AAKtC,SAAS,SAAS,wBAAwB;AAEnC,SAAS,gBAAgB;AAC/B,QAAM,EAAE,aAAa,IAAI,UAAW,gBAAiB;AACrD,QAAM,EAAE,aAAa,IAAI,UAAW,WAAY;AAChD,QAAM,EAAE,oBAAoB,IAAI,YAAa,YAAa;AAE1D,SAAO;AAAA,IACN,CAAE,WAAW,2BAA4B;AACxC,UAAI,SAAS;AAEb,UAAK,cAAc,cAAe;AACjC,iBAAS,GAAI,6BAA8B;AAAA,MAC5C,WAAY,uBAAuB,WAAW,GAAI;AACjD,cAAM,WAAW,uBAAwB,CAAE;AAC3C,cAAM,QAAQ,aAAc,aAAc,QAAS,CAAE,GAAG;AAExD,YAAK,cAAc,QAAS;AAC3B,mBAAS;AAAA;AAAA,YAER,GAAI,2BAA4B;AAAA,YAChC;AAAA,UACD;AAAA,QACD,OAAO;AACN,mBAAS;AAAA;AAAA,YAER,GAAI,0BAA2B;AAAA,YAC/B;AAAA,UACD;AAAA,QACD;AAAA,MACD,WAAY,cAAc,QAAS;AAClC,iBAAS;AAAA;AAAA,UAER;AAAA,YACC;AAAA,YACA;AAAA,YACA,uBAAuB;AAAA,UACxB;AAAA,UACA,uBAAuB;AAAA,QACxB;AAAA,MACD,OAAO;AACN,iBAAS;AAAA;AAAA,UAER;AAAA,YACC;AAAA,YACA;AAAA,YACA,uBAAuB;AAAA,UACxB;AAAA,UACA,uBAAuB;AAAA,QACxB;AAAA,MACD;AAEA,0BAAqB,QAAQ;AAAA,QAC5B,MAAM;AAAA,MACP,CAAE;AAAA,IACH;AAAA,IACA,CAAE,qBAAqB,cAAc,YAAa;AAAA,EACnD;AACD;", "names": [] }