UNPKG

matrix-react-sdk

Version:
120 lines (93 loc) 12.9 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = _interopRequireDefault(require("react")); var _ContentMessages = _interopRequireDefault(require("../../ContentMessages")); var _dispatcher = _interopRequireDefault(require("../../dispatcher/dispatcher")); var _filesize = _interopRequireDefault(require("filesize")); var _languageHandler = require("../../languageHandler"); var _actions = require("../../dispatcher/actions"); var _ProgressBar = _interopRequireDefault(require("../views/elements/ProgressBar")); var _AccessibleButton = _interopRequireDefault(require("../views/elements/AccessibleButton")); var _replaceableComponent = require("../../utils/replaceableComponent"); var _dec, _class, _temp; let UploadBar = (_dec = (0, _replaceableComponent.replaceableComponent)("structures.UploadBar"), _dec(_class = (_temp = class UploadBar extends _react.default.Component /*:: <IProps, IState>*/ { constructor(props) { super(props); // Set initial state to any available upload in this room - we might be mounting // earlier than the first progress event, so should show something relevant. (0, _defineProperty2.default)(this, "dispatcherRef", void 0); (0, _defineProperty2.default)(this, "mounted", void 0); (0, _defineProperty2.default)(this, "onAction", (payload /*: ActionPayload*/ ) => { switch (payload.action) { case _actions.Action.UploadStarted: case _actions.Action.UploadProgress: case _actions.Action.UploadFinished: case _actions.Action.UploadCanceled: case _actions.Action.UploadFailed: { if (!this.mounted) return; const uploadsHere = this.getUploadsInRoom(); this.setState({ currentUpload: uploadsHere[0], uploadsHere }); break; } } }); (0, _defineProperty2.default)(this, "onCancelClick", ev => { ev.preventDefault(); _ContentMessages.default.sharedInstance().cancelUpload(this.state.currentUpload.promise); }); const _uploadsHere = this.getUploadsInRoom(); this.state = { currentUpload: _uploadsHere[0], uploadsHere: _uploadsHere }; } componentDidMount() { this.dispatcherRef = _dispatcher.default.register(this.onAction); this.mounted = true; } componentWillUnmount() { this.mounted = false; _dispatcher.default.unregister(this.dispatcherRef); } getUploadsInRoom() /*: IUpload[]*/ { const uploads = _ContentMessages.default.sharedInstance().getCurrentUploads(); return uploads.filter(u => u.roomId === this.props.room.roomId); } render() { if (!this.state.currentUpload) { return null; } // MUST use var name 'count' for pluralization to kick in const uploadText = (0, _languageHandler._t)("Uploading %(filename)s and %(count)s others", { filename: this.state.currentUpload.fileName, count: this.state.uploadsHere.length - 1 }); const uploadSize = (0, _filesize.default)(this.state.currentUpload.total); return /*#__PURE__*/_react.default.createElement("div", { className: "mx_UploadBar" }, /*#__PURE__*/_react.default.createElement("div", { className: "mx_UploadBar_filename" }, uploadText, " (", uploadSize, ")"), /*#__PURE__*/_react.default.createElement(_AccessibleButton.default, { onClick: this.onCancelClick, className: "mx_UploadBar_cancel" }), /*#__PURE__*/_react.default.createElement(_ProgressBar.default, { value: this.state.currentUpload.loaded, max: this.state.currentUpload.total })); } }, _temp)) || _class); exports.default = UploadBar; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3N0cnVjdHVyZXMvVXBsb2FkQmFyLnRzeCJdLCJuYW1lcyI6WyJVcGxvYWRCYXIiLCJSZWFjdCIsIkNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJwYXlsb2FkIiwiYWN0aW9uIiwiQWN0aW9uIiwiVXBsb2FkU3RhcnRlZCIsIlVwbG9hZFByb2dyZXNzIiwiVXBsb2FkRmluaXNoZWQiLCJVcGxvYWRDYW5jZWxlZCIsIlVwbG9hZEZhaWxlZCIsIm1vdW50ZWQiLCJ1cGxvYWRzSGVyZSIsImdldFVwbG9hZHNJblJvb20iLCJzZXRTdGF0ZSIsImN1cnJlbnRVcGxvYWQiLCJldiIsInByZXZlbnREZWZhdWx0IiwiQ29udGVudE1lc3NhZ2VzIiwic2hhcmVkSW5zdGFuY2UiLCJjYW5jZWxVcGxvYWQiLCJzdGF0ZSIsInByb21pc2UiLCJjb21wb25lbnREaWRNb3VudCIsImRpc3BhdGNoZXJSZWYiLCJkaXMiLCJyZWdpc3RlciIsIm9uQWN0aW9uIiwiY29tcG9uZW50V2lsbFVubW91bnQiLCJ1bnJlZ2lzdGVyIiwidXBsb2FkcyIsImdldEN1cnJlbnRVcGxvYWRzIiwiZmlsdGVyIiwidSIsInJvb21JZCIsInJvb20iLCJyZW5kZXIiLCJ1cGxvYWRUZXh0IiwiZmlsZW5hbWUiLCJmaWxlTmFtZSIsImNvdW50IiwibGVuZ3RoIiwidXBsb2FkU2l6ZSIsInRvdGFsIiwib25DYW5jZWxDbGljayIsImxvYWRlZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFnQkE7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBRUE7Ozs7SUFZcUJBLFMsV0FEcEIsZ0RBQXFCLHNCQUFyQixDLHlCQUFELE1BQ3FCQSxTQURyQixTQUN1Q0MsZUFBTUM7QUFEN0M7QUFDdUU7QUFJbkVDLEVBQUFBLFdBQVcsQ0FBQ0MsS0FBRCxFQUFRO0FBQ2YsVUFBTUEsS0FBTixFQURlLENBR2Y7QUFDQTs7QUFK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Z2h0IDIwMTUsIDIwMTYsIDIwMTksIDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbnlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbllvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cblVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbmRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbldJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxubGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgUm9vbSB9IGZyb20gXCJtYXRyaXgtanMtc2RrL3NyYy9tb2RlbHMvcm9vbVwiO1xuaW1wb3J0IENvbnRlbnRNZXNzYWdlcyBmcm9tICcuLi8uLi9Db250ZW50TWVzc2FnZXMnO1xuaW1wb3J0IGRpcyBmcm9tIFwiLi4vLi4vZGlzcGF0Y2hlci9kaXNwYXRjaGVyXCI7XG5pbXBvcnQgZmlsZXNpemUgZnJvbSBcImZpbGVzaXplXCI7XG5pbXBvcnQgeyBfdCB9IGZyb20gJy4uLy4uL2xhbmd1YWdlSGFuZGxlcic7XG5pbXBvcnQgeyBBY3Rpb25QYXlsb2FkIH0gZnJvbSBcIi4uLy4uL2Rpc3BhdGNoZXIvcGF5bG9hZHNcIjtcbmltcG9ydCB7IEFjdGlvbiB9IGZyb20gXCIuLi8uLi9kaXNwYXRjaGVyL2FjdGlvbnNcIjtcbmltcG9ydCBQcm9ncmVzc0JhciBmcm9tIFwiLi4vdmlld3MvZWxlbWVudHMvUHJvZ3Jlc3NCYXJcIjtcbmltcG9ydCBBY2Nlc3NpYmxlQnV0dG9uIGZyb20gXCIuLi92aWV3cy9lbGVtZW50cy9BY2Nlc3NpYmxlQnV0dG9uXCI7XG5pbXBvcnQgeyBJVXBsb2FkIH0gZnJvbSBcIi4uLy4uL21vZGVscy9JVXBsb2FkXCI7XG5pbXBvcnQge3JlcGxhY2VhYmxlQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vdXRpbHMvcmVwbGFjZWFibGVDb21wb25lbnRcIjtcblxuaW50ZXJmYWNlIElQcm9wcyB7XG4gICAgcm9vbTogUm9vbTtcbn1cblxuaW50ZXJmYWNlIElTdGF0ZSB7XG4gICAgY3VycmVudFVwbG9hZD86IElVcGxvYWQ7XG4gICAgdXBsb2Fkc0hlcmU6IElVcGxvYWRbXTtcbn1cblxuQHJlcGxhY2VhYmxlQ29tcG9uZW50KFwic3RydWN0dXJlcy5VcGxvYWRCYXJcIilcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFVwbG9hZEJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxJUHJvcHMsIElTdGF0ZT4ge1xuICAgIHByaXZhdGUgZGlzcGF0Y2hlclJlZjogc3RyaW5nO1xuICAgIHByaXZhdGUgbW91bnRlZDogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgICAgIHN1cGVyKHByb3BzKTtcblxuICAgICAgICAvLyBTZXQgaW5pdGlhbCBzdGF0ZSB0byBhbnkgYXZhaWxhYmxlIHVwbG9hZCBpbiB0aGlzIHJvb20gLSB3ZSBtaWdodCBiZSBtb3VudGluZ1xuICAgICAgICAvLyBlYXJsaWVyIHRoYW4gdGhlIGZpcnN0IHByb2dyZXNzIGV2ZW50LCBzbyBzaG91bGQgc2hvdyBzb21ldGhpbmcgcmVsZXZhbnQuXG4gICAgICAgIGNvbnN0IHVwbG9hZHNIZXJlID0gdGhpcy5nZXRVcGxvYWRzSW5Sb29tKCk7XG4gICAgICAgIHRoaXMuc3RhdGUgPSB7Y3VycmVudFVwbG9hZDogdXBsb2Fkc0hlcmVbMF0sIHVwbG9hZHNIZXJlfTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAgICAgdGhpcy5kaXNwYXRjaGVyUmVmID0gZGlzLnJlZ2lzdGVyKHRoaXMub25BY3Rpb24pO1xuICAgICAgICB0aGlzLm1vdW50ZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgICAgICB0aGlzLm1vdW50ZWQgPSBmYWxzZTtcbiAgICAgICAgZGlzLnVucmVnaXN0ZXIodGhpcy5kaXNwYXRjaGVyUmVmKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFVwbG9hZHNJblJvb20oKTogSVVwbG9hZFtdIHtcbiAgICAgICAgY29uc3QgdXBsb2FkcyA9IENvbnRlbnRNZXNzYWdlcy5zaGFyZWRJbnN0YW5jZSgpLmdldEN1cnJlbnRVcGxvYWRzKCk7XG4gICAgICAgIHJldHVybiB1cGxvYWRzLmZpbHRlcih1ID0+IHUucm9vbUlkID09PSB0aGlzLnByb3BzLnJvb20ucm9vbUlkKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uQWN0aW9uID0gKHBheWxvYWQ6IEFjdGlvblBheWxvYWQpID0+IHtcbiAgICAgICAgc3dpdGNoIChwYXlsb2FkLmFjdGlvbikge1xuICAgICAgICAgICAgY2FzZSBBY3Rpb24uVXBsb2FkU3RhcnRlZDpcbiAgICAgICAgICAgIGNhc2UgQWN0aW9uLlVwbG9hZFByb2dyZXNzOlxuICAgICAgICAgICAgY2FzZSBBY3Rpb24uVXBsb2FkRmluaXNoZWQ6XG4gICAgICAgICAgICBjYXNlIEFjdGlvbi5VcGxvYWRDYW5jZWxlZDpcbiAgICAgICAgICAgIGNhc2UgQWN0aW9uLlVwbG9hZEZhaWxlZDoge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5tb3VudGVkKSByZXR1cm47XG4gICAgICAgICAgICAgICAgY29uc3QgdXBsb2Fkc0hlcmUgPSB0aGlzLmdldFVwbG9hZHNJblJvb20oKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtjdXJyZW50VXBsb2FkOiB1cGxvYWRzSGVyZVswXSwgdXBsb2Fkc0hlcmV9KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBwcml2YXRlIG9uQ2FuY2VsQ2xpY2sgPSAoZXYpID0+IHtcbiAgICAgICAgZXYucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgQ29udGVudE1lc3NhZ2VzLnNoYXJlZEluc3RhbmNlKCkuY2FuY2VsVXBsb2FkKHRoaXMuc3RhdGUuY3VycmVudFVwbG9hZC5wcm9taXNlKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyKCkge1xuICAgICAgICBpZiAoIXRoaXMuc3RhdGUuY3VycmVudFVwbG9hZCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBNVVNUIHVzZSB2YXIgbmFtZSAnY291bnQnIGZvciBwbHVyYWxpemF0aW9uIHRvIGtpY2sgaW5cbiAgICAgICAgY29uc3QgdXBsb2FkVGV4dCA9IF90KFxuICAgICAgICAgICAgXCJVcGxvYWRpbmcgJShmaWxlbmFtZSlzIGFuZCAlKGNvdW50KXMgb3RoZXJzXCIsIHtcbiAgICAgICAgICAgICAgICBmaWxlbmFtZTogdGhpcy5zdGF0ZS5jdXJyZW50VXBsb2FkLmZpbGVOYW1lLFxuICAgICAgICAgICAgICAgIGNvdW50OiB0aGlzLnN0YXRlLnVwbG9hZHNIZXJlLmxlbmd0aCAtIDEsXG4gICAgICAgICAgICB9LFxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IHVwbG9hZFNpemUgPSBmaWxlc2l6ZSh0aGlzLnN0YXRlLmN1cnJlbnRVcGxvYWQudG90YWwpO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteF9VcGxvYWRCYXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14X1VwbG9hZEJhcl9maWxlbmFtZVwiPnt1cGxvYWRUZXh0fSAoe3VwbG9hZFNpemV9KTwvZGl2PlxuICAgICAgICAgICAgICAgIDxBY2Nlc3NpYmxlQnV0dG9uIG9uQ2xpY2s9e3RoaXMub25DYW5jZWxDbGlja30gY2xhc3NOYW1lPSdteF9VcGxvYWRCYXJfY2FuY2VsJyAvPlxuICAgICAgICAgICAgICAgIDxQcm9ncmVzc0JhciB2YWx1ZT17dGhpcy5zdGF0ZS5jdXJyZW50VXBsb2FkLmxvYWRlZH0gbWF4PXt0aGlzLnN0YXRlLmN1cnJlbnRVcGxvYWQudG90YWx9IC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=