datastake-daf 0.6.813 → 0.6.814

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 (56) 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/components/index.js +3056 -4315
  7. package/dist/hooks/index.js +4 -11
  8. package/dist/layouts/index.js +478 -464
  9. package/dist/pages/index.js +490 -576
  10. package/dist/services/index.js +6 -56
  11. package/dist/style/datastake/mapbox-gl.css +330 -0
  12. package/dist/utils/index.js +483 -492
  13. package/package.json +1 -1
  14. package/src/@daf/core/components/AuthForm/index.jsx +3 -12
  15. package/src/@daf/core/components/Icon/configs/index.js +3 -1
  16. package/src/@daf/core/components/Screens/Admin/AdminDashboard/components/UserStatistics/TopContributors/index.jsx +1 -0
  17. package/src/@daf/core/components/Screens/Admin/AdminDashboard/components/UserStatistics/UserGrowth/hook.js +1 -0
  18. package/src/@daf/core/components/Screens/Admin/AdminDashboard/components/UserStatistics/UserGrowth/index.jsx +3 -1
  19. package/src/@daf/core/components/Screens/Admin/AdminModals/CombineLocation/index.jsx +51 -51
  20. package/src/@daf/core/components/Screens/Admin/AdminModals/CombineSubjects/index.jsx +1 -6
  21. package/src/@daf/core/components/Screens/Admin/AdminModals/NewAccount/index.jsx +31 -56
  22. package/src/@daf/core/components/Screens/Admin/AdminModals/NewUser/index.jsx +10 -36
  23. package/src/@daf/core/components/Screens/Admin/AdminModals/TransferRights/index.jsx +1 -1
  24. package/src/@daf/core/components/Screens/Admin/AdminScreens/Accounts.jsx +10 -37
  25. package/src/@daf/core/components/Screens/Admin/AdminScreens/Dashboard.jsx +2 -2
  26. package/src/@daf/core/components/Screens/Admin/AdminScreens/index.js +0 -2
  27. package/src/@daf/core/components/Screens/Admin/AdminTables/AccountTable/helper.js +30 -22
  28. package/src/@daf/core/components/Screens/Admin/AdminTables/AccountTable/index.jsx +13 -25
  29. package/src/@daf/core/components/Screens/Admin/AdminTables/LocationTable/index.jsx +2 -17
  30. package/src/@daf/core/components/Screens/Admin/AdminTables/SubjectsTable/index.jsx +13 -27
  31. package/src/@daf/core/components/Screens/Admin/AdminTables/UserTable/index.jsx +1 -0
  32. package/src/@daf/core/components/Screens/Admin/AdminTables/components/index.jsx +2 -4
  33. package/src/@daf/core/components/Screens/Admin/AdminTables/hook.js +0 -3
  34. package/src/@daf/core/components/Screens/Admin/AdminViews/components/Edit/index.jsx +9 -12
  35. package/src/@daf/core/components/Screens/Admin/AdminViews/components/Users/index.jsx +4 -16
  36. package/src/@daf/core/components/Screens/Admin/AdminViews/components/View/helpers.js +17 -9
  37. package/src/@daf/core/components/Screens/Admin/AdminViews/index.jsx +8 -9
  38. package/src/@daf/core/components/Screens/Admin/AppInvitation/index.jsx +99 -124
  39. package/src/@daf/core/components/Screens/Admin/adminRoutes.js +1 -48
  40. package/src/@daf/hooks/useAdminDashboard.js +4 -7
  41. package/src/@daf/pages/View/hooks/useViewActions.js +0 -13
  42. package/src/@daf/pages/View/hooks/useViewPermissions.js +0 -16
  43. package/src/@daf/pages/View/index.jsx +4 -29
  44. package/src/@daf/services/AdminService.js +5 -47
  45. package/src/@daf/services/DashboardService.js +3 -3
  46. package/src/@daf/utils/filters.js +15 -13
  47. package/src/constants/locales/en/translation.js +0 -13
  48. package/src/helpers/copyToClipboard.js +0 -60
  49. package/src/@daf/core/components/Screens/Admin/AdminScreens/Documents.jsx +0 -81
  50. package/src/@daf/core/components/Screens/Admin/AdminScreens/Events.jsx +0 -77
  51. package/src/@daf/core/components/Screens/Admin/AdminTables/DocumentsTable/column.js +0 -127
  52. package/src/@daf/core/components/Screens/Admin/AdminTables/DocumentsTable/helper.js +0 -43
  53. package/src/@daf/core/components/Screens/Admin/AdminTables/DocumentsTable/index.jsx +0 -201
  54. package/src/@daf/core/components/Screens/Admin/AdminTables/EventsTable/column.js +0 -146
  55. package/src/@daf/core/components/Screens/Admin/AdminTables/EventsTable/helper.js +0 -58
  56. package/src/@daf/core/components/Screens/Admin/AdminTables/EventsTable/index.jsx +0 -176
