VisualizationContentContainer.js 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. 'use strict';
  2. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  3. function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  4. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  5. /**
  6. * Licensed Materials - Property of IBM
  7. * IBM Cognos Products: BI Cloud (C) Copyright IBM Corp. 2019
  8. * US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  9. */
  10. define(['react', 'react-dom', 'prop-types', 'ca-ui-toolkit'], function (React, ReactDOM, PropTypes, UI_Toolkit) {
  11. var Component = React.Component;
  12. var Container = UI_Toolkit.Container,
  13. FlexLayout = UI_Toolkit.FlexLayout,
  14. FlexItem = UI_Toolkit.FlexItem,
  15. VSpacer = UI_Toolkit.VSpacer,
  16. SVGIcon = UI_Toolkit.SVGIcon,
  17. Label = UI_Toolkit.Label;
  18. var VisualizationContentContainer = function (_Component) {
  19. _inherits(VisualizationContentContainer, _Component);
  20. function VisualizationContentContainer() {
  21. _classCallCheck(this, VisualizationContentContainer);
  22. return _possibleConstructorReturn(this, _Component.apply(this, arguments));
  23. }
  24. VisualizationContentContainer.prototype.componentDidMount = function componentDidMount() {
  25. var handlers = this.props.handlers;
  26. handlers.componentDidMountCallback(this.props.containerClass, this.props.itemClass);
  27. };
  28. VisualizationContentContainer.prototype.componentWillUnmount = function componentWillUnmount() {
  29. var handlers = this.props.handlers;
  30. handlers.componentWillUnmountCallback(this.props.containerClass, this.props.itemClass);
  31. };
  32. VisualizationContentContainer.prototype.render = function render() {
  33. var _this2 = this;
  34. var _props = this.props,
  35. containerClass = _props.containerClass,
  36. items = _props.items;
  37. var contentItems = [];
  38. items.forEach(function (item) {
  39. contentItems.push(_this2.renderVisualizationItem(item));
  40. });
  41. return React.createElement(
  42. Container,
  43. { className: containerClass },
  44. React.createElement(
  45. FlexLayout,
  46. {
  47. fullHeight: true,
  48. direction: 'column',
  49. justifyContent: 'flex-start'
  50. },
  51. React.createElement(
  52. FlexItem,
  53. null,
  54. React.createElement(VSpacer, { size: 2 })
  55. ),
  56. React.createElement(
  57. FlexItem,
  58. null,
  59. React.createElement(
  60. FlexLayout,
  61. {
  62. fullHeight: true,
  63. direction: 'row',
  64. wrap: 'wrap'
  65. },
  66. contentItems
  67. )
  68. )
  69. )
  70. );
  71. };
  72. VisualizationContentContainer.prototype.renderVisualizationItem = function renderVisualizationItem(item) {
  73. return React.createElement(
  74. FlexItem,
  75. {
  76. role: 'group', className: 'prop-item',
  77. 'data-name': item.name
  78. },
  79. React.createElement(
  80. FlexLayout,
  81. {
  82. fullHeight: true,
  83. direction: 'column',
  84. alignItems: 'center',
  85. tabIndex: 0,
  86. className: 'prop-icon',
  87. role: 'button',
  88. title: item.label,
  89. 'aria-label': item.label
  90. },
  91. React.createElement(
  92. FlexItem,
  93. null,
  94. React.createElement(SVGIcon, {
  95. iconId: item.icon,
  96. height: 30,
  97. width: 30,
  98. className: 'svgIcon'
  99. })
  100. ),
  101. React.createElement(
  102. FlexItem,
  103. null,
  104. React.createElement(Label, { className: 'prop-icon-label', label: item.label })
  105. )
  106. )
  107. );
  108. };
  109. return VisualizationContentContainer;
  110. }(Component);
  111. VisualizationContentContainer.propTypes = {
  112. items: PropTypes.array.isRequired,
  113. containerClass: PropTypes.string.isRequired,
  114. itemClass: PropTypes.string.isRequired,
  115. handlers: PropTypes.shape({
  116. componentDidMountCallback: PropTypes.func.isRequired,
  117. componentWillUnmountCallback: PropTypes.func.isRequired
  118. }).isRequired
  119. };
  120. return VisualizationContentContainer;
  121. });
  122. //# sourceMappingURL=VisualizationContentContainer.js.map