@itwin/components-react 3.2.0-dev.6 → 3.2.0-dev.62

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 (84) hide show
  1. package/CHANGELOG.md +36 -1
  2. package/lib/cjs/components-react/common/ImageRenderer.d.ts.map +1 -1
  3. package/lib/cjs/components-react/common/ImageRenderer.js +2 -1
  4. package/lib/cjs/components-react/common/ImageRenderer.js.map +1 -1
  5. package/lib/cjs/components-react/common/showhide/ShowHideDialog.d.ts +4 -4
  6. package/lib/cjs/components-react/common/showhide/ShowHideDialog.d.ts.map +1 -1
  7. package/lib/cjs/components-react/common/showhide/ShowHideDialog.js +3 -2
  8. package/lib/cjs/components-react/common/showhide/ShowHideDialog.js.map +1 -1
  9. package/lib/cjs/components-react/common/showhide/ShowHideItem.d.ts +3 -3
  10. package/lib/cjs/components-react/common/showhide/ShowHideItem.d.ts.map +1 -1
  11. package/lib/cjs/components-react/common/showhide/ShowHideItem.js.map +1 -1
  12. package/lib/cjs/components-react/common/showhide/ShowHideMenu.d.ts +2 -2
  13. package/lib/cjs/components-react/common/showhide/ShowHideMenu.d.ts.map +1 -1
  14. package/lib/cjs/components-react/common/showhide/ShowHideMenu.js +2 -1
  15. package/lib/cjs/components-react/common/showhide/ShowHideMenu.js.map +1 -1
  16. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.js +1 -1
  17. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
  18. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.d.ts.map +1 -1
  19. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.js +1 -1
  20. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
  21. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.d.ts.map +1 -1
  22. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js +1 -3
  23. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
  24. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.d.ts.map +1 -1
  25. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js +1 -1
  26. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
  27. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.js +1 -1
  28. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.js.map +1 -1
  29. package/lib/cjs/components-react/table/component/Table.js +1 -1
  30. package/lib/cjs/components-react/table/component/Table.js.map +1 -1
  31. package/lib/cjs/components-react/toolbar/Item.js +1 -1
  32. package/lib/cjs/components-react/toolbar/Item.js.map +1 -1
  33. package/lib/cjs/components-react/toolbar/PopupItem.js +1 -1
  34. package/lib/cjs/components-react/toolbar/PopupItem.js.map +1 -1
  35. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.js +1 -1
  36. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.js.map +1 -1
  37. package/lib/cjs/components-react/toolbar/Toolbar.js +2 -2
  38. package/lib/cjs/components-react/toolbar/Toolbar.js.map +1 -1
  39. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.js +2 -2
  40. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  41. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.js +1 -1
  42. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.js.map +1 -1
  43. package/lib/esm/components-react/common/ImageRenderer.d.ts.map +1 -1
  44. package/lib/esm/components-react/common/ImageRenderer.js +4 -3
  45. package/lib/esm/components-react/common/ImageRenderer.js.map +1 -1
  46. package/lib/esm/components-react/common/showhide/ShowHideDialog.d.ts +4 -4
  47. package/lib/esm/components-react/common/showhide/ShowHideDialog.d.ts.map +1 -1
  48. package/lib/esm/components-react/common/showhide/ShowHideDialog.js +3 -2
  49. package/lib/esm/components-react/common/showhide/ShowHideDialog.js.map +1 -1
  50. package/lib/esm/components-react/common/showhide/ShowHideItem.d.ts +3 -3
  51. package/lib/esm/components-react/common/showhide/ShowHideItem.d.ts.map +1 -1
  52. package/lib/esm/components-react/common/showhide/ShowHideItem.js.map +1 -1
  53. package/lib/esm/components-react/common/showhide/ShowHideMenu.d.ts +2 -2
  54. package/lib/esm/components-react/common/showhide/ShowHideMenu.d.ts.map +1 -1
  55. package/lib/esm/components-react/common/showhide/ShowHideMenu.js +2 -1
  56. package/lib/esm/components-react/common/showhide/ShowHideMenu.js.map +1 -1
  57. package/lib/esm/components-react/editors/EnumButtonGroupEditor.js +1 -1
  58. package/lib/esm/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
  59. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.d.ts.map +1 -1
  60. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.js +2 -2
  61. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
  62. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.d.ts.map +1 -1
  63. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js +1 -3
  64. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
  65. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.d.ts.map +1 -1
  66. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js +2 -2
  67. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
  68. package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.js +1 -1
  69. package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.js.map +1 -1
  70. package/lib/esm/components-react/table/component/Table.js +1 -1
  71. package/lib/esm/components-react/table/component/Table.js.map +1 -1
  72. package/lib/esm/components-react/toolbar/Item.js +1 -1
  73. package/lib/esm/components-react/toolbar/Item.js.map +1 -1
  74. package/lib/esm/components-react/toolbar/PopupItem.js +1 -1
  75. package/lib/esm/components-react/toolbar/PopupItem.js.map +1 -1
  76. package/lib/esm/components-react/toolbar/PopupItemWithDrag.js +1 -1
  77. package/lib/esm/components-react/toolbar/PopupItemWithDrag.js.map +1 -1
  78. package/lib/esm/components-react/toolbar/Toolbar.js +2 -2
  79. package/lib/esm/components-react/toolbar/Toolbar.js.map +1 -1
  80. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.js +2 -2
  81. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  82. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.js +1 -1
  83. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.js.map +1 -1
  84. package/package.json +13 -13
@@ -4,8 +4,8 @@
4
4
  import * as React from "react";
5
5
  import { GlobalDialogProps } from "@itwin/core-react";
6
6
  import { ShowHideID, ShowHideItem } from "./ShowHideItem";
7
- /** Properties for the [[ShowHideDialog]] component
8
- * @public
7
+ /** Properties for the [[ShowHideDialog]] component used in the [[Table]] to show/hide columns.
8
+ * @public @deprecated will be removed when deprecated [[Table]] component is removed.
9
9
  */
