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/OiBJQ3Jvc3NTcGlubmVyUHJvcHMgfCB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKiBEaXNwbGF5cyBhIG1vZGFsIHdpdGggYnVzeSBpbmRpY2F0b3IgKHNwaW5uZXIpIGFuZCBtZXNzYWdlIHdoZW4ge0BsaW5rIElCdXN5SW5kaWNhdG9yUHJvcHMuaXNCdXN5fSBpcyBgdHJ1ZWBcbiAqXG4gKiBQcm9wZXJ0aWVzIGFyZSB7QGxpbmsgSUJ1c3lJbmRpY2F0b3JQcm9wc31cbiAqXG4gKiBBbHNvIHN1cHBvcnRzIGNhbmNlbGxpbmcgdGhlIG1vZGFsIHVzaW5nIHByb3BlcnRpZXNcbiAqIHtAbGluayBJQnVzeUluZGljYXRvclByb3BzLmlzQ2FuY2VsQnV0dG9uVmlzaWJsZX0sXG4gKiB7QGxpbmsgSUJ1c3lJbmRpY2F0b3JQcm9wcy5jYW5jZWxUZXh0fSBhbmRcbiAqIHtAbGluayBJQnVzeUluZGljYXRvclByb3BzLm9uQ2FuY2VsfS5cbiAqIFRoaXMgZG9lcyBob3dldmVyIG5vdCBoaWRlIHRoZSBtb2RhbC5cbiAqXG4gKiBNb2RhbCB3aXRoIGNhbmNlbFxuICogQGV4YW1wbGVcbiAqXG4gYGBgXG4gICAgPENyb3NzQnVzeUluZGljYXRvclxuICAgICAgaXNCdXN5PXtpc0J1c3l9XG4gICAgICB0eXBlPXtDcm9zc1NwaW5uZXJUeXBlLlBhY21hbkluZGljYXRvcn1cbiAgICAgIGlzQ2FuY2VsQnV0dG9uVmlzaWJsZT17dHJ1ZX1cbiAgICAgIG1lc3NhZ2U9XCJMb2FkaW5nLi5cIlxuICAgICAgb25DYW5jZWw9eygpID0+IChpc0J1c3kgPSBmYWxzZSl9XG4gICAgLz5cbmBgYFxuICovXG5leHBvcnQgY2xhc3MgQ3Jvc3NCdXN5SW5kaWNhdG9yIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PElCdXN5SW5kaWNhdG9yUHJvcHM+IHtcbiAgLyoqXG4gICAqXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcm9wczogSUJ1c3lJbmRpY2F0b3JQcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgICB0aGlzLm9uQ2FuY2VsID0gdGhpcy5vbkNhbmNlbC5iaW5kKHRoaXMpO1xuICB9XG5cbiAgb25DYW5jZWwoKSB7XG4gICAgaWYgKCF0aGlzLnByb3BzLmlzQ2FuY2VsQnV0dG9uVmlzaWJsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnByb3BzLm9uQ2FuY2VsKSB7XG4gICAgICB0aGlzLnByb3BzLm9uQ2FuY2VsKCk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIHJldHVybiAoXG4gICAgICA8VmlldyB0ZXN0SUQ9e3RoaXMucHJvcHMudGVzdElEIHx8ICcxJ30+XG4gICAgICAgIDxNb2RhbFxuICAgICAgICAgIHN0eWxlPXtbc3R5bGVzLmFic29sdXRlQ2VudGVyZWQsIHRoaXMucHJvcHMubW9kYWxTdHlsZV19XG4gICAgICAgICAgaXNWaXNpYmxlPXt0aGlzLnByb3BzLmlzQnVzeX1cbiAgICAgICAgICBvbkRpc21pc3M9e3RoaXMub25DYW5jZWx9XG4gICAgICAgID5cbiAgICAgICAgICA8Vmlld1xuICAgICAgICAgICAgc3R5bGU9e1tcbiAgICAgICAgICAgICAgc3R5bGVzLmNvbnRhaW5lcixcbiAgICAgICAgICAgICAgc3R5bGVzLnBhZGRpbmdEZWZhdWx0LFxuICAgICAgICAgICAgICB0aGlzLnByb3BzLmlubmVyVmlld1N0eWxlLFxuICAgICAgICAgICAgXX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8VmlldyBzdHlsZT17W3N0eWxlcy5jb2x1bW5Db250ZW50VG9wQ2VudGVyXX0+XG4gICAgICAgICAgICAgIDxDcm9zc1NwaW5uZXJcbiAgICAgICAgICAgICAgICB0eXBlPXt0aGlzLnByb3BzLnR5cGUgfHwgQ3Jvc3NTcGlubmVyVHlwZS5NYXRlcmlhbEluZGljYXRvcn1cbiAgICAgICAgICAgICAgICBzdHlsZT17c3R5bGVzLnNwaW5uZXJ9XG4gICAgICAgICAgICAgICAgey4uLnRoaXMucHJvcHMuc3Bpbm5lclByb3BzfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9WaWV3PlxuXG4gICAgICAgICAgICA8VmlldyBzdHlsZT17W3N0eWxlcy5jb2x1bW5Db250ZW50VG9wQ2VudGVyXX0+XG4gICAgICAgICAgICAgIDxUZXh0IHN0eWxlPXtbc3R5bGVzLnRleHRTcGlubmVyLCB0aGlzLnByb3BzLm1lc3NhZ2VTdHlsZV19PlxuICAgICAgICAgICAgICAgIHt0aGlzLnByb3BzLm1lc3NhZ2UgfHwgJyd9XG4gICAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgICAge3RoaXMucHJvcHMuaXNDYW5jZWxCdXR0b25WaXNpYmxlID8gKFxuICAgICAgICAgICAgICAgIDxUb3VjaGFibGVPcGFjaXR5IG9uUHJlc3M9e3RoaXMub25DYW5jZWx9PlxuICAgICAgICAgICAgICAgICAgPFRleHRcbiAgICAgICAgICAgICAgICAgICAgdGVzdElEPSdjYW5jZWxUZXh0J1xuICAgICAgICAgICAgICAgICAgICBzdHlsZT17W1xuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlcy50ZXh0U3Bpbm5lcixcbiAgICAgICAgICAgICAgICAgICAgICB7IGNvbG9yOiBDb2xvcnMuQ2FuY2VsQnV0dG9uIH0sXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5jYW5jZWxUZXh0U3R5bGUsXG4gICAgICAgICAgICAgICAgICAgIF19XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt0aGlzLnByb3BzLmNhbmNlbFRleHQgfHwgJ0NhbmNlbCd9XG4gICAgICAgICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICAgICAgPC9Ub3VjaGFibGVPcGFjaXR5PlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgIDwvTW9kYWw+XG4gICAgICA8L1ZpZXc+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBDcm9zc0J1c3lJbmRpY2F0b3I7XG4iXSwidmVyc2lvbiI6M30=