@social-mail/social-mail-client 1.2.781 → 1.2.783

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 (71) hide show
  1. package/dist/admin/AdminAppIndex.pack.js +51 -24
  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/common/FileUrlService.d.ts +8 -0
  6. package/dist/common/FileUrlService.d.ts.map +1 -0
  7. package/dist/common/FileUrlService.js +29 -0
  8. package/dist/common/FileUrlService.js.map +1 -0
  9. package/dist/common/controls/file-preview/FilePreview.d.ts.map +1 -1
  10. package/dist/common/controls/file-preview/FilePreview.js +12 -16
  11. package/dist/common/controls/file-preview/FilePreview.js.map +1 -1
  12. package/dist/common/folder-view/FolderViewControl.d.ts.map +1 -1
  13. package/dist/common/folder-view/FolderViewControl.js +5 -3
  14. package/dist/common/folder-view/FolderViewControl.js.map +1 -1
  15. package/dist/common/pages/files/FolderPage.d.ts.map +1 -1
  16. package/dist/common/pages/files/FolderPage.js +6 -4
  17. package/dist/common/pages/files/FolderPage.js.map +1 -1
  18. package/dist/common/pages/files/media/ChooseMediaPage.d.ts.map +1 -1
  19. package/dist/common/pages/files/media/ChooseMediaPage.js +5 -5
  20. package/dist/common/pages/files/media/ChooseMediaPage.js.map +1 -1
  21. package/dist/model/model.d.ts +1 -4
  22. package/dist/model/model.d.ts.map +1 -1
  23. package/dist/model/model.js +0 -3
  24. package/dist/model/model.js.map +1 -1
  25. package/dist/public/channel/ChannelApp.pack.js +0 -3
  26. package/dist/public/channel/ChannelApp.pack.js.map +1 -1
  27. package/dist/public/channel/ChannelApp.pack.min.js +1 -1
  28. package/dist/public/channel/ChannelApp.pack.min.js.map +1 -1
  29. package/dist/public/preview/zip/DownloadZip.pack.js +0 -3
  30. package/dist/public/preview/zip/DownloadZip.pack.js.map +1 -1
  31. package/dist/public/preview/zip/DownloadZip.pack.min.js +1 -1
  32. package/dist/public/preview/zip/DownloadZip.pack.min.js.map +1 -1
  33. package/dist/public/store/StoreApp.pack.js +0 -3
  34. package/dist/public/store/StoreApp.pack.js.map +1 -1
  35. package/dist/public/store/StoreApp.pack.min.js +1 -1
  36. package/dist/public/store/StoreApp.pack.min.js.map +1 -1
  37. package/dist/public/store/cart/ShoppingCart.pack.js +0 -3
  38. package/dist/public/store/cart/ShoppingCart.pack.js.map +1 -1
  39. package/dist/public/store/cart/ShoppingCart.pack.min.js +1 -1
  40. package/dist/public/store/cart/ShoppingCart.pack.min.js.map +1 -1
  41. package/dist/services/store/StoreItemService.d.ts.map +1 -1
  42. package/dist/services/store/StoreItemService.js +0 -1
  43. package/dist/services/store/StoreItemService.js.map +1 -1
  44. package/dist/site-editor/editor/WebSitePageEditor.js +3 -3
  45. package/dist/site-editor/editor/WebSitePageEditor.js.map +1 -1
  46. package/dist/site-editor-app/SiteEditorApp.pack.js +69 -45
  47. package/dist/site-editor-app/SiteEditorApp.pack.js.map +1 -1
  48. package/dist/site-editor-app/SiteEditorApp.pack.min.js +11 -11
  49. package/dist/site-editor-app/SiteEditorApp.pack.min.js.map +1 -1
  50. package/dist/site-editor-app/pages/websites/studio/WebSiteStudioPage.d.ts.map +1 -1
  51. package/dist/site-editor-app/pages/websites/studio/WebSiteStudioPage.js +3 -6
  52. package/dist/site-editor-app/pages/websites/studio/WebSiteStudioPage.js.map +1 -1
  53. package/dist/site-editor-app/pages/websites/templates/TemplateService.d.ts.map +1 -1
  54. package/dist/site-editor-app/pages/websites/templates/TemplateService.js +2 -3
  55. package/dist/site-editor-app/pages/websites/templates/TemplateService.js.map +1 -1
  56. package/dist/tsconfig.tsbuildinfo +1 -1
  57. package/dist/web/AppIndex.pack.js +51 -24
  58. package/dist/web/AppIndex.pack.js.map +1 -1
  59. package/dist/web/AppIndex.pack.min.js +5 -5
  60. package/dist/web/AppIndex.pack.min.js.map +1 -1
  61. package/package.json +1 -1
  62. package/src/common/FileUrlService.ts +27 -0
  63. package/src/common/controls/file-preview/FilePreview.tsx +4 -4
  64. package/src/common/folder-view/FolderViewControl.tsx +2 -1
  65. package/src/common/pages/files/FolderPage.tsx +3 -2
  66. package/src/common/pages/files/media/ChooseMediaPage.tsx +2 -1
  67. package/src/model/model.ts +2 -4
  68. package/src/services/store/StoreItemService.ts +0 -1
  69. package/src/site-editor/editor/WebSitePageEditor.tsx +3 -3
  70. package/src/site-editor-app/pages/websites/studio/WebSiteStudioPage.tsx +3 -5
  71. package/src/site-editor-app/pages/websites/templates/TemplateService.ts +2 -3
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@social-mail/social-mail-client",
3
- "version": "1.2.781",
3
+ "version": "1.2.783",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -0,0 +1,27 @@
1
+ import { IAppFile } from "../model/model";
2
+
3
+ export const FileUrlService = {
4
+
5
+ downloadUrl(file: IAppFile) {
6
+ const url = file.url;
7
+ return url.replace("/view/", "/download/");
8
+ },
9
+
10
+ webP(file: IAppFile, size = 300) {
11
+ const url = file.url;
12
+ return url.replace("/view/", `/webp(${300})/`) + `.${size}.webp`;
13
+ },
14
+
15
+ webM(file: IAppFile) {
16
+ const url = file.url;
17
+ return url.replace("/view/", `/webm/`) + `.webm`;
18
+ },
19
+
20
+ webMBranded(file: IAppFile) {
21
+ const url = file.url;
22
+ return url.replace("/view/", `/webm-branded/`) + `.branded.webm`;
23
+ }
24
+
25
+
26
+
27
+ };
@@ -8,6 +8,7 @@ import Command from "@web-atoms/core/dist/core/Command";
8
8
  import audioIcon from "@social-mail/social-mail-client/content/images/icons/audio.svg";
