@hisptz/dhis2-scorecard 1.2.19 → 1.2.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/components/ScorecardTable/components/AverageCell.js +2 -2
  2. package/dist/components/ScorecardTable/components/AverageCell.js.map +1 -1
  3. package/dist/components/ScorecardTable/components/DataValue.js +3 -3
  4. package/dist/components/ScorecardTable/components/DataValue.js.map +1 -1
  5. package/dist/components/ScorecardTable/components/PaginatedToolbar.js +1 -1
  6. package/dist/components/ScorecardTable/components/PaginatedToolbar.js.map +1 -1
  7. package/dist/components/ScorecardTable/components/SingleDataCell.js +1 -1
  8. package/dist/components/ScorecardTable/components/SingleDataCell.js.map +1 -1
  9. package/dist/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js +2 -2
  10. package/dist/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js.map +1 -1
  11. package/dist/components/ScorecardTable/components/TableHeader/components/LabelCell.js +5 -5
  12. package/dist/components/ScorecardTable/components/TableHeader/components/LabelCell.js.map +1 -1
  13. package/dist/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js +3 -4
  14. package/dist/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js.map +1 -1
  15. package/dist/esm/components/ScorecardTable/components/AverageCell.js +1 -1
  16. package/dist/esm/components/ScorecardTable/components/AverageCell.js.map +1 -1
  17. package/dist/esm/components/ScorecardTable/components/DataValue.js +2 -2
  18. package/dist/esm/components/ScorecardTable/components/DataValue.js.map +1 -1
  19. package/dist/esm/components/ScorecardTable/components/PaginatedToolbar.js +1 -1
  20. package/dist/esm/components/ScorecardTable/components/PaginatedToolbar.js.map +1 -1
  21. package/dist/esm/components/ScorecardTable/components/SingleDataCell.js +1 -1
  22. package/dist/esm/components/ScorecardTable/components/SingleDataCell.js.map +1 -1
  23. package/dist/esm/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js +1 -1
  24. package/dist/esm/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js.map +1 -1
  25. package/dist/esm/components/ScorecardTable/components/TableHeader/components/LabelCell.js +2 -2
  26. package/dist/esm/components/ScorecardTable/components/TableHeader/components/LabelCell.js.map +1 -1
  27. package/dist/esm/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js +1 -2
  28. package/dist/esm/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js.map +1 -1
  29. package/dist/esm/schemas/config.js +12 -1
  30. package/dist/esm/schemas/config.js.map +1 -1
  31. package/dist/esm/utils/dimensionState.js +5 -1
  32. package/dist/esm/utils/dimensionState.js.map +1 -1
  33. package/dist/schemas/config.js +12 -1
  34. package/dist/schemas/config.js.map +1 -1
  35. package/dist/types/components/ConfigProvider.d.ts +21 -6
  36. package/dist/types/components/ConfigProvider.d.ts.map +1 -1
  37. package/dist/types/components/ScorecardTable/components/DataValue.d.ts.map +1 -1
  38. package/dist/types/schemas/config.d.ts +81 -14
  39. package/dist/types/schemas/config.d.ts.map +1 -1
  40. package/dist/types/utils/dimensionState.d.ts.map +1 -1
  41. package/dist/utils/dimensionState.js +4 -0
  42. package/dist/utils/dimensionState.js.map +1 -1
  43. package/package.json +6 -5
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../src/components/ScorecardTable/components/TableHeader/components/LabelCell.tsx"],"names":[],"mappings":";;;;;;;;;AAYO,SAAS,mBACf,KAOC,EAAA;AACD,EAAM,MAAA,IAAA,GAAO,MAAM,QAAS,EAAA;AAC5B,EAAA,MAAM,IAAO,GAAA,KAAA,CAAM,IAAK,CAAA,MAAA,CAAO,OAAQ,EAAA;AACvC,EAAM,MAAA,UAAA,GAAa,2BAAoC,gBAAgB,CAAA;AACvE,EAAM,MAAA,aAAA,GAAgB,2BAAoC,eAAe,CAAA;AAEzE,EAAM,MAAA,WAAA,GAAc,2BAAoC,WAAW,CAAA;AAEnE,EAAM,MAAA,IAAA,GAAO,QAAQ,MAAM;AAC1B,IAAA,MAAM,KAAQ,GAAA,KAAA,CAAM,GAClB,CAAA,eAAA,EACA,CAAA,SAAA,CAAU,CAAC,EAAE,EAAG,EAAA,KAAM,KAAM,CAAA,IAAA,CAAK,OAAO,EAAE,CAAA;AAC5C,IAAA,OAAO,KAAQ,GAAA,EAAA;AAAA,GAChB,EAAG,CAAC,KAAM,CAAA,GAAA,CAAI,iBAAmB,EAAA,KAAA,CAAM,IAAK,CAAA,EAAE,CAAC,CAAA;AAE/C,EAAM,MAAA,KAAA,GAAQ,QAAQ,MAAM;AAC3B,IAAA,IAAI,UAAY,EAAA;AACf,MAAA,OAAO,KAAK,KAAS,IAAA,EAAA;AAAA;AAEtB,IAAA,IAAI,aAAe,EAAA;AAClB,MAAA,OACC,KAAK,OAAS,EAAA,SAAA,CACZ,KAAM,CAAA,GAAG,EACT,MAAO,CAAA,CAAC,GAAQ,KAAA,CAAC,QAAQ,GAAG,CAAC,CAC7B,CAAA,IAAA,CAAK,KAAK,CAAK,IAAA,EAAA;AAAA;AAGnB,IAAA,OAAO,KAAK,KAAS,IAAA,EAAA;AAAA,GACnB,EAAA,CAAC,IAAM,EAAA,aAAA,EAAe,UAAU,CAAC,CAAA;AAEpC,EACC,uBAAA,GAAA;AAAA,IAAC,aAAA;AAAA,IAAA;AAAA,MACA,SAAU,EAAA,YAAA;AAAA,MACV,KAAK,EAAA,IAAA;AAAA,MACL,KAAA,EAAO,GAAG,IAAI,CAAA,EAAA,CAAA;AAAA,MACd,KAAO,EAAA;AAAA,QACN,KAAA,EAAO,cAAc,MAAS,GAAA,IAAA;AAAA,QAC9B,QAAA,EAAU,cAAc,MAAY,GAAA;AAAA,OACrC;AAAA,MAGA,IAAA,EAAM,GAAG,IAAI,CAAA,EAAA,CAAA;AAAA,MACb,QAAQ,EAAA,IAAA;AAAA,MACR,KAAM,EAAA,MAAA;AAAA,MAEN,QAAA,kBAAA,GAAA;AAAA,QAAC,aAAA;AAAA,QAAA;AAAA,UACA,MAAA,EACC,aACG,CAAC,uBAAA,CAAwB,EAAE,CAC3B,GAAA,CAAC,wBAAwB,IAAI,CAAA;AAAA,UAGjC,QAAA,kBAAA,GAAA;AAAA,YAAC,aAAA;AAAA,YAAA;AAAA,cACA,EAAI,EAAA,KAAA;AAAA,cACJ,IACC,EAAA,UAAA,GACG,uBAAwB,CAAA,IAAA,GACxB,uBAAwB,CAAA,EAAA;AAAA,cAG3B,QAAA,EAAA;AAAA;AAAA;AACF;AAAA;AACD;AAAA,GACD;AAEF;AAEO,MAAM,SAAY,GAAA","file":"LabelCell.js","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 { useMemo } from \"react\";\nimport { isEmpty } from \"lodash\";\nimport { useScorecardViewStateValue } from \"../../../../../utils/viewState\";\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 = useScorecardViewStateValue<boolean>(\"showDataInRows\");\n\tconst showHierarchy = useScorecardViewStateValue<boolean>(\"showHierarchy\");\n\n\tconst inPrintMode = useScorecardViewStateValue<boolean>(\"printMode\");\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"]}
1
+ {"version":3,"sources":["../../../../../../../src/components/ScorecardTable/components/TableHeader/components/LabelCell.tsx"],"names":[],"mappings":";;;;;;;;;AAYO,SAAS,mBACf,KAOC,EAAA;AACD,EAAM,MAAA,IAAA,GAAO,MAAM,QAAS,EAAA;AAC5B,EAAA,MAAM,IAAO,GAAA,KAAA,CAAM,IAAK,CAAA,MAAA,CAAO,OAAQ,EAAA;AACvC,EAAM,MAAA,UAAA,GAAa,2BAAoC,gBAAgB,CAAA;AACvE,EAAM,MAAA,aAAA,GAAgB,2BAAoC,eAAe,CAAA;AAEzE,EAAM,MAAA,WAAA,GAAc,2BAAoC,WAAW,CAAA;AAEnE,EAAM,MAAA,IAAA,GAAO,QAAQ,MAAM;AAC1B,IAAA,MAAM,KAAQ,GAAA,KAAA,CAAM,GAClB,CAAA,eAAA,EACA,CAAA,SAAA,CAAU,CAAC,EAAE,EAAG,EAAA,KAAM,KAAM,CAAA,IAAA,CAAK,OAAO,EAAE,CAAA;AAC5C,IAAA,OAAO,KAAQ,GAAA,EAAA;AAAA,KACb,CAAC,KAAA,CAAM,KAAK,EAAI,EAAA,KAAA,CAAM,GAAG,CAAC,CAAA;AAE7B,EAAM,MAAA,KAAA,GAAQ,QAAQ,MAAM;AAC3B,IAAA,IAAI,UAAY,EAAA;AACf,MAAA,OAAO,KAAK,KAAS,IAAA,EAAA;AAAA;AAEtB,IAAA,IAAI,aAAe,EAAA;AAClB,MAAA,OACC,KAAK,OAAS,EAAA,SAAA,CACZ,KAAM,CAAA,GAAG,EACT,MAAO,CAAA,CAAC,GAAQ,KAAA,CAAC,QAAQ,GAAG,CAAC,CAC7B,CAAA,IAAA,CAAK,KAAK,CAAK,IAAA,EAAA;AAAA;AAGnB,IAAA,OAAO,KAAK,KAAS,IAAA,EAAA;AAAA,GACnB,EAAA,CAAC,IAAM,EAAA,aAAA,EAAe,UAAU,CAAC,CAAA;AAEpC,EACC,uBAAA,GAAA;AAAA,IAAC,aAAA;AAAA,IAAA;AAAA,MACA,SAAU,EAAA,YAAA;AAAA,MACV,KAAK,EAAA,IAAA;AAAA,MACL,KAAA,EAAO,GAAG,IAAI,CAAA,EAAA,CAAA;AAAA,MACd,KAAO,EAAA;AAAA,QACN,KAAA,EAAO,cAAc,MAAS,GAAA,IAAA;AAAA,QAC9B,QAAA,EAAU,cAAc,MAAY,GAAA;AAAA,OACrC;AAAA,MAGA,IAAA,EAAM,GAAG,IAAI,CAAA,EAAA,CAAA;AAAA,MACb,QAAQ,EAAA,IAAA;AAAA,MACR,KAAM,EAAA,MAAA;AAAA,MAEN,QAAA,kBAAA,GAAA;AAAA,QAAC,aAAA;AAAA,QAAA;AAAA,UACA,MAAA,EACC,aACG,CAAC,uBAAA,CAAwB,EAAE,CAC3B,GAAA,CAAC,wBAAwB,IAAI,CAAA;AAAA,UAGjC,QAAA,kBAAA,GAAA;AAAA,YAAC,aAAA;AAAA,YAAA;AAAA,cACA,EAAI,EAAA,KAAA;AAAA,cACJ,IACC,EAAA,UAAA,GACG,uBAAwB,CAAA,IAAA,GACxB,uBAAwB,CAAA,EAAA;AAAA,cAG3B,QAAA,EAAA;AAAA;AAAA;AACF;AAAA;AACD;AAAA,GACD;AAEF;AAEO,MAAM,SAAY,GAAA","file":"LabelCell.js","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 { useMemo } from \"react\";\nimport { isEmpty } from \"lodash\";\nimport { useScorecardViewStateValue } from \"../../../../../utils\";\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 = useScorecardViewStateValue<boolean>(\"showDataInRows\");\n\tconst showHierarchy = useScorecardViewStateValue<boolean>(\"showHierarchy\");\n\n\tconst inPrintMode = useScorecardViewStateValue<boolean>(\"printMode\");\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.cell.id, props.row]);\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"]}
@@ -5,8 +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 { useScorecardViewStateValue } from '../../../../../utils/viewState';
9
- import { useHasOnePeriod } from '../../../../../utils/dimensionState';
8
+ import { useHasOnePeriod, useScorecardViewStateValue } from '../../../../../utils';
10
9
 
