datastake-daf 0.6.795 → 0.6.797
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 +258 -89
- package/dist/pages/index.js +789 -174
- package/dist/style/datastake/mapbox-gl.css +330 -0
- package/dist/utils/index.js +1 -1
- package/package.json +1 -1
- package/public/Vegetation/black-default.svg +23 -0
- package/public/Vegetation/black.svg +12 -0
- package/public/Vegetation/damage-from-insects-default.svg +14 -0
- package/public/Vegetation/damage-from-insects.svg +8 -0
- package/public/Vegetation/dry-or-dead-default.svg +16 -0
- package/public/Vegetation/dry-or-dead.svg +7 -0
- package/public/Vegetation/healthy-default.svg +14 -0
- package/public/Vegetation/healthy.svg +34 -0
- package/public/Vegetation/mosaic-default.svg +17 -0
- package/public/Vegetation/mosaic.svg +9 -0
- package/public/Vegetation/no-leaves-default.svg +6 -0
- package/public/Vegetation/no-leaves.svg +5 -0
- package/public/Vegetation/reddish-default.svg +23 -0
- package/public/Vegetation/reddish.svg +79 -0
- package/public/Vegetation/spider-webs-default.svg +10 -0
- package/public/Vegetation/spider-webs.svg +10 -0
- package/public/Vegetation/white-default.svg +25 -0
- package/public/Vegetation/white.svg +12 -0
- package/public/Vegetation/yellowing-default.svg +7 -0
- package/public/Vegetation/yellowing.svg +8 -0
- package/src/@daf/core/components/Dashboard/Widget/ActivityIndicators/index.jsx +24 -6
- package/src/@daf/core/components/Dashboard/Widget/ActivityIndicators/style.js +2 -6
- package/src/@daf/core/components/Dashboard/Widget/VegetationWidget/VegetationWidget.stories.jsx +76 -0
- package/src/@daf/core/components/Dashboard/Widget/VegetationWidget/config.js +31 -0
- package/src/@daf/core/components/Dashboard/Widget/VegetationWidget/index.jsx +137 -0
- package/src/@daf/core/components/ViewForm/components/Records/config.js +3 -0
- package/src/@daf/pages/Summary/Activities/Monitoring/components/ActivityImagery/index.jsx +12 -10
- package/src/@daf/pages/Summary/Activities/Monitoring/components/BiodiversityAndHabitat/helper.js +86 -0
- package/src/@daf/pages/Summary/Activities/Monitoring/components/BiodiversityAndHabitat/index.jsx +65 -0
- package/src/@daf/pages/Summary/Activities/Monitoring/components/EnvironmentalMetrics/index.jsx +30 -0
- package/src/@daf/pages/Summary/Activities/Monitoring/components/MangroveGrowthAndSurvival/components/PlantedSpecies/index.jsx +15 -28
- package/src/@daf/pages/Summary/Activities/Monitoring/components/MangroveGrowthAndSurvival/components/SeedlingsHeight/index.jsx +17 -30
- package/src/@daf/pages/Summary/Activities/Monitoring/components/MangroveGrowthAndSurvival/components/SurvivalRate/index.jsx +38 -45
- package/src/@daf/pages/Summary/Activities/Monitoring/components/MangroveGrowthAndSurvival/index.jsx +87 -8
- package/src/@daf/pages/Summary/Activities/Monitoring/config.js +21 -4
- package/src/@daf/pages/Summary/Activities/Monitoring/helper.js +7 -1
- package/src/@daf/pages/Summary/Activities/Monitoring/index.jsx +31 -8
- package/src/@daf/utils/numbers.js +1 -1
- package/src/constants/Vegetation.js +15 -0
- package/src/index.js +1 -0
package/dist/components/index.js
CHANGED
|
@@ -4778,7 +4778,7 @@ const config$2 = {
|
|
|
4778
4778
|
Down: config$3
|
|
4779
4779
|
};
|
|
4780
4780
|
|
|
4781
|
-
const _excluded$
|
|
4781
|
+
const _excluded$D = ["width", "height", "size", "name", "fill"];
|
|
4782
4782
|
const CustomIcon = _ref => {
|
|
4783
4783
|
let {
|
|
4784
4784
|
width = 14,
|
|
@@ -4787,7 +4787,7 @@ const CustomIcon = _ref => {
|
|
|
4787
4787
|
name = "",
|
|
4788
4788
|
fill = "none"
|
|
4789
4789
|
} = _ref,
|
|
4790
|
-
props = _objectWithoutProperties(_ref, _excluded$
|
|
4790
|
+
props = _objectWithoutProperties(_ref, _excluded$D);
|
|
4791
4791
|
const conf = config$2[name];
|
|
4792
4792
|
if (conf) {
|
|
4793
4793
|
return /*#__PURE__*/jsxRuntime.jsx("svg", _objectSpread2(_objectSpread2({}, props), {}, {
|
|
@@ -5076,7 +5076,7 @@ createCommonjsModule(function (module, exports) {
|
|
|
5076
5076
|
!function(e,n){module.exports=n();}(commonjsGlobal,(function(){return {name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var n=["th","st","nd","rd"],t=e%100;return "["+e+(n[(t-20)%10]||n[t]||n[0])+"]"}}}));
|
|
5077
5077
|
});
|
|
5078
5078
|
|
|
5079
|
-
const _excluded$
|
|
5079
|
+
const _excluded$C = ["view", "module", "scope", "form", "meta", "createdAt", "updatedAt"];
|
|
5080
5080
|
dayjs__default["default"].extend(customParseFormat);
|
|
5081
5081
|
dayjs__default["default"].extend(utc);
|
|
5082
5082
|
dayjs__default["default"].extend(utc);
|
|
@@ -5452,7 +5452,7 @@ const filterCreateData = data => {
|
|
|
5452
5452
|
createdAt,
|
|
5453
5453
|
updatedAt
|
|
5454
5454
|
} = data,
|
|
5455
|
-
rest = _objectWithoutProperties(data, _excluded$
|
|
5455
|
+
rest = _objectWithoutProperties(data, _excluded$C);
|
|
5456
5456
|
const _meta = isObjectEmpty(meta) ? undefined : meta;
|
|
5457
5457
|
return _objectSpread2(_objectSpread2({}, rest), {}, {
|
|
5458
5458
|
meta: _meta
|
|
@@ -5848,7 +5848,7 @@ SelectFilters.propTypes = {
|
|
|
5848
5848
|
apiUrl: PropTypes__default["default"].string
|
|
5849
5849
|
};
|
|
5850
5850
|
|
|
5851
|
-
const _excluded$
|
|
5851
|
+
const _excluded$B = ["columns", "data", "defaultFilters", "style", "pagination", "loading", "onChange", "onFilterChange", "selectOptions", "filtersConfig", "rowSelection", "setShowFilters", "rowKey", "showFilters", "hideOnLoading", "sourcesKey", "className", "projects", "t", "selectedProject", "sourceId", "projectSources", "language", "scrollX", "apiUrl", "app", "doEmptyRows"];
|
|
5852
5852
|
function DAFTable(_ref) {
|
|
5853
5853
|
let {
|
|
5854
5854
|
columns = [],
|
|
@@ -5879,7 +5879,7 @@ function DAFTable(_ref) {
|
|
|
5879
5879
|
app,
|
|
5880
5880
|
doEmptyRows
|
|
5881
5881
|
} = _ref,
|
|
5882
|
-
rest = _objectWithoutProperties(_ref, _excluded$
|
|
5882
|
+
rest = _objectWithoutProperties(_ref, _excluded$B);
|
|
5883
5883
|
const [source, setSource] = React.useState([]);
|
|
5884
5884
|
const projectData = (projects || []).find(p => p.id === selectedProject);
|
|
5885
5885
|
const [filtersInit, setFiltersInit] = React.useState(!loading);
|
|
@@ -6623,8 +6623,8 @@ Pagination.propTypes = {
|
|
|
6623
6623
|
isMobile: PropTypes__default["default"].bool
|
|
6624
6624
|
};
|
|
6625
6625
|
|
|
6626
|
-
var _templateObject$
|
|
6627
|
-
const Style$T = styled__default["default"].div(_templateObject$
|
|
6626
|
+
var _templateObject$h;
|
|
6627
|
+
const Style$T = styled__default["default"].div(_templateObject$h || (_templateObject$h = _taggedTemplateLiteral(["\n\tposition: relative;\n\twidth: 100%;\n\theight: 100%;\n\n\t.p-placeholder {\n\t\tposition: absolute;\n\t\ttop: 0px;\n\t\tleft: 0px;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tbackground: transparent;\n\t\tz-index: 100;\n\t}\n"])));
|
|
6628
6628
|
|
|
6629
6629
|
/**
|
|
6630
6630
|
* ComponentWithFocus
|
|
@@ -6696,8 +6696,8 @@ function ComponentWithFocus(_ref) {
|
|
|
6696
6696
|
});
|
|
6697
6697
|
}
|
|
6698
6698
|
|
|
6699
|
-
var _templateObject$
|
|
6700
|
-
const _excluded$
|
|
6699
|
+
var _templateObject$g;
|
|
6700
|
+
const _excluded$A = ["size", "maxHeight", "containerHeight", "dataSource", "columns", "pagination", "doEmptyRows"];
|
|
6701
6701
|
function StickyTable(_ref) {
|
|
6702
6702
|
let {
|
|
6703
6703
|
size = "small",
|
|
@@ -6708,7 +6708,7 @@ function StickyTable(_ref) {
|
|
|
6708
6708
|
pagination = false,
|
|
6709
6709
|
doEmptyRows = true
|
|
6710
6710
|
} = _ref,
|
|
6711
|
-
props = _objectWithoutProperties(_ref, _excluded$
|
|
6711
|
+
props = _objectWithoutProperties(_ref, _excluded$A);
|
|
6712
6712
|
const data = React__default["default"].useMemo(() => {
|
|
6713
6713
|
if (!doEmptyRows) {
|
|
6714
6714
|
return dataSource;
|
|
@@ -6754,7 +6754,7 @@ function StickyTable(_ref) {
|
|
|
6754
6754
|
})
|
|
6755
6755
|
});
|
|
6756
6756
|
}
|
|
6757
|
-
const Style$S = styled__default["default"].div(_templateObject$
|
|
6757
|
+
const Style$S = styled__default["default"].div(_templateObject$g || (_templateObject$g = _taggedTemplateLiteral(["\n\tmax-width: calc(100% - 48px);\n\tmargin-left: var(--size-lg);\n\toverflow: hidden;\n\n\t.daf-table {\n\t\tpadding: 0px;\n\t\tmargin-top: 0px;\n\n\t\t.ant-tag {\n\t\t\ttext-align: center;\n\t\t}\n\t}\n\n\t.daf-select-filters .filters {\n\t\tpadding-top: 16px;\n\t\tpadding-left: 0;\n\t\tpadding-right: 0;\n\t}\n\n\t.daf-table {\n\t\tpadding-top: 16px;\n\t}\n"])));
|
|
6758
6758
|
StickyTable.propTypes = {
|
|
6759
6759
|
size: PropTypes__default["default"].any,
|
|
6760
6760
|
maxHeight: PropTypes__default["default"].number,
|
|
@@ -7236,7 +7236,7 @@ const BTN_SIZE = {
|
|
|
7236
7236
|
LG: 'large'
|
|
7237
7237
|
};
|
|
7238
7238
|
|
|
7239
|
-
const _excluded$
|
|
7239
|
+
const _excluded$z = ["content", "size", "type", "icon", "onClick", "disabled", "loading", "title", "style", "className"];
|
|
7240
7240
|
function DafButton(_ref) {
|
|
7241
7241
|
let {
|
|
7242
7242
|
content = '',
|
|
@@ -7250,7 +7250,7 @@ function DafButton(_ref) {
|
|
|
7250
7250
|
style = {},
|
|
7251
7251
|
className = ''
|
|
7252
7252
|
} = _ref,
|
|
7253
|
-
restProps = _objectWithoutProperties(_ref, _excluded$
|
|
7253
|
+
restProps = _objectWithoutProperties(_ref, _excluded$z);
|
|
7254
7254
|
return /*#__PURE__*/jsxRuntime.jsx(antd.Button, _objectSpread2(_objectSpread2({
|
|
7255
7255
|
icon: icon,
|
|
7256
7256
|
type: type,
|
|
@@ -7369,12 +7369,12 @@ const Style$R = styled__default["default"].div`
|
|
|
7369
7369
|
}
|
|
7370
7370
|
`;
|
|
7371
7371
|
|
|
7372
|
-
const _excluded$
|
|
7372
|
+
const _excluded$y = ["children"];
|
|
7373
7373
|
const BorderedButton = _ref => {
|
|
7374
7374
|
let {
|
|
7375
7375
|
children
|
|
7376
7376
|
} = _ref,
|
|
7377
|
-
props = _objectWithoutProperties(_ref, _excluded$
|
|
7377
|
+
props = _objectWithoutProperties(_ref, _excluded$y);
|
|
7378
7378
|
return /*#__PURE__*/jsxRuntime.jsx(Style$R, {
|
|
7379
7379
|
className: "d-btn-cont",
|
|
7380
7380
|
children: /*#__PURE__*/jsxRuntime.jsx(antd.Button, _objectSpread2(_objectSpread2({}, props), {}, {
|
|
@@ -7383,7 +7383,7 @@ const BorderedButton = _ref => {
|
|
|
7383
7383
|
});
|
|
7384
7384
|
};
|
|
7385
7385
|
|
|
7386
|
-
var _templateObject$
|
|
7386
|
+
var _templateObject$f;
|
|
7387
7387
|
const variantConfig = {
|
|
7388
7388
|
default: {
|
|
7389
7389
|
className: "default-badge",
|
|
@@ -7501,7 +7501,7 @@ function Badge(_ref) {
|
|
|
7501
7501
|
})
|
|
7502
7502
|
});
|
|
7503
7503
|
}
|
|
7504
|
-
const Style$Q = styled__default["default"].div(_templateObject$
|
|
7504
|
+
const Style$Q = styled__default["default"].div(_templateObject$f || (_templateObject$f = _taggedTemplateLiteral(["\n\tdisplay: inline-flex;\n\talign-items: center;\n\tjustify-content: center;\n\tgap: 4px;\n\tpadding: 4px;\n\tmax-width: 100%;\n\n\toverflow: hidden;\n\twhite-space: nowrap;\n\ttext-overflow: ellipsis;\n\n\t> svg {\n\t\tflex-shrink: 0;\n\t}\n\n\t> span {\n\t\tall: unset;\n\t\tmargin-left: 4px;\n\t\tfont-weight: 600;\n\t\tfont-size: 12px;\n\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\twhite-space: nowrap;\n\t\tdisplay: block;\n\t\tmax-width: 100%;\n\t}\n"])));
|
|
7505
7505
|
Badge.propTypes = {
|
|
7506
7506
|
children: PropTypes__default["default"].node,
|
|
7507
7507
|
className: PropTypes__default["default"].string,
|
|
@@ -7514,12 +7514,12 @@ Badge.propTypes = {
|
|
|
7514
7514
|
props: PropTypes__default["default"].object
|
|
7515
7515
|
};
|
|
7516
7516
|
|
|
7517
|
-
const _excluded$
|
|
7517
|
+
const _excluded$x = ["icon"];
|
|
7518
7518
|
function GetIcon(_ref) {
|
|
7519
7519
|
let {
|
|
7520
7520
|
icon
|
|
7521
7521
|
} = _ref,
|
|
7522
|
-
props = _objectWithoutProperties(_ref, _excluded$
|
|
7522
|
+
props = _objectWithoutProperties(_ref, _excluded$x);
|
|
7523
7523
|
let Icon = Icons__namespace.CloseOutlined;
|
|
7524
7524
|
if (Icons__namespace[icon]) {
|
|
7525
7525
|
Icon = Icons__namespace[icon];
|
|
@@ -7849,7 +7849,7 @@ const MultiSelectStyled = styled__default["default"](antd.Select)`
|
|
|
7849
7849
|
}
|
|
7850
7850
|
`;
|
|
7851
7851
|
|
|
7852
|
-
const _excluded$
|
|
7852
|
+
const _excluded$w = ["options", "defaultSelected", "onChange", "textWhenMultiple", "withCount", "oneAlwaysSelected", "canUnselectLast", "isAvatarGroup", "maxAvatarCount", "dropDownWidth", "topAvatarValue", "isSingle", "selectionType"];
|
|
7853
7853
|
const {
|
|
7854
7854
|
useToken: useToken$n
|
|
7855
7855
|
} = antd.theme;
|
|
@@ -7942,7 +7942,7 @@ function Multiselect(_ref) {
|
|
|
7942
7942
|
isSingle = false,
|
|
7943
7943
|
selectionType = SELECTION_TYPES.DEFAULT
|
|
7944
7944
|
} = _ref,
|
|
7945
|
-
restProps = _objectWithoutProperties(_ref, _excluded$
|
|
7945
|
+
restProps = _objectWithoutProperties(_ref, _excluded$w);
|
|
7946
7946
|
const {
|
|
7947
7947
|
token
|
|
7948
7948
|
} = useToken$n();
|
|
@@ -8501,22 +8501,20 @@ const useHeader = _ref => {
|
|
|
8501
8501
|
const {
|
|
8502
8502
|
useToken: useToken$m
|
|
8503
8503
|
} = antd.theme;
|
|
8504
|
-
function BreadCrumbs(
|
|
8505
|
-
|
|
8506
|
-
|
|
8507
|
-
|
|
8508
|
-
} = _ref;
|
|
8504
|
+
function BreadCrumbs({
|
|
8505
|
+
breadcrumbs = [],
|
|
8506
|
+
mainContWidth = 0
|
|
8507
|
+
}) {
|
|
8509
8508
|
const [splitIndex, setSplitIndex] = React.useState(0);
|
|
8510
8509
|
const {
|
|
8511
8510
|
token
|
|
8512
8511
|
} = useToken$m();
|
|
8513
|
-
const _renderBreadcrumb =
|
|
8514
|
-
let noOnClickLast = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
8512
|
+
const _renderBreadcrumb = (b, i, isLast, noOnClickLast = false) => {
|
|
8515
8513
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
8516
8514
|
className: "flex breadcrumb-item",
|
|
8517
|
-
onClick: noOnClickLast && isLast ? undefined : b
|
|
8515
|
+
onClick: noOnClickLast && isLast ? undefined : b?.onClick,
|
|
8518
8516
|
children: [/*#__PURE__*/jsxRuntime.jsx("span", {
|
|
8519
|
-
children: b
|
|
8517
|
+
children: b?.label
|
|
8520
8518
|
}), !isLast && /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
8521
8519
|
className: "flex flex-column justify-content-center",
|
|
8522
8520
|
children: /*#__PURE__*/jsxRuntime.jsx(CustomIcon, {
|
|
@@ -8526,7 +8524,7 @@ function BreadCrumbs(_ref) {
|
|
|
8526
8524
|
color: token.baseGray50
|
|
8527
8525
|
})
|
|
8528
8526
|
})]
|
|
8529
|
-
},
|
|
8527
|
+
}, `breadcrumb-item-${i}`);
|
|
8530
8528
|
};
|
|
8531
8529
|
React.useEffect(() => {
|
|
8532
8530
|
const _placeholderCont = document.getElementById("header-breadcrumbs");
|
|
@@ -8569,7 +8567,7 @@ function BreadCrumbs(_ref) {
|
|
|
8569
8567
|
placement: "bottomRight",
|
|
8570
8568
|
menu: {
|
|
8571
8569
|
items: groupedBreadCrumbs[2].map((it, i) => ({
|
|
8572
|
-
key:
|
|
8570
|
+
key: `items-${i}`,
|
|
8573
8571
|
label: it.label,
|
|
8574
8572
|
onClick: it.onClick
|
|
8575
8573
|
}))
|
|
@@ -8664,7 +8662,7 @@ DAFHeader.propTypes = {
|
|
|
8664
8662
|
filtersConfig: PropTypes__default["default"].any
|
|
8665
8663
|
};
|
|
8666
8664
|
|
|
8667
|
-
const _excluded$
|
|
8665
|
+
const _excluded$v = ["tabs", "onChange", "value", "className"];
|
|
8668
8666
|
function TabsHeader(_ref) {
|
|
8669
8667
|
let {
|
|
8670
8668
|
tabs = [],
|
|
@@ -8672,7 +8670,7 @@ function TabsHeader(_ref) {
|
|
|
8672
8670
|
value = '',
|
|
8673
8671
|
className = 'mt-2'
|
|
8674
8672
|
} = _ref,
|
|
8675
|
-
rest = _objectWithoutProperties(_ref, _excluded$
|
|
8673
|
+
rest = _objectWithoutProperties(_ref, _excluded$v);
|
|
8676
8674
|
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
8677
8675
|
className: formatClassname(['daf-tabs-header pl-6 pr-6', className]),
|
|
8678
8676
|
children: /*#__PURE__*/jsxRuntime.jsx(antd.Tabs, _objectSpread2({
|
|
@@ -8769,7 +8767,7 @@ DrawerHeader.propTypes = {
|
|
|
8769
8767
|
tabsConfig: PropTypes__default["default"].any
|
|
8770
8768
|
};
|
|
8771
8769
|
|
|
8772
|
-
const _excluded$
|
|
8770
|
+
const _excluded$u = ["label", "onClick", "icon", "type", "tooltip", "disabled", "loading", "style", "className"];
|
|
8773
8771
|
const useFooter = _ref => {
|
|
8774
8772
|
let {
|
|
8775
8773
|
leftContent,
|
|
@@ -8804,7 +8802,7 @@ const useFooter = _ref => {
|
|
|
8804
8802
|
style = {},
|
|
8805
8803
|
className = ""
|
|
8806
8804
|
} = button,
|
|
8807
|
-
restProps = _objectWithoutProperties(button, _excluded$
|
|
8805
|
+
restProps = _objectWithoutProperties(button, _excluded$u);
|
|
8808
8806
|
return /*#__PURE__*/jsxRuntime.jsx(DafButton, _objectSpread2({
|
|
8809
8807
|
content: label,
|
|
8810
8808
|
type: type,
|
|
@@ -8831,8 +8829,8 @@ const useFooter = _ref => {
|
|
|
8831
8829
|
};
|
|
8832
8830
|
};
|
|
8833
8831
|
|
|
8834
|
-
var _templateObject$
|
|
8835
|
-
const FooterContainer = styled__default["default"].div(_templateObject$
|
|
8832
|
+
var _templateObject$e;
|
|
8833
|
+
const FooterContainer = styled__default["default"].div(_templateObject$e || (_templateObject$e = _taggedTemplateLiteral(["\n\t.daf-footer {\n\t\tbackground: #ffffff;\n\t\tborder-top: 1px solid #e8e8e8;\n\t\tborder-left: none;\n\t\tborder-right: none;\n\t\tborder-bottom: none;\n\t\tborder-radius: 0;\n\t\tpadding: 24px;\n\t\tmargin: 0;\n\t\tbox-shadow: none;\n\t\tz-index: 100;\n\t\tposition: relative;\n\t\tmin-height: 80px;\n\n\t\t&.daf-footer-fixed {\n\t\t\tposition: fixed;\n\t\t\tbottom: 0;\n\t\t\tleft: 0;\n\t\t\tright: 0;\n\t\t\tz-index: 1000;\n\t\t}\n\n\t\t.daf-footer-content {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: space-between;\n\t\t\twidth: 100%;\n\t\t\tmin-height: 32px;\n\n\t\t\t.daf-footer-left {\n\t\t\t\tflex: 1;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: flex-start;\n\t\t\t}\n\n\t\t\t.daf-footer-center {\n\t\t\t\tflex: 1;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\t\t\t}\n\n\t\t\t.daf-footer-right {\n\t\t\t\tflex: 1;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: flex-end;\n\t\t\t\tgap: 12px;\n\n\t\t\t\t.daf-footer-actions {\n\t\t\t\t\t.ant-btn {\n\t\t\t\t\t\theight: 40px;\n\t\t\t\t\t\tpadding: 0 24px;\n\t\t\t\t\t\tborder-radius: 6px;\n\t\t\t\t\t\tfont-weight: 500;\n\t\t\t\t\t\tfont-size: 14px;\n\t\t\t\t\t\ttransition: all 0.3s ease;\n\t\t\t\t\t\tborder: 1px solid transparent;\n\n\t\t\t\t\t\t&.ant-btn-primary {\n\t\t\t\t\t\t\tbackground-color: var(--color-primary-70);\n\t\t\t\t\t\t\tcolor: #ffffff;\n\t\t\t\t\t\t\tborder-color: var(--color-primary-70);\n\n\t\t\t\t\t\t\t&:hover {\n\t\t\t\t\t\t\t\tbackground-color: var(--color-primary-60);\n\t\t\t\t\t\t\t\tborder-color: var(--color-primary-60);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t&:active {\n\t\t\t\t\t\t\t\tbackground-color: var(--color-primary-80);\n\t\t\t\t\t\t\t\tborder-color: var(--color-primary-80);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t&:disabled {\n\t\t\t\t\t\t\t\tbackground-color: #f5f5f5;\n\t\t\t\t\t\t\t\tcolor: #bfbfbf;\n\t\t\t\t\t\t\t\tborder-color: #d9d9d9;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t&.ant-btn-default {\n\t\t\t\t\t\t\tbackground: #ffffff;\n\t\t\t\t\t\t\tcolor: #666666;\n\t\t\t\t\t\t\tborder-color: #d9d9d9;\n\n\t\t\t\t\t\t\t&:hover {\n\t\t\t\t\t\t\t\tborder-color: var(--color-primary-70);\n\t\t\t\t\t\t\t\tcolor: var(--color-primary-70);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t&:active {\n\t\t\t\t\t\t\t\tborder-color: var(--color-primary-80);\n\t\t\t\t\t\t\t\tcolor: var(--color-primary-80);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t&:disabled {\n\t\t\t\t\t\t\t\tbackground-color: #f5f5f5;\n\t\t\t\t\t\t\t\tcolor: #bfbfbf;\n\t\t\t\t\t\t\t\tborder-color: #d9d9d9;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t&.ant-btn-ghost {\n\t\t\t\t\t\t\tbackground: transparent;\n\t\t\t\t\t\t\tcolor: #666666;\n\t\t\t\t\t\t\tborder-color: #d9d9d9;\n\n\t\t\t\t\t\t\t&:hover {\n\t\t\t\t\t\t\t\tborder-color: var(--color-primary-70);\n\t\t\t\t\t\t\t\tcolor: var(--color-primary-70);\n\t\t\t\t\t\t\t\tbackground: rgba(0, 0, 0, 0.02);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t&:active {\n\t\t\t\t\t\t\t\tborder-color: var(--color-primary-80);\n\t\t\t\t\t\t\t\tcolor: var(--color-primary-80);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t&:disabled {\n\t\t\t\t\t\t\t\tcolor: #bfbfbf;\n\t\t\t\t\t\t\t\tborder-color: #d9d9d9;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/* Responsive design */\n\t@media (max-width: 768px) {\n\t\t.daf-footer {\n\t\t\tmargin: 0;\n\t\t\tpadding: 16px;\n\n\t\t\t.daf-footer-content {\n\t\t\t\tflex-direction: column;\n\t\t\t\tgap: 16px;\n\t\t\t\talign-items: stretch;\n\n\t\t\t\t.daf-footer-left,\n\t\t\t\t.daf-footer-center,\n\t\t\t\t.daf-footer-right {\n\t\t\t\t\tflex: none;\n\t\t\t\t\tjustify-content: center;\n\t\t\t\t}\n\n\t\t\t\t.daf-footer-right {\n\t\t\t\t\t.daf-footer-actions {\n\t\t\t\t\t\tjustify-content: center;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/* App-specific styling */\n\t&.sbg-app {\n\t\t.daf-footer {\n\t\t\tbackground: #f8f9fa;\n\t\t\tborder-color: #e9ecef;\n\t\t}\n\t}\n\n\t&.nashiriki-app {\n\t\t.daf-footer {\n\t\t\tbackground: #fff;\n\t\t\tborder-color: #d9d9d9;\n\t\t}\n\t}\n"])));
|
|
8836
8834
|
|
|
8837
8835
|
function DAFFooter(_ref) {
|
|
8838
8836
|
let {
|
|
@@ -9561,29 +9559,24 @@ const processConditionalTableKeys = (tableKeys, item) => {
|
|
|
9561
9559
|
});
|
|
9562
9560
|
return processedKeys;
|
|
9563
9561
|
};
|
|
9564
|
-
const renderFieldData =
|
|
9565
|
-
let getApiBaseUrl = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : () => {};
|
|
9566
|
-
let getAppHeader = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : () => {};
|
|
9567
|
-
let app = arguments.length > 6 ? arguments[6] : undefined;
|
|
9568
|
-
let allValues = arguments.length > 7 ? arguments[7] : undefined;
|
|
9569
|
-
let formValues = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : {};
|
|
9562
|
+
const renderFieldData = (type, value, user, config, getApiBaseUrl = () => {}, getAppHeader = () => {}, app, allValues, formValues = {}) => {
|
|
9570
9563
|
switch (type) {
|
|
9571
9564
|
case 'year':
|
|
9572
9565
|
return value !== '-' ? renderDateFormatted(value, 'YYYY', 'en') : '-';
|
|
9573
9566
|
case 'date':
|
|
9574
9567
|
{
|
|
9575
|
-
const language = user
|
|
9568
|
+
const language = user?.language && user?.language === 'sp' ? 'es' : user?.language;
|
|
9576
9569
|
return value !== '-' ? renderDateFormatted(value, 'DD MMM YYYY', language || 'en') : '-';
|
|
9577
9570
|
}
|
|
9578
9571
|
case 'select':
|
|
9579
9572
|
{
|
|
9580
|
-
const options =
|
|
9573
|
+
const options = config?.options || [];
|
|
9581
9574
|
const option = findOptions(value, options);
|
|
9582
9575
|
return option;
|
|
9583
9576
|
}
|
|
9584
9577
|
case 'multiselect':
|
|
9585
9578
|
{
|
|
9586
|
-
const options =
|
|
9579
|
+
const options = config?.options || [];
|
|
9587
9580
|
const _val = typeof value === 'string' ? value.split(',').map(v => v.trim()) : value;
|
|
9588
9581
|
const option = findOptions(_val, options);
|
|
9589
9582
|
return option.join(', ');
|
|
@@ -9598,7 +9591,7 @@ const renderFieldData = function (type, value, user, config) {
|
|
|
9598
9591
|
formValues: formValues
|
|
9599
9592
|
});
|
|
9600
9593
|
case 'percentage':
|
|
9601
|
-
return value === '-' || value === null || value === undefined ? '-' :
|
|
9594
|
+
return value === '-' || value === null || value === undefined ? '-' : `${value} %`;
|
|
9602
9595
|
case 'geolocation':
|
|
9603
9596
|
{
|
|
9604
9597
|
const val = JSON.parse(value) || {};
|
|
@@ -9612,7 +9605,7 @@ const renderFieldData = function (type, value, user, config) {
|
|
|
9612
9605
|
case 'upload':
|
|
9613
9606
|
case 'videoUpload':
|
|
9614
9607
|
{
|
|
9615
|
-
const documentName = allValues
|
|
9608
|
+
const documentName = allValues?.map(item => item?.name).join(', ');
|
|
9616
9609
|
return documentName;
|
|
9617
9610
|
}
|
|
9618
9611
|
default:
|
|
@@ -11690,7 +11683,7 @@ Widget.propTypes = {
|
|
|
11690
11683
|
};
|
|
11691
11684
|
Widget.displayName = 'Widget';
|
|
11692
11685
|
|
|
11693
|
-
const _excluded$
|
|
11686
|
+
const _excluded$t = ["loading", "title", "image", "description", "imgAlt", "noDescriptionText", "isPdf"];
|
|
11694
11687
|
function ImageWidget(_ref) {
|
|
11695
11688
|
let {
|
|
11696
11689
|
loading = false,
|
|
@@ -11701,7 +11694,7 @@ function ImageWidget(_ref) {
|
|
|
11701
11694
|
noDescriptionText,
|
|
11702
11695
|
isPdf = false
|
|
11703
11696
|
} = _ref,
|
|
11704
|
-
props = _objectWithoutProperties(_ref, _excluded$
|
|
11697
|
+
props = _objectWithoutProperties(_ref, _excluded$t);
|
|
11705
11698
|
const expandable = isPdf ? false : props.expandable;
|
|
11706
11699
|
return /*#__PURE__*/jsxRuntime.jsx(Widget, _objectSpread2(_objectSpread2({
|
|
11707
11700
|
loading: loading,
|
|
@@ -11760,8 +11753,8 @@ function ImageWidget(_ref) {
|
|
|
11760
11753
|
}
|
|
11761
11754
|
ImageWidget.displayName = 'ImageWidget';
|
|
11762
11755
|
|
|
11763
|
-
var _templateObject$
|
|
11764
|
-
const _excluded$
|
|
11756
|
+
var _templateObject$d;
|
|
11757
|
+
const _excluded$s = ["title", "loading", "data", "current", "defaultActiveTab", "widgetClassname", "className", "direction"];
|
|
11765
11758
|
function FlowWidget(_ref) {
|
|
11766
11759
|
let {
|
|
11767
11760
|
title,
|
|
@@ -11773,7 +11766,7 @@ function FlowWidget(_ref) {
|
|
|
11773
11766
|
className,
|
|
11774
11767
|
direction = "horizontal"
|
|
11775
11768
|
} = _ref,
|
|
11776
|
-
rest = _objectWithoutProperties(_ref, _excluded$
|
|
11769
|
+
rest = _objectWithoutProperties(_ref, _excluded$s);
|
|
11777
11770
|
const [activeTab, setActiveTab] = React.useState();
|
|
11778
11771
|
React.useEffect(() => {
|
|
11779
11772
|
if (defaultActiveTab) {
|
|
@@ -11910,7 +11903,7 @@ function Icon(_ref2) {
|
|
|
11910
11903
|
return icon(status);
|
|
11911
11904
|
}
|
|
11912
11905
|
}
|
|
11913
|
-
const Style$P = styled__default["default"].div(_templateObject$
|
|
11906
|
+
const Style$P = styled__default["default"].div(_templateObject$d || (_templateObject$d = _taggedTemplateLiteral(["\n\toverflow-x: auto;\n\toverflow-y: hidden;\n\n\t::-webkit-scrollbar {\n\t\tdisplay: none;\n\t}\n\n\tscrollbar-width: none;\n\n\t-ms-overflow-style: none;\n\n\t@media (max-width: 532px) {\n\t\toverflow-x: hidden;\n\t}\n\n\t:where(.ant-steps-horizontal):not(.ant-steps-label-vertical) {\n\t\t.ant-steps-item-content {\n\t\t\twidth: 100%;\n\n\t\t\t.ant-steps-item-description {\n\t\t\t\tmin-width: 205px;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t}\n\t}\n"])));
|
|
11914
11907
|
FlowWidget.propTypes = {
|
|
11915
11908
|
title: PropTypes__default["default"].string,
|
|
11916
11909
|
loading: PropTypes__default["default"].bool,
|
|
@@ -12325,12 +12318,8 @@ const Style$N = styled__default["default"].div`
|
|
|
12325
12318
|
border-left: none;
|
|
12326
12319
|
border-bottom: none;
|
|
12327
12320
|
|
|
12328
|
-
/* Add separator line for
|
|
12329
|
-
|
|
12330
|
-
&:nth-child(1),
|
|
12331
|
-
&:nth-child(2),
|
|
12332
|
-
&:nth-child(3),
|
|
12333
|
-
&:nth-child(4) {
|
|
12321
|
+
/* Add separator line for all items except the last two (last items in each column) */
|
|
12322
|
+
&:not(:nth-last-child(-n+2)) {
|
|
12334
12323
|
&::after {
|
|
12335
12324
|
content: '';
|
|
12336
12325
|
position: absolute;
|
|
@@ -12452,7 +12441,7 @@ const NoMinWidth = styled__default["default"].div`
|
|
|
12452
12441
|
}
|
|
12453
12442
|
`;
|
|
12454
12443
|
|
|
12455
|
-
var _templateObject$
|
|
12444
|
+
var _templateObject$c;
|
|
12456
12445
|
function ActivityIndicatorsWidget(_ref) {
|
|
12457
12446
|
let {
|
|
12458
12447
|
t = s => s,
|
|
@@ -12538,12 +12527,18 @@ function Label$1(_ref2) {
|
|
|
12538
12527
|
* @param {string} configItem.type - "empty" | "compliant" | "notCompliant"
|
|
12539
12528
|
* @param {Function} configItem.onClick - Optional callback for empty type
|
|
12540
12529
|
* @param {string} configItem.statusIcon - Optional custom icon name for status badge (overrides default)
|
|
12530
|
+
* @param {string} configItem.statusIconColor - Optional custom color for status icon
|
|
12531
|
+
* @param {string} configItem.statusBadgeBackgroundColor - Optional custom background color for status badge
|
|
12532
|
+
* @param {string} configItem.statusBadgeBorderColor - Optional custom border color for status badge
|
|
12541
12533
|
*/
|
|
12542
12534
|
function renderStatus$1(configItem) {
|
|
12543
12535
|
const {
|
|
12544
12536
|
type,
|
|
12545
12537
|
onClick,
|
|
12546
|
-
statusIcon
|
|
12538
|
+
statusIcon,
|
|
12539
|
+
statusIconColor,
|
|
12540
|
+
statusBadgeBackgroundColor,
|
|
12541
|
+
statusBadgeBorderColor
|
|
12547
12542
|
} = configItem;
|
|
12548
12543
|
switch (type) {
|
|
12549
12544
|
case "empty":
|
|
@@ -12559,21 +12554,29 @@ function renderStatus$1(configItem) {
|
|
|
12559
12554
|
case "compliant":
|
|
12560
12555
|
return /*#__PURE__*/jsxRuntime.jsx(StatusBadge, {
|
|
12561
12556
|
className: "status-badge compliant border",
|
|
12557
|
+
style: {
|
|
12558
|
+
backgroundColor: statusBadgeBackgroundColor || "#ECFDF3",
|
|
12559
|
+
borderColor: statusBadgeBorderColor || "#A7F3D0"
|
|
12560
|
+
},
|
|
12562
12561
|
children: /*#__PURE__*/jsxRuntime.jsx(CustomIcon, {
|
|
12563
12562
|
name: statusIcon || "Check",
|
|
12564
12563
|
width: 14,
|
|
12565
12564
|
height: 14,
|
|
12566
|
-
color: "#12B76A"
|
|
12565
|
+
color: statusIconColor || "#12B76A"
|
|
12567
12566
|
})
|
|
12568
12567
|
});
|
|
12569
12568
|
case "notCompliant":
|
|
12570
12569
|
return /*#__PURE__*/jsxRuntime.jsx(StatusBadge, {
|
|
12571
12570
|
className: "status-badge not-compliant border",
|
|
12571
|
+
style: {
|
|
12572
|
+
backgroundColor: statusBadgeBackgroundColor || "#FEF3F2",
|
|
12573
|
+
borderColor: statusBadgeBorderColor || "#FECACA"
|
|
12574
|
+
},
|
|
12572
12575
|
children: /*#__PURE__*/jsxRuntime.jsx(CustomIcon, {
|
|
12573
12576
|
name: statusIcon || "Close",
|
|
12574
12577
|
width: 14,
|
|
12575
12578
|
height: 14,
|
|
12576
|
-
color: "#D92D20"
|
|
12579
|
+
color: statusIconColor || "#D92D20"
|
|
12577
12580
|
})
|
|
12578
12581
|
});
|
|
12579
12582
|
default:
|
|
@@ -12587,7 +12590,7 @@ function renderStatus$1(configItem) {
|
|
|
12587
12590
|
});
|
|
12588
12591
|
}
|
|
12589
12592
|
}
|
|
12590
|
-
const StatusBadge = styled__default["default"].div(_templateObject$
|
|
12593
|
+
const StatusBadge = styled__default["default"].div(_templateObject$c || (_templateObject$c = _taggedTemplateLiteral(["\n\twidth: 24px;\n\theight: 24px;\n\tborder-radius: 50%;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tflex-shrink: 0;\n\n\t&.compliant {\n\t\tbackground-color: #ECFDF3;\n\t\tborder: 1px solid #A7F3D0;\n\t}\n\n\t&.not-compliant {\n\t\tbackground-color: #FEF3F2;\n\t\tborder: 1px solid #FECACA;\n\t}\n\n\t&.empty {\n\t\tbackground-color: #F9FAFB;\n\t\tborder: 1px solid #E5E7EB;\n\t}\n"])));
|
|
12591
12594
|
ActivityIndicatorsWidget.displayName = "ActivityIndicatorsWidget";
|
|
12592
12595
|
|
|
12593
12596
|
function TooltipIcon(_ref) {
|
|
@@ -15479,7 +15482,7 @@ Map$3.propTypes = {
|
|
|
15479
15482
|
link: PropTypes__default["default"].any
|
|
15480
15483
|
};
|
|
15481
15484
|
|
|
15482
|
-
const _excluded$
|
|
15485
|
+
const _excluded$r = ["isExpanded", "shouldRenderMap", "renderKey", "title", "loading", "t", "user", "data", "height", "widgetConfig"];
|
|
15483
15486
|
function InExpandableWidgetMap(_ref) {
|
|
15484
15487
|
let {
|
|
15485
15488
|
isExpanded,
|
|
@@ -15493,7 +15496,7 @@ function InExpandableWidgetMap(_ref) {
|
|
|
15493
15496
|
height,
|
|
15494
15497
|
widgetConfig
|
|
15495
15498
|
} = _ref,
|
|
15496
|
-
rest = _objectWithoutProperties(_ref, _excluded$
|
|
15499
|
+
rest = _objectWithoutProperties(_ref, _excluded$r);
|
|
15497
15500
|
const [mapKey, setMapKey] = React.useState(0);
|
|
15498
15501
|
const [isMapReady, setIsMapReady] = React.useState(false);
|
|
15499
15502
|
React.useEffect(() => {
|
|
@@ -17693,14 +17696,14 @@ const MapConfig = ({
|
|
|
17693
17696
|
});
|
|
17694
17697
|
};
|
|
17695
17698
|
|
|
17696
|
-
const _excluded$
|
|
17699
|
+
const _excluded$q = ["config", "title", "loading"];
|
|
17697
17700
|
const Details = _ref => {
|
|
17698
17701
|
let {
|
|
17699
17702
|
config = [],
|
|
17700
17703
|
title,
|
|
17701
17704
|
loading = false
|
|
17702
17705
|
} = _ref,
|
|
17703
|
-
rest = _objectWithoutProperties(_ref, _excluded$
|
|
17706
|
+
rest = _objectWithoutProperties(_ref, _excluded$q);
|
|
17704
17707
|
return /*#__PURE__*/jsxRuntime.jsx(Widget, _objectSpread2(_objectSpread2({
|
|
17705
17708
|
className: "with-border-header h-w-btn-header card",
|
|
17706
17709
|
loading: loading,
|
|
@@ -17716,14 +17719,14 @@ const Details = _ref => {
|
|
|
17716
17719
|
}));
|
|
17717
17720
|
};
|
|
17718
17721
|
|
|
17719
|
-
const _excluded$
|
|
17722
|
+
const _excluded$p = ["config", "title", "loading"];
|
|
17720
17723
|
const KeyIndicatorsDetails = _ref => {
|
|
17721
17724
|
let {
|
|
17722
17725
|
config,
|
|
17723
17726
|
title,
|
|
17724
17727
|
loading = false
|
|
17725
17728
|
} = _ref,
|
|
17726
|
-
rest = _objectWithoutProperties(_ref, _excluded$
|
|
17729
|
+
rest = _objectWithoutProperties(_ref, _excluded$p);
|
|
17727
17730
|
return /*#__PURE__*/jsxRuntime.jsx(Widget, _objectSpread2(_objectSpread2({
|
|
17728
17731
|
className: "with-border-header h-w-btn-header",
|
|
17729
17732
|
title: title,
|
|
@@ -17753,7 +17756,7 @@ const Style$G = styled__default["default"].div`
|
|
|
17753
17756
|
}
|
|
17754
17757
|
`;
|
|
17755
17758
|
|
|
17756
|
-
const _excluded$
|
|
17759
|
+
const _excluded$o = ["children", "config", "detailsTitle", "firstColumnWidth"];
|
|
17757
17760
|
const DetailsSection = _ref => {
|
|
17758
17761
|
let {
|
|
17759
17762
|
children,
|
|
@@ -17761,7 +17764,7 @@ const DetailsSection = _ref => {
|
|
|
17761
17764
|
detailsTitle,
|
|
17762
17765
|
firstColumnWidth = "250px"
|
|
17763
17766
|
} = _ref,
|
|
17764
|
-
rest = _objectWithoutProperties(_ref, _excluded$
|
|
17767
|
+
rest = _objectWithoutProperties(_ref, _excluded$o);
|
|
17765
17768
|
return /*#__PURE__*/jsxRuntime.jsx(Style$G, {
|
|
17766
17769
|
firstColumnWidth: firstColumnWidth,
|
|
17767
17770
|
children: /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
@@ -17936,15 +17939,15 @@ const getGoalConfig = () => {
|
|
|
17936
17939
|
}];
|
|
17937
17940
|
};
|
|
17938
17941
|
|
|
17939
|
-
var _templateObject$
|
|
17940
|
-
const _excluded$
|
|
17942
|
+
var _templateObject$b;
|
|
17943
|
+
const _excluded$n = ["title", "activeSdgGoals", "t"];
|
|
17941
17944
|
function SDGWidget(_ref) {
|
|
17942
17945
|
let {
|
|
17943
17946
|
title = "Sustainable Development Goals",
|
|
17944
17947
|
activeSdgGoals = [],
|
|
17945
17948
|
t = key => key
|
|
17946
17949
|
} = _ref,
|
|
17947
|
-
props = _objectWithoutProperties(_ref, _excluded$
|
|
17950
|
+
props = _objectWithoutProperties(_ref, _excluded$n);
|
|
17948
17951
|
const sdgConfig = getGoalConfig();
|
|
17949
17952
|
return /*#__PURE__*/jsxRuntime.jsx(Widget, _objectSpread2(_objectSpread2({
|
|
17950
17953
|
title: title,
|
|
@@ -17965,10 +17968,10 @@ function SDGWidget(_ref) {
|
|
|
17965
17968
|
})
|
|
17966
17969
|
}));
|
|
17967
17970
|
}
|
|
17968
|
-
const SDGContainer = styled__default["default"].div(_templateObject$
|
|
17971
|
+
const SDGContainer = styled__default["default"].div(_templateObject$b || (_templateObject$b = _taggedTemplateLiteral(["\n\tdisplay: grid;\n\tgrid-template-columns: repeat(auto-fit, minmax(53px, 1fr));\n\tgap: 8px;\n\n\t.sdg-item {\n\t\theight: 53px;\n\t\twidth: 53px;\n\t\tborder-radius: 8px;\n\t\tbackground-size: cover;\n\t\tbackground-position: center;\n\t\tbackground-repeat: no-repeat;\n\t}\n\n\t.sdg-item-content {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\theight: 100%;\n\t\tcolor: white;\n\t\ttext-align: center;\n\t}\n"])));
|
|
17969
17972
|
|
|
17970
|
-
var _templateObject$
|
|
17971
|
-
const Style$F = styled__default["default"].div(_templateObject$
|
|
17973
|
+
var _templateObject$a;
|
|
17974
|
+
const Style$F = styled__default["default"].div(_templateObject$a || (_templateObject$a = _taggedTemplateLiteral(["\n\tposition: relative;\n\twidth: 100%;\n\theight: 100%;\n\n\t.p-placeholder {\n\t\tposition: absolute;\n\t\ttop: 0px;\n\t\tleft: 0px;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tbackground: transparent;\n\t\tz-index: 100;\n\t\tcursor: default;\n\t}\n"])));
|
|
17972
17975
|
|
|
17973
17976
|
/**
|
|
17974
17977
|
* ComponentWithHoverFocus
|
|
@@ -18242,7 +18245,7 @@ function SdgList({
|
|
|
18242
18245
|
});
|
|
18243
18246
|
}
|
|
18244
18247
|
|
|
18245
|
-
const _excluded$
|
|
18248
|
+
const _excluded$m = ["title", "description", "onLinkClick", "image", "linkIcon", "sdgList", "items", "onCardClick", "hideSDGList", "t"];
|
|
18246
18249
|
const {
|
|
18247
18250
|
Meta
|
|
18248
18251
|
} = antd.Card;
|
|
@@ -18262,7 +18265,7 @@ function ProjectWidget(_ref) {
|
|
|
18262
18265
|
hideSDGList = false,
|
|
18263
18266
|
t = x => x
|
|
18264
18267
|
} = _ref,
|
|
18265
|
-
props = _objectWithoutProperties(_ref, _excluded$
|
|
18268
|
+
props = _objectWithoutProperties(_ref, _excluded$m);
|
|
18266
18269
|
const [isHovered, setIsHovered] = React__default["default"].useState(false);
|
|
18267
18270
|
const {
|
|
18268
18271
|
token
|
|
@@ -18534,13 +18537,13 @@ const WidgetCard = _ref => {
|
|
|
18534
18537
|
});
|
|
18535
18538
|
};
|
|
18536
18539
|
|
|
18537
|
-
const _excluded$
|
|
18540
|
+
const _excluded$l = ["title", "children"];
|
|
18538
18541
|
const CarouselWidget = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
18539
18542
|
let {
|
|
18540
18543
|
title,
|
|
18541
18544
|
children
|
|
18542
18545
|
} = _ref,
|
|
18543
|
-
rest = _objectWithoutProperties(_ref, _excluded$
|
|
18546
|
+
rest = _objectWithoutProperties(_ref, _excluded$l);
|
|
18544
18547
|
/**
|
|
18545
18548
|
* Handles carousel slide change events
|
|
18546
18549
|
* @param {number} currentSlide - The index of the current slide after change
|
|
@@ -18704,7 +18707,7 @@ const EmptyStateContainer = styled__default["default"].div`
|
|
|
18704
18707
|
}
|
|
18705
18708
|
`;
|
|
18706
18709
|
|
|
18707
|
-
const _excluded$
|
|
18710
|
+
const _excluded$k = ["title", "images", "height", "fallback", "activeDotColor", "inactiveDotColor", "arrowIconColor", "arrowHoverIconColor", "customArrows", "emptyLogo", "emptyText"];
|
|
18708
18711
|
function ImageCarousel(_ref) {
|
|
18709
18712
|
let {
|
|
18710
18713
|
title,
|
|
@@ -18719,7 +18722,7 @@ function ImageCarousel(_ref) {
|
|
|
18719
18722
|
emptyLogo = antd.Empty.PRESENTED_IMAGE_SIMPLE,
|
|
18720
18723
|
emptyText = "No Image"
|
|
18721
18724
|
} = _ref,
|
|
18722
|
-
rest = _objectWithoutProperties(_ref, _excluded$
|
|
18725
|
+
rest = _objectWithoutProperties(_ref, _excluded$k);
|
|
18723
18726
|
const [previewVisible, setPreviewVisible] = React.useState(false);
|
|
18724
18727
|
const [current, setCurrent] = React.useState(0);
|
|
18725
18728
|
const carouselRef = React.useRef(null);
|
|
@@ -19017,6 +19020,167 @@ const StatCard = _ref => {
|
|
|
19017
19020
|
}));
|
|
19018
19021
|
};
|
|
19019
19022
|
|
|
19023
|
+
const VEGETATION_KEYS = {
|
|
19024
|
+
HEALTHY: "healthy",
|
|
19025
|
+
WHITE_SPOTS: "white",
|
|
19026
|
+
BLACK_SPOTS: "black",
|
|
19027
|
+
REDDISH_SPOTS: "reddish",
|
|
19028
|
+
YELLOWING: "yellowing",
|
|
19029
|
+
MOSAIC: "mosaic",
|
|
19030
|
+
DRY_OR_DEAD: "dryOrDead",
|
|
19031
|
+
NO_LEAVES: "noLeaves",
|
|
19032
|
+
SPIDER_WEBS: "spiderWebs",
|
|
19033
|
+
DAMAGE_FROM_INSECTS: "damageFromInsects"
|
|
19034
|
+
};
|
|
19035
|
+
|
|
19036
|
+
// Mapping from growthObservations keys to VEGETATION_KEYS
|
|
19037
|
+
const GROWTH_OBSERVATIONS_TO_VEGETATION_KEYS = {
|
|
19038
|
+
"white_spots": VEGETATION_KEYS.WHITE_SPOTS,
|
|
19039
|
+
"healthy_leaves": VEGETATION_KEYS.HEALTHY,
|
|
19040
|
+
"yellowing_leaves": VEGETATION_KEYS.YELLOWING,
|
|
19041
|
+
"leaf_mosaic": VEGETATION_KEYS.MOSAIC,
|
|
19042
|
+
"dry_dead_leaves": VEGETATION_KEYS.DRY_OR_DEAD,
|
|
19043
|
+
"no_leaves": VEGETATION_KEYS.NO_LEAVES,
|
|
19044
|
+
"black_spots": VEGETATION_KEYS.BLACK_SPOTS,
|
|
19045
|
+
"reddish_spots": VEGETATION_KEYS.REDDISH_SPOTS,
|
|
19046
|
+
"spider_webs": VEGETATION_KEYS.SPIDER_WEBS,
|
|
19047
|
+
"insect_damage": VEGETATION_KEYS.DAMAGE_FROM_INSECTS
|
|
19048
|
+
};
|
|
19049
|
+
const getVegetationConfig = () => {
|
|
19050
|
+
return [{
|
|
19051
|
+
img: "/Vegetation/healthy.svg",
|
|
19052
|
+
key: VEGETATION_KEYS.HEALTHY,
|
|
19053
|
+
disabled: "/Vegetation/healthy-default.svg"
|
|
19054
|
+
}, {
|
|
19055
|
+
img: "/Vegetation/white.svg",
|
|
19056
|
+
key: VEGETATION_KEYS.WHITE_SPOTS,
|
|
19057
|
+
disabled: "/Vegetation/white-default.svg"
|
|
19058
|
+
}, {
|
|
19059
|
+
img: "/Vegetation/black.svg",
|
|
19060
|
+
key: VEGETATION_KEYS.BLACK_SPOTS,
|
|
19061
|
+
disabled: "/Vegetation/black-default.svg"
|
|
19062
|
+
}, {
|
|
19063
|
+
img: "/Vegetation/reddish.svg",
|
|
19064
|
+
key: VEGETATION_KEYS.REDDISH_SPOTS,
|
|
19065
|
+
disabled: "/Vegetation/reddish-default.svg"
|
|
19066
|
+
}, {
|
|
19067
|
+
img: "/Vegetation/yellowing.svg",
|
|
19068
|
+
key: VEGETATION_KEYS.YELLOWING,
|
|
19069
|
+
disabled: "/Vegetation/yellowing-default.svg"
|
|
19070
|
+
}, {
|
|
19071
|
+
img: "/Vegetation/mosaic.svg",
|
|
19072
|
+
key: VEGETATION_KEYS.MOSAIC,
|
|
19073
|
+
disabled: "/Vegetation/mosaic-default.svg"
|
|
19074
|
+
}, {
|
|
19075
|
+
img: "/Vegetation/dry-or-dead.svg",
|
|
19076
|
+
key: VEGETATION_KEYS.DRY_OR_DEAD,
|
|
19077
|
+
disabled: "/Vegetation/dry-or-dead-default.svg"
|
|
19078
|
+
}, {
|
|
19079
|
+
img: "/Vegetation/no-leaves.svg",
|
|
19080
|
+
key: VEGETATION_KEYS.NO_LEAVES,
|
|
19081
|
+
disabled: "/Vegetation/no-leaves-default.svg"
|
|
19082
|
+
}, {
|
|
19083
|
+
img: "/Vegetation/spider-webs.svg",
|
|
19084
|
+
key: VEGETATION_KEYS.SPIDER_WEBS,
|
|
19085
|
+
disabled: "/Vegetation/spider-webs-default.svg"
|
|
19086
|
+
}, {
|
|
19087
|
+
img: "/Vegetation/damage-from-insects.svg",
|
|
19088
|
+
key: VEGETATION_KEYS.DAMAGE_FROM_INSECTS,
|
|
19089
|
+
disabled: "/Vegetation/damage-from-insects-default.svg"
|
|
19090
|
+
}];
|
|
19091
|
+
};
|
|
19092
|
+
|
|
19093
|
+
var _templateObject$9, _templateObject2$1;
|
|
19094
|
+
const _excluded$j = ["title", "activeVegetationConditions", "filterKeys", "columnsPerRow", "itemWidth", "itemHeight", "growthObservations", "t"];
|
|
19095
|
+
function VegetationWidget(_ref) {
|
|
19096
|
+
let {
|
|
19097
|
+
title = "Vegetation Health",
|
|
19098
|
+
activeVegetationConditions = [],
|
|
19099
|
+
filterKeys = null,
|
|
19100
|
+
columnsPerRow = null,
|
|
19101
|
+
itemWidth = 140.33,
|
|
19102
|
+
itemHeight = 140,
|
|
19103
|
+
growthObservations = [],
|
|
19104
|
+
t = key => key
|
|
19105
|
+
} = _ref,
|
|
19106
|
+
props = _objectWithoutProperties(_ref, _excluded$j);
|
|
19107
|
+
let vegetationConfig = getVegetationConfig();
|
|
19108
|
+
|
|
19109
|
+
// Get all VEGETATION_KEYS values before filtering (needed for mapping check)
|
|
19110
|
+
const allVegetationKeys = vegetationConfig.map(item => item.key);
|
|
19111
|
+
|
|
19112
|
+
// Filter to show only specific keys if filterKeys is provided
|
|
19113
|
+
if (filterKeys && Array.isArray(filterKeys)) {
|
|
19114
|
+
vegetationConfig = vegetationConfig.filter(item => filterKeys.includes(item.key));
|
|
19115
|
+
}
|
|
19116
|
+
|
|
19117
|
+
// Map growthObservations to VEGETATION_KEYS
|
|
19118
|
+
// Handle both formats: growthObservations keys (e.g., "yellowing_leaves") and VEGETATION_KEYS (e.g., "yellowing")
|
|
19119
|
+
const mappedGrowthObservations = Array.isArray(growthObservations) ? growthObservations.map(obs => {
|
|
19120
|
+
// First try to map from growthObservations format
|
|
19121
|
+
const mapped = GROWTH_OBSERVATIONS_TO_VEGETATION_KEYS[obs];
|
|
19122
|
+
if (mapped) {
|
|
19123
|
+
return mapped;
|
|
19124
|
+
}
|
|
19125
|
+
// If not mapped, check if it's already a VEGETATION_KEY value
|
|
19126
|
+
if (allVegetationKeys.includes(obs)) {
|
|
19127
|
+
return obs;
|
|
19128
|
+
}
|
|
19129
|
+
// Debug: log unmapped observations
|
|
19130
|
+
if (obs) {
|
|
19131
|
+
console.warn("VegetationWidget: Unmapped growthObservation \"".concat(obs, "\""));
|
|
19132
|
+
}
|
|
19133
|
+
return null;
|
|
19134
|
+
}).filter(Boolean) : [];
|
|
19135
|
+
return /*#__PURE__*/jsxRuntime.jsx(Widget, _objectSpread2(_objectSpread2({
|
|
19136
|
+
title: title,
|
|
19137
|
+
className: "with-border-header"
|
|
19138
|
+
}, props), {}, {
|
|
19139
|
+
children: /*#__PURE__*/jsxRuntime.jsx(VegetationWrapper, {
|
|
19140
|
+
$columnsPerRow: columnsPerRow,
|
|
19141
|
+
children: /*#__PURE__*/jsxRuntime.jsx(VegetationContainer, {
|
|
19142
|
+
$columnsPerRow: columnsPerRow,
|
|
19143
|
+
$itemWidth: itemWidth,
|
|
19144
|
+
$itemHeight: itemHeight,
|
|
19145
|
+
children: vegetationConfig.map(item => {
|
|
19146
|
+
// Use colored SVG if the item's key exists in growthObservations (mapped)
|
|
19147
|
+
// Otherwise use default SVG
|
|
19148
|
+
// Also check activeVegetationConditions for backward compatibility
|
|
19149
|
+
const isInGrowthObservations = mappedGrowthObservations.includes(item.key);
|
|
19150
|
+
const isInActiveConditions = activeVegetationConditions.includes(item.key);
|
|
19151
|
+
|
|
19152
|
+
// Use colored SVG if it exists in growthObservations OR activeVegetationConditions
|
|
19153
|
+
const shouldUseColored = isInGrowthObservations || isInActiveConditions;
|
|
19154
|
+
|
|
19155
|
+
// Debug logging for yellowing specifically
|
|
19156
|
+
if (item.key === "yellowing") {
|
|
19157
|
+
console.log("Yellowing debug:", {
|
|
19158
|
+
itemKey: item.key,
|
|
19159
|
+
growthObservations,
|
|
19160
|
+
mappedGrowthObservations,
|
|
19161
|
+
isInGrowthObservations,
|
|
19162
|
+
isInActiveConditions,
|
|
19163
|
+
shouldUseColored,
|
|
19164
|
+
img: item.img,
|
|
19165
|
+
disabled: item.disabled
|
|
19166
|
+
});
|
|
19167
|
+
}
|
|
19168
|
+
return /*#__PURE__*/jsxRuntime.jsx(antd.Tooltip, {
|
|
19169
|
+
title: t("straatos::".concat(item.key)),
|
|
19170
|
+
children: /*#__PURE__*/jsxRuntime.jsx("img", {
|
|
19171
|
+
src: shouldUseColored ? item.img : item.disabled,
|
|
19172
|
+
className: "vegetation-item",
|
|
19173
|
+
alt: item.key
|
|
19174
|
+
}, item.key)
|
|
19175
|
+
}, item.key);
|
|
19176
|
+
})
|
|
19177
|
+
})
|
|
19178
|
+
})
|
|
19179
|
+
}));
|
|
19180
|
+
}
|
|
19181
|
+
const VegetationWrapper = styled__default["default"].div(_templateObject$9 || (_templateObject$9 = _taggedTemplateLiteral(["\n\t", "\n"])), props => props.$columnsPerRow ? "\n\t\toverflow-x: auto;\n\t\twidth: 100%;\n\t" : '');
|
|
19182
|
+
const VegetationContainer = styled__default["default"].div(_templateObject2$1 || (_templateObject2$1 = _taggedTemplateLiteral(["\n\tdisplay: grid;\n\tgrid-template-columns: ", ";\n\tgap: 24px;\n\t", "\n\n\t.vegetation-item {\n\t\twidth: 100%;\n\t\taspect-ratio: ", ";\n\t\tborder-radius: 7px;\n\t\tflex-shrink: 0;\n\t\n\t\tbackground-size: cover;\n\t\tbackground-position: center;\n\t\tbackground-repeat: no-repeat;\n\t}\n\n\t.vegetation-item-content {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\theight: 100%;\n\t\tcolor: white;\n\t\ttext-align: center;\n\t}\n"])), props => props.$columnsPerRow ? "repeat(".concat(props.$columnsPerRow, ", 1fr)") : "repeat(auto-fit, minmax(".concat(props.$itemWidth, "px, 1fr))"), props => props.$columnsPerRow ? "\n\t\twidth: 100%;\n\t" : '', props => props.$itemWidth / props.$itemHeight);
|
|
19183
|
+
|
|
19020
19184
|
var Style$C = styled__default["default"].div`
|
|
19021
19185
|
border: 1px solid var(--base-gray-40);
|
|
19022
19186
|
padding: 12px;
|
|
@@ -25185,6 +25349,9 @@ class VersionService extends BaseService {
|
|
|
25185
25349
|
var VersionService$1 = createLazyService(VersionService);
|
|
25186
25350
|
|
|
25187
25351
|
const getSourcesType = subject => {
|
|
25352
|
+
console.log({
|
|
25353
|
+
subject
|
|
25354
|
+
});
|
|
25188
25355
|
const typeMapping = {
|
|
25189
25356
|
locations: "location",
|
|
25190
25357
|
location: "location",
|
|
@@ -25198,7 +25365,8 @@ const getSourcesType = subject => {
|
|
|
25198
25365
|
events: "event",
|
|
25199
25366
|
event: "event",
|
|
25200
25367
|
activities: "event",
|
|
25201
|
-
incidents: "event"
|
|
25368
|
+
incidents: "event",
|
|
25369
|
+
"planting-cycle": "planting-cycle"
|
|
25202
25370
|
};
|
|
25203
25371
|
return typeMapping[subject] ?? null;
|
|
25204
25372
|
};
|
|
@@ -51038,7 +51206,7 @@ const BaseScreen = _ref => {
|
|
|
51038
51206
|
*/
|
|
51039
51207
|
const renderNumber = (val, doubleDigit = false) => {
|
|
51040
51208
|
if (typeof val !== 'number') {
|
|
51041
|
-
return '
|
|
51209
|
+
return '-';
|
|
51042
51210
|
}
|
|
51043
51211
|
const _string = Number(val).toLocaleString('en-us');
|
|
51044
51212
|
if (doubleDigit) {
|
|
@@ -62687,6 +62855,7 @@ exports.TabsHeader = TabsHeader;
|
|
|
62687
62855
|
exports.TooltipIcon = TooltipIcon;
|
|
62688
62856
|
exports.TradeRelationship = index$1;
|
|
62689
62857
|
exports.UserTable = UserTable;
|
|
62858
|
+
exports.VegetationHealth = VegetationWidget;
|
|
62690
62859
|
exports.ViewForm = Content$1;
|
|
62691
62860
|
exports.ViewFormInput = Input;
|
|
62692
62861
|
exports.ViewFormNavigation = Navigation;
|