@itwin/grouping-mapping-widget 0.26.1 → 0.27.0

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 (109) hide show
  1. package/lib/cjs/WidgetShell/Router/GroupingMappingRouter.js +1 -15
  2. package/lib/cjs/WidgetShell/Router/GroupingMappingRouter.js.map +1 -1
  3. package/lib/cjs/components/Groups/hooks/useKeySetHiliteQueries.d.ts +1 -1
  4. package/lib/cjs/components/Mappings/MappingViewActionGroup.d.ts +1 -1
  5. package/lib/cjs/components/Mappings/MappingViewActionGroup.js +1 -2
  6. package/lib/cjs/components/Mappings/MappingViewActionGroup.js.map +1 -1
  7. package/lib/cjs/components/Mappings/MappingsView.js +1 -1
  8. package/lib/cjs/components/Mappings/MappingsView.js.map +1 -1
  9. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyAction.d.ts +2 -0
  10. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyAction.js +2 -1
  11. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyAction.js.map +1 -1
  12. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.d.ts +7 -8
  13. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.js +21 -61
  14. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.js.map +1 -1
  15. package/lib/cjs/components/Properties/CalculatedProperties/SharedCalculatedPropertyForms.d.ts +5 -9
  16. package/lib/cjs/components/Properties/CalculatedProperties/SharedCalculatedPropertyForms.js +3 -12
  17. package/lib/cjs/components/Properties/CalculatedProperties/SharedCalculatedPropertyForms.js.map +1 -1
  18. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationAction.d.ts +8 -9
  19. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationAction.js +17 -164
  20. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationAction.js.map +1 -1
  21. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationAction.scss +4 -3
  22. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyAction.js +76 -19
  23. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyAction.js.map +1 -1
  24. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyAction.scss +3 -2
  25. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyTable.js +10 -2
  26. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyTable.js.map +1 -1
  27. package/lib/cjs/components/Properties/PropertyMenu.d.ts +1 -1
  28. package/lib/cjs/components/Properties/PropertyMenu.js +2 -7
  29. package/lib/cjs/components/Properties/PropertyMenu.js.map +1 -1
  30. package/lib/cjs/components/Properties/ScrollableExpandableBlock.d.ts +11 -0
  31. package/lib/cjs/components/Properties/ScrollableExpandableBlock.js +55 -0
  32. package/lib/cjs/components/Properties/ScrollableExpandableBlock.js.map +1 -0
  33. package/lib/cjs/components/Properties/hooks/useFormulaValidation.d.ts +6 -3
  34. package/lib/cjs/components/Properties/hooks/useFormulaValidation.js +59 -13
  35. package/lib/cjs/components/Properties/hooks/useFormulaValidation.js.map +1 -1
  36. package/lib/cjs/components/Properties/hooks/useForwardRef.d.ts +3 -0
  37. package/lib/cjs/components/Properties/hooks/useForwardRef.js +20 -0
  38. package/lib/cjs/components/Properties/hooks/useForwardRef.js.map +1 -0
  39. package/lib/cjs/components/SharedComponents/ActionPanel.d.ts +3 -1
  40. package/lib/cjs/components/SharedComponents/ActionPanel.js +3 -3
  41. package/lib/cjs/components/SharedComponents/ActionPanel.js.map +1 -1
  42. package/lib/cjs/formula/FormulaDataTypeResolver.d.ts +3 -2
  43. package/lib/cjs/formula/FormulaDataTypeResolver.js +10 -6
  44. package/lib/cjs/formula/FormulaDataTypeResolver.js.map +1 -1
  45. package/lib/cjs/grouping-mapping-widget.d.ts +0 -2
  46. package/lib/cjs/grouping-mapping-widget.js +1 -5
  47. package/lib/cjs/grouping-mapping-widget.js.map +1 -1
  48. package/lib/esm/WidgetShell/Router/GroupingMappingRouter.js +1 -15
  49. package/lib/esm/WidgetShell/Router/GroupingMappingRouter.js.map +1 -1
  50. package/lib/esm/components/Groups/hooks/useKeySetHiliteQueries.d.ts +1 -1
  51. package/lib/esm/components/Mappings/MappingViewActionGroup.d.ts +1 -1
  52. package/lib/esm/components/Mappings/MappingViewActionGroup.js +1 -2
  53. package/lib/esm/components/Mappings/MappingViewActionGroup.js.map +1 -1
  54. package/lib/esm/components/Mappings/MappingsView.js +1 -1
  55. package/lib/esm/components/Mappings/MappingsView.js.map +1 -1
  56. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyAction.d.ts +2 -0
  57. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyAction.js +2 -1
  58. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyAction.js.map +1 -1
  59. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.d.ts +7 -8
  60. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.js +23 -60
  61. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.js.map +1 -1
  62. package/lib/esm/components/Properties/CalculatedProperties/SharedCalculatedPropertyForms.d.ts +5 -9
  63. package/lib/esm/components/Properties/CalculatedProperties/SharedCalculatedPropertyForms.js +4 -13
  64. package/lib/esm/components/Properties/CalculatedProperties/SharedCalculatedPropertyForms.js.map +1 -1
  65. package/lib/esm/components/Properties/CustomCalculations/CustomCalculationAction.d.ts +8 -9
  66. package/lib/esm/components/Properties/CustomCalculations/CustomCalculationAction.js +18 -142
  67. package/lib/esm/components/Properties/CustomCalculations/CustomCalculationAction.js.map +1 -1
  68. package/lib/esm/components/Properties/CustomCalculations/CustomCalculationAction.scss +4 -3
  69. package/lib/esm/components/Properties/GroupProperties/GroupPropertyAction.js +79 -22
  70. package/lib/esm/components/Properties/GroupProperties/GroupPropertyAction.js.map +1 -1
  71. package/lib/esm/components/Properties/GroupProperties/GroupPropertyAction.scss +3 -2
  72. package/lib/esm/components/Properties/GroupProperties/GroupPropertyTable.js +12 -4
  73. package/lib/esm/components/Properties/GroupProperties/GroupPropertyTable.js.map +1 -1
  74. package/lib/esm/components/Properties/PropertyMenu.d.ts +1 -1
  75. package/lib/esm/components/Properties/PropertyMenu.js +2 -7
  76. package/lib/esm/components/Properties/PropertyMenu.js.map +1 -1
  77. package/lib/esm/components/Properties/ScrollableExpandableBlock.d.ts +11 -0
  78. package/lib/esm/components/Properties/ScrollableExpandableBlock.js +29 -0
  79. package/lib/esm/components/Properties/ScrollableExpandableBlock.js.map +1 -0
  80. package/lib/esm/components/Properties/hooks/useFormulaValidation.d.ts +6 -3
  81. package/lib/esm/components/Properties/hooks/useFormulaValidation.js +57 -12
  82. package/lib/esm/components/Properties/hooks/useFormulaValidation.js.map +1 -1
  83. package/lib/esm/components/Properties/hooks/useForwardRef.d.ts +3 -0
  84. package/lib/esm/components/Properties/hooks/useForwardRef.js +16 -0
  85. package/lib/esm/components/Properties/hooks/useForwardRef.js.map +1 -0
  86. package/lib/esm/components/SharedComponents/ActionPanel.d.ts +3 -1
  87. package/lib/esm/components/SharedComponents/ActionPanel.js +3 -3
  88. package/lib/esm/components/SharedComponents/ActionPanel.js.map +1 -1
  89. package/lib/esm/formula/FormulaDataTypeResolver.d.ts +3 -2
  90. package/lib/esm/formula/FormulaDataTypeResolver.js +10 -6
  91. package/lib/esm/formula/FormulaDataTypeResolver.js.map +1 -1
  92. package/lib/esm/grouping-mapping-widget.d.ts +0 -2
  93. package/lib/esm/grouping-mapping-widget.js +0 -2
  94. package/lib/esm/grouping-mapping-widget.js.map +1 -1
  95. package/package.json +1 -1
  96. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyTable.d.ts +0 -14
  97. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyTable.js +0 -87
  98. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyTable.js.map +0 -1
  99. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyTable.scss +0 -9
  100. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationTable.d.ts +0 -13
  101. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationTable.js +0 -91
  102. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationTable.js.map +0 -1
  103. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyTable.d.ts +0 -14
  104. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyTable.js +0 -60
  105. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyTable.js.map +0 -1
  106. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyTable.scss +0 -9
  107. package/lib/esm/components/Properties/CustomCalculations/CustomCalculationTable.d.ts +0 -13
  108. package/lib/esm/components/Properties/CustomCalculations/CustomCalculationTable.js +0 -64
  109. package/lib/esm/components/Properties/CustomCalculations/CustomCalculationTable.js.map +0 -1
@@ -10,18 +10,16 @@ exports.GroupingMappingRouter = void 0;
10
10
  *--------------------------------------------------------------------------------------------*/
11
11
  const react_1 = __importDefault(require("react"));
12
12
  const GroupingApiConfigContext_1 = require("../../components/context/GroupingApiConfigContext");
13
- const CustomCalculationAction_1 = require("../../components/Properties/CustomCalculations/CustomCalculationAction");
14
13
  const GroupAction_1 = require("../../components/Groups/Editing/GroupAction");
15
14
  const GroupingMapping_1 = require("../GroupingMapping");
16
15
  const GroupPropertyAction_1 = require("../../components/Properties/GroupProperties/GroupPropertyAction");
17
16
  const Mappings_1 = require("../../components/Mappings/Mappings");
18
17
  const MappingAction_1 = require("../../components/Mappings/Editing/MappingAction");
19
- const CalculatedPropertyActionWithVisuals_1 = require("../../components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals");
20
18
  const PropertyMenuWithVisualization_1 = require("../../components/Properties/PropertyMenuWithVisualization");
21
19
  const GroupsVisualization_1 = require("../../components/Groups/GroupsVisualization");
