Files
dashfront/src/automats/index.js
2026-10-31 20:37:21 +01:00

245 lines
6.3 KiB
JavaScript

/**
* @file index.js
* @description Central barrel exporting domain, configuration, and list
* automats, along with their action creators and reactive selectors.
*/
export * from './deliveryEditorAutomat';
export * from './manifestDraftAutomat';
export { default as authAutomat } from './authAutomat';
export * from './authAutomat';
export { default as navigationAutomat } from './navigationAutomat';
export {
setLastDeliveryPath,
setLastArticleSku,
setLastSearchTerm,
setLastArticleSearchPath,
setLastCategoryId,
setLastCategorySlug,
setLastCategoryPath,
clearNavigation,
} from './navigationAutomat';
export { default as helpAutomat } from './helpAutomat';
export {
toggleHelp,
setHelpEnabled,
isHelpEnabled,
openHelpPopper,
closeHelpPopper,
toggleHelpPopper,
selectActiveHelpId,
} from './helpAutomat';
export {
default as pwaAutomat,
initPwa,
openPwaDialog,
closePwaDialog,
applyPwaUpdate,
} from './pwaAutomat';
/** Article search over the derived index (replaces StorageManager.doSearch). */
export {
default as articleSearchAutomat,
selectSearchResult,
searchArticlesIndex,
} from './articleSearchAutomat';
/**
* Derived article search index: the union of every loaded category view.
* Replaces the former `GET /api/articleIndex` list store.
*/
export {
default as articleIndexAutomat,
setArticleIndexName,
setArticleIndexStock,
updateArticleIndexRecord,
buildArticleIndex,
selectArticleIndexItems,
} from './articleIndexAutomat';
export {
default as deliveryAutomat,
CHUNK_SIZE as DELIVERY_CHUNK_SIZE,
MAX_LRU_CHUNKS as DELIVERY_MAX_LRU_CHUNKS,
selectDeliveries,
selectDeliveryTotal,
selectDeliveryUnfilteredTotal,
selectDeliveryPagination,
selectOnlyUnbooked,
isDeliveryBooked,
getDeliveryUnbookedCount,
getChunkStats as getDeliveryChunkStats,
subscribeChunkStats as subscribeDeliveryChunkStats,
} from './deliveryAutomat';
export { default as quoteAutomat } from './quoteAutomat';
export {
default as orderAutomat,
selectOrders,
selectOrderTotal,
selectOrderUnfilteredTotal,
selectOrderPagination,
selectOnlyUnpaid,
selectOnlyUndelivered,
selectNegativeSeekMonths,
isOrderPaid,
isOrderDelivered,
getNegativeSeekCutoff,
formatNegativeSeek,
getChunkStats,
subscribeChunkStats,
} from './orderAutomat';
export { default as entityAutomat } from './entityAutomat';
export {
default as retoureAutomat,
selectRetoures,
selectRetoureTotal,
selectRetoureUnfilteredTotal,
isRetourePaid,
isRetoureShipped,
isRetoureDelivered,
getRetoureDate,
getItems as getRetoureItems,
requireChunk as requireRetoureChunk,
getChunkStats as getRetoureChunkStats,
subscribeChunkStats as subscribeRetoureChunkStats,
} from './retoureAutomat';
export { default as backupAutomat } from './backupAutomat';
export {
default as shipmentAutomat,
CHUNK_SIZE as SHIPMENT_CHUNK_SIZE,
selectShipments,
selectShipmentTotal,
selectShipmentUnfilteredTotal,
selectShipmentPagination,
selectStateFilter,
getChunkStats as getShipmentChunkStats,
subscribeChunkStats as subscribeShipmentChunkStats,
} from './shipmentAutomat';
/** Per-SKU article detail views keyed by SKU. */
export { articleHistoryAutomat, getArticleHistoryAutomat, articleSupplierAutomat } from './articleDetailAutomat';
/** Single shared GET /api/events connection. */
export { default as sseAutomat, invalidateArticle } from './sseAutomat';
export { default as artikelAutomat } from './artikelAutomat';
export {
getArticle,
hasArticle,
selectArticle,
createArticleSelector,
} from './artikelAutomat';
export { default as companyAutomat } from './companyAutomat';
export {
selectCompanies,
selectCurrentCompany,
selectCompanyId,
selectCompanyStatus,
selectCompanyName,
selectCompanyIso639,
selectCompanyLanguageId,
selectCompanyTaxrate,
selectCompanyReducedTaxrate,
selectCompanyTaxfreerate,
selectCompanyRootCategoryId,
selectNumbers,
selectNumbersStatus,
selectPosterminals,
selectPosterminalStatus,
selectHasPosterminals,
selectPrinterAgents,
selectPrinterAgentStatus,
selectHasPrinterAgents,
selectAgentPrinters,
selectAgentPrinterStatus,
selectLivePrinters,
selectSuppliers,
selectSuppliersStatus,
selectUnits,
selectUnitsStatus,
setViewerPosition,
setChatDrawerWidth,
selectChatDrawerWidth,
selectWarehouses,
selectWarehousesStatus,
selectProperties,
selectPropertyStatus,
selectCustomergroups,
selectCustomergroupsStatus,
selectCarriers,
selectCarriersStatus,
selectBrands,
selectBrandsStatus,
selectAttributes,
selectAttributeStatus,
selectAccounts,
selectAccountsStatus,
} from './companyAutomat';
export { default as categoryAutomat } from './categoryAutomat';
export {
ROOT_CATEGORY_NAME,
parseCategoryTreeResponse,
normalizeCategoryNode,
getCategoryBreadcrumbs,
getCategoryChildren,
categoryDisplayName,
categorySlug,
normalizeCategoryMap,
getCategoryState,
whenCategoryTreeReady,
selectCategoryTreeArticleCount,
} from './categoryAutomat';
/**
* Per-category article views keyed by slug path, warmed in bulk by
* `categoryAutomat.loadTree()` once the tree succeeded.
*/
export {
default as categoryViews,
attachCategoryTree,
categoryViewSlugPath,
collectLoadedCategoryViewData,
loadAllCategoryViews,
reloadLoadedCategoryViews,
getOrCreateCategoryAutomat,
disposeAllCategoryViewAutomats,
invalidateAllCategoryViews,
refreshCategoryViewChildren,
appendArticlesToCategoryViews,
} from './categoryViewAutomat';
export { default as articleHistoryGridAutomat } from './articleHistoryAutomat';
export { default as globalHistoryAutomat, globalHistoryGridAutomat } from './globalHistoryAutomat';
export { default as ledgerHistoryAutomat, ledgerHistoryGridAutomat } from './ledgerHistoryAutomat';
export { default as chatAutomat } from './chatAutomat';
export {
selectChatIsOpen,
selectChatState,
selectChatMessages,
selectChatConversations,
selectSelectedConversationId,
selectSseStatus,
selectPendingAskUser,
selectHasPendingAsk,
} from './chatAutomat';
export { default as vfsAutomat } from './vfsAutomat';
export { default as pinnedAppletAutomat } from './pinnedAppletAutomat';
export {
isPinned,
getPinnedForRoute,
pinApplet,
unpinApplet,
togglePin,
executeApplet,
closeExecution,
normalizeRoute,
} from './pinnedAppletAutomat';