@social-mail/social-mail-client 1.8.321 → 1.8.323
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.global.css +1 -1
- package/dist/admin/AdminAppIndex.pack.global.css.map +1 -1
- package/dist/admin/AdminAppIndex.pack.js +93 -47
- package/dist/admin/AdminAppIndex.pack.js.map +1 -1
- package/dist/admin/AdminAppIndex.pack.local.css +1 -1
- package/dist/admin/AdminAppIndex.pack.local.css.map +1 -1
- package/dist/admin/AdminAppIndex.pack.min.js +1 -1
- package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
- package/dist/common/controls/drag-drop/FilesDragDrop.js +19 -25
- package/dist/common/controls/drag-drop/FilesDragDrop.js.map +1 -1
- package/dist/common/controls/file-preview/FilePreview.d.ts.map +1 -1
- package/dist/common/controls/file-preview/FilePreview.global.css +1 -1
- package/dist/common/controls/file-preview/FilePreview.global.css.map +1 -1
- package/dist/common/controls/file-preview/FilePreview.js +24 -4
- package/dist/common/controls/file-preview/FilePreview.js.map +1 -1
- package/dist/common/menu/MenuService.d.ts +1 -0
- package/dist/common/menu/MenuService.d.ts.map +1 -1
- package/dist/common/menu/MenuService.js +5 -1
- package/dist/common/menu/MenuService.js.map +1 -1
- package/dist/public/channel/ChannelApp.pack.js +2 -1
- package/dist/public/channel/ChannelApp.pack.js.map +1 -1
- package/dist/public/channel/ChannelApp.pack.min.js +1 -1
- package/dist/public/channel/ChannelApp.pack.min.js.map +1 -1
- package/dist/services/files/LocalFileService.js +1 -1
- package/dist/services/files/LocalFileService.js.map +1 -1
- package/dist/site-editor-app/SiteEditorApp.pack.global.css +1 -1
- package/dist/site-editor-app/SiteEditorApp.pack.global.css.map +1 -1
- package/dist/site-editor-app/SiteEditorApp.pack.js +93 -47
- package/dist/site-editor-app/SiteEditorApp.pack.js.map +1 -1
- package/dist/site-editor-app/SiteEditorApp.pack.local.css +1 -1
- package/dist/site-editor-app/SiteEditorApp.pack.local.css.map +1 -1
- package/dist/site-editor-app/SiteEditorApp.pack.min.js +1 -1
- package/dist/site-editor-app/SiteEditorApp.pack.min.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/web/AppIndex.pack.global.css +1 -1
- package/dist/web/AppIndex.pack.global.css.map +1 -1
- package/dist/web/AppIndex.pack.js +93 -47
- package/dist/web/AppIndex.pack.js.map +1 -1
- package/dist/web/AppIndex.pack.local.css +1 -1
- package/dist/web/AppIndex.pack.local.css.map +1 -1
- package/dist/web/AppIndex.pack.min.js +1 -1
- package/dist/web/AppIndex.pack.min.js.map +1 -1
- package/dist/web/commands/MailAppEvents.d.ts +1 -0
- package/dist/web/commands/MailAppEvents.d.ts.map +1 -1
- package/dist/web/commands/MailAppEvents.js +2 -1
- package/dist/web/commands/MailAppEvents.js.map +1 -1
- package/dist/web/page/mails/ConversationPage.d.ts +2 -1
- package/dist/web/page/mails/ConversationPage.d.ts.map +1 -1
- package/dist/web/page/mails/ConversationPage.js +7 -2
- package/dist/web/page/mails/ConversationPage.js.map +1 -1
- package/dist/web/page/mails/commands/NewConversationRequest.d.ts.map +1 -1
- package/dist/web/page/mails/commands/NewConversationRequest.js +19 -8
- package/dist/web/page/mails/commands/NewConversationRequest.js.map +1 -1
- package/dist/web/page/mails/commands/ReportConversationCommand.d.ts.map +1 -1
- package/dist/web/page/mails/commands/ReportConversationCommand.js +7 -3
- package/dist/web/page/mails/commands/ReportConversationCommand.js.map +1 -1
- package/dist/web/page/mails/contacts/MailboxContact.local.css +1 -1
- package/dist/web/page/mails/contacts/MailboxContact.local.css.map +1 -1
- package/dist/web/page/mails/contacts/MailboxContacts.d.ts +1 -0
- package/dist/web/page/mails/contacts/MailboxContacts.d.ts.map +1 -1
- package/dist/web/page/mails/contacts/MailboxContacts.js +9 -2
- package/dist/web/page/mails/contacts/MailboxContacts.js.map +1 -1
- package/package.json +1 -1
- package/src/common/controls/drag-drop/FilesDragDrop.ts +5 -5
- package/src/common/controls/file-preview/FilePreview.global.css +25 -4
- package/src/common/controls/file-preview/FilePreview.tsx +24 -0
- package/src/common/menu/MenuService.tsx +6 -1
- package/src/services/files/LocalFileService.tsx +1 -1
- package/src/web/commands/MailAppEvents.ts +3 -1
- package/src/web/page/mails/ConversationPage.tsx +5 -1
- package/src/web/page/mails/commands/NewConversationRequest.tsx +20 -4
- package/src/web/page/mails/commands/ReportConversationCommand.tsx +13 -3
- package/src/web/page/mails/contacts/MailboxContact.local.css +2 -0
- package/src/web/page/mails/contacts/MailboxContacts.tsx +13 -2
|
@@ -6,13 +6,13 @@
|
|
|
6
6
|
width: 180px;
|
|
7
7
|
contain: content;
|
|
8
8
|
text-decoration: none;
|
|
9
|
-
grid-template-columns: auto 1fr auto;
|
|
10
|
-
grid-template-rows: 1fr auto;
|
|
9
|
+
grid-template-columns: auto 1fr auto auto;
|
|
10
|
+
grid-template-rows: 1fr auto auto;
|
|
11
11
|
& a {
|
|
12
12
|
text-decoration: none;
|
|
13
13
|
}
|
|
14
14
|
& > [data-element=preview] {
|
|
15
|
-
grid-column: 1 / span
|
|
15
|
+
grid-column: 1 / span 4;
|
|
16
16
|
grid-row: 1;
|
|
17
17
|
overflow: hidden;
|
|
18
18
|
justify-self: stretch;
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
}
|
|
26
26
|
& > [data-element=file-name] {
|
|
27
27
|
grid-column: 1 / span 3;
|
|
28
|
-
grid-row:
|
|
28
|
+
grid-row: 3;
|
|
29
29
|
padding: 5px;
|
|
30
30
|
font-size: smaller;
|
|
31
31
|
text-overflow: ellipsis;
|
|
@@ -34,6 +34,27 @@
|
|
|
34
34
|
background-color: var(--accent-color);
|
|
35
35
|
color: var(--accent-text-color);
|
|
36
36
|
}
|
|
37
|
+
& > [data-element=size] {
|
|
38
|
+
grid-column: 3 / span 2;
|
|
39
|
+
grid-row: 2;
|
|
40
|
+
font-size: x-small;
|
|
41
|
+
background-color: rgb(226, 226, 226);
|
|
42
|
+
color: rgb(49, 49, 49);
|
|
43
|
+
padding: 2px;
|
|
44
|
+
padding-left: 5px;
|
|
45
|
+
padding-right: 5px;
|
|
46
|
+
border-top-left-radius: 5px;
|
|
47
|
+
}
|
|
48
|
+
& > [data-element=ext] {
|
|
49
|
+
background-color: var(--accent-color);
|
|
50
|
+
color: var(--accent-text-color);
|
|
51
|
+
font-size: small;
|
|
52
|
+
grid-column: 4;
|
|
53
|
+
grid-row: 3;
|
|
54
|
+
justify-self: stretch;
|
|
55
|
+
align-self: stretch;
|
|
56
|
+
padding: 5px;
|
|
57
|
+
}
|
|
37
58
|
& > [data-element=file-size] {
|
|
38
59
|
grid-column: 3;
|
|
39
60
|
grid-row: 2;
|
|
@@ -7,6 +7,14 @@ import { FileUrlService } from "../../FileUrlService";
|
|
|
7
7
|
|
|
8
8
|
import "./FilePreview.global.css";
|
|
9
9
|
|
|
10
|
+
const ext = (name: string) => {
|
|
11
|
+
const i = name.lastIndexOf(".");
|
|
12
|
+
if (i === -1) {
|
|
13
|
+
return "UNK";
|
|
14
|
+
}
|
|
15
|
+
return name.substring(i + 1).toUpperCase();
|
|
16
|
+
};
|
|
17
|
+
|
|
10
18
|
export default function FilePreview(a: IAppFile) {
|
|
11
19
|
|
|
12
20
|
|
|
@@ -33,6 +41,14 @@ export default function FilePreview(a: IAppFile) {
|
|
|
33
41
|
data-element="file-name">
|
|
34
42
|
{name}
|
|
35
43
|
</label>
|
|
44
|
+
{ size && <label
|
|
45
|
+
data-element="size"
|
|
46
|
+
text={size}
|
|
47
|
+
/>}
|
|
48
|
+
<label
|
|
49
|
+
data-element="ext"
|
|
50
|
+
text={ext(name)}
|
|
51
|
+
/>
|
|
36
52
|
</a>;
|
|
37
53
|
}
|
|
38
54
|
|
|
@@ -46,5 +62,13 @@ export default function FilePreview(a: IAppFile) {
|
|
|
46
62
|
data-element="file-name">
|
|
47
63
|
{name}
|
|
48
64
|
</label>
|
|
65
|
+
{ size && <label
|
|
66
|
+
data-element="size"
|
|
67
|
+
text={size}
|
|
68
|
+
/>}
|
|
69
|
+
<label
|
|
70
|
+
data-element="ext"
|
|
71
|
+
text={ext(name)}
|
|
72
|
+
/>
|
|
49
73
|
</a>;
|
|
50
74
|
}
|
|
@@ -52,6 +52,8 @@ export default class MenuService {
|
|
|
52
52
|
|
|
53
53
|
private lastSearch = void 0;
|
|
54
54
|
|
|
55
|
+
private isFirstSearch = true;
|
|
56
|
+
|
|
55
57
|
constructor() {
|
|
56
58
|
setTimeout(() =>
|
|
57
59
|
this.load().catch(console.error), 1);
|
|
@@ -93,7 +95,10 @@ export default class MenuService {
|
|
|
93
95
|
// this.websites.addAll(websites);
|
|
94
96
|
|
|
95
97
|
// show search if any has more than 2 items...
|
|
96
|
-
|
|
98
|
+
if (this.isFirstSearch) {
|
|
99
|
+
this.showSearch = [this.mailboxes, this.channels, this.websites].some((x) => x.length > 2);
|
|
100
|
+
this.isFirstSearch = false;
|
|
101
|
+
}
|
|
97
102
|
|
|
98
103
|
}
|
|
99
104
|
|
|
@@ -98,7 +98,7 @@ export default class LocalFileService extends TaskManager {
|
|
|
98
98
|
const fud = new FileUploader(this);
|
|
99
99
|
while(size > 0) {
|
|
100
100
|
const blobSize = Math.min(maxSize, file.size - start);
|
|
101
|
-
const part = new File([file.slice( start,
|
|
101
|
+
const part = new File([file.slice( start, blobSize === maxSize ? blobSize : void 0)], "file.dat");
|
|
102
102
|
size -= blobSize;
|
|
103
103
|
start += blobSize;
|
|
104
104
|
const uploadRequest = fud.upload({
|
|
@@ -3,6 +3,8 @@ import { IMailboxContact } from "../../model/model";
|
|
|
3
3
|
|
|
4
4
|
export const MailAppEvents = {
|
|
5
5
|
|
|
6
|
-
mailboxContactUpdated: EventScope.create<IMailboxContact>()
|
|
6
|
+
mailboxContactUpdated: EventScope.create<IMailboxContact>(),
|
|
7
|
+
|
|
8
|
+
refreshMailboxContacts: EventScope.create(),
|
|
7
9
|
|
|
8
10
|
};
|
|
@@ -38,6 +38,7 @@ import AtomPopover from "@web-atoms/web-controls/dist/basic/elements/AtomPopover
|
|
|
38
38
|
import { ReportPhishingCommand, ReportSpamCommand } from "./commands/ReportEmailCommand";
|
|
39
39
|
import { ReportConversationPhishing, ReportConversationSpam } from "./commands/ReportConversationCommand";
|
|
40
40
|
import NewConversationRequest from "./commands/NewConversationRequest";
|
|
41
|
+
import { MailAppEvents } from "../../commands/MailAppEvents";
|
|
41
42
|
|
|
42
43
|
const itemCss = "conversation-page-item-css";
|
|
43
44
|
|
|
@@ -66,7 +67,7 @@ export default class ConversationPage extends ContentPage {
|
|
|
66
67
|
public mailsRepeater: AtomRepeater;
|
|
67
68
|
|
|
68
69
|
@InjectProperty
|
|
69
|
-
|
|
70
|
+
public conversationService: ConversationService;
|
|
70
71
|
|
|
71
72
|
private mails: IMailboxContactEmail[] = [];
|
|
72
73
|
|
|
@@ -409,6 +410,7 @@ export default class ConversationPage extends ContentPage {
|
|
|
409
410
|
this.parameters.folderTagID = SocialMailApp.contactsFolderTagID;
|
|
410
411
|
await es.save(this.parameters, (c) => c);
|
|
411
412
|
this.showComposeButton();
|
|
413
|
+
MailAppEvents.refreshMailboxContacts.dispatchEvent(this.parameters);
|
|
412
414
|
}
|
|
413
415
|
|
|
414
416
|
@Action({ onEvent: "click"})
|
|
@@ -668,6 +670,7 @@ export default class ConversationPage extends ContentPage {
|
|
|
668
670
|
})
|
|
669
671
|
async blockSender() {
|
|
670
672
|
await this.conversationService.block(this.parameters);
|
|
673
|
+
MailAppEvents.refreshMailboxContacts.dispatchEvent(this.parameters);
|
|
671
674
|
}
|
|
672
675
|
|
|
673
676
|
@Action({
|
|
@@ -676,6 +679,7 @@ export default class ConversationPage extends ContentPage {
|
|
|
676
679
|
})
|
|
677
680
|
async unblockSender() {
|
|
678
681
|
await this.conversationService.block(this.parameters);
|
|
682
|
+
MailAppEvents.refreshMailboxContacts.dispatchEvent(this.parameters);
|
|
679
683
|
}
|
|
680
684
|
|
|
681
685
|
@Action({
|
|
@@ -3,6 +3,7 @@ import { AddIconTextButton, DeleteIconTextButton } from "../../../../common/cont
|
|
|
3
3
|
import { ReportConversationSpam, ReportConversationPhishing } from "./ReportConversationCommand";
|
|
4
4
|
|
|
5
5
|
import "./NewConversationRequest.local.css";
|
|
6
|
+
import AtomPopover from "@web-atoms/web-controls/dist/basic/elements/AtomPopover";
|
|
6
7
|
|
|
7
8
|
export default function NewConversationRequest() {
|
|
8
9
|
return <div class="new-conversation-request">
|
|
@@ -16,15 +17,30 @@ export default function NewConversationRequest() {
|
|
|
16
17
|
text="Approve Sender"
|
|
17
18
|
/>
|
|
18
19
|
<DeleteIconTextButton
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
event-click={(e) => AtomPopover.create(e.target as HTMLElement,{
|
|
21
|
+
nodeFactory: () => <div>
|
|
22
|
+
<div data-layout="vertical-flex">
|
|
23
|
+
<DeleteIconTextButton
|
|
24
|
+
data-click-event="block-sender"
|
|
25
|
+
icon="fad fa-shield-quartered"
|
|
26
|
+
data-color="red"
|
|
27
|
+
text="Block Sender"
|
|
28
|
+
/>
|
|
29
|
+
<ReportConversationSpam/>
|
|
30
|
+
<ReportConversationPhishing/>
|
|
31
|
+
</div>
|
|
32
|
+
</div>,
|
|
33
|
+
"anchor-bottom": "parent-top",
|
|
34
|
+
closeOnClick: true
|
|
35
|
+
})}
|
|
36
|
+
text="Block"
|
|
21
37
|
/>
|
|
22
38
|
</div>
|
|
23
|
-
<h6>If you believe this message contains spam or any harmful activity, we encourage you to please report them.</h6>
|
|
39
|
+
{/* <h6>If you believe this message contains spam or any harmful activity, we encourage you to please report them.</h6>
|
|
24
40
|
<div data-layout="flex-center">
|
|
25
41
|
<ReportConversationSpam/>
|
|
26
42
|
<ReportConversationPhishing/>
|
|
27
|
-
</div>
|
|
43
|
+
</div> */}
|
|
28
44
|
</div>
|
|
29
45
|
</div>;
|
|
30
46
|
}
|
|
@@ -7,20 +7,30 @@ import { DeleteIconTextButton } from "../../../../common/controls/buttons/IconBu
|
|
|
7
7
|
import type ConversationPage from "../ConversationPage";
|
|
8
8
|
|
|
9
9
|
UICommand.on<ConversationPage>("report-spam", async ({ control }) => {
|
|
10
|
-
|
|
10
|
+
|
|
11
|
+
const thread = control.mailsRepeater.items[0];
|
|
12
|
+
await control.conversationService.block(thread);
|
|
13
|
+
|
|
14
|
+
await PageNavigator.pushPageForResult(MiniComposePage, {
|
|
11
15
|
mailto: Mailto.create({ to: "report@esocialmail.com", subject: "Spam Report", body: "Attached email contains #Spam." }),
|
|
12
|
-
thread
|
|
16
|
+
thread,
|
|
13
17
|
asAttachment: true
|
|
14
18
|
});
|
|
19
|
+
|
|
15
20
|
});
|
|
16
21
|
|
|
17
22
|
|
|
18
23
|
UICommand.on<ConversationPage>("report-phishing", async ({ control }) => {
|
|
19
|
-
|
|
24
|
+
|
|
25
|
+
const thread = control.mailsRepeater.items[0];
|
|
26
|
+
await control.conversationService.block(thread);
|
|
27
|
+
|
|
28
|
+
await PageNavigator.pushPageForResult(MiniComposePage, {
|
|
20
29
|
mailto: Mailto.create({ to: "report@esocialmail.com", subject: "Phishing Report", body: "Attached email contains #Phishing." }),
|
|
21
30
|
thread: control.mailsRepeater.items[0],
|
|
22
31
|
asAttachment: true
|
|
23
32
|
});
|
|
33
|
+
|
|
24
34
|
});
|
|
25
35
|
|
|
26
36
|
export function ReportConversationPhishing() {
|
|
@@ -176,7 +176,8 @@ export default class MailsPage extends MasterDetailPage {
|
|
|
176
176
|
cancelToken
|
|
177
177
|
}))}
|
|
178
178
|
itemRenderer={(item: IMailboxContact) => {
|
|
179
|
-
const name = displayName(item)
|
|
179
|
+
const name = displayName(item);
|
|
180
|
+
const fullName = name + " " + item.emailAddress.emailAddress;
|
|
180
181
|
const subject = item.lastEmail?.subject;
|
|
181
182
|
const summary = item.lastEmail?.summary;
|
|
182
183
|
return <div
|
|
@@ -184,8 +185,13 @@ export default class MailsPage extends MasterDetailPage {
|
|
|
184
185
|
data-unread={item.unread > 0}>
|
|
185
186
|
<div
|
|
186
187
|
class="name"
|
|
187
|
-
title={
|
|
188
|
+
title={fullName}
|
|
188
189
|
text={name}/>
|
|
190
|
+
{/* <div
|
|
191
|
+
class="address"
|
|
192
|
+
text={item.emailAddress.emailAddress}
|
|
193
|
+
title={fullName}
|
|
194
|
+
/> */}
|
|
189
195
|
<div class="subject"
|
|
190
196
|
title={subject}
|
|
191
197
|
text={subject}/>
|
|
@@ -226,6 +232,11 @@ export default class MailsPage extends MasterDetailPage {
|
|
|
226
232
|
}));
|
|
227
233
|
}
|
|
228
234
|
|
|
235
|
+
@Action({ onEvent: MailAppEvents.refreshMailboxContacts })
|
|
236
|
+
refreshMailboxContacts() {
|
|
237
|
+
this.version++;
|
|
238
|
+
}
|
|
239
|
+
|
|
229
240
|
@Action({ onEvent: MailAppEvents.mailboxContactUpdated})
|
|
230
241
|
updateMailboxContact(mc: IMailboxContact) {
|
|
231
242
|
const { mailboxID , emailAddressID } = mc;
|