UNPKG

react-native-cross-components

Version:
58 lines 10.3 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, 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,eyJmaWxlIjoiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvbW9kYWxzL0Nyb3NzQnVzeUluZGljYXRvci50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsa0RBQTBCO0FBQzFCLCtDQUE0RDtBQUM1RCw2REFBNEU7QUFDNUUsdURBQThDO0FBQzlDLDJEQUFtRDtBQXVEbkQ7Ozs7R0FJRztBQUNILE1BQWEsa0JBQW1CLFNBQVEsZUFBSyxDQUFDLFNBRzdDO0lBQ0M7O09BRUc7SUFDSCxZQUFZLEtBQTBCO1FBQ3BDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNiLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsU0FBUztRQUNQLElBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLHFCQUFxQixFQUFDO1lBQ25DLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN6QyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDdkI7SUFDSCxDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU8sQ0FDTCw4QkFBQyxtQkFBSSxJQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQ25DLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUNuQiw4QkFBQywyQkFBTTtZQUNMLDhCQUFDLDBCQUFLLElBQ0osT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUNsQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7Z0JBRXpCLDhCQUFDLG1CQUFJO29CQUNILDhCQUFDLG1CQUFJLElBQUMsS0FBSyxFQUFFLENBQUMsZ0JBQU0sQ0FBQyxzQkFBc0IsQ0FBQzt3QkFDMUMsOEJBQUMsMkJBQVksSUFDWCxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksK0JBQWdCLENBQUMsaUJBQWlCLEVBQzNELEtBQUssRUFBRSxnQkFBTSxDQUFDLE9BQU8sR0FDckIsQ0FDRztvQkFDUCw4QkFBQyxtQkFBSSxJQUFDLEtBQUssRUFBRSxnQkFBTSxDQUFDLHNCQUFzQjt3QkFDeEMsOEJBQUMsbUJBQUksSUFBQyxLQUFLLEVBQUUsZ0JBQU0sQ0FBQyxXQUFXLElBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FDcEI7d0JBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FDbEMsOEJBQUMsK0JBQWdCLElBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTOzRCQUN2Qyw4QkFBQyxtQkFBSSxJQUNMLE1BQU0sRUFBQyxZQUFZLEVBQ2pCLEtBQUssRUFBRTtvQ0FDTCxnQkFBTSxDQUFDLFdBQVc7b0NBQ2xCLEVBQUUsS0FBSyxFQUFFLGVBQU0sQ0FBQyxZQUFZLEVBQUU7aUNBQy9CLElBRUEsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLElBQUksUUFBUSxDQUM3QixDQUNVLENBQ3BCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDSCxDQUNGLENBQ0QsQ0FDRCxDQUNWLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDSCxDQUNSLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFqRUQsZ0RBaUVDO0FBRUQsa0JBQWUsa0JBQWtCLENBQUMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvbW9kYWxzL0Nyb3NzQnVzeUluZGljYXRvci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFZpZXcsIFRleHQsIFRvdWNoYWJsZU9wYWNpdHkgfSBmcm9tICdyZWFjdC1uYXRpdmUnO1xuaW1wb3J0IHsgQ3Jvc3NTcGlubmVyVHlwZSwgQ3Jvc3NTcGlubmVyIH0gZnJvbSAnLi4vYW5pbWF0aW9ucy9Dcm9zc1NwaW5uZXInO1xuaW1wb3J0IHN0eWxlcywgeyBDb2xvcnMgfSBmcm9tICcuLi8uLi9zdHlsZXMnO1xuaW1wb3J0IHsgUG9ydGFsLCBNb2RhbCB9IGZyb20gJ3JlYWN0LW5hdGl2ZS1wYXBlcic7XG5cbi8qKlxuICogRGVzY3JpYmVzIHRoZSBwcm9wcyBmb3Ige0BsaW5rIENyb3NzQnVzeUluZGljYXRvcn1cbiAqXG4gKiBAZXhwb3J0XG4gKiBAaW50ZXJmYWNlIElCdXN5SW5kaWNhdG9yUHJvcHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQnVzeUluZGljYXRvclByb3BzIHtcbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgdGhlIGluZGljYXRvciBpcyB2aXNpYmxlXG4gICAqXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAbWVtYmVyb2YgSUJ1c3lJbmRpY2F0b3JQcm9wc1xuICAgKi9cbiAgaXNCdXN5OiBib29sZWFuO1xuICAvKipcbiAgICogT3B0aW9uYWwgbWVzc2FnZSB0byBzaG93IHdoaWxlIGJ1c3kuIERlZmF1bHRzIHRvIGVtcHR5IHN0cmluZy5cbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIElCdXN5SW5kaWNhdG9yUHJvcHNcbiAgICovXG4gIG1lc3NhZ2U/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiBUeXBlIG9mIHNwaW5uZXIgdG8gdXNlXG4gICAqXG4gICAqIEB0eXBlIHtDcm9zc1NwaW5uZXJUeXBlfVxuICAgKiBAbWVtYmVyb2YgSUJ1c3lJbmRpY2F0b3JQcm9wc1xuICAgKi9cbiAgdHlwZT86IENyb3NzU3Bpbm5lclR5cGUgfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiBPcHRpb25hbCB0ZXN0IGlkIHRvIGFzc2lnbiB0aGlzIGNvbXBvbmVudC4gRGVmYXVsdCBpcyBcIjFcIlxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgSUJ1c3lJbmRpY2F0b3JQcm9wc1xuICAgKi9cbiAgdGVzdElEPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogRGV0ZXJtaW5lcyBpZiB0aGUgbW9kYWwgaXMgY2FuY2VsbGFibGUuIE90aGVyd2lzZSB2aXNpYmlsaXR5IGlzIGNvbnRyb2xsZWQgYnkge0BsaW5rIGlzQnVzeX1cbiAgICovXG4gIGlzQ2FuY2VsQnV0dG9uVmlzaWJsZTogYm9vbGVhbjtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGNhbGxiYWNrIGZvciB1c2VyIGNhbmNlbCBldmVudC4gXG4gICAqL1xuICBvbkNhbmNlbD86ICgpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBUZXh0IGZvciBjYW5jZWwgYnV0dG9uLiBEZWZhdWx0IGlzIFwiQ2FuY2VsXCJcbiAgICovXG4gIGNhbmNlbFRleHQ/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG59XG5cbmludGVyZmFjZSBJQnVzeUluZGljYXRvclN0YXRlIHtcbiAgaXNNb2RhbFZpc2libGU6IGJvb2xlYW47XG59XG5cbi8qKlxuICogRGlzcGxheXMgYSBidXN5IGluZGljYXRvciAoc3Bpbm5lcikgd2hlbiB7QGxpbmsgSUJ1c3lJbmRpY2F0b3JQcm9wcy5pc0J1c3l9IGlzIGB0cnVlYFxuICpcbiAqIFByb3BzIGFyZSB7QGxpbmsgSUJ1c3lJbmRpY2F0b3JQcm9wc31cbiAqL1xuZXhwb3J0IGNsYXNzIENyb3NzQnVzeUluZGljYXRvciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxcbiAgSUJ1c3lJbmRpY2F0b3JQcm9wcyxcbiAgSUJ1c3lJbmRpY2F0b3JTdGF0ZVxuPiB7XG4gIC8qKlxuICAgKlxuICAgKi9cbiAgY29uc3RydWN0b3IocHJvcHM6IElCdXN5SW5kaWNhdG9yUHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gICAgdGhpcy5zdGF0ZSA9IHsgaXNNb2RhbFZpc2libGU6IHRydWUgfTtcbiAgICB0aGlzLmhpZGVNb2RhbCA9IHRoaXMuaGlkZU1vZGFsLmJpbmQodGhpcyk7XG4gIH1cblxuICBoaWRlTW9kYWwoKSB7XG4gICAgaWYoIXRoaXMucHJvcHMuaXNDYW5jZWxCdXR0b25WaXNpYmxlKXtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNldFN0YXRlKHsgaXNNb2RhbFZpc2libGU6IGZhbHNlIH0pO1xuICAgIGlmICh0aGlzLnByb3BzLm9uQ2FuY2VsKSB7XG4gICAgICB0aGlzLnByb3BzLm9uQ2FuY2VsKCk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIHJldHVybiAoXG4gICAgICA8VmlldyB0ZXN0SUQ9e3RoaXMucHJvcHMudGVzdElEIHx8ICcxJ30+XG4gICAgICAgIHt0aGlzLnByb3BzLmlzQnVzeSA/IChcbiAgICAgICAgICA8UG9ydGFsPlxuICAgICAgICAgICAgPE1vZGFsXG4gICAgICAgICAgICAgIHZpc2libGU9e3RoaXMuc3RhdGUuaXNNb2RhbFZpc2libGV9XG4gICAgICAgICAgICAgIG9uRGlzbWlzcz17dGhpcy5oaWRlTW9kYWx9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxWaWV3PlxuICAgICAgICAgICAgICAgIDxWaWV3IHN0eWxlPXtbc3R5bGVzLmNvbHVtbkNvbnRlbnRUb3BDZW50ZXJdfT5cbiAgICAgICAgICAgICAgICAgIDxDcm9zc1NwaW5uZXJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT17dGhpcy5wcm9wcy50eXBlIHx8IENyb3NzU3Bpbm5lclR5cGUuTWF0ZXJpYWxJbmRpY2F0b3J9XG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPXtzdHlsZXMuc3Bpbm5lcn1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9WaWV3PlxuICAgICAgICAgICAgICAgIDxWaWV3IHN0eWxlPXtzdHlsZXMuY29sdW1uQ29udGVudFRvcENlbnRlcn0+XG4gICAgICAgICAgICAgICAgICA8VGV4dCBzdHlsZT17c3R5bGVzLnRleHRTcGlubmVyfT5cbiAgICAgICAgICAgICAgICAgICAge3RoaXMucHJvcHMubWVzc2FnZSB8fCAnJ31cbiAgICAgICAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgICAgICAgIHt0aGlzLnByb3BzLmlzQ2FuY2VsQnV0dG9uVmlzaWJsZSA/IChcbiAgICAgICAgICAgICAgICAgICAgPFRvdWNoYWJsZU9wYWNpdHkgb25QcmVzcz17dGhpcy5oaWRlTW9kYWx9PlxuICAgICAgICAgICAgICAgICAgICAgIDxUZXh0XG4gICAgICAgICAgICAgICAgICAgICAgdGVzdElEPSdjYW5jZWxUZXh0J1xuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e1tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGVzLnRleHRTcGlubmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB7IGNvbG9yOiBDb2xvcnMuQ2FuY2VsQnV0dG9uIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBdfVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt0aGlzLnByb3BzLmNhbmNlbFRleHQgfHwgJ0NhbmNlbCd9XG4gICAgICAgICAgICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgICAgICAgICAgICA8L1RvdWNoYWJsZU9wYWNpdHk+XG4gICAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgICAgIDwvTW9kYWw+XG4gICAgICAgICAgPC9Qb3J0YWw+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9WaWV3PlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgQ3Jvc3NCdXN5SW5kaWNhdG9yO1xuIl0sInZlcnNpb24iOjN9