Compare commits
No commits in common. "eea7e1f724f5abfbb6403454e38866fe9fcf531e" and "e32e48fa3a5409a1acaa81b0176071dd1712e414" have entirely different histories.
eea7e1f724
...
e32e48fa3a
@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
|||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -49,7 +48,6 @@ const Invoices = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='invoice' />
|
<ExportListButton objectType='invoice' />
|
||||||
<InfoActionButtons type='invoice' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
|||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -49,7 +48,6 @@ const PaymentPolicies = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='paymentPolicy' />
|
<ExportListButton objectType='paymentPolicy' />
|
||||||
<InfoActionButtons type='paymentPolicy' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
|||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -53,7 +52,6 @@ const Payments = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='payment' />
|
<ExportListButton objectType='payment' />
|
||||||
<InfoActionButtons type='payment' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
|||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -53,7 +52,6 @@ const TaxRecords = () => {
|
|||||||
updateCollapseState={setColumnVisibility}
|
updateCollapseState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='taxRecord' />
|
<ExportListButton objectType='taxRecord' />
|
||||||
<InfoActionButtons type='taxRecord' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -15,7 +15,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
|||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -57,7 +56,6 @@ const FilamentStocks = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='filamentStock' />
|
<ExportListButton objectType='filamentStock' />
|
||||||
<InfoActionButtons type='filamentStock' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
|||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -53,7 +52,6 @@ const OrderItems = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='orderItem' />
|
<ExportListButton objectType='orderItem' />
|
||||||
<InfoActionButtons type='orderItem' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -15,7 +15,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
|||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -57,7 +56,6 @@ const PartStocks = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='partStock' />
|
<ExportListButton objectType='partStock' />
|
||||||
<InfoActionButtons type='partStock' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -16,7 +16,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
|||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -58,7 +57,6 @@ const ProductStocks = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='productStock' />
|
<ExportListButton objectType='productStock' />
|
||||||
<InfoActionButtons type='productStock' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
|||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -53,7 +52,6 @@ const PurchaseOrders = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='purchaseOrder' />
|
<ExportListButton objectType='purchaseOrder' />
|
||||||
<InfoActionButtons type='purchaseOrder' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
|||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -53,7 +52,6 @@ const Shipments = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='shipment' />
|
<ExportListButton objectType='shipment' />
|
||||||
<InfoActionButtons type='shipment' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -15,7 +15,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
|||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -57,7 +56,6 @@ const StockAudits = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='stockAudit' />
|
<ExportListButton objectType='stockAudit' />
|
||||||
<InfoActionButtons type='stockAudit' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
|||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -53,7 +52,6 @@ const StockEvents = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='stockEvent' />
|
<ExportListButton objectType='stockEvent' />
|
||||||
<InfoActionButtons type='stockEvent' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -13,7 +13,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
|||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -55,7 +54,6 @@ const StockLocations = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='stockLocation' />
|
<ExportListButton objectType='stockLocation' />
|
||||||
<InfoActionButtons type='stockLocation' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -13,7 +13,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
|||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -55,7 +54,6 @@ const StockTransfers = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='stockTransfer' />
|
<ExportListButton objectType='stockTransfer' />
|
||||||
<InfoActionButtons type='stockTransfer' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -11,7 +11,6 @@ import SortSidebarButton from '../common/SortSidebarButton'
|
|||||||
import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -52,7 +51,6 @@ const AppPasswords = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='appPassword' />
|
<ExportListButton objectType='appPassword' />
|
||||||
<InfoActionButtons type='appPassword' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -11,7 +11,6 @@ import FilterSidebarButton from '../common/FilterSidebarButton'
|
|||||||
import SortSidebarButton from '../common/SortSidebarButton'
|
import SortSidebarButton from '../common/SortSidebarButton'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import ObjectTableViewButton from '../common/ObjectTableViewButton'
|
import ObjectTableViewButton from '../common/ObjectTableViewButton'
|
||||||
@ -50,7 +49,6 @@ const AuditLogs = () => {
|
|||||||
updateVisibleState={updateColumnVisibility}
|
updateVisibleState={updateColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='auditLog' />
|
<ExportListButton objectType='auditLog' />
|
||||||
<InfoActionButtons type='auditLog' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
|||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -53,7 +52,6 @@ const CourierServices = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='courierService' />
|
<ExportListButton objectType='courierService' />
|
||||||
<InfoActionButtons type='courierService' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
|||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -52,7 +51,6 @@ const Couriers = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='courier' />
|
<ExportListButton objectType='courier' />
|
||||||
<InfoActionButtons type='courier' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
|||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -53,7 +52,6 @@ const DocumentJobs = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='documentJob' />
|
<ExportListButton objectType='documentJob' />
|
||||||
<InfoActionButtons type='documentJob' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -8,7 +8,6 @@ import { ApiServerContext } from '../../context/ApiServerContext'
|
|||||||
import { useCallback, useContext, useEffect, useRef, useState } from 'react'
|
import { useCallback, useContext, useEffect, useRef, useState } from 'react'
|
||||||
import { Modal } from 'antd'
|
import { Modal } from 'antd'
|
||||||
import dayjs from 'dayjs'
|
import dayjs from 'dayjs'
|
||||||
import { toTemplateObjectData } from '../../utils/templateObjectData'
|
|
||||||
|
|
||||||
const NewDocumentJob = ({ onOk, defaultValues = {} }) => {
|
const NewDocumentJob = ({ onOk, defaultValues = {} }) => {
|
||||||
const {
|
const {
|
||||||
@ -126,7 +125,7 @@ const NewDocumentJob = ({ onOk, defaultValues = {} }) => {
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<TemplatePreview
|
<TemplatePreview
|
||||||
objectData={toTemplateObjectData(objectData?.objects)}
|
objectData={objectData?.object}
|
||||||
documentTemplate={objectData?.documentTemplate}
|
documentTemplate={objectData?.documentTemplate}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@ -159,7 +158,7 @@ const NewDocumentJob = ({ onOk, defaultValues = {} }) => {
|
|||||||
downloadTemplate(
|
downloadTemplate(
|
||||||
objectData.documentTemplate._id,
|
objectData.documentTemplate._id,
|
||||||
objectData.documentTemplate.content,
|
objectData.documentTemplate.content,
|
||||||
toTemplateObjectData(objectData.objects),
|
objectData.object,
|
||||||
fileName,
|
fileName,
|
||||||
'pdf',
|
'pdf',
|
||||||
() => {
|
() => {
|
||||||
@ -176,7 +175,7 @@ const NewDocumentJob = ({ onOk, defaultValues = {} }) => {
|
|||||||
downloadTemplate(
|
downloadTemplate(
|
||||||
objectData.documentTemplate._id,
|
objectData.documentTemplate._id,
|
||||||
objectData.documentTemplate.content,
|
objectData.documentTemplate.content,
|
||||||
toTemplateObjectData(objectData.objects),
|
objectData.object,
|
||||||
fileName,
|
fileName,
|
||||||
'png',
|
'png',
|
||||||
() => {
|
() => {
|
||||||
@ -193,7 +192,7 @@ const NewDocumentJob = ({ onOk, defaultValues = {} }) => {
|
|||||||
downloadTemplate(
|
downloadTemplate(
|
||||||
objectData.documentTemplate._id,
|
objectData.documentTemplate._id,
|
||||||
objectData.documentTemplate.content,
|
objectData.documentTemplate.content,
|
||||||
toTemplateObjectData(objectData.objects),
|
objectData.object,
|
||||||
fileName,
|
fileName,
|
||||||
'jpeg',
|
'jpeg',
|
||||||
() => {
|
() => {
|
||||||
@ -210,7 +209,7 @@ const NewDocumentJob = ({ onOk, defaultValues = {} }) => {
|
|||||||
downloadTemplate(
|
downloadTemplate(
|
||||||
objectData.documentTemplate._id,
|
objectData.documentTemplate._id,
|
||||||
objectData.documentTemplate.content,
|
objectData.documentTemplate.content,
|
||||||
toTemplateObjectData(objectData.objects),
|
objectData.object,
|
||||||
fileName,
|
fileName,
|
||||||
'svg',
|
'svg',
|
||||||
() => {
|
() => {
|
||||||
|
|||||||
@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
|||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -53,7 +52,6 @@ const DocumentPrinters = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='documentPrinter' />
|
<ExportListButton objectType='documentPrinter' />
|
||||||
<InfoActionButtons type='documentPrinter' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
|||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -52,7 +51,6 @@ const DocumentSizes = () => {
|
|||||||
updateCollapseState={setColumnVisibility}
|
updateCollapseState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='documentSize' />
|
<ExportListButton objectType='documentSize' />
|
||||||
<InfoActionButtons type='documentSize' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
|||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -53,7 +52,6 @@ const DocumentTemplates = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='documentTemplate' />
|
<ExportListButton objectType='documentTemplate' />
|
||||||
<InfoActionButtons type='documentTemplate' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
|||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -49,7 +48,6 @@ const EmailAccounts = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='emailAccount' />
|
<ExportListButton objectType='emailAccount' />
|
||||||
<InfoActionButtons type='emailAccount' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
|||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -49,7 +48,6 @@ const EmailMessages = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='emailMessage' />
|
<ExportListButton objectType='emailMessage' />
|
||||||
<InfoActionButtons type='emailMessage' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -14,8 +14,7 @@ import WizardView from '../../common/WizardView'
|
|||||||
import TemplatePreview from '../../common/TemplatePreview'
|
import TemplatePreview from '../../common/TemplatePreview'
|
||||||
import ProgressDisplay from '../../common/ProgressDisplay'
|
import ProgressDisplay from '../../common/ProgressDisplay'
|
||||||
import { ApiServerContext } from '../../context/ApiServerContext'
|
import { ApiServerContext } from '../../context/ApiServerContext'
|
||||||
import { resolveEmailRecipientsForObjects } from '../../utils/emailRecipients'
|
import { resolveEmailRecipients } from '../../utils/emailRecipients'
|
||||||
import { toTemplateObjectData } from '../../utils/templateObjectData'
|
|
||||||
|
|
||||||
const progressByState = {
|
const progressByState = {
|
||||||
queued: 10,
|
queued: 10,
|
||||||
@ -47,13 +46,9 @@ const EmailWizardContent = ({
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
let cancelled = false
|
let cancelled = false
|
||||||
resolveEmailRecipientsForObjects({
|
resolveEmailRecipients({
|
||||||
type: objectData?.objectType,
|
type: objectData?.objectType,
|
||||||
objects: Array.isArray(objectData?.objects)
|
objectData: objectData?.object,
|
||||||
? objectData.objects
|
|
||||||
: objectData?.object
|
|
||||||
? [objectData.object]
|
|
||||||
: [],
|
|
||||||
fetchObject
|
fetchObject
|
||||||
}).then((result) => {
|
}).then((result) => {
|
||||||
if (!cancelled) setCandidates(result)
|
if (!cancelled) setCandidates(result)
|
||||||
@ -65,7 +60,6 @@ const EmailWizardContent = ({
|
|||||||
defaultCandidates,
|
defaultCandidates,
|
||||||
fetchObject,
|
fetchObject,
|
||||||
objectData?.object,
|
objectData?.object,
|
||||||
objectData?.objects,
|
|
||||||
objectData?.objectType
|
objectData?.objectType
|
||||||
])
|
])
|
||||||
|
|
||||||
@ -116,7 +110,7 @@ const EmailWizardContent = ({
|
|||||||
visibleProperties={{
|
visibleProperties={{
|
||||||
name: true,
|
name: true,
|
||||||
objectType: true,
|
objectType: true,
|
||||||
objects: true,
|
object: true,
|
||||||
emailTemplate: true,
|
emailTemplate: true,
|
||||||
emailAccount: true,
|
emailAccount: true,
|
||||||
recipientEmail: true,
|
recipientEmail: true,
|
||||||
@ -148,7 +142,7 @@ const EmailWizardContent = ({
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<TemplatePreview
|
<TemplatePreview
|
||||||
objectData={toTemplateObjectData(objectData?.objects)}
|
objectData={objectData?.object}
|
||||||
template={objectData?.emailTemplate}
|
template={objectData?.emailTemplate}
|
||||||
templateType='emailTemplate'
|
templateType='emailTemplate'
|
||||||
capabilities={{
|
capabilities={{
|
||||||
|
|||||||
@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
|||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -49,7 +48,6 @@ const EmailTemplates = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='emailTemplate' />
|
<ExportListButton objectType='emailTemplate' />
|
||||||
<InfoActionButtons type='emailTemplate' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -13,7 +13,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
|||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -55,7 +54,6 @@ const FilamentSkus = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='filamentSku' />
|
<ExportListButton objectType='filamentSku' />
|
||||||
<InfoActionButtons type='filamentSku' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -13,7 +13,6 @@ import ObjectTableViewButton from '../common/ObjectTableViewButton'
|
|||||||
import FilterSidebarButton from '../common/FilterSidebarButton'
|
import FilterSidebarButton from '../common/FilterSidebarButton'
|
||||||
import SortSidebarButton from '../common/SortSidebarButton'
|
import SortSidebarButton from '../common/SortSidebarButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -59,7 +58,6 @@ const Filaments = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='filament' />
|
<ExportListButton objectType='filament' />
|
||||||
<InfoActionButtons type='filament' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
|||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -51,7 +50,6 @@ const Files = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='file' />
|
<ExportListButton objectType='file' />
|
||||||
<InfoActionButtons type='file' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -7,7 +7,6 @@ import { Flex, Space } from 'antd'
|
|||||||
import useColumnVisibility from '../hooks/useColumnVisibility'
|
import useColumnVisibility from '../hooks/useColumnVisibility'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -58,7 +57,6 @@ const Hosts = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='host' />
|
<ExportListButton objectType='host' />
|
||||||
<InfoActionButtons type='host' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -13,7 +13,6 @@ import SortSidebarButton from '../common/SortSidebarButton'
|
|||||||
import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -55,7 +54,6 @@ const Materials = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='material' />
|
<ExportListButton objectType='material' />
|
||||||
<InfoActionButtons type='material' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
|||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -53,7 +52,6 @@ const NoteTypes = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='noteType' />
|
<ExportListButton objectType='noteType' />
|
||||||
<InfoActionButtons type='noteType' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -13,7 +13,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
|||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -54,7 +53,6 @@ const PartSkus = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='partSku' />
|
<ExportListButton objectType='partSku' />
|
||||||
<InfoActionButtons type='partSku' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -18,7 +18,6 @@ import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
|||||||
|
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -58,7 +57,6 @@ const Parts = (filter) => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='part' />
|
<ExportListButton objectType='part' />
|
||||||
<InfoActionButtons type='part' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
|||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -53,7 +52,6 @@ const PermissionSettingsList = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='permissionSetting' />
|
<ExportListButton objectType='permissionSetting' />
|
||||||
<InfoActionButtons type='permissionSetting' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -13,7 +13,6 @@ import SortSidebarButton from '../common/SortSidebarButton'
|
|||||||
import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -55,7 +54,6 @@ const ProductCategories = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='productCategory' />
|
<ExportListButton objectType='productCategory' />
|
||||||
<InfoActionButtons type='productCategory' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -13,7 +13,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
|||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -55,7 +54,6 @@ const ProductSkus = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='productSku' />
|
<ExportListButton objectType='productSku' />
|
||||||
<InfoActionButtons type='productSku' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -29,7 +29,6 @@ import SortSidebarButton from '../common/SortSidebarButton'
|
|||||||
import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -321,7 +320,6 @@ const Products = () => {
|
|||||||
onReload={() => tableRef.current?.reload()}
|
onReload={() => tableRef.current?.reload()}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='product' />
|
<ExportListButton objectType='product' />
|
||||||
<InfoActionButtons type='product' listMode={true} />
|
|
||||||
<Popover
|
<Popover
|
||||||
content={getViewDropdownItems()}
|
content={getViewDropdownItems()}
|
||||||
placement='bottomLeft'
|
placement='bottomLeft'
|
||||||
|
|||||||
@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
|||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -52,7 +51,6 @@ const StockAuditLevels = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='stockAuditLevel' />
|
<ExportListButton objectType='stockAuditLevel' />
|
||||||
<InfoActionButtons type='stockAuditLevel' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
|||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -52,7 +51,6 @@ const TaxRates = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='taxRate' />
|
<ExportListButton objectType='taxRate' />
|
||||||
<InfoActionButtons type='taxRate' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
|||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -52,7 +51,6 @@ const UserGroups = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='userGroup' />
|
<ExportListButton objectType='userGroup' />
|
||||||
<InfoActionButtons type='userGroup' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
|||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -52,7 +51,6 @@ const Users = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='user' />
|
<ExportListButton objectType='user' />
|
||||||
<InfoActionButtons type='user' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
|||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -51,7 +50,6 @@ const Vendors = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='vendor' />
|
<ExportListButton objectType='vendor' />
|
||||||
<InfoActionButtons type='vendor' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -2,7 +2,6 @@ import { useRef } from 'react'
|
|||||||
import { Flex, Space } from 'antd'
|
import { Flex, Space } from 'antd'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -50,7 +49,6 @@ const FilamentProfiles = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='filamentProfile' />
|
<ExportListButton objectType='filamentProfile' />
|
||||||
<InfoActionButtons type='filamentProfile' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -14,7 +14,6 @@ import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
|||||||
|
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -56,7 +55,6 @@ const GCodeFiles = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='gcodeFile' />
|
<ExportListButton objectType='gcodeFile' />
|
||||||
<InfoActionButtons type='gcodeFile' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -13,7 +13,6 @@ import ColumnViewButton from '../common/ColumnViewButton.jsx'
|
|||||||
import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility.jsx'
|
import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility.jsx'
|
||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ExportListButton from '../common/ExportListButton.jsx'
|
import ExportListButton from '../common/ExportListButton.jsx'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -54,7 +53,6 @@ const Jobs = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='job' />
|
<ExportListButton objectType='job' />
|
||||||
<InfoActionButtons type='job' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -2,7 +2,6 @@ import { useRef } from 'react'
|
|||||||
import { Flex, Space } from 'antd'
|
import { Flex, Space } from 'antd'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -49,7 +48,6 @@ const PrinterProfiles = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='printerProfile' />
|
<ExportListButton objectType='printerProfile' />
|
||||||
<InfoActionButtons type='printerProfile' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -7,7 +7,6 @@ import ObjectActions from '../common/ObjectActions'
|
|||||||
import BulkObjectActions from '../common/BulkObjectActions'
|
import BulkObjectActions from '../common/BulkObjectActions'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -59,7 +58,6 @@ const Printers = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='printer' />
|
<ExportListButton objectType='printer' />
|
||||||
<InfoActionButtons type='printer' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -13,7 +13,6 @@ import ColumnViewButton from '../common/ColumnViewButton.jsx'
|
|||||||
import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility.jsx'
|
import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility.jsx'
|
||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ExportListButton from '../common/ExportListButton.jsx'
|
import ExportListButton from '../common/ExportListButton.jsx'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -54,7 +53,6 @@ const SubJobs = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='subJob' />
|
<ExportListButton objectType='subJob' />
|
||||||
<InfoActionButtons type='subJob' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
|||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -52,7 +51,6 @@ const Clients = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='client' />
|
<ExportListButton objectType='client' />
|
||||||
<InfoActionButtons type='client' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
|||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -49,7 +48,6 @@ const FulfillmentPolicies = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='fulfillmentPolicy' />
|
<ExportListButton objectType='fulfillmentPolicy' />
|
||||||
<InfoActionButtons type='fulfillmentPolicy' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
|||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -53,7 +52,6 @@ const ListingVarients = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='listingVarient' />
|
<ExportListButton objectType='listingVarient' />
|
||||||
<InfoActionButtons type='listingVarient' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
|||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -53,7 +52,6 @@ const Listings = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='listing' />
|
<ExportListButton objectType='listing' />
|
||||||
<InfoActionButtons type='listing' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
|||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -53,7 +52,6 @@ const Marketplaces = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='marketplace' />
|
<ExportListButton objectType='marketplace' />
|
||||||
<InfoActionButtons type='marketplace' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
|||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -48,7 +47,6 @@ const ReturnPolicies = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='returnPolicy' />
|
<ExportListButton objectType='returnPolicy' />
|
||||||
<InfoActionButtons type='returnPolicy' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
|||||||
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
||||||
import ColumnViewButton from '../common/ColumnViewButton'
|
import ColumnViewButton from '../common/ColumnViewButton'
|
||||||
import ExportListButton from '../common/ExportListButton'
|
import ExportListButton from '../common/ExportListButton'
|
||||||
import InfoActionButtons from '../common/InfoActionButtons'
|
|
||||||
import ListViewTabs from '../common/ListViewTabs'
|
import ListViewTabs from '../common/ListViewTabs'
|
||||||
import ListViewEditButtons from '../common/ListViewEditButtons'
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
||||||
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
||||||
@ -53,7 +52,6 @@ const SalesOrders = () => {
|
|||||||
updateVisibleState={setColumnVisibility}
|
updateVisibleState={setColumnVisibility}
|
||||||
/>
|
/>
|
||||||
<ExportListButton objectType='salesOrder' />
|
<ExportListButton objectType='salesOrder' />
|
||||||
<InfoActionButtons type='salesOrder' listMode={true} />
|
|
||||||
</Space>
|
</Space>
|
||||||
<ListViewTabs />
|
<ListViewTabs />
|
||||||
<Space>
|
<Space>
|
||||||
|
|||||||
@ -7,39 +7,33 @@ import {
|
|||||||
useMemo,
|
useMemo,
|
||||||
useRef
|
useRef
|
||||||
} from 'react'
|
} from 'react'
|
||||||
|
// import { getModelByName } from '../../../database/ObjectModels'
|
||||||
import DocumentPrinterIcon from '../../Icons/DocumentPrinterIcon'
|
import DocumentPrinterIcon from '../../Icons/DocumentPrinterIcon'
|
||||||
import { Button, Dropdown, Modal, message } from 'antd'
|
import { Button, Dropdown, Modal } from 'antd'
|
||||||
import { ApiServerContext } from '../context/ApiServerContext'
|
import { ApiServerContext } from '../context/ApiServerContext'
|
||||||
import { TableStateContext } from '../context/TableStateContext'
|
|
||||||
import DocumentTemplateIcon from '../../Icons/DocumentTemplateIcon'
|
import DocumentTemplateIcon from '../../Icons/DocumentTemplateIcon'
|
||||||
import NewDocumentJob from '../Management/DocumentJobs/NewDocumentJob'
|
import NewDocumentJob from '../Management/DocumentJobs/NewDocumentJob'
|
||||||
import { AuthContext } from '../context/AuthContext'
|
import { AuthContext } from '../context/AuthContext'
|
||||||
import LoadingPleaseWaitModal from './LoadingPleaseWaitModal'
|
|
||||||
import { fetchAllObjectPages } from '../utils/fetchAllObjectPages'
|
|
||||||
import { resolveObjectsList } from '../utils/templateObjectData'
|
|
||||||
|
|
||||||
const DocumentPrintButton = ({
|
const DocumentPrintButton = ({
|
||||||
type,
|
type,
|
||||||
objectData,
|
objectData,
|
||||||
objects,
|
|
||||||
listMode = false,
|
|
||||||
disabled = false,
|
disabled = false,
|
||||||
...buttonProps
|
...buttonProps
|
||||||
}) => {
|
}) => {
|
||||||
const { fetchObjects, connected, subscribeToObjectUpdates, subscribeToObjectTypeUpdates } =
|
const {
|
||||||
useContext(ApiServerContext)
|
fetchObjects,
|
||||||
const tableState = useContext(TableStateContext)
|
connected,
|
||||||
|
subscribeToObjectUpdates,
|
||||||
|
subscribeToObjectTypeUpdates
|
||||||
|
} = useContext(ApiServerContext)
|
||||||
const fetchObjectsRef = useRef(fetchObjects)
|
const fetchObjectsRef = useRef(fetchObjects)
|
||||||
fetchObjectsRef.current = fetchObjects
|
fetchObjectsRef.current = fetchObjects
|
||||||
|
|
||||||
const [documentTemplates, setDocumentTemplates] = useState([])
|
const [documentTemplates, setDocumentTemplates] = useState([])
|
||||||
const [currentDocumentTemplate, setCurrentDocumentTemplate] = useState(null)
|
const [currentDocumentTemplate, setCurrentDocumentTemplate] = useState(null)
|
||||||
const [loading, setLoading] = useState(false)
|
const [loading, setLoading] = useState(false)
|
||||||
const [listLoading, setListLoading] = useState(false)
|
|
||||||
const [newDocumentJobOpen, setNewDocumentJobOpen] = useState(false)
|
const [newDocumentJobOpen, setNewDocumentJobOpen] = useState(false)
|
||||||
const [selectedObjects, setSelectedObjects] = useState(() =>
|
|
||||||
resolveObjectsList(objects, objectData)
|
|
||||||
)
|
|
||||||
|
|
||||||
const subscribedIdsRef = useRef([])
|
const subscribedIdsRef = useRef([])
|
||||||
const unsubscribesRef = useRef([])
|
const unsubscribesRef = useRef([])
|
||||||
@ -48,11 +42,6 @@ const DocumentPrintButton = ({
|
|||||||
|
|
||||||
const { token } = useContext(AuthContext)
|
const { token } = useContext(AuthContext)
|
||||||
|
|
||||||
const resolvedObjects = useMemo(
|
|
||||||
() => resolveObjectsList(objects, objectData),
|
|
||||||
[objects, objectData]
|
|
||||||
)
|
|
||||||
|
|
||||||
const subscriptionFilter = useMemo(
|
const subscriptionFilter = useMemo(
|
||||||
() => ({
|
() => ({
|
||||||
objectType: type,
|
objectType: type,
|
||||||
@ -80,7 +69,7 @@ const DocumentPrintButton = ({
|
|||||||
try {
|
try {
|
||||||
const result = await fetchObjectsRef.current('documentTemplate', {
|
const result = await fetchObjectsRef.current('documentTemplate', {
|
||||||
filter: subscriptionFilter,
|
filter: subscriptionFilter,
|
||||||
limit: 100
|
limit: 100 // Get more templates to show in dropdown
|
||||||
})
|
})
|
||||||
|
|
||||||
if (result && result.data) {
|
if (result && result.data) {
|
||||||
@ -100,13 +89,13 @@ const DocumentPrintButton = ({
|
|||||||
const loadDocumentTemplatesRef = useRef(loadDocumentTemplates)
|
const loadDocumentTemplatesRef = useRef(loadDocumentTemplates)
|
||||||
loadDocumentTemplatesRef.current = loadDocumentTemplates
|
loadDocumentTemplatesRef.current = loadDocumentTemplates
|
||||||
|
|
||||||
|
// Stable key from objectData._id (excludes _isEditing so toggling edit mode doesn't trigger template reload)
|
||||||
const objectKey = useMemo(() => {
|
const objectKey = useMemo(() => {
|
||||||
if (listMode) return 'list'
|
if (!objectData) return null
|
||||||
const first = resolvedObjects[0]
|
return objectData._id ?? objectData.id ?? null
|
||||||
if (!first) return null
|
}, [objectData])
|
||||||
return first._id ?? first.id ?? null
|
|
||||||
}, [listMode, resolvedObjects])
|
|
||||||
|
|
||||||
|
// Fetch document templates when component mounts or objectData, type or token changes
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
loadDocumentTemplates()
|
loadDocumentTemplates()
|
||||||
}, [objectKey, token, type, loadDocumentTemplates])
|
}, [objectKey, token, type, loadDocumentTemplates])
|
||||||
@ -158,9 +147,7 @@ const DocumentPrintButton = ({
|
|||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (connected !== true) return
|
if (connected !== true) return
|
||||||
|
|
||||||
const templateIds = documentTemplates
|
const templateIds = documentTemplates.map((template) => template._id).filter(Boolean)
|
||||||
.map((template) => template._id)
|
|
||||||
.filter(Boolean)
|
|
||||||
|
|
||||||
const newTemplateIds = templateIds.filter(
|
const newTemplateIds = templateIds.filter(
|
||||||
(id) => !subscribedIdsRef.current.includes(id)
|
(id) => !subscribedIdsRef.current.includes(id)
|
||||||
@ -210,40 +197,15 @@ const DocumentPrintButton = ({
|
|||||||
}
|
}
|
||||||
}, [])
|
}, [])
|
||||||
|
|
||||||
const handleTemplateSelect = useCallback(
|
// Handle template selection
|
||||||
async (template) => {
|
const handleTemplateSelect = (template) => {
|
||||||
setCurrentDocumentTemplate(template)
|
setCurrentDocumentTemplate(template)
|
||||||
|
setNewDocumentJobOpen(true)
|
||||||
if (listMode) {
|
// TODO: Implement the actual printing logic here
|
||||||
setListLoading(true)
|
// This could open a print dialog, navigate to a print page, etc.
|
||||||
try {
|
}
|
||||||
const list = await fetchAllObjectPages({
|
|
||||||
fetchObjects: fetchObjectsRef.current,
|
|
||||||
type,
|
|
||||||
filter: tableState?.getObjectListFilter?.(type) || {},
|
|
||||||
sorter: tableState?.getObjectListSorter?.(type) || {}
|
|
||||||
})
|
|
||||||
if (!list.length) {
|
|
||||||
message.warning('No objects in this list to print')
|
|
||||||
return
|
|
||||||
}
|
|
||||||
setSelectedObjects(list)
|
|
||||||
setNewDocumentJobOpen(true)
|
|
||||||
} catch (error) {
|
|
||||||
console.error('Error fetching objects for document job:', error)
|
|
||||||
message.error('Failed to load objects for printing')
|
|
||||||
} finally {
|
|
||||||
setListLoading(false)
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
setSelectedObjects(resolvedObjects)
|
|
||||||
setNewDocumentJobOpen(true)
|
|
||||||
},
|
|
||||||
[listMode, resolvedObjects, tableState, type]
|
|
||||||
)
|
|
||||||
|
|
||||||
|
// Group templates by tag for nested dropdown menu; untagged templates at root
|
||||||
const menuItems = useMemo(() => {
|
const menuItems = useMemo(() => {
|
||||||
const templatesByTag = new Map()
|
const templatesByTag = new Map()
|
||||||
const untaggedTemplates = []
|
const untaggedTemplates = []
|
||||||
@ -266,9 +228,9 @@ const DocumentPrintButton = ({
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (const tag of templateTags) {
|
for (const tag of templateTags) {
|
||||||
const tagged = templatesByTag.get(tag) ?? []
|
const templates = templatesByTag.get(tag) ?? []
|
||||||
tagged.push(template)
|
templates.push(template)
|
||||||
templatesByTag.set(tag, tagged)
|
templatesByTag.set(tag, templates)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -290,14 +252,9 @@ const DocumentPrintButton = ({
|
|||||||
.map(toTemplateMenuItem)
|
.map(toTemplateMenuItem)
|
||||||
|
|
||||||
return [...rootUntaggedItems, ...taggedMenuItems]
|
return [...rootUntaggedItems, ...taggedMenuItems]
|
||||||
}, [documentTemplates, handleTemplateSelect])
|
}, [documentTemplates])
|
||||||
|
|
||||||
const unavailable =
|
|
||||||
disabled ||
|
|
||||||
loading ||
|
|
||||||
listLoading ||
|
|
||||||
(!listMode && resolvedObjects.length === 0)
|
|
||||||
|
|
||||||
|
// If no templates available, show disabled state
|
||||||
if (documentTemplates.length === 0 && !loading) {
|
if (documentTemplates.length === 0 && !loading) {
|
||||||
return (
|
return (
|
||||||
<Button
|
<Button
|
||||||
@ -317,17 +274,16 @@ const DocumentPrintButton = ({
|
|||||||
loading: loading
|
loading: loading
|
||||||
}}
|
}}
|
||||||
trigger={['hover']}
|
trigger={['hover']}
|
||||||
disabled={unavailable}
|
disabled={disabled || loading}
|
||||||
>
|
>
|
||||||
<Button
|
<Button
|
||||||
{...buttonProps}
|
{...buttonProps}
|
||||||
icon={<DocumentPrinterIcon />}
|
icon={<DocumentPrinterIcon />}
|
||||||
disabled={unavailable}
|
disabled={disabled || loading}
|
||||||
loading={loading || listLoading}
|
loading={loading}
|
||||||
title={loading ? 'Loading templates...' : 'Print document'}
|
title={loading ? 'Loading templates...' : 'Print document'}
|
||||||
/>
|
/>
|
||||||
</Dropdown>
|
</Dropdown>
|
||||||
<LoadingPleaseWaitModal open={listLoading} />
|
|
||||||
<Modal
|
<Modal
|
||||||
open={newDocumentJobOpen}
|
open={newDocumentJobOpen}
|
||||||
onCancel={() => setNewDocumentJobOpen(false)}
|
onCancel={() => setNewDocumentJobOpen(false)}
|
||||||
@ -349,7 +305,7 @@ const DocumentPrintButton = ({
|
|||||||
reset={!newDocumentJobOpen}
|
reset={!newDocumentJobOpen}
|
||||||
defaultValues={{
|
defaultValues={{
|
||||||
objectType: type,
|
objectType: type,
|
||||||
objects: selectedObjects,
|
object: objectData,
|
||||||
documentTemplate: currentDocumentTemplate
|
documentTemplate: currentDocumentTemplate
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
@ -361,9 +317,7 @@ const DocumentPrintButton = ({
|
|||||||
DocumentPrintButton.propTypes = {
|
DocumentPrintButton.propTypes = {
|
||||||
type: PropTypes.string.isRequired,
|
type: PropTypes.string.isRequired,
|
||||||
disabled: PropTypes.bool,
|
disabled: PropTypes.bool,
|
||||||
objectData: PropTypes.object,
|
objectData: PropTypes.object.isRequired
|
||||||
objects: PropTypes.array,
|
|
||||||
listMode: PropTypes.bool
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export default DocumentPrintButton
|
export default DocumentPrintButton
|
||||||
|
|||||||
@ -7,30 +7,18 @@ import {
|
|||||||
useRef,
|
useRef,
|
||||||
useState
|
useState
|
||||||
} from 'react'
|
} from 'react'
|
||||||
import { Button, Dropdown, Modal, message } from 'antd'
|
import { Button, Dropdown, Modal } from 'antd'
|
||||||
import { ApiServerContext } from '../context/ApiServerContext'
|
import { ApiServerContext } from '../context/ApiServerContext'
|
||||||
import { AuthContext } from '../context/AuthContext'
|
import { AuthContext } from '../context/AuthContext'
|
||||||
import { TableStateContext } from '../context/TableStateContext'
|
|
||||||
import MailIcon from '../../Icons/MailIcon'
|
import MailIcon from '../../Icons/MailIcon'
|
||||||
import EmailTemplateIcon from '../../Icons/EmailTemplateIcon'
|
import EmailTemplateIcon from '../../Icons/EmailTemplateIcon'
|
||||||
import NewEmailMessage from '../Management/EmailMessages/NewEmailMessage'
|
import NewEmailMessage from '../Management/EmailMessages/NewEmailMessage'
|
||||||
import {
|
import {
|
||||||
getDefaultEmailRecipient,
|
getDefaultEmailRecipient,
|
||||||
resolveEmailRecipients,
|
resolveEmailRecipients
|
||||||
resolveEmailRecipientsForObjects
|
|
||||||
} from '../utils/emailRecipients'
|
} from '../utils/emailRecipients'
|
||||||
import LoadingPleaseWaitModal from './LoadingPleaseWaitModal'
|
|
||||||
import { fetchAllObjectPages } from '../utils/fetchAllObjectPages'
|
|
||||||
import { resolveObjectsList } from '../utils/templateObjectData'
|
|
||||||
|
|
||||||
const EmailSendButton = ({
|
const EmailSendButton = ({ type, objectData, disabled = false, ...buttonProps }) => {
|
||||||
type,
|
|
||||||
objectData,
|
|
||||||
objects,
|
|
||||||
listMode = false,
|
|
||||||
disabled = false,
|
|
||||||
...buttonProps
|
|
||||||
}) => {
|
|
||||||
const {
|
const {
|
||||||
fetchObject,
|
fetchObject,
|
||||||
fetchObjects,
|
fetchObjects,
|
||||||
@ -39,26 +27,16 @@ const EmailSendButton = ({
|
|||||||
subscribeToObjectTypeUpdates
|
subscribeToObjectTypeUpdates
|
||||||
} = useContext(ApiServerContext)
|
} = useContext(ApiServerContext)
|
||||||
const { token } = useContext(AuthContext)
|
const { token } = useContext(AuthContext)
|
||||||
const tableState = useContext(TableStateContext)
|
|
||||||
const [templates, setTemplates] = useState([])
|
const [templates, setTemplates] = useState([])
|
||||||
const [recipients, setRecipients] = useState([])
|
const [recipients, setRecipients] = useState([])
|
||||||
const [selectedTemplate, setSelectedTemplate] = useState(null)
|
const [selectedTemplate, setSelectedTemplate] = useState(null)
|
||||||
const [selectedObjects, setSelectedObjects] = useState(() =>
|
|
||||||
resolveObjectsList(objects, objectData)
|
|
||||||
)
|
|
||||||
const [open, setOpen] = useState(false)
|
const [open, setOpen] = useState(false)
|
||||||
const [loading, setLoading] = useState(false)
|
const [loading, setLoading] = useState(false)
|
||||||
const [listLoading, setListLoading] = useState(false)
|
|
||||||
const fetchObjectsRef = useRef(fetchObjects)
|
const fetchObjectsRef = useRef(fetchObjects)
|
||||||
const fetchObjectRef = useRef(fetchObject)
|
const fetchObjectRef = useRef(fetchObject)
|
||||||
fetchObjectsRef.current = fetchObjects
|
fetchObjectsRef.current = fetchObjects
|
||||||
fetchObjectRef.current = fetchObject
|
fetchObjectRef.current = fetchObject
|
||||||
|
|
||||||
const resolvedObjects = useMemo(
|
|
||||||
() => resolveObjectsList(objects, objectData),
|
|
||||||
[objects, objectData]
|
|
||||||
)
|
|
||||||
|
|
||||||
const filter = useMemo(
|
const filter = useMemo(
|
||||||
() => ({ objectType: type, global: false, active: true }),
|
() => ({ objectType: type, global: false, active: true }),
|
||||||
[type]
|
[type]
|
||||||
@ -93,15 +71,11 @@ const EmailSendButton = ({
|
|||||||
}, [loadTemplates])
|
}, [loadTemplates])
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (listMode) {
|
|
||||||
setRecipients([])
|
|
||||||
return undefined
|
|
||||||
}
|
|
||||||
let cancelled = false
|
let cancelled = false
|
||||||
setRecipients([])
|
setRecipients([])
|
||||||
resolveEmailRecipients({
|
resolveEmailRecipients({
|
||||||
type,
|
type,
|
||||||
objectData: resolvedObjects[0],
|
objectData,
|
||||||
fetchObject: (...args) => fetchObjectRef.current(...args)
|
fetchObject: (...args) => fetchObjectRef.current(...args)
|
||||||
}).then((result) => {
|
}).then((result) => {
|
||||||
if (!cancelled) setRecipients(result)
|
if (!cancelled) setRecipients(result)
|
||||||
@ -109,14 +83,19 @@ const EmailSendButton = ({
|
|||||||
return () => {
|
return () => {
|
||||||
cancelled = true
|
cancelled = true
|
||||||
}
|
}
|
||||||
}, [listMode, resolvedObjects, type])
|
}, [objectData, type])
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!connected) return undefined
|
if (!connected) return undefined
|
||||||
return subscribeToObjectTypeUpdates('emailTemplate', filter, () =>
|
return subscribeToObjectTypeUpdates('emailTemplate', filter, () =>
|
||||||
loadTemplates(true)
|
loadTemplates(true)
|
||||||
)
|
)
|
||||||
}, [connected, filter, loadTemplates, subscribeToObjectTypeUpdates])
|
}, [
|
||||||
|
connected,
|
||||||
|
filter,
|
||||||
|
loadTemplates,
|
||||||
|
subscribeToObjectTypeUpdates
|
||||||
|
])
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!connected) return undefined
|
if (!connected) return undefined
|
||||||
@ -142,50 +121,6 @@ const EmailSendButton = ({
|
|||||||
return () => unsubscribes.forEach((unsubscribe) => unsubscribe?.())
|
return () => unsubscribes.forEach((unsubscribe) => unsubscribe?.())
|
||||||
}, [connected, matches, subscribeToObjectUpdates, templates])
|
}, [connected, matches, subscribeToObjectUpdates, templates])
|
||||||
|
|
||||||
const handleTemplateSelect = useCallback(
|
|
||||||
async (template) => {
|
|
||||||
setSelectedTemplate(template)
|
|
||||||
|
|
||||||
if (listMode) {
|
|
||||||
setListLoading(true)
|
|
||||||
try {
|
|
||||||
const list = await fetchAllObjectPages({
|
|
||||||
fetchObjects: fetchObjectsRef.current,
|
|
||||||
type,
|
|
||||||
filter: tableState?.getObjectListFilter?.(type) || {},
|
|
||||||
sorter: tableState?.getObjectListSorter?.(type) || {}
|
|
||||||
})
|
|
||||||
if (!list.length) {
|
|
||||||
message.warning('No objects in this list to email')
|
|
||||||
return
|
|
||||||
}
|
|
||||||
const nextRecipients = await resolveEmailRecipientsForObjects({
|
|
||||||
type,
|
|
||||||
objects: list,
|
|
||||||
fetchObject: (...args) => fetchObjectRef.current(...args)
|
|
||||||
})
|
|
||||||
if (!nextRecipients.length) {
|
|
||||||
message.warning('No email recipients available for these objects')
|
|
||||||
return
|
|
||||||
}
|
|
||||||
setSelectedObjects(list)
|
|
||||||
setRecipients(nextRecipients)
|
|
||||||
setOpen(true)
|
|
||||||
} catch (error) {
|
|
||||||
console.error('Error fetching objects for email:', error)
|
|
||||||
message.error('Failed to load objects for email')
|
|
||||||
} finally {
|
|
||||||
setListLoading(false)
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
setSelectedObjects(resolvedObjects)
|
|
||||||
setOpen(true)
|
|
||||||
},
|
|
||||||
[listMode, resolvedObjects, tableState, type]
|
|
||||||
)
|
|
||||||
|
|
||||||
const menuItems = useMemo(() => {
|
const menuItems = useMemo(() => {
|
||||||
const byTag = new Map()
|
const byTag = new Map()
|
||||||
const untagged = []
|
const untagged = []
|
||||||
@ -194,7 +129,8 @@ const EmailSendButton = ({
|
|||||||
label: template.name,
|
label: template.name,
|
||||||
icon: <EmailTemplateIcon />,
|
icon: <EmailTemplateIcon />,
|
||||||
onClick: () => {
|
onClick: () => {
|
||||||
handleTemplateSelect(template)
|
setSelectedTemplate(template)
|
||||||
|
setOpen(true)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -223,28 +159,19 @@ const EmailSendButton = ({
|
|||||||
.map(makeItem)
|
.map(makeItem)
|
||||||
}))
|
}))
|
||||||
]
|
]
|
||||||
}, [handleTemplateSelect, templates])
|
}, [templates])
|
||||||
|
|
||||||
const defaultRecipient = useMemo(
|
const defaultRecipient = useMemo(
|
||||||
() => getDefaultEmailRecipient(recipients),
|
() => getDefaultEmailRecipient(recipients),
|
||||||
[recipients]
|
[recipients]
|
||||||
)
|
)
|
||||||
|
|
||||||
const unavailable =
|
const unavailable = disabled || loading || !templates.length || !recipients.length
|
||||||
disabled ||
|
const title = !recipients.length
|
||||||
loading ||
|
? 'No email recipients available for this object'
|
||||||
listLoading ||
|
: !templates.length
|
||||||
!templates.length ||
|
|
||||||
(!listMode && (!resolvedObjects.length || !recipients.length))
|
|
||||||
const title = listMode
|
|
||||||
? !templates.length
|
|
||||||
? 'No email templates available for this object type'
|
? 'No email templates available for this object type'
|
||||||
: 'Send email'
|
: 'Send email'
|
||||||
: !recipients.length
|
|
||||||
? 'No email recipients available for this object'
|
|
||||||
: !templates.length
|
|
||||||
? 'No email templates available for this object type'
|
|
||||||
: 'Send email'
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
@ -253,11 +180,10 @@ const EmailSendButton = ({
|
|||||||
{...buttonProps}
|
{...buttonProps}
|
||||||
icon={<MailIcon />}
|
icon={<MailIcon />}
|
||||||
disabled={unavailable}
|
disabled={unavailable}
|
||||||
loading={loading || listLoading}
|
loading={loading}
|
||||||
title={title}
|
title={title}
|
||||||
/>
|
/>
|
||||||
</Dropdown>
|
</Dropdown>
|
||||||
<LoadingPleaseWaitModal open={listLoading} />
|
|
||||||
<Modal
|
<Modal
|
||||||
open={open}
|
open={open}
|
||||||
onCancel={() => setOpen(false)}
|
onCancel={() => setOpen(false)}
|
||||||
@ -269,7 +195,7 @@ const EmailSendButton = ({
|
|||||||
onOk={() => setOpen(false)}
|
onOk={() => setOpen(false)}
|
||||||
defaultValues={{
|
defaultValues={{
|
||||||
objectType: type,
|
objectType: type,
|
||||||
objects: selectedObjects,
|
object: objectData,
|
||||||
emailTemplate: selectedTemplate,
|
emailTemplate: selectedTemplate,
|
||||||
...defaultRecipient
|
...defaultRecipient
|
||||||
}}
|
}}
|
||||||
@ -282,9 +208,7 @@ const EmailSendButton = ({
|
|||||||
|
|
||||||
EmailSendButton.propTypes = {
|
EmailSendButton.propTypes = {
|
||||||
type: PropTypes.string.isRequired,
|
type: PropTypes.string.isRequired,
|
||||||
objectData: PropTypes.object,
|
objectData: PropTypes.object.isRequired,
|
||||||
objects: PropTypes.array,
|
|
||||||
listMode: PropTypes.bool,
|
|
||||||
disabled: PropTypes.bool
|
disabled: PropTypes.bool
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -52,9 +52,6 @@ const HostDeviceScanner = ({
|
|||||||
? crypto.randomUUID()
|
? crypto.randomUUID()
|
||||||
: `scan-${Date.now()}-${Math.random().toString(16).slice(2)}`
|
: `scan-${Date.now()}-${Math.random().toString(16).slice(2)}`
|
||||||
)
|
)
|
||||||
const startedRef = useRef(false)
|
|
||||||
const activeHostIdRef = useRef(null)
|
|
||||||
const pendingStopRef = useRef(null)
|
|
||||||
|
|
||||||
const [scanning, setScanning] = useState(false)
|
const [scanning, setScanning] = useState(false)
|
||||||
const [progress, setProgress] = useState(0)
|
const [progress, setProgress] = useState(0)
|
||||||
@ -83,52 +80,22 @@ const HostDeviceScanner = ({
|
|||||||
}
|
}
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const sessionId = sessionIdRef.current
|
if (!hostId || connected !== true || !compatible) {
|
||||||
const canScan = Boolean(hostId) && connected === true && compatible
|
return
|
||||||
|
|
||||||
const stopScan = (targetHostId) => {
|
|
||||||
if (!targetHostId || !startedRef.current) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
sendObjectActionRef.current(targetHostId, 'host', {
|
|
||||||
type: 'scanNetworkStop',
|
|
||||||
data: { sessionId }
|
|
||||||
})
|
|
||||||
startedRef.current = false
|
|
||||||
activeHostIdRef.current = null
|
|
||||||
}
|
|
||||||
|
|
||||||
if (pendingStopRef.current) {
|
|
||||||
clearTimeout(pendingStopRef.current)
|
|
||||||
pendingStopRef.current = null
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!canScan) {
|
|
||||||
const hostToStop = activeHostIdRef.current
|
|
||||||
pendingStopRef.current = setTimeout(() => {
|
|
||||||
stopScan(hostToStop)
|
|
||||||
pendingStopRef.current = null
|
|
||||||
}, 250)
|
|
||||||
return () => {
|
|
||||||
if (pendingStopRef.current) {
|
|
||||||
clearTimeout(pendingStopRef.current)
|
|
||||||
pendingStopRef.current = null
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
let cancelled = false
|
let cancelled = false
|
||||||
console.log('Scan session id:', sessionId)
|
const sessionId = sessionIdRef.current
|
||||||
|
|
||||||
const isSessionEvent = (event) => event?.data?.sessionId === sessionId
|
const isSessionEvent = (event) => event?.data?.sessionId === sessionId
|
||||||
|
|
||||||
const startScan = () => {
|
const startScan = () => {
|
||||||
|
if (cancelled) return
|
||||||
|
|
||||||
setProgress(0)
|
setProgress(0)
|
||||||
setCurrentIP(null)
|
setCurrentIP(null)
|
||||||
setScanError(null)
|
setScanError(null)
|
||||||
setScanning(true)
|
setScanning(true)
|
||||||
setDevices([])
|
|
||||||
setSelectedKey(null)
|
|
||||||
|
|
||||||
sendObjectActionRef.current(
|
sendObjectActionRef.current(
|
||||||
hostId,
|
hostId,
|
||||||
@ -146,7 +113,6 @@ const HostDeviceScanner = ({
|
|||||||
if (result?.success === false) {
|
if (result?.success === false) {
|
||||||
setScanning(false)
|
setScanning(false)
|
||||||
setScanError(result.error || 'Failed to start network scan')
|
setScanError(result.error || 'Failed to start network scan')
|
||||||
startedRef.current = false
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
@ -226,27 +192,29 @@ const HostDeviceScanner = ({
|
|||||||
onComplete
|
onComplete
|
||||||
)
|
)
|
||||||
|
|
||||||
const alreadyRunning = startedRef.current && activeHostIdRef.current === hostId
|
setDevices([])
|
||||||
if (!alreadyRunning) {
|
setSelectedKey(null)
|
||||||
if (startedRef.current && activeHostIdRef.current) {
|
startScan()
|
||||||
stopScan(activeHostIdRef.current)
|
|
||||||
}
|
|
||||||
startedRef.current = true
|
|
||||||
activeHostIdRef.current = hostId
|
|
||||||
startScan()
|
|
||||||
}
|
|
||||||
|
|
||||||
return () => {
|
return () => {
|
||||||
cancelled = true
|
cancelled = true
|
||||||
if (unsubFound) unsubFound()
|
if (unsubFound) unsubFound()
|
||||||
if (unsubProgress) unsubProgress()
|
if (unsubProgress) unsubProgress()
|
||||||
if (unsubComplete) unsubComplete()
|
if (unsubComplete) unsubComplete()
|
||||||
pendingStopRef.current = setTimeout(() => {
|
sendObjectActionRef.current(hostId, 'host', {
|
||||||
stopScan(hostId)
|
type: 'scanNetworkStop',
|
||||||
pendingStopRef.current = null
|
data: { sessionId }
|
||||||
}, 250)
|
})
|
||||||
}
|
}
|
||||||
}, [hostId, connected, compatible])
|
}, [
|
||||||
|
hostId,
|
||||||
|
connected,
|
||||||
|
compatible,
|
||||||
|
port,
|
||||||
|
protocol,
|
||||||
|
connectionInterface,
|
||||||
|
objectType
|
||||||
|
])
|
||||||
|
|
||||||
const applyDevice = useCallback(
|
const applyDevice = useCallback(
|
||||||
(device) => {
|
(device) => {
|
||||||
|
|||||||
@ -25,9 +25,7 @@ const InfoActionButtons = (props) => {
|
|||||||
InfoActionButtons.propTypes = {
|
InfoActionButtons.propTypes = {
|
||||||
type: PropTypes.string.isRequired,
|
type: PropTypes.string.isRequired,
|
||||||
disabled: PropTypes.bool,
|
disabled: PropTypes.bool,
|
||||||
objectData: PropTypes.object,
|
objectData: PropTypes.object.isRequired
|
||||||
objects: PropTypes.array,
|
|
||||||
listMode: PropTypes.bool
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export default InfoActionButtons
|
export default InfoActionButtons
|
||||||
|
|||||||
@ -1,30 +0,0 @@
|
|||||||
import PropTypes from 'prop-types'
|
|
||||||
import { Modal, Space, Typography } from 'antd'
|
|
||||||
import { LoadingOutlined } from '@ant-design/icons'
|
|
||||||
|
|
||||||
const { Text } = Typography
|
|
||||||
|
|
||||||
const LoadingPleaseWaitModal = ({ open = false }) => (
|
|
||||||
<Modal
|
|
||||||
open={open}
|
|
||||||
className='loading-modal'
|
|
||||||
title={false}
|
|
||||||
height={20}
|
|
||||||
style={{ maxWidth: 220, top: '50%', transform: 'translateY(-50%)' }}
|
|
||||||
closable={false}
|
|
||||||
maskClosable={false}
|
|
||||||
footer={false}
|
|
||||||
zIndex={2000}
|
|
||||||
>
|
|
||||||
<Space size={'middle'}>
|
|
||||||
<LoadingOutlined />
|
|
||||||
<Text style={{ margin: 0 }}>Loading, please wait...</Text>
|
|
||||||
</Space>
|
|
||||||
</Modal>
|
|
||||||
)
|
|
||||||
|
|
||||||
LoadingPleaseWaitModal.propTypes = {
|
|
||||||
open: PropTypes.bool
|
|
||||||
}
|
|
||||||
|
|
||||||
export default LoadingPleaseWaitModal
|
|
||||||
@ -10,10 +10,7 @@ import {
|
|||||||
import { useSearchParams } from 'react-router-dom'
|
import { useSearchParams } from 'react-router-dom'
|
||||||
import PropTypes from 'prop-types'
|
import PropTypes from 'prop-types'
|
||||||
|
|
||||||
const TableStateContext = createContext(null)
|
const TableStateContext = createContext()
|
||||||
|
|
||||||
// eslint-disable-next-line react-refresh/only-export-components
|
|
||||||
export { TableStateContext }
|
|
||||||
|
|
||||||
export const FILTER_URL_PARAM = 'filter'
|
export const FILTER_URL_PARAM = 'filter'
|
||||||
export const SORT_URL_PARAM = 'sort'
|
export const SORT_URL_PARAM = 'sort'
|
||||||
|
|||||||
@ -79,26 +79,6 @@ export const resolveEmailRecipients = async ({
|
|||||||
return candidates
|
return candidates
|
||||||
}
|
}
|
||||||
|
|
||||||
export const resolveEmailRecipientsForObjects = async ({
|
|
||||||
type,
|
|
||||||
objects,
|
|
||||||
fetchObject
|
|
||||||
}) => {
|
|
||||||
const list = Array.isArray(objects) ? objects.filter(Boolean) : []
|
|
||||||
const merged = []
|
|
||||||
for (const objectData of list) {
|
|
||||||
const result = await resolveEmailRecipients({
|
|
||||||
type,
|
|
||||||
objectData,
|
|
||||||
fetchObject
|
|
||||||
})
|
|
||||||
for (const candidate of result) {
|
|
||||||
addCandidate(merged, candidate)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return merged
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Prefer a client/vendor ref; otherwise use a plain email candidate. */
|
/** Prefer a client/vendor ref; otherwise use a plain email candidate. */
|
||||||
export const getDefaultEmailRecipient = (candidates = []) => {
|
export const getDefaultEmailRecipient = (candidates = []) => {
|
||||||
if (!Array.isArray(candidates) || !candidates.length) return null
|
if (!Array.isArray(candidates) || !candidates.length) return null
|
||||||
|
|||||||
@ -1,41 +0,0 @@
|
|||||||
export async function fetchAllObjectPages({
|
|
||||||
fetchObjects,
|
|
||||||
type,
|
|
||||||
filter = {},
|
|
||||||
sorter = {},
|
|
||||||
limit = 25
|
|
||||||
}) {
|
|
||||||
if (!type || typeof fetchObjects !== 'function') return []
|
|
||||||
|
|
||||||
const all = []
|
|
||||||
let page = 1
|
|
||||||
let totalPages = 1
|
|
||||||
|
|
||||||
do {
|
|
||||||
const result = await fetchObjects(type, {
|
|
||||||
page,
|
|
||||||
limit,
|
|
||||||
filter,
|
|
||||||
sorter
|
|
||||||
})
|
|
||||||
|
|
||||||
if (!result || Array.isArray(result)) {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
|
|
||||||
const data = Array.isArray(result.data) ? result.data : []
|
|
||||||
all.push(...data)
|
|
||||||
|
|
||||||
if (Number.isFinite(result.totalPages) && result.totalPages > 0) {
|
|
||||||
totalPages = result.totalPages
|
|
||||||
} else if (result.hasMore) {
|
|
||||||
totalPages = page + 1
|
|
||||||
} else {
|
|
||||||
totalPages = page
|
|
||||||
}
|
|
||||||
|
|
||||||
page += 1
|
|
||||||
} while (page <= totalPages)
|
|
||||||
|
|
||||||
return all
|
|
||||||
}
|
|
||||||
@ -1,21 +0,0 @@
|
|||||||
export function resolveObjectsList(objects, objectData) {
|
|
||||||
if (Array.isArray(objects) && objects.length) {
|
|
||||||
return objects.filter(Boolean)
|
|
||||||
}
|
|
||||||
if (objectData) {
|
|
||||||
return [objectData]
|
|
||||||
}
|
|
||||||
return []
|
|
||||||
}
|
|
||||||
|
|
||||||
export function toTemplateObjectData(objects) {
|
|
||||||
const list = Array.isArray(objects) ? objects.filter(Boolean) : []
|
|
||||||
if (!list.length) return {}
|
|
||||||
if (list.length === 1) {
|
|
||||||
const first = list[0]
|
|
||||||
if (first && typeof first === 'object' && !Array.isArray(first)) {
|
|
||||||
return first
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return { objects: list }
|
|
||||||
}
|
|
||||||
@ -166,12 +166,7 @@ export const DocumentJob = {
|
|||||||
columnFixed: 'left',
|
columnFixed: 'left',
|
||||||
value: (objectData) => {
|
value: (objectData) => {
|
||||||
if (objectData?.createdAt == undefined) {
|
if (objectData?.createdAt == undefined) {
|
||||||
const list = Array.isArray(objectData?.objects)
|
return `${objectData?.documentTemplate?.name || 'No template'} ${dayjs(new Date()).format('YYYY-MM-DD HH:mm:ss')} (${objectData?.object?.name || objectData?.object?._id})`
|
||||||
? objectData.objects
|
|
||||||
: []
|
|
||||||
const first = list[0]
|
|
||||||
const extra = list.length > 1 ? ` +${list.length - 1}` : ''
|
|
||||||
return `${objectData?.documentTemplate?.name || 'No template'} ${dayjs(new Date()).format('YYYY-MM-DD HH:mm:ss')} (${first?.name || first?._id || 'no object'}${extra})`
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -193,11 +188,11 @@ export const DocumentJob = {
|
|||||||
type: 'objectType'
|
type: 'objectType'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'objects',
|
name: 'object',
|
||||||
label: 'Objects',
|
label: 'Object',
|
||||||
required: true,
|
required: true,
|
||||||
columnWidth: 150,
|
columnWidth: 150,
|
||||||
type: 'objectList',
|
type: 'object',
|
||||||
objectType: (objectData) => {
|
objectType: (objectData) => {
|
||||||
return objectData?.objectType
|
return objectData?.objectType
|
||||||
},
|
},
|
||||||
|
|||||||
@ -220,9 +220,9 @@ export const EmailMessage = {
|
|||||||
columnWidth: 180
|
columnWidth: 180
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'objects',
|
name: 'object',
|
||||||
label: 'Objects',
|
label: 'Object',
|
||||||
type: 'objectList',
|
type: 'object',
|
||||||
objectType: (data) => data?.objectType,
|
objectType: (data) => data?.objectType,
|
||||||
required: true,
|
required: true,
|
||||||
readOnly: readOnlyAfterCreate,
|
readOnly: readOnlyAfterCreate,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user