@social-mail/social-mail-client 1.2.666 → 1.2.668
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/AdminAppIndex.pack.js +4 -0
- package/dist/admin/AdminAppIndex.pack.js.map +1 -1
- package/dist/admin/AdminAppIndex.pack.min.js +1 -1
- package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
- package/dist/admin/pages/repair/RepairPage.d.ts.map +1 -1
- package/dist/admin/pages/repair/RepairPage.js +4 -0
- package/dist/admin/pages/repair/RepairPage.js.map +1 -1
- package/dist/public/store/StoreApp.pack.js +1 -2
- package/dist/public/store/StoreApp.pack.js.map +1 -1
- package/dist/public/store/StoreApp.pack.min.js +2 -2
- package/dist/public/store/StoreApp.pack.min.js.map +1 -1
- package/dist/public/store/pages/StoreProductDetailPage.js +1 -1
- package/dist/public/store/pages/StoreProductDetailPage.js.map +1 -1
- package/dist/public/user/pages/SiteSignupPage.d.ts.map +1 -1
- package/dist/public/user/pages/SiteSignupPage.js +0 -1
- package/dist/public/user/pages/SiteSignupPage.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/admin/pages/repair/RepairPage.tsx +1 -0
- package/src/public/store/pages/StoreProductDetailPage.tsx +1 -1
- package/src/public/user/pages/SiteSignupPage.tsx +0 -1
|
@@ -1077,7 +1077,7 @@ html, body {
|
|
|
1077
1077
|
align-items: center;
|
|
1078
1078
|
justify-items: center;
|
|
1079
1079
|
}
|
|
1080
|
-
`.installGlobal("[site-signup-page]");pending="⬜";done="✅";_export("default",SiteSignupPage=class SiteSignupPage extends ContentPage{constructor(){super(...arguments);this.model={name:"",billingAddress:StoreAccountAddress.create({}),shippingAddress:StoreAccountAddress.create({})};this.step=1}getHeader(){if(this.emailVerified){return XNode.create("div",null,XNode.create("h5",null,"Signup"),XNode.create("ol",null,XNode.create("li",null,"✅ Email Verified"),XNode.create("li",null,this.step>1?done:pending," Add Phone Number"),XNode.create("li",null,this.step>2?done:pending," Confirm Phone Number"),XNode.create("li",null,this.step>3?done:pending," Add Name/Address Details")));return}return XNode.create("div",null,XNode.create("h5",null,"Signup"),XNode.create("ol",null,XNode.create("li",null,"✅ Phone Verification"),XNode.create("li",null,this.step>1?done:pending," Add Email Address"),XNode.create("li",null,this.step>2?done:pending," Confirm Email Address"),XNode.create("li",null,this.step>3?done:pending," Name/Address Details")))}init(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){this.element.setAttribute("site-signup-page","true");this.model.phone=this.parameters.phone;this.model.email=this.parameters.email;this.model.captcha=this.parameters.captcha;const emailVerified=((_a=this.parameters.email)===null||_a===void 0?void 0:_a.accessCode)&&((_b=this.parameters.email)===null||_b===void 0?void 0:_b.verifyCode);this.emailVerified=emailVerified;if(emailVerified){yield this.askPhoneNumber();return}this.renderer=XNode.create("div",null,XNode.create(Form,null,this.getHeader(),XNode.create("div",null,"To complete signup, please verify your email address."),XNode.create(FormField,{label:"Email"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.email.verifyAddresses))})),XNode.create("div",null,XNode.create("button",{"data-submit-event":"request-verification"},"Request Code"))))}))}askPhoneNumber(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",null,XNode.create(Form,null,this.getHeader(),XNode.create("div",null,"To complete signup, please verify your phone number."),XNode.create(FormField,{label:"Cell Phone"},XNode.create(PhoneEditor,{value:Bind.twoWaysImmediate((()=>this.model.phone.verifyAddresses))})),XNode.create("div",null,XNode.create("button",{"data-submit-event":"request-verification"},"Verify"))))}))}requestVerification(){return __awaiter(this,void 0,void 0,(function*(){this.step=2;const verifyEmail=!this.emailVerified;const v=verifyEmail?this.model.email:this.model.phone;yield this.entityService.save(v);if(!verifyEmail){yield this.displayQRCode(v);return}this.renderer=XNode.create("div",null,XNode.create(Form,null,this.getHeader(),XNode.create(FormField,{label:"Email Verification"},XNode.create("div",null,"We have sent you the verification code in your email, please enter it again to complete the verification.")),XNode.create(FormField,{label:"Code"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.email.verifyCode))})),XNode.create("div",null,XNode.create(EmailIconTextButton,{text:"Proceed","data-submit-event":"verify-email"}))))}))}verifyEmail(){return __awaiter(this,void 0,void 0,(function*(){const v=this.model.email;const vt=yield this.entityService.invoke(VerificationToken,"verifyCode",v,v.verificationID,v.accessCode,this.model.email.verifyCode);if(!vt.verified){throw new Error("Verification failed, try again")}yield this.askForSignup()}))}displayQRCode(ve){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",null,XNode.create(Form,null,this.getHeader(),XNode.create(QRCodeControl,{smsConfig:JSON.parse(ve.externalConfig)})));for(let index=0;index<100;index++){try{const v=yield this.entityService.query(VerificationToken,"get",ve.verificationID,ve.accessCode).firstOrDefault();if(v.verified){ve.verified=true;break}}catch(_a){}yield sleep(5e3)}yield this.askForSignup()}))}askForSignup(){return __awaiter(this,void 0,void 0,(function*(){this.step=3;this.renderer=XNode.create("div",null,XNode.create(Form,null,this.getHeader(),XNode.create(FormField,{label:"Name"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.name))})),XNode.create("details",{open:true},XNode.create("summary",null,"Billing"),XNode.create("div",null,XNode.create(FormField,{label:"Full Name"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.billingAddress.title))})),XNode.create(FormField,{label:"Tax IDs"},XNode.create("div",{"data-layout":"flex-wrap"},XNode.create("input",{placeholder:"GST",value:Bind.twoWaysImmediate((()=>this.model.billingAddress.gstTaxID))}),XNode.create("input",{placeholder:"Income Tax",value:Bind.twoWaysImmediate((()=>this.model.billingAddress.incomeTaxID))}))),XNode.create(FormField,{label:"Address Line 1"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.billingAddress.line1))})),XNode.create(FormField,{label:"Address Line 2"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.billingAddress.line2))})),XNode.create(FormField,{label:"Address Line 3"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.billingAddress.line3))})),XNode.create(FormField,{label:"City"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.billingAddress.city))})),XNode.create(FormField,{label:"State"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.billingAddress.state))})),XNode.create(FormField,{label:"Country"},XNode.create(CountrySelect,{value:Bind.twoWaysImmediate((()=>this.model.billingAddress.countryCode))})))),XNode.create("details",null,XNode.create("summary",null,"Shipping"),XNode.create("div",null,XNode.create(FormField,{label:"Full Name"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.shippingAddress.title))})),XNode.create(FormField,{label:"Tax IDs"},XNode.create("div",{"data-layout":"flex-wrap"},XNode.create("input",{placeholder:"GST",value:Bind.twoWaysImmediate((()=>this.model.shippingAddress.gstTaxID))}),XNode.create("input",{placeholder:"Income Tax",value:Bind.twoWaysImmediate((()=>this.model.shippingAddress.incomeTaxID))}))),XNode.create(FormField,{label:"Address Line 1"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.shippingAddress.line1))})),XNode.create(FormField,{label:"Address Line 2"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.shippingAddress.line2))})),XNode.create(FormField,{label:"Address Line 3"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.shippingAddress.line3))})),XNode.create(FormField,{label:"City"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.shippingAddress.city))})),XNode.create(FormField,{label:"State"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.shippingAddress.state))})),XNode.create(FormField,{label:"Country"},XNode.create(CountrySelect,{value:Bind.twoWaysImmediate((()=>this.model.shippingAddress.countryCode))})))),XNode.create("div",null,XNode.create("button",{"data-submit-event":"user-signup"},"Signup"))))}))}userSignup(){return __awaiter(this,void 0,void 0,(function*(){delete this.model.email.addresses;delete this.model.phone.addresses;const result=yield FetchBuilder.post("/social-mail/user/signup").jsonBody(this.model).responseAsJson()}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],SiteSignupPage.prototype,"entityService",void 0);__decorate([Action({onEvent:"request-verification"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],SiteSignupPage.prototype,"requestVerification",null);__decorate([Action({onEvent:"verify-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],SiteSignupPage.prototype,"verifyEmail",null);__decorate([Action({onEvent:"user-signup"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],SiteSignupPage.prototype,"userSignup",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/user/pages/SiteSignupPage");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../services/EntityService","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","../../../common/controls/buttons/IconButton","../../../model/model","@web-atoms/web-controls/dist/basic/ToggleButtonBar","../../../common/controls/phone-editor/PhoneEditor","@web-atoms/core/dist/view-model/Action","../../../common/controls/qrcode/QRCode","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/core/sleep","@web-atoms/web-controls/dist/PageNavigator","./SiteSignupPage"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,ContentPage,EntityService,XNode,Bind,Form,FormField,EmailIconTextButton,VerificationToken,ToggleButtonBar,PhoneEditor,Action,QRCodeControl,styled,sleep,PageNavigator,SiteSignupPage,SiteLoginPage,verifyModes;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_commonControlsButtonsIconButton){EmailIconTextButton=_commonControlsButtonsIconButton.EmailIconTextButton},function(_modelModel){VerificationToken=_modelModel.VerificationToken},function(_webAtomsWebControlsDistBasicToggleButtonBar){ToggleButtonBar=_webAtomsWebControlsDistBasicToggleButtonBar.default},function(_commonControlsPhoneEditorPhoneEditor){PhoneEditor=_commonControlsPhoneEditorPhoneEditor.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_commonControlsQrcodeQRCode){QRCodeControl=_commonControlsQrcodeQRCode.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsCoreDistCoreSleep){sleep=_webAtomsCoreDistCoreSleep.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_SiteSignupPage){SiteSignupPage=_SiteSignupPage.default}],execute:function(){styled.css`
|
|
1080
|
+
`.installGlobal("[site-signup-page]");pending="⬜";done="✅";_export("default",SiteSignupPage=class SiteSignupPage extends ContentPage{constructor(){super(...arguments);this.model={name:"",billingAddress:StoreAccountAddress.create({}),shippingAddress:StoreAccountAddress.create({})};this.step=1}getHeader(){if(this.emailVerified){return XNode.create("div",null,XNode.create("h5",null,"Signup"),XNode.create("ol",null,XNode.create("li",null,"✅ Email Verified"),XNode.create("li",null,this.step>1?done:pending," Add Phone Number"),XNode.create("li",null,this.step>2?done:pending," Confirm Phone Number"),XNode.create("li",null,this.step>3?done:pending," Add Name/Address Details")))}return XNode.create("div",null,XNode.create("h5",null,"Signup"),XNode.create("ol",null,XNode.create("li",null,"✅ Phone Verification"),XNode.create("li",null,this.step>1?done:pending," Add Email Address"),XNode.create("li",null,this.step>2?done:pending," Confirm Email Address"),XNode.create("li",null,this.step>3?done:pending," Name/Address Details")))}init(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){this.element.setAttribute("site-signup-page","true");this.model.phone=this.parameters.phone;this.model.email=this.parameters.email;this.model.captcha=this.parameters.captcha;const emailVerified=((_a=this.parameters.email)===null||_a===void 0?void 0:_a.accessCode)&&((_b=this.parameters.email)===null||_b===void 0?void 0:_b.verifyCode);this.emailVerified=emailVerified;if(emailVerified){yield this.askPhoneNumber();return}this.renderer=XNode.create("div",null,XNode.create(Form,null,this.getHeader(),XNode.create("div",null,"To complete signup, please verify your email address."),XNode.create(FormField,{label:"Email"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.email.verifyAddresses))})),XNode.create("div",null,XNode.create("button",{"data-submit-event":"request-verification"},"Request Code"))))}))}askPhoneNumber(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",null,XNode.create(Form,null,this.getHeader(),XNode.create("div",null,"To complete signup, please verify your phone number."),XNode.create(FormField,{label:"Cell Phone"},XNode.create(PhoneEditor,{value:Bind.twoWaysImmediate((()=>this.model.phone.verifyAddresses))})),XNode.create("div",null,XNode.create("button",{"data-submit-event":"request-verification"},"Verify"))))}))}requestVerification(){return __awaiter(this,void 0,void 0,(function*(){this.step=2;const verifyEmail=!this.emailVerified;const v=verifyEmail?this.model.email:this.model.phone;yield this.entityService.save(v);if(!verifyEmail){yield this.displayQRCode(v);return}this.renderer=XNode.create("div",null,XNode.create(Form,null,this.getHeader(),XNode.create(FormField,{label:"Email Verification"},XNode.create("div",null,"We have sent you the verification code in your email, please enter it again to complete the verification.")),XNode.create(FormField,{label:"Code"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.email.verifyCode))})),XNode.create("div",null,XNode.create(EmailIconTextButton,{text:"Proceed","data-submit-event":"verify-email"}))))}))}verifyEmail(){return __awaiter(this,void 0,void 0,(function*(){const v=this.model.email;const vt=yield this.entityService.invoke(VerificationToken,"verifyCode",v,v.verificationID,v.accessCode,this.model.email.verifyCode);if(!vt.verified){throw new Error("Verification failed, try again")}yield this.askForSignup()}))}displayQRCode(ve){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",null,XNode.create(Form,null,this.getHeader(),XNode.create(QRCodeControl,{smsConfig:JSON.parse(ve.externalConfig)})));for(let index=0;index<100;index++){try{const v=yield this.entityService.query(VerificationToken,"get",ve.verificationID,ve.accessCode).firstOrDefault();if(v.verified){ve.verified=true;break}}catch(_a){}yield sleep(5e3)}yield this.askForSignup()}))}askForSignup(){return __awaiter(this,void 0,void 0,(function*(){this.step=3;this.renderer=XNode.create("div",null,XNode.create(Form,null,this.getHeader(),XNode.create(FormField,{label:"Name"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.name))})),XNode.create("details",{open:true},XNode.create("summary",null,"Billing"),XNode.create("div",null,XNode.create(FormField,{label:"Full Name"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.billingAddress.title))})),XNode.create(FormField,{label:"Tax IDs"},XNode.create("div",{"data-layout":"flex-wrap"},XNode.create("input",{placeholder:"GST",value:Bind.twoWaysImmediate((()=>this.model.billingAddress.gstTaxID))}),XNode.create("input",{placeholder:"Income Tax",value:Bind.twoWaysImmediate((()=>this.model.billingAddress.incomeTaxID))}))),XNode.create(FormField,{label:"Address Line 1"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.billingAddress.line1))})),XNode.create(FormField,{label:"Address Line 2"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.billingAddress.line2))})),XNode.create(FormField,{label:"Address Line 3"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.billingAddress.line3))})),XNode.create(FormField,{label:"City"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.billingAddress.city))})),XNode.create(FormField,{label:"State"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.billingAddress.state))})),XNode.create(FormField,{label:"Country"},XNode.create(CountrySelect,{value:Bind.twoWaysImmediate((()=>this.model.billingAddress.countryCode))})))),XNode.create("details",null,XNode.create("summary",null,"Shipping"),XNode.create("div",null,XNode.create(FormField,{label:"Full Name"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.shippingAddress.title))})),XNode.create(FormField,{label:"Tax IDs"},XNode.create("div",{"data-layout":"flex-wrap"},XNode.create("input",{placeholder:"GST",value:Bind.twoWaysImmediate((()=>this.model.shippingAddress.gstTaxID))}),XNode.create("input",{placeholder:"Income Tax",value:Bind.twoWaysImmediate((()=>this.model.shippingAddress.incomeTaxID))}))),XNode.create(FormField,{label:"Address Line 1"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.shippingAddress.line1))})),XNode.create(FormField,{label:"Address Line 2"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.shippingAddress.line2))})),XNode.create(FormField,{label:"Address Line 3"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.shippingAddress.line3))})),XNode.create(FormField,{label:"City"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.shippingAddress.city))})),XNode.create(FormField,{label:"State"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.shippingAddress.state))})),XNode.create(FormField,{label:"Country"},XNode.create(CountrySelect,{value:Bind.twoWaysImmediate((()=>this.model.shippingAddress.countryCode))})))),XNode.create("div",null,XNode.create("button",{"data-submit-event":"user-signup"},"Signup"))))}))}userSignup(){return __awaiter(this,void 0,void 0,(function*(){delete this.model.email.addresses;delete this.model.phone.addresses;const result=yield FetchBuilder.post("/social-mail/user/signup").jsonBody(this.model).responseAsJson()}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],SiteSignupPage.prototype,"entityService",void 0);__decorate([Action({onEvent:"request-verification"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],SiteSignupPage.prototype,"requestVerification",null);__decorate([Action({onEvent:"verify-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],SiteSignupPage.prototype,"verifyEmail",null);__decorate([Action({onEvent:"user-signup"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],SiteSignupPage.prototype,"userSignup",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/user/pages/SiteSignupPage");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../services/EntityService","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","../../../common/controls/buttons/IconButton","../../../model/model","@web-atoms/web-controls/dist/basic/ToggleButtonBar","../../../common/controls/phone-editor/PhoneEditor","@web-atoms/core/dist/view-model/Action","../../../common/controls/qrcode/QRCode","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/core/sleep","@web-atoms/web-controls/dist/PageNavigator","./SiteSignupPage"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,ContentPage,EntityService,XNode,Bind,Form,FormField,EmailIconTextButton,VerificationToken,ToggleButtonBar,PhoneEditor,Action,QRCodeControl,styled,sleep,PageNavigator,SiteSignupPage,SiteLoginPage,verifyModes;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_commonControlsButtonsIconButton){EmailIconTextButton=_commonControlsButtonsIconButton.EmailIconTextButton},function(_modelModel){VerificationToken=_modelModel.VerificationToken},function(_webAtomsWebControlsDistBasicToggleButtonBar){ToggleButtonBar=_webAtomsWebControlsDistBasicToggleButtonBar.default},function(_commonControlsPhoneEditorPhoneEditor){PhoneEditor=_commonControlsPhoneEditorPhoneEditor.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_commonControlsQrcodeQRCode){QRCodeControl=_commonControlsQrcodeQRCode.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsCoreDistCoreSleep){sleep=_webAtomsCoreDistCoreSleep.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_SiteSignupPage){SiteSignupPage=_SiteSignupPage.default}],execute:function(){styled.css`
|
|
1081
1081
|
& [data-page-element=content] {
|
|
1082
1082
|
display: grid;
|
|
1083
1083
|
align-items: center;
|
|
@@ -1338,7 +1338,7 @@ html, body {
|
|
|
1338
1338
|
& img {
|
|
1339
1339
|
max-width: 90%;
|
|
1340
1340
|
}
|
|
1341
|
-
`.installLocal();_export("default",StoreProductDetailPage=class StoreProductDetailPage extends ContentPage{constructor(app,e){super(app,e);this.selectedVariant=null;this.selectedSize=null;this.selectedFile=null;this.images=[];this.runAfterInit((()=>this.app.runAsync((()=>this.init()))))}getFiles(item,variant,size){var _a,_b,_c;const variantFiles=(_a=variant===null||variant===void 0?void 0:variant.mediaFiles)===null||_a===void 0?void 0:_a.filter((x=>x.isPreview));const files=(_c=variantFiles!==null&&variantFiles!==void 0?variantFiles:(_b=item.mediaFiles)===null||_b===void 0?void 0:_b.filter((x=>x.isPreview)))!==null&&_c!==void 0?_c:[];if(size===null||size===void 0?void 0:size.mediaFiles){files.push(...size.mediaFiles.filter((x=>x.isPreview)))}this.selectedFile=files[0];return files}init(){var _a,_b,_c,_d,_e,_f,_g,_h,_j;return __awaiter(this,void 0,void 0,(function*(){this.itemID=this.parameters.storeItemID;this.renderer=XNode.create("div",null,XNode.create("label",{text:"..."}));this.model=yield this.getItem();const offer=(_a=this.model.mediaFiles)===null||_a===void 0?void 0:_a.find((x=>x.title==="offer.html"));const specifications=(_b=this.model.mediaFiles)===null||_b===void 0?void 0:_b.find((x=>x.title==="specs.html"));const price=(_c=this.model.storeItemPrices)===null||_c===void 0?void 0:_c[0];const[offerHtml,specHtml]=yield Promise.all([offer?FetchBuilder.get(signedUrl(offer)).responseAsText():Promise.resolve(""),specifications?FetchBuilder.get(signedUrl(specifications)).responseAsText():Promise.resolve("")]);this.selectedSize=(_e=(_d=this.model.sizes)===null||_d===void 0?void 0:_d[0])!==null&&_e!==void 0?_e:null;this.selectedVariant=(_g=(_f=this.model.variants)===null||_f===void 0?void 0:_f[0])!==null&&_g!==void 0?_g:null;this.renderer=XNode.create("div",{class:css,images:Bind.oneWay((()=>this.getFiles(this.model,this.selectedVariant,this.selectedSize)))},XNode.create("h2",{class:"title"},this.model.name),XNode.create("section",{class:"product"},XNode.create("section",{class:"photos"},XNode.create(AtomRepeater,{selectOnClick:true,items:Bind.oneWay((()=>this.images)),selectedItem:Bind.twoWaysImmediate((()=>this.selectedFile)),itemRenderer:x=>XNode.create("img",{class:"thumbnail","data-click-event":"change-image","data-id":x.appFileID,src:StoreUrlService.assetImageUrl(this.model,x,150)}),class:"thumbnails"}),XNode.create(ZoomView,{class:"preview",source:Bind.oneWay((()=>StoreUrlService.assetImageUrl(this.model,this.selectedFile,720)))})),XNode.create("section",{class:"offers","data-layout":"vertical-flex"},offerHtml&&XNode.create("section",{innerHTML:offerHtml}),XNode.create("p",null,this.model.description),XNode.create("p",{class:"price"},XNode.create("label",{text:formatPrice(price)})),XNode.create("button",{"data-click-event":"buy-now",class:"buy"},"Buy"),((_h=this.model.sizes)===null||_h===void 0?void 0:_h.length)&&XNode.create(ToggleButtonBar,{items:this.model.sizes,selectedItem:Bind.twoWaysImmediate((()=>this.selectedSize)),itemRenderer:x=>XNode.create("div",{"data-item-type":"toggle-button"},XNode.create("span",{text:x.name}))}),((_j=this.model.variants)===null||_j===void 0?void 0:_j.length)&&XNode.create(ToggleButtonBar,{items:this.model.variants,selectedItem:Bind.twoWaysImmediate((()=>this.selectedVariant)),itemRenderer:x=>XNode.create("div",{"data-item-type":"toggle-button"},XNode.create("span",{text:x.name}))}))),XNode.create("section",{"data-flex":"stretch-full"},XNode.create("section",{innerHTML:specHtml})))}))}changeImage({id}){this.selectedFile=this.model.mediaFiles.find((x=>x.appFileID===id))}buyNow(){return __awaiter(this,void 0,void 0,(function*(){const userService=this.resolve(WebSiteUserService);const user=yield userService.getUser();location.href="/store/buy/"+this.model.storeItemID}))}getItem(){return __awaiter(this,void 0,void 0,(function*(){const itemID=this.itemID;return this.entityService.query(StoreItem,"storeQuery").where({itemID},(p=>x=>x.storeItemID===p.itemID)).include((x=>[x.storeItemPrices,x.storeItemTags.forEach((t=>t.tag)),x.variants.forEach((t=>[t.mediaFiles,t.storeItemPrices])),x.sizes.forEach((t=>[t.mediaFiles,t.storeItemPrices])),x.mediaFiles])).firstOrDefault()}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],StoreProductDetailPage.prototype,"entityService",void 0);__decorate([Action({onEvent:"change-image"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],StoreProductDetailPage.prototype,"changeImage",null);__decorate([Action({onEvent:"buy-now"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],StoreProductDetailPage.prototype,"buyNow",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/store/pages/StoreProductDetailPage");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../common/controls/repeater/InfiniteRepeater","../../../common/currency","../../../common/Sql","../../../model/model","../../../services/EntityService","@web-atoms/core/dist/style/styled","../commands/StoreCommands","../StoreUrlService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,InjectProperty,XNode,Action,AtomRepeater,ContentPage,InfiniteRepeater,formatPrice,Sql,StoreTag,StoreMediaFile,StoreItem,EntityService,styled,StoreCommands,StoreUrlService,StoreProductListPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_commonCurrency){formatPrice=_commonCurrency.formatPrice},function(_commonSql){Sql=_commonSql.Sql},function(_modelModel){StoreTag=_modelModel.StoreTag;StoreMediaFile=_modelModel.StoreMediaFile;StoreItem=_modelModel.StoreItem},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_commandsStoreCommands){StoreCommands=_commandsStoreCommands.default},function(_StoreUrlService){StoreUrlService=_StoreUrlService.StoreUrlService}],execute:function(){styled.css`
|
|
1341
|
+
`.installLocal();_export("default",StoreProductDetailPage=class StoreProductDetailPage extends ContentPage{constructor(app,e){super(app,e);this.selectedVariant=null;this.selectedSize=null;this.selectedFile=null;this.images=[];this.runAfterInit((()=>this.app.runAsync((()=>this.init()))))}getFiles(item,variant,size){var _a,_b,_c;const variantFiles=(_a=variant===null||variant===void 0?void 0:variant.mediaFiles)===null||_a===void 0?void 0:_a.filter((x=>x.isPreview));const files=(_c=variantFiles!==null&&variantFiles!==void 0?variantFiles:(_b=item.mediaFiles)===null||_b===void 0?void 0:_b.filter((x=>x.isPreview)))!==null&&_c!==void 0?_c:[];if(size===null||size===void 0?void 0:size.mediaFiles){files.push(...size.mediaFiles.filter((x=>x.isPreview)))}this.selectedFile=files[0];return files}init(){var _a,_b,_c,_d,_e,_f,_g,_h,_j;return __awaiter(this,void 0,void 0,(function*(){this.itemID=this.parameters.storeItemID;this.renderer=XNode.create("div",null,XNode.create("label",{text:"..."}));this.model=yield this.getItem();const offer=(_a=this.model.mediaFiles)===null||_a===void 0?void 0:_a.find((x=>x.title==="offer.html"));const specifications=(_b=this.model.mediaFiles)===null||_b===void 0?void 0:_b.find((x=>x.title==="specs.html"));const price=(_c=this.model.storeItemPrices)===null||_c===void 0?void 0:_c[0];const[offerHtml,specHtml]=yield Promise.all([offer?FetchBuilder.get(signedUrl(offer)).responseAsText():Promise.resolve(""),specifications?FetchBuilder.get(signedUrl(specifications)).responseAsText():Promise.resolve("")]);this.selectedSize=(_e=(_d=this.model.sizes)===null||_d===void 0?void 0:_d[0])!==null&&_e!==void 0?_e:null;this.selectedVariant=(_g=(_f=this.model.variants)===null||_f===void 0?void 0:_f[0])!==null&&_g!==void 0?_g:null;this.renderer=XNode.create("div",{class:css,images:Bind.oneWay((()=>this.getFiles(this.model,this.selectedVariant,this.selectedSize)))},XNode.create("h2",{class:"title"},this.model.name),XNode.create("section",{class:"product"},XNode.create("section",{class:"photos"},XNode.create(AtomRepeater,{selectOnClick:true,items:Bind.oneWay((()=>this.images)),selectedItem:Bind.twoWaysImmediate((()=>this.selectedFile)),itemRenderer:x=>XNode.create("img",{class:"thumbnail","data-click-event":"change-image","data-id":x.appFileID,src:StoreUrlService.assetImageUrl(this.model,x,150)}),class:"thumbnails"}),XNode.create(ZoomView,{class:"preview",source:Bind.oneWay((()=>StoreUrlService.assetImageUrl(this.model,this.selectedFile,720)))})),XNode.create("section",{class:"offers","data-layout":"vertical-flex"},offerHtml&&XNode.create("section",{innerHTML:offerHtml}),XNode.create("p",null,this.model.description),XNode.create("p",{class:"price"},XNode.create("label",{text:formatPrice(price)})),XNode.create("button",{"data-click-event":"buy-now",class:"buy"},"Buy"),((_h=this.model.sizes)===null||_h===void 0?void 0:_h.length)&&XNode.create(ToggleButtonBar,{items:this.model.sizes,selectedItem:Bind.twoWaysImmediate((()=>this.selectedSize)),itemRenderer:x=>XNode.create("div",{"data-item-type":"toggle-button"},XNode.create("span",{text:x.name}))}),((_j=this.model.variants)===null||_j===void 0?void 0:_j.length)&&XNode.create(ToggleButtonBar,{items:this.model.variants,selectedItem:Bind.twoWaysImmediate((()=>this.selectedVariant)),itemRenderer:x=>XNode.create("div",{"data-item-type":"toggle-button"},XNode.create("span",{text:x.name}))}))),XNode.create("section",{"data-flex":"stretch-full"},XNode.create("section",{innerHTML:specHtml})))}))}changeImage({id}){this.selectedFile=this.model.mediaFiles.find((x=>x.appFileID===id))}buyNow(){return __awaiter(this,void 0,void 0,(function*(){const userService=this.resolve(WebSiteUserService);const user=yield userService.getUser();location.href="/store/buy/"+this.model.storeItemID}))}getItem(){return __awaiter(this,void 0,void 0,(function*(){const itemID=this.itemID;return this.entityService.query(StoreItem,"storeQuery").where({itemID},(p=>x=>x.storeItemID===p.itemID)).include((x=>[x.storeItemPrices,x.storeItemTags.forEach((t=>t.tag)),x.variants.forEach((t=>[t.mediaFiles,t.storeItemPrices])),x.sizes.forEach((t=>[t.mediaFiles,t.storeItemPrices])),x.mediaFiles.forEach((t=>t.appFile))])).firstOrDefault()}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],StoreProductDetailPage.prototype,"entityService",void 0);__decorate([Action({onEvent:"change-image"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],StoreProductDetailPage.prototype,"changeImage",null);__decorate([Action({onEvent:"buy-now"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],StoreProductDetailPage.prototype,"buyNow",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/store/pages/StoreProductDetailPage");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../common/controls/repeater/InfiniteRepeater","../../../common/currency","../../../common/Sql","../../../model/model","../../../services/EntityService","@web-atoms/core/dist/style/styled","../commands/StoreCommands","../StoreUrlService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,InjectProperty,XNode,Action,AtomRepeater,ContentPage,InfiniteRepeater,formatPrice,Sql,StoreTag,StoreMediaFile,StoreItem,EntityService,styled,StoreCommands,StoreUrlService,StoreProductListPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_commonCurrency){formatPrice=_commonCurrency.formatPrice},function(_commonSql){Sql=_commonSql.Sql},function(_modelModel){StoreTag=_modelModel.StoreTag;StoreMediaFile=_modelModel.StoreMediaFile;StoreItem=_modelModel.StoreItem},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_commandsStoreCommands){StoreCommands=_commandsStoreCommands.default},function(_StoreUrlService){StoreUrlService=_StoreUrlService.StoreUrlService}],execute:function(){styled.css`
|
|
1342
1342
|
|
|
1343
1343
|
display:grid;
|
|
1344
1344
|
grid-template-rows: auto 1fr auto;
|