@dropins/storefront-purchase-order 0.0.3-alpha1 → 0.0.4-alpha1
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/getPurchaseOrderApprovalRules/getPurchaseOrderApprovalRules.d.ts +12 -0
- package/api/getPurchaseOrderApprovalRules/graphql/getPurchaseOrderApprovalRules.graphql.d.ts +18 -0
- package/api/getPurchaseOrderApprovalRules/index.d.ts +18 -0
- package/api/index.d.ts +1 -0
- package/api.js +14 -25
- package/api.js.map +1 -1
- package/chunks/fetch-graphql.js +4 -0
- package/chunks/fetch-graphql.js.map +1 -0
- package/chunks/getPurchaseOrderApprovalRules.js +75 -0
- package/chunks/getPurchaseOrderApprovalRules.js.map +1 -0
- package/chunks/getPurchaseOrders.js +8 -8
- package/chunks/getPurchaseOrders.js.map +1 -1
- package/chunks/useCustomerRolePermissions.js +1 -1
- package/chunks/useCustomerRolePermissions.js.map +1 -1
- package/chunks/usePurchaseOrders.js +4 -0
- package/chunks/usePurchaseOrders.js.map +1 -0
- package/containers/CompanyPurchaseOrders.js +1 -1
- package/containers/CompanyPurchaseOrders.js.map +1 -1
- package/containers/CustomerPurchaseOrders.js +1 -1
- package/containers/CustomerPurchaseOrders.js.map +1 -1
- package/containers/PurchaseOrderApprovalRulesList/PurchaseOrderApprovalRulesList.d.ts +5 -0
- package/containers/PurchaseOrderApprovalRulesList/index.d.ts +19 -0
- package/containers/PurchaseOrderApprovalRulesList.d.ts +3 -0
- package/containers/PurchaseOrderApprovalRulesList.js +4 -0
- package/containers/PurchaseOrderApprovalRulesList.js.map +1 -0
- package/containers/PurchaseOrderConfirmation.js +1 -1
- package/containers/PurchaseOrderConfirmation.js.map +1 -1
- package/containers/RequireApprovalPurchaseOrders.js +1 -1
- package/containers/RequireApprovalPurchaseOrders.js.map +1 -1
- package/containers/index.d.ts +1 -0
- package/hooks/index.d.ts +1 -0
- package/hooks/useApprovalRulesList.d.ts +4 -0
- package/i18n/en_US.json.d.ts +96 -90
- package/mocks/index.d.ts +124 -0
- package/mocks/storybook/index.d.ts +1 -0
- package/package.json +1 -1
- package/render.js +2 -2
- package/render.js.map +1 -1
- package/types/components/purchaseOrdersTable.types.d.ts +6 -1
- package/types/containers/index.d.ts +1 -0
- package/types/containers/purchaseOrderApprovalRulesList.types.d.ts +15 -0
- package/types/hooks/index.d.ts +1 -0
- package/types/hooks/useApprovalRulesList.types.d.ts +29 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePurchaseOrders.js","sources":["/@dropins/storefront-purchase-order/src/lib/formatDate.ts","/@dropins/storefront-purchase-order/src/types/api/api.enums.types.ts","/@dropins/storefront-purchase-order/src/hooks/usePurchaseOrders.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\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 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 EnumPurchaseOrdersView {\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\nimport React from 'preact/compat';\nimport { useCallback, useEffect, useMemo, useState } from 'preact/hooks';\nimport { formatDate, isValidUrl } from '@/b2b-purchase-order/lib';\nimport {\n AlertMessageConfigType,\n UsePurchaseOrdersParams,\n UsePurchaseOrdersReturn,\n} from '@/b2b-purchase-order/types/hooks';\nimport { EnumPurchaseOrdersView } from '@/b2b-purchase-order/types/api';\nimport { PurchaseOrderModel } from '@/b2b-purchase-order/data/models';\nimport { Column } from '@/b2b-purchase-order/types/components';\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\nconst DEFAULT_PAGE_SIZE = 20;\n\nexport const usePurchaseOrders = ({\n view,\n initialPageSize,\n routePurchaseOrderDetails,\n setColumns,\n setRowsData,\n t,\n permissions,\n loadingPermissions,\n}: UsePurchaseOrdersParams): UsePurchaseOrdersReturn => {\n const isCompanyPOsView =\n view === EnumPurchaseOrdersView.COMPANY_PURCHASE_ORDERS;\n const isRequireApprovalPOsView =\n view === EnumPurchaseOrdersView.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 // Auto-clear alert message after 7 seconds\n useEffect(() => {\n if (alertMessageConfig.heading || alertMessageConfig.description) {\n const timer = setTimeout(() => {\n setAlertMessageConfig({\n heading: '',\n description: '',\n type: 'success',\n });\n }, 7000);\n\n return () => clearTimeout(timer);\n }\n }, [alertMessageConfig.heading, alertMessageConfig.description]);\n\n // Derive pagination values\n const { currentPage, totalPages, totalCount } = pagination;\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 = permissions?.isAdmin ?? false;\n\n const filterConfig = useMemo(() => {\n let config = {};\n\n if (isCompanyPOsView) {\n config = { companyPurchaseOrders: true };\n }\n\n if (isRequireApprovalPOsView) {\n config = { requireMyApproval: true };\n }\n\n return config;\n }, [isCompanyPOsView, isRequireApprovalPOsView]);\n\n useEffect(() => {\n // Don't fetch purchase orders until permissions are loaded\n if (loadingPermissions) {\n return;\n }\n\n setLoading(true);\n const pageSize = pageSizeOptionsList?.find(\n (option) => option.selected\n )?.value;\n const selectedPageSize = parseInt(\n pageSize ?? DEFAULT_PAGE_SIZE.toString(),\n 10\n );\n\n getPurchaseOrders(filterConfig, selectedPageSize, 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, loadingPermissions]); // 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 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 isCompanyPOsView || isRequireApprovalPOsView\n ? defaultCompanyColumns\n : defaultColumns;\n\n return (\n setColumns?.(currentColumns) ??\n currentColumns.map((col) => {\n if (\n col.key === 'checkboxView' &&\n (isAdmin || isRequireApprovalPOsView)\n ) {\n return {\n key: col.key,\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 ariaLabel: t.selectAllAriaLabel,\n } as Column;\n }\n\n return {\n ...col,\n label: t[col.key as keyof typeof t] || col.label,\n } as Column;\n })\n );\n }, [\n t,\n isAdmin,\n isCompanyPOsView,\n isRequireApprovalPOsView,\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 || isRequireApprovalPOsView\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 isRequireApprovalPOsView,\n selectedOrderIds,\n handleSelectedOrderId,\n handlePurchaseOrderDetailsRedirect,\n t.actionView,\n ]);\n\n return {\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 totalCount,\n loading,\n selectedOrderIds,\n handleRejectSelected,\n handleApproveSelected,\n isAdmin,\n isRequireApprovalPOsView,\n alertMessageConfig,\n };\n};\n"],"names":["formatDate","dateString","locale","date","EnumPurchaseOrdersView","DEFAULT_PAGE_SIZE","usePurchaseOrders","view","initialPageSize","routePurchaseOrderDetails","setColumns","setRowsData","t","permissions","loadingPermissions","isCompanyPOsView","isRequireApprovalPOsView","selectedOrderIds","setSelectedOrderIds","useState","purchaseOrders","setPurchaseOrders","pageSizeOptionsList","setPageSizeOptionsList","loading","setLoading","pagination","setPagination","alertMessageConfig","setAlertMessageConfig","useEffect","timer","currentPage","totalPages","totalCount","handleChangePageSize","useCallback","event","size","prev","option","isAdmin","filterConfig","useMemo","config","pageSize","_a","selectedPageSize","getPurchaseOrders","data","responsePage","responseTotalPages","_b","responseTotalCount","error","handlePurchaseOrderDetailsRedirect","poNumber","url","isValidUrl","handlePageChange","page","handleSelectedOrderId","uid","isChecked","prevSelected","po","handleSelectedOrderIds","handleRejectSelected","rejectPurchaseOrders","updated","err","handleApproveSelected","approvePurchaseOrders","columns","currentColumns","defaultCompanyColumns","defaultColumns","col","jsx","rows","formattedPurchaseOrders","Text","_e","_d","_c","_h","_g","_f","finalRows","customRows"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{jsxs as y,jsx as r}from"@dropins/tools/preact-jsx-runtime.js";import{classes as x}from"@dropins/tools/lib.js";import{
|
|
3
|
+
import{jsxs as y,jsx as r}from"@dropins/tools/preact-jsx-runtime.js";import{classes as x}from"@dropins/tools/lib.js";import{u as w,P as N,a as S,d as D}from"../chunks/useCustomerRolePermissions.js";import{P as R}from"../chunks/PurchaseOrdersTableActions.js";/* empty css */import{E,u as j}from"../chunks/usePurchaseOrders.js";import"@dropins/tools/preact-hooks.js";import"@dropins/tools/event-bus.js";import{useText as v}from"@dropins/tools/i18n.js";import"@dropins/tools/components.js";import"../chunks/getPurchaseOrders.js";import"../chunks/fetch-graphql.js";import"@dropins/tools/fetch-graphql.js";const G=({initialPageSize:t=D,routePurchaseOrderDetails:o,setColumns:u,setRowsData:d,className:c="",withHeader:l=!0,withWrapper:n=!0,skeletonRowCount:i=5})=>{const m=E.COMPANY_PURCHASE_ORDERS,e=v({headerText:"PurchaseOrders.companyPurchaseOrders.containerTitle",actionView:"PurchaseOrders.purchaseOrdersTable.actionView",poNumber:"PurchaseOrders.purchaseOrdersTable.tableColumns.poNumber",orderNumber:"PurchaseOrders.purchaseOrdersTable.tableColumns.orderNumber",createdDate:"PurchaseOrders.purchaseOrdersTable.tableColumns.createdDate",updatedDate:"PurchaseOrders.purchaseOrdersTable.tableColumns.updatedDate",createdBy:"PurchaseOrders.purchaseOrdersTable.tableColumns.createdBy",status:"PurchaseOrders.purchaseOrdersTable.tableColumns.status",total:"PurchaseOrders.purchaseOrdersTable.tableColumns.total",action:"PurchaseOrders.purchaseOrdersTable.tableColumns.action",selectAllAriaLabel:"PurchaseOrders.purchaseOrdersTable.tableColumns.selectAllAriaLabel",noPurchaseOrders:"PurchaseOrders.companyPurchaseOrders.noPurchaseOrders"}),{permissions:h,loadingPermissions:p}=w(),{totalCount:O,loading:s,tableConfig:a,paginationConfig:P,pageSizeConfig:b,selectedOrderIds:C,handleRejectSelected:T,handleApproveSelected:f,isAdmin:g,alertMessageConfig:A}=j({view:m,routePurchaseOrderDetails:o,setColumns:u,setRowsData:d,initialPageSize:t,permissions:h,loadingPermissions:p,t:e});return y("div",{className:x(["company-purchase-orders",c]),"data-testid":"company-purchase-orders-container",children:[l?r(N,{headerText:e.headerText}):null,r(S,{header:g?r(R,{loading:s,selectedCount:C.length,handleRejectSelected:T,handleApproveSelected:f}):null,totalCount:O,columns:a.columns,rows:a.rows,paginationConfig:P,loading:s,skeletonRowCount:i,pageSizeConfig:b,emptyTitle:e.noPurchaseOrders,alertMessageConfig:A,withWrapper:n})]})};export{G as CompanyPurchaseOrders,G as default};
|
|
4
4
|
//# sourceMappingURL=CompanyPurchaseOrders.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CompanyPurchaseOrders.js","sources":["/@dropins/storefront-purchase-order/src/containers/CompanyPurchaseOrders/CompanyPurchaseOrders.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 { classes, Container } from '@adobe-commerce/elsie/lib';\nimport {\n PurchaseOrdersTable,\n PurchaseOrdersHeader,\n PurchaseOrdersTableActions,\n} from '@/b2b-purchase-order/components';\nimport {\n usePurchaseOrders,\n useCustomerRolePermissions,\n} from '@/b2b-purchase-order/hooks';\nimport { CompanyPurchaseOrdersProps } from '@/b2b-purchase-order/types/containers';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { EnumPurchaseOrdersView } from '@/b2b-purchase-order/types/api';\nimport { defaultPageSizeConfig } from '@/b2b-purchase-order/configs';\n\nexport const CompanyPurchaseOrders: Container<CompanyPurchaseOrdersProps> = ({\n initialPageSize = defaultPageSizeConfig,\n routePurchaseOrderDetails,\n setColumns,\n setRowsData,\n className = '',\n withHeader = true,\n withWrapper = true,\n skeletonRowCount = 5,\n}) => {\n const view = EnumPurchaseOrdersView.COMPANY_PURCHASE_ORDERS;\n\n const t = useText({\n headerText: 'PurchaseOrders.companyPurchaseOrders.containerTitle',\n actionView: 'PurchaseOrders.purchaseOrdersTable.actionView',\n poNumber: 'PurchaseOrders.purchaseOrdersTable.tableColumns.poNumber',\n orderNumber: 'PurchaseOrders.purchaseOrdersTable.tableColumns.orderNumber',\n createdDate: 'PurchaseOrders.purchaseOrdersTable.tableColumns.createdDate',\n updatedDate: 'PurchaseOrders.purchaseOrdersTable.tableColumns.updatedDate',\n createdBy: 'PurchaseOrders.purchaseOrdersTable.tableColumns.createdBy',\n status: 'PurchaseOrders.purchaseOrdersTable.tableColumns.status',\n total: 'PurchaseOrders.purchaseOrdersTable.tableColumns.total',\n action: 'PurchaseOrders.purchaseOrdersTable.tableColumns.action',\n selectAllAriaLabel:\n 'PurchaseOrders.purchaseOrdersTable.tableColumns.selectAllAriaLabel',\n noPurchaseOrders: 'PurchaseOrders.companyPurchaseOrders.noPurchaseOrders',\n });\n\n const { permissions, loadingPermissions } = useCustomerRolePermissions();\n const {\n totalCount,\n loading,\n tableConfig,\n paginationConfig,\n pageSizeConfig,\n selectedOrderIds,\n handleRejectSelected,\n handleApproveSelected,\n isAdmin,\n alertMessageConfig,\n } = usePurchaseOrders({\n view,\n routePurchaseOrderDetails,\n setColumns,\n setRowsData,\n initialPageSize,\n permissions,\n loadingPermissions,\n t,\n });\n\n return (\n <div\n className={classes(['company-purchase-orders', className])}\n data-testid=\"company-purchase-orders-container\"\n >\n {withHeader ? <PurchaseOrdersHeader headerText={t.headerText} /> : null}\n <PurchaseOrdersTable\n header={\n isAdmin ? (\n <PurchaseOrdersTableActions\n loading={loading}\n selectedCount={selectedOrderIds.length}\n handleRejectSelected={handleRejectSelected}\n handleApproveSelected={handleApproveSelected}\n />\n ) : null\n }\n totalCount={totalCount}\n columns={tableConfig.columns}\n rows={tableConfig.rows}\n paginationConfig={paginationConfig}\n loading={loading}\n skeletonRowCount={skeletonRowCount}\n pageSizeConfig={pageSizeConfig}\n emptyTitle={t.noPurchaseOrders}\n alertMessageConfig={alertMessageConfig}\n withWrapper={withWrapper}\n />\n </div>\n );\n};\n"],"names":["CompanyPurchaseOrders","initialPageSize","defaultPageSizeConfig","routePurchaseOrderDetails","setColumns","setRowsData","className","withHeader","withWrapper","skeletonRowCount","view","EnumPurchaseOrdersView","t","useText","permissions","loadingPermissions","useCustomerRolePermissions","totalCount","loading","tableConfig","paginationConfig","pageSizeConfig","selectedOrderIds","handleRejectSelected","handleApproveSelected","isAdmin","alertMessageConfig","usePurchaseOrders","jsxs","classes","jsx","PurchaseOrdersHeader","PurchaseOrdersTable","PurchaseOrdersTableActions"],"mappings":"
|
|
1
|
+
{"version":3,"file":"CompanyPurchaseOrders.js","sources":["/@dropins/storefront-purchase-order/src/containers/CompanyPurchaseOrders/CompanyPurchaseOrders.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 { classes, Container } from '@adobe-commerce/elsie/lib';\nimport {\n PurchaseOrdersTable,\n PurchaseOrdersHeader,\n PurchaseOrdersTableActions,\n} from '@/b2b-purchase-order/components';\nimport {\n usePurchaseOrders,\n useCustomerRolePermissions,\n} from '@/b2b-purchase-order/hooks';\nimport { CompanyPurchaseOrdersProps } from '@/b2b-purchase-order/types/containers';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { EnumPurchaseOrdersView } from '@/b2b-purchase-order/types/api';\nimport { defaultPageSizeConfig } from '@/b2b-purchase-order/configs';\n\nexport const CompanyPurchaseOrders: Container<CompanyPurchaseOrdersProps> = ({\n initialPageSize = defaultPageSizeConfig,\n routePurchaseOrderDetails,\n setColumns,\n setRowsData,\n className = '',\n withHeader = true,\n withWrapper = true,\n skeletonRowCount = 5,\n}) => {\n const view = EnumPurchaseOrdersView.COMPANY_PURCHASE_ORDERS;\n\n const t = useText({\n headerText: 'PurchaseOrders.companyPurchaseOrders.containerTitle',\n actionView: 'PurchaseOrders.purchaseOrdersTable.actionView',\n poNumber: 'PurchaseOrders.purchaseOrdersTable.tableColumns.poNumber',\n orderNumber: 'PurchaseOrders.purchaseOrdersTable.tableColumns.orderNumber',\n createdDate: 'PurchaseOrders.purchaseOrdersTable.tableColumns.createdDate',\n updatedDate: 'PurchaseOrders.purchaseOrdersTable.tableColumns.updatedDate',\n createdBy: 'PurchaseOrders.purchaseOrdersTable.tableColumns.createdBy',\n status: 'PurchaseOrders.purchaseOrdersTable.tableColumns.status',\n total: 'PurchaseOrders.purchaseOrdersTable.tableColumns.total',\n action: 'PurchaseOrders.purchaseOrdersTable.tableColumns.action',\n selectAllAriaLabel:\n 'PurchaseOrders.purchaseOrdersTable.tableColumns.selectAllAriaLabel',\n noPurchaseOrders: 'PurchaseOrders.companyPurchaseOrders.noPurchaseOrders',\n });\n\n const { permissions, loadingPermissions } = useCustomerRolePermissions();\n const {\n totalCount,\n loading,\n tableConfig,\n paginationConfig,\n pageSizeConfig,\n selectedOrderIds,\n handleRejectSelected,\n handleApproveSelected,\n isAdmin,\n alertMessageConfig,\n } = usePurchaseOrders({\n view,\n routePurchaseOrderDetails,\n setColumns,\n setRowsData,\n initialPageSize,\n permissions,\n loadingPermissions,\n t,\n });\n\n return (\n <div\n className={classes(['company-purchase-orders', className])}\n data-testid=\"company-purchase-orders-container\"\n >\n {withHeader ? <PurchaseOrdersHeader headerText={t.headerText} /> : null}\n <PurchaseOrdersTable\n header={\n isAdmin ? (\n <PurchaseOrdersTableActions\n loading={loading}\n selectedCount={selectedOrderIds.length}\n handleRejectSelected={handleRejectSelected}\n handleApproveSelected={handleApproveSelected}\n />\n ) : null\n }\n totalCount={totalCount}\n columns={tableConfig.columns}\n rows={tableConfig.rows}\n paginationConfig={paginationConfig}\n loading={loading}\n skeletonRowCount={skeletonRowCount}\n pageSizeConfig={pageSizeConfig}\n emptyTitle={t.noPurchaseOrders}\n alertMessageConfig={alertMessageConfig}\n withWrapper={withWrapper}\n />\n </div>\n );\n};\n"],"names":["CompanyPurchaseOrders","initialPageSize","defaultPageSizeConfig","routePurchaseOrderDetails","setColumns","setRowsData","className","withHeader","withWrapper","skeletonRowCount","view","EnumPurchaseOrdersView","t","useText","permissions","loadingPermissions","useCustomerRolePermissions","totalCount","loading","tableConfig","paginationConfig","pageSizeConfig","selectedOrderIds","handleRejectSelected","handleApproveSelected","isAdmin","alertMessageConfig","usePurchaseOrders","jsxs","classes","jsx","PurchaseOrdersHeader","PurchaseOrdersTable","PurchaseOrdersTableActions"],"mappings":"goBAgCO,MAAMA,EAA+D,CAAC,CAC3E,gBAAAC,EAAkBC,EAClB,0BAAAC,EACA,WAAAC,EACA,YAAAC,EACA,UAAAC,EAAY,GACZ,WAAAC,EAAa,GACb,YAAAC,EAAc,GACd,iBAAAC,EAAmB,CACrB,IAAM,CACJ,MAAMC,EAAOC,EAAuB,wBAE9BC,EAAIC,EAAQ,CAChB,WAAY,sDACZ,WAAY,gDACZ,SAAU,2DACV,YAAa,8DACb,YAAa,8DACb,YAAa,8DACb,UAAW,4DACX,OAAQ,yDACR,MAAO,wDACP,OAAQ,yDACR,mBACE,qEACF,iBAAkB,uDAAA,CACnB,EAEK,CAAE,YAAAC,EAAa,mBAAAC,CAAA,EAAuBC,EAAA,EACtC,CACJ,WAAAC,EACA,QAAAC,EACA,YAAAC,EACA,iBAAAC,EACA,eAAAC,EACA,iBAAAC,EACA,qBAAAC,EACA,sBAAAC,EACA,QAAAC,EACA,mBAAAC,CAAA,EACEC,EAAkB,CACpB,KAAAjB,EACA,0BAAAP,EACA,WAAAC,EACA,YAAAC,EACA,gBAAAJ,EACA,YAAAa,EACA,mBAAAC,EACA,EAAAH,CAAA,CACD,EAED,OACEgB,EAAC,MAAA,CACC,UAAWC,EAAQ,CAAC,0BAA2BvB,CAAS,CAAC,EACzD,cAAY,oCAEX,SAAA,CAAAC,EAAauB,EAACC,EAAA,CAAqB,WAAYnB,EAAE,WAAY,EAAK,KACnEkB,EAACE,EAAA,CACC,OACEP,EACEK,EAACG,EAAA,CACC,QAAAf,EACA,cAAeI,EAAiB,OAChC,qBAAAC,EACA,sBAAAC,CAAA,CAAA,EAEA,KAEN,WAAAP,EACA,QAASE,EAAY,QACrB,KAAMA,EAAY,KAClB,iBAAAC,EACA,QAAAF,EACA,iBAAAT,EACA,eAAAY,EACA,WAAYT,EAAE,iBACd,mBAAAc,EACA,YAAAlB,CAAA,CAAA,CACF,CAAA,CAAA,CAGN"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{jsxs as T,jsx as s}from"@dropins/tools/preact-jsx-runtime.js";import{classes as f}from"@dropins/tools/lib.js";import{
|
|
3
|
+
import{jsxs as T,jsx as s}from"@dropins/tools/preact-jsx-runtime.js";import{classes as f}from"@dropins/tools/lib.js";import{u as g,P as x,a as w,d as D}from"../chunks/useCustomerRolePermissions.js";/* empty css */import"@dropins/tools/components.js";import{E,u as N}from"../chunks/usePurchaseOrders.js";import"@dropins/tools/preact-hooks.js";import"@dropins/tools/event-bus.js";import{useText as R}from"@dropins/tools/i18n.js";import"../chunks/getPurchaseOrders.js";import"../chunks/fetch-graphql.js";import"@dropins/tools/fetch-graphql.js";const k=({initialPageSize:a=D,routePurchaseOrderDetails:t,setColumns:o,setRowsData:u,className:d="",withHeader:c=!0,withWrapper:l=!0,skeletonRowCount:i=5})=>{const n=E.CUSTOMER_PURCHASE_ORDERS,e=R({headerText:"PurchaseOrders.customerPurchaseOrders.containerTitle",actionView:"PurchaseOrders.purchaseOrdersTable.actionView",poNumber:"PurchaseOrders.purchaseOrdersTable.tableColumns.poNumber",orderNumber:"PurchaseOrders.purchaseOrdersTable.tableColumns.orderNumber",createdDate:"PurchaseOrders.purchaseOrdersTable.tableColumns.createdDate",updatedDate:"PurchaseOrders.purchaseOrdersTable.tableColumns.updatedDate",createdBy:"PurchaseOrders.purchaseOrdersTable.tableColumns.createdBy",status:"PurchaseOrders.purchaseOrdersTable.tableColumns.status",total:"PurchaseOrders.purchaseOrdersTable.tableColumns.total",action:"PurchaseOrders.purchaseOrdersTable.tableColumns.action",noPurchaseOrders:"PurchaseOrders.customerPurchaseOrders.noPurchaseOrders"}),{permissions:m,loadingPermissions:h}=g(),{pageSizeConfig:p,loading:O,paginationConfig:P,tableConfig:r,totalCount:b,alertMessageConfig:C}=N({view:n,routePurchaseOrderDetails:t,setColumns:o,setRowsData:u,initialPageSize:a,permissions:m,loadingPermissions:h,t:e});return T("div",{className:f(["purchase-orders",d]),"data-testid":"purchase-orders-container",children:[c?s(x,{headerText:e.headerText}):null,s(w,{totalCount:b,columns:r.columns,rows:r.rows,paginationConfig:P,loading:O,skeletonRowCount:i,pageSizeConfig:p,emptyTitle:e.noPurchaseOrders,alertMessageConfig:C,withWrapper:l})]})};export{k as CustomerPurchaseOrders,k as default};
|
|
4
4
|
//# sourceMappingURL=CustomerPurchaseOrders.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomerPurchaseOrders.js","sources":["/@dropins/storefront-purchase-order/src/containers/CustomerPurchaseOrders/CustomerPurchaseOrders.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 { classes, Container } from '@adobe-commerce/elsie/lib';\nimport {\n PurchaseOrdersTable,\n PurchaseOrdersHeader,\n} from '@/b2b-purchase-order/components';\nimport {\n usePurchaseOrders,\n useCustomerRolePermissions,\n} from '@/b2b-purchase-order/hooks';\nimport { CustomerPurchaseOrdersProps } from '@/b2b-purchase-order/types/containers';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { defaultPageSizeConfig } from '@/b2b-purchase-order/configs';\nimport { EnumPurchaseOrdersView } from '@/b2b-purchase-order/types/api';\n\nexport const CustomerPurchaseOrders: Container<CustomerPurchaseOrdersProps> = ({\n initialPageSize = defaultPageSizeConfig,\n routePurchaseOrderDetails,\n setColumns,\n setRowsData,\n className = '',\n withHeader = true,\n withWrapper = true,\n skeletonRowCount = 5,\n}) => {\n const view = EnumPurchaseOrdersView.CUSTOMER_PURCHASE_ORDERS;\n\n const t = useText({\n headerText: 'PurchaseOrders.customerPurchaseOrders.containerTitle',\n actionView: 'PurchaseOrders.purchaseOrdersTable.actionView',\n poNumber: 'PurchaseOrders.purchaseOrdersTable.tableColumns.poNumber',\n orderNumber: 'PurchaseOrders.purchaseOrdersTable.tableColumns.orderNumber',\n createdDate: 'PurchaseOrders.purchaseOrdersTable.tableColumns.createdDate',\n updatedDate: 'PurchaseOrders.purchaseOrdersTable.tableColumns.updatedDate',\n createdBy: 'PurchaseOrders.purchaseOrdersTable.tableColumns.createdBy',\n status: 'PurchaseOrders.purchaseOrdersTable.tableColumns.status',\n total: 'PurchaseOrders.purchaseOrdersTable.tableColumns.total',\n action: 'PurchaseOrders.purchaseOrdersTable.tableColumns.action',\n noPurchaseOrders: 'PurchaseOrders.customerPurchaseOrders.noPurchaseOrders',\n });\n\n const { permissions, loadingPermissions } = useCustomerRolePermissions();\n const {\n pageSizeConfig,\n loading,\n paginationConfig,\n tableConfig,\n totalCount,\n alertMessageConfig,\n } = usePurchaseOrders({\n view,\n routePurchaseOrderDetails,\n setColumns,\n setRowsData,\n initialPageSize,\n permissions,\n loadingPermissions,\n t,\n });\n\n return (\n <div\n className={classes(['purchase-orders', className])}\n data-testid=\"purchase-orders-container\"\n >\n {withHeader ? <PurchaseOrdersHeader headerText={t.headerText} /> : null}\n <PurchaseOrdersTable\n totalCount={totalCount}\n columns={tableConfig.columns}\n rows={tableConfig.rows}\n paginationConfig={paginationConfig}\n loading={loading}\n skeletonRowCount={skeletonRowCount}\n pageSizeConfig={pageSizeConfig}\n emptyTitle={t.noPurchaseOrders}\n alertMessageConfig={alertMessageConfig}\n withWrapper={withWrapper}\n />\n </div>\n );\n};\n"],"names":["CustomerPurchaseOrders","initialPageSize","defaultPageSizeConfig","routePurchaseOrderDetails","setColumns","setRowsData","className","withHeader","withWrapper","skeletonRowCount","view","EnumPurchaseOrdersView","t","useText","permissions","loadingPermissions","useCustomerRolePermissions","pageSizeConfig","loading","paginationConfig","tableConfig","totalCount","alertMessageConfig","usePurchaseOrders","jsxs","classes","jsx","PurchaseOrdersHeader","PurchaseOrdersTable"],"mappings":"
|
|
1
|
+
{"version":3,"file":"CustomerPurchaseOrders.js","sources":["/@dropins/storefront-purchase-order/src/containers/CustomerPurchaseOrders/CustomerPurchaseOrders.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 { classes, Container } from '@adobe-commerce/elsie/lib';\nimport {\n PurchaseOrdersTable,\n PurchaseOrdersHeader,\n} from '@/b2b-purchase-order/components';\nimport {\n usePurchaseOrders,\n useCustomerRolePermissions,\n} from '@/b2b-purchase-order/hooks';\nimport { CustomerPurchaseOrdersProps } from '@/b2b-purchase-order/types/containers';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { defaultPageSizeConfig } from '@/b2b-purchase-order/configs';\nimport { EnumPurchaseOrdersView } from '@/b2b-purchase-order/types/api';\n\nexport const CustomerPurchaseOrders: Container<CustomerPurchaseOrdersProps> = ({\n initialPageSize = defaultPageSizeConfig,\n routePurchaseOrderDetails,\n setColumns,\n setRowsData,\n className = '',\n withHeader = true,\n withWrapper = true,\n skeletonRowCount = 5,\n}) => {\n const view = EnumPurchaseOrdersView.CUSTOMER_PURCHASE_ORDERS;\n\n const t = useText({\n headerText: 'PurchaseOrders.customerPurchaseOrders.containerTitle',\n actionView: 'PurchaseOrders.purchaseOrdersTable.actionView',\n poNumber: 'PurchaseOrders.purchaseOrdersTable.tableColumns.poNumber',\n orderNumber: 'PurchaseOrders.purchaseOrdersTable.tableColumns.orderNumber',\n createdDate: 'PurchaseOrders.purchaseOrdersTable.tableColumns.createdDate',\n updatedDate: 'PurchaseOrders.purchaseOrdersTable.tableColumns.updatedDate',\n createdBy: 'PurchaseOrders.purchaseOrdersTable.tableColumns.createdBy',\n status: 'PurchaseOrders.purchaseOrdersTable.tableColumns.status',\n total: 'PurchaseOrders.purchaseOrdersTable.tableColumns.total',\n action: 'PurchaseOrders.purchaseOrdersTable.tableColumns.action',\n noPurchaseOrders: 'PurchaseOrders.customerPurchaseOrders.noPurchaseOrders',\n });\n\n const { permissions, loadingPermissions } = useCustomerRolePermissions();\n const {\n pageSizeConfig,\n loading,\n paginationConfig,\n tableConfig,\n totalCount,\n alertMessageConfig,\n } = usePurchaseOrders({\n view,\n routePurchaseOrderDetails,\n setColumns,\n setRowsData,\n initialPageSize,\n permissions,\n loadingPermissions,\n t,\n });\n\n return (\n <div\n className={classes(['purchase-orders', className])}\n data-testid=\"purchase-orders-container\"\n >\n {withHeader ? <PurchaseOrdersHeader headerText={t.headerText} /> : null}\n <PurchaseOrdersTable\n totalCount={totalCount}\n columns={tableConfig.columns}\n rows={tableConfig.rows}\n paginationConfig={paginationConfig}\n loading={loading}\n skeletonRowCount={skeletonRowCount}\n pageSizeConfig={pageSizeConfig}\n emptyTitle={t.noPurchaseOrders}\n alertMessageConfig={alertMessageConfig}\n withWrapper={withWrapper}\n />\n </div>\n );\n};\n"],"names":["CustomerPurchaseOrders","initialPageSize","defaultPageSizeConfig","routePurchaseOrderDetails","setColumns","setRowsData","className","withHeader","withWrapper","skeletonRowCount","view","EnumPurchaseOrdersView","t","useText","permissions","loadingPermissions","useCustomerRolePermissions","pageSizeConfig","loading","paginationConfig","tableConfig","totalCount","alertMessageConfig","usePurchaseOrders","jsxs","classes","jsx","PurchaseOrdersHeader","PurchaseOrdersTable"],"mappings":"okBA+BO,MAAMA,EAAiE,CAAC,CAC7E,gBAAAC,EAAkBC,EAClB,0BAAAC,EACA,WAAAC,EACA,YAAAC,EACA,UAAAC,EAAY,GACZ,WAAAC,EAAa,GACb,YAAAC,EAAc,GACd,iBAAAC,EAAmB,CACrB,IAAM,CACJ,MAAMC,EAAOC,EAAuB,yBAE9BC,EAAIC,EAAQ,CAChB,WAAY,uDACZ,WAAY,gDACZ,SAAU,2DACV,YAAa,8DACb,YAAa,8DACb,YAAa,8DACb,UAAW,4DACX,OAAQ,yDACR,MAAO,wDACP,OAAQ,yDACR,iBAAkB,wDAAA,CACnB,EAEK,CAAE,YAAAC,EAAa,mBAAAC,CAAA,EAAuBC,EAAA,EACtC,CACJ,eAAAC,EACA,QAAAC,EACA,iBAAAC,EACA,YAAAC,EACA,WAAAC,EACA,mBAAAC,CAAA,EACEC,EAAkB,CACpB,KAAAb,EACA,0BAAAP,EACA,WAAAC,EACA,YAAAC,EACA,gBAAAJ,EACA,YAAAa,EACA,mBAAAC,EACA,EAAAH,CAAA,CACD,EAED,OACEY,EAAC,MAAA,CACC,UAAWC,EAAQ,CAAC,kBAAmBnB,CAAS,CAAC,EACjD,cAAY,4BAEX,SAAA,CAAAC,EAAamB,EAACC,EAAA,CAAqB,WAAYf,EAAE,WAAY,EAAK,KACnEc,EAACE,EAAA,CACC,WAAAP,EACA,QAASD,EAAY,QACrB,KAAMA,EAAY,KAClB,iBAAAD,EACA,QAAAD,EACA,iBAAAT,EACA,eAAAQ,EACA,WAAYL,EAAE,iBACd,mBAAAU,EACA,YAAAd,CAAA,CAAA,CACF,CAAA,CAAA,CAGN"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Container } from '@dropins/tools/types/elsie/src/lib';
|
|
2
|
+
import { PurchaseOrderApprovalRulesListProps } from '../../types/containers';
|
|
3
|
+
|
|
4
|
+
export declare const PurchaseOrderApprovalRulesList: Container<PurchaseOrderApprovalRulesListProps>;
|
|
5
|
+
//# sourceMappingURL=PurchaseOrderApprovalRulesList.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 './PurchaseOrderApprovalRulesList';
|
|
18
|
+
export { PurchaseOrderApprovalRulesList as default } from './PurchaseOrderApprovalRulesList';
|
|
19
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/*! Copyright 2025 Adobe
|
|
2
|
+
All Rights Reserved. */
|
|
3
|
+
import{jsx as l,Fragment as U,jsxs as D}from"@dropins/tools/preact-jsx-runtime.js";import{classes as M}from"@dropins/tools/lib.js";import{i as Z,u as q,P as J,a as K,d as Q}from"../chunks/useCustomerRolePermissions.js";/* empty css */import{Button as W,Skeleton as X,SkeletonRow as Y}from"@dropins/tools/components.js";import{useState as L,useCallback as C,useEffect as ee,useMemo as j}from"@dropins/tools/preact-hooks.js";import"@dropins/tools/event-bus.js";import{g as ae,d as re}from"../chunks/getPurchaseOrderApprovalRules.js";import{Text as F,useText as se}from"@dropins/tools/i18n.js";import"../chunks/fetch-graphql.js";import"@dropins/tools/fetch-graphql.js";const _=[{key:"action",label:"Action"},{key:"ruleName",label:"Rule Name"},{key:"status",label:"Status"},{key:"ruleType",label:"Rule Type"},{key:"createdBy",label:"Created By"},{key:"appliesTo",label:"Applies To"},{key:"approver",label:"Approver"}],le=20,te=({routeApprovalRuleDetails:c,routeCreateApprovalRule:u,routeEditApprovalRule:d,setColumns:p,setRowsData:g,initialPageSize:k,permissions:O,t})=>{const[h,P]=L([]),[m,n]=L(!0),[i,y]=L(k),[f,v]=L({currentPage:1,totalPages:1,totalCount:0}),{currentPage:T,totalPages:w,totalCount:R}=f,S=C(r=>{const e=r.target.value;y(s=>s.map(a=>({...a,selected:a.value===e})))},[]),N=C(r=>{v(e=>({...e,currentPage:r}))},[]);ee(()=>{var s;const r=(s=i==null?void 0:i.find(a=>a.selected))==null?void 0:s.value,e=parseInt(r??le.toString(),10);n(!0),ae(T,e).then(a=>{a!=null&&a.pageInfo&&v({currentPage:a.pageInfo.currentPage,totalPages:a.pageInfo.totalPages,totalCount:a.totalCount}),P(a==null?void 0:a.items)}).catch(a=>{console.error("Error fetching approval rules:",a),P([])}).finally(()=>{n(!1)})},[T,i,f.totalPages,w]);const b=C((r,e)=>{let s="";switch(e){case"new":{s=u==null?void 0:u(r);break}case"edit":{s=d==null?void 0:d(r);break}case"view":{s=c==null?void 0:c(r);break}}return Z(s??"")?s:"#"},[u,d,c]),x=j(()=>(p==null?void 0:p(_))??_.map(r=>({...r,label:t[r.key]||r.label})),[p,t]),z=C((r,e)=>{r.preventDefault(),n(!0),re(e).then(()=>{P(s=>s.filter(a=>a.uid!==e))}).finally(()=>{n(!1)})},[]),G=j(()=>{const r=h==null?void 0:h.map(e=>{var B,V,E,I,$,A;const{isAdmin:s,permissions:{manageApprovalRules:a}}=O;return{ruleName:e.name,createdBy:e.createdBy,ruleType:l(F,{id:`PurchaseOrders.purchaseOrdersTable.ruleTypes.${(V=(B=e.condition)==null?void 0:B.attribute)==null?void 0:V.toLocaleLowerCase()}`}),status:l(F,{id:`PurchaseOrders.purchaseOrdersTable.rulesStatus.${(E=e.status)==null?void 0:E.toLocaleLowerCase()}`}),appliesTo:((I=e==null?void 0:e.appliesToRoles)==null?void 0:I.length)<=0?t.appliesToAll:($=e==null?void 0:e.appliesToRoles)==null?void 0:$.map(o=>o.name).join(", "),approver:l(U,{children:(A=e==null?void 0:e.approverRoles)==null?void 0:A.map((o,H)=>l("div",{children:o==null?void 0:o.name},H))}),action:s||a?l(U,{children:D("div",{style:{display:"flex",gap:"8px"},children:[l("a",{href:b(e.uid,"edit"),"aria-label":t.ariaLabelEditRule.replace("{{ruleName}}",e.name),"data-testid":`edit-approval-rule-${e.uid}`,children:t.actionEdit}),l("a",{"data-testid":`delete-approval-rule-${e.uid}`,href:"#","aria-label":t.ariaLabelDeleteRule.replace("{{ruleName}}",e.name),onClick:o=>z(o,e.uid),children:t.actionDelete})]})}):l("a",{"data-testid":`view-approval-rule-${e.uid}`,href:b(e.uid,"view"),"aria-label":t.ariaLabelViewRule.replace("{{ruleName}}",e.name),children:t.actionView})}});return g?g(r):r},[h,g,O,t,b,z]);return{tableConfig:{columns:x,rows:G},paginationConfig:{currentPage:T,totalPages:w,handlePageChange:N},pageSizeConfig:{pageSizeOptionsList:i,onChange:S},totalCount:R,loading:m,handleCreateUrl:b}},Pe=({routeCreateApprovalRule:c,routeEditApprovalRule:u,routeApprovalRuleDetails:d,setColumns:p,setRowsData:g,className:k="",withHeader:O=!0,withWrapper:t=!0,skeletonRowCount:h=5,initialPageSize:P=Q})=>{const m=se({headerText:"PurchaseOrders.approvalRulesList.containerTitle",ruleName:"PurchaseOrders.purchaseOrdersTable.tableColumns.ruleName",ruleType:"PurchaseOrders.purchaseOrdersTable.tableColumns.ruleType",appliesTo:"PurchaseOrders.purchaseOrdersTable.tableColumns.appliesTo",approver:"PurchaseOrders.purchaseOrdersTable.tableColumns.approver",createdBy:"PurchaseOrders.purchaseOrdersTable.tableColumns.createdBy",status:"PurchaseOrders.purchaseOrdersTable.tableColumns.status",actionEdit:"PurchaseOrders.purchaseOrdersTable.actionEdit",actionDelete:"PurchaseOrders.purchaseOrdersTable.actionDelete",addNewRule:"PurchaseOrders.approvalRulesList.buttons.newRule",actionView:"PurchaseOrders.purchaseOrdersTable.actionView",appliesToAll:"PurchaseOrders.purchaseOrdersTable.appliesToAll",emptyTitle:"PurchaseOrders.approvalRulesList.emptyTitle",ariaLabelEditRule:"PurchaseOrders.approvalRulesList.ariaLabel.editRule",ariaLabelDeleteRule:"PurchaseOrders.approvalRulesList.ariaLabel.deleteRule",ariaLabelViewRule:"PurchaseOrders.approvalRulesList.ariaLabel.viewRule"}),{permissions:n,loadingPermissions:i}=q(),{loading:y,tableConfig:f,paginationConfig:v,totalCount:T,pageSizeConfig:w,handleCreateUrl:R}=te({routeCreateApprovalRule:c,routeEditApprovalRule:u,routeApprovalRuleDetails:d,setColumns:p,setRowsData:g,permissions:n,initialPageSize:P,t:m}),{isAdmin:S,permissions:{manageApprovalRules:N}}=n,b=S||N?l(W,{variant:"primary",onClick:()=>{window.location.href=R("","new")},"data-testid":"add-new-rule-button",children:m.addNewRule}):null,x=y||i?l(X,{"data-testid":"approval-rules-skeleton",children:l(Y,{variant:"row",size:"small"})}):b;return D("div",{className:M(["purchase-orders",k]),"data-testid":"purchase-orders-container",children:[O?l(J,{headerText:m.headerText}):null,l(K,{totalCount:T,columns:f.columns,rows:f.rows,paginationConfig:v,loading:y||i,skeletonRowCount:h,pageSizeConfig:w,emptyTitle:m.emptyTitle,withWrapper:t,footer:x})]})};export{Pe as PurchaseOrderApprovalRulesList,Pe as default};
|
|
4
|
+
//# sourceMappingURL=PurchaseOrderApprovalRulesList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PurchaseOrderApprovalRulesList.js","sources":["/@dropins/storefront-purchase-order/src/configs/purchaseOrderApprovalRules.config.ts","/@dropins/storefront-purchase-order/src/hooks/useApprovalRulesList.tsx","/@dropins/storefront-purchase-order/src/containers/PurchaseOrderApprovalRulesList/PurchaseOrderApprovalRulesList.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 { Column } from '@/b2b-purchase-order/types/components';\n\nexport const defaultApprovalRulesColumns: Column[] = [\n { key: 'action', label: 'Action' },\n { key: 'ruleName', label: 'Rule Name' },\n { key: 'status', label: 'Status' },\n { key: 'ruleType', label: 'Rule Type' },\n {\n key: 'createdBy',\n label: 'Created By',\n },\n {\n key: 'appliesTo',\n label: 'Applies To',\n },\n { key: 'approver', label: 'Approver' },\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 UseApprovalRulesList,\n UseApprovalRulesListReturn,\n} from '@/b2b-purchase-order/types/hooks';\nimport { useCallback, useState, useEffect, useMemo } from 'preact/hooks';\nimport { isValidUrl } from '@/b2b-purchase-order/lib';\nimport { Text } from '@adobe-commerce/elsie/i18n';\nimport { defaultApprovalRulesColumns } from '@/b2b-purchase-order/configs';\nimport {\n deletePurchaseOrderApprovalRule,\n getPurchaseOrderApprovalRules,\n} from '@/b2b-purchase-order/api';\nimport { PurchaseOrderApprovalRuleModel } from '@/b2b-purchase-order/data/models';\n\nconst DEFAULT_PAGE_SIZE = 20;\n\nexport const useApprovalRulesList = ({\n routeApprovalRuleDetails,\n routeCreateApprovalRule,\n routeEditApprovalRule,\n setColumns,\n setRowsData,\n initialPageSize,\n permissions,\n t,\n}: UseApprovalRulesList): UseApprovalRulesListReturn => {\n const [approvalRules, setApprovalRules] = useState<\n PurchaseOrderApprovalRuleModel[]\n >([]);\n const [loading, setLoading] = useState<boolean>(true);\n const [pageSizeOptionsList, setPageSizeOptionsList] =\n useState(initialPageSize);\n const [pagination, setPagination] = useState({\n currentPage: 1,\n totalPages: 1,\n totalCount: 0,\n });\n\n // Derive pagination values\n const { currentPage, totalPages, totalCount } = pagination;\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 handlePageChange = useCallback((page: number) => {\n setPagination((prev) => ({ ...prev, currentPage: page }));\n }, []);\n\n useEffect(() => {\n const pageSize = pageSizeOptionsList?.find(\n (option) => option.selected\n )?.value;\n const selectedPageSize = parseInt(\n pageSize ?? DEFAULT_PAGE_SIZE.toString(),\n 10\n );\n\n setLoading(true);\n getPurchaseOrderApprovalRules(currentPage, selectedPageSize)\n .then((data) => {\n if (data?.pageInfo) {\n setPagination({\n currentPage: data.pageInfo.currentPage,\n totalPages: data.pageInfo.totalPages,\n totalCount: data.totalCount,\n });\n }\n\n setApprovalRules(data?.items);\n })\n .catch((error) => {\n console.error('Error fetching approval rules:', error);\n setApprovalRules([]);\n })\n .finally(() => {\n setLoading(false);\n });\n }, [currentPage, pageSizeOptionsList, pagination.totalPages, totalPages]);\n\n const handleCreateUrl = useCallback(\n (id: string, type: 'edit' | 'new' | 'view'): string => {\n let url = '';\n\n switch (type) {\n case 'new': {\n url = routeCreateApprovalRule?.(id) as string;\n break;\n }\n case 'edit': {\n url = routeEditApprovalRule?.(id) as string;\n break;\n }\n case 'view': {\n url = routeApprovalRuleDetails?.(id) as string;\n break;\n }\n }\n\n if (!isValidUrl(url ?? '')) return '#';\n\n return url;\n },\n [routeCreateApprovalRule, routeEditApprovalRule, routeApprovalRuleDetails]\n );\n\n const columns = useMemo(() => {\n return (\n setColumns?.(defaultApprovalRulesColumns) ??\n defaultApprovalRulesColumns.map((col) => ({\n ...col,\n label: t[col.key as keyof typeof t] || col.label,\n }))\n );\n }, [setColumns, t]);\n\n const handleDeleteRule = useCallback((e: Event, id: string) => {\n e.preventDefault();\n setLoading(true);\n deletePurchaseOrderApprovalRule(id)\n .then(() => {\n setApprovalRules((prev) => prev.filter((rule) => rule.uid !== id));\n })\n .finally(() => {\n setLoading(false);\n });\n }, []);\n\n const rows = useMemo(() => {\n const modifiedApprovalRules = approvalRules?.map((ar) => {\n const {\n isAdmin,\n permissions: { manageApprovalRules },\n } = permissions;\n\n return {\n ruleName: ar.name,\n createdBy: ar.createdBy,\n ruleType: (\n <Text\n id={`PurchaseOrders.purchaseOrdersTable.ruleTypes.${ar.condition?.attribute?.toLocaleLowerCase()}`}\n />\n ),\n status: (\n <Text\n id={`PurchaseOrders.purchaseOrdersTable.rulesStatus.${ar.status?.toLocaleLowerCase()}`}\n />\n ),\n appliesTo:\n ar?.appliesToRoles?.length <= 0\n ? t.appliesToAll\n : ar?.appliesToRoles?.map((role) => role.name).join(', '),\n approver: (\n <>\n {ar?.approverRoles?.map((role, idx) => (\n <div key={idx}>{role?.name}</div>\n ))}\n </>\n ),\n action:\n isAdmin || manageApprovalRules ? (\n <>\n <div style={{ display: 'flex', gap: '8px' }}>\n <a\n href={handleCreateUrl(ar.uid, 'edit')}\n aria-label={t.ariaLabelEditRule.replace(\n '{{ruleName}}',\n ar.name\n )}\n data-testid={`edit-approval-rule-${ar.uid}`}\n >\n {t.actionEdit}\n </a>\n <a\n data-testid={`delete-approval-rule-${ar.uid}`}\n href=\"#\"\n aria-label={t.ariaLabelDeleteRule.replace(\n '{{ruleName}}',\n ar.name\n )}\n onClick={(e) => handleDeleteRule(e, ar.uid)}\n >\n {t.actionDelete}\n </a>\n </div>\n </>\n ) : (\n <a\n data-testid={`view-approval-rule-${ar.uid}`}\n href={handleCreateUrl(ar.uid, 'view')}\n aria-label={t.ariaLabelViewRule.replace('{{ruleName}}', ar.name)}\n >\n {t.actionView}\n </a>\n ),\n };\n });\n\n return setRowsData\n ? setRowsData(modifiedApprovalRules)\n : modifiedApprovalRules;\n }, [\n approvalRules,\n setRowsData,\n permissions,\n t,\n handleCreateUrl,\n handleDeleteRule,\n ]);\n\n return {\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 totalCount,\n loading,\n handleCreateUrl,\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 { classes, Container } from '@adobe-commerce/elsie/lib';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport {\n PurchaseOrdersHeader,\n PurchaseOrdersTable,\n} from '@/b2b-purchase-order/components';\nimport { PurchaseOrderApprovalRulesListProps } from '@/b2b-purchase-order/types/containers';\nimport {\n useApprovalRulesList,\n useCustomerRolePermissions,\n} from '@/b2b-purchase-order/hooks';\nimport {\n Button,\n Skeleton,\n SkeletonRow,\n} from '@adobe-commerce/elsie/components';\nimport { defaultPageSizeConfig } from '@/b2b-purchase-order/configs';\n\nexport const PurchaseOrderApprovalRulesList: Container<\n PurchaseOrderApprovalRulesListProps\n> = ({\n routeCreateApprovalRule,\n routeEditApprovalRule,\n routeApprovalRuleDetails,\n setColumns,\n setRowsData,\n className = '',\n withHeader = true,\n withWrapper = true,\n skeletonRowCount = 5,\n initialPageSize = defaultPageSizeConfig,\n}) => {\n const t = useText({\n headerText: 'PurchaseOrders.approvalRulesList.containerTitle',\n ruleName: 'PurchaseOrders.purchaseOrdersTable.tableColumns.ruleName',\n ruleType: 'PurchaseOrders.purchaseOrdersTable.tableColumns.ruleType',\n appliesTo: 'PurchaseOrders.purchaseOrdersTable.tableColumns.appliesTo',\n approver: 'PurchaseOrders.purchaseOrdersTable.tableColumns.approver',\n createdBy: 'PurchaseOrders.purchaseOrdersTable.tableColumns.createdBy',\n status: 'PurchaseOrders.purchaseOrdersTable.tableColumns.status',\n actionEdit: 'PurchaseOrders.purchaseOrdersTable.actionEdit',\n actionDelete: 'PurchaseOrders.purchaseOrdersTable.actionDelete',\n addNewRule: 'PurchaseOrders.approvalRulesList.buttons.newRule',\n actionView: 'PurchaseOrders.purchaseOrdersTable.actionView',\n appliesToAll: 'PurchaseOrders.purchaseOrdersTable.appliesToAll',\n emptyTitle: 'PurchaseOrders.approvalRulesList.emptyTitle',\n ariaLabelEditRule: 'PurchaseOrders.approvalRulesList.ariaLabel.editRule',\n ariaLabelDeleteRule:\n 'PurchaseOrders.approvalRulesList.ariaLabel.deleteRule',\n ariaLabelViewRule: 'PurchaseOrders.approvalRulesList.ariaLabel.viewRule',\n });\n\n const { permissions, loadingPermissions } = useCustomerRolePermissions();\n const {\n loading,\n tableConfig,\n paginationConfig,\n totalCount,\n pageSizeConfig,\n handleCreateUrl,\n } = useApprovalRulesList({\n routeCreateApprovalRule,\n routeEditApprovalRule,\n routeApprovalRuleDetails,\n setColumns,\n setRowsData,\n permissions,\n initialPageSize,\n t,\n });\n\n const {\n isAdmin,\n permissions: { manageApprovalRules },\n } = permissions;\n\n const renderFooterButton =\n isAdmin || manageApprovalRules ? (\n <Button\n variant=\"primary\"\n onClick={() => {\n window.location.href = handleCreateUrl('', 'new');\n }}\n data-testid=\"add-new-rule-button\"\n >\n {t.addNewRule}\n </Button>\n ) : null;\n\n const footerContent =\n loading || loadingPermissions ? (\n <Skeleton data-testid=\"approval-rules-skeleton\">\n <SkeletonRow variant=\"row\" size=\"small\" />\n </Skeleton>\n ) : (\n renderFooterButton\n );\n\n return (\n <div\n className={classes(['purchase-orders', className])}\n data-testid=\"purchase-orders-container\"\n >\n {withHeader ? <PurchaseOrdersHeader headerText={t.headerText} /> : null}\n <PurchaseOrdersTable\n totalCount={totalCount}\n columns={tableConfig.columns}\n rows={tableConfig.rows}\n paginationConfig={paginationConfig}\n loading={loading || loadingPermissions}\n skeletonRowCount={skeletonRowCount}\n pageSizeConfig={pageSizeConfig}\n emptyTitle={t.emptyTitle}\n withWrapper={withWrapper}\n footer={footerContent}\n />\n </div>\n );\n};\n"],"names":["defaultApprovalRulesColumns","DEFAULT_PAGE_SIZE","useApprovalRulesList","routeApprovalRuleDetails","routeCreateApprovalRule","routeEditApprovalRule","setColumns","setRowsData","initialPageSize","permissions","approvalRules","setApprovalRules","useState","loading","setLoading","pageSizeOptionsList","setPageSizeOptionsList","pagination","setPagination","currentPage","totalPages","totalCount","handleChangePageSize","useCallback","event","size","prev","option","handlePageChange","page","useEffect","pageSize","_a","selectedPageSize","getPurchaseOrderApprovalRules","data","error","handleCreateUrl","id","type","url","isValidUrl","columns","useMemo","col","handleDeleteRule","e","deletePurchaseOrderApprovalRule","rule","rows","modifiedApprovalRules","ar","isAdmin","manageApprovalRules","jsx","Text","_b","_c","_d","_e","role","Fragment","_f","idx","jsxs","PurchaseOrderApprovalRulesList","className","withHeader","withWrapper","skeletonRowCount","defaultPageSizeConfig","t","useText","loadingPermissions","useCustomerRolePermissions","tableConfig","paginationConfig","pageSizeConfig","renderFooterButton","Button","footerContent","Skeleton","SkeletonRow","classes","PurchaseOrdersHeader","PurchaseOrdersTable"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{jsxs as
|
|
3
|
+
import{jsxs as a,jsx as n}from"@dropins/tools/preact-jsx-runtime.js";import{classes as o}from"@dropins/tools/lib.js";import"@dropins/tools/components.js";import"@dropins/tools/event-bus.js";/* empty css */import{useText as c}from"@dropins/tools/i18n.js";const m=({className:e,purchaseOrderNumber:r,routePurchaseOrderDetails:s,...i})=>{const t=c({title:"PurchaseOrders.purchaseOrderConfirmation.title",messagePrefix:"PurchaseOrders.purchaseOrderConfirmation.messagePrefix",messageSuffix:"PurchaseOrders.purchaseOrderConfirmation.messageSuffix"});return a("div",{...i,className:o(["purchase-orders-confirmation-content",e]),children:[n("h2",{className:"purchase-orders-confirmation-content__title",children:t.title}),a("p",{className:"purchase-orders-confirmation-content__message",children:[t.messagePrefix," ",a("a",{className:"purchase-orders-confirmation-content__link",href:s()??"",children:["#",r]}),". ",t.messageSuffix]})]})},x=({className:e,purchaseOrderNumber:r,routePurchaseOrderDetails:s,...i})=>r?n("div",{...i,className:o(["b2b-purchase-order-confirmation",e]),children:n(m,{purchaseOrderNumber:r,routePurchaseOrderDetails:s})}):null;export{x as PurchaseOrderConfirmation,x as default};
|
|
4
4
|
//# sourceMappingURL=PurchaseOrderConfirmation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PurchaseOrderConfirmation.js","sources":["/@dropins/storefront-purchase-order/src/components/PurchaseOrderConfirmationContent/PurchaseOrderConfirmationContent.tsx","/@dropins/storefront-purchase-order/src/containers/PurchaseOrderConfirmation/PurchaseOrderConfirmation.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 { PurchaseOrderConfirmationContentProps } from '@/b2b-purchase-order/types/components';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport '@/b2b-purchase-order/components/PurchaseOrderConfirmationContent/PurchaseOrderConfirmationContent.css';\n\nexport const PurchaseOrderConfirmationContent: FunctionComponent<\n PurchaseOrderConfirmationContentProps\n> = ({\n className,\n purchaseOrderNumber,\n routePurchaseOrderDetails,\n ...props\n}) => {\n const t = useText({\n title: 'PurchaseOrders.purchaseOrderConfirmation.title',\n
|
|
1
|
+
{"version":3,"file":"PurchaseOrderConfirmation.js","sources":["/@dropins/storefront-purchase-order/src/components/PurchaseOrderConfirmationContent/PurchaseOrderConfirmationContent.tsx","/@dropins/storefront-purchase-order/src/containers/PurchaseOrderConfirmation/PurchaseOrderConfirmation.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 { PurchaseOrderConfirmationContentProps } from '@/b2b-purchase-order/types/components';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport '@/b2b-purchase-order/components/PurchaseOrderConfirmationContent/PurchaseOrderConfirmationContent.css';\n\nexport const PurchaseOrderConfirmationContent: FunctionComponent<\n PurchaseOrderConfirmationContentProps\n> = ({\n className,\n purchaseOrderNumber,\n routePurchaseOrderDetails,\n ...props\n}) => {\n const t = useText({\n title: 'PurchaseOrders.purchaseOrderConfirmation.title',\n messagePrefix: 'PurchaseOrders.purchaseOrderConfirmation.messagePrefix',\n messageSuffix: 'PurchaseOrders.purchaseOrderConfirmation.messageSuffix',\n });\n\n return (\n <div\n {...props}\n className={classes(['purchase-orders-confirmation-content', className])}\n >\n <h2 className=\"purchase-orders-confirmation-content__title\">{t.title}</h2>\n <p className=\"purchase-orders-confirmation-content__message\">\n {t.messagePrefix}{' '}\n <a\n className=\"purchase-orders-confirmation-content__link\"\n href={routePurchaseOrderDetails() ?? ''}\n >\n #{purchaseOrderNumber}\n </a>\n . {t.messageSuffix}\n </p>\n </div>\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 { classes, Container } from '@adobe-commerce/elsie/lib';\nimport { PurchaseOrderConfirmationContent } from '@/b2b-purchase-order/components';\nimport { PurchaseOrderConfirmationProps } from '@/b2b-purchase-order/types/containers';\n\nexport const PurchaseOrderConfirmation: Container<\n PurchaseOrderConfirmationProps\n> = ({\n className,\n purchaseOrderNumber,\n routePurchaseOrderDetails,\n ...props\n}) => {\n if (!purchaseOrderNumber) return null;\n\n return (\n <div\n {...props}\n className={classes(['b2b-purchase-order-confirmation', className])}\n >\n <PurchaseOrderConfirmationContent\n purchaseOrderNumber={purchaseOrderNumber}\n routePurchaseOrderDetails={routePurchaseOrderDetails}\n />\n </div>\n );\n};\n"],"names":["PurchaseOrderConfirmationContent","className","purchaseOrderNumber","routePurchaseOrderDetails","props","useText","jsxs","classes","jsx","PurchaseOrderConfirmation"],"mappings":"qSAuBO,MAAMA,EAET,CAAC,CACH,UAAAC,EACA,oBAAAC,EACA,0BAAAC,EACA,GAAGC,CACL,IAAM,CACJ,MAAM,EAAIC,EAAQ,CAChB,MAAO,iDACP,cAAe,yDACf,cAAe,wDAAA,CAChB,EAED,OACEC,EAAC,MAAA,CACE,GAAGF,EACJ,UAAWG,EAAQ,CAAC,uCAAwCN,CAAS,CAAC,EAEtE,SAAA,CAAAO,EAAC,KAAA,CAAG,UAAU,8CAA+C,SAAA,EAAE,MAAM,EACrEF,EAAC,IAAA,CAAE,UAAU,gDACV,SAAA,CAAA,EAAE,cAAe,IAClBA,EAAC,IAAA,CACC,UAAU,6CACV,KAAMH,KAA+B,GACtC,SAAA,CAAA,IACGD,CAAA,CAAA,CAAA,EACA,KACD,EAAE,aAAA,CAAA,CACP,CAAA,CAAA,CAAA,CAGN,EClCaO,EAET,CAAC,CACH,UAAAR,EACA,oBAAAC,EACA,0BAAAC,EACA,GAAGC,CACL,IACOF,EAGHM,EAAC,MAAA,CACE,GAAGJ,EACJ,UAAWG,EAAQ,CAAC,kCAAmCN,CAAS,CAAC,EAEjE,SAAAO,EAACR,EAAA,CACC,oBAAAE,EACA,0BAAAC,CAAA,CAAA,CACF,CAAA,EAV6B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{jsxs as
|
|
3
|
+
import{jsxs as v,jsx as r}from"@dropins/tools/preact-jsx-runtime.js";import{classes as R}from"@dropins/tools/lib.js";import{u as D,P as M,a as j,d as w}from"../chunks/useCustomerRolePermissions.js";import{P as x}from"../chunks/PurchaseOrdersTableActions.js";/* empty css */import{E,u as S}from"../chunks/usePurchaseOrders.js";import"@dropins/tools/preact-hooks.js";import"@dropins/tools/event-bus.js";import{useText as q}from"@dropins/tools/i18n.js";import"@dropins/tools/components.js";import"../chunks/getPurchaseOrders.js";import"../chunks/fetch-graphql.js";import"@dropins/tools/fetch-graphql.js";const J=({initialPageSize:o=w,routePurchaseOrderDetails:l,setColumns:d,setRowsData:u,className:c="",withHeader:i=!0,withWrapper:p=!0,skeletonRowCount:n=5})=>{const h=E.CUSTOMER_APPROVAL_PURCHASE_ORDERS,e=q({headerText:"PurchaseOrders.requireApprovalPurchaseOrders.containerTitle",actionView:"PurchaseOrders.purchaseOrdersTable.actionView",poNumber:"PurchaseOrders.purchaseOrdersTable.tableColumns.poNumber",orderNumber:"PurchaseOrders.purchaseOrdersTable.tableColumns.orderNumber",createdDate:"PurchaseOrders.purchaseOrdersTable.tableColumns.createdDate",updatedDate:"PurchaseOrders.purchaseOrdersTable.tableColumns.updatedDate",createdBy:"PurchaseOrders.purchaseOrdersTable.tableColumns.createdBy",status:"PurchaseOrders.purchaseOrdersTable.tableColumns.status",total:"PurchaseOrders.purchaseOrdersTable.tableColumns.total",action:"PurchaseOrders.purchaseOrdersTable.tableColumns.action",selectAllAriaLabel:"PurchaseOrders.purchaseOrdersTable.tableColumns.selectAllAriaLabel",noPurchaseOrders:"PurchaseOrders.requireApprovalPurchaseOrders.noPurchaseOrders",alertHeaderApprove:"PurchaseOrders.alertMessages.header.approve",alertHeaderReject:"PurchaseOrders.alertMessages.header.reject",alertHeaderError:"PurchaseOrders.alertMessages.header.error",alertDescriptionApprove:"PurchaseOrders.alertMessages.description.approve",alertDescriptionReject:"PurchaseOrders.alertMessages.description.reject",alertDescriptionError:"PurchaseOrders.alertMessages.description.error"}),{permissions:O,loadingPermissions:m}=D(),{totalCount:s,loading:a,tableConfig:t,paginationConfig:P,pageSizeConfig:b,selectedOrderIds:C,handleRejectSelected:T,handleApproveSelected:g,isRequireApprovalPOsView:A,alertMessageConfig:f}=S({view:h,routePurchaseOrderDetails:l,setColumns:d,setRowsData:u,initialPageSize:o,permissions:O,loadingPermissions:m,t:e});return v("div",{className:R(["require-approval-purchase-orders",c]),"data-testid":"require-approval-purchase-orders-container",children:[i?r(M,{headerText:e.headerText}):null,r(j,{header:A&&s>0?r(x,{loading:a,selectedCount:C.length,handleRejectSelected:T,handleApproveSelected:g}):null,totalCount:s,columns:t.columns,rows:t.rows,paginationConfig:P,loading:a,skeletonRowCount:n,pageSizeConfig:b,emptyTitle:e.noPurchaseOrders,alertMessageConfig:f,withWrapper:p})]})};export{J as RequireApprovalPurchaseOrders,J as default};
|
|
4
4
|
//# sourceMappingURL=RequireApprovalPurchaseOrders.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequireApprovalPurchaseOrders.js","sources":["/@dropins/storefront-purchase-order/src/containers/RequireApprovalPurchaseOrders/RequireApprovalPurchaseOrders.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 { classes, Container } from '@adobe-commerce/elsie/lib';\nimport {\n PurchaseOrdersTable,\n PurchaseOrdersHeader,\n PurchaseOrdersTableActions,\n} from '@/b2b-purchase-order/components';\nimport {\n usePurchaseOrders,\n useCustomerRolePermissions,\n} from '@/b2b-purchase-order/hooks';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { defaultPageSizeConfig } from '@/b2b-purchase-order/configs';\nimport { EnumPurchaseOrdersView } from '@/b2b-purchase-order/types/api';\nimport { RequireApprovalPurchaseOrdersProps } from '@/b2b-purchase-order/types/containers';\n\nexport const RequireApprovalPurchaseOrders: Container<\n RequireApprovalPurchaseOrdersProps\n> = ({\n initialPageSize = defaultPageSizeConfig,\n routePurchaseOrderDetails,\n setColumns,\n setRowsData,\n className = '',\n withHeader = true,\n withWrapper = true,\n skeletonRowCount = 5,\n}) => {\n const view = EnumPurchaseOrdersView.CUSTOMER_APPROVAL_PURCHASE_ORDERS;\n\n const t = useText({\n headerText: 'PurchaseOrders.requireApprovalPurchaseOrders.containerTitle',\n actionView: 'PurchaseOrders.purchaseOrdersTable.actionView',\n poNumber: 'PurchaseOrders.purchaseOrdersTable.tableColumns.poNumber',\n orderNumber: 'PurchaseOrders.purchaseOrdersTable.tableColumns.orderNumber',\n createdDate: 'PurchaseOrders.purchaseOrdersTable.tableColumns.createdDate',\n updatedDate: 'PurchaseOrders.purchaseOrdersTable.tableColumns.updatedDate',\n createdBy: 'PurchaseOrders.purchaseOrdersTable.tableColumns.createdBy',\n status: 'PurchaseOrders.purchaseOrdersTable.tableColumns.status',\n total: 'PurchaseOrders.purchaseOrdersTable.tableColumns.total',\n action: 'PurchaseOrders.purchaseOrdersTable.tableColumns.action',\n selectAllAriaLabel:\n 'PurchaseOrders.purchaseOrdersTable.tableColumns.selectAllAriaLabel',\n noPurchaseOrders:\n 'PurchaseOrders.requireApprovalPurchaseOrders.noPurchaseOrders',\n alertHeaderApprove: 'PurchaseOrders.alertMessages.header.approve',\n alertHeaderReject: 'PurchaseOrders.alertMessages.header.reject',\n alertHeaderError: 'PurchaseOrders.alertMessages.header.error',\n alertDescriptionApprove: 'PurchaseOrders.alertMessages.description.approve',\n alertDescriptionReject: 'PurchaseOrders.alertMessages.description.reject',\n alertDescriptionError: 'PurchaseOrders.alertMessages.description.error',\n });\n\n const { permissions, loadingPermissions } = useCustomerRolePermissions();\n const {\n totalCount,\n loading,\n tableConfig,\n paginationConfig,\n pageSizeConfig,\n selectedOrderIds,\n handleRejectSelected,\n handleApproveSelected,\n isRequireApprovalPOsView,\n alertMessageConfig,\n } = usePurchaseOrders({\n view,\n routePurchaseOrderDetails,\n setColumns,\n setRowsData,\n initialPageSize,\n permissions,\n loadingPermissions,\n t,\n });\n\n return (\n <div\n className={classes(['require-approval-purchase-orders', className])}\n data-testid=\"require-approval-purchase-orders-container\"\n >\n {withHeader ? <PurchaseOrdersHeader headerText={t.headerText} /> : null}\n <PurchaseOrdersTable\n header={\n isRequireApprovalPOsView && totalCount > 0 ? (\n <PurchaseOrdersTableActions\n loading={loading}\n selectedCount={selectedOrderIds.length}\n handleRejectSelected={handleRejectSelected}\n handleApproveSelected={handleApproveSelected}\n />\n ) : null\n }\n totalCount={totalCount}\n columns={tableConfig.columns}\n rows={tableConfig.rows}\n paginationConfig={paginationConfig}\n loading={loading}\n skeletonRowCount={skeletonRowCount}\n pageSizeConfig={pageSizeConfig}\n emptyTitle={t.noPurchaseOrders}\n alertMessageConfig={alertMessageConfig}\n withWrapper={withWrapper}\n />\n </div>\n );\n};\n"],"names":["RequireApprovalPurchaseOrders","initialPageSize","defaultPageSizeConfig","routePurchaseOrderDetails","setColumns","setRowsData","className","withHeader","withWrapper","skeletonRowCount","view","EnumPurchaseOrdersView","t","useText","permissions","loadingPermissions","useCustomerRolePermissions","totalCount","loading","tableConfig","paginationConfig","pageSizeConfig","selectedOrderIds","handleRejectSelected","handleApproveSelected","isRequireApprovalPOsView","alertMessageConfig","usePurchaseOrders","jsxs","classes","jsx","PurchaseOrdersHeader","PurchaseOrdersTable","PurchaseOrdersTableActions"],"mappings":"
|
|
1
|
+
{"version":3,"file":"RequireApprovalPurchaseOrders.js","sources":["/@dropins/storefront-purchase-order/src/containers/RequireApprovalPurchaseOrders/RequireApprovalPurchaseOrders.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 { classes, Container } from '@adobe-commerce/elsie/lib';\nimport {\n PurchaseOrdersTable,\n PurchaseOrdersHeader,\n PurchaseOrdersTableActions,\n} from '@/b2b-purchase-order/components';\nimport {\n usePurchaseOrders,\n useCustomerRolePermissions,\n} from '@/b2b-purchase-order/hooks';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { defaultPageSizeConfig } from '@/b2b-purchase-order/configs';\nimport { EnumPurchaseOrdersView } from '@/b2b-purchase-order/types/api';\nimport { RequireApprovalPurchaseOrdersProps } from '@/b2b-purchase-order/types/containers';\n\nexport const RequireApprovalPurchaseOrders: Container<\n RequireApprovalPurchaseOrdersProps\n> = ({\n initialPageSize = defaultPageSizeConfig,\n routePurchaseOrderDetails,\n setColumns,\n setRowsData,\n className = '',\n withHeader = true,\n withWrapper = true,\n skeletonRowCount = 5,\n}) => {\n const view = EnumPurchaseOrdersView.CUSTOMER_APPROVAL_PURCHASE_ORDERS;\n\n const t = useText({\n headerText: 'PurchaseOrders.requireApprovalPurchaseOrders.containerTitle',\n actionView: 'PurchaseOrders.purchaseOrdersTable.actionView',\n poNumber: 'PurchaseOrders.purchaseOrdersTable.tableColumns.poNumber',\n orderNumber: 'PurchaseOrders.purchaseOrdersTable.tableColumns.orderNumber',\n createdDate: 'PurchaseOrders.purchaseOrdersTable.tableColumns.createdDate',\n updatedDate: 'PurchaseOrders.purchaseOrdersTable.tableColumns.updatedDate',\n createdBy: 'PurchaseOrders.purchaseOrdersTable.tableColumns.createdBy',\n status: 'PurchaseOrders.purchaseOrdersTable.tableColumns.status',\n total: 'PurchaseOrders.purchaseOrdersTable.tableColumns.total',\n action: 'PurchaseOrders.purchaseOrdersTable.tableColumns.action',\n selectAllAriaLabel:\n 'PurchaseOrders.purchaseOrdersTable.tableColumns.selectAllAriaLabel',\n noPurchaseOrders:\n 'PurchaseOrders.requireApprovalPurchaseOrders.noPurchaseOrders',\n alertHeaderApprove: 'PurchaseOrders.alertMessages.header.approve',\n alertHeaderReject: 'PurchaseOrders.alertMessages.header.reject',\n alertHeaderError: 'PurchaseOrders.alertMessages.header.error',\n alertDescriptionApprove: 'PurchaseOrders.alertMessages.description.approve',\n alertDescriptionReject: 'PurchaseOrders.alertMessages.description.reject',\n alertDescriptionError: 'PurchaseOrders.alertMessages.description.error',\n });\n\n const { permissions, loadingPermissions } = useCustomerRolePermissions();\n const {\n totalCount,\n loading,\n tableConfig,\n paginationConfig,\n pageSizeConfig,\n selectedOrderIds,\n handleRejectSelected,\n handleApproveSelected,\n isRequireApprovalPOsView,\n alertMessageConfig,\n } = usePurchaseOrders({\n view,\n routePurchaseOrderDetails,\n setColumns,\n setRowsData,\n initialPageSize,\n permissions,\n loadingPermissions,\n t,\n });\n\n return (\n <div\n className={classes(['require-approval-purchase-orders', className])}\n data-testid=\"require-approval-purchase-orders-container\"\n >\n {withHeader ? <PurchaseOrdersHeader headerText={t.headerText} /> : null}\n <PurchaseOrdersTable\n header={\n isRequireApprovalPOsView && totalCount > 0 ? (\n <PurchaseOrdersTableActions\n loading={loading}\n selectedCount={selectedOrderIds.length}\n handleRejectSelected={handleRejectSelected}\n handleApproveSelected={handleApproveSelected}\n />\n ) : null\n }\n totalCount={totalCount}\n columns={tableConfig.columns}\n rows={tableConfig.rows}\n paginationConfig={paginationConfig}\n loading={loading}\n skeletonRowCount={skeletonRowCount}\n pageSizeConfig={pageSizeConfig}\n emptyTitle={t.noPurchaseOrders}\n alertMessageConfig={alertMessageConfig}\n withWrapper={withWrapper}\n />\n </div>\n );\n};\n"],"names":["RequireApprovalPurchaseOrders","initialPageSize","defaultPageSizeConfig","routePurchaseOrderDetails","setColumns","setRowsData","className","withHeader","withWrapper","skeletonRowCount","view","EnumPurchaseOrdersView","t","useText","permissions","loadingPermissions","useCustomerRolePermissions","totalCount","loading","tableConfig","paginationConfig","pageSizeConfig","selectedOrderIds","handleRejectSelected","handleApproveSelected","isRequireApprovalPOsView","alertMessageConfig","usePurchaseOrders","jsxs","classes","jsx","PurchaseOrdersHeader","PurchaseOrdersTable","PurchaseOrdersTableActions"],"mappings":"goBAgCO,MAAMA,EAET,CAAC,CACH,gBAAAC,EAAkBC,EAClB,0BAAAC,EACA,WAAAC,EACA,YAAAC,EACA,UAAAC,EAAY,GACZ,WAAAC,EAAa,GACb,YAAAC,EAAc,GACd,iBAAAC,EAAmB,CACrB,IAAM,CACJ,MAAMC,EAAOC,EAAuB,kCAE9BC,EAAIC,EAAQ,CAChB,WAAY,8DACZ,WAAY,gDACZ,SAAU,2DACV,YAAa,8DACb,YAAa,8DACb,YAAa,8DACb,UAAW,4DACX,OAAQ,yDACR,MAAO,wDACP,OAAQ,yDACR,mBACE,qEACF,iBACE,gEACF,mBAAoB,8CACpB,kBAAmB,6CACnB,iBAAkB,4CAClB,wBAAyB,mDACzB,uBAAwB,kDACxB,sBAAuB,gDAAA,CACxB,EAEK,CAAE,YAAAC,EAAa,mBAAAC,CAAA,EAAuBC,EAAA,EACtC,CACJ,WAAAC,EACA,QAAAC,EACA,YAAAC,EACA,iBAAAC,EACA,eAAAC,EACA,iBAAAC,EACA,qBAAAC,EACA,sBAAAC,EACA,yBAAAC,EACA,mBAAAC,CAAA,EACEC,EAAkB,CACpB,KAAAjB,EACA,0BAAAP,EACA,WAAAC,EACA,YAAAC,EACA,gBAAAJ,EACA,YAAAa,EACA,mBAAAC,EACA,EAAAH,CAAA,CACD,EAED,OACEgB,EAAC,MAAA,CACC,UAAWC,EAAQ,CAAC,mCAAoCvB,CAAS,CAAC,EAClE,cAAY,6CAEX,SAAA,CAAAC,EAAauB,EAACC,EAAA,CAAqB,WAAYnB,EAAE,WAAY,EAAK,KACnEkB,EAACE,EAAA,CACC,OACEP,GAA4BR,EAAa,EACvCa,EAACG,EAAA,CACC,QAAAf,EACA,cAAeI,EAAiB,OAChC,qBAAAC,EACA,sBAAAC,CAAA,CAAA,EAEA,KAEN,WAAAP,EACA,QAASE,EAAY,QACrB,KAAMA,EAAY,KAClB,iBAAAC,EACA,QAAAF,EACA,iBAAAT,EACA,eAAAY,EACA,WAAYT,EAAE,iBACd,mBAAAc,EACA,YAAAlB,CAAA,CAAA,CACF,CAAA,CAAA,CAGN"}
|
package/containers/index.d.ts
CHANGED
|
@@ -17,5 +17,6 @@
|
|
|
17
17
|
export * from './CustomerPurchaseOrders';
|
|
18
18
|
export * from './CompanyPurchaseOrders';
|
|
19
19
|
export * from './RequireApprovalPurchaseOrders';
|
|
20
|
+
export * from './PurchaseOrderApprovalRulesList';
|
|
20
21
|
export * from './PurchaseOrderConfirmation';
|
|
21
22
|
//# sourceMappingURL=index.d.ts.map
|
package/hooks/index.d.ts
CHANGED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { UseApprovalRulesList, UseApprovalRulesListReturn } from '../types/hooks';
|
|
2
|
+
|
|
3
|
+
export declare const useApprovalRulesList: ({ routeApprovalRuleDetails, routeCreateApprovalRule, routeEditApprovalRule, setColumns, setRowsData, initialPageSize, permissions, t, }: UseApprovalRulesList) => UseApprovalRulesListReturn;
|
|
4
|
+
//# sourceMappingURL=useApprovalRulesList.d.ts.map
|
package/i18n/en_US.json.d.ts
CHANGED
|
@@ -1,95 +1,101 @@
|
|
|
1
1
|
declare const _default: {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
},
|
|
21
|
-
"
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
"rulesStatus": {
|
|
49
|
-
"enabled": "Enabled",
|
|
50
|
-
"disabled": "Disabled"
|
|
51
|
-
},
|
|
52
|
-
"ruleTypes": {
|
|
53
|
-
"grand_total": "Grand Total",
|
|
54
|
-
"number_of_skus": "Number of SKUs",
|
|
55
|
-
"any_item": "Any Item",
|
|
56
|
-
"all_items": "All Items"
|
|
57
|
-
},
|
|
58
|
-
"appliesToAll": "All",
|
|
59
|
-
"statusOrder": {
|
|
60
|
-
"order_placed": "Order placed",
|
|
61
|
-
"order_failed": "Order failed",
|
|
62
|
-
"pending": "Pending",
|
|
63
|
-
"approved": "Approved",
|
|
64
|
-
"rejected": "Rejected",
|
|
65
|
-
"canceled": "Canceled",
|
|
66
|
-
"order_in_progress": "Order in progress",
|
|
67
|
-
"approval_required": "Approval required",
|
|
68
|
-
"approved_pending_payment": "Approved pending Payment"
|
|
69
|
-
},
|
|
70
|
-
"tableColumns": {
|
|
71
|
-
"poNumber": "PO #",
|
|
72
|
-
"orderNumber": "Order #",
|
|
73
|
-
"createdDate": "Created",
|
|
74
|
-
"updatedDate": "Updated",
|
|
75
|
-
"createdBy": "Created By",
|
|
76
|
-
"status": "Status",
|
|
77
|
-
"total": "Total",
|
|
78
|
-
"action": "Action",
|
|
79
|
-
"ruleName": "Rule Name",
|
|
80
|
-
"ruleType": "Rule Type",
|
|
81
|
-
"appliesTo": "Applies To",
|
|
82
|
-
"approver": "Approver",
|
|
83
|
-
"selectAllAriaLabel": "Select all not approved purchase orders"
|
|
84
|
-
}
|
|
85
|
-
},
|
|
86
|
-
"purchaseOrderConfirmation": {
|
|
87
|
-
"title": "Your Purchase Order has been submitted for approval.",
|
|
88
|
-
"description": "Your Purchase Order request number is ",
|
|
89
|
-
"helpText": "A copy of this Purchase Order will be emailed to you shortly.",
|
|
90
|
-
"button": "Continue Shopping"
|
|
2
|
+
"PurchaseOrders": {
|
|
3
|
+
"customerPurchaseOrders": {
|
|
4
|
+
"containerTitle": "My purchase orders",
|
|
5
|
+
"noPurchaseOrders": "No purchase orders found."
|
|
6
|
+
},
|
|
7
|
+
"companyPurchaseOrders": {
|
|
8
|
+
"containerTitle": "Company purchase orders",
|
|
9
|
+
"noPurchaseOrders": "No company purchase orders found."
|
|
10
|
+
},
|
|
11
|
+
"requireApprovalPurchaseOrders": {
|
|
12
|
+
"containerTitle": "Requires my approval",
|
|
13
|
+
"noPurchaseOrders": "No purchase orders requiring my approval found."
|
|
14
|
+
},
|
|
15
|
+
"approvalRulesList": {
|
|
16
|
+
"containerTitle": "Approval rules",
|
|
17
|
+
"emptyTitle": "No approval rules found",
|
|
18
|
+
"ariaLabel": {
|
|
19
|
+
"editRule": "Edit approval rule {{ruleName}}",
|
|
20
|
+
"deleteRule": "Delete approval rule {{ruleName}}",
|
|
21
|
+
"viewRule": "View approval rule {{ruleName}}"
|
|
22
|
+
},
|
|
23
|
+
"buttons": {
|
|
24
|
+
"newRule": "Add New Rule"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"alertMessages": {
|
|
28
|
+
"header": {
|
|
29
|
+
"approve": "Approve Purchase Orders",
|
|
30
|
+
"reject": "Reject Purchase Orders",
|
|
31
|
+
"error": "Error"
|
|
32
|
+
},
|
|
33
|
+
"description": {
|
|
34
|
+
"approve": "The selected purchase orders were approved successfully.",
|
|
35
|
+
"reject": "The selected purchase orders were rejected successfully.",
|
|
36
|
+
"error": "An error occurred while processing your request."
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"purchaseOrdersTable": {
|
|
40
|
+
"noPurchaseOrders": {
|
|
41
|
+
"default": "No purchase orders found."
|
|
42
|
+
},
|
|
43
|
+
"pagination": {
|
|
44
|
+
"status": "Items {{from}} to {{to}} of {{total}} total",
|
|
45
|
+
"pageSizeLabel": {
|
|
46
|
+
"start": "Show",
|
|
47
|
+
"end": "per page"
|
|
91
48
|
}
|
|
49
|
+
},
|
|
50
|
+
"loading": "Loading purchase orders...",
|
|
51
|
+
"actionView": "View",
|
|
52
|
+
"actionEdit": "Edit",
|
|
53
|
+
"actionDelete": "Delete",
|
|
54
|
+
"rulesStatus": {
|
|
55
|
+
"enabled": "Enabled",
|
|
56
|
+
"disabled": "Disabled"
|
|
57
|
+
},
|
|
58
|
+
"ruleTypes": {
|
|
59
|
+
"grand_total": "Grand Total",
|
|
60
|
+
"number_of_skus": "Number of SKUs",
|
|
61
|
+
"any_item": "Any Item",
|
|
62
|
+
"all_items": "All Items"
|
|
63
|
+
},
|
|
64
|
+
"appliesToAll": "All",
|
|
65
|
+
"statusOrder": {
|
|
66
|
+
"order_placed": "Order placed",
|
|
67
|
+
"order_failed": "Order failed",
|
|
68
|
+
"pending": "Pending",
|
|
69
|
+
"approved": "Approved",
|
|
70
|
+
"rejected": "Rejected",
|
|
71
|
+
"canceled": "Canceled",
|
|
72
|
+
"order_in_progress": "Order in progress",
|
|
73
|
+
"approval_required": "Approval required",
|
|
74
|
+
"approved_pending_payment": "Approved pending Payment"
|
|
75
|
+
},
|
|
76
|
+
"tableColumns": {
|
|
77
|
+
"poNumber": "PO #",
|
|
78
|
+
"orderNumber": "Order #",
|
|
79
|
+
"createdDate": "Created",
|
|
80
|
+
"updatedDate": "Updated",
|
|
81
|
+
"createdBy": "Created By",
|
|
82
|
+
"status": "Status",
|
|
83
|
+
"total": "Total",
|
|
84
|
+
"action": "Action",
|
|
85
|
+
"ruleName": "Rule Name",
|
|
86
|
+
"ruleType": "Rule Type",
|
|
87
|
+
"appliesTo": "Applies To",
|
|
88
|
+
"approver": "Approver",
|
|
89
|
+
"selectAllAriaLabel": "Select all not approved purchase orders"
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
"purchaseOrderConfirmation": {
|
|
93
|
+
"title": "Your Purchase Order has been submitted for approval.",
|
|
94
|
+
"messagePrefix": "Your Purchase Order request number is",
|
|
95
|
+
"messageSuffix": "A copy of this Purchase Order will be emailed to you shortly."
|
|
92
96
|
}
|
|
93
|
-
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
;
|
|
94
100
|
|
|
95
101
|
export default _default;
|