@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.
- package/dist/admin/AdminAppIndex.pack.js +68 -10
- package/dist/admin/AdminAppIndex.pack.js.map +1 -1
- package/dist/admin/AdminAppIndex.pack.min.js +5 -5
- package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
- package/dist/public/channel/ChannelView.pack.js +26 -3
- package/dist/public/channel/ChannelView.pack.js.map +1 -1
- package/dist/public/channel/ChannelView.pack.min.js +2 -2
- package/dist/public/channel/ChannelView.pack.min.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/web/AppIndex.pack.js +68 -10
- package/dist/web/AppIndex.pack.js.map +1 -1
- package/dist/web/AppIndex.pack.min.js +5 -5
- package/dist/web/AppIndex.pack.min.js.map +1 -1
- package/dist/web/commands/MailAppEvents.d.ts +6 -0
- package/dist/web/commands/MailAppEvents.d.ts.map +1 -0
- package/dist/web/commands/MailAppEvents.js +16 -0
- package/dist/web/commands/MailAppEvents.js.map +1 -0
- package/dist/web/page/mails/ConversationPage.d.ts +1 -0
- package/dist/web/page/mails/ConversationPage.d.ts.map +1 -1
- package/dist/web/page/mails/ConversationPage.js +31 -5
- package/dist/web/page/mails/ConversationPage.js.map +1 -1
- package/dist/web/page/mails/MailboxContacts.d.ts +2 -0
- package/dist/web/page/mails/MailboxContacts.d.ts.map +1 -1
- package/dist/web/page/mails/MailboxContacts.js +11 -2
- package/dist/web/page/mails/MailboxContacts.js.map +1 -1
- package/dist/web/page/mails/service/ConversationService.d.ts.map +1 -1
- package/dist/web/page/mails/service/ConversationService.js +6 -2
- package/dist/web/page/mails/service/ConversationService.js.map +1 -1
- package/package.json +1 -1
- package/src/web/commands/MailAppEvents.ts +8 -0
- package/src/web/page/mails/ConversationPage.tsx +35 -5
- package/src/web/page/mails/MailboxContacts.tsx +8 -0
- 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
|
|
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="
|
|
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({
|
|
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({
|
|
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) {
|