datastake-daf 0.6.731 → 0.6.733
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/pages/index.js +463 -23
- package/dist/services/index.js +1 -1
- package/package.json +1 -1
- package/src/@daf/pages/dashboards/AllInformation/Locations/columns.js +144 -0
- package/src/@daf/pages/dashboards/AllInformation/Locations/config.js +31 -0
- package/src/@daf/pages/dashboards/AllInformation/Locations/create.jsx +103 -0
- package/src/@daf/pages/dashboards/AllInformation/Locations/index.jsx +142 -0
- package/src/@daf/pages/dashboards/AllInformation/Stakeholders/columns.js +4 -4
- package/src/@daf/pages/dashboards/AllInformation/Stakeholders/index.jsx +6 -8
- package/src/@daf/services/LinkedSubjects.js +1 -1
- package/src/pages.js +2 -1
package/dist/pages/index.js
CHANGED
|
@@ -13518,7 +13518,7 @@ const getTabs = t => {
|
|
|
13518
13518
|
label: t("Events")
|
|
13519
13519
|
}];
|
|
13520
13520
|
};
|
|
13521
|
-
const getFiltersConfig$
|
|
13521
|
+
const getFiltersConfig$2 = (t, filters, locationCategories) => {
|
|
13522
13522
|
const value = filters.type ? {
|
|
13523
13523
|
value: filters.type
|
|
13524
13524
|
} : {};
|
|
@@ -13721,7 +13721,7 @@ function MineSites({
|
|
|
13721
13721
|
config: dataFetchConfig
|
|
13722
13722
|
});
|
|
13723
13723
|
const tabs = React.useMemo(() => getTabs(t), [t]);
|
|
13724
|
-
const filtersConfig = React.useMemo(() => getFiltersConfig$
|
|
13724
|
+
const filtersConfig = React.useMemo(() => getFiltersConfig$2(t, filters, locationCategories), [activeTab, filters, t, locationCategories]);
|
|
13725
13725
|
const onFilterChange = filters => {
|
|
13726
13726
|
setFilters(p => ({
|
|
13727
13727
|
...p,
|
|
@@ -15957,7 +15957,7 @@ function AvatarGroup({
|
|
|
15957
15957
|
});
|
|
15958
15958
|
}
|
|
15959
15959
|
|
|
15960
|
-
const getColumns = ({
|
|
15960
|
+
const getColumns$1 = ({
|
|
15961
15961
|
t,
|
|
15962
15962
|
goTo,
|
|
15963
15963
|
user,
|
|
@@ -16050,9 +16050,9 @@ const getColumns = ({
|
|
|
16050
16050
|
}) : '-';
|
|
16051
16051
|
}
|
|
16052
16052
|
}, {
|
|
16053
|
-
title: t("
|
|
16054
|
-
dataIndex: "
|
|
16055
|
-
key: "
|
|
16053
|
+
title: t("Last Update"),
|
|
16054
|
+
dataIndex: "updatedAt",
|
|
16055
|
+
key: "updatedAt",
|
|
16056
16056
|
width: 125,
|
|
16057
16057
|
render: (date, all) => {
|
|
16058
16058
|
if (all.empty) {
|
|
@@ -16113,11 +16113,11 @@ const getColumns = ({
|
|
|
16113
16113
|
}
|
|
16114
16114
|
}].filter(column => column.show !== false);
|
|
16115
16115
|
|
|
16116
|
-
const checkboxConfig = {
|
|
16116
|
+
const checkboxConfig$1 = {
|
|
16117
16117
|
name: 'Name',
|
|
16118
16118
|
datastakeId: 'ID'
|
|
16119
16119
|
};
|
|
16120
|
-
const getFiltersConfig = ({
|
|
16120
|
+
const getFiltersConfig$1 = ({
|
|
16121
16121
|
t
|
|
16122
16122
|
}) => {
|
|
16123
16123
|
return {
|
|
@@ -16135,11 +16135,11 @@ const getFiltersConfig = ({
|
|
|
16135
16135
|
}
|
|
16136
16136
|
};
|
|
16137
16137
|
};
|
|
16138
|
-
const filtersConfig = {
|
|
16138
|
+
const filtersConfig$1 = {
|
|
16139
16139
|
name: '',
|
|
16140
16140
|
datastakeId: ''
|
|
16141
16141
|
};
|
|
16142
|
-
const getFilterOptions = (options, t) => {
|
|
16142
|
+
const getFilterOptions$1 = (options, t) => {
|
|
16143
16143
|
const {
|
|
16144
16144
|
countries
|
|
16145
16145
|
} = options || {};
|
|
@@ -16191,6 +16191,15 @@ const MessageTypes = {
|
|
|
16191
16191
|
WARNING: 'warning'
|
|
16192
16192
|
};
|
|
16193
16193
|
|
|
16194
|
+
/**
|
|
16195
|
+
* Displays a notification message using Ant Design's message component
|
|
16196
|
+
* @param {string} type - The type of message (success, error, warning)
|
|
16197
|
+
* @param {string} m - The message content to display
|
|
16198
|
+
*/
|
|
16199
|
+
function displayMessage(type, m) {
|
|
16200
|
+
antd.message[type](m);
|
|
16201
|
+
}
|
|
16202
|
+
|
|
16194
16203
|
const countriesPhoneNumberLength = {
|
|
16195
16204
|
AD: 6,
|
|
16196
16205
|
AE: 9,
|
|
@@ -29839,7 +29848,7 @@ function DynamicForm({
|
|
|
29839
29848
|
});
|
|
29840
29849
|
}
|
|
29841
29850
|
|
|
29842
|
-
const StakeholdersCreate = ({
|
|
29851
|
+
const StakeholdersCreate$1 = ({
|
|
29843
29852
|
namespace = 'stakeholders',
|
|
29844
29853
|
view = 'scoping',
|
|
29845
29854
|
edit = false,
|
|
@@ -29967,7 +29976,7 @@ const StakeholdersTable = ({
|
|
|
29967
29976
|
}) => {
|
|
29968
29977
|
const [selectOptions, setSelectOptions] = React.useState();
|
|
29969
29978
|
const [activeTab, setActiveTab] = React.useState();
|
|
29970
|
-
const columns = React.useMemo(() => getColumns({
|
|
29979
|
+
const columns = React.useMemo(() => getColumns$1({
|
|
29971
29980
|
t,
|
|
29972
29981
|
goTo,
|
|
29973
29982
|
user,
|
|
@@ -29997,6 +30006,441 @@ const StakeholdersTable = ({
|
|
|
29997
30006
|
tab: activeTab
|
|
29998
30007
|
}, 'stakeholders');
|
|
29999
30008
|
}, [paginationQuery, otherParams, searchParams, activeTab]);
|
|
30009
|
+
const selectFiltersConfig = React.useMemo(() => {
|
|
30010
|
+
return getFiltersConfig$1({
|
|
30011
|
+
t
|
|
30012
|
+
});
|
|
30013
|
+
}, [t]);
|
|
30014
|
+
React.useEffect(() => {
|
|
30015
|
+
setSelectOptions(prev => ({
|
|
30016
|
+
...prev,
|
|
30017
|
+
...getFilterOptions$1(options)
|
|
30018
|
+
}));
|
|
30019
|
+
}, [options, t]);
|
|
30020
|
+
const handleActiveTabChange = React.useCallback(value => {
|
|
30021
|
+
setActiveTab(value);
|
|
30022
|
+
}, []);
|
|
30023
|
+
return /*#__PURE__*/jsxRuntime.jsx(TablePageWithTabs, {
|
|
30024
|
+
t: t,
|
|
30025
|
+
title: t("Stakeholders"),
|
|
30026
|
+
breadCrumbs: breadCrumbs,
|
|
30027
|
+
location: location,
|
|
30028
|
+
loading: loading,
|
|
30029
|
+
goTo: goTo,
|
|
30030
|
+
defaultActiveTab: "all",
|
|
30031
|
+
columns: columns,
|
|
30032
|
+
data: data,
|
|
30033
|
+
checkboxConfig: checkboxConfig$1,
|
|
30034
|
+
APP: APP,
|
|
30035
|
+
getApiBaseUrl: getApiBaseUrl,
|
|
30036
|
+
selectOptions: selectOptions,
|
|
30037
|
+
selectFiltersConfig: selectFiltersConfig,
|
|
30038
|
+
getRedirectLink: getRedirectLink,
|
|
30039
|
+
filtersConfig: filtersConfig$1,
|
|
30040
|
+
isMobile: isMobile,
|
|
30041
|
+
view: "stakeholders",
|
|
30042
|
+
getActiveTab: handleActiveTabChange,
|
|
30043
|
+
onDownload: () => {
|
|
30044
|
+
console.log("download");
|
|
30045
|
+
},
|
|
30046
|
+
drawerTitle: t("Create Stakeholder"),
|
|
30047
|
+
children: ({
|
|
30048
|
+
onDrawerClose
|
|
30049
|
+
}) => /*#__PURE__*/jsxRuntime.jsx(StakeholdersCreate$1, {
|
|
30050
|
+
t: t,
|
|
30051
|
+
goTo: goTo,
|
|
30052
|
+
user: user,
|
|
30053
|
+
APP: APP,
|
|
30054
|
+
getApiBaseUrl: getApiBaseUrl,
|
|
30055
|
+
getAppHeader: getAppHeader,
|
|
30056
|
+
getData: getFormData,
|
|
30057
|
+
saveData: saveFormData,
|
|
30058
|
+
loading: formLoading,
|
|
30059
|
+
onSubmitted: (type, m, data) => {
|
|
30060
|
+
if (data.datastakeId) {
|
|
30061
|
+
displayMessage(type, t("affirmations::subject-created-successfully") || m);
|
|
30062
|
+
goTo(`/app/locations`);
|
|
30063
|
+
}
|
|
30064
|
+
},
|
|
30065
|
+
onCancel: onDrawerClose,
|
|
30066
|
+
query: query,
|
|
30067
|
+
ajaxForms: ajaxForms,
|
|
30068
|
+
changeAjaxForms: changeAjaxForms,
|
|
30069
|
+
ajaxOptions: ajaxOptions,
|
|
30070
|
+
changeAjaxOptions: changeAjaxOptions,
|
|
30071
|
+
formData: formData,
|
|
30072
|
+
formValue: formValue,
|
|
30073
|
+
form: form
|
|
30074
|
+
})
|
|
30075
|
+
});
|
|
30076
|
+
};
|
|
30077
|
+
|
|
30078
|
+
const getColumns = ({
|
|
30079
|
+
t,
|
|
30080
|
+
goTo,
|
|
30081
|
+
user,
|
|
30082
|
+
options,
|
|
30083
|
+
activeTab,
|
|
30084
|
+
getRedirectLink,
|
|
30085
|
+
theme,
|
|
30086
|
+
subject,
|
|
30087
|
+
data,
|
|
30088
|
+
dataOptions
|
|
30089
|
+
}) => [{
|
|
30090
|
+
dataIndex: 'datastakeId',
|
|
30091
|
+
title: t('ID'),
|
|
30092
|
+
ellipsis: true,
|
|
30093
|
+
show: true,
|
|
30094
|
+
render: (v, all) => {
|
|
30095
|
+
if (all.empty) {
|
|
30096
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
30097
|
+
className: "daf-default-cell"
|
|
30098
|
+
});
|
|
30099
|
+
}
|
|
30100
|
+
return /*#__PURE__*/jsxRuntime.jsx(antd.Tooltip, {
|
|
30101
|
+
title: v,
|
|
30102
|
+
children: v
|
|
30103
|
+
});
|
|
30104
|
+
}
|
|
30105
|
+
}, {
|
|
30106
|
+
dataIndex: 'name',
|
|
30107
|
+
title: t('Name'),
|
|
30108
|
+
ellipsis: true,
|
|
30109
|
+
show: true,
|
|
30110
|
+
render: (v, all) => {
|
|
30111
|
+
if (all.empty) {
|
|
30112
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
30113
|
+
className: "daf-default-cell"
|
|
30114
|
+
});
|
|
30115
|
+
}
|
|
30116
|
+
return /*#__PURE__*/jsxRuntime.jsx(antd.Tooltip, {
|
|
30117
|
+
title: v,
|
|
30118
|
+
children: v
|
|
30119
|
+
});
|
|
30120
|
+
}
|
|
30121
|
+
}, {
|
|
30122
|
+
dataIndex: 'category',
|
|
30123
|
+
title: t('Category'),
|
|
30124
|
+
ellipsis: true,
|
|
30125
|
+
show: true,
|
|
30126
|
+
render: (v, all) => {
|
|
30127
|
+
if (all.empty) {
|
|
30128
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
30129
|
+
className: "daf-default-cell"
|
|
30130
|
+
});
|
|
30131
|
+
}
|
|
30132
|
+
const category = findOptions(v, dataOptions?.locationCategories);
|
|
30133
|
+
return category ? /*#__PURE__*/jsxRuntime.jsx(antd.Tooltip, {
|
|
30134
|
+
title: category,
|
|
30135
|
+
children: category
|
|
30136
|
+
}) : '-';
|
|
30137
|
+
}
|
|
30138
|
+
}, {
|
|
30139
|
+
dataIndex: 'country',
|
|
30140
|
+
title: t('Country'),
|
|
30141
|
+
ellipsis: true,
|
|
30142
|
+
show: true,
|
|
30143
|
+
render: (v, all) => {
|
|
30144
|
+
if (all.empty) {
|
|
30145
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
30146
|
+
className: "daf-default-cell"
|
|
30147
|
+
});
|
|
30148
|
+
}
|
|
30149
|
+
const country = findOptions(v, options?.countries);
|
|
30150
|
+
return country ? /*#__PURE__*/jsxRuntime.jsx(antd.Tooltip, {
|
|
30151
|
+
title: country,
|
|
30152
|
+
children: country
|
|
30153
|
+
}) : '-';
|
|
30154
|
+
}
|
|
30155
|
+
}, {
|
|
30156
|
+
dataIndex: 'administrativeLevel1',
|
|
30157
|
+
title: t('Region'),
|
|
30158
|
+
ellipsis: true,
|
|
30159
|
+
show: true,
|
|
30160
|
+
render: (v, all) => {
|
|
30161
|
+
if (all.empty) {
|
|
30162
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
30163
|
+
className: "daf-default-cell"
|
|
30164
|
+
});
|
|
30165
|
+
}
|
|
30166
|
+
findOptions(v, options?.countries);
|
|
30167
|
+
return '-';
|
|
30168
|
+
}
|
|
30169
|
+
}, {
|
|
30170
|
+
dataIndex: 'administrativeLevel2',
|
|
30171
|
+
title: t('District'),
|
|
30172
|
+
ellipsis: true,
|
|
30173
|
+
show: true,
|
|
30174
|
+
render: (v, all) => {
|
|
30175
|
+
if (all.empty) {
|
|
30176
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
30177
|
+
className: "daf-default-cell"
|
|
30178
|
+
});
|
|
30179
|
+
}
|
|
30180
|
+
findOptions(v, options?.countries);
|
|
30181
|
+
return '-';
|
|
30182
|
+
}
|
|
30183
|
+
}, {
|
|
30184
|
+
title: t("Last Update"),
|
|
30185
|
+
dataIndex: "updatedAt",
|
|
30186
|
+
key: "updatedAt",
|
|
30187
|
+
width: 125,
|
|
30188
|
+
render: (date, all) => {
|
|
30189
|
+
if (all.empty) {
|
|
30190
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
30191
|
+
className: "daf-default-cell"
|
|
30192
|
+
});
|
|
30193
|
+
}
|
|
30194
|
+
const _date = date ? renderDateFormatted(date, "DD MMM YYYY", user?.language || 'en') : "-";
|
|
30195
|
+
return /*#__PURE__*/jsxRuntime.jsx(antd.Tooltip, {
|
|
30196
|
+
title: _date,
|
|
30197
|
+
children: _date
|
|
30198
|
+
});
|
|
30199
|
+
},
|
|
30200
|
+
ellipsis: true
|
|
30201
|
+
}, {
|
|
30202
|
+
title: t("Sources"),
|
|
30203
|
+
dataIndex: "sources",
|
|
30204
|
+
key: "sources",
|
|
30205
|
+
show: activeTab !== "own",
|
|
30206
|
+
render: (val, all) => {
|
|
30207
|
+
if (all.empty) {
|
|
30208
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
30209
|
+
className: "daf-default-cell"
|
|
30210
|
+
});
|
|
30211
|
+
}
|
|
30212
|
+
if (!val || val?.length === 0) {
|
|
30213
|
+
return "--";
|
|
30214
|
+
}
|
|
30215
|
+
return /*#__PURE__*/jsxRuntime.jsx(AvatarGroup, {
|
|
30216
|
+
items: val
|
|
30217
|
+
});
|
|
30218
|
+
}
|
|
30219
|
+
}, {
|
|
30220
|
+
id: 'actions',
|
|
30221
|
+
title: "",
|
|
30222
|
+
width: 60,
|
|
30223
|
+
render: (_, all) => {
|
|
30224
|
+
if (all.empty) {
|
|
30225
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
30226
|
+
className: "daf-default-cell"
|
|
30227
|
+
});
|
|
30228
|
+
}
|
|
30229
|
+
const link = `/app/view/${subject}/${all.datastakeId}`;
|
|
30230
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
30231
|
+
style: {
|
|
30232
|
+
display: "flex",
|
|
30233
|
+
justifyContent: "center"
|
|
30234
|
+
},
|
|
30235
|
+
children: /*#__PURE__*/jsxRuntime.jsx("a", {
|
|
30236
|
+
href: getRedirectLink(link),
|
|
30237
|
+
children: /*#__PURE__*/jsxRuntime.jsx(CustomIcon, {
|
|
30238
|
+
name: "Link",
|
|
30239
|
+
size: 15,
|
|
30240
|
+
color: theme.baseGray70
|
|
30241
|
+
})
|
|
30242
|
+
})
|
|
30243
|
+
});
|
|
30244
|
+
}
|
|
30245
|
+
}].filter(column => column.show !== false);
|
|
30246
|
+
|
|
30247
|
+
const checkboxConfig = {
|
|
30248
|
+
name: 'Name',
|
|
30249
|
+
datastakeId: 'ID'
|
|
30250
|
+
};
|
|
30251
|
+
const getFiltersConfig = ({
|
|
30252
|
+
t
|
|
30253
|
+
}) => {
|
|
30254
|
+
return {
|
|
30255
|
+
country: {
|
|
30256
|
+
type: 'select',
|
|
30257
|
+
placeholder: t('Country'),
|
|
30258
|
+
style: {
|
|
30259
|
+
flex: 1
|
|
30260
|
+
},
|
|
30261
|
+
labelStyle: {
|
|
30262
|
+
flex: 1
|
|
30263
|
+
},
|
|
30264
|
+
getLabel: option => option.label,
|
|
30265
|
+
getValue: option => option.value
|
|
30266
|
+
}
|
|
30267
|
+
};
|
|
30268
|
+
};
|
|
30269
|
+
const filtersConfig = {
|
|
30270
|
+
name: '',
|
|
30271
|
+
datastakeId: ''
|
|
30272
|
+
};
|
|
30273
|
+
const getFilterOptions = (options, t) => {
|
|
30274
|
+
const {
|
|
30275
|
+
countries
|
|
30276
|
+
} = options || {};
|
|
30277
|
+
const _default = {
|
|
30278
|
+
country: countries
|
|
30279
|
+
};
|
|
30280
|
+
return _default;
|
|
30281
|
+
};
|
|
30282
|
+
|
|
30283
|
+
const StakeholdersCreate = ({
|
|
30284
|
+
namespace = 'locations',
|
|
30285
|
+
view = 'scoping',
|
|
30286
|
+
edit = false,
|
|
30287
|
+
formData = {},
|
|
30288
|
+
loading = false,
|
|
30289
|
+
onSubmitted = () => {},
|
|
30290
|
+
onCancel = () => {},
|
|
30291
|
+
getData = () => {},
|
|
30292
|
+
saveData = () => {},
|
|
30293
|
+
form: formConfig = {},
|
|
30294
|
+
formValue = {},
|
|
30295
|
+
defaultData = {},
|
|
30296
|
+
user = {},
|
|
30297
|
+
APP,
|
|
30298
|
+
query,
|
|
30299
|
+
goTo = () => {},
|
|
30300
|
+
t = () => {},
|
|
30301
|
+
ajaxForms = {},
|
|
30302
|
+
changeAjaxForms = () => {},
|
|
30303
|
+
ajaxOptions = {},
|
|
30304
|
+
changeAjaxOptions = () => {},
|
|
30305
|
+
getAppHeader = () => {},
|
|
30306
|
+
getApiBaseUrl = () => {}
|
|
30307
|
+
}) => {
|
|
30308
|
+
let {
|
|
30309
|
+
form = {},
|
|
30310
|
+
data = defaultData || {}
|
|
30311
|
+
} = !edit ? formData[`${APP}-${view}`] || {} : {
|
|
30312
|
+
form: formConfig,
|
|
30313
|
+
data: formValue
|
|
30314
|
+
};
|
|
30315
|
+
React.useEffect(() => {
|
|
30316
|
+
if (Object.keys(form).length === 0 && !formData[`${APP}-${view}`]) {
|
|
30317
|
+
if (!edit) {
|
|
30318
|
+
getData({
|
|
30319
|
+
namespace,
|
|
30320
|
+
module: APP,
|
|
30321
|
+
view,
|
|
30322
|
+
scope: 'global'
|
|
30323
|
+
});
|
|
30324
|
+
} else {
|
|
30325
|
+
form = formConfig;
|
|
30326
|
+
data = formValue;
|
|
30327
|
+
}
|
|
30328
|
+
}
|
|
30329
|
+
}, [edit, user?.language]);
|
|
30330
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
30331
|
+
className: "daf-create-form",
|
|
30332
|
+
children: /*#__PURE__*/jsxRuntime.jsx(DynamicForm, {
|
|
30333
|
+
form: form,
|
|
30334
|
+
data: data,
|
|
30335
|
+
showSaveAndNext: false,
|
|
30336
|
+
module: APP,
|
|
30337
|
+
onCancel: onCancel,
|
|
30338
|
+
isCreate: true,
|
|
30339
|
+
t: t,
|
|
30340
|
+
excludedKeys: ["title"],
|
|
30341
|
+
user: user,
|
|
30342
|
+
ajaxForms: ajaxForms,
|
|
30343
|
+
ajaxOptions: ajaxOptions,
|
|
30344
|
+
getAppHeader: getAppHeader,
|
|
30345
|
+
getApiBaseUrl: getApiBaseUrl,
|
|
30346
|
+
changeAjaxOptions: changeAjaxOptions,
|
|
30347
|
+
app: APP,
|
|
30348
|
+
query: query,
|
|
30349
|
+
goTo: goTo,
|
|
30350
|
+
changeAjaxForms: changeAjaxForms,
|
|
30351
|
+
submit: (payload, setSelectedFormNext) => {
|
|
30352
|
+
const payloadData = {
|
|
30353
|
+
...payload,
|
|
30354
|
+
module: APP,
|
|
30355
|
+
namespace
|
|
30356
|
+
};
|
|
30357
|
+
const newPayload = {
|
|
30358
|
+
...defaultData,
|
|
30359
|
+
...payloadData
|
|
30360
|
+
};
|
|
30361
|
+
const callback = (type, m, data) => {
|
|
30362
|
+
if (setSelectedFormNext) {
|
|
30363
|
+
setSelectedFormNext();
|
|
30364
|
+
}
|
|
30365
|
+
if (type === MessageTypes.SUCCESS) {
|
|
30366
|
+
if (onSubmitted) onSubmitted(type, m, data);
|
|
30367
|
+
} else {
|
|
30368
|
+
antd.message.error(m);
|
|
30369
|
+
}
|
|
30370
|
+
};
|
|
30371
|
+
saveData(!data && !data.id ? newPayload : Object.assign(newPayload, {
|
|
30372
|
+
id: data.id
|
|
30373
|
+
}), callback);
|
|
30374
|
+
},
|
|
30375
|
+
isFormDisabled: () => {
|
|
30376
|
+
return !data || !data.typeOfEvent;
|
|
30377
|
+
}
|
|
30378
|
+
})
|
|
30379
|
+
});
|
|
30380
|
+
};
|
|
30381
|
+
|
|
30382
|
+
const LocationsTable = ({
|
|
30383
|
+
t = () => {},
|
|
30384
|
+
goTo = () => {},
|
|
30385
|
+
user = {},
|
|
30386
|
+
options = {},
|
|
30387
|
+
getRedirectLink = () => {},
|
|
30388
|
+
theme = {},
|
|
30389
|
+
loading = false,
|
|
30390
|
+
data = {},
|
|
30391
|
+
isMobile,
|
|
30392
|
+
APP,
|
|
30393
|
+
location,
|
|
30394
|
+
getData = () => {},
|
|
30395
|
+
getApiBaseUrl = () => {},
|
|
30396
|
+
getAppHeader = () => {},
|
|
30397
|
+
getFormData = () => {},
|
|
30398
|
+
saveFormData = () => {},
|
|
30399
|
+
formLoading = false,
|
|
30400
|
+
query = {},
|
|
30401
|
+
ajaxForms = {},
|
|
30402
|
+
changeAjaxForms = () => {},
|
|
30403
|
+
ajaxOptions = {},
|
|
30404
|
+
changeAjaxOptions = () => {},
|
|
30405
|
+
formData = {},
|
|
30406
|
+
formValue = {},
|
|
30407
|
+
form = {},
|
|
30408
|
+
dataOptions = {}
|
|
30409
|
+
}) => {
|
|
30410
|
+
const [selectOptions, setSelectOptions] = React.useState();
|
|
30411
|
+
const [activeTab, setActiveTab] = React.useState();
|
|
30412
|
+
const columns = React.useMemo(() => getColumns({
|
|
30413
|
+
t,
|
|
30414
|
+
goTo,
|
|
30415
|
+
user,
|
|
30416
|
+
options,
|
|
30417
|
+
activeTab,
|
|
30418
|
+
getRedirectLink,
|
|
30419
|
+
theme,
|
|
30420
|
+
subject: 'location',
|
|
30421
|
+
data,
|
|
30422
|
+
dataOptions
|
|
30423
|
+
}), [t, goTo, user, options, activeTab, getRedirectLink, theme, data, dataOptions]);
|
|
30424
|
+
const breadCrumbs = [];
|
|
30425
|
+
const {
|
|
30426
|
+
paginationQuery,
|
|
30427
|
+
searchParams,
|
|
30428
|
+
otherParams
|
|
30429
|
+
} = useGetQueryParams({
|
|
30430
|
+
location
|
|
30431
|
+
});
|
|
30432
|
+
React.useEffect(() => {
|
|
30433
|
+
getData({
|
|
30434
|
+
pagination: paginationQuery,
|
|
30435
|
+
...(Object.keys(otherParams).length > 0 && {
|
|
30436
|
+
filters: otherParams
|
|
30437
|
+
}),
|
|
30438
|
+
...(Object.keys(searchParams).length > 0 && {
|
|
30439
|
+
search: searchParams
|
|
30440
|
+
}),
|
|
30441
|
+
tab: activeTab
|
|
30442
|
+
}, 'locations');
|
|
30443
|
+
}, [paginationQuery, otherParams, searchParams, activeTab]);
|
|
30000
30444
|
const selectFiltersConfig = React.useMemo(() => {
|
|
30001
30445
|
return getFiltersConfig({
|
|
30002
30446
|
t
|
|
@@ -30013,7 +30457,7 @@ const StakeholdersTable = ({
|
|
|
30013
30457
|
}, []);
|
|
30014
30458
|
return /*#__PURE__*/jsxRuntime.jsx(TablePageWithTabs, {
|
|
30015
30459
|
t: t,
|
|
30016
|
-
title: t("
|
|
30460
|
+
title: t("Locations"),
|
|
30017
30461
|
breadCrumbs: breadCrumbs,
|
|
30018
30462
|
location: location,
|
|
30019
30463
|
loading: loading,
|
|
@@ -30029,12 +30473,12 @@ const StakeholdersTable = ({
|
|
|
30029
30473
|
getRedirectLink: getRedirectLink,
|
|
30030
30474
|
filtersConfig: filtersConfig,
|
|
30031
30475
|
isMobile: isMobile,
|
|
30032
|
-
view: "
|
|
30476
|
+
view: "locations",
|
|
30033
30477
|
getActiveTab: handleActiveTabChange,
|
|
30034
30478
|
onDownload: () => {
|
|
30035
30479
|
console.log("download");
|
|
30036
30480
|
},
|
|
30037
|
-
drawerTitle: t("Create
|
|
30481
|
+
drawerTitle: t("Create Location"),
|
|
30038
30482
|
children: ({
|
|
30039
30483
|
onDrawerClose
|
|
30040
30484
|
}) => /*#__PURE__*/jsxRuntime.jsx(StakeholdersCreate, {
|
|
@@ -30044,19 +30488,14 @@ const StakeholdersTable = ({
|
|
|
30044
30488
|
APP: APP,
|
|
30045
30489
|
getApiBaseUrl: getApiBaseUrl,
|
|
30046
30490
|
getAppHeader: getAppHeader,
|
|
30047
|
-
defaultData: {
|
|
30048
|
-
economicSector: 'miningMineralTrade'
|
|
30049
|
-
},
|
|
30050
30491
|
getData: getFormData,
|
|
30051
30492
|
saveData: saveFormData,
|
|
30052
30493
|
loading: formLoading,
|
|
30053
30494
|
onSubmitted: (type, m, data) => {
|
|
30054
|
-
// displayMessage(
|
|
30055
|
-
// type,
|
|
30056
|
-
// t("affirmations::subject-created-successfully") || m,
|
|
30057
|
-
// );
|
|
30058
30495
|
if (data.datastakeId) {
|
|
30059
|
-
|
|
30496
|
+
displayMessage(type, t("affirmations::subject-created-successfully") || m);
|
|
30497
|
+
// goTo(`/app/edit/stakeholders/${data.datastakeId}`);
|
|
30498
|
+
window.location.reload();
|
|
30060
30499
|
}
|
|
30061
30500
|
},
|
|
30062
30501
|
onCancel: onDrawerClose,
|
|
@@ -30072,6 +30511,7 @@ const StakeholdersTable = ({
|
|
|
30072
30511
|
});
|
|
30073
30512
|
};
|
|
30074
30513
|
|
|
30514
|
+
exports.LocationsTable = LocationsTable;
|
|
30075
30515
|
exports.StakeholdersTable = StakeholdersTable;
|
|
30076
30516
|
exports.SupplyChainDashboard = SupplyChain;
|
|
30077
30517
|
exports.TablePageWithTabs = TablePageWithTabs;
|
package/dist/services/index.js
CHANGED
|
@@ -1359,7 +1359,7 @@ class LinkedSubjectsService extends BaseService {
|
|
|
1359
1359
|
}) {
|
|
1360
1360
|
const _namespace = getNamespace(namespace);
|
|
1361
1361
|
return this.apiGet({
|
|
1362
|
-
url: `/${_namespace}
|
|
1362
|
+
url: `/${_namespace}`,
|
|
1363
1363
|
isApp: true,
|
|
1364
1364
|
params: query,
|
|
1365
1365
|
signal
|
package/package.json
CHANGED
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Tooltip } 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
|
+
|
|
8
|
+
export const getColumns = ({t, goTo, user, options, activeTab, getRedirectLink, theme, subject, data, dataOptions}) => [
|
|
9
|
+
{
|
|
10
|
+
dataIndex: 'datastakeId',
|
|
11
|
+
title: t('ID'),
|
|
12
|
+
ellipsis: true,
|
|
13
|
+
show: true,
|
|
14
|
+
render: (v, all) => {
|
|
15
|
+
if (all.empty) {
|
|
16
|
+
return <div className="daf-default-cell" />
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
return <Tooltip title={v}>{v}</Tooltip>;
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
dataIndex: 'name',
|
|
24
|
+
title: t('Name'),
|
|
25
|
+
ellipsis: true,
|
|
26
|
+
show: true,
|
|
27
|
+
render: (v, all) => {
|
|
28
|
+
if (all.empty) {
|
|
29
|
+
return <div className="daf-default-cell" />
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
return <Tooltip title={v}>{v}</Tooltip>;
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
dataIndex: 'category',
|
|
37
|
+
title: t('Category'),
|
|
38
|
+
ellipsis: true,
|
|
39
|
+
show: true,
|
|
40
|
+
render: (v, all) => {
|
|
41
|
+
if (all.empty) {
|
|
42
|
+
return <div className="daf-default-cell" />
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
const category = findOptions(v, dataOptions?.locationCategories);
|
|
46
|
+
|
|
47
|
+
return category ? <Tooltip title={category}>{category}</Tooltip> : '-';
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
dataIndex: 'country',
|
|
52
|
+
title: t('Country'),
|
|
53
|
+
ellipsis: true,
|
|
54
|
+
show: true,
|
|
55
|
+
render: (v, all) => {
|
|
56
|
+
if (all.empty) {
|
|
57
|
+
return <div className="daf-default-cell" />
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
const country = findOptions(v, options?.countries);
|
|
61
|
+
|
|
62
|
+
return country ? <Tooltip title={country}>{country}</Tooltip> : '-';
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
dataIndex: 'administrativeLevel1',
|
|
67
|
+
title: t('Region'),
|
|
68
|
+
ellipsis: true,
|
|
69
|
+
show: true,
|
|
70
|
+
render: (v, all) => {
|
|
71
|
+
if (all.empty) {
|
|
72
|
+
return <div className="daf-default-cell" />
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
const country = findOptions(v, options?.countries);
|
|
76
|
+
|
|
77
|
+
return '-';
|
|
78
|
+
},
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
dataIndex: 'administrativeLevel2',
|
|
82
|
+
title: t('District'),
|
|
83
|
+
ellipsis: true,
|
|
84
|
+
show: true,
|
|
85
|
+
render: (v, all) => {
|
|
86
|
+
if (all.empty) {
|
|
87
|
+
return <div className="daf-default-cell" />
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
const country = findOptions(v, options?.countries);
|
|
91
|
+
|
|
92
|
+
return '-';
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
title: t("Last Update"),
|
|
97
|
+
dataIndex: "updatedAt",
|
|
98
|
+
key: "updatedAt",
|
|
99
|
+
width: 125,
|
|
100
|
+
render: (date, all) => {
|
|
101
|
+
if (all.empty) {
|
|
102
|
+
return <div className="daf-default-cell" />;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
const _date = date ? renderDateFormatted(date, "DD MMM YYYY", user?.language || 'en') : "-";
|
|
106
|
+
return <Tooltip title={_date}>{_date}</Tooltip>;
|
|
107
|
+
},
|
|
108
|
+
ellipsis: true,
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
title: t("Sources"),
|
|
112
|
+
dataIndex: "sources",
|
|
113
|
+
key: "sources",
|
|
114
|
+
show: activeTab !== "own",
|
|
115
|
+
render: (val, all) => {
|
|
116
|
+
if (all.empty) {
|
|
117
|
+
return <div className="daf-default-cell" />;
|
|
118
|
+
}
|
|
119
|
+
if (!val || val?.length === 0) {
|
|
120
|
+
return "--";
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
return <AvatarGroup items={val}></AvatarGroup>;
|
|
124
|
+
},
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
id: 'actions',
|
|
128
|
+
title: "",
|
|
129
|
+
width: 60,
|
|
130
|
+
render: (_, all) => {
|
|
131
|
+
if (all.empty) {
|
|
132
|
+
return <div className="daf-default-cell" />;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
const link = `/app/view/${subject}/${all.datastakeId}`;
|
|
136
|
+
|
|
137
|
+
return <div style={{ display: "flex", justifyContent: "center" }}>
|
|
138
|
+
<a href={getRedirectLink(link)}>
|
|
139
|
+
<CustomIcon name="Link" size={15} color={theme.baseGray70} />
|
|
140
|
+
</a>
|
|
141
|
+
</div>;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
].filter((column) => column.show !== false);
|
|
@@ -0,0 +1,31 @@
|
|
|
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
|
+
placeholder: t('Country'),
|
|
11
|
+
style: { flex: 1 },
|
|
12
|
+
labelStyle: { flex: 1 },
|
|
13
|
+
getLabel: (option) => option.label,
|
|
14
|
+
getValue: (option) => option.value,
|
|
15
|
+
},
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export const filtersConfig = {
|
|
20
|
+
name: '',
|
|
21
|
+
datastakeId: '',
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export const getFilterOptions = (options, t) => {
|
|
25
|
+
const { countries } = options || {};
|
|
26
|
+
const _default = {
|
|
27
|
+
country: countries,
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return _default;
|
|
31
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
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 = 'locations',
|
|
8
|
+
view = 'scoping',
|
|
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: 'global' });
|
|
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={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
|
+
};
|
|
78
|
+
|
|
79
|
+
const callback = (type, m, data) => {
|
|
80
|
+
if (setSelectedFormNext) {
|
|
81
|
+
setSelectedFormNext();
|
|
82
|
+
}
|
|
83
|
+
if (type === MessageTypes.SUCCESS) {
|
|
84
|
+
if (onSubmitted) onSubmitted(type, m, data);
|
|
85
|
+
} else {
|
|
86
|
+
message.error(m);
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
saveData(
|
|
91
|
+
!data && !data.id ? newPayload : Object.assign(newPayload, { id: data.id }),
|
|
92
|
+
callback,
|
|
93
|
+
);
|
|
94
|
+
}}
|
|
95
|
+
isFormDisabled={() => {
|
|
96
|
+
return !data || !data.typeOfEvent;
|
|
97
|
+
}}
|
|
98
|
+
/>
|
|
99
|
+
</div>
|
|
100
|
+
)
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
export default StakeholdersCreate
|
|
@@ -0,0 +1,142 @@
|
|
|
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 LocationsTable = ({
|
|
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
|
+
dataOptions = {},
|
|
36
|
+
}) => {
|
|
37
|
+
const [selectOptions, setSelectOptions] = useState();
|
|
38
|
+
const [activeTab, setActiveTab] = useState();
|
|
39
|
+
const columns = useMemo(() => getColumns({
|
|
40
|
+
t,
|
|
41
|
+
goTo,
|
|
42
|
+
user,
|
|
43
|
+
options,
|
|
44
|
+
activeTab,
|
|
45
|
+
getRedirectLink,
|
|
46
|
+
theme,
|
|
47
|
+
subject: 'location',
|
|
48
|
+
data,
|
|
49
|
+
dataOptions
|
|
50
|
+
}), [t, goTo, user, options, activeTab, getRedirectLink, theme, data, dataOptions]);
|
|
51
|
+
|
|
52
|
+
const breadCrumbs = [];
|
|
53
|
+
|
|
54
|
+
const { paginationQuery, searchParams, otherParams } = useGetQueryParams({location});
|
|
55
|
+
|
|
56
|
+
useEffect(() => {
|
|
57
|
+
getData({
|
|
58
|
+
pagination: paginationQuery,
|
|
59
|
+
...(Object.keys(otherParams).length > 0 && { filters: otherParams }),
|
|
60
|
+
...(Object.keys(searchParams).length > 0 && { search: searchParams }),
|
|
61
|
+
tab: activeTab,
|
|
62
|
+
}, 'locations')
|
|
63
|
+
}, [paginationQuery, otherParams, searchParams, activeTab]);
|
|
64
|
+
|
|
65
|
+
const selectFiltersConfig = useMemo(() => {
|
|
66
|
+
return getFiltersConfig({t});
|
|
67
|
+
}, [t]);
|
|
68
|
+
|
|
69
|
+
useEffect(() => {
|
|
70
|
+
setSelectOptions((prev) => ({
|
|
71
|
+
...prev,
|
|
72
|
+
...getFilterOptions(options, t),
|
|
73
|
+
}))
|
|
74
|
+
}, [options, t])
|
|
75
|
+
|
|
76
|
+
const handleActiveTabChange = useCallback((value) => {
|
|
77
|
+
setActiveTab(value);
|
|
78
|
+
}, []);
|
|
79
|
+
|
|
80
|
+
return (
|
|
81
|
+
<TablePageWithTabs
|
|
82
|
+
t={t}
|
|
83
|
+
title={t("Locations")}
|
|
84
|
+
breadCrumbs={breadCrumbs}
|
|
85
|
+
location={location}
|
|
86
|
+
loading={loading}
|
|
87
|
+
goTo={goTo}
|
|
88
|
+
defaultActiveTab={"all"}
|
|
89
|
+
columns={columns}
|
|
90
|
+
data={data}
|
|
91
|
+
checkboxConfig={checkboxConfig}
|
|
92
|
+
APP={APP}
|
|
93
|
+
getApiBaseUrl={getApiBaseUrl}
|
|
94
|
+
selectOptions={selectOptions}
|
|
95
|
+
selectFiltersConfig={selectFiltersConfig}
|
|
96
|
+
getRedirectLink={getRedirectLink}
|
|
97
|
+
filtersConfig={filtersConfig}
|
|
98
|
+
isMobile={isMobile}
|
|
99
|
+
view="locations"
|
|
100
|
+
getActiveTab={handleActiveTabChange}
|
|
101
|
+
onDownload={() => {
|
|
102
|
+
console.log("download");
|
|
103
|
+
}}
|
|
104
|
+
drawerTitle={t("Create Location")}
|
|
105
|
+
>
|
|
106
|
+
{({onDrawerClose}) => (
|
|
107
|
+
<StakeholdersCreate
|
|
108
|
+
t={t}
|
|
109
|
+
goTo={goTo}
|
|
110
|
+
user={user}
|
|
111
|
+
APP={APP}
|
|
112
|
+
getApiBaseUrl={getApiBaseUrl}
|
|
113
|
+
getAppHeader={getAppHeader}
|
|
114
|
+
getData={getFormData}
|
|
115
|
+
saveData={saveFormData}
|
|
116
|
+
loading={formLoading}
|
|
117
|
+
onSubmitted={(type, m, data) => {
|
|
118
|
+
if (data.datastakeId) {
|
|
119
|
+
displayMessage(
|
|
120
|
+
type,
|
|
121
|
+
t("affirmations::subject-created-successfully") || m,
|
|
122
|
+
);
|
|
123
|
+
// goTo(`/app/edit/stakeholders/${data.datastakeId}`);
|
|
124
|
+
window.location.reload();
|
|
125
|
+
}
|
|
126
|
+
}}
|
|
127
|
+
onCancel={onDrawerClose}
|
|
128
|
+
query={query}
|
|
129
|
+
ajaxForms={ajaxForms}
|
|
130
|
+
changeAjaxForms={changeAjaxForms}
|
|
131
|
+
ajaxOptions={ajaxOptions}
|
|
132
|
+
changeAjaxOptions={changeAjaxOptions}
|
|
133
|
+
formData={formData}
|
|
134
|
+
formValue={formValue}
|
|
135
|
+
form={form}
|
|
136
|
+
/>
|
|
137
|
+
)}
|
|
138
|
+
</TablePageWithTabs>
|
|
139
|
+
)
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
export default LocationsTable
|
|
@@ -10,7 +10,7 @@ export const getColumns = ({t, goTo, user, options, activeTab, getRedirectLink,
|
|
|
10
10
|
dataIndex: 'datastakeId',
|
|
11
11
|
title: t('ID'),
|
|
12
12
|
ellipsis: true,
|
|
13
|
-
|
|
13
|
+
show: true,
|
|
14
14
|
render: (v, all) => {
|
|
15
15
|
if (all.empty) {
|
|
16
16
|
return <div className="daf-default-cell" />
|
|
@@ -78,9 +78,9 @@ export const getColumns = ({t, goTo, user, options, activeTab, getRedirectLink,
|
|
|
78
78
|
},
|
|
79
79
|
},
|
|
80
80
|
{
|
|
81
|
-
title: t("
|
|
82
|
-
dataIndex: "
|
|
83
|
-
key: "
|
|
81
|
+
title: t("Last Update"),
|
|
82
|
+
dataIndex: "updatedAt",
|
|
83
|
+
key: "updatedAt",
|
|
84
84
|
width: 125,
|
|
85
85
|
render: (date, all) => {
|
|
86
86
|
if (all.empty) {
|
|
@@ -4,6 +4,7 @@ import { getColumns } from './columns.js';
|
|
|
4
4
|
import { checkboxConfig, getFiltersConfig, filtersConfig, getFilterOptions } from './config.js';
|
|
5
5
|
import { useGetQueryParams } from '../../../../hooks/useGetQueryParams.js';
|
|
6
6
|
import StakeholdersCreate from './create.jsx';
|
|
7
|
+
import { displayMessage } from '../../../../../helpers/messages.js';
|
|
7
8
|
|
|
8
9
|
const StakeholdersTable = ({
|
|
9
10
|
t = () => {},
|
|
@@ -107,19 +108,16 @@ const StakeholdersTable = ({
|
|
|
107
108
|
APP={APP}
|
|
108
109
|
getApiBaseUrl={getApiBaseUrl}
|
|
109
110
|
getAppHeader={getAppHeader}
|
|
110
|
-
defaultData={{
|
|
111
|
-
economicSector: 'miningMineralTrade'
|
|
112
|
-
}}
|
|
113
111
|
getData={getFormData}
|
|
114
112
|
saveData={saveFormData}
|
|
115
113
|
loading={formLoading}
|
|
116
114
|
onSubmitted={(type, m, data) => {
|
|
117
|
-
// displayMessage(
|
|
118
|
-
// type,
|
|
119
|
-
// t("affirmations::subject-created-successfully") || m,
|
|
120
|
-
// );
|
|
121
115
|
if (data.datastakeId) {
|
|
122
|
-
|
|
116
|
+
displayMessage(
|
|
117
|
+
type,
|
|
118
|
+
t("affirmations::subject-created-successfully") || m,
|
|
119
|
+
);
|
|
120
|
+
goTo(`/app/locations`);
|
|
123
121
|
}
|
|
124
122
|
}}
|
|
125
123
|
onCancel={onDrawerClose}
|
package/src/pages.js
CHANGED
|
@@ -4,4 +4,5 @@ export { default as UserDashboard } from './@daf/pages/dashboards/UserDashboard/
|
|
|
4
4
|
export { default as StakeholdersTable } from './@daf/pages/dashboards/AllInformation/Stakeholders/index.jsx';
|
|
5
5
|
|
|
6
6
|
// Pages
|
|
7
|
-
export { default as TablePageWithTabs } from './@daf/pages/pages/TablePageWithTabs/index.jsx';
|
|
7
|
+
export { default as TablePageWithTabs } from './@daf/pages/pages/TablePageWithTabs/index.jsx';
|
|
8
|
+
export { default as LocationsTable } from './@daf/pages/dashboards/AllInformation/Locations/index.jsx';
|