@social-mail/social-mail-client 1.2.309 → 1.2.310

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 (33) hide show
  1. package/dist/admin/AdminAppIndex.pack.js +68 -10
  2. package/dist/admin/AdminAppIndex.pack.js.map +1 -1
  3. package/dist/admin/AdminAppIndex.pack.min.js +5 -5
  4. package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
  5. package/dist/public/channel/ChannelView.pack.js +26 -3
  6. package/dist/public/channel/ChannelView.pack.js.map +1 -1
  7. package/dist/public/channel/ChannelView.pack.min.js +2 -2
  8. package/dist/public/channel/ChannelView.pack.min.js.map +1 -1
  9. package/dist/tsconfig.tsbuildinfo +1 -1
  10. package/dist/web/AppIndex.pack.js +68 -10
  11. package/dist/web/AppIndex.pack.js.map +1 -1
  12. package/dist/web/AppIndex.pack.min.js +5 -5
  13. package/dist/web/AppIndex.pack.min.js.map +1 -1
  14. package/dist/web/commands/MailAppEvents.d.ts +6 -0
  15. package/dist/web/commands/MailAppEvents.d.ts.map +1 -0
  16. package/dist/web/commands/MailAppEvents.js +16 -0
  17. package/dist/web/commands/MailAppEvents.js.map +1 -0
  18. package/dist/web/page/mails/ConversationPage.d.ts +1 -0
  19. package/dist/web/page/mails/ConversationPage.d.ts.map +1 -1
  20. package/dist/web/page/mails/ConversationPage.js +31 -5
  21. package/dist/web/page/mails/ConversationPage.js.map +1 -1
  22. package/dist/web/page/mails/MailboxContacts.d.ts +2 -0
  23. package/dist/web/page/mails/MailboxContacts.d.ts.map +1 -1
  24. package/dist/web/page/mails/MailboxContacts.js +11 -2
  25. package/dist/web/page/mails/MailboxContacts.js.map +1 -1
  26. package/dist/web/page/mails/service/ConversationService.d.ts.map +1 -1
  27. package/dist/web/page/mails/service/ConversationService.js +6 -2
  28. package/dist/web/page/mails/service/ConversationService.js.map +1 -1
  29. package/package.json +1 -1
  30. package/src/web/commands/MailAppEvents.ts +8 -0
  31. package/src/web/page/mails/ConversationPage.tsx +35 -5
  32. package/src/web/page/mails/MailboxContacts.tsx +8 -0
  33. package/src/web/page/mails/service/ConversationService.tsx +3 -0
