@social-mail/social-mail-client 1.2.1 → 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.
- package/dist/admin/AdminAppIndex.pack.js +67 -28
- package/dist/admin/AdminAppIndex.pack.js.map +1 -1
- package/dist/admin/AdminAppIndex.pack.min.js +3 -15
- package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
- package/dist/common/controls/html/InlineHtmlEditorWithToolbar.js.map +1 -1
- package/dist/services/files/LocalFileService.d.ts +7 -2
- package/dist/services/files/LocalFileService.d.ts.map +1 -1
- package/dist/services/files/LocalFileService.js +48 -27
- package/dist/services/files/LocalFileService.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/web/AppIndex.pack.js +67 -28
- package/dist/web/AppIndex.pack.js.map +1 -1
- package/dist/web/AppIndex.pack.min.js +3 -15
- package/dist/web/AppIndex.pack.min.js.map +1 -1
- package/dist/web/page/channels/subscribers/ChannelSubscribersPage.d.ts +1 -0
- package/dist/web/page/channels/subscribers/ChannelSubscribersPage.d.ts.map +1 -1
- package/dist/web/page/channels/subscribers/ChannelSubscribersPage.js +19 -1
- package/dist/web/page/channels/subscribers/ChannelSubscribersPage.js.map +1 -1
- package/package.json +1 -1
- package/src/common/controls/html/InlineHtmlEditorWithToolbar.tsx +1 -1
- package/src/services/files/LocalFileService.tsx +44 -22
- package/src/web/page/channels/subscribers/ChannelSubscribersPage.tsx +18 -0
|
@@ -12,6 +12,7 @@ export default class ChannelSubscribersPage extends ContentPage {
|
|
|
12
12
|
init(): Promise<void>;
|
|
13
13
|
addSubscriber(): Promise<void>;
|
|
14
14
|
deleteSubscribers(): Promise<void>;
|
|
15
|
+
activateSubscribers(): Promise<void>;
|
|
15
16
|
updateRights(): Promise<void>;
|
|
16
17
|
}
|
|
17
18
|
//# sourceMappingURL=ChannelSubscribersPage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChannelSubscribersPage.d.ts","sourceRoot":"","sources":["../../../../../src/web/page/channels/subscribers/ChannelSubscribersPage.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mDAAmD,CAAC;AAchF,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,WAAW;IAEpD,UAAU,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAEnC,OAAO,CAAC,KAAK,CAAW;IAExB,OAAO,CAAC,MAAM,CAAM;IAEpB,OAAO,CAAC,WAAW,CAAyB;IAE5C,OAAO,CAAC,OAAO,CAAK;IAEpB,OAAO,CAAC,QAAQ,CAAyB;IAGzC,OAAO,CAAC,cAAc,CAAiB;IAE1B,IAAI;
|
|
1
|
+
{"version":3,"file":"ChannelSubscribersPage.d.ts","sourceRoot":"","sources":["../../../../../src/web/page/channels/subscribers/ChannelSubscribersPage.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mDAAmD,CAAC;AAchF,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,WAAW;IAEpD,UAAU,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAEnC,OAAO,CAAC,KAAK,CAAW;IAExB,OAAO,CAAC,MAAM,CAAM;IAEpB,OAAO,CAAC,WAAW,CAAyB;IAE5C,OAAO,CAAC,OAAO,CAAK;IAEpB,OAAO,CAAC,QAAQ,CAAyB;IAGzC,OAAO,CAAC,cAAc,CAAiB;IAE1B,IAAI;IA8EX,aAAa;IASb,iBAAiB;IAajB,mBAAmB;IAYnB,YAAY;CAWrB"}
|
|
@@ -75,6 +75,7 @@ System.register(["tslib", "@web-atoms/core/dist/core/InjectProperty", "@web-atom
|
|
|
75
75
|
value: Bind.twoWaysImmediate(() => this.search)
|
|
76
76
|
}));
|
|
77
77
|
this.renderer = XNode.create("div", null, XNode.create(AtomRepeater, Object.assign({
|
|
78
|
+
"data-layout": "data-grid",
|
|
78
79
|
items: this.subscribers,
|
|
79
80
|
selectedItems: this.selected,
|
|
80
81
|
allowMultipleSelection: true
|
|
@@ -101,7 +102,10 @@ System.register(["tslib", "@web-atoms/core/dist/core/InjectProperty", "@web-atom
|
|
|
101
102
|
this.footerRenderer = () => XNode.create("div", {
|
|
102
103
|
"style-display": Bind.oneWay(() => this.selected.length > 0),
|
|
103
104
|
"data-layout": "command-row"
|
|
104
|
-
}, XNode.create(
|
|
105
|
+
}, XNode.create(SaveIconTextButton, {
|
|
106
|
+
"data-click-event": "activate-subscribers",
|
|
107
|
+
text: "Activate"
|
|
108
|
+
}), XNode.create(DeleteIconTextButton, {
|
|
105
109
|
"data-click-event": "delete-subscribers",
|
|
106
110
|
text: "Delete"
|
|
107
111
|
}), XNode.create(SaveIconTextButton, {
|
|
@@ -128,6 +132,16 @@ System.register(["tslib", "@web-atoms/core/dist/core/InjectProperty", "@web-atom
|
|
|
128
132
|
this.version++;
|
|
129
133
|
});
|
|
130
134
|
}
|
|
135
|
+
activateSubscribers() {
|
|
136
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
137
|
+
for (const iterator of this.selected) {
|
|
138
|
+
iterator.status = "active";
|
|
139
|
+
}
|
|
140
|
+
yield this.channelService.saveAll(this.selected);
|
|
141
|
+
this.selected.clear();
|
|
142
|
+
this.version++;
|
|
143
|
+
});
|
|
144
|
+
}
|
|
131
145
|
updateRights() {
|
|
132
146
|
return __awaiter(this, void 0, void 0, function* () {
|
|
133
147
|
const rights = yield PageNavigator.pushPageForResult(UpdateRightsPage);
|
|
@@ -149,6 +163,10 @@ System.register(["tslib", "@web-atoms/core/dist/core/InjectProperty", "@web-atom
|
|
|
149
163
|
onEvent: "delete-subscribers",
|
|
150
164
|
confirm: "Are you sure you want to remove selected?"
|
|
151
165
|
}), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", Promise)], ChannelSubscribersPage.prototype, "deleteSubscribers", null);
|
|
166
|
+
__decorate([Action({
|
|
167
|
+
onEvent: "activate-subscribers",
|
|
168
|
+
confirm: "Are you sure you want to activate given subscribers?"
|
|
169
|
+
}), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", Promise)], ChannelSubscribersPage.prototype, "activateSubscribers", null);
|
|
152
170
|
__decorate([Action({
|
|
153
171
|
onEvent: "update-rights"
|
|
154
172
|
}), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", Promise)], ChannelSubscribersPage.prototype, "updateRights", null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ChannelSubscribersPage","_export","setters","_tslib","InjectProperty","_webAtomsCoreDistCoreInjectProperty","default","_webAtomsWebControlsDistMobileAppMobileApp","ContentPage","_servicesChannelService","ChannelService","_webAtomsCoreDistCoreXNode","XNode","_webAtomsWebControlsDistBasicAtomRepeater","AtomRepeater","SelectAll","SelectorCheckBox","_commonControlsRepeaterInfiniteRepeater","InfiniteRepeater","_webAtomsCoreDistCoreBind","Bind","_webAtomsWebControlsDistBasicPopupButton","MenuItem","PopupActionButton","_webAtomsCoreDistViewModelAction","Action","_webAtomsWebControlsDistPageNavigator","PageNavigator","_addAddSubscriberPage","AddSubscriberPage","_commonControlsButtonsIconButton","DeleteIconTextButton","SaveIconTextButton","_rightsUpdateRightsPage","UpdateRightsPage","execute","constructor","search","subscribers","version","selected","init","model","channelService","getMailbox","parameters","id","emailAddress","title","name","actionRenderer","create","class","label","headerRenderer","items","selectedItems","type","value","twoWaysImmediate","renderer","Object","assign","allowMultipleSelection","pagedItems","start","c","e","cancelToken","size","v","itemRenderer","item","text","status","isOwner","canContribute","footerRenderer","oneWay","length","addSubscriber","pushPageForResult","deleteSubscribers","iterator","$deleted","saveAll","clear","updateRights","rights","__decorate","onEvent","confirm"],"sources":["../../../../../src/web/page/channels/subscribers/ChannelSubscribersPage.tsx"],"sourcesContent":[null],"mappings":";;;mSAeqBA,sBAAuB;EAAAC,OAAA;EAAA;IAAAC,OAAA,aAAAC,MAAA;;;;;MAfrCC,cAAc,GAAAC,mCAAA,CAAAC,OAAA;IAAA,aAAAC,0CAAA;MACZC,WAAW,GAAAD,0CAAA,CAAXC,WAAW;IAAA,aAAAC,uBAAA;MACbC,cAAc,GAAAD,uBAAA,CAAAH,OAAA;IAAA,aAAAK,0BAAA;MAEdC,KAAK,GAAAD,0BAAA,CAAAL,OAAA;IAAA,aAAAO,yCAAA;MACLC,YAAY,GAAAD,yCAAA,CAAAP,OAAA;MAAIS,SAAS,GAAAF,yCAAA,CAATE,SAAS;MAAEC,gBAAgB,GAAAH,yCAAA,CAAhBG,gBAAgB;IAAA,aAAAC,uCAAA;MAC3CC,gBAAgB,GAAAD,uCAAA,CAAAX,OAAA;IAAA,aAAAa,yBAAA;MAChBC,IAAI,GAAAD,yBAAA,CAAAb,OAAA;IAAA,aAAAe,wCAAA;MACFC,QAAQ,GAAAD,wCAAA,CAARC,QAAQ;MAAEC,iBAAiB,GAAAF,wCAAA,CAAjBE,iBAAiB;IAAA,aAAAC,gCAAA;MAC7BC,MAAM,GAAAD,gCAAA,CAAAlB,OAAA;IAAA,aAAAoB,qCAAA;MACNC,aAAa,GAAAD,qCAAA,CAAApB,OAAA;IAAA,aAAAsB,qBAAA;MACbC,iBAAiB,GAAAD,qBAAA,CAAAtB,OAAA;IAAA,aAAAwB,gCAAA;MACfC,oBAAoB,GAAAD,gCAAA,CAApBC,oBAAoB;MAAEC,kBAAkB,GAAAF,gCAAA,CAAlBE,kBAAkB;IAAA,aAAAC,uBAAA;MAC1CC,gBAAgB,GAAAD,uBAAA,CAAA3B,OAAA;IAAA;IAAA6B,OAAA,WAAAA,CAAA;MAAAlC,OAAA,YAEFD,sBAAuB,GAA9B,MAAOA,sBAAuB,SAAQQ,WAAW;QAA/D4B,YAAA;;UAMY,KAAAC,MAAM,GAAG,EAAE;UAEX,KAAAC,WAAW,GAAsB,EAAE;UAEnC,KAAAC,OAAO,GAAG,CAAC;UAEX,KAAAC,QAAQ,GAAsB,EAAE;
|
|
1
|
+
{"version":3,"names":["ChannelSubscribersPage","_export","setters","_tslib","InjectProperty","_webAtomsCoreDistCoreInjectProperty","default","_webAtomsWebControlsDistMobileAppMobileApp","ContentPage","_servicesChannelService","ChannelService","_webAtomsCoreDistCoreXNode","XNode","_webAtomsWebControlsDistBasicAtomRepeater","AtomRepeater","SelectAll","SelectorCheckBox","_commonControlsRepeaterInfiniteRepeater","InfiniteRepeater","_webAtomsCoreDistCoreBind","Bind","_webAtomsWebControlsDistBasicPopupButton","MenuItem","PopupActionButton","_webAtomsCoreDistViewModelAction","Action","_webAtomsWebControlsDistPageNavigator","PageNavigator","_addAddSubscriberPage","AddSubscriberPage","_commonControlsButtonsIconButton","DeleteIconTextButton","SaveIconTextButton","_rightsUpdateRightsPage","UpdateRightsPage","execute","constructor","search","subscribers","version","selected","init","model","channelService","getMailbox","parameters","id","emailAddress","title","name","actionRenderer","create","class","label","headerRenderer","items","selectedItems","type","value","twoWaysImmediate","renderer","Object","assign","allowMultipleSelection","pagedItems","start","c","e","cancelToken","size","v","itemRenderer","item","text","status","isOwner","canContribute","footerRenderer","oneWay","length","addSubscriber","pushPageForResult","deleteSubscribers","iterator","$deleted","saveAll","clear","activateSubscribers","updateRights","rights","__decorate","onEvent","confirm"],"sources":["../../../../../src/web/page/channels/subscribers/ChannelSubscribersPage.tsx"],"sourcesContent":[null],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -58,7 +58,7 @@ const onAttachInlineImage = async (ce: CustomEvent) => {
|
|
|
58
58
|
reader.onload = () => {
|
|
59
59
|
c.executeCommand("insertHTML", void 0, `<div><img
|
|
60
60
|
data-content="data-url"
|
|
61
|
-
src="${reader.result}" style='max-height: 700px;'/>
|
|
61
|
+
src="${reader.result as any}" style='max-height: 700px;'/>
|
|
62
62
|
</div>`);
|
|
63
63
|
};
|
|
64
64
|
reader.readAsDataURL(file);
|
|
@@ -10,6 +10,8 @@ import XNode from "@web-atoms/core/dist/core/XNode";
|
|
|
10
10
|
import AtomRepeater from "@web-atoms/web-controls/dist/basic/AtomRepeater";
|
|
11
11
|
import Bind from "@web-atoms/core/dist/core/Bind";
|
|
12
12
|
import PopupService from "@web-atoms/core/dist/web/services/PopupService";
|
|
13
|
+
import { IAppFile } from "../../model/model";
|
|
14
|
+
import TaskManager from "@web-atoms/entity/dist/models/TaskManager";
|
|
13
15
|
|
|
14
16
|
export const 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";
|
|
15
17
|
|
|
@@ -30,16 +32,9 @@ export type UploadedFiles = CustomEvent<{ files: IUploadedFile[], extra: any}>;
|
|
|
30
32
|
styled.css `
|
|
31
33
|
display: inline-grid;
|
|
32
34
|
grid-template-rows: auto auto;
|
|
33
|
-
grid-template-columns: auto 1fr auto;
|
|
34
|
-
|
|
35
|
-
& > [data-element=preview] {
|
|
36
|
-
grid-row: 1 / span 2;
|
|
37
|
-
grid-column: 1;
|
|
38
|
-
}
|
|
39
35
|
|
|
40
36
|
& > [data-element=file-name] {
|
|
41
37
|
grid-row: 1;
|
|
42
|
-
grid-column: 2;
|
|
43
38
|
overflow: hidden;
|
|
44
39
|
white-space: nowrap;
|
|
45
40
|
text-overflow: ellipsis;
|
|
@@ -47,14 +42,9 @@ export type UploadedFiles = CustomEvent<{ files: IUploadedFile[], extra: any}>;
|
|
|
47
42
|
|
|
48
43
|
& > [data-element=progress] {
|
|
49
44
|
grid-row: 2;
|
|
50
|
-
grid-column: 2 / span 2;
|
|
51
45
|
width: 100%;
|
|
52
46
|
}
|
|
53
47
|
|
|
54
|
-
& > [data-element=delete] {
|
|
55
|
-
grid-row: 1;
|
|
56
|
-
grid-column: 3;
|
|
57
|
-
}
|
|
58
48
|
`.installGlobal("[data-attachment-file]");
|
|
59
49
|
|
|
60
50
|
export interface IFileUpload {
|
|
@@ -64,12 +54,13 @@ export interface IFileUpload {
|
|
|
64
54
|
}
|
|
65
55
|
|
|
66
56
|
@DISingleton()
|
|
67
|
-
export default class LocalFileService {
|
|
57
|
+
export default class LocalFileService extends TaskManager {
|
|
68
58
|
|
|
69
59
|
@Inject
|
|
70
60
|
private app: App;
|
|
71
61
|
|
|
72
62
|
constructor() {
|
|
63
|
+
super();
|
|
73
64
|
document.body.addEventListener("uploadRequested", (ce: CustomEvent) => {
|
|
74
65
|
const { target, detail: { files, extra, uploadEvent } } = ce;
|
|
75
66
|
ce.preventDefault();
|
|
@@ -165,14 +156,35 @@ export default class LocalFileService {
|
|
|
165
156
|
});
|
|
166
157
|
}
|
|
167
158
|
|
|
168
|
-
|
|
169
|
-
|
|
159
|
+
upload(files: File[], extra: any, ct?: CancelToken) {
|
|
160
|
+
|
|
161
|
+
const { parentID } = extra;
|
|
162
|
+
|
|
163
|
+
const tasks = [] as IFileUpload[];
|
|
164
|
+
const upload = {
|
|
165
|
+
total: 0,
|
|
166
|
+
tasks,
|
|
167
|
+
progress:0
|
|
168
|
+
};
|
|
169
|
+
for (const file of files) {
|
|
170
|
+
upload.total += file.size;
|
|
170
171
|
const uploadFile: IFileUpload = {
|
|
171
|
-
name: file.name
|
|
172
|
+
name: file.name,
|
|
173
|
+
progress: 0
|
|
172
174
|
};
|
|
173
|
-
uploadFile.promise = this.
|
|
174
|
-
|
|
175
|
-
|
|
175
|
+
uploadFile.promise = this.run(async () => {
|
|
176
|
+
uploadFile.progress = 0.01;
|
|
177
|
+
|
|
178
|
+
// we will check if file exists and has same sha256?
|
|
179
|
+
|
|
180
|
+
const r = await this.uploadFile(file, extra, ct, (n) => uploadFile.progress = n);
|
|
181
|
+
upload.progress += r.file.size;
|
|
182
|
+
setTimeout(() => tasks.remove(uploadFile), 500);
|
|
183
|
+
return r;
|
|
184
|
+
});
|
|
185
|
+
tasks.push(uploadFile);
|
|
186
|
+
}
|
|
187
|
+
return upload;
|
|
176
188
|
}
|
|
177
189
|
|
|
178
190
|
}
|
|
@@ -197,17 +209,27 @@ class FileUploadWindow extends PopupWindow {
|
|
|
197
209
|
await this.requestCancel();
|
|
198
210
|
}, null, { capture: true });
|
|
199
211
|
|
|
200
|
-
|
|
212
|
+
const task = this.localFileService.upload(this.parameters.files, this.parameters.extra, this.cancelToken);
|
|
213
|
+
this.files = task.tasks;
|
|
214
|
+
|
|
215
|
+
this.footerRenderer = () => <div data-layout="command-row">
|
|
216
|
+
<progress min={0} max={task.total} value={Bind.source(task, (x) => x.source.progress)}/>
|
|
217
|
+
</div>;
|
|
201
218
|
|
|
202
|
-
this.render(<div
|
|
219
|
+
this.render(<div
|
|
220
|
+
data-overflow="auto"
|
|
221
|
+
style-max-height="500px"
|
|
222
|
+
style-max-width="400px">
|
|
203
223
|
<AtomRepeater
|
|
224
|
+
data-layout="vertical-flex-stretch-items"
|
|
204
225
|
items={this.files}
|
|
205
226
|
itemRenderer={(file) =>
|
|
206
227
|
<div data-attachment-file="file">
|
|
207
228
|
<div data-element="file-name" text={file.name}/>
|
|
208
229
|
<progress
|
|
230
|
+
style-display={Bind.source(file, (x) => x.source.progress > 0)}
|
|
209
231
|
min={0}
|
|
210
|
-
max={
|
|
232
|
+
max={1}
|
|
211
233
|
value={Bind.source(file, (x) => x.source.progress)}/>
|
|
212
234
|
</div>}
|
|
213
235
|
/>
|
|
@@ -62,6 +62,7 @@ export default class ChannelSubscribersPage extends ContentPage {
|
|
|
62
62
|
|
|
63
63
|
this.renderer = <div>
|
|
64
64
|
<AtomRepeater
|
|
65
|
+
data-layout="data-grid"
|
|
65
66
|
items={this.subscribers}
|
|
66
67
|
selectedItems={this.selected}
|
|
67
68
|
allowMultipleSelection={true}
|
|
@@ -91,6 +92,10 @@ export default class ChannelSubscribersPage extends ContentPage {
|
|
|
91
92
|
this.footerRenderer = () => <div
|
|
92
93
|
style-display={Bind.oneWay(() => this.selected.length > 0)}
|
|
93
94
|
data-layout="command-row">
|
|
95
|
+
<SaveIconTextButton
|
|
96
|
+
data-click-event="activate-subscribers"
|
|
97
|
+
text="Activate"
|
|
98
|
+
/>
|
|
94
99
|
<DeleteIconTextButton
|
|
95
100
|
data-click-event="delete-subscribers"
|
|
96
101
|
text="Delete"
|
|
@@ -121,6 +126,19 @@ export default class ChannelSubscribersPage extends ContentPage {
|
|
|
121
126
|
this.version++;
|
|
122
127
|
}
|
|
123
128
|
|
|
129
|
+
@Action({
|
|
130
|
+
onEvent: "activate-subscribers",
|
|
131
|
+
confirm: "Are you sure you want to activate given subscribers?"
|
|
132
|
+
})
|
|
133
|
+
async activateSubscribers() {
|
|
134
|
+
for (const iterator of this.selected) {
|
|
135
|
+
iterator.status = "active";
|
|
136
|
+
}
|
|
137
|
+
await this.channelService.saveAll(this.selected);
|
|
138
|
+
this.selected.clear();
|
|
139
|
+
this.version++;
|
|
140
|
+
}
|
|
141
|
+
|
|
124
142
|
@Action({
|
|
125
143
|
onEvent: "update-rights",
|
|
126
144
|
})
|