UNPKG

@wordpress/e2e-test-utils-playwright

Version:
8 lines (7 loc) 2.1 kB
{ "version": 3, "sources": ["../../src/editor/insert-block.ts"], "sourcesContent": ["/**\n * Internal dependencies\n */\nimport type { Editor } from './index';\n\ninterface BlockRepresentation {\n\tname: string;\n\tattributes?: Object;\n\tinnerBlocks?: BlockRepresentation[];\n}\n\n/**\n * Insert a block.\n *\n * @param this\n * @param blockRepresentation Inserted block representation.\n * @param options\n * @param options.clientId Client ID of the parent block to insert into.\n */\nasync function insertBlock(\n\tthis: Editor,\n\tblockRepresentation: BlockRepresentation,\n\t{ clientId }: { clientId?: string } = {}\n) {\n\tawait this.page.waitForFunction(\n\t\t() => window?.wp?.blocks && window?.wp?.data\n\t);\n\n\tawait this.page.evaluate(\n\t\t( [ _blockRepresentation, _clientId ] ) => {\n\t\t\tfunction recursiveCreateBlock( {\n\t\t\t\tname,\n\t\t\t\tattributes = {},\n\t\t\t\tinnerBlocks = [],\n\t\t\t}: BlockRepresentation ): Object {\n\t\t\t\treturn window.wp.blocks.createBlock(\n\t\t\t\t\tname,\n\t\t\t\t\tattributes,\n\t\t\t\t\tinnerBlocks.map( ( innerBlock ) =>\n\t\t\t\t\t\trecursiveCreateBlock( innerBlock )\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst block = recursiveCreateBlock( _blockRepresentation );\n\n\t\t\twindow.wp.data\n\t\t\t\t.dispatch( 'core/block-editor' )\n\t\t\t\t.insertBlock( block, undefined, _clientId );\n\t\t},\n\t\t[ blockRepresentation, clientId ] as const\n\t);\n}\n\nexport type { BlockRepresentation };\nexport { insertBlock };\n"], "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAmBA,eAAe,YAEd,qBACA,EAAE,SAAS,IAA2B,CAAC,GACtC;AACD,QAAM,KAAK,KAAK;AAAA,IACf,MAAM,QAAQ,IAAI,UAAU,QAAQ,IAAI;AAAA,EACzC;AAEA,QAAM,KAAK,KAAK;AAAA,IACf,CAAE,CAAE,sBAAsB,SAAU,MAAO;AAC1C,eAAS,qBAAsB;AAAA,QAC9B;AAAA,QACA,aAAa,CAAC;AAAA,QACd,cAAc,CAAC;AAAA,MAChB,GAAiC;AAChC,eAAO,OAAO,GAAG,OAAO;AAAA,UACvB;AAAA,UACA;AAAA,UACA,YAAY;AAAA,YAAK,CAAE,eAClB,qBAAsB,UAAW;AAAA,UAClC;AAAA,QACD;AAAA,MACD;AACA,YAAM,QAAQ,qBAAsB,oBAAqB;AAEzD,aAAO,GAAG,KACR,SAAU,mBAAoB,EAC9B,YAAa,OAAO,QAAW,SAAU;AAAA,IAC5C;AAAA,IACA,CAAE,qBAAqB,QAAS;AAAA,EACjC;AACD;", "names": [] }