UNPKG

@cognitive-class/jupyterlab-cde-plugin

Version:

Drop-in Cognos Dashboard Embedded plugin for Jupyterlab

147 lines (130 loc) 13.6 kB
import _defineProperty from 'babel-runtime/helpers/defineProperty'; import _Object$getPrototypeOf from 'babel-runtime/core-js/object/get-prototype-of'; import _classCallCheck from 'babel-runtime/helpers/classCallCheck'; import _createClass from 'babel-runtime/helpers/createClass'; import _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn'; import _inherits from 'babel-runtime/helpers/inherits'; import EventEmitter from 'events'; import React, { PureComponent, Fragment } from 'react'; import PropTypes from 'prop-types'; import PreferenceDialog from './preference-dialog'; import SourceMetaDialog from './source-meta-dialog'; var emitter = new EventEmitter(); export function openDialog() { emitter.emit('openDialog'); } var Container = function (_PureComponent) { _inherits(Container, _PureComponent); function Container() { var _ref; var _temp, _this, _ret; _classCallCheck(this, Container); for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Container.__proto__ || _Object$getPrototypeOf(Container)).call.apply(_ref, [this].concat(args))), _this), _this.state = { isDialogOpen: false, isSourceMetaDialogOpen: false, selectedFiles: [], csvUrl: null, username: null }, _this.openDialog = function () { _this.setState({ selectedFiles: [], csvUrl: null, isDialogOpen: true }); }, _this.closeDialog = function () { _this.setState({ isDialogOpen: false }); }, _this.handlePreferenceDialogRef = function (node) { _this.preferenceDialog = node; }, _this.handleSourceMetaDialogRef = function (node) { _this.sourceMetaDialog = node; }, _this.handleSave = function (selectedFiles) { var _this$state = _this.state, username = _this$state.username, csvUrl = _this$state.csvUrl; if (!csvUrl && !(username && selectedFiles.length > 0)) return; _this.setState({ isDialogOpen: false, isSourceMetaDialogOpen: true, selectedFiles: selectedFiles }); }, _this.handleSourceMetaSave = function () { _this.setState({ isSourceMetaDialogOpen: false, selectedFiles: [] }); }, _this.handleCancel = function () { _this.setState({ isDialogOpen: false, isSourceMetaDialogOpen: false }); }, _this.handleCSVUrlChange = function (event) { var target = event.target; var value = target.type === 'checkbox' ? target.checked : target.value; var name = target.name; _this.setState(_defineProperty({}, name, value)); }, _temp), _possibleConstructorReturn(_this, _ret); } _createClass(Container, [{ key: 'componentDidMount', value: function componentDidMount() { emitter.on('openDialog', this.openDialog); function readCookie(k) { return (document.cookie.match('(^|; )' + k + '=([^;]*)') || 0)[2]; } var username = readCookie('username'); this.setState({ username: username }); } }, { key: 'componentWillUnmount', value: function componentWillUnmount() { emitter.removeListener('openDialog', this.openDialog); } }, { key: 'render', value: function render() { var _props = this.props, preferencesDialogTitle = _props.preferencesDialogTitle, preferencesDialogContent = _props.preferencesDialogContent; var _state = this.state, isDialogOpen = _state.isDialogOpen, isSourceMetaDialogOpen = _state.isSourceMetaDialogOpen, csvUrl = _state.csvUrl, selectedFiles = _state.selectedFiles, username = _state.username; return React.createElement( Fragment, null, isDialogOpen && React.createElement(PreferenceDialog, { innerRef: this.handlePreferenceDialogRef, onCancel: this.handleCancel, onSave: this.handleSave, title: preferencesDialogTitle, content: preferencesDialogContent, handleChange: this.handleCSVUrlChange, username: username }), isSourceMetaDialogOpen && React.createElement(SourceMetaDialog, { innerRef: this.handleSourceMetaDialogRef, onCancel: this.handleCancel, onSave: this.handleSourceMetaSave, csvUrl: csvUrl, selectedFiles: selectedFiles, username: username }) ); } }]); return Container; }(PureComponent); Container.displayName = 'Container'; Container.propTypes = { preferencesDialogTitle: PropTypes.node.isRequired, preferencesDialogContent: PropTypes.node.isRequired }; export default Container; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zb3VyY2UtbWFuYWdlci9jb250YWluZXIuanMiXSwibmFtZXMiOlsiRXZlbnRFbWl0dGVyIiwiUmVhY3QiLCJQdXJlQ29tcG9uZW50IiwiRnJhZ21lbnQiLCJQcm9wVHlwZXMiLCJQcmVmZXJlbmNlRGlhbG9nIiwiU291cmNlTWV0YURpYWxvZyIsImVtaXR0ZXIiLCJvcGVuRGlhbG9nIiwiZW1pdCIsIkNvbnRhaW5lciIsInN0YXRlIiwiaXNEaWFsb2dPcGVuIiwiaXNTb3VyY2VNZXRhRGlhbG9nT3BlbiIsInNlbGVjdGVkRmlsZXMiLCJjc3ZVcmwiLCJ1c2VybmFtZSIsInNldFN0YXRlIiwiY2xvc2VEaWFsb2ciLCJoYW5kbGVQcmVmZXJlbmNlRGlhbG9nUmVmIiwibm9kZSIsInByZWZlcmVuY2VEaWFsb2ciLCJoYW5kbGVTb3VyY2VNZXRhRGlhbG9nUmVmIiwic291cmNlTWV0YURpYWxvZyIsImhhbmRsZVNhdmUiLCJsZW5ndGgiLCJoYW5kbGVTb3VyY2VNZXRhU2F2ZSIsImhhbmRsZUNhbmNlbCIsImhhbmRsZUNTVlVybENoYW5nZSIsImV2ZW50IiwidGFyZ2V0IiwidmFsdWUiLCJ0eXBlIiwiY2hlY2tlZCIsIm5hbWUiLCJvbiIsInJlYWRDb29raWUiLCJrIiwiZG9jdW1lbnQiLCJjb29raWUiLCJtYXRjaCIsInJlbW92ZUxpc3RlbmVyIiwicHJvcHMiLCJwcmVmZXJlbmNlc0RpYWxvZ1RpdGxlIiwicHJlZmVyZW5jZXNEaWFsb2dDb250ZW50IiwiZGlzcGxheU5hbWUiLCJwcm9wVHlwZXMiLCJpc1JlcXVpcmVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPQSxZQUFQLE1BQXlCLFFBQXpCO0FBQ0EsT0FBT0MsS0FBUCxJQUFnQkMsYUFBaEIsRUFBK0JDLFFBQS9CLFFBQStDLE9BQS9DO0FBQ0EsT0FBT0MsU0FBUCxNQUFzQixZQUF0QjtBQUNBLE9BQU9DLGdCQUFQLE1BQTZCLHFCQUE3QjtBQUNBLE9BQU9DLGdCQUFQLE1B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REUsUUFOeEQsVUFNd0RBLFFBTnhEOzs7QUFTUCxhQUNFO0FBQUMsZ0JBQUQ7QUFBQTtBQUNHSix3QkFDQyxvQkFBQyxnQkFBRDtBQUNFLG9CQUFVLEtBQUtPLHlCQURqQjtBQUVFLG9CQUFVLEtBQUtRLFlBRmpCO0FBR0Usa0JBQVEsS0FBS0gsVUFIZjtBQUlFLGlCQUFPbUIsc0JBSlQ7QUFLRSxtQkFBU0Msd0JBTFg7QUFNRSx3QkFBYyxLQUFLaEIsa0JBTnJCO0FBT0Usb0JBQVVaO0FBUFosVUFGSjtBQVlHSCxrQ0FDQyxvQkFBQyxnQkFBRDtBQUNFLG9CQUFVLEtBQUtTLHlCQURqQjtBQUVFLG9CQUFVLEtBQUtLLFlBRmpCO0FBR0Usa0JBQVEsS0FBS0Qsb0JBSGY7QUFJRSxrQkFBUVgsTUFKVjtBQUtFLHlCQUFlRCxhQUxqQjtBQU1FLG9CQUFVRTtBQU5aO0FBYkosT0FERjtBQXlCRDs7OztFQXJIb0NkLGE7O0FBQWxCUSxTLENBQ1ptQyxXLEdBQWMsVztBQURGbkMsUyxDQUdab0MsUyxHQUFZO0FBQ2pCSCwwQkFBd0J2QyxVQUFVZ0IsSUFBVixDQUFlMkIsVUFEdEI7QUFFakJILDRCQUEwQnhDLFVBQVVnQixJQUFWLENBQWUyQjtBQUZ4QixDO2VBSEFyQyxTIiwiZmlsZSI6ImNvbnRhaW5lci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBFdmVudEVtaXR0ZXIgZnJvbSAnZXZlbnRzJ1xuaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQsIEZyYWdtZW50IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnXG5pbXBvcnQgUHJlZmVyZW5jZURpYWxvZyBmcm9tICcuL3ByZWZlcmVuY2UtZGlhbG9nJ1xuaW1wb3J0IFNvdXJjZU1ldGFEaWFsb2cgZnJvbSAnLi9zb3VyY2UtbWV0YS1kaWFsb2cnXG5cbmNvbnN0IGVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKClcblxuZXhwb3J0IGZ1bmN0aW9uIG9wZW5EaWFsb2coKSB7XG4gIGVtaXR0ZXIuZW1pdCgnb3BlbkRpYWxvZycpXG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbnRhaW5lciBleHRlbmRzIFB1cmVDb21wb25lbnQge1xuICBzdGF0aWMgZGlzcGxheU5hbWUgPSAnQ29udGFpbmVyJ1xuXG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgcHJlZmVyZW5jZXNEaWFsb2dUaXRsZTogUHJvcFR5cGVzLm5vZGUuaXNSZXF1aXJlZCxcbiAgICBwcmVmZXJlbmNlc0RpYWxvZ0NvbnRlbnQ6IFByb3BUeXBlcy5ub2RlLmlzUmVxdWlyZWQsXG4gIH1cblxuICBzdGF0ZSA9IHtcbiAgICBpc0RpYWxvZ09wZW46IGZhbHNlLFxuICAgIGlzU291cmNlTWV0YURpYWxvZ09wZW46IGZhbHNlLFxuICAgIHNlbGVjdGVkRmlsZXM6IFtdLFxuICAgIGNzdlVybDogbnVsbCxcbiAgICB1c2VybmFtZTogbnVsbCxcbiAgfVxuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGVtaXR0ZXIub24oJ29wZW5EaWFsb2cnLCB0aGlzLm9wZW5EaWFsb2cpXG4gICAgZnVuY3Rpb24gcmVhZENvb2tpZShrKSB7IHJldHVybiAoZG9jdW1lbnQuY29va2llLm1hdGNoKGAoXnw7ICkke2t9PShbXjtdKilgKSB8fCAwKVsyXSB9XG4gICAgY29uc3QgdXNlcm5hbWUgPSByZWFkQ29va2llKCd1c2VybmFtZScpXG4gICAgdGhpcy5zZXRTdGF0ZSh7IHVzZXJuYW1lIH0pXG4gIH1cblxuICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICBlbWl0dGVyLnJlbW92ZUxpc3RlbmVyKCdvcGVuRGlhbG9nJywgdGhpcy5vcGVuRGlhbG9nKVxuICB9XG5cbiAgb3BlbkRpYWxvZyA9ICgpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIHNlbGVjdGVkRmlsZXM6IFtdLFxuICAgICAgY3N2VXJsOiBudWxsLFxuICAgICAgaXNEaWFsb2dPcGVuOiB0cnVlLFxuICAgIH0pXG4gIH1cblxuICBjbG9zZURpYWxvZyA9ICgpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIGlzRGlhbG9nT3BlbjogZmFsc2UsXG4gICAgfSlcbiAgfVxuXG4gIGhhbmRsZVByZWZlcmVuY2VEaWFsb2dSZWYgPSAobm9kZSkgPT4ge1xuICAgIHRoaXMucHJlZmVyZW5jZURpYWxvZyA9IG5vZGVcbiAgfVxuXG4gIGhhbmRsZVNvdXJjZU1ldGFEaWFsb2dSZWYgPSAobm9kZSkgPT4ge1xuICAgIHRoaXMuc291cmNlTWV0YURpYWxvZyA9IG5vZGVcbiAgfVxuXG4gIGhhbmRsZVNhdmUgPSAoc2VsZWN0ZWRGaWxlcykgPT4ge1xuICAgIGNvbnN0IHsgdXNlcm5hbWUsIGNzdlVybCB9ID0gdGhpcy5zdGF0ZVxuICAgIGlmICghY3N2VXJsICYmICEodXNlcm5hbWUgJiYgc2VsZWN0ZWRGaWxlcy5sZW5ndGggPiAwKSkgcmV0dXJuXG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBpc0RpYWxvZ09wZW46IGZhbHNlLFxuICAgICAgaXNTb3VyY2VNZXRhRGlhbG9nT3BlbjogdHJ1ZSxcbiAgICAgIHNlbGVjdGVkRmlsZXMsXG4gICAgfSlcbiAgfVxuXG4gIGhhbmRsZVNvdXJjZU1ldGFTYXZlID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgaXNTb3VyY2VNZXRhRGlhbG9nT3BlbjogZmFsc2UsXG4gICAgICBzZWxlY3RlZEZpbGVzOiBbXSxcbiAgICB9KVxuICB9XG5cbiAgaGFuZGxlQ2FuY2VsID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgaXNEaWFsb2dPcGVuOiBmYWxzZSxcbiAgICAgIGlzU291cmNlTWV0YURpYWxvZ09wZW46IGZhbHNlLFxuICAgIH0pXG4gIH1cblxuICBoYW5kbGVDU1ZVcmxDaGFuZ2UgPSAoZXZlbnQpID0+IHtcbiAgICBjb25zdCB7IHRhcmdldCB9ID0gZXZlbnRcbiAgICBjb25zdCB2YWx1ZSA9IHRhcmdldC50eXBlID09PSAnY2hlY2tib3gnID8gdGFyZ2V0LmNoZWNrZWQgOiB0YXJnZXQudmFsdWVcbiAgICBjb25zdCB7IG5hbWUgfSA9IHRhcmdldFxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBbbmFtZV06IHZhbHVlLFxuICAgIH0pXG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgcHJlZmVyZW5jZXNEaWFsb2dUaXRsZSxcbiAgICAgIHByZWZlcmVuY2VzRGlhbG9nQ29udGVudCxcbiAgICB9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHtcbiAgICAgIGlzRGlhbG9nT3BlbiwgaXNTb3VyY2VNZXRhRGlhbG9nT3BlbiwgY3N2VXJsLCBzZWxlY3RlZEZpbGVzLCB1c2VybmFtZSxcbiAgICB9ID0gdGhpcy5zdGF0ZVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxGcmFnbWVudD5cbiAgICAgICAge2lzRGlhbG9nT3BlbiAmJiAoXG4gICAgICAgICAgPFByZWZlcmVuY2VEaWFsb2dcbiAgICAgICAgICAgIGlubmVyUmVmPXt0aGlzLmhhbmRsZVByZWZlcmVuY2VEaWFsb2dSZWZ9XG4gICAgICAgICAgICBvbkNhbmNlbD17dGhpcy5oYW5kbGVDYW5jZWx9XG4gICAgICAgICAgICBvblNhdmU9e3RoaXMuaGFuZGxlU2F2ZX1cbiAgICAgICAgICAgIHRpdGxlPXtwcmVmZXJlbmNlc0RpYWxvZ1RpdGxlfVxuICAgICAgICAgICAgY29udGVudD17cHJlZmVyZW5jZXNEaWFsb2dDb250ZW50fVxuICAgICAgICAgICAgaGFuZGxlQ2hhbmdlPXt0aGlzLmhhbmRsZUNTVlVybENoYW5nZX1cbiAgICAgICAgICAgIHVzZXJuYW1lPXt1c2VybmFtZX1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7aXNTb3VyY2VNZXRhRGlhbG9nT3BlbiAmJiAoXG4gICAgICAgICAgPFNvdXJjZU1ldGFEaWFsb2dcbiAgICAgICAgICAgIGlubmVyUmVmPXt0aGlzLmhhbmRsZVNvdXJjZU1ldGFEaWFsb2dSZWZ9XG4gICAgICAgICAgICBvbkNhbmNlbD17dGhpcy5oYW5kbGVDYW5jZWx9XG4gICAgICAgICAgICBvblNhdmU9e3RoaXMuaGFuZGxlU291cmNlTWV0YVNhdmV9XG4gICAgICAgICAgICBjc3ZVcmw9e2NzdlVybH1cbiAgICAgICAgICAgIHNlbGVjdGVkRmlsZXM9e3NlbGVjdGVkRmlsZXN9XG4gICAgICAgICAgICB1c2VybmFtZT17dXNlcm5hbWV9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvRnJhZ21lbnQ+XG4gICAgKVxuICB9XG59XG4iXX0=