@social-mail/social-mail-client 1.0.48 → 1.0.50

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.
Files changed (49) hide show
  1. package/dist/admin/AdminAppIndex.pack.js +40 -15
  2. package/dist/admin/AdminAppIndex.pack.js.map +1 -1
  3. package/dist/admin/AdminAppIndex.pack.min.js +6 -6
  4. package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
  5. package/dist/common/controls/drag-drop/FilesDragDrop.js +147 -0
  6. package/dist/common/controls/drag-drop/FilesDragDrop.js.map +1 -0
  7. package/dist/common/controls/tree/TreeView.js +7 -2
  8. package/dist/common/controls/tree/TreeView.js.map +1 -1
  9. package/dist/common/pages/mailboxes/services/MailboxService.js +1 -1
  10. package/dist/common/pages/mailboxes/services/MailboxService.js.map +1 -1
  11. package/dist/model/model.js.map +1 -1
  12. package/dist/services/files/LocalFileService.js +10 -2
  13. package/dist/services/files/LocalFileService.js.map +1 -1
  14. package/dist/services/socket/sockets.js +3 -1
  15. package/dist/services/socket/sockets.js.map +1 -1
  16. package/dist/tsconfig.tsbuildinfo +1 -1
  17. package/dist/web/AppIndex.pack.js +247 -41
  18. package/dist/web/AppIndex.pack.js.map +1 -1
  19. package/dist/web/AppIndex.pack.min.js +20 -10
  20. package/dist/web/AppIndex.pack.min.js.map +1 -1
  21. package/dist/web/page/files/FolderPage.js +37 -17
  22. package/dist/web/page/files/FolderPage.js.map +1 -1
  23. package/dist/web/page/files/service/CloudFileService.js +12 -6
  24. package/dist/web/page/files/service/CloudFileService.js.map +1 -1
  25. package/dist/web/page/mails/MailsPage.js +7 -7
  26. package/dist/web/page/mails/MailsPage.js.map +1 -1
  27. package/dist/web/page/mails/service/MailService.js +8 -2
  28. package/dist/web/page/mails/service/MailService.js.map +1 -1
  29. package/node_modules/@web-atoms/web-controls/dist/basic/AtomRepeater.js +3 -0
  30. package/node_modules/@web-atoms/web-controls/dist/basic/AtomRepeater.js.map +1 -1
  31. package/node_modules/@web-atoms/web-controls/dist/basic/UploadEvent.d.ts +3 -1
  32. package/node_modules/@web-atoms/web-controls/dist/basic/UploadEvent.d.ts.map +1 -1
  33. package/node_modules/@web-atoms/web-controls/dist/basic/UploadEvent.js +8 -2
  34. package/node_modules/@web-atoms/web-controls/dist/basic/UploadEvent.js.map +1 -1
  35. package/node_modules/@web-atoms/web-controls/dist/tsconfig.tsbuildinfo +1 -1
  36. package/node_modules/@web-atoms/web-controls/package.json +1 -1
  37. package/node_modules/@web-atoms/web-controls/src/basic/AtomRepeater.tsx +3 -0
  38. package/node_modules/@web-atoms/web-controls/src/basic/UploadEvent.tsx +7 -0
  39. package/package.json +2 -2
  40. package/src/common/controls/drag-drop/FilesDragDrop.ts +110 -0
  41. package/src/common/controls/tree/TreeView.tsx +8 -1
  42. package/src/common/pages/mailboxes/services/MailboxService.ts +1 -1
  43. package/src/model/model.ts +1 -0
  44. package/src/services/files/LocalFileService.tsx +12 -2
  45. package/src/services/socket/sockets.ts +3 -1
  46. package/src/web/page/files/FolderPage.tsx +27 -14
  47. package/src/web/page/files/service/CloudFileService.ts +14 -4
  48. package/src/web/page/mails/MailsPage.tsx +8 -7
  49. package/src/web/page/mails/service/MailService.ts +6 -2
@@ -15661,6 +15661,9 @@ System.register(["tslib", "@web-atoms/core/dist/core/AtomBinder", "@web-atoms/co
15661
15661
  targetRepeater.items.insert(detail.index, detail.item);
15662
15662
  });
