datastake-daf 0.6.742 → 0.6.744

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.
Files changed (48) hide show
  1. package/build/favicon.ico +0 -0
  2. package/build/logo192.png +0 -0
  3. package/build/logo512.png +0 -0
  4. package/build/manifest.json +25 -0
  5. package/build/robots.txt +3 -0
  6. package/dist/hooks/index.js +4658 -19
  7. package/dist/pages/index.js +3278 -280
  8. package/dist/services/index.js +2 -2
  9. package/package.json +1 -1
  10. package/src/@daf/pages/dashboards/AllInformation/Documents/columns.js +42 -16
  11. package/src/@daf/pages/dashboards/AllInformation/Documents/create.jsx +5 -4
  12. package/src/@daf/pages/dashboards/AllInformation/Documents/index.jsx +18 -26
  13. package/src/@daf/pages/dashboards/AllInformation/Events/columns.js +4 -3
  14. package/src/@daf/pages/dashboards/AllInformation/Events/config.js +158 -6
  15. package/src/@daf/pages/dashboards/AllInformation/Events/create.jsx +2 -2
  16. package/src/@daf/pages/dashboards/AllInformation/Events/index.jsx +11 -1
  17. package/src/@daf/pages/dashboards/AllInformation/Locations/columns.js +4 -3
  18. package/src/@daf/pages/dashboards/AllInformation/Locations/create.jsx +1 -1
  19. package/src/@daf/pages/dashboards/AllInformation/Locations/index.jsx +11 -1
  20. package/src/@daf/pages/dashboards/AllInformation/Stakeholders/columns.js +5 -2
  21. package/src/@daf/pages/dashboards/AllInformation/Stakeholders/create.jsx +1 -1
  22. package/src/@daf/pages/dashboards/AllInformation/Stakeholders/index.jsx +13 -3
  23. package/src/@daf/pages/dashboards/DueDilligence/Activities/columns.js +221 -0
  24. package/src/@daf/pages/dashboards/DueDilligence/Activities/config.js +166 -0
  25. package/src/@daf/pages/dashboards/DueDilligence/Activities/create.jsx +104 -0
  26. package/src/@daf/pages/dashboards/DueDilligence/Activities/index.jsx +157 -0
  27. package/src/@daf/pages/dashboards/DueDilligence/Incidents/columns.js +221 -0
  28. package/src/@daf/pages/dashboards/DueDilligence/Incidents/config.js +166 -0
  29. package/src/@daf/pages/dashboards/DueDilligence/Incidents/create.jsx +104 -0
  30. package/src/@daf/pages/dashboards/DueDilligence/Incidents/index.jsx +157 -0
  31. package/src/@daf/pages/dashboards/DueDilligence/Incidents2/columns.js +176 -0
  32. package/src/@daf/pages/dashboards/DueDilligence/Incidents2/config.js +171 -0
  33. package/src/@daf/pages/dashboards/DueDilligence/Incidents2/create.jsx +104 -0
  34. package/src/@daf/pages/dashboards/DueDilligence/Incidents2/index.jsx +156 -0
  35. package/src/@daf/pages/dashboards/Operations/Operators/columns.js +4 -3
  36. package/src/@daf/pages/dashboards/Operations/Operators/config.js +0 -1
  37. package/src/@daf/pages/dashboards/Operations/Operators/index.jsx +3 -1
  38. package/src/@daf/pages/dashboards/Operations/ProductionSites/columns.js +150 -0
  39. package/src/@daf/pages/dashboards/Operations/ProductionSites/config.js +165 -0
  40. package/src/@daf/pages/dashboards/Operations/ProductionSites/create.jsx +104 -0
  41. package/src/@daf/pages/dashboards/Operations/ProductionSites/index.jsx +155 -0
  42. package/src/@daf/pages/dashboards/Operations/Workers/columns.js +176 -0
  43. package/src/@daf/pages/dashboards/Operations/Workers/config.js +166 -0
  44. package/src/@daf/pages/dashboards/Operations/Workers/create.jsx +104 -0
  45. package/src/@daf/pages/dashboards/Operations/Workers/index.jsx +157 -0
  46. package/src/@daf/services/LinkedSubjects.js +2 -2
  47. package/src/helpers/sourceAvatarConfig.js +37 -0
  48. package/src/pages.js +6 -0