10
10
  export interface ShowHideDialogProps<T extends ShowHideID> extends GlobalDialogProps {
11
11
  /** key-label pair list for id's to be shown/hidden, and an accompanying label. */
@@ -20,8 +20,8 @@ interface ShowHideDialogState<T extends ShowHideID> {
20
20
  hiddenColumns: T[];
21
21
  }
22
22
  /**
23
- * [Dialog]($core-react) Component used to toggle show/hide items, given through items prop, through a list of checkboxes.
24
- * @public
23
+ * [Dialog]($core-react) Component used to toggle show/hide table columns, given through items prop, through a list of checkboxes.
24
+ * @public @deprecated will be removed when deprecated [[Table]] component is removed.
25
25
  */
26
26
  export declare class ShowHideDialog<T extends ShowHideID> extends React.PureComponent<ShowHideDialogProps<T>, ShowHideDialogState<T>> {
27
27
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"ShowHideDialog.d.ts","sourceRoot":"","sources":["../../../../../src/components-react/common/showhide/ShowHideDialog.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAgB,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEpE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAI1D;;GAEG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,UAAU,CAAE,SAAQ,iBAAiB;IAClF,kFAAkF;IAClF,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,gCAAgC;IAChC,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC;IACpB,uCAAuC;IACvC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,OAAO,GAAG,SAAS,CAAC;CACvD;AAED,gBAAgB;AAChB,UAAU,mBAAmB,CAAC,CAAC,SAAS,UAAU;IAChD,aAAa,EAAE,CAAC,EAAE,CAAC;CACpB;AAED;;;GAGG;AACH,qBAAa,cAAc,CAAC,CAAC,SAAS,UAAU,CAAE,SAAQ,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC3H,gBAAgB;IAChB,SAAyB,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;gBAC3C,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAOzC,gBAAgB;IACA,kBAAkB,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAMnE,OAAO,CAAC,WAAW,CAKjB;IAEF,OAAO,CAAC,KAAK,CAOX;IAEF,OAAO,CAAC,KAAK,CASX;IAEF,gBAAgB;IACA,MAAM,IAAI,KAAK,CAAC,SAAS;CAiC1C"}
1
+ {"version":3,"file":"ShowHideDialog.d.ts","sourceRoot":"","sources":["../../../../../src/components-react/common/showhide/ShowHideDialog.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAgB,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEpE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAI1D;;GAEG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,UAAU,CAAE,SAAQ,iBAAiB;IAClF,kFAAkF;IAClF,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,gCAAgC;IAChC,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC;IACpB,uCAAuC;IACvC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,OAAO,GAAG,SAAS,CAAC;CACvD;AAED,gBAAgB;AAChB,UAAU,mBAAmB,CAAC,CAAC,SAAS,UAAU;IAChD,aAAa,EAAE,CAAC,EAAE,CAAC;CACpB;AAED;;;GAGG;AACH,qBAAa,cAAc,CAAC,CAAC,SAAS,UAAU,CAAE,SAAQ,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC3H,gBAAgB;IAChB,SAAyB,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;gBAC3C,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAOzC,gBAAgB;IACA,kBAAkB,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAMnE,OAAO,CAAC,WAAW,CAKjB;IAEF,OAAO,CAAC,KAAK,CAOX;IAEF,OAAO,CAAC,KAAK,CASX;IAEF,gBAAgB;IACA,MAAM,IAAI,KAAK,CAAC,SAAS;CAiC1C"}
@@ -5,14 +5,15 @@
5
5
  /** @packageDocumentation
6
6
  * @module Common
7
7
  */
8
+ /* eslint-disable deprecation/deprecation */
8
9
  import * as React from "react";
9
10
  import { GlobalDialog } from "@itwin/core-react";
10
11
  import { UiComponents } from "../../UiComponents";
11
12
  import { DialogButtonType } from "@itwin/appui-abstract";
12
13
  import { Checkbox } from "@itwin/itwinui-react";
13
14
  /**
14
- * [Dialog]($core-react) Component used to toggle show/hide items, given through items prop, through a list of checkboxes.
15
- * @public
15
+ * [Dialog]($core-react) Component used to toggle show/hide table columns, given through items prop, through a list of checkboxes.
16
+ * @public @deprecated will be removed when deprecated [[Table]] component is removed.
16
17
  */
17
18
  export class ShowHideDialog extends React.PureComponent {
18
19
  constructor(props) {
@@ -1 +1 @@
1
- {"version":3,"file":"ShowHideDialog.js","sourceRoot":"","sources":["../../../../../src/components-react/common/showhide/ShowHideDialog.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Common\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { GlobalDialog, GlobalDialogProps } from \"@itwin/core-react\";\r\nimport { UiComponents } from \"../../UiComponents\";\r\nimport { ShowHideID, ShowHideItem } from \"./ShowHideItem\";\r\nimport { DialogButtonType } from \"@itwin/appui-abstract\";\r\nimport { Checkbox } from \"@itwin/itwinui-react\";\r\n\r\n/** Properties for the [[ShowHideDialog]] component\r\n * @public\r\n */\r\nexport interface ShowHideDialogProps<T extends ShowHideID> extends GlobalDialogProps {\r\n /** key-label pair list for id's to be shown/hidden, and an accompanying label. */\r\n items: Array<ShowHideItem<T>>;\r\n /** Hidden list to start with */\r\n initialHidden?: T[];\r\n /** Called when item is shown/hidden */\r\n onShowHideChange?: (cols: T[]) => boolean | undefined;\r\n}\r\n\r\n/** @internal */\r\ninterface ShowHideDialogState<T extends ShowHideID> {\r\n hiddenColumns: T[];\r\n}\r\n\r\n/**\r\n * [Dialog]($core-react) Component used to toggle show/hide items, given through items prop, through a list of checkboxes.\r\n * @public\r\n */\r\nexport class ShowHideDialog<T extends ShowHideID> extends React.PureComponent<ShowHideDialogProps<T>, ShowHideDialogState<T>> {\r\n /** @internal */\r\n public override readonly state: ShowHideDialogState<T>;\r\n constructor(props: ShowHideDialogProps<T>) {\r\n super(props);\r\n this.state = {\r\n hiddenColumns: props.initialHidden || [],\r\n };\r\n }\r\n\r\n /** @internal */\r\n public override componentDidUpdate(oldProps: ShowHideDialogProps<T>) {\r\n if (this.props.initialHidden && oldProps.initialHidden !== this.props.initialHidden) {\r\n this.setState((_, props) => ({ hiddenColumns: props.initialHidden || /* istanbul ignore next */[] }));\r\n }\r\n }\r\n\r\n private _toggleItem = (item: ShowHideItem<T>) => {\r\n if (this.state.hiddenColumns.indexOf(item.id) !== -1)\r\n this._show(item);\r\n else\r\n this._hide(item);\r\n };\r\n\r\n private _hide = (item: ShowHideItem<T>) => {\r\n this.setState(\r\n (prevState) => ({ hiddenColumns: [...prevState.hiddenColumns, item.id] }),\r\n () => {\r\n if (this.props.onShowHideChange)\r\n this.props.onShowHideChange(this.state.hiddenColumns);\r\n });\r\n };\r\n\r\n private _show = (item: ShowHideItem<T>) => {\r\n const hiddenColumns = this.state.hiddenColumns.filter((value) => {\r\n return value !== item.id;\r\n });\r\n\r\n this.setState({ hiddenColumns }, () => {\r\n if (this.props.onShowHideChange)\r\n this.props.onShowHideChange(this.state.hiddenColumns);\r\n });\r\n };\r\n\r\n /** @internal */\r\n public override render(): React.ReactNode {\r\n const { opened, items, initialHidden, onClose, onShowHideChange, ...props } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars\r\n return (\r\n <GlobalDialog\r\n opened={opened}\r\n resizable={true}\r\n movable={true}\r\n modal={false}\r\n minWidth={300}\r\n minHeight={250}\r\n width={300}\r\n onClose={onClose}\r\n onEscape={onClose}\r\n onOutsideClick={onClose}\r\n buttonCluster={onClose && [{ onClick: onClose, type: DialogButtonType.Close }]}\r\n {...props}>\r\n {this.props.items.map((item, index) => {\r\n const visible = this.state.hiddenColumns.indexOf(item.id) === -1;\r\n const sel = () => {\r\n this._toggleItem(item);\r\n };\r\n const label = item.label || UiComponents.translate(\"showhide.noLabel\");\r\n const id = `show-hide-dialog-input-${index}`;\r\n return (\r\n <div key={index}>\r\n <Checkbox data-testid={id} id={id} checked={visible} onChange={() => undefined} onClick={sel} />\r\n <label htmlFor={id}>{label}</label>\r\n </div>\r\n );\r\n })}\r\n </GlobalDialog>\r\n );\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ShowHideDialog.js","sourceRoot":"","sources":["../../../../../src/components-react/common/showhide/ShowHideDialog.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Common\r\n */\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n\r\nimport * as React from \"react\";\r\nimport { GlobalDialog, GlobalDialogProps } from \"@itwin/core-react\";\r\nimport { UiComponents } from \"../../UiComponents\";\r\nimport { ShowHideID, ShowHideItem } from \"./ShowHideItem\";\r\nimport { DialogButtonType } from \"@itwin/appui-abstract\";\r\nimport { Checkbox } from \"@itwin/itwinui-react\";\r\n\r\n/** Properties for the [[ShowHideDialog]] component used in the [[Table]] to show/hide columns.\r\n * @public @deprecated will be removed when deprecated [[Table]] component is removed.\r\n */\r\nexport interface ShowHideDialogProps<T extends ShowHideID> extends GlobalDialogProps {\r\n /** key-label pair list for id's to be shown/hidden, and an accompanying label. */\r\n items: Array<ShowHideItem<T>>;\r\n /** Hidden list to start with */\r\n initialHidden?: T[];\r\n /** Called when item is shown/hidden */\r\n onShowHideChange?: (cols: T[]) => boolean | undefined;\r\n}\r\n\r\n/** @internal */\r\ninterface ShowHideDialogState<T extends ShowHideID> {\r\n hiddenColumns: T[];\r\n}\r\n\r\n/**\r\n * [Dialog]($core-react) Component used to toggle show/hide table columns, given through items prop, through a list of checkboxes.\r\n * @public @deprecated will be removed when deprecated [[Table]] component is removed.\r\n */\r\nexport class ShowHideDialog<T extends ShowHideID> extends React.PureComponent<ShowHideDialogProps<T>, ShowHideDialogState<T>> {\r\n /** @internal */\r\n public override readonly state: ShowHideDialogState<T>;\r\n constructor(props: ShowHideDialogProps<T>) {\r\n super(props);\r\n this.state = {\r\n hiddenColumns: props.initialHidden || [],\r\n };\r\n }\r\n\r\n /** @internal */\r\n public override componentDidUpdate(oldProps: ShowHideDialogProps<T>) {\r\n if (this.props.initialHidden && oldProps.initialHidden !== this.props.initialHidden) {\r\n this.setState((_, props) => ({ hiddenColumns: props.initialHidden || /* istanbul ignore next */[] }));\r\n }\r\n }\r\n\r\n private _toggleItem = (item: ShowHideItem<T>) => {\r\n if (this.state.hiddenColumns.indexOf(item.id) !== -1)\r\n this._show(item);\r\n else\r\n this._hide(item);\r\n };\r\n\r\n private _hide = (item: ShowHideItem<T>) => {\r\n this.setState(\r\n (prevState) => ({ hiddenColumns: [...prevState.hiddenColumns, item.id] }),\r\n () => {\r\n if (this.props.onShowHideChange)\r\n this.props.onShowHideChange(this.state.hiddenColumns);\r\n });\r\n };\r\n\r\n private _show = (item: ShowHideItem<T>) => {\r\n const hiddenColumns = this.state.hiddenColumns.filter((value) => {\r\n return value !== item.id;\r\n });\r\n\r\n this.setState({ hiddenColumns }, () => {\r\n if (this.props.onShowHideChange)\r\n this.props.onShowHideChange(this.state.hiddenColumns);\r\n });\r\n };\r\n\r\n /** @internal */\r\n public override render(): React.ReactNode {\r\n const { opened, items, initialHidden, onClose, onShowHideChange, ...props } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars\r\n return (\r\n <GlobalDialog\r\n opened={opened}\r\n resizable={true}\r\n movable={true}\r\n modal={false}\r\n minWidth={300}\r\n minHeight={250}\r\n width={300}\r\n onClose={onClose}\r\n onEscape={onClose}\r\n onOutsideClick={onClose}\r\n buttonCluster={onClose && [{ onClick: onClose, type: DialogButtonType.Close }]}\r\n {...props}>\r\n {this.props.items.map((item, index) => {\r\n const visible = this.state.hiddenColumns.indexOf(item.id) === -1;\r\n const sel = () => {\r\n this._toggleItem(item);\r\n };\r\n const label = item.label || UiComponents.translate(\"showhide.noLabel\");\r\n const id = `show-hide-dialog-input-${index}`;\r\n return (\r\n <div key={index}>\r\n <Checkbox data-testid={id} id={id} checked={visible} onChange={() => undefined} onClick={sel} />\r\n <label htmlFor={id}>{label}</label>\r\n </div>\r\n );\r\n })}\r\n </GlobalDialog>\r\n );\r\n }\r\n}\r\n"]}
@@ -1,15 +1,15 @@
1
1
  /** @packageDocumentation
2
2
  * @module Common
3
3
  */
4
- /** Interface for ShowHide items
5
- * @public
4
+ /** Interface for ShowHide items used to show/hide [[Table]] columns.
5
+ * @public @deprecated will be removed when deprecated [[Table]] component is removed.
6
6
  */
7
7
  export interface ShowHideItem<T extends ShowHideID> {
8
8
  id: T;
9
9
  label: string;
10
10
  }
11
11
  /** Union type for all possible ShowHide IDs
12
- * @public
12
+ * @public @deprecated will be removed when deprecated [[Table]] component is removed.
13
13
  */
14
14
  export declare type ShowHideID = string | number | symbol;
15
15
  //# sourceMappingURL=ShowHideItem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ShowHideItem.d.ts","sourceRoot":"","sources":["../../../../../src/components-react/common/showhide/ShowHideItem.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,UAAU;IAChD,EAAE,EAAE,CAAC,CAAC;IACN,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,oBAAY,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC"}
1
+ {"version":3,"file":"ShowHideItem.d.ts","sourceRoot":"","sources":["../../../../../src/components-react/common/showhide/ShowHideItem.ts"],"names":[],"mappings":"AAIA;;GAEG;AAIH;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,UAAU;IAChD,EAAE,EAAE,CAAC,CAAC;IACN,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,oBAAY,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ShowHideItem.js","sourceRoot":"","sources":["../../../../../src/components-react/common/showhide/ShowHideItem.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Common\r\n */\r\n\r\n/** Interface for ShowHide items\r\n * @public\r\n */\r\nexport interface ShowHideItem<T extends ShowHideID> {\r\n id: T;\r\n label: string;\r\n}\r\n\r\n/** Union type for all possible ShowHide IDs\r\n * @public\r\n */\r\nexport type ShowHideID = string | number | symbol;\r\n"]}
1
+ {"version":3,"file":"ShowHideItem.js","sourceRoot":"","sources":["../../../../../src/components-react/common/showhide/ShowHideItem.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Common\r\n */\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n\r\n/** Interface for ShowHide items used to show/hide [[Table]] columns.\r\n * @public @deprecated will be removed when deprecated [[Table]] component is removed.\r\n */\r\nexport interface ShowHideItem<T extends ShowHideID> {\r\n id: T;\r\n label: string;\r\n}\r\n\r\n/** Union type for all possible ShowHide IDs\r\n * @public @deprecated will be removed when deprecated [[Table]] component is removed.\r\n */\r\nexport type ShowHideID = string | number | symbol;\r\n"]}
@@ -5,7 +5,7 @@ import * as React from "react";
5
5
  import { GlobalContextMenuProps } from "@itwin/core-react";
6
6
  import { ShowHideID, ShowHideItem } from "./ShowHideItem";
7
7
  /** Properties for the [[ShowHideMenu]] component
8
- * @public
8
+ * @public @deprecated will be removed when deprecated [[Table]] component is removed.
9
9
  */
10
10
  export interface ShowHideMenuProps<T extends ShowHideID> extends GlobalContextMenuProps {
11
11
  /** key-label pair list for id's to be shown/hidden, and an accompanying label. */
@@ -31,7 +31,7 @@ interface ShowHideMenuState<T extends ShowHideID> {
31
31
  /**
32
32
  * [ContextMenu]($core-react) Component used to toggle show/hide items, given through items prop, through a list of checkboxes.
33
33
  * Component includes a "list" button that displays a dialog with the same checkboxes.
34
- * @public
34
+ * @public @deprecated will be removed when deprecated [[Table]] component is removed.
35
35
  */
36
36
  export declare class ShowHideMenu<T extends ShowHideID> extends React.PureComponent<ShowHideMenuProps<T>, ShowHideMenuState<T>> {
37
37
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"ShowHideMenu.d.ts","sourceRoot":"","sources":["../../../../../src/components-react/common/showhide/ShowHideMenu.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAA0D,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAGnH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG1D;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,UAAU,CAAE,SAAQ,sBAAsB;IACrF,kFAAkF;IAClF,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,+BAA+B;IAC/B,CAAC,EAAE,MAAM,CAAC;IACV,+BAA+B;IAC/B,CAAC,EAAE,MAAM,CAAC;IACV,yCAAyC;IACzC,MAAM,EAAE,OAAO,CAAC;IAChB,gCAAgC;IAChC,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC;IACpB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,uCAAuC;IACvC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,OAAO,GAAG,SAAS,CAAC;CACvD;AAED,gBAAgB;AAChB,UAAU,iBAAiB,CAAC,CAAC,SAAS,UAAU;IAC9C,aAAa,EAAE,CAAC,EAAE,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;;;GAIG;AACH,qBAAa,YAAY,CAAC,CAAC,SAAS,UAAU,CAAE,SAAQ,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACrH,gBAAgB;IAChB,SAAyB,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAErD,gBAAgB;gBACJ,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAQvC,gBAAgB;IACA,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAMjE,OAAO,CAAC,WAAW,CAOjB;IAEF,OAAO,CAAC,KAAK,CAOX;IAEF,OAAO,CAAC,KAAK,CASX;IAEF,OAAO,CAAC,QAAQ,CAQd;IACF,OAAO,CAAC,WAAW,CAMjB;IAEF,OAAO,CAAC,YAAY,CAIlB;IAEF,OAAO,CAAC,mBAAmB,CAEzB;IAEF,gBAAgB;IACA,MAAM,IAAI,KAAK,CAAC,SAAS;CAuC1C"}
1
+ {"version":3,"file":"ShowHideMenu.d.ts","sourceRoot":"","sources":["../../../../../src/components-react/common/showhide/ShowHideMenu.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAA0D,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAGnH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG1D;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,UAAU,CAAE,SAAQ,sBAAsB;IACrF,kFAAkF;IAClF,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,+BAA+B;IAC/B,CAAC,EAAE,MAAM,CAAC;IACV,+BAA+B;IAC/B,CAAC,EAAE,MAAM,CAAC;IACV,yCAAyC;IACzC,MAAM,EAAE,OAAO,CAAC;IAChB,gCAAgC;IAChC,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC;IACpB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,uCAAuC;IACvC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,OAAO,GAAG,SAAS,CAAC;CACvD;AAED,gBAAgB;AAChB,UAAU,iBAAiB,CAAC,CAAC,SAAS,UAAU;IAC9C,aAAa,EAAE,CAAC,EAAE,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;;;GAIG;AACH,qBAAa,YAAY,CAAC,CAAC,SAAS,UAAU,CAAE,SAAQ,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACrH,gBAAgB;IAChB,SAAyB,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAErD,gBAAgB;gBACJ,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAQvC,gBAAgB;IACA,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAMjE,OAAO,CAAC,WAAW,CAOjB;IAEF,OAAO,CAAC,KAAK,CAOX;IAEF,OAAO,CAAC,KAAK,CASX;IAEF,OAAO,CAAC,QAAQ,CAQd;IACF,OAAO,CAAC,WAAW,CAMjB;IAEF,OAAO,CAAC,YAAY,CAIlB;IAEF,OAAO,CAAC,mBAAmB,CAEzB;IAEF,gBAAgB;IACA,MAAM,IAAI,KAAK,CAAC,SAAS;CAuC1C"}
@@ -5,6 +5,7 @@
5
5
  /** @packageDocumentation
6
6
  * @module Common
7
7
  */
8
+ /* eslint-disable deprecation/deprecation */
8
9
  import * as React from "react";
9
10
  import { ContextMenuDivider, ContextMenuItem, GlobalContextMenu } from "@itwin/core-react";
10
11
  import { UiComponents } from "../../UiComponents";
@@ -13,7 +14,7 @@ import { Checkbox } from "@itwin/itwinui-react";
13
14
  /**
14
15
  * [ContextMenu]($core-react) Component used to toggle show/hide items, given through items prop, through a list of checkboxes.
15
16
  * Component includes a "list" button that displays a dialog with the same checkboxes.
16
- * @public
17
+ * @public @deprecated will be removed when deprecated [[Table]] component is removed.
17
18
  */
18
19
  export class ShowHideMenu extends React.PureComponent {
19
20
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"ShowHideMenu.js","sourceRoot":"","sources":["../../../../../src/components-react/common/showhide/ShowHideMenu.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Common\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { ContextMenuDivider, ContextMenuItem, GlobalContextMenu, GlobalContextMenuProps } from \"@itwin/core-react\";\r\nimport { UiComponents } from \"../../UiComponents\";\r\nimport { ShowHideDialog } from \"./ShowHideDialog\";\r\nimport { ShowHideID, ShowHideItem } from \"./ShowHideItem\";\r\nimport { Checkbox } from \"@itwin/itwinui-react\";\r\n\r\n/** Properties for the [[ShowHideMenu]] component\r\n * @public\r\n */\r\nexport interface ShowHideMenuProps<T extends ShowHideID> extends GlobalContextMenuProps {\r\n /** key-label pair list for id's to be shown/hidden, and an accompanying label. */\r\n items: Array<ShowHideItem<T>>;\r\n /** X position to place menu */\r\n x: number;\r\n /** Y position to place menu */\r\n y: number;\r\n /** Whether dialog is opened or closed */\r\n opened: boolean;\r\n /** Hidden list to start with */\r\n initialHidden?: T[];\r\n /** Called when close button is clicked */\r\n onClose?: () => void;\r\n /** Called when item is shown/hidden */\r\n onShowHideChange?: (cols: T[]) => boolean | undefined;\r\n}\r\n\r\n/** @internal */\r\ninterface ShowHideMenuState<T extends ShowHideID> {\r\n hiddenColumns: T[];\r\n dialogOpened: boolean;\r\n}\r\n\r\n/**\r\n * [ContextMenu]($core-react) Component used to toggle show/hide items, given through items prop, through a list of checkboxes.\r\n * Component includes a \"list\" button that displays a dialog with the same checkboxes.\r\n * @public\r\n */\r\nexport class ShowHideMenu<T extends ShowHideID> extends React.PureComponent<ShowHideMenuProps<T>, ShowHideMenuState<T>> {\r\n /** @internal */\r\n public override readonly state: ShowHideMenuState<T>;\r\n\r\n /** @internal */\r\n constructor(props: ShowHideMenuProps<T>) {\r\n super(props);\r\n this.state = {\r\n hiddenColumns: props.initialHidden || [],\r\n dialogOpened: false,\r\n };\r\n }\r\n\r\n /** @internal */\r\n public override componentDidUpdate(oldProps: ShowHideMenuProps<T>) {\r\n if (this.props.initialHidden && oldProps.initialHidden !== this.props.initialHidden) {\r\n this.setState((_, props) => ({ hiddenColumns: props.initialHidden || /* istanbul ignore next */[] }));\r\n }\r\n }\r\n\r\n private _toggleItem = (item: ShowHideItem<T>) => {\r\n if (this.state.hiddenColumns.indexOf(item.id) !== -1)\r\n this._show(item);\r\n else\r\n this._hide(item);\r\n if (this.props.onClose)\r\n this.props.onClose();\r\n };\r\n\r\n private _hide = (item: ShowHideItem<T>) => {\r\n this.setState(\r\n (prevState) => ({ hiddenColumns: [...prevState.hiddenColumns, item.id] }),\r\n () => {\r\n if (this.props.onShowHideChange)\r\n this.props.onShowHideChange(this.state.hiddenColumns);\r\n });\r\n };\r\n\r\n private _show = (item: ShowHideItem<T>) => {\r\n const hiddenColumns = this.state.hiddenColumns.filter((value) => {\r\n return value !== item.id;\r\n });\r\n\r\n this.setState({ hiddenColumns }, () => {\r\n if (this.props.onShowHideChange)\r\n this.props.onShowHideChange(this.state.hiddenColumns);\r\n });\r\n };\r\n\r\n private _showAll = () => {\r\n this.setState({ hiddenColumns: [] }, () => {\r\n // istanbul ignore next\r\n if (this.props.onShowHideChange)\r\n this.props.onShowHideChange(this.state.hiddenColumns);\r\n });\r\n if (this.props.onClose)\r\n this.props.onClose();\r\n };\r\n private _showDialog = () => {\r\n if (this.props.onClose)\r\n this.props.onClose();\r\n this.setState({\r\n dialogOpened: true,\r\n });\r\n };\r\n\r\n private _closeDialog = () => {\r\n this.setState({\r\n dialogOpened: false,\r\n });\r\n };\r\n\r\n private _defaultContextMenu = (event: React.MouseEvent) => {\r\n event.stopPropagation();\r\n };\r\n\r\n /** @internal */\r\n public override render(): React.ReactNode {\r\n const { items, x, y, opened, initialHidden, onClose, onShowHideChange, ...props } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars\r\n return (\r\n <GlobalContextMenu\r\n x={x}\r\n y={y}\r\n opened={opened}\r\n onEsc={onClose}\r\n onOutsideClick={onClose}\r\n edgeLimit={false}\r\n autoflip={true}\r\n {...props}>\r\n {this.props.items.map((item, index) => {\r\n const visible = this.state.hiddenColumns.indexOf(item.id) === -1;\r\n const sel = () => this._toggleItem(item);\r\n const label = item.label || UiComponents.translate(\"showhide.noLabel\");\r\n const id = `show-hide-menu-input-${index}`;\r\n return (\r\n <ContextMenuItem key={index}\r\n onSelect={sel}\r\n icon={<Checkbox data-testid={id} id={id} checked={visible} onChange={() => undefined} />} >\r\n {label}\r\n </ContextMenuItem>\r\n );\r\n })}\r\n <ContextMenuDivider />\r\n <ContextMenuItem onSelect={this._showAll}><span data-testid=\"show-hide-showall\">{UiComponents.translate(\"showhide.showAll\")}</span></ContextMenuItem>\r\n <ContextMenuItem onSelect={this._showDialog}><span data-testid=\"show-hide-list\">{UiComponents.translate(\"showhide.list\")}</span></ContextMenuItem>\r\n <ShowHideDialog\r\n items={items}\r\n title={UiComponents.translate(\"showhide.title\")}\r\n opened={this.state.dialogOpened}\r\n onClose={this._closeDialog}\r\n initialHidden={this.state.hiddenColumns}\r\n onContextMenu={this._defaultContextMenu}\r\n onShowHideChange={onShowHideChange} />\r\n </GlobalContextMenu>\r\n );\r\n }\r\n}\r\n\r\n// cspell:ignore showall\r\n"]}
1
+ {"version":3,"file":"ShowHideMenu.js","sourceRoot":"","sources":["../../../../../src/components-react/common/showhide/ShowHideMenu.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Common\r\n */\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n\r\nimport * as React from \"react\";\r\nimport { ContextMenuDivider, ContextMenuItem, GlobalContextMenu, GlobalContextMenuProps } from \"@itwin/core-react\";\r\nimport { UiComponents } from \"../../UiComponents\";\r\nimport { ShowHideDialog } from \"./ShowHideDialog\";\r\nimport { ShowHideID, ShowHideItem } from \"./ShowHideItem\";\r\nimport { Checkbox } from \"@itwin/itwinui-react\";\r\n\r\n/** Properties for the [[ShowHideMenu]] component\r\n * @public @deprecated will be removed when deprecated [[Table]] component is removed.\r\n */\r\nexport interface ShowHideMenuProps<T extends ShowHideID> extends GlobalContextMenuProps {\r\n /** key-label pair list for id's to be shown/hidden, and an accompanying label. */\r\n items: Array<ShowHideItem<T>>;\r\n /** X position to place menu */\r\n x: number;\r\n /** Y position to place menu */\r\n y: number;\r\n /** Whether dialog is opened or closed */\r\n opened: boolean;\r\n /** Hidden list to start with */\r\n initialHidden?: T[];\r\n /** Called when close button is clicked */\r\n onClose?: () => void;\r\n /** Called when item is shown/hidden */\r\n onShowHideChange?: (cols: T[]) => boolean | undefined;\r\n}\r\n\r\n/** @internal */\r\ninterface ShowHideMenuState<T extends ShowHideID> {\r\n hiddenColumns: T[];\r\n dialogOpened: boolean;\r\n}\r\n\r\n/**\r\n * [ContextMenu]($core-react) Component used to toggle show/hide items, given through items prop, through a list of checkboxes.\r\n * Component includes a \"list\" button that displays a dialog with the same checkboxes.\r\n * @public @deprecated will be removed when deprecated [[Table]] component is removed.\r\n */\r\nexport class ShowHideMenu<T extends ShowHideID> extends React.PureComponent<ShowHideMenuProps<T>, ShowHideMenuState<T>> {\r\n /** @internal */\r\n public override readonly state: ShowHideMenuState<T>;\r\n\r\n /** @internal */\r\n constructor(props: ShowHideMenuProps<T>) {\r\n super(props);\r\n this.state = {\r\n hiddenColumns: props.initialHidden || [],\r\n dialogOpened: false,\r\n };\r\n }\r\n\r\n /** @internal */\r\n public override componentDidUpdate(oldProps: ShowHideMenuProps<T>) {\r\n if (this.props.initialHidden && oldProps.initialHidden !== this.props.initialHidden) {\r\n this.setState((_, props) => ({ hiddenColumns: props.initialHidden || /* istanbul ignore next */[] }));\r\n }\r\n }\r\n\r\n private _toggleItem = (item: ShowHideItem<T>) => {\r\n if (this.state.hiddenColumns.indexOf(item.id) !== -1)\r\n this._show(item);\r\n else\r\n this._hide(item);\r\n if (this.props.onClose)\r\n this.props.onClose();\r\n };\r\n\r\n private _hide = (item: ShowHideItem<T>) => {\r\n this.setState(\r\n (prevState) => ({ hiddenColumns: [...prevState.hiddenColumns, item.id] }),\r\n () => {\r\n if (this.props.onShowHideChange)\r\n this.props.onShowHideChange(this.state.hiddenColumns);\r\n });\r\n };\r\n\r\n private _show = (item: ShowHideItem<T>) => {\r\n const hiddenColumns = this.state.hiddenColumns.filter((value) => {\r\n return value !== item.id;\r\n });\r\n\r\n this.setState({ hiddenColumns }, () => {\r\n if (this.props.onShowHideChange)\r\n this.props.onShowHideChange(this.state.hiddenColumns);\r\n });\r\n };\r\n\r\n private _showAll = () => {\r\n this.setState({ hiddenColumns: [] }, () => {\r\n // istanbul ignore next\r\n if (this.props.onShowHideChange)\r\n this.props.onShowHideChange(this.state.hiddenColumns);\r\n });\r\n if (this.props.onClose)\r\n this.props.onClose();\r\n };\r\n private _showDialog = () => {\r\n if (this.props.onClose)\r\n this.props.onClose();\r\n this.setState({\r\n dialogOpened: true,\r\n });\r\n };\r\n\r\n private _closeDialog = () => {\r\n this.setState({\r\n dialogOpened: false,\r\n });\r\n };\r\n\r\n private _defaultContextMenu = (event: React.MouseEvent) => {\r\n event.stopPropagation();\r\n };\r\n\r\n /** @internal */\r\n public override render(): React.ReactNode {\r\n const { items, x, y, opened, initialHidden, onClose, onShowHideChange, ...props } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars\r\n return (\r\n <GlobalContextMenu\r\n x={x}\r\n y={y}\r\n opened={opened}\r\n onEsc={onClose}\r\n onOutsideClick={onClose}\r\n edgeLimit={false}\r\n autoflip={true}\r\n {...props}>\r\n {this.props.items.map((item, index) => {\r\n const visible = this.state.hiddenColumns.indexOf(item.id) === -1;\r\n const sel = () => this._toggleItem(item);\r\n const label = item.label || UiComponents.translate(\"showhide.noLabel\");\r\n const id = `show-hide-menu-input-${index}`;\r\n return (\r\n <ContextMenuItem key={index}\r\n onSelect={sel}\r\n icon={<Checkbox data-testid={id} id={id} checked={visible} onChange={() => undefined} />} >\r\n {label}\r\n </ContextMenuItem>\r\n );\r\n })}\r\n <ContextMenuDivider />\r\n <ContextMenuItem onSelect={this._showAll}><span data-testid=\"show-hide-showall\">{UiComponents.translate(\"showhide.showAll\")}</span></ContextMenuItem>\r\n <ContextMenuItem onSelect={this._showDialog}><span data-testid=\"show-hide-list\">{UiComponents.translate(\"showhide.list\")}</span></ContextMenuItem>\r\n <ShowHideDialog\r\n items={items}\r\n title={UiComponents.translate(\"showhide.title\")}\r\n opened={this.state.dialogOpened}\r\n onClose={this._closeDialog}\r\n initialHidden={this.state.hiddenColumns}\r\n onContextMenu={this._defaultContextMenu}\r\n onShowHideChange={onShowHideChange} />\r\n </GlobalContextMenu>\r\n );\r\n }\r\n}\r\n\r\n// cspell:ignore showall\r\n"]}
@@ -132,7 +132,7 @@ export class EnumButtonGroupEditor extends React.Component {
132
132
  isDisabled = !isEnabledFunction();
133
133
  }
134
134
  const className = classnames("components-enumbuttongroup-button", isDisabled && "nz-is-disabled", isActive && "nz-is-active");
135
- return (React.createElement("button", { ref: (ref) => this._btnRefs.set(choiceValue, ref), "data-testid": choice.label, className: className, title: choice.label, key: choice.label, onClick: () => this._handleButtonClick(index) },
135
+ return (React.createElement("button", { ref: (ref) => ref && this._btnRefs.set(choiceValue, ref), "data-testid": choice.label, className: className, title: choice.label, key: choice.label, onClick: () => this._handleButtonClick(index) },
136
136
  React.createElement(Icon, { iconSpec: this.state.enumIcons[index].iconSpec })));
137
137
  }
138
138
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"EnumButtonGroupEditor.js","sourceRoot":"","sources":["../../../../src/components-react/editors/EnumButtonGroupEditor.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PropertyEditors\r\n */\r\n\r\nimport \"./EnumButtonGroupEditor.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport {\r\n ButtonGroupEditorParams, EnumerationChoice, IconDefinition, PropertyEditorParams, PropertyEditorParamTypes, PropertyRecord,\r\n PropertyValue, PropertyValueFormat, StandardEditorNames, StandardTypeNames,\r\n} from \"@itwin/appui-abstract\";\r\nimport { Icon } from \"@itwin/core-react\";\r\nimport { PropertyEditorProps, TypeEditor } from \"./EditorContainer\";\r\nimport { PropertyEditorBase, PropertyEditorManager } from \"./PropertyEditorManager\";\r\n\r\n// cspell:ignore buttongroup enumbuttongroup\r\n\r\n/** @internal */\r\ninterface EnumButtonGroupEditorState {\r\n selectValue: string | number;\r\n enumIcons: IconDefinition[];\r\n choices: EnumerationChoice[];\r\n}\r\n\r\n/** EnumButtonGroupEditor React component that is a property editor with select input\r\n * @public\r\n */\r\nexport class EnumButtonGroupEditor extends React.Component<PropertyEditorProps, EnumButtonGroupEditorState> implements TypeEditor {\r\n private _btnRefs = new Map<string | number, HTMLButtonElement>();\r\n private _divElement = React.createRef<HTMLDivElement>();\r\n\r\n /** @internal */\r\n public override readonly state: Readonly<EnumButtonGroupEditorState> = {\r\n selectValue: \"\",\r\n enumIcons: [],\r\n choices: [],\r\n };\r\n\r\n public async getPropertyValue(): Promise<PropertyValue | undefined> {\r\n const record = this.props.propertyRecord;\r\n let propertyValue: PropertyValue | undefined;\r\n\r\n // istanbul ignore else\r\n if (record && record.value.valueFormat === PropertyValueFormat.Primitive) {\r\n propertyValue = {\r\n valueFormat: PropertyValueFormat.Primitive,\r\n value: this.state.selectValue,\r\n displayValue: \"\",\r\n };\r\n }\r\n\r\n return propertyValue;\r\n }\r\n\r\n public get htmlElement(): HTMLElement | null {\r\n return this._divElement.current;\r\n }\r\n\r\n public get hasFocus(): boolean {\r\n let containsFocus = false;\r\n // istanbul ignore else\r\n if (this._divElement.current)\r\n containsFocus = this._divElement.current.contains(document.activeElement);\r\n return containsFocus;\r\n }\r\n\r\n /** @internal */\r\n public override componentDidMount() {\r\n this.setStateFromProps(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }\r\n\r\n /** @internal */\r\n public override componentDidUpdate(prevProps: PropertyEditorProps) {\r\n if (this.props.propertyRecord !== prevProps.propertyRecord) {\r\n this.setStateFromProps(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }\r\n }\r\n\r\n private async setStateFromProps() {\r\n const { propertyRecord } = this.props;\r\n\r\n // istanbul ignore else\r\n if (propertyRecord && propertyRecord.property.enum && propertyRecord.value.valueFormat === PropertyValueFormat.Primitive) {\r\n const primitiveValue = propertyRecord.value.value;\r\n let selectValue: string | number;\r\n\r\n if (typeof primitiveValue === \"string\") {\r\n selectValue = primitiveValue;\r\n } else {\r\n selectValue = primitiveValue as number;\r\n }\r\n\r\n let choices: EnumerationChoice[] = [];\r\n // istanbul ignore else\r\n if (propertyRecord && propertyRecord.property.enum) {\r\n if (propertyRecord.property.enum.choices instanceof Promise) {\r\n choices = await propertyRecord.property.enum.choices;\r\n } else {\r\n choices = propertyRecord.property.enum.choices;\r\n }\r\n }\r\n\r\n const numChoices = choices.length;\r\n const enumIcons = new Array<IconDefinition>(numChoices);\r\n enumIcons.fill({ iconSpec: \"icon icon-placeholder\" });\r\n\r\n // istanbul ignore else\r\n if (propertyRecord.property.editor && propertyRecord.property.editor.params) {\r\n // istanbul ignore else\r\n if (propertyRecord.property.editor && propertyRecord.property.editor.params) {\r\n const bgParams = propertyRecord.property.editor.params.find((param: PropertyEditorParams) => param.type === PropertyEditorParamTypes.ButtonGroupData) as ButtonGroupEditorParams;\r\n // istanbul ignore else\r\n if (bgParams) {\r\n bgParams.buttons.forEach((iconDef: IconDefinition, index: number) => {\r\n // istanbul ignore else\r\n if (index < numChoices) {\r\n enumIcons[index] = iconDef;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n this.setState({ selectValue, enumIcons, choices });\r\n }\r\n }\r\n\r\n private _handleButtonClick = (index: number) => {\r\n const propertyRecord = this.props.propertyRecord as PropertyRecord;\r\n\r\n // istanbul ignore else\r\n if (this.state.choices && this.state.choices.length > index) {\r\n const selectValue = this.state.choices[index].value;\r\n\r\n this.setState({\r\n selectValue,\r\n }, async () => {\r\n // istanbul ignore else\r\n if (propertyRecord && this.props.onCommit) {\r\n const propertyValue = await this.getPropertyValue();\r\n // istanbul ignore else\r\n if (propertyValue !== undefined) {\r\n this.props.onCommit({ propertyRecord, newValue: propertyValue });\r\n }\r\n }\r\n });\r\n }\r\n };\r\n\r\n private getButton(choice: EnumerationChoice, index: number) {\r\n const choiceValue = this.state.choices ? this.state.choices[index].value : /* istanbul ignore next */ 0;\r\n const isActive = (choiceValue === this.state.selectValue) ? true : false;\r\n let isDisabled = false;\r\n const isEnabledFunction = this.state.enumIcons[index].isEnabledFunction;\r\n // istanbul ignore else\r\n if (isEnabledFunction) {\r\n isDisabled = !isEnabledFunction();\r\n }\r\n\r\n const className = classnames(\r\n \"components-enumbuttongroup-button\",\r\n isDisabled && \"nz-is-disabled\",\r\n isActive && \"nz-is-active\",\r\n );\r\n\r\n return (\r\n <button\r\n ref={(ref: HTMLButtonElement) => this._btnRefs.set(choiceValue, ref)}\r\n data-testid={choice.label}\r\n className={className}\r\n title={choice.label}\r\n key={choice.label}\r\n onClick={() => this._handleButtonClick(index)}\r\n >\r\n <Icon iconSpec={this.state.enumIcons[index].iconSpec} />\r\n </button >\r\n );\r\n }\r\n\r\n /** @internal */\r\n public override render() {\r\n return (\r\n <div className={classnames(\"components-enumbuttongroup-editor\", this.props.className)} style={this.props.style} ref={this._divElement}>\r\n {this.state.choices && this.state.enumIcons.length && this.state.choices.map((choice: EnumerationChoice, index: number) => this.getButton(choice, index))}\r\n </div>);\r\n }\r\n}\r\n\r\n/** Enum Property Button Group Editor registered for the \"enum\" type name and the \"enum-buttongroup\" editor name.\r\n * It uses the [[EnumButtonGroupEditor]] React component.\r\n * @public\r\n */\r\nexport class EnumPropertyButtonGroupEditor extends PropertyEditorBase { // istanbul ignore next\r\n public get reactNode(): React.ReactNode {\r\n return <EnumButtonGroupEditor />;\r\n }\r\n}\r\n\r\nPropertyEditorManager.registerEditor(StandardTypeNames.Enum, EnumPropertyButtonGroupEditor, StandardEditorNames.EnumButtonGroup);\r\n"]}
1
+ {"version":3,"file":"EnumButtonGroupEditor.js","sourceRoot":"","sources":["../../../../src/components-react/editors/EnumButtonGroupEditor.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PropertyEditors\r\n */\r\n\r\nimport \"./EnumButtonGroupEditor.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport {\r\n ButtonGroupEditorParams, EnumerationChoice, IconDefinition, PropertyEditorParams, PropertyEditorParamTypes, PropertyRecord,\r\n PropertyValue, PropertyValueFormat, StandardEditorNames, StandardTypeNames,\r\n} from \"@itwin/appui-abstract\";\r\nimport { Icon } from \"@itwin/core-react\";\r\nimport { PropertyEditorProps, TypeEditor } from \"./EditorContainer\";\r\nimport { PropertyEditorBase, PropertyEditorManager } from \"./PropertyEditorManager\";\r\n\r\n// cspell:ignore buttongroup enumbuttongroup\r\n\r\n/** @internal */\r\ninterface EnumButtonGroupEditorState {\r\n selectValue: string | number;\r\n enumIcons: IconDefinition[];\r\n choices: EnumerationChoice[];\r\n}\r\n\r\n/** EnumButtonGroupEditor React component that is a property editor with select input\r\n * @public\r\n */\r\nexport class EnumButtonGroupEditor extends React.Component<PropertyEditorProps, EnumButtonGroupEditorState> implements TypeEditor {\r\n private _btnRefs = new Map<string | number, HTMLButtonElement>();\r\n private _divElement = React.createRef<HTMLDivElement>();\r\n\r\n /** @internal */\r\n public override readonly state: Readonly<EnumButtonGroupEditorState> = {\r\n selectValue: \"\",\r\n enumIcons: [],\r\n choices: [],\r\n };\r\n\r\n public async getPropertyValue(): Promise<PropertyValue | undefined> {\r\n const record = this.props.propertyRecord;\r\n let propertyValue: PropertyValue | undefined;\r\n\r\n // istanbul ignore else\r\n if (record && record.value.valueFormat === PropertyValueFormat.Primitive) {\r\n propertyValue = {\r\n valueFormat: PropertyValueFormat.Primitive,\r\n value: this.state.selectValue,\r\n displayValue: \"\",\r\n };\r\n }\r\n\r\n return propertyValue;\r\n }\r\n\r\n public get htmlElement(): HTMLElement | null {\r\n return this._divElement.current;\r\n }\r\n\r\n public get hasFocus(): boolean {\r\n let containsFocus = false;\r\n // istanbul ignore else\r\n if (this._divElement.current)\r\n containsFocus = this._divElement.current.contains(document.activeElement);\r\n return containsFocus;\r\n }\r\n\r\n /** @internal */\r\n public override componentDidMount() {\r\n this.setStateFromProps(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }\r\n\r\n /** @internal */\r\n public override componentDidUpdate(prevProps: PropertyEditorProps) {\r\n if (this.props.propertyRecord !== prevProps.propertyRecord) {\r\n this.setStateFromProps(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }\r\n }\r\n\r\n private async setStateFromProps() {\r\n const { propertyRecord } = this.props;\r\n\r\n // istanbul ignore else\r\n if (propertyRecord && propertyRecord.property.enum && propertyRecord.value.valueFormat === PropertyValueFormat.Primitive) {\r\n const primitiveValue = propertyRecord.value.value;\r\n let selectValue: string | number;\r\n\r\n if (typeof primitiveValue === \"string\") {\r\n selectValue = primitiveValue;\r\n } else {\r\n selectValue = primitiveValue as number;\r\n }\r\n\r\n let choices: EnumerationChoice[] = [];\r\n // istanbul ignore else\r\n if (propertyRecord && propertyRecord.property.enum) {\r\n if (propertyRecord.property.enum.choices instanceof Promise) {\r\n choices = await propertyRecord.property.enum.choices;\r\n } else {\r\n choices = propertyRecord.property.enum.choices;\r\n }\r\n }\r\n\r\n const numChoices = choices.length;\r\n const enumIcons = new Array<IconDefinition>(numChoices);\r\n enumIcons.fill({ iconSpec: \"icon icon-placeholder\" });\r\n\r\n // istanbul ignore else\r\n if (propertyRecord.property.editor && propertyRecord.property.editor.params) {\r\n // istanbul ignore else\r\n if (propertyRecord.property.editor && propertyRecord.property.editor.params) {\r\n const bgParams = propertyRecord.property.editor.params.find((param: PropertyEditorParams) => param.type === PropertyEditorParamTypes.ButtonGroupData) as ButtonGroupEditorParams;\r\n // istanbul ignore else\r\n if (bgParams) {\r\n bgParams.buttons.forEach((iconDef: IconDefinition, index: number) => {\r\n // istanbul ignore else\r\n if (index < numChoices) {\r\n enumIcons[index] = iconDef;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n this.setState({ selectValue, enumIcons, choices });\r\n }\r\n }\r\n\r\n private _handleButtonClick = (index: number) => {\r\n const propertyRecord = this.props.propertyRecord as PropertyRecord;\r\n\r\n // istanbul ignore else\r\n if (this.state.choices && this.state.choices.length > index) {\r\n const selectValue = this.state.choices[index].value;\r\n\r\n this.setState({\r\n selectValue,\r\n }, async () => {\r\n // istanbul ignore else\r\n if (propertyRecord && this.props.onCommit) {\r\n const propertyValue = await this.getPropertyValue();\r\n // istanbul ignore else\r\n if (propertyValue !== undefined) {\r\n this.props.onCommit({ propertyRecord, newValue: propertyValue });\r\n }\r\n }\r\n });\r\n }\r\n };\r\n\r\n private getButton(choice: EnumerationChoice, index: number) {\r\n const choiceValue = this.state.choices ? this.state.choices[index].value : /* istanbul ignore next */ 0;\r\n const isActive = (choiceValue === this.state.selectValue) ? true : false;\r\n let isDisabled = false;\r\n const isEnabledFunction = this.state.enumIcons[index].isEnabledFunction;\r\n // istanbul ignore else\r\n if (isEnabledFunction) {\r\n isDisabled = !isEnabledFunction();\r\n }\r\n\r\n const className = classnames(\r\n \"components-enumbuttongroup-button\",\r\n isDisabled && \"nz-is-disabled\",\r\n isActive && \"nz-is-active\",\r\n );\r\n\r\n return (\r\n <button\r\n ref={(ref: HTMLButtonElement|null) => ref && this._btnRefs.set(choiceValue, ref)}\r\n data-testid={choice.label}\r\n className={className}\r\n title={choice.label}\r\n key={choice.label}\r\n onClick={() => this._handleButtonClick(index)}\r\n >\r\n <Icon iconSpec={this.state.enumIcons[index].iconSpec} />\r\n </button >\r\n );\r\n }\r\n\r\n /** @internal */\r\n public override render() {\r\n return (\r\n <div className={classnames(\"components-enumbuttongroup-editor\", this.props.className)} style={this.props.style} ref={this._divElement}>\r\n {this.state.choices && this.state.enumIcons.length && this.state.choices.map((choice: EnumerationChoice, index: number) => this.getButton(choice, index))}\r\n </div>);\r\n }\r\n}\r\n\r\n/** Enum Property Button Group Editor registered for the \"enum\" type name and the \"enum-buttongroup\" editor name.\r\n * It uses the [[EnumButtonGroupEditor]] React component.\r\n * @public\r\n */\r\nexport class EnumPropertyButtonGroupEditor extends PropertyEditorBase { // istanbul ignore next\r\n public get reactNode(): React.ReactNode {\r\n return <EnumButtonGroupEditor />;\r\n }\r\n}\r\n\r\nPropertyEditorManager.registerEditor(StandardTypeNames.Enum, EnumPropertyButtonGroupEditor, StandardEditorNames.EnumButtonGroup);\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"DoublePropertyValueRenderer.d.ts","sourceRoot":"","sources":["../../../../../../src/components-react/properties/renderers/value/DoublePropertyValueRenderer.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAGH,OAAO,EAAkB,cAAc,EAAuB,MAAM,uBAAuB,CAAC;AAE5F,OAAO,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAGlG;;GAEG;AACH,qBAAa,2BAA4B,YAAW,sBAAsB;IAExE,uDAAuD;IAChD,SAAS,CAAC,MAAM,EAAE,cAAc;IAKvC,iEAAiE;IAC1D,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,4BAA4B;CAO7E"}
1
+ {"version":3,"file":"DoublePropertyValueRenderer.d.ts","sourceRoot":"","sources":["../../../../../../src/components-react/properties/renderers/value/DoublePropertyValueRenderer.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAGH,OAAO,EAAkB,cAAc,EAA0C,MAAM,uBAAuB,CAAC;AAE/G,OAAO,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAGlG;;GAEG;AACH,qBAAa,2BAA4B,YAAW,sBAAsB;IAExE,uDAAuD;IAChD,SAAS,CAAC,MAAM,EAAE,cAAc;IAKvC,iEAAiE;IAC1D,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,4BAA4B;CAO7E"}
@@ -6,7 +6,7 @@
6
6
  * @module Properties
7
7
  */
8
8
  import * as React from "react";
9
- import { PropertyValueFormat } from "@itwin/appui-abstract";
9
+ import { PropertyValueFormat, StandardTypeNames } from "@itwin/appui-abstract";
10
10
  import { TypeConverterManager } from "../../../converters/TypeConverterManager";
11
11
  import { PrimitivePropertyValueRendererImpl } from "./PrimitivePropertyValueRenderer";
12
12
  /** Default Double Property Renderer
@@ -16,7 +16,7 @@ export class DoublePropertyValueRenderer {
16
16
  /** Checks if the renderer can handle given property */
17
17
  canRender(record) {
18
18
  return record.value.valueFormat === PropertyValueFormat.Primitive
19
- && record.property.typename === "double";
19
+ && record.property.typename === StandardTypeNames.Double;
20
20
  }
21
21
  /** Method that returns a JSX representation of PropertyRecord */
22
22
  render(record, context) {
@@ -1 +1 @@
1
- {"version":3,"file":"DoublePropertyValueRenderer.js","sourceRoot":"","sources":["../../../../../../src/components-react/properties/renderers/value/DoublePropertyValueRenderer.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAkC,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5F,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAEhF,OAAO,EAAE,kCAAkC,EAAE,MAAM,kCAAkC,CAAC;AAEtF;;GAEG;AACH,MAAM,OAAO,2BAA2B;IAEtC,uDAAuD;IAChD,SAAS,CAAC,MAAsB;QACrC,OAAO,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,mBAAmB,CAAC,SAAS;eAC5D,MAAM,CAAC,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC;IAC7C,CAAC;IAED,iEAAiE;IAC1D,MAAM,CAAC,MAAsB,EAAE,OAAsC;QAC1E,OAAO,oBAAC,kCAAkC,IACxC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,qBAAqB,EAAE,qBAAqB,GAC5C,CAAC;IACL,CAAC;CACF;AAED,SAAS,qBAAqB,CAAC,MAAsB;;IACnD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAuB,CAAC;IACjD,IAAI,SAAS,CAAC,YAAY;QACxB,OAAO,SAAS,CAAC,YAAY,CAAC;IAChC,OAAO,oBAAoB,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAA,MAAM,CAAC,QAAQ,CAAC,SAAS,0CAAE,IAAI,CAAC,CAAC,uBAAuB,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;AAChK,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Properties\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { PrimitiveValue, PropertyRecord, PropertyValueFormat } from \"@itwin/appui-abstract\";\r\nimport { TypeConverterManager } from \"../../../converters/TypeConverterManager\";\r\nimport { IPropertyValueRenderer, PropertyValueRendererContext } from \"../../ValueRendererManager\";\r\nimport { PrimitivePropertyValueRendererImpl } from \"./PrimitivePropertyValueRenderer\";\r\n\r\n/** Default Double Property Renderer\r\n * @public\r\n */\r\nexport class DoublePropertyValueRenderer implements IPropertyValueRenderer {\r\n\r\n /** Checks if the renderer can handle given property */\r\n public canRender(record: PropertyRecord) {\r\n return record.value.valueFormat === PropertyValueFormat.Primitive\r\n && record.property.typename === \"double\";\r\n }\r\n\r\n /** Method that returns a JSX representation of PropertyRecord */\r\n public render(record: PropertyRecord, context?: PropertyValueRendererContext) {\r\n return <PrimitivePropertyValueRendererImpl\r\n record={record}\r\n context={context}\r\n stringValueCalculator={convertRecordToString}\r\n />;\r\n }\r\n}\r\n\r\nfunction convertRecordToString(record: PropertyRecord) {\r\n const primitive = record.value as PrimitiveValue;\r\n if (primitive.displayValue)\r\n return primitive.displayValue;\r\n return TypeConverterManager.getConverter(record.property.typename, record.property.converter?.name).convertPropertyToString(record.property, primitive.value);\r\n}\r\n"]}
1
+ {"version":3,"file":"DoublePropertyValueRenderer.js","sourceRoot":"","sources":["../../../../../../src/components-react/properties/renderers/value/DoublePropertyValueRenderer.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAkC,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/G,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAEhF,OAAO,EAAE,kCAAkC,EAAE,MAAM,kCAAkC,CAAC;AAEtF;;GAEG;AACH,MAAM,OAAO,2BAA2B;IAEtC,uDAAuD;IAChD,SAAS,CAAC,MAAsB;QACrC,OAAO,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,mBAAmB,CAAC,SAAS;eAC5D,MAAM,CAAC,QAAQ,CAAC,QAAQ,KAAK,iBAAiB,CAAC,MAAM,CAAC;IAC7D,CAAC;IAED,iEAAiE;IAC1D,MAAM,CAAC,MAAsB,EAAE,OAAsC;QAC1E,OAAO,oBAAC,kCAAkC,IACxC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,qBAAqB,EAAE,qBAAqB,GAC5C,CAAC;IACL,CAAC;CACF;AAED,SAAS,qBAAqB,CAAC,MAAsB;;IACnD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAuB,CAAC;IACjD,IAAI,SAAS,CAAC,YAAY;QACxB,OAAO,SAAS,CAAC,YAAY,CAAC;IAChC,OAAO,oBAAoB,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAA,MAAM,CAAC,QAAQ,CAAC,SAAS,0CAAE,IAAI,CAAC,CAAC,uBAAuB,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;AAChK,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Properties\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { PrimitiveValue, PropertyRecord, PropertyValueFormat, StandardTypeNames } from \"@itwin/appui-abstract\";\r\nimport { TypeConverterManager } from \"../../../converters/TypeConverterManager\";\r\nimport { IPropertyValueRenderer, PropertyValueRendererContext } from \"../../ValueRendererManager\";\r\nimport { PrimitivePropertyValueRendererImpl } from \"./PrimitivePropertyValueRenderer\";\r\n\r\n/** Default Double Property Renderer\r\n * @public\r\n */\r\nexport class DoublePropertyValueRenderer implements IPropertyValueRenderer {\r\n\r\n /** Checks if the renderer can handle given property */\r\n public canRender(record: PropertyRecord) {\r\n return record.value.valueFormat === PropertyValueFormat.Primitive\r\n && record.property.typename === StandardTypeNames.Double;\r\n }\r\n\r\n /** Method that returns a JSX representation of PropertyRecord */\r\n public render(record: PropertyRecord, context?: PropertyValueRendererContext) {\r\n return <PrimitivePropertyValueRendererImpl\r\n record={record}\r\n context={context}\r\n stringValueCalculator={convertRecordToString}\r\n />;\r\n }\r\n}\r\n\r\nfunction convertRecordToString(record: PropertyRecord) {\r\n const primitive = record.value as PrimitiveValue;\r\n if (primitive.displayValue)\r\n return primitive.displayValue;\r\n return TypeConverterManager.getConverter(record.property.typename, record.property.converter?.name).convertPropertyToString(record.property, primitive.value);\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MultilineTextPropertyValueRenderer.d.ts","sourceRoot":"","sources":["../../../../../../src/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.tsx"],"names":[],"mappings":"AAIA;;;GAGG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAkB,cAAc,EAA0C,MAAM,uBAAuB,CAAC;AAI/G,OAAO,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAGlG,gBAAgB;AAChB,qBAAa,kCAAmC,YAAW,sBAAsB;IACxE,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO;IAK1C,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,4BAA4B,GAAG,KAAK,CAAC,SAAS;CAG/F;AAwBD,UAAU,qBAAqB;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED,gBAAgB;AAChB,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAsDjE,CAAC"}
1
+ {"version":3,"file":"MultilineTextPropertyValueRenderer.d.ts","sourceRoot":"","sources":["../../../../../../src/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.tsx"],"names":[],"mappings":"AAIA;;;GAGG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAkB,cAAc,EAA0C,MAAM,uBAAuB,CAAC;AAI/G,OAAO,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAGlG,gBAAgB;AAChB,qBAAa,kCAAmC,YAAW,sBAAsB;IACxE,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO;IAI1C,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,4BAA4B,GAAG,KAAK,CAAC,SAAS;CAG/F;AAwBD,UAAU,qBAAqB;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED,gBAAgB;AAChB,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAsDjE,CAAC"}
@@ -18,9 +18,7 @@ import { useRenderedStringValue } from "./PrimitivePropertyValueRenderer";
18
18
  /** @internal */
19
19
  export class MultilineTextPropertyValueRenderer {
20
20
  canRender(record) {
21
- var _a;
22
- return record.value.valueFormat === PropertyValueFormat.Primitive
23
- && ((_a = record.property.renderer) === null || _a === void 0 ? void 0 : _a.name) === "multiline";
21
+ return record.value.valueFormat === PropertyValueFormat.Primitive;
24
22
  }
25
23
  render(record, context) {
26
24
  return React.createElement(MultilineTextPropertyValueRendererImpl, { record: record, context: context });
@@ -1 +1 @@
1
- {"version":3,"file":"MultilineTextPropertyValueRenderer.js","sourceRoot":"","sources":["../../../../../../src/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/**\r\n * @packageDocumentation\r\n * @module Properties\r\n */\r\n\r\nimport * as React from \"react\";\r\n// eslint-disable-next-line no-duplicate-imports\r\nimport { useLayoutEffect, useRef } from \"react\";\r\nimport { assert } from \"@itwin/core-bentley\";\r\nimport { PrimitiveValue, PropertyRecord, PropertyValueFormat, StandardTypeNames } from \"@itwin/appui-abstract\";\r\nimport { useRerender } from \"../../../common/UseRerender\";\r\nimport { TypeConverterManager } from \"../../../converters/TypeConverterManager\";\r\nimport { UiComponents } from \"../../../UiComponents\";\r\nimport { IPropertyValueRenderer, PropertyValueRendererContext } from \"../../ValueRendererManager\";\r\nimport { useRenderedStringValue } from \"./PrimitivePropertyValueRenderer\";\r\n\r\n/** @internal */\r\nexport class MultilineTextPropertyValueRenderer implements IPropertyValueRenderer {\r\n public canRender(record: PropertyRecord): boolean {\r\n return record.value.valueFormat === PropertyValueFormat.Primitive\r\n && record.property.renderer?.name === \"multiline\";\r\n }\r\n\r\n public render(record: PropertyRecord, context?: PropertyValueRendererContext): React.ReactNode {\r\n return <MultilineTextPropertyValueRendererImpl record={record} context={context} />;\r\n }\r\n}\r\n\r\ninterface MultilineTextPropertyValueRendererImplProps {\r\n record: PropertyRecord;\r\n context?: PropertyValueRendererContext;\r\n children?: never;\r\n}\r\n\r\nconst MultilineTextPropertyValueRendererImpl: React.FC<MultilineTextPropertyValueRendererImplProps>\r\n = (props) => {\r\n const { stringValue, element } = useRenderedStringValue(props.record, convertRecordToString, props.context);\r\n return (\r\n <MultilineTextRenderer\r\n style={props.context?.style}\r\n stringValue={stringValue}\r\n isExpanded={props.context?.isExpanded}\r\n onExpansionToggled={props.context?.onExpansionToggled}\r\n onHeightChanged={props.context?.onHeightChanged}\r\n >\r\n {element}\r\n </MultilineTextRenderer>\r\n );\r\n };\r\n\r\ninterface MultilineTextRenderer {\r\n stringValue?: string;\r\n isExpanded?: boolean;\r\n onExpansionToggled?: () => void;\r\n onHeightChanged?: (newHeight: number) => void;\r\n style?: React.CSSProperties;\r\n}\r\n\r\n/** @internal */\r\nexport const MultilineTextRenderer: React.FC<MultilineTextRenderer> = (props) => { // eslint-disable-line @typescript-eslint/no-redeclare\r\n const { rerenderContext, numRerenders, rerender } = useRerender({ contentOverflows: false });\r\n const spanRef = useRef<HTMLSpanElement>(null);\r\n const divRef = useRef<HTMLDivElement>(null);\r\n const previousHeightRef = useRef(0);\r\n useLayoutEffect(() => {\r\n assert(divRef.current !== null && spanRef.current !== null);\r\n\r\n const contentOverflows = spanRef.current.clientWidth < spanRef.current.scrollWidth;\r\n if (numRerenders === 0 && contentOverflows) {\r\n rerender({ contentOverflows });\r\n }\r\n\r\n if (numRerenders === 1 || !contentOverflows) {\r\n const currentHeight = Math.max(divRef.current.offsetHeight, 27);\r\n if (currentHeight !== previousHeightRef.current) {\r\n props.onHeightChanged?.(currentHeight);\r\n previousHeightRef.current = currentHeight;\r\n }\r\n }\r\n });\r\n\r\n const handleExpansionToggleClick = (event: React.MouseEvent) => {\r\n props.onExpansionToggled?.();\r\n event.stopPropagation();\r\n };\r\n\r\n // In order to always trigger onMouseLeave event on PropertyView, collapse button must remain mounted at all times.\r\n // https://github.com/facebook/react/issues/6807\r\n return (\r\n <div ref={divRef} className=\"multiline\">\r\n <span\r\n ref={spanRef}\r\n className={(numRerenders !== 0 && props.isExpanded) ? \"expanded\" : \"\"}\r\n style={props.style}\r\n title={props.isExpanded ? undefined : props.stringValue}\r\n >\r\n {props.children}\r\n <button\r\n className=\"expand-toggle\"\r\n style={{ display: (rerenderContext.contentOverflows && props.isExpanded) ? \"inline-block\" : \"none\" }}\r\n onClick={handleExpansionToggleClick}\r\n >\r\n {UiComponents.translate(\"property.collapse\")}\r\n </button>\r\n </span>\r\n {\r\n rerenderContext.contentOverflows && !props.isExpanded &&\r\n <button className=\"expand-toggle\" onClick={handleExpansionToggleClick}>\r\n {UiComponents.translate(\"property.expand\")}\r\n </button>\r\n }\r\n </div>\r\n );\r\n};\r\n\r\nfunction convertRecordToString(record: PropertyRecord): string | Promise<string> {\r\n return TypeConverterManager\r\n .getConverter(StandardTypeNames.Text)\r\n .convertPropertyToString(record.property, (record.value as PrimitiveValue).value);\r\n}\r\n"]}
1
+ {"version":3,"file":"MultilineTextPropertyValueRenderer.js","sourceRoot":"","sources":["../../../../../../src/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/**\r\n * @packageDocumentation\r\n * @module Properties\r\n */\r\n\r\nimport * as React from \"react\";\r\n// eslint-disable-next-line no-duplicate-imports\r\nimport { useLayoutEffect, useRef } from \"react\";\r\nimport { assert } from \"@itwin/core-bentley\";\r\nimport { PrimitiveValue, PropertyRecord, PropertyValueFormat, StandardTypeNames } from \"@itwin/appui-abstract\";\r\nimport { useRerender } from \"../../../common/UseRerender\";\r\nimport { TypeConverterManager } from \"../../../converters/TypeConverterManager\";\r\nimport { UiComponents } from \"../../../UiComponents\";\r\nimport { IPropertyValueRenderer, PropertyValueRendererContext } from \"../../ValueRendererManager\";\r\nimport { useRenderedStringValue } from \"./PrimitivePropertyValueRenderer\";\r\n\r\n/** @internal */\r\nexport class MultilineTextPropertyValueRenderer implements IPropertyValueRenderer {\r\n public canRender(record: PropertyRecord): boolean {\r\n return record.value.valueFormat === PropertyValueFormat.Primitive;\r\n }\r\n\r\n public render(record: PropertyRecord, context?: PropertyValueRendererContext): React.ReactNode {\r\n return <MultilineTextPropertyValueRendererImpl record={record} context={context} />;\r\n }\r\n}\r\n\r\ninterface MultilineTextPropertyValueRendererImplProps {\r\n record: PropertyRecord;\r\n context?: PropertyValueRendererContext;\r\n children?: never;\r\n}\r\n\r\nconst MultilineTextPropertyValueRendererImpl: React.FC<MultilineTextPropertyValueRendererImplProps>\r\n = (props) => {\r\n const { stringValue, element } = useRenderedStringValue(props.record, convertRecordToString, props.context);\r\n return (\r\n <MultilineTextRenderer\r\n style={props.context?.style}\r\n stringValue={stringValue}\r\n isExpanded={props.context?.isExpanded}\r\n onExpansionToggled={props.context?.onExpansionToggled}\r\n onHeightChanged={props.context?.onHeightChanged}\r\n >\r\n {element}\r\n </MultilineTextRenderer>\r\n );\r\n };\r\n\r\ninterface MultilineTextRenderer {\r\n stringValue?: string;\r\n isExpanded?: boolean;\r\n onExpansionToggled?: () => void;\r\n onHeightChanged?: (newHeight: number) => void;\r\n style?: React.CSSProperties;\r\n}\r\n\r\n/** @internal */\r\nexport const MultilineTextRenderer: React.FC<MultilineTextRenderer> = (props) => { // eslint-disable-line @typescript-eslint/no-redeclare\r\n const { rerenderContext, numRerenders, rerender } = useRerender({ contentOverflows: false });\r\n const spanRef = useRef<HTMLSpanElement>(null);\r\n const divRef = useRef<HTMLDivElement>(null);\r\n const previousHeightRef = useRef(0);\r\n useLayoutEffect(() => {\r\n assert(divRef.current !== null && spanRef.current !== null);\r\n\r\n const contentOverflows = spanRef.current.clientWidth < spanRef.current.scrollWidth;\r\n if (numRerenders === 0 && contentOverflows) {\r\n rerender({ contentOverflows });\r\n }\r\n\r\n if (numRerenders === 1 || !contentOverflows) {\r\n const currentHeight = Math.max(divRef.current.offsetHeight, 27);\r\n if (currentHeight !== previousHeightRef.current) {\r\n props.onHeightChanged?.(currentHeight);\r\n previousHeightRef.current = currentHeight;\r\n }\r\n }\r\n });\r\n\r\n const handleExpansionToggleClick = (event: React.MouseEvent) => {\r\n props.onExpansionToggled?.();\r\n event.stopPropagation();\r\n };\r\n\r\n // In order to always trigger onMouseLeave event on PropertyView, collapse button must remain mounted at all times.\r\n // https://github.com/facebook/react/issues/6807\r\n return (\r\n <div ref={divRef} className=\"multiline\">\r\n <span\r\n ref={spanRef}\r\n className={(numRerenders !== 0 && props.isExpanded) ? \"expanded\" : \"\"}\r\n style={props.style}\r\n title={props.isExpanded ? undefined : props.stringValue}\r\n >\r\n {props.children}\r\n <button\r\n className=\"expand-toggle\"\r\n style={{ display: (rerenderContext.contentOverflows && props.isExpanded) ? \"inline-block\" : \"none\" }}\r\n onClick={handleExpansionToggleClick}\r\n >\r\n {UiComponents.translate(\"property.collapse\")}\r\n </button>\r\n </span>\r\n {\r\n rerenderContext.contentOverflows && !props.isExpanded &&\r\n <button className=\"expand-toggle\" onClick={handleExpansionToggleClick}>\r\n {UiComponents.translate(\"property.expand\")}\r\n </button>\r\n }\r\n </div>\r\n );\r\n};\r\n\r\nfunction convertRecordToString(record: PropertyRecord): string | Promise<string> {\r\n return TypeConverterManager\r\n .getConverter(StandardTypeNames.Text)\r\n .convertPropertyToString(record.property, (record.value as PrimitiveValue).value);\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationPropertyValueRenderer.d.ts","sourceRoot":"","sources":["../../../../../../src/components-react/properties/renderers/value/NavigationPropertyValueRenderer.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAGH,OAAO,EAAkB,cAAc,EAAuB,MAAM,uBAAuB,CAAC;AAE5F,OAAO,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAGlG;;GAEG;AACH,qBAAa,+BAAgC,YAAW,sBAAsB;IAE5E,uDAAuD;IAChD,SAAS,CAAC,MAAM,EAAE,cAAc;IAKvC,iEAAiE;IAC1D,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,4BAA4B;CAO7E"}
1
+ {"version":3,"file":"NavigationPropertyValueRenderer.d.ts","sourceRoot":"","sources":["../../../../../../src/components-react/properties/renderers/value/NavigationPropertyValueRenderer.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAGH,OAAO,EAAkB,cAAc,EAA0C,MAAM,uBAAuB,CAAC;AAE/G,OAAO,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAGlG;;GAEG;AACH,qBAAa,+BAAgC,YAAW,sBAAsB;IAE5E,uDAAuD;IAChD,SAAS,CAAC,MAAM,EAAE,cAAc;IAKvC,iEAAiE;IAC1D,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,4BAA4B;CAO7E"}
@@ -6,7 +6,7 @@
6
6
  * @module Properties
7
7
  */
8
8
  import * as React from "react";
9
- import { PropertyValueFormat } from "@itwin/appui-abstract";
9
+ import { PropertyValueFormat, StandardTypeNames } from "@itwin/appui-abstract";
10
10
  import { TypeConverterManager } from "../../../converters/TypeConverterManager";
11
11
  import { PrimitivePropertyValueRendererImpl } from "./PrimitivePropertyValueRenderer";
12
12
  /** Default Navigation Property Renderer
@@ -16,7 +16,7 @@ export class NavigationPropertyValueRenderer {
16
16
  /** Checks if the renderer can handle given property */
17
17
  canRender(record) {
18
18
  return record.value.valueFormat === PropertyValueFormat.Primitive
19
- && record.property.typename === "navigation";
19
+ && record.property.typename === StandardTypeNames.Navigation;
20
20
  }
21
21
  /** Method that returns a JSX representation of PropertyRecord */
22
22
  render(record, context) {
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationPropertyValueRenderer.js","sourceRoot":"","sources":["../../../../../../src/components-react/properties/renderers/value/NavigationPropertyValueRenderer.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAkC,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5F,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAEhF,OAAO,EAAE,kCAAkC,EAAE,MAAM,kCAAkC,CAAC;AAEtF;;GAEG;AACH,MAAM,OAAO,+BAA+B;IAE1C,uDAAuD;IAChD,SAAS,CAAC,MAAsB;QACrC,OAAO,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,mBAAmB,CAAC,SAAS;eAC5D,MAAM,CAAC,QAAQ,CAAC,QAAQ,KAAK,YAAY,CAAC;IACjD,CAAC;IAED,iEAAiE;IAC1D,MAAM,CAAC,MAAsB,EAAE,OAAsC;QAC1E,OAAO,oBAAC,kCAAkC,IACxC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,qBAAqB,EAAE,qBAAqB,GAC5C,CAAC;IACL,CAAC;CACF;AAED,SAAS,qBAAqB,CAAC,MAAsB;;IACnD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAuB,CAAC;IACjD,IAAI,SAAS,CAAC,YAAY;QACxB,OAAO,SAAS,CAAC,YAAY,CAAC;IAChC,OAAO,oBAAoB,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAA,MAAM,CAAC,QAAQ,CAAC,SAAS,0CAAE,IAAI,CAAC,CAAC,uBAAuB,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;AAChK,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Properties\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { PrimitiveValue, PropertyRecord, PropertyValueFormat } from \"@itwin/appui-abstract\";\r\nimport { TypeConverterManager } from \"../../../converters/TypeConverterManager\";\r\nimport { IPropertyValueRenderer, PropertyValueRendererContext } from \"../../ValueRendererManager\";\r\nimport { PrimitivePropertyValueRendererImpl } from \"./PrimitivePropertyValueRenderer\";\r\n\r\n/** Default Navigation Property Renderer\r\n * @public\r\n */\r\nexport class NavigationPropertyValueRenderer implements IPropertyValueRenderer {\r\n\r\n /** Checks if the renderer can handle given property */\r\n public canRender(record: PropertyRecord) {\r\n return record.value.valueFormat === PropertyValueFormat.Primitive\r\n && record.property.typename === \"navigation\";\r\n }\r\n\r\n /** Method that returns a JSX representation of PropertyRecord */\r\n public render(record: PropertyRecord, context?: PropertyValueRendererContext) {\r\n return <PrimitivePropertyValueRendererImpl\r\n record={record}\r\n context={context}\r\n stringValueCalculator={convertRecordToString}\r\n />;\r\n }\r\n}\r\n\r\nfunction convertRecordToString(record: PropertyRecord) {\r\n const primitive = record.value as PrimitiveValue;\r\n if (primitive.displayValue)\r\n return primitive.displayValue;\r\n return TypeConverterManager.getConverter(record.property.typename, record.property.converter?.name).convertPropertyToString(record.property, primitive.value);\r\n}\r\n"]}
1
+ {"version":3,"file":"NavigationPropertyValueRenderer.js","sourceRoot":"","sources":["../../../../../../src/components-react/properties/renderers/value/NavigationPropertyValueRenderer.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAkC,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/G,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAEhF,OAAO,EAAE,kCAAkC,EAAE,MAAM,kCAAkC,CAAC;AAEtF;;GAEG;AACH,MAAM,OAAO,+BAA+B;IAE1C,uDAAuD;IAChD,SAAS,CAAC,MAAsB;QACrC,OAAO,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,mBAAmB,CAAC,SAAS;eAC5D,MAAM,CAAC,QAAQ,CAAC,QAAQ,KAAK,iBAAiB,CAAC,UAAU,CAAC;IACjE,CAAC;IAED,iEAAiE;IAC1D,MAAM,CAAC,MAAsB,EAAE,OAAsC;QAC1E,OAAO,oBAAC,kCAAkC,IACxC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,qBAAqB,EAAE,qBAAqB,GAC5C,CAAC;IACL,CAAC;CACF;AAED,SAAS,qBAAqB,CAAC,MAAsB;;IACnD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAuB,CAAC;IACjD,IAAI,SAAS,CAAC,YAAY;QACxB,OAAO,SAAS,CAAC,YAAY,CAAC;IAChC,OAAO,oBAAoB,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAA,MAAM,CAAC,QAAQ,CAAC,SAAS,0CAAE,IAAI,CAAC,CAAC,uBAAuB,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;AAChK,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Properties\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { PrimitiveValue, PropertyRecord, PropertyValueFormat, StandardTypeNames } from \"@itwin/appui-abstract\";\r\nimport { TypeConverterManager } from \"../../../converters/TypeConverterManager\";\r\nimport { IPropertyValueRenderer, PropertyValueRendererContext } from \"../../ValueRendererManager\";\r\nimport { PrimitivePropertyValueRendererImpl } from \"./PrimitivePropertyValueRenderer\";\r\n\r\n/** Default Navigation Property Renderer\r\n * @public\r\n */\r\nexport class NavigationPropertyValueRenderer implements IPropertyValueRenderer {\r\n\r\n /** Checks if the renderer can handle given property */\r\n public canRender(record: PropertyRecord) {\r\n return record.value.valueFormat === PropertyValueFormat.Primitive\r\n && record.property.typename === StandardTypeNames.Navigation;\r\n }\r\n\r\n /** Method that returns a JSX representation of PropertyRecord */\r\n public render(record: PropertyRecord, context?: PropertyValueRendererContext) {\r\n return <PrimitivePropertyValueRendererImpl\r\n record={record}\r\n context={context}\r\n stringValueCalculator={convertRecordToString}\r\n />;\r\n }\r\n}\r\n\r\nfunction convertRecordToString(record: PropertyRecord) {\r\n const primitive = record.value as PrimitiveValue;\r\n if (primitive.displayValue)\r\n return primitive.displayValue;\r\n return TypeConverterManager.getConverter(record.property.typename, record.property.converter?.name).convertPropertyToString(record.property, primitive.value);\r\n}\r\n"]}
@@ -18,7 +18,7 @@ export class UrlPropertyValueRenderer {
18
18
  /** Checks if the renderer can handle given property */
19
19
  canRender(record) {
20
20
  return record.value.valueFormat === PropertyValueFormat.Primitive
21
- && record.property.typename === StandardTypeNames.URL;
21
+ && [StandardTypeNames.URL, StandardTypeNames.String, StandardTypeNames.Text].includes(record.property.typename);
22
22
  }
23
23
  /** Method that returns a JSX representation of PropertyRecord */
24
24
  render(record, context) {
@@ -1 +1 @@
1
- {"version":3,"file":"UrlPropertyValueRenderer.js","sourceRoot":"","sources":["../../../../../../src/components-react/properties/renderers/value/UrlPropertyValueRenderer.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAoC,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAEjH,OAAO,EAAE,8BAA8B,EAAE,kCAAkC,EAAE,MAAM,kCAAkC,CAAC;AAEtH;;;;;GAKG;AACH,MAAM,OAAO,wBAAwB;IAEnC,uDAAuD;IAChD,SAAS,CAAC,MAAsB;QACrC,OAAO,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,mBAAmB,CAAC,SAAS;eAC5D,MAAM,CAAC,QAAQ,CAAC,QAAQ,KAAK,iBAAiB,CAAC,GAAG,CAAC;IAC1D,CAAC;IAED,iEAAiE;IAC1D,MAAM,CAAC,MAAsB,EAAE,OAAsC;QAC1E,OAAO,oBAAC,kCAAkC,IACxC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,qBAAqB,EAAE,8BAA8B,EACrD,YAAY,EAAE,yBAAyB,GACvC,CAAC;IACL,CAAC;CACF;AAED;;;GAGG;AACH,SAAS,UAAU,CAAC,IAAY;IAC9B,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACtD,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;SAClB;QACH,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC/C,IAAI,UAAU;YACZ,UAAU,CAAC,KAAK,EAAE,CAAC;KACtB;AACH,CAAC;AAED,MAAM,yBAAyB,GAAqB;IAClD,OAAO,EAAE,UAAU;CACpB,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Properties\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { LinkElementsInfo, PropertyRecord, PropertyValueFormat, StandardTypeNames } from \"@itwin/appui-abstract\";\r\nimport { IPropertyValueRenderer, PropertyValueRendererContext } from \"../../ValueRendererManager\";\r\nimport { convertPrimitiveRecordToString, PrimitivePropertyValueRendererImpl } from \"./PrimitivePropertyValueRenderer\";\r\n\r\n/**\r\n * URL property value renderer that renders the whole value as a URL without matching it\r\n * against URL regex.\r\n *\r\n * @public\r\n */\r\nexport class UrlPropertyValueRenderer implements IPropertyValueRenderer {\r\n\r\n /** Checks if the renderer can handle given property */\r\n public canRender(record: PropertyRecord) {\r\n return record.value.valueFormat === PropertyValueFormat.Primitive\r\n && record.property.typename === StandardTypeNames.URL;\r\n }\r\n\r\n /** Method that returns a JSX representation of PropertyRecord */\r\n public render(record: PropertyRecord, context?: PropertyValueRendererContext) {\r\n return <PrimitivePropertyValueRendererImpl\r\n record={record}\r\n context={context}\r\n stringValueCalculator={convertPrimitiveRecordToString}\r\n linksHandler={URI_PROPERTY_LINK_HANDLER}\r\n />;\r\n }\r\n}\r\n\r\n/**\r\n * Default URI onClick event, sets location.href to the whole URI value without matching it\r\n * against URL regex.\r\n */\r\nfunction urlOnClick(text: string) {\r\n if (text.startsWith(\"mailto:\") || text.startsWith(\"pw:\"))\r\n location.href = text;\r\n else {\r\n const windowOpen = window.open(text, \"_blank\");\r\n if (windowOpen)\r\n windowOpen.focus();\r\n }\r\n}\r\n\r\nconst URI_PROPERTY_LINK_HANDLER: LinkElementsInfo = {\r\n onClick: urlOnClick,\r\n};\r\n"]}
1
+ {"version":3,"file":"UrlPropertyValueRenderer.js","sourceRoot":"","sources":["../../../../../../src/components-react/properties/renderers/value/UrlPropertyValueRenderer.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAoC,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAEjH,OAAO,EAAE,8BAA8B,EAAE,kCAAkC,EAAE,MAAM,kCAAkC,CAAC;AAEtH;;;;;GAKG;AACH,MAAM,OAAO,wBAAwB;IAEnC,uDAAuD;IAChD,SAAS,CAAC,MAAsB;QACrC,OAAO,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,mBAAmB,CAAC,SAAS;eAC5D,CAAC,iBAAiB,CAAC,GAAG,EAAE,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,QAA6B,CAAC,CAAC;IACzI,CAAC;IAED,iEAAiE;IAC1D,MAAM,CAAC,MAAsB,EAAE,OAAsC;QAC1E,OAAO,oBAAC,kCAAkC,IACxC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,qBAAqB,EAAE,8BAA8B,EACrD,YAAY,EAAE,yBAAyB,GACvC,CAAC;IACL,CAAC;CACF;AAED;;;GAGG;AACH,SAAS,UAAU,CAAC,IAAY;IAC9B,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACtD,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;SAClB;QACH,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC/C,IAAI,UAAU;YACZ,UAAU,CAAC,KAAK,EAAE,CAAC;KACtB;AACH,CAAC;AAED,MAAM,yBAAyB,GAAqB;IAClD,OAAO,EAAE,UAAU;CACpB,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Properties\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { LinkElementsInfo, PropertyRecord, PropertyValueFormat, StandardTypeNames } from \"@itwin/appui-abstract\";\r\nimport { IPropertyValueRenderer, PropertyValueRendererContext } from \"../../ValueRendererManager\";\r\nimport { convertPrimitiveRecordToString, PrimitivePropertyValueRendererImpl } from \"./PrimitivePropertyValueRenderer\";\r\n\r\n/**\r\n * URL property value renderer that renders the whole value as a URL without matching it\r\n * against URL regex.\r\n *\r\n * @public\r\n */\r\nexport class UrlPropertyValueRenderer implements IPropertyValueRenderer {\r\n\r\n /** Checks if the renderer can handle given property */\r\n public canRender(record: PropertyRecord) {\r\n return record.value.valueFormat === PropertyValueFormat.Primitive\r\n && [StandardTypeNames.URL, StandardTypeNames.String, StandardTypeNames.Text].includes(record.property.typename as StandardTypeNames);\r\n }\r\n\r\n /** Method that returns a JSX representation of PropertyRecord */\r\n public render(record: PropertyRecord, context?: PropertyValueRendererContext) {\r\n return <PrimitivePropertyValueRendererImpl\r\n record={record}\r\n context={context}\r\n stringValueCalculator={convertPrimitiveRecordToString}\r\n linksHandler={URI_PROPERTY_LINK_HANDLER}\r\n />;\r\n }\r\n}\r\n\r\n/**\r\n * Default URI onClick event, sets location.href to the whole URI value without matching it\r\n * against URL regex.\r\n */\r\nfunction urlOnClick(text: string) {\r\n if (text.startsWith(\"mailto:\") || text.startsWith(\"pw:\"))\r\n location.href = text;\r\n else {\r\n const windowOpen = window.open(text, \"_blank\");\r\n if (windowOpen)\r\n windowOpen.focus();\r\n }\r\n}\r\n\r\nconst URI_PROPERTY_LINK_HANDLER: LinkElementsInfo = {\r\n onClick: urlOnClick,\r\n};\r\n"]}
@@ -396,7 +396,7 @@ export class Table extends React.Component {
396
396
  };
397
397
  this._deactivateCellEditor = () => {
398
398
  if (this.state.cellEditorState.active)
399
- this.setState({ cellEditorState: { active: false } }, () => setImmediate(() => this.setFocusToSelected()));
399
+ this.setState({ cellEditorState: { active: false } }, () => setTimeout(() => this.setFocusToSelected()));
400
400
  };
401
401
  this._onCellCommit = async (args) => {
402
402
  // istanbul ignore else