@dropins/storefront-purchase-order 0.0.4-alpha1 → 0.0.4-alpha3

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 (106) hide show
  1. package/api/currencyInfo/currencyInfo.d.ts +24 -0
  2. package/api/currencyInfo/graphql/currencyInfo.graphql.d.ts +18 -0
  3. package/{containers/PurchaseOrderApprovalRulesList → api/currencyInfo}/index.d.ts +1 -2
  4. package/api/getPurchaseOrderApprovalRule/getPurchaseOrderApprovalRule.d.ts +4 -0
  5. package/api/getPurchaseOrderApprovalRule/graphql/getPurchaseOrderApprovalRule.graphql.d.ts +18 -0
  6. package/api/getPurchaseOrderApprovalRule/index.d.ts +18 -0
  7. package/api/graphql/PurchaseOrdersFragment.graphql.d.ts +1 -1
  8. package/api/index.d.ts +2 -0
  9. package/api.js +11 -124
  10. package/api.js.map +1 -1
  11. package/chunks/FormLoader.js +4 -0
  12. package/chunks/FormLoader.js.map +1 -0
  13. package/chunks/FormLoader2.js +4 -0
  14. package/chunks/FormLoader2.js.map +1 -0
  15. package/chunks/PurchaseOrdersHeader.js +4 -0
  16. package/chunks/PurchaseOrdersHeader.js.map +1 -0
  17. package/chunks/PurchaseOrdersTableActions.js +1 -1
  18. package/chunks/PurchaseOrdersTableActions.js.map +1 -1
  19. package/chunks/case-converter.js +4 -0
  20. package/chunks/case-converter.js.map +1 -0
  21. package/chunks/currencyInfo.js +124 -0
  22. package/chunks/currencyInfo.js.map +1 -0
  23. package/chunks/fetch-error.js +4 -0
  24. package/chunks/fetch-error.js.map +1 -0
  25. package/chunks/fetch-graphql.js +1 -1
  26. package/chunks/fetch-graphql.js.map +1 -1
  27. package/chunks/getPurchaseOrderApprovalRule.js +45 -0
  28. package/chunks/getPurchaseOrderApprovalRule.js.map +1 -0
  29. package/chunks/getPurchaseOrderApprovalRules.js +3 -3
  30. package/chunks/getPurchaseOrderApprovalRules.js.map +1 -1
  31. package/chunks/getPurchaseOrders.js +8 -18
  32. package/chunks/getPurchaseOrders.js.map +1 -1
  33. package/chunks/pageSize.config.js +4 -0
  34. package/chunks/pageSize.config.js.map +1 -0
  35. package/chunks/transform-purchase-order-approval-rule.js +4 -0
  36. package/chunks/transform-purchase-order-approval-rule.js.map +1 -0
  37. package/chunks/useCustomerRolePermissions.js +1 -1
  38. package/chunks/useCustomerRolePermissions.js.map +1 -1
  39. package/chunks/usePurchaseOrders.js +1 -1
  40. package/chunks/usePurchaseOrders.js.map +1 -1
  41. package/components/ApprovalRuleDetailsContent/ApprovalRuleDetailsContent.d.ts +5 -0
  42. package/components/ApprovalRuleDetailsContent/index.d.ts +11 -0
  43. package/components/ApprovalRuleForm/ApprovalRuleForm.d.ts +5 -0
  44. package/components/ApprovalRuleForm/blocks/ErrorMessage.d.ts +9 -0
  45. package/components/ApprovalRuleForm/blocks/Form.d.ts +40 -0
  46. package/components/ApprovalRuleForm/blocks/index.d.ts +19 -0
  47. package/components/ApprovalRuleForm/index.d.ts +11 -0
  48. package/components/FormLoader/FormLoader.d.ts +8 -0
  49. package/components/FormLoader/index.d.ts +19 -0
  50. package/components/index.d.ts +3 -0
  51. package/configs/approvalRuleForm.config.d.ts +74 -0
  52. package/configs/index.d.ts +2 -0
  53. package/containers/ApprovalRuleDetails/ApprovalRuleDetails.d.ts +5 -0
  54. package/containers/ApprovalRuleDetails/index.d.ts +11 -0
  55. package/containers/ApprovalRuleDetails.d.ts +3 -0
  56. package/containers/ApprovalRuleDetails.js +4 -0
  57. package/containers/ApprovalRuleDetails.js.map +1 -0
  58. package/containers/ApprovalRuleForm/ApprovalRuleForm.d.ts +5 -0
  59. package/containers/ApprovalRuleForm/index.d.ts +11 -0
  60. package/containers/ApprovalRuleForm.d.ts +3 -0
  61. package/containers/ApprovalRuleForm.js +4 -0
  62. package/containers/ApprovalRuleForm.js.map +1 -0
  63. package/containers/ApprovalRulesList/ApprovalRulesList.d.ts +5 -0
  64. package/containers/ApprovalRulesList/index.d.ts +19 -0
  65. package/containers/ApprovalRulesList.d.ts +3 -0
  66. package/containers/ApprovalRulesList.js +4 -0
  67. package/containers/ApprovalRulesList.js.map +1 -0
  68. package/containers/CompanyPurchaseOrders.js +1 -1
  69. package/containers/CompanyPurchaseOrders.js.map +1 -1
  70. package/containers/CustomerPurchaseOrders.js +1 -1
  71. package/containers/CustomerPurchaseOrders.js.map +1 -1
  72. package/containers/PurchaseOrderConfirmation.js +1 -1
  73. package/containers/PurchaseOrderConfirmation.js.map +1 -1
  74. package/containers/RequireApprovalPurchaseOrders.js +1 -1
  75. package/containers/RequireApprovalPurchaseOrders.js.map +1 -1
  76. package/containers/index.d.ts +3 -1
  77. package/data/models/purchase-order-approval-rule-model.d.ts +5 -0
  78. package/hooks/index.d.ts +2 -0
  79. package/hooks/useApprovalRuleDetails.d.ts +14 -0
  80. package/hooks/useApprovalRuleForm.d.ts +4 -0
  81. package/i18n/en_US.json.d.ts +84 -0
  82. package/lib/cleanAndDeep.d.ts +8 -0
  83. package/lib/formValidation.d.ts +22 -0
  84. package/lib/index.d.ts +4 -0
  85. package/lib/transformToFormValues.d.ts +9 -0
  86. package/lib/updateFormFieldValue.d.ts +4 -0
  87. package/mocks/index.d.ts +67 -0
  88. package/mocks/storybook/events-data.d.ts +12 -0
  89. package/mocks/storybook/index.d.ts +2 -0
  90. package/package.json +1 -1
  91. package/render.js +3 -2
  92. package/render.js.map +1 -1
  93. package/types/components/approvalRuleDetailsContentProps.types.d.ts +9 -0
  94. package/types/components/approvalRuleForm.types.d.ts +12 -0
  95. package/types/components/index.d.ts +2 -0
  96. package/types/containers/approvalRuleDetailsProps.types.d.ts +8 -0
  97. package/types/containers/approvalRuleForm.types.d.ts +12 -0
  98. package/types/containers/{purchaseOrderApprovalRulesList.types.d.ts → approvalRulesList.types.d.ts} +2 -2
  99. package/types/containers/index.d.ts +3 -1
  100. package/types/hooks/index.d.ts +2 -0
  101. package/types/hooks/useApprovalRuleDetails.types.d.ts +5 -0
  102. package/types/hooks/useApprovalRuleForm.types.d.ts +121 -0
  103. package/containers/PurchaseOrderApprovalRulesList/PurchaseOrderApprovalRulesList.d.ts +0 -5
  104. package/containers/PurchaseOrderApprovalRulesList.d.ts +0 -3
  105. package/containers/PurchaseOrderApprovalRulesList.js +0 -4
  106. package/containers/PurchaseOrderApprovalRulesList.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-graphql.js","sources":["/@dropins/storefront-purchase-order/src/lib/fetch-error.ts","/@dropins/storefront-purchase-order/src/lib/network-error.ts","/@dropins/storefront-purchase-order/src/api/fetch-graphql/fetch-graphql.ts"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\n/** Actions */\nexport const handleFetchError = (errors: Array<{ message: string }>) => {\n const errorMessage = errors.map((e: any) => e.message).join(' ');\n\n throw Error(errorMessage);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { events } from '@adobe-commerce/event-bus';\n\n/**\n * A function which can be attached to fetchGraphQL to handle thrown errors in\n * a generic way.\n */\nexport const handleNetworkError = (error: Error) => {\n const isAbortError =\n error instanceof DOMException && error.name === 'AbortError';\n\n const isPlaceOrderError = error.name === 'PlaceOrderError';\n\n if (!isAbortError && !isPlaceOrderError) {\n events.emit('purchase-order/error', {\n source: 'purchase-order',\n type: 'network',\n error: error.message,\n });\n }\n throw error;\n};\n","import { FetchGraphQL } from '@adobe-commerce/fetch-graphql';\n\nexport const {\n setEndpoint,\n setFetchGraphQlHeader,\n removeFetchGraphQlHeader,\n setFetchGraphQlHeaders,\n fetchGraphQl,\n getConfig,\n} = new FetchGraphQL().getMethods();\n"],"names":["handleFetchError","errors","errorMessage","e","handleNetworkError","error","isAbortError","isPlaceOrderError","events","setEndpoint","setFetchGraphQlHeader","removeFetchGraphQlHeader","setFetchGraphQlHeaders","fetchGraphQl","getConfig","FetchGraphQL"],"mappings":"oHAkBO,MAAMA,EAAoBC,GAAuC,CACtE,MAAMC,EAAeD,EAAO,IAAKE,GAAWA,EAAE,OAAO,EAAE,KAAK,GAAG,EAE/D,MAAM,MAAMD,CAAY,CAC1B,ECCaE,EAAsBC,GAAiB,CAClD,MAAMC,EACJD,aAAiB,cAAgBA,EAAM,OAAS,aAE5CE,EAAoBF,EAAM,OAAS,kBAEzC,KAAI,CAACC,GAAgB,CAACC,GACpBC,EAAO,KAAK,uBAAwB,CAClC,OAAQ,iBACR,KAAM,UACN,MAAOH,EAAM,OAAA,CACd,EAEGA,CACR,ECnCa,CACX,YAAAI,EACA,sBAAAC,EACA,yBAAAC,EACA,uBAAAC,EACA,aAAAC,EACA,UAAAC,CACF,EAAI,IAAIC,EAAA,EAAe,WAAA"}
