@dropins/storefront-purchase-order 0.0.1-alpha1 → 0.0.1-alpha2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/addPurchaseOrderComment/addPurchaseOrderComment.d.ts +4 -0
- package/api/addPurchaseOrderComment/graphql/addPurchaseOrderComment.graphql.d.ts +18 -0
- package/api/addPurchaseOrderComment/index.d.ts +18 -0
- package/api/addPurchaseOrderItemsToCart/addPurchaseOrderItemsToCart.d.ts +4 -0
- package/api/addPurchaseOrderItemsToCart/graphql/addPurchaseOrderItemsToCart.graphql.d.ts +18 -0
- package/api/addPurchaseOrderItemsToCart/index.d.ts +18 -0
- package/api/approvePurchaseOrders/approvePurchaseOrders.d.ts +10 -0
- package/api/approvePurchaseOrders/graphql/approvePurchaseOrders.graphql.d.ts +18 -0
- package/api/approvePurchaseOrders/index.d.ts +18 -0
- package/api/cancelPurchaseOrders/cancelPurchaseOrders.d.ts +10 -0
- package/api/cancelPurchaseOrders/graphql/cancelPurchaseOrders.graphql.d.ts +18 -0
- package/api/cancelPurchaseOrders/index.d.ts +18 -0
- package/api/createPurchaseOrderApprovalRule/createPurchaseOrderApprovalRule.d.ts +4 -0
- package/api/createPurchaseOrderApprovalRule/graphql/createPurchaseOrderApprovalRule.graphql.d.ts +18 -0
- package/api/createPurchaseOrderApprovalRule/index.d.ts +18 -0
- package/api/deletePurchaseOrderApprovalRule/deletePurchaseOrderApprovalRule.d.ts +9 -0
- package/api/deletePurchaseOrderApprovalRule/graphql/deletePurchaseOrderApprovalRule.graphql.d.ts +18 -0
- package/api/deletePurchaseOrderApprovalRule/index.d.ts +18 -0
- package/api/fragments.d.ts +18 -0
- package/api/getCustomerRolePermissions/getCustomerRolePermissions.d.ts +4 -0
- package/api/getCustomerRolePermissions/graphql/getCustomerRolePermissions.d.ts +16 -0
- package/api/getCustomerRolePermissions/index.d.ts +18 -0
- package/api/getPurchaseOrder/getPurchaseOrder.d.ts +6 -0
- package/api/getPurchaseOrder/graphql/getPurchaseOrder.graphql.d.ts +18 -0
- package/api/getPurchaseOrder/index.d.ts +18 -0
- package/api/getPurchaseOrderApprovalRuleMetadata/getPurchaseOrderApprovalRuleMetadata.d.ts +4 -0
- package/api/getPurchaseOrderApprovalRuleMetadata/graphql/getPurchaseOrderApprovalRuleMetadata.graphql.d.ts +18 -0
- package/api/getPurchaseOrderApprovalRuleMetadata/index.d.ts +18 -0
- package/api/getPurchaseOrders/getPurchaseOrders.d.ts +12 -0
- package/api/getPurchaseOrders/graphql/getPurchaseOrders.graphql.d.ts +18 -0
- package/api/getPurchaseOrders/index.d.ts +18 -0
- package/api/graphql/PurchaseOrdersFragment.graphql.d.ts +18 -0
- package/api/index.d.ts +31 -0
- package/api/initialize/lib/getPermissions.d.ts +19 -0
- package/api/initialize/lib/index.d.ts +18 -0
- package/api/placeOrderForPurchaseOrder/graphql/placeOrderForPurchaseOrder.graphql.d.ts +18 -0
- package/api/placeOrderForPurchaseOrder/index.d.ts +18 -0
- package/api/placeOrderForPurchaseOrder/placeOrderForPurchaseOrder.d.ts +4 -0
- package/api/placePurchaseOrder/graphql/placePurchaseOrder.graphql.d.ts +18 -0
- package/api/placePurchaseOrder/index.d.ts +18 -0
- package/api/placePurchaseOrder/placePurchaseOrder.d.ts +6 -0
- package/api/rejectPurchaseOrders/graphql/rejectPurchaseOrders.graphql.d.ts +18 -0
- package/api/rejectPurchaseOrders/index.d.ts +18 -0
- package/api/rejectPurchaseOrders/rejectPurchaseOrders.d.ts +10 -0
- package/api/updatePurchaseOrderApprovalRule/graphql/updatePurchaseOrderApprovalRule.graphql.d.ts +18 -0
- package/api/updatePurchaseOrderApprovalRule/index.d.ts +18 -0
- package/api/updatePurchaseOrderApprovalRule/updatePurchaseOrderApprovalRule.d.ts +4 -0
- package/api/validatePurchaseOrders/graphql/validatePurchaseOrders.graphql.d.ts +18 -0
- package/api/validatePurchaseOrders/index.d.ts +18 -0
- package/api/validatePurchaseOrders/validatePurchaseOrders.d.ts +10 -0
- package/api.js +330 -1
- package/api.js.map +1 -1
- package/chunks/PurchaseOrdersTableActions.js +4 -0
- package/chunks/PurchaseOrdersTableActions.js.map +1 -0
- package/chunks/getPurchaseOrders.js +113 -0
- package/chunks/getPurchaseOrders.js.map +1 -0
- package/chunks/usePurchaseOrders.js +4 -0
- package/chunks/usePurchaseOrders.js.map +1 -0
- package/components/PurchaseOrdersHeader/PurchaseOrdersHeader.d.ts +6 -0
- package/components/PurchaseOrdersHeader/index.d.ts +19 -0
- package/components/PurchaseOrdersTable/PurchaseOrdersTable.d.ts +5 -0
- package/components/PurchaseOrdersTable/index.d.ts +19 -0
- package/components/PurchaseOrdersTableActions/PurchaseOrdersTableActions.d.ts +5 -0
- package/components/PurchaseOrdersTableActions/index.d.ts +19 -0
- package/components/index.d.ts +19 -1
- package/configs/companyPurchaseOrders.config.d.ts +4 -0
- package/configs/customerPurchaseOrders.config.d.ts +4 -0
- package/configs/index.d.ts +21 -0
- package/configs/pageSize.config.d.ts +22 -0
- package/configs/purchaseOrderApprovalRules.config.d.ts +4 -0
- package/containers/CompanyPurchaseOrders/CompanyPurchaseOrders.d.ts +5 -0
- package/containers/CompanyPurchaseOrders/index.d.ts +19 -0
- package/containers/CompanyPurchaseOrders.d.ts +3 -0
- package/containers/CompanyPurchaseOrders.js +4 -0
- package/containers/CompanyPurchaseOrders.js.map +1 -0
- package/containers/CustomerPurchaseOrders/CustomerPurchaseOrders.d.ts +5 -0
- package/containers/CustomerPurchaseOrders/index.d.ts +19 -0
- package/containers/CustomerPurchaseOrders.d.ts +3 -0
- package/containers/CustomerPurchaseOrders.js +4 -0
- package/containers/CustomerPurchaseOrders.js.map +1 -0
- package/containers/RequireApprovalPurchaseOrders/RequireApprovalPurchaseOrders.d.ts +5 -0
- package/containers/RequireApprovalPurchaseOrders/index.d.ts +19 -0
- package/containers/RequireApprovalPurchaseOrders.d.ts +3 -0
- package/containers/RequireApprovalPurchaseOrders.js +4 -0
- package/containers/RequireApprovalPurchaseOrders.js.map +1 -0
- package/containers/index.d.ts +3 -1
- package/data/models/cart-model.d.ts +40 -0
- package/data/models/customer-order-model.d.ts +128 -0
- package/data/models/customer-role-permissions-model.d.ts +35 -0
- package/data/models/index.d.ts +23 -1
- package/data/models/purchase-order-approval-rule-metadata-model.d.ts +33 -0
- package/data/models/purchase-order-approval-rule-model.d.ts +50 -0
- package/data/models/purchase-order-comment-model.d.ts +39 -0
- package/data/models/purchase-order-model.d.ts +75 -0
- package/data/transforms/index.d.ts +22 -1
- package/data/transforms/transform-cart.d.ts +4 -0
- package/data/transforms/transform-customer-order.d.ts +4 -0
- package/data/transforms/transform-customer-role-permissions.d.ts +4 -0
- package/data/transforms/transform-purchase-order-approval-rule-metadata.d.ts +4 -0
- package/data/transforms/transform-purchase-order-approval-rule.d.ts +4 -0
- package/data/transforms/transform-purchase-order-comment.d.ts +4 -0
- package/data/transforms/transform-purchase-order.d.ts +4 -0
- package/hooks/index.d.ts +18 -0
- package/hooks/usePurchaseOrders.d.ts +4 -0
- package/i18n/en_US.json.d.ts +86 -2
- package/lib/case-converter.d.ts +25 -0
- package/lib/fetch-error.d.ts +21 -0
- package/lib/formatDate.d.ts +24 -0
- package/lib/getRange.d.ts +6 -0
- package/lib/index.d.ts +7 -0
- package/lib/isValidUrl.d.ts +2 -0
- package/lib/network-error.d.ts +22 -0
- package/mocks/index.d.ts +2832 -0
- package/mocks/storybook/index.d.ts +29 -0
- package/package.json +1 -1
- package/render.js +2 -1
- package/render.js.map +1 -1
- package/types/api/api.enums.types.d.ts +21 -0
- package/types/api/index.d.ts +2 -0
- package/types/components/index.d.ts +4 -0
- package/types/components/pagination.types.d.ts +27 -0
- package/types/components/purchaseOrdersTable.types.d.ts +31 -0
- package/types/components/purchaseOrdersTableActions.d.ts +8 -0
- package/types/containers/companyPurchaseOrders.types.d.ts +12 -0
- package/types/containers/customerPurchaseOrders.types.d.ts +12 -0
- package/types/containers/index.d.ts +4 -0
- package/types/containers/requireApprovalPurchaseOrders.types.d.ts +12 -0
- package/types/hooks/index.d.ts +2 -0
- package/types/hooks/usePurchaseOrders.types.d.ts +37 -0
package/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sources":["/@dropins/storefront-purchase-order/src/api/initialize/initialize.ts","/@dropins/storefront-purchase-order/src/api/fetch-graphql/fetch-graphql.ts"],"sourcesContent":["import { Initializer } from '@adobe-commerce/elsie/lib';\nimport { Lang } from '@adobe-commerce/elsie/i18n';\n// import { events } from '@adobe-commerce/event-bus';\n\ntype ConfigProps = {\n langDefinitions?: Lang;\n};\n\nexport const initialize = new Initializer<ConfigProps>({\n init: async (config) => {\n const defaultConfig = {};\n\n initialize.config.setConfig({ ...defaultConfig, ...config });\n },\n\n listeners: () => [\n // events.on('authenticated', (authenticated) => {\n // console.log('authenticated', authenticated);\n // }),\n ],\n});\n\nexport const config = initialize.config;\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":["initialize","Initializer","config","defaultConfig","setEndpoint","setFetchGraphQlHeader","removeFetchGraphQlHeader","setFetchGraphQlHeaders","fetchGraphQl","getConfig","FetchGraphQL"],"mappings":"mHAQO,MAAMA,EAAa,IAAIC,EAAyB,CACrD,KAAM,MAAOC,GAAW,CACtB,MAAMC,EAAgB,CAAA,EAEtBH,EAAW,OAAO,UAAU,CAAE,GAAGG,EAAe,GAAGD,EAAQ,CAC7D,EAEA,UAAW,IAAM,CAAA,CAKnB,CAAC,EAEYA,EAASF,EAAW,OCpBpB,CACX,YAAAI,EACA,sBAAAC,EACA,yBAAAC,EACA,uBAAAC,EACA,aAAAC,EACA,UAAAC,CACF,EAAI,IAAIC,EAAA,EAAe,WAAA"}
|
|
1
|
+
{"version":3,"file":"api.js","sources":["/@dropins/storefront-purchase-order/src/api/initialize/lib/getPermissions.ts","/@dropins/storefront-purchase-order/src/api/initialize/initialize.ts","/@dropins/storefront-purchase-order/src/api/cancelPurchaseOrders/graphql/cancelPurchaseOrders.graphql.ts","/@dropins/storefront-purchase-order/src/api/cancelPurchaseOrders/cancelPurchaseOrders.ts","/@dropins/storefront-purchase-order/src/api/validatePurchaseOrders/graphql/validatePurchaseOrders.graphql.ts","/@dropins/storefront-purchase-order/src/api/validatePurchaseOrders/validatePurchaseOrders.ts","/@dropins/storefront-purchase-order/src/api/addPurchaseOrderComment/graphql/addPurchaseOrderComment.graphql.ts","/@dropins/storefront-purchase-order/src/data/transforms/transform-cart.ts","/@dropins/storefront-purchase-order/src/data/transforms/transform-customer-order.ts","/@dropins/storefront-purchase-order/src/data/transforms/transform-purchase-order-approval-rule-metadata.ts","/@dropins/storefront-purchase-order/src/data/transforms/transform-purchase-order-approval-rule.ts","/@dropins/storefront-purchase-order/src/data/transforms/transform-purchase-order-comment.ts","/@dropins/storefront-purchase-order/src/api/addPurchaseOrderComment/addPurchaseOrderComment.ts","/@dropins/storefront-purchase-order/src/api/addPurchaseOrderItemsToCart/graphql/addPurchaseOrderItemsToCart.graphql.ts","/@dropins/storefront-purchase-order/src/api/addPurchaseOrderItemsToCart/addPurchaseOrderItemsToCart.ts","/@dropins/storefront-purchase-order/src/api/createPurchaseOrderApprovalRule/graphql/createPurchaseOrderApprovalRule.graphql.ts","/@dropins/storefront-purchase-order/src/api/createPurchaseOrderApprovalRule/createPurchaseOrderApprovalRule.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/updatePurchaseOrderApprovalRule/graphql/updatePurchaseOrderApprovalRule.graphql.ts","/@dropins/storefront-purchase-order/src/api/updatePurchaseOrderApprovalRule/updatePurchaseOrderApprovalRule.ts","/@dropins/storefront-purchase-order/src/api/getPurchaseOrder/graphql/getPurchaseOrder.graphql.ts","/@dropins/storefront-purchase-order/src/api/getPurchaseOrder/getPurchaseOrder.ts","/@dropins/storefront-purchase-order/src/api/placeOrderForPurchaseOrder/graphql/placeOrderForPurchaseOrder.graphql.ts","/@dropins/storefront-purchase-order/src/api/placeOrderForPurchaseOrder/placeOrderForPurchaseOrder.ts","/@dropins/storefront-purchase-order/src/api/placePurchaseOrder/graphql/placePurchaseOrder.graphql.ts","/@dropins/storefront-purchase-order/src/api/placePurchaseOrder/placePurchaseOrder.ts","/@dropins/storefront-purchase-order/src/api/getPurchaseOrderApprovalRuleMetadata/graphql/getPurchaseOrderApprovalRuleMetadata.graphql.ts","/@dropins/storefront-purchase-order/src/api/getPurchaseOrderApprovalRuleMetadata/getPurchaseOrderApprovalRuleMetadata.ts","/@dropins/storefront-purchase-order/src/api/getCustomerRolePermissions/graphql/getCustomerRolePermissions.ts","/@dropins/storefront-purchase-order/src/data/transforms/transform-customer-role-permissions.ts","/@dropins/storefront-purchase-order/src/api/getCustomerRolePermissions/getCustomerRolePermissions.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 { getCustomerRolePermissions } from '@/b2b-purchase-order/api';\n\nlet sharedPromise: Promise<any> | null = null;\n\nexport const getPermissions = () => {\n const cached = sessionStorage.getItem('b2b-po-permissions');\n if (cached) {\n try {\n return Promise.resolve(JSON.parse(cached));\n } catch {}\n }\n\n if (!sharedPromise) {\n sharedPromise = getCustomerRolePermissions()\n .then((data) => {\n sessionStorage.setItem('b2b-po-permissions', JSON.stringify(data));\n return data;\n })\n .finally(() => {\n sharedPromise = null;\n });\n }\n return sharedPromise;\n};\n\nexport const clearPermissionsCache = () => {\n sessionStorage.removeItem('b2b-po-permissions');\n};\n\n// Global window exposure for debugging purposes\nif (typeof window !== 'undefined') {\n (window as any).__getPermissions = getPermissions;\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 { Initializer } from '@adobe-commerce/elsie/lib';\nimport { Lang } from '@adobe-commerce/elsie/i18n';\nimport { events } from '@adobe-commerce/event-bus';\nimport { getPermissions, clearPermissionsCache } from './lib/getPermissions';\n\ntype ConfigProps = {\n langDefinitions?: Lang;\n};\n\nexport const initialize = new Initializer<ConfigProps>({\n init: async (config) => {\n const defaultConfig = {};\n\n initialize.config.setConfig({ ...defaultConfig, ...config });\n },\n\n listeners: () => [\n events.on(\n 'authenticated',\n async (isAuthenticated) => {\n if (isAuthenticated) {\n const permissionsData = await getPermissions();\n (events as any).emit(\n 'purchase-order/permissions-initialised',\n permissionsData\n );\n } else {\n clearPermissionsCache();\n }\n },\n { eager: true }\n ),\n ],\n});\n\nexport const config = initialize.config;\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 CANCEL_PURCHASE_ORDERS = /* GraphQL */ `\n mutation CANCEL_PURCHASE_ORDERS($input: PurchaseOrdersActionInput!) {\n cancelPurchaseOrders(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 { CANCEL_PURCHASE_ORDERS } from '@/b2b-purchase-order/api/cancelPurchaseOrders/graphql/cancelPurchaseOrders.graphql';\nimport { transformPurchaseOrder } from '@/b2b-purchase-order/data/transforms/transform-purchase-order';\nimport { PurchaseOrderModel } from '@/b2b-purchase-order/data/models';\n\nexport const cancelPurchaseOrders = 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(CANCEL_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?.cancelPurchaseOrders;\n if (!data) {\n throw new Error('Failed to cancel 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 VALIDATE_PURCHASE_ORDERS = /* GraphQL */ `\n mutation VALIDATE_PURCHASE_ORDERS($input: ValidatePurchaseOrdersInput!) {\n validatePurchaseOrders(input: $input) {\n errors {\n message\n type\n }\n purchase_orders {\n ...PURCHASE_ORDERS_FRAGMENT\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 { VALIDATE_PURCHASE_ORDERS } from '@/b2b-purchase-order/api/validatePurchaseOrders/graphql/validatePurchaseOrders.graphql';\nimport { PurchaseOrderModel } from '@/b2b-purchase-order/data/models';\nimport { transformPurchaseOrder } from '@/b2b-purchase-order/data/transforms/transform-purchase-order';\n\nexport const validatePurchaseOrders = 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(VALIDATE_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?.validatePurchaseOrders;\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\nexport const ADD_PURCHASE_ORDER_COMMENT = /* GraphQL */ `\n mutation ADD_PURCHASE_ORDER_COMMENT(\n $purchaseOrderUid: ID!\n $comment: String!\n ) {\n addPurchaseOrderComment(\n input: { purchase_order_uid: $purchaseOrderUid, comment: $comment }\n ) {\n comment {\n created_at\n text\n uid\n author {\n allow_remote_shopping_assistance\n confirmation_status\n created_at\n date_of_birth\n email\n firstname\n gender\n job_title\n lastname\n middlename\n prefix\n status\n structure_id\n suffix\n telephone\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 { CartModel } from '@/b2b-purchase-order/data/models';\n\nexport const transformCart = (data: any): CartModel => {\n const cartItems = data?.cart?.itemsV2?.items ?? [];\n\n return {\n cart: {\n id: data?.cart?.id ?? '',\n items: cartItems.map((item: any) => ({\n uid: item?.uid ?? '',\n quantity: item?.quantity ?? 0,\n product: {\n uid: item?.product?.uid ?? '',\n name: item?.product?.name ?? '',\n sku: item?.product?.sku ?? '',\n },\n })),\n pagination: {\n currentPage: data?.cart?.itemsV2?.page_info?.current_page ?? 1,\n pageSize: data?.cart?.itemsV2?.page_info?.page_size ?? 20,\n totalPages: data?.cart?.itemsV2?.page_info?.total_pages ?? 0,\n totalCount: data?.cart?.itemsV2?.total_count ?? 0,\n },\n },\n userErrors:\n data?.user_errors?.map((error: any) => ({\n message: error?.message ?? '',\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 {\n CustomerOrderModel,\n Money,\n Coupon,\n GiftCard,\n CustomerAddress,\n PaymentMethod,\n OrderItem,\n Shipment,\n ShipmentTracking,\n ShipmentComment,\n ShipmentItem,\n CustomerInfo,\n OrderTotal,\n OrderDiscount,\n} from '@/b2b-purchase-order/data/models/customer-order-model';\n\nexport const transformCustomerOrder = (response: any): CustomerOrderModel => {\n const orderData = response.data?.placeOrderForPurchaseOrder?.order;\n\n const transformMoney = (money: any): Money => ({\n value: money?.value || 0,\n currency: money?.currency || '',\n });\n\n const transformCoupon = (coupon: any): Coupon => ({\n code: coupon?.code || '',\n label: coupon?.label || '',\n });\n\n const transformGiftCard = (giftCard: any): GiftCard => ({\n code: giftCard?.code || '',\n appliedBalance: transformMoney(giftCard?.applied_balance),\n currentBalance: transformMoney(giftCard?.current_balance),\n });\n\n const transformAddress = (address: any): CustomerAddress => ({\n firstname: address?.firstname || '',\n lastname: address?.lastname || '',\n street: address?.street || [],\n city: address?.city || '',\n region: address?.region || '',\n postcode: address?.postcode || '',\n countryCode: address?.country_code || '',\n telephone: address?.telephone || '',\n company: address?.company || '',\n });\n\n const transformPaymentMethod = (payment: any): PaymentMethod => ({\n name: payment?.name || '',\n type: payment?.type || '',\n additionalData: payment?.additional_data || {},\n });\n\n const transformOrderItem = (item: any): OrderItem => ({\n id: item?.id || '',\n productName: item?.product_name || '',\n productSku: item?.product_sku || '',\n quantityOrdered: item?.quantity_ordered || 0,\n quantityShipped: item?.quantity_shipped || 0,\n quantityInvoiced: item?.quantity_invoiced || 0,\n quantityRefunded: item?.quantity_refunded || 0,\n price: transformMoney(item?.price),\n total: transformMoney(item?.total),\n });\n\n const transformShipmentTracking = (tracking: any): ShipmentTracking => ({\n number: tracking?.number || '',\n carrier: tracking?.carrier || '',\n title: tracking?.title || '',\n });\n\n const transformShipmentComment = (comment: any): ShipmentComment => ({\n message: comment?.message || '',\n timestamp: comment?.timestamp || '',\n });\n\n const transformShipmentItem = (item: any): ShipmentItem => ({\n id: item?.id || '',\n productName: item?.product_name || '',\n productSku: item?.product_sku || '',\n quantityShipped: item?.quantity_shipped || 0,\n });\n\n const transformShipment = (shipment: any): Shipment => ({\n id: shipment?.id || '',\n number: shipment?.number || '',\n tracking: (shipment?.tracking || []).map(transformShipmentTracking),\n comments: (shipment?.comments || []).map(transformShipmentComment),\n items: (shipment?.items || []).map(transformShipmentItem),\n });\n\n const transformCustomerInfo = (customerInfo: any): CustomerInfo => ({\n firstname: customerInfo?.firstname || '',\n lastname: customerInfo?.lastname || '',\n email: customerInfo?.email || '',\n });\n\n const transformOrderDiscount = (discount: any): OrderDiscount => ({\n label: discount?.label || '',\n amount: transformMoney(discount?.amount),\n });\n\n const transformOrderTotal = (total: any): OrderTotal => ({\n baseGrandTotal: transformMoney(total?.base_grand_total),\n grandTotal: transformMoney(total?.grand_total),\n subtotal: transformMoney(total?.subtotal),\n totalTax: transformMoney(total?.total_tax),\n totalShipping: transformMoney(total?.total_shipping),\n discounts: (total?.discounts || []).map(transformOrderDiscount),\n });\n\n const transformOrderData = (data: any): CustomerOrderModel => ({\n appliedCoupons: (data?.applied_coupons || []).map(transformCoupon),\n appliedGiftCards: (data?.applied_gift_cards || []).map(transformGiftCard),\n availableActions: data?.available_actions || [],\n billingAddress: data?.billing_address\n ? transformAddress(data.billing_address)\n : {\n firstname: '',\n lastname: '',\n street: [],\n city: '',\n region: '',\n postcode: '',\n countryCode: '',\n telephone: '',\n company: '',\n },\n carrier: data?.carrier || '',\n comments: data?.comments || [],\n creditMemos: data?.credit_memos || [],\n customAttributes: data?.custom_attributes || [],\n customerInfo: data?.customer_info\n ? transformCustomerInfo(data.customer_info)\n : {\n firstname: '',\n lastname: '',\n email: '',\n },\n email: data?.email || '',\n giftMessage: data?.gift_message || '',\n giftReceiptIncluded: data?.gift_receipt_included || false,\n giftWrapping: data?.gift_wrapping || null,\n id: data?.id || '',\n invoices: data?.invoices || [],\n isVirtual: data?.is_virtual || false,\n items: (data?.items || []).map(transformOrderItem),\n itemsEligibleForReturn: data?.items_eligible_for_return || [],\n number: data?.number || '',\n orderDate: data?.order_date || '',\n orderStatusChangeDate: data?.order_status_change_date || '',\n paymentMethods: (data?.payment_methods || []).map(transformPaymentMethod),\n printedCardIncluded: data?.printed_card_included || false,\n returns: data?.returns || null,\n shipments: (data?.shipments || []).map(transformShipment),\n shippingAddress: data?.shipping_address\n ? transformAddress(data.shipping_address)\n : {\n firstname: '',\n lastname: '',\n street: [],\n city: '',\n region: '',\n postcode: '',\n countryCode: '',\n telephone: '',\n company: '',\n },\n shippingMethod: data?.shipping_method || '',\n status: data?.status || '',\n token: data?.token || '',\n total: data?.total\n ? transformOrderTotal(data.total)\n : {\n baseGrandTotal: transformMoney(null),\n grandTotal: transformMoney(null),\n subtotal: transformMoney(null),\n totalTax: transformMoney(null),\n totalShipping: transformMoney(null),\n discounts: [],\n },\n });\n\n return orderData ? transformOrderData(orderData) : transformOrderData(null);\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 {\n PurchaseOrderApprovalRuleMetadataModel,\n CompanyRolePermissionsTree,\n CompanyRole,\n} from '@/b2b-purchase-order/data/models/purchase-order-approval-rule-metadata-model';\n\nexport const transformPurchaseOrderApprovalRuleMetadata = (\n response: any\n): PurchaseOrderApprovalRuleMetadataModel => {\n const metadata =\n response?.data?.customer?.purchase_order_approval_rule_metadata;\n\n const transformCompanyRolePermission = (\n permission: any\n ): CompanyRolePermissionsTree => ({\n id: permission?.id || '',\n sortOrder: permission?.sort_order || 0,\n text: permission?.text || '',\n children:\n permission?.children?.map(transformCompanyRolePermission) || undefined,\n });\n\n const transformCompanyRole = (role: any): CompanyRole => ({\n id: role?.id || '',\n name: role?.name || '',\n usersCount: role?.users_count || 0,\n permissions: (role?.permissions || []).map(transformCompanyRolePermission),\n });\n\n const availableAppliesTo = (metadata?.available_applies_to || []).map(\n transformCompanyRole\n );\n\n const availableRequiresApprovalFrom = (\n metadata?.available_requires_approval_from || []\n ).map(transformCompanyRole);\n\n return {\n availableAppliesTo,\n availableRequiresApprovalFrom,\n };\n};\n","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\nimport { PurchaseOrderCommentModel } from '@/b2b-purchase-order/data/models';\n\nexport const transformPurchaseOrderComment = (\n comment: any\n): PurchaseOrderCommentModel => {\n return {\n createdAt: comment?.created_at ?? '',\n text: comment?.text ?? '',\n uid: comment?.uid ?? '',\n author: {\n allowRemoteShoppingAssistance:\n comment?.author?.allow_remote_shopping_assistance ?? false,\n confirmationStatus: comment?.author?.confirmation_status ?? '',\n createdAt: comment?.author?.created_at ?? '',\n dateOfBirth: comment?.author?.date_of_birth ?? '',\n email: comment?.author?.email ?? '',\n firstname: comment?.author?.firstname ?? '',\n gender: comment?.author?.gender ?? 0,\n jobTitle: comment?.author?.job_title ?? '',\n lastname: comment?.author?.lastname ?? '',\n middlename: comment?.author?.middlename ?? '',\n prefix: comment?.author?.prefix ?? '',\n status: comment?.author?.status ?? '',\n structureId: comment?.author?.structure_id ?? '',\n suffix: comment?.author?.suffix ?? '',\n telephone: comment?.author?.telephone ?? '',\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 { ADD_PURCHASE_ORDER_COMMENT } from '@/b2b-purchase-order/api/addPurchaseOrderComment/graphql/addPurchaseOrderComment.graphql';\nimport { transformPurchaseOrderComment } from '@/b2b-purchase-order/data/transforms';\nimport { PurchaseOrderCommentModel } from '@/b2b-purchase-order/data/models';\n\nexport const addPurchaseOrderComment = async (\n uid: string,\n comment: string\n): Promise<PurchaseOrderCommentModel> => {\n if (!uid) {\n throw new Error('Purchase Order ID is required');\n }\n\n if (!comment) {\n throw new Error('Comment text is required');\n }\n\n const variables = {\n purchaseOrderUid: uid,\n comment,\n };\n\n return fetchGraphQl(ADD_PURCHASE_ORDER_COMMENT, {\n variables,\n })\n .then((response: any) => {\n if (response.errors?.length) {\n handleFetchError(response.errors);\n }\n\n return transformPurchaseOrderComment(\n response.data?.addPurchaseOrderComment?.comment\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 ADD_PURCHASE_ORDER_ITEMS_TO_CART = /* GraphQL */ `\n mutation ADD_PURCHASE_ORDER_ITEMS_TO_CART(\n $purchaseOrderUid: ID!\n $cartId: String!\n $replaceExistingCartItems: Boolean!\n ) {\n addPurchaseOrderItemsToCart(\n input: {\n purchase_order_uid: $purchaseOrderUid\n cart_id: $cartId\n replace_existing_cart_items: $replaceExistingCartItems\n }\n ) {\n cart {\n id\n itemsV2 {\n items {\n uid\n quantity\n product {\n uid\n name\n sku\n }\n }\n page_info {\n current_page\n page_size\n total_pages\n }\n total_count\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 { transformCart } from '@/b2b-purchase-order/data/transforms';\nimport { ADD_PURCHASE_ORDER_ITEMS_TO_CART } from '@/b2b-purchase-order/api/addPurchaseOrderItemsToCart/graphql/addPurchaseOrderItemsToCart.graphql';\nimport { CartModel } from '@/b2b-purchase-order/data/models';\n\nexport const addPurchaseOrderItemsToCart = async (\n purchaseOrderUid: string,\n cartId: string,\n replaceExistingCartItems: boolean = false\n): Promise<CartModel> => {\n if (!purchaseOrderUid) {\n throw new Error('Purchase Order UID is required');\n }\n\n if (!cartId) {\n throw new Error('Cart ID is required');\n }\n\n const variables = {\n purchaseOrderUid,\n cartId,\n replaceExistingCartItems,\n };\n\n return fetchGraphQl(ADD_PURCHASE_ORDER_ITEMS_TO_CART, {\n variables,\n })\n .then((response: any) => {\n if (response.errors?.length) {\n handleFetchError(response.errors);\n }\n\n const cartData = response.data?.addPurchaseOrderItemsToCart;\n if (!cartData?.cart) {\n throw new Error('Failed to add purchase order items to cart');\n }\n\n return transformCart(cartData);\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 CREATE_PURCHASE_ORDER_APPROVAL_RULE = /* GraphQL */ `\n mutation CREATE_PURCHASE_ORDER_APPROVAL_RULE(\n $input: PurchaseOrderApprovalRuleInput!\n ) {\n createPurchaseOrderApprovalRule(input: $input) {\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 permissions {\n id\n sort_order\n text\n }\n }\n condition {\n attribute\n operator\n }\n approver_roles {\n id\n name\n users_count\n permissions {\n id\n sort_order\n text\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 { CREATE_PURCHASE_ORDER_APPROVAL_RULE } from '@/b2b-purchase-order/api/createPurchaseOrderApprovalRule/graphql/createPurchaseOrderApprovalRule.graphql';\nimport { PurchaseOrderApprovalRuleModel } from '@/b2b-purchase-order/data/models/purchase-order-approval-rule-model';\nimport { transformPurchaseOrderApprovalRule } from '@/b2b-purchase-order/data/transforms';\n\nexport const createPurchaseOrderApprovalRule = async (\n input: any\n): Promise<PurchaseOrderApprovalRuleModel> => {\n if (!input.name || input.name.trim() === '') {\n throw new Error('Rule name is required');\n }\n\n return fetchGraphQl(CREATE_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?.createPurchaseOrderApprovalRule;\n if (!result) {\n throw new Error('Failed to create purchase order approval rule');\n }\n\n return transformPurchaseOrderApprovalRule(\n response.data.createPurchaseOrderApprovalRule\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 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 UPDATE_PURCHASE_ORDER_APPROVAL_RULE = /* GraphQL */ `\n mutation UPDATE_PURCHASE_ORDER_APPROVAL_RULE(\n $input: UpdatePurchaseOrderApprovalRuleInput!\n ) {\n updatePurchaseOrderApprovalRule(input: $input) {\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 permissions {\n id\n sort_order\n text\n }\n }\n condition {\n attribute\n operator\n }\n approver_roles {\n id\n name\n users_count\n permissions {\n id\n sort_order\n text\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 { UPDATE_PURCHASE_ORDER_APPROVAL_RULE } from '@/b2b-purchase-order/api/updatePurchaseOrderApprovalRule/graphql/updatePurchaseOrderApprovalRule.graphql';\nimport { transformPurchaseOrderApprovalRule } from '@/b2b-purchase-order/data/transforms';\nimport { PurchaseOrderApprovalRuleModel } from '@/b2b-purchase-order/data/models/purchase-order-approval-rule-model';\n\nexport const updatePurchaseOrderApprovalRule = async (\n input: any\n): Promise<PurchaseOrderApprovalRuleModel> => {\n if (!input.uid || input.uid.trim() === '') {\n throw new Error('Approval Rule UID is required');\n }\n\n return fetchGraphQl(UPDATE_PURCHASE_ORDER_APPROVAL_RULE, {\n variables: { input },\n })\n .then((response: any) => {\n if (response.errors?.length) {\n handleFetchError(response.errors);\n }\n\n return transformPurchaseOrderApprovalRule(\n response.data?.updatePurchaseOrderApprovalRule || {}\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 = /* GraphQL */ `\n query GET_PURCHASE_ORDER($uid: ID!) {\n customer {\n purchase_order(uid: $uid) {\n uid\n number\n created_at\n updated_at\n status\n available_actions\n created_by {\n firstname\n lastname\n email\n }\n order {\n id\n number\n total {\n grand_total {\n value\n currency\n }\n }\n }\n quote {\n prices {\n grand_total {\n value\n currency\n }\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 { handleFetchError } from '@/b2b-purchase-order/lib/fetch-error';\nimport { GET_PURCHASE_ORDER } from '@/b2b-purchase-order/api/getPurchaseOrder/graphql/getPurchaseOrder.graphql';\nimport { transformPurchaseOrder } from '@/b2b-purchase-order/data/transforms/transform-purchase-order';\nimport { PurchaseOrderModel } from '@/b2b-purchase-order/data/models';\n\nexport const getPurchaseOrder = async (\n uid: string\n): Promise<{\n purchaseOrder: PurchaseOrderModel;\n}> => {\n if (!uid || uid.trim() === '') {\n throw new Error('Purchase Order UID is required');\n }\n\n return fetchGraphQl(GET_PURCHASE_ORDER, {\n variables: { uid },\n })\n .then((response: any) => {\n if (response.errors?.length) {\n handleFetchError(response.errors);\n }\n\n const result = response.data?.customer?.purchase_order;\n if (!result) {\n throw new Error('Failed to get purchase order');\n }\n\n return {\n purchaseOrder: transformPurchaseOrder(result),\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 PLACE_ORDER_FOR_PURCHASE_ORDER = /* GraphQL */ `\n mutation PLACE_ORDER_FOR_PURCHASE_ORDER(\n $input: PlaceOrderForPurchaseOrderInput!\n ) {\n placeOrderForPurchaseOrder(input: $input) {\n order {\n available_actions\n carrier\n email\n gift_receipt_included\n id\n is_virtual\n number\n order_date\n order_status_change_date\n printed_card_included\n shipping_method\n status\n token\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 { PLACE_ORDER_FOR_PURCHASE_ORDER } from '@/b2b-purchase-order/api/placeOrderForPurchaseOrder/graphql/placeOrderForPurchaseOrder.graphql';\nimport { transformCustomerOrder } from '@/b2b-purchase-order/data/transforms/transform-customer-order';\nimport { CustomerOrderModel } from '@/b2b-purchase-order/data/models';\n\nexport const placeOrderForPurchaseOrder = async (\n purchaseOrderUid: string\n): Promise<CustomerOrderModel> => {\n if (!purchaseOrderUid || purchaseOrderUid.trim() === '') {\n throw new Error('Purchase Order UID is required');\n }\n\n const input = {\n purchase_order_uid: purchaseOrderUid,\n };\n\n try {\n const response: any = await fetchGraphQl(PLACE_ORDER_FOR_PURCHASE_ORDER, {\n variables: { input },\n });\n\n if (response.errors?.length) {\n handleFetchError(response.errors);\n }\n\n return transformCustomerOrder(response);\n } catch (error) {\n throw handleNetworkError(error as Error);\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 PLACE_PURCHASE_ORDER = /* GraphQL */ `\n mutation PLACE_PURCHASE_ORDER($input: PlacePurchaseOrderInput!) {\n placePurchaseOrder(input: $input) {\n purchase_order {\n ...PURCHASE_ORDERS_FRAGMENT\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 { PLACE_PURCHASE_ORDER } from '@/b2b-purchase-order/api/placePurchaseOrder/graphql/placePurchaseOrder.graphql';\nimport { transformPurchaseOrder } from '@/b2b-purchase-order/data/transforms/transform-purchase-order';\nimport { PurchaseOrderModel } from '@/b2b-purchase-order/data/models';\n\nexport const placePurchaseOrder = async (\n cartId: string\n): Promise<{ purchaseOrder: PurchaseOrderModel }> => {\n if (!cartId || cartId.trim() === '') {\n throw new Error('Cart ID is required');\n }\n\n const input = {\n cart_id: cartId,\n };\n\n return fetchGraphQl(PLACE_PURCHASE_ORDER, {\n variables: { input },\n })\n .then((response: any) => {\n if (response.errors?.length) {\n handleFetchError(response.errors);\n }\n\n const rawPurchaseOrder =\n response.data?.placePurchaseOrder?.purchase_order;\n return {\n purchaseOrder: transformPurchaseOrder(rawPurchaseOrder),\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_RULE_METADATA = /* GraphQL */ `\n query GET_PURCHASE_ORDER_APPROVAL_RULE_METADATA {\n customer {\n purchase_order_approval_rule_metadata {\n available_applies_to {\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 available_requires_approval_from {\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 }\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_RULE_METADATA } from '@/b2b-purchase-order/api/getPurchaseOrderApprovalRuleMetadata/graphql/getPurchaseOrderApprovalRuleMetadata.graphql';\nimport { transformPurchaseOrderApprovalRuleMetadata } from '@/b2b-purchase-order/data/transforms/transform-purchase-order-approval-rule-metadata';\nimport { PurchaseOrderApprovalRuleMetadataModel } from '@/b2b-purchase-order/data/models';\n\nexport const getPurchaseOrderApprovalRuleMetadata =\n async (): Promise<PurchaseOrderApprovalRuleMetadataModel> => {\n return fetchGraphQl(GET_PURCHASE_ORDER_APPROVAL_RULE_METADATA, {\n variables: {},\n })\n .then((response: any) => {\n if (response.errors?.length) {\n handleFetchError(response.errors);\n }\n\n return transformPurchaseOrderApprovalRuleMetadata(response);\n })\n .catch(handleNetworkError);\n };\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_CUSTOMER_ROLE_PERMISSIONS = /* GraphQL */ `\n query GET_CUSTOMER_ROLE_PERMISSIONS {\n customer {\n purchase_orders_enabled\n role {\n id\n name\n permissions {\n id\n text\n sort_order\n children {\n # 2\n id\n text\n sort_order\n children {\n # 3\n id\n text\n sort_order\n children {\n # 4\n id\n text\n sort_order\n children {\n # 5\n id\n text\n sort_order\n children {\n # 6\n id\n text\n sort_order\n }\n }\n }\n }\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 { CustomerRolePermissionsModel } from '@/b2b-purchase-order/data/models/customer-role-permissions-model';\n\nconst collectPermissionIds = (permissions: any[]): Set<string> => {\n const permissionIds = new Set<string>();\n\n const collectRecursive = (perms: any[]) => {\n perms.forEach((perm: any) => {\n if (perm?.id) {\n permissionIds.add(perm.id);\n }\n if (perm?.children && Array.isArray(perm.children)) {\n collectRecursive(perm.children);\n }\n });\n };\n\n if (permissions && Array.isArray(permissions)) {\n collectRecursive(permissions);\n }\n\n return permissionIds;\n};\n\nexport const transformCustomerRolePermissions = (\n response: any\n): CustomerRolePermissionsModel => {\n const roleData = response?.data?.customer?.role;\n const purchaseOrderEnabled =\n response?.data?.customer?.purchase_orders_enabled ?? false;\n const isAdmin =\n response?.data?.customer?.role?.permissions?.length === 0 &&\n response?.data?.customer?.role?.name === 'Company Administrator';\n\n if (!roleData) {\n return {\n isAdmin: false,\n purchaseOrderEnabled,\n role: {\n id: '',\n name: '',\n },\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 permissionIds = collectPermissionIds(roleData.permissions || []);\n const hasPermission = (permissionId: string): boolean =>\n permissionIds.has(permissionId);\n\n return {\n isAdmin,\n purchaseOrderEnabled,\n role: {\n id: roleData.id || '',\n name: roleData.name || '',\n },\n permissions: {\n purchaseOrderAll: isAdmin || hasPermission('Magento_PurchaseOrder::all'),\n viewPurchaseOrders:\n isAdmin || hasPermission('Magento_PurchaseOrder::view_purchase_orders'),\n viewPurchaseOrdersForSubordinates:\n isAdmin ||\n hasPermission(\n 'Magento_PurchaseOrder::view_purchase_orders_for_subordinates'\n ),\n viewPurchaseOrdersForCompany:\n isAdmin ||\n hasPermission(\n 'Magento_PurchaseOrder::view_purchase_orders_for_company'\n ),\n autoApprovePurchaseOrder:\n isAdmin ||\n hasPermission('Magento_PurchaseOrder::autoapprove_purchase_order'),\n superApprovePurchaseOrder:\n isAdmin ||\n hasPermission(\n 'Magento_PurchaseOrderRule::super_approve_purchase_order'\n ),\n viewApprovalRules:\n isAdmin ||\n hasPermission('Magento_PurchaseOrderRule::view_approval_rules'),\n manageApprovalRules:\n isAdmin ||\n hasPermission('Magento_PurchaseOrderRule::manage_approval_rules'),\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_CUSTOMER_ROLE_PERMISSIONS } from '@/b2b-purchase-order/api/getCustomerRolePermissions/graphql/getCustomerRolePermissions';\nimport { transformCustomerRolePermissions } from '@/b2b-purchase-order/data/transforms/transform-customer-role-permissions';\nimport { CustomerRolePermissionsModel } from '@/b2b-purchase-order/data/models';\n\nexport const getCustomerRolePermissions =\n async (): Promise<CustomerRolePermissionsModel> => {\n return fetchGraphQl(GET_CUSTOMER_ROLE_PERMISSIONS, {\n variables: {},\n })\n .then((response: any) => {\n if (response.errors?.length) {\n handleFetchError(response.errors);\n }\n\n return transformCustomerRolePermissions(response);\n })\n .catch(handleNetworkError);\n };\n"],"names":["sharedPromise","getPermissions","cached","getCustomerRolePermissions","data","clearPermissionsCache","initialize","Initializer","config","defaultConfig","events","isAuthenticated","permissionsData","CANCEL_PURCHASE_ORDERS","PURCHASE_ORDERS_FRAGMENT","cancelPurchaseOrders","uids","uidArray","uid","fetchGraphQl","response","_a","handleFetchError","_b","error","_c","order","transformPurchaseOrder","handleNetworkError","VALIDATE_PURCHASE_ORDERS","validatePurchaseOrders","ADD_PURCHASE_ORDER_COMMENT","transformCart","cartItems","item","_f","_e","_d","_i","_h","_g","_l","_k","_j","_n","_m","_o","transformCustomerOrder","orderData","transformMoney","money","transformCoupon","coupon","transformGiftCard","giftCard","transformAddress","address","transformPaymentMethod","payment","transformOrderItem","transformShipmentTracking","tracking","transformShipmentComment","comment","transformShipmentItem","transformShipment","shipment","transformCustomerInfo","customerInfo","transformOrderDiscount","discount","transformOrderTotal","total","transformOrderData","transformPurchaseOrderApprovalRuleMetadata","metadata","transformCompanyRolePermission","permission","transformCompanyRole","role","availableAppliesTo","availableRequiresApprovalFrom","transformPurchaseOrderApprovalRule","approvalRule","transformCondition","condition","transformPurchaseOrderComment","addPurchaseOrderComment","ADD_PURCHASE_ORDER_ITEMS_TO_CART","addPurchaseOrderItemsToCart","purchaseOrderUid","cartId","replaceExistingCartItems","cartData","CREATE_PURCHASE_ORDER_APPROVAL_RULE","createPurchaseOrderApprovalRule","input","DELETE_PURCHASE_ORDER_APPROVAL_RULE","deletePurchaseOrderApprovalRule","UPDATE_PURCHASE_ORDER_APPROVAL_RULE","updatePurchaseOrderApprovalRule","GET_PURCHASE_ORDER","getPurchaseOrder","result","PLACE_ORDER_FOR_PURCHASE_ORDER","placeOrderForPurchaseOrder","PLACE_PURCHASE_ORDER","placePurchaseOrder","rawPurchaseOrder","GET_PURCHASE_ORDER_APPROVAL_RULE_METADATA","getPurchaseOrderApprovalRuleMetadata","GET_CUSTOMER_ROLE_PERMISSIONS","collectPermissionIds","permissions","permissionIds","collectRecursive","perms","perm","transformCustomerRolePermissions","roleData","purchaseOrderEnabled","isAdmin","hasPermission","permissionId"],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/*! Copyright 2025 Adobe
|
|
2
|
+
All Rights Reserved. */
|
|
3
|
+
import{jsxs as e,jsx as a}from"@dropins/tools/preact-jsx-runtime.js";import{classes as t}from"@dropins/tools/lib.js";import"./usePurchaseOrders.js";import{Button as c}from"@dropins/tools/components.js";const h=({loading:s,selectedCount:r,className:i,handleRejectSelected:o,handleApproveSelected:d})=>e("div",{className:t(["b2b-purchase-order-purchase-orders-table-actions",i]),children:[e("div",{children:["Selected ",r]}),e("div",{className:"b2b-purchase-order-purchase-orders-table-actions__buttons",children:[a(c,{variant:"secondary",onClick:o,disabled:s||r===0,children:"Reject selected"}),a(c,{variant:"primary",onClick:d,disabled:s||r===0,children:"Approve selected"})]})]});export{h as P};
|
|
4
|
+
//# sourceMappingURL=PurchaseOrdersTableActions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PurchaseOrdersTableActions.js","sources":["/@dropins/storefront-purchase-order/src/components/PurchaseOrdersTableActions/PurchaseOrdersTableActions.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 { FunctionComponent } from 'preact';\nimport { classes } from '@adobe-commerce/elsie/lib';\nimport '@/b2b-purchase-order/components/PurchaseOrdersTableActions/PurchaseOrdersTableActions.css';\nimport { Button } from '@adobe-commerce/elsie/components';\nimport { PurchaseOrdersTableActionsProps } from '@/b2b-purchase-order/types/components';\n\nexport const PurchaseOrdersTableActions: FunctionComponent<\n PurchaseOrdersTableActionsProps\n> = ({\n loading,\n selectedCount,\n className,\n handleRejectSelected,\n handleApproveSelected,\n}) => {\n return (\n <div\n className={classes([\n 'b2b-purchase-order-purchase-orders-table-actions',\n className,\n ])}\n >\n <div>Selected {selectedCount}</div>\n <div\n className={'b2b-purchase-order-purchase-orders-table-actions__buttons'}\n >\n <Button\n variant=\"secondary\"\n onClick={handleRejectSelected}\n disabled={loading || selectedCount === 0}\n >\n Reject selected\n </Button>\n <Button\n variant=\"primary\"\n onClick={handleApproveSelected}\n disabled={loading || selectedCount === 0}\n >\n Approve selected\n </Button>\n </div>\n </div>\n );\n};\n"],"names":["PurchaseOrdersTableActions","loading","selectedCount","className","handleRejectSelected","handleApproveSelected","jsxs","classes","jsx","Button"],"mappings":"0MAuBO,MAAMA,EAET,CAAC,CACH,QAAAC,EACA,cAAAC,EACA,UAAAC,EACA,qBAAAC,EACA,sBAAAC,CACF,IAEIC,EAAC,MAAA,CACC,UAAWC,EAAQ,CACjB,mDACAJ,CAAA,CACD,EAED,SAAA,CAAAG,EAAC,MAAA,CAAI,SAAA,CAAA,YAAUJ,CAAA,EAAc,EAC7BI,EAAC,MAAA,CACC,UAAW,4DAEX,SAAA,CAAAE,EAACC,EAAA,CACC,QAAQ,YACR,QAASL,EACT,SAAUH,GAAWC,IAAkB,EACxC,SAAA,iBAAA,CAAA,EAGDM,EAACC,EAAA,CACC,QAAQ,UACR,QAASJ,EACT,SAAUJ,GAAWC,IAAkB,EACxC,SAAA,kBAAA,CAAA,CAED,CAAA,CAAA,CACF,CAAA,CAAA"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/*! Copyright 2025 Adobe
|
|
2
|
+
All Rights Reserved. */
|
|
3
|
+
import{FetchGraphQL as N}from"@dropins/tools/fetch-graphql.js";import{events as D}from"@dropins/tools/event-bus.js";const S=t=>{const n=t.map(l=>l.message).join(" ");throw Error(n)},w=t=>{const n=t instanceof DOMException&&t.name==="AbortError",l=t.name==="PlaceOrderError";throw!n&&!l&&D.emit("purchase-order/error",{source:"purchase-order",type:"network",error:t.message}),t},e=t=>{if(t==null||typeof t!="object")return t;if(Array.isArray(t))return t.map(e);const n={};for(const[l,o]of Object.entries(t)){const i=l.replace(/[A-Z]/g,E=>`_${E.toLowerCase()}`);n[i]=e(o)}return n},{setEndpoint:V,setFetchGraphQlHeader:L,removeFetchGraphQlHeader:J,setFetchGraphQlHeaders:B,fetchGraphQl:b,getConfig:K}=new N().getMethods(),C=`
|
|
4
|
+
fragment PURCHASE_ORDERS_FRAGMENT on PurchaseOrder {
|
|
5
|
+
__typename
|
|
6
|
+
uid
|
|
7
|
+
number
|
|
8
|
+
status
|
|
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
|
+
comments {
|
|
21
|
+
created_at
|
|
22
|
+
author {
|
|
23
|
+
firstname
|
|
24
|
+
lastname
|
|
25
|
+
email
|
|
26
|
+
}
|
|
27
|
+
text
|
|
28
|
+
}
|
|
29
|
+
created_at
|
|
30
|
+
updated_at
|
|
31
|
+
created_by {
|
|
32
|
+
firstname
|
|
33
|
+
lastname
|
|
34
|
+
email
|
|
35
|
+
}
|
|
36
|
+
history_log {
|
|
37
|
+
activity
|
|
38
|
+
created_at
|
|
39
|
+
message
|
|
40
|
+
uid
|
|
41
|
+
}
|
|
42
|
+
order {
|
|
43
|
+
number
|
|
44
|
+
}
|
|
45
|
+
quote {
|
|
46
|
+
id
|
|
47
|
+
prices {
|
|
48
|
+
grand_total {
|
|
49
|
+
value
|
|
50
|
+
currency
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
itemsV2 {
|
|
54
|
+
items {
|
|
55
|
+
uid
|
|
56
|
+
quantity
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
`,v=`
|
|
62
|
+
mutation APPROVE_PURCHASE_ORDERS($input: PurchaseOrdersActionInput!) {
|
|
63
|
+
approvePurchaseOrders(input: $input) {
|
|
64
|
+
purchase_orders {
|
|
65
|
+
...PURCHASE_ORDERS_FRAGMENT
|
|
66
|
+
}
|
|
67
|
+
errors {
|
|
68
|
+
message
|
|
69
|
+
type
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
${C}
|
|
74
|
+
`,U=t=>{var n,l,o,i,E,f,s,_,y,R,A,P,m,g,u,F,H,$,q,G;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:((o=(l=t==null?void 0:t.approval_flow)==null?void 0:l.events)==null?void 0:o.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 I,T,M;return{createdAt:(a==null?void 0:a.created_at)??"",author:{firstname:((I=a==null?void 0:a.author)==null?void 0:I.firstname)??"",lastname:((T=a==null?void 0:a.author)==null?void 0:T.lastname)??"",email:((M=a==null?void 0:a.author)==null?void 0:M.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:((E=t==null?void 0:t.created_by)==null?void 0:E.firstname)??"",lastname:((f=t==null?void 0:t.created_by)==null?void 0:f.lastname)??"",email:((s=t==null?void 0:t.created_by)==null?void 0:s.email)??""},historyLog:((_=t==null?void 0:t.history_log)==null?void 0:_.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:((R=t==null?void 0:t.order)==null?void 0:R.id)??""},quote:{id:((A=t==null?void 0:t.quote)==null?void 0:A.id)??"",prices:{grandTotal:{value:((g=(m=(P=t==null?void 0:t.quote)==null?void 0:P.prices)==null?void 0:m.grand_total)==null?void 0:g.value)??0,currency:((H=(F=(u=t==null?void 0:t.quote)==null?void 0:u.prices)==null?void 0:F.grand_total)==null?void 0:H.currency)??""}},itemsV2:{items:((G=(q=($=t==null?void 0:t.quote)==null?void 0:$.itemsV2)==null?void 0:q.items)==null?void 0:G.map(a=>({uid:(a==null?void 0:a.uid)??"",quantity:(a==null?void 0:a.quantity)??0})))??[]}}}},Z=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(o=>!o||o.trim()===""))throw new Error("All Purchase Order UIDs must be valid");return b(v,{variables:{input:{purchase_order_uids:n}}}).then(o=>{var E,f,s;(E=o.errors)!=null&&E.length&&S(o.errors);const i=(f=o.data)==null?void 0:f.approvePurchaseOrders;if(!i)throw new Error("Failed to approve purchase orders");return{errors:((i==null?void 0:i.errors)??[]).map(_=>({message:(_==null?void 0:_.message)??"",type:(_==null?void 0:_.type)??""})),purchaseOrders:((s=i==null?void 0:i.purchase_orders)==null?void 0:s.map(_=>U(_)))??[]}}).catch(w)},z=`
|
|
75
|
+
mutation REJECT_PURCHASE_ORDERS($input: PurchaseOrdersActionInput!) {
|
|
76
|
+
rejectPurchaseOrders(input: $input) {
|
|
77
|
+
purchase_orders {
|
|
78
|
+
...PURCHASE_ORDERS_FRAGMENT
|
|
79
|
+
}
|
|
80
|
+
errors {
|
|
81
|
+
message
|
|
82
|
+
type
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
${C}
|
|
87
|
+
`,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(o=>!o||o.trim()===""))throw new Error("All Purchase Order UIDs must be valid");return b(z,{variables:{input:{purchase_order_uids:n}}}).then(o=>{var E,f;(E=o.errors)!=null&&E.length&&S(o.errors);const i=(f=o.data)==null?void 0:f.rejectPurchaseOrders;return{errors:((i==null?void 0:i.errors)??[]).map(s=>({message:(s==null?void 0:s.message)??"",type:(s==null?void 0:s.type)??""})),purchaseOrders:((i==null?void 0:i.purchase_orders)??[]).map(U)}}).catch(w)},k=`
|
|
88
|
+
query GET_PURCHASE_ORDERS(
|
|
89
|
+
$filter: PurchaseOrdersFilterInput
|
|
90
|
+
$pageSize: Int
|
|
91
|
+
$currentPage: Int
|
|
92
|
+
) {
|
|
93
|
+
customer {
|
|
94
|
+
purchase_orders(
|
|
95
|
+
filter: $filter
|
|
96
|
+
pageSize: $pageSize
|
|
97
|
+
currentPage: $currentPage
|
|
98
|
+
) {
|
|
99
|
+
total_count
|
|
100
|
+
page_info {
|
|
101
|
+
current_page
|
|
102
|
+
page_size
|
|
103
|
+
total_pages
|
|
104
|
+
}
|
|
105
|
+
items {
|
|
106
|
+
...PURCHASE_ORDERS_FRAGMENT
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
${C}
|
|
112
|
+
`,W=async(t,n=20,l=1)=>b(k,{variables:{filter:e(t),pageSize:n,currentPage:l}}).then(o=>{var s,_,y,R,A,P,m,g;if((s=o.errors)!=null&&s.length&&S(o.errors),!((y=(_=o.data)==null?void 0:_.customer)!=null&&y.purchase_orders))throw new Error("Failed to get purchase orders");const i=(A=(R=o==null?void 0:o.data)==null?void 0:R.customer)==null?void 0:A.purchase_orders,E=(i==null?void 0:i.total_count)??0,f={currentPage:((P=i==null?void 0:i.page_info)==null?void 0:P.current_page)??1,pageSize:((m=i==null?void 0:i.page_info)==null?void 0:m.page_size)??20,totalPages:((g=i==null?void 0:i.page_info)==null?void 0:g.total_pages)??1};return{totalCount:E,pageInfo:f,purchaseOrderItems:((i==null?void 0:i.items)||[]).map(U)}}).catch(w);export{C as P,Z as a,w as b,L as c,J as d,B as e,b as f,W as g,S as h,K as i,j as r,V as s,U as t};
|
|
113
|
+
//# sourceMappingURL=getPurchaseOrders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPurchaseOrders.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/lib/case-converter.ts","/@dropins/storefront-purchase-order/src/api/fetch-graphql/fetch-graphql.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/** 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","/********************************************************************\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","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","/********************************************************************\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":["handleFetchError","errors","errorMessage","e","handleNetworkError","error","isAbortError","isPlaceOrderError","events","toSnakeCase","obj","result","key","value","snakeKey","letter","setEndpoint","setFetchGraphQlHeader","removeFetchGraphQlHeader","setFetchGraphQlHeaders","fetchGraphQl","getConfig","FetchGraphQL","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","response","data","order","REJECT_PURCHASE_ORDERS","rejectPurchaseOrders","GET_PURCHASE_ORDERS","getPurchaseOrders","filter","pageSize","currentPage","purchaseOrdersData","totalCount","pageInfo"],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/*! Copyright 2025 Adobe
|
|
2
|
+
All Rights Reserved. */
|
|
3
|
+
import{jsxs as $,jsx as c}from"@dropins/tools/preact-jsx-runtime.js";import{Card as te,InLineAlert as se,Table as ae,Pagination as ne,Picker as ce,Header as oe}from"@dropins/tools/components.js";import{classes as ie}from"@dropins/tools/lib.js";import"@dropins/tools/event-bus.js";import{useText as le,Text as L}from"@dropins/tools/i18n.js";import{useState as S,useEffect as F,useCallback as A,useMemo as U}from"@dropins/tools/preact-hooks.js";import{g as de,r as ue,a as he}from"./getPurchaseOrders.js";const pe=s=>{try{return new URL(s,window.location.origin).origin===window.location.origin}catch{return s.startsWith("/")||s.startsWith("./")||s.startsWith("../")}},J=(s,i="en-US")=>{try{const o=new Date(s);return isNaN(o.getTime())?s:o.toLocaleString(i,{year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"2-digit",second:"2-digit",hour12:!0})}catch{return s}},ge=(s,i,o)=>{if(o<=0)return{from:0,to:0,total:0};const u=Math.max(1,Math.ceil(o/i)),p=Math.min(Math.max(s,1),u),n=(p-1)*i+1,l=Math.min(p*i,o);return{from:n,to:l,total:o}},Ae=({pageSizeConfig:s,totalCount:i=0,columns:o=[],rows:u=[],paginationConfig:p,alertMessageConfig:n={heading:"",description:"",type:"success"},loading:l=!1,className:d="",variant:h="secondary",skeletonRowCount:_=10,emptyTitle:g,header:v,footer:m})=>{var N,k;const M=le({title:"PurchaseOrders.purchaseOrdersTable.noPurchaseOrders.default"}),{heading:I,description:f,type:V}=n,{currentPage:E,totalPages:y,handlePageChange:C}=p,{pageSizeOptionsList:P,onChange:H}=s,{from:z,to:j,total:R}=ge(E,+((N=P.find(T=>T.selected))==null?void 0:N.value)||0,i);return $(te,{variant:h,"data-testid":"addressCard",className:ie(["b2b-purchase-order-purchase-orders-table",d]),children:[I||f?c(se,{heading:I,description:f,type:V}):null,v?c("div",{className:"purchase-orders-table__header",children:v}):null,c(ae,{className:"purchase-orders-table__table-wrapper",mobileLayout:"stacked",columns:o,rowData:u,loading:l,skeletonRowCount:+_}),!l&&u.length===0&&c("div",{className:"purchase-orders-table__empty-state",role:"status","aria-live":"polite",children:c("p",{children:g||M.title})}),$("div",{className:"purchase-orders-table__pagination-wrapper",children:[i?c("div",{className:"purchase-orders-table__pagination-counter",children:c(L,{id:"PurchaseOrders.purchaseOrdersTable.pagination.status",fields:{from:z,to:j,total:R}})}):null,y>1&&c(ne,{className:"purchase-orders-table__pagination",currentPage:E,totalPages:y,onChange:C}),P.length?$("div",{className:"purchase-orders-table__pagination-page-size",children:[c(L,{id:"PurchaseOrders.purchaseOrdersTable.pagination.pageSizeLabel.start"}),c(ce,{disabled:l,handleSelect:H,options:P,value:((k=P.find(T=>T.selected))==null?void 0:k.value)||""}),c(L,{id:"PurchaseOrders.purchaseOrdersTable.pagination.pageSizeLabel.end"})]}):null]}),m?c("div",{className:"purchase-orders-table__footer",children:m}):null]})},_e=({headerText:s})=>c(oe,{title:s,divider:!1,className:"purchase-orders-header","data-testid":"purchase-orders-header"});var B=(s=>(s.CUSTOMER_PURCHASE_ORDERS="customerPurchaseOrders",s.COMPANY_PURCHASE_ORDERS="companyPurchaseOrders",s.CUSTOMER_APPROVAL_PURCHASE_ORDERS="customerApprovalPurchaseOrders",s))(B||{});const ve=[{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:"poNumber",label:"PO #"},{key:"orderNumber",label:"Order #"},{key:"createdDate",label:"Created"},{key:"updatedDate",label:"Updated"},{key:"createdBy",label:"Created By"},{key:"status",label:"Status"},{key:"total",label:"Total"},{key:"action",label:"Action"}],me=[{key:"checkboxView",label:""},...K],Se=({type:s,initialPageSize:i,routePurchaseOrderDetails:o,setColumns:u,setRowsData:p,t:n})=>{const l=s===B.COMPANY_PURCHASE_ORDERS,d=s===B.CUSTOMER_APPROVAL_PURCHASE_ORDERS,[h,_]=S([]),[g,v]=S([]),[m,M]=S(i),[I,f]=S(!0),[V,E]=S({currentPage:1,totalPages:1,totalCount:0}),[y,C]=S({heading:"",description:"",type:"success"}),{currentPage:P,totalPages:H,totalCount:z}=V;F(()=>{if(y.heading||y.description){const r=setTimeout(()=>{C({heading:"",description:"",type:"success"})},7e3);return()=>clearTimeout(r)}},[y]);const j=A(r=>{const t=r.target.value;M(e=>e.map(a=>({...a,selected:a.value===t})))},[]),R=U(()=>{const r=sessionStorage.getItem("b2b-po-permissions");if(!r)return!1;const t=JSON.parse(r);return t==null?void 0:t.isAdmin},[]),N=U(()=>{let r={};return l&&(r={companyPurchaseOrders:!0}),d&&(r={requireMyApproval:!0}),r},[l,d]);F(()=>{var t;f(!0);const r=(t=m==null?void 0:m.find(e=>e.selected))==null?void 0:t.value;de(N,parseInt(r||"20",10),P).then(e=>{var w,x;const a=(e==null?void 0:e.purchaseOrderItems)??[],b=(w=e==null?void 0:e.pageInfo)==null?void 0:w.currentPage,O=(x=e==null?void 0:e.pageInfo)==null?void 0:x.totalPages,D=e==null?void 0:e.totalCount;E({currentPage:b,totalPages:O,totalCount:D}),v(a)}).catch(e=>{console.error("Failed to fetch purchase orders:",e)}).finally(()=>{f(!1)})},[P,m,N]);const k=A(r=>{const t=o==null?void 0:o(r);return pe(t??"")?t:"#"},[o]),T=A(r=>{E(t=>({...t,currentPage:r}))},[]),q=A(r=>{const t=r.target.value,e=r.target.checked;_(a=>e?[...a,t]:a.filter(b=>b!==t))},[]),G=A(r=>{const t=r.target.checked;_(()=>t?g.filter(e=>["PENDING","APPROVAL_REQUIRED"].includes(e.status)).map(e=>e.uid??""):[])},[g]),X=A(()=>{ue(h).then(r=>{const t=(r==null?void 0:r.purchaseOrders)??[];v(e=>e.map(a=>t.find(O=>O.uid===a.uid)??a)),C({heading:n.alertHeaderReject,description:n.alertDescriptionReject,type:"success"}),_([])}).catch(r=>{C({heading:n.alertHeaderError,description:n.alertDescriptionError,type:"error"}),console.error(r)}).finally(()=>{f(!1)})},[h,n]),Z=A(()=>{f(!0),he(h).then(r=>{const t=(r==null?void 0:r.purchaseOrders)??[];v(e=>e.map(a=>t.find(O=>O.uid===a.uid)??a)),C({heading:n.alertHeaderApprove,description:n.alertDescriptionApprove,type:"success"}),_([])}).catch(r=>{C({heading:n.alertHeaderError,description:n.alertDescriptionError,type:"error"}),console.error(r)}).finally(()=>{f(!1)})},[h,n]),ee=U(()=>{const r=l||d?me:K;return(u==null?void 0:u(r))??r.map(e=>e.key==="checkboxView"&&(R||d)?{...e,label:c("input",{type:"checkbox",name:"selectAll",disabled:g.every(a=>!["PENDING","APPROVAL_REQUIRED"].includes(a.status)),onChange:G})}:{...e,label:n[e.key]||e.label})},[n,R,l,d,u,g,G]),re=U(()=>{const r=g.map(e=>{var b,O,D,w,x,Q,W,Y;const a=e.number??"";return{...R||d?{checkboxView:c("input",{type:"checkbox",name:a,value:e.uid,checked:h.includes(e.uid),onChange:q,disabled:!["PENDING","APPROVAL_REQUIRED"].includes(e.status)})}:{},poNumber:a,orderNumber:e.order.orderNumber,createdDate:J(e.createdAt),updatedDate:J(e.updatedAt),createdBy:`${((b=e.createdBy)==null?void 0:b.firstname)??""} ${((O=e.createdBy)==null?void 0:O.lastname)??""}`.trim(),status:c(L,{id:`PurchaseOrders.purchaseOrdersTable.statusOrder.${e.status.toLowerCase()}`}),total:`${(x=(w=(D=e==null?void 0:e.quote)==null?void 0:D.prices)==null?void 0:w.grandTotal)==null?void 0:x.value} ${(Y=(W=(Q=e==null?void 0:e.quote)==null?void 0:Q.prices)==null?void 0:W.grandTotal)==null?void 0:Y.currency}`,action:c("a",{href:k(a),"aria-label":`View purchase order ${a}`,children:n.actionView})}});let t=r;if(p){const e=p(r);e!==void 0&&Array.isArray(e)&&(t=e)}return t},[g,p,R,d,h,q,k,n.actionView]);return{totalCount:z,loading:I,tableConfig:{columns:ee,rows:re},paginationConfig:{currentPage:P,totalPages:H,handlePageChange:T},pageSizeConfig:{pageSizeOptionsList:m,onChange:j},selectedOrderIds:h,handleRejectSelected:X,handleApproveSelected:Z,isAdmin:R,isApproval:d,alertMessageConfig:y}};export{B as E,_e as P,Ae as a,ve as d,Se as u};
|
|
4
|
+
//# sourceMappingURL=usePurchaseOrders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePurchaseOrders.js","sources":["/@dropins/storefront-purchase-order/src/lib/isValidUrl.ts","/@dropins/storefront-purchase-order/src/lib/formatDate.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/types/api/api.enums.types.ts","/@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/hooks/usePurchaseOrders.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","/********************************************************************\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 * Format a date string to a localized format like \"Sep 8, 2025 6:32:13 AM\"\n * @param dateString - ISO date string or date string\n * @param locale - Locale for formatting (defaults to 'en-US')\n * @returns Formatted date string\n */\nexport const formatDate = (\n dateString: string,\n locale: string = 'en-US'\n): string => {\n try {\n const date = new Date(dateString);\n\n if (isNaN(date.getTime())) {\n return dateString; // Return original if invalid\n }\n\n return date.toLocaleString(locale, {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n hour: 'numeric',\n minute: '2-digit',\n second: '2-digit',\n hour12: true,\n });\n } catch (error) {\n return dateString; // Return original on error\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 } 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}) => {\n const t = useText({\n title: 'PurchaseOrders.purchaseOrdersTable.noPurchaseOrders.default',\n });\n\n const { heading, description, type } = alertMessageConfig;\n const { currentPage, totalPages, handlePageChange } = paginationConfig;\n const { pageSizeOptionsList, onChange } = pageSizeConfig;\n const { from, to, total } = getRange(\n currentPage,\n +pageSizeOptionsList.find((option) => option.selected)?.value! || 0,\n totalCount\n );\n\n return (\n <Card\n variant={variant}\n data-testid=\"addressCard\"\n className={classes([\n 'b2b-purchase-order-purchase-orders-table',\n className,\n ])}\n >\n {heading || description ? (\n <InLineAlert heading={heading} description={description} type={type} />\n ) : null}\n {header ? (\n <div className=\"purchase-orders-table__header\">{header}</div>\n ) : null}\n <Table\n className=\"purchase-orders-table__table-wrapper\"\n mobileLayout=\"stacked\"\n columns={columns}\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 <div className=\"purchase-orders-table__pagination-wrapper\">\n {totalCount ? (\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 ) : null}\n {totalPages > 1 && (\n <Pagination\n className=\"purchase-orders-table__pagination\"\n currentPage={currentPage}\n totalPages={totalPages}\n onChange={handlePageChange}\n />\n )}\n {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)?.value ||\n ''\n }\n />\n <Text id=\"PurchaseOrders.purchaseOrdersTable.pagination.pageSizeLabel.end\" />\n </div>\n ) : null}\n </div>\n {footer ? (\n <div className=\"purchase-orders-table__footer\">{footer}</div>\n ) : null}\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","export enum PurchaseOrderApprovalRuleStatus {\n ENABLED = 'ENABLED',\n DISABLED = 'DISABLED',\n}\n\nexport enum PurchaseOrderApprovalRuleType {\n GRAND_TOTAL = 'GRAND_TOTAL',\n SHIPPING_INCL_TAX = 'SHIPPING_INCL_TAX',\n NUMBER_OF_SKUS = 'NUMBER_OF_SKUS',\n}\n\nexport enum PurchaseOrderApprovalRuleConditionOperator {\n MORE_THAN = 'MORE_THAN',\n LESS_THAN = 'LESS_THAN',\n MORE_THAN_OR_EQUAL_TO = 'MORE_THAN_OR_EQUAL_TO',\n LESS_THAN_OR_EQUAL_TO = 'LESS_THAN_OR_EQUAL_TO',\n}\n\nexport enum EnumPurchaseOrderType {\n CUSTOMER_PURCHASE_ORDERS = 'customerPurchaseOrders',\n COMPANY_PURCHASE_ORDERS = 'companyPurchaseOrders',\n CUSTOMER_APPROVAL_PURCHASE_ORDERS = 'customerApprovalPurchaseOrders',\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: 'poNumber', label: 'PO #' },\n { key: 'orderNumber', label: 'Order #' },\n { key: 'createdDate', label: 'Created' },\n { key: 'updatedDate', label: 'Updated' },\n {\n key: 'createdBy',\n label: 'Created By',\n },\n { key: 'status', label: 'Status' },\n { key: 'total', label: 'Total' },\n { key: 'action', label: 'Action' },\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 React from 'preact/compat';\nimport { useState, useEffect, useCallback, useMemo } from 'preact/hooks';\nimport { isValidUrl, formatDate } from '@/b2b-purchase-order/lib';\nimport {\n AlertMessageConfigType,\n UsePurchaseOrdersParams,\n UsePurchaseOrdersReturn,\n} from '@/b2b-purchase-order/types/hooks';\nimport { EnumPurchaseOrderType } from '@/b2b-purchase-order/types/api';\nimport { PurchaseOrderModel } from '@/b2b-purchase-order/data/models';\nimport {\n approvePurchaseOrders,\n getPurchaseOrders,\n rejectPurchaseOrders,\n} from '@/b2b-purchase-order/api';\nimport {\n defaultColumns,\n defaultCompanyColumns,\n} from '@/b2b-purchase-order/configs';\nimport { Text } from '@adobe-commerce/elsie/i18n';\n\nexport const usePurchaseOrders = ({\n type,\n initialPageSize,\n routePurchaseOrderDetails,\n setColumns,\n setRowsData,\n t,\n}: UsePurchaseOrdersParams): UsePurchaseOrdersReturn => {\n const isCompany = type === EnumPurchaseOrderType.COMPANY_PURCHASE_ORDERS;\n const isApproval =\n type === EnumPurchaseOrderType.CUSTOMER_APPROVAL_PURCHASE_ORDERS;\n const [selectedOrderIds, setSelectedOrderIds] = useState<string[]>([]);\n const [purchaseOrders, setPurchaseOrders] = useState<PurchaseOrderModel[]>(\n []\n );\n const [pageSizeOptionsList, setPageSizeOptionsList] =\n useState(initialPageSize);\n const [loading, setLoading] = useState<boolean>(true);\n const [pagination, setPagination] = useState({\n currentPage: 1,\n totalPages: 1,\n totalCount: 0,\n });\n const [alertMessageConfig, setAlertMessageConfig] =\n useState<AlertMessageConfigType>({\n heading: '',\n description: '',\n type: 'success',\n });\n\n // Derive pagination values\n const { currentPage, totalPages, totalCount } = pagination;\n\n // Auto-clear alert after 7 seconds\n useEffect(() => {\n if (alertMessageConfig.heading || alertMessageConfig.description) {\n const timeoutId = setTimeout(() => {\n setAlertMessageConfig({\n heading: '',\n description: '',\n type: 'success',\n });\n }, 7000); // 7 seconds\n\n return () => clearTimeout(timeoutId);\n }\n }, [alertMessageConfig]);\n\n const handleChangePageSize = useCallback((event: Event) => {\n const size = (event.target as HTMLSelectElement).value;\n\n setPageSizeOptionsList((prev) => {\n return prev.map((option) => ({\n ...option,\n selected: option.value === size,\n }));\n });\n }, []);\n\n const isAdmin = useMemo(() => {\n const b2bPoPermissions = sessionStorage.getItem('b2b-po-permissions');\n if (!b2bPoPermissions) return false;\n\n const parsedPermissions = JSON.parse(b2bPoPermissions);\n\n return parsedPermissions?.isAdmin;\n }, []);\n\n const filterConfig = useMemo(() => {\n let config = {};\n\n if (isCompany) {\n config = { companyPurchaseOrders: true };\n }\n\n if (isApproval) {\n config = { requireMyApproval: true };\n }\n\n return config;\n }, [isCompany, isApproval]);\n\n useEffect(() => {\n setLoading(true);\n const pageSize = pageSizeOptionsList?.find(\n (option) => option.selected\n )?.value;\n\n getPurchaseOrders(filterConfig, parseInt(pageSize || '20', 10), currentPage)\n .then((data) => {\n const purchaseOrders = data?.purchaseOrderItems ?? [];\n const responsePage = data?.pageInfo?.currentPage;\n const responseTotalPages = data?.pageInfo?.totalPages;\n const responseTotalCount = data?.totalCount;\n\n setPagination({\n currentPage: responsePage,\n totalPages: responseTotalPages,\n totalCount: responseTotalCount,\n });\n setPurchaseOrders(purchaseOrders);\n })\n .catch((error) => {\n // eslint-disable-next-line no-console\n console.error('Failed to fetch purchase orders:', error);\n })\n .finally(() => {\n setLoading(false);\n });\n }, [currentPage, pageSizeOptionsList, filterConfig]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const handlePurchaseOrderDetailsRedirect = useCallback(\n (poNumber: string): string => {\n const url = routePurchaseOrderDetails?.(poNumber) as string;\n\n if (!isValidUrl(url ?? '')) return '#';\n\n return url;\n },\n [routePurchaseOrderDetails]\n );\n\n const handlePageChange = useCallback((page: number) => {\n setPagination((prev) => ({ ...prev, currentPage: page }));\n }, []);\n\n const handleSelectedOrderId = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n const uid = (event.target as HTMLInputElement).value;\n const isChecked = (event.target as HTMLInputElement).checked;\n\n setSelectedOrderIds((prevSelected) => {\n if (isChecked) {\n return [...prevSelected, uid];\n }\n return prevSelected.filter((po) => po !== uid);\n });\n },\n []\n );\n\n const handleSelectedOrderIds = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n const isChecked = (event.target as HTMLInputElement).checked;\n setSelectedOrderIds(() =>\n isChecked\n ? purchaseOrders\n .filter((po) =>\n ['PENDING', 'APPROVAL_REQUIRED'].includes(po.status)\n )\n .map((po) => po.uid ?? '')\n : []\n );\n },\n [purchaseOrders]\n );\n\n const handleRejectSelected = useCallback(() => {\n rejectPurchaseOrders(selectedOrderIds)\n .then((data) => {\n const purchaseOrders = data?.purchaseOrders ?? [];\n setPurchaseOrders((prev) => {\n return prev.map((po) => {\n const updatedPo = purchaseOrders.find(\n (updated) => updated.uid === po.uid\n );\n return updatedPo ?? po;\n });\n });\n setAlertMessageConfig({\n heading: t.alertHeaderReject,\n description: t.alertDescriptionReject,\n type: 'success',\n });\n setSelectedOrderIds([]);\n })\n .catch((err) => {\n // eslint-disable-next-line no-console\n setAlertMessageConfig({\n heading: t.alertHeaderError,\n description: t.alertDescriptionError,\n type: 'error',\n });\n console.error(err);\n })\n .finally(() => {\n setLoading(false);\n });\n }, [selectedOrderIds, t]);\n\n const handleApproveSelected = useCallback(() => {\n setLoading(true);\n approvePurchaseOrders(selectedOrderIds)\n .then((data) => {\n const purchaseOrders = data?.purchaseOrders ?? [];\n setPurchaseOrders((prev) => {\n return prev.map((po) => {\n const updatedPo = purchaseOrders.find(\n (updated) => updated.uid === po.uid\n );\n return updatedPo ?? po;\n });\n });\n setAlertMessageConfig({\n heading: t.alertHeaderApprove,\n description: t.alertDescriptionApprove,\n type: 'success',\n });\n setSelectedOrderIds([]);\n })\n .catch((err) => {\n // eslint-disable-next-line no-console\n setAlertMessageConfig({\n heading: t.alertHeaderError,\n description: t.alertDescriptionError,\n type: 'error',\n });\n console.error(err);\n })\n .finally(() => {\n setLoading(false);\n });\n }, [selectedOrderIds, t]);\n\n const columns = useMemo(() => {\n const currentColumns =\n isCompany || isApproval ? defaultCompanyColumns : defaultColumns;\n\n const result =\n setColumns?.(currentColumns) ??\n currentColumns.map((col) => {\n if (col.key === 'checkboxView' && (isAdmin || isApproval)) {\n return {\n ...col,\n label: (\n <input\n type=\"checkbox\"\n name={'selectAll'}\n disabled={purchaseOrders.every(\n (po) => !['PENDING', 'APPROVAL_REQUIRED'].includes(po.status)\n )}\n onChange={handleSelectedOrderIds}\n />\n ),\n };\n }\n\n return {\n ...col,\n label: t[col.key as keyof typeof t] || col.label,\n };\n });\n\n return result;\n }, [\n t,\n isAdmin,\n isCompany,\n isApproval,\n setColumns,\n purchaseOrders,\n handleSelectedOrderIds,\n ]);\n\n const rows = useMemo(() => {\n const formattedPurchaseOrders = purchaseOrders.map((po) => {\n const poNumber = po.number ?? '';\n\n return {\n ...(isAdmin || isApproval\n ? {\n checkboxView: (\n <input\n type=\"checkbox\"\n name={poNumber}\n value={po.uid}\n checked={selectedOrderIds.includes(po.uid)}\n onChange={handleSelectedOrderId}\n disabled={\n !['PENDING', 'APPROVAL_REQUIRED'].includes(po.status)\n }\n />\n ),\n }\n : {}),\n poNumber,\n orderNumber: po.order.orderNumber,\n createdDate: formatDate(po.createdAt),\n updatedDate: formatDate(po.updatedAt),\n createdBy: `${po.createdBy?.firstname ?? ''} ${\n po.createdBy?.lastname ?? ''\n }`.trim(),\n status: (\n <Text\n id={`PurchaseOrders.purchaseOrdersTable.statusOrder.${po.status.toLowerCase()}`}\n />\n ),\n total: `${po?.quote?.prices?.grandTotal?.value} ${po?.quote?.prices?.grandTotal?.currency}`,\n action: (\n <a\n href={handlePurchaseOrderDetailsRedirect(poNumber)}\n aria-label={`View purchase order ${poNumber}`}\n >\n {t.actionView}\n </a>\n ),\n };\n });\n\n let finalRows = formattedPurchaseOrders;\n\n if (setRowsData) {\n const customRows = setRowsData(formattedPurchaseOrders);\n // If setRowsData returns something, use it, otherwise keep original data\n if (customRows !== undefined && Array.isArray(customRows)) {\n finalRows = customRows as typeof formattedPurchaseOrders;\n }\n }\n\n return finalRows;\n }, [\n purchaseOrders,\n setRowsData,\n isAdmin,\n isApproval,\n selectedOrderIds,\n handleSelectedOrderId,\n handlePurchaseOrderDetailsRedirect,\n t.actionView,\n ]);\n\n return {\n totalCount,\n loading,\n tableConfig: {\n columns,\n rows,\n },\n paginationConfig: {\n currentPage,\n totalPages,\n handlePageChange,\n },\n pageSizeConfig: {\n pageSizeOptionsList,\n onChange: handleChangePageSize,\n },\n selectedOrderIds,\n handleRejectSelected,\n handleApproveSelected,\n isAdmin,\n isApproval,\n alertMessageConfig,\n };\n};\n"],"names":["isValidUrl","url","formatDate","dateString","locale","date","getRange","currentPage","pageSize","total","maxPage","from","to","PurchaseOrdersTable","pageSizeConfig","totalCount","columns","rows","paginationConfig","alertMessageConfig","loading","className","variant","skeletonRowCount","emptyTitle","header","footer","t","useText","heading","description","type","totalPages","handlePageChange","pageSizeOptionsList","onChange","_a","option","jsxs","Card","classes","jsx","InLineAlert","Table","Text","Pagination","Picker","_b","PurchaseOrdersHeader","headerText","Header","EnumPurchaseOrderType","defaultPageSizeConfig","defaultColumns","defaultCompanyColumns","usePurchaseOrders","initialPageSize","routePurchaseOrderDetails","setColumns","setRowsData","isCompany","isApproval","selectedOrderIds","setSelectedOrderIds","useState","purchaseOrders","setPurchaseOrders","setPageSizeOptionsList","setLoading","pagination","setPagination","setAlertMessageConfig","useEffect","timeoutId","handleChangePageSize","useCallback","event","size","prev","isAdmin","useMemo","b2bPoPermissions","parsedPermissions","filterConfig","config","getPurchaseOrders","data","responsePage","responseTotalPages","responseTotalCount","error","handlePurchaseOrderDetailsRedirect","poNumber","page","handleSelectedOrderId","uid","isChecked","prevSelected","po","handleSelectedOrderIds","handleRejectSelected","rejectPurchaseOrders","updated","err","handleApproveSelected","approvePurchaseOrders","currentColumns","col","formattedPurchaseOrders","_e","_d","_c","_h","_g","_f","finalRows","customRows"],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/********************************************************************
|
|
2
|
+
* ADOBE CONFIDENTIAL
|
|
3
|
+
* __________________
|
|
4
|
+
*
|
|
5
|
+
* Copyright 2025 Adobe
|
|
6
|
+
* All Rights Reserved.
|
|
7
|
+
*
|
|
8
|
+
* NOTICE: All information contained herein is, and remains
|
|
9
|
+
* the property of Adobe and its suppliers, if any. The intellectual
|
|
10
|
+
* and technical concepts contained herein are proprietary to Adobe
|
|
11
|
+
* and its suppliers and are protected by all applicable intellectual
|
|
12
|
+
* property laws, including trade secret and copyright laws.
|
|
13
|
+
* Dissemination of this information or reproduction of this material
|
|
14
|
+
* is strictly forbidden unless prior written permission is obtained
|
|
15
|
+
* from Adobe.
|
|
16
|
+
*******************************************************************/
|
|
17
|
+
export * from './PurchaseOrdersHeader';
|
|
18
|
+
export { PurchaseOrdersHeader as default } from './PurchaseOrdersHeader';
|
|
19
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/********************************************************************
|
|
2
|
+
* ADOBE CONFIDENTIAL
|
|
3
|
+
* __________________
|
|
4
|
+
*
|
|
5
|
+
* Copyright 2025 Adobe
|
|
6
|
+
* All Rights Reserved.
|
|
7
|
+
*
|
|
8
|
+
* NOTICE: All information contained herein is, and remains
|
|
9
|
+
* the property of Adobe and its suppliers, if any. The intellectual
|
|
10
|
+
* and technical concepts contained herein are proprietary to Adobe
|
|
11
|
+
* and its suppliers and are protected by all applicable intellectual
|
|
12
|
+
* property laws, including trade secret and copyright laws.
|
|
13
|
+
* Dissemination of this information or reproduction of this material
|
|
14
|
+
* is strictly forbidden unless prior written permission is obtained
|
|
15
|
+
* from Adobe.
|
|
16
|
+
*******************************************************************/
|
|
17
|
+
export * from './PurchaseOrdersTable';
|
|
18
|
+
export { PurchaseOrdersTable as default } from './PurchaseOrdersTable';
|
|
19
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { FunctionComponent } from 'preact';
|
|
2
|
+
import { PurchaseOrdersTableActionsProps } from '../../types/components';
|
|
3
|
+
|
|
4
|
+
export declare const PurchaseOrdersTableActions: FunctionComponent<PurchaseOrdersTableActionsProps>;
|
|
5
|
+
//# sourceMappingURL=PurchaseOrdersTableActions.d.ts.map
|