UNPKG

@cognitive-class/jupyterlab-cde-plugin

Version:

Drop-in Cognos Dashboard Embedded plugin for Jupyterlab

170 lines (120 loc) 11.2 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties'); var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of'); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = require('babel-runtime/helpers/createClass'); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn'); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = require('babel-runtime/helpers/inherits'); var _inherits3 = _interopRequireDefault(_inherits2); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _reactDom = require('react-dom'); var _reactDom2 = _interopRequireDefault(_reactDom); var _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); var _nanoid = require('nanoid'); var _nanoid2 = _interopRequireDefault(_nanoid); var _modal = require('antd/lib/modal'); var _modal2 = _interopRequireDefault(_modal); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } require('antd/lib/modal/style/index.css'); var Dialog = function (_PureComponent) { (0, _inherits3.default)(Dialog, _PureComponent); function Dialog() { (0, _classCallCheck3.default)(this, Dialog); var _this = (0, _possibleConstructorReturn3.default)(this, (Dialog.__proto__ || (0, _getPrototypeOf2.default)(Dialog)).call(this)); _this.handleRootRef = function (node) { _this.root = node; }; _this.handleFormRef = function (node) { _this.form = node; }; _this.handleOverlayClick = function (e) { var onCancel = _this.props.onCancel; // Ignore propogated clicks from inside the dialog if (onCancel && !_this.root.contains(e.target)) { onCancel(); } }; _this.handleEsc = function (e) { var onCancel = _this.props.onCancel; // Esc key if (onCancel && e.keyCode === 27) { onCancel(); } }; _this.titleId = (0, _nanoid2.default)(); _this.container = document.createElement('div'); _this.container.setAttribute('data-consent-manager-dialog', ''); document.body.appendChild(_this.container); return _this; } (0, _createClass3.default)(Dialog, [{ key: 'componentDidMount', value: function componentDidMount() { var innerRef = this.props.innerRef; // this.form.querySelector('input,button').focus() // document.body.addEventListener('keydown', this.handleEsc, false) // document.body.style.overflow = 'hidden' // innerRef(this.container) } }, { key: 'componentWillUnmount', value: function componentWillUnmount() { var innerRef = this.props.innerRef; document.body.removeEventListener('keydown', this.handleEsc, false); document.body.style.overflow = ''; document.body.removeChild(this.container); innerRef(null); } }, { key: 'render', value: function render() { var _props = this.props, onCancel = _props.onCancel, onSubmit = _props.onSubmit, title = _props.title, children = _props.children, okText = _props.okText, props = (0, _objectWithoutProperties3.default)(_props, ['onCancel', 'onSubmit', 'title', 'children', 'okText']); var dialog = _react2.default.createElement( _modal2.default, (0, _extends3.default)({ title: title, visible: true, onOk: onSubmit, onCancel: onCancel, okText: okText }, props), children ); return _reactDom2.default.createPortal(dialog, this.container); } }]); return Dialog; }(_react.PureComponent); Dialog.displayName = 'Dialog'; Dialog.propTypes = { innerRef: _propTypes2.default.func.isRequired, onCancel: _propTypes2.default.func, onSubmit: _propTypes2.default.func.isRequired, title: _propTypes2.default.node.isRequired, children: _propTypes2.default.node.isRequired, okText: _propTypes2.default.string }; Dialog.defaultProps = { onCancel: undefined, okText: 'Ok' }; exports.default = Dialog; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zb3VyY2UtbWFuYWdlci9kaWFsb2cuanMiXSwibmFtZXMiOlsicmVxdWlyZSIsIkRpYWxvZyIsImhhbmRsZVJvb3RSZWYiLCJub2RlIiwicm9vdCIsImhhbmRsZUZvcm1SZWYiLCJmb3JtIiwiaGFuZGxlT3ZlcmxheUNsaWNrIiwiZSIsIm9uQ2FuY2VsIiwicHJvcHMiLCJjb250YWlucyIsInRhcmdldCIsImhhbmRsZUVzYyIsImtleUNvZGUiLCJ0aXRsZUlkIiwiY29udGFpbmVyIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50Iiwic2V0QXR0cmlidXRlIiwiYm9keSIsImFwcGVuZENoaWxkIiwiaW5uZXJSZWYiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwic3R5bGUiLCJvdmVyZmxvdyIsInJlbW92ZUNoaWxkIiwib25TdWJtaXQiLCJ0aXRsZSIsImNoaWxkcmVuIiwib2tUZXh0IiwiZGlhbG9nIiwiUmVhY3RET00iLCJjcmVhdGVQb3J0YWwiLCJQdXJlQ29tcG9uZW50IiwiZGlzcGxheU5hbWUiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJmdW5jIiwiaXNSZXF1aXJlZCIsInN0cmluZyIsImRlZmF1bHRQcm9wcyIsInVuZGVmaW5lZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7OztBQUVBQSxRQUFRLGdDQUFSOztJQUVxQkMsTTs7O0FBaUJuQixvQkFBYztBQUFBOztBQUFBOztBQUFBLFVBOEJkQyxhQTlCYyxHQThCRSxVQUFDQyxJQUFELEVBQVU7QUFDeEIsWUFBS0MsSUFBTCxHQUFZRCxJQUFaO0FBQ0QsS0FoQ2E7O0FBQUEsVUFrQ2RFLGFBbENjLEdBa0NFLFVBQUNGLElBQUQsRUFBVTtBQUN4QixZQUFLRyxJQUFMLEdBQVlILElBQVo7QUFDRCxLQXBDYTs7QUFBQSxVQXNDZEksa0JBdENjLEdBc0NPLFVBQUNDLENBQUQsRUFBTztBQUFBLFVBQ2xCQyxRQURrQixHQUNMLE1BQUtDLEtBREEsQ0FDbEJELFFBRGtCOztBQUcxQjs7QUFDQSxVQUFJQSxZQUFZLENBQUMsTUFBS0wsSUFBTCxDQUFVTyxRQUFWLENBQW1CSCxFQUFFSSxNQUFyQixDQUFqQixFQUErQztBQUM3Q0g7QUFDRDtBQUNGLEtBN0NhOztBQUFBLFVBK0NkSSxTQS9DYyxHQStDRixVQUFDTCxDQUFELEVBQU87QUFBQSxVQUNUQyxRQURTLEdBQ0ksTUFBS0MsS0FEVCxDQUNURCxRQURTOztBQUdqQjs7QUFDQSxVQUFJQSxZQUFZRCxFQUFFTSxPQUFGLEtBQWMsRUFBOUIsRUFBa0M7QUFDaENMO0FBQ0Q7QUFDRixLQXREYTs7QUFHWixVQUFLTSxPQUFMLEdBQWUsdUJBQWY7O0FBRUEsVUFBS0MsU0FBTCxHQUFpQkMsU0FBU0MsYUFBVCxDQUF1QixLQUF2QixDQUFqQjtBQUNBLFVBQUtGLFNBQUwsQ0FBZUcsWUFBZixDQUE0Qiw2QkFBNUIsRUFBMkQsRUFBM0Q7QUFDQUYsYUFBU0csSUFBVCxDQUFjQyxXQUFkLENBQTBCLE1BQUtMLFNBQS9CO0FBUFk7QUFRYjs7Ozt3Q0FFbUI7QUFBQSxVQUNWTSxRQURVLEdBQ0csS0FBS1osS0FEUixDQUNWWSxRQURVOztBQUdsQjtBQUNBO0FBQ0E7O0FBRUE7QUFDRDs7OzJDQUVzQjtBQUFBLFVBQ2JBLFFBRGEsR0FDQSxLQUFLWixLQURMLENBQ2JZLFFBRGE7OztBQUdyQkwsZUFBU0csSUFBVCxDQUFjRyxtQkFBZCxDQUFrQyxTQUFsQyxFQUE2QyxLQUFLVixTQUFsRCxFQUE2RCxLQUE3RDtBQUNBSSxlQUFTRyxJQUFULENBQWNJLEtBQWQsQ0FBb0JDLFFBQXBCLEdBQStCLEVBQS9COztBQUVBUixlQUFTRyxJQUFULENBQWNNLFdBQWQsQ0FBMEIsS0FBS1YsU0FBL0I7QUFDQU0sZUFBUyxJQUFUO0FBQ0Q7Ozs2QkE0QlE7QUFBQSxtQkFHSCxLQUFLWixLQUhGO0FBQUEsVUFFTEQsUUFGSyxVQUVMQSxRQUZLO0FBQUEsVUFFS2tCLFFBRkwsVUFFS0EsUUFGTDtBQUFBLFVBRWVDLEtBRmYsVUFFZUEsS0FGZjtBQUFBLFVBRXNCQyxRQUZ0QixVQUVzQkEsUUFGdEI7QUFBQSxVQUVnQ0MsTUFGaEMsVUFFZ0NBLE1BRmhDO0FBQUEsVUFFMkNwQixLQUYzQzs7O0FBS1AsVUFBTXFCLFNBQ0o7QUFBQyx1QkFBRDtBQUFBO0FBQ0UsaUJBQU9ILEtBRFQ7QUFFRSx1QkFGRjtBQUdFLGdCQUFNRCxRQUhSO0FBSUUsb0JBQVVsQixRQUpaO0FBS0Usa0JBQVFxQjtBQUxWLFdBTU1wQixLQU5OO0FBUUdtQjtBQVJILE9BREY7O0FBYUEsYUFBT0csbUJBQVNDLFlBQVQsQ0FBc0JGLE1BQXRCLEVBQThCLEtBQUtmLFNBQW5DLENBQVA7QUFDRDs7O0VBNUZpQ2tCLG9COztBQUFmakMsTSxDQUNaa0MsVyxHQUFjLFE7QUFERmxDLE0sQ0FHWm1DLFMsR0FBWTtBQUNqQmQsWUFBVWUsb0JBQVVDLElBQVYsQ0FBZUMsVUFEUjtBQUVqQjlCLFlBQVU0QixvQkFBVUMsSUFGSDtBQUdqQlgsWUFBVVUsb0JBQVVDLElBQVYsQ0FBZUMsVUFIUjtBQUlqQlgsU0FBT1Msb0JBQVVsQyxJQUFWLENBQWVvQyxVQUpMO0FBS2pCVixZQUFVUSxvQkFBVWxDLElBQVYsQ0FBZW9DLFVBTFI7QUFNakJULFVBQVFPLG9CQUFVRztBQU5ELEM7QUFIQXZDLE0sQ0FZWndDLFksR0FBZTtBQUNwQmhDLFlBQVVpQyxTQURVO0FBRXBCWixVQUFRO0FBRlksQztrQkFaSDdCLE0iLCJmaWxlIjoiZGlhbG9nLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tICdyZWFjdCdcbmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20nXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnXG5pbXBvcnQgbmFub2lkIGZyb20gJ25hbm9pZCdcbmltcG9ydCBNb2RhbCBmcm9tICdhbnRkL2xpYi9tb2RhbCdcblxucmVxdWlyZSgnYW50ZC9saWIvbW9kYWwvc3R5bGUvaW5kZXguY3NzJylcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGlhbG9nIGV4dGVuZHMgUHVyZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBkaXNwbGF5TmFtZSA9ICdEaWFsb2cnXG5cbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpbm5lclJlZjogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNhbmNlbDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgb25TdWJtaXQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdGl0bGU6IFByb3BUeXBlcy5ub2RlLmlzUmVxdWlyZWQsXG4gICAgY2hpbGRyZW46IFByb3BUeXBlcy5ub2RlLmlzUmVxdWlyZWQsXG4gICAgb2tUZXh0OiBQcm9wVHlwZXMuc3RyaW5nLFxuICB9XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBvbkNhbmNlbDogdW5kZWZpbmVkLFxuICAgIG9rVGV4dDogJ09rJyxcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKClcblxuICAgIHRoaXMudGl0bGVJZCA9IG5hbm9pZCgpXG5cbiAgICB0aGlzLmNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpXG4gICAgdGhpcy5jb250YWluZXIuc2V0QXR0cmlidXRlKCdkYXRhLWNvbnNlbnQtbWFuYWdlci1kaWFsb2cnLCAnJylcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMuY29udGFpbmVyKVxuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgY29uc3QgeyBpbm5lclJlZiB9ID0gdGhpcy5wcm9wc1xuXG4gICAgLy8gdGhpcy5mb3JtLnF1ZXJ5U2VsZWN0b3IoJ2lucHV0LGJ1dHRvbicpLmZvY3VzKClcbiAgICAvLyBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLmhhbmRsZUVzYywgZmFsc2UpXG4gICAgLy8gZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9ICdoaWRkZW4nXG5cbiAgICAvLyBpbm5lclJlZih0aGlzLmNvbnRhaW5lcilcbiAgfVxuXG4gIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgIGNvbnN0IHsgaW5uZXJSZWYgfSA9IHRoaXMucHJvcHNcblxuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIHRoaXMuaGFuZGxlRXNjLCBmYWxzZSlcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93ID0gJydcblxuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGhpcy5jb250YWluZXIpXG4gICAgaW5uZXJSZWYobnVsbClcbiAgfVxuXG4gIGhhbmRsZVJvb3RSZWYgPSAobm9kZSkgPT4ge1xuICAgIHRoaXMucm9vdCA9IG5vZGVcbiAgfVxuXG4gIGhhbmRsZUZvcm1SZWYgPSAobm9kZSkgPT4ge1xuICAgIHRoaXMuZm9ybSA9IG5vZGVcbiAgfVxuXG4gIGhhbmRsZU92ZXJsYXlDbGljayA9IChlKSA9PiB7XG4gICAgY29uc3QgeyBvbkNhbmNlbCB9ID0gdGhpcy5wcm9wc1xuXG4gICAgLy8gSWdub3JlIHByb3BvZ2F0ZWQgY2xpY2tzIGZyb20gaW5zaWRlIHRoZSBkaWFsb2dcbiAgICBpZiAob25DYW5jZWwgJiYgIXRoaXMucm9vdC5jb250YWlucyhlLnRhcmdldCkpIHtcbiAgICAgIG9uQ2FuY2VsKClcbiAgICB9XG4gIH1cblxuICBoYW5kbGVFc2MgPSAoZSkgPT4ge1xuICAgIGNvbnN0IHsgb25DYW5jZWwgfSA9IHRoaXMucHJvcHNcblxuICAgIC8vIEVzYyBrZXlcbiAgICBpZiAob25DYW5jZWwgJiYgZS5rZXlDb2RlID09PSAyNykge1xuICAgICAgb25DYW5jZWwoKVxuICAgIH1cbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICBvbkNhbmNlbCwgb25TdWJtaXQsIHRpdGxlLCBjaGlsZHJlbiwgb2tUZXh0LCAuLi5wcm9wc1xuICAgIH0gPSB0aGlzLnByb3BzXG5cbiAgICBjb25zdCBkaWFsb2cgPSAoXG4gICAgICA8TW9kYWxcbiAgICAgICAgdGl0bGU9e3RpdGxlfVxuICAgICAgICB2aXNpYmxlXG4gICAgICAgIG9uT2s9e29uU3VibWl0fVxuICAgICAgICBvbkNhbmNlbD17b25DYW5jZWx9XG4gICAgICAgIG9rVGV4dD17b2tUZXh0fVxuICAgICAgICB7Li4ucHJvcHN9XG4gICAgICA+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvTW9kYWw+XG4gICAgKVxuXG4gICAgcmV0dXJuIFJlYWN0RE9NLmNyZWF0ZVBvcnRhbChkaWFsb2csIHRoaXMuY29udGFpbmVyKVxuICB9XG59XG4iXX0=