22
20
  const GroupingMappingRouter = ({ currentRoute, navigateTo, goBack, }) => {
23
21
  const { iModelId } = (0, GroupingApiConfigContext_1.useGroupingMappingApiConfig)();
24
- const { mapping, group, property, calculatedProperty, customCalculation, groupContextCustomUI, queryGenerationType } = currentRoute.groupingRouteFields;
22
+ const { mapping, group, property, groupContextCustomUI, queryGenerationType } = currentRoute.groupingRouteFields;
25
23
  switch (currentRoute.step) {
26
24
  case GroupingMapping_1.RouteStep.Mappings:
27
25
  return (react_1.default.createElement(Mappings_1.Mappings, { onClickAddMapping: () => navigateTo(() => ({ step: GroupingMapping_1.RouteStep.MappingsAction, title: "Add Mapping", groupingRouteFields: {} })), onClickMappingTitle: (mapping) => {
@@ -107,18 +105,6 @@ const GroupingMappingRouter = ({ currentRoute, navigateTo, goBack, }) => {
107
105
  }
108
106
  return null;
109
107
  }
110
- case GroupingMapping_1.RouteStep.CalculatedPropertyAction: {
111
- if (mapping && group) {
112
- return (react_1.default.createElement(CalculatedPropertyActionWithVisuals_1.CalculatedPropertyActionWithVisuals, { mappingId: mapping.id, group: group, calculatedProperty: calculatedProperty, onSaveSuccess: goBack, onClickCancel: goBack }));
113
- }
114
- return null;
115
- }
116
- case GroupingMapping_1.RouteStep.CustomCalculationPropertyAction: {
117
- if (mapping && group) {
118
- return (react_1.default.createElement(CustomCalculationAction_1.CustomCalculationAction, { mappingId: mapping.id, groupId: group.id, customCalculation: customCalculation, onSaveSuccess: goBack, onClickCancel: goBack }));
119
- }
120
- return null;
121
- }
122
108
  default:
123
109
  return null;
124
110
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GroupingMappingRouter.js","sourceRoot":"","sources":["../../../../src/WidgetShell/Router/GroupingMappingRouter.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport React from \"react\";\nimport { useGroupingMappingApiConfig } from \"../../components/context/GroupingApiConfigContext\";\nimport { CustomCalculationAction } from \"../../components/Properties/CustomCalculations/CustomCalculationAction\";\nimport { GroupAction } from \"../../components/Groups/Editing/GroupAction\";\nimport type { Route } from \"../GroupingMapping\";\nimport { RouteStep } from \"../GroupingMapping\";\nimport { GroupPropertyAction } from \"../../components/Properties/GroupProperties/GroupPropertyAction\";\nimport { Mappings } from \"../../components/Mappings/Mappings\";\nimport { MappingAction } from \"../../components/Mappings/Editing/MappingAction\";\nimport { CalculatedPropertyActionWithVisuals } from \"../../components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals\";\nimport { PropertyMenuWithVisualization } from \"../../components/Properties/PropertyMenuWithVisualization\";\nimport { GroupsVisualization } from \"../../components/Groups/GroupsVisualization\";\n\nexport const GroupingMappingRouter = ({\n currentRoute,\n navigateTo,\n goBack,\n}: {\n currentRoute: Route;\n navigateTo: (toRoute: (prev: Route | undefined) => Route) => void;\n goBack: () => void;\n}) => {\n const { iModelId } = useGroupingMappingApiConfig();\n const { mapping, group, property, calculatedProperty, customCalculation, groupContextCustomUI, queryGenerationType } = currentRoute.groupingRouteFields;\n\n switch (currentRoute.step) {\n case RouteStep.Mappings:\n return (\n <Mappings\n onClickAddMapping={() => navigateTo(() => ({ step: RouteStep.MappingsAction, title: \"Add Mapping\", groupingRouteFields: {} }))}\n onClickMappingTitle={(mapping) => {\n navigateTo(() => ({\n step: RouteStep.Groups,\n groupingRouteFields: { mapping },\n title: mapping.mappingName,\n }));\n }}\n onClickMappingModify={(mapping) => {\n navigateTo(() => ({\n step: RouteStep.MappingsAction,\n groupingRouteFields: { mapping },\n title: mapping.mappingName,\n }));\n }}\n />\n );\n case RouteStep.MappingsAction:\n return <MappingAction mapping={mapping} onClickCancel={goBack} onSaveSuccess={goBack} />;\n case RouteStep.Groups:\n if (mapping) {\n return (\n <GroupsVisualization\n mapping={mapping}\n onClickAddGroup={(qType) =>\n navigateTo((prev) => ({\n step: RouteStep.GroupAction,\n groupingRouteFields: { ...prev?.groupingRouteFields, queryGenerationType: qType },\n title: \"Add Group\",\n }))\n }\n onClickGroupTitle={(g) =>\n navigateTo((prev) => ({\n step: RouteStep.Properties,\n title: g.groupName,\n groupingRouteFields: { ...prev?.groupingRouteFields, group: g },\n }))\n }\n onClickGroupModify={(g, qType) =>\n navigateTo((prev) => ({\n step: RouteStep.GroupAction,\n title: g.groupName,\n groupingRouteFields: { ...prev?.groupingRouteFields, group: g, queryGenerationType: qType },\n }))\n }\n onClickRenderContextCustomUI={(ccUI, g, displayLabel) =>\n navigateTo((prev) => ({\n step: RouteStep.GroupContextCustomUI,\n title: displayLabel,\n groupingRouteFields: { ...prev?.groupingRouteFields, group: g, groupContextCustomUI: ccUI },\n }))\n }\n />\n );\n }\n return null;\n case RouteStep.GroupAction:\n if (mapping) {\n if (queryGenerationType) {\n return (\n <GroupAction\n shouldVisualize\n mappingId={mapping.id}\n group={group}\n onClickCancel={goBack}\n onSaveSuccess={goBack}\n queryGenerationType={queryGenerationType}\n />\n );\n }\n }\n return null;\n case RouteStep.GroupContextCustomUI:\n if (mapping && group && groupContextCustomUI) {\n return React.createElement(groupContextCustomUI, {\n iModelId,\n mappingId: mapping.id,\n groupId: group.id,\n });\n }\n return null;\n case RouteStep.Properties:\n if (mapping && group) {\n return (\n <PropertyMenuWithVisualization\n mapping={mapping}\n group={group}\n color=\"red\"\n onClickAddGroupProperty={() =>\n navigateTo((prev) => ({ step: RouteStep.PropertyAction, title: \"Add Property\", groupingRouteFields: { ...prev?.groupingRouteFields } }))\n }\n onClickModifyGroupProperty={(gp) =>\n navigateTo((prev) => ({\n step: RouteStep.PropertyAction,\n title: gp.propertyName,\n groupingRouteFields: { ...prev?.groupingRouteFields, property: gp },\n }))\n }\n onClickAddCalculatedProperty={() =>\n navigateTo((prev) => ({\n step: RouteStep.CalculatedPropertyAction,\n title: \"Create Calculated Property\",\n groupingRouteFields: { ...prev?.groupingRouteFields },\n }))\n }\n onClickModifyCalculatedProperty={(cp) =>\n navigateTo((prev) => ({\n step: RouteStep.CalculatedPropertyAction,\n title: cp.propertyName,\n groupingRouteFields: { ...prev?.groupingRouteFields, calculatedProperty: cp },\n }))\n }\n onClickAddCustomCalculationProperty={() =>\n navigateTo((prev) => ({\n step: RouteStep.CustomCalculationPropertyAction,\n title: \"Create Custom Calculation\",\n groupingRouteFields: { ...prev?.groupingRouteFields },\n }))\n }\n onClickModifyCustomCalculation={(cc) =>\n navigateTo((prev) => ({\n step: RouteStep.CustomCalculationPropertyAction,\n title: cc.propertyName,\n groupingRouteFields: { ...prev?.groupingRouteFields, customCalculation: cc },\n }))\n }\n />\n );\n }\n return null;\n case RouteStep.PropertyAction: {\n if (mapping && group) {\n return <GroupPropertyAction mappingId={mapping.id} group={group} groupProperty={property} onSaveSuccess={goBack} onClickCancel={goBack} />;\n }\n return null;\n }\n case RouteStep.CalculatedPropertyAction: {\n if (mapping && group) {\n return (\n <CalculatedPropertyActionWithVisuals\n mappingId={mapping.id}\n group={group}\n calculatedProperty={calculatedProperty}\n onSaveSuccess={goBack}\n onClickCancel={goBack}\n />\n );\n }\n return null;\n }\n case RouteStep.CustomCalculationPropertyAction: {\n if (mapping && group) {\n return (\n <CustomCalculationAction\n mappingId={mapping.id}\n groupId={group.id}\n customCalculation={customCalculation}\n onSaveSuccess={goBack}\n onClickCancel={goBack}\n />\n );\n }\n return null;\n }\n default:\n return null;\n }\n};\n"]}
1
+ {"version":3,"file":"GroupingMappingRouter.js","sourceRoot":"","sources":["../../../../src/WidgetShell/Router/GroupingMappingRouter.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport React from \"react\";\nimport { useGroupingMappingApiConfig } from \"../../components/context/GroupingApiConfigContext\";\nimport { GroupAction } from \"../../components/Groups/Editing/GroupAction\";\nimport type { Route } from \"../GroupingMapping\";\nimport { RouteStep } from \"../GroupingMapping\";\nimport { GroupPropertyAction } from \"../../components/Properties/GroupProperties/GroupPropertyAction\";\nimport { Mappings } from \"../../components/Mappings/Mappings\";\nimport { MappingAction } from \"../../components/Mappings/Editing/MappingAction\";\nimport { PropertyMenuWithVisualization } from \"../../components/Properties/PropertyMenuWithVisualization\";\nimport { GroupsVisualization } from \"../../components/Groups/GroupsVisualization\";\n\nexport const GroupingMappingRouter = ({\n currentRoute,\n navigateTo,\n goBack,\n}: {\n currentRoute: Route;\n navigateTo: (toRoute: (prev: Route | undefined) => Route) => void;\n goBack: () => void;\n}) => {\n const { iModelId } = useGroupingMappingApiConfig();\n const { mapping, group, property, groupContextCustomUI, queryGenerationType } = currentRoute.groupingRouteFields;\n\n switch (currentRoute.step) {\n case RouteStep.Mappings:\n return (\n <Mappings\n onClickAddMapping={() => navigateTo(() => ({ step: RouteStep.MappingsAction, title: \"Add Mapping\", groupingRouteFields: {} }))}\n onClickMappingTitle={(mapping) => {\n navigateTo(() => ({\n step: RouteStep.Groups,\n groupingRouteFields: { mapping },\n title: mapping.mappingName,\n }));\n }}\n onClickMappingModify={(mapping) => {\n navigateTo(() => ({\n step: RouteStep.MappingsAction,\n groupingRouteFields: { mapping },\n title: mapping.mappingName,\n }));\n }}\n />\n );\n case RouteStep.MappingsAction:\n return <MappingAction mapping={mapping} onClickCancel={goBack} onSaveSuccess={goBack} />;\n case RouteStep.Groups:\n if (mapping) {\n return (\n <GroupsVisualization\n mapping={mapping}\n onClickAddGroup={(qType) =>\n navigateTo((prev) => ({\n step: RouteStep.GroupAction,\n groupingRouteFields: { ...prev?.groupingRouteFields, queryGenerationType: qType },\n title: \"Add Group\",\n }))\n }\n onClickGroupTitle={(g) =>\n navigateTo((prev) => ({\n step: RouteStep.Properties,\n title: g.groupName,\n groupingRouteFields: { ...prev?.groupingRouteFields, group: g },\n }))\n }\n onClickGroupModify={(g, qType) =>\n navigateTo((prev) => ({\n step: RouteStep.GroupAction,\n title: g.groupName,\n groupingRouteFields: { ...prev?.groupingRouteFields, group: g, queryGenerationType: qType },\n }))\n }\n onClickRenderContextCustomUI={(ccUI, g, displayLabel) =>\n navigateTo((prev) => ({\n step: RouteStep.GroupContextCustomUI,\n title: displayLabel,\n groupingRouteFields: { ...prev?.groupingRouteFields, group: g, groupContextCustomUI: ccUI },\n }))\n }\n />\n );\n }\n return null;\n case RouteStep.GroupAction:\n if (mapping) {\n if (queryGenerationType) {\n return (\n <GroupAction\n shouldVisualize\n mappingId={mapping.id}\n group={group}\n onClickCancel={goBack}\n onSaveSuccess={goBack}\n queryGenerationType={queryGenerationType}\n />\n );\n }\n }\n return null;\n case RouteStep.GroupContextCustomUI:\n if (mapping && group && groupContextCustomUI) {\n return React.createElement(groupContextCustomUI, {\n iModelId,\n mappingId: mapping.id,\n groupId: group.id,\n });\n }\n return null;\n case RouteStep.Properties:\n if (mapping && group) {\n return (\n <PropertyMenuWithVisualization\n mapping={mapping}\n group={group}\n color=\"red\"\n onClickAddGroupProperty={() =>\n navigateTo((prev) => ({ step: RouteStep.PropertyAction, title: \"Add Property\", groupingRouteFields: { ...prev?.groupingRouteFields } }))\n }\n onClickModifyGroupProperty={(gp) =>\n navigateTo((prev) => ({\n step: RouteStep.PropertyAction,\n title: gp.propertyName,\n groupingRouteFields: { ...prev?.groupingRouteFields, property: gp },\n }))\n }\n onClickAddCalculatedProperty={() =>\n navigateTo((prev) => ({\n step: RouteStep.CalculatedPropertyAction,\n title: \"Create Calculated Property\",\n groupingRouteFields: { ...prev?.groupingRouteFields },\n }))\n }\n onClickModifyCalculatedProperty={(cp) =>\n navigateTo((prev) => ({\n step: RouteStep.CalculatedPropertyAction,\n title: cp.propertyName,\n groupingRouteFields: { ...prev?.groupingRouteFields, calculatedProperty: cp },\n }))\n }\n onClickAddCustomCalculationProperty={() =>\n navigateTo((prev) => ({\n step: RouteStep.CustomCalculationPropertyAction,\n title: \"Create Custom Calculation\",\n groupingRouteFields: { ...prev?.groupingRouteFields },\n }))\n }\n onClickModifyCustomCalculation={(cc) =>\n navigateTo((prev) => ({\n step: RouteStep.CustomCalculationPropertyAction,\n title: cc.propertyName,\n groupingRouteFields: { ...prev?.groupingRouteFields, customCalculation: cc },\n }))\n }\n />\n );\n }\n return null;\n case RouteStep.PropertyAction: {\n if (mapping && group) {\n return <GroupPropertyAction mappingId={mapping.id} group={group} groupProperty={property} onSaveSuccess={goBack} onClickCancel={goBack} />;\n }\n return null;\n }\n default:\n return null;\n }\n};\n"]}
@@ -27,6 +27,6 @@ export declare const createQueryForHiliteIdsAndKeyset: (group: GroupMinimal, iMo
27
27
  };
28
28
  export declare const useGroupKeySetQuery: (group: GroupMinimal, iModelConnection: IModelConnection, enabled: boolean) => import("@tanstack/react-query").UseQueryResult<QueryResults, unknown>;
29
29
  export declare const useKeySetHiliteQueries: (groups: GroupMinimal[], enabled: boolean, iModelConnection: IModelConnection) => {
30
- groupQueries: Pick<import("@tanstack/react-query").UseQueryResult<QueryResults, unknown>, "data" | "isFetching" | "isFetched" | "refetch">[];
30
+ groupQueries: Pick<import("@tanstack/react-query").UseQueryResult<QueryResults, unknown>, "data" | "isFetched" | "isFetching" | "refetch">[];
31
31
  };
32
32
  //# sourceMappingURL=useKeySetHiliteQueries.d.ts.map
@@ -7,6 +7,6 @@ interface MappingUIActionGroupProps {
7
7
  onClickMappingModify?: (mapping: Mapping) => void;
8
8
  setShowDeleteModal: (mapping?: Mapping) => void;
9
9
  }
10
- export declare const MappingViewActionGroup: ({ mapping, onToggleExtraction, onRefresh, onClickMappingModify, setShowDeleteModal }: MappingUIActionGroupProps) => JSX.Element;
10
+ export declare const MappingViewActionGroup: ({ mapping, onToggleExtraction, onClickMappingModify, setShowDeleteModal }: MappingUIActionGroupProps) => JSX.Element;
11
11
  export {};
12
12
  //# sourceMappingURL=MappingViewActionGroup.d.ts.map
@@ -11,7 +11,7 @@ exports.MappingViewActionGroup = void 0;
11
11
  const react_1 = __importDefault(require("react"));
12
12
  const itwinui_react_1 = require("@itwin/itwinui-react");
13
13
  const itwinui_icons_react_1 = require("@itwin/itwinui-icons-react");
14
- const MappingViewActionGroup = ({ mapping, onToggleExtraction, onRefresh, onClickMappingModify, setShowDeleteModal }) => {
14
+ const MappingViewActionGroup = ({ mapping, onToggleExtraction, onClickMappingModify, setShowDeleteModal }) => {
15
15
  return (react_1.default.createElement(itwinui_react_1.DropdownMenu, { menuItems: (close) => [
16
16
  onClickMappingModify ? (react_1.default.createElement(itwinui_react_1.MenuItem, { key: 0, onClick: () => {
17
17
  onClickMappingModify(mapping);
@@ -20,7 +20,6 @@ const MappingViewActionGroup = ({ mapping, onToggleExtraction, onRefresh, onClic
20
20
  react_1.default.createElement(itwinui_react_1.MenuItem, { key: 1, onClick: async () => {
21
21
  close();
22
22
  await onToggleExtraction(mapping);
23
- await onRefresh();
24
23
  }, icon: react_1.default.createElement(itwinui_icons_react_1.SvgProcess, null) }, mapping.extractionEnabled ? "Disable extraction" : "Enable extraction"),
25
24
  react_1.default.createElement(itwinui_react_1.MenuItem, { key: 2, onClick: () => {
26
25
  setShowDeleteModal(mapping);
@@ -1 +1 @@
1
- {"version":3,"file":"MappingViewActionGroup.js","sourceRoot":"","sources":["../../../../src/components/Mappings/MappingViewActionGroup.tsx"],"names":[],"mappings":";;;;;;AAAA;;;gGAGgG;AAChG,kDAA0B;AAC1B,wDAA0E;AAC1E,oEAAqF;AAW9E,MAAM,sBAAsB,GAAG,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,oBAAoB,EAAE,kBAAkB,EAA6B,EAAE,EAAE;IACxJ,OAAO,CACL,8BAAC,4BAAY,IACX,SAAS,EAAE,CAAC,KAAiB,EAAE,EAAE,CAC/B;YACE,oBAAoB,CAAC,CAAC,CAAC,CACrB,8BAAC,wBAAQ,IACP,GAAG,EAAE,CAAC,EACN,OAAO,EAAE,GAAG,EAAE;oBACZ,oBAAoB,CAAC,OAAO,CAAC,CAAC;oBAC9B,KAAK,EAAE,CAAC;gBACV,CAAC,EACD,IAAI,EAAE,8BAAC,6BAAO,OAAG,aAGR,CACZ,CAAC,CAAC,CAAC,CACF,EAAE,CACH;YACD,8BAAC,wBAAQ,IACP,GAAG,EAAE,CAAC,EACN,OAAO,EAAE,KAAK,IAAI,EAAE;oBAClB,KAAK,EAAE,CAAC;oBACR,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;oBAClC,MAAM,SAAS,EAAE,CAAC;gBACpB,CAAC,EACD,IAAI,EAAE,8BAAC,gCAAU,OAAG,IAEnB,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,mBAAmB,CAC9D;YACX,8BAAC,wBAAQ,IACP,GAAG,EAAE,CAAC,EACN,OAAO,EAAE,GAAG,EAAE;oBACZ,kBAAkB,CAAC,OAAO,CAAC,CAAC;oBAC5B,KAAK,EAAE,CAAC;gBACV,CAAC,EACD,IAAI,EAAE,8BAAC,+BAAS,OAAG,aAGV;SACZ,CAAC,IAAI,EAAE;QAGV,8BAAC,0BAAU,IAAC,SAAS,EAAC,YAAY,EAAC,KAAK,EAAC,iBAAiB;YACxD,8BAAC,6BAAO,OAAG,CACA,CACA,CAChB,CAAC;AACJ,CAAC,CAAC;AAhDW,QAAA,sBAAsB,0BAgDjC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport React from \"react\";\nimport { DropdownMenu, IconButton, MenuItem } from \"@itwin/itwinui-react\";\nimport { SvgDelete, SvgEdit, SvgMore, SvgProcess } from \"@itwin/itwinui-icons-react\";\nimport type { Mapping } from \"@itwin/insights-client\";\n\ninterface MappingUIActionGroupProps {\n mapping: Mapping;\n onToggleExtraction: (mapping: Mapping) => Promise<void>;\n onRefresh: () => Promise<void>;\n onClickMappingModify?: (mapping: Mapping) => void;\n setShowDeleteModal: (mapping?: Mapping) => void;\n}\n\nexport const MappingViewActionGroup = ({ mapping, onToggleExtraction, onRefresh, onClickMappingModify, setShowDeleteModal }: MappingUIActionGroupProps) => {\n return (\n <DropdownMenu\n menuItems={(close: () => void) =>\n [\n onClickMappingModify ? (\n <MenuItem\n key={0}\n onClick={() => {\n onClickMappingModify(mapping);\n close();\n }}\n icon={<SvgEdit />}\n >\n Modify\n </MenuItem>\n ) : (\n []\n ),\n <MenuItem\n key={1}\n onClick={async () => {\n close();\n await onToggleExtraction(mapping);\n await onRefresh();\n }}\n icon={<SvgProcess />}\n >\n {mapping.extractionEnabled ? \"Disable extraction\" : \"Enable extraction\"}\n </MenuItem>,\n <MenuItem\n key={2}\n onClick={() => {\n setShowDeleteModal(mapping);\n close();\n }}\n icon={<SvgDelete />}\n >\n Remove\n </MenuItem>,\n ].flat()\n }\n >\n <IconButton styleType=\"borderless\" title=\"Mapping Options\">\n <SvgMore />\n </IconButton>\n </DropdownMenu>\n );\n};\n"]}
1
+ {"version":3,"file":"MappingViewActionGroup.js","sourceRoot":"","sources":["../../../../src/components/Mappings/MappingViewActionGroup.tsx"],"names":[],"mappings":";;;;;;AAAA;;;gGAGgG;AAChG,kDAA0B;AAC1B,wDAA0E;AAC1E,oEAAqF;AAW9E,MAAM,sBAAsB,GAAG,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,kBAAkB,EAA6B,EAAE,EAAE;IAC7I,OAAO,CACL,8BAAC,4BAAY,IACX,SAAS,EAAE,CAAC,KAAiB,EAAE,EAAE,CAC/B;YACE,oBAAoB,CAAC,CAAC,CAAC,CACrB,8BAAC,wBAAQ,IACP,GAAG,EAAE,CAAC,EACN,OAAO,EAAE,GAAG,EAAE;oBACZ,oBAAoB,CAAC,OAAO,CAAC,CAAC;oBAC9B,KAAK,EAAE,CAAC;gBACV,CAAC,EACD,IAAI,EAAE,8BAAC,6BAAO,OAAG,aAGR,CACZ,CAAC,CAAC,CAAC,CACF,EAAE,CACH;YACD,8BAAC,wBAAQ,IACP,GAAG,EAAE,CAAC,EACN,OAAO,EAAE,KAAK,IAAI,EAAE;oBAClB,KAAK,EAAE,CAAC;oBACR,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBACpC,CAAC,EACD,IAAI,EAAE,8BAAC,gCAAU,OAAG,IAEnB,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,mBAAmB,CAC9D;YACX,8BAAC,wBAAQ,IACP,GAAG,EAAE,CAAC,EACN,OAAO,EAAE,GAAG,EAAE;oBACZ,kBAAkB,CAAC,OAAO,CAAC,CAAC;oBAC5B,KAAK,EAAE,CAAC;gBACV,CAAC,EACD,IAAI,EAAE,8BAAC,+BAAS,OAAG,aAGV;SACZ,CAAC,IAAI,EAAE;QAGV,8BAAC,0BAAU,IAAC,SAAS,EAAC,YAAY,EAAC,KAAK,EAAC,iBAAiB;YACxD,8BAAC,6BAAO,OAAG,CACA,CACA,CAChB,CAAC;AACJ,CAAC,CAAC;AA/CW,QAAA,sBAAsB,0BA+CjC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport React from \"react\";\nimport { DropdownMenu, IconButton, MenuItem } from \"@itwin/itwinui-react\";\nimport { SvgDelete, SvgEdit, SvgMore, SvgProcess } from \"@itwin/itwinui-icons-react\";\nimport type { Mapping } from \"@itwin/insights-client\";\n\ninterface MappingUIActionGroupProps {\n mapping: Mapping;\n onToggleExtraction: (mapping: Mapping) => Promise<void>;\n onRefresh: () => Promise<void>;\n onClickMappingModify?: (mapping: Mapping) => void;\n setShowDeleteModal: (mapping?: Mapping) => void;\n}\n\nexport const MappingViewActionGroup = ({ mapping, onToggleExtraction, onClickMappingModify, setShowDeleteModal }: MappingUIActionGroupProps) => {\n return (\n <DropdownMenu\n menuItems={(close: () => void) =>\n [\n onClickMappingModify ? (\n <MenuItem\n key={0}\n onClick={() => {\n onClickMappingModify(mapping);\n close();\n }}\n icon={<SvgEdit />}\n >\n Modify\n </MenuItem>\n ) : (\n []\n ),\n <MenuItem\n key={1}\n onClick={async () => {\n close();\n await onToggleExtraction(mapping);\n }}\n icon={<SvgProcess />}\n >\n {mapping.extractionEnabled ? \"Disable extraction\" : \"Enable extraction\"}\n </MenuItem>,\n <MenuItem\n key={2}\n onClick={() => {\n setShowDeleteModal(mapping);\n close();\n }}\n icon={<SvgDelete />}\n >\n Remove\n </MenuItem>,\n ].flat()\n }\n >\n <IconButton styleType=\"borderless\" title=\"Mapping Options\">\n <SvgMore />\n </IconButton>\n </DropdownMenu>\n );\n};\n"]}
@@ -105,7 +105,7 @@ const MappingsView = ({ mappings, isLoading, extractionStatusData, showExtractio
105
105
  react_1.default.createElement(itwinui_icons_react_1.SvgRefresh, null)))),
106
106
  alert,
107
107
  react_1.default.createElement("div", { className: "gmw-mappings-border" }),
108
- isLoading ? (react_1.default.createElement(LoadingOverlay_1.LoadingOverlay, null)) : mappings.length === 0 ? (react_1.default.createElement(EmptyMessage_1.EmptyMessage, { message: `No ${displayStrings.mappings} available.` })) : (react_1.default.createElement(itwinui_react_1.List, { className: "gmw-mappings-list" }, mappings.map((mapping) => (react_1.default.createElement(MappingListItem_1.MappingListItem, { key: mapping.id, mapping: mapping, jobId: mappingIdJobInfo?.get(mapping.id) ?? "", jobStartEvent: jobStartEvent, onClickMappingTitle: onClickMappingTitle, onSelectionChange: onSelectionChange, selected: selectedMappings.some((eachMapping) => mapping.id === eachMapping.id), onToggleExtraction: onToggleExtraction, onRefreshMappings: onRefreshMappings, onClickMappingModify: onClickMappingModify, setShowDeleteModal: setShowDeleteModal })))))),
108
+ isLoading && !isTogglingExtraction ? (react_1.default.createElement(LoadingOverlay_1.LoadingOverlay, null)) : mappings.length === 0 ? (react_1.default.createElement(EmptyMessage_1.EmptyMessage, { message: `No ${displayStrings.mappings} available.` })) : (react_1.default.createElement(itwinui_react_1.List, { className: "gmw-mappings-list" }, mappings.map((mapping) => (react_1.default.createElement(MappingListItem_1.MappingListItem, { key: mapping.id, mapping: mapping, jobId: mappingIdJobInfo?.get(mapping.id) ?? "", jobStartEvent: jobStartEvent, onClickMappingTitle: onClickMappingTitle, onSelectionChange: onSelectionChange, selected: selectedMappings.some((eachMapping) => mapping.id === eachMapping.id), onToggleExtraction: onToggleExtraction, onRefreshMappings: onRefreshMappings, onClickMappingModify: onClickMappingModify, setShowDeleteModal: setShowDeleteModal })))))),
109
109
  showExtractionMessageModal && (react_1.default.createElement(ExtractionMessageModal_1.ExtractionMessageModal, { isOpen: showExtractionMessageModal, onClose: () => setShowExtractionMessageModal(false), extractionMessageData: extractionMessageData, timestamp: extractionMessageData.length === 0 ? "" : extractionMessageData[0].date })),
110
110
  showDeleteModal && (react_1.default.createElement(DeleteModal_1.default, { entityName: showDeleteModal?.mappingName, onClose: () => setShowDeleteModal(undefined), onDelete: async () => {
111
111
  await onDelete(showDeleteModal);
@@ -1 +1 @@
1
- {"version":3,"file":"MappingsView.js","sourceRoot":"","sources":["../../../../src/components/Mappings/MappingsView.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport React, { useCallback, useMemo, useState } from \"react\";\nimport type { Alert } from \"@itwin/itwinui-react\";\nimport { Button, IconButton, List } from \"@itwin/itwinui-react\";\nimport { SvgAdd, SvgImport, SvgPlay, SvgRefresh } from \"@itwin/itwinui-icons-react\";\nimport { EmptyMessage } from \"../SharedComponents/EmptyMessage\";\nimport { LoadingOverlay } from \"../SharedComponents/LoadingOverlay\";\nimport \"./MappingsView.scss\";\nimport DeleteModal from \"../SharedComponents/DeleteModal\";\nimport { MappingImportWizardModal } from \"./Import/MappingImportWizardModal\";\nimport type { Mapping } from \"@itwin/insights-client\";\nimport { BlockingOverlay } from \"./BlockingOverlay\";\nimport type { ExtractionStatusData } from \"./Extraction/ExtractionStatusIcon\";\nimport { ExtractionStatusIcon } from \"./Extraction/ExtractionStatusIcon\";\nimport { MappingListItem } from \"./MappingListItem\";\nimport type { ExtractionMessageData } from \"./Extraction/ExtractionMessageModal\";\nimport { ExtractionMessageModal } from \"./Extraction/ExtractionMessageModal\";\nimport { BeEvent } from \"@itwin/core-bentley\";\nimport { useExtractionStateJobContext } from \"../context/ExtractionStateJobContext\";\nimport { useGroupingMappingApiConfig } from \"../context/GroupingApiConfigContext\";\nimport { useRunExtraction } from \"./hooks/useRunExtraction\";\n\nexport const mappingViewDefaultDisplayStrings = {\n mappings: \"Mappings\",\n iTwins: \"iTwins\",\n iTwinNumber: \"Number\",\n iTwinName: \"Name\",\n iTwinStatus: \"Status\",\n iModels: \"iModels\",\n iModelName: \"Name\",\n iModelDescription: \"Description\",\n};\n\n/**\n * @internal\n */\nexport interface MappingsViewProps {\n mappings: Mapping[];\n isLoading: boolean;\n extractionStatusData: ExtractionStatusData;\n showExtractionMessageModal: boolean;\n extractionMessageData: ExtractionMessageData[];\n setShowExtractionMessageModal: (show: boolean) => void;\n isTogglingExtraction: boolean;\n onRefreshMappings: () => Promise<void>;\n onRefreshExtractionStatus: () => Promise<void>;\n onToggleExtraction: (mapping: Mapping) => Promise<void>;\n onDelete: (mapping: Mapping) => Promise<void>;\n showDeleteModal: Mapping | undefined;\n setShowDeleteModal: (mapping?: Mapping) => void;\n displayStrings?: Partial<typeof mappingViewDefaultDisplayStrings>;\n showImportModal?: boolean;\n setShowImportModal?: (show: boolean) => void;\n onClickAddMapping?: () => void;\n onClickMappingTitle?: (mapping: Mapping) => void;\n onClickMappingModify?: (mapping: Mapping) => void;\n alert?: React.ReactElement<typeof Alert>;\n initialStateExtractionFlag?: boolean;\n setInitialExtractionStateFlag?: (initialStateExtractionFlag: boolean) => void;\n}\n\n/**\n * UI Component to list mappings and handle extraction.\n * @internal\n */\nexport const MappingsView = ({\n mappings,\n isLoading,\n extractionStatusData,\n showExtractionMessageModal,\n extractionMessageData,\n setShowExtractionMessageModal,\n isTogglingExtraction,\n onRefreshMappings,\n onRefreshExtractionStatus,\n onToggleExtraction,\n onDelete,\n showDeleteModal,\n setShowDeleteModal,\n displayStrings: userDisplayStrings,\n showImportModal,\n setShowImportModal,\n onClickAddMapping,\n onClickMappingTitle,\n onClickMappingModify,\n alert,\n}: MappingsViewProps) => {\n const displayStrings = React.useMemo(() => ({ ...mappingViewDefaultDisplayStrings, ...userDisplayStrings }), [userDisplayStrings]);\n const [selectedMappings, setSelectedMappings] = useState<Mapping[]>([]);\n const groupingMappingApiConfig = useGroupingMappingApiConfig();\n const { mappingIdJobInfo } = useExtractionStateJobContext();\n const { runExtraction } = useRunExtraction(groupingMappingApiConfig);\n\n const jobStartEvent = useMemo(() => new BeEvent<(mappingId: string) => void>(), []);\n\n const refreshAll = useCallback(async () => {\n await Promise.all([onRefreshMappings(), onRefreshExtractionStatus()]);\n }, [onRefreshMappings, onRefreshExtractionStatus]);\n\n const onSelectionChange = (mapping: Mapping) => {\n setSelectedMappings((mappingIdList) => {\n return mappingIdList.some((eachId) => mapping.id === eachId.id)\n ? mappingIdList.filter((eachId) => mapping.id !== eachId.id)\n : [...mappingIdList, mapping];\n });\n };\n\n const onRunExtraction = useCallback(async () => {\n await runExtraction(selectedMappings);\n selectedMappings.map((mapping) => {\n jobStartEvent.raiseEvent(mapping.id);\n });\n setSelectedMappings([]);\n }, [selectedMappings, jobStartEvent, runExtraction]);\n\n return (\n <>\n <BlockingOverlay isVisible={isTogglingExtraction} />\n <div className=\"gmw-mappings-view-container\">\n <div className=\"gmw-table-toolbar\">\n <div className=\"gmw-button-spacing\">\n {onClickAddMapping && (\n <Button startIcon={<SvgAdd />} onClick={onClickAddMapping} styleType=\"high-visibility\" title=\"New Mapping\">\n New\n </Button>\n )}\n {showImportModal !== undefined && setShowImportModal && (\n <IconButton title={`Import ${displayStrings.mappings}`} onClick={() => setShowImportModal(true)}>\n <SvgImport />\n </IconButton>\n )}\n <IconButton title=\"Run extraction\" onClick={onRunExtraction} disabled={selectedMappings.length === 0}>\n <SvgPlay />\n </IconButton>\n </div>\n <div className=\"gmw-button-spacing\">\n <ExtractionStatusIcon\n iconStatus={extractionStatusData.iconStatus}\n onClick={() => {\n if (extractionStatusData.iconStatus === \"negative\") {\n setShowExtractionMessageModal(true);\n }\n }}\n iconMessage={extractionStatusData.iconMessage}\n />\n <IconButton title=\"Refresh\" onClick={refreshAll} disabled={isLoading} styleType=\"borderless\">\n <SvgRefresh />\n </IconButton>\n </div>\n </div>\n {alert}\n <div className=\"gmw-mappings-border\" />\n {isLoading ? (\n <LoadingOverlay />\n ) : mappings.length === 0 ? (\n <EmptyMessage message={`No ${displayStrings.mappings} available.`} />\n ) : (\n <List className=\"gmw-mappings-list\">\n {mappings.map((mapping) => (\n <MappingListItem\n key={mapping.id}\n mapping={mapping}\n jobId={mappingIdJobInfo?.get(mapping.id) ?? \"\"}\n jobStartEvent={jobStartEvent}\n onClickMappingTitle={onClickMappingTitle}\n onSelectionChange={onSelectionChange}\n selected={selectedMappings.some((eachMapping) => mapping.id === eachMapping.id)}\n onToggleExtraction={onToggleExtraction}\n onRefreshMappings={onRefreshMappings}\n onClickMappingModify={onClickMappingModify}\n setShowDeleteModal={setShowDeleteModal}\n />\n ))}\n </List>\n )}\n </div>\n {showExtractionMessageModal && (\n <ExtractionMessageModal\n isOpen={showExtractionMessageModal}\n onClose={() => setShowExtractionMessageModal(false)}\n extractionMessageData={extractionMessageData}\n timestamp={extractionMessageData.length === 0 ? \"\" : extractionMessageData[0].date}\n />\n )}\n {showDeleteModal && (\n <DeleteModal\n entityName={showDeleteModal?.mappingName}\n onClose={() => setShowDeleteModal(undefined)}\n onDelete={async () => {\n await onDelete(showDeleteModal);\n }}\n />\n )}\n {showImportModal && setShowImportModal && (\n <MappingImportWizardModal show={showImportModal} setShow={setShowImportModal} onFinish={onRefreshMappings} displayStrings={displayStrings} />\n )}\n </>\n );\n};\n"]}
1
+ {"version":3,"file":"MappingsView.js","sourceRoot":"","sources":["../../../../src/components/Mappings/MappingsView.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport React, { useCallback, useMemo, useState } from \"react\";\nimport type { Alert } from \"@itwin/itwinui-react\";\nimport { Button, IconButton, List } from \"@itwin/itwinui-react\";\nimport { SvgAdd, SvgImport, SvgPlay, SvgRefresh } from \"@itwin/itwinui-icons-react\";\nimport { EmptyMessage } from \"../SharedComponents/EmptyMessage\";\nimport { LoadingOverlay } from \"../SharedComponents/LoadingOverlay\";\nimport \"./MappingsView.scss\";\nimport DeleteModal from \"../SharedComponents/DeleteModal\";\nimport { MappingImportWizardModal } from \"./Import/MappingImportWizardModal\";\nimport type { Mapping } from \"@itwin/insights-client\";\nimport { BlockingOverlay } from \"./BlockingOverlay\";\nimport type { ExtractionStatusData } from \"./Extraction/ExtractionStatusIcon\";\nimport { ExtractionStatusIcon } from \"./Extraction/ExtractionStatusIcon\";\nimport { MappingListItem } from \"./MappingListItem\";\nimport type { ExtractionMessageData } from \"./Extraction/ExtractionMessageModal\";\nimport { ExtractionMessageModal } from \"./Extraction/ExtractionMessageModal\";\nimport { BeEvent } from \"@itwin/core-bentley\";\nimport { useExtractionStateJobContext } from \"../context/ExtractionStateJobContext\";\nimport { useGroupingMappingApiConfig } from \"../context/GroupingApiConfigContext\";\nimport { useRunExtraction } from \"./hooks/useRunExtraction\";\n\nexport const mappingViewDefaultDisplayStrings = {\n mappings: \"Mappings\",\n iTwins: \"iTwins\",\n iTwinNumber: \"Number\",\n iTwinName: \"Name\",\n iTwinStatus: \"Status\",\n iModels: \"iModels\",\n iModelName: \"Name\",\n iModelDescription: \"Description\",\n};\n\n/**\n * @internal\n */\nexport interface MappingsViewProps {\n mappings: Mapping[];\n isLoading: boolean;\n extractionStatusData: ExtractionStatusData;\n showExtractionMessageModal: boolean;\n extractionMessageData: ExtractionMessageData[];\n setShowExtractionMessageModal: (show: boolean) => void;\n isTogglingExtraction: boolean;\n onRefreshMappings: () => Promise<void>;\n onRefreshExtractionStatus: () => Promise<void>;\n onToggleExtraction: (mapping: Mapping) => Promise<void>;\n onDelete: (mapping: Mapping) => Promise<void>;\n showDeleteModal: Mapping | undefined;\n setShowDeleteModal: (mapping?: Mapping) => void;\n displayStrings?: Partial<typeof mappingViewDefaultDisplayStrings>;\n showImportModal?: boolean;\n setShowImportModal?: (show: boolean) => void;\n onClickAddMapping?: () => void;\n onClickMappingTitle?: (mapping: Mapping) => void;\n onClickMappingModify?: (mapping: Mapping) => void;\n alert?: React.ReactElement<typeof Alert>;\n initialStateExtractionFlag?: boolean;\n setInitialExtractionStateFlag?: (initialStateExtractionFlag: boolean) => void;\n}\n\n/**\n * UI Component to list mappings and handle extraction.\n * @internal\n */\nexport const MappingsView = ({\n mappings,\n isLoading,\n extractionStatusData,\n showExtractionMessageModal,\n extractionMessageData,\n setShowExtractionMessageModal,\n isTogglingExtraction,\n onRefreshMappings,\n onRefreshExtractionStatus,\n onToggleExtraction,\n onDelete,\n showDeleteModal,\n setShowDeleteModal,\n displayStrings: userDisplayStrings,\n showImportModal,\n setShowImportModal,\n onClickAddMapping,\n onClickMappingTitle,\n onClickMappingModify,\n alert,\n}: MappingsViewProps) => {\n const displayStrings = React.useMemo(() => ({ ...mappingViewDefaultDisplayStrings, ...userDisplayStrings }), [userDisplayStrings]);\n const [selectedMappings, setSelectedMappings] = useState<Mapping[]>([]);\n const groupingMappingApiConfig = useGroupingMappingApiConfig();\n const { mappingIdJobInfo } = useExtractionStateJobContext();\n const { runExtraction } = useRunExtraction(groupingMappingApiConfig);\n\n const jobStartEvent = useMemo(() => new BeEvent<(mappingId: string) => void>(), []);\n\n const refreshAll = useCallback(async () => {\n await Promise.all([onRefreshMappings(), onRefreshExtractionStatus()]);\n }, [onRefreshMappings, onRefreshExtractionStatus]);\n\n const onSelectionChange = (mapping: Mapping) => {\n setSelectedMappings((mappingIdList) => {\n return mappingIdList.some((eachId) => mapping.id === eachId.id)\n ? mappingIdList.filter((eachId) => mapping.id !== eachId.id)\n : [...mappingIdList, mapping];\n });\n };\n\n const onRunExtraction = useCallback(async () => {\n await runExtraction(selectedMappings);\n selectedMappings.map((mapping) => {\n jobStartEvent.raiseEvent(mapping.id);\n });\n setSelectedMappings([]);\n }, [selectedMappings, jobStartEvent, runExtraction]);\n\n return (\n <>\n <BlockingOverlay isVisible={isTogglingExtraction} />\n <div className=\"gmw-mappings-view-container\">\n <div className=\"gmw-table-toolbar\">\n <div className=\"gmw-button-spacing\">\n {onClickAddMapping && (\n <Button startIcon={<SvgAdd />} onClick={onClickAddMapping} styleType=\"high-visibility\" title=\"New Mapping\">\n New\n </Button>\n )}\n {showImportModal !== undefined && setShowImportModal && (\n <IconButton title={`Import ${displayStrings.mappings}`} onClick={() => setShowImportModal(true)}>\n <SvgImport />\n </IconButton>\n )}\n <IconButton title=\"Run extraction\" onClick={onRunExtraction} disabled={selectedMappings.length === 0}>\n <SvgPlay />\n </IconButton>\n </div>\n <div className=\"gmw-button-spacing\">\n <ExtractionStatusIcon\n iconStatus={extractionStatusData.iconStatus}\n onClick={() => {\n if (extractionStatusData.iconStatus === \"negative\") {\n setShowExtractionMessageModal(true);\n }\n }}\n iconMessage={extractionStatusData.iconMessage}\n />\n <IconButton title=\"Refresh\" onClick={refreshAll} disabled={isLoading} styleType=\"borderless\">\n <SvgRefresh />\n </IconButton>\n </div>\n </div>\n {alert}\n <div className=\"gmw-mappings-border\" />\n {isLoading && !isTogglingExtraction ? (\n <LoadingOverlay />\n ) : mappings.length === 0 ? (\n <EmptyMessage message={`No ${displayStrings.mappings} available.`} />\n ) : (\n <List className=\"gmw-mappings-list\">\n {mappings.map((mapping) => (\n <MappingListItem\n key={mapping.id}\n mapping={mapping}\n jobId={mappingIdJobInfo?.get(mapping.id) ?? \"\"}\n jobStartEvent={jobStartEvent}\n onClickMappingTitle={onClickMappingTitle}\n onSelectionChange={onSelectionChange}\n selected={selectedMappings.some((eachMapping) => mapping.id === eachMapping.id)}\n onToggleExtraction={onToggleExtraction}\n onRefreshMappings={onRefreshMappings}\n onClickMappingModify={onClickMappingModify}\n setShowDeleteModal={setShowDeleteModal}\n />\n ))}\n </List>\n )}\n </div>\n {showExtractionMessageModal && (\n <ExtractionMessageModal\n isOpen={showExtractionMessageModal}\n onClose={() => setShowExtractionMessageModal(false)}\n extractionMessageData={extractionMessageData}\n timestamp={extractionMessageData.length === 0 ? \"\" : extractionMessageData[0].date}\n />\n )}\n {showDeleteModal && (\n <DeleteModal\n entityName={showDeleteModal?.mappingName}\n onClose={() => setShowDeleteModal(undefined)}\n onDelete={async () => {\n await onDelete(showDeleteModal);\n }}\n />\n )}\n {showImportModal && setShowImportModal && (\n <MappingImportWizardModal show={showImportModal} setShow={setShowImportModal} onFinish={onRefreshMappings} displayStrings={displayStrings} />\n )}\n </>\n );\n};\n"]}
@@ -2,6 +2,7 @@
2
2
  import "./CalculatedPropertyAction.scss";
3
3
  import type { Group, Property } from "@itwin/insights-client";
4
4
  /**
5
+ * @deprecated in 0.27.0 The CalculatedPropertyActionProps has been superseded by the CalculatedPropertyActionWithVisualsProps and should not be used, use GroupPropertyActionProps and GroupPropertyAction component instead.
5
6
  * Props for the {@link CalculatedPropertyAction} component.
6
7
  * @public
7
8
  */
@@ -13,6 +14,7 @@ export interface CalculatedPropertyActionProps {
13
14
  onClickCancel?: () => void;
14
15
  }
15
16
  /**
17
+ * @deprecated in 0.27.0 The CalculatedPropertyAction has been superseded by the CalculatedPropertyActionWithVisuals and should not be used as a stand alone component, use GroupPropertyAction component instead.
16
18
  * Component to create or update a calculated property.
17
19
  * @public
18
20
  */
@@ -42,6 +42,7 @@ const GroupingApiConfigContext_1 = require("../../context/GroupingApiConfigConte
42
42
  const react_query_1 = require("@tanstack/react-query");
43
43
  const PropertiesClientContext_1 = require("../../context/PropertiesClientContext");
44
44
  /**
45
+ * @deprecated in 0.27.0 The CalculatedPropertyAction has been superseded by the CalculatedPropertyActionWithVisuals and should not be used as a stand alone component, use GroupPropertyAction component instead.
45
46
  * Component to create or update a calculated property.
46
47
  * @public
47
48
  */
@@ -86,7 +87,7 @@ const CalculatedPropertyAction = ({ mappingId, group, calculatedProperty, onSave
86
87
  react_1.default.createElement(itwinui_react_1.Fieldset, { legend: "Calculated Property Details", className: "gmw-details-form" },
87
88
  react_1.default.createElement("div", { className: "gmw-field-legend-container" },
88
89
  react_1.default.createElement(itwinui_react_1.Text, { variant: "small", as: "small", className: "gmw-field-legend" }, "Asterisk * indicates mandatory fields.")),
89
- react_1.default.createElement(SharedCalculatedPropertyForms_1.SharedCalculatedPropertyForms, { validator: validator, propertyName: propertyName, setPropertyName: setPropertyName, type: type, setType: setType }))),
90
+ react_1.default.createElement(SharedCalculatedPropertyForms_1.SharedCalculatedPropertyForms, { calculatedPropertyType: type, setCalculatedPropertyType: setType }))),
90
91
  react_1.default.createElement(ActionPanel_1.default, { onSave: onSave, onCancel: onClickCancel, isSavingDisabled: !(type && propertyName), isLoading: isLoading })));
91
92
  };
92
93
  exports.CalculatedPropertyAction = CalculatedPropertyAction;
@@ -1 +1 @@
1
- {"version":3,"file":"CalculatedPropertyAction.js","sourceRoot":"","sources":["../../../../../src/components/Properties/CalculatedProperties/CalculatedPropertyAction.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport { Fieldset, Text } from \"@itwin/itwinui-react\";\nimport React, { useState } from \"react\";\nimport ActionPanel from \"../../SharedComponents/ActionPanel\";\nimport useValidator from \"../hooks/useValidator\";\nimport \"./CalculatedPropertyAction.scss\";\nimport type { CalculatedPropertyType, Group, Property } from \"@itwin/insights-client\";\nimport { DataType } from \"@itwin/insights-client\";\nimport { SharedCalculatedPropertyForms } from \"./SharedCalculatedPropertyForms\";\nimport { useGroupingMappingApiConfig } from \"../../context/GroupingApiConfigContext\";\nimport { useMutation, useQueryClient } from \"@tanstack/react-query\";\nimport { usePropertiesClient } from \"../../context/PropertiesClientContext\";\n\n/**\n * Props for the {@link CalculatedPropertyAction} component.\n * @public\n */\nexport interface CalculatedPropertyActionProps {\n mappingId: string;\n group: Group;\n calculatedProperty?: Property;\n onSaveSuccess: () => void;\n onClickCancel?: () => void;\n}\n\n/**\n * Component to create or update a calculated property.\n * @public\n */\nexport const CalculatedPropertyAction = ({ mappingId, group, calculatedProperty, onSaveSuccess, onClickCancel }: CalculatedPropertyActionProps) => {\n const { getAccessToken, iModelId } = useGroupingMappingApiConfig();\n const propertiesClient = usePropertiesClient();\n const [propertyName, setPropertyName] = useState<string>(calculatedProperty?.propertyName ?? \"\");\n const [type, setType] = useState<CalculatedPropertyType | undefined>(calculatedProperty?.calculatedPropertyType ?? undefined);\n const [validator, showValidationMessage] = useValidator();\n const queryClient = useQueryClient();\n\n const { mutate: saveMutation, isLoading } = useMutation(\n async (type: CalculatedPropertyType) => {\n const accessToken = await getAccessToken();\n\n return calculatedProperty\n ? propertiesClient.updateProperty(accessToken, mappingId, group.id, calculatedProperty.id, {\n ...calculatedProperty,\n propertyName,\n dataType: calculatedProperty.dataType,\n calculatedPropertyType: type,\n })\n : propertiesClient.createProperty(accessToken, mappingId, group.id, {\n propertyName,\n dataType: DataType.Double,\n calculatedPropertyType: type,\n });\n },\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries({ queryKey: [\"properties\", iModelId, mappingId, group.id] });\n onSaveSuccess();\n setPropertyName(\"\");\n setType(undefined);\n },\n },\n );\n\n const onSave = () => {\n if (!validator.allValid() || !type) {\n showValidationMessage(true);\n return;\n }\n\n saveMutation(type);\n };\n\n return (\n <>\n <div className=\"gmw-calculated-properties-action-container\">\n <Fieldset legend=\"Calculated Property Details\" className=\"gmw-details-form\">\n <div className=\"gmw-field-legend-container\">\n <Text variant=\"small\" as=\"small\" className=\"gmw-field-legend\">\n Asterisk * indicates mandatory fields.\n </Text>\n </div>\n <SharedCalculatedPropertyForms validator={validator} propertyName={propertyName} setPropertyName={setPropertyName} type={type} setType={setType} />\n </Fieldset>\n </div>\n <ActionPanel onSave={onSave} onCancel={onClickCancel} isSavingDisabled={!(type && propertyName)} isLoading={isLoading} />\n </>\n );\n};\n"]}
1
+ {"version":3,"file":"CalculatedPropertyAction.js","sourceRoot":"","sources":["../../../../../src/components/Properties/CalculatedProperties/CalculatedPropertyAction.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport { Fieldset, Text } from \"@itwin/itwinui-react\";\nimport React, { useState } from \"react\";\nimport ActionPanel from \"../../SharedComponents/ActionPanel\";\nimport useValidator from \"../hooks/useValidator\";\nimport \"./CalculatedPropertyAction.scss\";\nimport type { CalculatedPropertyType, Group, Property } from \"@itwin/insights-client\";\nimport { DataType } from \"@itwin/insights-client\";\nimport { SharedCalculatedPropertyForms } from \"./SharedCalculatedPropertyForms\";\nimport { useGroupingMappingApiConfig } from \"../../context/GroupingApiConfigContext\";\nimport { useMutation, useQueryClient } from \"@tanstack/react-query\";\nimport { usePropertiesClient } from \"../../context/PropertiesClientContext\";\n\n/**\n * @deprecated in 0.27.0 The CalculatedPropertyActionProps has been superseded by the CalculatedPropertyActionWithVisualsProps and should not be used, use GroupPropertyActionProps and GroupPropertyAction component instead.\n * Props for the {@link CalculatedPropertyAction} component.\n * @public\n */\nexport interface CalculatedPropertyActionProps {\n mappingId: string;\n group: Group;\n calculatedProperty?: Property;\n onSaveSuccess: () => void;\n onClickCancel?: () => void;\n}\n\n/**\n * @deprecated in 0.27.0 The CalculatedPropertyAction has been superseded by the CalculatedPropertyActionWithVisuals and should not be used as a stand alone component, use GroupPropertyAction component instead.\n * Component to create or update a calculated property.\n * @public\n */\nexport const CalculatedPropertyAction = ({ mappingId, group, calculatedProperty, onSaveSuccess, onClickCancel }: CalculatedPropertyActionProps) => {\n const { getAccessToken, iModelId } = useGroupingMappingApiConfig();\n const propertiesClient = usePropertiesClient();\n const [propertyName, setPropertyName] = useState<string>(calculatedProperty?.propertyName ?? \"\");\n const [type, setType] = useState<CalculatedPropertyType | undefined>(calculatedProperty?.calculatedPropertyType ?? undefined);\n const [validator, showValidationMessage] = useValidator();\n const queryClient = useQueryClient();\n\n const { mutate: saveMutation, isLoading } = useMutation(\n async (type: CalculatedPropertyType) => {\n const accessToken = await getAccessToken();\n\n return calculatedProperty\n ? propertiesClient.updateProperty(accessToken, mappingId, group.id, calculatedProperty.id, {\n ...calculatedProperty,\n propertyName,\n dataType: calculatedProperty.dataType,\n calculatedPropertyType: type,\n })\n : propertiesClient.createProperty(accessToken, mappingId, group.id, {\n propertyName,\n dataType: DataType.Double,\n calculatedPropertyType: type,\n });\n },\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries({ queryKey: [\"properties\", iModelId, mappingId, group.id] });\n onSaveSuccess();\n setPropertyName(\"\");\n setType(undefined);\n },\n },\n );\n\n const onSave = () => {\n if (!validator.allValid() || !type) {\n showValidationMessage(true);\n return;\n }\n\n saveMutation(type);\n };\n\n return (\n <>\n <div className=\"gmw-calculated-properties-action-container\">\n <Fieldset legend=\"Calculated Property Details\" className=\"gmw-details-form\">\n <div className=\"gmw-field-legend-container\">\n <Text variant=\"small\" as=\"small\" className=\"gmw-field-legend\">\n Asterisk * indicates mandatory fields.\n </Text>\n </div>\n <SharedCalculatedPropertyForms calculatedPropertyType={type} setCalculatedPropertyType={setType} />\n </Fieldset>\n </div>\n <ActionPanel onSave={onSave} onCancel={onClickCancel} isSavingDisabled={!(type && propertyName)} isLoading={isLoading} />\n </>\n );\n};\n"]}
@@ -1,20 +1,19 @@
1
1
  /// <reference types="react" />
2
2
  import "./CalculatedPropertyActionWithVisuals.scss";
3
- import type { GroupMinimal, Property } from "@itwin/insights-client";
3
+ import type { CalculatedPropertyType, GroupMinimal } from "@itwin/insights-client";
4
4
  /**
5
5
  * Props for the {@link CalculatedPropertyActionWithVisuals} component.
6
- * @public
6
+ * @internal
7
7
  */
8
8
  export interface CalculatedPropertyActionWithVisualsProps {
9
- mappingId: string;
10
9
  group: GroupMinimal;
11
- calculatedProperty?: Property;
12
- onSaveSuccess: () => void;
13
- onClickCancel?: () => void;
10
+ calculatedPropertyType?: CalculatedPropertyType;
11
+ isLoading?: boolean;
12
+ setCalculatedPropertyType: (calculatedPropertyType: CalculatedPropertyType | undefined) => void;
14
13
  }
15
14
  /**
16
15
  * Component to create or update a calculated property with visualizations.
17
- * @public
16
+ * @internal
18
17
  */
19
- export declare const CalculatedPropertyActionWithVisuals: ({ mappingId, group, calculatedProperty, onSaveSuccess, onClickCancel, }: CalculatedPropertyActionWithVisualsProps) => JSX.Element;
18
+ export declare const CalculatedPropertyActionWithVisuals: ({ group, calculatedPropertyType, isLoading, setCalculatedPropertyType, }: CalculatedPropertyActionWithVisualsProps) => JSX.Element;
20
19
  //# sourceMappingURL=CalculatedPropertyActionWithVisuals.d.ts.map
@@ -22,9 +22,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
25
  Object.defineProperty(exports, "__esModule", { value: true });
29
26
  exports.CalculatedPropertyActionWithVisuals = void 0;
30
27
  /*---------------------------------------------------------------------------------------------
@@ -34,35 +31,25 @@ exports.CalculatedPropertyActionWithVisuals = void 0;
34
31
  const core_frontend_1 = require("@itwin/core-frontend");
35
32
  const itwinui_react_1 = require("@itwin/itwinui-react");
36
33
  const react_1 = __importStar(require("react"));
37
- const ActionPanel_1 = __importDefault(require("../../SharedComponents/ActionPanel"));
38
34
  const BboxDimensionsDecorator_1 = require("../../../decorators/BboxDimensionsDecorator");
39
- const useValidator_1 = __importDefault(require("../hooks/useValidator"));
40
35
  const viewerUtils_1 = require("../../../common/viewerUtils");
41
36
  require("./CalculatedPropertyActionWithVisuals.scss");
42
37
  const GroupingApiConfigContext_1 = require("../../context/GroupingApiConfigContext");
43
- const insights_client_1 = require("@itwin/insights-client");
44
38
  const SharedCalculatedPropertyForms_1 = require("./SharedCalculatedPropertyForms");
45
39
  const useKeySetHiliteQueries_1 = require("../../Groups/hooks/useKeySetHiliteQueries");
46
- const react_query_1 = require("@tanstack/react-query");
47
- const PropertiesClientContext_1 = require("../../context/PropertiesClientContext");
48
40
  /**
49
41
  * Component to create or update a calculated property with visualizations.
50
- * @public
42
+ * @internal
51
43
  */
52
- const CalculatedPropertyActionWithVisuals = ({ mappingId, group, calculatedProperty, onSaveSuccess, onClickCancel, }) => {
53
- const { getAccessToken, iModelId, iModelConnection } = (0, GroupingApiConfigContext_1.useGroupingMappingApiConfig)();
44
+ const CalculatedPropertyActionWithVisuals = ({ group, calculatedPropertyType, isLoading, setCalculatedPropertyType, }) => {
45
+ const { iModelConnection } = (0, GroupingApiConfigContext_1.useGroupingMappingApiConfig)();
54
46
  if (!iModelConnection) {
55
47
  throw new Error("This component requires an active iModelConnection.");
56
48
  }
57
- const propertiesClient = (0, PropertiesClientContext_1.usePropertiesClient)();
58
- const [propertyName, setPropertyName] = (0, react_1.useState)(calculatedProperty?.propertyName ?? "");
59
- const [type, setType] = (0, react_1.useState)(calculatedProperty?.calculatedPropertyType);
60
49
  const [bboxDecorator, setBboxDecorator] = (0, react_1.useState)();
61
50
  const [inferredSpatialData, setInferredSpatialData] = (0, react_1.useState)();
62
- const [validator, showValidationMessage] = (0, useValidator_1.default)();
63
51
  const [colorProperty, setColorProperty] = (0, react_1.useState)(false);
64
52
  const { data } = (0, useKeySetHiliteQueries_1.useGroupKeySetQuery)(group, iModelConnection, true);
65
- const queryClient = (0, react_query_1.useQueryClient)();
66
53
  const resolvedHiliteIds = (0, react_1.useMemo)(() => {
67
54
  // Resolved ids, default to an empty array if not available
68
55
  return data?.result?.ids ?? [];
@@ -77,10 +64,11 @@ const CalculatedPropertyActionWithVisuals = ({ mappingId, group, calculatedPrope
77
64
  }, []);
78
65
  (0, react_1.useEffect)(() => {
79
66
  if (!colorProperty || resolvedHiliteIds.length === 0) {
67
+ (0, viewerUtils_1.clearAll)();
80
68
  return;
81
69
  }
82
70
  (0, viewerUtils_1.visualizeElements)(resolvedHiliteIds, "red");
83
- void (0, viewerUtils_1.zoomToElements)(resolvedHiliteIds);
71
+ void (0, viewerUtils_1.zoomToElements)([resolvedHiliteIds[0]]);
84
72
  }, [colorProperty, resolvedHiliteIds]);
85
73
  (0, react_1.useEffect)(() => {
86
74
  if (!colorProperty || resolvedHiliteIds.length === 0) {
@@ -95,54 +83,26 @@ const CalculatedPropertyActionWithVisuals = ({ mappingId, group, calculatedPrope
95
83
  void setContext();
96
84
  }, [bboxDecorator, colorProperty, resolvedHiliteIds]);
97
85
  (0, react_1.useEffect)(() => {
98
- if (bboxDecorator && type && inferredSpatialData) {
99
- inferredSpatialData.has(BboxDimensionsDecorator_1.BboxDimension[type]) && colorProperty
100
- ? bboxDecorator.drawContext(BboxDimensionsDecorator_1.BboxDimension[type])
86
+ if (bboxDecorator && calculatedPropertyType && inferredSpatialData) {
87
+ inferredSpatialData.has(BboxDimensionsDecorator_1.BboxDimension[calculatedPropertyType]) && colorProperty
88
+ ? bboxDecorator.drawContext(BboxDimensionsDecorator_1.BboxDimension[calculatedPropertyType])
101
89
  : bboxDecorator.clearContext();
102
90
  }
103
- }, [bboxDecorator, colorProperty, inferredSpatialData, type]);
104
- const { mutate: saveMutation, isLoading } = (0, react_query_1.useMutation)(async (type) => {
105
- const accessToken = await getAccessToken();
106
- return calculatedProperty
107
- ? propertiesClient.updateProperty(accessToken, mappingId, group.id, calculatedProperty.id, {
108
- propertyName,
109
- dataType: calculatedProperty.dataType,
110
- calculatedPropertyType: type,
111
- })
112
- : propertiesClient.createProperty(accessToken, mappingId, group.id, {
113
- propertyName,
114
- dataType: insights_client_1.DataType.Double,
115
- calculatedPropertyType: type,
116
- });
117
- }, {
118
- onSuccess: async () => {
119
- await queryClient.invalidateQueries({ queryKey: ["properties", iModelId, mappingId, group.id] });
120
- onSaveSuccess();
121
- setPropertyName("");
122
- setType(undefined);
123
- },
124
- });
125
- const onSave = () => {
126
- if (!validator.allValid() || !type) {
127
- showValidationMessage(true);
128
- return;
91
+ else {
92
+ bboxDecorator?.clearContext();
129
93
  }
130
- saveMutation(type);
131
- };
132
- const getSpatialData = (value) => inferredSpatialData?.has(BboxDimensionsDecorator_1.BboxDimension[value]) && (react_1.default.createElement("div", null, `${inferredSpatialData?.get(BboxDimensionsDecorator_1.BboxDimension[value])?.toPrecision(4)}m`));
133
- return (react_1.default.createElement(react_1.default.Fragment, null,
134
- react_1.default.createElement("div", { className: "gmw-calculated-properties-action-container" },
135
- react_1.default.createElement(itwinui_react_1.Fieldset, { legend: "Calculated Property Details", className: "gmw-details-form" },
136
- react_1.default.createElement("div", { className: "gmw-field-legend-container" },
137
- react_1.default.createElement(itwinui_react_1.Text, { variant: "small", as: "small", className: "gmw-field-legend" }, "Asterisk * indicates mandatory fields."),
138
- react_1.default.createElement(itwinui_react_1.ToggleSwitch, { label: "Visualize Dimensions", labelPosition: "left", disabled: isLoading, checked: colorProperty, onChange: () => setColorProperty((b) => !b) })),
139
- react_1.default.createElement(SharedCalculatedPropertyForms_1.SharedCalculatedPropertyForms, { validator: validator, propertyName: propertyName, setPropertyName: setPropertyName, type: type, setType: setType, itemRenderer: (option) => (react_1.default.createElement(itwinui_react_1.MenuItem, null,
140
- react_1.default.createElement("div", { className: "gmw-gr-cp-menu-item" },
141
- react_1.default.createElement("div", null, option.label),
142
- getSpatialData(option.value)))), selectedItemRenderer: (option) => (react_1.default.createElement("div", { className: "gmw-select-item" },
94
+ }, [bboxDecorator, colorProperty, inferredSpatialData, calculatedPropertyType]);
95
+ const getSpatialData = (value) => value &&
96
+ inferredSpatialData?.has(BboxDimensionsDecorator_1.BboxDimension[value]) && (react_1.default.createElement("div", null, `${inferredSpatialData?.get(BboxDimensionsDecorator_1.BboxDimension[value])?.toPrecision(4)}m`));
97
+ return (react_1.default.createElement("div", { className: "gmw-calculated-properties-action-container" },
98
+ react_1.default.createElement(itwinui_react_1.InputGroup, { className: "gmw-details-form" },
99
+ react_1.default.createElement(itwinui_react_1.ToggleSwitch, { className: "gmw-field-legend-container", label: "Visualize Dimensions", labelPosition: "left", disabled: isLoading, checked: colorProperty, onChange: () => setColorProperty((b) => !b) }),
100
+ react_1.default.createElement(SharedCalculatedPropertyForms_1.SharedCalculatedPropertyForms, { calculatedPropertyType: calculatedPropertyType, setCalculatedPropertyType: setCalculatedPropertyType, itemRenderer: (option) => (react_1.default.createElement(itwinui_react_1.MenuItem, null,
101
+ react_1.default.createElement("div", { className: "gmw-gr-cp-menu-item" },
143
102
  react_1.default.createElement("div", null, option.label),
144
- getSpatialData(option.value))) }))),
145
- react_1.default.createElement(ActionPanel_1.default, { onSave: onSave, onCancel: onClickCancel, isSavingDisabled: !(type && propertyName), isLoading: isLoading })));
103
+ getSpatialData(option.value)))), selectedItemRenderer: (option) => (react_1.default.createElement("div", { className: "gmw-select-item" },
104
+ react_1.default.createElement("div", null, option.label),
105
+ getSpatialData(option.value))) }))));
146
106
  };
147
107
  exports.CalculatedPropertyActionWithVisuals = CalculatedPropertyActionWithVisuals;
148
108
  //# sourceMappingURL=CalculatedPropertyActionWithVisuals.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CalculatedPropertyActionWithVisuals.js","sourceRoot":"","sources":["../../../../../src/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport type { SelectOption } from \"@itwin/itwinui-react\";\nimport { Fieldset, MenuItem, Text, ToggleSwitch } from \"@itwin/itwinui-react\";\nimport React, { useEffect, useMemo, useState } from \"react\";\nimport ActionPanel from \"../../SharedComponents/ActionPanel\";\nimport { BboxDimension, BboxDimensionsDecorator } from \"../../../decorators/BboxDimensionsDecorator\";\nimport useValidator from \"../hooks/useValidator\";\nimport { visualizeElements, zoomToElements } from \"../../../common/viewerUtils\";\nimport \"./CalculatedPropertyActionWithVisuals.scss\";\nimport { useGroupingMappingApiConfig } from \"../../context/GroupingApiConfigContext\";\nimport { DataType } from \"@itwin/insights-client\";\nimport type { CalculatedPropertyType, GroupMinimal, Property } from \"@itwin/insights-client\";\nimport { SharedCalculatedPropertyForms } from \"./SharedCalculatedPropertyForms\";\nimport { useGroupKeySetQuery } from \"../../Groups/hooks/useKeySetHiliteQueries\";\nimport { useMutation, useQueryClient } from \"@tanstack/react-query\";\nimport { usePropertiesClient } from \"../../context/PropertiesClientContext\";\n\n/**\n * Props for the {@link CalculatedPropertyActionWithVisuals} component.\n * @public\n */\nexport interface CalculatedPropertyActionWithVisualsProps {\n mappingId: string;\n group: GroupMinimal;\n calculatedProperty?: Property;\n onSaveSuccess: () => void;\n onClickCancel?: () => void;\n}\n\n/**\n * Component to create or update a calculated property with visualizations.\n * @public\n */\nexport const CalculatedPropertyActionWithVisuals = ({\n mappingId,\n group,\n calculatedProperty,\n onSaveSuccess,\n onClickCancel,\n}: CalculatedPropertyActionWithVisualsProps) => {\n const { getAccessToken, iModelId, iModelConnection } = useGroupingMappingApiConfig();\n if (!iModelConnection) {\n throw new Error(\"This component requires an active iModelConnection.\");\n }\n const propertiesClient = usePropertiesClient();\n const [propertyName, setPropertyName] = useState<string>(calculatedProperty?.propertyName ?? \"\");\n const [type, setType] = useState<CalculatedPropertyType | undefined>(calculatedProperty?.calculatedPropertyType);\n const [bboxDecorator, setBboxDecorator] = useState<BboxDimensionsDecorator | undefined>();\n const [inferredSpatialData, setInferredSpatialData] = useState<Map<BboxDimension, number> | undefined>();\n const [validator, showValidationMessage] = useValidator();\n const [colorProperty, setColorProperty] = useState<boolean>(false);\n const { data } = useGroupKeySetQuery(group, iModelConnection, true);\n const queryClient = useQueryClient();\n\n const resolvedHiliteIds = useMemo(() => {\n // Resolved ids, default to an empty array if not available\n return data?.result?.ids ?? [];\n }, [data?.result?.ids]);\n\n useEffect(() => {\n const decorator = new BboxDimensionsDecorator();\n IModelApp.viewManager.addDecorator(decorator);\n setBboxDecorator(decorator);\n return () => {\n IModelApp.viewManager.dropDecorator(decorator);\n };\n }, []);\n\n useEffect(() => {\n if (!colorProperty || resolvedHiliteIds.length === 0) {\n return;\n }\n visualizeElements(resolvedHiliteIds, \"red\");\n void zoomToElements(resolvedHiliteIds);\n }, [colorProperty, resolvedHiliteIds]);\n\n useEffect(() => {\n if (!colorProperty || resolvedHiliteIds.length === 0) {\n return;\n }\n const setContext = async () => {\n if (bboxDecorator) {\n await bboxDecorator.setContext(resolvedHiliteIds[0]);\n setInferredSpatialData(bboxDecorator.getInferredSpatialData());\n }\n };\n void setContext();\n }, [bboxDecorator, colorProperty, resolvedHiliteIds]);\n\n useEffect(() => {\n if (bboxDecorator && type && inferredSpatialData) {\n inferredSpatialData.has(BboxDimension[type as keyof typeof BboxDimension]) && colorProperty\n ? bboxDecorator.drawContext(BboxDimension[type as keyof typeof BboxDimension])\n : bboxDecorator.clearContext();\n }\n }, [bboxDecorator, colorProperty, inferredSpatialData, type]);\n\n const { mutate: saveMutation, isLoading } = useMutation(\n async (type: CalculatedPropertyType) => {\n const accessToken = await getAccessToken();\n\n return calculatedProperty\n ? propertiesClient.updateProperty(accessToken, mappingId, group.id, calculatedProperty.id, {\n propertyName,\n dataType: calculatedProperty.dataType,\n calculatedPropertyType: type,\n })\n : propertiesClient.createProperty(accessToken, mappingId, group.id, {\n propertyName,\n dataType: DataType.Double,\n calculatedPropertyType: type,\n });\n },\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries({ queryKey: [\"properties\", iModelId, mappingId, group.id] });\n onSaveSuccess();\n setPropertyName(\"\");\n setType(undefined);\n },\n },\n );\n\n const onSave = () => {\n if (!validator.allValid() || !type) {\n showValidationMessage(true);\n return;\n }\n\n saveMutation(type);\n };\n\n const getSpatialData = (value: string) =>\n inferredSpatialData?.has(BboxDimension[value as keyof typeof BboxDimension]) && (\n <div>{`${inferredSpatialData?.get(BboxDimension[value as keyof typeof BboxDimension])?.toPrecision(4)}m`}</div>\n );\n\n return (\n <>\n <div className=\"gmw-calculated-properties-action-container\">\n <Fieldset legend=\"Calculated Property Details\" className=\"gmw-details-form\">\n <div className=\"gmw-field-legend-container\">\n <Text variant=\"small\" as=\"small\" className=\"gmw-field-legend\">\n Asterisk * indicates mandatory fields.\n </Text>\n <ToggleSwitch\n label=\"Visualize Dimensions\"\n labelPosition=\"left\"\n disabled={isLoading}\n checked={colorProperty}\n onChange={() => setColorProperty((b) => !b)}\n ></ToggleSwitch>\n </div>\n <SharedCalculatedPropertyForms\n validator={validator}\n propertyName={propertyName}\n setPropertyName={setPropertyName}\n type={type}\n setType={setType}\n itemRenderer={(option: SelectOption<string>) => (\n <MenuItem>\n <div className=\"gmw-gr-cp-menu-item\">\n <div>{option.label}</div>\n {getSpatialData(option.value)}\n </div>\n </MenuItem>\n )}\n selectedItemRenderer={(option: SelectOption<string>) => (\n <div className=\"gmw-select-item\">\n <div>{option.label}</div>\n {getSpatialData(option.value)}\n </div>\n )}\n />\n </Fieldset>\n </div>\n <ActionPanel onSave={onSave} onCancel={onClickCancel} isSavingDisabled={!(type && propertyName)} isLoading={isLoading} />\n </>\n );\n};\n"]}
1
+ {"version":3,"file":"CalculatedPropertyActionWithVisuals.js","sourceRoot":"","sources":["../../../../../src/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport type { SelectOption } from \"@itwin/itwinui-react\";\nimport { InputGroup, MenuItem, ToggleSwitch } from \"@itwin/itwinui-react\";\nimport React, { useEffect, useMemo, useState } from \"react\";\nimport { BboxDimension, BboxDimensionsDecorator } from \"../../../decorators/BboxDimensionsDecorator\";\nimport { clearAll, visualizeElements, zoomToElements } from \"../../../common/viewerUtils\";\nimport \"./CalculatedPropertyActionWithVisuals.scss\";\nimport { useGroupingMappingApiConfig } from \"../../context/GroupingApiConfigContext\";\nimport type { CalculatedPropertyType, GroupMinimal } from \"@itwin/insights-client\";\nimport { SharedCalculatedPropertyForms } from \"./SharedCalculatedPropertyForms\";\nimport { useGroupKeySetQuery } from \"../../Groups/hooks/useKeySetHiliteQueries\";\n\n/**\n * Props for the {@link CalculatedPropertyActionWithVisuals} component.\n * @internal\n */\nexport interface CalculatedPropertyActionWithVisualsProps {\n group: GroupMinimal;\n calculatedPropertyType?: CalculatedPropertyType;\n isLoading?: boolean;\n setCalculatedPropertyType: (calculatedPropertyType: CalculatedPropertyType | undefined) => void;\n}\n\n/**\n * Component to create or update a calculated property with visualizations.\n * @internal\n */\nexport const CalculatedPropertyActionWithVisuals = ({\n group,\n calculatedPropertyType,\n isLoading,\n setCalculatedPropertyType,\n}: CalculatedPropertyActionWithVisualsProps) => {\n const { iModelConnection } = useGroupingMappingApiConfig();\n if (!iModelConnection) {\n throw new Error(\"This component requires an active iModelConnection.\");\n }\n const [bboxDecorator, setBboxDecorator] = useState<BboxDimensionsDecorator | undefined>();\n const [inferredSpatialData, setInferredSpatialData] = useState<Map<BboxDimension, number> | undefined>();\n const [colorProperty, setColorProperty] = useState<boolean>(false);\n const { data } = useGroupKeySetQuery(group, iModelConnection, true);\n\n const resolvedHiliteIds = useMemo(() => {\n // Resolved ids, default to an empty array if not available\n return data?.result?.ids ?? [];\n }, [data?.result?.ids]);\n\n useEffect(() => {\n const decorator = new BboxDimensionsDecorator();\n IModelApp.viewManager.addDecorator(decorator);\n setBboxDecorator(decorator);\n return () => {\n IModelApp.viewManager.dropDecorator(decorator);\n };\n }, []);\n\n useEffect(() => {\n if (!colorProperty || resolvedHiliteIds.length === 0) {\n clearAll();\n return;\n }\n visualizeElements(resolvedHiliteIds, \"red\");\n void zoomToElements([resolvedHiliteIds[0]]);\n }, [colorProperty, resolvedHiliteIds]);\n\n useEffect(() => {\n if (!colorProperty || resolvedHiliteIds.length === 0) {\n return;\n }\n const setContext = async () => {\n if (bboxDecorator) {\n await bboxDecorator.setContext(resolvedHiliteIds[0]);\n setInferredSpatialData(bboxDecorator.getInferredSpatialData());\n }\n };\n void setContext();\n }, [bboxDecorator, colorProperty, resolvedHiliteIds]);\n\n useEffect(() => {\n if (bboxDecorator && calculatedPropertyType && inferredSpatialData) {\n inferredSpatialData.has(BboxDimension[calculatedPropertyType as keyof typeof BboxDimension]) && colorProperty\n ? bboxDecorator.drawContext(BboxDimension[calculatedPropertyType as keyof typeof BboxDimension])\n : bboxDecorator.clearContext();\n } else {\n bboxDecorator?.clearContext();\n }\n }, [bboxDecorator, colorProperty, inferredSpatialData, calculatedPropertyType]);\n\n const getSpatialData = (value: string | undefined) =>\n value &&\n inferredSpatialData?.has(BboxDimension[value as keyof typeof BboxDimension]) && (\n <div>{`${inferredSpatialData?.get(BboxDimension[value as keyof typeof BboxDimension])?.toPrecision(4)}m`}</div>\n );\n\n return (\n <div className=\"gmw-calculated-properties-action-container\">\n <InputGroup className=\"gmw-details-form\">\n <ToggleSwitch\n className=\"gmw-field-legend-container\"\n label=\"Visualize Dimensions\"\n labelPosition=\"left\"\n disabled={isLoading}\n checked={colorProperty}\n onChange={() => setColorProperty((b) => !b)}\n ></ToggleSwitch>\n <SharedCalculatedPropertyForms\n calculatedPropertyType={calculatedPropertyType}\n setCalculatedPropertyType={setCalculatedPropertyType}\n itemRenderer={(option: SelectOption<string | undefined>) => (\n <MenuItem>\n <div className=\"gmw-gr-cp-menu-item\">\n <div>{option.label}</div>\n {getSpatialData(option.value)}\n </div>\n </MenuItem>\n )}\n selectedItemRenderer={(option: SelectOption<string | undefined>) => (\n <div className=\"gmw-select-item\">\n <div>{option.label}</div>\n {getSpatialData(option.value)}\n </div>\n )}\n />\n </InputGroup>\n </div>\n );\n};\n"]}
@@ -1,16 +1,12 @@
1
1
  /// <reference types="react" />
2
2
  import { CalculatedPropertyType } from "@itwin/insights-client";
3
3
  import type { SelectOption } from "@itwin/itwinui-react";
4
- import type SimpleReactValidator from "simple-react-validator";
5
4
  interface SharedCalculatedPropertyFormsProps {
6
- propertyName: string;
7
- setPropertyName: (value: string) => void;
8
- type: CalculatedPropertyType | undefined;
9
- setType: (value: CalculatedPropertyType | undefined) => void;
10
- validator: SimpleReactValidator;
11
- itemRenderer?: (option: SelectOption<string>) => JSX.Element;
12
- selectedItemRenderer?: (option: SelectOption<string>) => JSX.Element;
5
+ calculatedPropertyType: CalculatedPropertyType | undefined;
6
+ setCalculatedPropertyType: (value: CalculatedPropertyType | undefined) => void;
7
+ itemRenderer?: (option: SelectOption<string | undefined>) => JSX.Element;
8
+ selectedItemRenderer?: (option: SelectOption<string | undefined>) => JSX.Element;
13
9
  }
14
- export declare const SharedCalculatedPropertyForms: ({ propertyName, setPropertyName, type, setType, validator, itemRenderer, selectedItemRenderer, }: SharedCalculatedPropertyFormsProps) => JSX.Element;
10
+ export declare const SharedCalculatedPropertyForms: ({ calculatedPropertyType, setCalculatedPropertyType, itemRenderer, selectedItemRenderer, }: SharedCalculatedPropertyFormsProps) => JSX.Element;
15
11
  export {};
16
12
  //# sourceMappingURL=SharedCalculatedPropertyForms.d.ts.map
@@ -30,12 +30,12 @@ exports.SharedCalculatedPropertyForms = void 0;
30
30
  *--------------------------------------------------------------------------------------------*/
31
31
  const insights_client_1 = require("@itwin/insights-client");
32
32
  const react_1 = __importStar(require("react"));
33
- const useValidator_1 = require("../hooks/useValidator");
34
33
  const itwinui_react_1 = require("@itwin/itwinui-react");
35
- const SharedCalculatedPropertyForms = ({ propertyName, setPropertyName, type, setType, validator, itemRenderer, selectedItemRenderer, }) => {
34
+ const SharedCalculatedPropertyForms = ({ calculatedPropertyType, setCalculatedPropertyType, itemRenderer, selectedItemRenderer, }) => {
36
35
  const generateOptionsFromCalculatedPropertyType = (0, react_1.useCallback)(() => {
37
36
  const options = [];
38
37
  const indexableEnum = insights_client_1.CalculatedPropertyType;
38
+ options.push({ value: undefined, label: "No Calculated Property Type" });
39
39
  for (const key in indexableEnum) {
40
40
  if (typeof indexableEnum[key] === "string" && key !== "Undefined") {
41
41
  // Generate labels by adding space between capitals
@@ -49,16 +49,7 @@ const SharedCalculatedPropertyForms = ({ propertyName, setPropertyName, type, se
49
49
  return options;
50
50
  }, []);
51
51
  return (react_1.default.createElement(react_1.default.Fragment, null,
52
- react_1.default.createElement(itwinui_react_1.LabeledInput, { value: propertyName, required: true, name: "name", label: "Name", onChange: (event) => {
53
- setPropertyName(event.target.value);
54
- validator.showMessageFor("name");
55
- }, message: validator.message("name", propertyName, useValidator_1.NAME_REQUIREMENTS), status: validator.message("name", propertyName, useValidator_1.NAME_REQUIREMENTS) ? "negative" : undefined, onBlur: () => {
56
- validator.showMessageFor("name");
57
- }, onBlurCapture: (event) => {
58
- setPropertyName(event.target.value);
59
- validator.showMessageFor("name");
60
- } }),
61
- react_1.default.createElement(itwinui_react_1.LabeledSelect, { label: "Quantity Type", required: true, options: generateOptionsFromCalculatedPropertyType(), value: type, onChange: setType, itemRenderer: itemRenderer, selectedItemRenderer: selectedItemRenderer, onShow: () => { }, onHide: () => { } })));
52
+ react_1.default.createElement(itwinui_react_1.LabeledSelect, { label: "Calculated Property Type", options: generateOptionsFromCalculatedPropertyType(), value: calculatedPropertyType, onChange: setCalculatedPropertyType, itemRenderer: itemRenderer, selectedItemRenderer: selectedItemRenderer, placeholder: 'No Calculated Property Type', onShow: () => { }, onHide: () => { } })));
62
53
  };
63
54
  exports.SharedCalculatedPropertyForms = SharedCalculatedPropertyForms;
64
55
  //# sourceMappingURL=SharedCalculatedPropertyForms.js.map