@@ -1,146 +0,0 @@
1
- import { Checkbox, Tooltip, Avatar } from "antd";
2
- import CustomIcon from "../../../../Icon/CustomIcon.jsx";
3
- import { findOptions } from "../../../../../../../helpers/StringHelper.js";
4
-
5
- export const getColumns = ({
6
- t,
7
- goTo = () => {},
8
- show = "show",
9
- getRedirectLink = () => {},
10
- token,
11
- selectedSubjects,
12
- setSelectedSubjects,
13
- selectOptions,
14
- entity,
15
- options,
16
- }) => {
17
- const cols = [
18
- {
19
- title: "",
20
- dataIndex: "select",
21
- key: "select",
22
- width: 50,
23
- show: true,
24
- render: (v, all) => {
25
- if (all.empty) {
26
- return <div className="daf-default-cell" />;
27
- }
28
- return (
29
- <Checkbox
30
- onChange={() =>
31
- setSelectedSubjects((prev) => {
32
- const isSelected = prev?.some((p) => p.id === all.id);
33
- if (isSelected) {
34
- return prev.filter((p) => p.id !== all.id);
35
- }
36
- return [...prev, all];
37
- })
38
- }
39
- checked={selectedSubjects?.some((p) => p.id === all.id)}
40
- disabled={
41
- selectedSubjects?.length >= 3 &&
42
- !selectedSubjects?.some((p) => p.id === all.id)
43
- }
44
- />
45
- );
46
- },
47
- },
48
- {
49
- title: t("ID"),
50
- dataIndex: "datastakeId",
51
- key: "datastakeId",
52
- ellipsis: true,
53
- show: true,
54
- render: (value, all) => {
55
- if (all.empty) {
56
- return <div className="daf-default-cell" />;
57
- }
58
-
59
- return <Tooltip title={value}>{value}</Tooltip>;
60
- },
61
- },
62
- {
63
- title: t("Title"),
64
- dataIndex: "name",
65
- key: "name",
66
- ellipsis: true,
67
- show: true,
68
- render: (value, all) => {
69
- if (all.empty) {
70
- return <div className="daf-default-cell" />;
71
- }
72
-
73
- return <Tooltip title={value}>{value}</Tooltip>;
74
- },
75
- },
76
- {
77
- title: t("type"),
78
- dataIndex: "typeOfEvent",
79
- key: "typeOfEvent",
80
- ellipsis: true,
81
- show: true,
82
- render: (value, all) => {
83
- if (all.empty) {
84
- return <div className="daf-default-cell" />;
85
- }
86
-
87
-
88
- const _categoryOptions = (options?.eventCategoryOptions || options?.categoryOptions || [])?.map((item) => ({
89
- value: item.value,
90
- label: typeof item.label === 'object' ? Object.values(item.label)[1] : item.label,
91
- }))
92
-
93
- const type = findOptions(value, options?.eventsType || []) || "-";
94
-
95
- return <Tooltip title={type}>{type}</Tooltip>;
96
- },
97
- },
98
- {
99
- title: t("Date"),
100
- dataIndex: "date",
101
- key: "date",
102
- render: (value, all) => {
103
- if (all.empty) {
104
- return <div className="daf-default-cell" />;
105
- }
106
- return <Tooltip title={value}>{value}</Tooltip>;
107
- },
108
- },
109
- {
110
- title: t("Scope"),
111
- dataIndex: "scope",
112
- key: "scope",
113
- render: (value, all) => {
114
- if (all.empty) {
115
- return <div className="daf-default-cell" />;
116
- }
117
- return <Tooltip title={value}>{value}</Tooltip>;
118
- },
119
- },
120
- {
121
- title: "",
122
- dataIndex: "actions",
123
- key: "actions",
124
- width: 60,
125
- show: true,
126
- render: (value, all) => {
127
- if (all.empty) {
128
- return <div className="daf-default-cell" />;
129
- }
130
-
131
- return (
132
- <div
133
- className="cursor-pointer"
134
- onClick={() => {
135
- goTo(getRedirectLink(`/app/view/management-event/${all.id}`));
136
- }}
137
- >
138
- <CustomIcon name="Link" width={18} height={18} />
139
- </div>
140
- );
141
- },
142
- },
143
- ];
144
-
145
- return cols.filter((c) => c[show]);
146
- };
@@ -1,58 +0,0 @@
1
- export const getTabs = ({ t }) => {
2
- return [
3
- {
4
- key: "active",
5
- label: t("Active"),
6
- },
7
- {
8
- key: "pending",
9
- label: t("Pending"),
10
- },
11
- {
12
- key: 'suspended',
13
- label: t("Suspended"),
14
- }
15
- ];
16
- };
17
-
18
- export const selectFiltersConfig = {
19
- category: {
20
- type: "select",
21
- label: "Category",
22
- placeholder: (t) => t("Category"),
23
- style: { flex: 1 },
24
- labelStyle: { flex: 1 },
25
- getLabel: (option) => option.label,
26
- getValue: (option) => option.value,
27
- },
28
- country: {
29
- type: "select",
30
- label: "Country",
31
- placeholder: (t) => t("Country"),
32
- style: { flex: 1 },
33
- labelStyle: { flex: 1 },
34
- getLabel: (option) => option.label,
35
- getValue: (option) => option.value,
36
- },
37
- sources: {
38
- type: "select",
39
- label: "Sources",
40
- placeholder: (t) => t("Sources"),
41
- style: { flex: 1 },
42
- labelStyle: { flex: 1 },
43
- getLabel: (option) => option.label,
44
- getValue: (option) => option.value,
45
- },
46
- };
47
-
48
- export const filtersConfig = {
49
- name: "",
50
- datastakeId: "",
51
- };
52
-
53
- export const defaultUrlParams = { activeTab: "active" };
54
-
55
- export const checkboxConfig = {
56
- name: "Name",
57
- datastakeId: "ID",
58
- };
@@ -1,176 +0,0 @@
1
- import { useState, useMemo } from "react";
2
- import { useAdminTable } from "../hook";
3
- import AdminTable from "../components/index.jsx";
4
- import DAFTable from "../../../../Table/index.jsx";
5
- import { theme, Tag, message } from "antd";
6
- import CustomIcon from "../../../../Icon/CustomIcon.jsx";
7
- import {
8
- getTabs,
9
- selectFiltersConfig,
10
- filtersConfig,
11
- defaultUrlParams,
12
- checkboxConfig,
13
- } from "./helper.js";
14
- import { getColumns } from "./column.js";
15
- const { useToken } = theme;
16
-
17
- export default function EventsTable({
18
- t = (text) => text,
19
- isMobile,
20
- goTo,
21
- getRedirectLink,
22
- location,
23
- getData,
24
- module,
25
- config,
26
- defaultPageSize = 20,
27
- view,
28
- headerTitle,
29
- breadcrumbs,
30
- refetchTrigger,
31
- user,
32
- options,
33
- }) {
34
- const [showFilters, setShowFilters] = useState(false);
35
- const [hasError, setHasError] = useState(false);
36
- const [selectedEvents, setSelectedEvents] = useState([]);
37
- const { token } = useToken();
38
-
39
- const getDataWithStringPagination = async ({ params }) => {
40
- const { pagination, tab, filters, search, sort, ...otherParams } = params;
41
-
42
- // Don't send pagination to API - we'll fetch all data and slice on frontend
43
- let activeTab = tab || "active";
44
- if (!tab && filters) {
45
- try {
46
- const parsedFilters = typeof filters === 'string' ? JSON.parse(filters) : filters;
47
- activeTab = parsedFilters.activeTab || "active";
48
- } catch (e) {
49
- activeTab = "active";
50
- }
51
- }
52
-
53
- // Fetch all data without pagination - we'll slice on frontend based on URL params
54
- const transformedParams = {
55
- tab: activeTab,
56
- ...otherParams,
57
- };
58
-
59
- return getData({ params: transformedParams });
60
- };
61
- const {
62
- filter,
63
- // activeTab,
64
- canClearSearch,
65
- totalPending,
66
- data,
67
- loading,
68
- initFetchDone,
69
- fetchData,
70
- fetchPendingAccounts,
71
- setLoading,
72
- } = useAdminTable({
73
- goTo,
74
- location,
75
- selectFiltersConfig,
76
- view,
77
- defaultUrlParams,
78
- module,
79
- defaultPageSize,
80
- filtersConfig,
81
- getRedirectLink,
82
- getData: getDataWithStringPagination,
83
- refetchTrigger,
84
- });
85
-
86
- const selectOptions = useMemo(() => {
87
- return {
88
- category: config.options?.category,
89
- country: config.options?.countries,
90
- sources: [],
91
- };
92
- }, [config.options]);
93
-
94
-
95
-
96
- const columns = useMemo(() => {
97
- return getColumns({
98
- t,
99
- goTo,
100
- token,
101
- module,
102
- selectedEvents,
103
- setSelectedEvents,
104
- getRedirectLink,
105
- selectOptions,
106
- entity: headerTitle,
107
- options,
108
- });
109
- }, [t, goTo, module, token, selectedEvents, getRedirectLink, selectOptions, headerTitle, options]);
110
-
111
- return (
112
- <>
113
- <AdminTable
114
- filters={filter}
115
- t={t}
116
- headerTitle={headerTitle}
117
- // actionButton={[
118
- // {
119
- // icon: "Merge",
120
- // onClick: () => setIsModalOpen(true),
121
- // tooltip: t("merge-subjects"),
122
- // disabled: selectedEvents.length < 2,
123
- // },
124
- // ]}
125
- // tabs={getTabs({ t })}
126
- isMobile={isMobile}
127
- // activeTab={activeTab}
128
- showFilters={showFilters}
129
- setShowFilters={setShowFilters}
130
- hasError={hasError}
131
- setHasError={setHasError}
132
- canClearSearch={canClearSearch}
133
- selectOptions={selectOptions}
134
- checkboxConfig={checkboxConfig}
135
- defaultTableFilters={{}}
136
- breadcrumbs={breadcrumbs}
137
- >
138
- {selectedEvents.length > 0 && (
139
- <div className="flex flex-row ml-6 mt-5" style={{ flexWrap: "wrap", gap: "8px" }}>
140
- {selectedEvents.map((event) => (
141
- <Tag
142
- key={event.id}
143
- className="flex flex-row gap-2 items-center"
144
- onClick={() =>
145
- setSelectedEvents((prev) => prev.filter((a) => a.id !== event.id))
146
- }
147
- style={{ cursor: "pointer" }}
148
- >
149
- <span>{event.title}</span>
150
- <CustomIcon name="Close" size={10} />
151
- </Tag>
152
- ))}
153
- </div>
154
- )}
155
- <DAFTable
156
- columns={columns}
157
- data={data}
158
- loading={loading}
159
- hideOnLoading={false}
160
- pagination={filter.pagination}
161
- rowKey="id"
162
- selectOptions={selectOptions}
163
- doEmptyRows
164
- setShowFilters={setShowFilters}
165
- filtersConfig={selectFiltersConfig}
166
- onFilterChange={filter.onFiltersChange}
167
- showFilters={showFilters}
168
- defaultFilters={filter.defaultFilters}
169
- onChange={filter.onTableChange}
170
- />
171
- </AdminTable>
172
-
173
-
174
- </>
175
- );
176
- }