9
9
  import { apiPath } from "../../apiPath";
10
10
  import { fileUrl } from "../../fileUrl";
11
+ import { FileUrlService } from "../../FileUrlService";
11
12
 
12
13
  styled.css `
13
14
  border: solid 2px lightgray;
@@ -66,8 +67,7 @@ export default function FilePreview(a: IAppFile) {
66
67
  const size = a.fileSize && toFileSize(a.fileSize);
67
68
 
68
69
  const { emailID, appFileID, name, fileContentID } = a;
69
- let src = fileUrl(a, { action: "webp(300)", ext: ".webp"});
70
- const p = { emailID, appFileID, name, fileContentID };
70
+ let src = FileUrlService.webP(a, 300);
71
71
 
72
72
  if (/^audio\//i.test(a.contentType)) {
73
73
  src = audioIcon;
@@ -76,7 +76,7 @@ export default function FilePreview(a: IAppFile) {
76
76
  const command = AppCommands.getPreviewCommand(a);
77
77
  if (command) {
78
78
  return <a
79
- href={command.displayRoute(p)}
79
+ href={command.displayRoute({ emailID, appFileID, name, fileContentID })}
80
80
  data-click-event="route"
81
81
  title={size ? `${name} (${size})` : name}
82
82
  data-file-preview="file-preview">
@@ -88,7 +88,7 @@ export default function FilePreview(a: IAppFile) {
88
88
  </a>;
89
89
  }
90
90
 
91
- return <a href={a.downloadUrl}
91
+ return <a href={ FileUrlService.downloadUrl(a)}
92
92
  title={size ? `${name} (${size})` : name}
93
93
  target="_blank" data-file-preview="attachment">
94
94
  <i class="fas fa-paperclip"/>
@@ -14,6 +14,7 @@ import { apiPath } from "../apiPath";
14
14
  import { DeleteIconTextButton } from "../controls/buttons/IconButton";
15
15
  import { fileUrl } from "../fileUrl";
16
16
  import CloudFileService from "../pages/files/service/CloudFileService";
17
+ import { FileUrlService } from "../FileUrlService";
17
18
 
18
19
 
19
20
  styled.css `
