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