react-native-cross-components
Version:
Beautiful React-Native components using RN Paper by Callstack
58 lines • 10.3 kB
JavaScript
"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