@licklist/design 0.44.511 → 0.44.512

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.
Files changed (37) hide show
  1. package/dist/product-set/control/ProductSetControl.d.ts.map +1 -1
  2. package/dist/product-set/control/ProductSetControl.js +1 -1
  3. package/dist/sales/booking/filter/BookingFilter.d.ts +4 -1
  4. package/dist/sales/booking/filter/BookingFilter.d.ts.map +1 -1
  5. package/dist/sales/booking/filter/BookingFilter.js +1 -1
  6. package/dist/sales/booking/filter/components/AdditionalFIlterSection.d.ts +2 -1
  7. package/dist/sales/booking/filter/components/AdditionalFIlterSection.d.ts.map +1 -1
  8. package/dist/sales/booking/filter/components/AdditionalFIlterSection.js +1 -1
  9. package/dist/sales/booking/filter/components/MainFilterSection.d.ts +2 -2
  10. package/dist/sales/booking/filter/components/MainFilterSection.d.ts.map +1 -1
  11. package/dist/sales/booking/filter/components/MainFilterSection.js +1 -1
  12. package/dist/sales/booking/filter/components/SearchingForSection.d.ts +8 -1
  13. package/dist/sales/booking/filter/components/SearchingForSection.d.ts.map +1 -1
  14. package/dist/sales/booking/filter/components/SearchingForSection.js +1 -1
  15. package/dist/sales/booking/tabs/BookingTabs.d.ts +2 -1
  16. package/dist/sales/booking/tabs/BookingTabs.d.ts.map +1 -1
  17. package/dist/sales/booking/tabs/BookingTabs.js +1 -1
  18. package/dist/sales/filters/SaleFilters.d.ts +1 -1
  19. package/dist/static/date-range-input/DateRangeInput.d.ts +2 -1
  20. package/dist/static/date-range-input/DateRangeInput.d.ts.map +1 -1
  21. package/dist/static/date-range-input/DateRangeInput.js +1 -1
  22. package/dist/styles/static/DateRangeInput.scss +5 -1
  23. package/dist/table/FilterHelperComponent.d.ts.map +1 -1
  24. package/dist/table/FilterHelperComponent.js +1 -1
  25. package/package.json +1 -1
  26. package/src/product-set/control/ProductSetControl.tsx +8 -12
  27. package/src/sales/booking/filter/BookingFilter.stories.tsx +29 -0
  28. package/src/sales/booking/filter/BookingFilter.tsx +11 -2
  29. package/src/sales/booking/filter/components/AdditionalFIlterSection.tsx +62 -10
  30. package/src/sales/booking/filter/components/MainFilterSection.tsx +4 -1
  31. package/src/sales/booking/filter/components/SearchingForSection.tsx +37 -3
  32. package/src/sales/booking/tabs/BookingTabs.tsx +4 -3
  33. package/src/sales/filters/SaleFilter.stories.tsx +1 -1
  34. package/src/sales/filters/SaleFilters.tsx +1 -1
  35. package/src/static/date-range-input/DateRangeInput.tsx +3 -0
  36. package/src/styles/static/DateRangeInput.scss +5 -1
  37. package/src/table/FilterHelperComponent.tsx +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ProductSetControl.d.ts","sourceRoot":"","sources":["../../../src/product-set/control/ProductSetControl.tsx"],"names":[],"mappings":";AAKA,OAAO,EAIL,mBAAmB,EACnB,cAAc,EACf,MAAM,6DAA6D,CAAC;AAErE,OAAO,EAAE,QAAQ,EAAE,MAAM,yDAAyD,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,qEAAqE,CAAC;AACpG,OAAO,EAAE,WAAW,EAAE,MAAM,mEAAmE,CAAC;AAIhG,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAIL,4BAA4B,EAC7B,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAShC,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,aAAa,GAAG,WAAW,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,uBAAwB,SAAQ,4BAA4B;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,cAAc,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,mBAAmB,CAAC;IACrC,aAAa,CAAC,EAAE,UAAU,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,cAAc,CAAC,EAAE,YAAY,EAAE,CAAC;IAChC,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,uBAAuB;IACtC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,YAAY,EAAE,CAAC;IAChC,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,iBAAiB,CAAC,EAChC,WAAW,EACX,SAAS,EACT,GAAU,EACV,SAAc,EACd,cAAmB,EACnB,YAAiB,EACjB,qBAAqB,EACrB,cAAc,EACd,iBAAiB,EACjB,eAAe,GAChB,EAAE,sBAAsB,eAyPxB"}
