datastake-daf 0.6.798 → 0.6.799
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/dist/components/index.js +3158 -985
- package/dist/context/index.js +6 -6
- package/dist/pages/index.js +252 -13
- package/dist/services/index.js +112 -9
- package/dist/utils/index.js +14 -17
- package/package.json +1 -1
- package/src/@daf/core/components/Screens/Admin/AdminDashboard/components/UserStatistics/TopContributors/hook.js +0 -1
- package/src/@daf/core/components/Screens/Admin/AdminDashboard/components/UserStatistics/TopContributors/index.jsx +1 -1
- package/src/@daf/core/components/Screens/Admin/AdminDashboard/components/UserStatistics/UserGrowth/hook.js +1 -1
- package/src/@daf/core/components/Screens/Admin/AdminDashboard/components/UserStatistics/UserGrowth/index.jsx +1 -1
- package/src/@daf/core/components/Screens/Admin/AdminModals/AddUser/index.jsx +0 -1
- package/src/@daf/core/components/Screens/Admin/AdminModals/CombineLocation/columns.js +79 -0
- package/src/@daf/core/components/Screens/Admin/AdminModals/CombineLocation/helper.js +2 -2
- package/src/@daf/core/components/Screens/Admin/AdminModals/CombineLocation/index.jsx +18 -8
- package/src/@daf/core/components/Screens/Admin/AdminModals/CombineSubjects/index.jsx +6 -6
- package/src/@daf/core/components/Screens/Admin/AdminModals/NewAccount/index.jsx +1 -1
- package/src/@daf/core/components/Screens/Admin/AdminModals/NewUser/index.jsx +61 -38
- package/src/@daf/core/components/Screens/Admin/AdminScreens/Accounts.jsx +1 -4
- package/src/@daf/core/components/Screens/Admin/AdminScreens/AccountsView.jsx +2 -0
- package/src/@daf/core/components/Screens/Admin/AdminScreens/Dashboard.jsx +2 -2
- package/src/@daf/core/components/Screens/Admin/AdminScreens/Location.jsx +6 -7
- package/src/@daf/core/components/Screens/Admin/AdminScreens/Subjects.jsx +2 -3
- package/src/@daf/core/components/Screens/Admin/AdminScreens/SubjectsView.jsx +395 -0
- package/src/@daf/core/components/Screens/Admin/AdminScreens/index.js +1 -0
- package/src/@daf/core/components/Screens/Admin/AdminTables/AccountTable/index.jsx +1 -0
- package/src/@daf/core/components/Screens/Admin/AdminTables/LocationTable/column.js +223 -0
- package/src/@daf/core/components/Screens/Admin/AdminTables/LocationTable/helper.js +65 -0
- package/src/@daf/core/components/Screens/Admin/AdminTables/LocationTable/index.jsx +73 -45
- package/src/@daf/core/components/Screens/Admin/AdminTables/SubjectsTable/columns.js +37 -37
- package/src/@daf/core/components/Screens/Admin/AdminTables/SubjectsTable/index.jsx +48 -22
- package/src/@daf/core/components/Screens/Admin/AdminTables/UserTable/index.jsx +1 -0
- package/src/@daf/core/components/Screens/Admin/AdminViews/EditLocation/configTransformer.js +137 -0
- package/src/@daf/core/components/Screens/Admin/AdminViews/EditLocation/index.js +9 -0
- package/src/@daf/core/components/Screens/Admin/AdminViews/EditLocation/index.jsx +196 -0
- package/src/@daf/core/components/Screens/Admin/AdminViews/EditStakeholder/configTransformer.js +216 -0
- package/src/@daf/core/components/Screens/Admin/AdminViews/EditStakeholder/index.js +7 -0
- package/src/@daf/core/components/Screens/Admin/AdminViews/EditStakeholder/index.jsx +184 -0
- package/src/@daf/core/components/Screens/Admin/AdminViews/ViewLocation/config.js +64 -0
- package/src/@daf/core/components/Screens/Admin/AdminViews/ViewLocation/helpers.js +13 -0
- package/src/@daf/core/components/Screens/Admin/AdminViews/ViewLocation/index.jsx +77 -0
- package/src/@daf/core/components/Screens/Admin/AdminViews/ViewStakeholder/config.js +51 -0
- package/src/@daf/core/components/Screens/Admin/AdminViews/ViewStakeholder/helpers.js +0 -0
- package/src/@daf/core/components/Screens/Admin/AdminViews/ViewStakeholder/index.jsx +75 -0
- package/src/@daf/core/components/Screens/Admin/AdminViews/components/Edit/index.jsx +7 -1
- package/src/@daf/core/components/Screens/Admin/AdminViews/components/SidebarMenu/index.jsx +5 -3
- package/src/@daf/core/components/Screens/Admin/AdminViews/components/Users/helper.js +13 -8
- package/src/@daf/core/components/Screens/Admin/AdminViews/components/Users/index.jsx +16 -10
- package/src/@daf/core/components/Screens/Admin/AdminViews/components/View/index.jsx +2 -1
- package/src/@daf/core/components/Screens/Admin/AdminViews/index.jsx +66 -26
- package/src/@daf/core/components/Screens/Admin/AppInvitation/index.jsx +193 -0
- package/src/@daf/core/components/Screens/Admin/adminRoutes.js +81 -2
- package/src/@daf/layouts/AppLayout/index.jsx +0 -1
- package/src/@daf/pages/SelfAssesment/components/AssociatedInformationTable/columns.js +180 -0
- package/src/@daf/pages/SelfAssesment/components/AssociatedInformationTable/config.js +0 -0
- package/src/@daf/pages/SelfAssesment/components/AssociatedInformationTable/index.jsx +27 -0
- package/src/@daf/pages/SelfAssesment/components/OrgInformationTable/columns.js +157 -0
- package/src/@daf/pages/SelfAssesment/components/OrgInformationTable/config.js +31 -0
- package/src/@daf/pages/SelfAssesment/components/OrgInformationTable/index.js +77 -0
- package/src/@daf/pages/SelfAssesment/components/ProductionSiteTable/columns.js +117 -0
- package/src/@daf/pages/SelfAssesment/components/ProductionSiteTable/index.jsx +54 -0
- package/src/@daf/pages/SelfAssesment/index.jsx +0 -0
- package/src/@daf/pages/View/hooks/usePrepareForm.js +11 -1
- package/src/@daf/pages/View/index.jsx +13 -2
- package/src/@daf/services/AdminService.js +111 -7
- package/src/@daf/services/AuthenticationService.js +1 -0
- package/src/@daf/services/DashboardService.js +2 -1
- package/src/@daf/utils/filters.js +15 -13
- package/src/constants/locales/en/translation.js +7 -0
- package/src/constants/locales/fr/translation.js +1 -1
- package/src/constants/locales/sp/translation.js +1 -1
- package/src/index.js +1 -0
- package/build/favicon.ico +0 -0
- package/build/logo192.png +0 -0
- package/build/logo512.png +0 -0
- package/build/manifest.json +0 -25
- package/build/robots.txt +0 -3
|
@@ -5,6 +5,7 @@ import AdminAccountsScreen from "./AdminScreens/Accounts.jsx";
|
|
|
5
5
|
import AdminAccountsViewScreen from "./AdminScreens/AccountsView.jsx";
|
|
6
6
|
import AdminSubjectsScreen from "./AdminScreens/Subjects.jsx";
|
|
7
7
|
import AdminLocationScreen from "./AdminScreens/Location.jsx";
|
|
8
|
+
import AdminSubjectsViewScreen from "./AdminScreens/SubjectsView.jsx";
|
|
8
9
|
|
|
9
10
|
export function getAdminRoutes(config) {
|
|
10
11
|
const {
|
|
@@ -15,6 +16,8 @@ export function getAdminRoutes(config) {
|
|
|
15
16
|
useAdminAccountsViewConfig,
|
|
16
17
|
useAdminSubjectsConfig,
|
|
17
18
|
useAdminLocationConfig,
|
|
19
|
+
useAdminSubjectsViewConfig,
|
|
20
|
+
useAdminLocationViewConfig,
|
|
18
21
|
userIsAdmin,
|
|
19
22
|
} = config;
|
|
20
23
|
|
|
@@ -56,6 +59,38 @@ export function getAdminRoutes(config) {
|
|
|
56
59
|
return <AdminLocationScreen config={locationConfig} />;
|
|
57
60
|
}
|
|
58
61
|
|
|
62
|
+
function LocationViewWrapper() {
|
|
63
|
+
const locationViewConfig =
|
|
64
|
+
typeof useAdminLocationViewConfig === "function"
|
|
65
|
+
? useAdminLocationViewConfig()
|
|
66
|
+
: undefined;
|
|
67
|
+
return <AdminSubjectsViewScreen config={{ ...locationViewConfig, subject: "location" }} />;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
function StakeholderViewWrapper() {
|
|
71
|
+
const stakeholderViewConfig =
|
|
72
|
+
typeof useAdminSubjectsViewConfig === "function"
|
|
73
|
+
? useAdminSubjectsViewConfig()
|
|
74
|
+
: undefined;
|
|
75
|
+
return <AdminSubjectsViewScreen config={{ ...stakeholderViewConfig, subject: "stakeholder" }} />;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
function LocationEditWrapper() {
|
|
79
|
+
const locationViewConfig =
|
|
80
|
+
typeof useAdminLocationViewConfig === "function"
|
|
81
|
+
? useAdminLocationViewConfig()
|
|
82
|
+
: undefined;
|
|
83
|
+
return <AdminSubjectsViewScreen config={{ ...locationViewConfig, subject: "location", mode: "edit" }} />;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
function StakeholderEditWrapper() {
|
|
87
|
+
const stakeholderViewConfig =
|
|
88
|
+
typeof useAdminSubjectsViewConfig === "function"
|
|
89
|
+
? useAdminSubjectsViewConfig()
|
|
90
|
+
: undefined;
|
|
91
|
+
return <AdminSubjectsViewScreen config={{ ...stakeholderViewConfig, subject: "stakeholder", mode: "edit" }} />;
|
|
92
|
+
}
|
|
93
|
+
|
|
59
94
|
const subjectsIndexComponent =
|
|
60
95
|
typeof useAdminLocationConfig === "function"
|
|
61
96
|
? <LocationWrapper />
|
|
@@ -104,7 +139,7 @@ export function getAdminRoutes(config) {
|
|
|
104
139
|
...(typeof useAdminLocationConfig === "function"
|
|
105
140
|
? [
|
|
106
141
|
{
|
|
107
|
-
path: "subjects/location",
|
|
142
|
+
path: "management/subjects/location",
|
|
108
143
|
key: `${APP_PREFIX}_ADMIN_SUBJECTS_LOCATIONS`,
|
|
109
144
|
exact: true,
|
|
110
145
|
visible: (user) => userIsAdmin(user),
|
|
@@ -115,7 +150,7 @@ export function getAdminRoutes(config) {
|
|
|
115
150
|
...(typeof useAdminSubjectsConfig === "function"
|
|
116
151
|
? [
|
|
117
152
|
{
|
|
118
|
-
path: "subjects/stakeholder",
|
|
153
|
+
path: "management/subjects/stakeholder",
|
|
119
154
|
key: `${APP_PREFIX}_ADMIN_SUBJECTS_STAKEHOLDERS`,
|
|
120
155
|
exact: true,
|
|
121
156
|
visible: (user) => userIsAdmin(user),
|
|
@@ -123,6 +158,50 @@ export function getAdminRoutes(config) {
|
|
|
123
158
|
},
|
|
124
159
|
]
|
|
125
160
|
: []),
|
|
161
|
+
...(typeof useAdminLocationViewConfig === "function"
|
|
162
|
+
? [
|
|
163
|
+
// {
|
|
164
|
+
// path: "view/management-location/:id",
|
|
165
|
+
// key: `${APP_PREFIX}_ADMIN_LOCATION_VIEW`,
|
|
166
|
+
// exact: true,
|
|
167
|
+
// visible: (user) => userIsAdmin(user),
|
|
168
|
+
// component: <LocationViewWrapper />,
|
|
169
|
+
// },
|
|
170
|
+
]
|
|
171
|
+
: []),
|
|
172
|
+
...(typeof useAdminSubjectsViewConfig === "function"
|
|
173
|
+
? [
|
|
174
|
+
{
|
|
175
|
+
path: "view/management-stakeholder/:id",
|
|
176
|
+
key: `${APP_PREFIX}_ADMIN_STAKEHOLDER_VIEW`,
|
|
177
|
+
exact: true,
|
|
178
|
+
visible: (user) => userIsAdmin(user),
|
|
179
|
+
component: <StakeholderViewWrapper />,
|
|
180
|
+
},
|
|
181
|
+
]
|
|
182
|
+
: []),
|
|
183
|
+
...(typeof useAdminLocationViewConfig === "function"
|
|
184
|
+
? [
|
|
185
|
+
{
|
|
186
|
+
path: "edit/management-location/:id",
|
|
187
|
+
key: `${APP_PREFIX}_ADMIN_LOCATION_EDIT`,
|
|
188
|
+
exact: true,
|
|
189
|
+
visible: (user) => userIsAdmin(user),
|
|
190
|
+
component: <LocationEditWrapper />,
|
|
191
|
+
},
|
|
192
|
+
]
|
|
193
|
+
: []),
|
|
194
|
+
...(typeof useAdminSubjectsViewConfig === "function"
|
|
195
|
+
? [
|
|
196
|
+
{
|
|
197
|
+
path: "edit/management-stakeholder/:id",
|
|
198
|
+
key: `${APP_PREFIX}_ADMIN_STAKEHOLDER_EDIT`,
|
|
199
|
+
exact: true,
|
|
200
|
+
visible: (user) => userIsAdmin(user),
|
|
201
|
+
component: <StakeholderEditWrapper />,
|
|
202
|
+
},
|
|
203
|
+
]
|
|
204
|
+
: []),
|
|
126
205
|
];
|
|
127
206
|
|
|
128
207
|
return routes;
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Tooltip } from 'antd';
|
|
3
|
+
import { findOptions, getLinkValue } 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
|
+
import MoreMenu from '../../../core/components/Table/MoreMenu/index.jsx';
|
|
9
|
+
import MoreOptions from '../../../core/components/Table/MoreOptions/index.jsx';
|
|
10
|
+
import { renderStatusTag } from '../../../utils/tags.js';
|
|
11
|
+
|
|
12
|
+
export const getColumns = ({t, goTo, user, options, activeTab, getRedirectLink, theme, subject, data, applications}) => [
|
|
13
|
+
{
|
|
14
|
+
dataIndex: 'datastakeId',
|
|
15
|
+
title: t('ID'),
|
|
16
|
+
ellipsis: true,
|
|
17
|
+
show: true,
|
|
18
|
+
render: (v, all) => {
|
|
19
|
+
if (all.empty) {
|
|
20
|
+
return <div className="daf-default-cell" />
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
return <Tooltip title={v}>{v}</Tooltip>;
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
dataIndex: 'name',
|
|
28
|
+
title: t('Name'),
|
|
29
|
+
ellipsis: true,
|
|
30
|
+
show: true,
|
|
31
|
+
render: (v, all) => {
|
|
32
|
+
if (all.empty) {
|
|
33
|
+
return <div className="daf-default-cell" />
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
return <Tooltip title={v}>{v}</Tooltip>;
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
dataIndex: 'category',
|
|
41
|
+
title: t('Category'),
|
|
42
|
+
ellipsis: true,
|
|
43
|
+
show: true,
|
|
44
|
+
render: (v, all) => {
|
|
45
|
+
if (all.empty) {
|
|
46
|
+
return <div className="daf-default-cell" />
|
|
47
|
+
}
|
|
48
|
+
const category = findOptions(v, options?.locationCategories);
|
|
49
|
+
|
|
50
|
+
return <Tooltip title={category}>{category}</Tooltip>;
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
dataIndex: 'lealForm',
|
|
55
|
+
title: t('Legal Form'),
|
|
56
|
+
ellipsis: true,
|
|
57
|
+
show: true,
|
|
58
|
+
render: (v, all) => {
|
|
59
|
+
if (all.empty) {
|
|
60
|
+
return <div className="daf-default-cell" />
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
const legalForm = findOptions(v, options?.legalFormOptions);
|
|
64
|
+
|
|
65
|
+
return legalForm ? <Tooltip title={legalForm}>{legalForm}</Tooltip> : '-';
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
dataIndex: 'country',
|
|
70
|
+
title: t('Country'),
|
|
71
|
+
ellipsis: true,
|
|
72
|
+
show: true,
|
|
73
|
+
render: (v, all) => {
|
|
74
|
+
if (all.empty) {
|
|
75
|
+
return <div className="daf-default-cell" />
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
const country = findOptions(v, options?.countryOptions);
|
|
79
|
+
|
|
80
|
+
return country ? <Tooltip title={country}>{country}</Tooltip> : '-';
|
|
81
|
+
},
|
|
82
|
+
},
|
|
83
|
+
|
|
84
|
+
// {
|
|
85
|
+
// dataIndex: 'operator',
|
|
86
|
+
// title: t('Operator'),
|
|
87
|
+
// ellipsis: true,
|
|
88
|
+
// show: true,
|
|
89
|
+
// render: (v, all) => {
|
|
90
|
+
// if (all.empty) {
|
|
91
|
+
// return <div className="daf-default-cell" />
|
|
92
|
+
// }
|
|
93
|
+
|
|
94
|
+
// const operators = all?.operator?.map((operator) => operator?.locationClient?.name)?.filter(Boolean);
|
|
95
|
+
// return (operators && operators.length > 0) ? <MoreOptions data={operators || []} toolTipPlacement={operators?.length < 2 ? "topLeft" : "top"} /> : '-';
|
|
96
|
+
// },
|
|
97
|
+
// },
|
|
98
|
+
{
|
|
99
|
+
title: t("Last Update"),
|
|
100
|
+
dataIndex: "updatedAt",
|
|
101
|
+
key: "updatedAt",
|
|
102
|
+
width: 125,
|
|
103
|
+
render: (date, all) => {
|
|
104
|
+
if (all.empty) {
|
|
105
|
+
return <div className="daf-default-cell" />;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
const _date = date ? renderDateFormatted(date, "DD MMM YYYY", user?.language || 'en') : "-";
|
|
109
|
+
return <Tooltip title={_date}>{_date}</Tooltip>;
|
|
110
|
+
},
|
|
111
|
+
ellipsis: true,
|
|
112
|
+
},
|
|
113
|
+
// {
|
|
114
|
+
// title: t("Status"),
|
|
115
|
+
// dataIndex: 'status',
|
|
116
|
+
// ellipsis: true,
|
|
117
|
+
// show: activeTab == "own",
|
|
118
|
+
// render: (v, all) => {
|
|
119
|
+
// if (all.empty) {
|
|
120
|
+
// return <div className="daf-default-cell" />
|
|
121
|
+
// }
|
|
122
|
+
// const _val = all?.published || all?.status === "submitted" ? "submitted" : v;
|
|
123
|
+
|
|
124
|
+
// return renderStatusTag({ value: _val, t });
|
|
125
|
+
// },
|
|
126
|
+
// },
|
|
127
|
+
|
|
128
|
+
// {
|
|
129
|
+
// title: t("Sources"),
|
|
130
|
+
// dataIndex: 'sources',
|
|
131
|
+
// ellipsis: true,
|
|
132
|
+
// show: activeTab !== "own",
|
|
133
|
+
// render: (v, all) => {
|
|
134
|
+
// if (all.empty) {
|
|
135
|
+
// return <div className="daf-default-cell" />
|
|
136
|
+
// }
|
|
137
|
+
// const sources = sourceAvatarConfig(v, user, applications);
|
|
138
|
+
// return <AvatarGroup items={sources}></AvatarGroup>;
|
|
139
|
+
// },
|
|
140
|
+
// },
|
|
141
|
+
{
|
|
142
|
+
id: 'actions',
|
|
143
|
+
title: "",
|
|
144
|
+
width: 60,
|
|
145
|
+
render: (_, all) => {
|
|
146
|
+
if (all.empty) {
|
|
147
|
+
return <div className="daf-default-cell" />;
|
|
148
|
+
}
|
|
149
|
+
const onClick = () => {
|
|
150
|
+
let link = `/app/view/${subject}/${all.datastakeId}`;
|
|
151
|
+
if (activeTab === "shared") {
|
|
152
|
+
link += `?sourceId=${all?.authorId?.id}`;
|
|
153
|
+
}
|
|
154
|
+
goTo(getRedirectLink(link));
|
|
155
|
+
};
|
|
156
|
+
const moreMenuItems = [
|
|
157
|
+
{
|
|
158
|
+
label: t("Details"),
|
|
159
|
+
value: "details",
|
|
160
|
+
onClick: onClick,
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
label: t("Summary"),
|
|
164
|
+
value: "Summary",
|
|
165
|
+
onClick: () => {
|
|
166
|
+
let link = `/app/mine-summary/${all.datastakeId}`
|
|
167
|
+
if (activeTab === "shared") {
|
|
168
|
+
link += `?sourceId=${all?.authorId?.id}`;
|
|
169
|
+
}
|
|
170
|
+
goTo(getRedirectLink(link));
|
|
171
|
+
},
|
|
172
|
+
// disabled: true,
|
|
173
|
+
},
|
|
174
|
+
];
|
|
175
|
+
return <div >
|
|
176
|
+
<MoreMenu items={moreMenuItems} />
|
|
177
|
+
</div>;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
].filter((column) => column.show !== false);
|
|
File without changes
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React, { useState, useEffect, useRef } from 'react'
|
|
2
|
+
import TabsHeader from '../../../../core/components/Header/TabsHeader'
|
|
3
|
+
import {Widget} from '../../../../core/components/Dashboard/Widget'
|
|
4
|
+
import {getColumns} from './columns.js'
|
|
5
|
+
import {useParams} from 'react-router-dom'
|
|
6
|
+
import {DAFTable} from '../../../../core/components/Table'
|
|
7
|
+
import {useIsDatastake} from '../../../../hooks/useIsDatastake.js'
|
|
8
|
+
|
|
9
|
+
const AssociatedInformationTable = () => {
|
|
10
|
+
const tabs =[
|
|
11
|
+
{value:"stakeholders", label:"Stakeholders"},
|
|
12
|
+
{value:"locations", label:"Locations"},
|
|
13
|
+
{values:"events", label:"Events"},
|
|
14
|
+
{values:"DOcuments",label:"Documents"},
|
|
15
|
+
]
|
|
16
|
+
const [activeTab, setActiveTab] = useState("stakeholders");
|
|
17
|
+
const [data,setData]= useState({
|
|
18
|
+
stakeholders:[],
|
|
19
|
+
locations:[],
|
|
20
|
+
events:[],
|
|
21
|
+
documents:[],
|
|
22
|
+
})
|
|
23
|
+
const [_options, _setOptions] = useState({});
|
|
24
|
+
const params = useParams();
|
|
25
|
+
const { user } = useSelector((state) => state.authentication);
|
|
26
|
+
const { getRedirectLink } = useIsDatastake();
|
|
27
|
+
}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { Tooltip } from "antd";
|
|
2
|
+
import CustomIcon from "../../../../core/components/Icon/CustomIcon.jsx";
|
|
3
|
+
// import {findOptions} from "../../../../helpers/StringHelper.js";
|
|
4
|
+
import ProgressBar from "../../../../core/components/ProgressBar/index.jsx";
|
|
5
|
+
import ProgressBarSideIcon from "../../../../core/components/ProgressBar/components/SideIcon/index.jsx";
|
|
6
|
+
import { Link } from "react-router-dom";
|
|
7
|
+
import { renderDateFormatted } from "../../../../../helpers/Forms.js";
|
|
8
|
+
|
|
9
|
+
export const getColumns = ({
|
|
10
|
+
t,
|
|
11
|
+
goTo = () => {},
|
|
12
|
+
show = "show",
|
|
13
|
+
getRedirectLink = () => {},
|
|
14
|
+
token,
|
|
15
|
+
selectedSubjects,
|
|
16
|
+
setSelectedSubjects,
|
|
17
|
+
selectOptions,
|
|
18
|
+
entity,
|
|
19
|
+
}) => {
|
|
20
|
+
const cols = [
|
|
21
|
+
{
|
|
22
|
+
dataIndex: "formName",
|
|
23
|
+
title: t("form"),
|
|
24
|
+
ellipsis: true,
|
|
25
|
+
show: true,
|
|
26
|
+
render: (v, all) => {
|
|
27
|
+
if (all.empty) {
|
|
28
|
+
return <div className="daf-default-cell" />;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
const title = all?.published
|
|
32
|
+
? t("general-information")
|
|
33
|
+
: t("registration");
|
|
34
|
+
|
|
35
|
+
return <Tooltip title={title}>{title}</Tooltip>;
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
dataIndex: "completion",
|
|
40
|
+
title: t("completion"),
|
|
41
|
+
ellipsis: true,
|
|
42
|
+
show: !isMonitoring,
|
|
43
|
+
render: (v, all) => {
|
|
44
|
+
if (all.empty) {
|
|
45
|
+
return <div className="daf-default-cell" />;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
const submittedStages = ["evaluation", "planning", "improvement"];
|
|
49
|
+
|
|
50
|
+
const step1Stage = data?.stepStages?.["step-1"];
|
|
51
|
+
const step2Stage = data?.stepStages?.["step-2"];
|
|
52
|
+
const isSubmitted =
|
|
53
|
+
data?.published &&
|
|
54
|
+
submittedStages.includes(step1Stage) &&
|
|
55
|
+
submittedStages.includes(step2Stage);
|
|
56
|
+
|
|
57
|
+
return (
|
|
58
|
+
<div style={{ display: "flex", alignItems: "center", gap: "5px" }}>
|
|
59
|
+
<ProgressBar
|
|
60
|
+
tooltipTitle={isSubmitted && t("Submitted")}
|
|
61
|
+
style={{ width: "100%" }}
|
|
62
|
+
percentage={v || 0}
|
|
63
|
+
isSubmitted={isSubmitted}
|
|
64
|
+
></ProgressBar>
|
|
65
|
+
{isSubmitted ? (
|
|
66
|
+
<ProgressBarSideIcon size={16} iconSize={10} />
|
|
67
|
+
) : (
|
|
68
|
+
<span>{v || 0}%</span>
|
|
69
|
+
)}
|
|
70
|
+
</div>
|
|
71
|
+
);
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
dataIndex: "monitoring",
|
|
76
|
+
title: t("Monitoring"),
|
|
77
|
+
ellipsis: true,
|
|
78
|
+
show: isMonitoring,
|
|
79
|
+
render: (v, all) => {
|
|
80
|
+
if (all.empty) {
|
|
81
|
+
return <div className="daf-default-cell" />;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
return <Tooltip title={v || 0}>{v || 0}</Tooltip>;
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
dataIndex: "lastUpdate",
|
|
89
|
+
title: t("Last Update"),
|
|
90
|
+
ellipsis: true,
|
|
91
|
+
show: true,
|
|
92
|
+
render: (_v, all) => {
|
|
93
|
+
if (all.empty) {
|
|
94
|
+
return <div className="daf-default-cell" />;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
const v = _v
|
|
98
|
+
? renderDateFormatted(_v, "DD MMM YYYY", user?.language || "en")
|
|
99
|
+
: "-";
|
|
100
|
+
|
|
101
|
+
return <Tooltip title={v}>{v}</Tooltip>;
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
dataIndex: "action",
|
|
106
|
+
title: "",
|
|
107
|
+
width: 60,
|
|
108
|
+
show: true,
|
|
109
|
+
render: (_, all) => {
|
|
110
|
+
if (all.empty) {
|
|
111
|
+
return <div className="daf-default-cell" />;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
let link = `/app/mines/${all.datastakeId}/${all?.key?.toLowerCase()}`;
|
|
115
|
+
|
|
116
|
+
if (all?.key.includes("monitoring")) {
|
|
117
|
+
return (
|
|
118
|
+
<Link to={getRedirectLink(link)}>
|
|
119
|
+
<CustomIcon name="Link" width={18} height={18} />
|
|
120
|
+
</Link>
|
|
121
|
+
);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
if (all?.key.includes("identification")) {
|
|
125
|
+
link = `/app/view/location/${all.datastakeId}`;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
const stage = data?.stage;
|
|
129
|
+
const key = all?.key;
|
|
130
|
+
let isDisabled = false;
|
|
131
|
+
|
|
132
|
+
if (
|
|
133
|
+
(stage === "evaluation" && (key === "improvement" || key === "planning")) ||
|
|
134
|
+
(stage === "planning" && key === "improvement") ||
|
|
135
|
+
(!["evaluation", "planning", "improvement"].includes(stage) &&
|
|
136
|
+
key !== "identification")
|
|
137
|
+
) {
|
|
138
|
+
isDisabled = true;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
return <div style={{ display: "flex", justifyContent: "center" }}>
|
|
142
|
+
{isDisabled ? (
|
|
143
|
+
<span style={{ cursor: "not-allowed", opacity: 0.5 }}>
|
|
144
|
+
<CustomIcon name="Link" width={18} height={18} />
|
|
145
|
+
</span>
|
|
146
|
+
) : (
|
|
147
|
+
<Link to={getRedirectLink(link)}>
|
|
148
|
+
<CustomIcon name="Link" width={18} height={18} />
|
|
149
|
+
</Link>
|
|
150
|
+
)}
|
|
151
|
+
</div>;
|
|
152
|
+
},
|
|
153
|
+
},
|
|
154
|
+
]
|
|
155
|
+
|
|
156
|
+
return cols.filter((c) => c[show]);
|
|
157
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export const getFiltersConfig = ({t}) => {
|
|
2
|
+
return {
|
|
3
|
+
timeframe: {
|
|
4
|
+
type: "timeframe",
|
|
5
|
+
label: "Timeframe",
|
|
6
|
+
style: { flex: 1 },
|
|
7
|
+
},
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export const getFilterOptions = (options, t) => {
|
|
12
|
+
const { timeframe = [] } = options || {};
|
|
13
|
+
const _default = {
|
|
14
|
+
timeframe: timeframe,
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
return _default;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export const formConfig = {
|
|
21
|
+
namespace: 'organisation',
|
|
22
|
+
view: 'information',
|
|
23
|
+
scope: 'create',
|
|
24
|
+
formType: 'organisation',
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export const viewConfig = {
|
|
28
|
+
title: "Organisations",
|
|
29
|
+
createTitle: "Create Organisation",
|
|
30
|
+
}
|
|
31
|
+
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import TablePage from "../../../TablePage/index.jsx";
|
|
3
|
+
|
|
4
|
+
const OrganisationInformationTable = ({
|
|
5
|
+
t = () => {},
|
|
6
|
+
goTo = () => {},
|
|
7
|
+
user = {},
|
|
8
|
+
options = {},
|
|
9
|
+
getRedirectLink = () => {},
|
|
10
|
+
theme = {},
|
|
11
|
+
loading = false,
|
|
12
|
+
data = {},
|
|
13
|
+
isMobile,
|
|
14
|
+
APP,
|
|
15
|
+
location,
|
|
16
|
+
getData = () => {},
|
|
17
|
+
getApiBaseUrl = () => {},
|
|
18
|
+
getAppHeader = () => {},
|
|
19
|
+
getFormData = () => {},
|
|
20
|
+
saveFormData = () => {},
|
|
21
|
+
formLoading = false,
|
|
22
|
+
query = {},
|
|
23
|
+
ajaxForms = {},
|
|
24
|
+
changeAjaxForms = () => {},
|
|
25
|
+
ajaxOptions = {},
|
|
26
|
+
changeAjaxOptions = () => {},
|
|
27
|
+
formData = {},
|
|
28
|
+
formValue = {},
|
|
29
|
+
form = {},
|
|
30
|
+
applications = [],
|
|
31
|
+
subjectClear = () => {},
|
|
32
|
+
breadcrumbs = [],
|
|
33
|
+
extendingFilters = {},
|
|
34
|
+
createDefaultValues = {},
|
|
35
|
+
}) => {
|
|
36
|
+
return (
|
|
37
|
+
<TablePage
|
|
38
|
+
t={t}
|
|
39
|
+
goTo={goTo}
|
|
40
|
+
user={user}
|
|
41
|
+
options={options}
|
|
42
|
+
getRedirectLink={getRedirectLink}
|
|
43
|
+
theme={theme}
|
|
44
|
+
loading={loading}
|
|
45
|
+
data={data}
|
|
46
|
+
isMobile={isMobile}
|
|
47
|
+
APP={APP}
|
|
48
|
+
location={location}
|
|
49
|
+
applications={applications}
|
|
50
|
+
|
|
51
|
+
subject="organisations"
|
|
52
|
+
getData={getData}
|
|
53
|
+
getApiBaseUrl={getApiBaseUrl}
|
|
54
|
+
getAppHeader={getAppHeader}
|
|
55
|
+
subjectClear={subjectClear}
|
|
56
|
+
extendingFilters={extendingFilters}
|
|
57
|
+
breadcrumbs={breadcrumbs}
|
|
58
|
+
|
|
59
|
+
formConfig={{
|
|
60
|
+
getFormData,
|
|
61
|
+
saveFormData,
|
|
62
|
+
formLoading,
|
|
63
|
+
query,
|
|
64
|
+
ajaxForms,
|
|
65
|
+
changeAjaxForms,
|
|
66
|
+
ajaxOptions,
|
|
67
|
+
changeAjaxOptions,
|
|
68
|
+
formData,
|
|
69
|
+
formValue,
|
|
70
|
+
form,
|
|
71
|
+
}}
|
|
72
|
+
defaultValues={createDefaultValues}
|
|
73
|
+
/>
|
|
74
|
+
);
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
export default OrganisationInformationTable;
|