JezK
Edit File: sc-wordpress-user-edit.cjs.entry.js.map
{"file":"sc-wordpress-user-edit.entry.cjs.js","mappings":";;;;;;;;;;AAAA,MAAM,sBAAsB,GAAG,kFAAkF,CAAC;AAClH,kCAAe,sBAAsB;;;;;;;;;;;;kDCkBN,UAAE;;;;;;;;;;;;;;;;;;;;;;;;8EAuBA,UAAE;;;;;;uPAQW,UAAE,gTAInB,UAAE,yaAGE,UAAE,wRAGF,UAAE,4MAGN,UAAE,sTAGd,UAAE;;;;;;;","names":[],"sources":["src/components/controllers/dashboard/wordpress-user-edit/sc-wordpress-user-edit.css?tag=sc-wordpress-user-edit&encapsulation=shadow","src/components/controllers/dashboard/wordpress-user-edit/sc-wordpress-user-edit.tsx"],"sourcesContent":[":host {\n display: block;\n position: relative;\n}\n\n.customer-details {\n display: grid;\n gap: 0.75em;\n}\n","import { Component, h, Prop, State } from '@stencil/core';\nimport { __ } from '@wordpress/i18n';\n\nimport apiFetch from '../../../../functions/fetch';\nimport { WordPressUser } from '../../../../types';\n\n@Component({\n tag: 'sc-wordpress-user-edit',\n styleUrl: 'sc-wordpress-user-edit.css',\n shadow: true,\n})\nexport class ScWordPressUserEdit {\n @Prop() heading: string;\n @Prop() successUrl: string;\n @Prop() user: WordPressUser;\n @State() loading: boolean;\n @State() error: string;\n\n renderEmpty() {\n return <slot name=\"empty\">{__('User not found.', 'surecart')}</slot>;\n }\n\n async handleSubmit(e) {\n this.loading = true;\n try {\n const { email, first_name, last_name, name } = await e.target.getFormJson();\n await apiFetch({\n path: `wp/v2/users/me`,\n method: 'PATCH',\n data: {\n first_name,\n last_name,\n email,\n name,\n },\n });\n if (this.successUrl) {\n window.location.assign(this.successUrl);\n } else {\n this.loading = false;\n }\n } catch (e) {\n this.error = e?.message || __('Something went wrong', 'surecart');\n this.loading = false;\n }\n }\n\n render() {\n return (\n <sc-dashboard-module class=\"account-details\" error={this.error}>\n <span slot=\"heading\">{this.heading || __('Account Details', 'surecart')} </span>\n\n <sc-card>\n <sc-form onScFormSubmit={e => this.handleSubmit(e)}>\n <sc-input label={__('Account Email', 'surecart')} name=\"email\" value={this.user?.email} required />\n <sc-columns style={{ '--sc-column-spacing': 'var(--sc-spacing-medium)' }}>\n <sc-column>\n <sc-input label={__('First Name', 'surecart')} name=\"first_name\" value={this.user?.first_name} />\n </sc-column>\n <sc-column>\n <sc-input label={__('Last Name', 'surecart')} name=\"last_name\" value={this.user?.last_name} />\n </sc-column>\n </sc-columns>\n <sc-input label={__('Display Name', 'surecart')} name=\"name\" value={this.user?.display_name} />\n <div>\n <sc-button type=\"primary\" full submit>\n {__('Save', 'surecart')}\n </sc-button>\n </div>\n </sc-form>\n </sc-card>\n\n {this.loading && <sc-block-ui spinner></sc-block-ui>}\n </sc-dashboard-module>\n );\n }\n}\n"],"version":3}