15663
15663
  dragOver = e => {
15664
+ if (!e.dataTransfer) {
15665
+ return;
15666
+ }
15664
15667
  if (hoverItem) {
15665
15668
  const {
15666
15669
  placeholder
@@ -18437,7 +18440,7 @@ System.register(["tslib", "@web-atoms/core/dist/di/DITransient", "@web-atoms/cor
18437
18440
  }
18438
18441
  q = q.where({
18439
18442
  search
18440
- }, p => x => Sql.text.like(x.emailAddress.emailAddress, p.search) || Sql.text.like(x.name, p.search));
18443
+ }, p => x => Sql.text.like(x.emailAddress.emailAddress, p.search) || Sql.text.like(x.emailAddress.name, p.search));
18441
18444
  }
18442
18445
  }
18443
18446
  return q.include(x => x.emailAddress).toPagedList({
@@ -18759,9 +18762,15 @@ System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/cor
18759
18762
  }],
18760
18763
  execute: function () {
18761
18764
  MailService = class MailService {
18762
- mailboxes() {
18765
+ mailboxes(mailboxID) {
18763
18766
  return __awaiter(this, void 0, void 0, function* () {
18764
- return this.entityService.query(Mailbox).include(x => x.emailAddress).toArray();
18767
+ let q = this.entityService.query(Mailbox);
18768
+ if (mailboxID) {
18769
+ q = q.orderByDescending({
18770
+ mailboxID
18771
+ }, p => x => x.mailboxID === p.mailboxID);
18772
+ }
18773
+ return q.include(x => x.emailAddress).toArray();
18765
18774
  });
18766
18775
  }
18767
18776
  list({
@@ -21952,6 +21961,7 @@ System.register(["tslib", "@web-atoms/core/dist/App", "@web-atoms/core/dist/core
21952
21961
  const multiple = element.getAttribute("data-multiple") === "true";
21953
21962
  const extra = (_a = element.extra) !== null && _a !== void 0 ? _a : element.getAttribute("data-extra");
21954
21963
  const upload = element.getAttribute("data-upload") === "true";
21964
+ const folder = element.hasAttribute("data-folder");
21955
21965
  const uploadEvent = StringHelper.fromHyphenToCamel(element.getAttribute("data-upload-event"));
21956
21966
  const chain = [];
21957
21967
  let start = element;
@@ -21963,6 +21973,9 @@ System.register(["tslib", "@web-atoms/core/dist/App", "@web-atoms/core/dist/core
21963
21973
  const file = document.createElement("input");
21964
21974
  file.type = "file";
21965
21975
  file.multiple = multiple;
21976
+ if (folder) {
21977
+ file.webkitdirectory = folder;
21978
+ }
21966
21979
  const accept = element.getAttribute("data-accept") || "*/*";
21967
21980
  file.accept = accept;
21968
21981
  const capture = element.getAttribute("data-capture");
@@ -22055,10 +22068,12 @@ System.register(["tslib", "@web-atoms/core/dist/App", "@web-atoms/core/dist/core
22055
22068
  extra,
22056
22069
  upload = true,
22057
22070
  authorize = true,
22058
- ariaLabel = "Upload"
22071
+ ariaLabel = "Upload",
22072
+ folder = false
22059
22073
  } = _a,
22060
- others = __rest(_a, ["uploadEvent", "accept", "capture", "multiple", "forceType", "maxSize", "extra", "upload", "authorize", "ariaLabel"]);
22074
+ others = __rest(_a, ["uploadEvent", "accept", "capture", "multiple", "forceType", "maxSize", "extra", "upload", "authorize", "ariaLabel", "folder"]);
22061
22075
  return Object.assign(Object.assign({}, others), {
22076
+ "data-folder": folder ? "true" : void 0,
22062
22077
  "data-click-command": uploadCommand.name,
22063
22078
  "data-upload-event": uploadEvent,
22064
22079
  "data-accept": accept,
@@ -22218,19 +22233,27 @@ System.register(["tslib", "@web-atoms/core/dist/App", "@web-atoms/core/dist/core
22218
22233
  }
22219
22234
  });
22220
22235
  let postUrl = "/api/upload";
22236
+ const s = new URLSearchParams();
22221
22237
  if (extra) {
22222
22238
  if (typeof extra === "string") {
22223
22239
  extra = JSON.parse(extra);
22224
22240
  }
22225
- const s = new URLSearchParams();
22226
22241
  for (const key in extra) {
22227
22242
  if (Object.prototype.hasOwnProperty.call(extra, key)) {
22228
22243
  const element = extra[key];
22229
22244
  s.append(key, element);
22230
22245
  }
22231
22246
  }
22232
- postUrl += "?" + s.toString();
22233
22247
  }
22248
+ if (file.webkitRelativePath) {
22249
+ const folders = file.webkitRelativePath.split("/");
22250
+ folders.pop();
22251
+ if (folders.length) {
22252
+ const folder = folders.join("/");
22253
+ s.append("folder", folder);
22254
+ }
22255
+ }
22256
+ postUrl += "?" + s.toString();
22234
22257
  xhr.open("POST", postUrl, true);
22235
22258
  xhr.send(body);
22236
22259
  });
@@ -23747,8 +23770,10 @@ System.register(["tslib", "@web-atoms/core/dist/core/AtomDisposableList", "@web-
23747
23770
  _export("MailboxSocket", MailboxSocket = class MailboxSocket {
23748
23771
  join(room, events) {
23749
23772
  return __awaiter(this, void 0, void 0, function* () {
23773
+ const disposables = new AtomDisposableList();
23750
23774
  const ns = SocketNamespace.for("mailbox");
23751
- return ns.connect(room, events);
23775
+ ns.connect(room, events).then(v => disposables.add(v), console.error);
23776
+ return disposables;
23752
23777
  });
23753
23778
  }
23754
23779
  });
@@ -24139,20 +24164,15 @@ System.register(["tslib", "@web-atoms/core/dist/core/InjectProperty", "@web-atom
24139
24164
  init() {
24140
24165
  var _a, _b;
24141
24166
  return __awaiter(this, void 0, void 0, function* () {
24142
- const mailboxes = yield this.mailService.mailboxes();
24167
+ const mailboxID = this.parameters.id;
24168
+ const mailboxes = yield this.mailService.mailboxes(mailboxID);
24143
24169
  this.element.className = css;
24144
24170
  this.actionRenderer = () => XNode.create("i", {
24145
24171
  class: "fas fa-plus",
24146
24172
  "data-click-event": "compose-email"
24147
24173
  });
24148
- const mailboxID = this.parameters.id;
24149
24174
  const first = (_a = mailboxID ? mailboxes.find(m => m.mailboxID === mailboxID) : null) !== null && _a !== void 0 ? _a : mailboxes[0];
24150
24175
  this.currentMailboxID = first.mailboxID;
24151
- this.registerDisposable(yield this.resolve(MailboxSocket).join(this.currentMailboxID.toString(), {
24152
- newMail: (_, emailAddressID, emailID) => {
24153
- this.version++;
24154
- }
24155
- }));
24156
24176
  document.title = (_b = first === null || first === void 0 ? void 0 : first.emailAddress) === null || _b === void 0 ? void 0 : _b.name;
24157
24177
  this.titleRenderer = () => XNode.create("div", {
24158
24178
  "data-layout": "row"
@@ -24193,6 +24213,11 @@ System.register(["tslib", "@web-atoms/core/dist/core/InjectProperty", "@web-atom
24193
24213
  title: `Unread ${item.unread} out of ${item.total}`
24194
24214
  }))
24195
24215
  })));
24216
+ this.registerDisposable(yield this.resolve(MailboxSocket).join(this.currentMailboxID.toString(), {
24217
+ newMail: (_, emailAddressID, emailID) => {
24218
+ this.version++;
24219
+ }
24220
+ }));
24196
24221
  });
24197
24222
  }
24198
24223
  mailsAvailable() {