@social-mail/social-mail-client 1.8.329 → 1.8.330

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 (59) hide show
  1. package/dist/admin/AdminAppIndex.pack.js +33 -5
  2. package/dist/admin/AdminAppIndex.pack.js.map +1 -1
  3. package/dist/admin/AdminAppIndex.pack.min.js +1 -1
  4. package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
  5. package/dist/common/commands/CommonCommands.d.ts +2 -0
  6. package/dist/common/commands/CommonCommands.d.ts.map +1 -1
  7. package/dist/common/commands/CommonCommands.js +16 -0
  8. package/dist/common/commands/CommonCommands.js.map +1 -1
  9. package/dist/common/menu/MenuService.d.ts +1 -0
  10. package/dist/common/menu/MenuService.d.ts.map +1 -1
  11. package/dist/common/menu/MenuService.js +7 -1
  12. package/dist/common/menu/MenuService.js.map +1 -1
  13. package/dist/common/pages/files/service/CloudFileService.d.ts +2 -1
  14. package/dist/common/pages/files/service/CloudFileService.d.ts.map +1 -1
  15. package/dist/common/pages/files/service/CloudFileService.js +3 -1
  16. package/dist/common/pages/files/service/CloudFileService.js.map +1 -1
  17. package/dist/common/pages/websites/list/WebSiteListPage.d.ts.map +1 -1
  18. package/dist/common/pages/websites/list/WebSiteListPage.js +5 -2
  19. package/dist/common/pages/websites/list/WebSiteListPage.js.map +1 -1
  20. package/dist/public/channel/ChannelApp.pack.js +1 -1
  21. package/dist/public/channel/ChannelApp.pack.min.js +1 -1
  22. package/dist/public/preview/pdf/PreviewPDF.pack.js +1 -1
  23. package/dist/public/preview/pdf/PreviewPDF.pack.min.js +1 -1
  24. package/dist/public/preview/video/PreviewVideo.pack.js +1 -1
  25. package/dist/public/preview/video/PreviewVideo.pack.min.js +1 -1
  26. package/dist/public/preview/zip/DownloadZip.pack.js +1 -1
  27. package/dist/public/preview/zip/DownloadZip.pack.min.js +1 -1
  28. package/dist/public/store/StoreApp.pack.js +1 -1
  29. package/dist/public/store/StoreApp.pack.min.js +1 -1
  30. package/dist/site-editor/editor/ui/SelectionUI.d.ts.map +1 -1
  31. package/dist/site-editor/editor/ui/SelectionUI.js +47 -6
  32. package/dist/site-editor/editor/ui/SelectionUI.js.map +1 -1
  33. package/dist/site-editor-app/SiteEditorApp.pack.js +80 -11
  34. package/dist/site-editor-app/SiteEditorApp.pack.js.map +1 -1
  35. package/dist/site-editor-app/SiteEditorApp.pack.min.js +1 -1
  36. package/dist/site-editor-app/SiteEditorApp.pack.min.js.map +1 -1
  37. package/dist/style/GlobalStyle.js +1 -1
  38. package/dist/tsconfig.tsbuildinfo +1 -1
  39. package/dist/web/AppIndex.pack.js +52 -5
  40. package/dist/web/AppIndex.pack.js.map +1 -1
  41. package/dist/web/AppIndex.pack.min.js +1 -1
  42. package/dist/web/AppIndex.pack.min.js.map +1 -1
  43. package/dist/web/drawer/AppDrawer.d.ts.map +1 -1
  44. package/dist/web/drawer/AppDrawer.js +19 -0
  45. package/dist/web/drawer/AppDrawer.js.map +1 -1
  46. package/node_modules/@web-atoms/web-controls/dist/mobile-app/MasterDetailPage.d.ts.map +1 -1
  47. package/node_modules/@web-atoms/web-controls/dist/mobile-app/MasterDetailPage.js +1 -0
  48. package/node_modules/@web-atoms/web-controls/dist/mobile-app/MasterDetailPage.js.map +1 -1
  49. package/node_modules/@web-atoms/web-controls/dist/tsconfig.tsbuildinfo +1 -1
  50. package/node_modules/@web-atoms/web-controls/package.json +1 -1
  51. package/node_modules/@web-atoms/web-controls/src/mobile-app/MasterDetailPage.tsx +1 -0
  52. package/package.json +2 -2
  53. package/src/common/commands/CommonCommands.ts +14 -0
  54. package/src/common/menu/MenuService.tsx +7 -2
  55. package/src/common/pages/files/service/CloudFileService.ts +4 -1
  56. package/src/common/pages/websites/list/WebSiteListPage.tsx +6 -2
  57. package/src/site-editor/editor/ui/SelectionUI.tsx +56 -6
  58. package/src/style/GlobalStyle.ts +1 -1
  59. package/src/web/drawer/AppDrawer.tsx +20 -0
