datastake-daf 0.6.846 → 0.6.848
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/build/favicon.ico +0 -0
- package/build/logo192.png +0 -0
- package/build/logo512.png +0 -0
- package/build/manifest.json +25 -0
- package/build/robots.txt +3 -0
- package/dist/components/index.js +180 -4
- package/dist/hooks/index.js +4 -5
- package/dist/pages/index.js +1028 -866
- package/dist/services/index.js +11 -11
- package/dist/utils/index.js +14 -11
- package/package.json +1 -1
- package/src/@daf/core/components/Screens/TableScreen/StandardTablePage/index.jsx +108 -0
- package/src/@daf/core/components/Screens/TableScreen/TablePageWithTabs/index.jsx +9 -2
- package/src/@daf/core/components/TableScreen/TablePageWithTabs/index.jsx +13 -3
- package/src/@daf/hooks/useWidgetFetch.js +40 -34
- package/src/@daf/pages/Edit/index.jsx +3 -0
- package/src/@daf/pages/Partners/columns.js +2 -2
- package/src/@daf/pages/Partners/config.js +22 -0
- package/src/@daf/pages/Partners/hook.js +7 -11
- package/src/@daf/pages/Partners/index.jsx +128 -140
- package/src/@daf/pages/ResetPassword/index.jsx +2 -3
- package/src/@daf/pages/SelfAssesment/components/OrgInformationTable/columns.js +3 -2
- package/src/@daf/pages/TablePage/hook.js +51 -42
- package/src/@daf/pages/TablePage/index.jsx +95 -61
- package/src/@daf/{core/components/Screens → pages}/Users/columns.js +15 -10
- package/src/@daf/{core/components/Screens → pages}/Users/create.jsx +2 -1
- package/src/@daf/pages/Users/index.jsx +128 -0
- package/src/@daf/pages/View/hooks/useCallToGetData.js +5 -1
- package/src/@daf/pages/View/index.jsx +6 -3
- package/src/@daf/pages/hook.js +26 -7
- package/src/@daf/services/EventsService.js +2 -2
- package/src/@daf/services/MineSiteService.js +2 -2
- package/src/@daf/services/OperatorService.js +2 -2
- package/src/@daf/services/PartnerService.js +2 -2
- package/src/@daf/services/SourceService.js +1 -1
- package/src/@daf/services/WorkersService.js +2 -2
- package/src/@daf/utils/timeFilterUtils.js +250 -233
- package/src/constants/locales/fr/translation.js +14 -11
- package/src/index.js +1 -1
- package/src/pages.js +1 -1
- package/src/@daf/core/components/Screens/Users/index.jsx +0 -173
- /package/src/@daf/{core/components/Screens → pages}/Users/config.js +0 -0
|
@@ -1,16 +1,21 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Modal, Tag, Typography, message ,Tooltip} from "antd";
|
|
3
3
|
|
|
4
|
-
import { renderDateFormatted } from '
|
|
5
|
-
import MoreMenu from '
|
|
4
|
+
import { renderDateFormatted } from '../../../helpers/Forms.js';
|
|
5
|
+
import MoreMenu from '../../core/components/Table/MoreMenu/index.jsx';
|
|
6
6
|
|
|
7
|
-
export const getColumns = ({
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
7
|
+
export const getColumns = ({
|
|
8
|
+
t,
|
|
9
|
+
goTo,
|
|
10
|
+
user,
|
|
11
|
+
removeUser = () => {},
|
|
12
|
+
resendInvite = () => {},
|
|
13
|
+
setUserToEdit = () => {},
|
|
14
|
+
userRoles = [],
|
|
15
|
+
company = {},
|
|
16
|
+
canCreate = false,
|
|
17
|
+
APP
|
|
18
|
+
}) => [
|
|
14
19
|
// {
|
|
15
20
|
// dataIndex: 'datastakeId',
|
|
16
21
|
// title: t('ID'),
|
|
@@ -172,7 +177,7 @@ app}) => [
|
|
|
172
177
|
onClick: () => {
|
|
173
178
|
if (location.pathname.includes(`/${APP}`)) {
|
|
174
179
|
navigator.clipboard.writeText(
|
|
175
|
-
`${window.location.host}/${
|
|
180
|
+
`${window.location.host}/${APP}/r/${company.inviteToken}/${all.invitationToken}`,
|
|
176
181
|
);
|
|
177
182
|
} else {
|
|
178
183
|
navigator.clipboard.writeText(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { useMemo } from 'react'
|
|
2
2
|
import { getUserForm } from './config.js';
|
|
3
|
-
import DynamicForm from '
|
|
3
|
+
import DynamicForm from '../../core/components/DynamicForm/index.jsx';
|
|
4
4
|
|
|
5
5
|
const UsersCreate = ({
|
|
6
6
|
onSubmitted = () => {},
|
|
@@ -54,6 +54,7 @@ const UsersCreate = ({
|
|
|
54
54
|
},
|
|
55
55
|
},
|
|
56
56
|
});
|
|
57
|
+
onCancel()
|
|
57
58
|
}}
|
|
58
59
|
/>
|
|
59
60
|
</div>
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import React, { useMemo, useState, useEffect } from 'react'
|
|
2
|
+
import { Drawer } from 'antd'
|
|
3
|
+
import { getColumns } from './columns.js';
|
|
4
|
+
import { checkboxConfig, getFiltersConfig, filtersConfig, getFilterOptions } from './config.js';
|
|
5
|
+
import UsersCreate from './create.jsx';
|
|
6
|
+
import TablePage from '../TablePage/index.jsx';
|
|
7
|
+
import { CREATE_DRAWER_WIDTH } from '../../../helpers/Forms.js';
|
|
8
|
+
import DrawerHeader from '../../core/components/Header/DrawerHeader/index.jsx';
|
|
9
|
+
|
|
10
|
+
const UsersTable = ({
|
|
11
|
+
t = () => {},
|
|
12
|
+
goTo = () => {},
|
|
13
|
+
user = {},
|
|
14
|
+
options = {},
|
|
15
|
+
getRedirectLink = () => {},
|
|
16
|
+
theme = {},
|
|
17
|
+
loading = false,
|
|
18
|
+
data = {},
|
|
19
|
+
isMobile,
|
|
20
|
+
APP,
|
|
21
|
+
location,
|
|
22
|
+
getData = () => {},
|
|
23
|
+
getApiBaseUrl = () => {},
|
|
24
|
+
getAppHeader = () => {},
|
|
25
|
+
onInviteUser = () => {},
|
|
26
|
+
onEditUser = () => {},
|
|
27
|
+
query = {},
|
|
28
|
+
ajaxForms = {},
|
|
29
|
+
changeAjaxForms = () => {},
|
|
30
|
+
ajaxOptions = {},
|
|
31
|
+
changeAjaxOptions = () => {},
|
|
32
|
+
extendingFilters = {},
|
|
33
|
+
userRoles = [],
|
|
34
|
+
breadCrumbs = []
|
|
35
|
+
}) => {
|
|
36
|
+
const [selectOptions, setSelectOptions] = useState();
|
|
37
|
+
const params = new URLSearchParams(location?.search);
|
|
38
|
+
const [openCreateModal, setOpenCreateModal] = useState(params.has("create"));
|
|
39
|
+
const [userToEdit, setUserToEdit] = useState(null);
|
|
40
|
+
|
|
41
|
+
const columns = useMemo(() => getColumns({
|
|
42
|
+
t,
|
|
43
|
+
goTo,
|
|
44
|
+
user,
|
|
45
|
+
options,
|
|
46
|
+
getRedirectLink,
|
|
47
|
+
theme,
|
|
48
|
+
subject: 'user',
|
|
49
|
+
data,
|
|
50
|
+
setUserToEdit,
|
|
51
|
+
APP,
|
|
52
|
+
}), [t, goTo, user, options, getRedirectLink, theme, data]);
|
|
53
|
+
|
|
54
|
+
const selectFiltersConfig = useMemo(() => getFiltersConfig({ t }), [t]);
|
|
55
|
+
|
|
56
|
+
useEffect(() => {
|
|
57
|
+
setSelectOptions((prev) => ({
|
|
58
|
+
...prev,
|
|
59
|
+
...getFilterOptions(options, t),
|
|
60
|
+
}));
|
|
61
|
+
}, [options, t]);
|
|
62
|
+
|
|
63
|
+
const customCreate = ({ onDrawerClose }) => {
|
|
64
|
+
return (
|
|
65
|
+
<UsersCreate
|
|
66
|
+
t={t}
|
|
67
|
+
goTo={goTo}
|
|
68
|
+
user={user}
|
|
69
|
+
APP={APP}
|
|
70
|
+
getApiBaseUrl={getApiBaseUrl}
|
|
71
|
+
getAppHeader={getAppHeader}
|
|
72
|
+
onSubmitted={(payload) => {
|
|
73
|
+
if (userToEdit) {
|
|
74
|
+
onEditUser(payload);
|
|
75
|
+
} else {
|
|
76
|
+
onInviteUser(payload);
|
|
77
|
+
}
|
|
78
|
+
onDrawerClose()
|
|
79
|
+
}}
|
|
80
|
+
onCancel={() => {
|
|
81
|
+
onDrawerClose()
|
|
82
|
+
}}
|
|
83
|
+
query={query}
|
|
84
|
+
ajaxForms={ajaxForms}
|
|
85
|
+
changeAjaxForms={changeAjaxForms}
|
|
86
|
+
ajaxOptions={ajaxOptions}
|
|
87
|
+
changeAjaxOptions={changeAjaxOptions}
|
|
88
|
+
userRoles={userRoles}
|
|
89
|
+
userToEdit={userToEdit}
|
|
90
|
+
/>
|
|
91
|
+
)
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
return (
|
|
95
|
+
<TablePage
|
|
96
|
+
t={t}
|
|
97
|
+
goTo={goTo}
|
|
98
|
+
user={user}
|
|
99
|
+
options={options}
|
|
100
|
+
getRedirectLink={getRedirectLink}
|
|
101
|
+
theme={theme}
|
|
102
|
+
loading={loading}
|
|
103
|
+
data={data}
|
|
104
|
+
isMobile={isMobile}
|
|
105
|
+
APP={APP}
|
|
106
|
+
location={location}
|
|
107
|
+
getData={getData}
|
|
108
|
+
getApiBaseUrl={getApiBaseUrl}
|
|
109
|
+
getAppHeader={getAppHeader}
|
|
110
|
+
extendingFilters={extendingFilters}
|
|
111
|
+
subject="users"
|
|
112
|
+
breadcrumbs={breadCrumbs}
|
|
113
|
+
headerInfo={{
|
|
114
|
+
title: "users",
|
|
115
|
+
createTitle: "New User"
|
|
116
|
+
}}
|
|
117
|
+
noTabs={true}
|
|
118
|
+
customCreate={customCreate}
|
|
119
|
+
customColumns={columns}
|
|
120
|
+
customCheckboxConfig={checkboxConfig}
|
|
121
|
+
customFiltersConfig={filtersConfig}
|
|
122
|
+
customSelectFiltersConfig={selectFiltersConfig}
|
|
123
|
+
externalOpenDrawer={!!userToEdit}
|
|
124
|
+
/>
|
|
125
|
+
);
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
export default UsersTable;
|
|
@@ -14,10 +14,14 @@ export const useCallToGetData = ({
|
|
|
14
14
|
user,
|
|
15
15
|
setLoading,
|
|
16
16
|
APP,
|
|
17
|
+
selectedPartners,
|
|
17
18
|
}) => {
|
|
18
19
|
const isFirstRender = useRef(true);
|
|
19
20
|
|
|
20
21
|
const callToGetData = (_doCall = false) => {
|
|
22
|
+
if (selectedPartners?.loading) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
21
25
|
const dKey = namespaceConfig?.dataKey;
|
|
22
26
|
const nKey = `${APP}-${getNkey(namespace || "")}`;
|
|
23
27
|
const doCall = _doCall
|
|
@@ -38,7 +42,7 @@ export const useCallToGetData = ({
|
|
|
38
42
|
return;
|
|
39
43
|
}
|
|
40
44
|
callToGetData(true);
|
|
41
|
-
|
|
45
|
+
}, [source, version, selectedPartners?.partners]);
|
|
42
46
|
|
|
43
47
|
useEffect(() => {
|
|
44
48
|
callToGetData(true);
|
|
@@ -16,6 +16,7 @@ import Records from '../../../@daf/core/components/ViewForm/components/Records/i
|
|
|
16
16
|
import { Template } from '../Template/index.jsx'
|
|
17
17
|
import {message} from 'antd'
|
|
18
18
|
import { handleError } from '../../services/ErrorService.js'
|
|
19
|
+
|
|
19
20
|
const View = ({
|
|
20
21
|
push,
|
|
21
22
|
getRedirectLink,
|
|
@@ -33,6 +34,7 @@ const View = ({
|
|
|
33
34
|
APP,
|
|
34
35
|
viewConfig,
|
|
35
36
|
partners,
|
|
37
|
+
selectedPartners,
|
|
36
38
|
setSelectedPartners,
|
|
37
39
|
user,
|
|
38
40
|
serviceMap,
|
|
@@ -196,7 +198,7 @@ const View = ({
|
|
|
196
198
|
...(namespaceConfig?.scope && { scope: namespaceConfig.scope }),
|
|
197
199
|
datastakeId: id ? id : 'user',
|
|
198
200
|
version,
|
|
199
|
-
source,
|
|
201
|
+
sources: source || selectedPartners?.partners,
|
|
200
202
|
})
|
|
201
203
|
}
|
|
202
204
|
}
|
|
@@ -212,7 +214,8 @@ const View = ({
|
|
|
212
214
|
version,
|
|
213
215
|
user,
|
|
214
216
|
setLoading,
|
|
215
|
-
APP
|
|
217
|
+
APP,
|
|
218
|
+
selectedPartners,
|
|
216
219
|
})
|
|
217
220
|
|
|
218
221
|
const extraLinking = useMemo(() => {
|
|
@@ -249,7 +252,7 @@ const View = ({
|
|
|
249
252
|
<>
|
|
250
253
|
<div className={"daf-view-form"}>
|
|
251
254
|
<Header
|
|
252
|
-
title={(namespace === 'kyc' ?
|
|
255
|
+
title={(namespace === 'kyc' ? `${user?.firstName} ${user?.lastName} - KYC` : data?.name) || ""}
|
|
253
256
|
breadcrumbs={breadcrumbs}
|
|
254
257
|
goBackTo={goBack}
|
|
255
258
|
actionButtons={actionButtons}
|
package/src/@daf/pages/hook.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useEffect } from "react";
|
|
1
|
+
import { useEffect, useRef } from "react";
|
|
2
2
|
import { useGetQueryParams } from "../hooks/useGetQueryParams";
|
|
3
3
|
|
|
4
4
|
export const useFetchData = ({
|
|
@@ -7,8 +7,12 @@ export const useFetchData = ({
|
|
|
7
7
|
activeTab,
|
|
8
8
|
extendingFilters,
|
|
9
9
|
subject,
|
|
10
|
+
refetchTrigger,
|
|
10
11
|
}) => {
|
|
11
12
|
const { paginationQuery, searchParams, otherParams, sortBy, sortDir, } = useGetQueryParams({location});
|
|
13
|
+
|
|
14
|
+
const prevParamsRef = useRef();
|
|
15
|
+
|
|
12
16
|
useEffect(() => {
|
|
13
17
|
const cleanSearchParams = Object.fromEntries(
|
|
14
18
|
Object.entries(searchParams).filter(([_, value]) => value != null && value !== '')
|
|
@@ -20,15 +24,30 @@ export const useFetchData = ({
|
|
|
20
24
|
return;
|
|
21
25
|
}
|
|
22
26
|
|
|
23
|
-
|
|
27
|
+
const extendingSortKey = extendingFilters?.sortBy ? Object.keys(extendingFilters.sortBy)[0] : null;
|
|
28
|
+
const extendingSortDir = extendingFilters?.sortBy && extendingSortKey ? extendingFilters.sortBy[extendingSortKey] : null;
|
|
29
|
+
|
|
30
|
+
const currentParams = {
|
|
31
|
+
...extendingFilters,
|
|
24
32
|
pagination: paginationQuery,
|
|
25
33
|
...(Object.keys(otherParams).length > 0 && otherParams ),
|
|
26
34
|
...(Object.keys(cleanSearchParams).length > 0 && { search: cleanSearchParams }),
|
|
27
|
-
tab: activeTab,
|
|
35
|
+
...(activeTab && { tab: activeTab }),
|
|
28
36
|
sortBy: {
|
|
29
|
-
[sortBy || "updatedAt"]: sortDir ? (sortDir === "ascend" ? 1 : -1) : -1,
|
|
37
|
+
[sortBy || extendingSortKey || "updatedAt"]: sortDir ? (sortDir === "ascend" ? 1 : -1) : (extendingSortDir || -1),
|
|
30
38
|
},
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
const currentParamsString = JSON.stringify(currentParams);
|
|
42
|
+
const paramsChanged = prevParamsRef.current !== currentParamsString;
|
|
43
|
+
const shouldFetch = paramsChanged || refetchTrigger;
|
|
44
|
+
|
|
45
|
+
if (!shouldFetch) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
prevParamsRef.current = currentParamsString;
|
|
50
|
+
|
|
51
|
+
getData(currentParams, subject);
|
|
52
|
+
}, [location.search, JSON.stringify(extendingFilters), activeTab, refetchTrigger]);
|
|
34
53
|
}
|
|
@@ -37,11 +37,11 @@ class EventsService extends BaseService {
|
|
|
37
37
|
});
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
getData(id, sourceId,
|
|
40
|
+
getData(id, sourceId, sources, version) {
|
|
41
41
|
return this.apiGet({
|
|
42
42
|
isApp: true,
|
|
43
43
|
url: `/event/${id}`,
|
|
44
|
-
params: { authorId: sourceId,
|
|
44
|
+
params: { authorId: sourceId, sources, version },
|
|
45
45
|
});
|
|
46
46
|
}
|
|
47
47
|
|
|
@@ -44,11 +44,11 @@ class MineSiteService extends BaseService {
|
|
|
44
44
|
});
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
getData(id, sourceId,
|
|
47
|
+
getData(id, sourceId, sources, version) {
|
|
48
48
|
return this.apiGet({
|
|
49
49
|
url: `/location/${id}`,
|
|
50
50
|
isApp: true,
|
|
51
|
-
params: { authorId: sourceId,
|
|
51
|
+
params: { authorId: sourceId, sources, version },
|
|
52
52
|
});
|
|
53
53
|
}
|
|
54
54
|
|
|
@@ -45,11 +45,11 @@ class OperatorService extends BaseService {
|
|
|
45
45
|
});
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
getData(id, sourceId,
|
|
48
|
+
getData(id, sourceId, sources, version) {
|
|
49
49
|
return this.apiGet({
|
|
50
50
|
isApp: true,
|
|
51
51
|
url: `/stakeholder/${id}`,
|
|
52
|
-
params: { authorId: sourceId,
|
|
52
|
+
params: { authorId: sourceId, sources, version },
|
|
53
53
|
});
|
|
54
54
|
}
|
|
55
55
|
|
|
@@ -2,11 +2,11 @@ import { BaseService } from "./BaseService.js";
|
|
|
2
2
|
import { createLazyService } from "./helpers/LazyService.js";
|
|
3
3
|
|
|
4
4
|
class PartnerService extends BaseService {
|
|
5
|
-
get(
|
|
5
|
+
get(params) {
|
|
6
6
|
return this.apiGet({
|
|
7
7
|
url: "/partner",
|
|
8
8
|
isApp: true,
|
|
9
|
-
params
|
|
9
|
+
params,
|
|
10
10
|
});
|
|
11
11
|
}
|
|
12
12
|
|
|
@@ -18,11 +18,11 @@ class WorkersService extends BaseService {
|
|
|
18
18
|
params: { scope, language },
|
|
19
19
|
});
|
|
20
20
|
}
|
|
21
|
-
getData(id, sourceId,
|
|
21
|
+
getData(id, sourceId, sources, version) {
|
|
22
22
|
return this.apiGet({
|
|
23
23
|
isApp: true,
|
|
24
24
|
url: `/stakeholder/${id}`,
|
|
25
|
-
params: { authorId: sourceId, version,
|
|
25
|
+
params: { authorId: sourceId, version, sources },
|
|
26
26
|
});
|
|
27
27
|
}
|
|
28
28
|
|