1
+ {"version":3,"file":"ProductSetControl.d.ts","sourceRoot":"","sources":["../../../src/product-set/control/ProductSetControl.tsx"],"names":[],"mappings":";AAKA,OAAO,EAIL,mBAAmB,EACnB,cAAc,EACf,MAAM,6DAA6D,CAAC;AAErE,OAAO,EAAE,QAAQ,EAAE,MAAM,yDAAyD,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,qEAAqE,CAAC;AACpG,OAAO,EAAE,WAAW,EAAE,MAAM,mEAAmE,CAAC;AAIhG,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAIL,4BAA4B,EAC7B,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAShC,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,aAAa,GAAG,WAAW,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,uBAAwB,SAAQ,4BAA4B;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,cAAc,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,mBAAmB,CAAC;IACrC,aAAa,CAAC,EAAE,UAAU,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,cAAc,CAAC,EAAE,YAAY,EAAE,CAAC;IAChC,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,uBAAuB;IACtC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,YAAY,EAAE,CAAC;IAChC,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,iBAAiB,CAAC,EAChC,WAAW,EACX,SAAS,EACT,GAAU,EACV,SAAc,EACd,cAAmB,EACnB,YAAiB,EACjB,qBAAqB,EACrB,cAAc,EACd,iBAAiB,EACjB,eAAe,GAChB,EAAE,sBAAsB,eAqPxB"}
@@ -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=e(require("react")),a=require("react-i18next"),n=require("react-bootstrap"),o=require("react-hook-form"),l=e(require("@licklist/plugins/dist/services/Form/HookFormService")),i=require("@react-aria/utils"),s=e(require("clsx")),m=require("../../static/WarningMessage.js");require("../../static/index.js");var c,u=require("@licklist/core/dist/DataMapper/Product/ProductSetDataMapper"),d=require("@licklist/plugins/dist/validation/Rules/urlRule"),p=(e(d),require("./DateAndRecurrenceInput.js")),E=require("./TutorialGifCard.js"),g=require("../form/StepsControl.js"),v=require("../../typeahead/Typeahead.js"),T=((c={})[u.OPERATIONAL_COST_PROVIDER]="operationalCostProvider",c[u.OPERATIONAL_COST_CUSTOMER]="operationalCostCustomer",c);exports.ProductSetControl=function(e){var c,f=e.companyName,C=e.isLoading,h=e.fee,F=void 0===h?"5%":h,P=e.fieldSets,O=void 0===P?[]:P,S=e.emailTemplates,D=void 0===S?[]:S,_=e.smsTemplates,b=void 0===_?[]:_,A=e.isEventEditProductSet,I=e.isCreateAction,N=e.showEmailTemplate,q=e.showSmsTemplate,R=a.useTranslation(["Design","Validation","Notification"]).t,k=o.useFormContext(),L=k.register,y=k.control,x=k.formState.errors,M=k.watch,Y=k.setError,j=k.clearErrors,U=M("steps"),V=i.useId(),G=i.useId();return r.createElement(n.Row,{className:"product-set-form ".concat(A&&"event-edit-product-set")},r.createElement(n.Col,{md:6,sm:12,className:"pr-5"},r.createElement(n.Form.Group,{controlId:V},r.createElement(n.Form.Label,null,R("Design:name"),"*"),r.createElement(n.Form.Control,t.__assign({},L("name",{required:R("Validation:fieldRequired",{attribute:R("name")}),maxLength:255,validate:function(){var e;return U.length?(null===(e=x.steps)||void 0===e?void 0:e.type)===l.manualErrorType&&j("steps"):Y("steps",{type:l.manualErrorType,message:R("Validation:fieldMinNumber",{attribute:R("steps"),min:1})}),!0}}),{placeholder:R("Design:placeholderProductSetName"),isInvalid:Boolean(x.name)})),r.createElement(n.Form.Control.Feedback,{type:"invalid"},null===(c=x.name)||void 0===c?void 0:c.message)),I&&r.createElement(p.DateAndRecurrenceInput,{isEventEditProductSet:A}),r.createElement("div",{className:"divider"}),r.createElement(E.default,null),r.createElement(g.StepsControl,{isLoading:C})),r.createElement(n.Col,{md:6,sm:12},r.createElement("div",{className:"second-column"},r.createElement(n.Form.Group,null,r.createElement(n.Form.Label,{className:"mb-0"},R("Design:operationalCost")),r.createElement("div",{className:"d-flex"},r.createElement("span",{className:"booking-fee-text"},R("bookingFeePaid",{fee:F}))),r.createElement(n.Form.Control,t.__assign({},L("operationalCost",{required:!0}),{as:"select",defaultValue:u.OPERATIONAL_COST_PROVIDER}),Object.keys(u.OPERATIONAL_COST_TYPES).map((function(e){return r.createElement("option",{value:u.OPERATIONAL_COST_TYPES[e],key:u.OPERATIONAL_COST_TYPES[e]},R(T[u.OPERATIONAL_COST_TYPES[e]],{companyName:f}))})))),r.createElement(n.Form.Group,{controlId:G},r.createElement(n.Form.Label,null,R("Design:termsAndConditions")),r.createElement(n.Form.Control,t.__assign({},L("termsAndConditions"),{as:"textarea",rows:2,disabled:C}))),r.createElement(n.Form.Group,null,r.createElement(n.Form.Label,{className:"mt-4"},R("Design:emailTemplate")),N?r.createElement(v.Typeahead,{name:"emailTemplates",options:D,isMultipleChoise:!0,placeholder:R("Design:choose"),noOptionsMessage:R("Design:noActiveTemplates",{notification:R("Design:email")})}):r.createElement(m.default,{message:R("Design:noActiveTemplates",{notification:R("Design:email")})}),r.createElement(n.Form.Label,{className:s(D.length>0?"mt-4":"mt-1")},R("Design:smsTemplate")),q?r.createElement(v.Typeahead,{name:"smsTemplates",options:b,isMultipleChoise:!0,placeholder:R("Design:choose"),noOptionsMessage:R("Design:noActiveTemplates",{notification:R("Design:sms")})}):r.createElement(m.default,{message:R("Design:noActiveTemplates",{notification:R("Design:sms")})})),r.createElement(n.Form.Group,null,r.createElement(o.Controller,{control:y,name:"fieldSetId",render:function(e){var t=e.field,a=String(t.value);return r.createElement(r.Fragment,null,r.createElement(n.Form.Label,null,R("Design:customFields")),r.createElement(n.Form.Control,{onChange:t.onChange,as:"select"},r.createElement("option",{value:"",selected:""===a},R("Design:choose")),null==O?void 0:O.map((function(e){var t=String(e.id);return r.createElement("option",{value:e.id,key:e.id,selected:a===t},e.name)}))))}})),r.createElement(n.Form.Group,{controlId:"thankYouPageUrlId"},r.createElement(n.Form.Label,null,R("thankYouPageUrl")),r.createElement(n.Form.Control,t.__assign({},L("thankYouPageUrl",{validate:function(e){return!e||(!!d.ruleForUrlWithProtocol.test(e)||R("Validation:fieldValidWebURL",{attribute:R("thankYouPageUrl")}))}}),{isInvalid:l.isInvalid("thankYouPageUrl",x)})),r.createElement(n.Form.Control.Feedback,{type:"invalid"},l.getErrors("thankYouPageUrl",x))))))};
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=e(require("react")),r=require("react-i18next"),n=require("react-bootstrap"),o=require("react-hook-form"),l=e(require("@licklist/plugins/dist/services/Form/HookFormService")),i=require("@react-aria/utils"),s=e(require("clsx")),m=require("../../static/WarningMessage.js");require("../../static/index.js");var c,u=require("@licklist/core/dist/DataMapper/Product/ProductSetDataMapper"),d=require("@licklist/plugins/dist/validation/Rules/urlRule"),p=(e(d),require("./DateAndRecurrenceInput.js")),E=require("./TutorialGifCard.js"),g=require("../form/StepsControl.js"),v=require("../../typeahead/Typeahead.js"),T=((c={})[u.OPERATIONAL_COST_PROVIDER]="operationalCostProvider",c[u.OPERATIONAL_COST_CUSTOMER]="operationalCostCustomer",c);exports.ProductSetControl=function(e){var c,f=e.companyName,C=e.isLoading,h=e.fee,F=void 0===h?"5%":h,P=e.fieldSets,O=void 0===P?[]:P,D=e.emailTemplates,b=void 0===D?[]:D,S=e.smsTemplates,_=void 0===S?[]:S,A=e.isEventEditProductSet,N=e.isCreateAction,I=e.showEmailTemplate,q=e.showSmsTemplate,R=r.useTranslation(["Design","Validation","Notification"]).t,k=o.useFormContext(),L=k.register,y=k.control,x=k.formState.errors,M=k.watch,Y=k.setError,j=k.clearErrors,U=M("steps"),V=i.useId(),G=i.useId();return a.createElement(n.Row,{className:"product-set-form ".concat(A&&"event-edit-product-set")},a.createElement(n.Col,{md:6,sm:12,className:"pr-5"},a.createElement(n.Form.Group,{controlId:V},a.createElement(n.Form.Label,null,R("Design:name"),"*"),a.createElement(n.Form.Control,t.__assign({},L("name",{required:R("Validation:fieldRequired",{attribute:R("name")}),maxLength:255,validate:function(){var e;return U.length?(null===(e=x.steps)||void 0===e?void 0:e.type)===l.manualErrorType&&j("steps"):Y("steps",{type:l.manualErrorType,message:R("Validation:fieldMinNumber",{attribute:R("steps"),min:1})}),!0}}),{placeholder:R("Design:placeholderProductSetName"),isInvalid:Boolean(x.name)})),a.createElement(n.Form.Control.Feedback,{type:"invalid"},null===(c=x.name)||void 0===c?void 0:c.message)),N&&a.createElement(p.DateAndRecurrenceInput,{isEventEditProductSet:A}),a.createElement("div",{className:"divider"}),a.createElement(E.default,null),a.createElement(g.StepsControl,{isLoading:C})),a.createElement(n.Col,{md:6,sm:12},a.createElement("div",{className:"second-column"},a.createElement(n.Form.Group,null,a.createElement(n.Form.Label,{className:"mb-0"},R("Design:operationalCost")),a.createElement("div",{className:"d-flex"},a.createElement("span",{className:"booking-fee-text"},R("bookingFeePaid",{fee:F}))),a.createElement(n.Form.Control,t.__assign({},L("operationalCost",{required:!0}),{as:"select",defaultValue:u.OPERATIONAL_COST_PROVIDER}),Object.keys(u.OPERATIONAL_COST_TYPES).map((function(e){return a.createElement("option",{value:u.OPERATIONAL_COST_TYPES[e],key:u.OPERATIONAL_COST_TYPES[e]},R(T[u.OPERATIONAL_COST_TYPES[e]],{companyName:f}))})))),a.createElement(n.Form.Group,{controlId:G},a.createElement(n.Form.Label,null,R("Design:termsAndConditions")),a.createElement(n.Form.Control,t.__assign({},L("termsAndConditions"),{as:"textarea",rows:2,disabled:C}))),a.createElement(n.Form.Group,null,a.createElement(n.Form.Label,{className:"mt-4"},R("Design:emailTemplate")),I?a.createElement(v.Typeahead,{name:"emailTemplates",options:b,isMultipleChoise:!0,placeholder:R("Design:choose"),noOptionsMessage:R("Design:noActiveTemplates",{notification:R("Design:email")})}):a.createElement(m.default,{message:R("Design:noActiveTemplates",{notification:R("Design:email")})}),a.createElement(n.Form.Label,{className:s(b.length>0?"mt-4":"mt-1")},R("Design:smsTemplate")),q?a.createElement(v.Typeahead,{name:"smsTemplates",options:_,isMultipleChoise:!0,placeholder:R("Design:choose"),noOptionsMessage:R("Design:noActiveTemplates",{notification:R("Design:sms")})}):a.createElement(m.default,{message:R("Design:noActiveTemplates",{notification:R("Design:sms")})})),a.createElement(n.Form.Group,null,a.createElement(o.Controller,{control:y,name:"fieldSetId",render:function(e){var t=e.field,r=Number(t.value);return a.createElement(a.Fragment,null,a.createElement(n.Form.Label,null,R("Design:customFields")),a.createElement(n.Form.Control,{onChange:t.onChange,value:r,as:"select"},a.createElement("option",{value:""},R("Design:choose")),null==O?void 0:O.map((function(e){return a.createElement("option",{value:e.id,key:e.id},e.name)}))))}})),a.createElement(n.Form.Group,{controlId:"thankYouPageUrlId"},a.createElement(n.Form.Label,null,R("thankYouPageUrl")),a.createElement(n.Form.Control,t.__assign({},L("thankYouPageUrl",{validate:function(e){return!e||(!!d.ruleForUrlWithProtocol.test(e)||R("Validation:fieldValidWebURL",{attribute:R("thankYouPageUrl")}))}}),{isInvalid:l.isInvalid("thankYouPageUrl",x)})),a.createElement(n.Form.Control.Feedback,{type:"invalid"},l.getErrors("thankYouPageUrl",x))))))};
@@ -1,4 +1,5 @@
1
1
  import { PropsWithChildren } from "react";
