UNPKG

@wordpress/block-library

Version:
8 lines (7 loc) 2.75 kB
{ "version": 3, "sources": ["../../src/form/view.js"], "sourcesContent": ["let formSettings;\ntry {\n\tformSettings = JSON.parse(\n\t\tdocument.getElementById(\n\t\t\t'wp-script-module-data-@wordpress/block-library/form/view'\n\t\t)?.textContent\n\t);\n} catch {}\n\ndocument.querySelectorAll( 'form.wp-block-form' ).forEach( function ( form ) {\n\t// Bail If the form settings not provided or the form is not using the mailto: action.\n\tif (\n\t\t! formSettings ||\n\t\t! form.action ||\n\t\t! form.action.startsWith( 'mailto:' )\n\t) {\n\t\treturn;\n\t}\n\n\tconst redirectNotification = ( status ) => {\n\t\tconst urlParams = new URLSearchParams( window.location.search );\n\t\turlParams.append( 'wp-form-result', status );\n\t\twindow.location.search = urlParams.toString();\n\t};\n\n\t// Add an event listener for the form submission.\n\tform.addEventListener( 'submit', async function ( event ) {\n\t\tevent.preventDefault();\n\t\t// Get the form data and merge it with the form action and nonce.\n\t\tconst formData = Object.fromEntries( new FormData( form ).entries() );\n\t\tformData.formAction = form.action;\n\t\tformData._ajax_nonce = formSettings.nonce;\n\t\tformData.action = formSettings.action;\n\t\tformData._wp_http_referer = window.location.href;\n\t\tformData.formAction = form.action;\n\n\t\ttry {\n\t\t\tconst response = await fetch( formSettings.ajaxUrl, {\n\t\t\t\tmethod: 'POST',\n\t\t\t\theaders: {\n\t\t\t\t\t'Content-Type': 'application/x-www-form-urlencoded',\n\t\t\t\t},\n\t\t\t\tbody: new URLSearchParams( formData ).toString(),\n\t\t\t} );\n\t\t\tif ( response.ok ) {\n\t\t\t\tredirectNotification( 'success' );\n\t\t\t} else {\n\t\t\t\tredirectNotification( 'error' );\n\t\t\t}\n\t\t} catch ( error ) {\n\t\t\tredirectNotification( 'error' );\n\t\t}\n\t} );\n} );\n"], "mappings": ";AAAA,IAAI;AACJ,IAAI;AACH,iBAAe,KAAK;AAAA,IACnB,SAAS;AAAA,MACR;AAAA,IACD,GAAG;AAAA,EACJ;AACD,QAAQ;AAAC;AAET,SAAS,iBAAkB,oBAAqB,EAAE,QAAS,SAAW,MAAO;AAE5E,MACC,CAAE,gBACF,CAAE,KAAK,UACP,CAAE,KAAK,OAAO,WAAY,SAAU,GACnC;AACD;AAAA,EACD;AAEA,QAAM,uBAAuB,CAAE,WAAY;AAC1C,UAAM,YAAY,IAAI,gBAAiB,OAAO,SAAS,MAAO;AAC9D,cAAU,OAAQ,kBAAkB,MAAO;AAC3C,WAAO,SAAS,SAAS,UAAU,SAAS;AAAA,EAC7C;AAGA,OAAK,iBAAkB,UAAU,eAAiB,OAAQ;AACzD,UAAM,eAAe;AAErB,UAAM,WAAW,OAAO,YAAa,IAAI,SAAU,IAAK,EAAE,QAAQ,CAAE;AACpE,aAAS,aAAa,KAAK;AAC3B,aAAS,cAAc,aAAa;AACpC,aAAS,SAAS,aAAa;AAC/B,aAAS,mBAAmB,OAAO,SAAS;AAC5C,aAAS,aAAa,KAAK;AAE3B,QAAI;AACH,YAAM,WAAW,MAAM,MAAO,aAAa,SAAS;AAAA,QACnD,QAAQ;AAAA,QACR,SAAS;AAAA,UACR,gBAAgB;AAAA,QACjB;AAAA,QACA,MAAM,IAAI,gBAAiB,QAAS,EAAE,SAAS;AAAA,MAChD,CAAE;AACF,UAAK,SAAS,IAAK;AAClB,6BAAsB,SAAU;AAAA,MACjC,OAAO;AACN,6BAAsB,OAAQ;AAAA,MAC/B;AAAA,IACD,SAAU,OAAQ;AACjB,2BAAsB,OAAQ;AAAA,IAC/B;AAAA,EACD,CAAE;AACH,CAAE;", "names": [] }