react-native-cross-components
Version:
Beautiful React-Native components using RN Paper by Callstack
75 lines • 12.6 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const react_1 = __importDefault(require("react"));
const react_native_1 = require("react-native");
const styles_1 = require("../../styles");
const react_native_modal_1 = __importDefault(require("react-native-modal"));
const CrossSpinner_1 = require("../animations/CrossSpinner");
const styles_2 = __importDefault(require("../../styles"));
/**
* @description
* Displays a modal with busy indicator (spinner) and message when {@link IBusyIndicatorProps.isBusy} is `true`
*
* Properties are {@link IBusyIndicatorProps}
*
* Also supports cancelling the modal using properties
* {@link IBusyIndicatorProps.isCancelButtonVisible},
* {@link IBusyIndicatorProps.cancelText} and
* {@link IBusyIndicatorProps.onCancel}.
* This does however not hide the modal.
*
* Modal with cancel
* @example
*
```
<CrossBusyIndicator
isBusy={isBusy}
type={CrossSpinnerType.PacmanIndicator}
isCancelButtonVisible={true}
message="Loading.."
onCancel={() => (isBusy = false)}
/>
```
*/
class CrossBusyIndicator extends react_1.default.Component {
/**
*
*/
constructor(props) {
super(props);
this.onCancel = this.onCancel.bind(this);
}
onCancel() {
if (!this.props.isCancelButtonVisible) {
return;
}
if (this.props.onCancel) {
this.props.onCancel();
}
}
render() {
return (react_1.default.createElement(react_native_1.View, { testID: this.props.testID || '1' },
react_1.default.createElement(react_native_modal_1.default, { style: [styles_2.default.absoluteCentered, this.props.modalStyle], isVisible: this.props.isBusy, onDismiss: this.onCancel },
react_1.default.createElement(react_native_1.View, { style: [
styles_2.default.container,
styles_2.default.paddingDefault,
this.props.innerViewStyle,
] },
react_1.default.createElement(react_native_1.View, { style: [styles_2.default.columnContentTopCenter] },
react_1.default.createElement(CrossSpinner_1.CrossSpinner, Object.assign({ type: this.props.type || CrossSpinner_1.CrossSpinnerType.MaterialIndicator, style: styles_2.default.spinner }, this.props.spinnerProps))),
react_1.default.createElement(react_native_1.View, { style: [styles_2.default.columnContentTopCenter] },
react_1.default.createElement(react_native_1.Text, { style: [styles_2.default.textSpinner, this.props.messageStyle] }, this.props.message || ''),
this.props.isCancelButtonVisible ? (react_1.default.createElement(react_native_1.TouchableOpacity, { onPress: this.onCancel },
react_1.default.createElement(react_native_1.Text, { testID: "cancelText", style: [
styles_2.default.textSpinner,
{ color: styles_1.Colors.CancelButton },
this.props.cancelTextStyle,
] }, this.props.cancelText || 'Cancel'))) : null)))));
}
}
exports.CrossBusyIndicator = CrossBusyIndicator;
exports.default = CrossBusyIndicator;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvbW9kYWxzL0Nyb3NzQnVzeUluZGljYXRvci50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxrREFBMEI7QUFDMUIsK0NBTXNCO0FBQ3RCLHlDQUFzQztBQUN0Qyw0RUFBdUM7QUFDdkMsNkRBSW9DO0FBQ3BDLDBEQUFrQztBQXlFbEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdCRztBQUNILE1BQWEsa0JBQW1CLFNBQVEsZUFBSyxDQUFDLFNBQThCO0lBQzFFOztPQUVHO0lBQ0gsWUFBWSxLQUEwQjtRQUNwQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDYixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMscUJBQXFCLEVBQUU7WUFDckMsT0FBTztTQUNSO1FBRUQsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ3ZCO0lBQ0gsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPLENBQ0wsOEJBQUMsbUJBQUksSUFBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRztZQUNwQyw4QkFBQyw0QkFBSyxJQUNKLEtBQUssRUFBRSxDQUFDLGdCQUFNLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFDdkQsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUM1QixTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVE7Z0JBRXhCLDhCQUFDLG1CQUFJLElBQ0gsS0FBSyxFQUFFO3dCQUNMLGdCQUFNLENBQUMsU0FBUzt3QkFDaEIsZ0JBQU0sQ0FBQyxjQUFjO3dCQUNyQixJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWM7cUJBQzFCO29CQUVELDhCQUFDLG1CQUFJLElBQUMsS0FBSyxFQUFFLENBQUMsZ0JBQU0sQ0FBQyxzQkFBc0IsQ0FBQzt3QkFDMUMsOEJBQUMsMkJBQVksa0JBQ1gsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLCtCQUFnQixDQUFDLGlCQUFpQixFQUMzRCxLQUFLLEVBQUUsZ0JBQU0sQ0FBQyxPQUFPLElBQ2pCLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUMzQixDQUNHO29CQUVQLDhCQUFDLG1CQUFJLElBQUMsS0FBSyxFQUFFLENBQUMsZ0JBQU0sQ0FBQyxzQkFBc0IsQ0FBQzt3QkFDMUMsOEJBQUMsbUJBQUksSUFBQyxLQUFLLEVBQUUsQ0FBQyxnQkFBTSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUN2RCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQ3BCO3dCQUNOLElBQUksQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQ2xDLDhCQUFDLCtCQUFnQixJQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUTs0QkFDdEMsOEJBQUMsbUJBQUksSUFDSCxNQUFNLEVBQUMsWUFBWSxFQUNuQixLQUFLLEVBQUU7b0NBQ0wsZ0JBQU0sQ0FBQyxXQUFXO29DQUNsQixFQUFFLEtBQUssRUFBRSxlQUFNLENBQUMsWUFBWSxFQUFFO29DQUM5QixJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWU7aUNBQzNCLElBRUEsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLElBQUksUUFBUSxDQUM3QixDQUNVLENBQ3BCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDSCxDQUNGLENBQ0QsQ0FDSCxDQUNSLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFsRUQsZ0RBa0VDO0FBRUQsa0JBQWUsa0JBQWtCLENBQUMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvbW9kYWxzL0Nyb3NzQnVzeUluZGljYXRvci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7XG4gIFZpZXcsXG4gIFRleHQsXG4gIFRvdWNoYWJsZU9wYWNpdHksXG4gIFN0eWxlUHJvcCxcbiAgVmlld1N0eWxlLFxufSBmcm9tICdyZWFjdC1uYXRpdmUnO1xuaW1wb3J0IHsgQ29sb3JzIH0gZnJvbSAnLi4vLi4vc3R5bGVzJztcbmltcG9ydCBNb2RhbCBmcm9tICdyZWFjdC1uYXRpdmUtbW9kYWwnO1xuaW1wb3J0IHtcbiAgQ3Jvc3NTcGlubmVyVHlwZSxcbiAgQ3Jvc3NTcGlubmVyLFxuICBJQ3Jvc3NTcGlubmVyUHJvcHMsXG59IGZyb20gJy4uL2FuaW1hdGlvbnMvQ3Jvc3NTcGlubmVyJztcbmltcG9ydCBzdHlsZXMgZnJvbSAnLi4vLi4vc3R5bGVzJztcblxuLyoqXG4gKiBEZXNjcmliZXMgdGhlIHByb3BzIGZvciB7QGxpbmsgQ3Jvc3NCdXN5SW5kaWNhdG9yfVxuICpcbiAqIEBleHBvcnRcbiAqIEBpbnRlcmZhY2UgSUJ1c3lJbmRpY2F0b3JQcm9wc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElCdXN5SW5kaWNhdG9yUHJvcHMge1xuICAvKipcbiAgICogRGV0ZXJtaW5lcyBpZiB0aGUgaW5kaWNhdG9yIGlzIHZpc2libGVcbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBJQnVzeUluZGljYXRvclByb3BzXG4gICAqL1xuICBpc0J1c3k6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBPcHRpb25hbCBtZXNzYWdlIHRvIHNob3cgd2hpbGUgYnVzeS4gRGVmYXVsdHMgdG8gZW1wdHkgc3RyaW5nLlxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgSUJ1c3lJbmRpY2F0b3JQcm9wc1xuICAgKi9cbiAgbWVzc2FnZT86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIFR5cGUgb2Ygc3Bpbm5lciB0byB1c2VcbiAgICpcbiAgICogQHR5cGUge0Nyb3NzU3Bpbm5lclR5cGV9XG4gICAqIEBtZW1iZXJvZiBJQnVzeUluZGljYXRvclByb3BzXG4gICAqL1xuICB0eXBlPzogQ3Jvc3NTcGlubmVyVHlwZSB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIHRlc3QgaWQgdG8gYXNzaWduIHRoaXMgY29tcG9uZW50LiBEZWZhdWx0IGlzIFwiMVwiXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBJQnVzeUluZGljYXRvclByb3BzXG4gICAqL1xuICB0ZXN0SUQ/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGlmIHRoZSBtb2RhbCBpcyBjYW5jZWxsYWJsZS4gT3RoZXJ3aXNlIHZpc2liaWxpdHkgaXMgY29udHJvbGxlZCBieSB7QGxpbmsgaXNCdXN5fVxuICAgKi9cbiAgaXNDYW5jZWxCdXR0b25WaXNpYmxlOiBib29sZWFuO1xuICAvKipcbiAgICogT3B0aW9uYWwgY2FsbGJhY2sgZm9yIHVzZXIgY2FuY2VsIGV2ZW50LlxuICAgKi9cbiAgb25DYW5jZWw/OiAoKSA9PiB2b2lkO1xuICAvKipcbiAgICogVGV4dCBmb3IgY2FuY2VsIGJ1dHRvbi4gRGVmYXVsdCBpcyBcIkNhbmNlbFwiXG4gICAqL1xuICBjYW5jZWxUZXh0Pzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogT3B0aW9uYWwgY3VzdG9tIHN0eWxlIGZvciB0aGUge0BsaW5rIGNhbmNlbFRleHR9XG4gICAqL1xuICBjYW5jZWxUZXh0U3R5bGU/OiBTdHlsZVByb3A8Vmlld1N0eWxlPiB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGN1c3RvbSBzdHlsZSBmb3IgdGhlIG1vZGFsIHZpZXdcbiAgICovXG4gIG1vZGFsU3R5bGU/OiBTdHlsZVByb3A8Vmlld1N0eWxlPiB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGN1c3RvbSBzdHlsZSBmb3IgdGhlIGlubmVyIHZpZXcsIGNvbnRhaW5lZCBpbiB0aGUgbW9kYWxcbiAgICovXG4gIGlubmVyVmlld1N0eWxlPzogU3R5bGVQcm9wPFZpZXdTdHlsZT4gfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBjdXN0b20gc3R5bGUgZm9yIHRoZSB7QGxpbmsgbWVzc2FnZX1cbiAgICovXG4gIG1lc3NhZ2VTdHlsZT86IFN0eWxlUHJvcDxWaWV3U3R5bGU+IHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogT3B0aW9uYWwgcHJvcGVydGllcyB0byBjb25maWd1cmUgdGhlIHNwaW5uZXJcbiAgICpcbiAgICogU2VlIHtAbGluayBJQ3Jvc3NTcGlubmVyUHJvcHN9XG4gICAqL1xuICBzcGlubmVyUHJvcHM/OiBJQ3Jvc3NTcGlubmVyUHJvcHMgfCB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKiBEaXNwbGF5cyBhIG1vZGFsIHdpdGggYnVzeSBpbmRpY2F0b3IgKHNwaW5uZXIpIGFuZCBtZXNzYWdlIHdoZW4ge0BsaW5rIElCdXN5SW5kaWNhdG9yUHJvcHMuaXNCdXN5fSBpcyBgdHJ1ZWBcbiAqIFxuICogUHJvcGVydGllcyBhcmUge0BsaW5rIElCdXN5SW5kaWNhdG9yUHJvcHN9XG4gKiBcbiAqIEFsc28gc3VwcG9ydHMgY2FuY2VsbGluZyB0aGUgbW9kYWwgdXNpbmcgcHJvcGVydGllc1xuICoge0BsaW5rIElCdXN5SW5kaWNhdG9yUHJvcHMuaXNDYW5jZWxCdXR0b25WaXNpYmxlfSwgXG4gKiB7QGxpbmsgSUJ1c3lJbmRpY2F0b3JQcm9wcy5jYW5jZWxUZXh0fSBhbmRcbiAqIHtAbGluayBJQnVzeUluZGljYXRvclByb3BzLm9uQ2FuY2VsfS5cbiAqIFRoaXMgZG9lcyBob3dldmVyIG5vdCBoaWRlIHRoZSBtb2RhbC5cbiAqIFxuICogTW9kYWwgd2l0aCBjYW5jZWxcbiAqIEBleGFtcGxlXG4gKiBcbiBgYGBcbiAgICA8Q3Jvc3NCdXN5SW5kaWNhdG9yXG4gICAgICBpc0J1c3k9e2lzQnVzeX1cbiAgICAgIHR5cGU9e0Nyb3NzU3Bpbm5lclR5cGUuUGFjbWFuSW5kaWNhdG9yfVxuICAgICAgaXNDYW5jZWxCdXR0b25WaXNpYmxlPXt0cnVlfVxuICAgICAgbWVzc2FnZT1cIkxvYWRpbmcuLlwiXG4gICAgICBvbkNhbmNlbD17KCkgPT4gKGlzQnVzeSA9IGZhbHNlKX1cbiAgICAvPlxuYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBDcm9zc0J1c3lJbmRpY2F0b3IgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8SUJ1c3lJbmRpY2F0b3JQcm9wcz4ge1xuICAvKipcbiAgICpcbiAgICovXG4gIGNvbnN0cnVjdG9yKHByb3BzOiBJQnVzeUluZGljYXRvclByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICAgIHRoaXMub25DYW5jZWwgPSB0aGlzLm9uQ2FuY2VsLmJpbmQodGhpcyk7XG4gIH1cblxuICBvbkNhbmNlbCgpIHtcbiAgICBpZiAoIXRoaXMucHJvcHMuaXNDYW5jZWxCdXR0b25WaXNpYmxlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucHJvcHMub25DYW5jZWwpIHtcbiAgICAgIHRoaXMucHJvcHMub25DYW5jZWwoKTtcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxWaWV3IHRlc3RJRD17dGhpcy5wcm9wcy50ZXN0SUQgfHwgJzEnfT5cbiAgICAgICAgPE1vZGFsXG4gICAgICAgICAgc3R5bGU9e1tzdHlsZXMuYWJzb2x1dGVDZW50ZXJlZCwgdGhpcy5wcm9wcy5tb2RhbFN0eWxlXX1cbiAgICAgICAgICBpc1Zpc2libGU9e3RoaXMucHJvcHMuaXNCdXN5fVxuICAgICAgICAgIG9uRGlzbWlzcz17dGhpcy5vbkNhbmNlbH1cbiAgICAgICAgPlxuICAgICAgICAgIDxWaWV3XG4gICAgICAgICAgICBzdHlsZT17W1xuICAgICAgICAgICAgICBzdHlsZXMuY29udGFpbmVyLFxuICAgICAgICAgICAgICBzdHlsZXMucGFkZGluZ0RlZmF1bHQsXG4gICAgICAgICAgICAgIHRoaXMucHJvcHMuaW5uZXJWaWV3U3R5bGUsXG4gICAgICAgICAgICBdfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxWaWV3IHN0eWxlPXtbc3R5bGVzLmNvbHVtbkNvbnRlbnRUb3BDZW50ZXJdfT5cbiAgICAgICAgICAgICAgPENyb3NzU3Bpbm5lclxuICAgICAgICAgICAgICAgIHR5cGU9e3RoaXMucHJvcHMudHlwZSB8fCBDcm9zc1NwaW5uZXJUeXBlLk1hdGVyaWFsSW5kaWNhdG9yfVxuICAgICAgICAgICAgICAgIHN0eWxlPXtzdHlsZXMuc3Bpbm5lcn1cbiAgICAgICAgICAgICAgICB7Li4udGhpcy5wcm9wcy5zcGlubmVyUHJvcHN9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L1ZpZXc+XG5cbiAgICAgICAgICAgIDxWaWV3IHN0eWxlPXtbc3R5bGVzLmNvbHVtbkNvbnRlbnRUb3BDZW50ZXJdfT5cbiAgICAgICAgICAgICAgPFRleHQgc3R5bGU9e1tzdHlsZXMudGV4dFNwaW5uZXIsIHRoaXMucHJvcHMubWVzc2FnZVN0eWxlXX0+XG4gICAgICAgICAgICAgICAge3RoaXMucHJvcHMubWVzc2FnZSB8fCAnJ31cbiAgICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgICAgICB7dGhpcy5wcm9wcy5pc0NhbmNlbEJ1dHRvblZpc2libGUgPyAoXG4gICAgICAgICAgICAgICAgPFRvdWNoYWJsZU9wYWNpdHkgb25QcmVzcz17dGhpcy5vbkNhbmNlbH0+XG4gICAgICAgICAgICAgICAgICA8VGV4dFxuICAgICAgICAgICAgICAgICAgICB0ZXN0SUQ9XCJjYW5jZWxUZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9e1tcbiAgICAgICAgICAgICAgICAgICAgICBzdHlsZXMudGV4dFNwaW5uZXIsXG4gICAgICAgICAgICAgICAgICAgICAgeyBjb2xvcjogQ29sb3JzLkNhbmNlbEJ1dHRvbiB9LFxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuY2FuY2VsVGV4dFN0eWxlLFxuICAgICAgICAgICAgICAgICAgICBdfVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7dGhpcy5wcm9wcy5jYW5jZWxUZXh0IHx8ICdDYW5jZWwnfVxuICAgICAgICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgICAgICAgIDwvVG91Y2hhYmxlT3BhY2l0eT5cbiAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgICAgPC9WaWV3PlxuICAgICAgICA8L01vZGFsPlxuICAgICAgPC9WaWV3PlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgQ3Jvc3NCdXN5SW5kaWNhdG9yO1xuIl0sInZlcnNpb24iOjN9