@openmrs/esm-stock-management-app 3.0.1-pre.855 → 3.0.1-pre.864
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.husky/pre-commit +4 -1
- package/.husky/pre-push +2 -0
- package/__mocks__/react-i18next.js +8 -9
- package/dist/10.js +1 -1
- package/dist/10.js.map +1 -1
- package/dist/119.js +1 -1
- package/dist/119.js.map +1 -1
- package/dist/14.js +1 -1
- package/dist/14.js.map +1 -1
- package/dist/172.js +1 -1
- package/dist/172.js.map +1 -1
- package/dist/20.js +1 -1
- package/dist/20.js.map +1 -1
- package/dist/290.js +1 -1
- package/dist/290.js.map +1 -1
- package/dist/33.js +1 -0
- package/dist/33.js.map +1 -0
- package/dist/467.js +1 -1
- package/dist/467.js.map +1 -1
- package/dist/574.js +1 -1
- package/dist/606.js +1 -1
- package/dist/606.js.map +1 -1
- package/dist/642.js +1 -1
- package/dist/642.js.map +1 -1
- package/dist/675.js +1 -1
- package/dist/675.js.map +1 -1
- package/dist/727.js +1 -1
- package/dist/727.js.map +1 -1
- package/dist/842.js +1 -1
- package/dist/842.js.map +1 -1
- package/dist/93.js +1 -1
- package/dist/93.js.map +1 -1
- package/dist/main.js +1 -1
- package/dist/main.js.map +1 -1
- package/dist/openmrs-esm-stock-management-app.js.buildmanifest.json +70 -70
- package/dist/routes.json +1 -1
- package/jest.config.js +6 -3
- package/package.json +1 -1
- package/src/core/components/table/table.component.tsx +2 -2
- package/src/index.ts +5 -5
- package/src/stock-items/add-bulk-stock-item/add-stock-items-bulk-import-action-button.component.tsx +3 -3
- package/src/stock-items/add-bulk-stock-item/{stock-items-bulk-import.component.tsx → stock-items-bulk-import.modal.tsx} +20 -19
- package/src/stock-items/add-bulk-stock-item/stock-items-bulk-import.resource.ts +1 -1
- package/src/stock-items/add-bulk-stock-item/stock-items-bulk-import.test.tsx +59 -59
- package/src/stock-items/add-stock-item/add-stock-action-button.component.tsx +6 -6
- package/src/stock-items/add-stock-item/add-stock-item.component.tsx +6 -4
- package/src/stock-items/add-stock-item/add-stock-item.scss +5 -0
- package/src/stock-items/add-stock-item/add-stock-item.test.tsx +28 -43
- package/src/stock-items/add-stock-item/packaging-units/packaging-units-delete-modal.component.tsx +3 -4
- package/src/stock-items/add-stock-item/packaging-units/packaging-units.component.tsx +9 -10
- package/src/stock-items/add-stock-item/packaging-units/packaging-units.scss +4 -4
- package/src/stock-items/add-stock-item/stock-item-details/stock-item-details.component.tsx +27 -19
- package/src/stock-items/add-stock-item/stock-item-references/stock-item-references.scss +4 -4
- package/src/stock-items/add-stock-item/stock-item-rules/add-stock-rules.component.tsx +15 -9
- package/src/stock-items/add-stock-item/stock-item-rules/add-stock-rules.scss +1 -0
- package/src/stock-items/add-stock-item/stock-item-rules/delete-stock-rule-modal.component.tsx +2 -1
- package/src/stock-items/add-stock-item/stock-item-rules/stock-item-rules.component.tsx +14 -16
- package/src/stock-items/add-stock-item/stock-item-rules/stock-item-rules.scss +7 -3
- package/src/stock-items/add-stock-item/transactions/printout/transactions-print-bincard-preview.modal.tsx +14 -6
- package/src/stock-items/add-stock-item/transactions/printout/transactions-print-stockcard-preview.modal.tsx +14 -8
- package/src/stock-items/edit-stock-item/edit-stock-item-action-menu.component.tsx +2 -2
- package/src/stock-items/stock-item.utils.tsx +3 -5
- package/src/stock-items/stock-items-table.component.tsx +47 -45
- package/src/stock-items/stock-items-table.resource.ts +2 -2
- package/src/stock-items/stock-items-table.scss +5 -1
- package/src/stock-items/stock-items-table.test.tsx +106 -65
- package/src/stock-locations/location-admin-form.component.tsx +5 -4
- package/src/stock-locations/stock-locations-table.component.tsx +10 -8
- package/src/stock-lookups/stock-lookups.resource.ts +18 -17
- package/src/stock-operations/stock-operations-dialog/stock-operations-dialog.component.tsx +2 -2
- package/src/stock-operations/stock-operations-forms/input-components/batch-no-selector.component.tsx +11 -11
- package/src/stock-operations/stock-operations-forms/input-components/batch-no-selector.test.tsx +115 -25
- package/src/stock-operations/stock-operations-forms/input-components/qty-uim-selector.test.tsx +107 -65
- package/src/stock-operations/stock-operations-forms/input-components/quantity-uom-selector.component.tsx +9 -9
- package/src/stock-operations/stock-operations-forms/input-components/stock-operation-reason-selector.test.tsx +35 -153
- package/src/stock-operations/stock-operations-forms/input-components/user-selector.test.tsx +82 -29
- package/src/stock-operations/stock-operations-forms/step1.test.tsx +204 -69
- package/src/stock-operations/stock-operations-forms/step2.test.tsx +140 -63
- package/src/stock-operations/stock-operations-forms/step3.test.tsx +79 -60
- package/src/stock-operations/stock-operations-forms/steps/stock-operation-items-form-step.component.tsx +6 -5
- package/src/stock-operations/stock-operations-forms/steps/stock-operation-submission-form-step.component.tsx +12 -11
- package/src/stock-operations/stock-operations-forms/stock-item-form/stock-item-form.scss +1 -0
- package/src/stock-operations/stock-operations-forms/stock-item-form/stock-item-form.workspace.tsx +20 -12
- package/src/stock-operations/stock-operations-forms/stock-operation-form.scss +1 -0
- package/src/stock-operations/stock-operations-forms/stock-operation-stepper/stepper.scss +1 -3
- package/src/stock-operations/stock-operations-forms/stock-operation-stepper/stock-operation-stepper.component.tsx +2 -1
- package/src/stock-reports/generate-report/create-stock-report.scss +3 -2
- package/src/stock-reports/generate-report/create-stock-report.workspace.tsx +32 -25
- package/src/stock-reports/report-list/stock-report-parameters.component.tsx +1 -1
- package/src/stock-reports/report-list/stock-report-status.component.tsx +1 -1
- package/src/stock-reports/report-list/stock-reports.component.tsx +24 -25
- package/src/stock-reports/report-list/stock-reports.scss +10 -2
- package/src/stock-sources/add-stock-sources/add-stock-sources.scss +11 -4
- package/src/stock-sources/add-stock-sources/add-stock-sources.test.tsx +38 -36
- package/src/stock-sources/add-stock-sources/add-stock-sources.workspace.tsx +35 -30
- package/src/stock-sources/delete-stock-modal.component.tsx +2 -1
- package/src/stock-sources/stock-sources-delete/stock-sources-delete.test.tsx +27 -36
- package/src/stock-sources/stock-sources-filter/stock-sources-filter.component.tsx +36 -21
- package/src/stock-sources/stock-sources-items-table.component.tsx +16 -17
- package/src/stock-sources/stock-sources-items-table.resource.ts +8 -6
- package/src/stock-sources/stock-sources-items-table.test.tsx +79 -36
- package/src/stock-sources/stock-sources.scss +6 -2
- package/src/stock-user-role-scopes/add-stock-user-scope/add-stock-user-role-scope.scss +5 -13
- package/src/stock-user-role-scopes/add-stock-user-scope/add-stock-user-role-scope.workspace.tsx +2 -2
- package/src/stock-user-role-scopes/delete-stock-user-scope-modal.component.tsx +2 -1
- package/translations/en.json +8 -6
- package/tsconfig.json +4 -0
- package/dist/627.js +0 -1
- package/dist/627.js.map +0 -1
@@ -1,8 +1,8 @@
|
|
1
|
-
import React, {
|
2
|
-
import {
|
3
|
-
import { useStockItemRules } from './stock-item-rules.resource';
|
1
|
+
import React, { useMemo } from 'react';
|
2
|
+
import { useTranslation } from 'react-i18next';
|
4
3
|
import {
|
5
4
|
DataTable,
|
5
|
+
DataTableSkeleton,
|
6
6
|
Pagination,
|
7
7
|
Table,
|
8
8
|
TableBody,
|
@@ -12,22 +12,22 @@ import {
|
|
12
12
|
TableHeader,
|
13
13
|
TableRow,
|
14
14
|
TableToolbar,
|
15
|
-
TableToolbarContent,
|
16
|
-
Tile,
|
17
15
|
TableToolbarAction,
|
16
|
+
TableToolbarContent,
|
18
17
|
TableToolbarMenu,
|
19
|
-
DataTableSkeleton,
|
20
18
|
TableToolbarSearch,
|
19
|
+
Tile,
|
21
20
|
} from '@carbon/react';
|
21
|
+
import { isDesktop } from '@openmrs/esm-framework';
|
22
22
|
import { formatDisplayDate } from '../../../core/utils/datetimeUtils';
|
23
|
-
import
|
23
|
+
import { ResourceRepresentation } from '../../../core/api/api';
|
24
24
|
import { type StockRule } from '../../../core/api/types/stockItem/StockRule';
|
25
|
+
import { useStockItemRules } from './stock-item-rules.resource';
|
25
26
|
import AddStockRuleActionButton from './add-stock-rule-button.component';
|
26
|
-
import { isDesktop } from '@openmrs/esm-framework';
|
27
|
-
import StockRulesFilter from './stock-rules-filter.component';
|
28
|
-
import { useTranslation } from 'react-i18next';
|
29
|
-
import StockRulesDeleteActionMenu from './stock-rules-delete.component';
|
30
27
|
import EditStockRuleActionsMenu from './edit-stock-rule.component';
|
28
|
+
import StockRulesDeleteActionMenu from './stock-rules-delete.component';
|
29
|
+
import StockRulesFilter from './stock-rules-filter.component';
|
30
|
+
import styles from '../../stock-items-table.scss';
|
31
31
|
|
32
32
|
interface StockItemRulesProps {
|
33
33
|
onSubmit?: () => void;
|
@@ -76,10 +76,6 @@ const StockItemRules: React.FC<StockItemRulesProps> = ({ stockItemUuid, model, c
|
|
76
76
|
|
77
77
|
return (
|
78
78
|
<div className={styles.tableOverride}>
|
79
|
-
<div id="table-tool-bar">
|
80
|
-
<div></div>
|
81
|
-
<div className="right-filters"></div>
|
82
|
-
</div>
|
83
79
|
<DataTable
|
84
80
|
rows={tableRows}
|
85
81
|
headers={tableHeaders}
|
@@ -105,7 +101,9 @@ const StockItemRules: React.FC<StockItemRulesProps> = ({ stockItemUuid, model, c
|
|
105
101
|
<StockRulesFilter stockItemUuid={stockItemUuid} />
|
106
102
|
</div>
|
107
103
|
<TableToolbarMenu>
|
108
|
-
<TableToolbarAction onClick={''}>
|
104
|
+
<TableToolbarAction className={styles.toolbarMenuAction} onClick={''}>
|
105
|
+
{t('refresh', 'Refresh')}
|
106
|
+
</TableToolbarAction>
|
109
107
|
</TableToolbarMenu>
|
110
108
|
<AddStockRuleActionButton stockItemUuid={stockItemUuid} />
|
111
109
|
</TableToolbarContent>
|
@@ -1,9 +1,9 @@
|
|
1
|
-
@use '@carbon/
|
2
|
-
@use '@carbon/
|
1
|
+
@use '@carbon/layout';
|
2
|
+
@use '@carbon/type';
|
3
3
|
@use '@openmrs/esm-styleguide/src/vars' as *;
|
4
4
|
|
5
5
|
.section {
|
6
|
-
margin:
|
6
|
+
margin: layout.$spacing-03;
|
7
7
|
}
|
8
8
|
|
9
9
|
.form {
|
@@ -11,3 +11,7 @@
|
|
11
11
|
gap: 1.5rem;
|
12
12
|
padding-top: 1rem;
|
13
13
|
}
|
14
|
+
|
15
|
+
.toolbarMenuAction {
|
16
|
+
max-width: none;
|
17
|
+
}
|
@@ -1,9 +1,11 @@
|
|
1
1
|
import React, { useRef } from 'react';
|
2
|
-
import TransactionsBincardPrintout from './transactions-bincard-printout.component';
|
3
2
|
import { ModalBody, ModalHeader, ModalFooter, Button } from '@carbon/react';
|
4
3
|
import { useTranslation } from 'react-i18next';
|
5
4
|
import { useReactToPrint } from 'react-to-print';
|
6
|
-
|
5
|
+
import { getCoreTranslation } from '@openmrs/esm-framework';
|
6
|
+
import TransactionsBincardPrintout from './transactions-bincard-printout.component';
|
7
|
+
|
8
|
+
type TransactionsBincardPrintPreviewModalProps = {
|
7
9
|
onClose?: () => void;
|
8
10
|
title?: string;
|
9
11
|
columns: any;
|
@@ -11,7 +13,13 @@ type Props = {
|
|
11
13
|
binOrStockCard: number;
|
12
14
|
};
|
13
15
|
|
14
|
-
const
|
16
|
+
const TransactionsBincardPrintPreviewModal: React.FC<TransactionsBincardPrintPreviewModalProps> = ({
|
17
|
+
onClose,
|
18
|
+
title,
|
19
|
+
columns,
|
20
|
+
data,
|
21
|
+
binOrStockCard,
|
22
|
+
}) => {
|
15
23
|
const { t } = useTranslation();
|
16
24
|
const ref = useRef<HTMLDivElement>(null);
|
17
25
|
|
@@ -28,14 +36,14 @@ const TransactionsBincardPrintPreview: React.FC<Props> = ({ onClose, title, colu
|
|
28
36
|
</ModalBody>
|
29
37
|
<ModalFooter>
|
30
38
|
<Button kind="secondary" onClick={onClose}>
|
31
|
-
{
|
39
|
+
{getCoreTranslation('cancel')}
|
32
40
|
</Button>
|
33
41
|
<Button type="button" onClick={handlePrint}>
|
34
|
-
{
|
42
|
+
{getCoreTranslation('print')}
|
35
43
|
</Button>
|
36
44
|
</ModalFooter>
|
37
45
|
</>
|
38
46
|
);
|
39
47
|
};
|
40
48
|
|
41
|
-
export default
|
49
|
+
export default TransactionsBincardPrintPreviewModal;
|
@@ -1,17 +1,23 @@
|
|
1
1
|
import React, { useRef } from 'react';
|
2
|
-
import TransactionsBincardPrintout from './transactions-bincard-printout.component';
|
3
|
-
import TransactionsStockcardPrintout from './transactions-stockcard-printout.component';
|
4
2
|
import { ModalBody, ModalHeader, ModalFooter, Button } from '@carbon/react';
|
5
3
|
import { useTranslation } from 'react-i18next';
|
6
4
|
import { useReactToPrint } from 'react-to-print';
|
7
|
-
|
5
|
+
import { getCoreTranslation } from '@openmrs/esm-framework';
|
6
|
+
import TransactionsStockcardPrintout from './transactions-stockcard-printout.component';
|
7
|
+
|
8
|
+
type TransactionsStockcardPrintPreviewModalProps = {
|
8
9
|
onClose?: () => void;
|
9
10
|
title?: string;
|
10
11
|
columns: any;
|
11
12
|
data: any;
|
12
13
|
};
|
13
14
|
|
14
|
-
const
|
15
|
+
const TransactionsStockcardPrintPreviewModal: React.FC<TransactionsStockcardPrintPreviewModalProps> = ({
|
16
|
+
onClose,
|
17
|
+
title,
|
18
|
+
columns,
|
19
|
+
data,
|
20
|
+
}) => {
|
15
21
|
const { t } = useTranslation();
|
16
22
|
const ref = useRef<HTMLDivElement>(null);
|
17
23
|
|
@@ -20,7 +26,7 @@ const TransactionsStockcardPrintPreview: React.FC<Props> = ({ onClose, title, co
|
|
20
26
|
});
|
21
27
|
return (
|
22
28
|
<>
|
23
|
-
<ModalHeader closeModal={onClose} title={t('
|
29
|
+
<ModalHeader closeModal={onClose} title={t('printStockCard', 'Print Stock Card')} />
|
24
30
|
<ModalBody>
|
25
31
|
<div ref={ref}>
|
26
32
|
<TransactionsStockcardPrintout title={title} columns={columns} items={data} />
|
@@ -28,14 +34,14 @@ const TransactionsStockcardPrintPreview: React.FC<Props> = ({ onClose, title, co
|
|
28
34
|
</ModalBody>
|
29
35
|
<ModalFooter>
|
30
36
|
<Button kind="secondary" onClick={onClose}>
|
31
|
-
{
|
37
|
+
{getCoreTranslation('cancel')}
|
32
38
|
</Button>
|
33
39
|
<Button type="button" onClick={handlePrint}>
|
34
|
-
{
|
40
|
+
{getCoreTranslation('print')}
|
35
41
|
</Button>
|
36
42
|
</ModalFooter>
|
37
43
|
</>
|
38
44
|
);
|
39
45
|
};
|
40
46
|
|
41
|
-
export default
|
47
|
+
export default TransactionsStockcardPrintPreviewModal;
|
@@ -2,7 +2,7 @@ import React from 'react';
|
|
2
2
|
import { Button } from '@carbon/react';
|
3
3
|
import { useTranslation } from 'react-i18next';
|
4
4
|
import { type StockItemDTO } from '../../core/api/types/stockItem/StockItem';
|
5
|
-
import {
|
5
|
+
import { launchAddOrEditStockItemWorkspace } from '../stock-item.utils';
|
6
6
|
|
7
7
|
interface EditStockItemActionsMenuProps {
|
8
8
|
data: StockItemDTO;
|
@@ -17,7 +17,7 @@ const EditStockItemActionsMenu: React.FC<EditStockItemActionsMenuProps> = ({ dat
|
|
17
17
|
size="md"
|
18
18
|
onClick={() => {
|
19
19
|
data.isDrug = !!data.drugUuid;
|
20
|
-
|
20
|
+
launchAddOrEditStockItemWorkspace(t, data);
|
21
21
|
}}
|
22
22
|
iconDescription={t('editStockItem', 'Edit Stock Item')}
|
23
23
|
>
|
@@ -1,13 +1,11 @@
|
|
1
|
-
import { launchWorkspace } from '@openmrs/esm-framework';
|
2
1
|
import { type TFunction } from 'react-i18next';
|
2
|
+
import { launchWorkspace } from '@openmrs/esm-framework';
|
3
3
|
import { type StockItemDTO } from '../core/api/types/stockItem/StockItem';
|
4
4
|
|
5
|
-
export const
|
5
|
+
export const launchAddOrEditStockItemWorkspace = (t: TFunction, stockItem?: StockItemDTO) => {
|
6
6
|
launchWorkspace('stock-item-form-workspace', {
|
7
7
|
workspaceTitle: stockItem
|
8
|
-
?
|
9
|
-
name: stockItem?.drugName || stockItem.conceptName || '',
|
10
|
-
})} ${stockItem.isDrug ? '(Drug)' : '(Non Drug)'}`
|
8
|
+
? `Edit ${stockItem?.drugName || stockItem.conceptName || ''} ${stockItem.isDrug ? '(Drug)' : '(Non Drug)'}`
|
11
9
|
: t('addItem', 'Add stock item'),
|
12
10
|
stockItem,
|
13
11
|
});
|
@@ -1,8 +1,9 @@
|
|
1
|
+
import React, { useMemo, useState, useEffect } from 'react';
|
2
|
+
import { useTranslation } from 'react-i18next';
|
1
3
|
import {
|
2
|
-
Button,
|
3
|
-
TabPanel,
|
4
4
|
DataTable,
|
5
5
|
DataTableSkeleton,
|
6
|
+
IconButton,
|
6
7
|
Pagination,
|
7
8
|
Table,
|
8
9
|
TableBatchActions,
|
@@ -13,27 +14,25 @@ import {
|
|
13
14
|
TableHeader,
|
14
15
|
TableRow,
|
15
16
|
TableToolbar,
|
17
|
+
TableToolbarAction,
|
16
18
|
TableToolbarContent,
|
19
|
+
TableToolbarMenu,
|
17
20
|
TableToolbarSearch,
|
21
|
+
TabPanel,
|
18
22
|
Tile,
|
19
|
-
Tooltip,
|
20
|
-
TableToolbarAction,
|
21
|
-
TableToolbarMenu,
|
22
23
|
} from '@carbon/react';
|
23
24
|
import { Edit } from '@carbon/react/icons';
|
24
25
|
import { isDesktop, restBaseUrl } from '@openmrs/esm-framework';
|
25
|
-
import
|
26
|
-
import {
|
26
|
+
import { handleMutate } from '../utils';
|
27
|
+
import { launchAddOrEditStockItemWorkspace } from './stock-item.utils';
|
27
28
|
import { ResourceRepresentation } from '../core/api/api';
|
28
|
-
import
|
29
|
-
import FilterStockItems from './components/filter-stock-items/filter-stock-items.component';
|
30
|
-
import { launchAddOrStockItemWorkspace } from './stock-item.utils';
|
29
|
+
import { useDebounce } from '../core/hooks/debounce-hook';
|
31
30
|
import { useStockItemsPages } from './stock-items-table.resource';
|
32
|
-
import
|
31
|
+
import AddStockItemActionButton from './add-stock-item/add-stock-action-button.component';
|
33
32
|
import AddStockItemsBulktImportActionButton from './add-bulk-stock-item/add-stock-items-bulk-import-action-button.component';
|
34
33
|
import EditStockItemActionsMenu from './edit-stock-item/edit-stock-item-action-menu.component';
|
35
|
-
import
|
36
|
-
import
|
34
|
+
import FilterStockItems from './components/filter-stock-items/filter-stock-items.component';
|
35
|
+
import styles from './stock-items-table.scss';
|
37
36
|
|
38
37
|
interface StockItemsTableProps {
|
39
38
|
from?: string;
|
@@ -48,17 +47,17 @@ const StockItemsTableComponent: React.FC<StockItemsTableProps> = () => {
|
|
48
47
|
};
|
49
48
|
|
50
49
|
const {
|
50
|
+
currentPage,
|
51
|
+
currentPageSize,
|
52
|
+
isDrug,
|
51
53
|
isLoading,
|
52
54
|
items,
|
53
|
-
totalCount,
|
54
|
-
currentPageSize,
|
55
|
-
setPageSize,
|
56
55
|
pageSizes,
|
57
|
-
currentPage,
|
58
56
|
setCurrentPage,
|
59
|
-
isDrug,
|
60
57
|
setDrug,
|
58
|
+
setPageSize,
|
61
59
|
setSearchString,
|
60
|
+
totalCount,
|
62
61
|
} = useStockItemsPages(ResourceRepresentation.Full);
|
63
62
|
|
64
63
|
const handleSearch = (query: string) => {
|
@@ -112,8 +111,8 @@ const StockItemsTableComponent: React.FC<StockItemsTableProps> = () => {
|
|
112
111
|
},
|
113
112
|
{
|
114
113
|
id: 7,
|
114
|
+
header: t('actions', 'Actions'),
|
115
115
|
key: 'actions',
|
116
|
-
header: 'Actions',
|
117
116
|
},
|
118
117
|
],
|
119
118
|
[t],
|
@@ -138,18 +137,17 @@ const StockItemsTableComponent: React.FC<StockItemsTableProps> = () => {
|
|
138
137
|
? `${stockItem?.reorderLevel?.toLocaleString()} ${stockItem?.reorderLevelUoMName}`
|
139
138
|
: '',
|
140
139
|
actions: (
|
141
|
-
<
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
</Tooltip>
|
140
|
+
<IconButton
|
141
|
+
kind="ghost"
|
142
|
+
label={t('editStockItem', 'Edit stock item')}
|
143
|
+
size="md"
|
144
|
+
onClick={() => {
|
145
|
+
stockItem.isDrug = !!stockItem.drugUuid;
|
146
|
+
launchAddOrEditStockItemWorkspace(t, stockItem);
|
147
|
+
}}
|
148
|
+
>
|
149
|
+
<Edit size={16} />
|
150
|
+
</IconButton>
|
153
151
|
),
|
154
152
|
}));
|
155
153
|
}, [items, t]);
|
@@ -161,7 +159,6 @@ const StockItemsTableComponent: React.FC<StockItemsTableProps> = () => {
|
|
161
159
|
return (
|
162
160
|
<>
|
163
161
|
<TabPanel>{t('panelDescription', 'Drugs and other stock items managed by the system.')}</TabPanel>
|
164
|
-
|
165
162
|
<DataTable
|
166
163
|
rows={tableRows}
|
167
164
|
headers={tableHeaders}
|
@@ -176,19 +173,25 @@ const StockItemsTableComponent: React.FC<StockItemsTableProps> = () => {
|
|
176
173
|
backgroundColor: 'color',
|
177
174
|
}}
|
178
175
|
>
|
179
|
-
<TableBatchActions {...getBatchActionProps()}
|
176
|
+
<TableBatchActions {...getBatchActionProps()} />
|
180
177
|
<TableToolbarContent
|
181
178
|
style={{
|
182
179
|
display: 'flex',
|
183
180
|
alignItems: 'center',
|
184
181
|
}}
|
185
182
|
>
|
186
|
-
<TableToolbarSearch
|
187
|
-
|
183
|
+
<TableToolbarSearch
|
184
|
+
onChange={(e) => handleSearch(e.target.value)}
|
185
|
+
persistent
|
186
|
+
placeholder={t('searchStockItems', 'Search stock items')}
|
187
|
+
value={searchInput}
|
188
|
+
/>
|
188
189
|
<FilterStockItems filterType={isDrug} changeFilterType={setDrug} />
|
189
190
|
<AddStockItemsBulktImportActionButton />
|
190
191
|
<TableToolbarMenu data-testid="stock-items-menu">
|
191
|
-
<TableToolbarAction onClick={handleRefresh}>
|
192
|
+
<TableToolbarAction className={styles.toolbarAction} onClick={handleRefresh}>
|
193
|
+
{t('refresh', 'Refresh')}
|
194
|
+
</TableToolbarAction>
|
192
195
|
</TableToolbarMenu>
|
193
196
|
<AddStockItemActionButton />
|
194
197
|
</TableToolbarContent>
|
@@ -212,7 +215,7 @@ const StockItemsTableComponent: React.FC<StockItemsTableProps> = () => {
|
|
212
215
|
</TableHeader>
|
213
216
|
),
|
214
217
|
)}
|
215
|
-
<TableHeader
|
218
|
+
<TableHeader />
|
216
219
|
</TableRow>
|
217
220
|
</TableHead>
|
218
221
|
<TableBody>
|
@@ -220,8 +223,8 @@ const StockItemsTableComponent: React.FC<StockItemsTableProps> = () => {
|
|
220
223
|
return (
|
221
224
|
<React.Fragment key={row.id}>
|
222
225
|
<TableRow
|
223
|
-
className={isDesktop ? styles.desktopRow : styles.tabletRow}
|
224
226
|
{...getRowProps({ row })}
|
227
|
+
className={isDesktop ? styles.desktopRow : styles.tabletRow}
|
225
228
|
key={row.id}
|
226
229
|
>
|
227
230
|
{row.cells.map(
|
@@ -238,7 +241,7 @@ const StockItemsTableComponent: React.FC<StockItemsTableProps> = () => {
|
|
238
241
|
<div className={styles.tileContainer}>
|
239
242
|
<Tile className={styles.tile}>
|
240
243
|
<div className={styles.tileContent}>
|
241
|
-
<p className={styles.content}>{t('
|
244
|
+
<p className={styles.content}>{t('noStockItemsToDisplay', 'No stock items to display')}</p>
|
242
245
|
<p className={styles.helper}>{t('checkFilters', 'Check the filters above')}</p>
|
243
246
|
</div>
|
244
247
|
</Tile>
|
@@ -247,17 +250,16 @@ const StockItemsTableComponent: React.FC<StockItemsTableProps> = () => {
|
|
247
250
|
</TableContainer>
|
248
251
|
)}
|
249
252
|
></DataTable>
|
250
|
-
|
251
253
|
<Pagination
|
252
|
-
|
253
|
-
pageSize={currentPageSize}
|
254
|
-
pageSizes={pageSizes}
|
255
|
-
totalItems={totalCount}
|
254
|
+
className={styles.paginationOverride}
|
256
255
|
onChange={({ page, pageSize }) => {
|
257
256
|
setCurrentPage(page);
|
258
257
|
setPageSize(pageSize);
|
259
258
|
}}
|
260
|
-
|
259
|
+
page={currentPage}
|
260
|
+
pageSize={currentPageSize}
|
261
|
+
pageSizes={pageSizes}
|
262
|
+
totalItems={totalCount}
|
261
263
|
/>
|
262
264
|
</>
|
263
265
|
);
|
@@ -1,8 +1,8 @@
|
|
1
|
-
import { type StockItemFilter, useStockItems } from './stock-items.resource';
|
2
1
|
import { useEffect, useMemo, useState } from 'react';
|
3
2
|
import { useTranslation } from 'react-i18next';
|
4
|
-
import { ResourceRepresentation } from '../core/api/api';
|
5
3
|
import { usePagination } from '@openmrs/esm-framework';
|
4
|
+
import { type StockItemFilter, useStockItems } from './stock-items.resource';
|
5
|
+
import { ResourceRepresentation } from '../core/api/api';
|
6
6
|
|
7
7
|
export function useStockItemsPages(v?: ResourceRepresentation) {
|
8
8
|
const { t } = useTranslation();
|