@licklist/design 0.44.485-dev.35 → 0.44.485-dev.37
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/events/edit-event-modal/IntervalInput.d.ts +4 -1
- package/dist/events/edit-event-modal/IntervalInput.d.ts.map +1 -1
- package/dist/events/edit-event-modal/IntervalInput.js +1 -1
- package/dist/events/edit-event-modal/component/EditEventForm/EditEventForm.d.ts.map +1 -1
- package/dist/events/edit-event-modal/component/EditEventForm/EditEventForm.js +1 -1
- package/dist/notification/email-template/control/EmailTemplateControl.d.ts.map +1 -1
- package/dist/notification/email-template/control/EmailTemplateControl.js +1 -1
- package/dist/notification/email-template/form/EmailTemplateForm.d.ts +2 -1
- package/dist/notification/email-template/form/EmailTemplateForm.d.ts.map +1 -1
- package/dist/notification/email-template/form/EmailTemplateForm.js +1 -1
- package/package.json +1 -1
- package/src/events/edit-event-modal/IntervalInput.tsx +21 -1
- package/src/events/edit-event-modal/component/EditEventForm/EditEventForm.tsx +3 -0
- package/src/notification/email-template/control/EmailTemplateControl.tsx +28 -5
- package/src/notification/email-template/form/EmailTemplateForm.stories.tsx +13 -0
- package/src/notification/email-template/form/EmailTemplateForm.tsx +14 -4
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
+
import { ProductSet } from "@licklist/core/dist/DataMapper/Product/ProductSetDataMapper";
|
|
2
3
|
import { ProductSetFormValues } from "../../product-set/form";
|
|
3
4
|
interface IntervalInputProps {
|
|
4
5
|
editedProductSet?: ProductSetFormValues;
|
|
6
|
+
productSets?: ProductSet[];
|
|
7
|
+
productSetId?: number;
|
|
5
8
|
disabled?: boolean;
|
|
6
9
|
}
|
|
7
10
|
export interface IntervalInputValues {
|
|
@@ -9,6 +12,6 @@ export interface IntervalInputValues {
|
|
|
9
12
|
end: string;
|
|
10
13
|
rrule: string | null;
|
|
11
14
|
}
|
|
12
|
-
export declare function IntervalInput({ disabled, editedProductSet, }: IntervalInputProps): JSX.Element;
|
|
15
|
+
export declare function IntervalInput({ disabled, editedProductSet, productSetId, productSets, }: IntervalInputProps): JSX.Element;
|
|
13
16
|
export {};
|
|
14
17
|
//# sourceMappingURL=IntervalInput.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IntervalInput.d.ts","sourceRoot":"","sources":["../../../src/events/edit-event-modal/IntervalInput.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"IntervalInput.d.ts","sourceRoot":"","sources":["../../../src/events/edit-event-modal/IntervalInput.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAE,UAAU,EAAE,MAAM,6DAA6D,CAAC;AAIzF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,UAAU,kBAAkB;IAC1B,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;IACxC,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,wBAAgB,aAAa,CAAC,EAC5B,QAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,WAAW,GACZ,EAAE,kBAAkB,eA4IpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("tslib"),r=require("react"),n=(e=r)&&"object"==typeof e&&"default"in e?e.default:e,a=require("react-i18next"),o=require("react-bootstrap"),i=require("react-hook-form"),l=require("@react-aria/utils"),u=require("../../static/WarningMessage.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("tslib"),r=require("react"),n=(e=r)&&"object"==typeof e&&"default"in e?e.default:e,a=require("react-i18next"),o=require("react-bootstrap"),i=require("react-hook-form"),l=require("@react-aria/utils"),u=require("../../static/WarningMessage.js"),d=require("luxon");require("../../static/index.js");var s=require("react-intl"),c=require("../../recurrence-input/RecurrenceInput.js");var m=function(){var e=i.useFormContext().watch,n=e("start"),a=e("end"),o=s.useIntl(),l=o.formatList,u=o.formatNumber;return r.useMemo((function(){var e=d.Interval.fromDateTimes(d.DateTime.fromISO(n),d.DateTime.fromISO(a)).toDuration(["days","hours","minutes"]);if(e.isValid){var r=function(e,t){return u(e,{style:"unit",unit:t,unitDisplay:"long"})},o=[[e.days,"day"],[e.hours,"hour"],[e.minutes,"minute"]].filter((function(e){return t.__read(e,1)[0]}));return l(o.map((function(e){return r.apply(void 0,t.__spreadArray([],t.__read(e),!1))})),{style:"long",type:"unit"})}}),[n,a])},f=function(){var e=i.useFormContext().watch,t=a.useTranslation(["Design","Validation"]).t,n=e("start"),o=e("end");return{start:r.useMemo((function(){return{required:t("Validation:fieldRequired",{attribute:t("start")}),validate:function(e){return d.DateTime.fromISO(e).diffNow().toMillis()>0||t("Validation:fieldValidEventStart")}}}),[]),end:r.useMemo((function(){return{validate:function(e){return!e||(d.DateTime.fromISO(e).diff(d.DateTime.fromISO(n)).toMillis()>0||t("Validation:fieldValidEventEnd"))}}}),[n,o])}};exports.IntervalInput=function(e){var s,v,p=e.disabled,E=void 0!==p&&p,g=e.editedProductSet,I=e.productSetId,F=e.productSets,C=a.useTranslation(["Design","Validation"]).t,h=i.useFormContext(),b=h.register,_=h.formState.errors,y=h.watch,q=h.control,S=h.setValue,D=m(),T=f(),k=y("rrule"),x=y("start"),M=y("end"),O=t.__read(r.useState(Boolean(k)),2),V=O[0],w=O[1],R=t.__read(r.useState(!1),2),B=R[0],j=R[1],G=l.useId(),P=r.useRef(null),L=r.useRef(null);return r.useEffect((function(){g&&w(!1)}),[g]),r.useEffect((function(){if(F){var e=F.find((function(e){return g&&(null==e?void 0:e.id)===(null==g?void 0:g.id)||Boolean(null==e?void 0:e.parentMenuId)&&(null==e?void 0:e.id)===I}));j(Boolean(e))}}),[F,I,j,g]),n.createElement(n.Fragment,null,n.createElement(o.Form.Row,{className:"interval-container"},n.createElement(o.Form.Group,{as:o.Col,controlId:"start"},n.createElement(o.Form.Label,null,C("start")),n.createElement(o.Form.Control,t.__assign({type:"datetime-local"},b("start",T.start),{value:x,name:"start",required:!0,isInvalid:Boolean(_.start),onChange:function(e){var t=e.target.value;w(!1),S("start",t),d.DateTime.fromISO(M).diff(d.DateTime.fromISO(t)).toMillis()<0&&S("end",t)},onClick:function(){var e;return null===(e=null==P?void 0:P.current)||void 0===e?void 0:e.showPicker()},ref:P,disabled:E})),n.createElement(o.Form.Control.Feedback,{type:"invalid"},null===(s=_.start)||void 0===s?void 0:s.message)),n.createElement(o.Form.Group,{as:o.Col,controlId:"end"},n.createElement(o.Form.Label,null,C("end")),n.createElement(o.Form.Control,t.__assign({type:"datetime-local"},b("end",T.end),{value:M,name:"end",onChange:function(e){var t=e.target.value;return S("end",t)},min:x,isInvalid:Boolean(_.end),onClick:function(){var e;return null===(e=null==L?void 0:L.current)||void 0===e?void 0:e.showPicker()},ref:L,disabled:E})),n.createElement(o.Form.Control.Feedback,{type:"invalid"},null===(v=_.end)||void 0===v?void 0:v.message),n.createElement(o.Form.Text,{muted:!0},D&&"lasts ".concat(D)))),x&&n.createElement(o.Form.Group,{controlId:G},n.createElement(o.Form.Check,{label:"Recurrent",custom:!0,checked:V,onChange:function(e){var t=e.target.checked;w(t)},disabled:E||Boolean(g)}),!V&&n.createElement(o.Form.Text,{muted:!0},C("reccurentDescription",{item:C("event")}))),B&&n.createElement(u.default,{message:C("recurrentOverridesWarining")}),V&&x&&n.createElement(o.Form.Group,null,n.createElement(i.Controller,{control:q,name:"rrule",render:function(e){var t=e.field,r=t.value,a=t.onChange;return n.createElement(c.RecurrenceInput,{value:r,onChange:a,date:x,disabled:E})}})))};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditEventForm.d.ts","sourceRoot":"","sources":["../../../../../src/events/edit-event-modal/component/EditEventForm/EditEventForm.tsx"],"names":[],"mappings":";AAEA,OAAO,EAIL,KAAK,EACN,MAAM,sDAAsD,CAAC;AAM9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oDAAoD,CAAC;AAGvF,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAI5E,OAAO,EAAE,UAAU,EAAE,MAAM,6DAA6D,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAS7D,OAAO,EAAiB,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAIzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AAGnF,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IACvB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;CACzC;AAED,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAClD,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,WAAW,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACnD,WAAW,CAAC,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAClC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACvD,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,4BAA4B,CAAC,EAAE,OAAO,CAAC;CACxC;AAOD,eAAO,MAAM,aAAa,qLAYvB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"EditEventForm.d.ts","sourceRoot":"","sources":["../../../../../src/events/edit-event-modal/component/EditEventForm/EditEventForm.tsx"],"names":[],"mappings":";AAEA,OAAO,EAIL,KAAK,EACN,MAAM,sDAAsD,CAAC;AAM9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oDAAoD,CAAC;AAGvF,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAI5E,OAAO,EAAE,UAAU,EAAE,MAAM,6DAA6D,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAS7D,OAAO,EAAiB,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAIzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AAGnF,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IACvB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;CACzC;AAED,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAClD,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,WAAW,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACnD,WAAW,CAAC,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAClC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACvD,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,4BAA4B,CAAC,EAAE,OAAO,CAAC;CACxC;AAOD,eAAO,MAAM,aAAa,qLAYvB,kBAAkB,gBAsVpB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=require("tslib"),r=require("react"),i=e(r),n=require("react-i18next"),o=require("react-bootstrap"),l=require("react-hook-form"),a=e(require("@licklist/plugins/dist/services/Form/FormErrorService")),
|
|
1
|
+
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=require("tslib"),r=require("react"),i=e(r),n=require("react-i18next"),o=require("react-bootstrap"),l=require("react-hook-form"),a=e(require("@licklist/plugins/dist/services/Form/FormErrorService")),d=require("@react-aria/utils"),u=require("luxon"),s=require("../../../../collapsible-input-group/CollapsibleInputGroup.js"),c=require("../../../../modals/dialog/Dialog.js"),m=require("../../../../modals/dialog/DialogContext.js"),p=require("@licklist/core/dist/DataMapper/Media/ImageDataMapper"),v=require("../../../../file-upload/FileUpload.js"),g=require("../../../../tiptap-editor/TipTapEditor.js"),E=require("../SelectEventProductSet/SelectEventProductSet.js"),f=require("@licklist/plugins/dist/hooks/Media/useMultipleImages"),I=require("@licklist/plugins/dist/utils/ScrollUtils"),b=require("@licklist/plugins/dist/utils/FormValues"),S=require("../SaleDeadline/SaleDeadline.js"),P=require("../../../../provider/categories-input/CategoriesInput.js"),F=require("../../../../provider/categories-input/CategoriesInputDescription.js");require("../../../../provider/location-input/LocationInput.js"),require("../../../../provider/location-input/LocationInputDescription.js"),require("../../../../provider/provider-links-input/ProviderLinksInput.js"),require("../../../../provider/provider-details-input/ProviderDetailsInput.js"),require("../../../../provider/provider-form/ProviderForm.js"),require("../../../../provider/working-hours-input/WorkingHoursInput.js"),require("../../../../provider/working-hours-input/WorkingHoursInputDescription.js"),require("../../../../provider/venue-form/VenueForm.js"),require("../../../../provider/company/user-form/UserForm.js");var q=require("../../IntervalInput.js"),A=require("../../utils/isUrlValid.js"),D={uploadImage:p.IMAGE_TYPE_MAP[p.IMAGE_TYPE_IMAGE],uploadCover:p.IMAGE_TYPE_MAP[p.IMAGE_TYPE_COVER]},h=function(e){var t,r,i,n,o,l,a,d,s,c,m,p=function(e){return e&&u.DateTime.fromISO(e).toISO({includeOffset:!1,suppressMilliseconds:!0,suppressSeconds:!0})};return{name:null!==(t=null==e?void 0:e.name)&&void 0!==t?t:"",description:null!==(r=null==e?void 0:e.description)&&void 0!==r?r:"",start:p(null!==(i=null==e?void 0:e.startAt)&&void 0!==i?i:""),end:p(null!==(n=null==e?void 0:e.endAt)&&void 0!==n?n:""),rrule:null!==(o=null==e?void 0:e.rrule)&&void 0!==o?o:void 0,categories:null!==(l=null==e?void 0:e.categories)&&void 0!==l?l:[],termsAndConditions:null!==(a=null==e?void 0:e.termsAndConditions)&&void 0!==a?a:"",visible:null!==(d=null==e?void 0:e.visible)&&void 0!==d?d:"",externalPaymentLink:null!==(s=null==e?void 0:e.externalPaymentLink)&&void 0!==s?s:"",productSetId:null==e?void 0:e.productSetId,images:null==e?void 0:e.images,saleDeadline:null==e?void 0:e.saleDeadline,integrationUrl:null!==(c=null==e?void 0:e.integrationUrl)&&void 0!==c?c:"",recurrenceEndAt:null!==(m=null==e?void 0:e.recurrenceEndAt)&&void 0!==m?m:void 0}};exports.EditEventForm=function(e){var u,C,_,y=e.disabled,k=void 0!==y&&y,M=e.categories,L=e.title,j=e.hasPermission,w=void 0===j||j,G=e.defaultEventValues,U=e.serverErrors,x=e.onSaveEvent,T=e.productSets,V=e.createProductSet,Y=e.setEditProductSetId,O=e.isExternalPaymentLinkEnabled,B=n.useTranslation(["Design","Validation"]).t,R=d.useId(),N=d.useId(),W=d.useId(),H=d.useId(),K=d.useId(),z=t.__read(r.useState(null),2),J=z[0],Q=z[1],X=t.__read(r.useState(!1),2),Z=X[0],$=X[1],ee=m.useDialogContext(),te=ee.isShownDialog,re=ee.onBeforeUnload,ie=ee.onPopState,ne=ee.onApproveDialog,oe=ee.onDeclineDialog,le=l.useForm({defaultValues:h(G)}),ae=le.register,de=le.formState.errors,ue=le.handleSubmit,se=le.formState,ce=le.reset,me=le.watch,pe=le.setValue,ve=le.setError,ge=le.getValues,Ee=le.control,fe=me("visible"),Ie=me("editedProductSet"),be=me("productSetId"),Se=f.useMultipleImages(J),Pe=Se.images,Fe=Se.handleImageRemove,qe=Se.handleImageUploading,Ae=Se.isImagesLoading,De=Se.isCoverImagesLoading,he=r.useCallback((function(e,t){return!!A.isUrlValid(e)||B("Validation:fieldValidWebURL",{attribute:t})}),[]);return r.useEffect((function(){ce(h(G))}),[G]),r.useEffect((function(){if(G.images&&G.images.length>0){var e=ge("images");Q(e)}else Q([])}),[Q,ge,G]),r.useEffect((function(){Array.isArray(Pe)&&pe("images",Pe)}),[Pe]),r.useEffect((function(){a.handleServerErrors(U,ve)}),[U]),r.useEffect((function(){return window.history.pushState(null,"",window.location.pathname),window.addEventListener("beforeunload",re),window.addEventListener("popstate",ie),function(){window.removeEventListener("beforeunload",re),window.removeEventListener("popstate",ie)}}),[]),i.createElement(i.Fragment,null,i.createElement(c.Dialog,{isActive:te,title:B("Design:leavePage"),content:B("Design:changesNotBeSaved"),onApprove:ne,onDecline:oe}),i.createElement("h5",{className:"edit-event-modal-title highlited-primary-title"},L),i.createElement(l.FormProvider,t.__assign({},le),i.createElement(o.Modal.Body,{as:"form",noValidate:!0,onSubmit:ue(x,(function(e){I.scrollToError(b.getFirstErrorKey(e))}))},i.createElement(o.Form.Group,{controlId:"name"},i.createElement(o.Form.Label,null,B("nameOfEvent")),i.createElement(o.Form.Control,t.__assign({},ae("name",{required:B("Validation:fieldRequired",{attribute:B("name")}),maxLength:{value:255,message:B("Validation:fieldMaxLength",{attribute:B("name"),max:255})}}),{name:"name",required:!0,isInvalid:Boolean(de.name),disabled:k})),i.createElement(o.Form.Control.Feedback,{type:"invalid"},null===(u=de.name)||void 0===u?void 0:u.message)),Object.keys(D).map((function(e){var t=D[e];return i.createElement(v.FileUpload,{key:e,allowedExtensions:["jpg","jpeg","png"],enablePreview:!0,defaultFiles:null==Pe?void 0:Pe.filter((function(e){return p.IMAGE_TYPE_MAP[e.imageType]===t})),onFilesChange:function(e){qe(e,t)},secondSubtitle:t===p.IMAGE_TYPE_MAP[p.IMAGE_TYPE_IMAGE]?"1200x600":void 0,title:B("Design:".concat(e)),onFileRemove:function(e,r){return Fe(String(e),r,t)},isLoading:t===p.IMAGE_TYPE_MAP[p.IMAGE_TYPE_IMAGE]?Ae:De,disabled:k})})),i.createElement(o.Form.Group,{controlId:R},i.createElement(o.Form.Label,null,B("description")),i.createElement(l.Controller,{render:function(e){var t=e.field;return i.createElement(g.TipTapEditor,{withEmoji:!1,viewMode:!1,onUpdate:t.onChange,content:t.value,disabled:k})},name:"description"})),i.createElement(q.IntervalInput,{key:me("rrule"),disabled:k,productSetId:be,productSets:T,editedProductSet:Ie}),0!==M.length&&i.createElement(o.Form.Group,null,i.createElement(o.Accordion,null,i.createElement(s.CollapsibleInputGroup,{eventKey:"categories",label:B("categories"),description:i.createElement(F.CategoriesInputDescription,{categories:M})},i.createElement(P.CategoriesInput,{categories:M})))),i.createElement(S.SaleDeadline,{disabled:k}),i.createElement(o.Form.Group,{controlId:N},i.createElement(o.Form.Label,null,B("termsAndConditions")),i.createElement(l.Controller,{render:function(e){var t=e.field;return i.createElement(g.TipTapEditor,{withEmoji:!1,viewMode:!1,onUpdate:t.onChange,content:t.value,disabled:k})},name:"termsAndConditions"})),O&&i.createElement(o.Form.Group,{controlId:K},i.createElement(o.Form.Label,null,B("externalPaymentLink")),i.createElement(o.Form.Control,t.__assign({},ae("externalPaymentLink",{validate:function(e){return!e||he(e,B("Design:externalPaymentLink"))}}),{name:"externalPaymentLink",type:"url",inputMode:"url",disabled:k,isInvalid:Boolean(de.externalPaymentLink)})),i.createElement(o.Form.Control.Feedback,{type:"invalid"},null===(C=de.externalPaymentLink)||void 0===C?void 0:C.message)),i.createElement(o.Form.Group,{controlId:W,className:"mt-5"},i.createElement(o.Form.Label,null,B("public")," / ",B("private")),i.createElement(l.Controller,{control:Ee,name:"visible",rules:{validate:function(e){return"boolean"==typeof e||B("Validation:fieldRequired",{attribute:B("visible")})}},render:function(e){var t=e.field,r=e.fieldState,n=r.invalid,l=r.error,a=String(t.value);return i.createElement(i.Fragment,null,i.createElement(o.Form.Control,{as:"select",onChange:function(e){var r=e.target.value;t.onChange(r?"true"===r:r)},isInvalid:n,defaultValue:"",value:a,disabled:k},i.createElement("option",{value:""},B("Design:pleaseChooseOne")),i.createElement("option",{value:"false"},B("Design:private")),i.createElement("option",{value:"true"},B("Design:public"))),i.createElement(o.Form.Control.Feedback,{type:"invalid"},null==l?void 0:l.message))}})),"boolean"!=typeof fe||fe?null:i.createElement(o.Form.Group,{controlId:H},i.createElement(o.Form.Label,null,B("Design:integrationUrl")),i.createElement(o.Form.Control,t.__assign({},ae("integrationUrl",{required:B("Validation:fieldRequired",{attribute:B("Design:integrationUrl")}),validate:function(e){return he(e,B("Design:integrationUrl"))}}),{name:"integrationUrl",isInvalid:Boolean(de.integrationUrl),placeholder:B("Design:integrationUrl"),disabled:k})),i.createElement(o.Form.Control.Feedback,{type:"invalid"},null===(_=de.integrationUrl)||void 0===_?void 0:_.message)),i.createElement(E.SelectEventProductSet,{productSets:T||[],createProductSet:V,setEditProductSetId:Y,setShowEditProductSet:$,showEditProductSet:Z}),w&&!Z&&i.createElement(o.Button,{disabled:k||se.isSubmitting||Ae||De,className:"save-event",type:"submit"},se.isSubmitting?"".concat(B("saveAndAdd"),"..."):B("saveAndAdd")))))};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmailTemplateControl.d.ts","sourceRoot":"","sources":["../../../../src/notification/email-template/control/EmailTemplateControl.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAKnD,OAAO,EACL,cAAc,EAEf,MAAM,sEAAsE,CAAC;AAG9E,OAAO,EAAE,UAAU,EAAE,MAAM,kEAAkE,CAAC;AAM9F,OAAO,EAAE,gBAAgB,EAAE,MAAM,wEAAwE,CAAC;AAM1G,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,YAAY,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,CAAC,EAAE,UAAU,EAAE,CAAC;IAClC,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACvC,4BAA4B,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,gBAAgB,GAAG,IAAI,KAAK,MAAM,CAAC;CAC3E;AAED,eAAO,MAAM,oBAAoB,
|
|
1
|
+
{"version":3,"file":"EmailTemplateControl.d.ts","sourceRoot":"","sources":["../../../../src/notification/email-template/control/EmailTemplateControl.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAKnD,OAAO,EACL,cAAc,EAEf,MAAM,sEAAsE,CAAC;AAG9E,OAAO,EAAE,UAAU,EAAE,MAAM,kEAAkE,CAAC;AAM9F,OAAO,EAAE,gBAAgB,EAAE,MAAM,wEAAwE,CAAC;AAM1G,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,YAAY,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,CAAC,EAAE,UAAU,EAAE,CAAC;IAClC,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACvC,4BAA4B,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,gBAAgB,GAAG,IAAI,KAAK,MAAM,CAAC;CAC3E;AAED,eAAO,MAAM,oBAAoB,2FAsZhC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=require("tslib"),a=require("react"),n=e(a),l=require("react-i18next"),r=require("react-bootstrap"),i=require("react-hook-form"),o=require("../../../file-upload/FileUpload.js"),s=e(require("react-email-editor")),
|
|
1
|
+
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=require("tslib"),a=require("react"),n=e(a),l=require("react-i18next"),r=require("react-bootstrap"),i=require("react-hook-form"),o=require("../../../file-upload/FileUpload.js"),s=e(require("react-email-editor")),m=require("@licklist/core/dist/DataMapper/Notification/TemplateOptionDataMapper"),c=require("@licklist/plugins/dist/hooks/Media/useAttachments"),u=require("@licklist/plugins/dist/hooks/Media/usePermanentImage"),d=require("@licklist/core/dist/DataMapper/Media/UploadPermanentImageDataMapper"),p=n.forwardRef((function(e,p){var g,f,E,v=e.setIsLoading,h=e.meta,_=e.options,F=void 0===_?[]:_,b=e.defaultAttachments,y=void 0===b?[]:b,N=e.notificationTypes,D=void 0===N?[]:N,T=e.getDefaultTemplateMetaByType,P=l.useTranslation(["Design"]).t,C=t.__read(a.useState(null),2),I=C[0],k=C[1],M=i.useFormContext(),O=M.register,q=M.setValue,R=M.formState.errors,x=M.getValues,A=M.watch,j=M.reset,w=t.__read(a.useState(!1),2),G=w[0],V=w[1],S=c.useAttachments(I),L=S.attachments,U=S.handleAttachmentRemove,Y=S.handleAttachmentUploading,B=S.isLoading,J=u.usePermanentImage(),H=J.permanentImages,z=J.handlePermanentImageRemove,K=J.handlePermanentImageUploading,Q=A("type"),W=A("id");a.useEffect((function(){var e;if(!W&&T&&Q){var a=x(),n=T(Q);j(t.__assign(t.__assign({},a),{meta:n})),null===(e=p.current)||void 0===e||e.loadDesign(JSON.parse(n))}}),[Q]),a.useEffect((function(){q("attachmentMetadata",L)}),[L,q]),a.useEffect((function(){H.length&&q("imagesMetadata",H)}),[H,q]),a.useEffect((function(){if(y&&y.length>0){var e=x("attachments");k(e)}else k([])}),[y]),a.useEffect((function(){if(null==F?void 0:F.length){var e=F.find((function(e){return e.type===m.OPTION_TYPE.files_selector}));(null==e?void 0:e.selectedValue)&&V(!0)}}),[F]);return n.createElement(n.Fragment,null,n.createElement(r.Row,null,n.createElement(r.Form.Group,{as:r.Col,controlId:"type",xs:!0,sm:12,md:8,lg:10,xl:12},n.createElement(r.Form.Label,null,P("type")),n.createElement(r.Form.Control,t.__assign({as:"select"},O("type",{required:P("Validation:fieldRequired",{attribute:P("type")})}),{name:"type",required:!0,isInvalid:Boolean(R.type),placeholder:P("Design:type"),disabled:!!W}),n.createElement("option",{value:""},P("Design:choose")),D.map((function(e){return n.createElement("option",{key:e,value:e},P("Design:".concat(e)))}))),n.createElement(r.Form.Control.Feedback,{type:"invalid"},null===(g=R.type)||void 0===g?void 0:g.message))),n.createElement(r.Row,null,n.createElement(r.Form.Group,{as:r.Col,controlId:"formGroupName",xs:!0,sm:12,md:8,lg:10,xl:12},n.createElement(r.Form.Label,null,P("templateName")),n.createElement(r.Form.Control,t.__assign({},O("name",{maxLength:255,required:P("Validation:fieldRequired",{attribute:P("name")})}),{name:"name",required:!0,isInvalid:Boolean(R.name),placeholder:P("Design:templateName")})),n.createElement(r.Form.Control.Feedback,{type:"invalid"},null===(f=R.name)||void 0===f?void 0:f.message))),n.createElement(r.Row,null,n.createElement(r.Form.Group,{as:r.Col,xs:!0,sm:12,md:8,lg:10,xl:12,controlId:"formGroupSubject"},n.createElement(r.Form.Label,null,P("subject")),n.createElement(r.Form.Control,t.__assign({},O("subject",{maxLength:255,required:P("Validation:fieldRequired",{attribute:P("subject")})}),{name:"subject",required:!0,isInvalid:Boolean(R.subject),placeholder:P("Design:subject")})),n.createElement(r.Form.Control.Feedback,{type:"invalid"},null===(E=R.subject)||void 0===E?void 0:E.message))),n.createElement(r.Row,null,n.createElement(r.Form.Group,{as:r.Col},n.createElement(r.Form.Check,t.__assign({},O("isActive"),{name:"isActive",label:P("Design:active"),id:"formGroupIsActive",custom:!0})),n.createElement(r.Form.Check,t.__assign({},O("isDefault"),{name:"isDefault",label:P("Design:defaultTemplateForTheType"),id:"formGroupIsDefault",custom:!0})))),n.createElement(r.Row,{className:"mb-4"},n.createElement(r.Form.Group,{as:r.Col},n.createElement(r.Form.Label,null,P("Design:emailBody")),n.createElement("div",{className:"email-editor"},n.createElement(s,{ref:p,onReady:function(){var e,a,n,l;v(!0),null===(e=p.current)||void 0===e||e.registerCallback("design:updated",(function(e){var t,a;null===(t=p.current)||void 0===t||t.editor.exportHtml((function(e){q("body",e.html),q("meta",JSON.stringify(e.design))})),"content:removed"===e.type&&"image"===(null===(a=e.item)||void 0===a?void 0:a.type)&&function(e){var t=e.item.values.src.url;if(!t.includes("unlayer")){var a=x("imagesMetadata");if(a){var n=a.find((function(e){return e.permanentUrl===t}));if(n)z(n.hash,d.PERMANENT_IMAGE_TYPE_TEMP);else{var l=t.split("/"),r=l[l.length-2];if(!r)return;z(r,d.PERMANENT_IMAGE_TYPE_PERMANENT)}}else{var i=t.split("/"),o=i[i.length-2];if(!o)return;z(o,d.PERMANENT_IMAGE_TYPE_PERMANENT)}}}(e)})),h&&(null===(a=p.current)||void 0===a||a.loadDesign(JSON.parse(h)),null===(n=p.current)||void 0===n||n.editor.exportHtml((function(e){q("body",e.html),q("meta",JSON.stringify(e.design))}))),v(!1),null===(l=p.current)||void 0===l||l.registerCallback("image",(function(e,a){return t.__awaiter(void 0,void 0,void 0,(function(){var n;return t.__generator(this,(function(t){switch(t.label){case 0:return[4,K(e.attachments[0])];case 1:return n=t.sent(),a({progress:100,url:n.permanentUrl}),[2]}}))}))}))},style:{height:"50rem"}})))),n.createElement(r.Row,null,n.createElement(o.FileUpload,{className:"ml-4 mr-4",allowedExtensions:["jpg","jpeg","png","txt","pdf","doc"],enablePreview:!0,allowMultiple:!0,defaultFiles:L,onFilesChange:function(e){Y(e)},title:P("Design:attachments"),onFileRemove:function(e,t){return U(String(e),t)},isLoading:B})),(null==F?void 0:F.length)>0&&n.createElement(r.Row,null,n.createElement(r.Form.Group,{as:r.Col},F.map((function(e){if(e.type===m.OPTION_TYPE.checkbox)return n.createElement(r.Form.Check,t.__assign({},O("templateOptionValues.".concat(null==e?void 0:e.id,".value")),{type:"checkbox",label:P("Design:".concat(e.name)),id:e.name+e.id,defaultChecked:"true"===e.selectedValue,custom:!0}));if(e.type===m.OPTION_TYPE.files_selector){var a=JSON.parse(e.defaultValue),l=Object.values(a),i=Object.keys(a);return n.createElement(n.Fragment,null,n.createElement(r.Form.Check,{checked:G,name:"IsIncludePDF",onChange:function(){V(!G),q("templateOptionValues.".concat(e.id,".value"),"")},label:P("Design:includePDF"),id:"formGroupIsIncludePdf",custom:!0}),G&&n.createElement(n.Fragment,null,n.createElement(r.Form.Label,{className:"mt-4"},P("Design:includeFile")),n.createElement(r.Form.Control,t.__assign({as:"select"},O("templateOptionValues.".concat(e.id,".value")),{defaultValue:e.selectedValue||""}),n.createElement("option",{value:""},P("Design:choose")),i.map((function(e,t){return n.createElement("option",{value:String(e),key:String(e)},l[t])})))))}return e.type===m.OPTION_TYPE.days_reminder?n.createElement(n.Fragment,null,n.createElement(r.Form.Label,{className:"mt-4"},P("Design:".concat(e.name))),n.createElement(r.Form.Control,t.__assign({},O("templateOptionValues.".concat(null==e?void 0:e.id,".value")),{type:"number",placeholder:P("Design:".concat(e.name)),id:e.name+e.id})),n.createElement(r.Form.Text,null,e.description)):null})))))}));p.displayName="EmailTemplateControl",exports.EmailTemplateControl=p;
|
|
@@ -34,6 +34,7 @@ export interface EmailTemplateProps extends HasPermissionProp {
|
|
|
34
34
|
serverErrors?: ServerError;
|
|
35
35
|
notificationTypes?: NotificationType[];
|
|
36
36
|
getDefaultTemplateMetaByType?: (type?: NotificationType | null) => string;
|
|
37
|
+
onTypeChange?: (type?: NotificationType | null) => void;
|
|
37
38
|
}
|
|
38
|
-
export declare
|
|
39
|
+
export declare const EmailTemplateForm: ({ defaultValues, onSubmitSave, onSubmitSaveAndSend, hasPermission, placeholders, options, serverErrors, notificationTypes, getDefaultTemplateMetaByType, onTypeChange, }: EmailTemplateProps) => JSX.Element;
|
|
39
40
|
//# sourceMappingURL=EmailTemplateForm.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmailTemplateForm.d.ts","sourceRoot":"","sources":["../../../../src/notification/email-template/form/EmailTemplateForm.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,8DAA8D,CAAC;AAI1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,oDAAoD,CAAC;AACvF,OAAO,EAAE,uBAAuB,EAAE,MAAM,+EAA+E,CAAC;AACxH,OAAO,EAAE,cAAc,EAAE,MAAM,sEAAsE,CAAC;AACtG,OAAO,EAAE,mBAAmB,EAAE,MAAM,2EAA2E,CAAC;AAChH,OAAO,EAAE,kBAAkB,EAAE,MAAM,0EAA0E,CAAC;AAC9G,OAAO,EAAE,UAAU,EAAE,MAAM,kEAAkE,CAAC;AAC9F,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAE5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,MAAM,qEAAqE,CAAC;AAC3G,OAAO,EAAE,gBAAgB,EAAE,MAAM,wEAAwE,CAAC;AAK1G,MAAM,WAAW,mBAAoB,SAAQ,UAAU;IACrD,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kBAAkB,CAAC,EAAE,kBAAkB,EAAE,GAAG,mBAAmB,EAAE,CAAC;IAClE,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,oBAAoB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC7C,cAAc,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACxC,IAAI,CAAC,EAAE,gBAAgB,CAAC;CACzB;AAED,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACpD,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC5D,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,YAAY,CAAC,EAAE,uBAAuB,EAAE,CAAC;IACzC,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACvC,4BAA4B,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,gBAAgB,GAAG,IAAI,KAAK,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"EmailTemplateForm.d.ts","sourceRoot":"","sources":["../../../../src/notification/email-template/form/EmailTemplateForm.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,8DAA8D,CAAC;AAI1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,oDAAoD,CAAC;AACvF,OAAO,EAAE,uBAAuB,EAAE,MAAM,+EAA+E,CAAC;AACxH,OAAO,EAAE,cAAc,EAAE,MAAM,sEAAsE,CAAC;AACtG,OAAO,EAAE,mBAAmB,EAAE,MAAM,2EAA2E,CAAC;AAChH,OAAO,EAAE,kBAAkB,EAAE,MAAM,0EAA0E,CAAC;AAC9G,OAAO,EAAE,UAAU,EAAE,MAAM,kEAAkE,CAAC;AAC9F,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAE5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,MAAM,qEAAqE,CAAC;AAC3G,OAAO,EAAE,gBAAgB,EAAE,MAAM,wEAAwE,CAAC;AAK1G,MAAM,WAAW,mBAAoB,SAAQ,UAAU;IACrD,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kBAAkB,CAAC,EAAE,kBAAkB,EAAE,GAAG,mBAAmB,EAAE,CAAC;IAClE,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,oBAAoB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC7C,cAAc,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACxC,IAAI,CAAC,EAAE,gBAAgB,CAAC;CACzB;AAED,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACpD,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC5D,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,YAAY,CAAC,EAAE,uBAAuB,EAAE,CAAC;IACzC,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACvC,4BAA4B,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,gBAAgB,GAAG,IAAI,KAAK,MAAM,CAAC;IAC1E,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,gBAAgB,GAAG,IAAI,KAAK,IAAI,CAAC;CACzD;AAED,eAAO,MAAM,iBAAiB,6KAW3B,kBAAkB,gBAmEpB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=require("tslib"),r=require("react"),o=e(r),a=require("../../../static/loader/BlockLoader.js"),
|
|
1
|
+
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=require("tslib"),r=require("react"),o=e(r),a=require("../../../static/loader/BlockLoader.js"),n=require("react-i18next"),l=require("react-bootstrap"),i=require("react-hook-form"),s=e(require("@licklist/plugins/dist/services/Form/FormErrorService"));require("../../../static/index.js");var c=require("../control/EmailTemplateControl.js"),u=require("../../components/NotificationPlaceholders.js");exports.EmailTemplateForm=function(e){var m=e.defaultValues,d=e.onSubmitSave,p=e.onSubmitSaveAndSend,f=e.hasPermission,v=void 0===f||f,E=e.placeholders,b=void 0===E?[]:E,h=e.options,y=void 0===h?[]:h,S=e.serverErrors,T=e.notificationTypes,q=void 0===T?[]:T,k=e.getDefaultTemplateMetaByType,g=e.onTypeChange,B=n.useTranslation("Design").t,j=t.__read(r.useState(!1),2),C=j[0],F=j[1],_=r.useRef(null),N=i.useForm({mode:"onChange",defaultValues:m}),P=N.setError,x=(0,N.watch)("type");return r.useEffect((function(){s.handleServerErrors(S,P)}),[S,P]),r.useEffect((function(){g&&g(x)}),[x]),o.createElement(i.FormProvider,t.__assign({},N),C&&o.createElement(a.BlockLoader,null),o.createElement(l.Form,{onSubmit:N.handleSubmit(d),noValidate:!0,style:{display:C?"none":"block"}},o.createElement(c.EmailTemplateControl,{ref:_,setIsLoading:F,meta:(null==m?void 0:m.meta)||null,defaultAttachments:(null==m?void 0:m.attachments)||[],options:y,notificationTypes:q,getDefaultTemplateMetaByType:k}),o.createElement(u.NotificationPlaceholders,{placeholders:b}),v&&!p&&o.createElement(l.Button,{className:"mt-5 d-no dne d-md-block",type:"submit"},B("save")),v&&p&&o.createElement(l.Col,{as:l.Row},o.createElement(l.Button,{className:"mt-5 d-no dne d-md-block",type:"submit"},B("save")),o.createElement(l.Button,{className:"mt-5 ml-5 d-no dne d-md-block",onClick:N.handleSubmit(p)},B("saveAndSendEmail")))))};
|
package/package.json
CHANGED
|
@@ -6,6 +6,7 @@ import { useTranslation } from "react-i18next";
|
|
|
6
6
|
import { useIntl } from "react-intl";
|
|
7
7
|
|
|
8
8
|
import { useId } from "@react-aria/utils";
|
|
9
|
+
import { ProductSet } from "@licklist/core/dist/DataMapper/Product/ProductSetDataMapper";
|
|
9
10
|
import HTMLInputDateElement from "../../types/static/HTMLInputDateElement";
|
|
10
11
|
import { RecurrenceInput } from "../../recurrence-input";
|
|
11
12
|
import { WarningMessage } from "../../static";
|
|
@@ -13,6 +14,8 @@ import { ProductSetFormValues } from "../../product-set/form";
|
|
|
13
14
|
|
|
14
15
|
interface IntervalInputProps {
|
|
15
16
|
editedProductSet?: ProductSetFormValues;
|
|
17
|
+
productSets?: ProductSet[];
|
|
18
|
+
productSetId?: number;
|
|
16
19
|
disabled?: boolean;
|
|
17
20
|
}
|
|
18
21
|
|
|
@@ -25,6 +28,8 @@ export interface IntervalInputValues {
|
|
|
25
28
|
export function IntervalInput({
|
|
26
29
|
disabled = false,
|
|
27
30
|
editedProductSet,
|
|
31
|
+
productSetId,
|
|
32
|
+
productSets,
|
|
28
33
|
}: IntervalInputProps) {
|
|
29
34
|
const { t } = useTranslation(["Design", "Validation"]);
|
|
30
35
|
const {
|
|
@@ -42,6 +47,7 @@ export function IntervalInput({
|
|
|
42
47
|
const start = watch("start");
|
|
43
48
|
const end = watch("end");
|
|
44
49
|
const [recurrent, setRecurrent] = useState(Boolean(rrule));
|
|
50
|
+
const [isOverriden, setIsOverriden] = useState(false);
|
|
45
51
|
const recurrentId = useId();
|
|
46
52
|
|
|
47
53
|
const startDateInput = useRef<HTMLInputDateElement | null>(null);
|
|
@@ -66,6 +72,18 @@ export function IntervalInput({
|
|
|
66
72
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
67
73
|
}, [editedProductSet]);
|
|
68
74
|
|
|
75
|
+
useEffect(() => {
|
|
76
|
+
if (!productSets) return;
|
|
77
|
+
|
|
78
|
+
const isOverridenProductSet = productSets.find(
|
|
79
|
+
(productSet) =>
|
|
80
|
+
(editedProductSet && productSet?.id === editedProductSet?.id) ||
|
|
81
|
+
(Boolean(productSet?.parentMenuId) && productSet?.id === productSetId)
|
|
82
|
+
);
|
|
83
|
+
|
|
84
|
+
setIsOverriden(Boolean(isOverridenProductSet));
|
|
85
|
+
}, [productSets, productSetId, setIsOverriden, editedProductSet]);
|
|
86
|
+
|
|
69
87
|
return (
|
|
70
88
|
<>
|
|
71
89
|
<Form.Row className="interval-container">
|
|
@@ -129,9 +147,11 @@ export function IntervalInput({
|
|
|
129
147
|
{t("reccurentDescription", { item: t("event") })}
|
|
130
148
|
</Form.Text>
|
|
131
149
|
)}
|
|
132
|
-
<WarningMessage message={t("recurrentOverridesWarining")} />
|
|
133
150
|
</Form.Group>
|
|
134
151
|
)}
|
|
152
|
+
{isOverriden && (
|
|
153
|
+
<WarningMessage message={t("recurrentOverridesWarining")} />
|
|
154
|
+
)}
|
|
135
155
|
{recurrent && start && (
|
|
136
156
|
<Form.Group>
|
|
137
157
|
<Controller
|
|
@@ -121,6 +121,7 @@ export const EditEventForm = ({
|
|
|
121
121
|
|
|
122
122
|
const visible = watch("visible");
|
|
123
123
|
const editedProductSet = watch("editedProductSet");
|
|
124
|
+
const productSetId = watch("productSetId");
|
|
124
125
|
|
|
125
126
|
const {
|
|
126
127
|
images,
|
|
@@ -267,6 +268,8 @@ export const EditEventForm = ({
|
|
|
267
268
|
<IntervalInput
|
|
268
269
|
key={watch("rrule")}
|
|
269
270
|
disabled={disabled}
|
|
271
|
+
productSetId={productSetId}
|
|
272
|
+
productSets={productSets}
|
|
270
273
|
editedProductSet={editedProductSet}
|
|
271
274
|
/>
|
|
272
275
|
{categories.length !== 0 && (
|
|
@@ -92,6 +92,7 @@ export const EmailTemplateControl = React.forwardRef(
|
|
|
92
92
|
|
|
93
93
|
useEffect(() => {
|
|
94
94
|
if (!permanentImages.length) return;
|
|
95
|
+
|
|
95
96
|
setValue("imagesMetadata", permanentImages);
|
|
96
97
|
}, [permanentImages, setValue]);
|
|
97
98
|
|
|
@@ -107,13 +108,15 @@ export const EmailTemplateControl = React.forwardRef(
|
|
|
107
108
|
}, [defaultAttachments]);
|
|
108
109
|
|
|
109
110
|
useEffect(() => {
|
|
110
|
-
if (!options
|
|
111
|
+
if (!options?.length) return;
|
|
112
|
+
|
|
111
113
|
const fileSelectorOptions = options.find(
|
|
112
114
|
(option) => option.type === OPTION_TYPE.files_selector
|
|
113
115
|
);
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
116
|
+
|
|
117
|
+
if (!fileSelectorOptions?.selectedValue) return;
|
|
118
|
+
|
|
119
|
+
setIsIncludePDF(true);
|
|
117
120
|
}, [options]);
|
|
118
121
|
|
|
119
122
|
const handleDeleteEmailImage = (content) => {
|
|
@@ -337,7 +340,7 @@ export const EmailTemplateControl = React.forwardRef(
|
|
|
337
340
|
isLoading={isAttachmentLoading}
|
|
338
341
|
/>
|
|
339
342
|
</Row>
|
|
340
|
-
{options
|
|
343
|
+
{options?.length > 0 && (
|
|
341
344
|
<Row>
|
|
342
345
|
<Form.Group as={Col}>
|
|
343
346
|
{options.map((option) => {
|
|
@@ -405,6 +408,26 @@ export const EmailTemplateControl = React.forwardRef(
|
|
|
405
408
|
</>
|
|
406
409
|
);
|
|
407
410
|
}
|
|
411
|
+
|
|
412
|
+
if (option.type === OPTION_TYPE.days_reminder) {
|
|
413
|
+
return (
|
|
414
|
+
<>
|
|
415
|
+
<Form.Label className="mt-4">
|
|
416
|
+
{t(`Design:${option.name}`)}
|
|
417
|
+
</Form.Label>
|
|
418
|
+
<Form.Control
|
|
419
|
+
{...register(
|
|
420
|
+
`templateOptionValues.${option?.id}.value` as any
|
|
421
|
+
)}
|
|
422
|
+
type="number"
|
|
423
|
+
placeholder={t(`Design:${option.name}`)}
|
|
424
|
+
id={option.name + option.id}
|
|
425
|
+
/>
|
|
426
|
+
<Form.Text>{option.description}</Form.Text>
|
|
427
|
+
</>
|
|
428
|
+
);
|
|
429
|
+
}
|
|
430
|
+
|
|
408
431
|
return null;
|
|
409
432
|
})}
|
|
410
433
|
</Form.Group>
|
|
@@ -185,6 +185,7 @@ Default.args = {
|
|
|
185
185
|
notificationType: "confirmation",
|
|
186
186
|
type: "checkbox",
|
|
187
187
|
defaultValue: "true",
|
|
188
|
+
descrption: "",
|
|
188
189
|
},
|
|
189
190
|
{
|
|
190
191
|
id: 12,
|
|
@@ -192,6 +193,7 @@ Default.args = {
|
|
|
192
193
|
notificationType: "confirmation",
|
|
193
194
|
type: "checkbox",
|
|
194
195
|
defaultValue: "false",
|
|
196
|
+
descrption: "",
|
|
195
197
|
},
|
|
196
198
|
{
|
|
197
199
|
selectedValue: "invoice",
|
|
@@ -201,6 +203,17 @@ Default.args = {
|
|
|
201
203
|
type: "files_selector",
|
|
202
204
|
defaultValue:
|
|
203
205
|
'{"confirmation":"Confirmation / Function Sheet","invoice":"Invoice"}',
|
|
206
|
+
descrption: "",
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
id: 13,
|
|
210
|
+
name: "days_reminder",
|
|
211
|
+
notificationType: "confirmation",
|
|
212
|
+
type: "days_reminder",
|
|
213
|
+
defaultValue: "",
|
|
214
|
+
description: `N.B. Add positive integer for days before the event, or negative for days after the event.
|
|
215
|
+
E.g. if you want this remainder to be send 2 days before the event, enter 2.
|
|
216
|
+
If you want this to be send 3 days after the event enter -3.`,
|
|
204
217
|
},
|
|
205
218
|
],
|
|
206
219
|
defaultValues: {
|
|
@@ -43,9 +43,10 @@ export interface EmailTemplateProps extends HasPermissionProp {
|
|
|
43
43
|
serverErrors?: ServerError;
|
|
44
44
|
notificationTypes?: NotificationType[];
|
|
45
45
|
getDefaultTemplateMetaByType?: (type?: NotificationType | null) => string;
|
|
46
|
+
onTypeChange?: (type?: NotificationType | null) => void;
|
|
46
47
|
}
|
|
47
48
|
|
|
48
|
-
export
|
|
49
|
+
export const EmailTemplateForm = ({
|
|
49
50
|
defaultValues,
|
|
50
51
|
onSubmitSave,
|
|
51
52
|
onSubmitSaveAndSend,
|
|
@@ -55,7 +56,8 @@ export function EmailTemplateForm({
|
|
|
55
56
|
serverErrors,
|
|
56
57
|
notificationTypes = [],
|
|
57
58
|
getDefaultTemplateMetaByType,
|
|
58
|
-
|
|
59
|
+
onTypeChange,
|
|
60
|
+
}: EmailTemplateProps) => {
|
|
59
61
|
const { t } = useTranslation("Design");
|
|
60
62
|
const [isLoading, setIsLoading] = useState(false);
|
|
61
63
|
const emailEditorRef = useRef(null);
|
|
@@ -65,12 +67,20 @@ export function EmailTemplateForm({
|
|
|
65
67
|
defaultValues,
|
|
66
68
|
});
|
|
67
69
|
|
|
68
|
-
const { setError } = form;
|
|
70
|
+
const { setError, watch } = form;
|
|
71
|
+
const type = watch("type");
|
|
69
72
|
|
|
70
73
|
useEffect(() => {
|
|
71
74
|
FormErrorService.handleServerErrors(serverErrors, setError);
|
|
72
75
|
}, [serverErrors, setError]);
|
|
73
76
|
|
|
77
|
+
useEffect(() => {
|
|
78
|
+
if (!onTypeChange) return;
|
|
79
|
+
|
|
80
|
+
onTypeChange(type);
|
|
81
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
82
|
+
}, [type]);
|
|
83
|
+
|
|
74
84
|
return (
|
|
75
85
|
<FormProvider {...form}>
|
|
76
86
|
{isLoading && <BlockLoader />}
|
|
@@ -114,4 +124,4 @@ export function EmailTemplateForm({
|
|
|
114
124
|
</Form>
|
|
115
125
|
</FormProvider>
|
|
116
126
|
);
|
|
117
|
-
}
|
|
127
|
+
};
|