@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.
- package/dist/components/ScorecardTable/components/AverageCell.js +2 -2
- package/dist/components/ScorecardTable/components/AverageCell.js.map +1 -1
- package/dist/components/ScorecardTable/components/DataValue.js +3 -3
- package/dist/components/ScorecardTable/components/DataValue.js.map +1 -1
- package/dist/components/ScorecardTable/components/PaginatedToolbar.js +1 -1
- package/dist/components/ScorecardTable/components/PaginatedToolbar.js.map +1 -1
- package/dist/components/ScorecardTable/components/SingleDataCell.js +1 -1
- package/dist/components/ScorecardTable/components/SingleDataCell.js.map +1 -1
- package/dist/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js +2 -2
- package/dist/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js.map +1 -1
- package/dist/components/ScorecardTable/components/TableHeader/components/LabelCell.js +5 -5
- package/dist/components/ScorecardTable/components/TableHeader/components/LabelCell.js.map +1 -1
- package/dist/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js +3 -4
- package/dist/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js.map +1 -1
- package/dist/esm/components/ScorecardTable/components/AverageCell.js +1 -1
- package/dist/esm/components/ScorecardTable/components/AverageCell.js.map +1 -1
- package/dist/esm/components/ScorecardTable/components/DataValue.js +2 -2
- package/dist/esm/components/ScorecardTable/components/DataValue.js.map +1 -1
- package/dist/esm/components/ScorecardTable/components/PaginatedToolbar.js +1 -1
- package/dist/esm/components/ScorecardTable/components/PaginatedToolbar.js.map +1 -1
- package/dist/esm/components/ScorecardTable/components/SingleDataCell.js +1 -1
- package/dist/esm/components/ScorecardTable/components/SingleDataCell.js.map +1 -1
- package/dist/esm/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js +1 -1
- package/dist/esm/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js.map +1 -1
- package/dist/esm/components/ScorecardTable/components/TableHeader/components/LabelCell.js +2 -2
- package/dist/esm/components/ScorecardTable/components/TableHeader/components/LabelCell.js.map +1 -1
- package/dist/esm/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js +1 -2
- package/dist/esm/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js.map +1 -1
- package/dist/esm/schemas/config.js +12 -1
- package/dist/esm/schemas/config.js.map +1 -1
- package/dist/esm/utils/dimensionState.js +5 -1
- package/dist/esm/utils/dimensionState.js.map +1 -1
- package/dist/schemas/config.js +12 -1
- package/dist/schemas/config.js.map +1 -1
- package/dist/types/components/ConfigProvider.d.ts +21 -6
- package/dist/types/components/ConfigProvider.d.ts.map +1 -1
- package/dist/types/components/ScorecardTable/components/DataValue.d.ts.map +1 -1
- package/dist/types/schemas/config.d.ts +81 -14
- package/dist/types/schemas/config.d.ts.map +1 -1
- package/dist/types/utils/dimensionState.d.ts.map +1 -1
- package/dist/utils/dimensionState.js +4 -0
- package/dist/utils/dimensionState.js.map +1 -1
- package/package.json +6 -5
package/dist/esm/components/ScorecardTable/components/TableHeader/components/LabelCell.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/components/ScorecardTable/components/TableHeader/components/LabelCell.tsx"],"names":[],"mappings":";;;;;;;;;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,
|
|
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"]}
|
package/dist/esm/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js
CHANGED
|
@@ -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
|
|
9
|
-
import { useHasOnePeriod } from '../../../../../utils/dimensionState';
|
|
8
|
+
import { useHasOnePeriod, useScorecardViewStateValue } from '../../../../../utils';
|
|
10
9
|
|
|
11
10
|
function MetaHeaderCellComponent({
|
|
12
11
|
header
|
package/dist/esm/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.tsx"],"names":["header"],"mappings":"
|
|
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":"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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":["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":";;;
|
|
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"]}
|
package/dist/schemas/config.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
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
|
|
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;
|
|
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
|
-
|
|
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
|
-
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
|
|
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
|
-
|
|
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
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
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;
|
|
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":";;;;;
|
|
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"]}
|