@@ -0,0 +1,221 @@
1
+ import React from 'react';
2
+ import { Tooltip, Tag } from 'antd';
3
+ import { findOptions } from '../../../../../helpers/StringHelper.js';
4
+ import { renderDateFormatted } from '../../../../../helpers/Forms.js';
5
+ import CustomIcon from '../../../../core/components/Icon/CustomIcon.jsx';
6
+ import AvatarGroup from '../../../../core/components/AvatarGroup/index.jsx';
7
+ import sourceAvatarConfig from '../../../../../helpers/sourceAvatarConfig.js';
8
+
9
+ const getLinkValue = (value, linkingObject) => {
10
+ if(linkingObject && linkingObject?.[value]) {
11
+ return linkingObject?.[value]?.name;
12
+ }
13
+ return null;
14
+ }
15
+
16
+ const getEventCategoryBySubject = (eventCategoryObject, subject) => {
17
+ if (!eventCategoryObject || typeof eventCategoryObject !== 'object') {
18
+ return null;
19
+ }
20
+
21
+ const subjectSingular = subject.endsWith('ies')
22
+ ? subject.slice(0, -3) + 'y'
23
+ : subject.endsWith('s')
24
+ ? subject.slice(0, -1)
25
+ : subject;
26
+
27
+ const key = `typeOfEvent is ${subjectSingular}`;
28
+ return eventCategoryObject[key] || null;
29
+ };
30
+
31
+ export const renderStatusTag = ({ value, t = (s) => s }) => {
32
+ const width = 87;
33
+
34
+ switch (value) {
35
+ case "edited":
36
+ return (
37
+ <Tag color="yellow" style={{ width }} className="text-center">
38
+ {t("Edited")}
39
+ </Tag>
40
+ );
41
+ case "submitted":
42
+ return (
43
+ <Tag color="green" style={{ width }} className="text-center">
44
+ {t("Submitted")}
45
+ </Tag>
46
+ );
47
+ default:
48
+ return (
49
+ <Tag color="blue" style={{ width }} className="text-center">
50
+ {t("Private")}
51
+ </Tag>
52
+ );
53
+ }
54
+ };
55
+
56
+ export const getColumns = ({t, goTo, user, options, activeTab, getRedirectLink, theme, subject, data, applications}) => [
57
+ {
58
+ dataIndex: 'datastakeId',
59
+ title: t('ID'),
60
+ ellipsis: true,
61
+ show: true,
62
+ render: (v, all) => {
63
+ if (all.empty) {
64
+ return <div className="daf-default-cell" />
65
+ }
66
+
67
+ return <Tooltip title={v}>{v}</Tooltip>;
68
+ },
69
+ },
70
+ {
71
+ dataIndex: 'name',
72
+ title: t('Title'),
73
+ ellipsis: true,
74
+ show: true,
75
+ render: (v, all) => {
76
+ if (all.empty) {
77
+ return <div className="daf-default-cell" />
78
+ }
79
+
80
+ return <Tooltip title={v}>{v}</Tooltip>;
81
+ },
82
+ },
83
+ {
84
+ title: t("Date"),
85
+ dataIndex: "date",
86
+ key: "date",
87
+ render: (date, all) => {
88
+ if (all.empty) {
89
+ return <div className="daf-default-cell" />;
90
+ }
91
+
92
+ const _date = date ? renderDateFormatted(date, "DD MMM YYYY", user?.language || 'en') : "-";
93
+ return <Tooltip title={_date}>{_date}</Tooltip>;
94
+ },
95
+ ellipsis: true,
96
+ },
97
+ {
98
+ dataIndex: 'mineSite',
99
+ title: t('Location'),
100
+ ellipsis: true,
101
+ show: true,
102
+ render: (v, all) => {
103
+ if (all.empty) {
104
+ return <div className="daf-default-cell" />
105
+ }
106
+
107
+ // const country = findOptions(v, data?.options?.positionSupplyChainOptions);
108
+ const mineSite = all?.location?.name
109
+
110
+ return mineSite ? <Tooltip title={mineSite}>{mineSite}</Tooltip> : '-';
111
+ },
112
+ },
113
+ {
114
+ dataIndex: 'province',
115
+ title: t('Province'),
116
+ ellipsis: true,
117
+ show: true,
118
+ render: (v, all) => {
119
+ if (all.empty) {
120
+ return <div className="daf-default-cell" />
121
+ }
122
+
123
+ const region = getLinkValue(all?.location?.administrativeLevel1, all?.location?.linking?.SCL);
124
+
125
+ return region ? <Tooltip title={region}>{region}</Tooltip> : '-';
126
+ },
127
+ },
128
+ {
129
+ dataIndex: 'territory',
130
+ title: t('Territory'),
131
+ ellipsis: true,
132
+ show: true,
133
+ render: (v, all) => {
134
+ if (all.empty) {
135
+ return <div className="daf-default-cell" />
136
+ }
137
+
138
+ const district = getLinkValue(all?.location?.administrativeLevel2, all?.location?.linking?.SCL);
139
+
140
+ return district ? <Tooltip title={district}>{district}</Tooltip> : '-';
141
+ },
142
+ },
143
+ {
144
+ dataIndex: 'eventCategory',
145
+ title: t('Category'),
146
+ ellipsis: true,
147
+ show: true,
148
+ render: (v, all) => {
149
+ if (all.empty) {
150
+ return <div className="daf-default-cell" />
151
+ }
152
+
153
+ const eventCategory = findOptions(v, data?.options?.eventCategoryOptions);
154
+ const categoryValue = getEventCategoryBySubject(eventCategory, subject);
155
+
156
+ return categoryValue ? <Tooltip title={categoryValue}>{categoryValue}</Tooltip> : '-';
157
+ },
158
+ },
159
+ {
160
+ title: t("Sources"),
161
+ dataIndex: "sources",
162
+ key: "sources",
163
+ show: activeTab !== "own",
164
+ render: (val, all) => {
165
+ if (all.empty) {
166
+ return <div className="daf-default-cell" />;
167
+ }
168
+
169
+ const sources = sourceAvatarConfig(val, user, applications);
170
+
171
+ return <AvatarGroup items={sources}></AvatarGroup>;
172
+ },
173
+ },
174
+ {
175
+ title: t("Status"),
176
+ dataIndex: "status",
177
+ key: "status",
178
+ show: activeTab === "own",
179
+ render: (val, all) => {
180
+ if (all.empty) {
181
+ return <div className="daf-default-cell" />
182
+ }
183
+
184
+ const _val = all?.published || all?.status === "submitted" ? "submitted" : val;
185
+
186
+ return renderStatusTag({ value: _val, t });
187
+ },
188
+ },
189
+ {
190
+ title: t("Last Update"),
191
+ dataIndex: "updatedAt",
192
+ key: "updatedAt",
193
+ render: (date, all) => {
194
+ if (all.empty) {
195
+ return <div className="daf-default-cell" />;
196
+ }
197
+
198
+ const _date = date ? renderDateFormatted(date, "DD MMM YYYY", user?.language || 'en') : "-";
199
+ return <Tooltip title={_date}>{_date}</Tooltip>;
200
+ },
201
+ ellipsis: true,
202
+ },
203
+ {
204
+ id: 'actions',
205
+ title: "",
206
+ width: 60,
207
+ render: (_, all) => {
208
+ if (all.empty) {
209
+ return <div className="daf-default-cell" />;
210
+ }
211
+
212
+ const link = `/app/view/${subject}/${all.datastakeId}`;
213
+
214
+ return <div style={{ display: "flex", justifyContent: "center" }}>
215
+ <a href={getRedirectLink(link)}>
216
+ <CustomIcon name="Link" size={15} color={theme.baseGray70} />
217
+ </a>
218
+ </div>;
219
+ }
220
+ }
221
+ ].filter((column) => column.show !== false);
@@ -0,0 +1,166 @@
1
+ export const checkboxConfig = {
2
+ name: 'Name',
3
+ datastakeId: 'ID'
4
+ }
5
+
6
+ export const getFiltersConfig = ({t}) => {
7
+ return {
8
+ country: {
9
+ type: 'select',
10
+ label: 'Country',
11
+ placeholder: (t) => `${t('Filter by')} ${t('Country').toLowerCase()}`,
12
+ style: { flex: 1 },
13
+ labelStyle: { flex: 1 },
14
+ getLabel: (option) => option.label,
15
+ getValue: (option) => option.value,
16
+ },
17
+ administrativeLevel1: {
18
+ type: 'ajaxSelect',
19
+ label: ({ t = (s) => s, options = {}, filters = {}, language = 'en' }) => {
20
+ const { administrativeLevel1 } = options;
21
+
22
+ if (administrativeLevel1) {
23
+ if (options.country) {
24
+ const _item = administrativeLevel1[filters.country];
25
+ if (_item) {
26
+ if (_item[language]) {
27
+ return _item[language]
28
+ }
29
+ }
30
+ }
31
+ }
32
+
33
+ return t('Province');
34
+ },
35
+ placeholder: (t) => `${t('Filter by')} ${t('Province').toLowerCase()}`,
36
+ filters: (data) => ({
37
+ country: data.country,
38
+ level: 'level_1',
39
+ }),
40
+ show: (data) => !data.country,
41
+ disabled: (data) => !data.country,
42
+ mapper: { label: "name", value: "id" },
43
+ method: 'getOptions',
44
+ entity: 'AdministrativeLevel',
45
+ style: { flex: 1 },
46
+ labelStyle: { flex: 1 },
47
+ },
48
+ administrativeLevel2: {
49
+ type: 'ajaxSelect',
50
+ label: ({ t = (s) => s, options = {}, filters = {}, language = 'en' }) => {
51
+ const { administrativeLevel2 } = options;
52
+
53
+ if (administrativeLevel2) {
54
+ if (options.country) {
55
+ const _item = administrativeLevel2[filters.country];
56
+ if (_item) {
57
+ if (_item[language]) {
58
+ return _item[language]
59
+ }
60
+ }
61
+ }
62
+ }
63
+
64
+ return t('Province');
65
+ },
66
+ show: (data) => !(data.country && data.administrativeLevel1),
67
+ placeholder: (t) => `${t('Filter by')} ${t('Territory').toLowerCase()}`,
68
+ filters: (data) => ({
69
+ country: data.country,
70
+ level: 'level_2',
71
+ administrativeLevel1: data.administrativeLevel1,
72
+ }),
73
+ disabled: (data) => !(data.country && data.administrativeLevel1),
74
+ mapper: { label: "name", value: "id" },
75
+ method: 'getOptions',
76
+ entity: 'AdministrativeLevel',
77
+ style: { flex: 1 },
78
+ labelStyle: { flex: 1 },
79
+ },
80
+ activity: {
81
+ type: 'select',
82
+ label: 'Activity',
83
+ placeholder: (t) => `${t('Filter by')} ${t('Activity').toLowerCase()}`,
84
+ style: { flex: 1 },
85
+ labelStyle: { flex: 1 },
86
+ getLabel: (option) => option.label,
87
+ getValue: (option) => option.value,
88
+ filterOptions: (val) => {
89
+ if (val) {
90
+ const { option, filters } = val
91
+ if (filters && option) {
92
+ const { filters: optionFilters } = option;
93
+ if (Array.isArray(optionFilters) && optionFilters.length) {
94
+ const { value, condition } = optionFilters[0];
95
+ if (condition === 'includes') {
96
+ return value.includes('corporation');
97
+ }
98
+ }
99
+ }
100
+ }
101
+ return true;
102
+ },
103
+ },
104
+ positionInTheMineralSupplyChain: {
105
+ type: 'select',
106
+ label: 'Position',
107
+ placeholder: (t) => `${t('Filter by')} ${t('Position').toLowerCase()}`,
108
+ style: { flex: 1 },
109
+ labelStyle: { flex: 1 },
110
+ getLabel: (option) => option.label,
111
+ getValue: (option) => option.value,
112
+ },
113
+ status: {
114
+ type: "select",
115
+ label: "Status",
116
+ placeholder: (t) => `${t("Filter by")} ${t("Status").toLowerCase()}`,
117
+ style: { flex: 1 },
118
+ labelStyle: { fley: 1 },
119
+ getLabel: (option) => option.label,
120
+ getValue: (option) => option.value,
121
+ },
122
+ }
123
+ }
124
+
125
+ export const filtersConfig = {
126
+ name: '',
127
+ datastakeId: '',
128
+ };
129
+
130
+ export const getFilterOptions = (options, t) => {
131
+ const {
132
+ statusOptions = [],
133
+ categoryOptions = [],
134
+ countries = [],
135
+ subCategory = [],
136
+ activityAtSiteOptions = [],
137
+ stakeholderCategoryOptions,
138
+ stakeholderSubCategoriesOptions,
139
+ administrativeLevel1,
140
+ administrativeLevel2,
141
+ positionInMineralSupplyChainOptions,
142
+ subCategoriesOptions,
143
+ } = options || {};
144
+
145
+ const _default = {
146
+ status: [
147
+ {
148
+ value: "submitted",
149
+ label: "Submitted",
150
+ },
151
+ {
152
+ value: "private",
153
+ label: "Private",
154
+ },
155
+ ],
156
+ category: stakeholderCategoryOptions || categoryOptions,
157
+ country: countries,
158
+ subCategory: subCategoriesOptions,
159
+ activity: activityAtSiteOptions,
160
+ administrativeLevel1,
161
+ administrativeLevel2,
162
+ positionInTheMineralSupplyChain: positionInMineralSupplyChainOptions,
163
+ }
164
+
165
+ return _default;
166
+ }
@@ -0,0 +1,104 @@
1
+ import React, { useEffect} from 'react'
2
+ import { message } from 'antd';
3
+ import { MessageTypes } from '../../../../../helpers/messages.js';
4
+ import DynamicForm from '../../../../core/components/DynamicForm/index.jsx';
5
+
6
+ const StakeholdersCreate = ({
7
+ namespace = "incident",
8
+ view = "incident",
9
+ edit = false,
10
+ formData = {},
11
+ loading = false,
12
+ onSubmitted = () => {},
13
+ onCancel = () => {},
14
+ getData = () => {},
15
+ saveData = () => {},
16
+ form: formConfig = {},
17
+ formValue = {},
18
+ defaultData = {},
19
+ user = {},
20
+ APP,
21
+ query,
22
+ goTo = () => {},
23
+ t = () => {},
24
+ ajaxForms = {},
25
+ changeAjaxForms = () => {},
26
+ ajaxOptions = {},
27
+ changeAjaxOptions = () => {},
28
+ getAppHeader = () => {},
29
+ getApiBaseUrl = () => {},
30
+ }) => {
31
+ let {
32
+ form = {},
33
+ data = defaultData || {},
34
+ } = !edit ? (formData[`${APP}-${view}`] || {}) : {
35
+ form: formConfig,
36
+ data: formValue
37
+ };
38
+
39
+ useEffect(() => {
40
+ if (Object.keys(form).length === 0 && !formData[`${APP}-${view}`]) {
41
+ if (!edit) {
42
+ getData({ namespace, module: APP, view, scope: 'createIncident' });
43
+ } else {
44
+ form = formConfig;
45
+ data = formValue;
46
+ }
47
+ }
48
+ }, [edit, user?.language]);
49
+
50
+ return (
51
+ <div className="daf-create-form">
52
+ <DynamicForm
53
+ form={form}
54
+ data={{...defaultData, ...data}}
55
+ showSaveAndNext={false}
56
+ module={APP}
57
+ onCancel={onCancel}
58
+ isCreate
59
+ t={t}
60
+ excludedKeys={["title"]}
61
+ user={user}
62
+ ajaxForms={ajaxForms}
63
+ ajaxOptions={ajaxOptions}
64
+ getAppHeader={getAppHeader}
65
+ getApiBaseUrl={getApiBaseUrl}
66
+ changeAjaxOptions={changeAjaxOptions}
67
+ app={APP}
68
+ query={query}
69
+ goTo={goTo}
70
+ changeAjaxForms={changeAjaxForms}
71
+ submit={(payload, setSelectedFormNext) => {
72
+ const payloadData = { ...payload, module: APP, namespace };
73
+
74
+ const newPayload = {
75
+ ...defaultData,
76
+ ...payloadData,
77
+ form: 'worker'
78
+ };
79
+
80
+ const callback = (type, m, data) => {
81
+ if (setSelectedFormNext) {
82
+ setSelectedFormNext();
83
+ }
84
+ if (type === MessageTypes.SUCCESS) {
85
+ if (onSubmitted) onSubmitted(type, m, data);
86
+ } else {
87
+ message.error(m);
88
+ }
89
+ };
90
+
91
+ saveData(
92
+ !data && !data.id ? newPayload : Object.assign(newPayload, { id: data.id }),
93
+ callback,
94
+ );
95
+ }}
96
+ isFormDisabled={() => {
97
+ return !data || !data.typeOfEvent;
98
+ }}
99
+ />
100
+ </div>
101
+ )
102
+ }
103
+
104
+ export default StakeholdersCreate
@@ -0,0 +1,157 @@
1
+ import React, { useMemo, useState, useEffect, useCallback } from 'react'
2
+ import TablePageWithTabs from '../../../pages/TablePageWithTabs/index.jsx'
3
+ import { getColumns } from './columns.js';
4
+ import { checkboxConfig, getFiltersConfig, filtersConfig, getFilterOptions } from './config.js';
5
+ import { useGetQueryParams } from '../../../../hooks/useGetQueryParams.js';
6
+ import StakeholdersCreate from './create.jsx';
7
+ import { displayMessage } from '../../../../../helpers/messages.js';
8
+
9
+ const IncidentsTable = ({
10
+ t = () => {},
11
+ goTo = () => {},
12
+ user = {},
13
+ options = {},
14
+ getRedirectLink = () => {},
15
+ theme = {},
16
+ loading = false,
17
+ data = {},
18
+ isMobile,
19
+ APP,
20
+ location,
21
+ getData = () => {},
22
+ getApiBaseUrl = () => {},
23
+ getAppHeader = () => {},
24
+ getFormData = () => {},
25
+ saveFormData = () => {},
26
+ formLoading = false,
27
+ query = {},
28
+ ajaxForms = {},
29
+ changeAjaxForms = () => {},
30
+ ajaxOptions = {},
31
+ changeAjaxOptions = () => {},
32
+ formData = {},
33
+ formValue = {},
34
+ form = {},
35
+ extendingFilters = {},
36
+ createDefaultValues = {},
37
+ applications = [],
38
+ }) => {
39
+ const [selectOptions, setSelectOptions] = useState();
40
+ const [activeTab, setActiveTab] = useState();
41
+
42
+ const columns = useMemo(() => getColumns({
43
+ t,
44
+ goTo,
45
+ user,
46
+ options,
47
+ activeTab,
48
+ getRedirectLink,
49
+ theme,
50
+ subject: 'incidents',
51
+ data,
52
+ applications,
53
+ }), [t, goTo, user, options, activeTab, getRedirectLink, theme, data, applications]);
54
+
55
+ const breadCrumbs = [];
56
+
57
+ const { paginationQuery, searchParams, otherParams, sortBy, sortDir } = useGetQueryParams({location});
58
+
59
+ const filters = useMemo(() => {
60
+ return {
61
+ ...otherParams,
62
+ ...extendingFilters
63
+ }
64
+ }, [otherParams, extendingFilters])
65
+
66
+ useEffect(() => {
67
+ getData({
68
+ pagination: paginationQuery,
69
+ ...(Object.keys(searchParams).length > 0 && { search: searchParams }),
70
+ ...otherParams,
71
+ tab: activeTab,
72
+ sortBy: {
73
+ [sortBy || "updatedAt"]: sortDir ? (sortDir === "ascend" ? 1 : -1) : -1,
74
+ },
75
+ ...extendingFilters
76
+ }, 'incidents')
77
+ }, [location.search, activeTab, JSON.stringify(extendingFilters)]);
78
+
79
+ const selectFiltersConfig = useMemo(() => {
80
+ return getFiltersConfig({t});
81
+ }, [t]);
82
+
83
+ useEffect(() => {
84
+ setSelectOptions((prev) => ({
85
+ ...prev,
86
+ ...getFilterOptions(options, t),
87
+ }))
88
+ }, [options, t])
89
+
90
+ const handleActiveTabChange = useCallback((value) => {
91
+ setActiveTab(value);
92
+ }, []);
93
+
94
+ return (
95
+ <TablePageWithTabs
96
+ t={t}
97
+ title={t("Incidents")}
98
+ breadCrumbs={breadCrumbs}
99
+ location={location}
100
+ loading={loading}
101
+ goTo={goTo}
102
+ defaultActiveTab={"all"}
103
+ columns={columns}
104
+ data={data}
105
+ checkboxConfig={checkboxConfig}
106
+ APP={APP}
107
+ getApiBaseUrl={getApiBaseUrl}
108
+ selectOptions={selectOptions}
109
+ selectFiltersConfig={selectFiltersConfig}
110
+ getRedirectLink={getRedirectLink}
111
+ filtersConfig={filtersConfig}
112
+ isMobile={isMobile}
113
+ view="incidents"
114
+ getActiveTab={handleActiveTabChange}
115
+ onDownload={() => {
116
+ console.log("download");
117
+ }}
118
+ drawerTitle={t("Create Incidents")}
119
+ >
120
+ {({onDrawerClose}) => (
121
+ <StakeholdersCreate
122
+ defaultData={createDefaultValues}
123
+ t={t}
124
+ goTo={goTo}
125
+ user={user}
126
+ APP={APP}
127
+ getApiBaseUrl={getApiBaseUrl}
128
+ getAppHeader={getAppHeader}
129
+ getData={getFormData}
130
+ saveData={saveFormData}
131
+ loading={formLoading}
132
+ onSubmitted={(type, m, data) => {
133
+ if (data.datastakeId) {
134
+ displayMessage(
135
+ type,
136
+ t("affirmations::subject-created-successfully") || m,
137
+ );
138
+ // goTo(`/app/edit/stakeholders/${data.datastakeId}`);
139
+ goTo(`/app/edit/incidents/${data.datastakeId}`)
140
+ }
141
+ }}
142
+ onCancel={onDrawerClose}
143
+ query={query}
144
+ ajaxForms={ajaxForms}
145
+ changeAjaxForms={changeAjaxForms}
146
+ ajaxOptions={ajaxOptions}
147
+ changeAjaxOptions={changeAjaxOptions}
148
+ formData={formData}
149
+ formValue={formValue}
150
+ form={form}
151
+ />
152
+ )}
153
+ </TablePageWithTabs>
154
+ )
155
+ }
156
+
157
+ export default IncidentsTable