UNPKG

react-native-cross-components

Version:
59 lines 10.7 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; result["default"] = mod; return result; }; Object.defineProperty(exports, "__esModule", { value: true }); const react_1 = __importDefault(require("react")); const react_native_1 = require("react-native"); const CrossSpinner_1 = require("../animations/CrossSpinner"); const styles_1 = __importStar(require("../../styles")); const react_native_paper_1 = require("react-native-paper"); /** * Displays a busy indicator (spinner) when {@link IBusyIndicatorProps.isBusy} is `true` * * Props are {@link IBusyIndicatorProps} */ class CrossBusyIndicator extends react_1.default.Component { /** * */ constructor(props) { super(props); this.state = { isModalVisible: true }; this.hideModal = this.hideModal.bind(this); } hideModal() { if (!this.props.isCancelButtonVisible) { return; } this.setState({ isModalVisible: false }); if (this.props.onCancel) { this.props.onCancel(); } } render() { return (react_1.default.createElement(react_native_1.View, { testID: this.props.testID || '1' }, this.props.isBusy ? (react_1.default.createElement(react_native_paper_1.Portal.Host, null, react_1.default.createElement(react_native_paper_1.Portal, null, react_1.default.createElement(react_native_paper_1.Modal, { visible: this.state.isModalVisible, onDismiss: this.hideModal }, react_1.default.createElement(react_native_1.View, null, react_1.default.createElement(react_native_1.View, { style: [styles_1.default.columnContentTopCenter] }, react_1.default.createElement(CrossSpinner_1.CrossSpinner, { type: this.props.type || CrossSpinner_1.CrossSpinnerType.MaterialIndicator, style: styles_1.default.spinner })), react_1.default.createElement(react_native_1.View, { style: styles_1.default.columnContentTopCenter }, react_1.default.createElement(react_native_1.Text, { style: styles_1.default.textSpinner }, this.props.message || ''), this.props.isCancelButtonVisible ? (react_1.default.createElement(react_native_1.TouchableOpacity, { onPress: this.hideModal }, react_1.default.createElement(react_native_1.Text, { testID: "cancelText", style: [ styles_1.default.textSpinner, { color: styles_1.Colors.CancelButton }, ] }, this.props.cancelText || 'Cancel'))) : null)))))) : null)); } } exports.CrossBusyIndicator = CrossBusyIndicator; exports.default = CrossBusyIndicator; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvbW9kYWxzL0Nyb3NzQnVzeUluZGljYXRvci50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsa0RBQTBCO0FBQzFCLCtDQUE0RDtBQUM1RCw2REFBNEU7QUFDNUUsdURBQThDO0FBQzlDLDJEQUFtRDtBQXVEbkQ7Ozs7R0FJRztBQUNILE1BQWEsa0JBQW1CLFNBQVEsZUFBSyxDQUFDLFNBRzdDO0lBQ0M7O09BRUc7SUFDSCxZQUFZLEtBQTBCO1FBQ3BDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNiLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLHFCQUFxQixFQUFFO1lBQ3JDLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN6QyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDdkI7SUFDSCxDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU8sQ0FDTCw4QkFBQyxtQkFBSSxJQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQ25DLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUNuQiw4QkFBQywyQkFBTSxDQUFDLElBQUk7WUFDViw4QkFBQywyQkFBTTtnQkFDTCw4QkFBQywwQkFBSyxJQUNKLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFDbEMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO29CQUV6Qiw4QkFBQyxtQkFBSTt3QkFDSCw4QkFBQyxtQkFBSSxJQUFDLEtBQUssRUFBRSxDQUFDLGdCQUFNLENBQUMsc0JBQXNCLENBQUM7NEJBQzFDLDhCQUFDLDJCQUFZLElBQ1gsSUFBSSxFQUNGLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLCtCQUFnQixDQUFDLGlCQUFpQixFQUV2RCxLQUFLLEVBQUUsZ0JBQU0sQ0FBQyxPQUFPLEdBQ3JCLENBQ0c7d0JBQ1AsOEJBQUMsbUJBQUksSUFBQyxLQUFLLEVBQUUsZ0JBQU0sQ0FBQyxzQkFBc0I7NEJBQ3hDLDhCQUFDLG1CQUFJLElBQUMsS0FBSyxFQUFFLGdCQUFNLENBQUMsV0FBVyxJQUM1QixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQ3BCOzRCQUNOLElBQUksQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQ2xDLDhCQUFDLCtCQUFnQixJQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUztnQ0FDdkMsOEJBQUMsbUJBQUksSUFDSCxNQUFNLEVBQUMsWUFBWSxFQUNuQixLQUFLLEVBQUU7d0NBQ0wsZ0JBQU0sQ0FBQyxXQUFXO3dDQUNsQixFQUFFLEtBQUssRUFBRSxlQUFNLENBQUMsWUFBWSxFQUFFO3FDQUMvQixJQUVBLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxJQUFJLFFBQVEsQ0FDN0IsQ0FDVSxDQUNwQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ0gsQ0FDRixDQUNELENBQ0QsQ0FDRyxDQUNmLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDSCxDQUNSLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFyRUQsZ0RBcUVDO0FBRUQsa0JBQWUsa0JBQWtCLENBQUMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvbW9kYWxzL0Nyb3NzQnVzeUluZGljYXRvci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFZpZXcsIFRleHQsIFRvdWNoYWJsZU9wYWNpdHkgfSBmcm9tICdyZWFjdC1uYXRpdmUnO1xuaW1wb3J0IHsgQ3Jvc3NTcGlubmVyVHlwZSwgQ3Jvc3NTcGlubmVyIH0gZnJvbSAnLi4vYW5pbWF0aW9ucy9Dcm9zc1NwaW5uZXInO1xuaW1wb3J0IHN0eWxlcywgeyBDb2xvcnMgfSBmcm9tICcuLi8uLi9zdHlsZXMnO1xuaW1wb3J0IHsgUG9ydGFsLCBNb2RhbCB9IGZyb20gJ3JlYWN0LW5hdGl2ZS1wYXBlcic7XG5cbi8qKlxuICogRGVzY3JpYmVzIHRoZSBwcm9wcyBmb3Ige0BsaW5rIENyb3NzQnVzeUluZGljYXRvcn1cbiAqXG4gKiBAZXhwb3J0XG4gKiBAaW50ZXJmYWNlIElCdXN5SW5kaWNhdG9yUHJvcHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQnVzeUluZGljYXRvclByb3BzIHtcbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgdGhlIGluZGljYXRvciBpcyB2aXNpYmxlXG4gICAqXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAbWVtYmVyb2YgSUJ1c3lJbmRpY2F0b3JQcm9wc1xuICAgKi9cbiAgaXNCdXN5OiBib29sZWFuO1xuICAvKipcbiAgICogT3B0aW9uYWwgbWVzc2FnZSB0byBzaG93IHdoaWxlIGJ1c3kuIERlZmF1bHRzIHRvIGVtcHR5IHN0cmluZy5cbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIElCdXN5SW5kaWNhdG9yUHJvcHNcbiAgICovXG4gIG1lc3NhZ2U/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiBUeXBlIG9mIHNwaW5uZXIgdG8gdXNlXG4gICAqXG4gICAqIEB0eXBlIHtDcm9zc1NwaW5uZXJUeXBlfVxuICAgKiBAbWVtYmVyb2YgSUJ1c3lJbmRpY2F0b3JQcm9wc1xuICAgKi9cbiAgdHlwZT86IENyb3NzU3Bpbm5lclR5cGUgfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiBPcHRpb25hbCB0ZXN0IGlkIHRvIGFzc2lnbiB0aGlzIGNvbXBvbmVudC4gRGVmYXVsdCBpcyBcIjFcIlxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgSUJ1c3lJbmRpY2F0b3JQcm9wc1xuICAgKi9cbiAgdGVzdElEPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogRGV0ZXJtaW5lcyBpZiB0aGUgbW9kYWwgaXMgY2FuY2VsbGFibGUuIE90aGVyd2lzZSB2aXNpYmlsaXR5IGlzIGNvbnRyb2xsZWQgYnkge0BsaW5rIGlzQnVzeX1cbiAgICovXG4gIGlzQ2FuY2VsQnV0dG9uVmlzaWJsZTogYm9vbGVhbjtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGNhbGxiYWNrIGZvciB1c2VyIGNhbmNlbCBldmVudC5cbiAgICovXG4gIG9uQ2FuY2VsPzogKCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIFRleHQgZm9yIGNhbmNlbCBidXR0b24uIERlZmF1bHQgaXMgXCJDYW5jZWxcIlxuICAgKi9cbiAgY2FuY2VsVGV4dD86IHN0cmluZyB8IHVuZGVmaW5lZDtcbn1cblxuaW50ZXJmYWNlIElCdXN5SW5kaWNhdG9yU3RhdGUge1xuICBpc01vZGFsVmlzaWJsZTogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBEaXNwbGF5cyBhIGJ1c3kgaW5kaWNhdG9yIChzcGlubmVyKSB3aGVuIHtAbGluayBJQnVzeUluZGljYXRvclByb3BzLmlzQnVzeX0gaXMgYHRydWVgXG4gKlxuICogUHJvcHMgYXJlIHtAbGluayBJQnVzeUluZGljYXRvclByb3BzfVxuICovXG5leHBvcnQgY2xhc3MgQ3Jvc3NCdXN5SW5kaWNhdG9yIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PFxuICBJQnVzeUluZGljYXRvclByb3BzLFxuICBJQnVzeUluZGljYXRvclN0YXRlXG4+IHtcbiAgLyoqXG4gICAqXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcm9wczogSUJ1c3lJbmRpY2F0b3JQcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgICB0aGlzLnN0YXRlID0geyBpc01vZGFsVmlzaWJsZTogdHJ1ZSB9O1xuICAgIHRoaXMuaGlkZU1vZGFsID0gdGhpcy5oaWRlTW9kYWwuYmluZCh0aGlzKTtcbiAgfVxuXG4gIGhpZGVNb2RhbCgpIHtcbiAgICBpZiAoIXRoaXMucHJvcHMuaXNDYW5jZWxCdXR0b25WaXNpYmxlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7IGlzTW9kYWxWaXNpYmxlOiBmYWxzZSB9KTtcbiAgICBpZiAodGhpcy5wcm9wcy5vbkNhbmNlbCkge1xuICAgICAgdGhpcy5wcm9wcy5vbkNhbmNlbCgpO1xuICAgIH1cbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFZpZXcgdGVzdElEPXt0aGlzLnByb3BzLnRlc3RJRCB8fCAnMSd9PlxuICAgICAgICB7dGhpcy5wcm9wcy5pc0J1c3kgPyAoXG4gICAgICAgICAgPFBvcnRhbC5Ib3N0PlxuICAgICAgICAgICAgPFBvcnRhbD5cbiAgICAgICAgICAgICAgPE1vZGFsXG4gICAgICAgICAgICAgICAgdmlzaWJsZT17dGhpcy5zdGF0ZS5pc01vZGFsVmlzaWJsZX1cbiAgICAgICAgICAgICAgICBvbkRpc21pc3M9e3RoaXMuaGlkZU1vZGFsfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFZpZXc+XG4gICAgICAgICAgICAgICAgICA8VmlldyBzdHlsZT17W3N0eWxlcy5jb2x1bW5Db250ZW50VG9wQ2VudGVyXX0+XG4gICAgICAgICAgICAgICAgICAgIDxDcm9zc1NwaW5uZXJcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPXtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMudHlwZSB8fCBDcm9zc1NwaW5uZXJUeXBlLk1hdGVyaWFsSW5kaWNhdG9yXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXtzdHlsZXMuc3Bpbm5lcn1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgICAgICAgICAgIDxWaWV3IHN0eWxlPXtzdHlsZXMuY29sdW1uQ29udGVudFRvcENlbnRlcn0+XG4gICAgICAgICAgICAgICAgICAgIDxUZXh0IHN0eWxlPXtzdHlsZXMudGV4dFNwaW5uZXJ9PlxuICAgICAgICAgICAgICAgICAgICAgIHt0aGlzLnByb3BzLm1lc3NhZ2UgfHwgJyd9XG4gICAgICAgICAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgICAgICAgICAge3RoaXMucHJvcHMuaXNDYW5jZWxCdXR0b25WaXNpYmxlID8gKFxuICAgICAgICAgICAgICAgICAgICAgIDxUb3VjaGFibGVPcGFjaXR5IG9uUHJlc3M9e3RoaXMuaGlkZU1vZGFsfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxUZXh0XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RJRD1cImNhbmNlbFRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17W1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlcy50ZXh0U3Bpbm5lcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IGNvbG9yOiBDb2xvcnMuQ2FuY2VsQnV0dG9uIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF19XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHt0aGlzLnByb3BzLmNhbmNlbFRleHQgfHwgJ0NhbmNlbCd9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICAgICAgICAgICAgPC9Ub3VjaGFibGVPcGFjaXR5PlxuICAgICAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgICAgICAgIDwvTW9kYWw+XG4gICAgICAgICAgICA8L1BvcnRhbD5cbiAgICAgICAgICA8L1BvcnRhbC5Ib3N0PlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVmlldz5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IENyb3NzQnVzeUluZGljYXRvcjtcbiJdLCJ2ZXJzaW9uIjozfQ==