2
+ import { User } from "@licklist/core/dist/DataMapper/User/UserDataMapper";
2
3
  export declare type BookingFilterProps = PropsWithChildren<{
3
4
  onAddFiltersClick?: () => void;
4
5
  onCancelFilterClick?: () => void;
@@ -7,6 +8,8 @@ export declare type BookingFilterProps = PropsWithChildren<{
7
8
  isFilterOpen?: boolean;
8
9
  autoFocusOnMount?: boolean;
9
10
  isFullscreenMode?: boolean;
11
+ staffMembers?: User[] | null;
12
+ isLoading: boolean;
10
13
  }>;
11
- export declare const BookingFilter: ({ isFilterOpen, autoFocusOnMount, isFullscreenMode, children, ...props }: BookingFilterProps) => JSX.Element;
14
+ export declare const BookingFilter: ({ isFilterOpen, autoFocusOnMount, isFullscreenMode, staffMembers, isLoading, children, ...props }: BookingFilterProps) => JSX.Element;
12
15
  //# sourceMappingURL=BookingFilter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BookingFilter.d.ts","sourceRoot":"","sources":["../../../../src/sales/booking/filter/BookingFilter.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAKjD,oBAAY,kBAAkB,GAAG,iBAAiB,CAAC;IACjD,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,uBAAuB,CAAC,EAAE,MAAM,IAAI,CAAC;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC,CAAC;AAEH,eAAO,MAAM,aAAa,6EAMvB,kBAAkB,gBAyBpB,CAAC"}
1
+ {"version":3,"file":"BookingFilter.d.ts","sourceRoot":"","sources":["../../../../src/sales/booking/filter/BookingFilter.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,oDAAoD,CAAC;AAK1E,oBAAY,kBAAkB,GAAG,iBAAiB,CAAC;IACjD,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,uBAAuB,CAAC,EAAE,MAAM,IAAI,CAAC;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC,CAAC;AAEH,eAAO,MAAM,aAAa,sGAQvB,kBAAkB,gBA6BpB,CAAC"}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("tslib"),n=require("react"),r=(e=n)&&"object"==typeof e&&"default"in e?e.default:e,i=require("./components/MainFilterSection.js"),o=require("./components/AdditionalFIlterSection.js"),l=require("./components/SearchingForSection.js");exports.BookingFilter=function(e){var n=e.isFilterOpen,a=void 0===n||n,c=e.autoFocusOnMount,s=void 0!==c&&c,u=e.isFullscreenMode,d=void 0!==u&&u,F=e.children,m=t.__rest(e,["isFilterOpen","autoFocusOnMount","isFullscreenMode","children"]);return r.createElement("div",{className:"booking-filter"},r.createElement(i.MainFilterSection,t.__assign({},m,{isFilterOpen:a,autoFocusOnMount:s,isFullscreenMode:d})),a?r.createElement(r.Fragment,null,r.createElement(o.AdditionalFilterSection,null),r.createElement("div",{className:"separator-horizontal"}),r.createElement(l.SearchingForSection,null)):F&&r.createElement(r.Fragment,null,r.createElement("div",{className:"separator-horizontal"}),F))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("tslib"),i=require("react"),r=(e=i)&&"object"==typeof e&&"default"in e?e.default:e,n=require("./components/MainFilterSection.js"),o=require("./components/AdditionalFIlterSection.js"),s=require("./components/SearchingForSection.js");exports.BookingFilter=function(e){var i=e.isFilterOpen,a=void 0===i||i,l=e.autoFocusOnMount,c=void 0!==l&&l,u=e.isFullscreenMode,d=void 0!==u&&u,m=e.staffMembers,F=e.isLoading,f=e.children,M=t.__rest(e,["isFilterOpen","autoFocusOnMount","isFullscreenMode","staffMembers","isLoading","children"]);return r.createElement("div",{className:"booking-filter"},r.createElement(n.MainFilterSection,t.__assign({},M,{isLoading:F,isFilterOpen:a,autoFocusOnMount:c,isFullscreenMode:d})),a?r.createElement(r.Fragment,null,r.createElement(o.AdditionalFilterSection,{isLoading:F,staffMembers:m}),r.createElement("div",{className:"separator-horizontal"}),r.createElement(s.SearchingForSection,{staffMembers:m})):f&&r.createElement(r.Fragment,null,r.createElement("div",{className:"separator-horizontal"}),f))};
@@ -1,4 +1,5 @@
1
1
  /// <reference types="react" />
2
+ import { FilterSectionProps } from "./SearchingForSection";
2
3
  export declare type AdditionalFilterSectionProps = {
3
4
  onAddFiltersClick?: () => void;
4
5
  onCancelFilterClick?: () => void;
@@ -6,5 +7,5 @@ export declare type AdditionalFilterSectionProps = {
6
7
  onFullscreenButtonClick?: () => void;
7
8
  isFilterOpen?: boolean;
8
9
  };
9
- export declare const AdditionalFilterSection: () => JSX.Element;
10
+ export declare const AdditionalFilterSection: ({ staffMembers, isLoading, }: FilterSectionProps) => JSX.Element;
10
11
  //# sourceMappingURL=AdditionalFIlterSection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AdditionalFIlterSection.d.ts","sourceRoot":"","sources":["../../../../../src/sales/booking/filter/components/AdditionalFIlterSection.tsx"],"names":[],"mappings":";AAsBA,oBAAY,4BAA4B,GAAG;IACzC,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,uBAAuB,CAAC,EAAE,MAAM,IAAI,CAAC;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,uBAAuB,mBAgEnC,CAAC"}
1
+ {"version":3,"file":"AdditionalFIlterSection.d.ts","sourceRoot":"","sources":["../../../../../src/sales/booking/filter/components/AdditionalFIlterSection.tsx"],"names":[],"mappings":";AAeA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAS3D,oBAAY,4BAA4B,GAAG;IACzC,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,uBAAuB,CAAC,EAAE,MAAM,IAAI,CAAC;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,uBAAuB,iCAGjC,kBAAkB,gBA+GpB,CAAC"}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("tslib"),r=require("react"),a=(e=r)&&"object"==typeof e&&"default"in e?e.default:e,n=require("react-i18next"),l=require("react-bootstrap"),o=require("react-hook-form"),i=require("@licklist/core/dist/DataMapper/Order/OrderDataMapper"),s=require("@licklist/plugins/dist/context/booking/BookingContext"),c=[i.ORDER_STATUS_PENDING,i.ORDER_STATUS_CANCELLED,i.ORDER_STATUS_COMPLETED,i.ORDER_STATUS_ACTION_REQUIRED];exports.AdditionalFilterSection=function(){var e=n.useTranslation("Design").t,i=r.useContext(s.BookingContext),m=i.filters,u=i.setFilters,E=o.useForm({defaultValues:m}),d=E.handleSubmit,p=E.register,f=E.reset;return r.useEffect((function(){f(m)}),[m,f]),a.createElement("div",{className:"additional-filter-section"},a.createElement(l.Form,{onSubmit:d((function(e){u(e)}))},a.createElement(l.Row,{className:"additional-filter-container"},a.createElement(l.Col,{md:"3"},a.createElement(l.Form.Group,null,a.createElement(l.Form.Label,null,e("staffMember")),a.createElement(l.Form.Control,t.__assign({},p("staffMember"),{as:"select"}),a.createElement("option",{value:""},e("Design:choose"))))),a.createElement(l.Col,{md:"3"},a.createElement(l.Form.Group,null,a.createElement(l.Form.Label,null,e("bookingStatus")),a.createElement(l.Form.Control,t.__assign({},p("status"),{as:"select"}),a.createElement("option",{value:""},e("Design:choose")),Object.keys(c).map((function(t){return a.createElement("option",{key:c[t],value:c[t]},e("Design:".concat(c[t])))}))))),a.createElement(l.Col,{className:"date-container"},a.createElement(l.Form.Group,null,a.createElement(l.Form.Label,null,e("date")),a.createElement(l.Form.Control,t.__assign({},p("date"),{type:"date"})))),a.createElement(l.Col,{md:"3",className:"d-flex align-items-end"},a.createElement(l.Form.Group,null,a.createElement(l.Button,{type:"submit",className:"shadow-none"},e("apply")))))))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("tslib"),r=require("react"),a=(e=r)&&"object"==typeof e&&"default"in e?e.default:e,n=require("react-i18next"),l=require("react-bootstrap"),o=require("react-hook-form"),i=require("../../../../static/date-range-input/DateRangeInput.js"),s=require("@licklist/core/dist/DataMapper/Order/OrderDataMapper"),c=require("@licklist/plugins/dist/context/booking/BookingContext"),u=[s.ORDER_STATUS_PENDING,s.ORDER_STATUS_CANCELLED,s.ORDER_STATUS_COMPLETED,s.ORDER_STATUS_ACTION_REQUIRED];exports.AdditionalFilterSection=function(e){var s=e.staffMembers,d=e.isLoading,m=n.useTranslation("Design").t,E=r.useContext(c.BookingContext),p=E.filters,f=E.setFilters,_=o.useForm({defaultValues:p}),g=_.handleSubmit,D=_.register,v=_.setValue,b=_.reset,C=_.watch,S=_.control,F=C("order_date_from"),R=C("order_date_to");return r.useEffect((function(){b(p)}),[p,b]),a.createElement("div",{className:"additional-filter-section"},a.createElement(l.Form,{onSubmit:g((function(e){f(e)}))},a.createElement(l.Row,{className:"additional-filter-container"},a.createElement(l.Col,{md:"3"},a.createElement(l.Form.Group,null,a.createElement(l.Form.Label,null,m("createdBy")),a.createElement(o.Controller,{control:S,name:"created_by",render:function(e){var t=e.field,r=String(null==t?void 0:t.value);return a.createElement(l.Form.Control,{as:"select",value:r,disabled:d,onChange:null==t?void 0:t.onChange},a.createElement("option",{value:"",selected:""===r},m("Design:choose")),null==s?void 0:s.map((function(e){return a.createElement("option",{value:null==e?void 0:e.id,key:null==e?void 0:e.id,selected:r===String(null==e?void 0:e.id)},null==e?void 0:e.firstName," ",null==e?void 0:e.lastName)})))}}))),a.createElement(l.Col,{md:"3"},a.createElement(l.Form.Group,null,a.createElement(l.Form.Label,null,m("bookingStatus")),a.createElement(l.Form.Control,t.__assign({disabled:d},D("status"),{as:"select"}),a.createElement("option",{value:""},m("Design:choose")),Object.keys(u).map((function(e){return a.createElement("option",{key:u[e],value:u[e]},m("Design:".concat(u[e])))}))))),a.createElement(l.Col,{className:"date-container"},a.createElement(l.Form.Group,null,a.createElement(l.Form.Label,null,m("date")),a.createElement(i.DateRangeInput,{disabled:d,placeholder:m("date"),startDate:F,endDate:R,onDateChange:function(e){var t=e.startDate,r=e.endDate;v("order_date_from",t),v("order_date_to",r)}}))),a.createElement(l.Col,{md:"3",className:"d-flex align-items-end"},a.createElement(l.Form.Group,null,a.createElement(l.Button,{disabled:d,type:"submit",className:"shadow-none"},m("apply")))))))};
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
2
  import { BookingFilterProps } from "../BookingFilter";
3
- export declare type MainFilterSectionProps = BookingFilterProps;
4
- export declare const MainFilterSection: ({ isFilterOpen, onAddFiltersClick, onCancelFilterClick, onRefreshClick, onFullscreenButtonClick, autoFocusOnMount, isFullscreenMode, }: MainFilterSectionProps) => JSX.Element;
3
+ export declare type MainFilterSectionProps = Omit<BookingFilterProps, "staffMembers">;
4
+ export declare const MainFilterSection: ({ isFilterOpen, onAddFiltersClick, onCancelFilterClick, onRefreshClick, onFullscreenButtonClick, autoFocusOnMount, isFullscreenMode, isLoading, }: MainFilterSectionProps) => JSX.Element;
5
5
  //# sourceMappingURL=MainFilterSection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MainFilterSection.d.ts","sourceRoot":"","sources":["../../../../../src/sales/booking/filter/components/MainFilterSection.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAKtD,oBAAY,sBAAsB,GAAG,kBAAkB,CAAC;AAIxD,eAAO,MAAM,iBAAiB,2IAQ3B,sBAAsB,gBA0GxB,CAAC"}
1
+ {"version":3,"file":"MainFilterSection.d.ts","sourceRoot":"","sources":["../../../../../src/sales/booking/filter/components/MainFilterSection.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAKtD,oBAAY,sBAAsB,GAAG,IAAI,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;AAI9E,eAAO,MAAM,iBAAiB,sJAS3B,sBAAsB,gBA4GxB,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"),n=require("react"),a=e(n),r=require("react-i18next"),l=require("react-bootstrap"),s=require("../../../../static/Icon.js"),c=e(require("clsx")),o=require("@licklist/plugins/dist/context/booking/BookingContext"),i=e(require("use-debounce/lib/useDebounce")),u=require("../../../../assets/dashboard/refresh.svg.js"),m=require("../../../../assets/dashboard/fullscreen.svg.js"),d=require("../../../../assets/dashboard/minimize.svg.js");exports.MainFilterSection=function(e){var f=e.isFilterOpen,h=e.onAddFiltersClick,v=e.onCancelFilterClick,E=e.onRefreshClick,p=e.onFullscreenButtonClick,b=e.autoFocusOnMount,k=e.isFullscreenMode,C=r.useTranslation("Design").t,g=n.useContext(o.BookingContext),N=g.filters,F=g.onQueryChange,q=N.search,B=void 0===q?"":q,w=t.__read(n.useState(B),2),x=w[0],y=w[1],j=t.__read(i(x,300),1)[0];return n.useEffect((function(){F(j)}),[F,j]),n.useEffect((function(){x!==B&&y(B)}),[B]),a.createElement("div",{className:"main-filter-section"},a.createElement("div",{className:"search"},a.createElement(l.Form.Group,null,a.createElement(l.Form.Label,null,C("searchBookings"),":"),a.createElement("div",{className:"control-with-icon"},a.createElement(s.default,{type:"search",width:"1rem",height:"1rem",className:"search-icon"}),a.createElement(l.Form.Control,{value:x,onChange:function(e){var t=e.target.value;y(t)},onBlur:function(e){var t=e.target.value;F(t)},placeholder:C("searchBookingsPlaceholder"),autoFocus:b})))),a.createElement("div",{className:"buttons"},f?a.createElement(l.Button,{variant:"link",className:"shadow-none cancel-button",onClick:v},a.createElement("div",{className:"icon"},a.createElement(s.default,{type:"plus",style:{width:10}})),C("cancel")):a.createElement(l.Button,{variant:"link",className:"shadow-none add-filters-button",onClick:h},a.createElement("div",{className:"icon"},a.createElement(s.default,{type:"plus",style:{width:10}})),C("addFilters")),a.createElement("div",{className:"separator"}),a.createElement(l.Button,{variant:"link",className:"shadow-none refresh-button",onClick:E},a.createElement("div",{className:"icon"},a.createElement(u.ReactComponent,null)),C("refresh")),a.createElement("div",{className:"separator active"}),a.createElement(l.Button,{variant:"link",className:c("shadow-none",!k&&"fullscreen-button",k&&"minimize-button"),onClick:p},a.createElement("div",{className:"icon"},k?a.createElement(d.ReactComponent,null):a.createElement(m.ReactComponent,null)),C(k?"minimize":"fullScreen"))))};
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"),n=require("react"),a=e(n),r=require("react-i18next"),l=require("react-bootstrap"),s=require("../../../../static/Icon.js"),i=e(require("clsx")),c=require("@licklist/plugins/dist/context/booking/BookingContext"),o=e(require("use-debounce/lib/useDebounce")),u=require("../../../../assets/dashboard/refresh.svg.js"),m=require("../../../../assets/dashboard/fullscreen.svg.js"),d=require("../../../../assets/dashboard/minimize.svg.js");exports.MainFilterSection=function(e){var f=e.isFilterOpen,h=e.onAddFiltersClick,v=e.onCancelFilterClick,E=e.onRefreshClick,b=e.onFullscreenButtonClick,p=e.autoFocusOnMount,k=e.isFullscreenMode,C=e.isLoading,g=r.useTranslation("Design").t,N=n.useContext(c.BookingContext),F=N.filters,q=N.onQueryChange,B=F.search,w=void 0===B?"":B,x=t.__read(n.useState(w),2),y=x[0],j=x[1],_=t.__read(o(y,300),1)[0];return n.useEffect((function(){q(_)}),[q,_]),n.useEffect((function(){y!==w&&j(w)}),[w]),a.createElement("div",{className:"main-filter-section"},a.createElement("div",{className:"search"},a.createElement(l.Form.Group,null,a.createElement(l.Form.Label,null,g("searchBookings"),":"),a.createElement("div",{className:"control-with-icon"},a.createElement(s.default,{type:"search",width:"1rem",height:"1rem",className:"search-icon"}),a.createElement(l.Form.Control,{disabled:C,value:y,onChange:function(e){var t=e.target.value;j(t)},onBlur:function(e){var t=e.target.value;q(t)},placeholder:g("searchBookingsPlaceholder"),autoFocus:p})))),a.createElement("div",{className:"buttons"},f?a.createElement(l.Button,{variant:"link",className:"shadow-none cancel-button",onClick:v},a.createElement("div",{className:"icon"},a.createElement(s.default,{type:"plus",style:{width:10}})),g("cancel")):a.createElement(l.Button,{variant:"link",className:"shadow-none add-filters-button",onClick:h},a.createElement("div",{className:"icon"},a.createElement(s.default,{type:"plus",style:{width:10}})),g("addFilters")),a.createElement("div",{className:"separator"}),a.createElement(l.Button,{variant:"link",className:"shadow-none refresh-button",onClick:E},a.createElement("div",{className:"icon"},a.createElement(u.ReactComponent,null)),g("refresh")),a.createElement("div",{className:"separator active"}),a.createElement(l.Button,{variant:"link",disabled:C,className:i("shadow-none",!k&&"fullscreen-button",k&&"minimize-button"),onClick:b},a.createElement("div",{className:"icon"},k?a.createElement(d.ReactComponent,null):a.createElement(m.ReactComponent,null)),g(k?"minimize":"fullScreen"))))};
@@ -1,3 +1,10 @@
1
1
  /// <reference types="react" />
2
- export declare const SearchingForSection: () => JSX.Element;
2
+ import { User } from "@licklist/core/dist/DataMapper/User/UserDataMapper";
3
+ export interface FilterSectionProps {
4
+ staffMembers?: User[] | null;
5
+ isLoading: boolean;
6
+ }
7
+ export declare const SearchingForSection: ({ staffMembers }: {
8
+ staffMembers: any;
9
+ }) => JSX.Element;
3
10
  //# sourceMappingURL=SearchingForSection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SearchingForSection.d.ts","sourceRoot":"","sources":["../../../../../src/sales/booking/filter/components/SearchingForSection.tsx"],"names":[],"mappings":";AAWA,eAAO,MAAM,mBAAmB,mBAwD/B,CAAC"}
1
+ {"version":3,"file":"SearchingForSection.d.ts","sourceRoot":"","sources":["../../../../../src/sales/booking/filter/components/SearchingForSection.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,IAAI,EAAE,MAAM,oDAAoD,CAAC;AAU1E,MAAM,WAAW,kBAAkB;IACjC,YAAY,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,mBAAmB;;iBA+E/B,CAAC"}
@@ -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"),s=require("react-bootstrap"),i=require("@licklist/plugins/dist/context/booking/BookingContext"),c=require("./ResultTagButton.js"),o=["q","status","date","staffMember"];exports.SearchingForSection=function(){var e=a.useTranslation("Design").t,u=r.useContext(i.BookingContext),l=u.filters,g=u.setFilters,m=r.useMemo((function(){return o.reduce((function(e,r){var n;return l[r]?t.__assign(t.__assign({},e),((n={})[r]=l[r],n)):e}),{})}),[l]),f=function(e){var r;g(t.__assign(t.__assign({},l),((r={})[e]="",r)))};if(!Object.keys(m).length)return null;var _=m.search,p=t.__rest(m,["search"]);return n.createElement("div",{className:"searching-for-section"},n.createElement("div",{className:"tags"},n.createElement("p",{className:"label"},e("Design:searchingFor"),":"),n.createElement("p",{className:"search-query-param"},_),Object.keys(p).map((function(e){return n.createElement(c.ResultTagButton,{key:e,tagKey:e,value:p[e],onRemoveClick:f})})),n.createElement(s.Button,{variant:"link",className:"shadow-none",onClick:function(){g({isFilterOpen:!0})}},e("clear"))))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("tslib"),r=require("react"),a=(e=r)&&"object"==typeof e&&"default"in e?e.default:e,n=require("react-i18next"),s=require("react-bootstrap"),o=require("@licklist/plugins/dist/context/booking/BookingContext"),i=require("./ResultTagButton.js"),c=["q","status","order_date_from","created_by"];exports.SearchingForSection=function(e){var l=e.staffMembers,u=n.useTranslation("Design").t,_=r.useContext(o.BookingContext),d=_.filters,g=_.setFilters,m=r.useMemo((function(){var e=null==l?void 0:l.find((function(e){return Number(null==d?void 0:d.created_by)===(null==e?void 0:e.id)}));return c.reduce((function(r,a){var n,s,o;return"created_by"===a&&d[a]?t.__assign(t.__assign({},r),((n={})[a]="".concat((null==e?void 0:e.firstName)||""," ").concat((null==e?void 0:e.lastName)||""),n)):"order_date_from"===a&&d[a]?t.__assign(t.__assign({},r),((s={})[a]="".concat(d.order_date_from||""," - ").concat((null==d?void 0:d.order_date_to)||""),s)):d[a]?t.__assign(t.__assign({},r),((o={})[a]=d[a],o)):r}),{})}),[d,l]),f=function(e){var r;g("order_date_from"!==e?t.__assign(t.__assign({},d),((r={})[e]="",r)):t.__assign(t.__assign({},d),{order_date_from:"",order_date_to:""}))};if(!Object.keys(m).length)return null;var v=m.search,b=t.__rest(m,["search"]);return a.createElement("div",{className:"searching-for-section"},a.createElement("div",{className:"tags"},a.createElement("p",{className:"label"},u("Design:searchingFor"),":"),a.createElement("p",{className:"search-query-param"},v),Object.keys(b).map((function(e){return a.createElement(i.ResultTagButton,{key:e,tagKey:e,value:b[e],onRemoveClick:f})})),a.createElement(s.Button,{variant:"link",className:"shadow-none",onClick:function(){g({isFilterOpen:!0})}},u("clear"))))};
@@ -6,6 +6,7 @@ export declare type BookingTabsProps = HasPermissionProp & PropsWithChildren<{
6
6
  onAddButtonClick?: () => void;
7
7
  viewType: BOOKING_TYPE;
8
8
  onSetType: (value: BOOKING_TYPE) => void;
9
+ hasBookingManagment: boolean;
9
10
  }>;
10
- export declare const BookingTabs: ({ children, onReportsClick, onAddButtonClick, hasPermission, viewType, onSetType, }: BookingTabsProps) => JSX.Element;
11
+ export declare const BookingTabs: ({ children, onReportsClick, onAddButtonClick, hasPermission, hasBookingManagment, viewType, onSetType, }: BookingTabsProps) => JSX.Element;
11
12
  //# sourceMappingURL=BookingTabs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BookingTabs.d.ts","sourceRoot":"","sources":["../../../../src/sales/booking/tabs/BookingTabs.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAIjD,OAAO,EAGL,YAAY,EACb,MAAM,uDAAuD,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oDAAoD,CAAC;AAQvF,oBAAY,gBAAgB,GAAG,iBAAiB,GAC9C,iBAAiB,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,QAAQ,EAAE,YAAY,CAAC;IACvB,SAAS,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;CAC1C,CAAC,CAAC;AAEL,eAAO,MAAM,WAAW,wFAOrB,gBAAgB,gBAuDlB,CAAC"}
1
+ {"version":3,"file":"BookingTabs.d.ts","sourceRoot":"","sources":["../../../../src/sales/booking/tabs/BookingTabs.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAIjD,OAAO,EAGL,YAAY,EACb,MAAM,uDAAuD,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oDAAoD,CAAC;AAQvF,oBAAY,gBAAgB,GAAG,iBAAiB,GAC9C,iBAAiB,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,QAAQ,EAAE,YAAY,CAAC;IACvB,SAAS,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IACzC,mBAAmB,EAAE,OAAO,CAAC;CAC9B,CAAC,CAAC;AAEL,eAAO,MAAM,WAAW,6GAQrB,gBAAgB,gBAsDlB,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=e(require("react")),a=require("react-i18next"),n=require("react-bootstrap"),s=require("../../../static/Icon.js"),r=e(require("clsx")),o=require("@licklist/plugins/dist/context/booking/BookingContext"),i=require("../../../assets/dashboard/bookingCalendar.svg.js"),l=require("../../../assets/dashboard/bookingList.svg.js"),c=require("../../../assets/dashboard/bookingListSmall.svg.js"),m=[o.BOOKING_LIST_TYPE,o.BOOKING_CALENDAR_TYPE];exports.BookingTabs=function(e){var u=e.children,d=e.onReportsClick,p=e.onAddButtonClick,E=e.hasPermission,k=void 0!==E&&E,v=e.viewType,b=e.onSetType,g=a.useTranslation("Design").t;return t.createElement("div",{className:"booking-tabs-pane"},t.createElement("div",{className:"booking-tabs"},m.map((function(e){return t.createElement(n.Button,{key:e,variant:"link",size:"sm",className:r("p-0 m-0 pr-2 shadow-none",v===e&&"active"),onClick:function(){b(e)}},e===o.BOOKING_LIST_TYPE?t.createElement(l.ReactComponent,null):t.createElement(i.ReactComponent,null))}))),t.createElement("span",{className:"separator"}),t.createElement("div",{className:"children"},u),k&&t.createElement("div",{className:"buttons"},t.createElement(n.Button,{variant:"outline-primary",className:"shadow-none mr-4",onClick:d},t.createElement(c.ReactComponent,{className:"mr-2"}),g("generateReports")),t.createElement(n.Button,{variant:"primary",className:"shadow-none",onClick:p},t.createElement("div",{className:"icon"},t.createElement(s.default,{type:"plus",style:{width:10},color:"#0E8CE2"})),g("newBooking"))))};
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=e(require("react")),a=require("react-i18next"),n=require("react-bootstrap"),s=require("../../../static/Icon.js"),r=e(require("clsx")),o=require("@licklist/plugins/dist/context/booking/BookingContext"),i=require("../../../assets/dashboard/bookingCalendar.svg.js"),l=require("../../../assets/dashboard/bookingList.svg.js"),c=require("../../../assets/dashboard/bookingListSmall.svg.js"),m=[o.BOOKING_LIST_TYPE,o.BOOKING_CALENDAR_TYPE];exports.BookingTabs=function(e){var u=e.children,d=e.onReportsClick,p=e.onAddButtonClick,E=e.hasPermission,k=void 0!==E&&E,g=e.hasBookingManagment,v=e.viewType,b=e.onSetType,N=a.useTranslation("Design").t;return t.createElement("div",{className:"booking-tabs-pane"},t.createElement("div",{className:"booking-tabs"},m.map((function(e){return t.createElement(n.Button,{key:e,variant:"link",size:"sm",className:r("p-0 m-0 pr-2 shadow-none",v===e&&"active"),onClick:function(){b(e)}},e===o.BOOKING_CALENDAR_TYPE&&g&&t.createElement(i.ReactComponent,null),e===o.BOOKING_LIST_TYPE&&t.createElement(l.ReactComponent,null))}))),t.createElement("span",{className:"separator"}),t.createElement("div",{className:"children"},u),k&&t.createElement("div",{className:"buttons"},t.createElement(n.Button,{variant:"outline-primary",className:"shadow-none mr-4",onClick:d},t.createElement(c.ReactComponent,{className:"mr-2"}),N("generateReports")),t.createElement(n.Button,{variant:"primary",className:"shadow-none",onClick:p},t.createElement("div",{className:"icon"},t.createElement(s.default,{type:"plus",style:{width:10},color:"#0E8CE2"})),N("newBooking"))))};
@@ -7,7 +7,7 @@ export interface Filters {
7
7
  order_date_to: string;
8
8
  orderable_date_from: string;
9
9
  orderable_date_to: string;
10
- is_pending: boolean;
10
+ is_in_cart: boolean;
11
11
  }
12
12
  export interface SaleFiltersProps {
13
13
  values: Filters;
@@ -7,11 +7,12 @@ export declare type DateRangeInputProps = {
7
7
  startDate?: string;
8
8
  endDate?: string;
9
9
  months?: number;
10
+ disabled?: boolean;
10
11
  onDateChange?: (dates: {
11
12
  startDate?: string;
12
13
  endDate?: string;
13
14
  }) => void;
14
15
  };
15
- export declare const DateRangeInput: ({ placeholder, startDate, endDate, onDateChange, months, }: DateRangeInputProps) => JSX.Element;
16
+ export declare const DateRangeInput: ({ placeholder, startDate, endDate, onDateChange, months, disabled, }: DateRangeInputProps) => JSX.Element;
16
17
  export declare const sameWidthPopperModifier: Popper.Modifier<"sameWidth", Record<string, unknown>>;
17
18
  //# sourceMappingURL=DateRangeInput.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateRangeInput.d.ts","sourceRoot":"","sources":["../../../src/static/date-range-input/DateRangeInput.tsx"],"names":[],"mappings":";AAKA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AASzC,OAAO,kCAAkC,CAAC;AAC1C,OAAO,yCAAyC,CAAC;AAEjD,oBAAY,mBAAmB,GAAG;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CAC1E,CAAC;AAEF,eAAO,MAAM,cAAc,+DAMxB,mBAAmB,gBA2GrB,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,QAAQ,CACnD,WAAW,EACX,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAmBxB,CAAC"}
1
+ {"version":3,"file":"DateRangeInput.d.ts","sourceRoot":"","sources":["../../../src/static/date-range-input/DateRangeInput.tsx"],"names":[],"mappings":";AAKA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AASzC,OAAO,kCAAkC,CAAC;AAC1C,OAAO,yCAAyC,CAAC;AAEjD,oBAAY,mBAAmB,GAAG;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CAC1E,CAAC;AAEF,eAAO,MAAM,cAAc,yEAOxB,mBAAmB,gBA4GrB,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,QAAQ,CACnD,WAAW,EACX,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAmBxB,CAAC"}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("tslib"),n=require("react"),a=(e=n)&&"object"==typeof e&&"default"in e?e.default:e,r=require("react-i18next"),s=require("react-bootstrap"),i=require("../Icon.js"),o=require("@react-aria/utils"),u=require("react-date-range"),c=require("react-use"),l=require("./utils/index.js");require("react-date-range/dist/styles.css"),require("react-date-range/dist/theme/default.css"),require("../index.js");var d={name:"sameWidth",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(e){var t=e.state;Object.assign(t.styles.popper,{marginLeft:"-2px",maxWidth:"unset"})},effect:function(e){var t=e.state;Object.assign(t.elements.popper.style,{maxWidth:"unset"})}};exports.DateRangeInput=function(e){var m=e.placeholder,p=e.startDate,f=e.endDate,g=e.onDateChange,D=e.months,v=void 0===D?2:D,h=r.useTranslation("Design").t,y=t.__read(n.useState([{startDate:new Date,endDate:new Date,key:"selection"}]),2),_=y[0],q=y[1],E=t.__read(n.useState(!1),2),b=E[0],x=E[1],w=o.useId(),C=n.useRef();c.useClickAway(C,(function(){return x(!1)}));return n.useEffect((function(){p&&f&&q((function(e){return[t.__assign(t.__assign({},e[0]),l.stringDatesToJSDates({startDate:p,endDate:f}))]}))}),[p,f]),a.createElement("div",null,a.createElement(s.OverlayTrigger,{show:b,overlay:a.createElement(s.Popover,{id:w,className:"rounded"},a.createElement(s.Popover.Content,{className:"shadow-lg rounded",ref:C},a.createElement(u.DateRange,{onChange:function(e){return q([e.selection])},moveRangeOnFirstSelection:!1,ranges:_,months:v,direction:"horizontal"}),a.createElement("div",{className:"mt-3 d-flex justify-content-end"},a.createElement(s.Button,{onClick:function(){g&&g({}),q((function(e){return[t.__assign(t.__assign({},e[0]),{startDate:new Date,endDate:new Date})]})),x(!1)},variant:"link"},h("clear")),a.createElement(s.Button,{onClick:function(){g&&g(l.rangeDatesToStringDates(_)),x(!1)},className:"ml-3",variant:"link"},h("apply"))))),trigger:"click",placement:"bottom",popperConfig:{modifiers:[d]}},a.createElement("div",{onClick:function(){return x((function(e){return!e}))},onKeyDown:function(){return x((function(e){return!e}))},role:"button",tabIndex:0,className:"date-range-input-wrapper"},a.createElement(s.Form.Control,{type:"input",placeholder:m,readOnly:!0,className:"date-range-input",value:l.stringDatesToInputValue({startDate:p,endDate:f})}),a.createElement(i.default,{type:"calendar",height:"1rem",className:"date-range-input-icon"}))))},exports.sameWidthPopperModifier=d;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("tslib"),n=require("react"),a=(e=n)&&"object"==typeof e&&"default"in e?e.default:e,r=require("react-i18next"),s=require("react-bootstrap"),i=require("../Icon.js"),o=require("@react-aria/utils"),u=require("react-date-range"),c=require("react-use"),l=require("./utils/index.js");require("react-date-range/dist/styles.css"),require("react-date-range/dist/theme/default.css"),require("../index.js");var d={name:"sameWidth",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(e){var t=e.state;Object.assign(t.styles.popper,{marginLeft:"-2px",maxWidth:"unset"})},effect:function(e){var t=e.state;Object.assign(t.elements.popper.style,{maxWidth:"unset"})}};exports.DateRangeInput=function(e){var m=e.placeholder,p=e.startDate,f=e.endDate,g=e.onDateChange,D=e.months,v=void 0===D?2:D,h=e.disabled,y=r.useTranslation("Design").t,_=t.__read(n.useState([{startDate:new Date,endDate:new Date,key:"selection"}]),2),b=_[0],q=_[1],E=t.__read(n.useState(!1),2),x=E[0],w=E[1],C=o.useId(),j=n.useRef();c.useClickAway(j,(function(){return w(!1)}));return n.useEffect((function(){p&&f&&q((function(e){return[t.__assign(t.__assign({},e[0]),l.stringDatesToJSDates({startDate:p,endDate:f}))]}))}),[p,f]),a.createElement("div",null,a.createElement(s.OverlayTrigger,{show:x,overlay:a.createElement(s.Popover,{id:C,className:"rounded"},a.createElement(s.Popover.Content,{className:"shadow-lg rounded",ref:j},a.createElement(u.DateRange,{onChange:function(e){return q([e.selection])},moveRangeOnFirstSelection:!1,ranges:b,months:v,direction:"horizontal"}),a.createElement("div",{className:"mt-3 d-flex justify-content-end"},a.createElement(s.Button,{onClick:function(){g&&g({}),q((function(e){return[t.__assign(t.__assign({},e[0]),{startDate:new Date,endDate:new Date})]})),w(!1)},variant:"link"},y("clear")),a.createElement(s.Button,{onClick:function(){g&&g(l.rangeDatesToStringDates(b)),w(!1)},className:"ml-3",variant:"link"},y("apply"))))),trigger:"click",placement:"bottom",popperConfig:{modifiers:[d]}},a.createElement("div",{onClick:function(){return w((function(e){return!e}))},onKeyDown:function(){return w((function(e){return!e}))},role:"button",tabIndex:0,className:"date-range-input-wrapper"},a.createElement(s.Form.Control,{type:"input",placeholder:m,disabled:h,readOnly:!0,className:"date-range-input",value:l.stringDatesToInputValue({startDate:p,endDate:f})}),a.createElement(i.default,{type:"calendar",height:"1rem",className:"date-range-input-icon"}))))},exports.sameWidthPopperModifier=d;
@@ -5,6 +5,10 @@
5
5
 
6
6
  .date-range-input[readonly] {
7
7
  background-color: transparent;
8
+
9
+ &:disabled {
10
+ background-color: #ebebeb;
11
+ }
8
12
  }
9
13
 
10
14
  .date-range-input-icon {
@@ -13,4 +17,4 @@
13
17
  bottom: 1rem;
14
18
  color: $gray-500;
15
19
  }
16
- }
20
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"FilterHelperComponent.d.ts","sourceRoot":"","sources":["../../src/table/FilterHelperComponent.tsx"],"names":[],"mappings":";AAIA,MAAM,WAAW,0BAA0B;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED;;;;GAIG;AACH,iBAAS,qBAAqB,CAAC,EAC7B,YAAY,EACZ,SAAS,GACV,EAAE,0BAA0B,eAiE5B;AAED,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
1
+ {"version":3,"file":"FilterHelperComponent.d.ts","sourceRoot":"","sources":["../../src/table/FilterHelperComponent.tsx"],"names":[],"mappings":";AAIA,MAAM,WAAW,0BAA0B;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED;;;;GAIG;AACH,iBAAS,qBAAqB,CAAC,EAC7B,YAAY,EACZ,SAAS,GACV,EAAE,0BAA0B,eAkE5B;AAED,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("tslib"),n=require("react"),l=(e=n)&&"object"==typeof e&&"default"in e?e.default:e,r=require("react-i18next"),a=require("react-bootstrap");exports.FilterHelperComponent=function(e){var i=e.defaultValue,c=e.onClickFn,o=t.__read(n.useState(null!=i?i:""),2),s=o[0],u=o[1],f=r.useTranslation(["Design"]).t;n.useEffect((function(){u(null!=i?i:"")}),[i]);var m=function(){c&&c(s)};return l.createElement(l.Fragment,null,l.createElement("div",{className:"filter"},l.createElement("label",{htmlFor:"filter"},l.createElement("div",{className:"d-flex flex-row align-items-center"},l.createElement(a.FormControl,{id:"filter",name:"filter",placeholder:f("Design:search"),type:"text",value:s,onChange:function(e){var t=e.target.value;u((function(){return t}))},onKeyDown:function(e){"Enter"===e.key&&m()}}),l.createElement(a.Button,{variant:"secondary",className:"d-flex align-items-center align-self-end ml-2",onClick:function(){c&&c("")}},f("Design:clear")),l.createElement(a.Button,{type:"submit",className:"d-flex align-items-center align-self-end ml-2",onClick:m},f("Design:search"))))))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("tslib"),n=require("react"),l=(e=n)&&"object"==typeof e&&"default"in e?e.default:e,r=require("react-i18next"),a=require("react-bootstrap");exports.FilterHelperComponent=function(e){var i=e.defaultValue,c=e.onClickFn,o=t.__read(n.useState(null!=i?i:""),2),s=o[0],u=o[1],f=r.useTranslation(["Design"]).t;n.useEffect((function(){u(null!=i?i:"")}),[i]);var m=function(){c&&c(s)};return l.createElement(l.Fragment,null,l.createElement("div",{className:"filter"},l.createElement("label",{htmlFor:"filter"},l.createElement("div",{className:"d-flex flex-row align-items-center"},l.createElement(a.FormControl,{id:"filter",name:"filter",placeholder:f("Design:search"),type:"text",value:s,onChange:function(e){var t=e.target.value;u((function(){return t}))},onKeyDown:function(e){"Enter"===e.key&&m()}}),l.createElement(a.Button,{variant:"secondary",className:"d-flex align-items-center align-self-end ml-2",onClick:function(){c&&c(""),u("")}},f("Design:clear")),l.createElement(a.Button,{type:"submit",className:"d-flex align-items-center align-self-end ml-2",onClick:m},f("Design:search"))))))};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@licklist/design",
3
- "version": "0.44.511",
3
+ "version": "0.44.512",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+ssh://git@bitbucket.org/artelogicsoft/licklist_design.git"
@@ -281,24 +281,20 @@ export function ProductSetControl({
281
281
  control={control}
282
282
  name="fieldSetId"
283
283
  render={({ field }) => {
284
- const fieldSetValue = String(field.value);
284
+ const fieldValue = Number(field.value);
285
285
 
286
286
  return (
287
287
  <>
288
288
  <Form.Label>{t("Design:customFields")}</Form.Label>
289
- <Form.Control onChange={field.onChange} as="select">
290
- <option value="" selected={fieldSetValue === ""}>
291
- {t("Design:choose")}
292
- </option>
289
+ <Form.Control
290
+ onChange={field.onChange}
291
+ value={fieldValue}
292
+ as="select"
293
+ >
294
+ <option value="">{t("Design:choose")}</option>
293
295
  {fieldSets?.map((fieldSet) => {
294
- const fieldSetOptionValue = String(fieldSet.id);
295
-
296
296
  return (
297
- <option
298
- value={fieldSet.id}
299
- key={fieldSet.id}
300
- selected={fieldSetValue === fieldSetOptionValue}
301
- >
297
+ <option value={fieldSet.id} key={fieldSet.id}>
302
298
  {fieldSet.name}
303
299
  </option>
304
300
  );
@@ -10,6 +10,34 @@ export default {
10
10
  component: BookingFilter,
11
11
  } as Meta;
12
12
 
13
+ const staffMembers = [
14
+ {
15
+ id: 10,
16
+ firstName: "Denys",
17
+ lastName: "Shmahailo",
18
+ email: "shmahailo1337@gmail.com",
19
+ images: null,
20
+ userRoles: [
21
+ {
22
+ id: 1,
23
+ key: "manager",
24
+ title: "Manager",
25
+ weight: 50,
26
+ type_id: 1,
27
+ type: "provider",
28
+ pivot: {
29
+ id: 17,
30
+ roleId: 1,
31
+ userId: 10,
32
+ typeableId: 1,
33
+ typeableType: "provider",
34
+ user: null,
35
+ },
36
+ },
37
+ ],
38
+ },
39
+ ];
40
+
13
41
  export const Default: Story<BookingFilterProps> = () => {
14
42
  const isFilterOpen = boolean("isFilterOpen", false);
15
43
  const autoFocusOnMount = boolean("autoFocusOnMount", true);
@@ -20,6 +48,7 @@ export const Default: Story<BookingFilterProps> = () => {
20
48
  <BookingFilter
21
49
  isFilterOpen={isFilterOpen}
22
50
  autoFocusOnMount={autoFocusOnMount}
51
+ staffMembers={staffMembers}
23
52
  />
24
53
  </BookingContextProvider>
25
54
  </MemoryRouter>
@@ -1,4 +1,5 @@
1
1
  import React, { PropsWithChildren } from "react";
2
+ import { User } from "@licklist/core/dist/DataMapper/User/UserDataMapper";
2
3
  import { MainFilterSection } from "./components/MainFilterSection";
3
4
  import { AdditionalFilterSection } from "./components/AdditionalFIlterSection";
4
5
  import { SearchingForSection } from "./components/SearchingForSection";
@@ -11,12 +12,16 @@ export type BookingFilterProps = PropsWithChildren<{
11
12
  isFilterOpen?: boolean;
12
13
  autoFocusOnMount?: boolean;
13
14
  isFullscreenMode?: boolean;
15
+ staffMembers?: User[] | null;
16
+ isLoading: boolean;
14
17
  }>;
15
18
 
16
19
  export const BookingFilter = ({
17
20
  isFilterOpen = true,
18
21
  autoFocusOnMount = false,
19
22
  isFullscreenMode = false,
23
+ staffMembers,
24
+ isLoading,
20
25
  children,
21
26
  ...props
22
27
  }: BookingFilterProps) => {
@@ -24,15 +29,19 @@ export const BookingFilter = ({
24
29
  <div className="booking-filter">
25
30
  <MainFilterSection
26
31
  {...props}
32
+ isLoading={isLoading}
27
33
  isFilterOpen={isFilterOpen}
28
34
  autoFocusOnMount={autoFocusOnMount}
29
35
  isFullscreenMode={isFullscreenMode}
30
36
  />
31
37
  {isFilterOpen ? (
32
38
  <>
33
- <AdditionalFilterSection />
39
+ <AdditionalFilterSection
40
+ isLoading={isLoading}
41
+ staffMembers={staffMembers}
42
+ />
34
43
  <div className="separator-horizontal" />
35
- <SearchingForSection />
44
+ <SearchingForSection staffMembers={staffMembers} />
36
45
  </>
37
46
  ) : (
38
47
  children && (
@@ -1,7 +1,7 @@
1
1
  import React, { useContext, useEffect } from "react";
2
2
  import { useTranslation } from "react-i18next";
3
3
  import { Form, Button, Row, Col } from "react-bootstrap";
4
- import { useForm } from "react-hook-form";
4
+ import { Controller, useForm } from "react-hook-form";
5
5
  import {
6
6
  ORDER_STATUS_PENDING,
7
7
  ORDER_STATUS_CANCELLED,
@@ -12,6 +12,8 @@ import {
12
12
  BookingContext,
13
13
  BookingFilters,
14
14
  } from "@licklist/plugins/dist/context/booking/BookingContext";
15
+ import { DateRangeInput } from "../../../../static/date-range-input/DateRangeInput";
16
+ import { FilterSectionProps } from "./SearchingForSection";
15
17
 
16
18
  const ORDER_STATUSES_FOR_UPDATE = [
17
19
  ORDER_STATUS_PENDING,
@@ -28,14 +30,22 @@ export type AdditionalFilterSectionProps = {
28
30
  isFilterOpen?: boolean;
29
31
  };
30
32
 
31
- export const AdditionalFilterSection = () => {
33
+ export const AdditionalFilterSection = ({
34
+ staffMembers,
35
+ isLoading,
36
+ }: FilterSectionProps) => {
32
37
  const { t } = useTranslation("Design");
33
38
  const { filters, setFilters } = useContext(BookingContext);
34
39
 
35
- const { handleSubmit, register, reset } = useForm<Partial<BookingFilters>>({
40
+ const { handleSubmit, register, setValue, reset, watch, control } = useForm<
41
+ Partial<BookingFilters>
42
+ >({
36
43
  defaultValues: filters,
37
44
  });
38
45
 
46
+ const startDate = watch("order_date_from");
47
+ const endDate = watch("order_date_to");
48
+
39
49
  const onFormSubmit = (values: Partial<BookingFilters>) => {
40
50
  setFilters(values);
41
51
  };
@@ -50,17 +60,46 @@ export const AdditionalFilterSection = () => {
50
60
  <Row className="additional-filter-container">
51
61
  <Col md="3">
52
62
  <Form.Group>
53
- <Form.Label>{t("staffMember")}</Form.Label>
54
- <Form.Control {...register("staffMember")} as="select">
55
- <option value="">{t("Design:choose")}</option>
56
- </Form.Control>
63
+ <Form.Label>{t("createdBy")}</Form.Label>
64
+ <Controller
65
+ control={control}
66
+ name="created_by"
67
+ render={({ field }) => {
68
+ const filedValue = String(field?.value);
69
+ return (
70
+ <Form.Control
71
+ as="select"
72
+ value={filedValue}
73
+ disabled={isLoading}
74
+ onChange={field?.onChange}
75
+ >
76
+ <option value="" selected={filedValue === ""}>
77
+ {t("Design:choose")}
78
+ </option>
79
+ {staffMembers?.map((member) => (
80
+ <option
81
+ value={member?.id}
82
+ key={member?.id}
83
+ selected={filedValue === String(member?.id)}
84
+ >
85
+ {member?.firstName} {member?.lastName}
86
+ </option>
87
+ ))}
88
+ </Form.Control>
89
+ );
90
+ }}
91
+ />
57
92
  </Form.Group>
58
93
  </Col>
59
94
 
60
95
  <Col md="3">
61
96
  <Form.Group>
62
97
  <Form.Label>{t("bookingStatus")}</Form.Label>
63
- <Form.Control {...register("status")} as="select">
98
+ <Form.Control
99
+ disabled={isLoading}
100
+ {...register("status")}
101
+ as="select"
102
+ >
64
103
  <option value="">{t("Design:choose")}</option>
65
104
  {Object.keys(ORDER_STATUSES_FOR_UPDATE).map((key: string) => (
66
105
  <option
@@ -77,13 +116,26 @@ export const AdditionalFilterSection = () => {
77
116
  <Col className="date-container">
78
117
  <Form.Group>
79
118
  <Form.Label>{t("date")}</Form.Label>
80
- <Form.Control {...register("date")} type="date" />
119
+ <DateRangeInput
120
+ disabled={isLoading}
121
+ placeholder={t("date")}
122
+ startDate={startDate}
123
+ endDate={endDate}
124
+ onDateChange={({ startDate, endDate }) => {
125
+ setValue("order_date_from", startDate);
126
+ setValue("order_date_to", endDate);
127
+ }}
128
+ />
81
129
  </Form.Group>
82
130
  </Col>
83
131
 
84
132
  <Col md="3" className="d-flex align-items-end">
85
133
  <Form.Group>
86
- <Button type="submit" className="shadow-none">
134
+ <Button
135
+ disabled={isLoading}
136
+ type="submit"
137
+ className="shadow-none"
138
+ >
87
139
  {t("apply")}
88
140
  </Button>
89
141
  </Form.Group>
@@ -10,7 +10,7 @@ import { ReactComponent as RefreshIcon } from "../../../../assets/dashboard/refr
10
10
  import { ReactComponent as FullscreenIcon } from "../../../../assets/dashboard/fullscreen.svg";
11
11
  import { ReactComponent as MinimizeIcon } from "../../../../assets/dashboard/minimize.svg";
12
12
 
13
- export type MainFilterSectionProps = BookingFilterProps;
13
+ export type MainFilterSectionProps = Omit<BookingFilterProps, "staffMembers">;
14
14
 
15
15
  const DEBOUNCE_QUERY_TIME = 300;
16
16
 
@@ -22,6 +22,7 @@ export const MainFilterSection = ({
22
22
  onFullscreenButtonClick,
23
23
  autoFocusOnMount,
24
24
  isFullscreenMode,
25
+ isLoading,
25
26
  }: MainFilterSectionProps) => {
26
27
  const { t } = useTranslation("Design");
27
28
  const { filters, onQueryChange } = useContext(BookingContext);
@@ -62,6 +63,7 @@ export const MainFilterSection = ({
62
63
  className="search-icon"
63
64
  />
64
65
  <Form.Control
66
+ disabled={isLoading}
65
67
  value={queryValue}
66
68
  onChange={onSearchQueryChange}
67
69
  onBlur={onSearchQueryBlur}
@@ -113,6 +115,7 @@ export const MainFilterSection = ({
113
115
 
114
116
  <Button
115
117
  variant="link"
118
+ disabled={isLoading}
116
119
  className={clsx(
117
120
  "shadow-none",
118
121
  !isFullscreenMode && "fullscreen-button",
@@ -5,17 +5,47 @@ import {
5
5
  BookingContext,
6
6
  BookingFilters,
7
7
  } from "@licklist/plugins/dist/context/booking/BookingContext";
8
+ import { User } from "@licklist/core/dist/DataMapper/User/UserDataMapper";
8
9
  import { ResultTagButton } from "./ResultTagButton";
9
10
 
10
- const SEARCHING_FOR_FILTER_KEYS = ["q", "status", "date", "staffMember"];
11
+ const SEARCHING_FOR_FILTER_KEYS = [
12
+ "q",
13
+ "status",
14
+ "order_date_from",
15
+ "created_by",
16
+ ];
11
17
 
12
- export const SearchingForSection = () => {
18
+ export interface FilterSectionProps {
19
+ staffMembers?: User[] | null;
20
+ isLoading: boolean;
21
+ }
22
+
23
+ export const SearchingForSection = ({ staffMembers }: { staffMembers }) => {
13
24
  const { t } = useTranslation("Design");
14
25
  const { filters, setFilters } = useContext(BookingContext);
15
26
 
16
27
  const filteredFilters = useMemo(() => {
28
+ const selectedMember = staffMembers?.find(
29
+ (staffMember) => Number(filters?.created_by) === staffMember?.id
30
+ );
17
31
  return SEARCHING_FOR_FILTER_KEYS.reduce(
18
32
  (prevValues: Partial<BookingFilters>, currentKey: string) => {
33
+ if (currentKey === "created_by" && filters[currentKey]) {
34
+ return {
35
+ ...prevValues,
36
+ [currentKey]: `${selectedMember?.firstName || ""} ${
37
+ selectedMember?.lastName || ""
38
+ }`,
39
+ };
40
+ }
41
+ if (currentKey === "order_date_from" && filters[currentKey]) {
42
+ return {
43
+ ...prevValues,
44
+ [currentKey]: `${filters.order_date_from || ""} - ${
45
+ filters?.order_date_to || ""
46
+ }`,
47
+ };
48
+ }
19
49
  if (filters[currentKey]) {
20
50
  return { ...prevValues, [currentKey]: filters[currentKey] };
21
51
  }
@@ -24,13 +54,17 @@ export const SearchingForSection = () => {
24
54
  },
25
55
  {}
26
56
  );
27
- }, [filters]);
57
+ }, [filters, staffMembers]);
28
58
 
29
59
  const resetAllFilters = () => {
30
60
  setFilters({ isFilterOpen: true });
31
61
  };
32
62
 
33
63
  const onResetSelectedFilter = (key: string) => {
64
+ if (key === "order_date_from") {
65
+ setFilters({ ...filters, order_date_from: "", order_date_to: "" });
66
+ return;
67
+ }
34
68
  setFilters({ ...filters, [key]: "" });
35
69
  };
36
70
 
@@ -21,6 +21,7 @@ export type BookingTabsProps = HasPermissionProp &
21
21
  onAddButtonClick?: () => void;
22
22
  viewType: BOOKING_TYPE;
23
23
  onSetType: (value: BOOKING_TYPE) => void;
24
+ hasBookingManagment: boolean;
24
25
  }>;
25
26
 
26
27
  export const BookingTabs = ({
@@ -28,6 +29,7 @@ export const BookingTabs = ({
28
29
  onReportsClick,
29
30
  onAddButtonClick,
30
31
  hasPermission = false,
32
+ hasBookingManagment,
31
33
  viewType,
32
34
  onSetType,
33
35
  }: BookingTabsProps) => {
@@ -50,11 +52,10 @@ export const BookingTabs = ({
50
52
  onSetType(tabType);
51
53
  }}
52
54
  >
53
- {tabType === BOOKING_LIST_TYPE ? (
54
- <BookingList />
55
- ) : (
55
+ {tabType === BOOKING_CALENDAR_TYPE && hasBookingManagment && (
56
56
  <BookingCalendar />
57
57
  )}
58
+ {tabType === BOOKING_LIST_TYPE && <BookingList />}
58
59
  </Button>
59
60
  );
60
61
  })}
@@ -13,7 +13,7 @@ export const Default: Story<SaleFiltersProps> = () => {
13
13
  name: "",
14
14
  email: "",
15
15
  date: "",
16
- is_pending: false,
16
+ is_in_cart: false,
17
17
  });
18
18
 
19
19
  return <SaleFilters values={values} onChange={setValues} />;
@@ -12,7 +12,7 @@ export interface Filters {
12
12
  order_date_to: string;
13
13
  orderable_date_from: string;
14
14
  orderable_date_to: string;
15
- is_pending: boolean;
15
+ is_in_cart: boolean;
16
16
  }
17
17
 
18
18
  export interface SaleFiltersProps {
@@ -20,6 +20,7 @@ export type DateRangeInputProps = {
20
20
  startDate?: string;
21
21
  endDate?: string;
22
22
  months?: number;
23
+ disabled?: boolean;
23
24
  onDateChange?: (dates: { startDate?: string; endDate?: string }) => void;
24
25
  };
25
26
 
@@ -29,6 +30,7 @@ export const DateRangeInput = ({
29
30
  endDate,
30
31
  onDateChange,
31
32
  months = 2,
33
+ disabled,
32
34
  }: DateRangeInputProps) => {
33
35
  const { t } = useTranslation("Design");
34
36
 
@@ -123,6 +125,7 @@ export const DateRangeInput = ({
123
125
  <Form.Control
124
126
  type="input"
125
127
  placeholder={placeholder}
128
+ disabled={disabled}
126
129
  readOnly
127
130
  className="date-range-input"
128
131
  value={stringDatesToInputValue({ startDate, endDate })}
@@ -5,6 +5,10 @@
5
5
 
6
6
  .date-range-input[readonly] {
7
7
  background-color: transparent;
8
+
9
+ &:disabled {
10
+ background-color: #ebebeb;
11
+ }
8
12
  }
9
13
 
10
14
  .date-range-input-icon {
@@ -13,4 +17,4 @@
13
17
  bottom: 1rem;
14
18
  color: $gray-500;
15
19
  }
16
- }
20
+ }
@@ -33,6 +33,7 @@ function FilterHelperComponent({
33
33
  if (onClickFn) {
34
34
  onClickFn("");
35
35
  }
36
+ setItem("");
36
37
  };
37
38
 
38
39
  const onSearch = () => {