ToolbarDockComponent.js 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  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. *+------------------------------------------------------------------------+
  7. *| Licensed Materials - Property of IBM
  8. *| IBM Cognos Products: Content Explorer
  9. *| (C) Copyright IBM Corp. 2019
  10. *|
  11. *| US Government Users Restricted Rights - Use, duplication or disclosure
  12. *| restricted by GSA ADP Schedule Contract with IBM Corp.
  13. *+------------------------------------------------------------------------+
  14. */
  15. define(['react', 'react-dom', 'ca-ui-toolkit', 'prop-types'], function (React, ReactDOM, UI_TOOLKIT, PropTypes) {
  16. var Container = UI_TOOLKIT.Container;
  17. var Separator = UI_TOOLKIT.Separator;
  18. var ToolbarDockComponent = function (_React$Component) {
  19. _inherits(ToolbarDockComponent, _React$Component);
  20. function ToolbarDockComponent(props) {
  21. _classCallCheck(this, ToolbarDockComponent);
  22. return _possibleConstructorReturn(this, _React$Component.call(this, props));
  23. }
  24. ToolbarDockComponent.prototype._generateSeparator = function _generateSeparator() {
  25. return React.createElement(Separator, {
  26. className: 'toolbarDockSeparator',
  27. orientation: 'vertical',
  28. style: {
  29. margin: '0'
  30. }
  31. });
  32. };
  33. ToolbarDockComponent.prototype._generateDocks = function _generateDocks() {
  34. var _this2 = this;
  35. if (this.props.toolbarDockDOM.getProviders()) {
  36. var providers = Object.values(this.props.toolbarDockDOM.getProviders());
  37. providers.sort(function (firstEl, secondEl) {
  38. return firstEl.getIndex() - secondEl.getIndex();
  39. });
  40. return providers.map(function (provider, index) {
  41. if (index + 1 === providers.length) {
  42. return provider.getReactElement();
  43. } else {
  44. return React.createElement(
  45. React.Fragment,
  46. null,
  47. provider.getReactElement(),
  48. _this2._generateSeparator()
  49. );
  50. }
  51. });
  52. }
  53. };
  54. ToolbarDockComponent.prototype.render = function render() {
  55. return React.createElement(
  56. Container,
  57. {
  58. className: ToolbarDockComponent.ROOT },
  59. this._generateDocks()
  60. );
  61. };
  62. return ToolbarDockComponent;
  63. }(React.Component);
  64. ToolbarDockComponent.ROOT = 'toolbarDockContainer';
  65. ToolbarDockComponent.propTypes = {
  66. toolbarDockDOM: PropTypes.shape({
  67. getProviders: PropTypes.func
  68. })
  69. };
  70. return ToolbarDockComponent;
  71. });
  72. //# sourceMappingURL=ToolbarDockComponent.js.map