@elyra/canvas 12.10.2 → 12.11.2

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 (205) hide show
  1. package/dist/canvas-constants-7f93e705.js +2 -0
  2. package/dist/canvas-constants-7f93e705.js.map +1 -0
  3. package/dist/canvas-constants-ac5daafb.js +2 -0
  4. package/dist/canvas-constants-ac5daafb.js.map +1 -0
  5. package/dist/canvas-controller-190542a6.js +2 -0
  6. package/dist/canvas-controller-190542a6.js.map +1 -0
  7. package/dist/canvas-controller-cbee8dd7.js +2 -0
  8. package/dist/canvas-controller-cbee8dd7.js.map +1 -0
  9. package/dist/canvas-logger-815781bb.js +2 -0
  10. package/dist/canvas-logger-815781bb.js.map +1 -0
  11. package/dist/canvas-logger-a0f1beaa.js +2 -0
  12. package/dist/canvas-logger-a0f1beaa.js.map +1 -0
  13. package/dist/common-canvas-8d2ddc6b.js +2 -0
  14. package/dist/common-canvas-8d2ddc6b.js.map +1 -0
  15. package/dist/common-canvas-e0a57cdb.js +2 -0
  16. package/dist/common-canvas-e0a57cdb.js.map +1 -0
  17. package/dist/common-canvas.es.js +1 -1
  18. package/dist/common-canvas.es.js.map +1 -1
  19. package/dist/common-canvas.js +1 -1
  20. package/dist/common-canvas.js.map +1 -1
  21. package/dist/common-properties-09ec10eb.js +2 -0
  22. package/dist/common-properties-09ec10eb.js.map +1 -0
  23. package/dist/common-properties-f1b96e0f.js +2 -0
  24. package/dist/common-properties-f1b96e0f.js.map +1 -0
  25. package/dist/datarecord-metadata-v3-schema-bda88f2e.js +2 -0
  26. package/dist/datarecord-metadata-v3-schema-bda88f2e.js.map +1 -0
  27. package/dist/datarecord-metadata-v3-schema-d7ad05cd.js +2 -0
  28. package/dist/datarecord-metadata-v3-schema-d7ad05cd.js.map +1 -0
  29. package/dist/en-2ed89528.js +2 -0
  30. package/dist/en-2ed89528.js.map +1 -0
  31. package/dist/en-e93855cc.js +2 -0
  32. package/dist/en-e93855cc.js.map +1 -0
  33. package/dist/extends-39f57612.js +7 -0
  34. package/dist/extends-39f57612.js.map +1 -0
  35. package/dist/extends-51d9ddcc.js +7 -0
  36. package/dist/extends-51d9ddcc.js.map +1 -0
  37. package/dist/flexible-table-154a3359.js +2 -0
  38. package/dist/flexible-table-154a3359.js.map +1 -0
  39. package/dist/flexible-table-5e4a1e6d.js +2 -0
  40. package/dist/flexible-table-5e4a1e6d.js.map +1 -0
  41. package/dist/icon-811ffddd.js +2 -0
  42. package/dist/icon-811ffddd.js.map +1 -0
  43. package/dist/icon-d6909a68.js +2 -0
  44. package/dist/icon-d6909a68.js.map +1 -0
  45. package/dist/index-4fd90a14.js +2 -0
  46. package/dist/index-4fd90a14.js.map +1 -0
  47. package/dist/index-6d138021.js +2 -0
  48. package/dist/index-6d138021.js.map +1 -0
  49. package/dist/isArrayLikeObject-31e5e646.js +2 -0
  50. package/dist/isArrayLikeObject-31e5e646.js.map +1 -0
  51. package/dist/isArrayLikeObject-7c33c7fd.js +2 -0
  52. package/dist/isArrayLikeObject-7c33c7fd.js.map +1 -0
  53. package/dist/lib/canvas-controller.es.js +1 -1
  54. package/dist/lib/canvas-controller.js +1 -1
  55. package/dist/lib/canvas.es.js +1 -1
  56. package/dist/lib/canvas.js +1 -1
  57. package/dist/lib/context-menu.es.js +1 -1
  58. package/dist/lib/context-menu.es.js.map +1 -1
  59. package/dist/lib/context-menu.js +1 -1
  60. package/dist/lib/context-menu.js.map +1 -1
  61. package/dist/lib/properties/field-picker.es.js +1 -1
  62. package/dist/lib/properties/field-picker.js +1 -1
  63. package/dist/lib/properties/flexible-table.es.js +1 -1
  64. package/dist/lib/properties/flexible-table.js +1 -1
  65. package/dist/lib/properties.es.js +1 -1
  66. package/dist/lib/properties.js +1 -1
  67. package/dist/lib/tooltip.es.js +1 -1
  68. package/dist/lib/tooltip.es.js.map +1 -1
  69. package/dist/lib/tooltip.js +1 -1
  70. package/dist/lib/tooltip.js.map +1 -1
  71. package/dist/styles/common-canvas.min.css +1 -1
  72. package/dist/styles/common-canvas.min.css.map +1 -1
  73. package/dist/toolbar-335252dd.js +2 -0
  74. package/dist/toolbar-335252dd.js.map +1 -0
  75. package/dist/toolbar-85e6c77b.js +2 -0
  76. package/dist/toolbar-85e6c77b.js.map +1 -0
  77. package/locales/command-actions/locales/en.json +7 -1
  78. package/locales/command-actions/locales/eo.json +7 -1
  79. package/locales/command-actions/locales/index.js +3 -1
  80. package/locales/command-actions/locales/ko.json +9 -0
  81. package/locales/common-canvas/locales/en.json +3 -0
  82. package/locales/common-canvas/locales/eo.json +3 -0
  83. package/locales/common-canvas/locales/index.js +3 -1
  84. package/locales/common-canvas/locales/ko.json +32 -0
  85. package/locales/common-properties/locales/index.js +3 -1
  86. package/locales/common-properties/locales/ko.json +93 -0
  87. package/locales/palette/locales/index.js +3 -1
  88. package/locales/palette/locales/ko.json +10 -0
  89. package/locales/toolbar/locales/index.js +3 -1
  90. package/locales/toolbar/locales/ko.json +8 -0
  91. package/package.json +2 -1
  92. package/src/color-picker/color-picker-panel.jsx +61 -0
  93. package/src/color-picker/color-picker.jsx +37 -0
  94. package/src/color-picker/color-picker.scss +46 -0
  95. package/src/command-actions/colorSelectedObjectsAction.js +72 -0
  96. package/src/command-actions/deleteObjectsAction.js +16 -11
  97. package/src/command-actions/pasteAction.js +50 -21
  98. package/src/common-canvas/canvas-controller.js +32 -5
  99. package/src/common-canvas/cc-bottom-panel.jsx +15 -9
  100. package/src/common-canvas/cc-contents.jsx +115 -8
  101. package/src/common-canvas/cc-toolbar.jsx +7 -6
  102. package/src/common-canvas/common-canvas-utils.js +73 -90
  103. package/src/common-canvas/common-canvas.scss +5 -5
  104. package/src/common-canvas/constants/canvas-constants.js +17 -16
  105. package/src/common-canvas/label-util.js +1 -1
  106. package/src/common-canvas/svg-canvas-d3.js +20 -107
  107. package/src/common-canvas/svg-canvas-d3.scss +66 -4
  108. package/src/common-canvas/svg-canvas-pipeline.js +201 -0
  109. package/src/common-canvas/svg-canvas-renderer.js +325 -339
  110. package/src/common-canvas/svg-canvas-utils-links.js +3 -3
  111. package/src/common-canvas/svg-canvas-utils-nodes.js +22 -44
  112. package/src/common-properties/actions.js +4 -0
  113. package/src/common-properties/components/field-picker/field-picker.jsx +33 -36
  114. package/src/common-properties/components/field-picker/field-picker.scss +20 -23
  115. package/src/common-properties/components/flexible-table/flexible-table.jsx +46 -31
  116. package/src/common-properties/components/flexible-table/flexible-table.scss +14 -17
  117. package/src/common-properties/components/properties-buttons/properties-buttons.jsx +28 -21
  118. package/src/common-properties/components/table-buttons/table-buttons.jsx +3 -1
  119. package/src/common-properties/components/table-buttons/table-buttons.scss +8 -8
  120. package/src/common-properties/components/title-editor/title-editor.jsx +31 -4
  121. package/src/common-properties/components/title-editor/title-editor.scss +30 -5
  122. package/src/common-properties/components/virtualized-table/virtualized-table.jsx +119 -27
  123. package/src/common-properties/components/virtualized-table/virtualized-table.scss +72 -8
  124. package/src/common-properties/constants/constants.js +5 -1
  125. package/src/common-properties/constants/form-constants.js +1 -0
  126. package/src/common-properties/controls/abstract-table.jsx +12 -11
  127. package/src/common-properties/controls/abstract-table.scss +6 -2
  128. package/src/common-properties/controls/dropdown/dropdown.scss +4 -0
  129. package/src/common-properties/controls/expression/expression-builder/expression-select-field-function.jsx +2 -2
  130. package/src/common-properties/controls/expression/expression.scss +1 -1
  131. package/src/common-properties/controls/passwordfield/passwordfield.jsx +2 -2
  132. package/src/common-properties/controls/readonlytable/readonlytable.jsx +4 -2
  133. package/src/common-properties/controls/selectcolumns/selectcolumns.scss +0 -19
  134. package/src/common-properties/controls/someofselect/someofselect.scss +2 -2
  135. package/src/common-properties/form/ControlInfo.js +8 -0
  136. package/src/common-properties/form/EditorForm.js +4 -0
  137. package/src/common-properties/form/ParameterInfo.js +4 -0
  138. package/src/common-properties/panels/sub-panel/cell.jsx +18 -23
  139. package/src/common-properties/panels/sub-panel/sub-panel.scss +5 -22
  140. package/src/common-properties/properties-controller.js +18 -0
  141. package/src/common-properties/properties-main/properties-main.jsx +15 -9
  142. package/src/common-properties/properties-main/properties-main.scss +9 -2
  143. package/src/common-properties/properties-store.js +27 -1
  144. package/src/common-properties/reducers/properties-settings.js +17 -1
  145. package/src/context-menu/common-context-menu.jsx +74 -29
  146. package/src/context-menu/context-menu-wrapper.jsx +2 -2
  147. package/src/icons/icon.jsx +5 -46
  148. package/src/index.scss +1 -0
  149. package/src/object-model/api-pipeline.js +18 -7
  150. package/src/object-model/object-model.js +27 -3
  151. package/src/object-model/redux/reducers/canvasinfo.js +36 -0
  152. package/src/object-model/redux/reducers/comments.js +58 -10
  153. package/src/object-model/redux/reducers/externalpipelineflows.js +1 -0
  154. package/src/object-model/redux/reducers/links.js +9 -7
  155. package/src/object-model/redux/reducers/selectioninfo.js +2 -1
  156. package/src/palette/palette-content-list-item.jsx +8 -1
  157. package/src/palette/palette-dialog-content-grid-node.jsx +8 -1
  158. package/src/toolbar/toolbar-action-item.jsx +75 -11
  159. package/src/toolbar/toolbar-overflow-item.jsx +2 -3
  160. package/src/tooltip/tooltip.jsx +4 -1
  161. package/stats.html +1 -1
  162. package/dist/canvas-constants-af93267a.js +0 -2
  163. package/dist/canvas-constants-af93267a.js.map +0 -1
  164. package/dist/canvas-constants-ffce3b78.js +0 -2
  165. package/dist/canvas-constants-ffce3b78.js.map +0 -1
  166. package/dist/canvas-controller-3f67c4fb.js +0 -2
  167. package/dist/canvas-controller-3f67c4fb.js.map +0 -1
  168. package/dist/canvas-controller-cee447d2.js +0 -2
  169. package/dist/canvas-controller-cee447d2.js.map +0 -1
  170. package/dist/common-canvas-e212a9c1.js +0 -2
  171. package/dist/common-canvas-e212a9c1.js.map +0 -1
  172. package/dist/common-canvas-e98191b3.js +0 -2
  173. package/dist/common-canvas-e98191b3.js.map +0 -1
  174. package/dist/common-properties-653e50e3.js +0 -2
  175. package/dist/common-properties-653e50e3.js.map +0 -1
  176. package/dist/common-properties-e2c6def7.js +0 -2
  177. package/dist/common-properties-e2c6def7.js.map +0 -1
  178. package/dist/datarecord-metadata-v3-schema-10ddafaf.js +0 -2
  179. package/dist/datarecord-metadata-v3-schema-10ddafaf.js.map +0 -1
  180. package/dist/datarecord-metadata-v3-schema-1504c843.js +0 -2
  181. package/dist/datarecord-metadata-v3-schema-1504c843.js.map +0 -1
  182. package/dist/en-517f38fc.js +0 -2
  183. package/dist/en-517f38fc.js.map +0 -1
  184. package/dist/en-dc6f2e9f.js +0 -2
  185. package/dist/en-dc6f2e9f.js.map +0 -1
  186. package/dist/extends-5a45f92e.js +0 -7
  187. package/dist/extends-5a45f92e.js.map +0 -1
  188. package/dist/extends-a52336ca.js +0 -8
  189. package/dist/extends-a52336ca.js.map +0 -1
  190. package/dist/flexible-table-e6ccbe58.js +0 -2
  191. package/dist/flexible-table-e6ccbe58.js.map +0 -1
  192. package/dist/flexible-table-f60c1680.js +0 -2
  193. package/dist/flexible-table-f60c1680.js.map +0 -1
  194. package/dist/index-567978da.js +0 -2
  195. package/dist/index-567978da.js.map +0 -1
  196. package/dist/index-59486e9a.js +0 -2
  197. package/dist/index-59486e9a.js.map +0 -1
  198. package/dist/isEmpty-def8f509.js +0 -2
  199. package/dist/isEmpty-def8f509.js.map +0 -1
  200. package/dist/isEmpty-e171b734.js +0 -2
  201. package/dist/isEmpty-e171b734.js.map +0 -1
  202. package/dist/toolbar-404bf690.js +0 -2
  203. package/dist/toolbar-404bf690.js.map +0 -1
  204. package/dist/toolbar-611d8ab9.js +0 -2
  205. package/dist/toolbar-611d8ab9.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ import{R as e,S as t,l as r,c as o,q as l,r as i,_ as s,s as n}from"./extends-39f57612.js";import{_ as a,a as c,b as p,c as d,d as u}from"./getPrototypeOf-97272efe.js";import{_ as h,a as b}from"./createClass-32a0cf0f.js";import{A as m,B as f,C as v,D as w,j as g,E as y,F as k,e as C,_ as R,G as S,y as x,H as E,b as T,m as I,q as O,l as N,h as A,k as H}from"./isArrayLikeObject-7c33c7fd.js";import D from"react";import{injectIntl as L}from"react-intl";import M from"react-dom";import{Checkbox as z,Loading as B,Search as _}from"carbon-components-react";import{AutoSizer as P,Table as j,Column as F}from"react-virtualized";import K from"react-draggable";import{ArrowsVertical16 as W,ArrowDown16 as G,ArrowUp16 as V}from"@carbon/icons-react";import U from"./lib/tooltip.es.js";import{v4 as q}from"uuid";import X from"react-resize-detector";var Y={"subPanel.button.tooltip":"Edit","structureListEditor.addButton.label":"Add value","structureListEditor.removeButton.label":"Remove","structureTable.addButton.label":"Add columns","structureTable.removeButton.label":"Remove","fieldPicker.saveButton.label":"Select Fields for","fieldPicker.saveButton.tooltip":"Save and return","fieldPicker.resetButton.label":"Reset ","fieldPicker.filter.label":"Filter:","fieldPicker.fieldColumn.label":"Field name","fieldPicker.schemaColumn.label":"Schema name","fieldPicker.dataTypeColumn.label":"Data type","fieldPicker.integer.label":"integer","fieldPicker.double.label":"double","fieldPicker.string.label":"string","fieldPicker.date.label":"date","fieldPicker.time.label":"time","fieldPicker.timestamp.label":"timestamp","flyout.applyButton.label":"OK","flyout.rejectButton.label":"Cancel","propertiesEdit.closeButton.label":"Close","propertiesEdit.applyButton.label":"Save","propertiesEdit.rejectButton.label":"Cancel","propertiesEdit.revertButton.label":"Revert","propertiesEdit.resizeButton.expand.label":"Expand","propertiesEdit.resizeButton.contract.label":"Contract","properties.revert.message":"Click Revert to go back to the previous screen or click Close to exit the pane. Then try your operation again.","properties.close.message":"Click Close to exit the pane. Then try your operation again.","properties.support.message":"If the problem persists, contact support.","properties.unexpected.message":"Oops, the pane didn't load.","table.search.header":"View in tables","table.search.placeholder":"Find in column {column_name}","table.search.label":"Search in {table_name} table","summary.longTable.placeholder":"More than ten fields...","alerts.tab.title":"Alerts","title.editor.label":"edit title","title.editor.helpButton.label":"help","table.summary.error":"There are {errorMsgCount} error cells. ","table.summary.warning":"There are {warningMsgCount} warning cells. ","control.summary.error":"There are {errorMsgCount} parameters with errors. ","control.summary.warning":"There are {warningMsgCount} parameters with warnings. ","control.summary.error.warning":"There are {errorMsgCount} parameters with errors and {warningMsgCount} parameters with warnings.","required.error":"You must provide your {label}.","datetime.format.error":"Invalid {role}. Format should be {format}.","invalid.field.error":"Invalid {label}, field not found in data set.","expression.validate.label":"Validate","expression.validating.label":"Validating","expression.builder.title":"Expression Builder","expression.builder.icon.description":"launch expression builder","expression.builder.label":"Expression","expression.fields.table.label":"Fields table","expression.values.table.label":"Values table","expression.functions.table.label":"Functions table","expression.fields.dropdown":"Fields","expression.fields.title":"Fields","expression.values.title":"Values","expression.field.column":"Field","expression.storage.column":"Storage","expression.value.column":"Value","expression.function.column":"Function","expression.return.column":"Return","expression.recently.used.column":"Item","expression.field.tab":"Fields","expression.functions.tab":"Functions","expression.recently.used":"Recently Used","expression.all.functions":"All Functions","expression.min.label":"Min","expression.max.label":"Max","expression.no.functions":"No functions found.","multi.selected.row.label":"rows selected.","multi.selected.row.action":"Changing a value in this row will change the value in all allowed selected rows.","datetimefield.format.error.message":"Invalid format object provided. Check input definitions.","editorform.group.type.error":"(Unknown group type '{group.groupType()}')","moveable.table.button.top":"Move to top","moveable.table.button.up":"Move up","moveable.table.button.down":"Move down","moveable.table.button.bottom":"Move to bottom","list.table.label":"Values","dropdown.tooltip.openMenu":"Open menu","dropdown.tooltip.closeMenu":"Close menu","dropdown.tooltip.clear.all":"Clear all","dropdown.tooltip.clear.selection":"Clear selection","truncate.long.string.error":"These values exceed the display limit of {truncate_limit} characters and can't be edited.","properties.label":"Properties","readonlytable.edit.button.label":"Edit","toggletext.icon.description":"{toggletext_label} Icon","multiselect.dropdown.empty.label":"None selected","multiselect.dropdown.options.selected.label":"options selected","virtualizedTable.header.checkbox.label":"Select all {header_checkbox_label}","virtualizedTable.row.checkbox.label":"Select row {row_index} from {table_label}","properties.empty.table.text":'To begin, click "{button_label}"'};var $=function(e,t){return null!=e&&t in Object(e)},J=m;var Q=function(e,t){return null!=e&&J(e,t,$)};var Z=function(e,t){return function(r){return null!=r&&(r[e]===t&&(void 0!==t||e in Object(r)))}},ee=f,te=v,re=Z;var oe=w,le=g,ie=Q,se=y,ne=k,ae=Z,ce=C;var pe=R;var de=function(e){return function(t){return null==t?void 0:t[e]}},ue=function(e){return function(t){return pe(t,e)}},he=y,be=C;var me=function(e){var t=te(e);return 1==t.length&&t[0][2]?re(t[0][0],t[0][1]):function(r){return r===e||ee(r,e,t)}},fe=function(e,t){return se(e)&&ne(t)?ae(ce(e),t):function(r){var o=le(r,e);return void 0===o&&o===t?ie(r,e):oe(t,o,3)}},ve=S,we=x,ge=function(e){return he(e)?de(be(e)):ue(e)};var ye=function(e){return"function"==typeof e?e:null==e?ve:"object"==typeof e?we(e)?fe(e[0],e[1]):me(e):ge(e)},ke=E,Ce=T,Re=ye,Se=O,xe=N,Ee=I((function(e,t){var r=xe(t);return Se(r)&&(r=void 0),Se(e)?ke(e,Ce(t,1,Se,!0),Re(r)):[]}));function Te(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,o=c(e);if(t){var l=c(this).constructor;r=Reflect.construct(o,arguments,l)}else r=o.apply(this,arguments);return p(this,r)}}var Ie=function(n){a(p,n);var c=Te(p);function p(e,t){var r;return h(this,p),(r=c.call(this,e,t)).state={rowCount:r.props.rowCount,columns:r.props.columns,columnResized:!1},r.virtualizedTableRef=D.createRef(),r.isOverSelectOption=!1,r.mouseEventCalled=!1,r.keyBoardEventCalled=!1,r.cellRenderer=r.cellRenderer.bind(d(r)),r.selectAll=r.selectAll.bind(d(r)),r.headerRowRenderer=r.headerRowRenderer.bind(d(r)),r.headerColRenderer=r.headerColRenderer.bind(d(r)),r.onRowClick=r.onRowClick.bind(d(r)),r.overSelectOption=r.overSelectOption.bind(d(r)),r.resizeColumn=r.resizeColumn.bind(d(r)),r}return b(p,[{key:"componentDidUpdate",value:function(){"function"==typeof this.props.rowHeight&&this.recomputeRowHeights()}},{key:"onRowClick",value:function(e,t,r){if("bx--select-option"===e.target.className)e.stopPropagation();else{var o=!this.isRowSelected(t.originalRowIndex);"function"==typeof this.props.setRowsSelected&&this.props.setRowsSelected({index:r,originalRowIndex:t.originalRowIndex,selected:o,isOverSelectOption:this.isOverSelectOption},e)}}},{key:"onRowDoubleClick",value:function(e,t,r){this.props.onRowDoubleClick&&this.props.onRowDoubleClick(e,t,r)}},{key:"getCheckboxLabelColumnIndex",value:function(e){for(var t=0;t<e.length;t++)if("index"!==e[t].operation)return t;return 0}},{key:"getColumnIndex",value:function(e,t){return e.findIndex((function(e){return e.key===t}))}},{key:"isRowSelected",value:function(e){return!!this.props.rowsSelected&&this.props.rowsSelected.indexOf(e)>-1}},{key:"isLastColumn",value:function(e){var t=this.getColumnIndex(this.props.columns,e)===this.props.columns.length-1;return t}},{key:"selectAll",value:function(e){this.props.setAllRowsSelected(e)}},{key:"cellRenderer",value:function(e){var t=e.cellData;return null==t?"":t}},{key:"cellRendererHTML",value:function(e){var t=e.cellData;return null==t?"":D.createElement("div",{dangerouslySetInnerHTML:{__html:t}})}},{key:"recomputeRowHeights",value:function(e){this.virtualizedTableRef&&this.virtualizedTableRef.current&&this.virtualizedTableRef.current.recomputeRowHeights(e)}},{key:"headerRowRenderer",value:function(t,r){var o=r.className,l=r.columns,i=r.style,s=void 0===this.props.columns||0===this.props.columns.length?0:this.getCheckboxLabelColumnIndex(this.props.columns),n=void 0===this.props.columns||0===this.props.columns.length?"":this.props.columns[s].headerLabel,a=this.props.intl.formatMessage({id:"virtualizedTable.header.checkbox.label",defaultMessage:Y["virtualizedTable.header.checkbox.label"]},{header_checkbox_label:n}),c=this.props.selectable&&this.props.rowSelection!==e.SINGLE?D.createElement("div",{role:"columnheader",className:"properties-vt-header-checkbox"},D.createElement(z,{id:"properties-vt-hd-cb-".concat(t),onChange:this.selectAll,checked:this.props.checkedAll,labelText:a,hideLabel:!0})):"";return D.createElement("div",{className:o,"data-role":"properties-header-row",role:"row",style:i},c,l)}},{key:"headerColRenderer",value:function(e){var l=this,i=e.columnData,s=e.dataKey,n=e.disableSort,a=e.label;e.sortBy,e.sortDirection;var c=null;if(void 0!==this.props.sortColumns[s]){var p=null;switch(this.props.sortColumns[s]){case r.ASC:p=D.createElement(V,{disabled:this.props.tableState===t.DISABLED});break;case r.DESC:p=D.createElement(G,{disabled:this.props.tableState===t.DISABLED});break;default:p=D.createElement(W,{disabled:this.props.tableState===t.DISABLED})}c=D.createElement("span",{className:"properties-ft-column-sort-icon"},p)}var d=null;i.description&&i.headerLabel?d=D.createElement("div",{className:"properties-tooltips"},D.createElement("span",{style:{fontWeight:"bold"}},i.headerLabel),D.createElement("br",null),i.description):i.description?d=D.createElement("div",{className:"properties-tooltips"},i.description):i.headerLabel&&(d=D.createElement("div",{className:"properties-tooltips"},D.createElement("span",{style:{fontWeight:"bold"}},i.headerLabel)));var u=q()+"-tooltip-column-"+s,h=i.resizable&&!this.isLastColumn(s)?D.createElement(K,{axis:"x",defaultClassName:"properties-vt-header-resize",defaultClassNameDragging:"properties-vt-header-resize-active",onDrag:function(e,t){var r=t.deltaX;l.resizeColumn({dataKey:s,deltaX:r})},position:{x:0},zIndex:999},D.createElement("div",{role:"button",tabIndex:"0","aria-label":"Resize column"})):"";return D.createElement("div",{className:o({"properties-vt-column-with-resize":""!==h,"properties-vt-column-without-resize":""===h})},D.createElement("div",{className:o("properties-vt-column properties-tooltips-container",{"sort-column-active":s===this.props.sortBy})},A(d)?a:D.createElement(U,{id:u,tip:d,direction:"bottom",className:"properties-tooltips"},a),!1===n&&c),h)}},{key:"resizeColumn",value:function(e){var t=this,r=e.dataKey,o=e.deltaX;this.setState((function(e){var s=e.columns,n=t.getColumnIndex(s,r),a=s.length-1-n,c=o/a,p=s.slice(n+1).every((function(e){return e.headerLabel.length>0?e.width-c>l:e.width-c>i}));if(s[n].width+o>l&&p){s[n].width+=o;for(var d=n+1;d<s.length;d++)s[d].width-=c}return{columnResized:!0,columns:s}}))}},{key:"overSelectOption",value:function(e){"mouseenter"!==e.type||this.keyBoardEventCalled?"mouseleave"===e.type&&this.mouseEventCalled?(this.mouseEventCalled=!1,this.isOverSelectOption=!this.isOverSelectOption):"focus"!==e.type||this.mouseEventCalled?"blur"===e.type&&this.keyBoardEventCalled&&(this.keyBoardEventCalled=!1,this.isOverSelectOption=!this.isOverSelectOption):(this.keyBoardEventCalled=!0,this.isOverSelectOption=!this.isOverSelectOption):(this.mouseEventCalled=!0,this.isOverSelectOption=!this.isOverSelectOption)}},{key:"rowRenderer",value:function(t,r){var l=this,i=r.className,s=r.columns,n=r.index,a=r.key,c=r.rowData,p=r.style,d="",u=!1,h="boolean"==typeof c.disabled&&c.disabled;if("function"==typeof this.props.rowHeight&&0===this.props.rowHeight({index:n}))return null;if(this.props.selectable){var b=this.isRowSelected(c.originalRowIndex);if(u=this.props.selectable&&b,this.props.rowSelection!==e.SINGLE){var m=this.props.intl.formatMessage({id:"virtualizedTable.row.checkbox.label",defaultMessage:Y["virtualizedTable.row.checkbox.label"]},{row_index:n+1,table_label:this.props.tableLabel?this.props.tableLabel:""});d=D.createElement("div",{className:"properties-vt-row-checkbox",role:"gridcell",onMouseEnter:function(e){return l.overSelectOption(e)},onMouseLeave:function(e){return l.overSelectOption(e)},onFocus:function(e){return l.overSelectOption(e)},onBlur:function(e){return l.overSelectOption(e)}},D.createElement(z,{id:"properties-vt-row-cb-".concat(t,"-").concat(n),key:"properties-vt-row-cb-".concat(t,"-").concat(n),labelText:m,hideLabel:!0,checked:b,disabled:h}))}}if(this.props.summaryTable&&(d=D.createElement("div",{className:"properties-vt-row-checkbox"})),!0===c.loading)return D.createElement("div",{className:i,key:a,"data-role":"properties-loading-row",role:"row",style:p},D.createElement(B,{className:"properties-vt-small-loading",small:!0,withOverlay:!1}));var f=parseInt(p.width,10)+"px",v=Object.assign({},p,{width:f});return D.createElement("div",{style:{},key:a,className:"properties-vt-double-click",onDoubleClick:function(e){return l.onRowDoubleClick(e,c.rowKey,n)}},D.createElement("div",{className:o(i,{"properties-vt-row-selected":u},{"properties-vt-row-disabled":h},{"properties-vt-row-non-interactive":!this.props.selectable}),"data-role":"properties-data-row",role:"row",style:v,onMouseDown:function(e){return l.onRowClick(e,c,n)},onKeyPress:function(e){"Space"!==e.code&&"Enter"!==e.code||l.onRowClick(e,c,n)}},d,s))}},{key:"render",value:function(){var t=this;return D.createElement("div",{className:"properties-vt"},D.createElement("div",{className:o("properties-vt-autosizer",{"properties-vt-single-selection":this.props.rowSelection&&this.props.rowSelection===e.SINGLE,"properties-light-disabled":!this.props.light})},D.createElement(P,null,(function(e){var r=e.height,o=e.width;return D.createElement(j,{ref:t.virtualizedTableRef,width:o||500,height:r||2e3,className:"properties-autosized-vt","aria-label":t.props.tableLabel?t.props.tableLabel:"",disableHeader:t.props.disableHeader,headerClassName:"properties-autosized-vt-header",headerHeight:32,headerRowRenderer:t.headerRowRenderer.bind(t,t.props.scrollKey),onHeaderClick:t.props.onHeaderClick,rowClassName:"properties-vt-row-class",rowHeight:t.props.rowHeight?t.props.rowHeight:32,rowCount:t.state.rowCount,rowGetter:t.props.rowGetter,rowRenderer:t.rowRenderer.bind(t,t.props.scrollKey),scrollToIndex:t.props.scrollToIndex,scrollToAlignment:t.props.scrollToAlignment,sort:t.props.onSort,sortDirection:t.props.sortDirection},t.state.columns.map((function(e){return D.createElement(F,s({key:e.key,label:e.label,dataKey:e.key,width:e.width,columnData:e,disableSort:void 0===t.props.sortColumns[e.key],cellRenderer:e.isHTML?t.cellRendererHTML:t.cellRenderer,headerRenderer:t.headerColRenderer},e.minWidth&&{minWidth:e.minWidth}))})))}))))}}],[{key:"getDerivedStateFromProps",value:function(e,t){var r={};return e.rowCount!==t.rowCount&&(r.rowCount=e.rowCount),t.columnResized&&A(Ee(e.columns,t.columns,"headerLabel"))||(r.columns=e.columns),r}}]),p}(D.Component);Ie.defaultProps={disableHeader:!1};var Oe=L(Ie);function Ne(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if("string"==typeof e)return Ae(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ae(e,t)}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var o=0,l=function(){};return{s:l,n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:l}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,s=!0,n=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return s=e.done,e},e:function(e){n=!0,i=e},f:function(){try{s||null==r.return||r.return()}finally{if(n)throw i}}}}function Ae(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,o=new Array(t);r<t;r++)o[r]=e[r];return o}function He(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,o=c(e);if(t){var l=c(this).constructor;r=Reflect.construct(o,arguments,l)}else r=o.apply(this,arguments);return p(this,r)}}var De=function(l){a(c,l);var i=He(c);function c(e){var t;h(this,c);var o={};if(void 0!==(t=i.call(this,e)).props.sortable)for(var l=0;l<t.props.sortable.length;l++){o[t.props.sortable[l]]=r.NOT_SORTED}return t.state={checkedAllRows:!1,columnSortDir:o,currentSortColumn:"",tableWidth:0,tableHeight:0},t.rowHeight=t.rowHeight.bind(d(t)),t.rowGetter=t.rowGetter.bind(d(t)),t.getOriginalRowIndex=t.getOriginalRowIndex.bind(d(t)),t.getLastChildPropertyIdRow=t.getLastChildPropertyIdRow.bind(d(t)),t.calculateColumnWidths=t.calculateColumnWidths.bind(d(t)),t.handleFilterChange=t.handleFilterChange.bind(d(t)),t.onSort=t.onSort.bind(d(t)),t.sortHeaderClick=t.sortHeaderClick.bind(d(t)),t._updateTableWidth=t._updateTableWidth.bind(d(t)),t._adjustTableHeight=t._adjustTableHeight.bind(d(t)),t.handleCheckedRow=t.handleCheckedRow.bind(d(t)),t.handleCheckedAllRows=t.handleCheckedAllRows.bind(d(t)),t}return b(c,[{key:"componentDidMount",value:function(){this._adjustTableHeight(),window.addEventListener("resize",this._adjustTableHeight),this.tableNode=M.findDOMNode(this.refs.table)}},{key:"componentDidUpdate",value:function(e,t){e.rows===this.props.rows&&e.columns===this.props.columns&&e.noAutoSize===this.props.noAutoSize||this._adjustTableHeight(),this.props.selectedRows&&this.setCheckedAll(this.props.selectedRows),this.tableNode=M.findDOMNode(this.refs.table)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("resize",this._adjustTableHeight)}},{key:"onSort",value:function(e){var t=e.sortBy;if(this.props.onSort){var o={column:t,direction:this.state.columnSortDir[t]===r.ASC?r.DESC:r.ASC};this.props.onSort(o)}}},{key:"getOriginalRowIndex",value:function(e,t){var r=t;return e.columns&&H(e.columns[0],"content.props.children.props.propertyId.propertyId")?r=this.getLastChildPropertyIdRow(e.columns[0].content.props.children.props.propertyId,t):e.columns&&H(e.columns[0],"content.props.children.props.propertyId.row")?r=e.columns[0].content.props.children.props.propertyId.row:"number"==typeof e.rowKey&&(r=parseInt(e.rowKey,10)),r}},{key:"getLastChildPropertyIdRow",value:function(e,t){return void 0!==e.propertyId?this.getLastChildPropertyIdRow(e.propertyId):void 0!==e.row?e.row:t}},{key:"setCheckedAll",value:function(e){for(var t=!0,r=0;r<this.props.data.length;r++){var o=this.props.data[r],l=this.getOriginalRowIndex(o,r);if(e.indexOf(l)<0){t=!1;break}}this.state.checkedAllRows!==t&&this.setState({checkedAllRows:t})}},{key:"calculateColumnWidths",value:function(t,r){var o=r-12;this.props.rowSelection!==e.SINGLE&&(o-=40);var l,i=t.length,s=0,n=Ne(t);try{for(n.s();!(l=n.n()).done;){var a=l.value;a.width&&("string"==typeof a.width&&a.width.includes("px")?(o-=parseInt(a.width,10),i--):s=Math.max(s,a.width))}}catch(e){n.e(e)}finally{n.f()}var c,p=[],d=Math.floor(o/i),u=[],h=0,b=Ne(t);try{for(b.s();!(c=b.n()).done;){var m=c.value;m.width&&!isNaN(m.width)?(u.push(m.width/s),h+=m.width/s):u.push(null)}}catch(e){b.e(e)}finally{b.f()}for(var f=o/h,v=0,w=0;w<t.length;w++){var g=t[w];if(g.width)if("string"==typeof g.width&&g.width.includes("px"))p.push(Math.floor(parseInt(g.width,10))+"px"),v+=parseInt(g.width,10);else{var y=Math.floor(u[w]*f);p.push(y+"px"),v+=y}else p.push(d),v+=d}var k=r;if(this.props.rowSelection!==e.SINGLE&&(k-=40),v<k){var C=parseInt(p[0],10);p[0]=C+k-v+"px"}return p}},{key:"_updateTableWidth",value:function(e,t){this.state.tableWidth!==Math.floor(e-2)&&this.setState({tableWidth:Math.floor(e-2)})}},{key:"_adjustTableHeight",value:function(){if(!this.props.noAutoSize){var e=this.state.tableHeight,t=void 0!==this.props.rows?this.props.rows:4;if(Array.isArray(this.props.data)&&this.props.data.length<t)e=2*this.props.data.length+2+"rem";else if(t>0)e=2*t+2+"rem";else if(0===t)e="2rem";else if(-1===t&&this.flexibleTable){var r=M.findDOMNode(this.flexibleTableHeader).getBoundingClientRect().height,o=this.findPropertyNodeHeight(this.flexibleTable,"properties-wf-children");e=0===o?"100vh":"calc(".concat(o-r-50,"px - 3.5rem)")}e!==this.state.tableHeight&&this.setState({tableHeight:e})}}},{key:"findPropertyNodeHeight",value:function(e,t){if(e&&e.parentNode&&e.parentNode.className&&e.parentNode.className.includes(t)){var r=M.findDOMNode(e.parentNode).getBoundingClientRect();return r?r.height:0}return e&&e.parentNode?this.findPropertyNodeHeight(e.parentNode,t):0}},{key:"sortHeaderClick",value:function(e){var t=e.dataKey,o=this.state.columnSortDir;void 0!==o[t]&&(Object.keys(o).forEach((function(e){e!==t&&(o[e]=r.NOT_SORTED)})),o[t]=o[t]===r.ASC?r.DESC:r.ASC,this.setState({columnSortDir:o,currentSortColumn:t}))}},{key:"handleFilterChange",value:function(e){this.props.onFilter&&this.props.onFilter(e.target.value)}},{key:"handleCheckedAllRows",value:function(e){var t=[],r=this.props.data;if(e){t=Array.from(this.props.selectedRows);for(var o=0;o<r.length;o++){var l=this.getOriginalRowIndex(r[o],o);t.push(l)}}t=Array.from(new Set(t)),this.props.updateRowSelections(t),this.setState({checkedAllRows:e})}},{key:"handleCheckedRow",value:function(t,r){var o=t.originalRowIndex,l=t.index,i=t.selected,s=t.isOverSelectOption;if(!this.props.data[l].disabled)if(s){var n=this.props.selectedRows?this.props.selectedRows:[];i?(n=n.concat(o),this.setCheckedAll(n)):n&&(n=n.filter((function(e){return e!==o})),this.setState({checkedAllRows:!1})),this.props.updateRowSelections(n)}else this.props.rowSelection===e.SINGLE&&void 0!==this.props.updateRowSelections&&this.props.updateRowSelections(t.index,r,this.props.data[t.index].rowKey)}},{key:"generateTableHeaderRow",value:function(e){for(var t=[],r="",o=0;o<this.props.columns.length;o++){var l=this.props.columns[o];void 0!==this.props.filterable&&this.props.filterable[0]===l.key&&(r=l.label);var i=Math.abs(parseInt(e[o],10)),s=void 0;"object"===u(l.label)?s=l.label.props.labelText:"string"==typeof l.label&&(s=l.label),t.push({key:l.key,label:l.label,width:i,description:l.description,headerLabel:s,resizable:l.resizable,operation:l.operation})}return{headers:t,searchLabel:r}}},{key:"rowGetter",value:function(e){var t=e.index,r=this.props.data[t],o=this.getOriginalRowIndex(r,t),l={};if(r.columns)for(var i=0;i<r.columns.length;i++){var s=r.columns[i];l[s.column]=s.content}return Object.assign({},l,{loading:!1,index:t,originalRowIndex:o,rowKey:void 0!==r.rowKey?r.rowKey:this.props.scrollKey+"-row-"+t,disabled:r.disabled})}},{key:"rowHeight",value:function(e){return e.index,n}},{key:"render",value:function(){var e=this,r=this.state.tableWidth,l=this.calculateColumnWidths(this.props.columns,r),i=this.generateTableHeaderRow(l),n=i.headers,a=i.searchLabel,c=this.props.tableState===t.DISABLED,p=null;if(void 0!==this.props.filterable&&0!==this.props.filterable.length){var d=this.props.intl.formatMessage({id:"table.search.placeholder",defaultMessage:Y["table.search.placeholder"]},{column_name:a}),u=this.props.intl.formatMessage({id:"table.search.label",defaultMessage:Y["table.search.label"]},{table_name:this.props.tableLabel});p=D.createElement("div",{className:o("properties-ft-search-container",{disabled:c})},D.createElement(_,{className:"properties-ft-search-text",placeholder:d,onChange:this.handleFilterChange,disabled:c,size:"sm",labelText:u,light:this.props.light}))}var h=-1;void 0!==this.props.scrollToRow&&null!==this.props.scrollToRow&&(h=this.props.scrollToRow);var b={};this.props.noAutoSize||(b={height:this.state.tableHeight});var m=this.props.showHeader?"properties-ft-container-absolute ":"properties-ft-container-absolute-noheader ",f=this.props.messageInfo?m+this.props.messageInfo.type:m+t.INFO;return D.createElement("div",{"data-id":"properties-ft-"+this.props.scrollKey,className:"properties-ft-control-container",ref:function(t){return e.flexibleTable=t}},D.createElement("div",{className:"properties-ft-table-header",ref:function(t){return e.flexibleTableHeader=t}},p,this.props.topRightPanel),D.createElement("div",{className:"properties-ft-container-panel"},D.createElement(X,{handleWidth:!0,onResize:this._updateTableWidth},D.createElement("div",{className:"properties-ft-container-wrapper",style:b},D.createElement("div",{className:f},this.props.selectedEditRow,D.createElement(Oe,s({tableLabel:this.props.tableLabel,columns:n,onHeaderClick:this.sortHeaderClick,rowCount:this.props.data.length,rowHeight:this.rowHeight,rowGetter:this.rowGetter,summaryTable:this.props.summaryTable,selectable:void 0!==this.props.updateRowSelections,rowSelection:this.props.rowSelection,disableHeader:!this.props.showHeader,onRowDoubleClick:this.props.onRowDoubleClick,rowsSelected:this.props.selectedRows,checkedAll:this.state.checkedAllRows,setRowsSelected:this.handleCheckedRow,setAllRowsSelected:this.handleCheckedAllRows,scrollKey:this.props.scrollKey,onSort:this.onSort,sortBy:this.state.currentSortColumn,sortColumns:this.state.columnSortDir,sortDirection:this.state.columnSortDir[this.state.currentSortColumn],tableState:this.props.tableState,light:this.props.light},-1!==h&&{scrollToIndex:h,scrollToAlignment:"center"})))))))}}]),c}(D.Component);De.defaultProps={showHeader:!0,light:!0};var Le=L(De);export{Le as F,ye as _,Y as d,Q as h};
