@hisptz/dhis2-scorecard 1.2.23 → 1.2.25

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 (190) hide show
  1. package/dist/Scorecard.js.map +1 -1
  2. package/dist/components/ColGroup.js.map +1 -1
  3. package/dist/components/ConfigProvider.js.map +1 -1
  4. package/dist/components/DataProvider.js.map +1 -1
  5. package/dist/components/HighlightedItems/components/HighlightedItem.js +66 -0
  6. package/dist/components/HighlightedItems/components/HighlightedItem.js.map +1 -0
  7. package/dist/components/HighlightedItems/hooks/data.js +51 -0
  8. package/dist/components/HighlightedItems/hooks/data.js.map +1 -0
  9. package/dist/components/HighlightedItems/index.js +35 -0
  10. package/dist/components/HighlightedItems/index.js.map +1 -0
  11. package/dist/components/LoadingIndicator.js.map +1 -1
  12. package/dist/components/MetaProvider.js.map +1 -1
  13. package/dist/components/ScorecardContext.js.map +1 -1
  14. package/dist/components/ScorecardHeader.js.map +1 -1
  15. package/dist/components/ScorecardLegendsView/ScorecardLegendsView.js.map +1 -1
  16. package/dist/components/ScorecardLegendsView/components/ArrowLegendView.js.map +1 -1
  17. package/dist/components/ScorecardLegendsView/components/LegendView.js +33 -17
  18. package/dist/components/ScorecardLegendsView/components/LegendView.js.map +1 -1
  19. package/dist/components/ScorecardLegendsView/components/OrgUnitLevelSpecificTargetView.js +55 -21
  20. package/dist/components/ScorecardLegendsView/components/OrgUnitLevelSpecificTargetView.js.map +1 -1
  21. package/dist/components/ScorecardLegendsView/components/OrgUnitSpecificTargetView.js +7 -2
  22. package/dist/components/ScorecardLegendsView/components/OrgUnitSpecificTargetView.js.map +1 -1
  23. package/dist/components/ScorecardLegendsView/components/PeriodSpecificTargetView.js +32 -19
  24. package/dist/components/ScorecardLegendsView/components/PeriodSpecificTargetView.js.map +1 -1
  25. package/dist/components/ScorecardLegendsView/components/SpecificTargetLegendsView.js +63 -47
  26. package/dist/components/ScorecardLegendsView/components/SpecificTargetLegendsView.js.map +1 -1
  27. package/dist/components/ScorecardPrint/ScorecardPrint.js.map +1 -1
  28. package/dist/components/ScorecardPrint/components/ScorecardDownloadButton.js.map +1 -1
  29. package/dist/components/ScorecardPrint/components/ScorecardPreviewArea.js.map +1 -1
  30. package/dist/components/ScorecardPrint/utils/download.js.map +1 -1
  31. package/dist/components/ScorecardTable/FurtherAnalysisDictionary/FurtherAnalysisDictionary.js.map +1 -1
  32. package/dist/components/ScorecardTable/FurtherAnalysisDictionary/components/ConfigProvider.js.map +1 -1
  33. package/dist/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.js.map +1 -1
  34. package/dist/components/ScorecardTable/FurtherAnalysisVisualization.js.map +1 -1
  35. package/dist/components/ScorecardTable/ScorecardTable.js.map +1 -1
  36. package/dist/components/ScorecardTable/components/AverageCell.js.map +1 -1
  37. package/dist/components/ScorecardTable/components/AverageFooterCell.js.map +1 -1
  38. package/dist/components/ScorecardTable/components/CellLoader.js.map +1 -1
  39. package/dist/components/ScorecardTable/components/DataContainer.js.map +1 -1
  40. package/dist/components/ScorecardTable/components/DataFooterCell.js.map +1 -1
  41. package/dist/components/ScorecardTable/components/DataRow.js.map +1 -1
  42. package/dist/components/ScorecardTable/components/DataValue.js.map +1 -1
  43. package/dist/components/ScorecardTable/components/DraggableCell.js.map +1 -1
  44. package/dist/components/ScorecardTable/components/DroppableCell.js.map +1 -1
  45. package/dist/components/ScorecardTable/components/EmptyFooterCell.js.map +1 -1
  46. package/dist/components/ScorecardTable/components/ExpandedScorecardTable.js.map +1 -1
  47. package/dist/components/ScorecardTable/components/FurtherAnalysisMenu.js.map +1 -1
  48. package/dist/components/ScorecardTable/components/FurtherAnalysisModal.js.map +1 -1
  49. package/dist/components/ScorecardTable/components/LinkedCell.js.map +1 -1
  50. package/dist/components/ScorecardTable/components/LinkedDataCell.js.map +1 -1
  51. package/dist/components/ScorecardTable/components/MetaFooterCell.js.map +1 -1
  52. package/dist/components/ScorecardTable/components/PaginatedToolbar.js +1 -2
  53. package/dist/components/ScorecardTable/components/PaginatedToolbar.js.map +1 -1
  54. package/dist/components/ScorecardTable/components/SingleDataCell.js.map +1 -1
  55. package/dist/components/ScorecardTable/components/TableBody.js.map +1 -1
  56. package/dist/components/ScorecardTable/components/TableFoot.js.map +1 -1
  57. package/dist/components/ScorecardTable/components/TableHeader/TableHeader.js.map +1 -1
  58. package/dist/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js.map +1 -1
  59. package/dist/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js.map +1 -1
  60. package/dist/components/ScorecardTable/components/TableHeader/components/ExpandCell.js.map +1 -1
  61. package/dist/components/ScorecardTable/components/TableHeader/components/FilterArea.js.map +1 -1
  62. package/dist/components/ScorecardTable/components/TableHeader/components/LabelCell.js.map +1 -1
  63. package/dist/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js.map +1 -1
  64. package/dist/components/ScorecardTable/components/TableHeader/components/NumberCell.js.map +1 -1
  65. package/dist/components/StateProvider.js.map +1 -1
  66. package/dist/components/TableStateProvider.js.map +1 -1
  67. package/dist/components/index.js +7 -0
  68. package/dist/esm/Scorecard.js.map +1 -1
  69. package/dist/esm/components/ColGroup.js.map +1 -1
  70. package/dist/esm/components/ConfigProvider.js.map +1 -1
  71. package/dist/esm/components/DataProvider.js.map +1 -1
  72. package/dist/esm/components/HighlightedItems/components/HighlightedItem.js +64 -0
  73. package/dist/esm/components/HighlightedItems/components/HighlightedItem.js.map +1 -0
  74. package/dist/esm/components/HighlightedItems/hooks/data.js +49 -0
  75. package/dist/esm/components/HighlightedItems/hooks/data.js.map +1 -0
  76. package/dist/esm/components/HighlightedItems/index.js +33 -0
  77. package/dist/esm/components/HighlightedItems/index.js.map +1 -0
  78. package/dist/esm/components/LoadingIndicator.js.map +1 -1
  79. package/dist/esm/components/MetaProvider.js.map +1 -1
  80. package/dist/esm/components/ScorecardContext.js.map +1 -1
  81. package/dist/esm/components/ScorecardHeader.js.map +1 -1
  82. package/dist/esm/components/ScorecardLegendsView/ScorecardLegendsView.js.map +1 -1
  83. package/dist/esm/components/ScorecardLegendsView/components/ArrowLegendView.js.map +1 -1
  84. package/dist/esm/components/ScorecardLegendsView/components/LegendView.js +33 -17
  85. package/dist/esm/components/ScorecardLegendsView/components/LegendView.js.map +1 -1
  86. package/dist/esm/components/ScorecardLegendsView/components/OrgUnitLevelSpecificTargetView.js +55 -21
  87. package/dist/esm/components/ScorecardLegendsView/components/OrgUnitLevelSpecificTargetView.js.map +1 -1
  88. package/dist/esm/components/ScorecardLegendsView/components/OrgUnitSpecificTargetView.js +7 -2
  89. package/dist/esm/components/ScorecardLegendsView/components/OrgUnitSpecificTargetView.js.map +1 -1
  90. package/dist/esm/components/ScorecardLegendsView/components/PeriodSpecificTargetView.js +32 -19
  91. package/dist/esm/components/ScorecardLegendsView/components/PeriodSpecificTargetView.js.map +1 -1
  92. package/dist/esm/components/ScorecardLegendsView/components/SpecificTargetLegendsView.js +65 -49
  93. package/dist/esm/components/ScorecardLegendsView/components/SpecificTargetLegendsView.js.map +1 -1
  94. package/dist/esm/components/ScorecardPrint/ScorecardPrint.js.map +1 -1
  95. package/dist/esm/components/ScorecardPrint/components/ScorecardDownloadButton.js.map +1 -1
  96. package/dist/esm/components/ScorecardPrint/components/ScorecardPreviewArea.js.map +1 -1
  97. package/dist/esm/components/ScorecardPrint/utils/download.js.map +1 -1
  98. package/dist/esm/components/ScorecardTable/FurtherAnalysisDictionary/FurtherAnalysisDictionary.js.map +1 -1
  99. package/dist/esm/components/ScorecardTable/FurtherAnalysisDictionary/components/ConfigProvider.js.map +1 -1
  100. package/dist/esm/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.js.map +1 -1
  101. package/dist/esm/components/ScorecardTable/FurtherAnalysisVisualization.js.map +1 -1
  102. package/dist/esm/components/ScorecardTable/ScorecardTable.js.map +1 -1
  103. package/dist/esm/components/ScorecardTable/components/AverageCell.js.map +1 -1
  104. package/dist/esm/components/ScorecardTable/components/AverageFooterCell.js.map +1 -1
  105. package/dist/esm/components/ScorecardTable/components/CellLoader.js.map +1 -1
  106. package/dist/esm/components/ScorecardTable/components/DataContainer.js.map +1 -1
  107. package/dist/esm/components/ScorecardTable/components/DataFooterCell.js.map +1 -1
  108. package/dist/esm/components/ScorecardTable/components/DataRow.js.map +1 -1
  109. package/dist/esm/components/ScorecardTable/components/DataValue.js.map +1 -1
  110. package/dist/esm/components/ScorecardTable/components/DraggableCell.js.map +1 -1
  111. package/dist/esm/components/ScorecardTable/components/DroppableCell.js.map +1 -1
  112. package/dist/esm/components/ScorecardTable/components/EmptyFooterCell.js.map +1 -1
  113. package/dist/esm/components/ScorecardTable/components/ExpandedScorecardTable.js.map +1 -1
  114. package/dist/esm/components/ScorecardTable/components/FurtherAnalysisMenu.js.map +1 -1
  115. package/dist/esm/components/ScorecardTable/components/FurtherAnalysisModal.js.map +1 -1
  116. package/dist/esm/components/ScorecardTable/components/LinkedCell.js.map +1 -1
  117. package/dist/esm/components/ScorecardTable/components/LinkedDataCell.js.map +1 -1
  118. package/dist/esm/components/ScorecardTable/components/MetaFooterCell.js.map +1 -1
  119. package/dist/esm/components/ScorecardTable/components/PaginatedToolbar.js +2 -3
  120. package/dist/esm/components/ScorecardTable/components/PaginatedToolbar.js.map +1 -1
  121. package/dist/esm/components/ScorecardTable/components/SingleDataCell.js.map +1 -1
  122. package/dist/esm/components/ScorecardTable/components/TableBody.js.map +1 -1
  123. package/dist/esm/components/ScorecardTable/components/TableFoot.js.map +1 -1
  124. package/dist/esm/components/ScorecardTable/components/TableHeader/TableHeader.js.map +1 -1
  125. package/dist/esm/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js.map +1 -1
  126. package/dist/esm/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js.map +1 -1
  127. package/dist/esm/components/ScorecardTable/components/TableHeader/components/ExpandCell.js.map +1 -1
  128. package/dist/esm/components/ScorecardTable/components/TableHeader/components/FilterArea.js.map +1 -1
  129. package/dist/esm/components/ScorecardTable/components/TableHeader/components/LabelCell.js.map +1 -1
  130. package/dist/esm/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js.map +1 -1
  131. package/dist/esm/components/ScorecardTable/components/TableHeader/components/NumberCell.js.map +1 -1
  132. package/dist/esm/components/StateProvider.js.map +1 -1
  133. package/dist/esm/components/TableStateProvider.js.map +1 -1
  134. package/dist/esm/components/index.js +1 -0
  135. package/dist/esm/hooks/cellData.js.map +1 -1
  136. package/dist/esm/hooks/columns.js.map +1 -1
  137. package/dist/esm/hooks/data.js.map +1 -1
  138. package/dist/esm/hooks/dataItem.js.map +1 -1
  139. package/dist/esm/hooks/metadata.js.map +1 -1
  140. package/dist/esm/hooks/orgUnit.js +3 -4
  141. package/dist/esm/hooks/orgUnit.js.map +1 -1
  142. package/dist/esm/hooks/table.js.map +1 -1
  143. package/dist/esm/hooks/value.js.map +1 -1
  144. package/dist/esm/schemas/config.js.map +1 -1
  145. package/dist/esm/utils/analytics.js.map +1 -1
  146. package/dist/esm/utils/columns.js.map +1 -1
  147. package/dist/esm/utils/data.js.map +1 -1
  148. package/dist/esm/utils/dataEngine.js.map +1 -1
  149. package/dist/esm/utils/dataSources.js.map +1 -1
  150. package/dist/esm/utils/dimensionState.js.map +1 -1
  151. package/dist/esm/utils/legends.js.map +1 -1
  152. package/dist/esm/utils/orgUnits.js.map +1 -1
  153. package/dist/esm/utils/state.js.map +1 -1
  154. package/dist/esm/utils/viewState.js.map +1 -1
  155. package/dist/hooks/cellData.js.map +1 -1
  156. package/dist/hooks/columns.js.map +1 -1
  157. package/dist/hooks/data.js.map +1 -1
  158. package/dist/hooks/dataItem.js.map +1 -1
  159. package/dist/hooks/metadata.js.map +1 -1
  160. package/dist/hooks/orgUnit.js +3 -4
  161. package/dist/hooks/orgUnit.js.map +1 -1
  162. package/dist/hooks/table.js.map +1 -1
  163. package/dist/hooks/value.js.map +1 -1
  164. package/dist/schemas/config.js.map +1 -1
  165. package/dist/types/components/HighlightedItems/components/HighlightedItem.d.ts +6 -0
  166. package/dist/types/components/HighlightedItems/components/HighlightedItem.d.ts.map +1 -0
  167. package/dist/types/components/HighlightedItems/hooks/data.d.ts +7 -0
  168. package/dist/types/components/HighlightedItems/hooks/data.d.ts.map +1 -0
  169. package/dist/types/components/HighlightedItems/index.d.ts +2 -0
  170. package/dist/types/components/HighlightedItems/index.d.ts.map +1 -0
  171. package/dist/types/components/ScorecardLegendsView/components/LegendView.d.ts.map +1 -1
  172. package/dist/types/components/ScorecardLegendsView/components/OrgUnitLevelSpecificTargetView.d.ts.map +1 -1
  173. package/dist/types/components/ScorecardLegendsView/components/OrgUnitSpecificTargetView.d.ts.map +1 -1
  174. package/dist/types/components/ScorecardLegendsView/components/PeriodSpecificTargetView.d.ts.map +1 -1
  175. package/dist/types/components/ScorecardLegendsView/components/SpecificTargetLegendsView.d.ts.map +1 -1
  176. package/dist/types/components/ScorecardTable/components/PaginatedToolbar.d.ts.map +1 -1
  177. package/dist/types/components/index.d.ts +1 -0
  178. package/dist/types/components/index.d.ts.map +1 -1
  179. package/dist/types/hooks/orgUnit.d.ts.map +1 -1
  180. package/dist/utils/analytics.js.map +1 -1
  181. package/dist/utils/columns.js.map +1 -1
  182. package/dist/utils/data.js.map +1 -1
  183. package/dist/utils/dataEngine.js.map +1 -1
  184. package/dist/utils/dataSources.js.map +1 -1
  185. package/dist/utils/dimensionState.js.map +1 -1
  186. package/dist/utils/legends.js.map +1 -1
  187. package/dist/utils/orgUnits.js.map +1 -1
  188. package/dist/utils/state.js.map +1 -1
  189. package/dist/utils/viewState.js.map +1 -1
  190. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/viewState.ts"],"names":["set","useScorecardViewStateEngine","useState","get","useEffect","value"],"mappings":"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","file":"viewState.js","sourcesContent":["import type { ScorecardViewOptions } from \"../schemas/config\";\nimport { get, set } from \"lodash\";\nimport { useScorecardViewStateEngine } from \"../components\";\nimport { useEffect, useState } from \"react\";\n\nexport type ViewOptionListener = {\n\tkey: keyof ScorecardViewOptions;\n\tlistener: (\n\t\tvalue?: ScorecardViewOptions[keyof ScorecardViewOptions],\n\t) => void;\n};\n\nexport type ScorecardViewStateEngine = ReturnType<\n\ttypeof createScorecardViewStateEngine\n>;\n\nexport function createScorecardViewStateEngine(\n\tdefaultOptions: ScorecardViewOptions,\n) {\n\treturn {\n\t\toptions: defaultOptions as ScorecardViewOptions,\n\t\tlisteners: [] as ViewOptionListener[],\n\t\toptionsListeners: [] as Array<(options: ScorecardViewOptions) => void>,\n\t\tupdateOption(\n\t\t\tkey: keyof ScorecardViewOptions,\n\t\t\tvalue: ScorecardViewOptions[keyof ScorecardViewOptions],\n\t\t) {\n\t\t\tset(this.options, key, value);\n\t\t\tconst listeners: ViewOptionListener[] = this.listeners.filter(\n\t\t\t\t(listener: ViewOptionListener) => listener.key === key,\n\t\t\t);\n\t\t\tfor (const listener of listeners) {\n\t\t\t\tlistener.listener(value);\n\t\t\t}\n\t\t\tfor (const listener of this.optionsListeners) {\n\t\t\t\tlistener(this.options);\n\t\t\t}\n\t\t},\n\t\tupdateOptions(options: ScorecardViewOptions) {\n\t\t\tthis.options = {\n\t\t\t\t...this.options,\n\t\t\t\t...options,\n\t\t\t};\n\t\t\tfor (const listener of this.listeners) {\n\t\t\t\tlistener.listener(options[listener.key]);\n\t\t\t}\n\t\t\tfor (const listener of this.optionsListeners) {\n\t\t\t\tlistener(this.options);\n\t\t\t}\n\t\t},\n\t\taddOptionListener(listener: (options: ScorecardViewOptions) => void) {\n\t\t\tthis.optionsListeners.push(listener);\n\n\t\t\treturn () => {\n\t\t\t\tthis.optionsListeners = this.optionsListeners.filter(\n\t\t\t\t\t(l: (options: ScorecardViewOptions) => void) =>\n\t\t\t\t\t\tl !== listener,\n\t\t\t\t);\n\t\t\t};\n\t\t},\n\t\taddListener(listener: ViewOptionListener) {\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: ViewOptionListener) => l !== listener,\n\t\t\t\t);\n\t\t\t};\n\t\t},\n\t\tremoveListener(listener: ViewOptionListener) {\n\t\t\tthis.listeners = this.listeners.filter(\n\t\t\t\t(l: ViewOptionListener) => listener !== l,\n\t\t\t);\n\t\t},\n\t};\n}\n\nexport function useScorecardViewStateValue<\n\tValueType extends ScorecardViewOptions[keyof ScorecardViewOptions],\n>(key: keyof ScorecardViewOptions) {\n\tconst viewEngine = useScorecardViewStateEngine();\n\tconst [value, setValue] = useState<ValueType>(\n\t\tget(viewEngine.options, key) as ValueType,\n\t);\n\tuseEffect(() => {\n\t\tconst unsubscribe = viewEngine.addListener({\n\t\t\tkey,\n\t\t\tlistener(value) {\n\t\t\t\tsetValue(value as ValueType);\n\t\t\t},\n\t\t});\n\t\treturn () => {\n\t\t\tunsubscribe();\n\t\t};\n\t}, []);\n\treturn value;\n}\n\nexport function useScorecardViewOptions() {\n\tconst viewEngine = useScorecardViewStateEngine();\n\tconst [options, setOptions] = useState<ScorecardViewOptions>(\n\t\tviewEngine.options,\n\t);\n\n\tuseEffect(() => {\n\t\tconst unsubscribe = viewEngine.addOptionListener(setOptions);\n\n\t\treturn () => {\n\t\t\tunsubscribe();\n\t\t};\n\t}, []);\n\n\treturn options;\n}\n\nexport function useUpdateScorecardViewState(key: keyof ScorecardViewOptions) {\n\tconst viewEngine = useScorecardViewStateEngine();\n\treturn (value: ScorecardViewOptions[keyof ScorecardViewOptions]) => {\n\t\tviewEngine.updateOption(key, value);\n\t};\n}\n"]}
