react-native-cross-components
Version:
Beautiful React-Native components using RN Paper by Callstack
59 lines • 10.9 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.Host, null,
react_1.default.createElement(react_native_paper_1.Portal, null,
react_1.default.createElement(react_native_paper_1.Modal, { dismissable: this.props.isCancelButtonVisible, 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,eyJmaWxlIjoiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvbW9kYWxzL0Nyb3NzQnVzeUluZGljYXRvci50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsa0RBQTBCO0FBQzFCLCtDQUE0RDtBQUM1RCw2REFBNEU7QUFDNUUsdURBQThDO0FBQzlDLDJEQUFtRDtBQXVEbkQ7Ozs7R0FJRztBQUNILE1BQWEsa0JBQW1CLFNBQVEsZUFBSyxDQUFDLFNBRzdDO0lBQ0M7O09BRUc7SUFDSCxZQUFZLEtBQTBCO1FBQ3BDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNiLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLHFCQUFxQixFQUFFO1lBQ3JDLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN6QyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDdkI7SUFDSCxDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU8sQ0FDTCw4QkFBQyxtQkFBSSxJQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQ25DLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUNuQiw4QkFBQywyQkFBTSxDQUFDLElBQUk7WUFDViw4QkFBQywyQkFBTTtnQkFDTCw4QkFBQywwQkFBSyxJQUNOLFdBQVcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLHFCQUFxQixFQUMzQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQ2xDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztvQkFFekIsOEJBQUMsbUJBQUk7d0JBQ0gsOEJBQUMsbUJBQUksSUFBQyxLQUFLLEVBQUUsQ0FBQyxnQkFBTSxDQUFDLHNCQUFzQixDQUFDOzRCQUMxQyw4QkFBQywyQkFBWSxJQUNYLElBQUksRUFDRixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSwrQkFBZ0IsQ0FBQyxpQkFBaUIsRUFFdkQsS0FBSyxFQUFFLGdCQUFNLENBQUMsT0FBTyxHQUNyQixDQUNHO3dCQUNQLDhCQUFDLG1CQUFJLElBQUMsS0FBSyxFQUFFLGdCQUFNLENBQUMsc0JBQXNCOzRCQUN4Qyw4QkFBQyxtQkFBSSxJQUFDLEtBQUssRUFBRSxnQkFBTSxDQUFDLFdBQVcsSUFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksRUFBRSxDQUNwQjs0QkFDTixJQUFJLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUNsQyw4QkFBQywrQkFBZ0IsSUFBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVM7Z0NBQ3ZDLDhCQUFDLG1CQUFJLElBQ0gsTUFBTSxFQUFDLFlBQVksRUFDbkIsS0FBSyxFQUFFO3dDQUNMLGdCQUFNLENBQUMsV0FBVzt3Q0FDbEIsRUFBRSxLQUFLLEVBQUUsZUFBTSxDQUFDLFlBQVksRUFBRTtxQ0FDL0IsSUFFQSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsSUFBSSxRQUFRLENBQzdCLENBQ1UsQ0FDcEIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNILENBQ0YsQ0FDRCxDQUNELENBQ0csQ0FDZixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ0gsQ0FDUixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBdEVELGdEQXNFQztBQUVELGtCQUFlLGtCQUFrQixDQUFDIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi9Vc2Vycy90aG9tYXMvU291cmNlL3JlYWN0LW5hdGl2ZS1jb3JlL3NvdXJjZS9jb21wb25lbnRzL21vZGFscy9Dcm9zc0J1c3lJbmRpY2F0b3IudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBWaWV3LCBUZXh0LCBUb3VjaGFibGVPcGFjaXR5IH0gZnJvbSAncmVhY3QtbmF0aXZlJztcbmltcG9ydCB7IENyb3NzU3Bpbm5lclR5cGUsIENyb3NzU3Bpbm5lciB9IGZyb20gJy4uL2FuaW1hdGlvbnMvQ3Jvc3NTcGlubmVyJztcbmltcG9ydCBzdHlsZXMsIHsgQ29sb3JzIH0gZnJvbSAnLi4vLi4vc3R5bGVzJztcbmltcG9ydCB7IFBvcnRhbCwgTW9kYWwgfSBmcm9tICdyZWFjdC1uYXRpdmUtcGFwZXInO1xuXG4vKipcbiAqIERlc2NyaWJlcyB0aGUgcHJvcHMgZm9yIHtAbGluayBDcm9zc0J1c3lJbmRpY2F0b3J9XG4gKlxuICogQGV4cG9ydFxuICogQGludGVyZmFjZSBJQnVzeUluZGljYXRvclByb3BzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUJ1c3lJbmRpY2F0b3JQcm9wcyB7XG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGlmIHRoZSBpbmRpY2F0b3IgaXMgdmlzaWJsZVxuICAgKlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIElCdXN5SW5kaWNhdG9yUHJvcHNcbiAgICovXG4gIGlzQnVzeTogYm9vbGVhbjtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIG1lc3NhZ2UgdG8gc2hvdyB3aGlsZSBidXN5LiBEZWZhdWx0cyB0byBlbXB0eSBzdHJpbmcuXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBJQnVzeUluZGljYXRvclByb3BzXG4gICAqL1xuICBtZXNzYWdlPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogVHlwZSBvZiBzcGlubmVyIHRvIHVzZVxuICAgKlxuICAgKiBAdHlwZSB7Q3Jvc3NTcGlubmVyVHlwZX1cbiAgICogQG1lbWJlcm9mIElCdXN5SW5kaWNhdG9yUHJvcHNcbiAgICovXG4gIHR5cGU/OiBDcm9zc1NwaW5uZXJUeXBlIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogT3B0aW9uYWwgdGVzdCBpZCB0byBhc3NpZ24gdGhpcyBjb21wb25lbnQuIERlZmF1bHQgaXMgXCIxXCJcbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIElCdXN5SW5kaWNhdG9yUHJvcHNcbiAgICovXG4gIHRlc3RJRD86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgdGhlIG1vZGFsIGlzIGNhbmNlbGxhYmxlLiBPdGhlcndpc2UgdmlzaWJpbGl0eSBpcyBjb250cm9sbGVkIGJ5IHtAbGluayBpc0J1c3l9XG4gICAqL1xuICBpc0NhbmNlbEJ1dHRvblZpc2libGU6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBPcHRpb25hbCBjYWxsYmFjayBmb3IgdXNlciBjYW5jZWwgZXZlbnQuXG4gICAqL1xuICBvbkNhbmNlbD86ICgpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBUZXh0IGZvciBjYW5jZWwgYnV0dG9uLiBEZWZhdWx0IGlzIFwiQ2FuY2VsXCJcbiAgICovXG4gIGNhbmNlbFRleHQ/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG59XG5cbmludGVyZmFjZSBJQnVzeUluZGljYXRvclN0YXRlIHtcbiAgaXNNb2RhbFZpc2libGU6IGJvb2xlYW47XG59XG5cbi8qKlxuICogRGlzcGxheXMgYSBidXN5IGluZGljYXRvciAoc3Bpbm5lcikgd2hlbiB7QGxpbmsgSUJ1c3lJbmRpY2F0b3JQcm9wcy5pc0J1c3l9IGlzIGB0cnVlYFxuICpcbiAqIFByb3BzIGFyZSB7QGxpbmsgSUJ1c3lJbmRpY2F0b3JQcm9wc31cbiAqL1xuZXhwb3J0IGNsYXNzIENyb3NzQnVzeUluZGljYXRvciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxcbiAgSUJ1c3lJbmRpY2F0b3JQcm9wcyxcbiAgSUJ1c3lJbmRpY2F0b3JTdGF0ZVxuPiB7XG4gIC8qKlxuICAgKlxuICAgKi9cbiAgY29uc3RydWN0b3IocHJvcHM6IElCdXN5SW5kaWNhdG9yUHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gICAgdGhpcy5zdGF0ZSA9IHsgaXNNb2RhbFZpc2libGU6IHRydWUgfTtcbiAgICB0aGlzLmhpZGVNb2RhbCA9IHRoaXMuaGlkZU1vZGFsLmJpbmQodGhpcyk7XG4gIH1cblxuICBoaWRlTW9kYWwoKSB7XG4gICAgaWYgKCF0aGlzLnByb3BzLmlzQ2FuY2VsQnV0dG9uVmlzaWJsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2V0U3RhdGUoeyBpc01vZGFsVmlzaWJsZTogZmFsc2UgfSk7XG4gICAgaWYgKHRoaXMucHJvcHMub25DYW5jZWwpIHtcbiAgICAgIHRoaXMucHJvcHMub25DYW5jZWwoKTtcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxWaWV3IHRlc3RJRD17dGhpcy5wcm9wcy50ZXN0SUQgfHwgJzEnfT5cbiAgICAgICAge3RoaXMucHJvcHMuaXNCdXN5ID8gKFxuICAgICAgICAgIDxQb3J0YWwuSG9zdD5cbiAgICAgICAgICAgIDxQb3J0YWw+XG4gICAgICAgICAgICAgIDxNb2RhbFxuICAgICAgICAgICAgICBkaXNtaXNzYWJsZT17dGhpcy5wcm9wcy5pc0NhbmNlbEJ1dHRvblZpc2libGV9XG4gICAgICAgICAgICAgICAgdmlzaWJsZT17dGhpcy5zdGF0ZS5pc01vZGFsVmlzaWJsZX1cbiAgICAgICAgICAgICAgICBvbkRpc21pc3M9e3RoaXMuaGlkZU1vZGFsfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFZpZXc+XG4gICAgICAgICAgICAgICAgICA8VmlldyBzdHlsZT17W3N0eWxlcy5jb2x1bW5Db250ZW50VG9wQ2VudGVyXX0+XG4gICAgICAgICAgICAgICAgICAgIDxDcm9zc1NwaW5uZXJcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPXtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMudHlwZSB8fCBDcm9zc1NwaW5uZXJUeXBlLk1hdGVyaWFsSW5kaWNhdG9yXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXtzdHlsZXMuc3Bpbm5lcn1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgICAgICAgICAgIDxWaWV3IHN0eWxlPXtzdHlsZXMuY29sdW1uQ29udGVudFRvcENlbnRlcn0+XG4gICAgICAgICAgICAgICAgICAgIDxUZXh0IHN0eWxlPXtzdHlsZXMudGV4dFNwaW5uZXJ9PlxuICAgICAgICAgICAgICAgICAgICAgIHt0aGlzLnByb3BzLm1lc3NhZ2UgfHwgJyd9XG4gICAgICAgICAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgICAgICAgICAge3RoaXMucHJvcHMuaXNDYW5jZWxCdXR0b25WaXNpYmxlID8gKFxuICAgICAgICAgICAgICAgICAgICAgIDxUb3VjaGFibGVPcGFjaXR5IG9uUHJlc3M9e3RoaXMuaGlkZU1vZGFsfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxUZXh0XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RJRD1cImNhbmNlbFRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17W1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlcy50ZXh0U3Bpbm5lcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IGNvbG9yOiBDb2xvcnMuQ2FuY2VsQnV0dG9uIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF19XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHt0aGlzLnByb3BzLmNhbmNlbFRleHQgfHwgJ0NhbmNlbCd9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICAgICAgICAgICAgPC9Ub3VjaGFibGVPcGFjaXR5PlxuICAgICAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgICAgICAgIDwvTW9kYWw+XG4gICAgICAgICAgICA8L1BvcnRhbD5cbiAgICAgICAgICA8L1BvcnRhbC5Ib3N0PlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVmlldz5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IENyb3NzQnVzeUluZGljYXRvcjtcbiJdLCJ2ZXJzaW9uIjozfQ==