@@ -178,6 +178,19 @@ export default class ConversationPage extends ContentPage {
178
178
 
179
179
  const isDraft = item.status === "draft";
180
180
 
181
+ if (item.status === "closed") {
182
+ return <div
183
+ class={itemCss}
184
+ data-sent={sent}>
185
+ <div data-layout="row">
186
+ <div data-flex="stretch-full" text={`Closed by ${item.senderName}`}/>
187
+ <div
188
+ text={DateFormats.relative.short(internalDate)}
189
+ title={DateFormats.withWeekDayAndTime(internalDate)}/>
190
+ </div>
191
+ </div>;
192
+ }
193
+
181
194
  let readStatus = "";
182
195
  let readColor = "";
183
196
  if (sent) {
@@ -297,18 +310,21 @@ export default class ConversationPage extends ContentPage {
297
310
  this.actionRenderer = () => <PopupActionButton
298
311
  icon="fas fa-bars"
299
312
  >
300
- <div data-layout="vertical-flex" style-width="200px">
313
+ <div
314
+ data-layout="vertical-flex"
315
+ style-width="200px"
316
+ data-font-size="small">
301
317
  <MenuItem
302
318
  data-click-event="close-all-threads"
303
319
  label="Close All Threads"
304
320
  />
305
- { this.parameters.autoClose
321
+ { !this.parameters.autoClose
306
322
  ? <MenuItem
307
323
  data-click-event="close-permanently"
308
324
  label="Close Threads Permanently"
309
325
  />
310
326
  : <MenuItem
311
- data-click-event="close-permanently"
327
+ data-click-event="open-threads"
312
328
  label="Open Threads on new Email"
313
329
  />}
314
330
  { this.parameters.blocked
@@ -426,16 +442,30 @@ export default class ConversationPage extends ContentPage {
426
442
  await this.conversationService.stopEmail(thread);
427
443
  }
428
444
 
429
- @Action({ onEvent: "close-all-threads"})
445
+ @Action({
446
+ onEvent: "close-all-threads",
447
+ confirm: "You sure you want to close all threads?"
448
+ })
430
449
  async closeAllThreads() {
431
450
  await this.conversationService.closeAllThreads(this.parameters);
432
451
  }
433
452
 
434
- @Action({ onEvent: "close-permanently"})
453
+ @Action({
454
+ onEvent: "close-permanently",
455
+ confirm: "Are you sure, you wan to close this contact permanently?"
456
+ })
435
457
  async closePermament() {
436
458
  await this.conversationService.closePermanently(this.parameters);
437
459
  }
438
460
 
461
+ @Action({
462
+ onEvent: "open-threads",
463
+ confirm: "Are you sure you want to change this contact to normal?"
464
+ })
465
+ async openThreads() {
466
+ await this.conversationService.closePermanently(this.parameters);
467
+ }
468
+
439
469
  @Action({ onEvent: "forward-email"})
440
470
  async forwardEmail(thread: IMailboxContactEmail, ce: CustomEvent) {
441
471
  void InlinePopup.show(ce.target as HTMLElement, <div
@@ -25,6 +25,7 @@ import AddMiniContactPage from "./contact/AddMiniContactPage";
25
25
  import PopupService from "@web-atoms/core/dist/web/services/PopupService";
26
26
  import MailboxService from "../../../common/pages/mailboxes/services/MailboxService";
27
27
  import { toKMBString } from "../../../common/NumberFormats";
28
+ import { MailAppEvents } from "../../commands/MailAppEvents";
28
29
 
29
30
  const css = styled.css `
30
31
 
@@ -201,6 +202,7 @@ export default class MailsPage extends MasterDetailPage {
201
202
  private version = 1;
202
203
 
203
204
  private conversationType = "all";
205
+ private threadsRepeater: AtomRepeater;
204
206
 
205
207
  async init() {
206
208
 
@@ -251,6 +253,7 @@ export default class MailsPage extends MasterDetailPage {
251
253
  data-items-updated-event="mails-available"
252
254
  data-selection-updated-event="mail-selected"
253
255
  selectedItem={Bind.twoWays(() => this.selectedThread)}
256
+ presenter={Bind.presenter((c) => this.threadsRepeater = c)}
254
257
  selectOnClick={true}
255
258
  items={this.mails}
256
259
  { ... InfiniteRepeater.pagedItems((start) => (c, e, cancelToken) => this.mailService.list({
@@ -307,6 +310,11 @@ export default class MailsPage extends MasterDetailPage {
307
310
  }));
308
311
  }
309
312
 
313
+ @Action({ onEvent: MailAppEvents.mailboxContactUpdated})
314
+ updateMailboxContact(mc: IMailboxContact) {
315
+ this.threadsRepeater.refreshItem(mc);
316
+ }
317
+
310
318
  @Action({ onEvent: "compose-template"})
311
319
  async composeTemplate() {
312
320
  const template = await PageNavigator.pushPageForResult(ChooserTemplatePage);
@@ -14,6 +14,7 @@ import BusyProgress from "../../../../services/BusyProgress";
14
14
  import EmailContentDownloader from "../../../../services/email/EmailContentDownloader";
15
15
  import EngagementService from "./EngagementService";
16
16
  import { apiPath } from "../../../../common/apiPath";
17
+ import { MailAppEvents } from "../../../commands/MailAppEvents";
17
18
 
18
19
  export const renderMail = AtomControl.registerProperty("data-html", "html", (c, e, value) => {
19
20
  if (!value) {
@@ -110,12 +111,14 @@ export default class ConversationService {
110
111
  contact.closeAllConversations = true;
111
112
  await this.entityService.save(contact, (c) => c);
112
113
  (contact as any).openThreads = 0;
114
+ MailAppEvents.mailboxContactUpdated.dispatchEvent(contact);
113
115
  }
114
116
 
115
117
  async closePermanently(contact: IMailboxContact) {
116
118
  contact.autoClose = !contact.autoClose;
117
119
  contact.dateUpdated = DateTime.now;
118
120
  await this.entityService.save(contact, (c) => c);
121
+ MailAppEvents.mailboxContactUpdated.dispatchEvent(contact);
119
122
  }
120
123
 
121
124
  public async getDraft({ mailboxID, emailAddressID, email }: IMailboxContactEmail) {