UNPKG

react-native-cross-components

Version:
75 lines 12.6 kB
"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+XG4gICAgICAgICAgICAgIDxUZXh0IHN0eWxlPXtbc3R5bGVzLnRleHRTcGlubmVyLCB0aGlzLnByb3BzLm1lc3NhZ2VTdHlsZV19PlxuICAgICAgICAgICAgICAgIHt0aGlzLnByb3BzLm1lc3NhZ2UgfHwgJyd9XG4gICAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgICAge3RoaXMucHJvcHMuaXNDYW5jZWxCdXR0b25WaXNpYmxlID8gKFxuICAgICAgICAgICAgICAgIDxUb3VjaGFibGVPcGFjaXR5IG9uUHJlc3M9e3RoaXMub25DYW5jZWx9PlxuICAgICAgICAgICAgICAgICAgPFRleHRcbiAgICAgICAgICAgICAgICAgICAgdGVzdElEPVwiY2FuY2VsVGV4dFwiXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPXtbXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGVzLnRleHRTcGlubmVyLFxuICAgICAgICAgICAgICAgICAgICAgIHsgY29sb3I6IENvbG9ycy5DYW5jZWxCdXR0b24gfSxcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3BzLmNhbmNlbFRleHRTdHlsZSxcbiAgICAgICAgICAgICAgICAgICAgXX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3RoaXMucHJvcHMuY2FuY2VsVGV4dCB8fCAnQ2FuY2VsJ31cbiAgICAgICAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgICAgICA8L1RvdWNoYWJsZU9wYWNpdHk+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgPC9WaWV3PlxuICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgPC9Nb2RhbD5cbiAgICAgIDwvVmlldz5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IENyb3NzQnVzeUluZGljYXRvcjtcbiJdLCJ2ZXJzaW9uIjozfQ==