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,eyJmaWxlIjoiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvbW9kYWxzL0Nyb3NzQnVzeUluZGljYXRvci50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsa0RBQTBCO0FBQzFCLCtDQUE0RDtBQUM1RCw2REFBNEU7QUFDNUUsdURBQThDO0FBQzlDLDJEQUFtRDtBQXVEbkQ7Ozs7R0FJRztBQUNILE1BQWEsa0JBQW1CLFNBQVEsZUFBSyxDQUFDLFNBRzdDO0lBQ0M7O09BRUc7SUFDSCxZQUFZLEtBQTBCO1FBQ3BDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNiLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLHFCQUFxQixFQUFFO1lBQ3JDLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN6QyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDdkI7SUFDSCxDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU8sQ0FDTCw4QkFBQyxtQkFBSSxJQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQ25DLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUNuQiw4QkFBQywyQkFBTTtZQUNMLDhCQUFDLDBCQUFLLElBQ0osT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUNsQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7Z0JBRXpCLDhCQUFDLG1CQUFJO29CQUNILDhCQUFDLG1CQUFJLElBQUMsS0FBSyxFQUFFLENBQUMsZ0JBQU0sQ0FBQyxzQkFBc0IsQ0FBQzt3QkFDMUMsOEJBQUMsMkJBQVksSUFDWCxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksK0JBQWdCLENBQUMsaUJBQWlCLEVBQzNELEtBQUssRUFBRSxnQkFBTSxDQUFDLE9BQU8sR0FDckIsQ0FDRztvQkFDUCw4QkFBQyxtQkFBSSxJQUFDLEtBQUssRUFBRSxnQkFBTSxDQUFDLHNCQUFzQjt3QkFDeEMsOEJBQUMsbUJBQUksSUFBQyxLQUFLLEVBQUUsZ0JBQU0sQ0FBQyxXQUFXLElBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FDcEI7d0JBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FDbEMsOEJBQUMsK0JBQWdCLElBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTOzRCQUN2Qyw4QkFBQyxtQkFBSSxJQUNILE1BQU0sRUFBQyxZQUFZLEVBQ25CLEtBQUssRUFBRTtvQ0FDTCxnQkFBTSxDQUFDLFdBQVc7b0NBQ2xCLEVBQUUsS0FBSyxFQUFFLGVBQU0sQ0FBQyxZQUFZLEVBQUU7aUNBQy9CLElBRUEsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLElBQUksUUFBUSxDQUM3QixDQUNVLENBQ3BCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDSCxDQUNGLENBQ0QsQ0FDRCxDQUNWLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDSCxDQUNSLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFqRUQsZ0RBaUVDO0FBRUQsa0JBQWUsa0JBQWtCLENBQUMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvbW9kYWxzL0Nyb3NzQnVzeUluZGljYXRvci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFZpZXcsIFRleHQsIFRvdWNoYWJsZU9wYWNpdHkgfSBmcm9tICdyZWFjdC1uYXRpdmUnO1xuaW1wb3J0IHsgQ3Jvc3NTcGlubmVyVHlwZSwgQ3Jvc3NTcGlubmVyIH0gZnJvbSAnLi4vYW5pbWF0aW9ucy9Dcm9zc1NwaW5uZXInO1xuaW1wb3J0IHN0eWxlcywgeyBDb2xvcnMgfSBmcm9tICcuLi8uLi9zdHlsZXMnO1xuaW1wb3J0IHsgUG9ydGFsLCBNb2RhbCB9IGZyb20gJ3JlYWN0LW5hdGl2ZS1wYXBlcic7XG5cbi8qKlxuICogRGVzY3JpYmVzIHRoZSBwcm9wcyBmb3Ige0BsaW5rIENyb3NzQnVzeUluZGljYXRvcn1cbiAqXG4gKiBAZXhwb3J0XG4gKiBAaW50ZXJmYWNlIElCdXN5SW5kaWNhdG9yUHJvcHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQnVzeUluZGljYXRvclByb3BzIHtcbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgdGhlIGluZGljYXRvciBpcyB2aXNpYmxlXG4gICAqXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAbWVtYmVyb2YgSUJ1c3lJbmRpY2F0b3JQcm9wc1xuICAgKi9cbiAgaXNCdXN5OiBib29sZWFuO1xuICAvKipcbiAgICogT3B0aW9uYWwgbWVzc2FnZSB0byBzaG93IHdoaWxlIGJ1c3kuIERlZmF1bHRzIHRvIGVtcHR5IHN0cmluZy5cbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIElCdXN5SW5kaWNhdG9yUHJvcHNcbiAgICovXG4gIG1lc3NhZ2U/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiBUeXBlIG9mIHNwaW5uZXIgdG8gdXNlXG4gICAqXG4gICAqIEB0eXBlIHtDcm9zc1NwaW5uZXJUeXBlfVxuICAgKiBAbWVtYmVyb2YgSUJ1c3lJbmRpY2F0b3JQcm9wc1xuICAgKi9cbiAgdHlwZT86IENyb3NzU3Bpbm5lclR5cGUgfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiBPcHRpb25hbCB0ZXN0IGlkIHRvIGFzc2lnbiB0aGlzIGNvbXBvbmVudC4gRGVmYXVsdCBpcyBcIjFcIlxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgSUJ1c3lJbmRpY2F0b3JQcm9wc1xuICAgKi9cbiAgdGVzdElEPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogRGV0ZXJtaW5lcyBpZiB0aGUgbW9kYWwgaXMgY2FuY2VsbGFibGUuIE90aGVyd2lzZSB2aXNpYmlsaXR5IGlzIGNvbnRyb2xsZWQgYnkge0BsaW5rIGlzQnVzeX1cbiAgICovXG4gIGlzQ2FuY2VsQnV0dG9uVmlzaWJsZTogYm9vbGVhbjtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGNhbGxiYWNrIGZvciB1c2VyIGNhbmNlbCBldmVudC5cbiAgICovXG4gIG9uQ2FuY2VsPzogKCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIFRleHQgZm9yIGNhbmNlbCBidXR0b24uIERlZmF1bHQgaXMgXCJDYW5jZWxcIlxuICAgKi9cbiAgY2FuY2VsVGV4dD86IHN0cmluZyB8IHVuZGVmaW5lZDtcbn1cblxuaW50ZXJmYWNlIElCdXN5SW5kaWNhdG9yU3RhdGUge1xuICBpc01vZGFsVmlzaWJsZTogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBEaXNwbGF5cyBhIGJ1c3kgaW5kaWNhdG9yIChzcGlubmVyKSB3aGVuIHtAbGluayBJQnVzeUluZGljYXRvclByb3BzLmlzQnVzeX0gaXMgYHRydWVgXG4gKlxuICogUHJvcHMgYXJlIHtAbGluayBJQnVzeUluZGljYXRvclByb3BzfVxuICovXG5leHBvcnQgY2xhc3MgQ3Jvc3NCdXN5SW5kaWNhdG9yIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PFxuICBJQnVzeUluZGljYXRvclByb3BzLFxuICBJQnVzeUluZGljYXRvclN0YXRlXG4+IHtcbiAgLyoqXG4gICAqXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcm9wczogSUJ1c3lJbmRpY2F0b3JQcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgICB0aGlzLnN0YXRlID0geyBpc01vZGFsVmlzaWJsZTogdHJ1ZSB9O1xuICAgIHRoaXMuaGlkZU1vZGFsID0gdGhpcy5oaWRlTW9kYWwuYmluZCh0aGlzKTtcbiAgfVxuXG4gIGhpZGVNb2RhbCgpIHtcbiAgICBpZiAoIXRoaXMucHJvcHMuaXNDYW5jZWxCdXR0b25WaXNpYmxlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7IGlzTW9kYWxWaXNpYmxlOiBmYWxzZSB9KTtcbiAgICBpZiAodGhpcy5wcm9wcy5vbkNhbmNlbCkge1xuICAgICAgdGhpcy5wcm9wcy5vbkNhbmNlbCgpO1xuICAgIH1cbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFZpZXcgdGVzdElEPXt0aGlzLnByb3BzLnRlc3RJRCB8fCAnMSd9PlxuICAgICAgICB7dGhpcy5wcm9wcy5pc0J1c3kgPyAoXG4gICAgICAgICAgPFBvcnRhbD5cbiAgICAgICAgICAgIDxNb2RhbFxuICAgICAgICAgICAgICB2aXNpYmxlPXt0aGlzLnN0YXRlLmlzTW9kYWxWaXNpYmxlfVxuICAgICAgICAgICAgICBvbkRpc21pc3M9e3RoaXMuaGlkZU1vZGFsfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8Vmlldz5cbiAgICAgICAgICAgICAgICA8VmlldyBzdHlsZT17W3N0eWxlcy5jb2x1bW5Db250ZW50VG9wQ2VudGVyXX0+XG4gICAgICAgICAgICAgICAgICA8Q3Jvc3NTcGlubmVyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9e3RoaXMucHJvcHMudHlwZSB8fCBDcm9zc1NwaW5uZXJUeXBlLk1hdGVyaWFsSW5kaWNhdG9yfVxuICAgICAgICAgICAgICAgICAgICBzdHlsZT17c3R5bGVzLnNwaW5uZXJ9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgICAgICAgICA8VmlldyBzdHlsZT17c3R5bGVzLmNvbHVtbkNvbnRlbnRUb3BDZW50ZXJ9PlxuICAgICAgICAgICAgICAgICAgPFRleHQgc3R5bGU9e3N0eWxlcy50ZXh0U3Bpbm5lcn0+XG4gICAgICAgICAgICAgICAgICAgIHt0aGlzLnByb3BzLm1lc3NhZ2UgfHwgJyd9XG4gICAgICAgICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICAgICAgICB7dGhpcy5wcm9wcy5pc0NhbmNlbEJ1dHRvblZpc2libGUgPyAoXG4gICAgICAgICAgICAgICAgICAgIDxUb3VjaGFibGVPcGFjaXR5IG9uUHJlc3M9e3RoaXMuaGlkZU1vZGFsfT5cbiAgICAgICAgICAgICAgICAgICAgICA8VGV4dFxuICAgICAgICAgICAgICAgICAgICAgICAgdGVzdElEPVwiY2FuY2VsVGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17W1xuICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZXMudGV4dFNwaW5uZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHsgY29sb3I6IENvbG9ycy5DYW5jZWxCdXR0b24gfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF19XG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAge3RoaXMucHJvcHMuY2FuY2VsVGV4dCB8fCAnQ2FuY2VsJ31cbiAgICAgICAgICAgICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICAgICAgICAgIDwvVG91Y2hhYmxlT3BhY2l0eT5cbiAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgICAgICAgPC9WaWV3PlxuICAgICAgICAgICAgPC9Nb2RhbD5cbiAgICAgICAgICA8L1BvcnRhbD5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8L1ZpZXc+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBDcm9zc0J1c3lJbmRpY2F0b3I7XG4iXSwidmVyc2lvbiI6M30=