2
+ //# sourceMappingURL=flexible-table-154a3359.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flexible-table-154a3359.js","sources":["../node_modules/lodash/hasIn.js","../node_modules/lodash/_baseHasIn.js","../node_modules/lodash/_matchesStrictComparable.js","../node_modules/lodash/_baseMatches.js","../node_modules/lodash/_baseMatchesProperty.js","../node_modules/lodash/_basePropertyDeep.js","../node_modules/lodash/property.js","../node_modules/lodash/_baseProperty.js","../node_modules/lodash/_baseIteratee.js","../node_modules/lodash/differenceBy.js","../src/common-properties/components/virtualized-table/virtualized-table.jsx","../src/common-properties/components/flexible-table/flexible-table.jsx"],"sourcesContent":["var baseHasIn = require('./_baseHasIn'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nmodule.exports = hasIn;\n","/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nmodule.exports = baseHasIn;\n","/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n","var baseIsMatch = require('./_baseIsMatch'),\n getMatchData = require('./_getMatchData'),\n matchesStrictComparable = require('./_matchesStrictComparable');\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nmodule.exports = baseMatches;\n","var baseIsEqual = require('./_baseIsEqual'),\n get = require('./get'),\n hasIn = require('./hasIn'),\n isKey = require('./_isKey'),\n isStrictComparable = require('./_isStrictComparable'),\n matchesStrictComparable = require('./_matchesStrictComparable'),\n toKey = require('./_toKey');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nmodule.exports = baseMatchesProperty;\n","var baseGet = require('./_baseGet');\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nmodule.exports = basePropertyDeep;\n","var baseProperty = require('./_baseProperty'),\n basePropertyDeep = require('./_basePropertyDeep'),\n isKey = require('./_isKey'),\n toKey = require('./_toKey');\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = property;\n","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n","var baseMatches = require('./_baseMatches'),\n baseMatchesProperty = require('./_baseMatchesProperty'),\n identity = require('./identity'),\n isArray = require('./isArray'),\n property = require('./property');\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nmodule.exports = baseIteratee;\n","var baseDifference = require('./_baseDifference'),\n baseFlatten = require('./_baseFlatten'),\n baseIteratee = require('./_baseIteratee'),\n baseRest = require('./_baseRest'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n last = require('./last');\n\n/**\n * This method is like `_.difference` except that it accepts `iteratee` which\n * is invoked for each element of `array` and `values` to generate the criterion\n * by which they're compared. The order and references of result values are\n * determined by the first array. The iteratee is invoked with one argument:\n * (value).\n *\n * **Note:** Unlike `_.pullAllBy`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x');\n * // => [{ 'x': 2 }]\n */\nvar differenceBy = baseRest(function(array, values) {\n var iteratee = last(values);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), baseIteratee(iteratee, 2))\n : [];\n});\n\nmodule.exports = differenceBy;\n","/*\n * Copyright 2017-2022 Elyra Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Column, Table, AutoSizer } from \"react-virtualized\";\nimport Draggable from \"react-draggable\";\nimport { Checkbox, Loading } from \"carbon-components-react\";\nimport { ArrowUp16, ArrowDown16, ArrowsVertical16 } from \"@carbon/icons-react\";\nimport Tooltip from \"./../../../tooltip/tooltip.jsx\";\nimport { SORT_DIRECTION, STATES, ROW_SELECTION, MINIMUM_COLUMN_WIDTH, MINIMUM_COLUMN_WIDTH_WITHOUT_LABEL } from \"./../../constants/constants\";\nimport { injectIntl } from \"react-intl\";\nimport defaultMessages from \"../../../../locales/common-properties/locales/en.json\";\n\nimport { isEmpty, differenceBy } from \"lodash\";\nimport { v4 as uuid4 } from \"uuid\";\nimport classNames from \"classnames\";\n\nimport PropTypes from \"prop-types\";\nimport React from \"react\";\n\nclass VirtualizedTable extends React.Component {\n\n\tstatic getDerivedStateFromProps(nextProps, prevState) {\n\t\tconst updatedState = {};\n\t\tif (nextProps.rowCount !== prevState.rowCount) {\n\t\t\tupdatedState.rowCount = nextProps.rowCount;\n\t\t}\n\t\t// Only get new columns if column label (headerLabel) is different. This is useful when changing \"View in tables\" dropdown in Expression control.\n\t\t// We're not comparing all properties in columns object because width can be different after resizing.\n\t\tif (!prevState.columnResized || !isEmpty(differenceBy(nextProps.columns, prevState.columns, \"headerLabel\"))) {\n\t\t\tupdatedState.columns = nextProps.columns;\n\t\t}\n\t\treturn (updatedState);\n\t}\n\n\tconstructor(props, context) {\n\t\tsuper(props, context);\n\n\t\tthis.state = {\n\t\t\trowCount: this.props.rowCount,\n\t\t\tcolumns: this.props.columns,\n\t\t\tcolumnResized: false\n\t\t};\n\t\tthis.virtualizedTableRef = React.createRef();\n\n\t\tthis.isOverSelectOption = false;\n\t\tthis.mouseEventCalled = false;\n\t\tthis.keyBoardEventCalled = false;\n\t\tthis.cellRenderer = this.cellRenderer.bind(this);\n\t\tthis.selectAll = this.selectAll.bind(this);\n\t\tthis.headerRowRenderer = this.headerRowRenderer.bind(this);\n\t\tthis.headerColRenderer = this.headerColRenderer.bind(this);\n\t\tthis.onRowClick = this.onRowClick.bind(this);\n\t\tthis.overSelectOption = this.overSelectOption.bind(this);\n\t\tthis.resizeColumn = this.resizeColumn.bind(this);\n\t}\n\n\tcomponentDidUpdate() {\n\t\t// If the rowHeight prop is a function, the virtualized table doesn't always adjust its\n\t\t// row heights correctly when the table data has changed. So in this case we need\n\t\t// to recompute the row heights.\n\t\tif (typeof this.props.rowHeight === \"function\") {\n\t\t\tthis.recomputeRowHeights();\n\t\t}\n\t}\n\n\t// This is also triggered when clicking on a checkbox\n\tonRowClick(evt, rowData, index) {\n\t\tif (evt.target.className === \"bx--select-option\") {\n\t\t\tevt.stopPropagation(); // stop propagation when selecting dropdown select options within table rows\n\t\t} else {\n\t\t\t// Set selections\n\t\t\tconst selected = !this.isRowSelected(rowData.originalRowIndex);\n\t\t\tif (typeof this.props.setRowsSelected === \"function\") {\n\t\t\t\tthis.props.setRowsSelected({\n\t\t\t\t\t\"index\": index,\n\t\t\t\t\t\"originalRowIndex\": rowData.originalRowIndex,\n\t\t\t\t\t\"selected\": selected,\n\t\t\t\t\t\"isOverSelectOption\": this.isOverSelectOption }, evt);\n\t\t\t}\n\t\t}\n\t}\n\n\tonRowDoubleClick(evt, rowKey, index) {\n\t\tif (this.props.onRowDoubleClick) {\n\t\t\tthis.props.onRowDoubleClick(evt, rowKey, index);\n\t\t}\n\t}\n\n\tgetCheckboxLabelColumnIndex(columns) {\n\t\t// If 1st column is Index, use the next column for labeling\n\t\tfor (let i = 0; i < columns.length; i++) {\n\t\t\tif (columns[i].operation !== \"index\") {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\t\t// Use first column by default\n\t\treturn 0;\n\t}\n\n\tgetColumnIndex(columns, key) {\n\t\tconst index = columns.findIndex((column) => column.key === key);\n\t\treturn index;\n\t}\n\n\tisRowSelected(index) {\n\t\tif (this.props.rowsSelected) {\n\t\t\treturn this.props.rowsSelected.indexOf(index) > -1;\n\t\t}\n\t\treturn false;\n\t}\n\n\tisLastColumn(dataKey) {\n\t\tconst columnIndex = this.getColumnIndex(this.props.columns, dataKey);\n\t\tconst isLastColumn = (columnIndex === (this.props.columns.length - 1));\n\t\treturn isLastColumn;\n\t}\n\n\tselectAll(selected) {\n\t\tthis.props.setAllRowsSelected(selected);\n\t}\n\n\t// Callback responsible for rendering a cell's contents.\n\tcellRenderer({ cellData }) {\n\t\tif (cellData === null || typeof cellData === \"undefined\") {\n\t\t\treturn \"\";\n\t\t}\n\t\treturn cellData;\n\t}\n\n\tcellRendererHTML({ cellData }) {\n\t\tif (cellData === null || typeof cellData === \"undefined\") {\n\t\t\treturn \"\";\n\t\t}\n\t\treturn (<div dangerouslySetInnerHTML={{ __html: cellData }} />);\n\t}\n\n\trecomputeRowHeights(index) {\n\t\tif (this.virtualizedTableRef && this.virtualizedTableRef.current) {\n\t\t\tthis.virtualizedTableRef.current.recomputeRowHeights(index);\n\t\t}\n\t}\n\n\t// Responsible for rendering the table header row given an array of columns.\n\theaderRowRenderer(scrollKey, { className, columns, style }) {\n\t\tconst checkboxLabelColumnIndex = (typeof this.props.columns === \"undefined\" || this.props.columns.length === 0) ? 0 : this.getCheckboxLabelColumnIndex(this.props.columns);\n\t\tconst headerCheckboxLabel = (typeof this.props.columns === \"undefined\" || this.props.columns.length === 0) ? \"\" : this.props.columns[checkboxLabelColumnIndex].headerLabel;\n\t\tconst translatedHeaderCheckboxLabel = this.props.intl.formatMessage(\n\t\t\t{ id: \"virtualizedTable.header.checkbox.label\", defaultMessage: defaultMessages[\"virtualizedTable.header.checkbox.label\"] },\n\t\t\t{ header_checkbox_label: headerCheckboxLabel }\n\t\t);\n\t\tconst checkbox = this.props.selectable && this.props.rowSelection !== ROW_SELECTION.SINGLE ? (<div role=\"columnheader\" className=\"properties-vt-header-checkbox\">\n\t\t\t<Checkbox\n\t\t\t\tid={`properties-vt-hd-cb-${scrollKey}`}\n\t\t\t\tonChange={this.selectAll}\n\t\t\t\tchecked={this.props.checkedAll}\n\t\t\t\tlabelText={translatedHeaderCheckboxLabel}\n\t\t\t\thideLabel\n\t\t\t/>\n\t\t</div>)\n\t\t\t: \"\";\n\n\t\treturn (<div className={className} data-role=\"properties-header-row\" role=\"row\" style={style}>\n\t\t\t{checkbox}\n\t\t\t{columns}\n\t\t</div>);\n\t}\n\n\theaderColRenderer({ columnData, dataKey, disableSort, label, sortBy, sortDirection }) {\n\t\tlet sortIcon = null;\n\t\tif (typeof this.props.sortColumns[dataKey] !== \"undefined\") {\n\t\t\tlet type = null;\n\t\t\tswitch (this.props.sortColumns[dataKey]) {\n\t\t\tcase SORT_DIRECTION.ASC:\n\t\t\t\ttype = <ArrowUp16 disabled={this.props.tableState === STATES.DISABLED} />;\n\t\t\t\tbreak;\n\t\t\tcase SORT_DIRECTION.DESC:\n\t\t\t\ttype = <ArrowDown16 disabled={this.props.tableState === STATES.DISABLED} />;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\ttype = <ArrowsVertical16 disabled={this.props.tableState === STATES.DISABLED} />;\n\t\t\t}\n\t\t\tsortIcon = (<span className=\"properties-ft-column-sort-icon\">\n\t\t\t\t{type}\n\t\t\t</span>);\n\t\t}\n\n\t\tlet tooltip = null;\n\t\tif (columnData.description && columnData.headerLabel) {\n\t\t\ttooltip = (\n\t\t\t\t<div className=\"properties-tooltips\">\n\t\t\t\t\t<span style= {{ fontWeight: \"bold\" }}>{columnData.headerLabel}</span>\n\t\t\t\t\t<br />\n\t\t\t\t\t{columnData.description}\n\t\t\t\t</div>\n\t\t\t);\n\t\t} else if (columnData.description) {\n\t\t\ttooltip = (\n\t\t\t\t<div className=\"properties-tooltips\">\n\t\t\t\t\t{columnData.description}\n\t\t\t\t</div>\n\t\t\t);\n\t\t} else if (columnData.headerLabel) {\n\t\t\ttooltip = (\n\t\t\t\t<div className=\"properties-tooltips\">\n\t\t\t\t\t<span style= {{ fontWeight: \"bold\" }}>{columnData.headerLabel}</span>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tconst tooltipId = uuid4() + \"-tooltip-column-\" + dataKey;\n\n\t\tconst resizeElem = columnData.resizable && !this.isLastColumn(dataKey)\n\t\t\t? (<Draggable\n\t\t\t\taxis=\"x\"\n\t\t\t\tdefaultClassName=\"properties-vt-header-resize\"\n\t\t\t\tdefaultClassNameDragging=\"properties-vt-header-resize-active\"\n\t\t\t\tonDrag={\n\t\t\t\t\t(evt, { deltaX }) => {\n\t\t\t\t\t\tthis.resizeColumn({ dataKey, deltaX });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tposition={{ x: 0 }}\n\t\t\t\tzIndex={999}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\trole=\"button\" tabIndex=\"0\"\n\t\t\t\t\taria-label=\"Resize column\"\n\t\t\t\t/>\n\t\t\t</Draggable>)\n\t\t\t: \"\";\n\n\t\treturn (\n\t\t\t<div className={classNames({ \"properties-vt-column-with-resize\": resizeElem !== \"\", \"properties-vt-column-without-resize\": resizeElem === \"\" })}>\n\t\t\t\t<div className={classNames(\"properties-vt-column properties-tooltips-container\", { \"sort-column-active\": dataKey === this.props.sortBy })}>\n\t\t\t\t\t{ isEmpty(tooltip)\n\t\t\t\t\t\t? label\n\t\t\t\t\t\t: <Tooltip\n\t\t\t\t\t\t\tid={tooltipId}\n\t\t\t\t\t\t\ttip={tooltip}\n\t\t\t\t\t\t\tdirection=\"bottom\"\n\t\t\t\t\t\t\tclassName=\"properties-tooltips\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t}\n\t\t\t\t\t{disableSort === false && sortIcon}\n\t\t\t\t</div>\n\t\t\t\t{ resizeElem }\n\t\t\t</div>\n\t\t);\n\t}\n\n\t/* Columns are not resizable by default. Host application specifies resizable columns in parameter definition.\n\t* When a column is resized, width of ALL the columns to the right of resized column is adjusted.\n\t* Example: If a column width is reduced by 10px and there are 5 columns on the right of resized column. Each of the 5 columns width is increased by 2px (10px/number of columns)\n\t* When any column's width reaches MINIMUM_COLUMN_WIDTH (56px), resizing is stopped.\n\t* Special case - For columns without labels, when their width reaches MINIMUM_COLUMN_WIDTH_WITHOUT_LABEL (32px), resizing is stopped.\n\t*/\n\tresizeColumn({ dataKey, deltaX }) {\n\t\tthis.setState((prevState) => {\n\n\t\t\tconst columns = prevState.columns;\n\t\t\t// Calculate number of columns on the right of resized column\n\t\t\tconst resizedColumnIndex = this.getColumnIndex(columns, dataKey);\n\t\t\tconst numberOfColumnsOnTheRight = columns.length - 1 - resizedColumnIndex;\n\t\t\tconst rightColumnsDelta = deltaX / numberOfColumnsOnTheRight;\n\n\t\t\t// Verify adjusted width of every column on the right is greater than minimum width\n\t\t\tconst everyColumnGreaterThanMinWidth = columns.slice(resizedColumnIndex + 1).every((col) => {\n\t\t\t\tif (col.headerLabel.length > 0) {\n\t\t\t\t\t// Column with label has min width 56px\n\t\t\t\t\treturn (col.width - rightColumnsDelta > MINIMUM_COLUMN_WIDTH);\n\t\t\t\t}\n\t\t\t\t// Column without label has min width 32px\n\t\t\t\treturn (col.width - rightColumnsDelta > MINIMUM_COLUMN_WIDTH_WITHOUT_LABEL);\n\t\t\t});\n\n\t\t\tif ((columns[resizedColumnIndex].width + deltaX) > MINIMUM_COLUMN_WIDTH && everyColumnGreaterThanMinWidth) {\n\t\t\t\tcolumns[resizedColumnIndex].width += deltaX;\n\t\t\t\t// Adjust width of all columns on the right\n\t\t\t\tfor (let i = resizedColumnIndex + 1; i < columns.length; i++) {\n\t\t\t\t\tcolumns[i].width -= rightColumnsDelta;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tcolumnResized: true,\n\t\t\t\tcolumns: columns\n\t\t\t};\n\t\t});\n\t}\n\n\toverSelectOption(evt) {\n\t\t// Differentiate between mouse and keyboard event\n\t\tif (evt.type === \"mouseenter\" && !this.keyBoardEventCalled) {\n\t\t\tthis.mouseEventCalled = true;\n\t\t\tthis.isOverSelectOption = !this.isOverSelectOption;\n\t\t} else if (evt.type === \"mouseleave\" && this.mouseEventCalled) {\n\t\t\tthis.mouseEventCalled = false;\n\t\t\tthis.isOverSelectOption = !this.isOverSelectOption;\n\t\t} else if (evt.type === \"focus\" && !this.mouseEventCalled) {\n\t\t\tthis.keyBoardEventCalled = true;\n\t\t\tthis.isOverSelectOption = !this.isOverSelectOption;\n\t\t} else if (evt.type === \"blur\" && this.keyBoardEventCalled) {\n\t\t\tthis.keyBoardEventCalled = false;\n\t\t\tthis.isOverSelectOption = !this.isOverSelectOption;\n\t\t}\n\t}\n\n\t// Responsible for rendering a table row given an array of columns.\n\trowRenderer(scrollKey, { className, columns, index, key, rowData, style }) {\n\t\tlet selectOption = \"\";\n\t\tlet selectedRow = false;\n\t\tconst rowDisabled = typeof rowData.disabled === \"boolean\" ? rowData.disabled : false;\n\n\t\tif (typeof this.props.rowHeight === \"function\" && this.props.rowHeight({ index }) === 0) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif (this.props.selectable) {\n\t\t\tconst rowSelected = this.isRowSelected(rowData.originalRowIndex);\n\t\t\tselectedRow = this.props.selectable && rowSelected;\n\t\t\tif (this.props.rowSelection !== ROW_SELECTION.SINGLE) {\n\t\t\t\tconst translatedRowCheckboxLabel = this.props.intl.formatMessage(\n\t\t\t\t\t{ id: \"virtualizedTable.row.checkbox.label\", defaultMessage: defaultMessages[\"virtualizedTable.row.checkbox.label\"] },\n\t\t\t\t\t{ row_index: index + 1, table_label: (this.props.tableLabel ? this.props.tableLabel : \"\") }\n\t\t\t\t);\n\n\t\t\t\tselectOption = (<div className=\"properties-vt-row-checkbox\"\n\t\t\t\t\trole=\"gridcell\"\n\t\t\t\t\tonMouseEnter={(evt) => this.overSelectOption(evt)}\n\t\t\t\t\tonMouseLeave={(evt) => this.overSelectOption(evt)}\n\t\t\t\t\tonFocus={(evt) => this.overSelectOption(evt)}\n\t\t\t\t\tonBlur={(evt) => this.overSelectOption(evt)}\n\t\t\t\t>\n\t\t\t\t\t<Checkbox\n\t\t\t\t\t\tid={`properties-vt-row-cb-${scrollKey}-${index}`}\n\t\t\t\t\t\tkey={`properties-vt-row-cb-${scrollKey}-${index}`}\n\t\t\t\t\t\tlabelText={translatedRowCheckboxLabel}\n\t\t\t\t\t\thideLabel\n\t\t\t\t\t\tchecked={rowSelected}\n\t\t\t\t\t\tdisabled={rowDisabled}\n\t\t\t\t\t/>\n\t\t\t\t</div>);\n\t\t\t}\n\t\t}\n\n\t\tif (this.props.summaryTable) {\n\t\t\tselectOption = <div className=\"properties-vt-row-checkbox\" />;\n\t\t}\n\n\t\tif (rowData.loading === true) {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName={className}\n\t\t\t\t\tkey={key}\n\t\t\t\t\tdata-role=\"properties-loading-row\"\n\t\t\t\t\trole=\"row\"\n\t\t\t\t\tstyle={style}\n\t\t\t\t>\n\t\t\t\t\t<Loading className=\"properties-vt-small-loading\" small withOverlay={false} />\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tconst width = (parseInt(style.width, 10)) + \"px\"; // Subtract 2px to account for row borders\n\t\tconst newStyle = Object.assign({}, style, { width: width });\n\n\t\t// Empty style required on cell for react-virtualized. This div wrapper is required to apply the onDoubleClick handler.\n\t\treturn (<div style={{}} key={key} className=\"properties-vt-double-click\" onDoubleClick={(evt) => this.onRowDoubleClick(evt, rowData.rowKey, index)}>\n\t\t\t<div\n\t\t\t\tclassName={classNames(className,\n\t\t\t\t\t{ \"properties-vt-row-selected\": selectedRow },\n\t\t\t\t\t{ \"properties-vt-row-disabled\": rowDisabled },\n\t\t\t\t\t{ \"properties-vt-row-non-interactive\": !this.props.selectable } // ReadonlyTable with single row selection is non-interactive.\n\t\t\t\t)}\n\t\t\t\tdata-role=\"properties-data-row\"\n\t\t\t\trole=\"row\"\n\t\t\t\tstyle={newStyle}\n\t\t\t\tonMouseDown={(evt) => this.onRowClick(evt, rowData, index)}\n\t\t\t\tonKeyPress={(evt) => {\n\t\t\t\t\tif (evt.code === \"Space\" || evt.code === \"Enter\") {\n\t\t\t\t\t\tthis.onRowClick(evt, rowData, index);\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{selectOption}\n\t\t\t\t{columns}\n\t\t\t</div>\n\t\t</div>);\n\t}\n\n\trender() {\n\t\tconst defaultTestHeight = 2000; // 2000 is set to accommodate test data \"category-selection-data\" with all categories expanded\n\n\t\t// AutoSizer manages width and height properties so the table fills the available space.\n\t\t// It does a direct DOM manipulation to the parent, outside React's VirtualDOM.\n\t\t// Since the actual DOM is not available when unit testing, we are passing in a default\n\t\t// width of 500 and a default height of 300.\n\t\treturn (\n\t\t\t<div className=\"properties-vt\">\n\t\t\t\t<div className={classNames(\"properties-vt-autosizer\",\n\t\t\t\t\t{ \"properties-vt-single-selection\": this.props.rowSelection && this.props.rowSelection === ROW_SELECTION.SINGLE,\n\t\t\t\t\t\t\"properties-light-disabled\": !this.props.light })}\n\t\t\t\t>\n\t\t\t\t\t<AutoSizer>\n\t\t\t\t\t\t{({ height, width }) => ( // Table height: subtract 50 for margin below the table.\n\t\t\t\t\t\t\t<Table\n\t\t\t\t\t\t\t\tref={this.virtualizedTableRef}\n\t\t\t\t\t\t\t\twidth={width ? width : 500}\n\t\t\t\t\t\t\t\theight={height ? height : defaultTestHeight}\n\n\t\t\t\t\t\t\t\tclassName=\"properties-autosized-vt\"\n\t\t\t\t\t\t\t\taria-label={this.props.tableLabel ? this.props.tableLabel : \"\"}\n\n\t\t\t\t\t\t\t\tdisableHeader={this.props.disableHeader}\n\t\t\t\t\t\t\t\theaderClassName=\"properties-autosized-vt-header\"\n\t\t\t\t\t\t\t\theaderHeight={32}\n\t\t\t\t\t\t\t\theaderRowRenderer={this.headerRowRenderer.bind(this, this.props.scrollKey)}\n\t\t\t\t\t\t\t\tonHeaderClick={this.props.onHeaderClick}\n\n\t\t\t\t\t\t\t\trowClassName=\"properties-vt-row-class\"\n\t\t\t\t\t\t\t\trowHeight={this.props.rowHeight ? this.props.rowHeight : 32}\n\n\t\t\t\t\t\t\t\trowCount={this.state.rowCount}\n\t\t\t\t\t\t\t\trowGetter={this.props.rowGetter}\n\t\t\t\t\t\t\t\trowRenderer={this.rowRenderer.bind(this, this.props.scrollKey)}\n\n\t\t\t\t\t\t\t\tscrollToIndex={this.props.scrollToIndex}\n\t\t\t\t\t\t\t\tscrollToAlignment={this.props.scrollToAlignment}\n\n\t\t\t\t\t\t\t\tsort={this.props.onSort}\n\t\t\t\t\t\t\t\tsortDirection={this.props.sortDirection}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tthis.state.columns.map((column) => (\n\t\t\t\t\t\t\t\t\t\t<Column\n\t\t\t\t\t\t\t\t\t\t\tkey={column.key}\n\t\t\t\t\t\t\t\t\t\t\tlabel={column.label}\n\t\t\t\t\t\t\t\t\t\t\tdataKey={column.key}\n\t\t\t\t\t\t\t\t\t\t\twidth={column.width}\n\t\t\t\t\t\t\t\t\t\t\tcolumnData={column}\n\t\t\t\t\t\t\t\t\t\t\tdisableSort={typeof this.props.sortColumns[column.key] === \"undefined\"}\n\t\t\t\t\t\t\t\t\t\t\tcellRenderer={column.isHTML ? this.cellRendererHTML : this.cellRenderer}\n\t\t\t\t\t\t\t\t\t\t\theaderRenderer={this.headerColRenderer}\n\t\t\t\t\t\t\t\t\t\t\t{...column.minWidth && { minWidth: column.minWidth }}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t))\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</Table>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</AutoSizer>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nVirtualizedTable.defaultProps = {\n\tdisableHeader: false\n};\n\nVirtualizedTable.propTypes = {\n\ttableLabel: PropTypes.string,\n\tselectable: PropTypes.bool,\n\tsummaryTable: PropTypes.bool,\n\trowSelection: PropTypes.string,\n\tdisableHeader: PropTypes.bool,\n\tcolumns: PropTypes.array.isRequired,\n\trowCount: PropTypes.number.isRequired,\n\trowGetter: PropTypes.func.isRequired,\n\trowHeight: PropTypes.oneOfType([\n\t\tPropTypes.func.isRequired,\n\t\tPropTypes.number.isRequired\n\t]),\n\tonRowDoubleClick: PropTypes.func,\n\trowsSelected: PropTypes.array, // Required if selectable is true\n\tcheckedAll: PropTypes.bool, // Required if selectable is true\n\tsetRowsSelected: PropTypes.func, // Required if selectable is true\n\tsetAllRowsSelected: PropTypes.func, // Required if selectable is true\n\tscrollToIndex: PropTypes.number,\n\tscrollToAlignment: PropTypes.string,\n\tonSort: PropTypes.func,\n\tsortBy: PropTypes.string,\n\tsortColumns: PropTypes.object,\n\tsortDirection: PropTypes.string,\n\tonHeaderClick: PropTypes.func,\n\tscrollKey: PropTypes.string,\n\ttableState: PropTypes.string,\n\tlight: PropTypes.bool,\n\tintl: PropTypes.object.isRequired\n};\n\nexport default injectIntl(VirtualizedTable);\n","/*\n * Copyright 2017-2022 Elyra Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* eslint complexity: [\"error\", 25] */\n/* eslint max-depth: [\"error\", 6] */\n\nimport React from \"react\";\nimport { injectIntl } from \"react-intl\";\nimport ReactDOM from \"react-dom\";\nimport PropTypes from \"prop-types\";\nimport { Search } from \"carbon-components-react\";\nimport VirtualizedTable from \"./../virtualized-table/virtualized-table.jsx\";\nimport { SORT_DIRECTION, STATES, ROW_HEIGHT, ROW_SELECTION } from \"./../../constants/constants\";\nimport ReactResizeDetector from \"react-resize-detector\";\nimport classNames from \"classnames\";\nimport { has } from \"lodash\";\nimport defaultMessages from \"../../../../locales/common-properties/locales/en.json\";\n\nclass FlexibleTable extends React.Component {\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tconst sortDirs = {};\n\t\tif (typeof this.props.sortable !== \"undefined\") {\n\t\t\tfor (var i = 0; i < this.props.sortable.length; i++) {\n\t\t\t\tconst sortCol = this.props.sortable[i];\n\t\t\t\tsortDirs[sortCol] = SORT_DIRECTION.NOT_SORTED;\n\t\t\t}\n\t\t}\n\t\tthis.state = {\n\t\t\tcheckedAllRows: false,\n\t\t\tcolumnSortDir: sortDirs,\n\t\t\tcurrentSortColumn: \"\",\n\t\t\ttableWidth: 0,\n\t\t\ttableHeight: 0\n\t\t};\n\n\t\tthis.rowHeight = this.rowHeight.bind(this);\n\t\tthis.rowGetter = this.rowGetter.bind(this);\n\n\t\tthis.getOriginalRowIndex = this.getOriginalRowIndex.bind(this);\n\t\tthis.getLastChildPropertyIdRow = this.getLastChildPropertyIdRow.bind(this);\n\n\t\tthis.calculateColumnWidths = this.calculateColumnWidths.bind(this);\n\t\tthis.handleFilterChange = this.handleFilterChange.bind(this);\n\t\tthis.onSort = this.onSort.bind(this);\n\t\tthis.sortHeaderClick = this.sortHeaderClick.bind(this);\n\t\tthis._updateTableWidth = this._updateTableWidth.bind(this);\n\t\tthis._adjustTableHeight = this._adjustTableHeight.bind(this);\n\t\tthis.handleCheckedRow = this.handleCheckedRow.bind(this);\n\t\tthis.handleCheckedAllRows = this.handleCheckedAllRows.bind(this);\n\t}\n\n\tcomponentDidMount() {\n\t\tthis._adjustTableHeight();\n\t\twindow.addEventListener(\"resize\", this._adjustTableHeight);\n\t\tthis.tableNode = ReactDOM.findDOMNode(this.refs.table);\n\t}\n\n\tcomponentDidUpdate(prevProps, prevState) {\n\t\tif (prevProps.rows !== this.props.rows ||\n\t\t\tprevProps.columns !== this.props.columns ||\n\t\t\tprevProps.noAutoSize !== this.props.noAutoSize) {\n\t\t\tthis._adjustTableHeight();\n\t\t}\n\n\t\t// Calculate if checkedAllRows is true\n\t\tif (this.props.selectedRows) {\n\t\t\tthis.setCheckedAll(this.props.selectedRows);\n\t\t}\n\n\t\tthis.tableNode = ReactDOM.findDOMNode(this.refs.table);\n\t}\n\n\tcomponentWillUnmount() {\n\t\twindow.removeEventListener(\"resize\", this._adjustTableHeight);\n\t}\n\n\tonSort({ sortBy }) {\n\t\tif (this.props.onSort) {\n\t\t\tconst sortDirection = (this.state.columnSortDir[sortBy] === SORT_DIRECTION.ASC) ? SORT_DIRECTION.DESC : SORT_DIRECTION.ASC;\n\t\t\tconst spec = {\n\t\t\t\tcolumn: sortBy,\n\t\t\t\tdirection: sortDirection\n\t\t\t};\n\t\t\tthis.props.onSort(spec);\n\t\t}\n\t}\n\n\t/**\n\t* The current displayed row may have an index that is different from its actual index within the dataset\n\t* Given the current displayed row and index of the table,\n\t* return its original row index from its row's propertyId\n\t*/\n\tgetOriginalRowIndex(row, index) {\n\t\tlet rowIndex = index;\n\t\tif (row.columns && has(row.columns[0], \"content.props.children.props.propertyId.propertyId\")) {\n\t\t\t// this is a nested control\n\t\t\trowIndex = this.getLastChildPropertyIdRow(row.columns[0].content.props.children.props.propertyId, index);\n\t\t} else if (row.columns && has(row.columns[0], \"content.props.children.props.propertyId.row\")) {\n\t\t\trowIndex = row.columns[0].content.props.children.props.propertyId.row;\n\t\t} else if (typeof row.rowKey === \"number\") { // expression tables uses rowKey\n\t\t\trowIndex = parseInt(row.rowKey, 10);\n\t\t}\n\t\treturn rowIndex;\n\t}\n\n\t// Get the 'row' of the last child's propertyId\n\tgetLastChildPropertyIdRow(propertyId, defaultRowIndex) {\n\t\tif (typeof propertyId.propertyId !== \"undefined\") {\n\t\t\treturn this.getLastChildPropertyIdRow(propertyId.propertyId);\n\t\t}\n\t\tif (typeof propertyId.row !== \"undefined\") {\n\t\t\treturn propertyId.row;\n\t\t}\n\t\treturn defaultRowIndex;\n\t}\n\n\t/**\n\t* The header checkAll box may change depending on the current visible rows\n\t* Determine if all visible rows in the table are currently selected\n\t* and set the `checkedAllRows` state accordingly\n\t*/\n\tsetCheckedAll(selectedRows) {\n\t\tlet checkAll = true;\n\t\tfor (let idx = 0; idx < this.props.data.length; idx++) {\n\t\t\tconst row = this.props.data[idx];\n\t\t\tconst originalRowIndex = this.getOriginalRowIndex(row, idx);\n\t\t\tif (selectedRows.indexOf(originalRowIndex) < 0) {\n\t\t\t\tcheckAll = false;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (this.state.checkedAllRows !== checkAll) {\n\t\t\tthis.setState({ checkedAllRows: checkAll });\n\t\t}\n\t}\n\n\t/**\n\t* Calculate the width for each column to fit within the table\n\t* Widths provided in columns without 'px' are 'weighted' and will be scaled\n\t* Widths provided in columns with 'px' are used as is without scaling\n\t* if width is provided with 'px', subtract that from the total available table width\n\t* if width is provided, divide the column 'weighted' width with the max width from columns\n\t* return the scaled factor\n\t* multiply each column 'weighted' width with the scaled factor to get the actual width in pixels\n\t* @param columns column definitions\n\t* @param parentTableWidth\n\t*/\n\tcalculateColumnWidths(columns, parentTableWidth) {\n\t\tlet tableWidth = parentTableWidth - 12; // subtract 12 for the left padding scss $spacing-04\n\t\tif (this.props.rowSelection !== ROW_SELECTION.SINGLE) {\n\t\t\ttableWidth -= 40;\n\t\t}\n\t\tlet remainingColumns = columns.length; // keep track of how many columns to calculate width for\n\t\tlet maxWeight = 0;\n\n\t\tfor (const columnDef of columns) {\n\t\t\t// if columns have specific width subtract from total width\n\t\t\tif (columnDef.width) {\n\t\t\t\tif (typeof columnDef.width === \"string\" && columnDef.width.includes(\"px\")) {\n\t\t\t\t\ttableWidth -= parseInt(columnDef.width, 10);\n\t\t\t\t\tremainingColumns--;\n\t\t\t\t} else {\n\t\t\t\t\tmaxWeight = Math.max(maxWeight, columnDef.width); // keep track of which column has highest width provided\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tconst widths = [];\n\t\tconst defaultWidth = Math.floor(tableWidth / remainingColumns); // use default width for columns without a weight\n\t\tconst weightedWidths = [];\n\t\tlet sumWeightedWidths = 0;\n\n\t\t// scale weight of columns with width provided\n\t\tfor (const columnDef of columns) {\n\t\t\tif (columnDef.width && !isNaN(columnDef.width)) {\n\t\t\t\tweightedWidths.push(columnDef.width / maxWeight);\n\t\t\t\tsumWeightedWidths += (columnDef.width / maxWeight);\n\t\t\t} else {\n\t\t\t\tweightedWidths.push(null);\n\t\t\t}\n\t\t}\n\n\t\tconst scaledWidth = tableWidth / sumWeightedWidths; // scaled width multiplier for each column with width provided\n\n\t\tlet sumColumnWidth = 0;\n\t\tfor (let idx = 0; idx < columns.length; idx++) {\n\t\t\tconst columnDef = columns[idx];\n\t\t\tif (columnDef.width) {\n\t\t\t\t// use the width provided with 'px' as is\n\t\t\t\tif (typeof columnDef.width === \"string\" && columnDef.width.includes(\"px\")) {\n\t\t\t\t\twidths.push(Math.floor(parseInt(columnDef.width, 10)) + \"px\");\n\t\t\t\t\tsumColumnWidth += parseInt(columnDef.width, 10);\n\t\t\t\t} else { // multiply the width provided by the scaled width\n\t\t\t\t\tconst calculatedWidth = Math.floor(weightedWidths[idx] * scaledWidth);\n\t\t\t\t\twidths.push(calculatedWidth + \"px\");\n\t\t\t\t\tsumColumnWidth += calculatedWidth;\n\t\t\t\t}\n\t\t\t} else { // if no width provided, use the defaultWidth\n\t\t\t\twidths.push(defaultWidth);\n\t\t\t\tsumColumnWidth += defaultWidth;\n\t\t\t}\n\t\t}\n\n\t\t// if any columns had decimals floored, allocate additional space to the first column\n\t\tlet compare = parentTableWidth;\n\t\tif (this.props.rowSelection !== ROW_SELECTION.SINGLE) {\n\t\t\tcompare -= 40;\n\t\t}\n\n\t\tif (sumColumnWidth < compare) {\n\t\t\tconst firstColWith = parseInt(widths[0], 10);\n\t\t\twidths[0] = firstColWith + compare - sumColumnWidth + \"px\";\n\t\t}\n\n\t\treturn widths;\n\t}\n\n\t_updateTableWidth(width, height) {\n\t\tif (this.state.tableWidth !== Math.floor(width - 2)) {\n\t\t\tthis.setState({\n\t\t\t\ttableWidth: Math.floor(width - 2) // subtract 2 px for the borders\n\t\t\t});\n\t\t}\n\t}\n\n\t_adjustTableHeight() {\n\t\tif (this.props.noAutoSize) {\n\t\t\treturn;\n\t\t}\n\t\tlet newHeight = this.state.tableHeight;\n\t\tconst rowHeight = 2; // in rem\n\t\tconst headerHeight = 2; // in rem\n\t\tconst rows = typeof this.props.rows !== \"undefined\" ? this.props.rows : 4;\n\t\tif (Array.isArray(this.props.data) && this.props.data.length < rows) {\n\t\t\tnewHeight = (rowHeight * this.props.data.length + headerHeight) + \"rem\";\n\t\t} else if (rows > 0) {\n\t\t\tnewHeight = (rowHeight * rows + headerHeight) + \"rem\";\n\t\t} else if (rows === 0) { // only display header\n\t\t\tnewHeight = headerHeight + \"rem\";\n\t\t} else if (rows === -1) {\n\t\t\tif (this.flexibleTable) {\n\t\t\t\tconst labelAndDescriptionHeight = 50; // possible dynamically set this in the future\n\t\t\t\tconst ftHeaderHeight = ReactDOM.findDOMNode(this.flexibleTableHeader).getBoundingClientRect().height;\n\t\t\t\tconst flyoutHeight = this.findPropertyNodeHeight(this.flexibleTable, \"properties-wf-children\");\n\t\t\t\tif (flyoutHeight === 0) {\n\t\t\t\t\tnewHeight = \"100vh\"; // set full window height if flyout height not found\n\t\t\t\t} else {\n\t\t\t\t\tnewHeight = `calc(${flyoutHeight - ftHeaderHeight - labelAndDescriptionHeight}px - 3.5rem)`; // 3.5rem to adjust padding\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (newHeight !== this.state.tableHeight) {\n\t\t\tthis.setState({ tableHeight: newHeight });\n\t\t}\n\t}\n\n\tfindPropertyNodeHeight(node, className) {\n\t\tif (node && node.parentNode && node.parentNode.className && node.parentNode.className.includes(className)) {\n\t\t\tconst foundNode = ReactDOM.findDOMNode(node.parentNode).getBoundingClientRect();\n\t\t\tif (foundNode) {\n\t\t\t\treturn foundNode.height;\n\t\t\t}\n\t\t\treturn 0;\n\t\t} else if (node && node.parentNode) {\n\t\t\treturn this.findPropertyNodeHeight(node.parentNode, className);\n\t\t}\n\t\treturn 0;\n\t}\n\n\tsortHeaderClick({ dataKey }) {\n\t\tconst colSortDir = this.state.columnSortDir;\n\t\tif (typeof colSortDir[dataKey] !== \"undefined\") {\n\t\t\t// At a time only 1 column will be shown as sorted. Revert other columns to not sorted.\n\t\t\tObject.keys(colSortDir).forEach((key) => {\n\t\t\t\tif (key !== dataKey) {\n\t\t\t\t\tcolSortDir[key] = SORT_DIRECTION.NOT_SORTED;\n\t\t\t\t}\n\t\t\t});\n\t\t\t// Only dataKey column will be sorted\n\t\t\tcolSortDir[dataKey] = (colSortDir[dataKey] === SORT_DIRECTION.ASC) ? SORT_DIRECTION.DESC : SORT_DIRECTION.ASC;\n\t\t\tthis.setState({\n\t\t\t\tcolumnSortDir: colSortDir,\n\t\t\t\tcurrentSortColumn: dataKey\n\t\t\t});\n\t\t}\n\t}\n\n\thandleFilterChange(evt) {\n\t\tif (this.props.onFilter) {\n\t\t\tthis.props.onFilter(evt.target.value);\n\t\t}\n\t}\n\n\thandleCheckedAllRows(checked) {\n\t\tlet selectAll = [];\n\t\tconst controlValue = this.props.data;\n\t\tif (checked) {\n\t\t\tselectAll = Array.from(this.props.selectedRows);\n\t\t\tfor (var rowIndex = 0; rowIndex < controlValue.length; rowIndex++) {\n\t\t\t\tconst originalRowIndex = this.getOriginalRowIndex(controlValue[rowIndex], rowIndex);\n\t\t\t\tselectAll.push(originalRowIndex);\n\t\t\t}\n\t\t}\n\t\tselectAll = Array.from(new Set(selectAll));\n\t\tthis.props.updateRowSelections(selectAll);\n\t\tthis.setState({ checkedAllRows: checked });\n\t}\n\n\thandleCheckedRow(data, evt) {\n\t\tconst dataRowIndex = data.originalRowIndex; // Use the originalRowIndex for selection in case rows are filtered.\n\t\tconst displayedRowIndex = data.index;\n\t\tconst checked = data.selected;\n\t\tconst overSelectOption = data.isOverSelectOption;\n\n\t\tif (!this.props.data[displayedRowIndex].disabled) {\n\t\t\tif (overSelectOption) { // Checkbox is clicked\n\t\t\t\tlet current = this.props.selectedRows ? this.props.selectedRows : [];\n\t\t\t\tif (checked) {\n\t\t\t\t\tcurrent = current.concat(dataRowIndex);\n\t\t\t\t\tthis.setCheckedAll(current);\n\t\t\t\t} else if (current) {\n\t\t\t\t\tcurrent = current.filter(function(element) {\n\t\t\t\t\t\treturn element !== dataRowIndex;\n\t\t\t\t\t});\n\t\t\t\t\tthis.setState({ checkedAllRows: false });\n\t\t\t\t}\n\t\t\t\tthis.props.updateRowSelections(current);\n\t\t\t} else if (this.props.rowSelection === ROW_SELECTION.SINGLE && typeof this.props.updateRowSelections !== \"undefined\") { // Table row is clicked\n\t\t\t\tthis.props.updateRowSelections(data.index, evt, this.props.data[data.index].rowKey);\n\t\t\t}\n\t\t}\n\t}\n\n\n\t/**\n\t* Generate the table header specs from this.props.columns\n\t* this.props.columns: array of objects\n\t* [\n\t* {\n\t* \"key\": string,\n\t* \"label\": string,\n\t* \"width\": integer or string if containts 'px',\n\t* \"description\": optional string,\n\t* \"resizable\": optional string\n\t* }\n\t* ]\n\t* @param columnWidths\n\t*/\n\tgenerateTableHeaderRow(columnWidths) {\n\t\tconst headers = [];\n\t\tlet searchLabel = \"\";\n\t\tfor (var j = 0; j < this.props.columns.length; j++) {\n\t\t\tconst columnDef = this.props.columns[j];\n\t\t\tif (typeof this.props.filterable !== \"undefined\" && this.props.filterable[0] === columnDef.key) {\n\t\t\t\tsearchLabel = columnDef.label;\n\t\t\t}\n\t\t\tconst width = Math.abs(parseInt(columnWidths[j], 10));\n\t\t\tlet headerLabel;\n\t\t\tif (typeof (columnDef.label) === \"object\") {\n\t\t\t\theaderLabel = columnDef.label.props.labelText;\n\t\t\t} else if (typeof (columnDef.label) === \"string\") {\n\t\t\t\theaderLabel = columnDef.label;\n\t\t\t}\n\t\t\theaders.push({\n\t\t\t\tkey: columnDef.key,\n\t\t\t\tlabel: columnDef.label,\n\t\t\t\twidth: width,\n\t\t\t\tdescription: columnDef.description,\n\t\t\t\theaderLabel: headerLabel,\n\t\t\t\tresizable: columnDef.resizable,\n\t\t\t\toperation: columnDef.operation\n\t\t\t});\n\t\t}\n\t\treturn {\n\t\t\theaders: headers,\n\t\t\tsearchLabel: searchLabel\n\t\t};\n\t}\n\n\t/**\n\t* Callback responsible for returning a data row given an index\n\t*/\n\trowGetter({ index }) {\n\t\tconst row = this.props.data[index];\n\t\tconst originalRowIndex = this.getOriginalRowIndex(row, index);\n\n\t\tconst columns = {};\n\t\tif (row.columns) {\n\t\t\tfor (let cidx = 0; cidx < row.columns.length; cidx++) {\n\t\t\t\tconst column = row.columns[cidx];\n\t\t\t\tcolumns[column.column] = column.content;\n\t\t\t}\n\t\t}\n\t\treturn Object.assign({}, columns, {\n\t\t\tloading: false,\n\t\t\tindex: index,\n\t\t\toriginalRowIndex: originalRowIndex,\n\t\t\trowKey: typeof row.rowKey !== \"undefined\" ? row.rowKey : this.props.scrollKey + \"-row-\" + index,\n\t\t\tdisabled: row.disabled\n\t\t});\n\t}\n\n\t// Function that returns the height of a row given its index\n\trowHeight({ index }) {\n\t\treturn ROW_HEIGHT;\n\t}\n\n\trender() {\n\t\tconst tableWidth = this.state.tableWidth;\n\t\tconst columnWidths = this.calculateColumnWidths(this.props.columns, tableWidth);\n\t\tconst headerInfo = this.generateTableHeaderRow(columnWidths);\n\n\t\tconst headers = headerInfo.headers;\n\t\tconst searchLabel = headerInfo.searchLabel;\n\t\tconst disabled = this.props.tableState === STATES.DISABLED;\n\n\t\tlet searchBar = null;\n\n\t\tif (typeof this.props.filterable !== \"undefined\" && this.props.filterable.length !== 0) {\n\t\t\tconst placeHolder = this.props.intl.formatMessage(\n\t\t\t\t{ id: \"table.search.placeholder\", defaultMessage: defaultMessages[\"table.search.placeholder\"] },\n\t\t\t\t{ column_name: searchLabel }\n\t\t\t);\n\t\t\tconst searchBarLabel = this.props.intl.formatMessage(\n\t\t\t\t{ id: \"table.search.label\", defaultMessage: defaultMessages[\"table.search.label\"] },\n\t\t\t\t{ table_name: this.props.tableLabel }\n\t\t\t);\n\n\t\t\tsearchBar = (\n\t\t\t\t<div className={classNames(\"properties-ft-search-container\", { \"disabled\": disabled })}>\n\t\t\t\t\t<Search\n\t\t\t\t\t\tclassName=\"properties-ft-search-text\"\n\t\t\t\t\t\tplaceholder={placeHolder}\n\t\t\t\t\t\tonChange={this.handleFilterChange}\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tlabelText={searchBarLabel}\n\t\t\t\t\t\tlight={this.props.light}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tlet scrollIndex = -1;\n\t\tif (typeof this.props.scrollToRow !== \"undefined\" && this.props.scrollToRow !== null) {\n\t\t\tscrollIndex = this.props.scrollToRow;\n\t\t}\n\n\t\tlet heightStyle = {};\n\t\tif (!this.props.noAutoSize) {\n\t\t\theightStyle = { height: this.state.tableHeight };\n\t\t}\n\n\t\tconst containerClass = this.props.showHeader ? \"properties-ft-container-absolute \" : \"properties-ft-container-absolute-noheader \";\n\t\tconst messageClass = (!this.props.messageInfo) ? containerClass + STATES.INFO : containerClass + this.props.messageInfo.type;\n\n\t\treturn (\n\t\t\t<div data-id={\"properties-ft-\" + this.props.scrollKey} className=\"properties-ft-control-container\" ref={ (ref) => (this.flexibleTable = ref) }>\n\t\t\t\t<div className=\"properties-ft-table-header\" ref={ (ref) => (this.flexibleTableHeader = ref) }>\n\t\t\t\t\t{searchBar}\n\t\t\t\t\t{this.props.topRightPanel}\n\t\t\t\t</div>\n\t\t\t\t<div className=\"properties-ft-container-panel\">\n\t\t\t\t\t<ReactResizeDetector handleWidth onResize={this._updateTableWidth}>\n\t\t\t\t\t\t<div className=\"properties-ft-container-wrapper\" style={ heightStyle }>\n\t\t\t\t\t\t\t<div className={messageClass}>\n\t\t\t\t\t\t\t\t{this.props.selectedEditRow}\n\t\t\t\t\t\t\t\t<VirtualizedTable\n\t\t\t\t\t\t\t\t\ttableLabel={this.props.tableLabel}\n\t\t\t\t\t\t\t\t\tcolumns={headers}\n\t\t\t\t\t\t\t\t\tonHeaderClick={this.sortHeaderClick}\n\t\t\t\t\t\t\t\t\trowCount={this.props.data.length}\n\t\t\t\t\t\t\t\t\trowHeight={this.rowHeight}\n\t\t\t\t\t\t\t\t\trowGetter={this.rowGetter}\n\t\t\t\t\t\t\t\t\tsummaryTable={this.props.summaryTable}\n\t\t\t\t\t\t\t\t\tselectable={typeof this.props.updateRowSelections !== \"undefined\"}\n\t\t\t\t\t\t\t\t\trowSelection={this.props.rowSelection}\n\t\t\t\t\t\t\t\t\tdisableHeader={!this.props.showHeader}\n\t\t\t\t\t\t\t\t\tonRowDoubleClick={this.props.onRowDoubleClick}\n\t\t\t\t\t\t\t\t\trowsSelected={this.props.selectedRows}\n\t\t\t\t\t\t\t\t\tcheckedAll={this.state.checkedAllRows}\n\t\t\t\t\t\t\t\t\tsetRowsSelected={this.handleCheckedRow}\n\t\t\t\t\t\t\t\t\tsetAllRowsSelected={this.handleCheckedAllRows}\n\t\t\t\t\t\t\t\t\tscrollKey={this.props.scrollKey}\n\t\t\t\t\t\t\t\t\tonSort={this.onSort}\n\t\t\t\t\t\t\t\t\tsortBy={this.state.currentSortColumn}\n\t\t\t\t\t\t\t\t\tsortColumns={this.state.columnSortDir}\n\t\t\t\t\t\t\t\t\tsortDirection={this.state.columnSortDir[this.state.currentSortColumn]}\n\t\t\t\t\t\t\t\t\ttableState={this.props.tableState}\n\t\t\t\t\t\t\t\t\tlight={this.props.light}\n\t\t\t\t\t\t\t\t\t{...(scrollIndex !== -1 && { scrollToIndex: scrollIndex, scrollToAlignment: \"center\" })}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</ReactResizeDetector>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nFlexibleTable.defaultProps = {\n\tshowHeader: true,\n\tlight: true\n};\n\nFlexibleTable.propTypes = {\n\tsortable: PropTypes.array,\n\tcolumns: PropTypes.array.isRequired,\n\tdata: PropTypes.array.isRequired,\n\tfilterable: PropTypes.array,\n\tfilterBy: PropTypes.string,\n\tfilterKeyword: PropTypes.string,\n\thideFilterInput: PropTypes.func,\n\tscrollToRow: PropTypes.number,\n\tonSort: PropTypes.func,\n\tonFilter: PropTypes.func,\n\tshowHeader: PropTypes.bool,\n\tselectedEditRow: PropTypes.object,\n\ttopRightPanel: PropTypes.object,\n\tscrollKey: PropTypes.string,\n\ttableLabel: PropTypes.string,\n\trows: PropTypes.number,\n\tnoAutoSize: PropTypes.bool,\n\ttableState: PropTypes.string,\n\tmessageInfo: PropTypes.object,\n\tupdateRowSelections: PropTypes.func,\n\tonRowDoubleClick: PropTypes.func,\n\tselectedRows: PropTypes.array,\n\trowSelection: PropTypes.string,\n\tsummaryTable: PropTypes.bool,\n\tlight: PropTypes.bool,\n\tintl: PropTypes.object.isRequired\n};\n\nexport default injectIntl(FlexibleTable);\n"],"names":["baseHasIn","object","key","Object","hasPath","require$$1","hasIn_1","path","_matchesStrictComparable","srcValue","undefined","baseIsMatch","require$$0","getMatchData","matchesStrictComparable","require$$2","baseIsEqual","get","hasIn","isKey","require$$3","isStrictComparable","require$$4","require$$5","toKey","require$$6","baseGet","baseProperty","basePropertyDeep","baseMatches","source","matchData","length","baseMatchesProperty","objValue","COMPARE_PARTIAL_FLAG","identity","isArray","property","_baseIteratee","value","baseDifference","baseFlatten","baseIteratee","isArrayLikeObject","last","differenceBy_1","array","values","iteratee","VirtualizedTable","props","context","state","rowCount","_this","columns","columnResized","virtualizedTableRef","React","createRef","isOverSelectOption","mouseEventCalled","keyBoardEventCalled","cellRenderer","bind","selectAll","headerRowRenderer","headerColRenderer","onRowClick","overSelectOption","resizeColumn","this","rowHeight","recomputeRowHeights","evt","rowData","index","target","className","stopPropagation","selected","isRowSelected","originalRowIndex","setRowsSelected","rowKey","onRowDoubleClick","i","operation","findIndex","column","rowsSelected","indexOf","dataKey","isLastColumn","getColumnIndex","setAllRowsSelected","cellData","dangerouslySetInnerHTML","__html","current","scrollKey","style","checkboxLabelColumnIndex","getCheckboxLabelColumnIndex","headerCheckboxLabel","headerLabel","translatedHeaderCheckboxLabel","intl","formatMessage","id","defaultMessage","defaultMessages","header_checkbox_label","checkbox","selectable","rowSelection","ROW_SELECTION","SINGLE","role","Checkbox","onChange","checked","checkedAll","labelText","hideLabel","columnData","disableSort","label","sortBy","sortDirection","sortIcon","sortColumns","type","SORT_DIRECTION","ASC","ArrowUp16","disabled","tableState","STATES","DISABLED","DESC","ArrowDown16","ArrowsVertical16","tooltip","description","fontWeight","tooltipId","uuid4","resizeElem","resizable","Draggable","axis","defaultClassName","defaultClassNameDragging","onDrag","deltaX","_this2","position","x","zIndex","tabIndex","classNames","_isEmpty","Tooltip","tip","direction","setState","prevState","resizedColumnIndex","_this3","numberOfColumnsOnTheRight","rightColumnsDelta","everyColumnGreaterThanMinWidth","slice","every","col","width","MINIMUM_COLUMN_WIDTH","MINIMUM_COLUMN_WIDTH_WITHOUT_LABEL","selectOption","selectedRow","rowDisabled","rowSelected","translatedRowCheckboxLabel","row_index","table_label","tableLabel","onMouseEnter","_this4","onMouseLeave","onFocus","onBlur","summaryTable","loading","Loading","small","withOverlay","parseInt","newStyle","assign","onDoubleClick","onMouseDown","onKeyPress","code","light","AutoSizer","height","Table","ref","_this5","disableHeader","headerClassName","headerHeight","onHeaderClick","rowClassName","rowGetter","rowRenderer","scrollToIndex","scrollToAlignment","sort","onSort","map","Column","isHTML","cellRendererHTML","headerRenderer","minWidth","nextProps","updatedState","_differenceBy","Component","defaultProps","injectIntl","FlexibleTable","sortDirs","sortable","NOT_SORTED","checkedAllRows","columnSortDir","currentSortColumn","tableWidth","tableHeight","getOriginalRowIndex","getLastChildPropertyIdRow","calculateColumnWidths","handleFilterChange","sortHeaderClick","_updateTableWidth","_adjustTableHeight","handleCheckedRow","handleCheckedAllRows","window","addEventListener","tableNode","ReactDOM","findDOMNode","refs","table","prevProps","rows","noAutoSize","selectedRows","setCheckedAll","removeEventListener","spec","row","rowIndex","_has","content","children","propertyId","defaultRowIndex","checkAll","idx","data","parentTableWidth","remainingColumns","maxWeight","columnDef","includes","Math","max","widths","defaultWidth","floor","weightedWidths","sumWeightedWidths","isNaN","push","scaledWidth","sumColumnWidth","calculatedWidth","compare","firstColWith","newHeight","Array","flexibleTable","ftHeaderHeight","flexibleTableHeader","getBoundingClientRect","flyoutHeight","findPropertyNodeHeight","node","parentNode","foundNode","colSortDir","keys","forEach","onFilter","controlValue","from","Set","updateRowSelections","dataRowIndex","displayedRowIndex","concat","filter","element","columnWidths","headers","searchLabel","j","filterable","abs","_typeof","cidx","ROW_HEIGHT","headerInfo","generateTableHeaderRow","searchBar","placeHolder","column_name","searchBarLabel","table_name","Search","placeholder","size","scrollIndex","scrollToRow","heightStyle","containerClass","showHeader","messageClass","messageInfo","INFO","topRightPanel","ReactResizeDetector","handleWidth","onResize","selectedEditRow"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("./extends-51d9ddcc.js"),t=require("./getPrototypeOf-0bf77a9e.js"),r=require("./createClass-6db89a23.js"),o=require("./isArrayLikeObject-31e5e646.js"),l=require("react"),i=require("react-intl"),a=require("react-dom"),s=require("carbon-components-react"),n=require("react-virtualized"),d=require("react-draggable"),c=require("@carbon/icons-react"),u=require("./lib/tooltip.js"),p=require("uuid"),h=require("react-resize-detector");function f(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var b=f(l),m=f(a),v=f(d),w=f(h),y={"subPanel.button.tooltip":"Edit","structureListEditor.addButton.label":"Add value","structureListEditor.removeButton.label":"Remove","structureTable.addButton.label":"Add columns","structureTable.removeButton.label":"Remove","fieldPicker.saveButton.label":"Select Fields for","fieldPicker.saveButton.tooltip":"Save and return","fieldPicker.resetButton.label":"Reset ","fieldPicker.filter.label":"Filter:","fieldPicker.fieldColumn.label":"Field name","fieldPicker.schemaColumn.label":"Schema name","fieldPicker.dataTypeColumn.label":"Data type","fieldPicker.integer.label":"integer","fieldPicker.double.label":"double","fieldPicker.string.label":"string","fieldPicker.date.label":"date","fieldPicker.time.label":"time","fieldPicker.timestamp.label":"timestamp","flyout.applyButton.label":"OK","flyout.rejectButton.label":"Cancel","propertiesEdit.closeButton.label":"Close","propertiesEdit.applyButton.label":"Save","propertiesEdit.rejectButton.label":"Cancel","propertiesEdit.revertButton.label":"Revert","propertiesEdit.resizeButton.expand.label":"Expand","propertiesEdit.resizeButton.contract.label":"Contract","properties.revert.message":"Click Revert to go back to the previous screen or click Close to exit the pane. Then try your operation again.","properties.close.message":"Click Close to exit the pane. Then try your operation again.","properties.support.message":"If the problem persists, contact support.","properties.unexpected.message":"Oops, the pane didn't load.","table.search.header":"View in tables","table.search.placeholder":"Find in column {column_name}","table.search.label":"Search in {table_name} table","summary.longTable.placeholder":"More than ten fields...","alerts.tab.title":"Alerts","title.editor.label":"edit title","title.editor.helpButton.label":"help","table.summary.error":"There are {errorMsgCount} error cells. ","table.summary.warning":"There are {warningMsgCount} warning cells. ","control.summary.error":"There are {errorMsgCount} parameters with errors. ","control.summary.warning":"There are {warningMsgCount} parameters with warnings. ","control.summary.error.warning":"There are {errorMsgCount} parameters with errors and {warningMsgCount} parameters with warnings.","required.error":"You must provide your {label}.","datetime.format.error":"Invalid {role}. Format should be {format}.","invalid.field.error":"Invalid {label}, field not found in data set.","expression.validate.label":"Validate","expression.validating.label":"Validating","expression.builder.title":"Expression Builder","expression.builder.icon.description":"launch expression builder","expression.builder.label":"Expression","expression.fields.table.label":"Fields table","expression.values.table.label":"Values table","expression.functions.table.label":"Functions table","expression.fields.dropdown":"Fields","expression.fields.title":"Fields","expression.values.title":"Values","expression.field.column":"Field","expression.storage.column":"Storage","expression.value.column":"Value","expression.function.column":"Function","expression.return.column":"Return","expression.recently.used.column":"Item","expression.field.tab":"Fields","expression.functions.tab":"Functions","expression.recently.used":"Recently Used","expression.all.functions":"All Functions","expression.min.label":"Min","expression.max.label":"Max","expression.no.functions":"No functions found.","multi.selected.row.label":"rows selected.","multi.selected.row.action":"Changing a value in this row will change the value in all allowed selected rows.","datetimefield.format.error.message":"Invalid format object provided. Check input definitions.","editorform.group.type.error":"(Unknown group type '{group.groupType()}')","moveable.table.button.top":"Move to top","moveable.table.button.up":"Move up","moveable.table.button.down":"Move down","moveable.table.button.bottom":"Move to bottom","list.table.label":"Values","dropdown.tooltip.openMenu":"Open menu","dropdown.tooltip.closeMenu":"Close menu","dropdown.tooltip.clear.all":"Clear all","dropdown.tooltip.clear.selection":"Clear selection","truncate.long.string.error":"These values exceed the display limit of {truncate_limit} characters and can't be edited.","properties.label":"Properties","readonlytable.edit.button.label":"Edit","toggletext.icon.description":"{toggletext_label} Icon","multiselect.dropdown.empty.label":"None selected","multiselect.dropdown.options.selected.label":"options selected","virtualizedTable.header.checkbox.label":"Select all {header_checkbox_label}","virtualizedTable.row.checkbox.label":"Select row {row_index} from {table_label}","properties.empty.table.text":'To begin, click "{button_label}"'};var g=function(e,t){return null!=e&&t in Object(e)},C=o._hasPath;var R=function(e,t){return null!=e&&C(e,t,g)};var S=function(e,t){return function(r){return null!=r&&(r[e]===t&&(void 0!==t||e in Object(r)))}},k=o._baseIsMatch,T=o._getMatchData,I=S;var x=function(e){var t=T(e);return 1==t.length&&t[0][2]?I(t[0][0],t[0][1]):function(r){return r===e||k(r,e,t)}},E=o._baseIsEqual,_=o.get_1,O=R,N=o._isKey,A=o._isStrictComparable,D=S,z=o._toKey;var L=function(e,t){return N(e)&&A(t)?D(z(e),t):function(r){var o=_(r,e);return void 0===o&&o===t?O(r,e):E(t,o,3)}};var H=function(e){return function(t){return null==t?void 0:t[e]}},M=o._baseGet;var B=H,P=function(e){return function(t){return M(t,e)}},j=o._isKey,W=o._toKey;var F=function(e){return j(e)?B(W(e)):P(e)},K=x,q=L,G=o.identity_1,U=o.isArray_1,V=F;var X=function(e){return"function"==typeof e?e:null==e?G:"object"==typeof e?U(e)?q(e[0],e[1]):K(e):V(e)},Y=o._baseDifference,$=o._baseFlatten,J=X,Q=o._baseRest,Z=o.isArrayLikeObject_1,ee=o.last_1,te=Q((function(e,t){var r=ee(t);return Z(r)&&(r=void 0),Z(e)?Y(e,$(t,1,Z,!0),J(r)):[]}));function re(e){var r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var o,l=t._getPrototypeOf(e);if(r){var i=t._getPrototypeOf(this).constructor;o=Reflect.construct(l,arguments,i)}else o=l.apply(this,arguments);return t._possibleConstructorReturn(this,o)}}var oe=function(l){t._inherits(a,l);var i=re(a);function a(e,o){var l;return r._classCallCheck(this,a),(l=i.call(this,e,o)).state={rowCount:l.props.rowCount,columns:l.props.columns,columnResized:!1},l.virtualizedTableRef=b.default.createRef(),l.isOverSelectOption=!1,l.mouseEventCalled=!1,l.keyBoardEventCalled=!1,l.cellRenderer=l.cellRenderer.bind(t._assertThisInitialized(l)),l.selectAll=l.selectAll.bind(t._assertThisInitialized(l)),l.headerRowRenderer=l.headerRowRenderer.bind(t._assertThisInitialized(l)),l.headerColRenderer=l.headerColRenderer.bind(t._assertThisInitialized(l)),l.onRowClick=l.onRowClick.bind(t._assertThisInitialized(l)),l.overSelectOption=l.overSelectOption.bind(t._assertThisInitialized(l)),l.resizeColumn=l.resizeColumn.bind(t._assertThisInitialized(l)),l}return r._createClass(a,[{key:"componentDidUpdate",value:function(){"function"==typeof this.props.rowHeight&&this.recomputeRowHeights()}},{key:"onRowClick",value:function(e,t,r){if("bx--select-option"===e.target.className)e.stopPropagation();else{var o=!this.isRowSelected(t.originalRowIndex);"function"==typeof this.props.setRowsSelected&&this.props.setRowsSelected({index:r,originalRowIndex:t.originalRowIndex,selected:o,isOverSelectOption:this.isOverSelectOption},e)}}},{key:"onRowDoubleClick",value:function(e,t,r){this.props.onRowDoubleClick&&this.props.onRowDoubleClick(e,t,r)}},{key:"getCheckboxLabelColumnIndex",value:function(e){for(var t=0;t<e.length;t++)if("index"!==e[t].operation)return t;return 0}},{key:"getColumnIndex",value:function(e,t){return e.findIndex((function(e){return e.key===t}))}},{key:"isRowSelected",value:function(e){return!!this.props.rowsSelected&&this.props.rowsSelected.indexOf(e)>-1}},{key:"isLastColumn",value:function(e){var t=this.getColumnIndex(this.props.columns,e)===this.props.columns.length-1;return t}},{key:"selectAll",value:function(e){this.props.setAllRowsSelected(e)}},{key:"cellRenderer",value:function(e){var t=e.cellData;return null==t?"":t}},{key:"cellRendererHTML",value:function(e){var t=e.cellData;return null==t?"":b.default.createElement("div",{dangerouslySetInnerHTML:{__html:t}})}},{key:"recomputeRowHeights",value:function(e){this.virtualizedTableRef&&this.virtualizedTableRef.current&&this.virtualizedTableRef.current.recomputeRowHeights(e)}},{key:"headerRowRenderer",value:function(t,r){var o=r.className,l=r.columns,i=r.style,a=void 0===this.props.columns||0===this.props.columns.length?0:this.getCheckboxLabelColumnIndex(this.props.columns),n=void 0===this.props.columns||0===this.props.columns.length?"":this.props.columns[a].headerLabel,d=this.props.intl.formatMessage({id:"virtualizedTable.header.checkbox.label",defaultMessage:y["virtualizedTable.header.checkbox.label"]},{header_checkbox_label:n}),c=this.props.selectable&&this.props.rowSelection!==e.ROW_SELECTION.SINGLE?b.default.createElement("div",{role:"columnheader",className:"properties-vt-header-checkbox"},b.default.createElement(s.Checkbox,{id:"properties-vt-hd-cb-".concat(t),onChange:this.selectAll,checked:this.props.checkedAll,labelText:d,hideLabel:!0})):"";return b.default.createElement("div",{className:o,"data-role":"properties-header-row",role:"row",style:i},c,l)}},{key:"headerColRenderer",value:function(t){var r=this,l=t.columnData,i=t.dataKey,a=t.disableSort,s=t.label;t.sortBy,t.sortDirection;var n=null;if(void 0!==this.props.sortColumns[i]){var d=null;switch(this.props.sortColumns[i]){case e.SORT_DIRECTION.ASC:d=b.default.createElement(c.ArrowUp16,{disabled:this.props.tableState===e.STATES.DISABLED});break;case e.SORT_DIRECTION.DESC:d=b.default.createElement(c.ArrowDown16,{disabled:this.props.tableState===e.STATES.DISABLED});break;default:d=b.default.createElement(c.ArrowsVertical16,{disabled:this.props.tableState===e.STATES.DISABLED})}n=b.default.createElement("span",{className:"properties-ft-column-sort-icon"},d)}var h=null;l.description&&l.headerLabel?h=b.default.createElement("div",{className:"properties-tooltips"},b.default.createElement("span",{style:{fontWeight:"bold"}},l.headerLabel),b.default.createElement("br",null),l.description):l.description?h=b.default.createElement("div",{className:"properties-tooltips"},l.description):l.headerLabel&&(h=b.default.createElement("div",{className:"properties-tooltips"},b.default.createElement("span",{style:{fontWeight:"bold"}},l.headerLabel)));var f=p.v4()+"-tooltip-column-"+i,m=l.resizable&&!this.isLastColumn(i)?b.default.createElement(v.default,{axis:"x",defaultClassName:"properties-vt-header-resize",defaultClassNameDragging:"properties-vt-header-resize-active",onDrag:function(e,t){var o=t.deltaX;r.resizeColumn({dataKey:i,deltaX:o})},position:{x:0},zIndex:999},b.default.createElement("div",{role:"button",tabIndex:"0","aria-label":"Resize column"})):"";return b.default.createElement("div",{className:e.classNames({"properties-vt-column-with-resize":""!==m,"properties-vt-column-without-resize":""===m})},b.default.createElement("div",{className:e.classNames("properties-vt-column properties-tooltips-container",{"sort-column-active":i===this.props.sortBy})},o.isEmpty_1(h)?s:b.default.createElement(u,{id:f,tip:h,direction:"bottom",className:"properties-tooltips"},s),!1===a&&n),m)}},{key:"resizeColumn",value:function(t){var r=this,o=t.dataKey,l=t.deltaX;this.setState((function(t){var i=t.columns,a=r.getColumnIndex(i,o),s=i.length-1-a,n=l/s,d=i.slice(a+1).every((function(t){return t.headerLabel.length>0?t.width-n>e.MINIMUM_COLUMN_WIDTH:t.width-n>e.MINIMUM_COLUMN_WIDTH_WITHOUT_LABEL}));if(i[a].width+l>e.MINIMUM_COLUMN_WIDTH&&d){i[a].width+=l;for(var c=a+1;c<i.length;c++)i[c].width-=n}return{columnResized:!0,columns:i}}))}},{key:"overSelectOption",value:function(e){"mouseenter"!==e.type||this.keyBoardEventCalled?"mouseleave"===e.type&&this.mouseEventCalled?(this.mouseEventCalled=!1,this.isOverSelectOption=!this.isOverSelectOption):"focus"!==e.type||this.mouseEventCalled?"blur"===e.type&&this.keyBoardEventCalled&&(this.keyBoardEventCalled=!1,this.isOverSelectOption=!this.isOverSelectOption):(this.keyBoardEventCalled=!0,this.isOverSelectOption=!this.isOverSelectOption):(this.mouseEventCalled=!0,this.isOverSelectOption=!this.isOverSelectOption)}},{key:"rowRenderer",value:function(t,r){var o=this,l=r.className,i=r.columns,a=r.index,n=r.key,d=r.rowData,c=r.style,u="",p=!1,h="boolean"==typeof d.disabled&&d.disabled;if("function"==typeof this.props.rowHeight&&0===this.props.rowHeight({index:a}))return null;if(this.props.selectable){var f=this.isRowSelected(d.originalRowIndex);if(p=this.props.selectable&&f,this.props.rowSelection!==e.ROW_SELECTION.SINGLE){var m=this.props.intl.formatMessage({id:"virtualizedTable.row.checkbox.label",defaultMessage:y["virtualizedTable.row.checkbox.label"]},{row_index:a+1,table_label:this.props.tableLabel?this.props.tableLabel:""});u=b.default.createElement("div",{className:"properties-vt-row-checkbox",role:"gridcell",onMouseEnter:function(e){return o.overSelectOption(e)},onMouseLeave:function(e){return o.overSelectOption(e)},onFocus:function(e){return o.overSelectOption(e)},onBlur:function(e){return o.overSelectOption(e)}},b.default.createElement(s.Checkbox,{id:"properties-vt-row-cb-".concat(t,"-").concat(a),key:"properties-vt-row-cb-".concat(t,"-").concat(a),labelText:m,hideLabel:!0,checked:f,disabled:h}))}}if(this.props.summaryTable&&(u=b.default.createElement("div",{className:"properties-vt-row-checkbox"})),!0===d.loading)return b.default.createElement("div",{className:l,key:n,"data-role":"properties-loading-row",role:"row",style:c},b.default.createElement(s.Loading,{className:"properties-vt-small-loading",small:!0,withOverlay:!1}));var v=parseInt(c.width,10)+"px",w=Object.assign({},c,{width:v});return b.default.createElement("div",{style:{},key:n,className:"properties-vt-double-click",onDoubleClick:function(e){return o.onRowDoubleClick(e,d.rowKey,a)}},b.default.createElement("div",{className:e.classNames(l,{"properties-vt-row-selected":p},{"properties-vt-row-disabled":h},{"properties-vt-row-non-interactive":!this.props.selectable}),"data-role":"properties-data-row",role:"row",style:w,onMouseDown:function(e){return o.onRowClick(e,d,a)},onKeyPress:function(e){"Space"!==e.code&&"Enter"!==e.code||o.onRowClick(e,d,a)}},u,i))}},{key:"render",value:function(){var t=this;return b.default.createElement("div",{className:"properties-vt"},b.default.createElement("div",{className:e.classNames("properties-vt-autosizer",{"properties-vt-single-selection":this.props.rowSelection&&this.props.rowSelection===e.ROW_SELECTION.SINGLE,"properties-light-disabled":!this.props.light})},b.default.createElement(n.AutoSizer,null,(function(r){var o=r.height,l=r.width;return b.default.createElement(n.Table,{ref:t.virtualizedTableRef,width:l||500,height:o||2e3,className:"properties-autosized-vt","aria-label":t.props.tableLabel?t.props.tableLabel:"",disableHeader:t.props.disableHeader,headerClassName:"properties-autosized-vt-header",headerHeight:32,headerRowRenderer:t.headerRowRenderer.bind(t,t.props.scrollKey),onHeaderClick:t.props.onHeaderClick,rowClassName:"properties-vt-row-class",rowHeight:t.props.rowHeight?t.props.rowHeight:32,rowCount:t.state.rowCount,rowGetter:t.props.rowGetter,rowRenderer:t.rowRenderer.bind(t,t.props.scrollKey),scrollToIndex:t.props.scrollToIndex,scrollToAlignment:t.props.scrollToAlignment,sort:t.props.onSort,sortDirection:t.props.sortDirection},t.state.columns.map((function(r){return b.default.createElement(n.Column,e._extends({key:r.key,label:r.label,dataKey:r.key,width:r.width,columnData:r,disableSort:void 0===t.props.sortColumns[r.key],cellRenderer:r.isHTML?t.cellRendererHTML:t.cellRenderer,headerRenderer:t.headerColRenderer},r.minWidth&&{minWidth:r.minWidth}))})))}))))}}],[{key:"getDerivedStateFromProps",value:function(e,t){var r={};return e.rowCount!==t.rowCount&&(r.rowCount=e.rowCount),t.columnResized&&o.isEmpty_1(te(e.columns,t.columns,"headerLabel"))||(r.columns=e.columns),r}}]),a}(b.default.Component);oe.defaultProps={disableHeader:!1};var le=i.injectIntl(oe);function ie(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if("string"==typeof e)return ae(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ae(e,t)}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var o=0,l=function(){};return{s:l,n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:l}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,s=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){s=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(s)throw i}}}}function ae(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,o=new Array(t);r<t;r++)o[r]=e[r];return o}function se(e){var r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var o,l=t._getPrototypeOf(e);if(r){var i=t._getPrototypeOf(this).constructor;o=Reflect.construct(l,arguments,i)}else o=l.apply(this,arguments);return t._possibleConstructorReturn(this,o)}}var ne=function(l){t._inherits(a,l);var i=se(a);function a(o){var l;r._classCallCheck(this,a);var s={};if(void 0!==(l=i.call(this,o)).props.sortable)for(var n=0;n<l.props.sortable.length;n++){s[l.props.sortable[n]]=e.SORT_DIRECTION.NOT_SORTED}return l.state={checkedAllRows:!1,columnSortDir:s,currentSortColumn:"",tableWidth:0,tableHeight:0},l.rowHeight=l.rowHeight.bind(t._assertThisInitialized(l)),l.rowGetter=l.rowGetter.bind(t._assertThisInitialized(l)),l.getOriginalRowIndex=l.getOriginalRowIndex.bind(t._assertThisInitialized(l)),l.getLastChildPropertyIdRow=l.getLastChildPropertyIdRow.bind(t._assertThisInitialized(l)),l.calculateColumnWidths=l.calculateColumnWidths.bind(t._assertThisInitialized(l)),l.handleFilterChange=l.handleFilterChange.bind(t._assertThisInitialized(l)),l.onSort=l.onSort.bind(t._assertThisInitialized(l)),l.sortHeaderClick=l.sortHeaderClick.bind(t._assertThisInitialized(l)),l._updateTableWidth=l._updateTableWidth.bind(t._assertThisInitialized(l)),l._adjustTableHeight=l._adjustTableHeight.bind(t._assertThisInitialized(l)),l.handleCheckedRow=l.handleCheckedRow.bind(t._assertThisInitialized(l)),l.handleCheckedAllRows=l.handleCheckedAllRows.bind(t._assertThisInitialized(l)),l}return r._createClass(a,[{key:"componentDidMount",value:function(){this._adjustTableHeight(),window.addEventListener("resize",this._adjustTableHeight),this.tableNode=m.default.findDOMNode(this.refs.table)}},{key:"componentDidUpdate",value:function(e,t){e.rows===this.props.rows&&e.columns===this.props.columns&&e.noAutoSize===this.props.noAutoSize||this._adjustTableHeight(),this.props.selectedRows&&this.setCheckedAll(this.props.selectedRows),this.tableNode=m.default.findDOMNode(this.refs.table)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("resize",this._adjustTableHeight)}},{key:"onSort",value:function(t){var r=t.sortBy;if(this.props.onSort){var o={column:r,direction:this.state.columnSortDir[r]===e.SORT_DIRECTION.ASC?e.SORT_DIRECTION.DESC:e.SORT_DIRECTION.ASC};this.props.onSort(o)}}},{key:"getOriginalRowIndex",value:function(e,t){var r=t;return e.columns&&o.has_1(e.columns[0],"content.props.children.props.propertyId.propertyId")?r=this.getLastChildPropertyIdRow(e.columns[0].content.props.children.props.propertyId,t):e.columns&&o.has_1(e.columns[0],"content.props.children.props.propertyId.row")?r=e.columns[0].content.props.children.props.propertyId.row:"number"==typeof e.rowKey&&(r=parseInt(e.rowKey,10)),r}},{key:"getLastChildPropertyIdRow",value:function(e,t){return void 0!==e.propertyId?this.getLastChildPropertyIdRow(e.propertyId):void 0!==e.row?e.row:t}},{key:"setCheckedAll",value:function(e){for(var t=!0,r=0;r<this.props.data.length;r++){var o=this.props.data[r],l=this.getOriginalRowIndex(o,r);if(e.indexOf(l)<0){t=!1;break}}this.state.checkedAllRows!==t&&this.setState({checkedAllRows:t})}},{key:"calculateColumnWidths",value:function(t,r){var o=r-12;this.props.rowSelection!==e.ROW_SELECTION.SINGLE&&(o-=40);var l,i=t.length,a=0,s=ie(t);try{for(s.s();!(l=s.n()).done;){var n=l.value;n.width&&("string"==typeof n.width&&n.width.includes("px")?(o-=parseInt(n.width,10),i--):a=Math.max(a,n.width))}}catch(e){s.e(e)}finally{s.f()}var d,c=[],u=Math.floor(o/i),p=[],h=0,f=ie(t);try{for(f.s();!(d=f.n()).done;){var b=d.value;b.width&&!isNaN(b.width)?(p.push(b.width/a),h+=b.width/a):p.push(null)}}catch(e){f.e(e)}finally{f.f()}for(var m=o/h,v=0,w=0;w<t.length;w++){var y=t[w];if(y.width)if("string"==typeof y.width&&y.width.includes("px"))c.push(Math.floor(parseInt(y.width,10))+"px"),v+=parseInt(y.width,10);else{var g=Math.floor(p[w]*m);c.push(g+"px"),v+=g}else c.push(u),v+=u}var C=r;if(this.props.rowSelection!==e.ROW_SELECTION.SINGLE&&(C-=40),v<C){var R=parseInt(c[0],10);c[0]=R+C-v+"px"}return c}},{key:"_updateTableWidth",value:function(e,t){this.state.tableWidth!==Math.floor(e-2)&&this.setState({tableWidth:Math.floor(e-2)})}},{key:"_adjustTableHeight",value:function(){if(!this.props.noAutoSize){var e=this.state.tableHeight,t=void 0!==this.props.rows?this.props.rows:4;if(Array.isArray(this.props.data)&&this.props.data.length<t)e=2*this.props.data.length+2+"rem";else if(t>0)e=2*t+2+"rem";else if(0===t)e="2rem";else if(-1===t&&this.flexibleTable){var r=m.default.findDOMNode(this.flexibleTableHeader).getBoundingClientRect().height,o=this.findPropertyNodeHeight(this.flexibleTable,"properties-wf-children");e=0===o?"100vh":"calc(".concat(o-r-50,"px - 3.5rem)")}e!==this.state.tableHeight&&this.setState({tableHeight:e})}}},{key:"findPropertyNodeHeight",value:function(e,t){if(e&&e.parentNode&&e.parentNode.className&&e.parentNode.className.includes(t)){var r=m.default.findDOMNode(e.parentNode).getBoundingClientRect();return r?r.height:0}return e&&e.parentNode?this.findPropertyNodeHeight(e.parentNode,t):0}},{key:"sortHeaderClick",value:function(t){var r=t.dataKey,o=this.state.columnSortDir;void 0!==o[r]&&(Object.keys(o).forEach((function(t){t!==r&&(o[t]=e.SORT_DIRECTION.NOT_SORTED)})),o[r]=o[r]===e.SORT_DIRECTION.ASC?e.SORT_DIRECTION.DESC:e.SORT_DIRECTION.ASC,this.setState({columnSortDir:o,currentSortColumn:r}))}},{key:"handleFilterChange",value:function(e){this.props.onFilter&&this.props.onFilter(e.target.value)}},{key:"handleCheckedAllRows",value:function(e){var t=[],r=this.props.data;if(e){t=Array.from(this.props.selectedRows);for(var o=0;o<r.length;o++){var l=this.getOriginalRowIndex(r[o],o);t.push(l)}}t=Array.from(new Set(t)),this.props.updateRowSelections(t),this.setState({checkedAllRows:e})}},{key:"handleCheckedRow",value:function(t,r){var o=t.originalRowIndex,l=t.index,i=t.selected,a=t.isOverSelectOption;if(!this.props.data[l].disabled)if(a){var s=this.props.selectedRows?this.props.selectedRows:[];i?(s=s.concat(o),this.setCheckedAll(s)):s&&(s=s.filter((function(e){return e!==o})),this.setState({checkedAllRows:!1})),this.props.updateRowSelections(s)}else this.props.rowSelection===e.ROW_SELECTION.SINGLE&&void 0!==this.props.updateRowSelections&&this.props.updateRowSelections(t.index,r,this.props.data[t.index].rowKey)}},{key:"generateTableHeaderRow",value:function(e){for(var r=[],o="",l=0;l<this.props.columns.length;l++){var i=this.props.columns[l];void 0!==this.props.filterable&&this.props.filterable[0]===i.key&&(o=i.label);var a=Math.abs(parseInt(e[l],10)),s=void 0;"object"===t._typeof(i.label)?s=i.label.props.labelText:"string"==typeof i.label&&(s=i.label),r.push({key:i.key,label:i.label,width:a,description:i.description,headerLabel:s,resizable:i.resizable,operation:i.operation})}return{headers:r,searchLabel:o}}},{key:"rowGetter",value:function(e){var t=e.index,r=this.props.data[t],o=this.getOriginalRowIndex(r,t),l={};if(r.columns)for(var i=0;i<r.columns.length;i++){var a=r.columns[i];l[a.column]=a.content}return Object.assign({},l,{loading:!1,index:t,originalRowIndex:o,rowKey:void 0!==r.rowKey?r.rowKey:this.props.scrollKey+"-row-"+t,disabled:r.disabled})}},{key:"rowHeight",value:function(t){return t.index,e.ROW_HEIGHT}},{key:"render",value:function(){var t=this,r=this.state.tableWidth,o=this.calculateColumnWidths(this.props.columns,r),l=this.generateTableHeaderRow(o),i=l.headers,a=l.searchLabel,n=this.props.tableState===e.STATES.DISABLED,d=null;if(void 0!==this.props.filterable&&0!==this.props.filterable.length){var c=this.props.intl.formatMessage({id:"table.search.placeholder",defaultMessage:y["table.search.placeholder"]},{column_name:a}),u=this.props.intl.formatMessage({id:"table.search.label",defaultMessage:y["table.search.label"]},{table_name:this.props.tableLabel});d=b.default.createElement("div",{className:e.classNames("properties-ft-search-container",{disabled:n})},b.default.createElement(s.Search,{className:"properties-ft-search-text",placeholder:c,onChange:this.handleFilterChange,disabled:n,size:"sm",labelText:u,light:this.props.light}))}var p=-1;void 0!==this.props.scrollToRow&&null!==this.props.scrollToRow&&(p=this.props.scrollToRow);var h={};this.props.noAutoSize||(h={height:this.state.tableHeight});var f=this.props.showHeader?"properties-ft-container-absolute ":"properties-ft-container-absolute-noheader ",m=this.props.messageInfo?f+this.props.messageInfo.type:f+e.STATES.INFO;return b.default.createElement("div",{"data-id":"properties-ft-"+this.props.scrollKey,className:"properties-ft-control-container",ref:function(e){return t.flexibleTable=e}},b.default.createElement("div",{className:"properties-ft-table-header",ref:function(e){return t.flexibleTableHeader=e}},d,this.props.topRightPanel),b.default.createElement("div",{className:"properties-ft-container-panel"},b.default.createElement(w.default,{handleWidth:!0,onResize:this._updateTableWidth},b.default.createElement("div",{className:"properties-ft-container-wrapper",style:h},b.default.createElement("div",{className:m},this.props.selectedEditRow,b.default.createElement(le,e._extends({tableLabel:this.props.tableLabel,columns:i,onHeaderClick:this.sortHeaderClick,rowCount:this.props.data.length,rowHeight:this.rowHeight,rowGetter:this.rowGetter,summaryTable:this.props.summaryTable,selectable:void 0!==this.props.updateRowSelections,rowSelection:this.props.rowSelection,disableHeader:!this.props.showHeader,onRowDoubleClick:this.props.onRowDoubleClick,rowsSelected:this.props.selectedRows,checkedAll:this.state.checkedAllRows,setRowsSelected:this.handleCheckedRow,setAllRowsSelected:this.handleCheckedAllRows,scrollKey:this.props.scrollKey,onSort:this.onSort,sortBy:this.state.currentSortColumn,sortColumns:this.state.columnSortDir,sortDirection:this.state.columnSortDir[this.state.currentSortColumn],tableState:this.props.tableState,light:this.props.light},-1!==p&&{scrollToIndex:p,scrollToAlignment:"center"})))))))}}]),a}(b.default.Component);ne.defaultProps={showHeader:!0,light:!0};var de=i.injectIntl(ne);exports.FlexibleTable=de,exports._baseIteratee=X,exports.defaultMessages=y,exports.hasIn_1=R;
2
+ //# sourceMappingURL=flexible-table-5e4a1e6d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flexible-table-5e4a1e6d.js","sources":["../node_modules/lodash/hasIn.js","../node_modules/lodash/_baseHasIn.js","../node_modules/lodash/_matchesStrictComparable.js","../node_modules/lodash/_baseMatches.js","../node_modules/lodash/_baseMatchesProperty.js","../node_modules/lodash/_baseProperty.js","../node_modules/lodash/_basePropertyDeep.js","../node_modules/lodash/property.js","../node_modules/lodash/_baseIteratee.js","../node_modules/lodash/differenceBy.js","../src/common-properties/components/virtualized-table/virtualized-table.jsx","../src/common-properties/components/flexible-table/flexible-table.jsx"],"sourcesContent":["var baseHasIn = require('./_baseHasIn'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nmodule.exports = hasIn;\n","/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nmodule.exports = baseHasIn;\n","/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n","var baseIsMatch = require('./_baseIsMatch'),\n getMatchData = require('./_getMatchData'),\n matchesStrictComparable = require('./_matchesStrictComparable');\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nmodule.exports = baseMatches;\n","var baseIsEqual = require('./_baseIsEqual'),\n get = require('./get'),\n hasIn = require('./hasIn'),\n isKey = require('./_isKey'),\n isStrictComparable = require('./_isStrictComparable'),\n matchesStrictComparable = require('./_matchesStrictComparable'),\n toKey = require('./_toKey');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nmodule.exports = baseMatchesProperty;\n","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n","var baseGet = require('./_baseGet');\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nmodule.exports = basePropertyDeep;\n","var baseProperty = require('./_baseProperty'),\n basePropertyDeep = require('./_basePropertyDeep'),\n isKey = require('./_isKey'),\n toKey = require('./_toKey');\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = property;\n","var baseMatches = require('./_baseMatches'),\n baseMatchesProperty = require('./_baseMatchesProperty'),\n identity = require('./identity'),\n isArray = require('./isArray'),\n property = require('./property');\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nmodule.exports = baseIteratee;\n","var baseDifference = require('./_baseDifference'),\n baseFlatten = require('./_baseFlatten'),\n baseIteratee = require('./_baseIteratee'),\n baseRest = require('./_baseRest'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n last = require('./last');\n\n/**\n * This method is like `_.difference` except that it accepts `iteratee` which\n * is invoked for each element of `array` and `values` to generate the criterion\n * by which they're compared. The order and references of result values are\n * determined by the first array. The iteratee is invoked with one argument:\n * (value).\n *\n * **Note:** Unlike `_.pullAllBy`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x');\n * // => [{ 'x': 2 }]\n */\nvar differenceBy = baseRest(function(array, values) {\n var iteratee = last(values);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), baseIteratee(iteratee, 2))\n : [];\n});\n\nmodule.exports = differenceBy;\n","/*\n * Copyright 2017-2022 Elyra Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Column, Table, AutoSizer } from \"react-virtualized\";\nimport Draggable from \"react-draggable\";\nimport { Checkbox, Loading } from \"carbon-components-react\";\nimport { ArrowUp16, ArrowDown16, ArrowsVertical16 } from \"@carbon/icons-react\";\nimport Tooltip from \"./../../../tooltip/tooltip.jsx\";\nimport { SORT_DIRECTION, STATES, ROW_SELECTION, MINIMUM_COLUMN_WIDTH, MINIMUM_COLUMN_WIDTH_WITHOUT_LABEL } from \"./../../constants/constants\";\nimport { injectIntl } from \"react-intl\";\nimport defaultMessages from \"../../../../locales/common-properties/locales/en.json\";\n\nimport { isEmpty, differenceBy } from \"lodash\";\nimport { v4 as uuid4 } from \"uuid\";\nimport classNames from \"classnames\";\n\nimport PropTypes from \"prop-types\";\nimport React from \"react\";\n\nclass VirtualizedTable extends React.Component {\n\n\tstatic getDerivedStateFromProps(nextProps, prevState) {\n\t\tconst updatedState = {};\n\t\tif (nextProps.rowCount !== prevState.rowCount) {\n\t\t\tupdatedState.rowCount = nextProps.rowCount;\n\t\t}\n\t\t// Only get new columns if column label (headerLabel) is different. This is useful when changing \"View in tables\" dropdown in Expression control.\n\t\t// We're not comparing all properties in columns object because width can be different after resizing.\n\t\tif (!prevState.columnResized || !isEmpty(differenceBy(nextProps.columns, prevState.columns, \"headerLabel\"))) {\n\t\t\tupdatedState.columns = nextProps.columns;\n\t\t}\n\t\treturn (updatedState);\n\t}\n\n\tconstructor(props, context) {\n\t\tsuper(props, context);\n\n\t\tthis.state = {\n\t\t\trowCount: this.props.rowCount,\n\t\t\tcolumns: this.props.columns,\n\t\t\tcolumnResized: false\n\t\t};\n\t\tthis.virtualizedTableRef = React.createRef();\n\n\t\tthis.isOverSelectOption = false;\n\t\tthis.mouseEventCalled = false;\n\t\tthis.keyBoardEventCalled = false;\n\t\tthis.cellRenderer = this.cellRenderer.bind(this);\n\t\tthis.selectAll = this.selectAll.bind(this);\n\t\tthis.headerRowRenderer = this.headerRowRenderer.bind(this);\n\t\tthis.headerColRenderer = this.headerColRenderer.bind(this);\n\t\tthis.onRowClick = this.onRowClick.bind(this);\n\t\tthis.overSelectOption = this.overSelectOption.bind(this);\n\t\tthis.resizeColumn = this.resizeColumn.bind(this);\n\t}\n\n\tcomponentDidUpdate() {\n\t\t// If the rowHeight prop is a function, the virtualized table doesn't always adjust its\n\t\t// row heights correctly when the table data has changed. So in this case we need\n\t\t// to recompute the row heights.\n\t\tif (typeof this.props.rowHeight === \"function\") {\n\t\t\tthis.recomputeRowHeights();\n\t\t}\n\t}\n\n\t// This is also triggered when clicking on a checkbox\n\tonRowClick(evt, rowData, index) {\n\t\tif (evt.target.className === \"bx--select-option\") {\n\t\t\tevt.stopPropagation(); // stop propagation when selecting dropdown select options within table rows\n\t\t} else {\n\t\t\t// Set selections\n\t\t\tconst selected = !this.isRowSelected(rowData.originalRowIndex);\n\t\t\tif (typeof this.props.setRowsSelected === \"function\") {\n\t\t\t\tthis.props.setRowsSelected({\n\t\t\t\t\t\"index\": index,\n\t\t\t\t\t\"originalRowIndex\": rowData.originalRowIndex,\n\t\t\t\t\t\"selected\": selected,\n\t\t\t\t\t\"isOverSelectOption\": this.isOverSelectOption }, evt);\n\t\t\t}\n\t\t}\n\t}\n\n\tonRowDoubleClick(evt, rowKey, index) {\n\t\tif (this.props.onRowDoubleClick) {\n\t\t\tthis.props.onRowDoubleClick(evt, rowKey, index);\n\t\t}\n\t}\n\n\tgetCheckboxLabelColumnIndex(columns) {\n\t\t// If 1st column is Index, use the next column for labeling\n\t\tfor (let i = 0; i < columns.length; i++) {\n\t\t\tif (columns[i].operation !== \"index\") {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\t\t// Use first column by default\n\t\treturn 0;\n\t}\n\n\tgetColumnIndex(columns, key) {\n\t\tconst index = columns.findIndex((column) => column.key === key);\n\t\treturn index;\n\t}\n\n\tisRowSelected(index) {\n\t\tif (this.props.rowsSelected) {\n\t\t\treturn this.props.rowsSelected.indexOf(index) > -1;\n\t\t}\n\t\treturn false;\n\t}\n\n\tisLastColumn(dataKey) {\n\t\tconst columnIndex = this.getColumnIndex(this.props.columns, dataKey);\n\t\tconst isLastColumn = (columnIndex === (this.props.columns.length - 1));\n\t\treturn isLastColumn;\n\t}\n\n\tselectAll(selected) {\n\t\tthis.props.setAllRowsSelected(selected);\n\t}\n\n\t// Callback responsible for rendering a cell's contents.\n\tcellRenderer({ cellData }) {\n\t\tif (cellData === null || typeof cellData === \"undefined\") {\n\t\t\treturn \"\";\n\t\t}\n\t\treturn cellData;\n\t}\n\n\tcellRendererHTML({ cellData }) {\n\t\tif (cellData === null || typeof cellData === \"undefined\") {\n\t\t\treturn \"\";\n\t\t}\n\t\treturn (<div dangerouslySetInnerHTML={{ __html: cellData }} />);\n\t}\n\n\trecomputeRowHeights(index) {\n\t\tif (this.virtualizedTableRef && this.virtualizedTableRef.current) {\n\t\t\tthis.virtualizedTableRef.current.recomputeRowHeights(index);\n\t\t}\n\t}\n\n\t// Responsible for rendering the table header row given an array of columns.\n\theaderRowRenderer(scrollKey, { className, columns, style }) {\n\t\tconst checkboxLabelColumnIndex = (typeof this.props.columns === \"undefined\" || this.props.columns.length === 0) ? 0 : this.getCheckboxLabelColumnIndex(this.props.columns);\n\t\tconst headerCheckboxLabel = (typeof this.props.columns === \"undefined\" || this.props.columns.length === 0) ? \"\" : this.props.columns[checkboxLabelColumnIndex].headerLabel;\n\t\tconst translatedHeaderCheckboxLabel = this.props.intl.formatMessage(\n\t\t\t{ id: \"virtualizedTable.header.checkbox.label\", defaultMessage: defaultMessages[\"virtualizedTable.header.checkbox.label\"] },\n\t\t\t{ header_checkbox_label: headerCheckboxLabel }\n\t\t);\n\t\tconst checkbox = this.props.selectable && this.props.rowSelection !== ROW_SELECTION.SINGLE ? (<div role=\"columnheader\" className=\"properties-vt-header-checkbox\">\n\t\t\t<Checkbox\n\t\t\t\tid={`properties-vt-hd-cb-${scrollKey}`}\n\t\t\t\tonChange={this.selectAll}\n\t\t\t\tchecked={this.props.checkedAll}\n\t\t\t\tlabelText={translatedHeaderCheckboxLabel}\n\t\t\t\thideLabel\n\t\t\t/>\n\t\t</div>)\n\t\t\t: \"\";\n\n\t\treturn (<div className={className} data-role=\"properties-header-row\" role=\"row\" style={style}>\n\t\t\t{checkbox}\n\t\t\t{columns}\n\t\t</div>);\n\t}\n\n\theaderColRenderer({ columnData, dataKey, disableSort, label, sortBy, sortDirection }) {\n\t\tlet sortIcon = null;\n\t\tif (typeof this.props.sortColumns[dataKey] !== \"undefined\") {\n\t\t\tlet type = null;\n\t\t\tswitch (this.props.sortColumns[dataKey]) {\n\t\t\tcase SORT_DIRECTION.ASC:\n\t\t\t\ttype = <ArrowUp16 disabled={this.props.tableState === STATES.DISABLED} />;\n\t\t\t\tbreak;\n\t\t\tcase SORT_DIRECTION.DESC:\n\t\t\t\ttype = <ArrowDown16 disabled={this.props.tableState === STATES.DISABLED} />;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\ttype = <ArrowsVertical16 disabled={this.props.tableState === STATES.DISABLED} />;\n\t\t\t}\n\t\t\tsortIcon = (<span className=\"properties-ft-column-sort-icon\">\n\t\t\t\t{type}\n\t\t\t</span>);\n\t\t}\n\n\t\tlet tooltip = null;\n\t\tif (columnData.description && columnData.headerLabel) {\n\t\t\ttooltip = (\n\t\t\t\t<div className=\"properties-tooltips\">\n\t\t\t\t\t<span style= {{ fontWeight: \"bold\" }}>{columnData.headerLabel}</span>\n\t\t\t\t\t<br />\n\t\t\t\t\t{columnData.description}\n\t\t\t\t</div>\n\t\t\t);\n\t\t} else if (columnData.description) {\n\t\t\ttooltip = (\n\t\t\t\t<div className=\"properties-tooltips\">\n\t\t\t\t\t{columnData.description}\n\t\t\t\t</div>\n\t\t\t);\n\t\t} else if (columnData.headerLabel) {\n\t\t\ttooltip = (\n\t\t\t\t<div className=\"properties-tooltips\">\n\t\t\t\t\t<span style= {{ fontWeight: \"bold\" }}>{columnData.headerLabel}</span>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tconst tooltipId = uuid4() + \"-tooltip-column-\" + dataKey;\n\n\t\tconst resizeElem = columnData.resizable && !this.isLastColumn(dataKey)\n\t\t\t? (<Draggable\n\t\t\t\taxis=\"x\"\n\t\t\t\tdefaultClassName=\"properties-vt-header-resize\"\n\t\t\t\tdefaultClassNameDragging=\"properties-vt-header-resize-active\"\n\t\t\t\tonDrag={\n\t\t\t\t\t(evt, { deltaX }) => {\n\t\t\t\t\t\tthis.resizeColumn({ dataKey, deltaX });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tposition={{ x: 0 }}\n\t\t\t\tzIndex={999}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\trole=\"button\" tabIndex=\"0\"\n\t\t\t\t\taria-label=\"Resize column\"\n\t\t\t\t/>\n\t\t\t</Draggable>)\n\t\t\t: \"\";\n\n\t\treturn (\n\t\t\t<div className={classNames({ \"properties-vt-column-with-resize\": resizeElem !== \"\", \"properties-vt-column-without-resize\": resizeElem === \"\" })}>\n\t\t\t\t<div className={classNames(\"properties-vt-column properties-tooltips-container\", { \"sort-column-active\": dataKey === this.props.sortBy })}>\n\t\t\t\t\t{ isEmpty(tooltip)\n\t\t\t\t\t\t? label\n\t\t\t\t\t\t: <Tooltip\n\t\t\t\t\t\t\tid={tooltipId}\n\t\t\t\t\t\t\ttip={tooltip}\n\t\t\t\t\t\t\tdirection=\"bottom\"\n\t\t\t\t\t\t\tclassName=\"properties-tooltips\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t}\n\t\t\t\t\t{disableSort === false && sortIcon}\n\t\t\t\t</div>\n\t\t\t\t{ resizeElem }\n\t\t\t</div>\n\t\t);\n\t}\n\n\t/* Columns are not resizable by default. Host application specifies resizable columns in parameter definition.\n\t* When a column is resized, width of ALL the columns to the right of resized column is adjusted.\n\t* Example: If a column width is reduced by 10px and there are 5 columns on the right of resized column. Each of the 5 columns width is increased by 2px (10px/number of columns)\n\t* When any column's width reaches MINIMUM_COLUMN_WIDTH (56px), resizing is stopped.\n\t* Special case - For columns without labels, when their width reaches MINIMUM_COLUMN_WIDTH_WITHOUT_LABEL (32px), resizing is stopped.\n\t*/\n\tresizeColumn({ dataKey, deltaX }) {\n\t\tthis.setState((prevState) => {\n\n\t\t\tconst columns = prevState.columns;\n\t\t\t// Calculate number of columns on the right of resized column\n\t\t\tconst resizedColumnIndex = this.getColumnIndex(columns, dataKey);\n\t\t\tconst numberOfColumnsOnTheRight = columns.length - 1 - resizedColumnIndex;\n\t\t\tconst rightColumnsDelta = deltaX / numberOfColumnsOnTheRight;\n\n\t\t\t// Verify adjusted width of every column on the right is greater than minimum width\n\t\t\tconst everyColumnGreaterThanMinWidth = columns.slice(resizedColumnIndex + 1).every((col) => {\n\t\t\t\tif (col.headerLabel.length > 0) {\n\t\t\t\t\t// Column with label has min width 56px\n\t\t\t\t\treturn (col.width - rightColumnsDelta > MINIMUM_COLUMN_WIDTH);\n\t\t\t\t}\n\t\t\t\t// Column without label has min width 32px\n\t\t\t\treturn (col.width - rightColumnsDelta > MINIMUM_COLUMN_WIDTH_WITHOUT_LABEL);\n\t\t\t});\n\n\t\t\tif ((columns[resizedColumnIndex].width + deltaX) > MINIMUM_COLUMN_WIDTH && everyColumnGreaterThanMinWidth) {\n\t\t\t\tcolumns[resizedColumnIndex].width += deltaX;\n\t\t\t\t// Adjust width of all columns on the right\n\t\t\t\tfor (let i = resizedColumnIndex + 1; i < columns.length; i++) {\n\t\t\t\t\tcolumns[i].width -= rightColumnsDelta;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tcolumnResized: true,\n\t\t\t\tcolumns: columns\n\t\t\t};\n\t\t});\n\t}\n\n\toverSelectOption(evt) {\n\t\t// Differentiate between mouse and keyboard event\n\t\tif (evt.type === \"mouseenter\" && !this.keyBoardEventCalled) {\n\t\t\tthis.mouseEventCalled = true;\n\t\t\tthis.isOverSelectOption = !this.isOverSelectOption;\n\t\t} else if (evt.type === \"mouseleave\" && this.mouseEventCalled) {\n\t\t\tthis.mouseEventCalled = false;\n\t\t\tthis.isOverSelectOption = !this.isOverSelectOption;\n\t\t} else if (evt.type === \"focus\" && !this.mouseEventCalled) {\n\t\t\tthis.keyBoardEventCalled = true;\n\t\t\tthis.isOverSelectOption = !this.isOverSelectOption;\n\t\t} else if (evt.type === \"blur\" && this.keyBoardEventCalled) {\n\t\t\tthis.keyBoardEventCalled = false;\n\t\t\tthis.isOverSelectOption = !this.isOverSelectOption;\n\t\t}\n\t}\n\n\t// Responsible for rendering a table row given an array of columns.\n\trowRenderer(scrollKey, { className, columns, index, key, rowData, style }) {\n\t\tlet selectOption = \"\";\n\t\tlet selectedRow = false;\n\t\tconst rowDisabled = typeof rowData.disabled === \"boolean\" ? rowData.disabled : false;\n\n\t\tif (typeof this.props.rowHeight === \"function\" && this.props.rowHeight({ index }) === 0) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif (this.props.selectable) {\n\t\t\tconst rowSelected = this.isRowSelected(rowData.originalRowIndex);\n\t\t\tselectedRow = this.props.selectable && rowSelected;\n\t\t\tif (this.props.rowSelection !== ROW_SELECTION.SINGLE) {\n\t\t\t\tconst translatedRowCheckboxLabel = this.props.intl.formatMessage(\n\t\t\t\t\t{ id: \"virtualizedTable.row.checkbox.label\", defaultMessage: defaultMessages[\"virtualizedTable.row.checkbox.label\"] },\n\t\t\t\t\t{ row_index: index + 1, table_label: (this.props.tableLabel ? this.props.tableLabel : \"\") }\n\t\t\t\t);\n\n\t\t\t\tselectOption = (<div className=\"properties-vt-row-checkbox\"\n\t\t\t\t\trole=\"gridcell\"\n\t\t\t\t\tonMouseEnter={(evt) => this.overSelectOption(evt)}\n\t\t\t\t\tonMouseLeave={(evt) => this.overSelectOption(evt)}\n\t\t\t\t\tonFocus={(evt) => this.overSelectOption(evt)}\n\t\t\t\t\tonBlur={(evt) => this.overSelectOption(evt)}\n\t\t\t\t>\n\t\t\t\t\t<Checkbox\n\t\t\t\t\t\tid={`properties-vt-row-cb-${scrollKey}-${index}`}\n\t\t\t\t\t\tkey={`properties-vt-row-cb-${scrollKey}-${index}`}\n\t\t\t\t\t\tlabelText={translatedRowCheckboxLabel}\n\t\t\t\t\t\thideLabel\n\t\t\t\t\t\tchecked={rowSelected}\n\t\t\t\t\t\tdisabled={rowDisabled}\n\t\t\t\t\t/>\n\t\t\t\t</div>);\n\t\t\t}\n\t\t}\n\n\t\tif (this.props.summaryTable) {\n\t\t\tselectOption = <div className=\"properties-vt-row-checkbox\" />;\n\t\t}\n\n\t\tif (rowData.loading === true) {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName={className}\n\t\t\t\t\tkey={key}\n\t\t\t\t\tdata-role=\"properties-loading-row\"\n\t\t\t\t\trole=\"row\"\n\t\t\t\t\tstyle={style}\n\t\t\t\t>\n\t\t\t\t\t<Loading className=\"properties-vt-small-loading\" small withOverlay={false} />\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tconst width = (parseInt(style.width, 10)) + \"px\"; // Subtract 2px to account for row borders\n\t\tconst newStyle = Object.assign({}, style, { width: width });\n\n\t\t// Empty style required on cell for react-virtualized. This div wrapper is required to apply the onDoubleClick handler.\n\t\treturn (<div style={{}} key={key} className=\"properties-vt-double-click\" onDoubleClick={(evt) => this.onRowDoubleClick(evt, rowData.rowKey, index)}>\n\t\t\t<div\n\t\t\t\tclassName={classNames(className,\n\t\t\t\t\t{ \"properties-vt-row-selected\": selectedRow },\n\t\t\t\t\t{ \"properties-vt-row-disabled\": rowDisabled },\n\t\t\t\t\t{ \"properties-vt-row-non-interactive\": !this.props.selectable } // ReadonlyTable with single row selection is non-interactive.\n\t\t\t\t)}\n\t\t\t\tdata-role=\"properties-data-row\"\n\t\t\t\trole=\"row\"\n\t\t\t\tstyle={newStyle}\n\t\t\t\tonMouseDown={(evt) => this.onRowClick(evt, rowData, index)}\n\t\t\t\tonKeyPress={(evt) => {\n\t\t\t\t\tif (evt.code === \"Space\" || evt.code === \"Enter\") {\n\t\t\t\t\t\tthis.onRowClick(evt, rowData, index);\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{selectOption}\n\t\t\t\t{columns}\n\t\t\t</div>\n\t\t</div>);\n\t}\n\n\trender() {\n\t\tconst defaultTestHeight = 2000; // 2000 is set to accommodate test data \"category-selection-data\" with all categories expanded\n\n\t\t// AutoSizer manages width and height properties so the table fills the available space.\n\t\t// It does a direct DOM manipulation to the parent, outside React's VirtualDOM.\n\t\t// Since the actual DOM is not available when unit testing, we are passing in a default\n\t\t// width of 500 and a default height of 300.\n\t\treturn (\n\t\t\t<div className=\"properties-vt\">\n\t\t\t\t<div className={classNames(\"properties-vt-autosizer\",\n\t\t\t\t\t{ \"properties-vt-single-selection\": this.props.rowSelection && this.props.rowSelection === ROW_SELECTION.SINGLE,\n\t\t\t\t\t\t\"properties-light-disabled\": !this.props.light })}\n\t\t\t\t>\n\t\t\t\t\t<AutoSizer>\n\t\t\t\t\t\t{({ height, width }) => ( // Table height: subtract 50 for margin below the table.\n\t\t\t\t\t\t\t<Table\n\t\t\t\t\t\t\t\tref={this.virtualizedTableRef}\n\t\t\t\t\t\t\t\twidth={width ? width : 500}\n\t\t\t\t\t\t\t\theight={height ? height : defaultTestHeight}\n\n\t\t\t\t\t\t\t\tclassName=\"properties-autosized-vt\"\n\t\t\t\t\t\t\t\taria-label={this.props.tableLabel ? this.props.tableLabel : \"\"}\n\n\t\t\t\t\t\t\t\tdisableHeader={this.props.disableHeader}\n\t\t\t\t\t\t\t\theaderClassName=\"properties-autosized-vt-header\"\n\t\t\t\t\t\t\t\theaderHeight={32}\n\t\t\t\t\t\t\t\theaderRowRenderer={this.headerRowRenderer.bind(this, this.props.scrollKey)}\n\t\t\t\t\t\t\t\tonHeaderClick={this.props.onHeaderClick}\n\n\t\t\t\t\t\t\t\trowClassName=\"properties-vt-row-class\"\n\t\t\t\t\t\t\t\trowHeight={this.props.rowHeight ? this.props.rowHeight : 32}\n\n\t\t\t\t\t\t\t\trowCount={this.state.rowCount}\n\t\t\t\t\t\t\t\trowGetter={this.props.rowGetter}\n\t\t\t\t\t\t\t\trowRenderer={this.rowRenderer.bind(this, this.props.scrollKey)}\n\n\t\t\t\t\t\t\t\tscrollToIndex={this.props.scrollToIndex}\n\t\t\t\t\t\t\t\tscrollToAlignment={this.props.scrollToAlignment}\n\n\t\t\t\t\t\t\t\tsort={this.props.onSort}\n\t\t\t\t\t\t\t\tsortDirection={this.props.sortDirection}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tthis.state.columns.map((column) => (\n\t\t\t\t\t\t\t\t\t\t<Column\n\t\t\t\t\t\t\t\t\t\t\tkey={column.key}\n\t\t\t\t\t\t\t\t\t\t\tlabel={column.label}\n\t\t\t\t\t\t\t\t\t\t\tdataKey={column.key}\n\t\t\t\t\t\t\t\t\t\t\twidth={column.width}\n\t\t\t\t\t\t\t\t\t\t\tcolumnData={column}\n\t\t\t\t\t\t\t\t\t\t\tdisableSort={typeof this.props.sortColumns[column.key] === \"undefined\"}\n\t\t\t\t\t\t\t\t\t\t\tcellRenderer={column.isHTML ? this.cellRendererHTML : this.cellRenderer}\n\t\t\t\t\t\t\t\t\t\t\theaderRenderer={this.headerColRenderer}\n\t\t\t\t\t\t\t\t\t\t\t{...column.minWidth && { minWidth: column.minWidth }}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t))\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</Table>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</AutoSizer>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nVirtualizedTable.defaultProps = {\n\tdisableHeader: false\n};\n\nVirtualizedTable.propTypes = {\n\ttableLabel: PropTypes.string,\n\tselectable: PropTypes.bool,\n\tsummaryTable: PropTypes.bool,\n\trowSelection: PropTypes.string,\n\tdisableHeader: PropTypes.bool,\n\tcolumns: PropTypes.array.isRequired,\n\trowCount: PropTypes.number.isRequired,\n\trowGetter: PropTypes.func.isRequired,\n\trowHeight: PropTypes.oneOfType([\n\t\tPropTypes.func.isRequired,\n\t\tPropTypes.number.isRequired\n\t]),\n\tonRowDoubleClick: PropTypes.func,\n\trowsSelected: PropTypes.array, // Required if selectable is true\n\tcheckedAll: PropTypes.bool, // Required if selectable is true\n\tsetRowsSelected: PropTypes.func, // Required if selectable is true\n\tsetAllRowsSelected: PropTypes.func, // Required if selectable is true\n\tscrollToIndex: PropTypes.number,\n\tscrollToAlignment: PropTypes.string,\n\tonSort: PropTypes.func,\n\tsortBy: PropTypes.string,\n\tsortColumns: PropTypes.object,\n\tsortDirection: PropTypes.string,\n\tonHeaderClick: PropTypes.func,\n\tscrollKey: PropTypes.string,\n\ttableState: PropTypes.string,\n\tlight: PropTypes.bool,\n\tintl: PropTypes.object.isRequired\n};\n\nexport default injectIntl(VirtualizedTable);\n","/*\n * Copyright 2017-2022 Elyra Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* eslint complexity: [\"error\", 25] */\n/* eslint max-depth: [\"error\", 6] */\n\nimport React from \"react\";\nimport { injectIntl } from \"react-intl\";\nimport ReactDOM from \"react-dom\";\nimport PropTypes from \"prop-types\";\nimport { Search } from \"carbon-components-react\";\nimport VirtualizedTable from \"./../virtualized-table/virtualized-table.jsx\";\nimport { SORT_DIRECTION, STATES, ROW_HEIGHT, ROW_SELECTION } from \"./../../constants/constants\";\nimport ReactResizeDetector from \"react-resize-detector\";\nimport classNames from \"classnames\";\nimport { has } from \"lodash\";\nimport defaultMessages from \"../../../../locales/common-properties/locales/en.json\";\n\nclass FlexibleTable extends React.Component {\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tconst sortDirs = {};\n\t\tif (typeof this.props.sortable !== \"undefined\") {\n\t\t\tfor (var i = 0; i < this.props.sortable.length; i++) {\n\t\t\t\tconst sortCol = this.props.sortable[i];\n\t\t\t\tsortDirs[sortCol] = SORT_DIRECTION.NOT_SORTED;\n\t\t\t}\n\t\t}\n\t\tthis.state = {\n\t\t\tcheckedAllRows: false,\n\t\t\tcolumnSortDir: sortDirs,\n\t\t\tcurrentSortColumn: \"\",\n\t\t\ttableWidth: 0,\n\t\t\ttableHeight: 0\n\t\t};\n\n\t\tthis.rowHeight = this.rowHeight.bind(this);\n\t\tthis.rowGetter = this.rowGetter.bind(this);\n\n\t\tthis.getOriginalRowIndex = this.getOriginalRowIndex.bind(this);\n\t\tthis.getLastChildPropertyIdRow = this.getLastChildPropertyIdRow.bind(this);\n\n\t\tthis.calculateColumnWidths = this.calculateColumnWidths.bind(this);\n\t\tthis.handleFilterChange = this.handleFilterChange.bind(this);\n\t\tthis.onSort = this.onSort.bind(this);\n\t\tthis.sortHeaderClick = this.sortHeaderClick.bind(this);\n\t\tthis._updateTableWidth = this._updateTableWidth.bind(this);\n\t\tthis._adjustTableHeight = this._adjustTableHeight.bind(this);\n\t\tthis.handleCheckedRow = this.handleCheckedRow.bind(this);\n\t\tthis.handleCheckedAllRows = this.handleCheckedAllRows.bind(this);\n\t}\n\n\tcomponentDidMount() {\n\t\tthis._adjustTableHeight();\n\t\twindow.addEventListener(\"resize\", this._adjustTableHeight);\n\t\tthis.tableNode = ReactDOM.findDOMNode(this.refs.table);\n\t}\n\n\tcomponentDidUpdate(prevProps, prevState) {\n\t\tif (prevProps.rows !== this.props.rows ||\n\t\t\tprevProps.columns !== this.props.columns ||\n\t\t\tprevProps.noAutoSize !== this.props.noAutoSize) {\n\t\t\tthis._adjustTableHeight();\n\t\t}\n\n\t\t// Calculate if checkedAllRows is true\n\t\tif (this.props.selectedRows) {\n\t\t\tthis.setCheckedAll(this.props.selectedRows);\n\t\t}\n\n\t\tthis.tableNode = ReactDOM.findDOMNode(this.refs.table);\n\t}\n\n\tcomponentWillUnmount() {\n\t\twindow.removeEventListener(\"resize\", this._adjustTableHeight);\n\t}\n\n\tonSort({ sortBy }) {\n\t\tif (this.props.onSort) {\n\t\t\tconst sortDirection = (this.state.columnSortDir[sortBy] === SORT_DIRECTION.ASC) ? SORT_DIRECTION.DESC : SORT_DIRECTION.ASC;\n\t\t\tconst spec = {\n\t\t\t\tcolumn: sortBy,\n\t\t\t\tdirection: sortDirection\n\t\t\t};\n\t\t\tthis.props.onSort(spec);\n\t\t}\n\t}\n\n\t/**\n\t* The current displayed row may have an index that is different from its actual index within the dataset\n\t* Given the current displayed row and index of the table,\n\t* return its original row index from its row's propertyId\n\t*/\n\tgetOriginalRowIndex(row, index) {\n\t\tlet rowIndex = index;\n\t\tif (row.columns && has(row.columns[0], \"content.props.children.props.propertyId.propertyId\")) {\n\t\t\t// this is a nested control\n\t\t\trowIndex = this.getLastChildPropertyIdRow(row.columns[0].content.props.children.props.propertyId, index);\n\t\t} else if (row.columns && has(row.columns[0], \"content.props.children.props.propertyId.row\")) {\n\t\t\trowIndex = row.columns[0].content.props.children.props.propertyId.row;\n\t\t} else if (typeof row.rowKey === \"number\") { // expression tables uses rowKey\n\t\t\trowIndex = parseInt(row.rowKey, 10);\n\t\t}\n\t\treturn rowIndex;\n\t}\n\n\t// Get the 'row' of the last child's propertyId\n\tgetLastChildPropertyIdRow(propertyId, defaultRowIndex) {\n\t\tif (typeof propertyId.propertyId !== \"undefined\") {\n\t\t\treturn this.getLastChildPropertyIdRow(propertyId.propertyId);\n\t\t}\n\t\tif (typeof propertyId.row !== \"undefined\") {\n\t\t\treturn propertyId.row;\n\t\t}\n\t\treturn defaultRowIndex;\n\t}\n\n\t/**\n\t* The header checkAll box may change depending on the current visible rows\n\t* Determine if all visible rows in the table are currently selected\n\t* and set the `checkedAllRows` state accordingly\n\t*/\n\tsetCheckedAll(selectedRows) {\n\t\tlet checkAll = true;\n\t\tfor (let idx = 0; idx < this.props.data.length; idx++) {\n\t\t\tconst row = this.props.data[idx];\n\t\t\tconst originalRowIndex = this.getOriginalRowIndex(row, idx);\n\t\t\tif (selectedRows.indexOf(originalRowIndex) < 0) {\n\t\t\t\tcheckAll = false;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (this.state.checkedAllRows !== checkAll) {\n\t\t\tthis.setState({ checkedAllRows: checkAll });\n\t\t}\n\t}\n\n\t/**\n\t* Calculate the width for each column to fit within the table\n\t* Widths provided in columns without 'px' are 'weighted' and will be scaled\n\t* Widths provided in columns with 'px' are used as is without scaling\n\t* if width is provided with 'px', subtract that from the total available table width\n\t* if width is provided, divide the column 'weighted' width with the max width from columns\n\t* return the scaled factor\n\t* multiply each column 'weighted' width with the scaled factor to get the actual width in pixels\n\t* @param columns column definitions\n\t* @param parentTableWidth\n\t*/\n\tcalculateColumnWidths(columns, parentTableWidth) {\n\t\tlet tableWidth = parentTableWidth - 12; // subtract 12 for the left padding scss $spacing-04\n\t\tif (this.props.rowSelection !== ROW_SELECTION.SINGLE) {\n\t\t\ttableWidth -= 40;\n\t\t}\n\t\tlet remainingColumns = columns.length; // keep track of how many columns to calculate width for\n\t\tlet maxWeight = 0;\n\n\t\tfor (const columnDef of columns) {\n\t\t\t// if columns have specific width subtract from total width\n\t\t\tif (columnDef.width) {\n\t\t\t\tif (typeof columnDef.width === \"string\" && columnDef.width.includes(\"px\")) {\n\t\t\t\t\ttableWidth -= parseInt(columnDef.width, 10);\n\t\t\t\t\tremainingColumns--;\n\t\t\t\t} else {\n\t\t\t\t\tmaxWeight = Math.max(maxWeight, columnDef.width); // keep track of which column has highest width provided\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tconst widths = [];\n\t\tconst defaultWidth = Math.floor(tableWidth / remainingColumns); // use default width for columns without a weight\n\t\tconst weightedWidths = [];\n\t\tlet sumWeightedWidths = 0;\n\n\t\t// scale weight of columns with width provided\n\t\tfor (const columnDef of columns) {\n\t\t\tif (columnDef.width && !isNaN(columnDef.width)) {\n\t\t\t\tweightedWidths.push(columnDef.width / maxWeight);\n\t\t\t\tsumWeightedWidths += (columnDef.width / maxWeight);\n\t\t\t} else {\n\t\t\t\tweightedWidths.push(null);\n\t\t\t}\n\t\t}\n\n\t\tconst scaledWidth = tableWidth / sumWeightedWidths; // scaled width multiplier for each column with width provided\n\n\t\tlet sumColumnWidth = 0;\n\t\tfor (let idx = 0; idx < columns.length; idx++) {\n\t\t\tconst columnDef = columns[idx];\n\t\t\tif (columnDef.width) {\n\t\t\t\t// use the width provided with 'px' as is\n\t\t\t\tif (typeof columnDef.width === \"string\" && columnDef.width.includes(\"px\")) {\n\t\t\t\t\twidths.push(Math.floor(parseInt(columnDef.width, 10)) + \"px\");\n\t\t\t\t\tsumColumnWidth += parseInt(columnDef.width, 10);\n\t\t\t\t} else { // multiply the width provided by the scaled width\n\t\t\t\t\tconst calculatedWidth = Math.floor(weightedWidths[idx] * scaledWidth);\n\t\t\t\t\twidths.push(calculatedWidth + \"px\");\n\t\t\t\t\tsumColumnWidth += calculatedWidth;\n\t\t\t\t}\n\t\t\t} else { // if no width provided, use the defaultWidth\n\t\t\t\twidths.push(defaultWidth);\n\t\t\t\tsumColumnWidth += defaultWidth;\n\t\t\t}\n\t\t}\n\n\t\t// if any columns had decimals floored, allocate additional space to the first column\n\t\tlet compare = parentTableWidth;\n\t\tif (this.props.rowSelection !== ROW_SELECTION.SINGLE) {\n\t\t\tcompare -= 40;\n\t\t}\n\n\t\tif (sumColumnWidth < compare) {\n\t\t\tconst firstColWith = parseInt(widths[0], 10);\n\t\t\twidths[0] = firstColWith + compare - sumColumnWidth + \"px\";\n\t\t}\n\n\t\treturn widths;\n\t}\n\n\t_updateTableWidth(width, height) {\n\t\tif (this.state.tableWidth !== Math.floor(width - 2)) {\n\t\t\tthis.setState({\n\t\t\t\ttableWidth: Math.floor(width - 2) // subtract 2 px for the borders\n\t\t\t});\n\t\t}\n\t}\n\n\t_adjustTableHeight() {\n\t\tif (this.props.noAutoSize) {\n\t\t\treturn;\n\t\t}\n\t\tlet newHeight = this.state.tableHeight;\n\t\tconst rowHeight = 2; // in rem\n\t\tconst headerHeight = 2; // in rem\n\t\tconst rows = typeof this.props.rows !== \"undefined\" ? this.props.rows : 4;\n\t\tif (Array.isArray(this.props.data) && this.props.data.length < rows) {\n\t\t\tnewHeight = (rowHeight * this.props.data.length + headerHeight) + \"rem\";\n\t\t} else if (rows > 0) {\n\t\t\tnewHeight = (rowHeight * rows + headerHeight) + \"rem\";\n\t\t} else if (rows === 0) { // only display header\n\t\t\tnewHeight = headerHeight + \"rem\";\n\t\t} else if (rows === -1) {\n\t\t\tif (this.flexibleTable) {\n\t\t\t\tconst labelAndDescriptionHeight = 50; // possible dynamically set this in the future\n\t\t\t\tconst ftHeaderHeight = ReactDOM.findDOMNode(this.flexibleTableHeader).getBoundingClientRect().height;\n\t\t\t\tconst flyoutHeight = this.findPropertyNodeHeight(this.flexibleTable, \"properties-wf-children\");\n\t\t\t\tif (flyoutHeight === 0) {\n\t\t\t\t\tnewHeight = \"100vh\"; // set full window height if flyout height not found\n\t\t\t\t} else {\n\t\t\t\t\tnewHeight = `calc(${flyoutHeight - ftHeaderHeight - labelAndDescriptionHeight}px - 3.5rem)`; // 3.5rem to adjust padding\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (newHeight !== this.state.tableHeight) {\n\t\t\tthis.setState({ tableHeight: newHeight });\n\t\t}\n\t}\n\n\tfindPropertyNodeHeight(node, className) {\n\t\tif (node && node.parentNode && node.parentNode.className && node.parentNode.className.includes(className)) {\n\t\t\tconst foundNode = ReactDOM.findDOMNode(node.parentNode).getBoundingClientRect();\n\t\t\tif (foundNode) {\n\t\t\t\treturn foundNode.height;\n\t\t\t}\n\t\t\treturn 0;\n\t\t} else if (node && node.parentNode) {\n\t\t\treturn this.findPropertyNodeHeight(node.parentNode, className);\n\t\t}\n\t\treturn 0;\n\t}\n\n\tsortHeaderClick({ dataKey }) {\n\t\tconst colSortDir = this.state.columnSortDir;\n\t\tif (typeof colSortDir[dataKey] !== \"undefined\") {\n\t\t\t// At a time only 1 column will be shown as sorted. Revert other columns to not sorted.\n\t\t\tObject.keys(colSortDir).forEach((key) => {\n\t\t\t\tif (key !== dataKey) {\n\t\t\t\t\tcolSortDir[key] = SORT_DIRECTION.NOT_SORTED;\n\t\t\t\t}\n\t\t\t});\n\t\t\t// Only dataKey column will be sorted\n\t\t\tcolSortDir[dataKey] = (colSortDir[dataKey] === SORT_DIRECTION.ASC) ? SORT_DIRECTION.DESC : SORT_DIRECTION.ASC;\n\t\t\tthis.setState({\n\t\t\t\tcolumnSortDir: colSortDir,\n\t\t\t\tcurrentSortColumn: dataKey\n\t\t\t});\n\t\t}\n\t}\n\n\thandleFilterChange(evt) {\n\t\tif (this.props.onFilter) {\n\t\t\tthis.props.onFilter(evt.target.value);\n\t\t}\n\t}\n\n\thandleCheckedAllRows(checked) {\n\t\tlet selectAll = [];\n\t\tconst controlValue = this.props.data;\n\t\tif (checked) {\n\t\t\tselectAll = Array.from(this.props.selectedRows);\n\t\t\tfor (var rowIndex = 0; rowIndex < controlValue.length; rowIndex++) {\n\t\t\t\tconst originalRowIndex = this.getOriginalRowIndex(controlValue[rowIndex], rowIndex);\n\t\t\t\tselectAll.push(originalRowIndex);\n\t\t\t}\n\t\t}\n\t\tselectAll = Array.from(new Set(selectAll));\n\t\tthis.props.updateRowSelections(selectAll);\n\t\tthis.setState({ checkedAllRows: checked });\n\t}\n\n\thandleCheckedRow(data, evt) {\n\t\tconst dataRowIndex = data.originalRowIndex; // Use the originalRowIndex for selection in case rows are filtered.\n\t\tconst displayedRowIndex = data.index;\n\t\tconst checked = data.selected;\n\t\tconst overSelectOption = data.isOverSelectOption;\n\n\t\tif (!this.props.data[displayedRowIndex].disabled) {\n\t\t\tif (overSelectOption) { // Checkbox is clicked\n\t\t\t\tlet current = this.props.selectedRows ? this.props.selectedRows : [];\n\t\t\t\tif (checked) {\n\t\t\t\t\tcurrent = current.concat(dataRowIndex);\n\t\t\t\t\tthis.setCheckedAll(current);\n\t\t\t\t} else if (current) {\n\t\t\t\t\tcurrent = current.filter(function(element) {\n\t\t\t\t\t\treturn element !== dataRowIndex;\n\t\t\t\t\t});\n\t\t\t\t\tthis.setState({ checkedAllRows: false });\n\t\t\t\t}\n\t\t\t\tthis.props.updateRowSelections(current);\n\t\t\t} else if (this.props.rowSelection === ROW_SELECTION.SINGLE && typeof this.props.updateRowSelections !== \"undefined\") { // Table row is clicked\n\t\t\t\tthis.props.updateRowSelections(data.index, evt, this.props.data[data.index].rowKey);\n\t\t\t}\n\t\t}\n\t}\n\n\n\t/**\n\t* Generate the table header specs from this.props.columns\n\t* this.props.columns: array of objects\n\t* [\n\t* {\n\t* \"key\": string,\n\t* \"label\": string,\n\t* \"width\": integer or string if containts 'px',\n\t* \"description\": optional string,\n\t* \"resizable\": optional string\n\t* }\n\t* ]\n\t* @param columnWidths\n\t*/\n\tgenerateTableHeaderRow(columnWidths) {\n\t\tconst headers = [];\n\t\tlet searchLabel = \"\";\n\t\tfor (var j = 0; j < this.props.columns.length; j++) {\n\t\t\tconst columnDef = this.props.columns[j];\n\t\t\tif (typeof this.props.filterable !== \"undefined\" && this.props.filterable[0] === columnDef.key) {\n\t\t\t\tsearchLabel = columnDef.label;\n\t\t\t}\n\t\t\tconst width = Math.abs(parseInt(columnWidths[j], 10));\n\t\t\tlet headerLabel;\n\t\t\tif (typeof (columnDef.label) === \"object\") {\n\t\t\t\theaderLabel = columnDef.label.props.labelText;\n\t\t\t} else if (typeof (columnDef.label) === \"string\") {\n\t\t\t\theaderLabel = columnDef.label;\n\t\t\t}\n\t\t\theaders.push({\n\t\t\t\tkey: columnDef.key,\n\t\t\t\tlabel: columnDef.label,\n\t\t\t\twidth: width,\n\t\t\t\tdescription: columnDef.description,\n\t\t\t\theaderLabel: headerLabel,\n\t\t\t\tresizable: columnDef.resizable,\n\t\t\t\toperation: columnDef.operation\n\t\t\t});\n\t\t}\n\t\treturn {\n\t\t\theaders: headers,\n\t\t\tsearchLabel: searchLabel\n\t\t};\n\t}\n\n\t/**\n\t* Callback responsible for returning a data row given an index\n\t*/\n\trowGetter({ index }) {\n\t\tconst row = this.props.data[index];\n\t\tconst originalRowIndex = this.getOriginalRowIndex(row, index);\n\n\t\tconst columns = {};\n\t\tif (row.columns) {\n\t\t\tfor (let cidx = 0; cidx < row.columns.length; cidx++) {\n\t\t\t\tconst column = row.columns[cidx];\n\t\t\t\tcolumns[column.column] = column.content;\n\t\t\t}\n\t\t}\n\t\treturn Object.assign({}, columns, {\n\t\t\tloading: false,\n\t\t\tindex: index,\n\t\t\toriginalRowIndex: originalRowIndex,\n\t\t\trowKey: typeof row.rowKey !== \"undefined\" ? row.rowKey : this.props.scrollKey + \"-row-\" + index,\n\t\t\tdisabled: row.disabled\n\t\t});\n\t}\n\n\t// Function that returns the height of a row given its index\n\trowHeight({ index }) {\n\t\treturn ROW_HEIGHT;\n\t}\n\n\trender() {\n\t\tconst tableWidth = this.state.tableWidth;\n\t\tconst columnWidths = this.calculateColumnWidths(this.props.columns, tableWidth);\n\t\tconst headerInfo = this.generateTableHeaderRow(columnWidths);\n\n\t\tconst headers = headerInfo.headers;\n\t\tconst searchLabel = headerInfo.searchLabel;\n\t\tconst disabled = this.props.tableState === STATES.DISABLED;\n\n\t\tlet searchBar = null;\n\n\t\tif (typeof this.props.filterable !== \"undefined\" && this.props.filterable.length !== 0) {\n\t\t\tconst placeHolder = this.props.intl.formatMessage(\n\t\t\t\t{ id: \"table.search.placeholder\", defaultMessage: defaultMessages[\"table.search.placeholder\"] },\n\t\t\t\t{ column_name: searchLabel }\n\t\t\t);\n\t\t\tconst searchBarLabel = this.props.intl.formatMessage(\n\t\t\t\t{ id: \"table.search.label\", defaultMessage: defaultMessages[\"table.search.label\"] },\n\t\t\t\t{ table_name: this.props.tableLabel }\n\t\t\t);\n\n\t\t\tsearchBar = (\n\t\t\t\t<div className={classNames(\"properties-ft-search-container\", { \"disabled\": disabled })}>\n\t\t\t\t\t<Search\n\t\t\t\t\t\tclassName=\"properties-ft-search-text\"\n\t\t\t\t\t\tplaceholder={placeHolder}\n\t\t\t\t\t\tonChange={this.handleFilterChange}\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tlabelText={searchBarLabel}\n\t\t\t\t\t\tlight={this.props.light}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tlet scrollIndex = -1;\n\t\tif (typeof this.props.scrollToRow !== \"undefined\" && this.props.scrollToRow !== null) {\n\t\t\tscrollIndex = this.props.scrollToRow;\n\t\t}\n\n\t\tlet heightStyle = {};\n\t\tif (!this.props.noAutoSize) {\n\t\t\theightStyle = { height: this.state.tableHeight };\n\t\t}\n\n\t\tconst containerClass = this.props.showHeader ? \"properties-ft-container-absolute \" : \"properties-ft-container-absolute-noheader \";\n\t\tconst messageClass = (!this.props.messageInfo) ? containerClass + STATES.INFO : containerClass + this.props.messageInfo.type;\n\n\t\treturn (\n\t\t\t<div data-id={\"properties-ft-\" + this.props.scrollKey} className=\"properties-ft-control-container\" ref={ (ref) => (this.flexibleTable = ref) }>\n\t\t\t\t<div className=\"properties-ft-table-header\" ref={ (ref) => (this.flexibleTableHeader = ref) }>\n\t\t\t\t\t{searchBar}\n\t\t\t\t\t{this.props.topRightPanel}\n\t\t\t\t</div>\n\t\t\t\t<div className=\"properties-ft-container-panel\">\n\t\t\t\t\t<ReactResizeDetector handleWidth onResize={this._updateTableWidth}>\n\t\t\t\t\t\t<div className=\"properties-ft-container-wrapper\" style={ heightStyle }>\n\t\t\t\t\t\t\t<div className={messageClass}>\n\t\t\t\t\t\t\t\t{this.props.selectedEditRow}\n\t\t\t\t\t\t\t\t<VirtualizedTable\n\t\t\t\t\t\t\t\t\ttableLabel={this.props.tableLabel}\n\t\t\t\t\t\t\t\t\tcolumns={headers}\n\t\t\t\t\t\t\t\t\tonHeaderClick={this.sortHeaderClick}\n\t\t\t\t\t\t\t\t\trowCount={this.props.data.length}\n\t\t\t\t\t\t\t\t\trowHeight={this.rowHeight}\n\t\t\t\t\t\t\t\t\trowGetter={this.rowGetter}\n\t\t\t\t\t\t\t\t\tsummaryTable={this.props.summaryTable}\n\t\t\t\t\t\t\t\t\tselectable={typeof this.props.updateRowSelections !== \"undefined\"}\n\t\t\t\t\t\t\t\t\trowSelection={this.props.rowSelection}\n\t\t\t\t\t\t\t\t\tdisableHeader={!this.props.showHeader}\n\t\t\t\t\t\t\t\t\tonRowDoubleClick={this.props.onRowDoubleClick}\n\t\t\t\t\t\t\t\t\trowsSelected={this.props.selectedRows}\n\t\t\t\t\t\t\t\t\tcheckedAll={this.state.checkedAllRows}\n\t\t\t\t\t\t\t\t\tsetRowsSelected={this.handleCheckedRow}\n\t\t\t\t\t\t\t\t\tsetAllRowsSelected={this.handleCheckedAllRows}\n\t\t\t\t\t\t\t\t\tscrollKey={this.props.scrollKey}\n\t\t\t\t\t\t\t\t\tonSort={this.onSort}\n\t\t\t\t\t\t\t\t\tsortBy={this.state.currentSortColumn}\n\t\t\t\t\t\t\t\t\tsortColumns={this.state.columnSortDir}\n\t\t\t\t\t\t\t\t\tsortDirection={this.state.columnSortDir[this.state.currentSortColumn]}\n\t\t\t\t\t\t\t\t\ttableState={this.props.tableState}\n\t\t\t\t\t\t\t\t\tlight={this.props.light}\n\t\t\t\t\t\t\t\t\t{...(scrollIndex !== -1 && { scrollToIndex: scrollIndex, scrollToAlignment: \"center\" })}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</ReactResizeDetector>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nFlexibleTable.defaultProps = {\n\tshowHeader: true,\n\tlight: true\n};\n\nFlexibleTable.propTypes = {\n\tsortable: PropTypes.array,\n\tcolumns: PropTypes.array.isRequired,\n\tdata: PropTypes.array.isRequired,\n\tfilterable: PropTypes.array,\n\tfilterBy: PropTypes.string,\n\tfilterKeyword: PropTypes.string,\n\thideFilterInput: PropTypes.func,\n\tscrollToRow: PropTypes.number,\n\tonSort: PropTypes.func,\n\tonFilter: PropTypes.func,\n\tshowHeader: PropTypes.bool,\n\tselectedEditRow: PropTypes.object,\n\ttopRightPanel: PropTypes.object,\n\tscrollKey: PropTypes.string,\n\ttableLabel: PropTypes.string,\n\trows: PropTypes.number,\n\tnoAutoSize: PropTypes.bool,\n\ttableState: PropTypes.string,\n\tmessageInfo: PropTypes.object,\n\tupdateRowSelections: PropTypes.func,\n\tonRowDoubleClick: PropTypes.func,\n\tselectedRows: PropTypes.array,\n\trowSelection: PropTypes.string,\n\tsummaryTable: PropTypes.bool,\n\tlight: PropTypes.bool,\n\tintl: PropTypes.object.isRequired\n};\n\nexport default injectIntl(FlexibleTable);\n"],"names":["baseHasIn","object","key","Object","hasPath","require$$1","hasIn_1","path","_matchesStrictComparable","srcValue","undefined","baseIsMatch","require$$0","getMatchData","matchesStrictComparable","require$$2","_baseMatches","source","matchData","length","baseIsEqual","get","hasIn","isKey","require$$3","isStrictComparable","require$$4","require$$5","toKey","require$$6","_baseMatchesProperty","objValue","COMPARE_PARTIAL_FLAG","_baseProperty","baseGet","baseProperty","basePropertyDeep","property_1","baseMatches","baseMatchesProperty","identity","isArray","property","_baseIteratee","value","baseDifference","baseFlatten","baseIteratee","baseRest","isArrayLikeObject","last","differenceBy_1","array","values","iteratee","VirtualizedTable","props","context","state","rowCount","_this","columns","columnResized","virtualizedTableRef","React","createRef","isOverSelectOption","mouseEventCalled","keyBoardEventCalled","cellRenderer","bind","selectAll","headerRowRenderer","headerColRenderer","onRowClick","overSelectOption","resizeColumn","this","rowHeight","recomputeRowHeights","evt","rowData","index","target","className","stopPropagation","selected","isRowSelected","originalRowIndex","setRowsSelected","rowKey","onRowDoubleClick","i","operation","findIndex","column","rowsSelected","indexOf","dataKey","isLastColumn","getColumnIndex","setAllRowsSelected","cellData","dangerouslySetInnerHTML","__html","current","scrollKey","style","checkboxLabelColumnIndex","getCheckboxLabelColumnIndex","headerCheckboxLabel","headerLabel","translatedHeaderCheckboxLabel","intl","formatMessage","id","defaultMessage","defaultMessages","header_checkbox_label","checkbox","selectable","rowSelection","ROW_SELECTION","SINGLE","role","Checkbox","onChange","checked","checkedAll","labelText","hideLabel","columnData","disableSort","label","sortBy","sortDirection","sortIcon","sortColumns","type","SORT_DIRECTION","ASC","ArrowUp16","disabled","tableState","STATES","DISABLED","DESC","ArrowDown16","ArrowsVertical16","tooltip","description","fontWeight","tooltipId","uuid4","resizeElem","resizable","Draggable","axis","defaultClassName","defaultClassNameDragging","onDrag","deltaX","_this2","position","x","zIndex","tabIndex","classNames","_isEmpty","Tooltip","tip","direction","setState","prevState","resizedColumnIndex","_this3","numberOfColumnsOnTheRight","rightColumnsDelta","everyColumnGreaterThanMinWidth","slice","every","col","width","MINIMUM_COLUMN_WIDTH","MINIMUM_COLUMN_WIDTH_WITHOUT_LABEL","selectOption","selectedRow","rowDisabled","rowSelected","translatedRowCheckboxLabel","row_index","table_label","tableLabel","onMouseEnter","_this4","onMouseLeave","onFocus","onBlur","summaryTable","loading","Loading","small","withOverlay","parseInt","newStyle","assign","onDoubleClick","onMouseDown","onKeyPress","code","light","AutoSizer","height","Table","ref","_this5","disableHeader","headerClassName","headerHeight","onHeaderClick","rowClassName","rowGetter","rowRenderer","scrollToIndex","scrollToAlignment","sort","onSort","map","Column","isHTML","cellRendererHTML","headerRenderer","minWidth","nextProps","updatedState","_differenceBy","Component","defaultProps","injectIntl","FlexibleTable","sortDirs","sortable","NOT_SORTED","checkedAllRows","columnSortDir","currentSortColumn","tableWidth","tableHeight","getOriginalRowIndex","getLastChildPropertyIdRow","calculateColumnWidths","handleFilterChange","sortHeaderClick","_updateTableWidth","_adjustTableHeight","handleCheckedRow","handleCheckedAllRows","window","addEventListener","tableNode","ReactDOM","findDOMNode","refs","table","prevProps","rows","noAutoSize","selectedRows","setCheckedAll","removeEventListener","spec","row","rowIndex","_has","content","children","propertyId","defaultRowIndex","checkAll","idx","data","parentTableWidth","remainingColumns","maxWeight","columnDef","includes","Math","max","widths","defaultWidth","floor","weightedWidths","sumWeightedWidths","isNaN","push","scaledWidth","sumColumnWidth","calculatedWidth","compare","firstColWith","newHeight","Array","flexibleTable","ftHeaderHeight","flexibleTableHeader","getBoundingClientRect","flyoutHeight","findPropertyNodeHeight","node","parentNode","foundNode","colSortDir","keys","forEach","onFilter","controlValue","from","Set","updateRowSelections","dataRowIndex","displayedRowIndex","concat","filter","element","columnWidths","headers","searchLabel","j","filterable","abs","_typeof","cidx","ROW_HEIGHT","headerInfo","generateTableHeaderRow","searchBar","placeHolder","column_name","searchBarLabel","table_name","Search","placeholder","size","scrollIndex","scrollToRow","heightStyle","containerClass","showHeader","messageClass","messageInfo","INFO","topRightPanel","ReactResizeDetector","handleWidth","onResize","selectedEditRow"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{_ as e,a as s}from"./createClass-32a0cf0f.js";import{_ as a,a as t,b as r}from"./getPrototypeOf-97272efe.js";import c from"react";import{k as i,e as l,c as n,d}from"./extends-39f57612.js";import o from"react-inlinesvg";import{EventSchedule16 as p,Time16 as m,Calendar16 as h,ChartVennDiagram16 as C,Flag16 as E,ListBulleted16 as v,ListNumbered16 as u,RulerAlt16 as b,CircleDash16 as N,ChevronRight16 as f,Warning16 as H,Search16 as V,Edit16 as R,Settings16 as g,AddAlt16 as D,ChevronLeft16 as F,ChevronDown16 as A,ChevronUp16 as S,Information16 as M,InformationFilled16 as I,CheckmarkFilled16 as w,WarningFilled16 as O,ErrorFilled16 as T}from"@carbon/icons-react";import{C as x,a as y,I as Z,S as U,W,E as L}from"./canvas-constants-7f93e705.js";function G(e){var s=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var a,c=t(e);if(s){var i=t(this).constructor;a=Reflect.construct(c,arguments,i)}else a=c.apply(this,arguments);return r(this,a)}}var P=function(t){a(P,t);var r=G(P);function P(){var s;return e(this,P),(s=r.call(this)).canvasIcons={double:"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpath%20d%3D%22M17%2C8V6H13V2H11V6H8V2H6V6H2V8H6v3H2v2H6v4H8V13h3v4h2V13h4V11H13V8Zm-6%2C3H8V8h3Z%22%2F%3E%3Cpath%20d%3D%22M30%2C21V19H26V15H24v4H21V15H19v4H15v2h4v3H15v2h4v4h2V26h3v4h2V26h4V24H26V21Zm-6%2C3H21V21h3Z%22%2F%3E%3Crect%20width%3D%2232%22%20height%3D%2232%22%20fill%3D%22none%22%2F%3E%3C%2Fsvg%3E",integer:"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpath%20d%3D%22M28%2C12V10H22V4H20v6H12V4H10v6H4v2h6v8H4v2h6v6h2V22h8v6h2V22h6V20H22V12Zm-8%2C8H12V12h8Z%22%2F%3E%3Crect%20width%3D%2232%22%20height%3D%2232%22%20fill%3D%22none%22%2F%3E%3C%2Fsvg%3E",string:"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpath%20d%3D%22M29%2C22H24a2%2C2%2C0%2C0%2C1-2-2V14a2%2C2%2C0%2C0%2C1%2C2-2h5v2H24v6h5Z%22%2F%3E%3Cpath%20d%3D%22M18%2C12H14V8H12V22h6a2%2C2%2C0%2C0%2C0%2C2-2V14A2%2C2%2C0%2C0%2C0%2C18%2C12Zm-4%2C8V14h4v6Z%22%2F%3E%3Cpath%20d%3D%22M8%2C12H3v2H8v2H4a2%2C2%2C0%2C0%2C0-2%2C2v2a2%2C2%2C0%2C0%2C0%2C2%2C2h6V14A2%2C2%2C0%2C0%2C0%2C8%2C12Zm0%2C8H4V18H8Z%22%2F%3E%3Crect%20width%3D%2232%22%20height%3D%2232%22%20fill%3D%22none%22%2F%3E%3C%2Fsvg%3E"},s}return s(P,[{key:"getCarbonIcon",value:function(e,s){var a="properties-icon "+s;switch(e){case L:case d.ERROR:return c.createElement(T,{className:n("canvas-state-icon-error",a),disabled:this.props.disabled});case W:case d.WARNING:return c.createElement(O,{className:n("canvas-state-icon-warning",a),disabled:this.props.disabled});case U:case d.SUCCESS:return c.createElement(w,{className:n("canvas-state-icon-success",a),disabled:this.props.disabled});case d.INFO:return c.createElement(I,{className:n("canvas-state-icon-info",a),disabled:this.props.disabled});case Z:case l.INFORMATION:return c.createElement(M,{className:n("canvas-state-icon-information-hollow",a),disabled:this.props.disabled});case l.CHEVRONARROWS.UP:return c.createElement(S,{className:a,disabled:this.props.disabled});case l.CHEVRONARROWS.DOWN:return c.createElement(A,{className:a,disabled:this.props.disabled});case l.CHEVRONARROWS.LEFT:return c.createElement(F,{className:a,disabled:this.props.disabled});case l.CHEVRONARROWS.RIGHT:return c.createElement(f,{className:a,disabled:this.props.disabled});case l.ADD:return c.createElement(D,{className:a,disabled:this.props.disabled});case l.SETTINGS:return c.createElement(g,{className:a,disabled:this.props.disabled});case l.EDIT:return c.createElement(R,{className:a,disabled:this.props.disabled});case y.SEARCH:return c.createElement(V,{className:a,disabled:this.props.disabled});case y.WARNING_UNFILLED:return c.createElement(H,{className:a,disabled:this.props.disabled});case x.CHEVRONARROWS.RIGHT:return c.createElement(f,{className:a,disabled:this.props.disabled});case l.MEASUREMENTS.EMPTY:return c.createElement(N,{className:a,disabled:this.props.disabled});case l.MEASUREMENTS.SCALE:return c.createElement(b,{className:a,disabled:this.props.disabled});case l.MEASUREMENTS.ORDINAL:return c.createElement(u,{className:a,disabled:this.props.disabled});case l.MEASUREMENTS.NOMINAL:return c.createElement(v,{className:a,disabled:this.props.disabled});case l.MEASUREMENTS.FLAG:return c.createElement(E,{className:a,disabled:this.props.disabled});case l.MEASUREMENTS.DISCRETE:return c.createElement(C,{className:a,disabled:this.props.disabled});case i.DATE:return c.createElement(h,{className:a,disabled:this.props.disabled});case i.TIME:return c.createElement(m,{className:a,disabled:this.props.disabled});case i.TIMESTAMP:return c.createElement(p,{className:a,disabled:this.props.disabled});default:return null}}},{key:"getCanvasIcon",value:function(e){return this.canvasIcons[e]}},{key:"render",value:function(){var e=this.getCarbonIcon(this.props.type,this.props.className);if(!e)if(void 0!==(e=this.getCanvasIcon(this.props.type))){var s=n("canvas-icon","properties-icon",this.props.className);e=c.createElement(o,{src:e,className:s,disabled:this.props.disabled})}else e=c.createElement("div",null);return e}}]),P}(c.Component);P.defaultProps={className:"",disabled:!1};export{P as I};
2
+ //# sourceMappingURL=icon-811ffddd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon-811ffddd.js","sources":["../src/icons/icon.jsx","../assets/images/double.svg","../assets/images/integer.svg","../assets/images/string.svg"],"sourcesContent":["/*\n * Copyright 2017-2022 Elyra Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\nimport SVG from \"react-inlinesvg\";\n\nimport Double from \"./../../assets/images/double.svg\";\nimport Integer from \"./../../assets/images/integer.svg\";\nimport StringIcon from \"./../../assets/images/string.svg\";\n\nimport { WarningFilled16, ErrorFilled16, CheckmarkFilled16, InformationFilled16, Information16,\n\tChevronDown16, ChevronUp16, ChevronLeft16, ChevronRight16,\n\tAddAlt16,\n\tSettings16,\n\tSearch16,\n\tWarning16,\n\tEdit16,\n\tCircleDash16, RulerAlt16, ListNumbered16, ListBulleted16, Flag16, ChartVennDiagram16,\n\tCalendar16, Time16, EventSchedule16 } from \"@carbon/icons-react\";\n\nimport { ERROR, WARNING, INFO, SUCCESS, CANVAS_CARBON_ICONS, CONTEXT_MENU_CARBON_ICONS } from \"../common-canvas/constants/canvas-constants\";\nimport { CONDITION_MESSAGE_TYPE, CARBON_ICONS, DATA_TYPE } from \"../common-properties/constants/constants\";\n\nconst iconClassName = \"properties-icon\";\n\nexport default class Icon extends React.Component {\n\tconstructor() {\n\t\tsuper();\n\t\tthis.canvasIcons = {\n\t\t\tdouble: Double,\n\t\t\tinteger: Integer,\n\t\t\tstring: StringIcon\n\t\t};\n\t}\n\n\tgetCarbonIcon(type, customClassName) {\n\t\tconst className = iconClassName + \" \" + customClassName;\n\n\t\tswitch (type) {\n\t\tcase (ERROR):\n\t\tcase (CONDITION_MESSAGE_TYPE.ERROR):\n\t\t\treturn <ErrorFilled16 className={classNames(\"canvas-state-icon-error\", className)} disabled={this.props.disabled} />;\n\t\tcase (WARNING):\n\t\tcase (CONDITION_MESSAGE_TYPE.WARNING):\n\t\t\treturn <WarningFilled16 className={classNames(\"canvas-state-icon-warning\", className)} disabled={this.props.disabled} />;\n\t\tcase (SUCCESS):\n\t\tcase (CONDITION_MESSAGE_TYPE.SUCCESS):\n\t\t\treturn <CheckmarkFilled16 className={classNames(\"canvas-state-icon-success\", className)} disabled={this.props.disabled} />;\n\t\tcase (CONDITION_MESSAGE_TYPE.INFO):\n\t\t\treturn <InformationFilled16 className={classNames(\"canvas-state-icon-info\", className)} disabled={this.props.disabled} />;\n\n\t\tcase (INFO):\n\t\tcase (CARBON_ICONS.INFORMATION):\n\t\t\treturn <Information16 className={classNames(\"canvas-state-icon-information-hollow\", className)} disabled={this.props.disabled} />;\n\t\tcase (CARBON_ICONS.CHEVRONARROWS.UP):\n\t\t\treturn <ChevronUp16 className={className} disabled={this.props.disabled} />;\n\t\tcase (CARBON_ICONS.CHEVRONARROWS.DOWN):\n\t\t\treturn <ChevronDown16 className={className} disabled={this.props.disabled} />;\n\t\tcase (CARBON_ICONS.CHEVRONARROWS.LEFT):\n\t\t\treturn <ChevronLeft16 className={className} disabled={this.props.disabled} />;\n\t\tcase (CARBON_ICONS.CHEVRONARROWS.RIGHT):\n\t\t\treturn <ChevronRight16 className={className} disabled={this.props.disabled} />;\n\t\tcase (CARBON_ICONS.ADD):\n\t\t\treturn <AddAlt16 className={className} disabled={this.props.disabled} />;\n\t\tcase (CARBON_ICONS.SETTINGS):\n\t\t\treturn <Settings16 className={className} disabled={this.props.disabled} />;\n\t\tcase (CARBON_ICONS.EDIT):\n\t\t\treturn <Edit16 className={className} disabled={this.props.disabled} />;\n\n\t\tcase (CANVAS_CARBON_ICONS.SEARCH):\n\t\t\treturn <Search16 className={className} disabled={this.props.disabled} />;\n\t\tcase (CANVAS_CARBON_ICONS.WARNING_UNFILLED):\n\t\t\treturn <Warning16 className={className} disabled={this.props.disabled} />;\n\n\t\tcase (CONTEXT_MENU_CARBON_ICONS.CHEVRONARROWS.RIGHT):\n\t\t\treturn <ChevronRight16 className={className} disabled={this.props.disabled} />;\n\n\t\tcase (CARBON_ICONS.MEASUREMENTS.EMPTY):\n\t\t\treturn <CircleDash16 className={className} disabled={this.props.disabled} />;\n\t\tcase (CARBON_ICONS.MEASUREMENTS.SCALE):\n\t\t\treturn <RulerAlt16 className={className} disabled={this.props.disabled} />;\n\t\tcase (CARBON_ICONS.MEASUREMENTS.ORDINAL):\n\t\t\treturn <ListNumbered16 className={className} disabled={this.props.disabled} />;\n\t\tcase (CARBON_ICONS.MEASUREMENTS.NOMINAL):\n\t\t\treturn <ListBulleted16 className={className} disabled={this.props.disabled} />;\n\t\tcase (CARBON_ICONS.MEASUREMENTS.FLAG):\n\t\t\treturn <Flag16 className={className} disabled={this.props.disabled} />;\n\t\tcase (CARBON_ICONS.MEASUREMENTS.DISCRETE):\n\t\t\treturn <ChartVennDiagram16 className={className} disabled={this.props.disabled} />;\n\n\t\tcase (DATA_TYPE.DATE):\n\t\t\treturn <Calendar16 className={className} disabled={this.props.disabled} />;\n\t\tcase (DATA_TYPE.TIME):\n\t\t\treturn <Time16 className={className} disabled={this.props.disabled} />;\n\t\tcase (DATA_TYPE.TIMESTAMP):\n\t\t\treturn <EventSchedule16 className={className} disabled={this.props.disabled} />;\n\n\t\tdefault: return null;\n\t\t}\n\t}\n\n\tgetCanvasIcon(type) {\n\t\treturn this.canvasIcons[type];\n\t}\n\n\trender() {\n\t\tlet icon = this.getCarbonIcon(this.props.type, this.props.className);\n\t\tif (!icon) {\n\t\t\ticon = this.getCanvasIcon(this.props.type);\n\t\t\tif (typeof icon !== \"undefined\") {\n\t\t\t\tconst className = classNames(\"canvas-icon\", iconClassName, this.props.className);\n\t\t\t\ticon = <SVG src={icon} className={className} disabled={this.props.disabled} />;\n\t\t\t} else {\n\t\t\t\ticon = <div />;\n\t\t\t}\n\t\t}\n\t\treturn icon;\n\t}\n}\n\nIcon.defaultProps = {\n\tclassName: \"\",\n\tdisabled: false\n};\n\nIcon.propTypes = {\n\ttype: PropTypes.string.isRequired,\n\tclassName: PropTypes.string,\n\tdisabled: PropTypes.bool\n};\n","export default \"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpath%20d%3D%22M17%2C8V6H13V2H11V6H8V2H6V6H2V8H6v3H2v2H6v4H8V13h3v4h2V13h4V11H13V8Zm-6%2C3H8V8h3Z%22%2F%3E%3Cpath%20d%3D%22M30%2C21V19H26V15H24v4H21V15H19v4H15v2h4v3H15v2h4v4h2V26h3v4h2V26h4V24H26V21Zm-6%2C3H21V21h3Z%22%2F%3E%3Crect%20width%3D%2232%22%20height%3D%2232%22%20fill%3D%22none%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpath%20d%3D%22M28%2C12V10H22V4H20v6H12V4H10v6H4v2h6v8H4v2h6v6h2V22h8v6h2V22h6V20H22V12Zm-8%2C8H12V12h8Z%22%2F%3E%3Crect%20width%3D%2232%22%20height%3D%2232%22%20fill%3D%22none%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpath%20d%3D%22M29%2C22H24a2%2C2%2C0%2C0%2C1-2-2V14a2%2C2%2C0%2C0%2C1%2C2-2h5v2H24v6h5Z%22%2F%3E%3Cpath%20d%3D%22M18%2C12H14V8H12V22h6a2%2C2%2C0%2C0%2C0%2C2-2V14A2%2C2%2C0%2C0%2C0%2C18%2C12Zm-4%2C8V14h4v6Z%22%2F%3E%3Cpath%20d%3D%22M8%2C12H3v2H8v2H4a2%2C2%2C0%2C0%2C0-2%2C2v2a2%2C2%2C0%2C0%2C0%2C2%2C2h6V14A2%2C2%2C0%2C0%2C0%2C8%2C12Zm0%2C8H4V18H8Z%22%2F%3E%3Crect%20width%3D%2232%22%20height%3D%2232%22%20fill%3D%22none%22%2F%3E%3C%2Fsvg%3E\""],"names":["Icon","canvasIcons","integer","string","type","customClassName","className","iconClassName","ERROR","CONDITION_MESSAGE_TYPE","React","ErrorFilled16","classNames","disabled","this","props","WARNING","WarningFilled16","SUCCESS","CheckmarkFilled16","INFO","InformationFilled16","CARBON_ICONS","INFORMATION","Information16","CHEVRONARROWS","UP","ChevronUp16","DOWN","ChevronDown16","LEFT","ChevronLeft16","RIGHT","ChevronRight16","ADD","AddAlt16","SETTINGS","Settings16","EDIT","Edit16","CANVAS_CARBON_ICONS","SEARCH","Search16","WARNING_UNFILLED","Warning16","CONTEXT_MENU_CARBON_ICONS","MEASUREMENTS","EMPTY","CircleDash16","SCALE","RulerAlt16","ORDINAL","ListNumbered16","NOMINAL","ListBulleted16","FLAG","Flag16","DISCRETE","ChartVennDiagram16","DATA_TYPE","DATE","Calendar16","TIME","Time16","TIMESTAMP","EventSchedule16","icon","getCarbonIcon","getCanvasIcon","SVG","src","Component","defaultProps"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("./createClass-6db89a23.js"),a=require("./getPrototypeOf-0bf77a9e.js"),s=require("react"),t=require("./extends-51d9ddcc.js"),r=require("react-inlinesvg"),l=require("@carbon/icons-react"),n=require("./canvas-constants-ac5daafb.js");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var c=i(s),d=i(r);function C(e){var s=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var t,r=a._getPrototypeOf(e);if(s){var l=a._getPrototypeOf(this).constructor;t=Reflect.construct(r,arguments,l)}else t=r.apply(this,arguments);return a._possibleConstructorReturn(this,t)}}var o=function(s){a._inherits(i,s);var r=C(i);function i(){var a;return e._classCallCheck(this,i),(a=r.call(this)).canvasIcons={double:"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpath%20d%3D%22M17%2C8V6H13V2H11V6H8V2H6V6H2V8H6v3H2v2H6v4H8V13h3v4h2V13h4V11H13V8Zm-6%2C3H8V8h3Z%22%2F%3E%3Cpath%20d%3D%22M30%2C21V19H26V15H24v4H21V15H19v4H15v2h4v3H15v2h4v4h2V26h3v4h2V26h4V24H26V21Zm-6%2C3H21V21h3Z%22%2F%3E%3Crect%20width%3D%2232%22%20height%3D%2232%22%20fill%3D%22none%22%2F%3E%3C%2Fsvg%3E",integer:"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpath%20d%3D%22M28%2C12V10H22V4H20v6H12V4H10v6H4v2h6v8H4v2h6v6h2V22h8v6h2V22h6V20H22V12Zm-8%2C8H12V12h8Z%22%2F%3E%3Crect%20width%3D%2232%22%20height%3D%2232%22%20fill%3D%22none%22%2F%3E%3C%2Fsvg%3E",string:"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpath%20d%3D%22M29%2C22H24a2%2C2%2C0%2C0%2C1-2-2V14a2%2C2%2C0%2C0%2C1%2C2-2h5v2H24v6h5Z%22%2F%3E%3Cpath%20d%3D%22M18%2C12H14V8H12V22h6a2%2C2%2C0%2C0%2C0%2C2-2V14A2%2C2%2C0%2C0%2C0%2C18%2C12Zm-4%2C8V14h4v6Z%22%2F%3E%3Cpath%20d%3D%22M8%2C12H3v2H8v2H4a2%2C2%2C0%2C0%2C0-2%2C2v2a2%2C2%2C0%2C0%2C0%2C2%2C2h6V14A2%2C2%2C0%2C0%2C0%2C8%2C12Zm0%2C8H4V18H8Z%22%2F%3E%3Crect%20width%3D%2232%22%20height%3D%2232%22%20fill%3D%22none%22%2F%3E%3C%2Fsvg%3E"},a}return e._createClass(i,[{key:"getCarbonIcon",value:function(e,a){var s="properties-icon "+a;switch(e){case n.ERROR:case t.CONDITION_MESSAGE_TYPE.ERROR:return c.default.createElement(l.ErrorFilled16,{className:t.classNames("canvas-state-icon-error",s),disabled:this.props.disabled});case n.WARNING:case t.CONDITION_MESSAGE_TYPE.WARNING:return c.default.createElement(l.WarningFilled16,{className:t.classNames("canvas-state-icon-warning",s),disabled:this.props.disabled});case n.SUCCESS:case t.CONDITION_MESSAGE_TYPE.SUCCESS:return c.default.createElement(l.CheckmarkFilled16,{className:t.classNames("canvas-state-icon-success",s),disabled:this.props.disabled});case t.CONDITION_MESSAGE_TYPE.INFO:return c.default.createElement(l.InformationFilled16,{className:t.classNames("canvas-state-icon-info",s),disabled:this.props.disabled});case n.INFO:case t.CARBON_ICONS.INFORMATION:return c.default.createElement(l.Information16,{className:t.classNames("canvas-state-icon-information-hollow",s),disabled:this.props.disabled});case t.CARBON_ICONS.CHEVRONARROWS.UP:return c.default.createElement(l.ChevronUp16,{className:s,disabled:this.props.disabled});case t.CARBON_ICONS.CHEVRONARROWS.DOWN:return c.default.createElement(l.ChevronDown16,{className:s,disabled:this.props.disabled});case t.CARBON_ICONS.CHEVRONARROWS.LEFT:return c.default.createElement(l.ChevronLeft16,{className:s,disabled:this.props.disabled});case t.CARBON_ICONS.CHEVRONARROWS.RIGHT:return c.default.createElement(l.ChevronRight16,{className:s,disabled:this.props.disabled});case t.CARBON_ICONS.ADD:return c.default.createElement(l.AddAlt16,{className:s,disabled:this.props.disabled});case t.CARBON_ICONS.SETTINGS:return c.default.createElement(l.Settings16,{className:s,disabled:this.props.disabled});case t.CARBON_ICONS.EDIT:return c.default.createElement(l.Edit16,{className:s,disabled:this.props.disabled});case n.CANVAS_CARBON_ICONS.SEARCH:return c.default.createElement(l.Search16,{className:s,disabled:this.props.disabled});case n.CANVAS_CARBON_ICONS.WARNING_UNFILLED:return c.default.createElement(l.Warning16,{className:s,disabled:this.props.disabled});case n.CONTEXT_MENU_CARBON_ICONS.CHEVRONARROWS.RIGHT:return c.default.createElement(l.ChevronRight16,{className:s,disabled:this.props.disabled});case t.CARBON_ICONS.MEASUREMENTS.EMPTY:return c.default.createElement(l.CircleDash16,{className:s,disabled:this.props.disabled});case t.CARBON_ICONS.MEASUREMENTS.SCALE:return c.default.createElement(l.RulerAlt16,{className:s,disabled:this.props.disabled});case t.CARBON_ICONS.MEASUREMENTS.ORDINAL:return c.default.createElement(l.ListNumbered16,{className:s,disabled:this.props.disabled});case t.CARBON_ICONS.MEASUREMENTS.NOMINAL:return c.default.createElement(l.ListBulleted16,{className:s,disabled:this.props.disabled});case t.CARBON_ICONS.MEASUREMENTS.FLAG:return c.default.createElement(l.Flag16,{className:s,disabled:this.props.disabled});case t.CARBON_ICONS.MEASUREMENTS.DISCRETE:return c.default.createElement(l.ChartVennDiagram16,{className:s,disabled:this.props.disabled});case t.DATA_TYPE.DATE:return c.default.createElement(l.Calendar16,{className:s,disabled:this.props.disabled});case t.DATA_TYPE.TIME:return c.default.createElement(l.Time16,{className:s,disabled:this.props.disabled});case t.DATA_TYPE.TIMESTAMP:return c.default.createElement(l.EventSchedule16,{className:s,disabled:this.props.disabled});default:return null}}},{key:"getCanvasIcon",value:function(e){return this.canvasIcons[e]}},{key:"render",value:function(){var e=this.getCarbonIcon(this.props.type,this.props.className);if(!e)if(void 0!==(e=this.getCanvasIcon(this.props.type))){var a=t.classNames("canvas-icon","properties-icon",this.props.className);e=c.default.createElement(d.default,{src:e,className:a,disabled:this.props.disabled})}else e=c.default.createElement("div",null);return e}}]),i}(c.default.Component);o.defaultProps={className:"",disabled:!1},exports.Icon=o;
2
+ //# sourceMappingURL=icon-d6909a68.js.map