@licklist/design 0.44.513 → 0.44.515

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.
@@ -1 +1 @@
1
- {"version":3,"file":"MapPoint.d.ts","sourceRoot":"","sources":["../../../../../src/events/event-venue-map/components/MapPoint/MapPoint.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,kDAAkD,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAO1C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,aAAK,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,GACjC,WAAW,GAAG;IACZ,gBAAgB,EAAE,CAAC,IAAI,CAAC,EAAE,mBAAmB,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;IACjE,YAAY,EAAE,OAAO,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,0BAA0B,CAAC,EAAE,MAAM,EAAE,CAAC;IACtC,SAAS,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;CAClC,CAAC;AAEJ,eAAO,MAAM,QAAQ,sMAclB,aAAa,gBAqHf,CAAC"}
1
+ {"version":3,"file":"MapPoint.d.ts","sourceRoot":"","sources":["../../../../../src/events/event-venue-map/components/MapPoint/MapPoint.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,kDAAkD,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAO1C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,aAAK,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,GACjC,WAAW,GAAG;IACZ,gBAAgB,EAAE,CAAC,IAAI,CAAC,EAAE,mBAAmB,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;IACjE,YAAY,EAAE,OAAO,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,0BAA0B,CAAC,EAAE,MAAM,EAAE,CAAC;IACtC,SAAS,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;CAClC,CAAC;AAEJ,eAAO,MAAM,QAAQ,sMAclB,aAAa,gBAsHf,CAAC"}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,n=require("tslib"),o=require("react"),t=(e=o)&&"object"==typeof e&&"default"in e?e.default:e,i=require("@licklist/plugins/dist/context/event/EventVenueMapContext"),r=require("react-konva"),u=require("../../utils/index.js"),c=require("./components/PointIcon/PointIcon.js"),d=require("./components/ProductIcon/ProductIcon.js");exports.MapPoint=function(e){var s=e.xCoordinate,l=e.yCoordinate,a=e.id,f=e.imageOffsetX,p=e.imageOffsetY,v=e.imageScale,m=e.localId,P=e.pointNumber,I=e.changeCursorType,x=e.usedInIframe,C=e.choosedProductUuids,M=void 0===C?[]:C,O=e.errorOnChoosedProductUuids,g=void 0===O?[]:O,E=e.isSoldOut,y=o.useContext(i.EventVenueMapContext),b=y.setActiveElementKey,h=y.activeElementKey,q=y.setMapPoints,U=y.editMode,j=y.mapPointProducts,S=n.__read(u.calculatePointsCoordinates(s,l,{imageScale:v,imageOffsetX:f,imageOffsetY:p}),2),B=S[0],_=S[1],k=String(a||m),A=k===h,K=j.find((function(e){return a&&e.pointId&&e.pointId===a})),N=Boolean(j.find((function(e){return M.includes(null==e?void 0:e.productUuid)&&M.includes(null==K?void 0:K.productUuid)}))),T=Boolean(j.find((function(e){return g.includes(null==e?void 0:e.productUuid)&&g.includes(null==K?void 0:K.productUuid)}))),V=function(){q((function(e){var n=e.slice(),o=n.find((function(e){return a&&e.id===a||m&&e.localId===m})),t=n.indexOf(o);return n.splice(t,1),n.push(o),n}))},X=function(e){e.cancelBubble=!0,A||E||(b(k),V())};return t.createElement(r.Group,{onClick:X,onTap:X,onMouseEnter:function(){V(),I("pointer")},onMouseLeave:function(){I()}},x?t.createElement(d.ProductIcon,{x:B,y:_,isSoldOut:E,isActive:A,isProductChoosed:N,isErrorOnChoosedProduct:T}):t.createElement(c.PointIcon,{x:B,y:_,isActive:A,hasProduct:!E&&Boolean(K),pointNumber:P,onDelete:function(){b(),I(),q((function(e){return u.removeMapPointFromPoints(e,a,m)}))},editMode:U}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,n=require("tslib"),o=require("react"),t=(e=o)&&"object"==typeof e&&"default"in e?e.default:e,i=require("@licklist/plugins/dist/context/event/EventVenueMapContext"),r=require("react-konva"),u=require("../../utils/index.js"),c=require("./components/PointIcon/PointIcon.js"),d=require("./components/ProductIcon/ProductIcon.js");exports.MapPoint=function(e){var s=e.xCoordinate,l=e.yCoordinate,a=e.id,f=e.imageOffsetX,p=e.imageOffsetY,v=e.imageScale,m=e.localId,P=e.pointNumber,I=e.changeCursorType,x=e.usedInIframe,C=e.choosedProductUuids,M=void 0===C?[]:C,O=e.errorOnChoosedProductUuids,g=void 0===O?[]:O,E=e.isSoldOut,y=o.useContext(i.EventVenueMapContext),b=y.setActiveElementKey,h=y.activeElementKey,q=y.setMapPoints,U=y.editMode,j=y.mapPointProducts,S=n.__read(u.calculatePointsCoordinates(s,l,{imageScale:v,imageOffsetX:f,imageOffsetY:p}),2),B=S[0],_=S[1],k=String(a||m),A=k===h,K=j.find((function(e){return a&&e.pointId&&e.pointId===a})),N=Boolean(j.find((function(e){return M.includes(null==e?void 0:e.productUuid)&&M.includes(null==K?void 0:K.productUuid)}))),T=Boolean(j.find((function(e){return g.includes(null==e?void 0:e.productUuid)&&g.includes(null==K?void 0:K.productUuid)}))),V=function(){q((function(e){var n=e.slice(),o=n.find((function(e){return a&&e.id===a||m&&e.localId===m})),t=n.indexOf(o);return n.splice(t,1),n.push(o),n}))},X=function(e){e.cancelBubble=!0,A||E&&x||(b(k),V())};return t.createElement(r.Group,{onClick:X,onTap:X,onMouseEnter:function(){V(),I("pointer")},onMouseLeave:function(){I()}},x?t.createElement(d.ProductIcon,{x:B,y:_,isSoldOut:E,isActive:A,isProductChoosed:N,isErrorOnChoosedProduct:T}):t.createElement(c.PointIcon,{x:B,y:_,isActive:A,hasProduct:Boolean(K),pointNumber:P,onDelete:function(){b(),I(),q((function(e){return u.removeMapPointFromPoints(e,a,m)}))},editMode:U}))};
@@ -1 +1 @@
1
- {"version":3,"file":"ProductCategoriesControl.d.ts","sourceRoot":"","sources":["../../../src/product-set/form/ProductCategoriesControl.tsx"],"names":[],"mappings":";AAYA,OAAO,EAKL,YAAY,EACb,MAAM,kEAAkE,CAAC;AAQ1E,OAAO,EAAwB,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAQvE,UAAU,6BAA8B,SAAQ,aAAa;IAC3D,SAAS,EAAE,MAAM,CAAC;CACnB;AA4BD,wBAAgB,wBAAwB,CAAC,EACvC,SAAS,EACT,SAAS,GACV,EAAE,6BAA6B,eAyR/B;AAED,eAAO,MAAM,cAAc,iBACX,YAAY,SACnB,MAAM;WACH,MAAM;eAAa,MAAM;CAcpC,CAAC"}
1
+ {"version":3,"file":"ProductCategoriesControl.d.ts","sourceRoot":"","sources":["../../../src/product-set/form/ProductCategoriesControl.tsx"],"names":[],"mappings":";AAYA,OAAO,EAKL,YAAY,EACb,MAAM,kEAAkE,CAAC;AAQ1E,OAAO,EAAwB,aAAa,EAAE,MAAM,kBAAkB,CAAC;AASvE,UAAU,6BAA8B,SAAQ,aAAa;IAC3D,SAAS,EAAE,MAAM,CAAC;CACnB;AA4BD,wBAAgB,wBAAwB,CAAC,EACvC,SAAS,EACT,SAAS,GACV,EAAE,6BAA6B,eAiS/B;AAED,eAAO,MAAM,cAAc,iBACX,YAAY,SACnB,MAAM;WACH,MAAM;eAAa,MAAM;CAcpC,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"),n=e(r),o=require("react-i18next"),i=require("react-bootstrap"),a=require("react-hook-form"),u=e(require("@licklist/plugins/dist/services/Form/HookFormService")),d=e(require("clsx")),l=require("@dnd-kit/core"),s=require("lodash"),c=require("../../sortable-tree/SortableTreeItem.js"),m=require("../../sortable-tree/SortableTree.js"),p=require("../item/CreateProductSetItem.js"),g=require("./context.js"),v=require("@licklist/core/dist/DataMapper/Product/ProductCategoryDataMapper"),f=require("../product-category/ProductCategoryControl.js"),y=require("./ProductsControl.js"),C=require("./SelectCategoryModal.js"),E=require("./VenueMapSetModal.js"),_=require("../utils/index.js");var b=function(e,t){return e===v.CATEGORY_TYPE_GAME?{className:"game-badge",label:t}:e===v.CATEGORY_TYPE_FIXED_DURATION?{className:"fixed-duration-badge",label:t}:null};exports.ProductCategoriesControl=function(e){var I,S,q,T,x,P,N=e.isLoading,M=e.stepIndex,A=o.useTranslation("Design").t,h=r.useContext(g.ProductSetLoadingContext),k=h.providerHasMap,j=h.expandedProductCategories,D=h.setExpandedProductCategories,R=a.useFormContext(),V=t.__read(r.useState(!1),2),Y=V[0],F=V[1],O=t.__read(r.useState(!1),2),B=O[0],L=O[1],w=t.__read(r.useState(!1),2),G=w[0],H=w[1],U=R.control,Q=R.formState.errors,K=R.clearErrors,z=R.watch,W=R.trigger,X=R.getValues,J=R.setValue,Z=z("steps.".concat(M,".hasMap"))||!1,$="steps.".concat(M,".productCategories"),ee=a.useFieldArray({name:$,control:U,keyName:"_id"}),te=ee.fields,re=ee.append,ne=ee.remove,oe=t.__read(r.useState([]),2),ie=oe[0],ae=oe[1],ue=a.useWatch({control:U,name:$}),de=null===(S=null===(I=null==Q?void 0:Q.steps)||void 0===I?void 0:I[M])||void 0===S?void 0:S.productCategories,le=null===(T=null===(q=null==Q?void 0:Q.steps)||void 0===q?void 0:q[M])||void 0===T?void 0:T.venueMapSetId,se=null===(P=null===(x=null==Q?void 0:Q.steps)||void 0===x?void 0:x[M])||void 0===P?void 0:P.pointProducts,ce=Boolean(le||se),me=l.useSensor(l.MouseSensor,{activationConstraint:{distance:10}});return r.useEffect((function(){ue&&ue.length&&ue.forEach((function(e){var r,n,o=null===(r=e.products)||void 0===r?void 0:r.reduce((function(e,t){return e+Number(t.price)*Number(t.totalQuantity)}),0),i=null===(n=e.products)||void 0===n?void 0:n.reduce((function(e,t){return e+(t.isUnlimited?0:Number(t.totalQuantity))}),0);ae((function(r){var n;return t.__assign(t.__assign({},r),((n={})[(null==e?void 0:e.id)||e.uniqueId]={price:o,quantity:i},n))}))}))}),[ue]),r.useEffect((function(){1===te.length&&D((function(e){var r,n,o;return t.__assign(t.__assign({},e),((r={})[String((null===(n=te[0])||void 0===n?void 0:n.id)||(null===(o=te[0])||void 0===o?void 0:o.uniqueId))]=!0,r))}))}),[te]),n.createElement(n.Fragment,null,n.createElement(m.SortableTree,{sensors:[me],items:te.map((function(e){return String(e._id)})),onDragEnd:function(e){var t=e.active,r=e.over;if(t&&r&&(null==t?void 0:t.id)&&(null==r?void 0:r.id)){var n=te.findIndex((function(e){return e._id===t.id})),o=te.findIndex((function(e){return e._id===r.id}));if(n!==o){var i=X($);if(i){var a=_.sortArrayByIndex(_.moveArrayElements(i,n,o));J($,a)}}}}},te.map((function(e,r){var o=(null==e?void 0:e.id)?String(e.id):e.uniqueId,u=function(){!function(e){D((function(r){var n;return t.__assign(t.__assign({},r),((n={})[e]=!r[e],n))}))}(o)};return n.createElement(a.Controller,{key:"product-category-".concat(e._id),name:"".concat($,".").concat(r,".name"),control:U,rules:{required:A("Validation:fieldRequired",{attribute:A("name")})},render:function(t){var a,d,l,s=t.field,p=s.value,g=s.onChange;return n.createElement(m.SortableTree.Item,{id:e._id,title:p,isExpanded:j[o],setIsExpanded:u,isInvalid:!!de,badge:n.createElement(i.Badge,{className:"category-badge"},A("productCategory")),isIconInHeader:!1,subTitle:n.createElement("div",{className:"product-set-badges-container"},n.createElement("div",{className:"product-set-subtitle-dot product-set-subtitle-category-dot"}),n.createElement("span",null,null!==(l=null===(d=ie[null!==(a=null==e?void 0:e.id)&&void 0!==a?a:e.uniqueId])||void 0===d?void 0:d.quantity)&&void 0!==l?l:"N/A"," ",A("products"))),treeLineIconColor:"#1A93AA",modalLabel:A("addNewCategory"),secondaryBadge:b(e.type,A(e.type)),modalClass:c.ProductSetModalClasses.category,isNewAdded:G,body:n.createElement(f.ProductCategoryControl,{isLoading:N,onCategoryNameChange:g,categoryName:p,stepIndex:M,productCategoryIndex:r}),onDelete:function(){return ne(r)},validate:function(){return W("steps.".concat(M,".productCategories.").concat(r))},sortableItems:e.products?e.products.filter((function(e){return e.id})).map((function(e){var t=e.id;return String(t)})):[]},n.createElement(y.ProductsControl,{isLoading:N,quantityType:e.quantityType,hasTicket:null==e?void 0:e.hasTicket,stepIndex:M,productCategoryIndex:r,categoryType:e.type}))}})}))),n.createElement(p.CreateProductSetItem,{title:A("addCategory"),onClick:function(){F(!0)}}),n.createElement(C.SelectCategoryModal,{isVisible:Y,onHide:function(){return F(!1)},onCategorySelect:function(e){re(function(e,t){return{id:null,uniqueId:s.uniqueId("product-category"),name:"",minSubItems:null,maxSubItems:null,quantityType:v.QUANTITY_TYPE_STANDARD,type:e,isRelyOnPeople:e===v.CATEGORY_TYPE_TICKETS,isTimeRelated:!1,collectUserInfo:!1,hasTicket:e===v.CATEGORY_TYPE_TICKETS,allowDeposits:!1,remainderExpireAfter:void 0,hasBookingManagement:!1,weight:0,isReusable:!1,hasSubEvents:!1,products:[],zoneId:null,sort:t}}(e,te.length)),H(!0),(null==de?void 0:de.type)===u.manualErrorType&&K($)}}),k&&Z&&n.createElement(n.Fragment,null,n.createElement(p.CreateProductSetItem,{title:A("editMap"),onClick:function(){L(!0)},className:d("mt-3",ce&&"mb-3",ce&&"is-invalid")}),ce&&n.createElement("div",{className:"manual-form-error"},le&&A("Validation:fieldRequired",{attribute:A("Design:venueMapSet")}),se&&A("Validation:fieldMinNumber",{attribute:A("pointProduct"),min:1})),n.createElement(E.VenueMapSetModal,{isVisible:B,setIsVisible:L,stepIndex:M})),n.createElement("div",{className:"manual-form-error"},de&&de.message))},exports.getBadgeConfig=b;
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"),n=e(r),i=require("react-i18next"),o=require("react-bootstrap"),a=require("react-hook-form"),u=e(require("@licklist/plugins/dist/services/Form/HookFormService")),d=e(require("clsx")),l=require("@dnd-kit/core"),s=require("lodash"),c=require("../../sortable-tree/SortableTreeItem.js"),m=require("../../sortable-tree/SortableTree.js"),p=require("../hooks/useSortableTreeFunctions.js"),v=require("../item/CreateProductSetItem.js"),g=require("./context.js"),f=require("@licklist/core/dist/DataMapper/Product/ProductCategoryDataMapper"),y=require("../product-category/ProductCategoryControl.js"),C=require("./ProductsControl.js"),E=require("./SelectCategoryModal.js"),b=require("./VenueMapSetModal.js"),_=require("../utils/index.js");var I=function(e,t){return e===f.CATEGORY_TYPE_GAME?{className:"game-badge",label:t}:e===f.CATEGORY_TYPE_FIXED_DURATION?{className:"fixed-duration-badge",label:t}:null};exports.ProductCategoriesControl=function(e){var S,q,T,x,P,N,h=e.isLoading,M=e.stepIndex,A=i.useTranslation("Design").t,k=r.useContext(g.ProductSetLoadingContext),j=k.providerHasMap,V=k.expandedProductCategories,D=k.setExpandedProductCategories,F=a.useFormContext(),R=t.__read(r.useState(!1),2),Y=R[0],O=R[1],B=t.__read(r.useState(!1),2),L=B[0],w=B[1],G=t.__read(r.useState(!1),2),H=G[0],U=G[1],Q=F.control,K=F.formState.errors,z=F.clearErrors,W=F.watch,X=F.trigger,J=F.getValues,Z=F.setValue,$=W("steps.".concat(M,".hasMap"))||!1,ee="steps.".concat(M,".productCategories"),te=a.useFieldArray({name:ee,control:Q,keyName:"_id"}),re=te.fields,ne=te.append,ie=te.remove,oe=t.__read(r.useState([]),2),ae=oe[0],ue=oe[1],de=p.useSortableTreeFunctions({fieldName:ee,remove:ie}),le=de.edit,se=de.saveValidField,ce=de.cancelChanges,me=a.useWatch({control:Q,name:ee}),pe=null===(q=null===(S=null==K?void 0:K.steps)||void 0===S?void 0:S[M])||void 0===q?void 0:q.productCategories,ve=null===(x=null===(T=null==K?void 0:K.steps)||void 0===T?void 0:T[M])||void 0===x?void 0:x.venueMapSetId,ge=null===(N=null===(P=null==K?void 0:K.steps)||void 0===P?void 0:P[M])||void 0===N?void 0:N.pointProducts,fe=Boolean(ve||ge),ye=l.useSensor(l.MouseSensor,{activationConstraint:{distance:10}});return r.useEffect((function(){me&&me.length&&me.forEach((function(e){var r,n,i=null===(r=e.products)||void 0===r?void 0:r.reduce((function(e,t){return e+Number(t.price)*Number(t.totalQuantity)}),0),o=null===(n=e.products)||void 0===n?void 0:n.reduce((function(e,t){return e+(t.isUnlimited?0:Number(t.totalQuantity))}),0);ue((function(r){var n;return t.__assign(t.__assign({},r),((n={})[(null==e?void 0:e.id)||e.uniqueId]={price:i,quantity:o},n))}))}))}),[me]),r.useEffect((function(){1===re.length&&D((function(e){var r,n,i;return t.__assign(t.__assign({},e),((r={})[String((null===(n=re[0])||void 0===n?void 0:n.id)||(null===(i=re[0])||void 0===i?void 0:i.uniqueId))]=!0,r))}))}),[re]),n.createElement(n.Fragment,null,n.createElement(m.SortableTree,{sensors:[ye],items:re.map((function(e){return String(e._id)})),onDragEnd:function(e){var t=e.active,r=e.over;if(t&&r&&(null==t?void 0:t.id)&&(null==r?void 0:r.id)){var n=re.findIndex((function(e){return e._id===t.id})),i=re.findIndex((function(e){return e._id===r.id}));if(n!==i){var o=J(ee);if(o){var a=_.sortArrayByIndex(_.moveArrayElements(o,n,i));Z(ee,a)}}}}},re.map((function(e,r){var i=(null==e?void 0:e.id)?String(e.id):e.uniqueId,u=function(){!function(e){D((function(r){var n;return t.__assign(t.__assign({},r),((n={})[e]=!r[e],n))}))}(i)};return n.createElement(a.Controller,{key:"product-category-".concat(e._id),name:"".concat(ee,".").concat(r,".name"),control:Q,rules:{required:A("Validation:fieldRequired",{attribute:A("name")})},render:function(t){var a,d,l,s=t.field,p=s.value,v=s.onChange;return n.createElement(m.SortableTree.Item,{id:e._id,title:p,isExpanded:V[i],setIsExpanded:u,edit:function(){return le(r)},cancelChanges:function(){return ce(r)},isInvalid:!!pe,badge:n.createElement(o.Badge,{className:"category-badge"},A("productCategory")),isIconInHeader:!1,subTitle:n.createElement("div",{className:"product-set-badges-container"},n.createElement("div",{className:"product-set-subtitle-dot product-set-subtitle-category-dot"}),n.createElement("span",null,null!==(l=null===(d=ae[null!==(a=null==e?void 0:e.id)&&void 0!==a?a:e.uniqueId])||void 0===d?void 0:d.quantity)&&void 0!==l?l:"N/A"," ",A("products"))),treeLineIconColor:"#1A93AA",modalLabel:A("addNewCategory"),secondaryBadge:I(e.type,A(e.type)),modalClass:c.ProductSetModalClasses.category,isNewAdded:H,body:n.createElement(y.ProductCategoryControl,{isLoading:h,onCategoryNameChange:v,categoryName:p,stepIndex:M,productCategoryIndex:r}),onDelete:function(){return ie(r)},validate:function(){return X("steps.".concat(M,".productCategories.").concat(r))},saveValidField:se,sortableItems:e.products?e.products.filter((function(e){return e.id})).map((function(e){var t=e.id;return String(t)})):[]},n.createElement(C.ProductsControl,{isLoading:h,quantityType:e.quantityType,hasTicket:null==e?void 0:e.hasTicket,stepIndex:M,productCategoryIndex:r,categoryType:e.type}))}})}))),n.createElement(v.CreateProductSetItem,{title:A("addCategory"),onClick:function(){O(!0)}}),n.createElement(E.SelectCategoryModal,{isVisible:Y,onHide:function(){return O(!1)},onCategorySelect:function(e){ne(function(e,t){return{id:null,uniqueId:s.uniqueId("product-category"),name:"",minSubItems:null,maxSubItems:null,quantityType:f.QUANTITY_TYPE_STANDARD,type:e,isRelyOnPeople:e===f.CATEGORY_TYPE_TICKETS,isTimeRelated:!1,collectUserInfo:!1,hasTicket:e===f.CATEGORY_TYPE_TICKETS,allowDeposits:!1,remainderExpireAfter:void 0,hasBookingManagement:!1,weight:0,isReusable:!1,hasSubEvents:!1,products:[],zoneId:null,sort:t}}(e,re.length)),U(!0),(null==pe?void 0:pe.type)===u.manualErrorType&&z(ee)}}),j&&$&&n.createElement(n.Fragment,null,n.createElement(v.CreateProductSetItem,{title:A("editMap"),onClick:function(){w(!0)},className:d("mt-3",fe&&"mb-3",fe&&"is-invalid")}),fe&&n.createElement("div",{className:"manual-form-error"},ve&&A("Validation:fieldRequired",{attribute:A("Design:venueMapSet")}),ge&&A("Validation:fieldMinNumber",{attribute:A("pointProduct"),min:1})),n.createElement(b.VenueMapSetModal,{isVisible:L,setIsVisible:w,stepIndex:M})),n.createElement("div",{className:"manual-form-error"},pe&&pe.message))},exports.getBadgeConfig=I;
@@ -1 +1 @@
1
- {"version":3,"file":"ProductsControl.d.ts","sourceRoot":"","sources":["../../../src/product-set/form/ProductsControl.tsx"],"names":[],"mappings":";AAeA,OAAO,EAAE,YAAY,EAAE,MAAM,kEAAkE,CAAC;AAChG,OAAO,EAAkB,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,IAAI,CAAC;AAI/E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAOjD,UAAU,oBAAqB,SAAQ,aAAa;IAClD,YAAY,EAAE,mBAAmB,CAAC,oBAAoB,CAAC,CAAC,cAAc,CAAC,CAAC;IACxE,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,YAAY,CAAC;CAC5B;AAmCD,wBAAgB,eAAe,CAAC,EAC9B,SAAS,EACT,YAAY,EACZ,SAAS,EACT,oBAAoB,EACpB,SAAS,EACT,YAAY,GACb,EAAE,oBAAoB,eAqMtB"}
1
+ {"version":3,"file":"ProductsControl.d.ts","sourceRoot":"","sources":["../../../src/product-set/form/ProductsControl.tsx"],"names":[],"mappings":";AAeA,OAAO,EAAE,YAAY,EAAE,MAAM,kEAAkE,CAAC;AAChG,OAAO,EAAkB,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,IAAI,CAAC;AAI/E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAQjD,UAAU,oBAAqB,SAAQ,aAAa;IAClD,YAAY,EAAE,mBAAmB,CAAC,oBAAoB,CAAC,CAAC,cAAc,CAAC,CAAC;IACxE,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,YAAY,CAAC;CAC5B;AAmCD,wBAAgB,eAAe,CAAC,EAC9B,SAAS,EACT,YAAY,EACZ,SAAS,EACT,oBAAoB,EACpB,SAAS,EACT,YAAY,GACb,EAAE,oBAAoB,eA8MtB"}
@@ -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),n=require("react-i18next"),a=require("react-bootstrap"),i=require("react-hook-form"),c=e(require("@licklist/plugins/dist/services/Form/HookFormService")),u=require("@dnd-kit/core"),d=require("lodash");require("../elements/DeleteFieldButton.js");var s=require("../../sortable-tree/SortableTreeItem.js"),l=require("../../sortable-tree/SortableTree.js");require("../card/ProductSetCard.js");var p=require("../item/CreateProductSetItem.js");require("../step/StepControl.js"),require("../product-category/ProductCategoryControl.js");var m=require("@licklist/core/dist/DataMapper/Product/ProductDataMapper"),g=require("@licklist/core/dist/Services");require("../product/booking-management/ProductBookingManagementControl.js"),require("../product/deposit/ProductDepositControl.js"),require("../product/quantity/ProductQuantityControl.js"),require("../product/quantity/ProductQuantityConstantControl.js"),require("../product/quantity/ProductQuantityRechargingControl.js");var v=require("../product/ProductControl.js"),q=require("./SubProductsControl.js"),y=require("./ProductCategoriesControl.js");require("../control/ProductSetControl.js"),require("../deposit-paid/ProductSetDepositPaidControl.js"),require("./ProductSetForm.js"),require("../popover/ProductSetPopover.js"),require("../tabs/ProductSetTab.js"),require("../tabs/ProductSetTabs.js");exports.ProductsControl=function(e){var f,C,P,b,S=e.isLoading,_=e.quantityType,j=e.stepIndex,T=e.productCategoryIndex,E=e.hasTicket,h=e.categoryType,I=n.useTranslation("Design").t,k=i.useFormContext(),x=t.__read(r.useState(!1),2),D=x[0],N=x[1],A=k.control,F=k.formState.errors,M=k.clearErrors,Q=k.trigger,w=k.setValue,B=k.watch,U=k.getValues,L="steps.".concat(j,".productCategories.").concat(T,".products"),R="steps.".concat(j,".pointProducts"),O=i.useFieldArray({name:L,control:A,keyName:"_id"}),V=O.fields,W=O.append,H=O.remove,z=O.move,G=B("steps.".concat(j,".productCategories.").concat(T,".allowDeposits")),Y=i.useWatch({control:A,name:t.__spreadArray([],t.__read(V.map((function(e,t){return"".concat(L,".").concat(t,".price")}))),!1)}),J=i.useWatch({control:A,name:t.__spreadArray([],t.__read(V.map((function(e,t){return"".concat(L,".").concat(t,".totalQuantity")}))),!1)}),K=i.useWatch({control:A,name:t.__spreadArray([],t.__read(V.map((function(e,t){return"".concat(L,".").concat(t,".isUnlimited")}))),!1)}),X=null===(b=null===(P=null===(C=null===(f=null==F?void 0:F.steps)||void 0===f?void 0:f[j])||void 0===C?void 0:C.productCategories)||void 0===P?void 0:P[T])||void 0===b?void 0:b.products,Z=1===V.length,$=u.useSensor(u.MouseSensor,{activationConstraint:{distance:10}});return o.createElement(o.Fragment,null,o.createElement(l.SortableTree,{items:V.map((function(e){return String(e._id)})),onDragEnd:function(e){var t=e.active,r=e.over;if(t&&r&&(null==t?void 0:t.id)&&(null==r?void 0:r.id)){var o=V.findIndex((function(e){return e._id===t.id})),n=V.findIndex((function(e){return e._id===r.id}));o!==n&&(z(o,n),V.forEach((function(e,t){w("".concat(L,".").concat(t,".sort"),t)})))}},sensors:[$]},V.map((function(e,t){return o.createElement(i.Controller,{key:e._id,control:A,name:"".concat(L,".").concat(t,".name"),rules:{required:I("Validation:fieldRequired",{attribute:I("name")})},render:function(r){var n=r.field,i=n.value,c=n.onChange;return o.createElement(l.SortableTree.Item,{key:"product-".concat(e._id),id:String(e._id),isExpanded:Z,isInvalid:!!X,title:i,badge:o.createElement(a.Badge,{className:"product-badge"},I("product")),isIconInHeader:!1,secondaryBadge:y.getBadgeConfig(h,I(h)),subTitle:o.createElement("div",{className:"product-set-badges-container"},o.createElement("div",{className:"product-set-subtitle-dot product-set-subtitle-product-dot"}),o.createElement("span",null,"£".concat(Y[t]," ").concat(I("each")," - ").concat(I("qty"),":").concat(K[t]?I(" unlimited"):" ".concat(J[t])," ").concat(K[t]?"":" - ".concat(I("possibleRevenue")," £").concat(Y[t]*J[t])," "))),modalLabel:I("addNewProduct"),modalClass:s.ProductSetModalClasses.product,isNewAdded:D,body:o.createElement(v.ProductControl,{isLoading:S,quantityType:_,allowDeposits:G,hasBookingManagement:!1,fieldNamePrefix:"".concat(L,".").concat(t),productName:i,onProductNameChange:c,hasTicket:E,categoryType:h}),onDelete:function(){return function(e){var t=U("".concat(L,".").concat(e)),r=U(R);w(R,(null==r?void 0:r.filter((function(e){return e.productUuid!==t.uuid})))||[]),H(e)}(t)},validate:function(){return Q("".concat(L,".").concat(t))}},o.createElement(q.SubProductsControl,{isLoading:S,quantityType:_,stepIndex:j,productCategoryIndex:T,productIndex:t}))}})}))),o.createElement(p.CreateProductSetItem,{title:I("addProduct"),onClick:function(){var e;W((e=V.length,{id:null,name:"",termsAndConditions:"",productGroupId:null,description:"",price:0,deposit:0,minQuantity:null,maxQuantity:null,totalQuantity:0,capacity:0,duration:0,isAvailable:!0,isSoldOut:!1,isRequired:!1,isUnlimited:!1,quantitySelector:1,hasSpecialNotes:!1,weight:0,type:m.DEFAULT_PRODUCT_TYPE,tierId:Number(d.uniqueId()),zoneId:null,subProducts:[],images:[],uuid:g.generateUuid(),subSlots:null,offset:null,pause:null,serviceTime:null,sort:e})),N(!0),(null==X?void 0:X.type)===c.manualErrorType&&M(L)}}),o.createElement("div",{className:"manual-form-error"},X&&X.message))};
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),n=require("react-i18next"),a=require("react-bootstrap"),i=require("react-hook-form"),c=e(require("@licklist/plugins/dist/services/Form/HookFormService")),u=require("@dnd-kit/core"),d=require("lodash");require("../elements/DeleteFieldButton.js");var s=require("../../sortable-tree/SortableTreeItem.js"),l=require("../../sortable-tree/SortableTree.js");require("../card/ProductSetCard.js");var p=require("../hooks/useSortableTreeFunctions.js"),m=require("../item/CreateProductSetItem.js");require("../step/StepControl.js"),require("../product-category/ProductCategoryControl.js");var g=require("@licklist/core/dist/DataMapper/Product/ProductDataMapper"),v=require("@licklist/core/dist/Services");require("../product/booking-management/ProductBookingManagementControl.js"),require("../product/deposit/ProductDepositControl.js"),require("../product/quantity/ProductQuantityControl.js"),require("../product/quantity/ProductQuantityConstantControl.js"),require("../product/quantity/ProductQuantityRechargingControl.js");var q=require("../product/ProductControl.js"),y=require("./SubProductsControl.js"),f=require("./ProductCategoriesControl.js");require("../control/ProductSetControl.js"),require("../deposit-paid/ProductSetDepositPaidControl.js"),require("./ProductSetForm.js"),require("../popover/ProductSetPopover.js"),require("../tabs/ProductSetTab.js"),require("../tabs/ProductSetTabs.js");exports.ProductsControl=function(e){var C,P,b,S,_=e.isLoading,j=e.quantityType,T=e.stepIndex,h=e.productCategoryIndex,E=e.hasTicket,I=e.categoryType,k=n.useTranslation("Design").t,x=i.useFormContext(),N=t.__read(r.useState(!1),2),D=N[0],F=N[1],A=x.control,M=x.formState.errors,Q=x.clearErrors,w=x.trigger,B=x.setValue,U=x.watch,L=x.getValues,R="steps.".concat(T,".productCategories.").concat(h,".products"),V="steps.".concat(T,".pointProducts"),O=i.useFieldArray({name:R,control:A,keyName:"_id"}),W=O.fields,H=O.append,z=O.remove,G=O.move,Y=p.useSortableTreeFunctions({fieldName:R,remove:z}),J=Y.edit,K=Y.saveValidField,X=Y.cancelChanges,Z=U("steps.".concat(T,".productCategories.").concat(h,".allowDeposits")),$=i.useWatch({control:A,name:t.__spreadArray([],t.__read(W.map((function(e,t){return"".concat(R,".").concat(t,".price")}))),!1)}),ee=i.useWatch({control:A,name:t.__spreadArray([],t.__read(W.map((function(e,t){return"".concat(R,".").concat(t,".totalQuantity")}))),!1)}),te=i.useWatch({control:A,name:t.__spreadArray([],t.__read(W.map((function(e,t){return"".concat(R,".").concat(t,".isUnlimited")}))),!1)}),re=null===(S=null===(b=null===(P=null===(C=null==M?void 0:M.steps)||void 0===C?void 0:C[T])||void 0===P?void 0:P.productCategories)||void 0===b?void 0:b[h])||void 0===S?void 0:S.products,oe=1===W.length,ne=u.useSensor(u.MouseSensor,{activationConstraint:{distance:10}});return o.createElement(o.Fragment,null,o.createElement(l.SortableTree,{items:W.map((function(e){return String(e._id)})),onDragEnd:function(e){var t=e.active,r=e.over;if(t&&r&&(null==t?void 0:t.id)&&(null==r?void 0:r.id)){var o=W.findIndex((function(e){return e._id===t.id})),n=W.findIndex((function(e){return e._id===r.id}));o!==n&&(G(o,n),W.forEach((function(e,t){B("".concat(R,".").concat(t,".sort"),t)})))}},sensors:[ne]},W.map((function(e,t){return o.createElement(i.Controller,{key:e._id,control:A,name:"".concat(R,".").concat(t,".name"),rules:{required:k("Validation:fieldRequired",{attribute:k("name")})},render:function(r){var n=r.field,i=n.value,c=n.onChange;return o.createElement(l.SortableTree.Item,{key:"product-".concat(e._id),id:String(e._id),isExpanded:oe,isInvalid:!!re,title:i,badge:o.createElement(a.Badge,{className:"product-badge"},k("product")),isIconInHeader:!1,cancelChanges:function(){return X(t)},edit:function(){return J(t)},secondaryBadge:f.getBadgeConfig(I,k(I)),subTitle:o.createElement("div",{className:"product-set-badges-container"},o.createElement("div",{className:"product-set-subtitle-dot product-set-subtitle-product-dot"}),o.createElement("span",null,"£".concat($[t]," ").concat(k("each")," - ").concat(k("qty"),":").concat(te[t]?k(" unlimited"):" ".concat(ee[t])," ").concat(te[t]?"":" - ".concat(k("possibleRevenue")," £").concat($[t]*ee[t])," "))),modalLabel:k("addNewProduct"),modalClass:s.ProductSetModalClasses.product,isNewAdded:D,body:o.createElement(q.ProductControl,{isLoading:_,quantityType:j,allowDeposits:Z,hasBookingManagement:!1,fieldNamePrefix:"".concat(R,".").concat(t),productName:i,onProductNameChange:c,hasTicket:E,categoryType:I}),onDelete:function(){return function(e){var t=L("".concat(R,".").concat(e)),r=L(V);B(V,(null==r?void 0:r.filter((function(e){return e.productUuid!==t.uuid})))||[]),z(e)}(t)},validate:function(){return w("".concat(R,".").concat(t))},saveValidField:K},o.createElement(y.SubProductsControl,{isLoading:_,quantityType:j,stepIndex:T,productCategoryIndex:h,productIndex:t}))}})}))),o.createElement(m.CreateProductSetItem,{title:k("addProduct"),onClick:function(){var e;H((e=W.length,{id:null,name:"",termsAndConditions:"",productGroupId:null,description:"",price:0,deposit:0,minQuantity:null,maxQuantity:null,totalQuantity:0,capacity:0,duration:0,isAvailable:!0,isSoldOut:!1,isRequired:!1,isUnlimited:!1,quantitySelector:1,hasSpecialNotes:!1,weight:0,type:g.DEFAULT_PRODUCT_TYPE,tierId:Number(d.uniqueId()),zoneId:null,subProducts:[],images:[],uuid:v.generateUuid(),subSlots:null,offset:null,pause:null,serviceTime:null,sort:e})),F(!0),(null==re?void 0:re.type)===c.manualErrorType&&Q(R)}}),o.createElement("div",{className:"manual-form-error"},re&&re.message))};
@@ -1 +1 @@
1
- {"version":3,"file":"StepsControl.d.ts","sourceRoot":"","sources":["../../../src/product-set/form/StepsControl.tsx"],"names":[],"mappings":";AAgBA,UAAU,iBAAiB;IACzB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,YAAY,CAAC,EAAE,SAAS,EAAE,EAAE,iBAAiB,eAkI5D"}
1
+ {"version":3,"file":"StepsControl.d.ts","sourceRoot":"","sources":["../../../src/product-set/form/StepsControl.tsx"],"names":[],"mappings":";AAkBA,UAAU,iBAAiB;IACzB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,YAAY,CAAC,EAAE,SAAS,EAAE,EAAE,iBAAiB,eA0I5D"}
@@ -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("react-i18next"),n=require("react-hook-form"),s=e(require("@licklist/plugins/dist/services/Form/HookFormService")),i=require("../../sortable-tree/SortableTreeItem.js"),l=require("../../sortable-tree/SortableTree.js"),d=e(require("react-bootstrap/Badge")),u=require("../item/CreateProductSetItem.js"),c=require("../step/StepControl.js"),m=require("./ProductCategoriesControl.js");exports.StepsControl=function(e){var p=e.isLoading,v=n.useFormContext(),g=a.useTranslation("Design").t,f=t.__read(r.useState(!1),2),C=f[0],b=f[1],S=v.control,E=v.formState,q=E.errors,I=E.isSubmitting,N=v.clearErrors,h=v.getValues,y=v.setFocus,j=n.useFieldArray({name:"steps",control:S,keyName:"_id"}),x=j.fields,P=j.append,_=j.remove;r.useEffect((function(){I&&b(!I)}),[I]);var k=1===x.length;return o.createElement(o.Fragment,null,x.map((function(e,t){var r="steps.".concat(t),a=h(r);return o.createElement(n.Controller,{key:"step-".concat(e._id),name:"".concat(r,".name"),control:S,rules:{required:g("Validation:fieldRequired",{attribute:g("name")})},render:function(n){var s,u,v=n.field,f=v.value,b=v.onChange;return o.createElement(l.SortableTree.Item,{id:e._id,title:f,badge:o.createElement(d,{className:"step-badge"},g("step")),isExpanded:k,isInvalid:!!(null===(s=q.steps)||void 0===s?void 0:s[t]),isIconInHeader:!1,modalLabel:g("addNewStep"),modalClass:i.ProductSetModalClasses.step,isNewAdded:C,subTitle:o.createElement("div",{className:"product-set-badges-container"},o.createElement("div",{className:"product-set-subtitle-dot product-set-subtitle-step-dot"}),o.createElement("span",null,null===(u=a.productCategories)||void 0===u?void 0:u.length," ",g("categories"))),treeLineIconColor:"#D52902",body:o.createElement(c.StepControl,{isLoading:p,stepIndex:t,stepName:f,onStepNameChange:b}),onDelete:function(){return _(t)},sortableItems:e.productCategories?e.productCategories.map((function(e){var t=e.id;return String(t)})):[],validate:function(){var e,o,a=null===(o=null===(e=q.steps)||void 0===e?void 0:e[t])||void 0===o?void 0:o.name;return a&&y("".concat(r,".name")),Promise.resolve(!a)}},o.createElement(m.ProductCategoriesControl,{isLoading:p,stepIndex:t}))}})})),o.createElement(u.CreateProductSetItem,{title:g("addStep"),onClick:function(){var e;P({id:null,name:"".concat(g("step")," ").concat(x.length+1),productCategories:[],weight:0,hasMap:!1,venueMapSetId:null}),b(!0),(null===(e=q.steps)||void 0===e?void 0:e.type)===s.manualErrorType&&N("steps")}}),o.createElement("div",{className:"manual-form-error"},q.steps&&q.steps.message))};
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("react-i18next"),n=require("react-hook-form"),s=e(require("@licklist/plugins/dist/services/Form/HookFormService")),i=require("../../sortable-tree/SortableTreeItem.js"),l=require("../../sortable-tree/SortableTree.js"),d=e(require("react-bootstrap/Badge")),u=require("../hooks/useSortableTreeFunctions.js"),c=require("../item/CreateProductSetItem.js"),m=require("../step/StepControl.js"),p=require("./ProductCategoriesControl.js");exports.StepsControl=function(e){var v=e.isLoading,g=n.useFormContext(),f=a.useTranslation("Design").t,C=t.__read(r.useState(!1),2),b=C[0],S=C[1],E=g.control,q=g.formState,I=q.errors,h=q.isSubmitting,F=g.clearErrors,N=g.getValues,j=g.setFocus,y=n.useFieldArray({name:"steps",control:E,keyName:"_id"}),T=y.fields,k=y.append,x=y.remove,P=u.useSortableTreeFunctions({fieldName:"steps",remove:x}),_=P.edit,L=P.saveValidField,M=P.cancelChanges;r.useEffect((function(){h&&S(!h)}),[h]);var V=1===T.length;return o.createElement(o.Fragment,null,T.map((function(e,t){var r="steps.".concat(t),a=N(r);return o.createElement(n.Controller,{key:"step-".concat(e._id),name:"".concat(r,".name"),control:E,rules:{required:f("Validation:fieldRequired",{attribute:f("name")})},render:function(n){var s,u,c,g=n.field,C=g.value,S=g.onChange;return o.createElement(l.SortableTree.Item,{id:e._id,title:C,badge:o.createElement(d,{className:"step-badge"},f("step")),isExpanded:V||!!(null===(s=I.steps)||void 0===s?void 0:s[t]),isInvalid:!!(null===(u=I.steps)||void 0===u?void 0:u[t]),isIconInHeader:!1,modalLabel:f("addNewStep"),modalClass:i.ProductSetModalClasses.step,isNewAdded:b,edit:function(){return _(t)},cancelChanges:function(){return M(t)},subTitle:o.createElement("div",{className:"product-set-badges-container"},o.createElement("div",{className:"product-set-subtitle-dot product-set-subtitle-step-dot"}),o.createElement("span",null,null===(c=a.productCategories)||void 0===c?void 0:c.length," ",f("categories"))),treeLineIconColor:"#D52902",body:o.createElement(m.StepControl,{isLoading:v,stepIndex:t,stepName:C,onStepNameChange:S}),onDelete:function(){return x(t)},sortableItems:e.productCategories?e.productCategories.map((function(e){var t=e.id;return String(t)})):[],validate:function(){var e,o,a=null===(o=null===(e=I.steps)||void 0===e?void 0:e[t])||void 0===o?void 0:o.name;return a&&j("".concat(r,".name")),Promise.resolve(!a)},saveValidField:L},o.createElement(p.ProductCategoriesControl,{isLoading:v,stepIndex:t}))}})})),o.createElement(c.CreateProductSetItem,{title:f("addStep"),onClick:function(){var e;k({id:null,name:"".concat(f("step")," ").concat(T.length+1),productCategories:[],weight:0,hasMap:!1,venueMapSetId:null}),S(!0),(null===(e=I.steps)||void 0===e?void 0:e.type)===s.manualErrorType&&F("steps")}}),o.createElement("div",{className:"manual-form-error"},I.steps&&I.steps.message))};
@@ -0,0 +1,11 @@
1
+ interface useSortableTreeFunctionsProps {
2
+ fieldName: string;
3
+ remove: (index?: number | number[]) => void;
4
+ }
5
+ export declare const useSortableTreeFunctions: ({ fieldName, remove, }: useSortableTreeFunctionsProps) => {
6
+ edit: (index: number) => void;
7
+ cancelChanges: (index: number) => void;
8
+ saveValidField: () => void;
9
+ };
10
+ export {};
11
+ //# sourceMappingURL=useSortableTreeFunctions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSortableTreeFunctions.d.ts","sourceRoot":"","sources":["../../../src/product-set/hooks/useSortableTreeFunctions.tsx"],"names":[],"mappings":"AAGA,UAAU,6BAA6B;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC;CAC7C;AACD,eAAO,MAAM,wBAAwB,2BAGlC,6BAA6B;kBAIT,MAAM;2BAMG,MAAM;;CAgBrC,CAAC"}
@@ -0,0 +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,require("react-hook-form"));exports.useSortableTreeFunctions=function(e){var u=e.fieldName,o=e.remove,a=n.useFormContext(),c=a.getValues,l=a.setValue,i=t.__read(r.useState(null),2),s=i[0],d=i[1];return{edit:function(e){var t=c("".concat(u,".").concat(e)),r=structuredClone(t);d(r)},cancelChanges:function(e){return s?l("".concat(u,".").concat(e),s):o(e)},saveValidField:function(){d(null)}}};
@@ -20,6 +20,9 @@ export interface SortableTreeItemProps {
20
20
  isIconInHeader?: boolean;
21
21
  treeLineIconColor?: string;
22
22
  modalLabel?: string;
23
+ cancelChanges?: () => void;
24
+ edit?: () => void;
25
+ saveValidField?: () => void;
23
26
  modalClass?: ProductSetModalClassesType;
24
27
  isNewAdded?: boolean;
25
28
  onDelete?: () => void;
@@ -30,5 +33,5 @@ export interface SortableTreeItemProps {
30
33
  };
31
34
  setIsExpanded?: () => void;
32
35
  }
33
- export declare function SortableTreeItem({ id, title, badge, subTitle, body, children, preItem, postItem, sortableItems, isExpanded, isInvalid, isIconInHeader, treeLineIconColor, modalLabel, modalClass, isNewAdded, onDelete, validate, secondaryBadge, setIsExpanded, }: SortableTreeItemProps): JSX.Element;
36
+ export declare function SortableTreeItem({ id, title, badge, subTitle, body, children, preItem, postItem, sortableItems, isExpanded, isInvalid, isIconInHeader, treeLineIconColor, modalLabel, modalClass, isNewAdded, onDelete, validate, cancelChanges, saveValidField, edit, secondaryBadge, setIsExpanded, }: SortableTreeItemProps): JSX.Element;
34
37
  //# sourceMappingURL=SortableTreeItem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SortableTreeItem.d.ts","sourceRoot":"","sources":["../../src/sortable-tree/SortableTreeItem.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAoC,MAAM,OAAO,CAAC;AAkB3E,eAAO,MAAM,sBAAsB;;;;CAIzB,CAAC;AAEX,oBAAY,0BAA0B,GACpC,OAAO,sBAAsB,CAAC,MAAM,OAAO,sBAAsB,CAAC,CAAC;AAErE,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,0BAA0B,CAAC;IACxC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,cAAc,CAAC,EAAE;QACf,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,EAAE,EACF,KAAK,EACL,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,aAAa,EACb,UAAkB,EAClB,SAAiB,EACjB,cAAqB,EACrB,iBAAsB,EACtB,UAAe,EACf,UAAU,EACV,UAAkB,EAClB,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,aAAa,GACd,EAAE,qBAAqB,eA6RvB"}
1
+ {"version":3,"file":"SortableTreeItem.d.ts","sourceRoot":"","sources":["../../src/sortable-tree/SortableTreeItem.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAoC,MAAM,OAAO,CAAC;AAkB3E,eAAO,MAAM,sBAAsB;;;;CAIzB,CAAC;AAEX,oBAAY,0BAA0B,GACpC,OAAO,sBAAsB,CAAC,MAAM,OAAO,sBAAsB,CAAC,CAAC;AAErE,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,UAAU,CAAC,EAAE,0BAA0B,CAAC;IACxC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,cAAc,CAAC,EAAE;QACf,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,EAAE,EACF,KAAK,EACL,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,aAAa,EACb,UAAkB,EAClB,SAAiB,EACjB,cAAqB,EACrB,iBAAsB,EACtB,UAAe,EACf,UAAU,EACV,UAAkB,EAClB,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,cAAc,EACd,IAAI,EACJ,cAAc,EACd,aAAa,GACd,EAAE,qBAAqB,eA4SvB"}
@@ -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),r=require("react-i18next"),l=require("react-bootstrap"),o=require("../static/Icon.js"),s=e(require("clsx")),i=require("@dnd-kit/core"),c=require("@dnd-kit/sortable"),d=require("@dnd-kit/utilities"),m=require("../modals/confirmation/ConfirmModal.js");require("../modals/dialog/Dialog.js"),require("../modals/dialog/DialogContext.js");var u=require("../product-set/elements/DeleteFieldButton.js"),p={step:"edit-product-step",category:"edit-product-category",product:"edit-product"};exports.ProductSetModalClasses=p,exports.SortableTreeItem=function(e){var b=this,g=e.id,v=e.title,E=e.badge,f=e.subTitle,N=e.body,y=e.children,h=e.preItem,w=e.postItem,C=e.sortableItems,_=e.isExpanded,x=void 0!==_&&_,D=e.isInvalid,S=void 0!==D&&D,q=e.isIconInHeader,M=void 0===q||q,k=e.treeLineIconColor,I=void 0===k?"":k,B=e.modalLabel,j=void 0===B?"":B,P=e.modalClass,T=e.isNewAdded,X=void 0!==T&&T,Y=e.onDelete,A=e.validate,L=e.secondaryBadge,R=e.setIsExpanded,U=t.__read(a.useState(x),2),z=U[0],F=U[1],H=t.__read(a.useState(X),2),K=H[0],V=H[1],O=r.useTranslation("Design").t,G=c.useSortable({id:g}),J=G.attributes,Q=G.listeners,W=G.setNodeRef,Z=G.transform,$=G.transition,ee=t.__read(a.useState({pageX:0,pageY:0}),2),te=ee[0],ae=ee[1],ne=i.useDraggable({id:g}),re=ne.isDragging,le=ne.attributes,oe=ne.listeners,se=ne.setNodeRef,ie=ne.transform,ce=a.useCallback((function(e){var t=e.pageX-te.pageX,a=e.pageY-te.pageY;Math.sqrt(t*t+a*a)>5||(R?R():F((function(e){return!e})))}),[te,R]),de=a.useCallback((function(e){ae({pageX:e.pageX,pageY:e.pageY})}),[]),me=function(){return t.__awaiter(b,void 0,void 0,(function(){return t.__generator(this,(function(e){switch(e.label){case 0:return A||V(!1),[4,null==A?void 0:A()];case 1:return e.sent()&&V(!1),[2]}}))}))};return a.useEffect((function(){F(x)}),[x]),n.createElement("div",t.__assign({className:"sortable-tree-root",style:{transform:d.CSS.Translate.toString(Z),transition:$}},le,oe,{ref:W}),n.createElement("div",t.__assign({className:"sortable-tree-wrapper",ref:se},le,oe,{onKeyDown:function(e){return e.stopPropagation()},onMouseDown:function(e){K&&e.stopPropagation()},onMouseUp:function(e){K&&e.stopPropagation()},role:"button",tabIndex:0,style:P===p.step?{transform:d.CSS.Translate.toString(ie),opacity:re?.7:1}:null}),n.createElement("div",{className:"sortable-tree-line"},n.createElement(l.Button,{variant:"link",size:"sm",onMouseDown:de,onMouseUp:ce},z?n.createElement(o.default,{type:"minus",width:".7rem"}):n.createElement("div",{className:"expand-icon-container"},n.createElement("div",null),n.createElement("div",null),n.createElement("div",null))),z&&n.createElement("svg",{className:"sortable-tree-line-icon",version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"100%",height:"100%",viewBox:"0 0 100 100",preserveAspectRatio:"none"},n.createElement("g",null,n.createElement("path",{className:s("sortable-tree-line-icon-path",I&&"sortable-tree-line-product-element"),style:{stroke:I},d:"M 50 0 V 100"})))),n.createElement("div",{className:"sortable-tree-item-wrapper"},n.createElement("div",{className:s("sortable-tree-item",S?"invalid":"")},n.createElement("div",{className:"sortable-tree-item-header"},M&&n.createElement(l.Button,t.__assign({variant:"link",className:"sortable-tree-item-handle"},J,Q),n.createElement(o.default,{type:"grip-vertical"})),n.createElement(l.Button,{className:"sortable-tree-item-toggle",variant:"link",onMouseDown:de,onMouseUp:ce},E&&n.createElement("span",{className:"sortable-tree-item-badge"},E),n.createElement("div",{className:s(j?"sortable-tree-product-set-title-container":"sortable-tree-title-container")},n.createElement("span",{className:s("sortable-tree-item-title",j&&"sortable-tree-product-set-element-title")},v),!z&&n.createElement("span",{className:"sortable-tree-item-subtitle"},f)),n.createElement("div",{className:"border-0 open-edit-right-modal-button",role:"button",tabIndex:0,onClick:function(e){e.stopPropagation(),V(!0)},onKeyDown:function(e){return e.stopPropagation()}},n.createElement(o.default,{type:"ellipsis-h",color:"#0E8CE2",height:"1rem"})))),M?n.createElement(l.Collapse,{in:z},n.createElement("div",null,n.createElement("div",{className:"sortable-tree-item-body"},N))):n.createElement(l.Modal,{size:"lg",show:K,className:s("m-0 edit-product-set-element-modal edit-right-form-modal h-100",P),dialogClassName:"edit-event-dialog edit-step-dialog",onHide:me},n.createElement("div",{className:"edit-step-modal-header"},n.createElement("button",{className:"p-0 cancel-add-step-btn border-0",type:"button",onClick:me},n.createElement("span",null,O("Design:cancel"))),L&&n.createElement("div",{className:"secondary-badge ".concat(null==L?void 0:L.className)},null==L?void 0:L.label)),n.createElement(l.Modal.Body,{as:"form",noValidate:!0},n.createElement("div",{className:"top-label-container"},n.createElement("span",null,j)),N,n.createElement("div",{className:"d-flex product-set-element-control-btns justify-content-between"},n.createElement(l.Button,{className:"step-save-btn mt-4",type:"button",onClick:me},O("saveAndAdd")),n.createElement("div",{className:"d-flex justify-content-end mt-4 delete-btn"},Boolean(Y)&&n.createElement(m.ConfirmModal,null,(function(e){return n.createElement(u.DeleteFieldButton,{onDelete:function(){return e(Y)}})}))))))),C&&n.createElement("div",{className:"sortable-tree-subitems"},h,n.createElement(i.DndContext,null,n.createElement(c.SortableContext,{items:C,strategy:c.verticalListSortingStrategy},n.createElement(l.Collapse,{in:z},n.createElement("div",{className:"ml-0"},y)))),w))))};
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),r=require("react-i18next"),l=require("react-bootstrap"),o=require("../static/Icon.js"),s=e(require("clsx")),i=require("@dnd-kit/core"),c=require("@dnd-kit/sortable"),d=require("@dnd-kit/utilities"),m=require("../modals/confirmation/ConfirmModal.js");require("../modals/dialog/Dialog.js"),require("../modals/dialog/DialogContext.js");var u=require("../product-set/elements/DeleteFieldButton.js"),p={step:"edit-product-step",category:"edit-product-category",product:"edit-product"};exports.ProductSetModalClasses=p,exports.SortableTreeItem=function(e){var b=this,g=e.id,v=e.title,E=e.badge,f=e.subTitle,N=e.body,h=e.children,y=e.preItem,_=e.postItem,w=e.sortableItems,C=e.isExpanded,x=void 0!==C&&C,D=e.isInvalid,S=void 0!==D&&D,q=e.isIconInHeader,M=void 0===q||q,k=e.treeLineIconColor,I=void 0===k?"":k,B=e.modalLabel,j=void 0===B?"":B,P=e.modalClass,T=e.isNewAdded,X=void 0!==T&&T,Y=e.onDelete,A=e.validate,F=e.cancelChanges,L=e.saveValidField,R=e.edit,U=e.secondaryBadge,V=e.setIsExpanded,z=t.__read(a.useState(x),2),H=z[0],K=z[1],O=t.__read(a.useState(X),2),G=O[0],J=O[1],Q=r.useTranslation("Design").t,W=c.useSortable({id:g}),Z=W.attributes,$=W.listeners,ee=W.setNodeRef,te=W.transform,ae=W.transition,ne=t.__read(a.useState({pageX:0,pageY:0}),2),re=ne[0],le=ne[1],oe=i.useDraggable({id:g}),se=oe.isDragging,ie=oe.attributes,ce=oe.listeners,de=oe.setNodeRef,me=oe.transform,ue=a.useCallback((function(e){var t=e.pageX-re.pageX,a=e.pageY-re.pageY;Math.sqrt(t*t+a*a)>5||(V?V():K((function(e){return!e})))}),[re,V]),pe=a.useCallback((function(e){le({pageX:e.pageX,pageY:e.pageY})}),[]),be=function(){return t.__awaiter(b,void 0,void 0,(function(){return t.__generator(this,(function(e){switch(e.label){case 0:return A||J(!1),[4,null==A?void 0:A()];case 1:return e.sent()&&(null==L||L(),J(!1)),[2]}}))}))};return a.useEffect((function(){K(x)}),[x]),n.createElement("div",t.__assign({className:"sortable-tree-root",style:{transform:d.CSS.Translate.toString(te),transition:ae}},ie,ce,{ref:ee}),n.createElement("div",t.__assign({className:"sortable-tree-wrapper",ref:de},ie,ce,{onKeyDown:function(e){return e.stopPropagation()},onMouseDown:function(e){G&&e.stopPropagation()},onMouseUp:function(e){G&&e.stopPropagation()},role:"button",tabIndex:0,style:P===p.step?{transform:d.CSS.Translate.toString(me),opacity:se?.7:1}:null}),n.createElement("div",{className:"sortable-tree-line"},n.createElement(l.Button,{variant:"link",size:"sm",onMouseDown:pe,onMouseUp:ue},H?n.createElement(o.default,{type:"minus",width:".7rem"}):n.createElement("div",{className:"expand-icon-container"},n.createElement("div",null),n.createElement("div",null),n.createElement("div",null))),H&&n.createElement("svg",{className:"sortable-tree-line-icon",version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"100%",height:"100%",viewBox:"0 0 100 100",preserveAspectRatio:"none"},n.createElement("g",null,n.createElement("path",{className:s("sortable-tree-line-icon-path",I&&"sortable-tree-line-product-element"),style:{stroke:I},d:"M 50 0 V 100"})))),n.createElement("div",{className:"sortable-tree-item-wrapper"},n.createElement("div",{className:s("sortable-tree-item",S?"invalid":"")},n.createElement("div",{className:"sortable-tree-item-header"},M&&n.createElement(l.Button,t.__assign({variant:"link",className:"sortable-tree-item-handle"},Z,$),n.createElement(o.default,{type:"grip-vertical"})),n.createElement(l.Button,{className:"sortable-tree-item-toggle",variant:"link",onMouseDown:pe,onMouseUp:ue},E&&n.createElement("span",{className:"sortable-tree-item-badge"},E),n.createElement("div",{className:s(j?"sortable-tree-product-set-title-container":"sortable-tree-title-container")},n.createElement("span",{className:s("sortable-tree-item-title",j&&"sortable-tree-product-set-element-title")},v),!H&&n.createElement("span",{className:"sortable-tree-item-subtitle"},f)),n.createElement("div",{className:"border-0 open-edit-right-modal-button",role:"button",tabIndex:0,onClick:function(e){return function(e){e.stopPropagation(),R&&!G&&R(),J(!0)}(e)},onKeyDown:function(e){return e.stopPropagation()}},n.createElement(o.default,{type:"ellipsis-h",color:"#0E8CE2",height:"1rem"})))),M?n.createElement(l.Collapse,{in:H},n.createElement("div",null,n.createElement("div",{className:"sortable-tree-item-body"},N))):n.createElement(l.Modal,{size:"lg",show:G,className:s("m-0 edit-product-set-element-modal edit-right-form-modal h-100",P),dialogClassName:"edit-event-dialog edit-step-dialog",onHide:be},n.createElement("div",{className:"edit-step-modal-header"},n.createElement("button",{className:"p-0 cancel-add-step-btn border-0",type:"button",onClick:function(){return t.__awaiter(b,void 0,void 0,(function(){return t.__generator(this,(function(e){return F?(F(),J(!1),[2]):[2,be()]}))}))}},n.createElement("span",null,Q("Design:cancel"))),U&&n.createElement("div",{className:"secondary-badge ".concat(null==U?void 0:U.className)},null==U?void 0:U.label)),n.createElement(l.Modal.Body,{as:"form",noValidate:!0},n.createElement("div",{className:"top-label-container"},n.createElement("span",null,j)),N,n.createElement("div",{className:"d-flex product-set-element-control-btns justify-content-between"},n.createElement(l.Button,{className:"step-save-btn mt-4",type:"button",onClick:be},Q("saveAndAdd")),n.createElement("div",{className:"d-flex justify-content-end mt-4 delete-btn"},Boolean(Y)&&n.createElement(m.ConfirmModal,null,(function(e){return n.createElement(u.DeleteFieldButton,{onDelete:function(){return e(Y)}})}))))))),w&&n.createElement("div",{className:"sortable-tree-subitems"},y,n.createElement(i.DndContext,null,n.createElement(c.SortableContext,{items:w,strategy:c.verticalListSortingStrategy},n.createElement(l.Collapse,{in:H},n.createElement("div",{className:"ml-0"},h)))),_))))};
@@ -10,12 +10,13 @@ export interface StaticTableData {
10
10
  export interface StaticTableProps {
11
11
  className?: string;
12
12
  columns: StaticTableColumn[];
13
- data: StaticTableData[];
13
+ data: StaticTableData[] | any[];
14
14
  striped?: boolean;
15
15
  bordered?: boolean;
16
16
  hover?: boolean;
17
17
  size?: string;
18
18
  displayHeader?: boolean;
19
+ renderItemFn?: (data?: any) => ReactNode;
19
20
  }
20
- export declare function StaticTable({ data, columns, className, striped, bordered, hover, size, displayHeader, }: StaticTableProps): JSX.Element;
21
+ export declare function StaticTable({ data, columns, className, striped, bordered, hover, size, displayHeader, renderItemFn, }: StaticTableProps): JSX.Element;
21
22
  //# sourceMappingURL=StaticTable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StaticTable.d.ts","sourceRoot":"","sources":["../../src/table/StaticTable.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGzC,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,IAAI,EAAE,eAAe,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,OAAO,EACP,SAAc,EACd,OAAe,EACf,QAAgB,EAChB,KAAa,EACb,IAAI,EACJ,aAAoB,GACrB,EAAE,gBAAgB,eAuBlB"}
1
+ {"version":3,"file":"StaticTable.d.ts","sourceRoot":"","sources":["../../src/table/StaticTable.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGzC,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,IAAI,EAAE,eAAe,EAAE,GAAG,GAAG,EAAE,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,SAAS,CAAC;CAC1C;AAED,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,OAAO,EACP,SAAc,EACd,OAAe,EACf,QAAgB,EAChB,KAAa,EACb,IAAI,EACJ,aAAoB,EACpB,YAAY,GACb,EAAE,gBAAgB,eAyBlB"}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("react"),r=(e=t)&&"object"==typeof e&&"default"in e?e.default:e,a=require("react-bootstrap");function n(e){var t=e.columns;return r.createElement("thead",null,r.createElement("tr",null,t.map((function(e){return r.createElement("th",{key:e.key},e.label)}))))}exports.StaticTable=function(e){var t=e.data,c=e.columns,l=e.className,o=void 0===l?"":l,u=e.striped,d=void 0!==u&&u,i=e.bordered,s=void 0!==i&&i,m=e.hover,y=void 0!==m&&m,p=e.size,v=e.displayHeader,b=void 0===v||v;return r.createElement(a.Table,{className:o,bordered:s,striped:d,hover:y,size:p},b&&r.createElement(n,{columns:c}),r.createElement("tbody",null,t.map((function(e){return r.createElement("tr",{key:e.key},c.map((function(t){return r.createElement("td",{key:"".concat(t.key,"-").concat(e[t.key])},e[t.key])})))}))))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("react"),r=(e=t)&&"object"==typeof e&&"default"in e?e.default:e,a=require("react-bootstrap");function n(e){var t=e.columns;return r.createElement("thead",null,r.createElement("tr",null,t.map((function(e){return r.createElement("th",{key:e.key},e.label)}))))}exports.StaticTable=function(e){var t=e.data,c=e.columns,l=e.className,o=void 0===l?"":l,u=e.striped,d=void 0!==u&&u,i=e.bordered,s=void 0!==i&&i,m=e.hover,y=void 0!==m&&m,p=e.size,v=e.displayHeader,b=void 0===v||v,f=e.renderItemFn;return r.createElement(a.Table,{className:o,bordered:s,striped:d,hover:y,size:p},b&&r.createElement(n,{columns:c}),r.createElement("tbody",null,t.map((function(e){return r.createElement("tr",{key:e.key},f?f(e):c.map((function(t){return r.createElement("td",{key:"".concat(t.key,"-").concat(e[t.key])},e[t.key])})))}))))};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@licklist/design",
3
- "version": "0.44.513",
3
+ "version": "0.44.515",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+ssh://git@bitbucket.org/artelogicsoft/licklist_design.git"
@@ -99,7 +99,8 @@ export const MapPoint = ({
99
99
  // eslint-disable-next-line no-param-reassign
100
100
  event.cancelBubble = true;
101
101
 
102
- if (isActive || isSoldOut) return;
102
+ if (isActive) return;
103
+ if (isSoldOut && usedInIframe) return;
103
104
 
104
105
  setActiveElementKey(pointKey);
105
106
 
@@ -144,7 +145,7 @@ export const MapPoint = ({
144
145
  x={pointX}
145
146
  y={pointY}
146
147
  isActive={isActive}
147
- hasProduct={!isSoldOut && Boolean(pointProduct)}
148
+ hasProduct={Boolean(pointProduct)}
148
149
  pointNumber={pointNumber}
149
150
  onDelete={onDelete}
150
151
  editMode={editMode}
@@ -29,6 +29,7 @@ import { SelectCategoryModal } from "./SelectCategoryModal";
29
29
  import { ProductSetLoadingContext } from "./context";
30
30
  import { VenueMapSetModal } from "./VenueMapSetModal";
31
31
  import { moveArrayElements, sortArrayByIndex } from "../utils";
32
+ import { useSortableTreeFunctions } from "../hooks/useSortableTreeFunctions";
32
33
  // @TODO not for first release
33
34
  // import Popover from "./ProductSetFormPopover";
34
35
 
@@ -101,6 +102,11 @@ export function ProductCategoriesControl({
101
102
  Record<number, { price: number; quantity: number }>
102
103
  >([]);
103
104
 
105
+ const { edit, saveValidField, cancelChanges } = useSortableTreeFunctions({
106
+ fieldName: productCategoriesFieldName,
107
+ remove,
108
+ });
109
+
104
110
  const productCategories: ProductCategory[] = useWatch({
105
111
  control,
106
112
  name: productCategoriesFieldName,
@@ -225,6 +231,8 @@ export function ProductCategoriesControl({
225
231
  title={value}
226
232
  isExpanded={expandedProductCategories[productCategoryId]}
227
233
  setIsExpanded={onSetIsExpanded}
234
+ edit={() => edit(index)}
235
+ cancelChanges={() => cancelChanges(index)}
228
236
  isInvalid={!!productCategoriesErrors}
229
237
  badge={
230
238
  <Badge className="category-badge">
@@ -264,6 +272,7 @@ export function ProductCategoriesControl({
264
272
  validate={() =>
265
273
  trigger(`steps.${stepIndex}.productCategories.${index}`)
266
274
  }
275
+ saveValidField={saveValidField}
267
276
  // preItem={<Popover className="d-none d-sm-block" />}
268
277
  sortableItems={
269
278
  productCategory.products
@@ -21,6 +21,7 @@ import { Product } from "../types";
21
21
  import { WithIsLoading } from "./ProductSetForm";
22
22
  // @TODO not for first release
23
23
  // import Popover from "./ProductSetFormPopover";
24
+ import { useSortableTreeFunctions } from "../hooks/useSortableTreeFunctions";
24
25
  import { SubProductsControl } from "./SubProductsControl";
25
26
  import { ProductSetModalClasses } from "../../sortable-tree/SortableTreeItem";
26
27
  import { getBadgeConfig } from "./ProductCategoriesControl";
@@ -98,6 +99,12 @@ export function ProductsControl({
98
99
  control,
99
100
  keyName: "_id",
100
101
  });
102
+
103
+ const { edit, saveValidField, cancelChanges } = useSortableTreeFunctions({
104
+ fieldName: productControlFieldName,
105
+ remove,
106
+ });
107
+
101
108
  const allowDeposits = watch(
102
109
  `steps.${stepIndex}.productCategories.${productCategoryIndex}.allowDeposits`
103
110
  );
@@ -201,6 +208,8 @@ export function ProductsControl({
201
208
  title={value}
202
209
  badge={<Badge className="product-badge">{t("product")}</Badge>}
203
210
  isIconInHeader={false}
211
+ cancelChanges={() => cancelChanges(index)}
212
+ edit={() => edit(index)}
204
213
  secondaryBadge={getBadgeConfig(categoryType, t(categoryType))}
205
214
  subTitle={
206
215
  <div className="product-set-badges-container">
@@ -240,6 +249,7 @@ export function ProductsControl({
240
249
  }
241
250
  onDelete={() => onProductRemove(index)}
242
251
  validate={() => trigger(`${productControlFieldName}.${index}`)}
252
+ saveValidField={saveValidField}
243
253
  // preItem={<Popover className="d-none d-sm-block" />}
244
254
  >
245
255
  <SubProductsControl
@@ -4,6 +4,7 @@ import { useTranslation } from "react-i18next";
4
4
  import Badge from "react-bootstrap/Badge";
5
5
  import HookFormService from "@licklist/plugins/dist/services/Form/HookFormService";
6
6
 
7
+ import { useSortableTreeFunctions } from "../hooks/useSortableTreeFunctions";
7
8
  import { SortableTree } from "../../sortable-tree";
8
9
  import { ProductSetModalClasses } from "../../sortable-tree/SortableTreeItem";
9
10
  import { CreateProductSetItem } from "../item/CreateProductSetItem";
@@ -11,6 +12,7 @@ import { StepControl } from "../step/StepControl";
11
12
  import { Step } from "../types";
12
13
  import { ProductCategoriesControl } from "./ProductCategoriesControl";
13
14
  import { ProductSetFormValues } from "./ProductSetForm";
15
+
14
16
  // @TODO not for first release
15
17
  // import Popover from "./ProductSetFormPopover";
16
18
 
@@ -37,6 +39,11 @@ export function StepsControl({ isLoading }: StepsControlProps) {
37
39
  keyName: "_id",
38
40
  });
39
41
 
42
+ const { edit, saveValidField, cancelChanges } = useSortableTreeFunctions({
43
+ fieldName: "steps",
44
+ remove,
45
+ });
46
+
40
47
  useEffect(() => {
41
48
  if (!isSubmitting) {
42
49
  return;
@@ -77,12 +84,14 @@ export function StepsControl({ isLoading }: StepsControlProps) {
77
84
  id={step._id}
78
85
  title={value}
79
86
  badge={<Badge className="step-badge">{t("step")}</Badge>}
80
- isExpanded={isFirstStepAdded}
87
+ isExpanded={isFirstStepAdded || !!errors.steps?.[index]}
81
88
  isInvalid={!!errors.steps?.[index]}
82
89
  isIconInHeader={false}
83
90
  modalLabel={t("addNewStep")}
84
91
  modalClass={ProductSetModalClasses.step}
85
92
  isNewAdded={showStepModal}
93
+ edit={() => edit(index)}
94
+ cancelChanges={() => cancelChanges(index)}
86
95
  subTitle={
87
96
  <div className="product-set-badges-container">
88
97
  <div className="product-set-subtitle-dot product-set-subtitle-step-dot" />
@@ -122,6 +131,7 @@ export function StepsControl({ isLoading }: StepsControlProps) {
122
131
 
123
132
  return Promise.resolve(!error);
124
133
  }}
134
+ saveValidField={saveValidField}
125
135
  >
126
136
  <ProductCategoriesControl
127
137
  isLoading={isLoading}
@@ -0,0 +1,37 @@
1
+ import { useState } from "react";
2
+ import { useFormContext } from "react-hook-form";
3
+
4
+ interface useSortableTreeFunctionsProps {
5
+ fieldName: string;
6
+ remove: (index?: number | number[]) => void;
7
+ }
8
+ export const useSortableTreeFunctions = ({
9
+ fieldName,
10
+ remove,
11
+ }: useSortableTreeFunctionsProps) => {
12
+ const { getValues, setValue } = useFormContext();
13
+ const [previousValue, setEditValue] = useState(null);
14
+
15
+ const edit = (index: number) => {
16
+ const currentCategoryProduct = getValues(`${fieldName}.${index}` as const);
17
+ const cloneCategoryProduct = structuredClone(currentCategoryProduct);
18
+ setEditValue(cloneCategoryProduct);
19
+ };
20
+
21
+ const cancelChanges = (index: number) => {
22
+ if (!previousValue) {
23
+ return remove(index);
24
+ }
25
+ return setValue(`${fieldName}.${index}` as const, previousValue);
26
+ };
27
+
28
+ const saveValidField = () => {
29
+ setEditValue(null);
30
+ };
31
+
32
+ return {
33
+ edit,
34
+ cancelChanges,
35
+ saveValidField,
36
+ };
37
+ };
@@ -40,6 +40,9 @@ export interface SortableTreeItemProps {
40
40
  isIconInHeader?: boolean;
41
41
  treeLineIconColor?: string;
42
42
  modalLabel?: string;
43
+ cancelChanges?: () => void;
44
+ edit?: () => void;
45
+ saveValidField?: () => void;
43
46
  modalClass?: ProductSetModalClassesType;
44
47
  isNewAdded?: boolean;
45
48
  onDelete?: () => void;
@@ -70,6 +73,9 @@ export function SortableTreeItem({
70
73
  isNewAdded = false,
71
74
  onDelete,
72
75
  validate,
76
+ cancelChanges,
77
+ saveValidField,
78
+ edit,
73
79
  secondaryBadge,
74
80
  setIsExpanded,
75
81
  }: SortableTreeItemProps) {
@@ -122,9 +128,27 @@ export function SortableTreeItem({
122
128
  if (!validate) setIsModalVisible(false);
123
129
 
124
130
  const success = await validate?.();
125
- if (success) setIsModalVisible(false);
131
+
132
+ if (success) {
133
+ saveValidField?.();
134
+ setIsModalVisible(false);
135
+ }
136
+ };
137
+
138
+ const onCancel = async () => {
139
+ if (!cancelChanges) {
140
+ return onHide();
141
+ }
142
+ cancelChanges();
143
+ setIsModalVisible(false);
126
144
  };
127
145
 
146
+ const onEdit = (e) => {
147
+ e.stopPropagation();
148
+ if (edit && !isModalVisible) edit();
149
+ setIsModalVisible(true);
150
+ }
151
+
128
152
  useEffect(() => {
129
153
  setExpanded(isExpanded);
130
154
  }, [isExpanded]);
@@ -258,10 +282,7 @@ export function SortableTreeItem({
258
282
  className="border-0 open-edit-right-modal-button"
259
283
  role="button"
260
284
  tabIndex={0}
261
- onClick={(e) => {
262
- e.stopPropagation();
263
- setIsModalVisible(true);
264
- }}
285
+ onClick={(e) => onEdit(e)}
265
286
  onKeyDown={(e) => e.stopPropagation()}
266
287
  >
267
288
  <Icon type="ellipsis-h" color="#0E8CE2" height="1rem" />
@@ -291,7 +312,7 @@ export function SortableTreeItem({
291
312
  <button
292
313
  className="p-0 cancel-add-step-btn border-0"
293
314
  type="button"
294
- onClick={onHide}
315
+ onClick={onCancel}
295
316
  >
296
317
  <span>{t("Design:cancel")}</span>
297
318
  </button>
@@ -14,12 +14,13 @@ export interface StaticTableData {
14
14
  export interface StaticTableProps {
15
15
  className?: string;
16
16
  columns: StaticTableColumn[];
17
- data: StaticTableData[];
17
+ data: StaticTableData[] | any[];
18
18
  striped?: boolean;
19
19
  bordered?: boolean;
20
20
  hover?: boolean;
21
21
  size?: string;
22
22
  displayHeader?: boolean;
23
+ renderItemFn?: (data?: any) => ReactNode;
23
24
  }
24
25
 
25
26
  export function StaticTable({
@@ -31,6 +32,7 @@ export function StaticTable({
31
32
  hover = false,
32
33
  size,
33
34
  displayHeader = true,
35
+ renderItemFn,
34
36
  }: StaticTableProps) {
35
37
  return (
36
38
  <Table
@@ -44,11 +46,13 @@ export function StaticTable({
44
46
  <tbody>
45
47
  {data.map((row) => (
46
48
  <tr key={row.key}>
47
- {columns.map((column) => (
48
- <td key={`${column.key}-${row[column.key]}`}>
49
- {row[column.key]}
50
- </td>
51
- ))}
49
+ {renderItemFn
50
+ ? renderItemFn(row)
51
+ : columns.map((column) => (
52
+ <td key={`${column.key}-${row[column.key]}`}>
53
+ {row[column.key]}
54
+ </td>
55
+ ))}
52
56
  </tr>
53
57
  ))}
54
58
  </tbody>