@social-mail/social-mail-client 1.2.2 → 1.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -21173,10 +21173,10 @@ System.register(["tslib", "@web-atoms/core/dist/App", "@web-atoms/core/dist/core
21173
21173
 
21174
21174
  AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/UploadEvent");
21175
21175
 
21176
- System.register(["tslib", "@web-atoms/core/dist/App", "@web-atoms/core/dist/core/types", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/core/dist/di/Inject", "@web-atoms/core/dist/core/StringHelper", "@web-atoms/core/dist/style/styled", "@web-atoms/core/dist/web/services/PopupWindow", "@web-atoms/core/dist/core/InjectProperty", "@web-atoms/core/dist/core/XNode", "@web-atoms/web-controls/dist/basic/AtomRepeater", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dist/web/services/PopupService"], function (_export, _context) {
21176
+ System.register(["tslib", "@web-atoms/core/dist/App", "@web-atoms/core/dist/core/types", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/core/dist/di/Inject", "@web-atoms/core/dist/core/StringHelper", "@web-atoms/core/dist/style/styled", "@web-atoms/core/dist/web/services/PopupWindow", "@web-atoms/core/dist/core/InjectProperty", "@web-atoms/core/dist/core/XNode", "@web-atoms/web-controls/dist/basic/AtomRepeater", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dist/web/services/PopupService", "@web-atoms/entity/dist/models/TaskManager"], function (_export, _context) {
21177
21177
  "use strict";
21178
21178
 
21179
- var __awaiter, __decorate, __metadata, App, CancelToken, DISingleton, Inject, StringHelper, styled, PopupWindow, InjectProperty, XNode, AtomRepeater, Bind, PopupService, FileUploadWindow, acceptDocumentAndMedia, LocalFileService;
21179
+ var __awaiter, __decorate, __metadata, App, CancelToken, DISingleton, Inject, StringHelper, styled, PopupWindow, InjectProperty, XNode, AtomRepeater, Bind, PopupService, TaskManager, FileUploadWindow, acceptDocumentAndMedia, LocalFileService;
21180
21180
  return {
21181
21181
  setters: [function (_tslib) {
21182
21182
  __awaiter = _tslib.__awaiter;
@@ -21206,22 +21206,17 @@ System.register(["tslib", "@web-atoms/core/dist/App", "@web-atoms/core/dist/core
21206
21206
  Bind = _webAtomsCoreDistCoreBind.default;
21207
21207
  }, function (_webAtomsCoreDistWebServicesPopupService) {
21208
21208
  PopupService = _webAtomsCoreDistWebServicesPopupService.default;
21209
+ }, function (_webAtomsEntityDistModelsTaskManager) {
21210
+ TaskManager = _webAtomsEntityDistModelsTaskManager.default;
21209
21211
  }],
21210
21212
  execute: function () {
21211
21213
  _export("acceptDocumentAndMedia", acceptDocumentAndMedia = ".doc, .docx, application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document, video/*, application/pdf, .pdf, .txt, audio/*, image/*, .csv, text/csv, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, text/plain, text/html");
21212
21214
  styled.css`
21213
21215
  display: inline-grid;
21214
21216
  grid-template-rows: auto auto;
21215
- grid-template-columns: auto 1fr auto;
21216
-
21217
- & > [data-element=preview] {
21218
- grid-row: 1 / span 2;
21219
- grid-column: 1;
21220
- }
21221
21217
 
21222
21218
  & > [data-element=file-name] {
21223
21219
  grid-row: 1;
21224
- grid-column: 2;
21225
21220
  overflow: hidden;
21226
21221
  white-space: nowrap;
21227
21222
  text-overflow: ellipsis;
@@ -21229,17 +21224,13 @@ System.register(["tslib", "@web-atoms/core/dist/App", "@web-atoms/core/dist/core
21229
21224
 
21230
21225
  & > [data-element=progress] {
21231
21226
  grid-row: 2;
21232
- grid-column: 2 / span 2;
21233
21227
  width: 100%;
21234
21228
  }
21235
21229
 
21236
- & > [data-element=delete] {
21237
- grid-row: 1;
21238
- grid-column: 3;
21239
- }
21240
21230
  `.installGlobal("[data-attachment-file]");
21241
- LocalFileService = class LocalFileService {
21231
+ LocalFileService = class LocalFileService extends TaskManager {
21242
21232
  constructor() {
21233
+ super();
21243
21234
  document.body.addEventListener("uploadRequested", ce => {
21244
21235
  const {
21245
21236
  target,
@@ -21350,15 +21341,31 @@ System.register(["tslib", "@web-atoms/core/dist/App", "@web-atoms/core/dist/core
21350
21341
  });
21351
21342
  }
21352
21343
  upload(files, extra, ct) {
21353
- return __awaiter(this, void 0, void 0, function* () {
21354
- return files.map(file => {
21355
- const uploadFile = {
21356
- name: file.name
21357
- };
21358
- uploadFile.promise = this.uploadFile(file, extra, ct, n => uploadFile.progress = n);
21359
- return uploadFile;
21360
- });
21361
- });
21344
+ const {
21345
+ parentID
21346
+ } = extra;
21347
+ const tasks = [];
21348
+ const upload = {
21349
+ total: 0,
21350
+ tasks,
21351
+ progress: 0
21352
+ };
21353
+ for (const file of files) {
21354
+ upload.total += file.size;
21355
+ const uploadFile = {
21356
+ name: file.name,
21357
+ progress: 0
21358
+ };
21359
+ uploadFile.promise = this.run(() => __awaiter(this, void 0, void 0, function* () {
21360
+ uploadFile.progress = 0.01;
21361
+ const r = yield this.uploadFile(file, extra, ct, n => uploadFile.progress = n);
21362
+ upload.progress += r.file.size;
21363
+ setTimeout(() => tasks.remove(uploadFile), 500);
21364
+ return r;
21365
+ }));
21366
+ tasks.push(uploadFile);
21367
+ }
21368
+ return upload;
21362
21369
  }
21363
21370
  };
21364
21371
  __decorate([Inject, __metadata("design:type", App)], LocalFileService.prototype, "app", void 0);
@@ -21382,8 +21389,21 @@ System.register(["tslib", "@web-atoms/core/dist/App", "@web-atoms/core/dist/core
21382
21389
  }), null, {
21383
21390
  capture: true
21384
21391
  });
21385
- this.files = yield this.localFileService.upload(this.parameters.files, this.parameters.extra, this.cancelToken);
21386
- this.render(XNode.create("div", null, XNode.create(AtomRepeater, {
21392
+ const task = this.localFileService.upload(this.parameters.files, this.parameters.extra, this.cancelToken);
21393
+ this.files = task.tasks;
21394
+ this.footerRenderer = () => XNode.create("div", {
21395
+ "data-layout": "command-row"
21396
+ }, XNode.create("progress", {
21397
+ min: 0,
21398
+ max: task.total,
21399
+ value: Bind.source(task, x => x.source.progress)
21400
+ }));
21401
+ this.render(XNode.create("div", {
21402
+ "data-overflow": "auto",
21403
+ "style-max-height": "500px",
21404
+ "style-max-width": "400px"
21405
+ }, XNode.create(AtomRepeater, {
21406
+ "data-layout": "vertical-flex-stretch-items",
21387
21407
  items: this.files,
21388
21408
  itemRenderer: file => XNode.create("div", {
21389
21409
  "data-attachment-file": "file"
@@ -21391,8 +21411,9 @@ System.register(["tslib", "@web-atoms/core/dist/App", "@web-atoms/core/dist/core
21391
21411
  "data-element": "file-name",
21392
21412
  text: file.name
21393
21413
  }), XNode.create("progress", {
21414
+ "style-display": Bind.source(file, x => x.source.progress > 0),
21394
21415
  min: 0,
21395
- max: 100,
21416
+ max: 1,
21396
21417
  value: Bind.source(file, x => x.source.progress)
21397
21418
  }))
21398
21419
  })));