@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.
@@ -24332,10 +24332,10 @@ System.register(["tslib", "@web-atoms/core/dist/App", "@web-atoms/core/dist/core
24332
24332
 
24333
24333
  AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/UploadEvent");
24334
24334
 
24335
- 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) {
24335
+ 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) {
24336
24336
  "use strict";
24337
24337
 
24338
- var __awaiter, __decorate, __metadata, App, CancelToken, DISingleton, Inject, StringHelper, styled, PopupWindow, InjectProperty, XNode, AtomRepeater, Bind, PopupService, FileUploadWindow, acceptDocumentAndMedia, LocalFileService;
24338
+ var __awaiter, __decorate, __metadata, App, CancelToken, DISingleton, Inject, StringHelper, styled, PopupWindow, InjectProperty, XNode, AtomRepeater, Bind, PopupService, TaskManager, FileUploadWindow, acceptDocumentAndMedia, LocalFileService;
24339
24339
  return {
24340
24340
  setters: [function (_tslib) {
24341
24341
  __awaiter = _tslib.__awaiter;
@@ -24365,22 +24365,17 @@ System.register(["tslib", "@web-atoms/core/dist/App", "@web-atoms/core/dist/core
24365
24365
  Bind = _webAtomsCoreDistCoreBind.default;
24366
24366
  }, function (_webAtomsCoreDistWebServicesPopupService) {
24367
24367
  PopupService = _webAtomsCoreDistWebServicesPopupService.default;
24368
+ }, function (_webAtomsEntityDistModelsTaskManager) {
24369
+ TaskManager = _webAtomsEntityDistModelsTaskManager.default;
24368
24370
  }],
24369
24371
  execute: function () {
24370
24372
  _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");
24371
24373
  styled.css`
24372
24374
  display: inline-grid;
24373
24375
  grid-template-rows: auto auto;
24374
- grid-template-columns: auto 1fr auto;
24375
-
24376
- & > [data-element=preview] {
24377
- grid-row: 1 / span 2;
24378
- grid-column: 1;
24379
- }
24380
24376
 
24381
24377
  & > [data-element=file-name] {
24382
24378
  grid-row: 1;
24383
- grid-column: 2;
24384
24379
  overflow: hidden;
24385
24380
  white-space: nowrap;
24386
24381
  text-overflow: ellipsis;
@@ -24388,17 +24383,13 @@ System.register(["tslib", "@web-atoms/core/dist/App", "@web-atoms/core/dist/core
24388
24383
 
24389
24384
  & > [data-element=progress] {
24390
24385
  grid-row: 2;
24391
- grid-column: 2 / span 2;
24392
24386
  width: 100%;
24393
24387
  }
24394
24388
 
24395
- & > [data-element=delete] {
24396
- grid-row: 1;
24397
- grid-column: 3;
24398
- }
24399
24389
  `.installGlobal("[data-attachment-file]");
24400
- LocalFileService = class LocalFileService {
24390
+ LocalFileService = class LocalFileService extends TaskManager {
24401
24391
  constructor() {
24392
+ super();
24402
24393
  document.body.addEventListener("uploadRequested", ce => {
24403
24394
  const {
24404
24395
  target,
@@ -24509,15 +24500,31 @@ System.register(["tslib", "@web-atoms/core/dist/App", "@web-atoms/core/dist/core
24509
24500
  });
24510
24501
  }
24511
24502
  upload(files, extra, ct) {
24512
- return __awaiter(this, void 0, void 0, function* () {
24513
- return files.map(file => {
24514
- const uploadFile = {
24515
- name: file.name
24516
- };
24517
- uploadFile.promise = this.uploadFile(file, extra, ct, n => uploadFile.progress = n);
24518
- return uploadFile;
24519
- });
24520
- });
24503
+ const {
24504
+ parentID
24505
+ } = extra;
24506
+ const tasks = [];
24507
+ const upload = {
24508
+ total: 0,
24509
+ tasks,
24510
+ progress: 0
24511
+ };
24512
+ for (const file of files) {
24513
+ upload.total += file.size;
24514
+ const uploadFile = {
24515
+ name: file.name,
24516
+ progress: 0
24517
+ };
24518
+ uploadFile.promise = this.run(() => __awaiter(this, void 0, void 0, function* () {
24519
+ uploadFile.progress = 0.01;
24520
+ const r = yield this.uploadFile(file, extra, ct, n => uploadFile.progress = n);
24521
+ upload.progress += r.file.size;
24522
+ setTimeout(() => tasks.remove(uploadFile), 500);
24523
+ return r;
24524
+ }));
24525
+ tasks.push(uploadFile);
24526
+ }
24527
+ return upload;
24521
24528
  }
24522
24529
  };
24523
24530
  __decorate([Inject, __metadata("design:type", App)], LocalFileService.prototype, "app", void 0);
@@ -24541,8 +24548,21 @@ System.register(["tslib", "@web-atoms/core/dist/App", "@web-atoms/core/dist/core
24541
24548
  }), null, {
24542
24549
  capture: true
24543
24550
  });
24544
- this.files = yield this.localFileService.upload(this.parameters.files, this.parameters.extra, this.cancelToken);
24545
- this.render(XNode.create("div", null, XNode.create(AtomRepeater, {
24551
+ const task = this.localFileService.upload(this.parameters.files, this.parameters.extra, this.cancelToken);
24552
+ this.files = task.tasks;
24553
+ this.footerRenderer = () => XNode.create("div", {
24554
+ "data-layout": "command-row"
24555
+ }, XNode.create("progress", {
24556
+ min: 0,
24557
+ max: task.total,
24558
+ value: Bind.source(task, x => x.source.progress)
24559
+ }));
24560
+ this.render(XNode.create("div", {
24561
+ "data-overflow": "auto",
24562
+ "style-max-height": "500px",
24563
+ "style-max-width": "400px"
24564
+ }, XNode.create(AtomRepeater, {
24565
+ "data-layout": "vertical-flex-stretch-items",
24546
24566
  items: this.files,
24547
24567
  itemRenderer: file => XNode.create("div", {
24548
24568
  "data-attachment-file": "file"
@@ -24550,8 +24570,9 @@ System.register(["tslib", "@web-atoms/core/dist/App", "@web-atoms/core/dist/core
24550
24570
  "data-element": "file-name",
24551
24571
  text: file.name
24552
24572
  }), XNode.create("progress", {
24573
+ "style-display": Bind.source(file, x => x.source.progress > 0),
24553
24574
  min: 0,
24554
- max: 100,
24575
+ max: 1,
24555
24576
  value: Bind.source(file, x => x.source.progress)
24556
24577
  }))
24557
24578
  })));