@@ -30,13 +30,16 @@ export default class CloudFileService {
30
30
  @Inject
31
31
  private localFileService: LocalFileService;
32
32
 
33
- async topSites({ search = void 0} = {}) {
33
+ async topSites({ search = void 0, isDesign = false} = {}) {
34
34
  const userID = SocialMailApp.user.userID;
35
35
  let q = this.entityService.query(WebSite);
36
36
  if (search) {
37
37
  search = "%" + search + "%";
38
38
  q = q.where({ search }, (p) => (x) => Sql.text.iLike(x.folder.name, p.search));
39
39
  }
40
+ q = isDesign
41
+ ? q.where((x) => x.isDesign === true)
42
+ : q.where((x) => x.isDesign === false);
40
43
  const top = await (search
41
44
  ? q
42
45
  : q.orderByDescending({userID} , (p) => (x) => x.folder.userPins.some((s) => p.userID === s.userID)))
@@ -35,6 +35,9 @@ export default class WebSiteListPage extends MasterDetailPage {
35
35
 
36
36
  async init() {
37
37
 
38
+ this.showDesigns = /design/i.test(this.parameters.type);
39
+ this.showTemplates = /template/i.test(this.parameters.type);
40
+
38
41
  this.headerRenderer = () => <div data-layout="header-row">
39
42
  <input
40
43
  type="search"
@@ -81,8 +84,9 @@ export default class WebSiteListPage extends MasterDetailPage {
81
84
 
82
85
  @Action({ onEvent: "create-new-website"})
83
86
  async createNewWebsite() {
84
- await PageNavigator.pushPageForResult(WebSiteEditor);
85
- await this.init();
87
+ const model = await PageNavigator.pushPageForResult(WebSiteEditor);
88
+ this.selectedItem = model;
89
+ this.version++;
86
90
  }
87
91
 
88
92
  @Action({ onEvent: "selection-updated"})
@@ -43,6 +43,22 @@ const setCapture = (editor: HtmlPageEditor, element: HTMLElement, e: PointerEven
43
43
  const selectedElement = selection.element;
44
44
  const selectedParent = selectedElement.parentElement;
45
45
 
46
+
47
+ const insetAttribute = `${prefix}-inset`;
48
+ const widthAttribute = `${prefix}-width`;
49
+ const heightAttribute = `${prefix}-height`;
50
+
51
+ const oldWidth = selectedElement.getAttribute(widthAttribute);
52
+ const oldHeight = selectedElement.getAttribute(heightAttribute);
53
+ const oldInset = selectedElement.getAttribute(insetAttribute);
54
+
55
+ let newInset;
56
+ let newHeight;
57
+ let newWidth;
58
+
59
+ const records = [] as MutationRecord[];
60
+
61
+
46
62
  const style = selectedElement.ownerDocument.defaultView.getComputedStyle(selectedElement);
47
63
  const { left = "0", top = "0", right = "0", bottom = "0" } = style;
48
64
  const width = selectedParent.offsetWidth;
@@ -50,7 +66,9 @@ const setCapture = (editor: HtmlPageEditor, element: HTMLElement, e: PointerEven
50
66
 
51
67
  const ps = (v, max) => (v* 100 / (max || 1)).toFixed(2);
52
68
 
53
- const d = editor.undoRedo.beginPause();
69
+ const { undoRedo } = editor;
70
+
71
+ const d = undoRedo.beginPause();
54
72
 
55
73
  const captureMove = (evt: PointerEvent) => {
56
74
  const dx = evt.clientX - sx;
@@ -66,8 +84,8 @@ const setCapture = (editor: HtmlPageEditor, element: HTMLElement, e: PointerEven
66
84
  dy
67
85
  };
68
86
  const r = fx(ri);
69
- const av = `${ps(r.top, height)}% ${ps(r.right, width)}% ${ps(r.bottom, height)}% ${ps(r.left, width)}%`;
70
- selectedElement.setAttribute(`${prefix}-inset`, av);
87
+ newInset = `${ps(r.top, height)}% ${ps(r.right, width)}% ${ps(r.bottom, height)}% ${ps(r.left, width)}%`;
88
+ selectedElement.setAttribute(insetAttribute, newInset);
71
89
  // if (/^img$/i.test(selectedElement.tagName)) {
72
90
  // image needs width/height as well...
73
91
  if (!r.move) {
@@ -79,8 +97,10 @@ const setCapture = (editor: HtmlPageEditor, element: HTMLElement, e: PointerEven
79
97
  if (ri.right === r.right) {
80
98
  widthDiff -= r.right;
81
99
  }
82
- selectedElement.setAttribute(`${prefix}-width`, ps(width + widthDiff, width) + "%");
83
- selectedElement.setAttribute(`${prefix}-height`, ps(height + heightDiff, height) + "%");
100
+ newWidth = ps(width + widthDiff, width) + "%";
101
+ selectedElement.setAttribute(widthAttribute, newWidth);
102
+ newHeight = ps(height + heightDiff, height) + "%";
103
+ selectedElement.setAttribute(heightAttribute, newHeight);
84
104
  }
85
105
  // }
86
106
 
@@ -97,8 +117,38 @@ const setCapture = (editor: HtmlPageEditor, element: HTMLElement, e: PointerEven
97
117
  element.removeEventListener("pointermove", captureMove);
98
118
  element.removeEventListener("pointerup", release);
99
119
  captureMove(e1);
100
- d.resume();
101
120
  editor.commit();
121
+ d.resume();
122
+
123
+ // push records...
124
+ records.push({
125
+ type: "attributes",
126
+ oldValue: oldInset,
127
+ target: selectedElement as any,
128
+ attributeName: insetAttribute,
129
+ attributeNamespace: "",
130
+ } as MutationRecord);
131
+
132
+ if (newWidth) {
133
+ records.push({
134
+ type: "attributes",
135
+ oldValue: oldWidth,
136
+ target: selectedElement as any,
137
+ attributeName: widthAttribute,
138
+ attributeNamespace: "",
139
+ } as MutationRecord);
140
+ }
141
+ if (newHeight) {
142
+ records.push({
143
+ type: "attributes",
144
+ oldValue: oldHeight,
145
+ target: selectedElement as any,
146
+ attributeName: heightAttribute,
147
+ attributeNamespace: "",
148
+ } as MutationRecord);
149
+ }
150
+
151
+ undoRedo.observe(records);
102
152
  };
103
153
  element.addEventListener("pointerup", release);
104
154
  };
@@ -29,7 +29,7 @@ function addLinkTag(href, integrity?, rel = "stylesheet") {
29
29
  }
30
30
 
31
31
  addLinkTag("https://fonts.googleapis.com/css2?family=Source+Sans+Pro:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&display=swap");
32
- addLinkTag("https://dtzkc6yot8xw8.cloudfront.net/npm/package/@c8private/fa-icons@6.7.2/css/all.min.css");
32
+ addLinkTag("https://dtzkc6yot8xw8.cloudfront.net/npm/package/@c8private/fa-icons@7.0.0/css/all.min.css");
33
33
  addLinkTag("https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0");
34
34
  addLinkTag("https://cdn.jsdelivr.net/npm/file-icon-vectors@1.0.0/dist/file-icon-vivid.min.css");
35
35
 
@@ -132,6 +132,26 @@ export default class AppDrawer extends BaseDrawer {
132
132
  label="All"
133
133
  commandLink={AppCommands.openWebSiteList.displayRoute({})}
134
134
  />
135
+ </ExpanderMenu>
136
+ <ExpanderMenu
137
+ style-display={Bind.oneWay(() => this.menuService.designs.length > 0)}
138
+ isExpanded={true}>
139
+ <MenuItem
140
+ icon="fa-duotone fa-thin fa-object-group"
141
+ label="Designs"
142
+ commandLink={null}
143
+ />
144
+ <MenuRepeater
145
+ items={this.menuService.websites}
146
+ itemRenderer={(d: IWebSite) => <MenuItem
147
+ commandLink={CommonCommands.openWebSiteDetails.displayRoute({ id: d.folderID })}
148
+ label={d.folder.name}
149
+ description={toFileSize(Number(d.folder.fileSize) + Number(d.snapshotStorage))}
150
+ />}/>
151
+ <MenuItem
152
+ label="All"
153
+ commandLink={AppCommands.openWebSiteDesignList.displayRoute({})}
154
+ />
135
155
  </ExpanderMenu>
136
156
  <ExpanderMenu isExpanded={false}>
137
157
  <MenuItem