@hisptz/dhis2-scorecard 1.0.5 → 1.0.7
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/Scorecard.stories.js +2 -2
- package/dist/Scorecard.stories.js.map +1 -1
- package/dist/components/ColGroup.js +3 -3
- package/dist/components/ColGroup.js.map +1 -1
- package/dist/components/ScorecardHeader.js +3 -3
- package/dist/components/ScorecardHeader.js.map +1 -1
- package/dist/components/ScorecardLegendsView/components/ArrowLegendView.js +2 -2
- package/dist/components/ScorecardLegendsView/components/ArrowLegendView.js.map +1 -1
- package/dist/components/ScorecardTable/ScorecardTable.js +2 -2
- package/dist/components/ScorecardTable/ScorecardTable.js.map +1 -1
- package/dist/components/ScorecardTable/components/AverageCell.js +2 -2
- package/dist/components/ScorecardTable/components/AverageCell.js.map +1 -1
- package/dist/components/ScorecardTable/components/DataFooterCell.js +2 -2
- package/dist/components/ScorecardTable/components/DataFooterCell.js.map +1 -1
- package/dist/components/ScorecardTable/components/DataValue.js +2 -2
- package/dist/components/ScorecardTable/components/DataValue.js.map +1 -1
- package/dist/components/ScorecardTable/components/ExpandedScorecardTable.js +3 -3
- package/dist/components/ScorecardTable/components/ExpandedScorecardTable.js.map +1 -1
- package/dist/components/ScorecardTable/components/MetaFooterCell.js +2 -2
- package/dist/components/ScorecardTable/components/MetaFooterCell.js.map +1 -1
- package/dist/components/ScorecardTable/components/TableFoot.js +2 -2
- package/dist/components/ScorecardTable/components/TableFoot.js.map +1 -1
- package/dist/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js +3 -3
- package/dist/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js.map +1 -1
- package/dist/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js +2 -2
- package/dist/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js.map +1 -1
- package/dist/components/ScorecardTable/components/TableHeader/components/FilterArea.js +2 -2
- package/dist/components/ScorecardTable/components/TableHeader/components/FilterArea.js.map +1 -1
- package/dist/components/ScorecardTable/components/TableHeader/components/LabelCell.js +4 -4
- package/dist/components/ScorecardTable/components/TableHeader/components/LabelCell.js.map +1 -1
- package/dist/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js +3 -3
- package/dist/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js.map +1 -1
- package/dist/components/StateProvider.js +2 -2
- package/dist/components/StateProvider.js.map +1 -1
- package/dist/components/index.js +14 -0
- package/dist/components/index.js.map +1 -1
- package/dist/esm/Scorecard.stories.js +1 -1
- package/dist/esm/Scorecard.stories.js.map +1 -1
- package/dist/esm/components/ColGroup.js +1 -1
- package/dist/esm/components/ColGroup.js.map +1 -1
- package/dist/esm/components/ScorecardHeader.js +1 -1
- package/dist/esm/components/ScorecardHeader.js.map +1 -1
- package/dist/esm/components/ScorecardLegendsView/components/ArrowLegendView.js +1 -1
- package/dist/esm/components/ScorecardLegendsView/components/ArrowLegendView.js.map +1 -1
- package/dist/esm/components/ScorecardTable/ScorecardTable.js +1 -1
- package/dist/esm/components/ScorecardTable/ScorecardTable.js.map +1 -1
- package/dist/esm/components/ScorecardTable/components/AverageCell.js +1 -1
- package/dist/esm/components/ScorecardTable/components/AverageCell.js.map +1 -1
- package/dist/esm/components/ScorecardTable/components/DataFooterCell.js +1 -1
- package/dist/esm/components/ScorecardTable/components/DataFooterCell.js.map +1 -1
- package/dist/esm/components/ScorecardTable/components/DataValue.js +1 -1
- package/dist/esm/components/ScorecardTable/components/DataValue.js.map +1 -1
- package/dist/esm/components/ScorecardTable/components/ExpandedScorecardTable.js +1 -1
- package/dist/esm/components/ScorecardTable/components/ExpandedScorecardTable.js.map +1 -1
- package/dist/esm/components/ScorecardTable/components/MetaFooterCell.js +1 -1
- package/dist/esm/components/ScorecardTable/components/MetaFooterCell.js.map +1 -1
- package/dist/esm/components/ScorecardTable/components/TableFoot.js +1 -1
- package/dist/esm/components/ScorecardTable/components/TableFoot.js.map +1 -1
- package/dist/esm/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js +1 -1
- package/dist/esm/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js.map +1 -1
- package/dist/esm/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js +1 -1
- package/dist/esm/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js.map +1 -1
- package/dist/esm/components/ScorecardTable/components/TableHeader/components/FilterArea.js +1 -1
- package/dist/esm/components/ScorecardTable/components/TableHeader/components/FilterArea.js.map +1 -1
- package/dist/esm/components/ScorecardTable/components/TableHeader/components/LabelCell.js +1 -1
- package/dist/esm/components/ScorecardTable/components/TableHeader/components/LabelCell.js.map +1 -1
- package/dist/esm/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js +1 -1
- package/dist/esm/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js.map +1 -1
- package/dist/esm/components/StateProvider.js +1 -1
- package/dist/esm/components/StateProvider.js.map +1 -1
- package/dist/esm/components/index.js +2 -0
- package/dist/esm/components/index.js.map +1 -1
- package/dist/esm/hooks/columns.js +1 -1
- package/dist/esm/hooks/columns.js.map +1 -1
- package/dist/esm/hooks/metadata.js +1 -1
- package/dist/esm/hooks/metadata.js.map +1 -1
- package/dist/esm/hooks/table.js +1 -1
- package/dist/esm/hooks/table.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/state/{scorecardState.js → index.js} +13 -3
- package/dist/esm/state/index.js.map +1 -0
- package/dist/hooks/columns.js +6 -6
- package/dist/hooks/columns.js.map +1 -1
- package/dist/hooks/metadata.js +3 -3
- package/dist/hooks/metadata.js.map +1 -1
- package/dist/hooks/table.js +10 -10
- package/dist/hooks/table.js.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/state/{scorecardState.js → index.js} +13 -1
- package/dist/state/index.js.map +1 -0
- package/dist/types/components/index.d.ts +2 -0
- package/dist/types/components/index.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/state/{scorecardState.d.ts → index.d.ts} +31 -1
- package/dist/types/state/index.d.ts.map +1 -0
- package/package.json +5 -5
- package/dist/esm/state/scorecardState.js.map +0 -1
- package/dist/state/scorecardState.js.map +0 -1
- package/dist/types/state/scorecardState.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/ScorecardTable/components/DataValue.tsx"],"names":["DataValue"],"mappings":"AAkDI,cAMF,YANE;AAlDJ,SAAS,iBAAiB,qBAAqB;AAC/C,SAAS,MAAM,eAAe;AAE9B,SAAS,sCAAsC;AAExC,MAAM,YAAY,KAAK,SAASA,WAAU;AAAA,EAChD;AAAA,EACA;AACD,GAGG;AACF,QAAM,aAAa,+BAAwC;AAAA,IAC1D;AAAA,IACA;AAAA,EACD,CAAC;AACD,QAAM,eAAe,WAAW,KAAK;AACrC,QAAM,gBAAgB,WAAW,KAAK;AACtC,QAAM,YAAqD,QAAQ,MAAM;AACxE,QAAI,CAAC,YAAY;AAChB;AAAA,IACD;AAEA,QAAI,CAAC,iBAAiB,CAAC,cAAc;AACpC;AAAA,IACD;AAEA,UAAM,eAAe,WAAW;AAChC,UAAM,MAAM,KAAK,IAAI,gBAAgB,YAAY;AACjD,QAAI,MAAM,cAAc;AACvB;AAAA,IACD;AAEA,QAAI,kBAAkB,cAAc;AACnC;AAAA,IACD;AAEA,WAAO,eAAe,gBAAgB,eAAe;AAAA,EACtD,GAAG,CAAC,cAAc,WAAW,cAAc,UAAU,CAAC;AAEtD,MAAI,OAAO;AACV,WACC;AAAA,MAAC;AAAA;AAAA,QACA,OAAO;AAAA,UACN,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,gBAAgB;AAAA,UAChB,KAAK;AAAA,QACN;AAAA,QAEA,8BAAC,OAAG,iBAAO,SAAS,KAAK,IAAG;AAAA;AAAA,IAC7B;AAAA,EAEF;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,OAAO;AAAA,QACN,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,gBAAgB;AAAA,QAChB,KAAK;AAAA,MACN;AAAA,MAEC;AAAA,sBAAc,gBAAgB,oBAAC,mBAAgB;AAAA,QAC/C,cAAc,gBAAgB,oBAAC,iBAAc;AAAA,QAC7C,cAAc,SAAS,KAAK;AAAA;AAAA;AAAA,EAC9B;AAEF,CAAC","sourcesContent":["import { IconArrowDown16, IconArrowUp16 } from \"@dhis2/ui\";\nimport { memo, useMemo } from \"react\";\nimport type { ScorecardCellData } from \"../../../schemas/config\";\nimport { useScorecardStateSelectorValue } from \"../../../state
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/ScorecardTable/components/DataValue.tsx"],"names":["DataValue"],"mappings":"AAkDI,cAMF,YANE;AAlDJ,SAAS,iBAAiB,qBAAqB;AAC/C,SAAS,MAAM,eAAe;AAE9B,SAAS,sCAAsC;AAExC,MAAM,YAAY,KAAK,SAASA,WAAU;AAAA,EAChD;AAAA,EACA;AACD,GAGG;AACF,QAAM,aAAa,+BAAwC;AAAA,IAC1D;AAAA,IACA;AAAA,EACD,CAAC;AACD,QAAM,eAAe,WAAW,KAAK;AACrC,QAAM,gBAAgB,WAAW,KAAK;AACtC,QAAM,YAAqD,QAAQ,MAAM;AACxE,QAAI,CAAC,YAAY;AAChB;AAAA,IACD;AAEA,QAAI,CAAC,iBAAiB,CAAC,cAAc;AACpC;AAAA,IACD;AAEA,UAAM,eAAe,WAAW;AAChC,UAAM,MAAM,KAAK,IAAI,gBAAgB,YAAY;AACjD,QAAI,MAAM,cAAc;AACvB;AAAA,IACD;AAEA,QAAI,kBAAkB,cAAc;AACnC;AAAA,IACD;AAEA,WAAO,eAAe,gBAAgB,eAAe;AAAA,EACtD,GAAG,CAAC,cAAc,WAAW,cAAc,UAAU,CAAC;AAEtD,MAAI,OAAO;AACV,WACC;AAAA,MAAC;AAAA;AAAA,QACA,OAAO;AAAA,UACN,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,gBAAgB;AAAA,UAChB,KAAK;AAAA,QACN;AAAA,QAEA,8BAAC,OAAG,iBAAO,SAAS,KAAK,IAAG;AAAA;AAAA,IAC7B;AAAA,EAEF;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,OAAO;AAAA,QACN,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,gBAAgB;AAAA,QAChB,KAAK;AAAA,MACN;AAAA,MAEC;AAAA,sBAAc,gBAAgB,oBAAC,mBAAgB;AAAA,QAC/C,cAAc,gBAAgB,oBAAC,iBAAc;AAAA,QAC7C,cAAc,SAAS,KAAK;AAAA;AAAA;AAAA,EAC9B;AAEF,CAAC","sourcesContent":["import { IconArrowDown16, IconArrowUp16 } from \"@dhis2/ui\";\nimport { memo, useMemo } from \"react\";\nimport type { ScorecardCellData } from \"../../../schemas/config\";\nimport { useScorecardStateSelectorValue } from \"../../../state\";\n\nexport const DataValue = memo(function DataValue({\n\tdataSource,\n\tvalue,\n}: {\n\tdataSource: ScorecardCellData;\n\tvalue?: number;\n}) {\n\tconst showArrows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"arrows\",\n\t]);\n\tconst currentValue = dataSource.data.current;\n\tconst previousValue = dataSource.data.previous;\n\tconst showArrow: \"decreasing\" | \"increasing\" | undefined = useMemo(() => {\n\t\tif (!showArrows) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!previousValue || !currentValue) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst effectiveGap = dataSource.effectiveGap;\n\t\tconst gap = Math.abs(previousValue - currentValue);\n\t\tif (gap < effectiveGap) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (previousValue === currentValue) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn currentValue > previousValue ? \"increasing\" : \"decreasing\";\n\t}, [currentValue, dataSource.effectiveGap, showArrows]);\n\n\tif (value) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t\tgap: 4,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<b>{value?.toString() ?? \"\"}</b>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\tdisplay: \"flex\",\n\t\t\t\talignItems: \"center\",\n\t\t\t\tjustifyContent: \"center\",\n\t\t\t\tgap: 4,\n\t\t\t}}\n\t\t>\n\t\t\t{showArrow === \"decreasing\" && <IconArrowDown16 />}\n\t\t\t{showArrow === \"increasing\" && <IconArrowUp16 />}\n\t\t\t{currentValue?.toString() ?? \"\"}\n\t\t</div>\n\t);\n});\n"]}
|
|
@@ -4,7 +4,7 @@ import { useMemo } from 'react';
|
|
|
4
4
|
import { getOrgUnitLevel } from '../../../utils/orgUnits';
|
|
5
5
|
import { ScorecardContext } from '../../ScorecardContext';
|
|
6
6
|
import { CircularLoader } from '@dhis2/ui';
|
|
7
|
-
import { useScorecardStateValue } from '../../../state
|
|
7
|
+
import { useScorecardStateValue } from '../../../state';
|
|
8
8
|
import { TableStateProvider } from '../../TableStateProvider';
|
|
9
9
|
import { ScorecardTable } from '../ScorecardTable';
|
|
10
10
|
import { ScorecardDataProvider } from '../../DataProvider';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/ScorecardTable/components/ExpandedScorecardTable.tsx"],"names":[],"mappings":"AA4DK;AA5DL,SAAS,0BAA0B;AAEnC,SAAS,eAAe;AACxB,SAAS,uBAAuB;AAEhC,SAAS,wBAAwB;AACjC,SAAS,sBAAsB;AAC/B,SAAS,8BAA8B;AACvC,SAAS,0BAA0B;AACnC,SAAS,sBAAsB;AAC/B,SAAS,6BAA6B;AACtC,SAAS,8BAA8B;AAEhC,SAAS,uBAAuB;AAAA,EACtC;AAAA,EACA;AACD,GAGG;AACF,QAAM,SAAS,mBAAmB;AAClC,QAAM,QAAQ,uBAAuB;AAErC,QAAM,mBAAqC,QAAQ,MAAM;AACxD,UAAM,YAAY,QAAQ;AAC1B,UAAM,QAAQ,gBAAgB,OAAO,IAAI;AAEzC,WAAO;AAAA,MACN,UAAU;AAAA,QACT;AAAA,UACC,IAAI;AAAA,QACL;AAAA,MACD;AAAA,MACA,QAAQ,CAAC,MAAM,SAAS,CAAC;AAAA,MACzB,QAAQ,CAAC;AAAA,IACV;AAAA,EACD,GAAG,CAAC,OAAO,CAAC;AAEZ,MAAI,CAAC,QAAQ;AACZ,WAAO;AAAA,EACR;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,OAAO;AAAA,QACN,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,WAAW;AAAA,QACX,SAAS;AAAA,MACV;AAAA,MAEC,oBACA;AAAA,QAAC;AAAA;AAAA,UACA,OAAO;AAAA,YACN,QAAQ;AAAA,YACR,OAAO;AAAA,YACP,WAAW;AAAA,YACX,SAAS;AAAA,UACV;AAAA,UAEA,8BAAC,kBAAe,OAAK,MAAC;AAAA;AAAA,MACvB,IAEA;AAAA,QAAC;AAAA;AAAA,UACA,QAAQ;AAAA,YACP,GAAG;AAAA,YACH;AAAA,UACD;AAAA,UACA,cACC;AAAA,YACC,GAAG;AAAA,YACH;AAAA,UACD;AAAA,UAGD;AAAA,YAAC;AAAA;AAAA,cAEA,QAAQ;AAAA,gBACP,GAAG;AAAA,gBACH;AAAA,cACD;AAAA,cAEA,8BAAC,yBACA,8BAAC,sBACA;AAAA,gBAAC;AAAA;AAAA,kBACA,cAAa;AAAA,kBACb,aAAY;AAAA,kBACZ,OAAM;AAAA;AAAA,cACP,GACD,GACD;AAAA;AAAA,YAdK,GAAG,QAAQ,GAAG;AAAA,UAepB;AAAA;AAAA,MACD;AAAA;AAAA,EAEF;AAEF","sourcesContent":["import { useScorecardConfig } from \"../../ConfigProvider\";\nimport type { ItemMeta } from \"../../../hooks/metadata\";\nimport { useMemo } from \"react\";\nimport { getOrgUnitLevel } from \"../../../utils/orgUnits\";\nimport type { OrgUnitSelection, ScorecardState } from \"../../../schemas/config\";\nimport { ScorecardContext } from \"../../ScorecardContext\";\nimport { CircularLoader } from \"@dhis2/ui\";\nimport { useScorecardStateValue } from \"../../../state
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/ScorecardTable/components/ExpandedScorecardTable.tsx"],"names":[],"mappings":"AA4DK;AA5DL,SAAS,0BAA0B;AAEnC,SAAS,eAAe;AACxB,SAAS,uBAAuB;AAEhC,SAAS,wBAAwB;AACjC,SAAS,sBAAsB;AAC/B,SAAS,8BAA8B;AACvC,SAAS,0BAA0B;AACnC,SAAS,sBAAsB;AAC/B,SAAS,6BAA6B;AACtC,SAAS,8BAA8B;AAEhC,SAAS,uBAAuB;AAAA,EACtC;AAAA,EACA;AACD,GAGG;AACF,QAAM,SAAS,mBAAmB;AAClC,QAAM,QAAQ,uBAAuB;AAErC,QAAM,mBAAqC,QAAQ,MAAM;AACxD,UAAM,YAAY,QAAQ;AAC1B,UAAM,QAAQ,gBAAgB,OAAO,IAAI;AAEzC,WAAO;AAAA,MACN,UAAU;AAAA,QACT;AAAA,UACC,IAAI;AAAA,QACL;AAAA,MACD;AAAA,MACA,QAAQ,CAAC,MAAM,SAAS,CAAC;AAAA,MACzB,QAAQ,CAAC;AAAA,IACV;AAAA,EACD,GAAG,CAAC,OAAO,CAAC;AAEZ,MAAI,CAAC,QAAQ;AACZ,WAAO;AAAA,EACR;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,OAAO;AAAA,QACN,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,WAAW;AAAA,QACX,SAAS;AAAA,MACV;AAAA,MAEC,oBACA;AAAA,QAAC;AAAA;AAAA,UACA,OAAO;AAAA,YACN,QAAQ;AAAA,YACR,OAAO;AAAA,YACP,WAAW;AAAA,YACX,SAAS;AAAA,UACV;AAAA,UAEA,8BAAC,kBAAe,OAAK,MAAC;AAAA;AAAA,MACvB,IAEA;AAAA,QAAC;AAAA;AAAA,UACA,QAAQ;AAAA,YACP,GAAG;AAAA,YACH;AAAA,UACD;AAAA,UACA,cACC;AAAA,YACC,GAAG;AAAA,YACH;AAAA,UACD;AAAA,UAGD;AAAA,YAAC;AAAA;AAAA,cAEA,QAAQ;AAAA,gBACP,GAAG;AAAA,gBACH;AAAA,cACD;AAAA,cAEA,8BAAC,yBACA,8BAAC,sBACA;AAAA,gBAAC;AAAA;AAAA,kBACA,cAAa;AAAA,kBACb,aAAY;AAAA,kBACZ,OAAM;AAAA;AAAA,cACP,GACD,GACD;AAAA;AAAA,YAdK,GAAG,QAAQ,GAAG;AAAA,UAepB;AAAA;AAAA,MACD;AAAA;AAAA,EAEF;AAEF","sourcesContent":["import { useScorecardConfig } from \"../../ConfigProvider\";\nimport type { ItemMeta } from \"../../../hooks/metadata\";\nimport { useMemo } from \"react\";\nimport { getOrgUnitLevel } from \"../../../utils/orgUnits\";\nimport type { OrgUnitSelection, ScorecardState } from \"../../../schemas/config\";\nimport { ScorecardContext } from \"../../ScorecardContext\";\nimport { CircularLoader } from \"@dhis2/ui\";\nimport { useScorecardStateValue } from \"../../../state\";\nimport { TableStateProvider } from \"../../TableStateProvider\";\nimport { ScorecardTable } from \"../ScorecardTable\";\nimport { ScorecardDataProvider } from \"../../DataProvider\";\nimport { ScorecardStateProvider } from \"../../StateProvider\";\n\nexport function ExpandedScorecardTable({\n\torgUnit,\n\tpending,\n}: {\n\torgUnit: ItemMeta & { hierarchy: string };\n\tpending: boolean;\n}) {\n\tconst config = useScorecardConfig();\n\tconst state = useScorecardStateValue();\n\n\tconst orgUnitSelection: OrgUnitSelection = useMemo(() => {\n\t\tconst orgUnitId = orgUnit.uid;\n\t\tconst level = getOrgUnitLevel(orgUnit) + 1;\n\n\t\treturn {\n\t\t\torgUnits: [\n\t\t\t\t{\n\t\t\t\t\tid: orgUnitId,\n\t\t\t\t},\n\t\t\t],\n\t\t\tlevels: [level.toString()],\n\t\t\tgroups: [],\n\t\t};\n\t}, [orgUnit]);\n\n\tif (!config) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\theight: \"100%\",\n\t\t\t\twidth: \"100%\",\n\t\t\t\tminHeight: 500,\n\t\t\t\tpadding: 32,\n\t\t\t}}\n\t\t>\n\t\t\t{pending ? (\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\theight: \"100%\",\n\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\tminHeight: 500,\n\t\t\t\t\t\tpadding: 32,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<CircularLoader small />\n\t\t\t\t</div>\n\t\t\t) : (\n\t\t\t\t<ScorecardStateProvider\n\t\t\t\t\tconfig={{\n\t\t\t\t\t\t...config,\n\t\t\t\t\t\torgUnitSelection,\n\t\t\t\t\t}}\n\t\t\t\t\tinitialState={\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\torgUnitSelection,\n\t\t\t\t\t\t} as ScorecardState\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<ScorecardContext\n\t\t\t\t\t\tkey={`${orgUnit.uid}-expanded`}\n\t\t\t\t\t\tconfig={{\n\t\t\t\t\t\t\t...config,\n\t\t\t\t\t\t\torgUnitSelection,\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ScorecardDataProvider>\n\t\t\t\t\t\t\t<TableStateProvider>\n\t\t\t\t\t\t\t\t<ScorecardTable\n\t\t\t\t\t\t\t\t\tscrollHeight=\"100%\"\n\t\t\t\t\t\t\t\t\tscrollWidth=\"100%\"\n\t\t\t\t\t\t\t\t\twidth=\"auto\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</TableStateProvider>\n\t\t\t\t\t\t</ScorecardDataProvider>\n\t\t\t\t\t</ScorecardContext>\n\t\t\t\t</ScorecardStateProvider>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { DataTableCell } from '@dhis2/ui';
|
|
3
3
|
import i18n from '@dhis2/d2-i18n';
|
|
4
|
-
import { useScorecardStateSelectorValue } from '../../../state
|
|
4
|
+
import { useScorecardStateSelectorValue } from '../../../state';
|
|
5
5
|
|
|
6
6
|
function MetaFooterCell() {
|
|
7
7
|
const itemNumber = useScorecardStateSelectorValue([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/ScorecardTable/components/MetaFooterCell.tsx"],"names":[],"mappings":"AAyBG;AAzBH,SAAS,qBAAqB;AAC9B,OAAO,UAAU;AACjB,SAAS,sCAAsC;AAExC,SAAS,iBAAiB;AAChC,QAAM,aAAa,+BAAwC;AAAA,IAC1D;AAAA,IACA;AAAA,EACD,CAAC;AAED,SACC;AAAA,IAAC;AAAA;AAAA,MACA,UAAQ;AAAA,MACR,OAAM;AAAA,MACN,OAAO;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,MACX;AAAA,MACA,OAAM;AAAA,MACN,SAAS,aAAa,MAAM;AAAA,MAC5B,OAAK;AAAA,MAGL,MAAK;AAAA,MAEL,8BAAC,OAAE,OAAO,EAAE,SAAS,QAAQ,GAAI,eAAK,EAAE,SAAS,GAAE;AAAA;AAAA,EACpD;AAEF","sourcesContent":["import { DataTableCell } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { useScorecardStateSelectorValue } from \"../../../state
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/ScorecardTable/components/MetaFooterCell.tsx"],"names":[],"mappings":"AAyBG;AAzBH,SAAS,qBAAqB;AAC9B,OAAO,UAAU;AACjB,SAAS,sCAAsC;AAExC,SAAS,iBAAiB;AAChC,QAAM,aAAa,+BAAwC;AAAA,IAC1D;AAAA,IACA;AAAA,EACD,CAAC;AAED,SACC;AAAA,IAAC;AAAA;AAAA,MACA,UAAQ;AAAA,MACR,OAAM;AAAA,MACN,OAAO;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,MACX;AAAA,MACA,OAAM;AAAA,MACN,SAAS,aAAa,MAAM;AAAA,MAC5B,OAAK;AAAA,MAGL,MAAK;AAAA,MAEL,8BAAC,OAAE,OAAO,EAAE,SAAS,QAAQ,GAAI,eAAK,EAAE,SAAS,GAAE;AAAA;AAAA,EACpD;AAEF","sourcesContent":["import { DataTableCell } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { useScorecardStateSelectorValue } from \"../../../state\";\n\nexport function MetaFooterCell() {\n\tconst itemNumber = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"itemNumber\",\n\t]);\n\n\treturn (\n\t\t<DataTableCell\n\t\t\tbordered\n\t\t\twidth=\"300px\"\n\t\t\tstyle={{\n\t\t\t\twidth: \"fit-content\",\n\t\t\t\tminWidth: 300,\n\t\t\t}}\n\t\t\talign=\"center\"\n\t\t\tcolSpan={itemNumber ? \"3\" : \"2\"}\n\t\t\tfixed\n\t\t\t/*\n // @ts-ignore */\n\t\t\tleft=\"0\"\n\t\t>\n\t\t\t<b style={{ padding: \"8px 0\" }}>{i18n.t(\"Average\")}</b>\n\t\t</DataTableCell>\n\t);\n}\n"]}
|
|
@@ -3,7 +3,7 @@ import { DataTableFoot, DataTableRow } from '@dhis2/ui';
|
|
|
3
3
|
import { useTableState } from '../../TableStateProvider';
|
|
4
4
|
import { flexRender } from '@tanstack/react-table';
|
|
5
5
|
import { Fragment } from 'react';
|
|
6
|
-
import { useScorecardStateSelectorValue } from '../../../state
|
|
6
|
+
import { useScorecardStateSelectorValue } from '../../../state';
|
|
7
7
|
|
|
8
8
|
function TableFoot() {
|
|
9
9
|
const table = useTableState();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/ScorecardTable/components/TableFoot.tsx"],"names":[],"mappings":"AAwBQ;AAxBR,SAAS,eAAe,oBAAoB;AAC5C,SAAS,qBAAqB;AAC9B,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;AACzB,SAAS,sCAAsC;AAExC,SAAS,YAAY;AAC3B,QAAM,QAAQ,cAAc;AAC5B,QAAM,iBAAiB,+BAAwC;AAAA,IAC9D;AAAA,IACA;AAAA,EACD,CAAC;AAED,MAAI,CAAC,gBAAgB;AACpB,WAAO;AAAA,EACR;AAEA,SACC,oBAAC,iBACC,gBAAM,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;AAC7C,WACC,oBAAC,gBACC,sBAAY,QAAQ,IAAI,CAAC,WAAW;AACpC,aAAO,OAAO,gBAAgB,OAC7B,oBAAC,YACC;AAAA,QACA,OAAO,OAAO,UAAU;AAAA,QACxB,OAAO,WAAW;AAAA,MACnB,KAJc,OAAO,EAKtB;AAAA,IAEF,CAAC,KAViB,YAAY,EAW/B;AAAA,EAEF,CAAC,GACF;AAEF","sourcesContent":["import { DataTableFoot, DataTableRow } from \"@dhis2/ui\";\nimport { useTableState } from \"../../TableStateProvider\";\nimport { flexRender } from \"@tanstack/react-table\";\nimport { Fragment } from \"react\";\nimport { useScorecardStateSelectorValue } from \"../../../state
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/ScorecardTable/components/TableFoot.tsx"],"names":[],"mappings":"AAwBQ;AAxBR,SAAS,eAAe,oBAAoB;AAC5C,SAAS,qBAAqB;AAC9B,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;AACzB,SAAS,sCAAsC;AAExC,SAAS,YAAY;AAC3B,QAAM,QAAQ,cAAc;AAC5B,QAAM,iBAAiB,+BAAwC;AAAA,IAC9D;AAAA,IACA;AAAA,EACD,CAAC;AAED,MAAI,CAAC,gBAAgB;AACpB,WAAO;AAAA,EACR;AAEA,SACC,oBAAC,iBACC,gBAAM,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;AAC7C,WACC,oBAAC,gBACC,sBAAY,QAAQ,IAAI,CAAC,WAAW;AACpC,aAAO,OAAO,gBAAgB,OAC7B,oBAAC,YACC;AAAA,QACA,OAAO,OAAO,UAAU;AAAA,QACxB,OAAO,WAAW;AAAA,MACnB,KAJc,OAAO,EAKtB;AAAA,IAEF,CAAC,KAViB,YAAY,EAW/B;AAAA,EAEF,CAAC,GACF;AAEF","sourcesContent":["import { DataTableFoot, DataTableRow } from \"@dhis2/ui\";\nimport { useTableState } from \"../../TableStateProvider\";\nimport { flexRender } from \"@tanstack/react-table\";\nimport { Fragment } from \"react\";\nimport { useScorecardStateSelectorValue } from \"../../../state\";\n\nexport function TableFoot() {\n\tconst table = useTableState();\n\tconst showAverageRow = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"averageRow\",\n\t]);\n\n\tif (!showAverageRow) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<DataTableFoot>\n\t\t\t{table.getFooterGroups().map((footerGroup) => {\n\t\t\t\treturn (\n\t\t\t\t\t<DataTableRow key={footerGroup.id}>\n\t\t\t\t\t\t{footerGroup.headers.map((footer) => {\n\t\t\t\t\t\t\treturn footer.isPlaceholder ? null : (\n\t\t\t\t\t\t\t\t<Fragment key={footer.id}>\n\t\t\t\t\t\t\t\t\t{flexRender(\n\t\t\t\t\t\t\t\t\t\tfooter.column.columnDef.footer,\n\t\t\t\t\t\t\t\t\t\tfooter.getContext(),\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</DataTableRow>\n\t\t\t\t);\n\t\t\t})}\n\t\t</DataTableFoot>\n\t);\n}\n"]}
|
package/dist/esm/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js
CHANGED
|
@@ -2,7 +2,7 @@ import { jsx } from 'react/jsx-runtime';
|
|
|
2
2
|
import { DataTableColumnHeader } from '@dhis2/ui';
|
|
3
3
|
import i18n from '@dhis2/d2-i18n';
|
|
4
4
|
import styles from '../TableHeader.module.css';
|
|
5
|
-
import { useScorecardStateSelectorValue } from '../../../../../state
|
|
5
|
+
import { useScorecardStateSelectorValue } from '../../../../../state';
|
|
6
6
|
|
|
7
7
|
function AverageHeaderCell({
|
|
8
8
|
header
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.tsx"],"names":[],"mappings":"AAiCG;AA/BH,SAAS,6BAA6B;AACtC,OAAO,UAAU;AACjB,OAAO,YAAY;AACnB,SAAS,sCAAsC;AAExC,SAAS,kBAAkB;AAAA,EACjC;AACD,GAA2C;AAC1C,QAAM,aAAa,+BAAwC;AAAA,IAC1D;AAAA,IACA;AAAA,EACD,CAAC;AACD,QAAM,eAAe,+BAAwC;AAAA,IAC5D;AAAA,EACD,CAAC;AACD,QAAM,UAAU,aACb,eACC,MACA,MACD,eACC,MACA;AAEJ,SACC;AAAA,IAAC;AAAA;AAAA,MAEA,OAAM;AAAA,MACN,SAAS,OAAO,QAAQ,SAAS;AAAA,MACjC;AAAA,MACA,WAAW,OAAO;AAAA,MAElB,8BAAC,OAAG,eAAK,EAAE,SAAS,GAAE;AAAA;AAAA,IANjB,OAAO;AAAA,EAOb;AAEF","sourcesContent":["import type { HeaderContext } from \"@tanstack/react-table\";\nimport type { ScorecardTableData } from \"../../../../../schemas/config\";\nimport { DataTableColumnHeader } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport styles from \"../TableHeader.module.css\";\nimport { useScorecardStateSelectorValue } from \"../../../../../state
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.tsx"],"names":[],"mappings":"AAiCG;AA/BH,SAAS,6BAA6B;AACtC,OAAO,UAAU;AACjB,OAAO,YAAY;AACnB,SAAS,sCAAsC;AAExC,SAAS,kBAAkB;AAAA,EACjC;AACD,GAA2C;AAC1C,QAAM,aAAa,+BAAwC;AAAA,IAC1D;AAAA,IACA;AAAA,EACD,CAAC;AACD,QAAM,eAAe,+BAAwC;AAAA,IAC5D;AAAA,EACD,CAAC;AACD,QAAM,UAAU,aACb,eACC,MACA,MACD,eACC,MACA;AAEJ,SACC;AAAA,IAAC;AAAA;AAAA,MAEA,OAAM;AAAA,MACN,SAAS,OAAO,QAAQ,SAAS;AAAA,MACjC;AAAA,MACA,WAAW,OAAO;AAAA,MAElB,8BAAC,OAAG,eAAK,EAAE,SAAS,GAAE;AAAA;AAAA,IANjB,OAAO;AAAA,EAOb;AAEF","sourcesContent":["import type { HeaderContext } from \"@tanstack/react-table\";\nimport type { ScorecardTableData } from \"../../../../../schemas/config\";\nimport { DataTableColumnHeader } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport styles from \"../TableHeader.module.css\";\nimport { useScorecardStateSelectorValue } from \"../../../../../state\";\n\nexport function AverageHeaderCell({\n\theader,\n}: HeaderContext<ScorecardTableData, any>) {\n\tconst dataInRows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\tconst hasOnePeriod = useScorecardStateSelectorValue<boolean>([\n\t\t\"hasOnePeriod\",\n\t]);\n\tconst rowSpan = dataInRows\n\t\t? hasOnePeriod\n\t\t\t? \"2\"\n\t\t\t: \"2\"\n\t\t: hasOnePeriod\n\t\t\t? \"2\"\n\t\t\t: \"3\";\n\n\treturn (\n\t\t<DataTableColumnHeader\n\t\t\tkey={header.id}\n\t\t\talign=\"right\"\n\t\t\tcolSpan={header.colSpan.toString()}\n\t\t\trowSpan={rowSpan}\n\t\t\tclassName={styles.metaHeader}\n\t\t>\n\t\t\t<b>{i18n.t(\"Average\")}</b>\n\t\t</DataTableColumnHeader>\n\t);\n}\n"]}
|
package/dist/esm/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js
CHANGED
|
@@ -4,7 +4,7 @@ import { DataTableColumnHeader } from '@dhis2/ui';
|
|
|
4
4
|
import i18n from '@dhis2/d2-i18n';
|
|
5
5
|
import { DraggableCell } from '../../DraggableCell';
|
|
6
6
|
import DroppableCell from '../../DroppableCell';
|
|
7
|
-
import { useScorecardStateSelectorValue } from '../../../../../state
|
|
7
|
+
import { useScorecardStateSelectorValue } from '../../../../../state';
|
|
8
8
|
|
|
9
9
|
function EmptyDataHeaderCell({
|
|
10
10
|
header
|
package/dist/esm/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.tsx"],"names":[],"mappings":"AAeQ;AAdR;AAAA,EACC;AAAA,OAEM;AACP,SAAS,6BAA0D;AACnE,OAAO,UAAU;AACjB,SAAS,qBAAqB;AAC9B,OAAO,mBAAmB;AAC1B,SAAS,sCAAsC;AAExC,SAAS,oBAAoB;AAAA,EACnC;AACD,GAA2C;AAC1C,QAAM,UAAU,OAAO,QAAQ,SAAS;AACxC,SAAO,oBAAC,yBAAsB,SAAkB;AACjD;AAEO,SAAS,wBAAwB;AAAA,EACvC;AAAA,EACA;AACD,GAA2C;AAC1C,QAAM,aAAa,+BAAwC;AAAA,IAC1D;AAAA,IACA;AAAA,EACD,CAAC;AACD,QAAM,QACJ,OAAO,OAAO,UAAU,KAA2B,SACnD,OAAO,UAAU,KAA2B;AAE9C,QAAM,OACJ,OAAO,OAAO,UAAU,KAA4B,QACpD,OAAO,UAAU,KAA4B;AAE/C,QAAM,UAAU,OAAO,QAAQ,SAAS;AAExC,QAAM,gBAAgB,CAAC,QAAQ,YAAY,IACxC,YACC,OAAQ,YAAY;AACxB,QAAM,eACL,QAAQ,oBAAoB,MAAM,QAC/B,KAAK,EAAE,oBAAoB,IAC3B,QAAQ,oBAAoB,MAAM,SACjC,KAAK,EAAE,qBAAqB,IAC5B,KAAK,EAAE,SAAS;AAErB,SACC;AAAA,IAAC;AAAA;AAAA,MAEA,eAAe,KAAK,EAAE,yBAAyB,EAAE,aAAa,CAAC;AAAA,MAC/D,iBACC,OAAO,QAAQ,WAAW,KAAK,OAAO,WAAW,IAC9C,CAAC,GAAG,MAAM;AACV,cAAM,OAAO,OAAQ,wBAAwB;AAC7C,YAAI,MAAM;AACT,eAAK,CAAC;AAAA,QACP;AAAA,MACD,IACC;AAAA,MAEJ,eACC,OAAO,QAAQ,WAAW,KAAK,OAAO,WAAW,IAC9C,gBACA;AAAA,MAEJ,OAAM;AAAA,MACN;AAAA,MAEA;AAAA,QAAC;AAAA;AAAA,UACA,QACC,aACG,CAAC,wBAAwB,IAAI,IAC7B,CAAC,wBAAwB,EAAE;AAAA,UAG/B;AAAA,YAAC;AAAA;AAAA,cACA,IAAI;AAAA,cACJ,MACC,aACG,wBAAwB,KACxB,wBAAwB;AAAA,cAG3B,iBAAO,oBAAC,OAAG,iBAAM,IAAO;AAAA;AAAA,UAC1B;AAAA;AAAA,MACD;AAAA;AAAA,IArCK,GAAG,KAAK;AAAA,EAsCd;AAEF;AAEO,MAAM,iBAAiB","sourcesContent":["import type { HeaderContext } from \"@tanstack/react-table\";\nimport {\n\tScorecardDraggableItems,\n\ttype ScorecardTableData,\n} from \"../../../../../schemas/config\";\nimport { DataTableColumnHeader, type DataTableSortDirection } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { DraggableCell } from \"../../DraggableCell\";\nimport DroppableCell from \"../../DroppableCell\";\nimport { useScorecardStateSelectorValue } from \"../../../../../state
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.tsx"],"names":[],"mappings":"AAeQ;AAdR;AAAA,EACC;AAAA,OAEM;AACP,SAAS,6BAA0D;AACnE,OAAO,UAAU;AACjB,SAAS,qBAAqB;AAC9B,OAAO,mBAAmB;AAC1B,SAAS,sCAAsC;AAExC,SAAS,oBAAoB;AAAA,EACnC;AACD,GAA2C;AAC1C,QAAM,UAAU,OAAO,QAAQ,SAAS;AACxC,SAAO,oBAAC,yBAAsB,SAAkB;AACjD;AAEO,SAAS,wBAAwB;AAAA,EACvC;AAAA,EACA;AACD,GAA2C;AAC1C,QAAM,aAAa,+BAAwC;AAAA,IAC1D;AAAA,IACA;AAAA,EACD,CAAC;AACD,QAAM,QACJ,OAAO,OAAO,UAAU,KAA2B,SACnD,OAAO,UAAU,KAA2B;AAE9C,QAAM,OACJ,OAAO,OAAO,UAAU,KAA4B,QACpD,OAAO,UAAU,KAA4B;AAE/C,QAAM,UAAU,OAAO,QAAQ,SAAS;AAExC,QAAM,gBAAgB,CAAC,QAAQ,YAAY,IACxC,YACC,OAAQ,YAAY;AACxB,QAAM,eACL,QAAQ,oBAAoB,MAAM,QAC/B,KAAK,EAAE,oBAAoB,IAC3B,QAAQ,oBAAoB,MAAM,SACjC,KAAK,EAAE,qBAAqB,IAC5B,KAAK,EAAE,SAAS;AAErB,SACC;AAAA,IAAC;AAAA;AAAA,MAEA,eAAe,KAAK,EAAE,yBAAyB,EAAE,aAAa,CAAC;AAAA,MAC/D,iBACC,OAAO,QAAQ,WAAW,KAAK,OAAO,WAAW,IAC9C,CAAC,GAAG,MAAM;AACV,cAAM,OAAO,OAAQ,wBAAwB;AAC7C,YAAI,MAAM;AACT,eAAK,CAAC;AAAA,QACP;AAAA,MACD,IACC;AAAA,MAEJ,eACC,OAAO,QAAQ,WAAW,KAAK,OAAO,WAAW,IAC9C,gBACA;AAAA,MAEJ,OAAM;AAAA,MACN;AAAA,MAEA;AAAA,QAAC;AAAA;AAAA,UACA,QACC,aACG,CAAC,wBAAwB,IAAI,IAC7B,CAAC,wBAAwB,EAAE;AAAA,UAG/B;AAAA,YAAC;AAAA;AAAA,cACA,IAAI;AAAA,cACJ,MACC,aACG,wBAAwB,KACxB,wBAAwB;AAAA,cAG3B,iBAAO,oBAAC,OAAG,iBAAM,IAAO;AAAA;AAAA,UAC1B;AAAA;AAAA,MACD;AAAA;AAAA,IArCK,GAAG,KAAK;AAAA,EAsCd;AAEF;AAEO,MAAM,iBAAiB","sourcesContent":["import type { HeaderContext } from \"@tanstack/react-table\";\nimport {\n\tScorecardDraggableItems,\n\ttype ScorecardTableData,\n} from \"../../../../../schemas/config\";\nimport { DataTableColumnHeader, type DataTableSortDirection } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { DraggableCell } from \"../../DraggableCell\";\nimport DroppableCell from \"../../DroppableCell\";\nimport { useScorecardStateSelectorValue } from \"../../../../../state\";\n\nexport function EmptyDataHeaderCell({\n\theader,\n}: HeaderContext<ScorecardTableData, any>) {\n\tconst colSpan = header.colSpan.toString();\n\treturn <DataTableColumnHeader colSpan={colSpan} />;\n}\n\nexport function DataHeaderCellComponent({\n\tcolumn,\n\theader,\n}: HeaderContext<ScorecardTableData, any>) {\n\tconst dataInRows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\tconst label =\n\t\t(header.column.columnDef.meta as { label: string }).label ??\n\t\t(column.columnDef.meta as { label: string }).label;\n\n\tconst bold =\n\t\t(header.column.columnDef.meta as { bold?: boolean }).bold ??\n\t\t(column.columnDef.meta as { bold?: boolean }).bold;\n\n\tconst colSpan = header.colSpan.toString();\n\n\tconst sortDirection = !column?.getIsSorted()\n\t\t? \"default\"\n\t\t: (column!.getIsSorted() as DataTableSortDirection);\n\tconst nextSortType =\n\t\tcolumn?.getNextSortingOrder() === \"asc\"\n\t\t\t? i18n.t(\"in ascending order\")\n\t\t\t: column?.getNextSortingOrder() === \"desc\"\n\t\t\t\t? i18n.t(\"in descending order\")\n\t\t\t\t: i18n.t(\"disable\");\n\n\treturn (\n\t\t<DataTableColumnHeader\n\t\t\tkey={`${label}`}\n\t\t\tsortIconTitle={i18n.t(\"Sort {{nextSortType}}\", { nextSortType })}\n\t\t\tonSortIconClick={\n\t\t\t\theader.column?.getCanSort() || column.getCanSort()\n\t\t\t\t\t? (_, e) => {\n\t\t\t\t\t\t\tconst sort = column!.getToggleSortingHandler();\n\t\t\t\t\t\t\tif (sort) {\n\t\t\t\t\t\t\t\tsort(e);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\tsortDirection={\n\t\t\t\theader.column?.getCanSort() || column.getCanSort()\n\t\t\t\t\t? sortDirection\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\talign=\"center\"\n\t\t\tcolSpan={colSpan}\n\t\t>\n\t\t\t<DroppableCell\n\t\t\t\taccept={\n\t\t\t\t\tdataInRows\n\t\t\t\t\t\t? [ScorecardDraggableItems.data]\n\t\t\t\t\t\t: [ScorecardDraggableItems.ou]\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<DraggableCell\n\t\t\t\t\tid={label}\n\t\t\t\t\ttype={\n\t\t\t\t\t\tdataInRows\n\t\t\t\t\t\t\t? ScorecardDraggableItems.ou\n\t\t\t\t\t\t\t: ScorecardDraggableItems.data\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{bold ? <b>{label}</b> : label}\n\t\t\t\t</DraggableCell>\n\t\t\t</DroppableCell>\n\t\t</DataTableColumnHeader>\n\t);\n}\n\nexport const DataHeaderCell = DataHeaderCellComponent;\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import i18n from '@dhis2/d2-i18n';
|
|
3
|
-
import { useScorecardStateSelectorValue } from '../../../../../state
|
|
3
|
+
import { useScorecardStateSelectorValue } from '../../../../../state';
|
|
4
4
|
import { InputField } from '@dhis2/ui';
|
|
5
5
|
import styles from '../TableHeader.module.css';
|
|
6
6
|
import { useState, useEffect } from 'react';
|
package/dist/esm/components/ScorecardTable/components/TableHeader/components/FilterArea.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/components/ScorecardTable/components/TableHeader/components/FilterArea.tsx"],"names":[],"mappings":"AAgCE;AA9BF,OAAO,UAAU;AACjB,SAAS,sCAAsC;AAC/C,SAAS,kBAAkB;AAC3B,OAAO,YAAY;AACnB,SAAS,WAAW,gBAAgB;AAM7B,SAAS,WAAW,EAAE,OAAO,GAAoB;AACvD,QAAM,eAAe,OAAO,eAAe;AAC3C,QAAM,CAAC,MAAM,OAAO,IAAI,SAA6B,YAAY;AACjE,QAAM,aAAa,+BAAwC;AAAA,IAC1D;AAAA,IACA;AAAA,EACD,CAAC;AACD,QAAM,oBAAoB,aACvB,KAAK,EAAE,mBAAmB,IAC1B,KAAK,EAAE,2BAA2B;AAErC,YAAU,MAAM;AACf,UAAM,UAAU,WAAW,MAAM;AAChC,aAAO,eAAe,IAAI;AAAA,IAC3B,GAAG,GAAG;AAEN,WAAO,MAAM,aAAa,OAAO;AAAA,EAClC,GAAG,CAAC,IAAI,CAAC;AAET,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAW,OAAO,cAAc;AAAA,MAChC,OAAO;AAAA,MACP,UAAU,CAAC,EAAE,MAAM,MAAM,QAAQ,KAAK;AAAA,MACtC,aAAa;AAAA;AAAA,EACd;AAEF","sourcesContent":["import type { ScorecardTableData } from \"../../../../../schemas/config\";\nimport type { Column } from \"@tanstack/react-table\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { useScorecardStateSelectorValue } from \"../../../../../state
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/components/ScorecardTable/components/TableHeader/components/FilterArea.tsx"],"names":[],"mappings":"AAgCE;AA9BF,OAAO,UAAU;AACjB,SAAS,sCAAsC;AAC/C,SAAS,kBAAkB;AAC3B,OAAO,YAAY;AACnB,SAAS,WAAW,gBAAgB;AAM7B,SAAS,WAAW,EAAE,OAAO,GAAoB;AACvD,QAAM,eAAe,OAAO,eAAe;AAC3C,QAAM,CAAC,MAAM,OAAO,IAAI,SAA6B,YAAY;AACjE,QAAM,aAAa,+BAAwC;AAAA,IAC1D;AAAA,IACA;AAAA,EACD,CAAC;AACD,QAAM,oBAAoB,aACvB,KAAK,EAAE,mBAAmB,IAC1B,KAAK,EAAE,2BAA2B;AAErC,YAAU,MAAM;AACf,UAAM,UAAU,WAAW,MAAM;AAChC,aAAO,eAAe,IAAI;AAAA,IAC3B,GAAG,GAAG;AAEN,WAAO,MAAM,aAAa,OAAO;AAAA,EAClC,GAAG,CAAC,IAAI,CAAC;AAET,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAW,OAAO,cAAc;AAAA,MAChC,OAAO;AAAA,MACP,UAAU,CAAC,EAAE,MAAM,MAAM,QAAQ,KAAK;AAAA,MACtC,aAAa;AAAA;AAAA,EACd;AAEF","sourcesContent":["import type { ScorecardTableData } from \"../../../../../schemas/config\";\nimport type { Column } from \"@tanstack/react-table\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { useScorecardStateSelectorValue } from \"../../../../../state\";\nimport { InputField } from \"@dhis2/ui\";\nimport styles from \"../TableHeader.module.css\";\nimport { useEffect, useState } from \"react\";\n\nexport interface FilterAreaProps {\n\tcolumn: Column<ScorecardTableData, any>;\n}\n\nexport function FilterArea({ column }: FilterAreaProps) {\n\tconst defaultValue = column.getFilterValue() as string | undefined;\n\tconst [text, setText] = useState<string | undefined>(defaultValue);\n\tconst dataInRows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\tconst searchPlaceholder = dataInRows\n\t\t? i18n.t(\"Search data items\")\n\t\t: i18n.t(\"Search organisation units\");\n\n\tuseEffect(() => {\n\t\tconst timeout = setTimeout(() => {\n\t\t\tcolumn.setFilterValue(text);\n\t\t}, 700);\n\n\t\treturn () => clearTimeout(timeout);\n\t}, [text]);\n\n\treturn (\n\t\t<InputField\n\t\t\tclassName={styles[\"filter-input\"]}\n\t\t\tvalue={text}\n\t\t\tonChange={({ value }) => setText(value)}\n\t\t\tplaceholder={searchPlaceholder}\n\t\t/>\n\t);\n}\n"]}
|
|
@@ -3,7 +3,7 @@ import { ScorecardDraggableItems } from '../../../../../schemas/config';
|
|
|
3
3
|
import { DataTableCell } from '@dhis2/ui';
|
|
4
4
|
import DroppableCell from '../../DroppableCell';
|
|
5
5
|
import { DraggableCell } from '../../DraggableCell';
|
|
6
|
-
import { useScorecardStateSelectorValue } from '../../../../../state
|
|
6
|
+
import { useScorecardStateSelectorValue } from '../../../../../state';
|
|
7
7
|
import { useMemo } from 'react';
|
|
8
8
|
import { isEmpty } from 'lodash';
|
|
9
9
|
|
package/dist/esm/components/ScorecardTable/components/TableHeader/components/LabelCell.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/components/ScorecardTable/components/TableHeader/components/LabelCell.tsx"],"names":[],"mappings":"AAiFI;AAhFJ;AAAA,EACC;AAAA,OAEM;AACP,SAAS,qBAAqB;AAC9B,OAAO,mBAAmB;AAC1B,SAAS,qBAAqB;AAC9B,SAAS,sCAAsC;AAC/C,SAAS,eAAe;AACxB,SAAS,eAAe;AAEjB,SAAS,mBACf,OAOC;AACD,QAAM,OAAO,MAAM,SAAS;AAC5B,QAAM,OAAO,MAAM,KAAK,OAAO,QAAQ;AACvC,QAAM,aAAa,+BAAwC;AAAA,IAC1D;AAAA,IACA;AAAA,EACD,CAAC;AACD,QAAM,gBAAgB,+BAAwC;AAAA,IAC7D;AAAA,IACA;AAAA,EACD,CAAC;AAED,QAAM,cAAc,+BAAwC;AAAA,IAC3D;AAAA,IACA;AAAA,EACD,CAAC;AAED,QAAM,OAAO,QAAQ,MAAM;AAC1B,UAAM,QAAQ,MAAM,IAClB,gBAAgB,EAChB,UAAU,CAAC,EAAE,GAAG,MAAM,MAAM,KAAK,OAAO,EAAE;AAC5C,WAAO,QAAQ;AAAA,EAChB,GAAG,CAAC,MAAM,IAAI,gBAAgB,GAAG,MAAM,KAAK,EAAE,CAAC;AAE/C,QAAM,QAAQ,QAAQ,MAAM;AAC3B,QAAI,YAAY;AACf,aAAO,KAAK,SAAS;AAAA,IACtB;AACA,QAAI,eAAe;AAClB,aACC,KAAK,SAAS,UACZ,MAAM,GAAG,EACT,OAAO,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,EAC7B,KAAK,KAAK,KAAK;AAAA,IAEnB;AACA,WAAO,KAAK,SAAS;AAAA,EACtB,GAAG,CAAC,MAAM,eAAe,UAAU,CAAC;AAEpC,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV,OAAK;AAAA,MACL,OAAO,GAAG,IAAI;AAAA,MACd,OAAO;AAAA,QACN,OAAO,cAAc,SAAS;AAAA,QAC9B,UAAU,cAAc,SAAY;AAAA,MACrC;AAAA,MAGA,MAAM,GAAG,IAAI;AAAA,MACb,UAAQ;AAAA,MACR,OAAM;AAAA,MAEN;AAAA,QAAC;AAAA;AAAA,UACA,QACC,aACG,CAAC,wBAAwB,EAAE,IAC3B,CAAC,wBAAwB,IAAI;AAAA,UAGjC;AAAA,YAAC;AAAA;AAAA,cACA,IAAI;AAAA,cACJ,MACC,aACG,wBAAwB,OACxB,wBAAwB;AAAA,cAG3B;AAAA;AAAA,UACF;AAAA;AAAA,MACD;AAAA;AAAA,EACD;AAEF;AAEO,MAAM,YAAY","sourcesContent":["import type { CellContext } from \"@tanstack/react-table\";\nimport {\n\tScorecardDraggableItems,\n\ttype ScorecardTableData,\n} from \"../../../../../schemas/config\";\nimport { DataTableCell } from \"@dhis2/ui\";\nimport DroppableCell from \"../../DroppableCell\";\nimport { DraggableCell } from \"../../DraggableCell\";\nimport { useScorecardStateSelectorValue } from \"../../../../../state
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/components/ScorecardTable/components/TableHeader/components/LabelCell.tsx"],"names":[],"mappings":"AAiFI;AAhFJ;AAAA,EACC;AAAA,OAEM;AACP,SAAS,qBAAqB;AAC9B,OAAO,mBAAmB;AAC1B,SAAS,qBAAqB;AAC9B,SAAS,sCAAsC;AAC/C,SAAS,eAAe;AACxB,SAAS,eAAe;AAEjB,SAAS,mBACf,OAOC;AACD,QAAM,OAAO,MAAM,SAAS;AAC5B,QAAM,OAAO,MAAM,KAAK,OAAO,QAAQ;AACvC,QAAM,aAAa,+BAAwC;AAAA,IAC1D;AAAA,IACA;AAAA,EACD,CAAC;AACD,QAAM,gBAAgB,+BAAwC;AAAA,IAC7D;AAAA,IACA;AAAA,EACD,CAAC;AAED,QAAM,cAAc,+BAAwC;AAAA,IAC3D;AAAA,IACA;AAAA,EACD,CAAC;AAED,QAAM,OAAO,QAAQ,MAAM;AAC1B,UAAM,QAAQ,MAAM,IAClB,gBAAgB,EAChB,UAAU,CAAC,EAAE,GAAG,MAAM,MAAM,KAAK,OAAO,EAAE;AAC5C,WAAO,QAAQ;AAAA,EAChB,GAAG,CAAC,MAAM,IAAI,gBAAgB,GAAG,MAAM,KAAK,EAAE,CAAC;AAE/C,QAAM,QAAQ,QAAQ,MAAM;AAC3B,QAAI,YAAY;AACf,aAAO,KAAK,SAAS;AAAA,IACtB;AACA,QAAI,eAAe;AAClB,aACC,KAAK,SAAS,UACZ,MAAM,GAAG,EACT,OAAO,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,EAC7B,KAAK,KAAK,KAAK;AAAA,IAEnB;AACA,WAAO,KAAK,SAAS;AAAA,EACtB,GAAG,CAAC,MAAM,eAAe,UAAU,CAAC;AAEpC,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV,OAAK;AAAA,MACL,OAAO,GAAG,IAAI;AAAA,MACd,OAAO;AAAA,QACN,OAAO,cAAc,SAAS;AAAA,QAC9B,UAAU,cAAc,SAAY;AAAA,MACrC;AAAA,MAGA,MAAM,GAAG,IAAI;AAAA,MACb,UAAQ;AAAA,MACR,OAAM;AAAA,MAEN;AAAA,QAAC;AAAA;AAAA,UACA,QACC,aACG,CAAC,wBAAwB,EAAE,IAC3B,CAAC,wBAAwB,IAAI;AAAA,UAGjC;AAAA,YAAC;AAAA;AAAA,cACA,IAAI;AAAA,cACJ,MACC,aACG,wBAAwB,OACxB,wBAAwB;AAAA,cAG3B;AAAA;AAAA,UACF;AAAA;AAAA,MACD;AAAA;AAAA,EACD;AAEF;AAEO,MAAM,YAAY","sourcesContent":["import type { CellContext } from \"@tanstack/react-table\";\nimport {\n\tScorecardDraggableItems,\n\ttype ScorecardTableData,\n} from \"../../../../../schemas/config\";\nimport { DataTableCell } from \"@dhis2/ui\";\nimport DroppableCell from \"../../DroppableCell\";\nimport { DraggableCell } from \"../../DraggableCell\";\nimport { useScorecardStateSelectorValue } from \"../../../../../state\";\nimport { useMemo } from \"react\";\nimport { isEmpty } from \"lodash\";\n\nexport function LabelCellComponent(\n\tprops: CellContext<\n\t\tScorecardTableData,\n\t\t{\n\t\t\tlabel: string;\n\t\t\torgUnit?: { uid: string; hierarchy: string; name: string };\n\t\t}\n\t>,\n) {\n\tconst data = props.getValue();\n\tconst size = props.cell.column.getSize();\n\tconst dataInRows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\tconst showHierarchy = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"showHierarchy\",\n\t]);\n\n\tconst inPrintMode = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"printMode\",\n\t]);\n\n\tconst left = useMemo(() => {\n\t\tconst index = props.row\n\t\t\t.getVisibleCells()\n\t\t\t.findIndex(({ id }) => props.cell.id === id);\n\t\treturn index * 48;\n\t}, [props.row.getVisibleCells(), props.cell.id]);\n\n\tconst label = useMemo(() => {\n\t\tif (dataInRows) {\n\t\t\treturn data.label ?? \"\";\n\t\t}\n\t\tif (showHierarchy) {\n\t\t\treturn (\n\t\t\t\tdata.orgUnit?.hierarchy\n\t\t\t\t\t.split(\"/\")\n\t\t\t\t\t.filter((val) => !isEmpty(val))\n\t\t\t\t\t.join(\" / \") ?? \"\"\n\t\t\t);\n\t\t}\n\t\treturn data.label ?? \"\";\n\t}, [data, showHierarchy, dataInRows]);\n\n\treturn (\n\t\t<DataTableCell\n\t\t\tclassName=\"label-cell\"\n\t\t\tfixed\n\t\t\twidth={`${size}px`}\n\t\t\tstyle={{\n\t\t\t\twidth: inPrintMode ? \"auto\" : size,\n\t\t\t\tminWidth: inPrintMode ? undefined : size,\n\t\t\t}}\n\t\t\t/*\n // @ts-ignore */\n\t\t\tleft={`${left}px`}\n\t\t\tbordered\n\t\t\talign=\"left\"\n\t\t>\n\t\t\t<DroppableCell\n\t\t\t\taccept={\n\t\t\t\t\tdataInRows\n\t\t\t\t\t\t? [ScorecardDraggableItems.ou]\n\t\t\t\t\t\t: [ScorecardDraggableItems.data]\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<DraggableCell\n\t\t\t\t\tid={label}\n\t\t\t\t\ttype={\n\t\t\t\t\t\tdataInRows\n\t\t\t\t\t\t\t? ScorecardDraggableItems.data\n\t\t\t\t\t\t\t: ScorecardDraggableItems.ou\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{label}\n\t\t\t\t</DraggableCell>\n\t\t\t</DroppableCell>\n\t\t</DataTableCell>\n\t);\n}\n\nexport const LabelCell = LabelCellComponent;\n"]}
|
package/dist/esm/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js
CHANGED
|
@@ -5,7 +5,7 @@ import styles from '../TableHeader.module.css';
|
|
|
5
5
|
import { FilterArea } from './FilterArea';
|
|
6
6
|
import { uid } from '@hisptz/dhis2-utils';
|
|
7
7
|
import { memo, useRef } from 'react';
|
|
8
|
-
import { useScorecardStateSelectorValue } from '../../../../../state
|
|
8
|
+
import { useScorecardStateSelectorValue } from '../../../../../state';
|
|
9
9
|
|
|
10
10
|
function MetaHeaderCellComponent({
|
|
11
11
|
header
|
package/dist/esm/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.tsx"],"names":["header"],"mappings":"AAgEI;AA9DJ,SAAS,6BAA0D;AACnE,OAAO,UAAU;AACjB,OAAO,YAAY;AACnB,SAAS,kBAAkB;AAC3B,SAAS,WAAW;AACpB,SAAS,MAAM,cAAc;AAC7B,SAAS,sCAAsC;AAE/C,SAAS,wBAAwB;AAAA,EAChC;AACD,GAA2C;AAC1C,QAAM,WAAW,OAAe,IAAI,CAAC;AAErC,QAAM,eAAe,+BAA+B,CAAC,cAAc,CAAC;AACpE,QAAM,aAAa,+BAAwC;AAAA,IAC1D;AAAA,IACA;AAAA,EACD,CAAC;AAED,QAAM,UAAU,aACb,eACC,MACA,MACD,eACC,MACA;AAEJ,QAAM,eAAe,OAAO,WAAW;AAAA,IAAK,CAACA,YAC5CA,QAAO,OAAO,aAAa;AAAA,EAC5B,GAAG;AAEH,QAAM,gBAAgB,CAAC,cAAc,YAAY,IAC9C,YACC,aAAc,YAAY;AAC9B,QAAM,eACL,cAAc,oBAAoB,MAAM,QACrC,KAAK,EAAE,oBAAoB,IAC3B,cAAc,oBAAoB,MAAM,SACvC,KAAK,EAAE,qBAAqB,IAC5B,KAAK,EAAE,SAAS;AAErB,SACC;AAAA,IAAC;AAAA;AAAA,MAEA,OAAM;AAAA,MACN,eAAe,KAAK,EAAE,yBAAyB,EAAE,aAAa,CAAC;AAAA,MAC/D,iBAAiB,CAAC,GAAG,MAAM;AAC1B,cAAM,OAAO,aAAc,wBAAwB;AACnD,YAAI,MAAM;AACT,eAAK,CAAC;AAAA,QACP;AAAA,MACD;AAAA,MACA,OAAK;AAAA,MAGL,MAAK;AAAA,MACL;AAAA,MACA,SAAS,OAAO,QAAQ,SAAS;AAAA,MACjC;AAAA,MACA,WAAW,OAAO;AAAA,MAEjB,WAAC,CAAC,gBACF;AAAA,QAAC;AAAA;AAAA,UAEA,QAAQ;AAAA;AAAA,QADH,GAAG,OAAO,EAAE;AAAA,MAElB;AAAA;AAAA,IAtBI,GAAG,OAAO,EAAE,IAAI,SAAS,OAAO;AAAA,EAwBtC;AAEF;AAEO,MAAM,iBAAiB,KAAK,uBAAuB","sourcesContent":["import type { HeaderContext } from \"@tanstack/react-table\";\nimport type { ScorecardTableData } from \"../../../../../schemas/config\";\nimport { DataTableColumnHeader, type DataTableSortDirection } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport styles from \"../TableHeader.module.css\";\nimport { FilterArea } from \"./FilterArea\";\nimport { uid } from \"@hisptz/dhis2-utils\";\nimport { memo, useRef } from \"react\";\nimport { useScorecardStateSelectorValue } from \"../../../../../state
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.tsx"],"names":["header"],"mappings":"AAgEI;AA9DJ,SAAS,6BAA0D;AACnE,OAAO,UAAU;AACjB,OAAO,YAAY;AACnB,SAAS,kBAAkB;AAC3B,SAAS,WAAW;AACpB,SAAS,MAAM,cAAc;AAC7B,SAAS,sCAAsC;AAE/C,SAAS,wBAAwB;AAAA,EAChC;AACD,GAA2C;AAC1C,QAAM,WAAW,OAAe,IAAI,CAAC;AAErC,QAAM,eAAe,+BAA+B,CAAC,cAAc,CAAC;AACpE,QAAM,aAAa,+BAAwC;AAAA,IAC1D;AAAA,IACA;AAAA,EACD,CAAC;AAED,QAAM,UAAU,aACb,eACC,MACA,MACD,eACC,MACA;AAEJ,QAAM,eAAe,OAAO,WAAW;AAAA,IAAK,CAACA,YAC5CA,QAAO,OAAO,aAAa;AAAA,EAC5B,GAAG;AAEH,QAAM,gBAAgB,CAAC,cAAc,YAAY,IAC9C,YACC,aAAc,YAAY;AAC9B,QAAM,eACL,cAAc,oBAAoB,MAAM,QACrC,KAAK,EAAE,oBAAoB,IAC3B,cAAc,oBAAoB,MAAM,SACvC,KAAK,EAAE,qBAAqB,IAC5B,KAAK,EAAE,SAAS;AAErB,SACC;AAAA,IAAC;AAAA;AAAA,MAEA,OAAM;AAAA,MACN,eAAe,KAAK,EAAE,yBAAyB,EAAE,aAAa,CAAC;AAAA,MAC/D,iBAAiB,CAAC,GAAG,MAAM;AAC1B,cAAM,OAAO,aAAc,wBAAwB;AACnD,YAAI,MAAM;AACT,eAAK,CAAC;AAAA,QACP;AAAA,MACD;AAAA,MACA,OAAK;AAAA,MAGL,MAAK;AAAA,MACL;AAAA,MACA,SAAS,OAAO,QAAQ,SAAS;AAAA,MACjC;AAAA,MACA,WAAW,OAAO;AAAA,MAEjB,WAAC,CAAC,gBACF;AAAA,QAAC;AAAA;AAAA,UAEA,QAAQ;AAAA;AAAA,QADH,GAAG,OAAO,EAAE;AAAA,MAElB;AAAA;AAAA,IAtBI,GAAG,OAAO,EAAE,IAAI,SAAS,OAAO;AAAA,EAwBtC;AAEF;AAEO,MAAM,iBAAiB,KAAK,uBAAuB","sourcesContent":["import type { HeaderContext } from \"@tanstack/react-table\";\nimport type { ScorecardTableData } from \"../../../../../schemas/config\";\nimport { DataTableColumnHeader, type DataTableSortDirection } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport styles from \"../TableHeader.module.css\";\nimport { FilterArea } from \"./FilterArea\";\nimport { uid } from \"@hisptz/dhis2-utils\";\nimport { memo, useRef } from \"react\";\nimport { useScorecardStateSelectorValue } from \"../../../../../state\";\n\nfunction MetaHeaderCellComponent({\n\theader,\n}: HeaderContext<ScorecardTableData, any>) {\n\tconst randomId = useRef<string>(uid());\n\n\tconst hasOnePeriod = useScorecardStateSelectorValue([\"hasOnePeriod\"]);\n\tconst dataInRows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\n\tconst rowSpan = dataInRows\n\t\t? hasOnePeriod\n\t\t\t? \"2\"\n\t\t\t: \"2\"\n\t\t: hasOnePeriod\n\t\t\t? \"2\"\n\t\t\t: \"3\";\n\n\tconst filterColumn = header.subHeaders.find((header) =>\n\t\theader.column.getCanFilter(),\n\t)?.column;\n\n\tconst sortDirection = !filterColumn?.getIsSorted()\n\t\t? \"default\"\n\t\t: (filterColumn!.getIsSorted() as DataTableSortDirection);\n\tconst nextSortType =\n\t\tfilterColumn?.getNextSortingOrder() === \"asc\"\n\t\t\t? i18n.t(\"in ascending order\")\n\t\t\t: filterColumn?.getNextSortingOrder() === \"desc\"\n\t\t\t\t? i18n.t(\"in descending order\")\n\t\t\t\t: i18n.t(\"disable\");\n\n\treturn (\n\t\t<DataTableColumnHeader\n\t\t\tkey={`${header.id}-${randomId.current}`}\n\t\t\talign=\"center\"\n\t\t\tsortIconTitle={i18n.t(\"Sort {{nextSortType}}\", { nextSortType })}\n\t\t\tonSortIconClick={(_, e) => {\n\t\t\t\tconst sort = filterColumn!.getToggleSortingHandler();\n\t\t\t\tif (sort) {\n\t\t\t\t\tsort(e);\n\t\t\t\t}\n\t\t\t}}\n\t\t\tfixed\n\t\t\t/*\n // @ts-ignore */\n\t\t\tleft=\"0\"\n\t\t\tsortDirection={sortDirection}\n\t\t\tcolSpan={header.colSpan.toString()}\n\t\t\trowSpan={rowSpan}\n\t\t\tclassName={styles.metaHeader}\n\t\t>\n\t\t\t{!!filterColumn && (\n\t\t\t\t<FilterArea\n\t\t\t\t\tkey={`${header.id}-filter-area`}\n\t\t\t\t\tcolumn={filterColumn}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</DataTableColumnHeader>\n\t);\n}\n\nexport const MetaHeaderCell = memo(MetaHeaderCellComponent);\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { useCallback } from 'react';
|
|
3
3
|
import { RecoilRoot } from 'recoil';
|
|
4
|
-
import { scorecardStateAtom } from '../state
|
|
4
|
+
import { scorecardStateAtom } from '../state';
|
|
5
5
|
import { getInitialStateFromConfig } from '../utils';
|
|
6
6
|
|
|
7
7
|
function ScorecardStateProvider({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/StateProvider.tsx"],"names":[],"mappings":"AA2BQ;AA1BR,SAAyB,mBAAmB;AAC5C,SAA0B,kBAAkB;AAC5C,SAAS,0BAA0B;AACnC,SAAS,iCAAiC;AAQnC,SAAS,uBAAuB;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AACD,GAAgC;AAC/B,QAAM,YAAY;AAAA,IACjB,CAAC,EAAE,IAAI,MAAuB;AAC7B;AAAA,QACC;AAAA,QACA,gBAAgB,0BAA0B,MAAM;AAAA,MACjD;AAAA,IACD;AAAA,IACA,CAAC,cAAc,MAAM;AAAA,EACtB;AAEA,SAAO,oBAAC,cAAW,iBAAiB,WAAY,UAAS;AAC1D","sourcesContent":["import type { ScorecardConfig, ScorecardState } from \"../schemas/config\";\nimport { type ReactNode, useCallback } from \"react\";\nimport { MutableSnapshot, RecoilRoot } from \"recoil\";\nimport { scorecardStateAtom } from \"../state
|
|
1
|
+
{"version":3,"sources":["../../../src/components/StateProvider.tsx"],"names":[],"mappings":"AA2BQ;AA1BR,SAAyB,mBAAmB;AAC5C,SAA0B,kBAAkB;AAC5C,SAAS,0BAA0B;AACnC,SAAS,iCAAiC;AAQnC,SAAS,uBAAuB;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AACD,GAAgC;AAC/B,QAAM,YAAY;AAAA,IACjB,CAAC,EAAE,IAAI,MAAuB;AAC7B;AAAA,QACC;AAAA,QACA,gBAAgB,0BAA0B,MAAM;AAAA,MACjD;AAAA,IACD;AAAA,IACA,CAAC,cAAc,MAAM;AAAA,EACtB;AAEA,SAAO,oBAAC,cAAW,iBAAiB,WAAY,UAAS;AAC1D","sourcesContent":["import type { ScorecardConfig, ScorecardState } from \"../schemas/config\";\nimport { type ReactNode, useCallback } from \"react\";\nimport { MutableSnapshot, RecoilRoot } from \"recoil\";\nimport { scorecardStateAtom } from \"../state\";\nimport { getInitialStateFromConfig } from \"../utils\";\n\nexport interface ScorecardStateProviderProps {\n\tinitialState?: ScorecardState;\n\tconfig: ScorecardConfig;\n\tchildren: ReactNode;\n}\n\nexport function ScorecardStateProvider({\n\tchildren,\n\tinitialState,\n\tconfig,\n}: ScorecardStateProviderProps) {\n\tconst initState = useCallback(\n\t\t({ set }: MutableSnapshot) => {\n\t\t\tset(\n\t\t\t\tscorecardStateAtom,\n\t\t\t\tinitialState ?? getInitialStateFromConfig(config),\n\t\t\t);\n\t\t},\n\t\t[initialState, config],\n\t);\n\n\treturn <RecoilRoot initializeState={initState}>{children}</RecoilRoot>;\n}\n"]}
|
|
@@ -4,5 +4,7 @@ export * from './MetaProvider';
|
|
|
4
4
|
export * from './ScorecardPrint/ScorecardPrint';
|
|
5
5
|
export * from './ScorecardHeader';
|
|
6
6
|
export * from './ScorecardLegendsView';
|
|
7
|
+
export * from './StateProvider';
|
|
8
|
+
export * from './TableStateProvider';
|
|
7
9
|
//# sourceMappingURL=out.js.map
|
|
8
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc","sourcesContent":["export * from \"./ScorecardContext\";\nexport * from \"./ConfigProvider\";\nexport * from \"./MetaProvider\";\nexport * from \"./ScorecardPrint/ScorecardPrint\";\nexport * from \"./ScorecardHeader\";\nexport * from \"./ScorecardLegendsView\";\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc","sourcesContent":["export * from \"./ScorecardContext\";\nexport * from \"./ConfigProvider\";\nexport * from \"./MetaProvider\";\nexport * from \"./ScorecardPrint/ScorecardPrint\";\nexport * from \"./ScorecardHeader\";\nexport * from \"./ScorecardLegendsView\";\nexport * from \"./StateProvider\";\nexport * from \"./TableStateProvider\";\n"]}
|
|
@@ -10,7 +10,7 @@ import { MetaFooterCell } from '../components/ScorecardTable/components/MetaFoot
|
|
|
10
10
|
import { getOrgUnitLevel } from '../utils/orgUnits';
|
|
11
11
|
import { useLowestOrgUnitLevel } from './orgUnit';
|
|
12
12
|
import { useScorecardData } from '../components/DataProvider';
|
|
13
|
-
import { useScorecardStateSelectorValue } from '../state
|
|
13
|
+
import { useScorecardStateSelectorValue } from '../state';
|
|
14
14
|
import { ExpandCell } from '../components/ScorecardTable/components/TableHeader/components/ExpandCell';
|
|
15
15
|
|
|
16
16
|
const columnHelper = createColumnHelper();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/hooks/columns.ts"],"names":[],"mappings":"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","sourcesContent":["import { type ColumnDef, createColumnHelper } from \"@tanstack/react-table\";\nimport { useScorecardConfig, useScorecardMeta } from \"../components\";\nimport { useMemo } from \"react\";\nimport {\n\ttype ScorecardState,\n\ttype ScorecardTableCellConfig,\n\ttype ScorecardTableData,\n} from \"../schemas/config\";\nimport {\n\tgetAverageColumn,\n\tgetDataColumnHeaders,\n\tgetOrgUnitColumnHeaders,\n} from \"../utils/columns\";\nimport { LabelCell } from \"../components/ScorecardTable/components/TableHeader/components/LabelCell\";\nimport { NumberCell } from \"../components/ScorecardTable/components/TableHeader/components/NumberCell\";\nimport { MetaHeaderCell } from \"../components/ScorecardTable/components/TableHeader/components/MetaHeaderCell\";\nimport { useCalendar } from \"./metadata\";\nimport { MetaFooterCell } from \"../components/ScorecardTable/components/MetaFooterCell\";\nimport { getOrgUnitLevel } from \"../utils/orgUnits\";\nimport { useLowestOrgUnitLevel } from \"./orgUnit\";\nimport { useScorecardData } from \"../components/DataProvider\";\nimport { useScorecardStateSelectorValue } from \"../state
|
|
1
|
+
{"version":3,"sources":["../../../src/hooks/columns.ts"],"names":[],"mappings":"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","sourcesContent":["import { type ColumnDef, createColumnHelper } from \"@tanstack/react-table\";\nimport { useScorecardConfig, useScorecardMeta } from \"../components\";\nimport { useMemo } from \"react\";\nimport {\n\ttype ScorecardState,\n\ttype ScorecardTableCellConfig,\n\ttype ScorecardTableData,\n} from \"../schemas/config\";\nimport {\n\tgetAverageColumn,\n\tgetDataColumnHeaders,\n\tgetOrgUnitColumnHeaders,\n} from \"../utils/columns\";\nimport { LabelCell } from \"../components/ScorecardTable/components/TableHeader/components/LabelCell\";\nimport { NumberCell } from \"../components/ScorecardTable/components/TableHeader/components/NumberCell\";\nimport { MetaHeaderCell } from \"../components/ScorecardTable/components/TableHeader/components/MetaHeaderCell\";\nimport { useCalendar } from \"./metadata\";\nimport { MetaFooterCell } from \"../components/ScorecardTable/components/MetaFooterCell\";\nimport { getOrgUnitLevel } from \"../utils/orgUnits\";\nimport { useLowestOrgUnitLevel } from \"./orgUnit\";\nimport { useScorecardData } from \"../components/DataProvider\";\nimport { useScorecardStateSelectorValue } from \"../state\";\nimport { ExpandCell } from \"../components/ScorecardTable/components/TableHeader/components/ExpandCell\";\n\nconst columnHelper = createColumnHelper<ScorecardTableData>();\n\nexport function useMetaColumns() {\n\tconst showDataInRows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\n\tconst disableExpanding = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"disableExpanding\",\n\t]);\n\n\tconst lowestLevel = useLowestOrgUnitLevel();\n\n\treturn useMemo(() => {\n\t\tconst metaColumns: ColumnDef<ScorecardTableData, any>[] = [\n\t\t\tcolumnHelper.accessor(\n\t\t\t\t(rowData) => {\n\t\t\t\t\tif (disableExpanding) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (showDataInRows) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!lowestLevel) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst orgUnit = rowData.orgUnit;\n\t\t\t\t\tif (!orgUnit) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tconst ouLevel = getOrgUnitLevel(orgUnit);\n\n\t\t\t\t\treturn ouLevel !== lowestLevel.level;\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: \"expand\",\n\t\t\t\t\theader: () => null,\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tisMeta: true,\n\t\t\t\t\t\tfixed: true,\n\t\t\t\t\t\tlabel: \"\",\n\t\t\t\t\t},\n\t\t\t\t\tenableHiding: true,\n\t\t\t\t\tenableColumnFilter: false,\n\t\t\t\t\tcell: ExpandCell,\n\t\t\t\t\tsize: 48,\n\t\t\t\t\tfooter: () => null,\n\t\t\t\t},\n\t\t\t),\n\t\t\tcolumnHelper.accessor(\n\t\t\t\t(_, index) => {\n\t\t\t\t\treturn index + 1;\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: \"count\",\n\t\t\t\t\theader: () => null,\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tisMeta: true,\n\t\t\t\t\t\tfixed: true,\n\t\t\t\t\t\tlabel: \"\",\n\t\t\t\t\t},\n\t\t\t\t\tenableHiding: true,\n\t\t\t\t\tenableColumnFilter: false,\n\t\t\t\t\tcell: NumberCell,\n\t\t\t\t\tsize: 48,\n\t\t\t\t\tfooter: () => null,\n\t\t\t\t},\n\t\t\t),\n\t\t];\n\n\t\tif (showDataInRows) {\n\t\t\tmetaColumns.push(\n\t\t\t\tcolumnHelper.accessor(\n\t\t\t\t\t(rowData) => {\n\t\t\t\t\t\treturn rowData;\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\theader: () => null,\n\t\t\t\t\t\tid: \"dataItems\",\n\t\t\t\t\t\tmeta: {\n\t\t\t\t\t\t\tfilterable: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tenableColumnFilter: true,\n\t\t\t\t\t\tcell: LabelCell,\n\t\t\t\t\t\tsize: 300,\n\t\t\t\t\t\tfooter: MetaFooterCell,\n\t\t\t\t\t},\n\t\t\t\t),\n\t\t\t);\n\t\t} else {\n\t\t\tmetaColumns.push(\n\t\t\t\tcolumnHelper.accessor(\n\t\t\t\t\t(rowData) => {\n\t\t\t\t\t\treturn rowData;\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\theader: () => null,\n\t\t\t\t\t\tid: \"orgUnits\",\n\t\t\t\t\t\tenableColumnFilter: true,\n\t\t\t\t\t\tmeta: {\n\t\t\t\t\t\t\tisMeta: true,\n\t\t\t\t\t\t\tfixed: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcell: LabelCell,\n\t\t\t\t\t\tsize: 300,\n\t\t\t\t\t\tfooter: MetaFooterCell,\n\t\t\t\t\t},\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\n\t\treturn metaColumns;\n\t}, [showDataInRows, disableExpanding]);\n}\n\nexport function useTableColumns(): ColumnDef<\n\tScorecardTableData,\n\tScorecardTableCellConfig\n>[] {\n\tconst config = useScorecardConfig();\n\tconst { data: dataEngine } = useScorecardData();\n\tconst meta = useScorecardMeta();\n\tconst metaColumns = useMetaColumns();\n\tconst calendar = useCalendar();\n\tconst showDataInRows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\tconst periodSelection =\n\t\tuseScorecardStateSelectorValue<ScorecardState[\"periodSelection\"]>(\n\t\t\t\"periodSelection\",\n\t\t);\n\n\tconst orgUnitSelection =\n\t\tuseScorecardStateSelectorValue<ScorecardState[\"orgUnitSelection\"]>(\n\t\t\t\"orgUnitSelection\",\n\t\t);\n\n\tif (!config || !meta) {\n\t\treturn [];\n\t}\n\treturn useMemo(() => {\n\t\tconst columns: ColumnDef<ScorecardTableData, any>[] = [\n\t\t\tcolumnHelper.group({\n\t\t\t\tid: \"metaHeader\",\n\t\t\t\tcolumns: metaColumns,\n\t\t\t\theader: MetaHeaderCell,\n\t\t\t\tfooter: () => null,\n\t\t\t}),\n\t\t];\n\n\t\tif (showDataInRows) {\n\t\t\tcolumns.push(\n\t\t\t\t...getOrgUnitColumnHeaders({\n\t\t\t\t\tmeta,\n\t\t\t\t\tcalendar,\n\t\t\t\t\tdataEngine,\n\t\t\t\t}),\n\t\t\t);\n\t\t} else {\n\t\t\tcolumns.push(\n\t\t\t\t...getDataColumnHeaders({\n\t\t\t\t\tmeta,\n\t\t\t\t\tconfig,\n\t\t\t\t\tcalendar,\n\t\t\t\t\tdataEngine,\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\n\t\tcolumns.push(\n\t\t\tgetAverageColumn({\n\t\t\t\tmeta,\n\t\t\t\tconfig,\n\t\t\t}),\n\t\t);\n\n\t\treturn columns;\n\t}, [showDataInRows, periodSelection, orgUnitSelection]);\n}\n"]}
|
|
@@ -3,7 +3,7 @@ import { useAlert, useDataQuery, useConfig } from '@dhis2/app-runtime';
|
|
|
3
3
|
import { useMemo, useEffect } from 'react';
|
|
4
4
|
import { getDimensions } from '../utils/analytics';
|
|
5
5
|
import i18n from '@dhis2/d2-i18n';
|
|
6
|
-
import { useScorecardStateSelectorValue } from '../state
|
|
6
|
+
import { useScorecardStateSelectorValue } from '../state';
|
|
7
7
|
|
|
8
8
|
const query = {
|
|
9
9
|
meta: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/hooks/metadata.ts"],"names":[],"mappings":"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","sourcesContent":["import { useScorecardConfig } from \"../components\";\nimport { useAlert, useConfig, useDataQuery } from \"@dhis2/app-runtime\";\nimport { useEffect, useMemo } from \"react\";\nimport { getDimensions } from \"../utils/analytics\";\nimport type { SupportedCalendar } from \"@dhis2/multi-calendar-dates/build/types/types\";\nimport type { ScorecardState } from \"../schemas/config\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { useScorecardStateSelectorValue } from \"../state
|
|
1
|
+
{"version":3,"sources":["../../../src/hooks/metadata.ts"],"names":[],"mappings":"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","sourcesContent":["import { useScorecardConfig } from \"../components\";\nimport { useAlert, useConfig, useDataQuery } from \"@dhis2/app-runtime\";\nimport { useEffect, useMemo } from \"react\";\nimport { getDimensions } from \"../utils/analytics\";\nimport type { SupportedCalendar } from \"@dhis2/multi-calendar-dates/build/types/types\";\nimport type { ScorecardState } from \"../schemas/config\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { useScorecardStateSelectorValue } from \"../state\";\n\nconst query: any = {\n\tmeta: {\n\t\tresource: \"analytics\",\n\t\tparams: ({\n\t\t\tperiods,\n\t\t\torgUnits,\n\t\t\tdataItems,\n\t\t}: {\n\t\t\tperiods: string[];\n\t\t\torgUnits: string[];\n\t\t\tdataItems: string[];\n\t\t}) => {\n\t\t\treturn {\n\t\t\t\tskipData: true,\n\t\t\t\thierarchyData: true,\n\t\t\t\tshowHierarchy: true,\n\t\t\t\tenhancedConditions: true,\n\t\t\t\tincludeMetadataDetails: true,\n\t\t\t\tdimension: [\n\t\t\t\t\t`pe:${periods.join(\";\")}`,\n\t\t\t\t\t`dx:${dataItems.join(\";\")}`,\n\t\t\t\t\t`ou:${orgUnits.join(\";\")}`,\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\t},\n\touLevel: {\n\t\tresource: \"organisationUnitLevels\",\n\t\tparams: {\n\t\t\tfields: [\"id\", \"displayName\", \"level\"],\n\t\t},\n\t},\n};\n\nexport type ItemMeta = {\n\tuid: string;\n\tname: string;\n\tcode?: string;\n\tdescription?: string;\n\tvalueType?: string;\n\ttotalAggregationType?: string;\n\taggregationType?: string;\n\t[key: string]: string | number | undefined;\n};\n\ntype MetaResponse = {\n\tmeta: {\n\t\tcolumns: any[];\n\t\trows: [];\n\t\theaders: [];\n\t\tmetaData: {\n\t\t\tdimensions: {\n\t\t\t\tdx: string[];\n\t\t\t\tou: string[];\n\t\t\t\tpe: string[];\n\t\t\t\tco: string[];\n\t\t\t\t[key: string]: string[];\n\t\t\t};\n\t\t\titems: {\n\t\t\t\t[key: string]: ItemMeta;\n\t\t\t};\n\t\t\touNameHierarchy: {\n\t\t\t\t[key: string]: string;\n\t\t\t};\n\t\t};\n\t};\n\touLevel: {\n\t\torganisationUnitLevels: Array<{\n\t\t\tid: string;\n\t\t\tlevel: number;\n\t\t\tdisplayName: string;\n\t\t}>;\n\t};\n};\n\nexport function useGetScorecardMeta() {\n\tconst config = useScorecardConfig();\n\n\tconst { show } = useAlert(\n\t\t({ message }) => message,\n\t\t({ type }) => ({ ...type, duration: 3000 }),\n\t);\n\n\tconst orgUnitSelection =\n\t\tuseScorecardStateSelectorValue<ScorecardState[\"orgUnitSelection\"]>(\n\t\t\t\"orgUnitSelection\",\n\t\t);\n\tconst periodSelection =\n\t\tuseScorecardStateSelectorValue<ScorecardState[\"periodSelection\"]>(\n\t\t\t\"periodSelection\",\n\t\t);\n\n\tconst { dataItemsIds, orgUnitsIds, periodsIds } = useMemo(\n\t\t() =>\n\t\t\tgetDimensions({\n\t\t\t\tconfig,\n\t\t\t\torgUnitSelection,\n\t\t\t\tperiodSelection,\n\t\t\t}),\n\t\t[config, orgUnitSelection, periodSelection],\n\t);\n\n\tconst { loading, data, refetch, called } = useDataQuery<MetaResponse>(\n\t\tquery,\n\t\t{\n\t\t\tvariables: {\n\t\t\t\tperiods: periodsIds,\n\t\t\t\torgUnits: orgUnitsIds,\n\t\t\t\tdataItems: dataItemsIds,\n\t\t\t},\n\t\t\tlazy: true,\n\t\t\tonError: (error) => {\n\t\t\t\tshow({\n\t\t\t\t\tmessage: `${i18n.t(\"Error getting scorecard data\")}: ${\n\t\t\t\t\t\terror.message\n\t\t\t\t\t}`,\n\t\t\t\t\ttype: { critical: true },\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t);\n\n\tconst orgUnits = useMemo(() => {\n\t\treturn (\n\t\t\tdata?.meta?.metaData.dimensions[\"ou\"]\n\t\t\t\t.map((ou) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...data?.meta?.metaData.items[ou],\n\t\t\t\t\t\thierarchy: data?.meta?.metaData?.ouNameHierarchy[ou],\n\t\t\t\t\t};\n\t\t\t\t})\n\t\t\t\t.filter(Boolean) ?? []\n\t\t);\n\t}, [data?.meta]);\n\tconst periods = useMemo(() => {\n\t\treturn (\n\t\t\tdata?.meta?.metaData.dimensions[\"pe\"]\n\t\t\t\t.map((pe) => {\n\t\t\t\t\treturn data?.meta?.metaData.items[pe];\n\t\t\t\t})\n\t\t\t\t.filter(Boolean) ?? []\n\t\t);\n\t}, [data?.meta]);\n\tconst dataItems = useMemo(() => {\n\t\treturn (\n\t\t\tdata?.meta?.metaData.dimensions[\"dx\"]\n\t\t\t\t.map((dx) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...data?.meta?.metaData.items[dx],\n\t\t\t\t\t\tuid: dx,\n\t\t\t\t\t};\n\t\t\t\t})\n\t\t\t\t.filter(Boolean) ?? []\n\t\t);\n\t}, [data?.meta]);\n\tconst orgUnitLevels = useMemo(\n\t\t() => data?.ouLevel?.organisationUnitLevels ?? [],\n\t\t[data?.ouLevel?.organisationUnitLevels],\n\t);\n\n\tuseEffect(() => {\n\t\trefetch({\n\t\t\tperiods: periodsIds,\n\t\t\torgUnits: orgUnitsIds,\n\t\t\tdataItems: dataItemsIds,\n\t\t});\n\t}, [periodsIds, orgUnitsIds, dataItemsIds]);\n\n\treturn {\n\t\tloading,\n\t\torgUnits,\n\t\tperiods,\n\t\tdataItems,\n\t\torgUnitLevels,\n\t\tcalled,\n\t};\n}\n\nexport function useCalendar() {\n\tconst { systemInfo } = useConfig();\n\treturn (\n\t\t(systemInfo as unknown as { calendar?: SupportedCalendar })?.calendar ??\n\t\t\"iso8601\"\n\t);\n}\n"]}
|
package/dist/esm/hooks/table.js
CHANGED
|
@@ -6,7 +6,7 @@ import { getRowsFromMeta } from '../utils/data';
|
|
|
6
6
|
import { meanBy, isEmpty } from 'lodash';
|
|
7
7
|
import { getAverageValue } from '../utils/columns';
|
|
8
8
|
import { useScorecardData } from '../components/DataProvider';
|
|
9
|
-
import { useScorecardStateSelectorValue } from '../state
|
|
9
|
+
import { useScorecardStateSelectorValue } from '../state';
|
|
10
10
|
|
|
11
11
|
function getRowValues({
|
|
12
12
|
data,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/hooks/table.ts"],"names":["emptyRows","rows"],"mappings":"AAAA;AAAA,EAGC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAMM;AACP,SAAS,uBAAuB;AAKhC,SAAS,aAAa,WAAW,SAAS,gBAAgB;AAC1D;AAAA,EAEC;AAAA,EACA;AAAA,OACM;AACP,SAA6B,uBAAuB;AACpD,SAAS,SAAS,cAAc;AAEhC,SAAS,uBAAuB;AAChC,SAAS,wBAAwB;AACjC,SAAS,sCAAsC;AAExC,SAAS,aAAa;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AACD,GAIoB;AACnB,SAAO,KAAK,OAAO,CAAC,UAAU;AAC7B,QAAI,gBAAgB;AACnB,aAAO,IACL,WAAY,YAAY,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,EAC1C,SAAS,MAAM,EAAG;AAAA,IACrB;AACA,WAAO,MAAM,OAAO,IAAI,QAAS;AAAA,EAClC,CAAC;AACF;AAEO,SAAS,WAAW;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAOG;AACF,MAAI,CAAC,WAAW,QAAQ;AACvB,WAAO,CAAC;AAAA,EACT;AACA,QAAM,aAAuB,CAAC;AAC9B,QAAM,qBAAqB,KAAK,IAAI,CAAC,KAAK,UAAU;AACnD,UAAM,SAAS,aAAa;AAAA,MAC3B;AAAA,MACA,MAAM,WAAW;AAAA,MACjB;AAAA,IACD,CAAC;AACD,UAAM,UAAU,OAAO,QAAQ,CAAC,EAAE,MAAM,MAAM,WAAW,KAAM,CAAC;AAChE,WAAO;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,EACD,CAAC;AACD,MAAI,CAAC,WAAW;AAEf,UAAMA,aAAY,mBAChB,OAAO,CAAC,EAAE,OAAO,MAAM,QAAQ,MAAM,CAAC,EACtC,IAAI,CAAC,EAAE,MAAM,MAAM,KAAK;AAC1B,eAAW,KAAK,GAAGA,UAAS;AAAA,EAC7B;AAEA,MAAI,uBAAuB,OAAO;AACjC,UAAM,UAAU,gBAAgB;AAAA,MAC/B,YAAY,WAAW;AAAA,MACvB;AAAA,IACD,CAAC;AACD,QAAI,uBAAuB,iBAAiB;AAC3C,YAAM,mBAAmB,mBACvB,OAAO,CAAC,EAAE,SAAS,WAAW,MAAM,aAAa,OAAO,EACxD,IAAI,CAAC,EAAE,MAAM,MAAM,KAAK;AAC1B,iBAAW,KAAK,GAAG,gBAAgB;AAAA,IACpC,OAAO;AACN,YAAM,mBAAmB,mBACvB,OAAO,CAAC,EAAE,SAAS,WAAW,MAAM,aAAa,OAAO,EACxD,IAAI,CAAC,EAAE,MAAM,MAAM,KAAK;AAC1B,iBAAW,KAAK,GAAG,gBAAgB;AAAA,IACpC;AAAA,EACD;AAEA,SAAO;AACR;AAEO,SAAS,eAAqC;AACpD,QAAM,OAAO,iBAAiB;AAC9B,QAAM,EAAE,MAAM,WAAW,IAAI,iBAAiB;AAC9C,QAAM,iBAAiB,+BAAwC;AAAA,IAC9D;AAAA,IACA;AAAA,EACD,CAAC;AACD,QAAM,YAAY,+BAAwC;AAAA,IACzD;AAAA,IACA;AAAA,EACD,CAAC;AACD,QAAM,qBAAqB,+BAEzB,CAAC,WAAW,oBAAoB,CAAC;AAEnC,QAAM,SAAS,mBAAmB;AAElC,QAAM,CAAC,kBAAkB,mBAAmB,IAAI,SAAmB,CAAC,CAAC;AAErE,MAAI,QAAQ;AAAM,WAAO,CAAC;AAE1B,QAAM,OAAO,QAAQ,MAAM;AAC1B,UAAMC,QAAO,gBAAgB;AAAA,MAC5B;AAAA,MACA;AAAA,MACA;AAAA,IACD,CAAC;AAED,QAAI,QAAQ,gBAAgB,GAAG;AAC9B,aAAOA;AAAA,IACR;AAEA,WAAOA,MAAK,OAAO,CAAC,GAAG,UAAU,CAAC,iBAAiB,SAAS,KAAK,CAAC;AAAA,EACnE,GAAG,CAAC,MAAM,gBAAgB,QAAQ,gBAAgB,CAAC;AAEnD,YAAU,MAAM;AACf,UAAM,WAAW,CAAC,cAAuB;AACxC,UAAI,WAAW;AACd;AAAA,UACC,WAAW;AAAA,YACV;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACD,CAAC;AAAA,QACF;AAAA,MACD;AAAA,IACD;AACA,QAAI,WAAW,QAAQ;AACtB;AAAA,QACC,WAAW;AAAA,UACV;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACD,CAAC;AAAA,MACF;AAAA,IACD,OAAO;AACN,aAAO,WAAW,sBAAsB,QAAQ;AAAA,IACjD;AAAA,EACD,GAAG,CAAC,oBAAoB,WAAW,cAAc,CAAC;AAElD,SAAO;AACR;AAEO,SAAS,sBAAsB;AACrC,QAAM,oBAAoB,+BAAwC;AAAA,IACjE;AAAA,IACA;AAAA,EACD,CAAC;AACD,QAAM,iBAAiB,+BAAwC;AAAA,IAC9D;AAAA,IACA;AAAA,EACD,CAAC;AACD,QAAM,iBAAiB,+BAAwC;AAAA,IAC9D;AAAA,IACA;AAAA,EACD,CAAC;AAED,QAAM,mBACL,+BAAwC;AAAA,IACvC;AAAA,IACA;AAAA,EACD,CAAC,KAAK;AAEP,QAAM,CAAC,kBAAkB,mBAAmB,IAAI,SAA0B;AAAA,IACzE,SAAS;AAAA,IACT,OAAO;AAAA,IACP,QAAQ,CAAC;AAAA,EACV,CAAC;AAED,YAAU,MAAM;AACf,wBAAoB;AAAA,MACnB,SAAS;AAAA,MACT,OAAO;AAAA,MACP,QAAQ,CAAC,oBAAoB,CAAC;AAAA,IAC/B,CAAC;AAAA,EACF,GAAG,CAAC,mBAAmB,gBAAgB,kBAAkB,cAAc,CAAC;AAExE,SAAO;AAAA,IACN;AAAA,IACA;AAAA,EACD;AACD;AAEO,SAAS,kBAAkB;AACjC,QAAM,CAAC,UAAU,WAAW,IAAI,SAAwB,CAAC,CAAC;AAC1D,QAAM,mBACL,+BAAwC;AAAA,IACvC;AAAA,IACA;AAAA,EACD,CAAC,KAAK;AAEP,QAAM,kBAAkB,YAAY,CAAC,QAAiC;AACrE,UAAM,aAAa,IACjB,gBAAgB,EAChB,KAAK,CAAC,EAAE,GAAG,MAAM,GAAG,SAAS,QAAQ,CAAC;AAExC,QAAI,CAAC;AAAY,aAAO;AACxB,WAAO,WAAW,SAAS;AAAA,EAC5B,GAAG,CAAC,CAAC;AAEL,SAAO;AAAA,IACN;AAAA,IACA,kBAAkB,mBAAmB,SAAY;AAAA,IACjD;AAAA,EACD;AACD;AAEO,SAAS,gBAAkD;AACjE,QAAM,CAAC,eAAe,gBAAgB,IAAI,SAA6B,CAAC,CAAC;AACzE,QAAM,oBAAoB,+BAAwC;AAAA,IACjE;AAAA,IACA;AAAA,EACD,CAAC;AACD,QAAM,CAAC,YAAY,aAAa,IAAI,SAA0B;AAAA,IAC7D,UAAU;AAAA,IACV,WAAW;AAAA,EACZ,CAAC;AAED,QAAM,EAAE,kBAAkB,oBAAoB,IAAI,oBAAoB;AACtE,QAAM,EAAE,UAAU,kBAAkB,gBAAgB,IAAI,gBAAgB;AAExE,QAAM,CAAC,SAAS,UAAU,IAAI,SAAuB,CAAC,CAAC;AACvD,QAAM,UAAU,gBAAgB;AAChC,QAAM,OAAO,aAAa;AAE1B,SAAO;AAAA,IACN,OAAO;AAAA,MACN;AAAA,MACA;AAAA,MACA,OAAO;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,GAAI,oBAAoB,CAAC,IAAI,EAAE,WAAW;AAAA,MAC3C;AAAA,MACA,MAAM;AAAA,QACL;AAAA,MACD;AAAA,MACA,oBAAoB;AAAA,MACpB;AAAA,MACA,UAAU,KAAK;AAAA,MACf;AAAA,MACA,uBAAuB;AAAA,MACvB,iBAAiB;AAAA,MACjB,iBAAiB,gBAAgB;AAAA,MACjC,qBAAqB,oBAAoB;AAAA,MACzC,qBAAqB,oBAAoB;AAAA,MACzC,uBAAuB,oBACpB,SACA,sBAAsB;AAAA,MACzB,mBAAmB,kBAAkB;AAAA,MACrC,0BAA0B;AAAA,MAC1B,oBAAoB,oBAAoB,SAAY;AAAA,IACrD;AAAA,IACA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,EACD;AACD","sourcesContent":["import {\n\ttype ColumnFiltersState,\n\ttype ExpandedState,\n\tgetCoreRowModel,\n\tgetExpandedRowModel,\n\tgetFilteredRowModel,\n\tgetPaginationRowModel,\n\tgetSortedRowModel,\n\ttype PaginationState,\n\ttype Row,\n\ttype SortingState,\n\ttype TableOptions,\n\ttype VisibilityState,\n} from \"@tanstack/react-table\";\nimport { useTableColumns } from \"./columns\";\nimport type {\n\tScorecardTableData,\n\tScorecardViewOptions,\n} from \"../schemas/config\";\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\nimport {\n\ttype ScorecardMeta,\n\tuseScorecardConfig,\n\tuseScorecardMeta,\n} from \"../components\";\nimport { type AnalyticsData, getRowsFromMeta } from \"../utils/data\";\nimport { isEmpty, meanBy } from \"lodash\";\nimport type { ScorecardDataEngine } from \"../utils/dataEngine\";\nimport { getAverageValue } from \"../utils/columns\";\nimport { useScorecardData } from \"../components/DataProvider\";\nimport { useScorecardStateSelectorValue } from \"../state/scorecardState\";\n\nexport function getRowValues({\n\tdata,\n\tshowDataInRows,\n\trow,\n}: {\n\trow: ScorecardTableData;\n\tdata: AnalyticsData[];\n\tshowDataInRows: boolean;\n}): AnalyticsData[] {\n\treturn data.filter((datum) => {\n\t\tif (showDataInRows) {\n\t\t\treturn row\n\t\t\t\t.dataHolder!.dataSources.map(({ id }) => id)\n\t\t\t\t.includes(datum.dx!);\n\t\t}\n\t\treturn datum.ou === row.orgUnit!.uid;\n\t});\n}\n\nexport function filterRows({\n\trows,\n\temptyRows,\n\tdataEngine,\n\tshowDataInRows,\n\taverageDisplayType,\n\tmeta,\n}: {\n\temptyRows: ScorecardViewOptions[\"emptyRows\"];\n\tshowDataInRows: boolean;\n\taverageDisplayType: ScorecardViewOptions[\"averageDisplayType\"];\n\tdataEngine: ScorecardDataEngine;\n\trows: ScorecardTableData[];\n\tmeta: ScorecardMeta;\n}) {\n\tif (!dataEngine.isDone) {\n\t\treturn [];\n\t}\n\tconst hiddenRows: number[] = [];\n\tconst rowsWithDataValues = rows.map((row, index) => {\n\t\tconst values = getRowValues({\n\t\t\trow,\n\t\t\tdata: dataEngine.data,\n\t\t\tshowDataInRows,\n\t\t});\n\t\tconst average = meanBy(values, ({ value }) => parseFloat(value!));\n\t\treturn {\n\t\t\trow,\n\t\t\tindex,\n\t\t\tvalues,\n\t\t\taverage,\n\t\t};\n\t});\n\tif (!emptyRows) {\n\t\t//Filter out all e\n\t\tconst emptyRows = rowsWithDataValues\n\t\t\t.filter(({ values }) => isEmpty(values))\n\t\t\t.map(({ index }) => index);\n\t\thiddenRows.push(...emptyRows);\n\t}\n\n\tif (averageDisplayType !== \"ALL\") {\n\t\tconst average = getAverageValue({\n\t\t\tdataValues: dataEngine.data,\n\t\t\tmeta,\n\t\t});\n\t\tif (averageDisplayType === \"BELOW_AVERAGE\") {\n\t\t\tconst aboveAverageRows = rowsWithDataValues\n\t\t\t\t.filter(({ average: rowAverage }) => rowAverage > average)\n\t\t\t\t.map(({ index }) => index);\n\t\t\thiddenRows.push(...aboveAverageRows);\n\t\t} else {\n\t\t\tconst belowAverageRows = rowsWithDataValues\n\t\t\t\t.filter(({ average: rowAverage }) => rowAverage < average)\n\t\t\t\t.map(({ index }) => index);\n\t\t\thiddenRows.push(...belowAverageRows);\n\t\t}\n\t}\n\n\treturn hiddenRows;\n}\n\nexport function useTableRows(): ScorecardTableData[] {\n\tconst meta = useScorecardMeta();\n\tconst { data: dataEngine } = useScorecardData();\n\tconst showDataInRows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\tconst emptyRows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"emptyRows\",\n\t]);\n\tconst averageDisplayType = useScorecardStateSelectorValue<\n\t\tScorecardViewOptions[\"averageDisplayType\"]\n\t>([\"options\", \"averageDisplayType\"]);\n\n\tconst config = useScorecardConfig();\n\n\tconst [hiddenRowIndexes, setHiddenRowIndexes] = useState<number[]>([]);\n\n\tif (meta == null) return [];\n\n\tconst rows = useMemo(() => {\n\t\tconst rows = getRowsFromMeta({\n\t\t\tmeta,\n\t\t\tshowDataInRows,\n\t\t\tconfig,\n\t\t});\n\n\t\tif (isEmpty(hiddenRowIndexes)) {\n\t\t\treturn rows;\n\t\t}\n\n\t\treturn rows.filter((_, index) => !hiddenRowIndexes.includes(index));\n\t}, [meta, showDataInRows, config, hiddenRowIndexes]);\n\n\tuseEffect(() => {\n\t\tconst listener = (completed: boolean) => {\n\t\t\tif (completed) {\n\t\t\t\tsetHiddenRowIndexes(\n\t\t\t\t\tfilterRows({\n\t\t\t\t\t\tmeta,\n\t\t\t\t\t\tdataEngine,\n\t\t\t\t\t\tshowDataInRows,\n\t\t\t\t\t\trows,\n\t\t\t\t\t\taverageDisplayType,\n\t\t\t\t\t\temptyRows,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t}\n\t\t};\n\t\tif (dataEngine.isDone) {\n\t\t\tsetHiddenRowIndexes(\n\t\t\t\tfilterRows({\n\t\t\t\t\tmeta,\n\t\t\t\t\tdataEngine,\n\t\t\t\t\tshowDataInRows,\n\t\t\t\t\trows,\n\t\t\t\t\taverageDisplayType,\n\t\t\t\t\temptyRows,\n\t\t\t\t}),\n\t\t\t);\n\t\t} else {\n\t\t\treturn dataEngine.addOnCompleteListener(listener);\n\t\t}\n\t}, [averageDisplayType, emptyRows, showDataInRows]);\n\n\treturn rows;\n}\n\nexport function useColumnVisibility() {\n\tconst showAverageColumn = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"averageColumn\",\n\t]);\n\tconst showItemNumber = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"itemNumber\",\n\t]);\n\tconst showDataInRows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\n\tconst disableExpanding =\n\t\tuseScorecardStateSelectorValue<boolean>([\n\t\t\t\"options\",\n\t\t\t\"disableExpanding\",\n\t\t]) ?? false;\n\n\tconst [columnVisibility, setColumnVisibility] = useState<VisibilityState>({\n\t\taverage: showAverageColumn,\n\t\tcount: showItemNumber,\n\t\texpand: !disableExpanding,\n\t});\n\n\tuseEffect(() => {\n\t\tsetColumnVisibility({\n\t\t\taverage: showAverageColumn,\n\t\t\tcount: showItemNumber,\n\t\t\texpand: !disableExpanding && !showDataInRows,\n\t\t});\n\t}, [showAverageColumn, showItemNumber, disableExpanding, showDataInRows]);\n\n\treturn {\n\t\tcolumnVisibility,\n\t\tsetColumnVisibility,\n\t};\n}\n\nexport function useRowExpanding() {\n\tconst [expanded, setExpanded] = useState<ExpandedState>({});\n\tconst disableExpanding =\n\t\tuseScorecardStateSelectorValue<boolean>([\n\t\t\t\"options\",\n\t\t\t\"disableExpanding\",\n\t\t]) ?? false;\n\n\tconst getRowCanExpand = useCallback((row: Row<ScorecardTableData>) => {\n\t\tconst expandCell = row\n\t\t\t.getVisibleCells()\n\t\t\t.find(({ id }) => id.includes(\"expand\"));\n\n\t\tif (!expandCell) return false;\n\t\treturn expandCell.getValue() as boolean;\n\t}, []);\n\n\treturn {\n\t\texpanded,\n\t\tonExpandedChange: disableExpanding ? undefined : setExpanded,\n\t\tgetRowCanExpand,\n\t};\n}\n\nexport function useTableSetup(): TableOptions<ScorecardTableData> {\n\tconst [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([]);\n\tconst disablePagination = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"disablePagination\",\n\t]);\n\tconst [pagination, setPagination] = useState<PaginationState>({\n\t\tpageSize: 50,\n\t\tpageIndex: 0,\n\t});\n\n\tconst { columnVisibility, setColumnVisibility } = useColumnVisibility();\n\tconst { expanded, onExpandedChange, getRowCanExpand } = useRowExpanding();\n\n\tconst [sorting, setSorting] = useState<SortingState>([]);\n\tconst columns = useTableColumns();\n\tconst data = useTableRows();\n\n\treturn useMemo(\n\t\t() => ({\n\t\t\tcolumns,\n\t\t\tdata,\n\t\t\tstate: {\n\t\t\t\tcolumnFilters,\n\t\t\t\tsorting,\n\t\t\t\tcolumnVisibility,\n\t\t\t\texpanded,\n\t\t\t\t...(disablePagination ? {} : { pagination }),\n\t\t\t},\n\t\t\tmeta: {\n\t\t\t\tdisablePagination,\n\t\t\t},\n\t\t\tautoResetPageIndex: true,\n\t\t\tonExpandedChange: onExpandedChange,\n\t\t\trowCount: data.length,\n\t\t\tgetRowCanExpand,\n\t\t\tonColumnFiltersChange: setColumnFilters,\n\t\t\tonSortingChange: setSorting,\n\t\t\tgetCoreRowModel: getCoreRowModel(),\n\t\t\tgetFilteredRowModel: getFilteredRowModel(),\n\t\t\tgetExpandedRowModel: getExpandedRowModel(),\n\t\t\tgetPaginationRowModel: disablePagination\n\t\t\t\t? undefined\n\t\t\t\t: getPaginationRowModel(),\n\t\t\tgetSortedRowModel: getSortedRowModel(),\n\t\t\tonColumnVisibilityChange: setColumnVisibility,\n\t\t\tonPaginationChange: disablePagination ? undefined : setPagination,\n\t\t}),\n\t\t[\n\t\t\tcolumns,\n\t\t\tdata,\n\t\t\tcolumnFilters,\n\t\t\tsorting,\n\t\t\tcolumnVisibility,\n\t\t\tpagination,\n\t\t\tgetRowCanExpand,\n\t\t\texpanded,\n\t\t],\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/hooks/table.ts"],"names":["emptyRows","rows"],"mappings":"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","sourcesContent":["import {\n\ttype ColumnFiltersState,\n\ttype ExpandedState,\n\tgetCoreRowModel,\n\tgetExpandedRowModel,\n\tgetFilteredRowModel,\n\tgetPaginationRowModel,\n\tgetSortedRowModel,\n\ttype PaginationState,\n\ttype Row,\n\ttype SortingState,\n\ttype TableOptions,\n\ttype VisibilityState,\n} from \"@tanstack/react-table\";\nimport { useTableColumns } from \"./columns\";\nimport type {\n\tScorecardTableData,\n\tScorecardViewOptions,\n} from \"../schemas/config\";\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\nimport {\n\ttype ScorecardMeta,\n\tuseScorecardConfig,\n\tuseScorecardMeta,\n} from \"../components\";\nimport { type AnalyticsData, getRowsFromMeta } from \"../utils/data\";\nimport { isEmpty, meanBy } from \"lodash\";\nimport type { ScorecardDataEngine } from \"../utils/dataEngine\";\nimport { getAverageValue } from \"../utils/columns\";\nimport { useScorecardData } from \"../components/DataProvider\";\nimport { useScorecardStateSelectorValue } from \"../state\";\n\nexport function getRowValues({\n\tdata,\n\tshowDataInRows,\n\trow,\n}: {\n\trow: ScorecardTableData;\n\tdata: AnalyticsData[];\n\tshowDataInRows: boolean;\n}): AnalyticsData[] {\n\treturn data.filter((datum) => {\n\t\tif (showDataInRows) {\n\t\t\treturn row\n\t\t\t\t.dataHolder!.dataSources.map(({ id }) => id)\n\t\t\t\t.includes(datum.dx!);\n\t\t}\n\t\treturn datum.ou === row.orgUnit!.uid;\n\t});\n}\n\nexport function filterRows({\n\trows,\n\temptyRows,\n\tdataEngine,\n\tshowDataInRows,\n\taverageDisplayType,\n\tmeta,\n}: {\n\temptyRows: ScorecardViewOptions[\"emptyRows\"];\n\tshowDataInRows: boolean;\n\taverageDisplayType: ScorecardViewOptions[\"averageDisplayType\"];\n\tdataEngine: ScorecardDataEngine;\n\trows: ScorecardTableData[];\n\tmeta: ScorecardMeta;\n}) {\n\tif (!dataEngine.isDone) {\n\t\treturn [];\n\t}\n\tconst hiddenRows: number[] = [];\n\tconst rowsWithDataValues = rows.map((row, index) => {\n\t\tconst values = getRowValues({\n\t\t\trow,\n\t\t\tdata: dataEngine.data,\n\t\t\tshowDataInRows,\n\t\t});\n\t\tconst average = meanBy(values, ({ value }) => parseFloat(value!));\n\t\treturn {\n\t\t\trow,\n\t\t\tindex,\n\t\t\tvalues,\n\t\t\taverage,\n\t\t};\n\t});\n\tif (!emptyRows) {\n\t\t//Filter out all e\n\t\tconst emptyRows = rowsWithDataValues\n\t\t\t.filter(({ values }) => isEmpty(values))\n\t\t\t.map(({ index }) => index);\n\t\thiddenRows.push(...emptyRows);\n\t}\n\n\tif (averageDisplayType !== \"ALL\") {\n\t\tconst average = getAverageValue({\n\t\t\tdataValues: dataEngine.data,\n\t\t\tmeta,\n\t\t});\n\t\tif (averageDisplayType === \"BELOW_AVERAGE\") {\n\t\t\tconst aboveAverageRows = rowsWithDataValues\n\t\t\t\t.filter(({ average: rowAverage }) => rowAverage > average)\n\t\t\t\t.map(({ index }) => index);\n\t\t\thiddenRows.push(...aboveAverageRows);\n\t\t} else {\n\t\t\tconst belowAverageRows = rowsWithDataValues\n\t\t\t\t.filter(({ average: rowAverage }) => rowAverage < average)\n\t\t\t\t.map(({ index }) => index);\n\t\t\thiddenRows.push(...belowAverageRows);\n\t\t}\n\t}\n\n\treturn hiddenRows;\n}\n\nexport function useTableRows(): ScorecardTableData[] {\n\tconst meta = useScorecardMeta();\n\tconst { data: dataEngine } = useScorecardData();\n\tconst showDataInRows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\tconst emptyRows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"emptyRows\",\n\t]);\n\tconst averageDisplayType = useScorecardStateSelectorValue<\n\t\tScorecardViewOptions[\"averageDisplayType\"]\n\t>([\"options\", \"averageDisplayType\"]);\n\n\tconst config = useScorecardConfig();\n\n\tconst [hiddenRowIndexes, setHiddenRowIndexes] = useState<number[]>([]);\n\n\tif (meta == null) return [];\n\n\tconst rows = useMemo(() => {\n\t\tconst rows = getRowsFromMeta({\n\t\t\tmeta,\n\t\t\tshowDataInRows,\n\t\t\tconfig,\n\t\t});\n\n\t\tif (isEmpty(hiddenRowIndexes)) {\n\t\t\treturn rows;\n\t\t}\n\n\t\treturn rows.filter((_, index) => !hiddenRowIndexes.includes(index));\n\t}, [meta, showDataInRows, config, hiddenRowIndexes]);\n\n\tuseEffect(() => {\n\t\tconst listener = (completed: boolean) => {\n\t\t\tif (completed) {\n\t\t\t\tsetHiddenRowIndexes(\n\t\t\t\t\tfilterRows({\n\t\t\t\t\t\tmeta,\n\t\t\t\t\t\tdataEngine,\n\t\t\t\t\t\tshowDataInRows,\n\t\t\t\t\t\trows,\n\t\t\t\t\t\taverageDisplayType,\n\t\t\t\t\t\temptyRows,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t}\n\t\t};\n\t\tif (dataEngine.isDone) {\n\t\t\tsetHiddenRowIndexes(\n\t\t\t\tfilterRows({\n\t\t\t\t\tmeta,\n\t\t\t\t\tdataEngine,\n\t\t\t\t\tshowDataInRows,\n\t\t\t\t\trows,\n\t\t\t\t\taverageDisplayType,\n\t\t\t\t\temptyRows,\n\t\t\t\t}),\n\t\t\t);\n\t\t} else {\n\t\t\treturn dataEngine.addOnCompleteListener(listener);\n\t\t}\n\t}, [averageDisplayType, emptyRows, showDataInRows]);\n\n\treturn rows;\n}\n\nexport function useColumnVisibility() {\n\tconst showAverageColumn = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"averageColumn\",\n\t]);\n\tconst showItemNumber = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"itemNumber\",\n\t]);\n\tconst showDataInRows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\n\tconst disableExpanding =\n\t\tuseScorecardStateSelectorValue<boolean>([\n\t\t\t\"options\",\n\t\t\t\"disableExpanding\",\n\t\t]) ?? false;\n\n\tconst [columnVisibility, setColumnVisibility] = useState<VisibilityState>({\n\t\taverage: showAverageColumn,\n\t\tcount: showItemNumber,\n\t\texpand: !disableExpanding,\n\t});\n\n\tuseEffect(() => {\n\t\tsetColumnVisibility({\n\t\t\taverage: showAverageColumn,\n\t\t\tcount: showItemNumber,\n\t\t\texpand: !disableExpanding && !showDataInRows,\n\t\t});\n\t}, [showAverageColumn, showItemNumber, disableExpanding, showDataInRows]);\n\n\treturn {\n\t\tcolumnVisibility,\n\t\tsetColumnVisibility,\n\t};\n}\n\nexport function useRowExpanding() {\n\tconst [expanded, setExpanded] = useState<ExpandedState>({});\n\tconst disableExpanding =\n\t\tuseScorecardStateSelectorValue<boolean>([\n\t\t\t\"options\",\n\t\t\t\"disableExpanding\",\n\t\t]) ?? false;\n\n\tconst getRowCanExpand = useCallback((row: Row<ScorecardTableData>) => {\n\t\tconst expandCell = row\n\t\t\t.getVisibleCells()\n\t\t\t.find(({ id }) => id.includes(\"expand\"));\n\n\t\tif (!expandCell) return false;\n\t\treturn expandCell.getValue() as boolean;\n\t}, []);\n\n\treturn {\n\t\texpanded,\n\t\tonExpandedChange: disableExpanding ? undefined : setExpanded,\n\t\tgetRowCanExpand,\n\t};\n}\n\nexport function useTableSetup(): TableOptions<ScorecardTableData> {\n\tconst [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([]);\n\tconst disablePagination = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"disablePagination\",\n\t]);\n\tconst [pagination, setPagination] = useState<PaginationState>({\n\t\tpageSize: 50,\n\t\tpageIndex: 0,\n\t});\n\n\tconst { columnVisibility, setColumnVisibility } = useColumnVisibility();\n\tconst { expanded, onExpandedChange, getRowCanExpand } = useRowExpanding();\n\n\tconst [sorting, setSorting] = useState<SortingState>([]);\n\tconst columns = useTableColumns();\n\tconst data = useTableRows();\n\n\treturn useMemo(\n\t\t() => ({\n\t\t\tcolumns,\n\t\t\tdata,\n\t\t\tstate: {\n\t\t\t\tcolumnFilters,\n\t\t\t\tsorting,\n\t\t\t\tcolumnVisibility,\n\t\t\t\texpanded,\n\t\t\t\t...(disablePagination ? {} : { pagination }),\n\t\t\t},\n\t\t\tmeta: {\n\t\t\t\tdisablePagination,\n\t\t\t},\n\t\t\tautoResetPageIndex: true,\n\t\t\tonExpandedChange: onExpandedChange,\n\t\t\trowCount: data.length,\n\t\t\tgetRowCanExpand,\n\t\t\tonColumnFiltersChange: setColumnFilters,\n\t\t\tonSortingChange: setSorting,\n\t\t\tgetCoreRowModel: getCoreRowModel(),\n\t\t\tgetFilteredRowModel: getFilteredRowModel(),\n\t\t\tgetExpandedRowModel: getExpandedRowModel(),\n\t\t\tgetPaginationRowModel: disablePagination\n\t\t\t\t? undefined\n\t\t\t\t: getPaginationRowModel(),\n\t\t\tgetSortedRowModel: getSortedRowModel(),\n\t\t\tonColumnVisibilityChange: setColumnVisibility,\n\t\t\tonPaginationChange: disablePagination ? undefined : setPagination,\n\t\t}),\n\t\t[\n\t\t\tcolumns,\n\t\t\tdata,\n\t\t\tcolumnFilters,\n\t\t\tsorting,\n\t\t\tcolumnVisibility,\n\t\t\tpagination,\n\t\t\tgetRowCanExpand,\n\t\t\texpanded,\n\t\t],\n\t);\n}\n"]}
|
package/dist/esm/index.js
CHANGED
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc","sourcesContent":["export * from \"./Scorecard\";\nexport * from \"./schemas/config\";\nexport * from \"./components\";\nexport * from \"./hooks\";\nexport * from \"./utils\";\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc","sourcesContent":["export * from \"./Scorecard\";\nexport * from \"./schemas/config\";\nexport * from \"./components\";\nexport * from \"./hooks\";\nexport * from \"./utils\";\nexport * from \"./state\";\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { atom, selectorFamily, useRecoilValue,
|
|
1
|
+
import { atom, selectorFamily, useRecoilValue, useRecoilState, useSetRecoilState } from 'recoil';
|
|
2
2
|
import { get, set } from 'lodash';
|
|
3
3
|
|
|
4
4
|
const scorecardStateAtom = atom({
|
|
@@ -22,6 +22,16 @@ const scorecardStateSelector = selectorFamily({
|
|
|
22
22
|
function useScorecardStateValue() {
|
|
23
23
|
return useRecoilValue(scorecardStateAtom);
|
|
24
24
|
}
|
|
25
|
+
function useScorecardOrgUnitSelectionState() {
|
|
26
|
+
return useRecoilState(
|
|
27
|
+
scorecardStateSelector("orgUnitSelection")
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
function useScorecardPeriodState() {
|
|
31
|
+
return useRecoilState(
|
|
32
|
+
scorecardStateSelector("periodSelection")
|
|
33
|
+
);
|
|
34
|
+
}
|
|
25
35
|
function useSetScorecardStateSelector(path) {
|
|
26
36
|
return useSetRecoilState(scorecardStateSelector(path));
|
|
27
37
|
}
|
|
@@ -38,6 +48,6 @@ function useScorecardStateSelector(path) {
|
|
|
38
48
|
return useRecoilState(scorecardStateSelector(path));
|
|
39
49
|
}
|
|
40
50
|
|
|
41
|
-
export { scorecardStateAtom, scorecardStateSelector, useScorecardStateSelector, useScorecardStateSelectorValue, useScorecardStateValue, useScorecardViewOptionValue, useSetScorecardStateSelector };
|
|
51
|
+
export { scorecardStateAtom, scorecardStateSelector, useScorecardOrgUnitSelectionState, useScorecardPeriodState, useScorecardStateSelector, useScorecardStateSelectorValue, useScorecardStateValue, useScorecardViewOptionValue, useSetScorecardStateSelector };
|
|
42
52
|
//# sourceMappingURL=out.js.map
|
|
43
|
-
//# sourceMappingURL=
|
|
53
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/state/index.ts"],"names":[],"mappings":"AAAA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AAOP,SAAS,OAAO,MAAM,OAAO,YAAY;AAElC,MAAM,qBAAqB,KAA4B;AAAA,EAC7D,KAAK;AAAA,EACL,SAAS;AAAA,EACT,4BAA4B;AAC7B,CAAC;AAEM,MAAM,yBAAyB,eAAe;AAAA,EACpD,KAAK;AAAA,EACL,KACC,CAAC,SACD,CAAC,EAAE,IAAI,MAAM;AACZ,WAAO,KAAK,IAAI,kBAAkB,GAAG,IAAI;AAAA,EAC1C;AAAA,EACD,KACC,CAAC,SACD,CAAC,EAAE,IAAI,GAAG,aAAa;AACtB,QAAI,oBAAoB,CAAC,cAAc;AACtC,YAAM,cAAc,EAAE,GAAG,UAAU;AACnC,WAAK,aAAa,MAAM,QAAQ;AAChC,aAAO;AAAA,IACR,CAAC;AAAA,EACF;AACF,CAAC;AAEM,SAAS,yBAAyB;AACxC,SAAO,eAAe,kBAAkB;AACzC;AAEO,SAAS,oCAAoC;AACnD,SAAO;AAAA,IACN,uBAAuB,kBAAkB;AAAA,EAC1C;AACD;AAEO,SAAS,0BAA0B;AACzC,SAAO;AAAA,IACN,uBAAuB,iBAAiB;AAAA,EACzC;AACD;AAEO,SAAS,6BACf,MACC;AACD,SAAO,kBAA8B,uBAAuB,IAAI,CAAC;AAClE;AAEO,SAAS,+BACf,MACC;AACD,SAAO,eAA2B,uBAAuB,IAAI,CAAC;AAC/D;AAEO,SAAS,4BAA4B,KAAiC;AAC5E,SAAO,+BAA+B;AAAA,IACrC;AAAA,IACA;AAAA,EACD,CAAC;AACF;AAEO,SAAS,0BAAsC,MAAyB;AAC9E,SAAO,eAAe,uBAAuB,IAAI,CAAC;AACnD","sourcesContent":["import {\n\tatom,\n\tselectorFamily,\n\tuseRecoilState,\n\tuseRecoilValue,\n\tuseSetRecoilState,\n} from \"recoil\";\nimport type {\n\tOrgUnitSelection,\n\tPeriodSelection,\n\tScorecardState,\n\tScorecardViewOptions,\n} from \"../schemas/config\";\nimport { get as _get, set as _set } from \"lodash\";\n\nexport const scorecardStateAtom = atom<ScorecardState | null>({\n\tkey: \"scorecardState\",\n\tdefault: null,\n\tdangerouslyAllowMutability: true,\n});\n\nexport const scorecardStateSelector = selectorFamily({\n\tkey: \"scorecardStateSelector\",\n\tget:\n\t\t(path: string | string[]) =>\n\t\t({ get }) => {\n\t\t\treturn _get(get(scorecardStateAtom), path);\n\t\t},\n\tset:\n\t\t(path: string | string[]) =>\n\t\t({ set }, newValue) => {\n\t\t\tset(scorecardStateAtom, (prevValue) => {\n\t\t\t\tconst updateState = { ...prevValue };\n\t\t\t\t_set(updateState, path, newValue);\n\t\t\t\treturn updateState as ScorecardState;\n\t\t\t});\n\t\t},\n});\n\nexport function useScorecardStateValue() {\n\treturn useRecoilValue(scorecardStateAtom);\n}\n\nexport function useScorecardOrgUnitSelectionState() {\n\treturn useRecoilState<OrgUnitSelection>(\n\t\tscorecardStateSelector(\"orgUnitSelection\"),\n\t);\n}\n\nexport function useScorecardPeriodState() {\n\treturn useRecoilState<PeriodSelection>(\n\t\tscorecardStateSelector(\"periodSelection\"),\n\t);\n}\n\nexport function useSetScorecardStateSelector<ConfigType>(\n\tpath: string | string[],\n) {\n\treturn useSetRecoilState<ConfigType>(scorecardStateSelector(path));\n}\n\nexport function useScorecardStateSelectorValue<ConfigType>(\n\tpath: string | string[],\n) {\n\treturn useRecoilValue<ConfigType>(scorecardStateSelector(path));\n}\n\nexport function useScorecardViewOptionValue(key: keyof ScorecardViewOptions) {\n\treturn useScorecardStateSelectorValue([\n\t\t\"options\",\n\t\tkey,\n\t]) as ScorecardViewOptions[typeof key];\n}\n\nexport function useScorecardStateSelector<ConfigType>(path: string | string[]) {\n\treturn useRecoilState(scorecardStateSelector(path));\n}\n"]}
|
package/dist/hooks/columns.js
CHANGED
|
@@ -12,16 +12,16 @@ var MetaFooterCell = require('../components/ScorecardTable/components/MetaFooter
|
|
|
12
12
|
var orgUnits = require('../utils/orgUnits');
|
|
13
13
|
var orgUnit = require('./orgUnit');
|
|
14
14
|
var DataProvider = require('../components/DataProvider');
|
|
15
|
-
var
|
|
15
|
+
var state = require('../state');
|
|
16
16
|
var ExpandCell = require('../components/ScorecardTable/components/TableHeader/components/ExpandCell');
|
|
17
17
|
|
|
18
18
|
const columnHelper = reactTable.createColumnHelper();
|
|
19
19
|
function useMetaColumns() {
|
|
20
|
-
const showDataInRows =
|
|
20
|
+
const showDataInRows = state.useScorecardStateSelectorValue([
|
|
21
21
|
"options",
|
|
22
22
|
"showDataInRows"
|
|
23
23
|
]);
|
|
24
|
-
const disableExpanding =
|
|
24
|
+
const disableExpanding = state.useScorecardStateSelectorValue([
|
|
25
25
|
"options",
|
|
26
26
|
"disableExpanding"
|
|
27
27
|
]);
|
|
@@ -130,14 +130,14 @@ function useTableColumns() {
|
|
|
130
130
|
const meta = components.useScorecardMeta();
|
|
131
131
|
const metaColumns = useMetaColumns();
|
|
132
132
|
const calendar = metadata.useCalendar();
|
|
133
|
-
const showDataInRows =
|
|
133
|
+
const showDataInRows = state.useScorecardStateSelectorValue([
|
|
134
134
|
"options",
|
|
135
135
|
"showDataInRows"
|
|
136
136
|
]);
|
|
137
|
-
const periodSelection =
|
|
137
|
+
const periodSelection = state.useScorecardStateSelectorValue(
|
|
138
138
|
"periodSelection"
|
|
139
139
|
);
|
|
140
|
-
const orgUnitSelection =
|
|
140
|
+
const orgUnitSelection = state.useScorecardStateSelectorValue(
|
|
141
141
|
"orgUnitSelection"
|
|
142
142
|
);
|
|
143
143
|
if (!config || !meta) {
|