1
+ {"version":3,"file":"fetch-graphql.js","sources":["/@dropins/storefront-purchase-order/src/lib/network-error.ts","/@dropins/storefront-purchase-order/src/api/fetch-graphql/fetch-graphql.ts"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { events } from '@adobe-commerce/event-bus';\n\n/**\n * A function which can be attached to fetchGraphQL to handle thrown errors in\n * a generic way.\n */\nexport const handleNetworkError = (error: Error) => {\n const isAbortError =\n error instanceof DOMException && error.name === 'AbortError';\n\n const isPlaceOrderError = error.name === 'PlaceOrderError';\n\n if (!isAbortError && !isPlaceOrderError) {\n events.emit('purchase-order/error', {\n source: 'purchase-order',\n type: 'network',\n error: error.message,\n });\n }\n throw error;\n};\n","import { FetchGraphQL } from '@adobe-commerce/fetch-graphql';\n\nexport const {\n setEndpoint,\n setFetchGraphQlHeader,\n removeFetchGraphQlHeader,\n setFetchGraphQlHeaders,\n fetchGraphQl,\n getConfig,\n} = new FetchGraphQL().getMethods();\n"],"names":["handleNetworkError","error","isAbortError","isPlaceOrderError","events","setEndpoint","setFetchGraphQlHeader","removeFetchGraphQlHeader","setFetchGraphQlHeaders","fetchGraphQl","getConfig","FetchGraphQL"],"mappings":"oHAuBO,MAAMA,EAAsBC,GAAiB,CAClD,MAAMC,EACJD,aAAiB,cAAgBA,EAAM,OAAS,aAE5CE,EAAoBF,EAAM,OAAS,kBAEzC,KAAI,CAACC,GAAgB,CAACC,GACpBC,EAAO,KAAK,uBAAwB,CAClC,OAAQ,iBACR,KAAM,UACN,MAAOH,EAAM,OAAA,CACd,EAEGA,CACR,ECnCa,CACX,YAAAI,EACA,sBAAAC,EACA,yBAAAC,EACA,uBAAAC,EACA,aAAAC,EACA,UAAAC,CACF,EAAI,IAAIC,EAAA,EAAe,WAAA"}
@@ -0,0 +1,45 @@
1
+ /*! Copyright 2025 Adobe
2
+ All Rights Reserved. */
3
+ import{f as u,h as i}from"./fetch-graphql.js";import{t as n}from"./transform-purchase-order-approval-rule.js";const c=`
4
+ query GET_PURCHASE_ORDER_APPROVAL_RULE($uid: ID!) {
5
+ customer {
6
+ purchase_order_approval_rule(uid: $uid) {
7
+ created_at
8
+ created_by
9
+ description
10
+ name
11
+ status
12
+ uid
13
+ updated_at
14
+ applies_to_roles {
15
+ id
16
+ name
17
+ users_count
18
+ }
19
+ approver_roles {
20
+ id
21
+ name
22
+ users_count
23
+ }
24
+ condition {
25
+ attribute
26
+ operator
27
+ ... on PurchaseOrderApprovalRuleConditionAmount {
28
+ attribute
29
+ operator
30
+ amount {
31
+ currency
32
+ value
33
+ }
34
+ }
35
+ ... on PurchaseOrderApprovalRuleConditionQuantity {
36
+ attribute
37
+ operator
38
+ quantity
39
+ }
40
+ }
41
+ }
42
+ }
43
+ }
44
+ `,_=async e=>u(c,{variables:{uid:e}}).then(r=>{var t,a;const o=(a=(t=r==null?void 0:r.data)==null?void 0:t.customer)==null?void 0:a.purchase_order_approval_rule;return n(o)}).catch(i);export{_ as g};
45
+ //# sourceMappingURL=getPurchaseOrderApprovalRule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPurchaseOrderApprovalRule.js","sources":["/@dropins/storefront-purchase-order/src/api/getPurchaseOrderApprovalRule/graphql/getPurchaseOrderApprovalRule.graphql.ts","/@dropins/storefront-purchase-order/src/api/getPurchaseOrderApprovalRule/getPurchaseOrderApprovalRule.ts"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const GET_PURCHASE_ORDER_APPROVAL_RULE = /* GraphQL */ `\n query GET_PURCHASE_ORDER_APPROVAL_RULE($uid: ID!) {\n customer {\n purchase_order_approval_rule(uid: $uid) {\n created_at\n created_by\n description\n name\n status\n uid\n updated_at\n applies_to_roles {\n id\n name\n users_count\n }\n approver_roles {\n id\n name\n users_count\n }\n condition {\n attribute\n operator\n ... on PurchaseOrderApprovalRuleConditionAmount {\n attribute\n operator\n amount {\n currency\n value\n }\n }\n ... on PurchaseOrderApprovalRuleConditionQuantity {\n attribute\n operator\n quantity\n }\n }\n }\n }\n }\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { fetchGraphQl } from '@/b2b-purchase-order/api/fetch-graphql';\nimport { handleNetworkError } from '@/b2b-purchase-order/lib/network-error';\nimport { GET_PURCHASE_ORDER_APPROVAL_RULE } from '@/b2b-purchase-order/api/getPurchaseOrderApprovalRule/graphql/getPurchaseOrderApprovalRule.graphql';\nimport { transformPurchaseOrderApprovalRule } from '@/b2b-purchase-order/data/transforms';\nimport { PurchaseOrderApprovalRuleModel } from '@/b2b-purchase-order/data/models';\n\nexport const getPurchaseOrderApprovalRule = async (\n id: string\n): Promise<PurchaseOrderApprovalRuleModel> => {\n return fetchGraphQl(GET_PURCHASE_ORDER_APPROVAL_RULE, {\n variables: { uid: id },\n })\n .then((response: any) => {\n const rulesData = response?.data?.customer?.purchase_order_approval_rule;\n\n return transformPurchaseOrderApprovalRule(rulesData);\n })\n .catch(handleNetworkError);\n};\n"],"names":["GET_PURCHASE_ORDER_APPROVAL_RULE","getPurchaseOrderApprovalRule","id","fetchGraphQl","response","rulesData","_b","_a","transformPurchaseOrderApprovalRule","handleNetworkError"],"mappings":"8GAiBO,MAAMA,EAAiD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECMjDC,EAA+B,MAC1CC,GAEOC,EAAaH,EAAkC,CACpD,UAAW,CAAE,IAAKE,CAAA,CAAG,CACtB,EACE,KAAME,GAAkB,SACvB,MAAMC,GAAYC,GAAAC,EAAAH,GAAA,YAAAA,EAAU,OAAV,YAAAG,EAAgB,WAAhB,YAAAD,EAA0B,6BAE5C,OAAOE,EAAmCH,CAAS,CACrD,CAAC,EACA,MAAMI,CAAkB"}
@@ -1,6 +1,6 @@
1
1
  /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
- import{f as E,h as a,a as m}from"./fetch-graphql.js";const O=e=>{const _=t=>({id:(t==null?void 0:t.id)||"",name:(t==null?void 0:t.name)||"",usersCount:(t==null?void 0:t.users_count)||0,permissions:((t==null?void 0:t.permissions)||[]).map(r=>({id:(r==null?void 0:r.id)||"",sortOrder:(r==null?void 0:r.sort_order)||0,text:(r==null?void 0:r.text)||""}))}),d=t=>({attribute:t==null?void 0:t.attribute,operator:t==null?void 0:t.operator});return{uid:(e==null?void 0:e.uid)||"",name:(e==null?void 0:e.name)||"",description:(e==null?void 0:e.description)||"",status:e==null?void 0:e.status,createdAt:(e==null?void 0:e.created_at)||"",updatedAt:(e==null?void 0:e.updated_at)||"",createdBy:e==null?void 0:e.created_by,appliesToRoles:((e==null?void 0:e.applies_to_roles)||[]).map(_),approverRoles:((e==null?void 0:e.approver_roles)||[]).map(_),condition:d((e==null?void 0:e.condition)||{})}},u=`
3
+ import{f as d,h as g}from"./fetch-graphql.js";import{h as P}from"./fetch-error.js";import{t as h}from"./transform-purchase-order-approval-rule.js";const R=`
4
4
  mutation DELETE_PURCHASE_ORDER_APPROVAL_RULE(
5
5
  $input: DeletePurchaseOrderApprovalRuleInput!
6
6
  ) {
@@ -11,7 +11,7 @@ import{f as E,h as a,a as m}from"./fetch-graphql.js";const O=e=>{const _=t=>({id
11
11
  }
12
12
  }
13
13
  }
14
- `,S=async e=>{const _=Array.isArray(e)?e:[e];if(!_||_.length===0)throw new Error("Approval Rule UID(s) are required");if(_.some(t=>!t||t.trim()===""))throw new Error("All Approval Rule UIDs must be valid");return E(u,{variables:{input:{approval_rule_uids:_}}}).then(t=>{var n,g,i;if((n=t.errors)!=null&&n.length&&a(t.errors),!((g=t.data)==null?void 0:g.deletePurchaseOrderApprovalRule))throw new Error("Failed to delete purchase order approval rule");const s=(i=t==null?void 0:t.data)==null?void 0:i.deletePurchaseOrderApprovalRule;return{deletePurchaseOrderApprovalRule:{errors:((s==null?void 0:s.errors)??[]).map(c=>({message:c==null?void 0:c.message,type:c==null?void 0:c.type}))}}}).catch(m)},f=`
14
+ `,O=async o=>{const t=Array.isArray(o)?o:[o];if(!t||t.length===0)throw new Error("Approval Rule UID(s) are required");if(t.some(e=>!e||e.trim()===""))throw new Error("All Approval Rule UIDs must be valid");return d(R,{variables:{input:{approval_rule_uids:t}}}).then(e=>{var i,l,n;if((i=e.errors)!=null&&i.length&&P(e.errors),!((l=e.data)==null?void 0:l.deletePurchaseOrderApprovalRule))throw new Error("Failed to delete purchase order approval rule");const p=(n=e==null?void 0:e.data)==null?void 0:n.deletePurchaseOrderApprovalRule;return{deletePurchaseOrderApprovalRule:{errors:((p==null?void 0:p.errors)??[]).map(r=>({message:r==null?void 0:r.message,type:r==null?void 0:r.type}))}}}).catch(g)},A=`
15
15
  query GET_PURCHASE_ORDER_APPROVAL_RULES($currentPage: Int!, $pageSize: Int!) {
16
16
  customer {
17
17
  email
@@ -71,5 +71,5 @@ import{f as E,h as a,a as m}from"./fetch-graphql.js";const O=e=>{const _=t=>({id
71
71
  }
72
72
  }
73
73
  }
74
- `,P={currentPage:1,pageSize:20,totalPages:1},L=async(e=P.currentPage,_=P.pageSize)=>E(f,{variables:{currentPage:e,pageSize:_}}).then(d=>{var n,g,i,c,A,h;(n=d.errors)!=null&&n.length&&a(d.errors);const t=(i=(g=d==null?void 0:d.data)==null?void 0:g.customer)==null?void 0:i.purchase_order_approval_rules,r=(t==null?void 0:t.total_count)??0,s={currentPage:((c=t==null?void 0:t.page_info)==null?void 0:c.current_page)??P.currentPage,pageSize:((A=t==null?void 0:t.page_info)==null?void 0:A.page_size)??P.pageSize,totalPages:((h=t==null?void 0:t.page_info)==null?void 0:h.total_pages)??P.totalPages};return{totalCount:r,pageInfo:s,items:((t==null?void 0:t.items)||[]).map(O)}}).catch(m);export{S as d,L as g,O as t};
74
+ `,s={currentPage:1,pageSize:20,totalPages:1},f=async(o=s.currentPage,t=s.pageSize)=>d(A,{variables:{currentPage:o,pageSize:t}}).then(a=>{var i,l,n,r,c,_;(i=a.errors)!=null&&i.length&&P(a.errors);const e=(n=(l=a==null?void 0:a.data)==null?void 0:l.customer)==null?void 0:n.purchase_order_approval_rules,u=(e==null?void 0:e.total_count)??0,p={currentPage:((r=e==null?void 0:e.page_info)==null?void 0:r.current_page)??s.currentPage,pageSize:((c=e==null?void 0:e.page_info)==null?void 0:c.page_size)??s.pageSize,totalPages:((_=e==null?void 0:e.page_info)==null?void 0:_.total_pages)??s.totalPages};return{totalCount:u,pageInfo:p,items:((e==null?void 0:e.items)||[]).map(h)}}).catch(g);export{O as d,f as g};
75
75
  //# sourceMappingURL=getPurchaseOrderApprovalRules.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getPurchaseOrderApprovalRules.js","sources":["/@dropins/storefront-purchase-order/src/data/transforms/transform-purchase-order-approval-rule.ts","/@dropins/storefront-purchase-order/src/api/deletePurchaseOrderApprovalRule/graphql/deletePurchaseOrderApprovalRule.graphql.ts","/@dropins/storefront-purchase-order/src/api/deletePurchaseOrderApprovalRule/deletePurchaseOrderApprovalRule.ts","/@dropins/storefront-purchase-order/src/api/getPurchaseOrderApprovalRules/graphql/getPurchaseOrderApprovalRules.graphql.ts","/@dropins/storefront-purchase-order/src/api/getPurchaseOrderApprovalRules/getPurchaseOrderApprovalRules.ts"],"sourcesContent":["import { PurchaseOrderApprovalRuleModel } from '../models/purchase-order-approval-rule-model';\n\nexport const transformPurchaseOrderApprovalRule = (\n approvalRule: any\n): PurchaseOrderApprovalRuleModel => {\n // Transform company role helper function\n const transformCompanyRole = (role: any) => ({\n id: role?.id || '',\n name: role?.name || '',\n usersCount: role?.users_count || 0,\n permissions: (role?.permissions || []).map((permission: any) => ({\n id: permission?.id || '',\n sortOrder: permission?.sort_order || 0,\n text: permission?.text || '',\n })),\n });\n\n // Transform condition helper function\n const transformCondition = (condition: any) => ({\n attribute: condition?.attribute,\n operator: condition?.operator,\n });\n\n return {\n uid: approvalRule?.uid || '',\n name: approvalRule?.name || '',\n description: approvalRule?.description || '',\n status: approvalRule?.status,\n createdAt: approvalRule?.created_at || '',\n updatedAt: approvalRule?.updated_at || '',\n createdBy: approvalRule?.created_by,\n appliesToRoles: (approvalRule?.applies_to_roles || []).map(\n transformCompanyRole\n ),\n approverRoles: (approvalRule?.approver_roles || []).map(\n transformCompanyRole\n ),\n condition: transformCondition(approvalRule?.condition || {}),\n };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const DELETE_PURCHASE_ORDER_APPROVAL_RULE = /* GraphQL */ `\n mutation DELETE_PURCHASE_ORDER_APPROVAL_RULE(\n $input: DeletePurchaseOrderApprovalRuleInput!\n ) {\n deletePurchaseOrderApprovalRule(input: $input) {\n errors {\n message\n type\n }\n }\n }\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\nimport { fetchGraphQl } from '@/b2b-purchase-order/api/fetch-graphql';\nimport { handleNetworkError } from '@/b2b-purchase-order/lib/network-error';\nimport { handleFetchError } from '@/b2b-purchase-order/lib/fetch-error';\nimport { DELETE_PURCHASE_ORDER_APPROVAL_RULE } from '@/b2b-purchase-order/api/deletePurchaseOrderApprovalRule/graphql/deletePurchaseOrderApprovalRule.graphql';\n\nexport const deletePurchaseOrderApprovalRule = async (\n uids: string | string[]\n): Promise<{\n deletePurchaseOrderApprovalRule: {\n errors: { message?: string; type?: string }[];\n };\n}> => {\n const uidArray = Array.isArray(uids) ? uids : [uids];\n\n if (!uidArray || uidArray.length === 0) {\n throw new Error('Approval Rule UID(s) are required');\n }\n\n if (uidArray.some((uid) => !uid || uid.trim() === '')) {\n throw new Error('All Approval Rule UIDs must be valid');\n }\n\n const input = {\n approval_rule_uids: uidArray,\n };\n\n return fetchGraphQl(DELETE_PURCHASE_ORDER_APPROVAL_RULE, {\n variables: { input },\n })\n .then((response: any) => {\n if (response.errors?.length) {\n handleFetchError(response.errors);\n }\n\n const result = response.data?.deletePurchaseOrderApprovalRule;\n if (!result) {\n throw new Error('Failed to delete purchase order approval rule');\n }\n\n const data = response?.data?.deletePurchaseOrderApprovalRule;\n\n return {\n deletePurchaseOrderApprovalRule: {\n errors: (data?.errors ?? []).map((error: any) => ({\n message: error?.message,\n type: error?.type,\n })),\n },\n };\n })\n .catch(handleNetworkError);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const GET_PURCHASE_ORDER_APPROVAL_RULES = /* GraphQL */ `\n query GET_PURCHASE_ORDER_APPROVAL_RULES($currentPage: Int!, $pageSize: Int!) {\n customer {\n email\n purchase_order_approval_rules(\n currentPage: $currentPage\n pageSize: $pageSize\n ) {\n items {\n applies_to_roles {\n id\n name\n users_count\n permissions {\n id\n sort_order\n text\n children {\n id\n sort_order\n text\n }\n }\n }\n approver_roles {\n id\n name\n users_count\n permissions {\n id\n sort_order\n text\n children {\n id\n sort_order\n text\n }\n }\n }\n condition {\n attribute\n operator\n }\n created_at\n created_by\n description\n name\n status\n uid\n updated_at\n }\n total_count\n page_info {\n page_size\n current_page\n total_pages\n }\n }\n }\n }\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { fetchGraphQl } from '@/b2b-purchase-order/api/fetch-graphql';\nimport { handleNetworkError } from '@/b2b-purchase-order/lib/network-error';\nimport { handleFetchError } from '@/b2b-purchase-order/lib/fetch-error';\nimport { GET_PURCHASE_ORDER_APPROVAL_RULES } from '@/b2b-purchase-order/api/getPurchaseOrderApprovalRules/graphql/getPurchaseOrderApprovalRules.graphql';\nimport { transformPurchaseOrderApprovalRule } from '@/b2b-purchase-order/data/transforms';\nimport { PurchaseOrderApprovalRuleModel } from '@/b2b-purchase-order/data/models';\n\nconst DEFAULT_PAGE_INFO = {\n currentPage: 1,\n pageSize: 20,\n totalPages: 1,\n};\n\nexport const getPurchaseOrderApprovalRules = async (\n currentPage: number = DEFAULT_PAGE_INFO.currentPage,\n pageSize: number = DEFAULT_PAGE_INFO.pageSize\n): Promise<{\n totalCount: number;\n pageInfo: {\n currentPage: number;\n pageSize: number;\n totalPages: number;\n };\n items: PurchaseOrderApprovalRuleModel[];\n}> => {\n return fetchGraphQl(GET_PURCHASE_ORDER_APPROVAL_RULES, {\n variables: {\n currentPage,\n pageSize,\n },\n })\n .then((response: any) => {\n if (response.errors?.length) {\n handleFetchError(response.errors);\n }\n\n const rulesData = response?.data?.customer?.purchase_order_approval_rules;\n const totalCount = rulesData?.total_count ?? 0;\n const pageInfo = {\n currentPage:\n rulesData?.page_info?.current_page ?? DEFAULT_PAGE_INFO.currentPage,\n pageSize: rulesData?.page_info?.page_size ?? DEFAULT_PAGE_INFO.pageSize,\n totalPages:\n rulesData?.page_info?.total_pages ?? DEFAULT_PAGE_INFO.totalPages,\n };\n\n return {\n totalCount,\n pageInfo,\n items: (rulesData?.items || []).map(transformPurchaseOrderApprovalRule),\n };\n })\n .catch(handleNetworkError);\n};\n"],"names":["transformPurchaseOrderApprovalRule","approvalRule","transformCompanyRole","role","permission","transformCondition","condition","DELETE_PURCHASE_ORDER_APPROVAL_RULE","deletePurchaseOrderApprovalRule","uids","uidArray","uid","fetchGraphQl","response","_a","handleFetchError","_b","data","_c","error","handleNetworkError","GET_PURCHASE_ORDER_APPROVAL_RULES","DEFAULT_PAGE_INFO","getPurchaseOrderApprovalRules","currentPage","pageSize","rulesData","totalCount","pageInfo","_d","_e","_f"],"mappings":"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"}
1
+ {"version":3,"file":"getPurchaseOrderApprovalRules.js","sources":["/@dropins/storefront-purchase-order/src/api/deletePurchaseOrderApprovalRule/graphql/deletePurchaseOrderApprovalRule.graphql.ts","/@dropins/storefront-purchase-order/src/api/deletePurchaseOrderApprovalRule/deletePurchaseOrderApprovalRule.ts","/@dropins/storefront-purchase-order/src/api/getPurchaseOrderApprovalRules/graphql/getPurchaseOrderApprovalRules.graphql.ts","/@dropins/storefront-purchase-order/src/api/getPurchaseOrderApprovalRules/getPurchaseOrderApprovalRules.ts"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const DELETE_PURCHASE_ORDER_APPROVAL_RULE = /* GraphQL */ `\n mutation DELETE_PURCHASE_ORDER_APPROVAL_RULE(\n $input: DeletePurchaseOrderApprovalRuleInput!\n ) {\n deletePurchaseOrderApprovalRule(input: $input) {\n errors {\n message\n type\n }\n }\n }\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\nimport { fetchGraphQl } from '@/b2b-purchase-order/api/fetch-graphql';\nimport { handleNetworkError } from '@/b2b-purchase-order/lib/network-error';\nimport { handleFetchError } from '@/b2b-purchase-order/lib/fetch-error';\nimport { DELETE_PURCHASE_ORDER_APPROVAL_RULE } from '@/b2b-purchase-order/api/deletePurchaseOrderApprovalRule/graphql/deletePurchaseOrderApprovalRule.graphql';\n\nexport const deletePurchaseOrderApprovalRule = async (\n uids: string | string[]\n): Promise<{\n deletePurchaseOrderApprovalRule: {\n errors: { message?: string; type?: string }[];\n };\n}> => {\n const uidArray = Array.isArray(uids) ? uids : [uids];\n\n if (!uidArray || uidArray.length === 0) {\n throw new Error('Approval Rule UID(s) are required');\n }\n\n if (uidArray.some((uid) => !uid || uid.trim() === '')) {\n throw new Error('All Approval Rule UIDs must be valid');\n }\n\n const input = {\n approval_rule_uids: uidArray,\n };\n\n return fetchGraphQl(DELETE_PURCHASE_ORDER_APPROVAL_RULE, {\n variables: { input },\n })\n .then((response: any) => {\n if (response.errors?.length) {\n handleFetchError(response.errors);\n }\n\n const result = response.data?.deletePurchaseOrderApprovalRule;\n if (!result) {\n throw new Error('Failed to delete purchase order approval rule');\n }\n\n const data = response?.data?.deletePurchaseOrderApprovalRule;\n\n return {\n deletePurchaseOrderApprovalRule: {\n errors: (data?.errors ?? []).map((error: any) => ({\n message: error?.message,\n type: error?.type,\n })),\n },\n };\n })\n .catch(handleNetworkError);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const GET_PURCHASE_ORDER_APPROVAL_RULES = /* GraphQL */ `\n query GET_PURCHASE_ORDER_APPROVAL_RULES($currentPage: Int!, $pageSize: Int!) {\n customer {\n email\n purchase_order_approval_rules(\n currentPage: $currentPage\n pageSize: $pageSize\n ) {\n items {\n applies_to_roles {\n id\n name\n users_count\n permissions {\n id\n sort_order\n text\n children {\n id\n sort_order\n text\n }\n }\n }\n approver_roles {\n id\n name\n users_count\n permissions {\n id\n sort_order\n text\n children {\n id\n sort_order\n text\n }\n }\n }\n condition {\n attribute\n operator\n }\n created_at\n created_by\n description\n name\n status\n uid\n updated_at\n }\n total_count\n page_info {\n page_size\n current_page\n total_pages\n }\n }\n }\n }\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { fetchGraphQl } from '@/b2b-purchase-order/api/fetch-graphql';\nimport { handleNetworkError } from '@/b2b-purchase-order/lib/network-error';\nimport { handleFetchError } from '@/b2b-purchase-order/lib/fetch-error';\nimport { GET_PURCHASE_ORDER_APPROVAL_RULES } from '@/b2b-purchase-order/api/getPurchaseOrderApprovalRules/graphql/getPurchaseOrderApprovalRules.graphql';\nimport { transformPurchaseOrderApprovalRule } from '@/b2b-purchase-order/data/transforms';\nimport { PurchaseOrderApprovalRuleModel } from '@/b2b-purchase-order/data/models';\n\nconst DEFAULT_PAGE_INFO = {\n currentPage: 1,\n pageSize: 20,\n totalPages: 1,\n};\n\nexport const getPurchaseOrderApprovalRules = async (\n currentPage: number = DEFAULT_PAGE_INFO.currentPage,\n pageSize: number = DEFAULT_PAGE_INFO.pageSize\n): Promise<{\n totalCount: number;\n pageInfo: {\n currentPage: number;\n pageSize: number;\n totalPages: number;\n };\n items: PurchaseOrderApprovalRuleModel[];\n}> => {\n return fetchGraphQl(GET_PURCHASE_ORDER_APPROVAL_RULES, {\n variables: {\n currentPage,\n pageSize,\n },\n })\n .then((response: any) => {\n if (response.errors?.length) {\n handleFetchError(response.errors);\n }\n\n const rulesData = response?.data?.customer?.purchase_order_approval_rules;\n const totalCount = rulesData?.total_count ?? 0;\n const pageInfo = {\n currentPage:\n rulesData?.page_info?.current_page ?? DEFAULT_PAGE_INFO.currentPage,\n pageSize: rulesData?.page_info?.page_size ?? DEFAULT_PAGE_INFO.pageSize,\n totalPages:\n rulesData?.page_info?.total_pages ?? DEFAULT_PAGE_INFO.totalPages,\n };\n\n return {\n totalCount,\n pageInfo,\n items: (rulesData?.items || []).map(transformPurchaseOrderApprovalRule),\n };\n })\n .catch(handleNetworkError);\n};\n"],"names":["DELETE_PURCHASE_ORDER_APPROVAL_RULE","deletePurchaseOrderApprovalRule","uids","uidArray","uid","fetchGraphQl","response","_a","handleFetchError","_b","data","_c","error","handleNetworkError","GET_PURCHASE_ORDER_APPROVAL_RULES","DEFAULT_PAGE_INFO","getPurchaseOrderApprovalRules","currentPage","pageSize","rulesData","totalCount","pageInfo","_d","_e","_f","transformPurchaseOrderApprovalRule"],"mappings":"mJAiBO,MAAMA,EAAoD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECIpDC,EAAkC,MAC7CC,GAKI,CACJ,MAAMC,EAAW,MAAM,QAAQD,CAAI,EAAIA,EAAO,CAACA,CAAI,EAEnD,GAAI,CAACC,GAAYA,EAAS,SAAW,EACnC,MAAM,IAAI,MAAM,mCAAmC,EAGrD,GAAIA,EAAS,KAAMC,GAAQ,CAACA,GAAOA,EAAI,SAAW,EAAE,EAClD,MAAM,IAAI,MAAM,sCAAsC,EAOxD,OAAOC,EAAaL,EAAqC,CACvD,UAAW,CAAE,MALD,CACZ,mBAAoBG,CAAA,CAIP,CAAM,CACpB,EACE,KAAMG,GAAkB,WAMvB,IALIC,EAAAD,EAAS,SAAT,MAAAC,EAAiB,QACnBC,EAAiBF,EAAS,MAAM,EAI9B,GADWG,EAAAH,EAAS,OAAT,YAAAG,EAAe,iCAE5B,MAAM,IAAI,MAAM,+CAA+C,EAGjE,MAAMC,GAAOC,EAAAL,GAAA,YAAAA,EAAU,OAAV,YAAAK,EAAgB,gCAE7B,MAAO,CACL,gCAAiC,CAC/B,SAASD,GAAA,YAAAA,EAAM,SAAU,CAAA,GAAI,IAAKE,IAAgB,CAChD,QAASA,GAAA,YAAAA,EAAO,QAChB,KAAMA,GAAA,YAAAA,EAAO,IAAA,EACb,CAAA,CACJ,CAEJ,CAAC,EACA,MAAMC,CAAkB,CAC7B,EClDaC,EAAkD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECOzDC,EAAoB,CACxB,YAAa,EACb,SAAU,GACV,WAAY,CACd,EAEaC,EAAgC,MAC3CC,EAAsBF,EAAkB,YACxCG,EAAmBH,EAAkB,WAU9BV,EAAaS,EAAmC,CACrD,UAAW,CACT,YAAAG,EACA,SAAAC,CAAA,CACF,CACD,EACE,KAAMZ,GAAkB,kBACnBC,EAAAD,EAAS,SAAT,MAAAC,EAAiB,QACnBC,EAAiBF,EAAS,MAAM,EAGlC,MAAMa,GAAYR,GAAAF,EAAAH,GAAA,YAAAA,EAAU,OAAV,YAAAG,EAAgB,WAAhB,YAAAE,EAA0B,8BACtCS,GAAaD,GAAA,YAAAA,EAAW,cAAe,EACvCE,EAAW,CACf,cACEC,EAAAH,GAAA,YAAAA,EAAW,YAAX,YAAAG,EAAsB,eAAgBP,EAAkB,YAC1D,WAAUQ,EAAAJ,GAAA,YAAAA,EAAW,YAAX,YAAAI,EAAsB,YAAaR,EAAkB,SAC/D,aACES,EAAAL,GAAA,YAAAA,EAAW,YAAX,YAAAK,EAAsB,cAAeT,EAAkB,UAAA,EAG3D,MAAO,CACL,WAAAK,EACA,SAAAC,EACA,QAAQF,GAAA,YAAAA,EAAW,QAAS,CAAA,GAAI,IAAIM,CAAkC,CAAA,CAE1E,CAAC,EACA,MAAMZ,CAAkB"}
@@ -1,22 +1,12 @@
1
1
  /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
- import{f as w,h as C,a as U}from"./fetch-graphql.js";const S=t=>{if(t==null||typeof t!="object")return t;if(Array.isArray(t))return t.map(S);const n={};for(const[R,_]of Object.entries(t)){const i=R.replace(/[A-Z]/g,s=>`_${s.toLowerCase()}`);n[i]=S(_)}return n},b=`
3
+ import{f as S,h as b}from"./fetch-graphql.js";import{h as w}from"./fetch-error.js";import{t as D}from"./case-converter.js";const C=`
4
4
  fragment PURCHASE_ORDERS_FRAGMENT on PurchaseOrder {
5
5
  __typename
6
6
  uid
7
7
  number
8
8
  status
9
9
  available_actions
10
- approval_flow {
11
- rule_name
12
- events {
13
- message
14
- name
15
- role
16
- status
17
- updated_at
18
- }
19
- }
20
10
  comments {
21
11
  created_at
22
12
  author {
@@ -58,7 +48,7 @@ import{f as w,h as C,a as U}from"./fetch-graphql.js";const S=t=>{if(t==null||typ
58
48
  }
59
49
  }
60
50
  }
61
- `,D=`
51
+ `,M=`
62
52
  mutation APPROVE_PURCHASE_ORDERS($input: PurchaseOrdersActionInput!) {
63
53
  approvePurchaseOrders(input: $input) {
64
54
  purchase_orders {
@@ -70,8 +60,8 @@ import{f as w,h as C,a as U}from"./fetch-graphql.js";const S=t=>{if(t==null||typ
70
60
  }
71
61
  }
72
62
  }
73
- ${b}
74
- `,$=t=>{var n,R,_,i,s,E,o,l,y,f,A,P,g,m,q,u,H,I,F,T;return{typename:(t==null?void 0:t.__typename)??"",uid:(t==null?void 0:t.uid)??"",number:(t==null?void 0:t.number)??"",status:(t==null?void 0:t.status)??"",availableActions:(t==null?void 0:t.available_actions)??[],approvalFlow:t!=null&&t.approval_flow?{ruleName:((n=t==null?void 0:t.approval_flow)==null?void 0:n.rule_name)??"",events:((_=(R=t==null?void 0:t.approval_flow)==null?void 0:R.events)==null?void 0:_.map(a=>({message:(a==null?void 0:a.message)??"",name:(a==null?void 0:a.name)??"",role:(a==null?void 0:a.role)??"",status:(a==null?void 0:a.status)??"",updatedAt:(a==null?void 0:a.updated_at)??""})))??[]}:null,comments:((i=t==null?void 0:t.comments)==null?void 0:i.map(a=>{var G,N,z;return{createdAt:(a==null?void 0:a.created_at)??"",author:{firstname:((G=a==null?void 0:a.author)==null?void 0:G.firstname)??"",lastname:((N=a==null?void 0:a.author)==null?void 0:N.lastname)??"",email:((z=a==null?void 0:a.author)==null?void 0:z.email)??""},text:(a==null?void 0:a.text)??""}}))??[],createdAt:(t==null?void 0:t.created_at)??"",updatedAt:(t==null?void 0:t.updated_at)??"",createdBy:{firstname:((s=t==null?void 0:t.created_by)==null?void 0:s.firstname)??"",lastname:((E=t==null?void 0:t.created_by)==null?void 0:E.lastname)??"",email:((o=t==null?void 0:t.created_by)==null?void 0:o.email)??""},historyLog:((l=t==null?void 0:t.history_log)==null?void 0:l.map(a=>({activity:(a==null?void 0:a.activity)??"",createdAt:(a==null?void 0:a.created_at)??"",message:(a==null?void 0:a.message)??"",uid:(a==null?void 0:a.uid)??""})))??[],order:{orderNumber:((y=t==null?void 0:t.order)==null?void 0:y.number)??"",id:((f=t==null?void 0:t.order)==null?void 0:f.id)??""},quote:{id:((A=t==null?void 0:t.quote)==null?void 0:A.id)??"",prices:{grandTotal:{value:((m=(g=(P=t==null?void 0:t.quote)==null?void 0:P.prices)==null?void 0:g.grand_total)==null?void 0:m.value)??0,currency:((H=(u=(q=t==null?void 0:t.quote)==null?void 0:q.prices)==null?void 0:u.grand_total)==null?void 0:H.currency)??""}},itemsV2:{items:((T=(F=(I=t==null?void 0:t.quote)==null?void 0:I.itemsV2)==null?void 0:F.items)==null?void 0:T.map(a=>({uid:(a==null?void 0:a.uid)??"",quantity:(a==null?void 0:a.quantity)??0})))??[]}}}},v=async t=>{const n=Array.isArray(t)?t:[t];if(!n||n.length===0)throw new Error("Purchase Order UID(s) are required");if(n.some(_=>!_||_.trim()===""))throw new Error("All Purchase Order UIDs must be valid");return w(D,{variables:{input:{purchase_order_uids:n}}}).then(_=>{var s,E,o;(s=_.errors)!=null&&s.length&&C(_.errors);const i=(E=_.data)==null?void 0:E.approvePurchaseOrders;if(!i)throw new Error("Failed to approve purchase orders");return{errors:((i==null?void 0:i.errors)??[]).map(l=>({message:(l==null?void 0:l.message)??"",type:(l==null?void 0:l.type)??""})),purchaseOrders:((o=i==null?void 0:i.purchase_orders)==null?void 0:o.map(l=>$(l)))??[]}}).catch(U)},M=`
63
+ ${C}
64
+ `,U=t=>{var n,s,_,a,E,R,o,l,P,y,f,A,g,m,$,q,H,I,F,T;return{typename:(t==null?void 0:t.__typename)??"",uid:(t==null?void 0:t.uid)??"",number:(t==null?void 0:t.number)??"",status:(t==null?void 0:t.status)??"",availableActions:(t==null?void 0:t.available_actions)??[],approvalFlow:t!=null&&t.approval_flow?{ruleName:((n=t==null?void 0:t.approval_flow)==null?void 0:n.rule_name)??"",events:((_=(s=t==null?void 0:t.approval_flow)==null?void 0:s.events)==null?void 0:_.map(i=>({message:(i==null?void 0:i.message)??"",name:(i==null?void 0:i.name)??"",role:(i==null?void 0:i.role)??"",status:(i==null?void 0:i.status)??"",updatedAt:(i==null?void 0:i.updated_at)??""})))??[]}:null,comments:((a=t==null?void 0:t.comments)==null?void 0:a.map(i=>{var G,N,z;return{createdAt:(i==null?void 0:i.created_at)??"",author:{firstname:((G=i==null?void 0:i.author)==null?void 0:G.firstname)??"",lastname:((N=i==null?void 0:i.author)==null?void 0:N.lastname)??"",email:((z=i==null?void 0:i.author)==null?void 0:z.email)??""},text:(i==null?void 0:i.text)??""}}))??[],createdAt:(t==null?void 0:t.created_at)??"",updatedAt:(t==null?void 0:t.updated_at)??"",createdBy:{firstname:((E=t==null?void 0:t.created_by)==null?void 0:E.firstname)??"",lastname:((R=t==null?void 0:t.created_by)==null?void 0:R.lastname)??"",email:((o=t==null?void 0:t.created_by)==null?void 0:o.email)??""},historyLog:((l=t==null?void 0:t.history_log)==null?void 0:l.map(i=>({activity:(i==null?void 0:i.activity)??"",createdAt:(i==null?void 0:i.created_at)??"",message:(i==null?void 0:i.message)??"",uid:(i==null?void 0:i.uid)??""})))??[],order:{orderNumber:((P=t==null?void 0:t.order)==null?void 0:P.number)??"",id:((y=t==null?void 0:t.order)==null?void 0:y.id)??""},quote:{id:((f=t==null?void 0:t.quote)==null?void 0:f.id)??"",prices:{grandTotal:{value:((m=(g=(A=t==null?void 0:t.quote)==null?void 0:A.prices)==null?void 0:g.grand_total)==null?void 0:m.value)??0,currency:((H=(q=($=t==null?void 0:t.quote)==null?void 0:$.prices)==null?void 0:q.grand_total)==null?void 0:H.currency)??""}},itemsV2:{items:((T=(F=(I=t==null?void 0:t.quote)==null?void 0:I.itemsV2)==null?void 0:F.items)==null?void 0:T.map(i=>({uid:(i==null?void 0:i.uid)??"",quantity:(i==null?void 0:i.quantity)??0})))??[]}}}},J=async t=>{const n=Array.isArray(t)?t:[t];if(!n||n.length===0)throw new Error("Purchase Order UID(s) are required");if(n.some(_=>!_||_.trim()===""))throw new Error("All Purchase Order UIDs must be valid");return S(M,{variables:{input:{purchase_order_uids:n}}}).then(_=>{var E,R,o;(E=_.errors)!=null&&E.length&&w(_.errors);const a=(R=_.data)==null?void 0:R.approvePurchaseOrders;if(!a)throw new Error("Failed to approve purchase orders");return{errors:((a==null?void 0:a.errors)??[]).map(l=>({message:(l==null?void 0:l.message)??"",type:(l==null?void 0:l.type)??""})),purchaseOrders:((o=a==null?void 0:a.purchase_orders)==null?void 0:o.map(l=>U(l)))??[]}}).catch(b)},V=`
75
65
  mutation REJECT_PURCHASE_ORDERS($input: PurchaseOrdersActionInput!) {
76
66
  rejectPurchaseOrders(input: $input) {
77
67
  purchase_orders {
@@ -83,8 +73,8 @@ import{f as w,h as C,a as U}from"./fetch-graphql.js";const S=t=>{if(t==null||typ
83
73
  }
84
74
  }
85
75
  }
86
- ${b}
87
- `,x=async t=>{const n=Array.isArray(t)?t:[t];if(!n||n.length===0)throw new Error("Purchase Order UID(s) are required");if(n.some(_=>!_||_.trim()===""))throw new Error("All Purchase Order UIDs must be valid");return w(M,{variables:{input:{purchase_order_uids:n}}}).then(_=>{var s,E;(s=_.errors)!=null&&s.length&&C(_.errors);const i=(E=_.data)==null?void 0:E.rejectPurchaseOrders;return{errors:((i==null?void 0:i.errors)??[]).map(o=>({message:(o==null?void 0:o.message)??"",type:(o==null?void 0:o.type)??""})),purchaseOrders:((i==null?void 0:i.purchase_orders)??[]).map($)}}).catch(U)},V=`
76
+ ${C}
77
+ `,B=async t=>{const n=Array.isArray(t)?t:[t];if(!n||n.length===0)throw new Error("Purchase Order UID(s) are required");if(n.some(_=>!_||_.trim()===""))throw new Error("All Purchase Order UIDs must be valid");return S(V,{variables:{input:{purchase_order_uids:n}}}).then(_=>{var E,R;(E=_.errors)!=null&&E.length&&w(_.errors);const a=(R=_.data)==null?void 0:R.rejectPurchaseOrders;return{errors:((a==null?void 0:a.errors)??[]).map(o=>({message:(o==null?void 0:o.message)??"",type:(o==null?void 0:o.type)??""})),purchaseOrders:((a==null?void 0:a.purchase_orders)??[]).map(U)}}).catch(b)},x=`
88
78
  query GET_PURCHASE_ORDERS(
89
79
  $filter: PurchaseOrdersFilterInput
90
80
  $pageSize: Int
@@ -108,6 +98,6 @@ import{f as w,h as C,a as U}from"./fetch-graphql.js";const S=t=>{if(t==null||typ
108
98
  }
109
99
  }
110
100
  }
111
- ${b}
112
- `,J=async(t,n=20,R=1)=>w(V,{variables:{filter:S(t),pageSize:n,currentPage:R}}).then(_=>{var o,l,y,f,A,P,g,m;if((o=_.errors)!=null&&o.length&&C(_.errors),!((y=(l=_.data)==null?void 0:l.customer)!=null&&y.purchase_orders))throw new Error("Failed to get purchase orders");const i=(A=(f=_==null?void 0:_.data)==null?void 0:f.customer)==null?void 0:A.purchase_orders,s=(i==null?void 0:i.total_count)??0,E={currentPage:((P=i==null?void 0:i.page_info)==null?void 0:P.current_page)??1,pageSize:((g=i==null?void 0:i.page_info)==null?void 0:g.page_size)??20,totalPages:((m=i==null?void 0:i.page_info)==null?void 0:m.total_pages)??1};return{totalCount:s,pageInfo:E,purchaseOrderItems:((i==null?void 0:i.items)||[]).map($)}}).catch(U);export{b as P,v as a,J as g,x as r,$ as t};
101
+ ${C}
102
+ `,L=async(t,n=20,s=1)=>S(x,{variables:{filter:D(t),pageSize:n,currentPage:s}}).then(_=>{var o,l,P,y,f,A,g,m;if((o=_.errors)!=null&&o.length&&w(_.errors),!((P=(l=_.data)==null?void 0:l.customer)!=null&&P.purchase_orders))throw new Error("Failed to get purchase orders");const a=(f=(y=_==null?void 0:_.data)==null?void 0:y.customer)==null?void 0:f.purchase_orders,E=(a==null?void 0:a.total_count)??0,R={currentPage:((A=a==null?void 0:a.page_info)==null?void 0:A.current_page)??1,pageSize:((g=a==null?void 0:a.page_info)==null?void 0:g.page_size)??20,totalPages:((m=a==null?void 0:a.page_info)==null?void 0:m.total_pages)??1};return{totalCount:E,pageInfo:R,purchaseOrderItems:((a==null?void 0:a.items)||[]).map(U)}}).catch(b);export{C as P,J as a,L as g,B as r,U as t};
113
103
  //# sourceMappingURL=getPurchaseOrders.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getPurchaseOrders.js","sources":["/@dropins/storefront-purchase-order/src/lib/case-converter.ts","/@dropins/storefront-purchase-order/src/api/graphql/PurchaseOrdersFragment.graphql.ts","/@dropins/storefront-purchase-order/src/api/approvePurchaseOrders/graphql/approvePurchaseOrders.graphql.ts","/@dropins/storefront-purchase-order/src/data/transforms/transform-purchase-order.ts","/@dropins/storefront-purchase-order/src/api/approvePurchaseOrders/approvePurchaseOrders.ts","/@dropins/storefront-purchase-order/src/api/rejectPurchaseOrders/graphql/rejectPurchaseOrders.graphql.ts","/@dropins/storefront-purchase-order/src/api/rejectPurchaseOrders/rejectPurchaseOrders.ts","/@dropins/storefront-purchase-order/src/api/getPurchaseOrders/graphql/getPurchaseOrders.graphql.ts","/@dropins/storefront-purchase-order/src/api/getPurchaseOrders/getPurchaseOrders.ts"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\n/**\n * Converts camelCase object keys to snake_case recursively\n */\nexport const toSnakeCase = (obj: any): any => {\n if (obj === null || obj === undefined || typeof obj !== 'object') {\n return obj;\n }\n\n if (Array.isArray(obj)) {\n return obj.map(toSnakeCase);\n }\n\n const result: any = {};\n for (const [key, value] of Object.entries(obj)) {\n const snakeKey = key.replace(\n /[A-Z]/g,\n (letter) => `_${letter.toLowerCase()}`\n );\n result[snakeKey] = toSnakeCase(value);\n }\n return result;\n};\n\n/**\n * Converts snake_case object keys to camelCase recursively\n */\nexport const toCamelCase = (obj: any): any => {\n if (obj === null || obj === undefined || typeof obj !== 'object') {\n return obj;\n }\n\n if (Array.isArray(obj)) {\n return obj.map(toCamelCase);\n }\n\n const result: any = {};\n for (const [key, value] of Object.entries(obj)) {\n const camelKey = key.replace(/_([a-z])/g, (_, letter) =>\n letter.toUpperCase()\n );\n result[camelKey] = toCamelCase(value);\n }\n return result;\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const PURCHASE_ORDERS_FRAGMENT = /* GraphQL */ `\n fragment PURCHASE_ORDERS_FRAGMENT on PurchaseOrder {\n __typename\n uid\n number\n status\n available_actions\n approval_flow {\n rule_name\n events {\n message\n name\n role\n status\n updated_at\n }\n }\n comments {\n created_at\n author {\n firstname\n lastname\n email\n }\n text\n }\n created_at\n updated_at\n created_by {\n firstname\n lastname\n email\n }\n history_log {\n activity\n created_at\n message\n uid\n }\n order {\n number\n }\n quote {\n id\n prices {\n grand_total {\n value\n currency\n }\n }\n itemsV2 {\n items {\n uid\n quantity\n }\n }\n }\n }\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { PURCHASE_ORDERS_FRAGMENT } from '@/b2b-purchase-order/api/graphql/PurchaseOrdersFragment.graphql';\n\nexport const APPROVE_PURCHASE_ORDERS = /* GraphQL */ `\n mutation APPROVE_PURCHASE_ORDERS($input: PurchaseOrdersActionInput!) {\n approvePurchaseOrders(input: $input) {\n purchase_orders {\n ...PURCHASE_ORDERS_FRAGMENT\n }\n errors {\n message\n type\n }\n }\n }\n ${PURCHASE_ORDERS_FRAGMENT}\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { PurchaseOrderModel } from '@/b2b-purchase-order/data/models';\n\nexport const transformPurchaseOrder = (\n purchaseOrder: any\n): PurchaseOrderModel => {\n return {\n typename: purchaseOrder?.__typename ?? '',\n uid: purchaseOrder?.uid ?? '',\n number: purchaseOrder?.number ?? '',\n status: purchaseOrder?.status ?? '',\n availableActions: purchaseOrder?.available_actions ?? [],\n approvalFlow: purchaseOrder?.approval_flow\n ? {\n ruleName: purchaseOrder?.approval_flow?.rule_name ?? '',\n events:\n purchaseOrder?.approval_flow?.events?.map((event: any) => ({\n message: event?.message ?? '',\n name: event?.name ?? '',\n role: event?.role ?? '',\n status: event?.status ?? '',\n updatedAt: event?.updated_at ?? '',\n })) ?? [],\n }\n : null,\n comments:\n purchaseOrder?.comments?.map((comment: any) => ({\n createdAt: comment?.created_at ?? '',\n author: {\n firstname: comment?.author?.firstname ?? '',\n lastname: comment?.author?.lastname ?? '',\n email: comment?.author?.email ?? '',\n },\n text: comment?.text ?? '',\n })) ?? [],\n createdAt: purchaseOrder?.created_at ?? '',\n updatedAt: purchaseOrder?.updated_at ?? '',\n createdBy: {\n firstname: purchaseOrder?.created_by?.firstname ?? '',\n lastname: purchaseOrder?.created_by?.lastname ?? '',\n email: purchaseOrder?.created_by?.email ?? '',\n },\n historyLog:\n purchaseOrder?.history_log?.map((log: any) => ({\n activity: log?.activity ?? '',\n createdAt: log?.created_at ?? '',\n message: log?.message ?? '',\n uid: log?.uid ?? '',\n })) ?? [],\n order: {\n orderNumber: purchaseOrder?.order?.number ?? '',\n id: purchaseOrder?.order?.id ?? '',\n },\n quote: {\n id: purchaseOrder?.quote?.id ?? '',\n prices: {\n grandTotal: {\n value: purchaseOrder?.quote?.prices?.grand_total?.value ?? 0,\n currency: purchaseOrder?.quote?.prices?.grand_total?.currency ?? '',\n },\n },\n itemsV2: {\n items:\n purchaseOrder?.quote?.itemsV2?.items?.map((item: any) => ({\n uid: item?.uid ?? '',\n quantity: item?.quantity ?? 0,\n })) ?? [],\n },\n },\n };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\nimport { fetchGraphQl } from '@/b2b-purchase-order/api/fetch-graphql';\nimport { handleNetworkError } from '@/b2b-purchase-order/lib/network-error';\nimport { handleFetchError } from '@/b2b-purchase-order/lib/fetch-error';\nimport { APPROVE_PURCHASE_ORDERS } from '@/b2b-purchase-order/api/approvePurchaseOrders/graphql/approvePurchaseOrders.graphql';\nimport { transformPurchaseOrder } from '@/b2b-purchase-order/data/transforms/transform-purchase-order';\nimport { PurchaseOrderModel } from '@/b2b-purchase-order/data/models';\n\nexport const approvePurchaseOrders = async (\n uids: string | string[]\n): Promise<{\n errors: { message: string; type: string }[];\n purchaseOrders: PurchaseOrderModel[];\n}> => {\n const uidArray = Array.isArray(uids) ? uids : [uids];\n\n if (!uidArray || uidArray.length === 0) {\n throw new Error('Purchase Order UID(s) are required');\n }\n\n if (uidArray.some((uid) => !uid || uid.trim() === '')) {\n throw new Error('All Purchase Order UIDs must be valid');\n }\n\n const input = {\n purchase_order_uids: uidArray,\n };\n\n return fetchGraphQl(APPROVE_PURCHASE_ORDERS, {\n variables: { input },\n })\n .then((response: any) => {\n if (response.errors?.length) {\n handleFetchError(response.errors);\n }\n\n const data = response.data?.approvePurchaseOrders;\n if (!data) {\n throw new Error('Failed to approve purchase orders');\n }\n\n return {\n errors: (data?.errors ?? []).map((error: any) => ({\n message: error?.message ?? '',\n type: error?.type ?? '',\n })),\n purchaseOrders:\n data?.purchase_orders?.map((order: any) =>\n transformPurchaseOrder(order)\n ) ?? [],\n };\n })\n .catch(handleNetworkError);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { PURCHASE_ORDERS_FRAGMENT } from '@/b2b-purchase-order/api/graphql/PurchaseOrdersFragment.graphql';\n\nexport const REJECT_PURCHASE_ORDERS = /* GraphQL */ `\n mutation REJECT_PURCHASE_ORDERS($input: PurchaseOrdersActionInput!) {\n rejectPurchaseOrders(input: $input) {\n purchase_orders {\n ...PURCHASE_ORDERS_FRAGMENT\n }\n errors {\n message\n type\n }\n }\n }\n ${PURCHASE_ORDERS_FRAGMENT}\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\nimport { fetchGraphQl } from '@/b2b-purchase-order/api/fetch-graphql';\nimport { handleNetworkError } from '@/b2b-purchase-order/lib/network-error';\nimport { handleFetchError } from '@/b2b-purchase-order/lib/fetch-error';\nimport { REJECT_PURCHASE_ORDERS } from '@/b2b-purchase-order/api/rejectPurchaseOrders/graphql/rejectPurchaseOrders.graphql';\nimport { transformPurchaseOrder } from '@/b2b-purchase-order/data/transforms/transform-purchase-order';\nimport { PurchaseOrderModel } from '@/b2b-purchase-order/data/models';\n\nexport const rejectPurchaseOrders = async (\n uids: string | string[]\n): Promise<{\n errors: { message: string; type: string }[];\n purchaseOrders: PurchaseOrderModel[];\n}> => {\n const uidArray = Array.isArray(uids) ? uids : [uids];\n\n if (!uidArray || uidArray.length === 0) {\n throw new Error('Purchase Order UID(s) are required');\n }\n\n if (uidArray.some((uid) => !uid || uid.trim() === '')) {\n throw new Error('All Purchase Order UIDs must be valid');\n }\n\n const input = {\n purchase_order_uids: uidArray,\n };\n\n return fetchGraphQl(REJECT_PURCHASE_ORDERS, {\n variables: { input },\n })\n .then((response: any) => {\n if (response.errors?.length) {\n handleFetchError(response.errors);\n }\n\n const data = response.data?.rejectPurchaseOrders;\n\n return {\n errors: (data?.errors ?? []).map((error: any) => ({\n message: error?.message ?? '',\n type: error?.type ?? '',\n })),\n purchaseOrders: (data?.purchase_orders ?? []).map(\n transformPurchaseOrder\n ),\n };\n })\n .catch(handleNetworkError);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { PURCHASE_ORDERS_FRAGMENT } from '@/b2b-purchase-order/api/fragments';\n\nexport const GET_PURCHASE_ORDERS = /* GraphQL */ `\n query GET_PURCHASE_ORDERS(\n $filter: PurchaseOrdersFilterInput\n $pageSize: Int\n $currentPage: Int\n ) {\n customer {\n purchase_orders(\n filter: $filter\n pageSize: $pageSize\n currentPage: $currentPage\n ) {\n total_count\n page_info {\n current_page\n page_size\n total_pages\n }\n items {\n ...PURCHASE_ORDERS_FRAGMENT\n }\n }\n }\n }\n ${PURCHASE_ORDERS_FRAGMENT}\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { fetchGraphQl } from '@/b2b-purchase-order/api/fetch-graphql';\nimport { handleNetworkError } from '@/b2b-purchase-order/lib/network-error';\nimport { handleFetchError } from '@/b2b-purchase-order/lib/fetch-error';\nimport { GET_PURCHASE_ORDERS } from '@/b2b-purchase-order/api/getPurchaseOrders/graphql/getPurchaseOrders.graphql';\nimport { transformPurchaseOrder } from '@/b2b-purchase-order/data/transforms/transform-purchase-order';\nimport { PurchaseOrderModel } from '@/b2b-purchase-order/data/models';\nimport { toSnakeCase } from '@/b2b-purchase-order/lib';\n\nexport const getPurchaseOrders = async (\n filter?: any,\n pageSize: number = 20,\n currentPage: number = 1\n): Promise<{\n totalCount: number;\n pageInfo: {\n currentPage: number;\n pageSize: number;\n totalPages: number;\n };\n purchaseOrderItems: PurchaseOrderModel[];\n}> => {\n return fetchGraphQl(GET_PURCHASE_ORDERS, {\n variables: {\n filter: toSnakeCase(filter),\n pageSize,\n currentPage,\n },\n })\n .then((response: any) => {\n if (response.errors?.length) {\n handleFetchError(response.errors);\n }\n\n if (!response.data?.customer?.purchase_orders) {\n throw new Error('Failed to get purchase orders');\n }\n\n const purchaseOrdersData = response?.data?.customer?.purchase_orders;\n const totalCount = purchaseOrdersData?.total_count ?? 0;\n const pageInfo = {\n currentPage: purchaseOrdersData?.page_info?.current_page ?? 1,\n pageSize: purchaseOrdersData?.page_info?.page_size ?? 20,\n totalPages: purchaseOrdersData?.page_info?.total_pages ?? 1,\n };\n\n return {\n totalCount,\n pageInfo,\n purchaseOrderItems: (purchaseOrdersData?.items || []).map(\n transformPurchaseOrder\n ),\n };\n })\n .catch(handleNetworkError);\n};\n"],"names":["toSnakeCase","obj","result","key","value","snakeKey","letter","PURCHASE_ORDERS_FRAGMENT","APPROVE_PURCHASE_ORDERS","transformPurchaseOrder","purchaseOrder","_a","_c","_b","event","_d","comment","_e","_f","_g","_h","log","_i","_j","_k","_n","_m","_l","_q","_p","_o","_t","_s","_r","item","approvePurchaseOrders","uids","uidArray","uid","fetchGraphQl","response","handleFetchError","data","error","order","handleNetworkError","REJECT_PURCHASE_ORDERS","rejectPurchaseOrders","GET_PURCHASE_ORDERS","getPurchaseOrders","filter","pageSize","currentPage","purchaseOrdersData","totalCount","pageInfo"],"mappings":"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"}
1
+ {"version":3,"file":"getPurchaseOrders.js","sources":["/@dropins/storefront-purchase-order/src/api/graphql/PurchaseOrdersFragment.graphql.ts","/@dropins/storefront-purchase-order/src/api/approvePurchaseOrders/graphql/approvePurchaseOrders.graphql.ts","/@dropins/storefront-purchase-order/src/data/transforms/transform-purchase-order.ts","/@dropins/storefront-purchase-order/src/api/approvePurchaseOrders/approvePurchaseOrders.ts","/@dropins/storefront-purchase-order/src/api/rejectPurchaseOrders/graphql/rejectPurchaseOrders.graphql.ts","/@dropins/storefront-purchase-order/src/api/rejectPurchaseOrders/rejectPurchaseOrders.ts","/@dropins/storefront-purchase-order/src/api/getPurchaseOrders/graphql/getPurchaseOrders.graphql.ts","/@dropins/storefront-purchase-order/src/api/getPurchaseOrders/getPurchaseOrders.ts"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\n// TODO - Add approval_flow after backend functionality will be adjusted\nexport const PURCHASE_ORDERS_FRAGMENT = /* GraphQL */ `\n fragment PURCHASE_ORDERS_FRAGMENT on PurchaseOrder {\n __typename\n uid\n number\n status\n available_actions\n comments {\n created_at\n author {\n firstname\n lastname\n email\n }\n text\n }\n created_at\n updated_at\n created_by {\n firstname\n lastname\n email\n }\n history_log {\n activity\n created_at\n message\n uid\n }\n order {\n number\n }\n quote {\n id\n prices {\n grand_total {\n value\n currency\n }\n }\n itemsV2 {\n items {\n uid\n quantity\n }\n }\n }\n }\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { PURCHASE_ORDERS_FRAGMENT } from '@/b2b-purchase-order/api/graphql/PurchaseOrdersFragment.graphql';\n\nexport const APPROVE_PURCHASE_ORDERS = /* GraphQL */ `\n mutation APPROVE_PURCHASE_ORDERS($input: PurchaseOrdersActionInput!) {\n approvePurchaseOrders(input: $input) {\n purchase_orders {\n ...PURCHASE_ORDERS_FRAGMENT\n }\n errors {\n message\n type\n }\n }\n }\n ${PURCHASE_ORDERS_FRAGMENT}\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { PurchaseOrderModel } from '@/b2b-purchase-order/data/models';\n\nexport const transformPurchaseOrder = (\n purchaseOrder: any\n): PurchaseOrderModel => {\n return {\n typename: purchaseOrder?.__typename ?? '',\n uid: purchaseOrder?.uid ?? '',\n number: purchaseOrder?.number ?? '',\n status: purchaseOrder?.status ?? '',\n availableActions: purchaseOrder?.available_actions ?? [],\n approvalFlow: purchaseOrder?.approval_flow\n ? {\n ruleName: purchaseOrder?.approval_flow?.rule_name ?? '',\n events:\n purchaseOrder?.approval_flow?.events?.map((event: any) => ({\n message: event?.message ?? '',\n name: event?.name ?? '',\n role: event?.role ?? '',\n status: event?.status ?? '',\n updatedAt: event?.updated_at ?? '',\n })) ?? [],\n }\n : null,\n comments:\n purchaseOrder?.comments?.map((comment: any) => ({\n createdAt: comment?.created_at ?? '',\n author: {\n firstname: comment?.author?.firstname ?? '',\n lastname: comment?.author?.lastname ?? '',\n email: comment?.author?.email ?? '',\n },\n text: comment?.text ?? '',\n })) ?? [],\n createdAt: purchaseOrder?.created_at ?? '',\n updatedAt: purchaseOrder?.updated_at ?? '',\n createdBy: {\n firstname: purchaseOrder?.created_by?.firstname ?? '',\n lastname: purchaseOrder?.created_by?.lastname ?? '',\n email: purchaseOrder?.created_by?.email ?? '',\n },\n historyLog:\n purchaseOrder?.history_log?.map((log: any) => ({\n activity: log?.activity ?? '',\n createdAt: log?.created_at ?? '',\n message: log?.message ?? '',\n uid: log?.uid ?? '',\n })) ?? [],\n order: {\n orderNumber: purchaseOrder?.order?.number ?? '',\n id: purchaseOrder?.order?.id ?? '',\n },\n quote: {\n id: purchaseOrder?.quote?.id ?? '',\n prices: {\n grandTotal: {\n value: purchaseOrder?.quote?.prices?.grand_total?.value ?? 0,\n currency: purchaseOrder?.quote?.prices?.grand_total?.currency ?? '',\n },\n },\n itemsV2: {\n items:\n purchaseOrder?.quote?.itemsV2?.items?.map((item: any) => ({\n uid: item?.uid ?? '',\n quantity: item?.quantity ?? 0,\n })) ?? [],\n },\n },\n };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\nimport { fetchGraphQl } from '@/b2b-purchase-order/api/fetch-graphql';\nimport { handleNetworkError } from '@/b2b-purchase-order/lib/network-error';\nimport { handleFetchError } from '@/b2b-purchase-order/lib/fetch-error';\nimport { APPROVE_PURCHASE_ORDERS } from '@/b2b-purchase-order/api/approvePurchaseOrders/graphql/approvePurchaseOrders.graphql';\nimport { transformPurchaseOrder } from '@/b2b-purchase-order/data/transforms/transform-purchase-order';\nimport { PurchaseOrderModel } from '@/b2b-purchase-order/data/models';\n\nexport const approvePurchaseOrders = async (\n uids: string | string[]\n): Promise<{\n errors: { message: string; type: string }[];\n purchaseOrders: PurchaseOrderModel[];\n}> => {\n const uidArray = Array.isArray(uids) ? uids : [uids];\n\n if (!uidArray || uidArray.length === 0) {\n throw new Error('Purchase Order UID(s) are required');\n }\n\n if (uidArray.some((uid) => !uid || uid.trim() === '')) {\n throw new Error('All Purchase Order UIDs must be valid');\n }\n\n const input = {\n purchase_order_uids: uidArray,\n };\n\n return fetchGraphQl(APPROVE_PURCHASE_ORDERS, {\n variables: { input },\n })\n .then((response: any) => {\n if (response.errors?.length) {\n handleFetchError(response.errors);\n }\n\n const data = response.data?.approvePurchaseOrders;\n if (!data) {\n throw new Error('Failed to approve purchase orders');\n }\n\n return {\n errors: (data?.errors ?? []).map((error: any) => ({\n message: error?.message ?? '',\n type: error?.type ?? '',\n })),\n purchaseOrders:\n data?.purchase_orders?.map((order: any) =>\n transformPurchaseOrder(order)\n ) ?? [],\n };\n })\n .catch(handleNetworkError);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { PURCHASE_ORDERS_FRAGMENT } from '@/b2b-purchase-order/api/graphql/PurchaseOrdersFragment.graphql';\n\nexport const REJECT_PURCHASE_ORDERS = /* GraphQL */ `\n mutation REJECT_PURCHASE_ORDERS($input: PurchaseOrdersActionInput!) {\n rejectPurchaseOrders(input: $input) {\n purchase_orders {\n ...PURCHASE_ORDERS_FRAGMENT\n }\n errors {\n message\n type\n }\n }\n }\n ${PURCHASE_ORDERS_FRAGMENT}\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\nimport { fetchGraphQl } from '@/b2b-purchase-order/api/fetch-graphql';\nimport { handleNetworkError } from '@/b2b-purchase-order/lib/network-error';\nimport { handleFetchError } from '@/b2b-purchase-order/lib/fetch-error';\nimport { REJECT_PURCHASE_ORDERS } from '@/b2b-purchase-order/api/rejectPurchaseOrders/graphql/rejectPurchaseOrders.graphql';\nimport { transformPurchaseOrder } from '@/b2b-purchase-order/data/transforms/transform-purchase-order';\nimport { PurchaseOrderModel } from '@/b2b-purchase-order/data/models';\n\nexport const rejectPurchaseOrders = async (\n uids: string | string[]\n): Promise<{\n errors: { message: string; type: string }[];\n purchaseOrders: PurchaseOrderModel[];\n}> => {\n const uidArray = Array.isArray(uids) ? uids : [uids];\n\n if (!uidArray || uidArray.length === 0) {\n throw new Error('Purchase Order UID(s) are required');\n }\n\n if (uidArray.some((uid) => !uid || uid.trim() === '')) {\n throw new Error('All Purchase Order UIDs must be valid');\n }\n\n const input = {\n purchase_order_uids: uidArray,\n };\n\n return fetchGraphQl(REJECT_PURCHASE_ORDERS, {\n variables: { input },\n })\n .then((response: any) => {\n if (response.errors?.length) {\n handleFetchError(response.errors);\n }\n\n const data = response.data?.rejectPurchaseOrders;\n\n return {\n errors: (data?.errors ?? []).map((error: any) => ({\n message: error?.message ?? '',\n type: error?.type ?? '',\n })),\n purchaseOrders: (data?.purchase_orders ?? []).map(\n transformPurchaseOrder\n ),\n };\n })\n .catch(handleNetworkError);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { PURCHASE_ORDERS_FRAGMENT } from '@/b2b-purchase-order/api/fragments';\n\nexport const GET_PURCHASE_ORDERS = /* GraphQL */ `\n query GET_PURCHASE_ORDERS(\n $filter: PurchaseOrdersFilterInput\n $pageSize: Int\n $currentPage: Int\n ) {\n customer {\n purchase_orders(\n filter: $filter\n pageSize: $pageSize\n currentPage: $currentPage\n ) {\n total_count\n page_info {\n current_page\n page_size\n total_pages\n }\n items {\n ...PURCHASE_ORDERS_FRAGMENT\n }\n }\n }\n }\n ${PURCHASE_ORDERS_FRAGMENT}\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { fetchGraphQl } from '@/b2b-purchase-order/api/fetch-graphql';\nimport { handleNetworkError } from '@/b2b-purchase-order/lib/network-error';\nimport { handleFetchError } from '@/b2b-purchase-order/lib/fetch-error';\nimport { GET_PURCHASE_ORDERS } from '@/b2b-purchase-order/api/getPurchaseOrders/graphql/getPurchaseOrders.graphql';\nimport { transformPurchaseOrder } from '@/b2b-purchase-order/data/transforms/transform-purchase-order';\nimport { PurchaseOrderModel } from '@/b2b-purchase-order/data/models';\nimport { toSnakeCase } from '@/b2b-purchase-order/lib';\n\nexport const getPurchaseOrders = async (\n filter?: any,\n pageSize: number = 20,\n currentPage: number = 1\n): Promise<{\n totalCount: number;\n pageInfo: {\n currentPage: number;\n pageSize: number;\n totalPages: number;\n };\n purchaseOrderItems: PurchaseOrderModel[];\n}> => {\n return fetchGraphQl(GET_PURCHASE_ORDERS, {\n variables: {\n filter: toSnakeCase(filter),\n pageSize,\n currentPage,\n },\n })\n .then((response: any) => {\n if (response.errors?.length) {\n handleFetchError(response.errors);\n }\n\n if (!response.data?.customer?.purchase_orders) {\n throw new Error('Failed to get purchase orders');\n }\n\n const purchaseOrdersData = response?.data?.customer?.purchase_orders;\n const totalCount = purchaseOrdersData?.total_count ?? 0;\n const pageInfo = {\n currentPage: purchaseOrdersData?.page_info?.current_page ?? 1,\n pageSize: purchaseOrdersData?.page_info?.page_size ?? 20,\n totalPages: purchaseOrdersData?.page_info?.total_pages ?? 1,\n };\n\n return {\n totalCount,\n pageInfo,\n purchaseOrderItems: (purchaseOrdersData?.items || []).map(\n transformPurchaseOrder\n ),\n };\n })\n .catch(handleNetworkError);\n};\n"],"names":["PURCHASE_ORDERS_FRAGMENT","APPROVE_PURCHASE_ORDERS","transformPurchaseOrder","purchaseOrder","_a","_c","_b","event","_d","comment","_e","_f","_g","_h","log","_i","_j","_k","_n","_m","_l","_q","_p","_o","_t","_s","_r","item","approvePurchaseOrders","uids","uidArray","uid","fetchGraphQl","response","handleFetchError","data","error","order","handleNetworkError","REJECT_PURCHASE_ORDERS","rejectPurchaseOrders","GET_PURCHASE_ORDERS","getPurchaseOrders","filter","pageSize","currentPage","toSnakeCase","purchaseOrdersData","totalCount","pageInfo"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ /*! Copyright 2025 Adobe
2
+ All Rights Reserved. */
3
+ import{jsxs as h,Fragment as U,jsx as e}from"@dropins/tools/preact-jsx-runtime.js";import{InLineAlert as z,Table as A,Pagination as F,Picker as H,Card as I}from"@dropins/tools/components.js";import{classes as T}from"@dropins/tools/lib.js";import"@dropins/tools/event-bus.js";import"./FormLoader.js";import{useText as S,Text as u}from"@dropins/tools/i18n.js";const Q=a=>{try{return new URL(a,window.location.origin).origin===window.location.origin}catch{return a.startsWith("/")||a.startsWith("./")||a.startsWith("../")}},V=(a,r,t)=>{if(t<=0)return{from:0,to:0,total:0};const l=Math.max(1,Math.ceil(t/r)),c=Math.min(Math.max(a,1),l),i=(c-1)*r+1,n=Math.min(c*r,t);return{from:i,to:n,total:t}},X=({pageSizeConfig:a,totalCount:r=0,columns:t=[],rows:l=[],paginationConfig:c,alertMessageConfig:i={heading:"",description:"",type:"success"},loading:n=!1,className:p="",variant:N="secondary",skeletonRowCount:O=10,emptyTitle:w,header:m,footer:g,withWrapper:y})=>{var x;const M=S({title:"PurchaseOrders.purchaseOrdersTable.noPurchaseOrders.default"}),{heading:b,description:f,type:C}=i,{currentPage:v,totalPages:_,handlePageChange:k}=c,{pageSizeOptionsList:s,onChange:R}=a,d=s==null?void 0:s.find(o=>o.selected),W=d&&d.value!==void 0?Number(d.value):0,{from:j,to:D,total:L}=V(v,W,r),P=h(U,{children:[b||f?e(z,{heading:b,description:f,type:C}):null,m?e("div",{className:"purchase-orders-table__header",children:m}):null,e(A,{className:"purchase-orders-table__table-wrapper",mobileLayout:"stacked",columns:t,rowData:l,loading:n,skeletonRowCount:+O}),!n&&l.length===0&&e("div",{className:"purchase-orders-table__empty-state",role:"status","aria-live":"polite",children:e("p",{children:w||M.title})}),r>0?h("div",{className:"purchase-orders-table__pagination-wrapper",children:[e("div",{className:"purchase-orders-table__pagination-counter",children:e(u,{id:"PurchaseOrders.purchaseOrdersTable.pagination.status",fields:{from:j,to:D,total:L}})}),_>1&&e(F,{className:"purchase-orders-table__pagination",currentPage:v,totalPages:_,onChange:k}),r>0&&s.length?h("div",{className:"purchase-orders-table__pagination-page-size",children:[e(u,{id:"PurchaseOrders.purchaseOrdersTable.pagination.pageSizeLabel.start"}),e(H,{disabled:n,handleSelect:R,options:s,value:((x=s==null?void 0:s.find(o=>o.selected))==null?void 0:x.value)||""}),e(u,{id:"PurchaseOrders.purchaseOrdersTable.pagination.pageSizeLabel.end"})]}):null]}):null,g?e("div",{className:"purchase-orders-table__footer",children:g}):null]});return y?e(I,{variant:N,"data-testid":"purchaseOrdersTable",className:T(["b2b-purchase-order-purchase-orders-table",p]),children:P}):e("div",{"data-testid":"purchaseOrdersTable",className:T(["b2b-purchase-order-purchase-orders-table",p]),children:P})},Y=[{text:"10",value:"10",selected:!1},{text:"20",value:"20",selected:!0},{text:"30",value:"30",selected:!1},{text:"50",value:"50",selected:!1}];export{X as P,Y as d,Q as i};
4
+ //# sourceMappingURL=pageSize.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pageSize.config.js","sources":["/@dropins/storefront-purchase-order/src/lib/isValidUrl.ts","/@dropins/storefront-purchase-order/src/lib/getRange.ts","/@dropins/storefront-purchase-order/src/components/PurchaseOrdersTable/PurchaseOrdersTable.tsx","/@dropins/storefront-purchase-order/src/configs/pageSize.config.ts"],"sourcesContent":["export const isValidUrl = (url: string): boolean => {\n try {\n const parsed = new URL(url, window.location.origin);\n // Only allow relative paths or same-origin URLs\n return parsed.origin === window.location.origin;\n } catch {\n // If it's not a valid URL, check if it's a relative path\n return url.startsWith('/') || url.startsWith('./') || url.startsWith('../');\n }\n};\n","export const getRange = (\n currentPage: number,\n pageSize: number,\n total: number\n) => {\n if (total <= 0) return { from: 0, to: 0, total: 0 };\n const maxPage = Math.max(1, Math.ceil(total / pageSize));\n const p = Math.min(Math.max(currentPage, 1), maxPage);\n const from = (p - 1) * pageSize + 1;\n const to = Math.min(p * pageSize, total);\n\n return { from, to, total };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { FunctionComponent } from 'preact';\nimport {\n Table,\n Pagination,\n Card,\n Picker,\n InLineAlert,\n} from '@adobe-commerce/elsie/components';\nimport { classes } from '@adobe-commerce/elsie/lib';\nimport {\n PurchaseOrdersTableProps,\n TableColumn,\n} from '@/b2b-purchase-order/types/components';\nimport { Text, useText } from '@adobe-commerce/elsie/i18n';\nimport { getRange } from '@/b2b-purchase-order/lib';\nimport '@/b2b-purchase-order/components/PurchaseOrdersTable/PurchaseOrdersTable.css';\n\nexport const PurchaseOrdersTable: FunctionComponent<\n PurchaseOrdersTableProps\n> = ({\n pageSizeConfig,\n totalCount = 0,\n columns = [],\n rows = [],\n paginationConfig,\n alertMessageConfig = {\n heading: '',\n description: '',\n type: 'success',\n },\n loading = false,\n className = '',\n variant = 'secondary',\n skeletonRowCount = 10,\n emptyTitle,\n header,\n footer,\n withWrapper,\n}) => {\n const t = useText({\n title: 'PurchaseOrders.purchaseOrdersTable.noPurchaseOrders.default',\n });\n\n const {\n heading: alertMessageHeading,\n description: alertMessageDescription,\n type: alertMessageType,\n } = alertMessageConfig;\n\n const { currentPage, totalPages, handlePageChange } = paginationConfig;\n const { pageSizeOptionsList, onChange } = pageSizeConfig;\n\n // Extract pageSize value safely\n const selectedPageSizeOption = pageSizeOptionsList?.find(\n (option) => option.selected\n );\n const pageSize =\n selectedPageSizeOption && selectedPageSizeOption.value !== undefined\n ? Number(selectedPageSizeOption.value)\n : 0;\n const { from, to, total } = getRange(currentPage, pageSize, totalCount);\n\n const content = (\n <>\n {alertMessageHeading || alertMessageDescription ? (\n <InLineAlert\n heading={alertMessageHeading}\n description={alertMessageDescription}\n type={alertMessageType}\n />\n ) : null}\n\n {header ? (\n <div className=\"purchase-orders-table__header\">{header}</div>\n ) : null}\n\n <Table\n className=\"purchase-orders-table__table-wrapper\"\n mobileLayout=\"stacked\"\n columns={columns as TableColumn[]}\n rowData={rows}\n loading={loading}\n skeletonRowCount={+skeletonRowCount}\n />\n {!loading && rows.length === 0 && (\n <div\n className=\"purchase-orders-table__empty-state\"\n role=\"status\"\n aria-live=\"polite\"\n >\n <p>{emptyTitle || t.title}</p>\n </div>\n )}\n\n {totalCount > 0 ? (\n <div className=\"purchase-orders-table__pagination-wrapper\">\n <div className=\"purchase-orders-table__pagination-counter\">\n <Text\n id=\"PurchaseOrders.purchaseOrdersTable.pagination.status\"\n fields={{\n from,\n to,\n total,\n }}\n />\n </div>\n {totalPages > 1 && (\n <Pagination\n className=\"purchase-orders-table__pagination\"\n currentPage={currentPage}\n totalPages={totalPages}\n onChange={handlePageChange}\n />\n )}\n {totalCount > 0 && pageSizeOptionsList.length ? (\n <div className=\"purchase-orders-table__pagination-page-size\">\n <Text id=\"PurchaseOrders.purchaseOrdersTable.pagination.pageSizeLabel.start\" />\n <Picker\n disabled={loading}\n handleSelect={onChange}\n options={pageSizeOptionsList}\n value={\n pageSizeOptionsList?.find((option) => option.selected)\n ?.value || ''\n }\n />\n <Text id=\"PurchaseOrders.purchaseOrdersTable.pagination.pageSizeLabel.end\" />\n </div>\n ) : null}\n </div>\n ) : null}\n\n {footer ? (\n <div className=\"purchase-orders-table__footer\">{footer}</div>\n ) : null}\n </>\n );\n\n if (!withWrapper) {\n return (\n <div\n data-testid=\"purchaseOrdersTable\"\n className={classes([\n 'b2b-purchase-order-purchase-orders-table',\n className,\n ])}\n >\n {content}\n </div>\n );\n }\n\n return (\n <Card\n variant={variant}\n data-testid=\"purchaseOrdersTable\"\n className={classes([\n 'b2b-purchase-order-purchase-orders-table',\n className,\n ])}\n >\n {content}\n </Card>\n );\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const defaultPageSizeConfig = [\n {\n text: '10',\n value: '10',\n selected: false,\n },\n {\n text: '20',\n value: '20',\n selected: true,\n },\n {\n text: '30',\n value: '30',\n selected: false,\n },\n {\n text: '50',\n value: '50',\n selected: false,\n },\n];\n"],"names":["isValidUrl","url","getRange","currentPage","pageSize","total","maxPage","p","from","to","PurchaseOrdersTable","pageSizeConfig","totalCount","columns","rows","paginationConfig","alertMessageConfig","loading","className","variant","skeletonRowCount","emptyTitle","header","footer","withWrapper","t","useText","alertMessageHeading","alertMessageDescription","alertMessageType","totalPages","handlePageChange","pageSizeOptionsList","onChange","selectedPageSizeOption","option","content","jsxs","Fragment","jsx","InLineAlert","Table","Text","Pagination","Picker","_a","Card","classes","defaultPageSizeConfig"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ /*! Copyright 2025 Adobe
2
+ All Rights Reserved. */
3
+ const x=t=>{const s=_=>({id:(_==null?void 0:_.id)||"",name:(_==null?void 0:_.name)||"",usersCount:(_==null?void 0:_.users_count)||0,permissions:((_==null?void 0:_.permissions)||[]).map(y=>({id:(y==null?void 0:y.id)||"",sortOrder:(y==null?void 0:y.sort_order)||0,text:(y==null?void 0:y.text)||""}))}),f=_=>{var y,b;return{attribute:_==null?void 0:_.attribute,operator:_==null?void 0:_.operator,quantity:(_==null?void 0:_.quantity)||0,amount:{currency:((y=_==null?void 0:_.amount)==null?void 0:y.currency)||"USD",value:((b=_==null?void 0:_.amount)==null?void 0:b.value)||0}}};return{uid:(t==null?void 0:t.uid)||"",name:(t==null?void 0:t.name)||"",description:(t==null?void 0:t.description)||"",status:t==null?void 0:t.status,createdAt:(t==null?void 0:t.created_at)||"",updatedAt:(t==null?void 0:t.updated_at)||"",createdBy:t==null?void 0:t.created_by,appliesToRoles:((t==null?void 0:t.applies_to_roles)||[]).map(s),approverRoles:((t==null?void 0:t.approver_roles)||[]).map(s),condition:f((t==null?void 0:t.condition)||{})}};export{x as t};
4
+ //# sourceMappingURL=transform-purchase-order-approval-rule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform-purchase-order-approval-rule.js","sources":["/@dropins/storefront-purchase-order/src/data/transforms/transform-purchase-order-approval-rule.ts"],"sourcesContent":["import { PurchaseOrderApprovalRuleModel } from '../models/purchase-order-approval-rule-model';\n\nexport const transformPurchaseOrderApprovalRule = (\n approvalRule: any\n): PurchaseOrderApprovalRuleModel => {\n // Transform company role helper function\n const transformCompanyRole = (role: any) => ({\n id: role?.id || '',\n name: role?.name || '',\n usersCount: role?.users_count || 0,\n permissions: (role?.permissions || []).map((permission: any) => ({\n id: permission?.id || '',\n sortOrder: permission?.sort_order || 0,\n text: permission?.text || '',\n })),\n });\n\n // Transform condition helper function\n const transformCondition = (condition: any) => ({\n attribute: condition?.attribute,\n operator: condition?.operator,\n quantity: condition?.quantity || 0,\n amount: {\n currency: condition?.amount?.currency || 'USD',\n value: condition?.amount?.value || 0,\n },\n });\n\n return {\n uid: approvalRule?.uid || '',\n name: approvalRule?.name || '',\n description: approvalRule?.description || '',\n status: approvalRule?.status,\n createdAt: approvalRule?.created_at || '',\n updatedAt: approvalRule?.updated_at || '',\n createdBy: approvalRule?.created_by,\n appliesToRoles: (approvalRule?.applies_to_roles || []).map(\n transformCompanyRole\n ),\n approverRoles: (approvalRule?.approver_roles || []).map(\n transformCompanyRole\n ),\n condition: transformCondition(approvalRule?.condition || {}),\n };\n};\n"],"names":["transformPurchaseOrderApprovalRule","approvalRule","transformCompanyRole","role","permission","transformCondition","condition","_a","_b"],"mappings":"AAEO,MAAMA,EACXC,GACmC,CAEnC,MAAMC,EAAwBC,IAAe,CAC3C,IAAIA,GAAA,YAAAA,EAAM,KAAM,GAChB,MAAMA,GAAA,YAAAA,EAAM,OAAQ,GACpB,YAAYA,GAAA,YAAAA,EAAM,cAAe,EACjC,cAAcA,GAAA,YAAAA,EAAM,cAAe,CAAA,GAAI,IAAKC,IAAqB,CAC/D,IAAIA,GAAA,YAAAA,EAAY,KAAM,GACtB,WAAWA,GAAA,YAAAA,EAAY,aAAc,EACrC,MAAMA,GAAA,YAAAA,EAAY,OAAQ,EAAA,EAC1B,CAAA,GAIEC,EAAsBC,GAAA,CAhBvB,IAAAC,EAAAC,EAgB2C,OAC9C,UAAWF,GAAA,YAAAA,EAAW,UACtB,SAAUA,GAAA,YAAAA,EAAW,SACrB,UAAUA,GAAA,YAAAA,EAAW,WAAY,EACjC,OAAQ,CACN,WAAUC,EAAAD,GAAA,YAAAA,EAAW,SAAX,YAAAC,EAAmB,WAAY,MACzC,QAAOC,EAAAF,GAAA,YAAAA,EAAW,SAAX,YAAAE,EAAmB,QAAS,CAAA,CACrC,GAGF,MAAO,CACL,KAAKP,GAAA,YAAAA,EAAc,MAAO,GAC1B,MAAMA,GAAA,YAAAA,EAAc,OAAQ,GAC5B,aAAaA,GAAA,YAAAA,EAAc,cAAe,GAC1C,OAAQA,GAAA,YAAAA,EAAc,OACtB,WAAWA,GAAA,YAAAA,EAAc,aAAc,GACvC,WAAWA,GAAA,YAAAA,EAAc,aAAc,GACvC,UAAWA,GAAA,YAAAA,EAAc,WACzB,iBAAiBA,GAAA,YAAAA,EAAc,mBAAoB,CAAA,GAAI,IACrDC,CAAA,EAEF,gBAAgBD,GAAA,YAAAA,EAAc,iBAAkB,CAAA,GAAI,IAClDC,CAAA,EAEF,UAAWG,GAAmBJ,GAAA,YAAAA,EAAc,YAAa,CAAA,CAAE,CAAA,CAE/D"}
@@ -1,4 +1,4 @@
1
1
  /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
- import{jsxs as p,Fragment as j,jsx as s}from"@dropins/tools/preact-jsx-runtime.js";import{InLineAlert as H,Table as U,Pagination as V,Picker as W,Card as B,Header as L}from"@dropins/tools/components.js";import{classes as y}from"@dropins/tools/lib.js";import{events as w}from"@dropins/tools/event-bus.js";/* empty css */import{useText as z,Text as h}from"@dropins/tools/i18n.js";import{useState as I,useEffect as q,useMemo as G}from"@dropins/tools/preact-hooks.js";const se=e=>{try{return new URL(e,window.location.origin).origin===window.location.origin}catch{return e.startsWith("/")||e.startsWith("./")||e.startsWith("../")}},J=(e,a,r)=>{if(r<=0)return{from:0,to:0,total:0};const o=Math.max(1,Math.ceil(r/a)),i=Math.min(Math.max(e,1),o),l=(i-1)*a+1,t=Math.min(i*a,r);return{from:l,to:t,total:r}},te=({pageSizeConfig:e,totalCount:a=0,columns:r=[],rows:o=[],paginationConfig:i,alertMessageConfig:l={heading:"",description:"",type:"success"},loading:t=!1,className:c="",variant:M="secondary",skeletonRowCount:x=10,emptyTitle:A,header:m,footer:b,withWrapper:k})=>{var O;const C=z({title:"PurchaseOrders.purchaseOrdersTable.noPurchaseOrders.default"}),{heading:f,description:v,type:N}=l,{currentPage:P,totalPages:g,handlePageChange:T}=i,{pageSizeOptionsList:n,onChange:R}=e,d=n==null?void 0:n.find(u=>u.selected),D=d&&d.value!==void 0?Number(d.value):0,{from:E,to:F,total:S}=J(P,D,a),_=p(j,{children:[f||v?s(H,{heading:f,description:v,type:N}):null,m?s("div",{className:"purchase-orders-table__header",children:m}):null,s(U,{className:"purchase-orders-table__table-wrapper",mobileLayout:"stacked",columns:r,rowData:o,loading:t,skeletonRowCount:+x}),!t&&o.length===0&&s("div",{className:"purchase-orders-table__empty-state",role:"status","aria-live":"polite",children:s("p",{children:A||C.title})}),a>0?p("div",{className:"purchase-orders-table__pagination-wrapper",children:[s("div",{className:"purchase-orders-table__pagination-counter",children:s(h,{id:"PurchaseOrders.purchaseOrdersTable.pagination.status",fields:{from:E,to:F,total:S}})}),g>1&&s(V,{className:"purchase-orders-table__pagination",currentPage:P,totalPages:g,onChange:T}),a>0&&n.length?p("div",{className:"purchase-orders-table__pagination-page-size",children:[s(h,{id:"PurchaseOrders.purchaseOrdersTable.pagination.pageSizeLabel.start"}),s(W,{disabled:t,handleSelect:R,options:n,value:((O=n==null?void 0:n.find(u=>u.selected))==null?void 0:O.value)||""}),s(h,{id:"PurchaseOrders.purchaseOrdersTable.pagination.pageSizeLabel.end"})]}):null]}):null,b?s("div",{className:"purchase-orders-table__footer",children:b}):null]});return k?s(B,{variant:M,"data-testid":"purchaseOrdersTable",className:y(["b2b-purchase-order-purchase-orders-table",c]),children:_}):s("div",{"data-testid":"purchaseOrdersTable",className:y(["b2b-purchase-order-purchase-orders-table",c]),children:_})},oe=({headerText:e})=>s(L,{title:e,divider:!1,className:"purchase-orders-header","data-testid":"purchase-orders-header"}),le=[{text:"10",value:"10",selected:!1},{text:"20",value:"20",selected:!0},{text:"30",value:"30",selected:!1},{text:"50",value:"50",selected:!1}],K=[{key:"action",label:"Action"},{key:"poNumber",label:"PO #"},{key:"orderNumber",label:"Order #"},{key:"status",label:"Status"},{key:"createdBy",label:"Created By"},{key:"total",label:"Total"},{key:"createdDate",label:"Created"},{key:"updatedDate",label:"Updated"}],ne=[{key:"checkboxView",label:""},...K],Q=e=>{if(!e)return{isAdmin:!1,purchaseOrderEnabled:!1,role:{id:"",name:""},permissions:{purchaseOrderAll:!1,viewPurchaseOrders:!1,viewPurchaseOrdersForSubordinates:!1,viewPurchaseOrdersForCompany:!1,autoApprovePurchaseOrder:!1,superApprovePurchaseOrder:!1,viewApprovalRules:!1,manageApprovalRules:!1}};const a=e.admin===!0,r=t=>{const c=e[t];return c===!1?!1:c===!0?!0:a},o={purchaseOrderAll:r("Magento_PurchaseOrder::all"),viewPurchaseOrders:r("Magento_PurchaseOrder::view_purchase_orders"),viewPurchaseOrdersForSubordinates:r("Magento_PurchaseOrder::view_purchase_orders_for_subordinates"),viewPurchaseOrdersForCompany:r("Magento_PurchaseOrder::view_purchase_orders_for_company"),autoApprovePurchaseOrder:r("Magento_PurchaseOrder::autoapprove_purchase_order"),superApprovePurchaseOrder:r("Magento_PurchaseOrderRule::super_approve_purchase_order"),viewApprovalRules:r("Magento_PurchaseOrderRule::view_approval_rules"),manageApprovalRules:r("Magento_PurchaseOrderRule::manage_approval_rules")},l=Object.values(e).some(t=>t===!1)?!1:Object.values(o).some(t=>t===!0);return{isAdmin:a,purchaseOrderEnabled:l,role:{id:"",name:a?"Company Administrator":""},permissions:o}},ie=()=>{const e=w.lastPayload("auth/permissions"),[a,r]=I(e);q(()=>{const l=w.on("auth/permissions",t=>{r(t)},{eager:!0});return()=>{l==null||l.off()}},[]);const o=!a;return{permissions:G(()=>Q(a),[a]),loadingPermissions:o}};export{oe as P,te as a,ne as b,K as c,le as d,se as i,ie as u};
3
+ import{useState as l,useEffect as p,useMemo as c}from"@dropins/tools/preact-hooks.js";import{events as i}from"@dropins/tools/event-bus.js";const d=a=>{if(!a)return{isAdmin:!1,purchaseOrderEnabled:!1,role:{id:"",name:""},permissions:{purchaseOrderAll:!1,viewPurchaseOrders:!1,viewPurchaseOrdersForSubordinates:!1,viewPurchaseOrdersForCompany:!1,autoApprovePurchaseOrder:!1,superApprovePurchaseOrder:!1,viewApprovalRules:!1,manageApprovalRules:!1}};const r=a.admin===!0,e=s=>{const n=a[s];return n===!1?!1:n===!0?!0:r},u={purchaseOrderAll:e("Magento_PurchaseOrder::all"),viewPurchaseOrders:e("Magento_PurchaseOrder::view_purchase_orders"),viewPurchaseOrdersForSubordinates:e("Magento_PurchaseOrder::view_purchase_orders_for_subordinates"),viewPurchaseOrdersForCompany:e("Magento_PurchaseOrder::view_purchase_orders_for_company"),autoApprovePurchaseOrder:e("Magento_PurchaseOrder::autoapprove_purchase_order"),superApprovePurchaseOrder:e("Magento_PurchaseOrderRule::super_approve_purchase_order"),viewApprovalRules:e("Magento_PurchaseOrderRule::view_approval_rules"),manageApprovalRules:e("Magento_PurchaseOrderRule::manage_approval_rules")},o=Object.values(a).some(s=>s===!1)?!1:Object.values(u).some(s=>s===!0);return{isAdmin:r,purchaseOrderEnabled:o,role:{id:"",name:r?"Company Administrator":""},permissions:u}},v=()=>{const a=i.lastPayload("auth/permissions"),[r,e]=l(a);p(()=>{const o=i.on("auth/permissions",s=>{e(s)},{eager:!0});return()=>{o==null||o.off()}},[]);const u=!r;return{permissions:c(()=>d(r),[r]),loadingPermissions:u}};export{v as u};
4
4
  //# sourceMappingURL=useCustomerRolePermissions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useCustomerRolePermissions.js","sources":["/@dropins/storefront-purchase-order/src/lib/isValidUrl.ts","/@dropins/storefront-purchase-order/src/lib/getRange.ts","/@dropins/storefront-purchase-order/src/components/PurchaseOrdersTable/PurchaseOrdersTable.tsx","/@dropins/storefront-purchase-order/src/components/PurchaseOrdersHeader/PurchaseOrdersHeader.tsx","/@dropins/storefront-purchase-order/src/configs/pageSize.config.ts","/@dropins/storefront-purchase-order/src/configs/customerPurchaseOrders.config.ts","/@dropins/storefront-purchase-order/src/configs/companyPurchaseOrders.config.ts","/@dropins/storefront-purchase-order/src/data/transforms/transform-customer-role-permissions.ts","/@dropins/storefront-purchase-order/src/hooks/useCustomerRolePermissions.tsx"],"sourcesContent":["export const isValidUrl = (url: string): boolean => {\n try {\n const parsed = new URL(url, window.location.origin);\n // Only allow relative paths or same-origin URLs\n return parsed.origin === window.location.origin;\n } catch {\n // If it's not a valid URL, check if it's a relative path\n return url.startsWith('/') || url.startsWith('./') || url.startsWith('../');\n }\n};\n","export const getRange = (\n currentPage: number,\n pageSize: number,\n total: number\n) => {\n if (total <= 0) return { from: 0, to: 0, total: 0 };\n const maxPage = Math.max(1, Math.ceil(total / pageSize));\n const p = Math.min(Math.max(currentPage, 1), maxPage);\n const from = (p - 1) * pageSize + 1;\n const to = Math.min(p * pageSize, total);\n\n return { from, to, total };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { FunctionComponent } from 'preact';\nimport {\n Table,\n Pagination,\n Card,\n Picker,\n InLineAlert,\n} from '@adobe-commerce/elsie/components';\nimport { classes } from '@adobe-commerce/elsie/lib';\nimport { PurchaseOrdersTableProps, TableColumn } from '@/b2b-purchase-order/types/components';\nimport { Text, useText } from '@adobe-commerce/elsie/i18n';\nimport { getRange } from '@/b2b-purchase-order/lib';\nimport '@/b2b-purchase-order/components/PurchaseOrdersTable/PurchaseOrdersTable.css';\n\nexport const PurchaseOrdersTable: FunctionComponent<\n PurchaseOrdersTableProps\n> = ({\n pageSizeConfig,\n totalCount = 0,\n columns = [],\n rows = [],\n paginationConfig,\n alertMessageConfig = {\n heading: '',\n description: '',\n type: 'success',\n },\n loading = false,\n className = '',\n variant = 'secondary',\n skeletonRowCount = 10,\n emptyTitle,\n header,\n footer,\n withWrapper,\n}) => {\n const t = useText({\n title: 'PurchaseOrders.purchaseOrdersTable.noPurchaseOrders.default',\n });\n\n const {\n heading: alertMessageHeading,\n description: alertMessageDescription,\n type: alertMessageType,\n } = alertMessageConfig;\n\n const { currentPage, totalPages, handlePageChange } = paginationConfig;\n const { pageSizeOptionsList, onChange } = pageSizeConfig;\n\n // Extract pageSize value safely\n const selectedPageSizeOption = pageSizeOptionsList?.find(\n (option) => option.selected\n );\n const pageSize =\n selectedPageSizeOption && selectedPageSizeOption.value !== undefined\n ? Number(selectedPageSizeOption.value)\n : 0;\n const { from, to, total } = getRange(currentPage, pageSize, totalCount);\n\n const content = (\n <>\n {alertMessageHeading || alertMessageDescription ? (\n <InLineAlert\n heading={alertMessageHeading}\n description={alertMessageDescription}\n type={alertMessageType}\n />\n ) : null}\n\n {header ? (\n <div className=\"purchase-orders-table__header\">{header}</div>\n ) : null}\n\n <Table\n className=\"purchase-orders-table__table-wrapper\"\n mobileLayout=\"stacked\"\n columns={columns as TableColumn[]}\n rowData={rows}\n loading={loading}\n skeletonRowCount={+skeletonRowCount}\n />\n {!loading && rows.length === 0 && (\n <div\n className=\"purchase-orders-table__empty-state\"\n role=\"status\"\n aria-live=\"polite\"\n >\n <p>{emptyTitle || t.title}</p>\n </div>\n )}\n\n {totalCount > 0 ? (\n <div className=\"purchase-orders-table__pagination-wrapper\">\n <div className=\"purchase-orders-table__pagination-counter\">\n <Text\n id=\"PurchaseOrders.purchaseOrdersTable.pagination.status\"\n fields={{\n from,\n to,\n total,\n }}\n />\n </div>\n {totalPages > 1 && (\n <Pagination\n className=\"purchase-orders-table__pagination\"\n currentPage={currentPage}\n totalPages={totalPages}\n onChange={handlePageChange}\n />\n )}\n {totalCount > 0 && pageSizeOptionsList.length ? (\n <div className=\"purchase-orders-table__pagination-page-size\">\n <Text id=\"PurchaseOrders.purchaseOrdersTable.pagination.pageSizeLabel.start\" />\n <Picker\n disabled={loading}\n handleSelect={onChange}\n options={pageSizeOptionsList}\n value={\n pageSizeOptionsList?.find((option) => option.selected)\n ?.value || ''\n }\n />\n <Text id=\"PurchaseOrders.purchaseOrdersTable.pagination.pageSizeLabel.end\" />\n </div>\n ) : null}\n </div>\n ) : null}\n\n {footer ? (\n <div className=\"purchase-orders-table__footer\">{footer}</div>\n ) : null}\n </>\n );\n\n if (!withWrapper) {\n return (\n <div\n data-testid=\"purchaseOrdersTable\"\n className={classes([\n 'b2b-purchase-order-purchase-orders-table',\n className,\n ])}\n >\n {content}\n </div>\n );\n }\n\n return (\n <Card\n variant={variant}\n data-testid=\"purchaseOrdersTable\"\n className={classes([\n 'b2b-purchase-order-purchase-orders-table',\n className,\n ])}\n >\n {content}\n </Card>\n );\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { Header } from '@adobe-commerce/elsie/components';\nimport { FunctionComponent } from 'preact';\nimport '@/b2b-purchase-order/components/PurchaseOrdersHeader/PurchaseOrdersHeader.css';\n\nexport const PurchaseOrdersHeader: FunctionComponent<{\n headerText: string;\n}> = ({ headerText }) => {\n return (\n <Header\n title={headerText}\n divider={false}\n className={'purchase-orders-header'}\n data-testid=\"purchase-orders-header\"\n />\n );\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const defaultPageSizeConfig = [\n {\n text: '10',\n value: '10',\n selected: false,\n },\n {\n text: '20',\n value: '20',\n selected: true,\n },\n {\n text: '30',\n value: '30',\n selected: false,\n },\n {\n text: '50',\n value: '50',\n selected: false,\n },\n];\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { Column } from '@/b2b-purchase-order/types/components';\n\nexport const defaultColumns: Column[] = [\n { key: 'action', label: 'Action' },\n { key: 'poNumber', label: 'PO #' },\n { key: 'orderNumber', label: 'Order #' },\n { key: 'status', label: 'Status' },\n {\n key: 'createdBy',\n label: 'Created By',\n },\n { key: 'total', label: 'Total' },\n { key: 'createdDate', label: 'Created' },\n { key: 'updatedDate', label: 'Updated' },\n];\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { Column } from '@/b2b-purchase-order/types/components';\nimport { defaultColumns } from '@/b2b-purchase-order/configs/customerPurchaseOrders.config';\n\nexport const defaultCompanyColumns: Column[] = [\n {\n key: 'checkboxView',\n label: '',\n },\n ...defaultColumns,\n];\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { CustomerRolePermissionsModel } from '@/b2b-purchase-order/data/models/customer-role-permissions-model';\n\ntype PermissionsPayload = {\n admin?: boolean;\n [key: string]: boolean | undefined;\n};\n\n/**\n * Transforms flat permissions object from auth/permissions event into CustomerRolePermissionsModel\n *\n * Permission Logic:\n * - true: Permission granted\n * - false: Permission disabled (overrides admin privileges - indicates PO feature is disabled)\n * - Default: Admins get access, regular users don't\n *\n * @param permissionsData - Flat object with permission keys and admin flag\n * @returns CustomerRolePermissionsModel\n */\nexport const transformPermissions = (\n permissionsData: PermissionsPayload | null | undefined\n): CustomerRolePermissionsModel => {\n // Fallback for edge cases\n if (!permissionsData) {\n return {\n isAdmin: false,\n purchaseOrderEnabled: false,\n role: { id: '', name: '' },\n permissions: {\n purchaseOrderAll: false,\n viewPurchaseOrders: false,\n viewPurchaseOrdersForSubordinates: false,\n viewPurchaseOrdersForCompany: false,\n autoApprovePurchaseOrder: false,\n superApprovePurchaseOrder: false,\n viewApprovalRules: false,\n manageApprovalRules: false,\n },\n };\n }\n\n const isAdmin = permissionsData.admin === true;\n\n /**\n * Check if permission is granted\n * - false: Overrides admin (PO disabled)\n * - true: Permission granted\n * - Default: Use admin status\n */\n const hasPermission = (key: string): boolean => {\n const permissionValue = permissionsData[key];\n\n if (permissionValue === false) {\n return false;\n }\n\n if (permissionValue === true) {\n return true;\n }\n\n return isAdmin;\n };\n\n const permissions = {\n purchaseOrderAll: hasPermission('Magento_PurchaseOrder::all'),\n viewPurchaseOrders: hasPermission(\n 'Magento_PurchaseOrder::view_purchase_orders'\n ),\n viewPurchaseOrdersForSubordinates: hasPermission(\n 'Magento_PurchaseOrder::view_purchase_orders_for_subordinates'\n ),\n viewPurchaseOrdersForCompany: hasPermission(\n 'Magento_PurchaseOrder::view_purchase_orders_for_company'\n ),\n autoApprovePurchaseOrder: hasPermission(\n 'Magento_PurchaseOrder::autoapprove_purchase_order'\n ),\n superApprovePurchaseOrder: hasPermission(\n 'Magento_PurchaseOrderRule::super_approve_purchase_order'\n ),\n viewApprovalRules: hasPermission(\n 'Magento_PurchaseOrderRule::view_approval_rules'\n ),\n manageApprovalRules: hasPermission(\n 'Magento_PurchaseOrderRule::manage_approval_rules'\n ),\n };\n\n // Purchase orders are disabled if ANY permission in the payload is explicitly set to false\n // Otherwise enabled if user has at least one permission\n const hasExplicitlyDisabledPermission = Object.values(permissionsData).some(\n (value) => value === false\n );\n const purchaseOrderEnabled = hasExplicitlyDisabledPermission\n ? false\n : Object.values(permissions).some((permission) => permission === true);\n\n return {\n isAdmin,\n purchaseOrderEnabled,\n role: {\n id: '',\n name: isAdmin ? 'Company Administrator' : '',\n },\n permissions,\n };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { useMemo, useState, useEffect } from 'preact/hooks';\nimport { events } from '@adobe-commerce/event-bus';\nimport { transformPermissions } from '@/b2b-purchase-order/data/transforms/transform-customer-role-permissions';\nimport { CustomerRolePermissionsModel } from '@/b2b-purchase-order/data/models';\n\n/**\n * Hook to consume customer role permissions from the auth/permissions event\n *\n * Initializes with last payload and subscribes to real-time updates.\n * Transforms permissions data where:\n * - true: Permission granted\n * - false: Permission disabled (overrides admin - PO feature disabled)\n * - Default: Admins get access, regular users don't\n *\n * @returns {permissions: CustomerRolePermissionsModel, loadingPermissions: boolean}\n */\nexport const useCustomerRolePermissions = (): {\n permissions: CustomerRolePermissionsModel;\n loadingPermissions: boolean;\n} => {\n // Initialize with the last payload from the auth/permissions event\n const initialPermissionsData = events.lastPayload('auth/permissions');\n\n // State to hold permissions data, updated when event is triggered\n const [permissionsData, setPermissionsData] = useState(\n initialPermissionsData\n );\n\n // Subscribe to auth/permissions event for real-time updates\n useEffect(() => {\n const subscription = events.on(\n 'auth/permissions',\n (payload) => {\n setPermissionsData(payload);\n },\n { eager: true }\n );\n\n // Cleanup subscription on unmount\n return () => {\n subscription?.off();\n };\n }, []);\n\n // We're loading if we don't have permissions data from the event yet\n const loadingPermissions = !permissionsData;\n\n // Transform and memoize the permissions data\n const permissions = useMemo(() => {\n return transformPermissions(permissionsData);\n }, [permissionsData]);\n\n return {\n permissions,\n loadingPermissions,\n };\n};\n"],"names":["isValidUrl","url","getRange","currentPage","pageSize","total","maxPage","p","from","to","PurchaseOrdersTable","pageSizeConfig","totalCount","columns","rows","paginationConfig","alertMessageConfig","loading","className","variant","skeletonRowCount","emptyTitle","header","footer","withWrapper","t","useText","alertMessageHeading","alertMessageDescription","alertMessageType","totalPages","handlePageChange","pageSizeOptionsList","onChange","selectedPageSizeOption","option","content","jsxs","Fragment","jsx","InLineAlert","Table","Text","Pagination","Picker","_a","Card","classes","PurchaseOrdersHeader","headerText","Header","defaultPageSizeConfig","defaultColumns","defaultCompanyColumns","transformPermissions","permissionsData","isAdmin","hasPermission","key","permissionValue","permissions","purchaseOrderEnabled","value","permission","useCustomerRolePermissions","initialPermissionsData","events","setPermissionsData","useState","useEffect","subscription","payload","loadingPermissions","useMemo"],"mappings":"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"}
1
+ {"version":3,"file":"useCustomerRolePermissions.js","sources":["/@dropins/storefront-purchase-order/src/data/transforms/transform-customer-role-permissions.ts","/@dropins/storefront-purchase-order/src/hooks/useCustomerRolePermissions.tsx"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { CustomerRolePermissionsModel } from '@/b2b-purchase-order/data/models/customer-role-permissions-model';\n\ntype PermissionsPayload = {\n admin?: boolean;\n [key: string]: boolean | undefined;\n};\n\n/**\n * Transforms flat permissions object from auth/permissions event into CustomerRolePermissionsModel\n *\n * Permission Logic:\n * - true: Permission granted\n * - false: Permission disabled (overrides admin privileges - indicates PO feature is disabled)\n * - Default: Admins get access, regular users don't\n *\n * @param permissionsData - Flat object with permission keys and admin flag\n * @returns CustomerRolePermissionsModel\n */\nexport const transformPermissions = (\n permissionsData: PermissionsPayload | null | undefined\n): CustomerRolePermissionsModel => {\n // Fallback for edge cases\n if (!permissionsData) {\n return {\n isAdmin: false,\n purchaseOrderEnabled: false,\n role: { id: '', name: '' },\n permissions: {\n purchaseOrderAll: false,\n viewPurchaseOrders: false,\n viewPurchaseOrdersForSubordinates: false,\n viewPurchaseOrdersForCompany: false,\n autoApprovePurchaseOrder: false,\n superApprovePurchaseOrder: false,\n viewApprovalRules: false,\n manageApprovalRules: false,\n },\n };\n }\n\n const isAdmin = permissionsData.admin === true;\n\n /**\n * Check if permission is granted\n * - false: Overrides admin (PO disabled)\n * - true: Permission granted\n * - Default: Use admin status\n */\n const hasPermission = (key: string): boolean => {\n const permissionValue = permissionsData[key];\n\n if (permissionValue === false) {\n return false;\n }\n\n if (permissionValue === true) {\n return true;\n }\n\n return isAdmin;\n };\n\n const permissions = {\n purchaseOrderAll: hasPermission('Magento_PurchaseOrder::all'),\n viewPurchaseOrders: hasPermission(\n 'Magento_PurchaseOrder::view_purchase_orders'\n ),\n viewPurchaseOrdersForSubordinates: hasPermission(\n 'Magento_PurchaseOrder::view_purchase_orders_for_subordinates'\n ),\n viewPurchaseOrdersForCompany: hasPermission(\n 'Magento_PurchaseOrder::view_purchase_orders_for_company'\n ),\n autoApprovePurchaseOrder: hasPermission(\n 'Magento_PurchaseOrder::autoapprove_purchase_order'\n ),\n superApprovePurchaseOrder: hasPermission(\n 'Magento_PurchaseOrderRule::super_approve_purchase_order'\n ),\n viewApprovalRules: hasPermission(\n 'Magento_PurchaseOrderRule::view_approval_rules'\n ),\n manageApprovalRules: hasPermission(\n 'Magento_PurchaseOrderRule::manage_approval_rules'\n ),\n };\n\n // Purchase orders are disabled if ANY permission in the payload is explicitly set to false\n // Otherwise enabled if user has at least one permission\n const hasExplicitlyDisabledPermission = Object.values(permissionsData).some(\n (value) => value === false\n );\n const purchaseOrderEnabled = hasExplicitlyDisabledPermission\n ? false\n : Object.values(permissions).some((permission) => permission === true);\n\n return {\n isAdmin,\n purchaseOrderEnabled,\n role: {\n id: '',\n name: isAdmin ? 'Company Administrator' : '',\n },\n permissions,\n };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { useMemo, useState, useEffect } from 'preact/hooks';\nimport { events } from '@adobe-commerce/event-bus';\nimport { transformPermissions } from '@/b2b-purchase-order/data/transforms/transform-customer-role-permissions';\nimport { CustomerRolePermissionsModel } from '@/b2b-purchase-order/data/models';\n\n/**\n * Hook to consume customer role permissions from the auth/permissions event\n *\n * Initializes with last payload and subscribes to real-time updates.\n * Transforms permissions data where:\n * - true: Permission granted\n * - false: Permission disabled (overrides admin - PO feature disabled)\n * - Default: Admins get access, regular users don't\n *\n * @returns {permissions: CustomerRolePermissionsModel, loadingPermissions: boolean}\n */\nexport const useCustomerRolePermissions = (): {\n permissions: CustomerRolePermissionsModel;\n loadingPermissions: boolean;\n} => {\n // Initialize with the last payload from the auth/permissions event\n const initialPermissionsData = events.lastPayload('auth/permissions');\n\n // State to hold permissions data, updated when event is triggered\n const [permissionsData, setPermissionsData] = useState(\n initialPermissionsData\n );\n\n // Subscribe to auth/permissions event for real-time updates\n useEffect(() => {\n const subscription = events.on(\n 'auth/permissions',\n (payload) => {\n setPermissionsData(payload);\n },\n { eager: true }\n );\n\n // Cleanup subscription on unmount\n return () => {\n subscription?.off();\n };\n }, []);\n\n // We're loading if we don't have permissions data from the event yet\n const loadingPermissions = !permissionsData;\n\n // Transform and memoize the permissions data\n const permissions = useMemo(() => {\n return transformPermissions(permissionsData);\n }, [permissionsData]);\n\n return {\n permissions,\n loadingPermissions,\n };\n};\n"],"names":["transformPermissions","permissionsData","isAdmin","hasPermission","key","permissionValue","permissions","purchaseOrderEnabled","value","permission","useCustomerRolePermissions","initialPermissionsData","events","setPermissionsData","useState","useEffect","subscription","payload","loadingPermissions","useMemo"],"mappings":"2IAmCO,MAAMA,EACXC,GACiC,CAEjC,GAAI,CAACA,EACH,MAAO,CACL,QAAS,GACT,qBAAsB,GACtB,KAAM,CAAE,GAAI,GAAI,KAAM,EAAA,EACtB,YAAa,CACX,iBAAkB,GAClB,mBAAoB,GACpB,kCAAmC,GACnC,6BAA8B,GAC9B,yBAA0B,GAC1B,0BAA2B,GAC3B,kBAAmB,GACnB,oBAAqB,EAAA,CACvB,EAIJ,MAAMC,EAAUD,EAAgB,QAAU,GAQpCE,EAAiBC,GAAyB,CAC9C,MAAMC,EAAkBJ,EAAgBG,CAAG,EAE3C,OAAIC,IAAoB,GACf,GAGLA,IAAoB,GACf,GAGFH,CACT,EAEMI,EAAc,CAClB,iBAAkBH,EAAc,4BAA4B,EAC5D,mBAAoBA,EAClB,6CAAA,EAEF,kCAAmCA,EACjC,8DAAA,EAEF,6BAA8BA,EAC5B,yDAAA,EAEF,yBAA0BA,EACxB,mDAAA,EAEF,0BAA2BA,EACzB,yDAAA,EAEF,kBAAmBA,EACjB,gDAAA,EAEF,oBAAqBA,EACnB,kDAAA,CACF,EAQII,EAHkC,OAAO,OAAON,CAAe,EAAE,KACpEO,GAAUA,IAAU,EAAA,EAGnB,GACA,OAAO,OAAOF,CAAW,EAAE,KAAMG,GAAeA,IAAe,EAAI,EAEvE,MAAO,CACL,QAAAP,EACA,qBAAAK,EACA,KAAM,CACJ,GAAI,GACJ,KAAML,EAAU,wBAA0B,EAAA,EAE5C,YAAAI,CAAA,CAEJ,ECzFaI,EAA6B,IAGrC,CAEH,MAAMC,EAAyBC,EAAO,YAAY,kBAAkB,EAG9D,CAACX,EAAiBY,CAAkB,EAAIC,EAC5CH,CAAA,EAIFI,EAAU,IAAM,CACd,MAAMC,EAAeJ,EAAO,GAC1B,mBACCK,GAAY,CACXJ,EAAmBI,CAAO,CAC5B,EACA,CAAE,MAAO,EAAA,CAAK,EAIhB,MAAO,IAAM,CACXD,GAAA,MAAAA,EAAc,KAChB,CACF,EAAG,CAAA,CAAE,EAGL,MAAME,EAAqB,CAACjB,EAO5B,MAAO,CACL,YALkBkB,EAAQ,IACnBnB,EAAqBC,CAAe,EAC1C,CAACA,CAAe,CAAC,EAIlB,mBAAAiB,CAAA,CAEJ"}
@@ -1,4 +1,4 @@
1
1
  /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
- import{jsx as _}from"@dropins/tools/preact-jsx-runtime.js";import{useState as g,useEffect as z,useCallback as l,useMemo as N}from"@dropins/tools/preact-hooks.js";import"@dropins/tools/event-bus.js";import{i as re,b as te,c as se}from"./useCustomerRolePermissions.js";import{g as ne,r as ce,a as ae}from"./getPurchaseOrders.js";import{Text as oe}from"@dropins/tools/i18n.js";const q=(c,I="en-US")=>{try{const a=new Date(c);return isNaN(a.getTime())?c:a.toLocaleString(I,{year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"2-digit",second:"2-digit",hour12:!0})}catch{return c}};var T=(c=>(c.CUSTOMER_PURCHASE_ORDERS="customerPurchaseOrders",c.COMPANY_PURCHASE_ORDERS="companyPurchaseOrders",c.CUSTOMER_APPROVAL_PURCHASE_ORDERS="customerApprovalPurchaseOrders",c))(T||{});const ie=20,fe=({view:c,initialPageSize:I,routePurchaseOrderDetails:a,setColumns:y,setRowsData:k,t:n,permissions:D,loadingPermissions:L})=>{const C=c===T.COMPANY_PURCHASE_ORDERS,o=c===T.CUSTOMER_APPROVAL_PURCHASE_ORDERS,[d,E]=g([]),[h,U]=g([]),[p,G]=g(I),[B,f]=g(!0),[Q,V]=g({currentPage:1,totalPages:1,totalCount:0}),[P,m]=g({heading:"",description:"",type:"success"});z(()=>{if(P.heading||P.description){const r=setTimeout(()=>{m({heading:"",description:"",type:"success"})},7e3);return()=>clearTimeout(r)}},[P.heading,P.description]);const{currentPage:v,totalPages:F,totalCount:Y}=Q,Z=l(r=>{const s=r.target.value;G(e=>e.map(t=>({...t,selected:t.value===s})))},[]),A=(D==null?void 0:D.isAdmin)??!1,H=N(()=>{let r={};return C&&(r={companyPurchaseOrders:!0}),o&&(r={requireMyApproval:!0}),r},[C,o]);z(()=>{var e;if(L)return;f(!0);const r=(e=p==null?void 0:p.find(t=>t.selected))==null?void 0:e.value,s=parseInt(r??ie.toString(),10);ne(H,s,v).then(t=>{var O,R;const i=(t==null?void 0:t.purchaseOrderItems)??[],u=(O=t==null?void 0:t.pageInfo)==null?void 0:O.currentPage,S=(R=t==null?void 0:t.pageInfo)==null?void 0:R.totalPages,b=t==null?void 0:t.totalCount;V({currentPage:u,totalPages:S,totalCount:b}),U(i)}).catch(t=>{console.error("Failed to fetch purchase orders:",t)}).finally(()=>{f(!1)})},[v,p,H,L]);const M=l(r=>{const s=a==null?void 0:a(r);return re(s??"")?s:"#"},[a]),J=l(r=>{V(s=>({...s,currentPage:r}))},[]),w=l(r=>{const s=r.target.value,e=r.target.checked;E(t=>e?[...t,s]:t.filter(i=>i!==s))},[]),x=l(r=>{const s=r.target.checked;E(()=>s?h.filter(e=>["PENDING","APPROVAL_REQUIRED"].includes(e.status)).map(e=>e.uid??""):[])},[h]),K=l(()=>{ce(d).then(r=>{const s=(r==null?void 0:r.purchaseOrders)??[];U(e=>e.map(t=>s.find(u=>u.uid===t.uid)??t)),m({heading:n.alertHeaderReject,description:n.alertDescriptionReject,type:"success"}),E([])}).catch(r=>{m({heading:n.alertHeaderError,description:n.alertDescriptionError,type:"error"}),console.error(r)}).finally(()=>{f(!1)})},[d,n]),W=l(()=>{f(!0),ae(d).then(r=>{const s=(r==null?void 0:r.purchaseOrders)??[];U(e=>e.map(t=>s.find(u=>u.uid===t.uid)??t)),m({heading:n.alertHeaderApprove,description:n.alertDescriptionApprove,type:"success"}),E([])}).catch(r=>{m({heading:n.alertHeaderError,description:n.alertDescriptionError,type:"error"}),console.error(r)}).finally(()=>{f(!1)})},[d,n]),X=N(()=>{const r=C||o?te:se;return(y==null?void 0:y(r))??r.map(s=>s.key==="checkboxView"&&(A||o)?{key:s.key,label:_("input",{type:"checkbox",name:"selectAll",disabled:h.every(e=>!["PENDING","APPROVAL_REQUIRED"].includes(e.status)),onChange:x}),ariaLabel:n.selectAllAriaLabel}:{...s,label:n[s.key]||s.label})},[n,A,C,o,y,h,x]),ee=N(()=>{const r=h.map(e=>{var i,u,S,b,O,R,$,j;const t=e.number??"";return{...A||o?{checkboxView:_("input",{type:"checkbox",name:t,value:e.uid,checked:d.includes(e.uid),onChange:w,disabled:!["PENDING","APPROVAL_REQUIRED"].includes(e.status)})}:{},poNumber:t,orderNumber:e.order.orderNumber,createdDate:q(e.createdAt),updatedDate:q(e.updatedAt),createdBy:`${((i=e.createdBy)==null?void 0:i.firstname)??""} ${((u=e.createdBy)==null?void 0:u.lastname)??""}`.trim(),status:_(oe,{id:`PurchaseOrders.purchaseOrdersTable.statusOrder.${e.status.toLowerCase()}`}),total:`${(O=(b=(S=e==null?void 0:e.quote)==null?void 0:S.prices)==null?void 0:b.grandTotal)==null?void 0:O.value} ${(j=($=(R=e==null?void 0:e.quote)==null?void 0:R.prices)==null?void 0:$.grandTotal)==null?void 0:j.currency}`,action:_("a",{href:M(t),"aria-label":`View purchase order ${t}`,children:n.actionView})}});let s=r;if(k){const e=k(r);e!==void 0&&Array.isArray(e)&&(s=e)}return s},[h,k,A,o,d,w,M,n.actionView]);return{tableConfig:{columns:X,rows:ee},paginationConfig:{currentPage:v,totalPages:F,handlePageChange:J},pageSizeConfig:{pageSizeOptionsList:p,onChange:Z},totalCount:Y,loading:B,selectedOrderIds:d,handleRejectSelected:K,handleApproveSelected:W,isAdmin:A,isRequireApprovalPOsView:o,alertMessageConfig:P}};export{T as E,fe as u};
3
+ import{jsx as _}from"@dropins/tools/preact-jsx-runtime.js";import{useState as g,useEffect as z,useCallback as l,useMemo as N}from"@dropins/tools/preact-hooks.js";import"@dropins/tools/event-bus.js";import{i as re}from"./pageSize.config.js";import{g as te,r as se,a as ne}from"./getPurchaseOrders.js";import{d as ce,a as ae}from"./FormLoader.js";import{Text as oe}from"@dropins/tools/i18n.js";const q=(c,I="en-US")=>{try{const a=new Date(c);return isNaN(a.getTime())?c:a.toLocaleString(I,{year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"2-digit",second:"2-digit",hour12:!0})}catch{return c}};var T=(c=>(c.CUSTOMER_PURCHASE_ORDERS="customerPurchaseOrders",c.COMPANY_PURCHASE_ORDERS="companyPurchaseOrders",c.CUSTOMER_APPROVAL_PURCHASE_ORDERS="customerApprovalPurchaseOrders",c))(T||{});const ie=20,Pe=({view:c,initialPageSize:I,routePurchaseOrderDetails:a,setColumns:y,setRowsData:k,t:n,permissions:D,loadingPermissions:L})=>{const C=c===T.COMPANY_PURCHASE_ORDERS,o=c===T.CUSTOMER_APPROVAL_PURCHASE_ORDERS,[d,E]=g([]),[h,U]=g([]),[p,G]=g(I),[B,f]=g(!0),[Q,V]=g({currentPage:1,totalPages:1,totalCount:0}),[P,m]=g({heading:"",description:"",type:"success"});z(()=>{if(P.heading||P.description){const r=setTimeout(()=>{m({heading:"",description:"",type:"success"})},7e3);return()=>clearTimeout(r)}},[P.heading,P.description]);const{currentPage:v,totalPages:F,totalCount:Y}=Q,Z=l(r=>{const s=r.target.value;G(e=>e.map(t=>({...t,selected:t.value===s})))},[]),A=(D==null?void 0:D.isAdmin)??!1,H=N(()=>{let r={};return C&&(r={companyPurchaseOrders:!0}),o&&(r={requireMyApproval:!0}),r},[C,o]);z(()=>{var e;if(L)return;f(!0);const r=(e=p==null?void 0:p.find(t=>t.selected))==null?void 0:e.value,s=parseInt(r??ie.toString(),10);te(H,s,v).then(t=>{var O,R;const i=(t==null?void 0:t.purchaseOrderItems)??[],u=(O=t==null?void 0:t.pageInfo)==null?void 0:O.currentPage,S=(R=t==null?void 0:t.pageInfo)==null?void 0:R.totalPages,b=t==null?void 0:t.totalCount;V({currentPage:u,totalPages:S,totalCount:b}),U(i)}).catch(t=>{console.error("Failed to fetch purchase orders:",t)}).finally(()=>{f(!1)})},[v,p,H,L]);const M=l(r=>{const s=a==null?void 0:a(r);return re(s??"")?s:"#"},[a]),J=l(r=>{V(s=>({...s,currentPage:r}))},[]),w=l(r=>{const s=r.target.value,e=r.target.checked;E(t=>e?[...t,s]:t.filter(i=>i!==s))},[]),x=l(r=>{const s=r.target.checked;E(()=>s?h.filter(e=>["PENDING","APPROVAL_REQUIRED"].includes(e.status)).map(e=>e.uid??""):[])},[h]),K=l(()=>{se(d).then(r=>{const s=(r==null?void 0:r.purchaseOrders)??[];U(e=>e.map(t=>s.find(u=>u.uid===t.uid)??t)),m({heading:n.alertHeaderReject,description:n.alertDescriptionReject,type:"success"}),E([])}).catch(r=>{m({heading:n.alertHeaderError,description:n.alertDescriptionError,type:"error"}),console.error(r)}).finally(()=>{f(!1)})},[d,n]),W=l(()=>{f(!0),ne(d).then(r=>{const s=(r==null?void 0:r.purchaseOrders)??[];U(e=>e.map(t=>s.find(u=>u.uid===t.uid)??t)),m({heading:n.alertHeaderApprove,description:n.alertDescriptionApprove,type:"success"}),E([])}).catch(r=>{m({heading:n.alertHeaderError,description:n.alertDescriptionError,type:"error"}),console.error(r)}).finally(()=>{f(!1)})},[d,n]),X=N(()=>{const r=C||o?ce:ae;return(y==null?void 0:y(r))??r.map(s=>s.key==="checkboxView"&&(A||o)?{key:s.key,label:_("input",{type:"checkbox",name:"selectAll",disabled:h.every(e=>!["PENDING","APPROVAL_REQUIRED"].includes(e.status)),onChange:x}),ariaLabel:n.selectAllAriaLabel}:{...s,label:n[s.key]||s.label})},[n,A,C,o,y,h,x]),ee=N(()=>{const r=h.map(e=>{var i,u,S,b,O,R,$,j;const t=e.number??"";return{...A||o?{checkboxView:_("input",{type:"checkbox",name:t,value:e.uid,checked:d.includes(e.uid),onChange:w,disabled:!["PENDING","APPROVAL_REQUIRED"].includes(e.status)})}:{},poNumber:t,orderNumber:e.order.orderNumber,createdDate:q(e.createdAt),updatedDate:q(e.updatedAt),createdBy:`${((i=e.createdBy)==null?void 0:i.firstname)??""} ${((u=e.createdBy)==null?void 0:u.lastname)??""}`.trim(),status:_(oe,{id:`PurchaseOrders.purchaseOrdersTable.statusOrder.${e.status.toLowerCase()}`}),total:`${(O=(b=(S=e==null?void 0:e.quote)==null?void 0:S.prices)==null?void 0:b.grandTotal)==null?void 0:O.value} ${(j=($=(R=e==null?void 0:e.quote)==null?void 0:R.prices)==null?void 0:$.grandTotal)==null?void 0:j.currency}`,action:_("a",{href:M(t),"aria-label":`View purchase order ${t}`,children:n.actionView})}});let s=r;if(k){const e=k(r);e!==void 0&&Array.isArray(e)&&(s=e)}return s},[h,k,A,o,d,w,M,n.actionView]);return{tableConfig:{columns:X,rows:ee},paginationConfig:{currentPage:v,totalPages:F,handlePageChange:J},pageSizeConfig:{pageSizeOptionsList:p,onChange:Z},totalCount:Y,loading:B,selectedOrderIds:d,handleRejectSelected:K,handleApproveSelected:W,isAdmin:A,isRequireApprovalPOsView:o,alertMessageConfig:P}};export{T as E,Pe as u};
4
4
  //# sourceMappingURL=usePurchaseOrders.js.map