@@ -236,7 +237,7 @@ export default class FolderViewControl extends AtomControl {
236
237
  </div>
237
238
  <div>{item.isShared && <i title="Shared" class="fas fa-folder-user"/>}</div>
238
239
  <div text={toFileSize(item.fileSize)}/>
239
- <div><a href={item.downloadUrl} target="_blank" download={true}><i class="fas fa-download"/></a></div>
240
+ <div><a href={FileUrlService.downloadUrl(item)} target="_blank" download={true}><i class="fas fa-download"/></a></div>
240
241
  <div><i
241
242
  data-click-event="edit-shares"
242
243
  class="fas fa-share"/></div>
@@ -17,6 +17,7 @@ import EditSharesPage from "./shares/EditSharesPage";
17
17
  import InlinePopup from "@web-atoms/web-controls/dist/basic/InlinePopup";
18
18
  import EditTemplatePage from "../../../web/page/templates/EditTemplatePage";
19
19
  import FileHistoryPage from "./FileHistoryPage";
20
+ import { FileUrlService } from "../../FileUrlService";
20
21
 
21
22
  const css = styled.css `
22
23
  display: grid;
@@ -226,7 +227,7 @@ export default class FolderPage extends ContentPage {
226
227
  </div>
227
228
  <div>{item.isShared && <i title="Shared" class="fas fa-folder-user"/>}</div>
228
229
  <div text={toFileSize(item.fileSize)}/>
229
- <div><a href={item.downloadUrl} target="_blank" download={true}><i class="fas fa-download"/></a></div>
230
+ <div><a href={FileUrlService.downloadUrl(item)} target="_blank" download={true}><i class="fas fa-download"/></a></div>
230
231
  <div><i
231
232
  data-click-event="edit-shares"
232
233
  class="fas fa-share"/></div>
@@ -245,7 +246,7 @@ export default class FolderPage extends ContentPage {
245
246
  </div>
246
247
  <div>{item.isShared && <i title="Shared" class="fas fa-folder-user"/>}</div>
247
248
  <div text={toFileSize(item.fileSize)}/>
248
- <div><a href={item.downloadUrl} target="_blank" download={true}><i class="fas fa-download"/></a></div>
249
+ <div><a href={FileUrlService.downloadUrl(item)} target="_blank" download={true}><i class="fas fa-download"/></a></div>
249
250
  <div><i
250
251
  data-click-event="edit-shares"
251
252
  class="fas fa-share"/></div>
@@ -13,6 +13,7 @@ import UploadEvent from "@web-atoms/web-controls/dist/basic/UploadEvent";
13
13
  import { SaveIconTextButton } from "../../../../common/controls/buttons/IconButton";
14
14
  import { apiPath } from "../../../../common/apiPath";
15
15
  import { fileUrl } from "../../../../common/fileUrl";
16
+ import { FileUrlService } from "../../../FileUrlService";
16
17
 
17
18
 
18
19
  const css = styled.css `
@@ -198,7 +199,7 @@ export default class ChooseMediaPage extends PopupWindowPage<
198
199
  <label class="file-name" title={item.name} text={item.name}/>
199
200
  <img
200
201
  class="file-preview"
201
- src={ fileUrl.webp(item, 300)} />
202
+ src={ FileUrlService.webP(item, 300)} />
202
203
  </div>;
203
204
  }