11
10
  function MetaHeaderCellComponent({
12
11
  header
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../src/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.tsx"],"names":["header"],"mappings":";;;;;;;;;;AAWA,SAAS,uBAAwB,CAAA;AAAA,EAChC;AACD,CAA2C,EAAA;AAC1C,EAAM,MAAA,QAAA,GAAW,MAAe,CAAA,GAAA,EAAK,CAAA;AAErC,EAAA,MAAM,eAAe,eAAgB,EAAA;AACrC,EAAM,MAAA,UAAA,GAAa,2BAAoC,gBAAgB,CAAA;AAEvE,EAAA,MAAM,UAAU,UACb,GAAA,YAAA,GACC,GACA,GAAA,GAAA,GACD,eACC,GACA,GAAA,GAAA;AAEJ,EAAM,MAAA,YAAA,GAAe,OAAO,UAAW,CAAA,IAAA;AAAA,IAAK,CAACA,OAAAA,KAC5CA,OAAO,CAAA,MAAA,CAAO,YAAa;AAAA,GACzB,EAAA,MAAA;AAEH,EAAA,MAAM,gBAAgB,CAAC,YAAA,EAAc,aAClC,GAAA,SAAA,GACC,aAAc,WAAY,EAAA;AAC9B,EAAA,MAAM,eACL,YAAc,EAAA,mBAAA,OAA0B,KACrC,GAAA,IAAA,CAAK,EAAE,oBAAoB,CAAA,GAC3B,cAAc,mBAAoB,EAAA,KAAM,SACvC,IAAK,CAAA,CAAA,CAAE,qBAAqB,CAC5B,GAAA,IAAA,CAAK,EAAE,SAAS,CAAA;AAErB,EACC,uBAAA,GAAA;AAAA,IAAC,qBAAA;AAAA,IAAA;AAAA,MAEA,KAAM,EAAA,QAAA;AAAA,MACN,eAAe,IAAK,CAAA,CAAA,CAAE,uBAAyB,EAAA,EAAE,cAAc,CAAA;AAAA,MAC/D,eAAA,EAAiB,CAAC,CAAA,EAAG,CAAM,KAAA;AAC1B,QAAM,MAAA,IAAA,GAAO,aAAc,uBAAwB,EAAA;AACnD,QAAA,IAAI,IAAM,EAAA;AACT,UAAA,IAAA,CAAK,CAAC,CAAA;AAAA;AACP,OACD;AAAA,MACA,KAAK,EAAA,IAAA;AAAA,MAGL,IAAK,EAAA,GAAA;AAAA,MACL,aAAA;AAAA,MACA,OAAA,EAAS,MAAO,CAAA,OAAA,CAAQ,QAAS,EAAA;AAAA,MACjC,OAAA;AAAA,MACA,WAAW,MAAO,CAAA,UAAA;AAAA,MAEjB,QAAA,EAAA,CAAC,CAAC,YACF,oBAAA,GAAA;AAAA,QAAC,UAAA;AAAA,QAAA;AAAA,UAEA,MAAQ,EAAA;AAAA,SAAA;AAAA,QADH,CAAA,EAAG,OAAO,EAAE,CAAA,YAAA;AAAA;AAElB,KAAA;AAAA,IAtBI,CAAG,EAAA,MAAA,CAAO,EAAE,CAAA,CAAA,EAAI,SAAS,OAAO,CAAA;AAAA,GAwBtC;AAEF;AAEa,MAAA,cAAA,GAAiB,KAAK,uBAAuB","file":"MetaHeaderCell.js","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 { useScorecardViewStateValue } from \"../../../../../utils/viewState\";\nimport { useHasOnePeriod } from \"../../../../../utils/dimensionState\";\n\nfunction MetaHeaderCellComponent({\n\theader,\n}: HeaderContext<ScorecardTableData, any>) {\n\tconst randomId = useRef<string>(uid());\n\n\tconst hasOnePeriod = useHasOnePeriod();\n\tconst dataInRows = useScorecardViewStateValue<boolean>(\"showDataInRows\");\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
+ {"version":3,"sources":["../../../../../../../src/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.tsx"],"names":["header"],"mappings":";;;;;;;;;AAWA,SAAS,uBAAwB,CAAA;AAAA,EAChC;AACD,CAA2C,EAAA;AAC1C,EAAM,MAAA,QAAA,GAAW,MAAe,CAAA,GAAA,EAAK,CAAA;AAErC,EAAA,MAAM,eAAe,eAAgB,EAAA;AACrC,EAAM,MAAA,UAAA,GAAa,2BAAoC,gBAAgB,CAAA;AAEvE,EAAA,MAAM,UAAU,UACb,GAAA,YAAA,GACC,GACA,GAAA,GAAA,GACD,eACC,GACA,GAAA,GAAA;AAEJ,EAAM,MAAA,YAAA,GAAe,OAAO,UAAW,CAAA,IAAA;AAAA,IAAK,CAACA,OAAAA,KAC5CA,OAAO,CAAA,MAAA,CAAO,YAAa;AAAA,GACzB,EAAA,MAAA;AAEH,EAAA,MAAM,gBAAgB,CAAC,YAAA,EAAc,aAClC,GAAA,SAAA,GACC,aAAc,WAAY,EAAA;AAC9B,EAAA,MAAM,eACL,YAAc,EAAA,mBAAA,OAA0B,KACrC,GAAA,IAAA,CAAK,EAAE,oBAAoB,CAAA,GAC3B,cAAc,mBAAoB,EAAA,KAAM,SACvC,IAAK,CAAA,CAAA,CAAE,qBAAqB,CAC5B,GAAA,IAAA,CAAK,EAAE,SAAS,CAAA;AAErB,EACC,uBAAA,GAAA;AAAA,IAAC,qBAAA;AAAA,IAAA;AAAA,MAEA,KAAM,EAAA,QAAA;AAAA,MACN,eAAe,IAAK,CAAA,CAAA,CAAE,uBAAyB,EAAA,EAAE,cAAc,CAAA;AAAA,MAC/D,eAAA,EAAiB,CAAC,CAAA,EAAG,CAAM,KAAA;AAC1B,QAAM,MAAA,IAAA,GAAO,aAAc,uBAAwB,EAAA;AACnD,QAAA,IAAI,IAAM,EAAA;AACT,UAAA,IAAA,CAAK,CAAC,CAAA;AAAA;AACP,OACD;AAAA,MACA,KAAK,EAAA,IAAA;AAAA,MAGL,IAAK,EAAA,GAAA;AAAA,MACL,aAAA;AAAA,MACA,OAAA,EAAS,MAAO,CAAA,OAAA,CAAQ,QAAS,EAAA;AAAA,MACjC,OAAA;AAAA,MACA,WAAW,MAAO,CAAA,UAAA;AAAA,MAEjB,QAAA,EAAA,CAAC,CAAC,YACF,oBAAA,GAAA;AAAA,QAAC,UAAA;AAAA,QAAA;AAAA,UAEA,MAAQ,EAAA;AAAA,SAAA;AAAA,QADH,CAAA,EAAG,OAAO,EAAE,CAAA,YAAA;AAAA;AAElB,KAAA;AAAA,IAtBI,CAAG,EAAA,MAAA,CAAO,EAAE,CAAA,CAAA,EAAI,SAAS,OAAO,CAAA;AAAA,GAwBtC;AAEF;AAEa,MAAA,cAAA,GAAiB,KAAK,uBAAuB","file":"MetaHeaderCell.js","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 { useScorecardViewStateValue } from \"../../../../../utils\";\nimport { useHasOnePeriod } from \"../../../../../utils\";\n\nfunction MetaHeaderCellComponent({\n\theader,\n}: HeaderContext<ScorecardTableData, any>) {\n\tconst randomId = useRef<string>(uid());\n\n\tconst hasOnePeriod = useHasOnePeriod();\n\tconst dataInRows = useScorecardViewStateValue<boolean>(\"showDataInRows\");\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"]}
@@ -104,6 +104,7 @@ const dataGroupSchema = z.object({
104
104
  style: z.object({}),
105
105
  title: z.string()
106
106
  });
107
+ const sharingObject = z.object({ access: z.string(), id: z.string() });
107
108
  const scorecardConfig = z.object({
108
109
  id: z.string(),
109
110
  title: z.string(),
@@ -119,7 +120,17 @@ const scorecardConfig = z.object({
119
120
  }),
120
121
  highlightedIndicators: z.array(dataSourceSchema),
121
122
  additionalLabels: z.array(z.string()).optional(),
122
- sharing: scorecardSharing
123
+ sharing: scorecardSharing.optional(),
124
+ //These are placed as optional and they will be removed in future versions
125
+ user: z.object({
126
+ id: z.string()
127
+ }).optional(),
128
+ userAccesses: z.array(sharingObject).optional(),
129
+ userGroupAccesses: z.array(sharingObject).optional(),
130
+ publicAccess: z.object({
131
+ access: z.string(),
132
+ id: z.string()
133
+ }).optional()
123
134
  });
124
135
  z.object({
125
136
  orgUnitSelection: organisationUnitSelectionSchema,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/schemas/config.ts"],"names":["ScorecardTableOrientation","ScorecardTableDimension","ScorecardDraggableItems"],"mappings":";;AAGa,MAAA,oBAAA,GAAuB,EAAE,IAAK,CAAA;AAAA,EAC1C,WAAA;AAAA,EACA,kBAAA;AAAA,EACA,SAAA;AAAA,EACA,aAAA;AAAA,EACA,gBAAA;AAAA,EACA;AACD,CAAC;AAEY,MAAA,gBAAA,GAAmB,EAAE,MAAO,CAAA;AAAA,EACxC,KAAA,EAAO,EAAE,MAAO,EAAA;AAAA,EAChB,QAAA,EAAU,EAAE,OAAQ,EAAA;AAAA,EACpB,MAAA,EAAQ,EAAE,MAAO,EAAA;AAAA,EACjB,OAAO,CAAE,CAAA,MAAA;AAAA,IACR,EAAE,MAAO,EAAA;AAAA,IACT,CAAA,CAAE,MAAO,CAAA,EAAE,MAAQ,EAAA,CAAA,CAAE,MAAO,EAAA,EAAG,EAAI,EAAA,CAAA,CAAE,MAAO,EAAA,EAAG;AAAA,GAChD;AAAA,EACA,YAAY,CAAE,CAAA,MAAA;AAAA,IACb,EAAE,MAAO,EAAA;AAAA,IACT,CAAA,CAAE,MAAO,CAAA,EAAE,MAAQ,EAAA,CAAA,CAAE,MAAO,EAAA,EAAG,EAAI,EAAA,CAAA,CAAE,MAAO,EAAA,EAAG;AAAA;AAEjD,CAAC;AAMY,MAAA,sBAAA,GAAyB,EAAE,MAAO,CAAA;AAAA,EAC9C,EAAA,EAAI,EAAE,MAAO,EAAA;AAAA,EACb,KAAA,EAAO,EAAE,MAAO,EAAA;AAAA,EAChB,IAAA,EAAM,EAAE,MAAO,EAAA;AAAA,EACf,SAAW,EAAA,CAAA,CAAE,OAAQ,EAAA,CAAE,QAAS;AACjC,CAAC;AAIY,MAAA,0BAAA,GAA6B,EAAE,MAAO,CAAA;AAAA,EAClD,aAAe,EAAA,CAAA,CAAE,OAAQ,EAAA,CAAE,QAAS,EAAA;AAAA,EACpC,kBAAA,EAAoB,EAClB,IAAK,CAAA,CAAC,OAAO,eAAiB,EAAA,eAAe,CAAC,CAAA,CAC9C,QAAS,EAAA;AAAA,EACX,UAAY,EAAA,CAAA,CAAE,OAAQ,EAAA,CAAE,QAAS,EAAA;AAAA,EACjC,SAAW,EAAA,CAAA,CAAE,OAAQ,EAAA,CAAE,QAAS,EAAA;AAAA,EAChC,qBAAuB,EAAA,CAAA,CAAE,OAAQ,EAAA,CAAE,QAAS,EAAA;AAAA,EAC5C,UAAY,EAAA,CAAA,CAAE,OAAQ,EAAA,CAAE,QAAS,EAAA;AAAA,EACjC,MAAQ,EAAA,CAAA,CAAE,OAAQ,EAAA,CAAE,QAAS,EAAA;AAAA,EAC7B,aAAe,EAAA,CAAA,CAAE,OAAQ,EAAA,CAAE,QAAS,EAAA;AAAA,EACpC,KAAO,EAAA,CAAA,CAAE,OAAQ,EAAA,CAAE,QAAS,EAAA;AAAA,EAC5B,MAAQ,EAAA,CAAA,CAAE,OAAQ,EAAA,CAAE,QAAS,EAAA;AAAA,EAC7B,cAAgB,EAAA,CAAA,CAAE,OAAQ,EAAA,CAAE,QAAS,EAAA;AAAA,EACrC,gBAAkB,EAAA,CAAA,CAAE,OAAQ,EAAA,CAAE,QAAS,EAAA;AAAA,EACvC,iBAAmB,EAAA,CAAA,CAAE,OAAQ,EAAA,CAAE,QAAS,EAAA;AAAA,EACxC,SAAW,EAAA,CAAA,CAAE,OAAQ,EAAA,CAAE,QAAS,EAAA;AAAA,EAChC,sBAAwB,EAAA,CAAA,CAAE,OAAQ,EAAA,CAAE,QAAS;AAC9C,CAAC;AAIY,MAAA,+BAAA,GAAkC,EAAE,MAAO,CAAA;AAAA,EACvD,WAAa,EAAA,CAAA,CAAE,OAAQ,EAAA,CAAE,QAAS,EAAA;AAAA,EAClC,WAAa,EAAA,CAAA,CAAE,OAAQ,EAAA,CAAE,QAAS,EAAA;AAAA,EAClC,aAAe,EAAA,CAAA,CAAE,OAAQ,EAAA,CAAE,QAAS,EAAA;AAAA,EACpC,UAAU,CAAE,CAAA,KAAA;AAAA,IACX,EAAE,MAAO,CAAA;AAAA,MACR,EAAA,EAAI,EAAE,MAAO;AAAA,KACb;AAAA,GACF;AAAA,EACA,QAAQ,CAAE,CAAA,KAAA,CAAM,EAAE,MAAO,EAAC,EAAE,QAAS,EAAA;AAAA,EACrC,QAAQ,CAAE,CAAA,KAAA,CAAM,EAAE,MAAO,EAAC,EAAE,QAAS;AACtC,CAAC;AAIY,MAAA,qBAAA,GAAwB,EAAE,MAAO,CAAA;AAAA,EAC7C,SAAS,CAAE,CAAA,KAAA;AAAA,IACV,EAAE,MAAO,CAAA;AAAA,MACR,EAAA,EAAI,EAAE,MAAO;AAAA,KACb;AAAA,GACF;AAAA,EACA,IAAM,EAAA,CAAA,CAAE,MAAO,EAAA,CAAE,QAAS;AAC3B,CAAC;AAIY,MAAA,YAAA,GAAe,EAAE,MAAO,CAAA;AAAA,EACpC,kBAAA,EAAoB,EAAE,MAAO,EAAA;AAAA,EAC7B,EAAA,EAAI,EAAE,MAAO,EAAA;AAAA,EACb,UAAA,EAAY,CAAE,CAAA,KAAA,CAAM,CAAC,CAAA,CAAE,QAAU,EAAA,CAAA,CAAE,MAAO,EAAC,CAAC,CAAA;AAAA,EAC5C,QAAA,EAAU,CAAE,CAAA,KAAA,CAAM,CAAC,CAAA,CAAE,QAAU,EAAA,CAAA,CAAE,MAAO,EAAC,CAAC;AAC3C,CAAC;AAIY,MAAA,oBAAA,GAAuB,EAAE,MAAO,CAAA;AAAA,EAC5C,MAAM,CAAE,CAAA,IAAA,CAAK,CAAC,SAAA,EAAW,SAAS,CAAC,CAAA;AAAA,EACnC,KAAO,EAAA,CAAA,CAAE,KAAM,CAAA,CAAA,CAAE,QAAQ,CAAA;AAAA,EACzB,OAAA,EAAS,CAAE,CAAA,KAAA,CAAM,YAAY;AAC9B,CAAC;AAIM,MAAM,2BAA2B,CAAE,CAAA,MAAA;AAAA,EACzC,EAAE,MAAO,EAAA;AAAA,EACT,CAAA,CAAE,MAAM,YAAY;AACrB;AAIa,MAAA,gBAAA,GAAmB,EAAE,MAAO,CAAA;AAAA,EACxC,EAAA,EAAI,EAAE,MAAO,EAAA;AAAA,EACb,IAAA,EAAM,EAAE,MAAO,EAAA;AAAA,EACf,KAAO,EAAA,CAAA,CAAE,MAAO,EAAA,CAAE,QAAS,EAAA;AAAA,EAC3B,IAAM,EAAA,oBAAA;AAAA,EACN,aAAA,EAAe,EAAE,OAAQ,EAAA;AAAA,EACzB,UAAA,EAAY,EAAE,OAAQ,EAAA;AAAA,EACtB,YAAA,EAAc,EAAE,MAAO,EAAA;AAAA,EACvB,UAAA,EAAY,EAAE,OAAQ,EAAA;AAAA,EACtB,MAAA,EAAQ,EAAE,MAAO,EAAA;AAAA,EACjB,OAAA,EAAS,EAAE,KAAM,CAAA,CAAC,EAAE,KAAM,CAAA,YAAY,CAAG,EAAA,wBAAwB,CAAC,CAAA;AAAA,EAClE,eAAiB,EAAA,CAAA,CAAE,KAAM,CAAA,oBAAoB,EAAE,QAAS,EAAA;AAAA,EACxD,kBAAoB,EAAA,CAAA,CAAE,OAAQ,EAAA,CAAE,QAAS,EAAA;AAAA,EACzC,WAAa,EAAA,CAAA,CAAE,MAAO,EAAA,CAAE,QAAS;AAClC,CAAC;AAIY,MAAA,gBAAA,GAAmB,EAAE,MAAO,CAAA;AAAA,EACxC,EAAA,EAAI,CAAE,CAAA,KAAA,CAAM,CAAC,CAAA,CAAE,QAAU,EAAA,CAAA,CAAE,MAAO,EAAC,CAAC,CAAA;AAAA,EACpC,WAAA,EAAa,CAAE,CAAA,KAAA,CAAM,gBAAgB;AACtC,CAAC;AAIY,MAAA,eAAA,GAAkB,EAAE,MAAO,CAAA;AAAA,EACvC,EAAA,EAAI,CAAE,CAAA,KAAA,CAAM,CAAC,CAAA,CAAE,QAAU,EAAA,CAAA,CAAE,MAAO,EAAC,CAAC,CAAA;AAAA,EACpC,WAAA,EAAa,CAAE,CAAA,KAAA,CAAM,gBAAgB,CAAA;AAAA,EACrC,KAAO,EAAA,CAAA,CAAE,MAAO,CAAA,EAAE,CAAA;AAAA,EAClB,KAAA,EAAO,EAAE,MAAO;AACjB,CAAC;AAIY,MAAA,eAAA,GAAkB,EAAE,MAAO,CAAA;AAAA,EACvC,EAAA,EAAI,EAAE,MAAO,EAAA;AAAA,EACb,KAAA,EAAO,EAAE,MAAO,EAAA;AAAA,EAChB,QAAU,EAAA,CAAA,CAAE,MAAO,EAAA,CAAE,QAAS,EAAA;AAAA,EAC9B,YAAc,EAAA,CAAA,CAAE,MAAO,EAAA,CAAE,QAAS,EAAA;AAAA,EAClC,WAAa,EAAA,CAAA,CAAE,MAAO,EAAA,CAAE,QAAS,EAAA;AAAA,EACjC,iBAAA,EAAmB,CAAE,CAAA,KAAA,CAAM,sBAAsB,CAAA;AAAA,EACjD,OAAS,EAAA,0BAAA;AAAA,EACT,gBAAkB,EAAA,+BAAA;AAAA,EAClB,eAAiB,EAAA,qBAAA;AAAA,EACjB,aAAA,EAAe,EAAE,MAAO,CAAA;AAAA,IACvB,UAAA,EAAY,CAAE,CAAA,KAAA,CAAM,eAAe;AAAA,GACnC,CAAA;AAAA,EACD,qBAAA,EAAuB,CAAE,CAAA,KAAA,CAAM,gBAAgB,CAAA;AAAA,EAC/C,kBAAkB,CAAE,CAAA,KAAA,CAAM,EAAE,MAAO,EAAC,EAAE,QAAS,EAAA;AAAA,EAC/C,OAAS,EAAA;AACV,CAAC;AAI4B,EAAE,MAAO,CAAA;AAAA,EACrC,gBAAkB,EAAA,+BAAA;AAAA,EAClB,eAAiB,EAAA,qBAAA;AAAA,EACjB,OAAS,EAAA,0BAAA;AAAA,EACT,MAAQ,EAAA,CAAA,CAAE,OAAQ,EAAA,CAAE,QAAS,EAAA;AAAA,EAC7B,YAAc,EAAA,CAAA,CAAE,OAAQ,EAAA,CAAE,QAAS;AACpC,CAAC;AAIY,MAAA,sBAAA,GAAyB,EAAE,MAAO,CAAA;AAAA,EAC9C,EAAI,EAAA,CAAA,CAAE,MAAO,EAAA,CAAE,QAAS,EAAA;AAAA,EACxB,EAAI,EAAA,CAAA,CAAE,MAAO,EAAA,CAAE,QAAS,EAAA;AAAA,EACxB,EAAI,EAAA,CAAA,CAAE,MAAO,EAAA,CAAE,QAAS,EAAA;AAAA,EACxB,KAAO,EAAA,CAAA,CAAE,MAAO,EAAA,CAAE,QAAS;AAC5B,CAAC;AAIY,MAAA,kBAAA,GAAqB,EAAE,MAAO,CAAA;AAAA,EAC1C,KAAA,EAAO,EAAE,MAAO,EAAA;AAAA,EAChB,UAAA,EAAY,iBAAiB,QAAS,EAAA;AAAA,EACtC,OAAA,EAAS,EACP,MAAO,CAAA;AAAA,IACP,GAAA,EAAK,EAAE,MAAO,EAAA;AAAA,IACd,IAAA,EAAM,EAAE,MAAO,EAAA;AAAA,IACf,SAAA,EAAW,EAAE,MAAO;AAAA,GACpB,EACA,QAAS,EAAA;AAAA,EACX,MAAQ,EAAA,CAAA,CAAE,OAAQ,EAAA,CAAE,QAAS;AAC9B,CAAC;AAIY,MAAA,wBAAA,GAA2B,EAAE,MAAO,CAAA;AAAA,EAChD,WAAA,EAAa,CAAE,CAAA,KAAA,CAAM,gBAAgB,CAAA;AAAA,EACrC,OAAA,EAAS,EAAE,MAAO,CAAA;AAAA,IACjB,GAAA,EAAK,EAAE,MAAO,EAAA;AAAA,IACd,IAAA,EAAM,EAAE,MAAO,EAAA;AAAA,IACf,SAAA,EAAW,EAAE,MAAO;AAAA,GACpB,CAAA;AAAA,EACD,cAAgB,EAAA,CAAA,CAAE,MAAO,EAAA,CAAE,QAAS,EAAA;AAAA,EACpC,aAAe,EAAA,CAAA,CAAE,MAAO,EAAA,CAAE,QAAS;AACpC,CAAC;AAGY,MAAA,+BAAA,GAAkC,EAAE,MAAO,CAAA;AAAA,EACvD,UAAA,EAAY,iBAAiB,QAAS,EAAA;AAAA,EACtC,OAAA,EAAS,EACP,MAAO,CAAA;AAAA,IACP,GAAA,EAAK,EAAE,MAAO,EAAA;AAAA,IACd,IAAA,EAAM,EAAE,MAAO,EAAA;AAAA,IACf,SAAA,EAAW,EAAE,MAAO;AAAA,GACpB,EACA,QAAS;AACZ,CAAC;AAKY,MAAA,uBAAA,GAA0B,iBAAiB,MAAO,CAAA;AAAA,EAC9D,IAAA,EAAM,EAAE,MAAO,CAAA;AAAA,IACd,QAAU,EAAA,CAAA,CAAE,MAAO,EAAA,CAAE,QAAS,EAAA;AAAA,IAC9B,OAAS,EAAA,CAAA,CAAE,MAAO,EAAA,CAAE,QAAS;AAAA,GAC7B;AACF,CAAC;AAGY,MAAA,8BAAA,GAAiC,iBAAiB,MAAO,CAAA;AAAA,EACrE,IAAA,EAAM,EAAE,MAAO,CAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAE,MAAO,EAAA,CAAE,QAAS;AAAA,GAC7B;AACF,CAAC;AAOW,IAAA,yBAAA,qBAAAA,0BAAL,KAAA;AACN,EAAAA,2BAAA,kBAAmB,CAAA,GAAA,gBAAA;AACnB,EAAAA,2BAAA,kBAAmB,CAAA,GAAA,gBAAA;AAFR,EAAAA,OAAAA,0BAAAA;AAAA,CAAA,EAAA,yBAAA,IAAA,EAAA;AAKA,IAAA,uBAAA,qBAAAC,wBAAL,KAAA;AACN,EAAAA,yBAAA,OAAQ,CAAA,GAAA,OAAA;AACR,EAAAA,yBAAA,WAAY,CAAA,GAAA,UAAA;AACZ,EAAAA,yBAAA,SAAU,CAAA,GAAA,SAAA;AACV,EAAAA,yBAAA,MAAO,CAAA,GAAA,MAAA;AAJI,EAAAA,OAAAA,wBAAAA;AAAA,CAAA,EAAA,uBAAA,IAAA,EAAA;AAOA,IAAA,uBAAA,qBAAAC,wBAAL,KAAA;AACN,EAAAA,yBAAA,IAAK,CAAA,GAAA,IAAA;AACL,EAAAA,yBAAA,MAAO,CAAA,GAAA,MAAA;AAFI,EAAAA,OAAAA,wBAAAA;AAAA,CAAA,EAAA,uBAAA,IAAA,EAAA","file":"config.js","sourcesContent":["import { z } from \"zod\";\nimport type { RowData } from \"@tanstack/react-table\";\n\nexport const supportedDataSources = z.enum([\n\t\"indicator\",\n\t\"programIndicator\",\n\t\"dataSet\",\n\t\"dataElement\",\n\t\"customFunction\",\n\t\"sqlView\",\n]);\n\nexport const scorecardSharing = z.object({\n\towner: z.string(),\n\texternal: z.boolean(),\n\tpublic: z.string(),\n\tusers: z.record(\n\t\tz.string(),\n\t\tz.object({ access: z.string(), id: z.string() }),\n\t),\n\tuserGroups: z.record(\n\t\tz.string(),\n\t\tz.object({ access: z.string(), id: z.string() }),\n\t),\n});\n\nexport type ScorecardSharing = z.infer<typeof scorecardSharing>;\n\nexport type SupportedDataSources = z.infer<typeof supportedDataSources>;\n\nexport const legendDefinitionSchema = z.object({\n\tid: z.string(),\n\tcolor: z.string(),\n\tname: z.string(),\n\tisDefault: z.boolean().optional(),\n});\n\nexport type LegendDefinition = z.infer<typeof legendDefinitionSchema>;\n\nexport const scorecardViewOptionsSchema = z.object({\n\taverageColumn: z.boolean().optional(),\n\taverageDisplayType: z\n\t\t.enum([\"ALL\", \"ABOVE_AVERAGE\", \"BELOW_AVERAGE\"])\n\t\t.optional(),\n\taverageRow: z.boolean().optional(),\n\temptyRows: z.boolean().optional(),\n\thighlightedIndicators: z.boolean().optional(),\n\titemNumber: z.boolean().optional(),\n\tlegend: z.boolean().optional(),\n\tshowHierarchy: z.boolean().optional(),\n\ttitle: z.boolean().optional(),\n\tarrows: z.boolean().optional(),\n\tshowDataInRows: z.boolean().optional(),\n\tdisableExpanding: z.boolean().optional(),\n\tdisablePagination: z.boolean().optional(),\n\tprintMode: z.boolean().optional(),\n\tdisableFurtherAnalysis: z.boolean().optional(),\n});\n\nexport type ScorecardViewOptions = z.infer<typeof scorecardViewOptionsSchema>;\n\nexport const organisationUnitSelectionSchema = z.object({\n\tuserOrgUnit: z.boolean().optional(),\n\tuserSubUnit: z.boolean().optional(),\n\tuserSubX2Unit: z.boolean().optional(),\n\torgUnits: z.array(\n\t\tz.object({\n\t\t\tid: z.string(),\n\t\t}),\n\t),\n\tgroups: z.array(z.string()).optional(),\n\tlevels: z.array(z.string()).optional(),\n});\n\nexport type OrgUnitSelection = z.infer<typeof organisationUnitSelectionSchema>;\n\nexport const periodSelectionSchema = z.object({\n\tperiods: z.array(\n\t\tz.object({\n\t\t\tid: z.string(),\n\t\t}),\n\t),\n\ttype: z.string().optional(),\n});\n\nexport type PeriodSelection = z.infer<typeof periodSelectionSchema>;\n\nexport const legendSchema = z.object({\n\tlegendDefinitionId: z.string(),\n\tid: z.string(),\n\tstartValue: z.union([z.string(), z.number()]),\n\tendValue: z.union([z.string(), z.number()]),\n});\n\nexport type ScorecardLegend = z.infer<typeof legendSchema>;\n\nexport const specificTargetSchema = z.object({\n\ttype: z.enum([\"periods\", \"orgUnit\"]),\n\titems: z.array(z.string()),\n\tlegends: z.array(legendSchema),\n});\n\nexport type SpecificTarget = z.infer<typeof specificTargetSchema>;\n\nexport const orgUnitLevelLegendSchema = z.record(\n\tz.string(),\n\tz.array(legendSchema),\n);\n\nexport type OrgUnitLevelLegend = z.infer<typeof orgUnitLevelLegendSchema>;\n\nexport const dataSourceSchema = z.object({\n\tid: z.string(),\n\tname: z.string(),\n\tlabel: z.string().optional(),\n\ttype: supportedDataSources,\n\tdisplayArrows: z.boolean(),\n\thighIsGood: z.boolean(),\n\teffectiveGap: z.number(),\n\tshowColors: z.boolean(),\n\tweight: z.number(),\n\tlegends: z.union([z.array(legendSchema), orgUnitLevelLegendSchema]),\n\tspecificTargets: z.array(specificTargetSchema).optional(),\n\tspecificTargetsSet: z.boolean().optional(),\n\tdescription: z.string().optional(),\n});\n\nexport type ScorecardDataSource = z.infer<typeof dataSourceSchema>;\n\nexport const dataHolderSchema = z.object({\n\tid: z.union([z.number(), z.string()]),\n\tdataSources: z.array(dataSourceSchema),\n});\n\nexport type ScorecardDataHolder = z.infer<typeof dataHolderSchema>;\n\nexport const dataGroupSchema = z.object({\n\tid: z.union([z.number(), z.string()]),\n\tdataHolders: z.array(dataHolderSchema),\n\tstyle: z.object({}),\n\ttitle: z.string(),\n});\n\nexport type ScorecardDataGroup = z.infer<typeof dataGroupSchema>;\n\nexport const scorecardConfig = z.object({\n\tid: z.string(),\n\ttitle: z.string(),\n\tsubtitle: z.string().optional(),\n\tcustomHeader: z.string().optional(),\n\tdescription: z.string().optional(),\n\tlegendDefinitions: z.array(legendDefinitionSchema),\n\toptions: scorecardViewOptionsSchema,\n\torgUnitSelection: organisationUnitSelectionSchema,\n\tperiodSelection: periodSelectionSchema,\n\tdataSelection: z.object({\n\t\tdataGroups: z.array(dataGroupSchema),\n\t}),\n\thighlightedIndicators: z.array(dataSourceSchema),\n\tadditionalLabels: z.array(z.string()).optional(),\n\tsharing: scorecardSharing,\n});\n\nexport type ScorecardConfig = z.infer<typeof scorecardConfig>;\n\nconst scorecardStateSchema = z.object({\n\torgUnitSelection: organisationUnitSelectionSchema,\n\tperiodSelection: periodSelectionSchema,\n\toptions: scorecardViewOptionsSchema,\n\tnested: z.boolean().optional(),\n\thasOnePeriod: z.boolean().optional(),\n});\n\nexport type ScorecardState = z.infer<typeof scorecardStateSchema>;\n\nexport const scorecardAnalyticsData = z.object({\n\tdx: z.string().optional(),\n\tpe: z.string().optional(),\n\tou: z.string().optional(),\n\tvalue: z.string().optional(),\n});\n\nexport type ScorecardAnalyticsData = z.infer<typeof scorecardAnalyticsData>;\n\nexport const scorecardTableData = z.object({\n\tlabel: z.string(),\n\tdataHolder: dataHolderSchema.optional(),\n\torgUnit: z\n\t\t.object({\n\t\t\tuid: z.string(),\n\t\t\tname: z.string(),\n\t\t\thierarchy: z.string(),\n\t\t})\n\t\t.optional(),\n\texpand: z.boolean().optional(),\n});\n\nexport type ScorecardTableData = z.infer<typeof scorecardTableData> & RowData;\n\nexport const scorecardTableCellConfig = z.object({\n\tdataSources: z.array(dataSourceSchema),\n\torgUnit: z.object({\n\t\tuid: z.string(),\n\t\tname: z.string(),\n\t\thierarchy: z.string(),\n\t}),\n\tpreviousPeriod: z.string().optional(),\n\tcurrentPeriod: z.string().optional(),\n});\nexport type ScorecardTableCellConfig = z.infer<typeof scorecardTableCellConfig>;\n\nexport const scorecardTableAverageCellConfig = z.object({\n\tdataHolder: dataHolderSchema.optional(),\n\torgUnit: z\n\t\t.object({\n\t\t\tuid: z.string(),\n\t\t\tname: z.string(),\n\t\t\thierarchy: z.string(),\n\t\t})\n\t\t.optional(),\n});\nexport type ScorecardTableAverageCellConfig = z.infer<\n\ttypeof scorecardTableAverageCellConfig\n>;\n\nexport const scorecardCellDataSchema = dataSourceSchema.extend({\n\tdata: z.object({\n\t\tprevious: z.number().optional(),\n\t\tcurrent: z.number().optional(),\n\t}),\n});\nexport type ScorecardCellData = z.infer<typeof scorecardCellDataSchema>;\n\nexport const scorecardAverageCellDataSchema = dataSourceSchema.extend({\n\tdata: z.object({\n\t\taverage: z.number().optional(),\n\t}),\n});\nexport type ScorecardAverageCellData = z.infer<\n\ttypeof scorecardAverageCellDataSchema\n>;\n\nexport type SanitizedScorecardTableData = z.infer<typeof scorecardTableData>;\n\nexport enum ScorecardTableOrientation {\n\tORG_UNIT_VS_DATA = \"orgUnitsVsData\",\n\tDATA_VS_ORG_UNIT = \"dataVsOrgUnits\",\n}\n\nexport enum ScorecardTableDimension {\n\tGROUP = \"group\",\n\tORG_UNITS = \"orgUnits\",\n\tPERIODS = \"periods\",\n\tDATA = \"data\",\n}\n\nexport enum ScorecardDraggableItems {\n\tou = \"ou\",\n\tdata = \"data\",\n}\n"]}
1
+ {"version":3,"sources":["../../../src/schemas/config.ts"],"names":["ScorecardTableOrientation","ScorecardTableDimension","ScorecardDraggableItems"],"mappings":"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","file":"config.js","sourcesContent":["import { z } from \"zod\";\nimport type { RowData } from \"@tanstack/react-table\";\n\nexport const supportedDataSources = z.enum([\n\t\"indicator\",\n\t\"programIndicator\",\n\t\"dataSet\",\n\t\"dataElement\",\n\t\"customFunction\",\n\t\"sqlView\",\n]);\n\nexport const scorecardSharing = z.object({\n\towner: z.string(),\n\texternal: z.boolean(),\n\tpublic: z.string(),\n\tusers: z.record(\n\t\tz.string(),\n\t\tz.object({ access: z.string(), id: z.string() }),\n\t),\n\tuserGroups: z.record(\n\t\tz.string(),\n\t\tz.object({ access: z.string(), id: z.string() }),\n\t),\n});\n\nexport type ScorecardSharing = z.infer<typeof scorecardSharing>;\n\nexport type SupportedDataSources = z.infer<typeof supportedDataSources>;\n\nexport const legendDefinitionSchema = z.object({\n\tid: z.string(),\n\tcolor: z.string(),\n\tname: z.string(),\n\tisDefault: z.boolean().optional(),\n});\n\nexport type LegendDefinition = z.infer<typeof legendDefinitionSchema>;\n\nexport const scorecardViewOptionsSchema = z.object({\n\taverageColumn: z.boolean().optional(),\n\taverageDisplayType: z\n\t\t.enum([\"ALL\", \"ABOVE_AVERAGE\", \"BELOW_AVERAGE\"])\n\t\t.optional(),\n\taverageRow: z.boolean().optional(),\n\temptyRows: z.boolean().optional(),\n\thighlightedIndicators: z.boolean().optional(),\n\titemNumber: z.boolean().optional(),\n\tlegend: z.boolean().optional(),\n\tshowHierarchy: z.boolean().optional(),\n\ttitle: z.boolean().optional(),\n\tarrows: z.boolean().optional(),\n\tshowDataInRows: z.boolean().optional(),\n\tdisableExpanding: z.boolean().optional(),\n\tdisablePagination: z.boolean().optional(),\n\tprintMode: z.boolean().optional(),\n\tdisableFurtherAnalysis: z.boolean().optional(),\n});\n\nexport type ScorecardViewOptions = z.infer<typeof scorecardViewOptionsSchema>;\n\nexport const organisationUnitSelectionSchema = z.object({\n\tuserOrgUnit: z.boolean().optional(),\n\tuserSubUnit: z.boolean().optional(),\n\tuserSubX2Unit: z.boolean().optional(),\n\torgUnits: z.array(\n\t\tz.object({\n\t\t\tid: z.string(),\n\t\t}),\n\t),\n\tgroups: z.array(z.string()).optional(),\n\tlevels: z.array(z.string()).optional(),\n});\n\nexport type OrgUnitSelection = z.infer<typeof organisationUnitSelectionSchema>;\n\nexport const periodSelectionSchema = z.object({\n\tperiods: z.array(\n\t\tz.object({\n\t\t\tid: z.string(),\n\t\t}),\n\t),\n\ttype: z.string().optional(),\n});\n\nexport type PeriodSelection = z.infer<typeof periodSelectionSchema>;\n\nexport const legendSchema = z.object({\n\tlegendDefinitionId: z.string(),\n\tid: z.string(),\n\tstartValue: z.union([z.string(), z.number()]),\n\tendValue: z.union([z.string(), z.number()]),\n});\n\nexport type ScorecardLegend = z.infer<typeof legendSchema>;\n\nexport const specificTargetSchema = z.object({\n\ttype: z.enum([\"periods\", \"orgUnit\"]),\n\titems: z.array(z.string()),\n\tlegends: z.array(legendSchema),\n});\n\nexport type SpecificTarget = z.infer<typeof specificTargetSchema>;\n\nexport const orgUnitLevelLegendSchema = z.record(\n\tz.string(),\n\tz.array(legendSchema),\n);\n\nexport type OrgUnitLevelLegend = z.infer<typeof orgUnitLevelLegendSchema>;\n\nexport const dataSourceSchema = z.object({\n\tid: z.string(),\n\tname: z.string(),\n\tlabel: z.string().optional(),\n\ttype: supportedDataSources,\n\tdisplayArrows: z.boolean(),\n\thighIsGood: z.boolean(),\n\teffectiveGap: z.number(),\n\tshowColors: z.boolean(),\n\tweight: z.number(),\n\tlegends: z.union([z.array(legendSchema), orgUnitLevelLegendSchema]),\n\tspecificTargets: z.array(specificTargetSchema).optional(),\n\tspecificTargetsSet: z.boolean().optional(),\n\tdescription: z.string().optional(),\n});\n\nexport type ScorecardDataSource = z.infer<typeof dataSourceSchema>;\n\nexport const dataHolderSchema = z.object({\n\tid: z.union([z.number(), z.string()]),\n\tdataSources: z.array(dataSourceSchema),\n});\n\nexport type ScorecardDataHolder = z.infer<typeof dataHolderSchema>;\n\nexport const dataGroupSchema = z.object({\n\tid: z.union([z.number(), z.string()]),\n\tdataHolders: z.array(dataHolderSchema),\n\tstyle: z.object({}),\n\ttitle: z.string(),\n});\n\nexport type ScorecardDataGroup = z.infer<typeof dataGroupSchema>;\n\nconst sharingObject = z.object({ access: z.string(), id: z.string() });\n\nexport const scorecardConfig = z.object({\n\tid: z.string(),\n\ttitle: z.string(),\n\tsubtitle: z.string().optional(),\n\tcustomHeader: z.string().optional(),\n\tdescription: z.string().optional(),\n\tlegendDefinitions: z.array(legendDefinitionSchema),\n\toptions: scorecardViewOptionsSchema,\n\torgUnitSelection: organisationUnitSelectionSchema,\n\tperiodSelection: periodSelectionSchema,\n\tdataSelection: z.object({\n\t\tdataGroups: z.array(dataGroupSchema),\n\t}),\n\thighlightedIndicators: z.array(dataSourceSchema),\n\tadditionalLabels: z.array(z.string()).optional(),\n\tsharing: scorecardSharing.optional(),\n\t//These are placed as optional and they will be removed in future versions\n\tuser: z\n\t\t.object({\n\t\t\tid: z.string(),\n\t\t})\n\t\t.optional(),\n\tuserAccesses: z.array(sharingObject).optional(),\n\tuserGroupAccesses: z.array(sharingObject).optional(),\n\tpublicAccess: z\n\t\t.object({\n\t\t\taccess: z.string(),\n\t\t\tid: z.string(),\n\t\t})\n\t\t.optional(),\n});\n\nexport type ScorecardConfig = z.infer<typeof scorecardConfig>;\n\nconst scorecardStateSchema = z.object({\n\torgUnitSelection: organisationUnitSelectionSchema,\n\tperiodSelection: periodSelectionSchema,\n\toptions: scorecardViewOptionsSchema,\n\tnested: z.boolean().optional(),\n\thasOnePeriod: z.boolean().optional(),\n});\n\nexport type ScorecardState = z.infer<typeof scorecardStateSchema>;\n\nexport const scorecardAnalyticsData = z.object({\n\tdx: z.string().optional(),\n\tpe: z.string().optional(),\n\tou: z.string().optional(),\n\tvalue: z.string().optional(),\n});\n\nexport type ScorecardAnalyticsData = z.infer<typeof scorecardAnalyticsData>;\n\nexport const scorecardTableData = z.object({\n\tlabel: z.string(),\n\tdataHolder: dataHolderSchema.optional(),\n\torgUnit: z\n\t\t.object({\n\t\t\tuid: z.string(),\n\t\t\tname: z.string(),\n\t\t\thierarchy: z.string(),\n\t\t})\n\t\t.optional(),\n\texpand: z.boolean().optional(),\n});\n\nexport type ScorecardTableData = z.infer<typeof scorecardTableData> & RowData;\n\nexport const scorecardTableCellConfig = z.object({\n\tdataSources: z.array(dataSourceSchema),\n\torgUnit: z.object({\n\t\tuid: z.string(),\n\t\tname: z.string(),\n\t\thierarchy: z.string(),\n\t}),\n\tpreviousPeriod: z.string().optional(),\n\tcurrentPeriod: z.string().optional(),\n});\nexport type ScorecardTableCellConfig = z.infer<typeof scorecardTableCellConfig>;\n\nexport const scorecardTableAverageCellConfig = z.object({\n\tdataHolder: dataHolderSchema.optional(),\n\torgUnit: z\n\t\t.object({\n\t\t\tuid: z.string(),\n\t\t\tname: z.string(),\n\t\t\thierarchy: z.string(),\n\t\t})\n\t\t.optional(),\n});\nexport type ScorecardTableAverageCellConfig = z.infer<\n\ttypeof scorecardTableAverageCellConfig\n>;\n\nexport const scorecardCellDataSchema = dataSourceSchema.extend({\n\tdata: z.object({\n\t\tprevious: z.number().optional(),\n\t\tcurrent: z.number().optional(),\n\t}),\n});\nexport type ScorecardCellData = z.infer<typeof scorecardCellDataSchema>;\n\nexport const scorecardAverageCellDataSchema = dataSourceSchema.extend({\n\tdata: z.object({\n\t\taverage: z.number().optional(),\n\t}),\n});\nexport type ScorecardAverageCellData = z.infer<\n\ttypeof scorecardAverageCellDataSchema\n>;\n\nexport type SanitizedScorecardTableData = z.infer<typeof scorecardTableData>;\n\nexport enum ScorecardTableOrientation {\n\tORG_UNIT_VS_DATA = \"orgUnitsVsData\",\n\tDATA_VS_ORG_UNIT = \"dataVsOrgUnits\",\n}\n\nexport enum ScorecardTableDimension {\n\tGROUP = \"group\",\n\tORG_UNITS = \"orgUnits\",\n\tPERIODS = \"periods\",\n\tDATA = \"data\",\n}\n\nexport enum ScorecardDraggableItems {\n\tou = \"ou\",\n\tdata = \"data\",\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { useScorecardDimensionStateEngine } from '../components';
1
+ import { useScorecardDimensionStateEngine, useScorecardMeta } from '../components';
2
2
  import { useState, useEffect } from 'react';
3
3
 
4
4
  function createDimensionStateEngine({
@@ -106,7 +106,11 @@ function usePeriodSelectionValue() {
106
106
  return periodSelection;
107
107
  }
108
108
  function useHasOnePeriod() {
109
+ const scorecardMeta = useScorecardMeta();
109
110
  const periodSelection = usePeriodSelectionValue();
111
+ if (scorecardMeta) {
112
+ return scorecardMeta.periods.length === 1;
113
+ }
110
114
  return periodSelection.periods.length === 1;
111
115
  }
112
116
  function useOrgUnitSelectionValue() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/dimensionState.ts"],"names":["orgUnitSelection","periodSelection"],"mappings":"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","file":"dimensionState.js","sourcesContent":["import type { OrgUnitSelection, PeriodSelection } from \"../schemas/config\";\nimport { useScorecardDimensionStateEngine } from \"../components\";\nimport { useEffect, useState } from \"react\";\n\nexport type DimensionState = {\n\torgUnitSelection: OrgUnitSelection;\n\tperiodSelection: PeriodSelection;\n};\nexport type OrgUnitListener = {\n\ttype: \"orgUnit\";\n\tlistener: (orgUnitSelection: OrgUnitSelection) => void;\n};\nexport type PeriodListener = {\n\ttype: \"period\";\n\tlistener: (periodSelection: PeriodSelection) => void;\n};\nexport type AllDimensionListener = {\n\ttype: \"all\";\n\tlistener: (dimensionState: DimensionState) => void;\n};\nexport type DimensionListener =\n\t| OrgUnitListener\n\t| PeriodListener\n\t| AllDimensionListener;\n\nexport type DimensionStateEngine = ReturnType<\n\ttypeof createDimensionStateEngine\n>;\n\nexport function createDimensionStateEngine({\n\torgUnitSelection,\n\tperiodSelection,\n}: DimensionState) {\n\treturn {\n\t\torgUnitSelection,\n\t\tperiodSelection,\n\t\tlisteners: [] as DimensionListener[],\n\t\taddListener(listener: DimensionListener) {\n\t\t\tthis.listeners.push(listener);\n\t\t\treturn () => {\n\t\t\t\tthis.listeners = this.listeners.filter(\n\t\t\t\t\t(l: DimensionListener) => l !== listener,\n\t\t\t\t);\n\t\t\t};\n\t\t},\n\t\tremoveListener(listener: DimensionListener) {\n\t\t\tthis.listeners = this.listeners.filter(\n\t\t\t\t(l: DimensionListener) => l !== listener,\n\t\t\t);\n\t\t},\n\t\tupdate({ orgUnitSelection, periodSelection }: DimensionState) {\n\t\t\tthis.orgUnitSelection = orgUnitSelection;\n\t\t\tthis.periodSelection = periodSelection;\n\t\t\tfor (const listener of this.listeners) {\n\t\t\t\tif (listener.type === \"orgUnit\") {\n\t\t\t\t\tlistener.listener(orgUnitSelection);\n\t\t\t\t}\n\t\t\t\tif (listener.type === \"period\") {\n\t\t\t\t\tlistener.listener(periodSelection);\n\t\t\t\t}\n\t\t\t\tif (listener.type === \"all\") {\n\t\t\t\t\tlistener.listener({\n\t\t\t\t\t\torgUnitSelection,\n\t\t\t\t\t\tperiodSelection,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tupdatePeriodSelection(periodSelection: PeriodSelection) {\n\t\t\tthis.periodSelection = periodSelection;\n\t\t\tfor (const listener of this.listeners) {\n\t\t\t\tif (listener.type === \"period\") {\n\t\t\t\t\tlistener.listener(periodSelection);\n\t\t\t\t}\n\t\t\t\tif (listener.type === \"all\") {\n\t\t\t\t\tlistener.listener({\n\t\t\t\t\t\torgUnitSelection: this.orgUnitSelection,\n\t\t\t\t\t\tperiodSelection,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tupdateOrgUnitSelection(orgUnitSelection: OrgUnitSelection) {\n\t\t\tthis.orgUnitSelection = orgUnitSelection;\n\t\t\tfor (const listener of this.listeners) {\n\t\t\t\tif (listener.type === \"orgUnit\") {\n\t\t\t\t\tlistener.listener(orgUnitSelection);\n\t\t\t\t}\n\t\t\t\tif (listener.type === \"all\") {\n\t\t\t\t\tlistener.listener({\n\t\t\t\t\t\torgUnitSelection: orgUnitSelection,\n\t\t\t\t\t\tperiodSelection: this.periodSelection,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t};\n}\n\nexport function useUpdateDimensionState(type: \"orgUnit\" | \"period\" | \"all\") {\n\tconst dimensionEngine = useScorecardDimensionStateEngine();\n\treturn (value: OrgUnitSelection | PeriodSelection | DimensionState) => {\n\t\tswitch (type) {\n\t\t\tcase \"orgUnit\":\n\t\t\t\tdimensionEngine.updateOrgUnitSelection(\n\t\t\t\t\tvalue as OrgUnitSelection,\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase \"period\":\n\t\t\t\tdimensionEngine.updatePeriodSelection(value as PeriodSelection);\n\t\t\t\tbreak;\n\t\t\tcase \"all\":\n\t\t\t\tdimensionEngine.update(value as DimensionState);\n\t\t}\n\t};\n}\n\nexport function usePeriodSelectionValue() {\n\tconst dimensionEngine = useScorecardDimensionStateEngine();\n\tconst [periodSelection, setPeriodSelection] = useState<PeriodSelection>(\n\t\tdimensionEngine.periodSelection,\n\t);\n\n\tuseEffect(() => {\n\t\tconst unsubscribe = dimensionEngine.addListener({\n\t\t\ttype: \"period\",\n\t\t\tlistener: (periodSelection) => {\n\t\t\t\tsetPeriodSelection(periodSelection);\n\t\t\t},\n\t\t});\n\n\t\treturn () => {\n\t\t\tunsubscribe();\n\t\t};\n\t}, []);\n\n\treturn periodSelection;\n}\n\nexport function useHasOnePeriod() {\n\tconst periodSelection = usePeriodSelectionValue();\n\treturn periodSelection.periods.length === 1;\n}\n\nexport function useOrgUnitSelectionValue() {\n\tconst dimensionEngine = useScorecardDimensionStateEngine();\n\tconst [orgUnitSelection, setOrgUnitSelection] = useState<OrgUnitSelection>(\n\t\tdimensionEngine.orgUnitSelection,\n\t);\n\n\tuseEffect(() => {\n\t\tconst unsubscribe = dimensionEngine.addListener({\n\t\t\ttype: \"orgUnit\",\n\t\t\tlistener: (periodSelection) => {\n\t\t\t\tsetOrgUnitSelection(periodSelection);\n\t\t\t},\n\t\t});\n\n\t\treturn () => {\n\t\t\tunsubscribe();\n\t\t};\n\t}, []);\n\n\treturn orgUnitSelection;\n}\n"]}
1
+ {"version":3,"sources":["../../../src/utils/dimensionState.ts"],"names":["orgUnitSelection","periodSelection"],"mappings":"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","file":"dimensionState.js","sourcesContent":["import type { OrgUnitSelection, PeriodSelection } from \"../schemas/config\";\nimport {\n\tuseScorecardDimensionStateEngine,\n\tuseScorecardMeta,\n} from \"../components\";\nimport { useEffect, useState } from \"react\";\n\nexport type DimensionState = {\n\torgUnitSelection: OrgUnitSelection;\n\tperiodSelection: PeriodSelection;\n};\nexport type OrgUnitListener = {\n\ttype: \"orgUnit\";\n\tlistener: (orgUnitSelection: OrgUnitSelection) => void;\n};\nexport type PeriodListener = {\n\ttype: \"period\";\n\tlistener: (periodSelection: PeriodSelection) => void;\n};\nexport type AllDimensionListener = {\n\ttype: \"all\";\n\tlistener: (dimensionState: DimensionState) => void;\n};\nexport type DimensionListener =\n\t| OrgUnitListener\n\t| PeriodListener\n\t| AllDimensionListener;\n\nexport type DimensionStateEngine = ReturnType<\n\ttypeof createDimensionStateEngine\n>;\n\nexport function createDimensionStateEngine({\n\torgUnitSelection,\n\tperiodSelection,\n}: DimensionState) {\n\treturn {\n\t\torgUnitSelection,\n\t\tperiodSelection,\n\t\tlisteners: [] as DimensionListener[],\n\t\taddListener(listener: DimensionListener) {\n\t\t\tthis.listeners.push(listener);\n\t\t\treturn () => {\n\t\t\t\tthis.listeners = this.listeners.filter(\n\t\t\t\t\t(l: DimensionListener) => l !== listener,\n\t\t\t\t);\n\t\t\t};\n\t\t},\n\t\tremoveListener(listener: DimensionListener) {\n\t\t\tthis.listeners = this.listeners.filter(\n\t\t\t\t(l: DimensionListener) => l !== listener,\n\t\t\t);\n\t\t},\n\t\tupdate({ orgUnitSelection, periodSelection }: DimensionState) {\n\t\t\tthis.orgUnitSelection = orgUnitSelection;\n\t\t\tthis.periodSelection = periodSelection;\n\t\t\tfor (const listener of this.listeners) {\n\t\t\t\tif (listener.type === \"orgUnit\") {\n\t\t\t\t\tlistener.listener(orgUnitSelection);\n\t\t\t\t}\n\t\t\t\tif (listener.type === \"period\") {\n\t\t\t\t\tlistener.listener(periodSelection);\n\t\t\t\t}\n\t\t\t\tif (listener.type === \"all\") {\n\t\t\t\t\tlistener.listener({\n\t\t\t\t\t\torgUnitSelection,\n\t\t\t\t\t\tperiodSelection,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tupdatePeriodSelection(periodSelection: PeriodSelection) {\n\t\t\tthis.periodSelection = periodSelection;\n\t\t\tfor (const listener of this.listeners) {\n\t\t\t\tif (listener.type === \"period\") {\n\t\t\t\t\tlistener.listener(periodSelection);\n\t\t\t\t}\n\t\t\t\tif (listener.type === \"all\") {\n\t\t\t\t\tlistener.listener({\n\t\t\t\t\t\torgUnitSelection: this.orgUnitSelection,\n\t\t\t\t\t\tperiodSelection,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tupdateOrgUnitSelection(orgUnitSelection: OrgUnitSelection) {\n\t\t\tthis.orgUnitSelection = orgUnitSelection;\n\t\t\tfor (const listener of this.listeners) {\n\t\t\t\tif (listener.type === \"orgUnit\") {\n\t\t\t\t\tlistener.listener(orgUnitSelection);\n\t\t\t\t}\n\t\t\t\tif (listener.type === \"all\") {\n\t\t\t\t\tlistener.listener({\n\t\t\t\t\t\torgUnitSelection: orgUnitSelection,\n\t\t\t\t\t\tperiodSelection: this.periodSelection,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t};\n}\n\nexport function useUpdateDimensionState(type: \"orgUnit\" | \"period\" | \"all\") {\n\tconst dimensionEngine = useScorecardDimensionStateEngine();\n\treturn (value: OrgUnitSelection | PeriodSelection | DimensionState) => {\n\t\tswitch (type) {\n\t\t\tcase \"orgUnit\":\n\t\t\t\tdimensionEngine.updateOrgUnitSelection(\n\t\t\t\t\tvalue as OrgUnitSelection,\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase \"period\":\n\t\t\t\tdimensionEngine.updatePeriodSelection(value as PeriodSelection);\n\t\t\t\tbreak;\n\t\t\tcase \"all\":\n\t\t\t\tdimensionEngine.update(value as DimensionState);\n\t\t}\n\t};\n}\n\nexport function usePeriodSelectionValue() {\n\tconst dimensionEngine = useScorecardDimensionStateEngine();\n\tconst [periodSelection, setPeriodSelection] = useState<PeriodSelection>(\n\t\tdimensionEngine.periodSelection,\n\t);\n\n\tuseEffect(() => {\n\t\tconst unsubscribe = dimensionEngine.addListener({\n\t\t\ttype: \"period\",\n\t\t\tlistener: (periodSelection) => {\n\t\t\t\tsetPeriodSelection(periodSelection);\n\t\t\t},\n\t\t});\n\n\t\treturn () => {\n\t\t\tunsubscribe();\n\t\t};\n\t}, []);\n\n\treturn periodSelection;\n}\n\nexport function useHasOnePeriod() {\n\tconst scorecardMeta = useScorecardMeta();\n\tconst periodSelection = usePeriodSelectionValue();\n\tif (scorecardMeta) {\n\t\treturn scorecardMeta.periods.length === 1;\n\t}\n\treturn periodSelection.periods.length === 1;\n}\n\nexport function useOrgUnitSelectionValue() {\n\tconst dimensionEngine = useScorecardDimensionStateEngine();\n\tconst [orgUnitSelection, setOrgUnitSelection] = useState<OrgUnitSelection>(\n\t\tdimensionEngine.orgUnitSelection,\n\t);\n\n\tuseEffect(() => {\n\t\tconst unsubscribe = dimensionEngine.addListener({\n\t\t\ttype: \"orgUnit\",\n\t\t\tlistener: (periodSelection) => {\n\t\t\t\tsetOrgUnitSelection(periodSelection);\n\t\t\t},\n\t\t});\n\n\t\treturn () => {\n\t\t\tunsubscribe();\n\t\t};\n\t}, []);\n\n\treturn orgUnitSelection;\n}\n"]}
@@ -106,6 +106,7 @@ const dataGroupSchema = zod.z.object({
106
106
  style: zod.z.object({}),
107
107
  title: zod.z.string()
108
108
  });
109
+ const sharingObject = zod.z.object({ access: zod.z.string(), id: zod.z.string() });
109
110
  const scorecardConfig = zod.z.object({
110
111
  id: zod.z.string(),
111
112
  title: zod.z.string(),
@@ -121,7 +122,17 @@ const scorecardConfig = zod.z.object({
121
122
  }),
122
123
  highlightedIndicators: zod.z.array(dataSourceSchema),
123
124
  additionalLabels: zod.z.array(zod.z.string()).optional(),
124
- sharing: scorecardSharing
125
+ sharing: scorecardSharing.optional(),
126
+ //These are placed as optional and they will be removed in future versions
127
+ user: zod.z.object({
128
+ id: zod.z.string()
129
+ }).optional(),
130
+ userAccesses: zod.z.array(sharingObject).optional(),
131
+ userGroupAccesses: zod.z.array(sharingObject).optional(),
132
+ publicAccess: zod.z.object({
133
+ access: zod.z.string(),
134
+ id: zod.z.string()
135
+ }).optional()
125
136
  });
126
137
  zod.z.object({
127
138
  orgUnitSelection: organisationUnitSelectionSchema,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/schemas/config.ts"],"names":["z","ScorecardTableOrientation","ScorecardTableDimension","ScorecardDraggableItems"],"mappings":"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","file":"config.js","sourcesContent":["import { z } from \"zod\";\nimport type { RowData } from \"@tanstack/react-table\";\n\nexport const supportedDataSources = z.enum([\n\t\"indicator\",\n\t\"programIndicator\",\n\t\"dataSet\",\n\t\"dataElement\",\n\t\"customFunction\",\n\t\"sqlView\",\n]);\n\nexport const scorecardSharing = z.object({\n\towner: z.string(),\n\texternal: z.boolean(),\n\tpublic: z.string(),\n\tusers: z.record(\n\t\tz.string(),\n\t\tz.object({ access: z.string(), id: z.string() }),\n\t),\n\tuserGroups: z.record(\n\t\tz.string(),\n\t\tz.object({ access: z.string(), id: z.string() }),\n\t),\n});\n\nexport type ScorecardSharing = z.infer<typeof scorecardSharing>;\n\nexport type SupportedDataSources = z.infer<typeof supportedDataSources>;\n\nexport const legendDefinitionSchema = z.object({\n\tid: z.string(),\n\tcolor: z.string(),\n\tname: z.string(),\n\tisDefault: z.boolean().optional(),\n});\n\nexport type LegendDefinition = z.infer<typeof legendDefinitionSchema>;\n\nexport const scorecardViewOptionsSchema = z.object({\n\taverageColumn: z.boolean().optional(),\n\taverageDisplayType: z\n\t\t.enum([\"ALL\", \"ABOVE_AVERAGE\", \"BELOW_AVERAGE\"])\n\t\t.optional(),\n\taverageRow: z.boolean().optional(),\n\temptyRows: z.boolean().optional(),\n\thighlightedIndicators: z.boolean().optional(),\n\titemNumber: z.boolean().optional(),\n\tlegend: z.boolean().optional(),\n\tshowHierarchy: z.boolean().optional(),\n\ttitle: z.boolean().optional(),\n\tarrows: z.boolean().optional(),\n\tshowDataInRows: z.boolean().optional(),\n\tdisableExpanding: z.boolean().optional(),\n\tdisablePagination: z.boolean().optional(),\n\tprintMode: z.boolean().optional(),\n\tdisableFurtherAnalysis: z.boolean().optional(),\n});\n\nexport type ScorecardViewOptions = z.infer<typeof scorecardViewOptionsSchema>;\n\nexport const organisationUnitSelectionSchema = z.object({\n\tuserOrgUnit: z.boolean().optional(),\n\tuserSubUnit: z.boolean().optional(),\n\tuserSubX2Unit: z.boolean().optional(),\n\torgUnits: z.array(\n\t\tz.object({\n\t\t\tid: z.string(),\n\t\t}),\n\t),\n\tgroups: z.array(z.string()).optional(),\n\tlevels: z.array(z.string()).optional(),\n});\n\nexport type OrgUnitSelection = z.infer<typeof organisationUnitSelectionSchema>;\n\nexport const periodSelectionSchema = z.object({\n\tperiods: z.array(\n\t\tz.object({\n\t\t\tid: z.string(),\n\t\t}),\n\t),\n\ttype: z.string().optional(),\n});\n\nexport type PeriodSelection = z.infer<typeof periodSelectionSchema>;\n\nexport const legendSchema = z.object({\n\tlegendDefinitionId: z.string(),\n\tid: z.string(),\n\tstartValue: z.union([z.string(), z.number()]),\n\tendValue: z.union([z.string(), z.number()]),\n});\n\nexport type ScorecardLegend = z.infer<typeof legendSchema>;\n\nexport const specificTargetSchema = z.object({\n\ttype: z.enum([\"periods\", \"orgUnit\"]),\n\titems: z.array(z.string()),\n\tlegends: z.array(legendSchema),\n});\n\nexport type SpecificTarget = z.infer<typeof specificTargetSchema>;\n\nexport const orgUnitLevelLegendSchema = z.record(\n\tz.string(),\n\tz.array(legendSchema),\n);\n\nexport type OrgUnitLevelLegend = z.infer<typeof orgUnitLevelLegendSchema>;\n\nexport const dataSourceSchema = z.object({\n\tid: z.string(),\n\tname: z.string(),\n\tlabel: z.string().optional(),\n\ttype: supportedDataSources,\n\tdisplayArrows: z.boolean(),\n\thighIsGood: z.boolean(),\n\teffectiveGap: z.number(),\n\tshowColors: z.boolean(),\n\tweight: z.number(),\n\tlegends: z.union([z.array(legendSchema), orgUnitLevelLegendSchema]),\n\tspecificTargets: z.array(specificTargetSchema).optional(),\n\tspecificTargetsSet: z.boolean().optional(),\n\tdescription: z.string().optional(),\n});\n\nexport type ScorecardDataSource = z.infer<typeof dataSourceSchema>;\n\nexport const dataHolderSchema = z.object({\n\tid: z.union([z.number(), z.string()]),\n\tdataSources: z.array(dataSourceSchema),\n});\n\nexport type ScorecardDataHolder = z.infer<typeof dataHolderSchema>;\n\nexport const dataGroupSchema = z.object({\n\tid: z.union([z.number(), z.string()]),\n\tdataHolders: z.array(dataHolderSchema),\n\tstyle: z.object({}),\n\ttitle: z.string(),\n});\n\nexport type ScorecardDataGroup = z.infer<typeof dataGroupSchema>;\n\nexport const scorecardConfig = z.object({\n\tid: z.string(),\n\ttitle: z.string(),\n\tsubtitle: z.string().optional(),\n\tcustomHeader: z.string().optional(),\n\tdescription: z.string().optional(),\n\tlegendDefinitions: z.array(legendDefinitionSchema),\n\toptions: scorecardViewOptionsSchema,\n\torgUnitSelection: organisationUnitSelectionSchema,\n\tperiodSelection: periodSelectionSchema,\n\tdataSelection: z.object({\n\t\tdataGroups: z.array(dataGroupSchema),\n\t}),\n\thighlightedIndicators: z.array(dataSourceSchema),\n\tadditionalLabels: z.array(z.string()).optional(),\n\tsharing: scorecardSharing,\n});\n\nexport type ScorecardConfig = z.infer<typeof scorecardConfig>;\n\nconst scorecardStateSchema = z.object({\n\torgUnitSelection: organisationUnitSelectionSchema,\n\tperiodSelection: periodSelectionSchema,\n\toptions: scorecardViewOptionsSchema,\n\tnested: z.boolean().optional(),\n\thasOnePeriod: z.boolean().optional(),\n});\n\nexport type ScorecardState = z.infer<typeof scorecardStateSchema>;\n\nexport const scorecardAnalyticsData = z.object({\n\tdx: z.string().optional(),\n\tpe: z.string().optional(),\n\tou: z.string().optional(),\n\tvalue: z.string().optional(),\n});\n\nexport type ScorecardAnalyticsData = z.infer<typeof scorecardAnalyticsData>;\n\nexport const scorecardTableData = z.object({\n\tlabel: z.string(),\n\tdataHolder: dataHolderSchema.optional(),\n\torgUnit: z\n\t\t.object({\n\t\t\tuid: z.string(),\n\t\t\tname: z.string(),\n\t\t\thierarchy: z.string(),\n\t\t})\n\t\t.optional(),\n\texpand: z.boolean().optional(),\n});\n\nexport type ScorecardTableData = z.infer<typeof scorecardTableData> & RowData;\n\nexport const scorecardTableCellConfig = z.object({\n\tdataSources: z.array(dataSourceSchema),\n\torgUnit: z.object({\n\t\tuid: z.string(),\n\t\tname: z.string(),\n\t\thierarchy: z.string(),\n\t}),\n\tpreviousPeriod: z.string().optional(),\n\tcurrentPeriod: z.string().optional(),\n});\nexport type ScorecardTableCellConfig = z.infer<typeof scorecardTableCellConfig>;\n\nexport const scorecardTableAverageCellConfig = z.object({\n\tdataHolder: dataHolderSchema.optional(),\n\torgUnit: z\n\t\t.object({\n\t\t\tuid: z.string(),\n\t\t\tname: z.string(),\n\t\t\thierarchy: z.string(),\n\t\t})\n\t\t.optional(),\n});\nexport type ScorecardTableAverageCellConfig = z.infer<\n\ttypeof scorecardTableAverageCellConfig\n>;\n\nexport const scorecardCellDataSchema = dataSourceSchema.extend({\n\tdata: z.object({\n\t\tprevious: z.number().optional(),\n\t\tcurrent: z.number().optional(),\n\t}),\n});\nexport type ScorecardCellData = z.infer<typeof scorecardCellDataSchema>;\n\nexport const scorecardAverageCellDataSchema = dataSourceSchema.extend({\n\tdata: z.object({\n\t\taverage: z.number().optional(),\n\t}),\n});\nexport type ScorecardAverageCellData = z.infer<\n\ttypeof scorecardAverageCellDataSchema\n>;\n\nexport type SanitizedScorecardTableData = z.infer<typeof scorecardTableData>;\n\nexport enum ScorecardTableOrientation {\n\tORG_UNIT_VS_DATA = \"orgUnitsVsData\",\n\tDATA_VS_ORG_UNIT = \"dataVsOrgUnits\",\n}\n\nexport enum ScorecardTableDimension {\n\tGROUP = \"group\",\n\tORG_UNITS = \"orgUnits\",\n\tPERIODS = \"periods\",\n\tDATA = \"data\",\n}\n\nexport enum ScorecardDraggableItems {\n\tou = \"ou\",\n\tdata = \"data\",\n}\n"]}
1
+ {"version":3,"sources":["../../src/schemas/config.ts"],"names":["z","ScorecardTableOrientation","ScorecardTableDimension","ScorecardDraggableItems"],"mappings":"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","file":"config.js","sourcesContent":["import { z } from \"zod\";\nimport type { RowData } from \"@tanstack/react-table\";\n\nexport const supportedDataSources = z.enum([\n\t\"indicator\",\n\t\"programIndicator\",\n\t\"dataSet\",\n\t\"dataElement\",\n\t\"customFunction\",\n\t\"sqlView\",\n]);\n\nexport const scorecardSharing = z.object({\n\towner: z.string(),\n\texternal: z.boolean(),\n\tpublic: z.string(),\n\tusers: z.record(\n\t\tz.string(),\n\t\tz.object({ access: z.string(), id: z.string() }),\n\t),\n\tuserGroups: z.record(\n\t\tz.string(),\n\t\tz.object({ access: z.string(), id: z.string() }),\n\t),\n});\n\nexport type ScorecardSharing = z.infer<typeof scorecardSharing>;\n\nexport type SupportedDataSources = z.infer<typeof supportedDataSources>;\n\nexport const legendDefinitionSchema = z.object({\n\tid: z.string(),\n\tcolor: z.string(),\n\tname: z.string(),\n\tisDefault: z.boolean().optional(),\n});\n\nexport type LegendDefinition = z.infer<typeof legendDefinitionSchema>;\n\nexport const scorecardViewOptionsSchema = z.object({\n\taverageColumn: z.boolean().optional(),\n\taverageDisplayType: z\n\t\t.enum([\"ALL\", \"ABOVE_AVERAGE\", \"BELOW_AVERAGE\"])\n\t\t.optional(),\n\taverageRow: z.boolean().optional(),\n\temptyRows: z.boolean().optional(),\n\thighlightedIndicators: z.boolean().optional(),\n\titemNumber: z.boolean().optional(),\n\tlegend: z.boolean().optional(),\n\tshowHierarchy: z.boolean().optional(),\n\ttitle: z.boolean().optional(),\n\tarrows: z.boolean().optional(),\n\tshowDataInRows: z.boolean().optional(),\n\tdisableExpanding: z.boolean().optional(),\n\tdisablePagination: z.boolean().optional(),\n\tprintMode: z.boolean().optional(),\n\tdisableFurtherAnalysis: z.boolean().optional(),\n});\n\nexport type ScorecardViewOptions = z.infer<typeof scorecardViewOptionsSchema>;\n\nexport const organisationUnitSelectionSchema = z.object({\n\tuserOrgUnit: z.boolean().optional(),\n\tuserSubUnit: z.boolean().optional(),\n\tuserSubX2Unit: z.boolean().optional(),\n\torgUnits: z.array(\n\t\tz.object({\n\t\t\tid: z.string(),\n\t\t}),\n\t),\n\tgroups: z.array(z.string()).optional(),\n\tlevels: z.array(z.string()).optional(),\n});\n\nexport type OrgUnitSelection = z.infer<typeof organisationUnitSelectionSchema>;\n\nexport const periodSelectionSchema = z.object({\n\tperiods: z.array(\n\t\tz.object({\n\t\t\tid: z.string(),\n\t\t}),\n\t),\n\ttype: z.string().optional(),\n});\n\nexport type PeriodSelection = z.infer<typeof periodSelectionSchema>;\n\nexport const legendSchema = z.object({\n\tlegendDefinitionId: z.string(),\n\tid: z.string(),\n\tstartValue: z.union([z.string(), z.number()]),\n\tendValue: z.union([z.string(), z.number()]),\n});\n\nexport type ScorecardLegend = z.infer<typeof legendSchema>;\n\nexport const specificTargetSchema = z.object({\n\ttype: z.enum([\"periods\", \"orgUnit\"]),\n\titems: z.array(z.string()),\n\tlegends: z.array(legendSchema),\n});\n\nexport type SpecificTarget = z.infer<typeof specificTargetSchema>;\n\nexport const orgUnitLevelLegendSchema = z.record(\n\tz.string(),\n\tz.array(legendSchema),\n);\n\nexport type OrgUnitLevelLegend = z.infer<typeof orgUnitLevelLegendSchema>;\n\nexport const dataSourceSchema = z.object({\n\tid: z.string(),\n\tname: z.string(),\n\tlabel: z.string().optional(),\n\ttype: supportedDataSources,\n\tdisplayArrows: z.boolean(),\n\thighIsGood: z.boolean(),\n\teffectiveGap: z.number(),\n\tshowColors: z.boolean(),\n\tweight: z.number(),\n\tlegends: z.union([z.array(legendSchema), orgUnitLevelLegendSchema]),\n\tspecificTargets: z.array(specificTargetSchema).optional(),\n\tspecificTargetsSet: z.boolean().optional(),\n\tdescription: z.string().optional(),\n});\n\nexport type ScorecardDataSource = z.infer<typeof dataSourceSchema>;\n\nexport const dataHolderSchema = z.object({\n\tid: z.union([z.number(), z.string()]),\n\tdataSources: z.array(dataSourceSchema),\n});\n\nexport type ScorecardDataHolder = z.infer<typeof dataHolderSchema>;\n\nexport const dataGroupSchema = z.object({\n\tid: z.union([z.number(), z.string()]),\n\tdataHolders: z.array(dataHolderSchema),\n\tstyle: z.object({}),\n\ttitle: z.string(),\n});\n\nexport type ScorecardDataGroup = z.infer<typeof dataGroupSchema>;\n\nconst sharingObject = z.object({ access: z.string(), id: z.string() });\n\nexport const scorecardConfig = z.object({\n\tid: z.string(),\n\ttitle: z.string(),\n\tsubtitle: z.string().optional(),\n\tcustomHeader: z.string().optional(),\n\tdescription: z.string().optional(),\n\tlegendDefinitions: z.array(legendDefinitionSchema),\n\toptions: scorecardViewOptionsSchema,\n\torgUnitSelection: organisationUnitSelectionSchema,\n\tperiodSelection: periodSelectionSchema,\n\tdataSelection: z.object({\n\t\tdataGroups: z.array(dataGroupSchema),\n\t}),\n\thighlightedIndicators: z.array(dataSourceSchema),\n\tadditionalLabels: z.array(z.string()).optional(),\n\tsharing: scorecardSharing.optional(),\n\t//These are placed as optional and they will be removed in future versions\n\tuser: z\n\t\t.object({\n\t\t\tid: z.string(),\n\t\t})\n\t\t.optional(),\n\tuserAccesses: z.array(sharingObject).optional(),\n\tuserGroupAccesses: z.array(sharingObject).optional(),\n\tpublicAccess: z\n\t\t.object({\n\t\t\taccess: z.string(),\n\t\t\tid: z.string(),\n\t\t})\n\t\t.optional(),\n});\n\nexport type ScorecardConfig = z.infer<typeof scorecardConfig>;\n\nconst scorecardStateSchema = z.object({\n\torgUnitSelection: organisationUnitSelectionSchema,\n\tperiodSelection: periodSelectionSchema,\n\toptions: scorecardViewOptionsSchema,\n\tnested: z.boolean().optional(),\n\thasOnePeriod: z.boolean().optional(),\n});\n\nexport type ScorecardState = z.infer<typeof scorecardStateSchema>;\n\nexport const scorecardAnalyticsData = z.object({\n\tdx: z.string().optional(),\n\tpe: z.string().optional(),\n\tou: z.string().optional(),\n\tvalue: z.string().optional(),\n});\n\nexport type ScorecardAnalyticsData = z.infer<typeof scorecardAnalyticsData>;\n\nexport const scorecardTableData = z.object({\n\tlabel: z.string(),\n\tdataHolder: dataHolderSchema.optional(),\n\torgUnit: z\n\t\t.object({\n\t\t\tuid: z.string(),\n\t\t\tname: z.string(),\n\t\t\thierarchy: z.string(),\n\t\t})\n\t\t.optional(),\n\texpand: z.boolean().optional(),\n});\n\nexport type ScorecardTableData = z.infer<typeof scorecardTableData> & RowData;\n\nexport const scorecardTableCellConfig = z.object({\n\tdataSources: z.array(dataSourceSchema),\n\torgUnit: z.object({\n\t\tuid: z.string(),\n\t\tname: z.string(),\n\t\thierarchy: z.string(),\n\t}),\n\tpreviousPeriod: z.string().optional(),\n\tcurrentPeriod: z.string().optional(),\n});\nexport type ScorecardTableCellConfig = z.infer<typeof scorecardTableCellConfig>;\n\nexport const scorecardTableAverageCellConfig = z.object({\n\tdataHolder: dataHolderSchema.optional(),\n\torgUnit: z\n\t\t.object({\n\t\t\tuid: z.string(),\n\t\t\tname: z.string(),\n\t\t\thierarchy: z.string(),\n\t\t})\n\t\t.optional(),\n});\nexport type ScorecardTableAverageCellConfig = z.infer<\n\ttypeof scorecardTableAverageCellConfig\n>;\n\nexport const scorecardCellDataSchema = dataSourceSchema.extend({\n\tdata: z.object({\n\t\tprevious: z.number().optional(),\n\t\tcurrent: z.number().optional(),\n\t}),\n});\nexport type ScorecardCellData = z.infer<typeof scorecardCellDataSchema>;\n\nexport const scorecardAverageCellDataSchema = dataSourceSchema.extend({\n\tdata: z.object({\n\t\taverage: z.number().optional(),\n\t}),\n});\nexport type ScorecardAverageCellData = z.infer<\n\ttypeof scorecardAverageCellDataSchema\n>;\n\nexport type SanitizedScorecardTableData = z.infer<typeof scorecardTableData>;\n\nexport enum ScorecardTableOrientation {\n\tORG_UNIT_VS_DATA = \"orgUnitsVsData\",\n\tDATA_VS_ORG_UNIT = \"dataVsOrgUnits\",\n}\n\nexport enum ScorecardTableDimension {\n\tGROUP = \"group\",\n\tORG_UNITS = \"orgUnits\",\n\tPERIODS = \"periods\",\n\tDATA = \"data\",\n}\n\nexport enum ScorecardDraggableItems {\n\tou = \"ou\",\n\tdata = \"data\",\n}\n"]}
@@ -120,7 +120,11 @@ export declare function useScorecardConfig(): {
120
120
  style: {};
121
121
  }[];
122
122
  };
123
- sharing: {
123
+ description?: string | undefined;
124
+ subtitle?: string | undefined;
125
+ customHeader?: string | undefined;
126
+ additionalLabels?: string[] | undefined;
127
+ sharing?: {
124
128
  owner: string;
125
129
  external: boolean;
126
130
  public: string;
@@ -132,11 +136,22 @@ export declare function useScorecardConfig(): {
132
136
  access: string;
133
137
  id: string;
134
138
  }>;
135
- };
136
- description?: string | undefined;
137
- subtitle?: string | undefined;
138
- customHeader?: string | undefined;
139
- additionalLabels?: string[] | undefined;
139
+ } | undefined;
140
+ user?: {
141
+ id: string;
142
+ } | undefined;
143
+ userAccesses?: {
144
+ access: string;
145
+ id: string;
146
+ }[] | undefined;
147
+ userGroupAccesses?: {
148
+ access: string;
149
+ id: string;
150
+ }[] | undefined;
151
+ publicAccess?: {
152
+ access: string;
153
+ id: string;
154
+ } | undefined;
140
155
  };
141
156
  export declare const ScorecardConfigProvider: FC<{
142
157
  config: ScorecardConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigProvider.d.ts","sourceRoot":"","sources":["../../../src/components/ConfigProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,EAAE,EAEP,KAAK,SAAS,EAEd,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAKzD,wBAAgB,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUjC;AAED,eAAO,MAAM,uBAAuB,EAAE,EAAE,CAAC;IACxC,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,EAAE,SAAS,CAAC;CACpB,CAMC,CAAC"}
1
+ {"version":3,"file":"ConfigProvider.d.ts","sourceRoot":"","sources":["../../../src/components/ConfigProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,EAAE,EAEP,KAAK,SAAS,EAEd,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAKzD,wBAAgB,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUjC;AAED,eAAO,MAAM,uBAAuB,EAAE,EAAE,CAAC;IACxC,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,EAAE,SAAS,CAAC;CACpB,CAMC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DataValue.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardTable/components/DataValue.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,eAAO,MAAM,SAAS;gBAKT,iBAAiB;YACrB,MAAM;WACP,OAAO;EAmEb,CAAC"}
1
+ {"version":3,"file":"DataValue.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardTable/components/DataValue.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,eAAO,MAAM,SAAS;gBAKT,iBAAiB;YACrB,MAAM;WACP,OAAO;EAyEb,CAAC"}
@@ -1600,7 +1600,7 @@ export declare const scorecardConfig: z.ZodObject<{
1600
1600
  description?: string | undefined;
1601
1601
  }>, "many">;
1602
1602
  additionalLabels: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1603
- sharing: z.ZodObject<{
1603
+ sharing: z.ZodOptional<z.ZodObject<{
1604
1604
  owner: z.ZodString;
1605
1605
  external: z.ZodBoolean;
1606
1606
  public: z.ZodString;
@@ -1648,7 +1648,44 @@ export declare const scorecardConfig: z.ZodObject<{
1648
1648
  access: string;
1649
1649
  id: string;
1650
1650
  }>;
1651
- }>;
1651
+ }>>;
1652
+ user: z.ZodOptional<z.ZodObject<{
1653
+ id: z.ZodString;
1654
+ }, "strip", z.ZodTypeAny, {
1655
+ id: string;
1656
+ }, {
1657
+ id: string;
1658
+ }>>;
1659
+ userAccesses: z.ZodOptional<z.ZodArray<z.ZodObject<{
1660
+ access: z.ZodString;
1661
+ id: z.ZodString;
1662
+ }, "strip", z.ZodTypeAny, {
1663
+ access: string;
1664
+ id: string;
1665
+ }, {
1666
+ access: string;
1667
+ id: string;
1668
+ }>, "many">>;
1669
+ userGroupAccesses: z.ZodOptional<z.ZodArray<z.ZodObject<{
1670
+ access: z.ZodString;
1671
+ id: z.ZodString;
1672
+ }, "strip", z.ZodTypeAny, {
1673
+ access: string;
1674
+ id: string;
1675
+ }, {
1676
+ access: string;
1677
+ id: string;
1678
+ }>, "many">>;
1679
+ publicAccess: z.ZodOptional<z.ZodObject<{
1680
+ access: z.ZodString;
1681
+ id: z.ZodString;
1682
+ }, "strip", z.ZodTypeAny, {
1683
+ access: string;
1684
+ id: string;
1685
+ }, {
1686
+ access: string;
1687
+ id: string;
1688
+ }>>;
1652
1689
  }, "strip", z.ZodTypeAny, {
1653
1690
  options: {
1654
1691
  averageColumn?: boolean | undefined;
@@ -1769,7 +1806,11 @@ export declare const scorecardConfig: z.ZodObject<{
1769
1806
  style: {};
1770
1807
  }[];
1771
1808
  };
1772
- sharing: {
1809
+ description?: string | undefined;
1810
+ subtitle?: string | undefined;
1811
+ customHeader?: string | undefined;
1812
+ additionalLabels?: string[] | undefined;
1813
+ sharing?: {
1773
1814
  owner: string;
1774
1815
  external: boolean;
1775
1816
  public: string;
@@ -1781,11 +1822,22 @@ export declare const scorecardConfig: z.ZodObject<{
1781
1822
  access: string;
1782
1823
  id: string;
1783
1824
  }>;
1784
- };
1785
- description?: string | undefined;
1786
- subtitle?: string | undefined;
1787
- customHeader?: string | undefined;
1788
- additionalLabels?: string[] | undefined;
1825
+ } | undefined;
1826
+ user?: {
1827
+ id: string;
1828
+ } | undefined;
1829
+ userAccesses?: {
1830
+ access: string;
1831
+ id: string;
1832
+ }[] | undefined;
1833
+ userGroupAccesses?: {
1834
+ access: string;
1835
+ id: string;
1836
+ }[] | undefined;
1837
+ publicAccess?: {
1838
+ access: string;
1839
+ id: string;
1840
+ } | undefined;
1789
1841
  }, {
1790
1842
  options: {
1791
1843
  averageColumn?: boolean | undefined;
@@ -1906,7 +1958,11 @@ export declare const scorecardConfig: z.ZodObject<{
1906
1958
  style: {};
1907
1959
  }[];
1908
1960
  };
1909
- sharing: {
1961
+ description?: string | undefined;
1962
+ subtitle?: string | undefined;
1963
+ customHeader?: string | undefined;
1964
+ additionalLabels?: string[] | undefined;
1965
+ sharing?: {
1910
1966
  owner: string;
1911
1967
  external: boolean;
1912
1968
  public: string;
@@ -1918,11 +1974,22 @@ export declare const scorecardConfig: z.ZodObject<{
1918
1974
  access: string;
1919
1975
  id: string;
1920
1976
  }>;
1921
- };
1922
- description?: string | undefined;
1923
- subtitle?: string | undefined;
1924
- customHeader?: string | undefined;
1925
- additionalLabels?: string[] | undefined;
1977
+ } | undefined;
1978
+ user?: {
1979
+ id: string;
1980
+ } | undefined;
1981
+ userAccesses?: {
1982
+ access: string;
1983
+ id: string;
1984
+ }[] | undefined;
1985
+ userGroupAccesses?: {
1986
+ access: string;
1987
+ id: string;
1988
+ }[] | undefined;
1989
+ publicAccess?: {
1990
+ access: string;
1991
+ id: string;
1992
+ } | undefined;
1926
1993
  }>;
1927
1994
  export type ScorecardConfig = z.infer<typeof scorecardConfig>;
1928
1995
  declare const scorecardStateSchema: z.ZodObject<{
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/schemas/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/schemas/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dimensionState.d.ts","sourceRoot":"","sources":["../../../src/utils/dimensionState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAI3E,MAAM,MAAM,cAAc,GAAG;IAC5B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,eAAe,EAAE,eAAe,CAAC;CACjC,CAAC;AACF,MAAM,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,KAAK,IAAI,CAAC;CACvD,CAAC;AACF,MAAM,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,CAAC,eAAe,EAAE,eAAe,KAAK,IAAI,CAAC;CACrD,CAAC;AACF,MAAM,MAAM,oBAAoB,GAAG;IAClC,IAAI,EAAE,KAAK,CAAC;IACZ,QAAQ,EAAE,CAAC,cAAc,EAAE,cAAc,KAAK,IAAI,CAAC;CACnD,CAAC;AACF,MAAM,MAAM,iBAAiB,GAC1B,eAAe,GACf,cAAc,GACd,oBAAoB,CAAC;AAExB,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAC5C,OAAO,0BAA0B,CACjC,CAAC;AAEF,wBAAgB,0BAA0B,CAAC,EAC1C,gBAAgB,EAChB,eAAe,GACf,EAAE,cAAc;;;;;;;;;;;;;;;;;eAIE,iBAAiB,EAAE;0BACd,iBAAiB;6BAQd,iBAAiB;kDAKI,cAAc;2CAkBrB,eAAe;6CAcb,gBAAgB;EAe1D;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,KAAK,IAEjE,OAAO,gBAAgB,GAAG,eAAe,GAAG,cAAc,UAclE;AAED,wBAAgB,uBAAuB;;;;;EAoBtC;AAED,wBAAgB,eAAe,YAG9B;AAED,wBAAgB,wBAAwB;;;;;;;;;EAoBvC"}
1
+ {"version":3,"file":"dimensionState.d.ts","sourceRoot":"","sources":["../../../src/utils/dimensionState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAO3E,MAAM,MAAM,cAAc,GAAG;IAC5B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,eAAe,EAAE,eAAe,CAAC;CACjC,CAAC;AACF,MAAM,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,KAAK,IAAI,CAAC;CACvD,CAAC;AACF,MAAM,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,CAAC,eAAe,EAAE,eAAe,KAAK,IAAI,CAAC;CACrD,CAAC;AACF,MAAM,MAAM,oBAAoB,GAAG;IAClC,IAAI,EAAE,KAAK,CAAC;IACZ,QAAQ,EAAE,CAAC,cAAc,EAAE,cAAc,KAAK,IAAI,CAAC;CACnD,CAAC;AACF,MAAM,MAAM,iBAAiB,GAC1B,eAAe,GACf,cAAc,GACd,oBAAoB,CAAC;AAExB,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAC5C,OAAO,0BAA0B,CACjC,CAAC;AAEF,wBAAgB,0BAA0B,CAAC,EAC1C,gBAAgB,EAChB,eAAe,GACf,EAAE,cAAc;;;;;;;;;;;;;;;;;eAIE,iBAAiB,EAAE;0BACd,iBAAiB;6BAQd,iBAAiB;kDAKI,cAAc;2CAkBrB,eAAe;6CAcb,gBAAgB;EAe1D;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,KAAK,IAEjE,OAAO,gBAAgB,GAAG,eAAe,GAAG,cAAc,UAclE;AAED,wBAAgB,uBAAuB;;;;;EAoBtC;AAED,wBAAgB,eAAe,YAO9B;AAED,wBAAgB,wBAAwB;;;;;;;;;EAoBvC"}
@@ -108,7 +108,11 @@ function usePeriodSelectionValue() {
108
108
  return periodSelection;
109
109
  }
110
110
  function useHasOnePeriod() {
111
+ const scorecardMeta = components.useScorecardMeta();
111
112
  const periodSelection = usePeriodSelectionValue();
113
+ if (scorecardMeta) {
114
+ return scorecardMeta.periods.length === 1;
115
+ }
112
116
  return periodSelection.periods.length === 1;
113
117
  }
114
118
  function useOrgUnitSelectionValue() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/dimensionState.ts"],"names":["orgUnitSelection","periodSelection","useScorecardDimensionStateEngine","useState","useEffect"],"mappings":";;;;;AA6BO,SAAS,0BAA2B,CAAA;AAAA,EAC1C,gBAAA;AAAA,EACA;AACD,CAAmB,EAAA;AAClB,EAAO,OAAA;AAAA,IACN,gBAAA;AAAA,IACA,eAAA;AAAA,IACA,WAAW,EAAC;AAAA,IACZ,YAAY,QAA6B,EAAA;AACxC,MAAK,IAAA,CAAA,SAAA,CAAU,KAAK,QAAQ,CAAA;AAC5B,MAAA,OAAO,MAAM;AACZ,QAAK,IAAA,CAAA,SAAA,GAAY,KAAK,SAAU,CAAA,MAAA;AAAA,UAC/B,CAAC,MAAyB,CAAM,KAAA;AAAA,SACjC;AAAA,OACD;AAAA,KACD;AAAA,IACA,eAAe,QAA6B,EAAA;AAC3C,MAAK,IAAA,CAAA,SAAA,GAAY,KAAK,SAAU,CAAA,MAAA;AAAA,QAC/B,CAAC,MAAyB,CAAM,KAAA;AAAA,OACjC;AAAA,KACD;AAAA,IACA,OAAO,EAAE,gBAAA,EAAAA,iBAAkB,EAAA,eAAA,EAAAC,kBAAmC,EAAA;AAC7D,MAAA,IAAA,CAAK,gBAAmBD,GAAAA,iBAAAA;AACxB,MAAA,IAAA,CAAK,eAAkBC,GAAAA,gBAAAA;AACvB,MAAW,KAAA,MAAA,QAAA,IAAY,KAAK,SAAW,EAAA;AACtC,QAAI,IAAA,QAAA,CAAS,SAAS,SAAW,EAAA;AAChC,UAAA,QAAA,CAAS,SAASD,iBAAgB,CAAA;AAAA;AAEnC,QAAI,IAAA,QAAA,CAAS,SAAS,QAAU,EAAA;AAC/B,UAAA,QAAA,CAAS,SAASC,gBAAe,CAAA;AAAA;AAElC,QAAI,IAAA,QAAA,CAAS,SAAS,KAAO,EAAA;AAC5B,UAAA,QAAA,CAAS,QAAS,CAAA;AAAA,YACjB,gBAAAD,EAAAA,iBAAAA;AAAA,YACA,eAAAC,EAAAA;AAAA,WACA,CAAA;AAAA;AACF;AACD,KACD;AAAA,IACA,sBAAsBA,gBAAkC,EAAA;AACvD,MAAA,IAAA,CAAK,eAAkBA,GAAAA,gBAAAA;AACvB,MAAW,KAAA,MAAA,QAAA,IAAY,KAAK,SAAW,EAAA;AACtC,QAAI,IAAA,QAAA,CAAS,SAAS,QAAU,EAAA;AAC/B,UAAA,QAAA,CAAS,SAASA,gBAAe,CAAA;AAAA;AAElC,QAAI,IAAA,QAAA,CAAS,SAAS,KAAO,EAAA;AAC5B,UAAA,QAAA,CAAS,QAAS,CAAA;AAAA,YACjB,kBAAkB,IAAK,CAAA,gBAAA;AAAA,YACvB,eAAAA,EAAAA;AAAA,WACA,CAAA;AAAA;AACF;AACD,KACD;AAAA,IACA,uBAAuBD,iBAAoC,EAAA;AAC1D,MAAA,IAAA,CAAK,gBAAmBA,GAAAA,iBAAAA;AACxB,MAAW,KAAA,MAAA,QAAA,IAAY,KAAK,SAAW,EAAA;AACtC,QAAI,IAAA,QAAA,CAAS,SAAS,SAAW,EAAA;AAChC,UAAA,QAAA,CAAS,SAASA,iBAAgB,CAAA;AAAA;AAEnC,QAAI,IAAA,QAAA,CAAS,SAAS,KAAO,EAAA;AAC5B,UAAA,QAAA,CAAS,QAAS,CAAA;AAAA,YACjB,gBAAkBA,EAAAA,iBAAAA;AAAA,YAClB,iBAAiB,IAAK,CAAA;AAAA,WACtB,CAAA;AAAA;AACF;AACD;AACD,GACD;AACD;AAEO,SAAS,wBAAwB,IAAoC,EAAA;AAC3E,EAAA,MAAM,kBAAkBE,2CAAiC,EAAA;AACzD,EAAA,OAAO,CAAC,KAA+D,KAAA;AACtE,IAAA,QAAQ,IAAM;AAAA,MACb,KAAK,SAAA;AACJ,QAAgB,eAAA,CAAA,sBAAA;AAAA,UACf;AAAA,SACD;AACA,QAAA;AAAA,MACD,KAAK,QAAA;AACJ,QAAA,eAAA,CAAgB,sBAAsB,KAAwB,CAAA;AAC9D,QAAA;AAAA,MACD,KAAK,KAAA;AACJ,QAAA,eAAA,CAAgB,OAAO,KAAuB,CAAA;AAAA;AAChD,GACD;AACD;AAEO,SAAS,uBAA0B,GAAA;AACzC,EAAA,MAAM,kBAAkBA,2CAAiC,EAAA;AACzD,EAAM,MAAA,CAAC,eAAiB,EAAA,kBAAkB,CAAI,GAAAC,cAAA;AAAA,IAC7C,eAAgB,CAAA;AAAA,GACjB;AAEA,EAAAC,eAAA,CAAU,MAAM;AACf,IAAM,MAAA,WAAA,GAAc,gBAAgB,WAAY,CAAA;AAAA,MAC/C,IAAM,EAAA,QAAA;AAAA,MACN,QAAA,EAAU,CAACH,gBAAoB,KAAA;AAC9B,QAAA,kBAAA,CAAmBA,gBAAe,CAAA;AAAA;AACnC,KACA,CAAA;AAED,IAAA,OAAO,MAAM;AACZ,MAAY,WAAA,EAAA;AAAA,KACb;AAAA,GACD,EAAG,EAAE,CAAA;AAEL,EAAO,OAAA,eAAA;AACR;AAEO,SAAS,eAAkB,GAAA;AACjC,EAAA,MAAM,kBAAkB,uBAAwB,EAAA;AAChD,EAAO,OAAA,eAAA,CAAgB,QAAQ,MAAW,KAAA,CAAA;AAC3C;AAEO,SAAS,wBAA2B,GAAA;AAC1C,EAAA,MAAM,kBAAkBC,2CAAiC,EAAA;AACzD,EAAM,MAAA,CAAC,gBAAkB,EAAA,mBAAmB,CAAI,GAAAC,cAAA;AAAA,IAC/C,eAAgB,CAAA;AAAA,GACjB;AAEA,EAAAC,eAAA,CAAU,MAAM;AACf,IAAM,MAAA,WAAA,GAAc,gBAAgB,WAAY,CAAA;AAAA,MAC/C,IAAM,EAAA,SAAA;AAAA,MACN,QAAA,EAAU,CAAC,eAAoB,KAAA;AAC9B,QAAA,mBAAA,CAAoB,eAAe,CAAA;AAAA;AACpC,KACA,CAAA;AAED,IAAA,OAAO,MAAM;AACZ,MAAY,WAAA,EAAA;AAAA,KACb;AAAA,GACD,EAAG,EAAE,CAAA;AAEL,EAAO,OAAA,gBAAA;AACR","file":"dimensionState.js","sourcesContent":["import type { OrgUnitSelection, PeriodSelection } from \"../schemas/config\";\nimport { useScorecardDimensionStateEngine } from \"../components\";\nimport { useEffect, useState } from \"react\";\n\nexport type DimensionState = {\n\torgUnitSelection: OrgUnitSelection;\n\tperiodSelection: PeriodSelection;\n};\nexport type OrgUnitListener = {\n\ttype: \"orgUnit\";\n\tlistener: (orgUnitSelection: OrgUnitSelection) => void;\n};\nexport type PeriodListener = {\n\ttype: \"period\";\n\tlistener: (periodSelection: PeriodSelection) => void;\n};\nexport type AllDimensionListener = {\n\ttype: \"all\";\n\tlistener: (dimensionState: DimensionState) => void;\n};\nexport type DimensionListener =\n\t| OrgUnitListener\n\t| PeriodListener\n\t| AllDimensionListener;\n\nexport type DimensionStateEngine = ReturnType<\n\ttypeof createDimensionStateEngine\n>;\n\nexport function createDimensionStateEngine({\n\torgUnitSelection,\n\tperiodSelection,\n}: DimensionState) {\n\treturn {\n\t\torgUnitSelection,\n\t\tperiodSelection,\n\t\tlisteners: [] as DimensionListener[],\n\t\taddListener(listener: DimensionListener) {\n\t\t\tthis.listeners.push(listener);\n\t\t\treturn () => {\n\t\t\t\tthis.listeners = this.listeners.filter(\n\t\t\t\t\t(l: DimensionListener) => l !== listener,\n\t\t\t\t);\n\t\t\t};\n\t\t},\n\t\tremoveListener(listener: DimensionListener) {\n\t\t\tthis.listeners = this.listeners.filter(\n\t\t\t\t(l: DimensionListener) => l !== listener,\n\t\t\t);\n\t\t},\n\t\tupdate({ orgUnitSelection, periodSelection }: DimensionState) {\n\t\t\tthis.orgUnitSelection = orgUnitSelection;\n\t\t\tthis.periodSelection = periodSelection;\n\t\t\tfor (const listener of this.listeners) {\n\t\t\t\tif (listener.type === \"orgUnit\") {\n\t\t\t\t\tlistener.listener(orgUnitSelection);\n\t\t\t\t}\n\t\t\t\tif (listener.type === \"period\") {\n\t\t\t\t\tlistener.listener(periodSelection);\n\t\t\t\t}\n\t\t\t\tif (listener.type === \"all\") {\n\t\t\t\t\tlistener.listener({\n\t\t\t\t\t\torgUnitSelection,\n\t\t\t\t\t\tperiodSelection,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tupdatePeriodSelection(periodSelection: PeriodSelection) {\n\t\t\tthis.periodSelection = periodSelection;\n\t\t\tfor (const listener of this.listeners) {\n\t\t\t\tif (listener.type === \"period\") {\n\t\t\t\t\tlistener.listener(periodSelection);\n\t\t\t\t}\n\t\t\t\tif (listener.type === \"all\") {\n\t\t\t\t\tlistener.listener({\n\t\t\t\t\t\torgUnitSelection: this.orgUnitSelection,\n\t\t\t\t\t\tperiodSelection,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tupdateOrgUnitSelection(orgUnitSelection: OrgUnitSelection) {\n\t\t\tthis.orgUnitSelection = orgUnitSelection;\n\t\t\tfor (const listener of this.listeners) {\n\t\t\t\tif (listener.type === \"orgUnit\") {\n\t\t\t\t\tlistener.listener(orgUnitSelection);\n\t\t\t\t}\n\t\t\t\tif (listener.type === \"all\") {\n\t\t\t\t\tlistener.listener({\n\t\t\t\t\t\torgUnitSelection: orgUnitSelection,\n\t\t\t\t\t\tperiodSelection: this.periodSelection,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t};\n}\n\nexport function useUpdateDimensionState(type: \"orgUnit\" | \"period\" | \"all\") {\n\tconst dimensionEngine = useScorecardDimensionStateEngine();\n\treturn (value: OrgUnitSelection | PeriodSelection | DimensionState) => {\n\t\tswitch (type) {\n\t\t\tcase \"orgUnit\":\n\t\t\t\tdimensionEngine.updateOrgUnitSelection(\n\t\t\t\t\tvalue as OrgUnitSelection,\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase \"period\":\n\t\t\t\tdimensionEngine.updatePeriodSelection(value as PeriodSelection);\n\t\t\t\tbreak;\n\t\t\tcase \"all\":\n\t\t\t\tdimensionEngine.update(value as DimensionState);\n\t\t}\n\t};\n}\n\nexport function usePeriodSelectionValue() {\n\tconst dimensionEngine = useScorecardDimensionStateEngine();\n\tconst [periodSelection, setPeriodSelection] = useState<PeriodSelection>(\n\t\tdimensionEngine.periodSelection,\n\t);\n\n\tuseEffect(() => {\n\t\tconst unsubscribe = dimensionEngine.addListener({\n\t\t\ttype: \"period\",\n\t\t\tlistener: (periodSelection) => {\n\t\t\t\tsetPeriodSelection(periodSelection);\n\t\t\t},\n\t\t});\n\n\t\treturn () => {\n\t\t\tunsubscribe();\n\t\t};\n\t}, []);\n\n\treturn periodSelection;\n}\n\nexport function useHasOnePeriod() {\n\tconst periodSelection = usePeriodSelectionValue();\n\treturn periodSelection.periods.length === 1;\n}\n\nexport function useOrgUnitSelectionValue() {\n\tconst dimensionEngine = useScorecardDimensionStateEngine();\n\tconst [orgUnitSelection, setOrgUnitSelection] = useState<OrgUnitSelection>(\n\t\tdimensionEngine.orgUnitSelection,\n\t);\n\n\tuseEffect(() => {\n\t\tconst unsubscribe = dimensionEngine.addListener({\n\t\t\ttype: \"orgUnit\",\n\t\t\tlistener: (periodSelection) => {\n\t\t\t\tsetOrgUnitSelection(periodSelection);\n\t\t\t},\n\t\t});\n\n\t\treturn () => {\n\t\t\tunsubscribe();\n\t\t};\n\t}, []);\n\n\treturn orgUnitSelection;\n}\n"]}
1
+ {"version":3,"sources":["../../src/utils/dimensionState.ts"],"names":["orgUnitSelection","periodSelection","useScorecardDimensionStateEngine","useState","useEffect","useScorecardMeta"],"mappings":"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","file":"dimensionState.js","sourcesContent":["import type { OrgUnitSelection, PeriodSelection } from \"../schemas/config\";\nimport {\n\tuseScorecardDimensionStateEngine,\n\tuseScorecardMeta,\n} from \"../components\";\nimport { useEffect, useState } from \"react\";\n\nexport type DimensionState = {\n\torgUnitSelection: OrgUnitSelection;\n\tperiodSelection: PeriodSelection;\n};\nexport type OrgUnitListener = {\n\ttype: \"orgUnit\";\n\tlistener: (orgUnitSelection: OrgUnitSelection) => void;\n};\nexport type PeriodListener = {\n\ttype: \"period\";\n\tlistener: (periodSelection: PeriodSelection) => void;\n};\nexport type AllDimensionListener = {\n\ttype: \"all\";\n\tlistener: (dimensionState: DimensionState) => void;\n};\nexport type DimensionListener =\n\t| OrgUnitListener\n\t| PeriodListener\n\t| AllDimensionListener;\n\nexport type DimensionStateEngine = ReturnType<\n\ttypeof createDimensionStateEngine\n>;\n\nexport function createDimensionStateEngine({\n\torgUnitSelection,\n\tperiodSelection,\n}: DimensionState) {\n\treturn {\n\t\torgUnitSelection,\n\t\tperiodSelection,\n\t\tlisteners: [] as DimensionListener[],\n\t\taddListener(listener: DimensionListener) {\n\t\t\tthis.listeners.push(listener);\n\t\t\treturn () => {\n\t\t\t\tthis.listeners = this.listeners.filter(\n\t\t\t\t\t(l: DimensionListener) => l !== listener,\n\t\t\t\t);\n\t\t\t};\n\t\t},\n\t\tremoveListener(listener: DimensionListener) {\n\t\t\tthis.listeners = this.listeners.filter(\n\t\t\t\t(l: DimensionListener) => l !== listener,\n\t\t\t);\n\t\t},\n\t\tupdate({ orgUnitSelection, periodSelection }: DimensionState) {\n\t\t\tthis.orgUnitSelection = orgUnitSelection;\n\t\t\tthis.periodSelection = periodSelection;\n\t\t\tfor (const listener of this.listeners) {\n\t\t\t\tif (listener.type === \"orgUnit\") {\n\t\t\t\t\tlistener.listener(orgUnitSelection);\n\t\t\t\t}\n\t\t\t\tif (listener.type === \"period\") {\n\t\t\t\t\tlistener.listener(periodSelection);\n\t\t\t\t}\n\t\t\t\tif (listener.type === \"all\") {\n\t\t\t\t\tlistener.listener({\n\t\t\t\t\t\torgUnitSelection,\n\t\t\t\t\t\tperiodSelection,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tupdatePeriodSelection(periodSelection: PeriodSelection) {\n\t\t\tthis.periodSelection = periodSelection;\n\t\t\tfor (const listener of this.listeners) {\n\t\t\t\tif (listener.type === \"period\") {\n\t\t\t\t\tlistener.listener(periodSelection);\n\t\t\t\t}\n\t\t\t\tif (listener.type === \"all\") {\n\t\t\t\t\tlistener.listener({\n\t\t\t\t\t\torgUnitSelection: this.orgUnitSelection,\n\t\t\t\t\t\tperiodSelection,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tupdateOrgUnitSelection(orgUnitSelection: OrgUnitSelection) {\n\t\t\tthis.orgUnitSelection = orgUnitSelection;\n\t\t\tfor (const listener of this.listeners) {\n\t\t\t\tif (listener.type === \"orgUnit\") {\n\t\t\t\t\tlistener.listener(orgUnitSelection);\n\t\t\t\t}\n\t\t\t\tif (listener.type === \"all\") {\n\t\t\t\t\tlistener.listener({\n\t\t\t\t\t\torgUnitSelection: orgUnitSelection,\n\t\t\t\t\t\tperiodSelection: this.periodSelection,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t};\n}\n\nexport function useUpdateDimensionState(type: \"orgUnit\" | \"period\" | \"all\") {\n\tconst dimensionEngine = useScorecardDimensionStateEngine();\n\treturn (value: OrgUnitSelection | PeriodSelection | DimensionState) => {\n\t\tswitch (type) {\n\t\t\tcase \"orgUnit\":\n\t\t\t\tdimensionEngine.updateOrgUnitSelection(\n\t\t\t\t\tvalue as OrgUnitSelection,\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase \"period\":\n\t\t\t\tdimensionEngine.updatePeriodSelection(value as PeriodSelection);\n\t\t\t\tbreak;\n\t\t\tcase \"all\":\n\t\t\t\tdimensionEngine.update(value as DimensionState);\n\t\t}\n\t};\n}\n\nexport function usePeriodSelectionValue() {\n\tconst dimensionEngine = useScorecardDimensionStateEngine();\n\tconst [periodSelection, setPeriodSelection] = useState<PeriodSelection>(\n\t\tdimensionEngine.periodSelection,\n\t);\n\n\tuseEffect(() => {\n\t\tconst unsubscribe = dimensionEngine.addListener({\n\t\t\ttype: \"period\",\n\t\t\tlistener: (periodSelection) => {\n\t\t\t\tsetPeriodSelection(periodSelection);\n\t\t\t},\n\t\t});\n\n\t\treturn () => {\n\t\t\tunsubscribe();\n\t\t};\n\t}, []);\n\n\treturn periodSelection;\n}\n\nexport function useHasOnePeriod() {\n\tconst scorecardMeta = useScorecardMeta();\n\tconst periodSelection = usePeriodSelectionValue();\n\tif (scorecardMeta) {\n\t\treturn scorecardMeta.periods.length === 1;\n\t}\n\treturn periodSelection.periods.length === 1;\n}\n\nexport function useOrgUnitSelectionValue() {\n\tconst dimensionEngine = useScorecardDimensionStateEngine();\n\tconst [orgUnitSelection, setOrgUnitSelection] = useState<OrgUnitSelection>(\n\t\tdimensionEngine.orgUnitSelection,\n\t);\n\n\tuseEffect(() => {\n\t\tconst unsubscribe = dimensionEngine.addListener({\n\t\t\ttype: \"orgUnit\",\n\t\t\tlistener: (periodSelection) => {\n\t\t\t\tsetOrgUnitSelection(periodSelection);\n\t\t\t},\n\t\t});\n\n\t\treturn () => {\n\t\t\tunsubscribe();\n\t\t};\n\t}, []);\n\n\treturn orgUnitSelection;\n}\n"]}