1
+ {"version":3,"sources":["../../src/utils/viewState.ts"],"names":["set","useScorecardViewStateEngine","useState","get","useEffect","value"],"mappings":"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","file":"viewState.js","sourcesContent":["import type { ScorecardViewOptions } from \"../schemas/config\";\nimport { get, set } from \"lodash\";\nimport { useScorecardViewStateEngine } from \"../components\";\nimport { useEffect, useState } from \"react\";\n\nexport type ViewOptionListener = {\n\tkey: keyof ScorecardViewOptions;\n\tlistener: (\n\t\tvalue?: ScorecardViewOptions[keyof ScorecardViewOptions],\n\t) => void;\n};\n\nexport type ScorecardViewStateEngine = ReturnType<\n\ttypeof createScorecardViewStateEngine\n>;\n\nexport function createScorecardViewStateEngine(\n\tdefaultOptions: ScorecardViewOptions,\n) {\n\treturn {\n\t\toptions: defaultOptions as ScorecardViewOptions,\n\t\tlisteners: [] as ViewOptionListener[],\n\t\toptionsListeners: [] as Array<(options: ScorecardViewOptions) => void>,\n\t\tupdateOption(\n\t\t\tkey: keyof ScorecardViewOptions,\n\t\t\tvalue: ScorecardViewOptions[keyof ScorecardViewOptions],\n\t\t) {\n\t\t\tset(this.options, key, value);\n\t\t\tconst listeners: ViewOptionListener[] = this.listeners.filter(\n\t\t\t\t(listener: ViewOptionListener) => listener.key === key,\n\t\t\t);\n\t\t\tfor (const listener of listeners) {\n\t\t\t\tlistener.listener(value);\n\t\t\t}\n\t\t\tfor (const listener of this.optionsListeners) {\n\t\t\t\tlistener(this.options);\n\t\t\t}\n\t\t},\n\t\tupdateOptions(options: ScorecardViewOptions) {\n\t\t\tthis.options = {\n\t\t\t\t...this.options,\n\t\t\t\t...options,\n\t\t\t};\n\t\t\tfor (const listener of this.listeners) {\n\t\t\t\tlistener.listener(options[listener.key]);\n\t\t\t}\n\t\t\tfor (const listener of this.optionsListeners) {\n\t\t\t\tlistener(this.options);\n\t\t\t}\n\t\t},\n\t\taddOptionListener(listener: (options: ScorecardViewOptions) => void) {\n\t\t\tthis.optionsListeners.push(listener);\n\n\t\t\treturn () => {\n\t\t\t\tthis.optionsListeners = this.optionsListeners.filter(\n\t\t\t\t\t(l: (options: ScorecardViewOptions) => void) =>\n\t\t\t\t\t\tl !== listener,\n\t\t\t\t);\n\t\t\t};\n\t\t},\n\t\taddListener(listener: ViewOptionListener) {\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: ViewOptionListener) => l !== listener,\n\t\t\t\t);\n\t\t\t};\n\t\t},\n\t\tremoveListener(listener: ViewOptionListener) {\n\t\t\tthis.listeners = this.listeners.filter(\n\t\t\t\t(l: ViewOptionListener) => listener !== l,\n\t\t\t);\n\t\t},\n\t};\n}\n\nexport function useScorecardViewStateValue<\n\tValueType extends ScorecardViewOptions[keyof ScorecardViewOptions],\n>(key: keyof ScorecardViewOptions) {\n\tconst viewEngine = useScorecardViewStateEngine();\n\tconst [value, setValue] = useState<ValueType>(\n\t\tget(viewEngine.options, key) as ValueType,\n\t);\n\tuseEffect(() => {\n\t\tconst unsubscribe = viewEngine.addListener({\n\t\t\tkey,\n\t\t\tlistener(value) {\n\t\t\t\tsetValue(value as ValueType);\n\t\t\t},\n\t\t});\n\t\treturn () => {\n\t\t\tunsubscribe();\n\t\t};\n\t}, []);\n\treturn value;\n}\n\nexport function useScorecardViewOptions() {\n\tconst viewEngine = useScorecardViewStateEngine();\n\tconst [options, setOptions] = useState<ScorecardViewOptions>(\n\t\tviewEngine.options,\n\t);\n\n\tuseEffect(() => {\n\t\tconst unsubscribe = viewEngine.addOptionListener(setOptions);\n\n\t\treturn () => {\n\t\t\tunsubscribe();\n\t\t};\n\t}, []);\n\n\treturn options;\n}\n\nexport function useUpdateScorecardViewState(key: keyof ScorecardViewOptions) {\n\tconst viewEngine = useScorecardViewStateEngine();\n\treturn (value: ScorecardViewOptions[keyof ScorecardViewOptions]) => {\n\t\tviewEngine.updateOption(key, value);\n\t};\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hisptz/dhis2-scorecard",
3
- "version": "1.2.23",
3
+ "version": "1.2.25",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/esm/index.js",
6
6
  "types": "./dist/types/index.d.ts",
@@ -57,9 +57,9 @@
57
57
  "react-jsx-parser": "^2.2.0",
58
58
  "react-to-print": "^3.0.1",
59
59
  "xlsx": "^0.18.5",
60
- "@hisptz/dhis2-analytics": "2.1.28",
61
- "@hisptz/dhis2-utils": "2.0.19",
62
- "@hisptz/dhis2-ui": "2.0.51"
60
+ "@hisptz/dhis2-analytics": "2.1.29",
61
+ "@hisptz/dhis2-ui": "2.0.51",
62
+ "@hisptz/dhis2-utils": "2.0.19"
63
63
  },
64
64
  "peerDependencies": {
65
65
  "@dhis2/app-runtime": "^3",