204
205
  }
@@ -40,7 +40,6 @@ export interface IAppFile extends IClrEntity {
40
40
  sourceEmailLogID?: number;
41
41
  postID?: string;
42
42
  url?: string;
43
- downloadUrl?: string;
44
43
  fileContent?: IFileContent;
45
44
  creator?: IUser;
46
45
  parent?: IAppFile;
@@ -64,11 +63,11 @@ export interface IAppFile extends IClrEntity {
64
63
 
65
64
  export const AppFileContentDispositionArray = [{"label":"attachment","value":"attachment"},{"label":"inline","value":"inline"}];
66
65
 
67
- export const AppFile: IModel<IAppFile,{"storeItemFiles":"external","channelEmailFiles":"external","channelFiles":"external","children":"external","templateSnapshot":"external"},{"download":"external"}> = new Model<IAppFile>(
66
+ export const AppFile: IModel<IAppFile,{"storeItemFiles":"external","channelEmailFiles":"external","channelFiles":"external","children":"external","templateSnapshot":"external"},any> = new Model<IAppFile>(
68
67
  "AppFile",
69
68
  ["appFileID"],
70
69
  { isFolder: false,name: "",fileSize: 0,contentType: "",isDeleted: false,isShared: false,dateCreated: new DefaultFactory(() => new DateTime()) },
71
- {"name":"app_files","keys":[{"name":"appFileID","type":"number","generated":"identity","dataType":"BigInt"}],"properties":[{"name":"path","type":"string","dataType":"AsciiChar","length":400,"default":["path","\"\""]},{"name":"isFolder","type":"boolean","dataType":"Boolean","default":["isFolder","false"]},{"name":"name","type":"string","dataType":"Char","length":400,"default":["name","\"\""]},{"name":"fileSize","type":"number","dataType":"BigInt","default":["fileSize","0"]},{"name":"contentType","type":"string","dataType":"Char","length":200,"default":["contentType","\"\""]},{"name":"contentDisposition","type":"string","dataType":"AsciiChar","length":10,"default":["contentDisposition","\"attachment\""]},{"name":"contentID","type":"string","dataType":"Char","default":["contentID","\"\""]},{"name":"fileContentID","type":"number","dataType":"BigInt"},{"name":"creatorID","type":"number","dataType":"BigInt"},{"name":"parentID","type":"number","dataType":"BigInt"},{"name":"emailID","type":"number","dataType":"BigInt"},{"name":"isDeleted","type":"boolean","dataType":"Boolean","default":["isDeleted","false"]},{"name":"isShared","type":"boolean","dataType":"Boolean","default":["isShared","false"]},{"name":"dateCreated","type":"DateTime","dataType":"DateTimeOffset","default":["dateCreated","new DefaultFactory(() => new DateTime())"]},{"name":"dateUpdated","type":"DateTime","dataType":"DateTimeOffset","default":["dateUpdated","new DefaultFactory(() => new DateTime())"]},{"name":"versions","type":"number","dataType":"Int","default":["versions","0"]}],"relations":[{"name":"fileContent","fkMap":[{"fk":"fileContentID","relatedKey":"fileContentID"}],"relatedName":"FileContent"},{"name":"creator","fkMap":[{"fk":"creatorID","relatedKey":"userID"}],"relatedName":"User"},{"name":"parent","fkMap":[{"fk":"parentID","relatedKey":"appFileID"}],"relatedName":"AppFile"},{"name":"children","isCollection":true,"isInverse":true,"relatedName":"AppFile"},{"name":"email","fkMap":[{"fk":"emailID","relatedKey":"emailID"}],"relatedName":"Email"},{"name":"mailboxLogos","isCollection":true,"isInverse":true,"relatedName":"Mailbox"},{"name":"websiteFolder","isCollection":false,"isInverse":true,"relatedName":"WebSite"},{"name":"currentVersionWebSites","isCollection":true,"isInverse":true,"relatedName":"WebSite"},{"name":"storeItems","isCollection":true,"isInverse":true,"relatedName":"StoreItem"},{"name":"fileVersions","isCollection":true,"isInverse":true,"relatedName":"AppFileVersion"},{"name":"folderVersions","isCollection":true,"isInverse":true,"relatedName":"AppFileVersion"},{"name":"accessList","isCollection":true,"isInverse":true,"relatedName":"AppFileAccess"},{"name":"tags","isCollection":true,"isInverse":true,"relatedName":"AppFileTag"},{"name":"previewContacts","isCollection":true,"isInverse":true,"relatedName":"Contact"},{"name":"templates","isCollection":true,"isInverse":true,"relatedName":"EmailTemplate"},{"name":"storeJournals","isCollection":true,"isInverse":true,"relatedName":"StoreJournal"},{"name":"storeMediaFiles","isCollection":true,"isInverse":true,"relatedName":"StoreMediaFile"},{"name":"userPins","isCollection":true,"isInverse":true,"relatedName":"UserPin"},{"name":"websiteVersions","isCollection":true,"isInverse":true,"relatedName":"WebSiteVersion"}],"queries":{"storeItemFiles":"external","channelEmailFiles":"external","channelFiles":"external","children":"external","templateSnapshot":"external"},"actions":{"download":"external"}}
70
+ {"name":"app_files","keys":[{"name":"appFileID","type":"number","generated":"identity","dataType":"BigInt"}],"properties":[{"name":"path","type":"string","dataType":"AsciiChar","length":400,"default":["path","\"\""]},{"name":"isFolder","type":"boolean","dataType":"Boolean","default":["isFolder","false"]},{"name":"name","type":"string","dataType":"Char","length":400,"default":["name","\"\""]},{"name":"fileSize","type":"number","dataType":"BigInt","default":["fileSize","0"]},{"name":"contentType","type":"string","dataType":"Char","length":200,"default":["contentType","\"\""]},{"name":"contentDisposition","type":"string","dataType":"AsciiChar","length":10,"default":["contentDisposition","\"attachment\""]},{"name":"contentID","type":"string","dataType":"Char","default":["contentID","\"\""]},{"name":"fileContentID","type":"number","dataType":"BigInt"},{"name":"creatorID","type":"number","dataType":"BigInt"},{"name":"parentID","type":"number","dataType":"BigInt"},{"name":"emailID","type":"number","dataType":"BigInt"},{"name":"isDeleted","type":"boolean","dataType":"Boolean","default":["isDeleted","false"]},{"name":"isShared","type":"boolean","dataType":"Boolean","default":["isShared","false"]},{"name":"dateCreated","type":"DateTime","dataType":"DateTimeOffset","default":["dateCreated","new DefaultFactory(() => new DateTime())"]},{"name":"dateUpdated","type":"DateTime","dataType":"DateTimeOffset","default":["dateUpdated","new DefaultFactory(() => new DateTime())"]},{"name":"versions","type":"number","dataType":"Int","default":["versions","0"]}],"relations":[{"name":"fileContent","fkMap":[{"fk":"fileContentID","relatedKey":"fileContentID"}],"relatedName":"FileContent"},{"name":"creator","fkMap":[{"fk":"creatorID","relatedKey":"userID"}],"relatedName":"User"},{"name":"parent","fkMap":[{"fk":"parentID","relatedKey":"appFileID"}],"relatedName":"AppFile"},{"name":"children","isCollection":true,"isInverse":true,"relatedName":"AppFile"},{"name":"email","fkMap":[{"fk":"emailID","relatedKey":"emailID"}],"relatedName":"Email"},{"name":"mailboxLogos","isCollection":true,"isInverse":true,"relatedName":"Mailbox"},{"name":"websiteFolder","isCollection":false,"isInverse":true,"relatedName":"WebSite"},{"name":"currentVersionWebSites","isCollection":true,"isInverse":true,"relatedName":"WebSite"},{"name":"storeItems","isCollection":true,"isInverse":true,"relatedName":"StoreItem"},{"name":"fileVersions","isCollection":true,"isInverse":true,"relatedName":"AppFileVersion"},{"name":"folderVersions","isCollection":true,"isInverse":true,"relatedName":"AppFileVersion"},{"name":"accessList","isCollection":true,"isInverse":true,"relatedName":"AppFileAccess"},{"name":"tags","isCollection":true,"isInverse":true,"relatedName":"AppFileTag"},{"name":"previewContacts","isCollection":true,"isInverse":true,"relatedName":"Contact"},{"name":"templates","isCollection":true,"isInverse":true,"relatedName":"EmailTemplate"},{"name":"storeJournals","isCollection":true,"isInverse":true,"relatedName":"StoreJournal"},{"name":"storeMediaFiles","isCollection":true,"isInverse":true,"relatedName":"StoreMediaFile"},{"name":"userPins","isCollection":true,"isInverse":true,"relatedName":"UserPin"},{"name":"websiteVersions","isCollection":true,"isInverse":true,"relatedName":"WebSiteVersion"}],"queries":{"storeItemFiles":"external","channelEmailFiles":"external","channelFiles":"external","children":"external","templateSnapshot":"external"}}
72
71
  );
73
72
  modelEntitySchemas["AppFile"] = AppFile;
74
73
 
@@ -2095,4 +2094,3 @@ iterator.relatedModel = schema[iterator.relatedName];
2095
2094
  }
2096
2095
  };
2097
2096
  fixRelatedSchemas(modelEntitySchemas);
2098
-
@@ -112,7 +112,6 @@ export default class StoreItemService {
112
112
  });
