UNPKG

@uimkit/uikit-react

Version:

<img style="width:64px" src="https://mgmt.uimkit.chat/media/img/avatar.png"/>

63 lines (56 loc) 3.47 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var tslib = require('tslib'); var React = require('react'); var constants = require('../../constants.js'); var models = require('../../types/models.js'); require('../../types/events.js'); require('../../context/TranslationContext.js'); require('../../context/UIKitContext.js'); require('../../context/ComponentContext.js'); require('../../context/ChatActionContext.js'); require('../../context/MessageInputContext.js'); var UIMessageContext = require('../../context/UIMessageContext.js'); var ChatStateContext = require('../../context/ChatStateContext.js'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var React__default = /*#__PURE__*/_interopDefaultLegacy(React); function MessageProgressWithContext(props) { var message = props.message, children = props.children, propsProgress = props.Progress, _a = props.isShow, propsIsShow = _a === void 0 ? true : _a; var _b = React.useState(), progressMessage = _b[0], setProgressMessage = _b[1]; var _c = React.useState(0); _c[0]; var setProgress = _c[1]; var uploadPenddingMessageList = ChatStateContext.useChatStateContext('MessageProgressWithContext').uploadPenddingMessageList; var _d = UIMessageContext.useUIMessageContext('MessageProgressWithContext'), _e = _d.isShowProgress, contextIsShow = _e === void 0 ? false : _e, contextProgress = _d.Progress; var Progress = propsProgress || contextProgress; var isShow = propsIsShow || contextIsShow; var handleLoading = function () { return !!(((message === null || message === void 0 ? void 0 : message.type) === models.MessageType.Image || (message === null || message === void 0 ? void 0 : message.type) === models.MessageType.Video || (message === null || message === void 0 ? void 0 : message.type) === models.MessageType.File) && (!(message === null || message === void 0 ? void 0 : message.status) || (message === null || message === void 0 ? void 0 : message.status) === constants.MESSAGE_STATUS.UNSEND)); }; React.useEffect(function () { if (uploadPenddingMessageList && uploadPenddingMessageList.length > 0) { uploadPenddingMessageList.map(function (item) { if ((item === null || item === void 0 ? void 0 : item.id) === (message === null || message === void 0 ? void 0 : message.id)) { setProgressMessage(item); setProgress(item === null || item === void 0 ? void 0 : item.progress); } return item; }); } }, [uploadPenddingMessageList]); if (!isShow) { return null; } if (Progress) { return React__default["default"].createElement(Progress, { message: progressMessage }); } return handleLoading() && (React__default["default"].createElement("div", { className: "progress-box" }, React__default["default"].createElement("span", { className: "progress", style: { width: "".concat(message.progress * 100, "%"), } }), children)); } var MemoizedMessageProgress = React__default["default"].memo(MessageProgressWithContext); function MessageProgress(props) { return (React__default["default"].createElement(MemoizedMessageProgress, tslib.__assign({}, props))); } exports.MessageProgress = MessageProgress; //# sourceMappingURL=MessageProgress.js.map