113
113
  file.url = url;
114
114
  file.fileContentID = fileContentID;
115
- file.downloadUrl = url;
116
115
  }
117
116
  }
118
117
 
@@ -136,7 +136,7 @@ export default class WebSitePageEditor extends HtmlPageEditor {
136
136
  @Action({ onEvent: "open-variables"})
137
137
  async openVariables() {
138
138
  let file = await this.cloudFileService.children(this.folder.appFileID, "styles/vars.css").firstOrDefault();
139
- let content = await FetchBuilder.get(file.downloadUrl).asText();
139
+ let content = await FetchBuilder.get(file.url).asText();
140
140
  const modifiedContent = await PageNavigator.pushPageForResult(CodeEditorPage, { fileName: file.name, content } );
141
141
  if (modifiedContent !== content) {
142
142
  // save ...
@@ -165,7 +165,7 @@ export default class WebSitePageEditor extends HtmlPageEditor {
165
165
  pending.push(async () => {
166
166
  const file = await this.cloudFileService.children(this.folder.appFileID, src)
167
167
  .firstOrDefault();
168
- const text = await FetchBuilder.get(file.downloadUrl).asText();
168
+ const text = await FetchBuilder.get(file.url).asText();
169
169
  const parser = new DOMParser();
170
170
  const dom = parser.parseFromString(text, "text/html");
171
171
  const children = Array.from(dom.body.children);
@@ -185,7 +185,7 @@ export default class WebSitePageEditor extends HtmlPageEditor {
185
185
  if (!stylerFile) {
186
186
  stylerFile = await this.createFile("styler.css", StylerSet.instance.toString());
187
187
  } else {
188
- const stylerContent = await FetchBuilder.get(stylerFile.downloadUrl).asText();
188
+ const stylerContent = await FetchBuilder.get(stylerFile.url).asText();
189
189
  const newStyle = StylerSet.instance.toString();
190
190
  if (stylerContent !== newStyle) {
191
191
  stylerFile = await this.createFile("styler.css", newStyle);
@@ -222,7 +222,7 @@ export default class WebSiteStudioPage extends ContentPage {
222
222
  <WebSitePageEditor
223
223
  class="file-list"
224
224
  selectedFile={Bind.oneWay(() => this.selectedFile)}
225
- baseUrl={Bind.oneWay(() => apiPath(`/api/site/draft/${this.root.appFileID}/${this.cloudFileService.getFilePath(this.root, this.selectedFile)}`))}
225
+ baseUrl={Bind.oneWay(() => apiPath(`${this.root.url}${this.cloudFileService.getFilePath(this.root, this.selectedFile)}`))}
226
226
  folder={this.root}
227
227
  presenter={Bind.presenter((c) => this.htmlEditor = c)}
228
228
  event-html-page-changed={(ce: CustomEvent<string>) => this.modified = true}
@@ -240,7 +240,7 @@ export default class WebSiteStudioPage extends ContentPage {
240
240
  }
241
241
 
242
242
  async downloadHtml(file: IAppFile, cancelToken) {
243
- const text = await FetchBuilder.get(file.downloadUrl)
243
+ const text = await FetchBuilder.get(file.url)
244
244
  .cancelToken(cancelToken)
245
245
  .asText(true);
246
246
  this.pageContent = text;
@@ -334,7 +334,6 @@ export default class WebSiteStudioPage extends ContentPage {
334
334
  const result = await this.cloudFileService.saveFile({ appFileID: this.selectedFile.appFileID, content });
335
335
  this.selectedFile.url = result.url;
336
336
  this.selectedFile.fileContentID = result.fileContentID;
337
- this.selectedFile.downloadUrl = result.downloadUrl;
338
337
  this.webSite.isModified = true;
339
338
  this.modified = false;
340
339
  this.htmlEditor.undoRedo.changed = false;
@@ -356,13 +355,12 @@ export default class WebSiteStudioPage extends ContentPage {
356
355
 
357
356
  @Action({ onEvent: "file-history"})
358
357
  async fileHistory(file: IAppFile) {
359
- const { fileContentID, url, downloadUrl } = await PageNavigator.pushPageForResult(FileHistoryPage, file);
358
+ const { fileContentID, url } = await PageNavigator.pushPageForResult(FileHistoryPage, file);
360
359
  // restore...
361
360
  const { selectedFile } = this;
362
361
  if (file.appFileID === selectedFile?.appFileID) {
363
362
  // refresh...
364
363
  selectedFile.url = url;
365
- selectedFile.downloadUrl = downloadUrl;
366
364
  selectedFile.fileContentID = fileContentID;
367
365
  }
368
366
  }
@@ -89,7 +89,6 @@ export default class TemplateService extends TaskManager {
89
89
  if (destFile.fileContentID !== source.fileContentID) {
90
90
  destFile.fileContentID = source.fileContentID;
91
91
  await this.entityService.save(destFile, (c) => c);
92
- destFile.downloadUrl = source.downloadUrl;
93
92
  destFile.url = source.url;
94
93
  }
95
94
 
@@ -116,7 +115,7 @@ export default class TemplateService extends TaskManager {
116
115
  }
117
116
 
118
117
  if (/\.css$/i.test(destFile.name)) {
119
- let css = await FetchBuilder.get(destFile.downloadUrl).asText();
118
+ let css = await FetchBuilder.get(destFile.url).asText();
120
119
  css = this.updateCssReferences(source, destFile, css);
121
120
  if (css) {
122
121
  await this.cloudFileService.saveFile({
@@ -180,7 +179,7 @@ export default class TemplateService extends TaskManager {
180
179
 
181
180
  async updateHtmlReferences(source: IAppFile, destFile: IAppFile, siteRoot: string) {
182
181
  const parser = new DOMParser();
183
- const text = await FetchBuilder.get(destFile.downloadUrl).asText();
182
+ const text = await FetchBuilder.get(destFile.url).asText();
184
183
  const dom = parser.parseFromString(text, "text/html");
185
184
 
186
185
  let modified = false;