From 235b14e120554e5deb66ff5867f340f3f6ca92aa Mon Sep 17 00:00:00 2001 From: Ivan Shubin Date: Sun, 10 Dec 2023 08:23:41 +0100 Subject: [PATCH] fixed templates loading in drive version --- src/ui/app/client/clientCommons.js | 11 +++++++++++ src/ui/app/client/fsClient.js | 14 +++----------- src/ui/app/client/googleDriveClient.js | 5 ++++- src/ui/app/client/offlineClient.js | 7 +++++-- 4 files changed, 23 insertions(+), 14 deletions(-) diff --git a/src/ui/app/client/clientCommons.js b/src/ui/app/client/clientCommons.js index 65a6c06d6..a9f51bfa7 100644 --- a/src/ui/app/client/clientCommons.js +++ b/src/ui/app/client/clientCommons.js @@ -1,4 +1,7 @@ import axios from "axios"; +import { InMemoryCache } from "../../LimitedSettingsStorage"; + +const templateCache = new InMemoryCache(100); export function unwrapAxios(response) { return response.data; @@ -26,3 +29,11 @@ export function getExportHTMLResources(assetsPath) { }; }) } + +export function getAllTemplates() { + return axios.get('/assets/templates/index.json').then(unwrapAxios); +} + +export function getTemplate(path) { + return templateCache.get(path, () => axios.get(path).then(unwrapAxios)); +} \ No newline at end of file diff --git a/src/ui/app/client/fsClient.js b/src/ui/app/client/fsClient.js index d5e97ca18..81991ed4c 100644 --- a/src/ui/app/client/fsClient.js +++ b/src/ui/app/client/fsClient.js @@ -1,10 +1,7 @@ import axios from "axios"; import {forEach} from '../../collections'; import { getCachedSchemeInfo, schemeSearchCacher } from "./clientCache"; -import { getExportHTMLResources, unwrapAxios } from "./clientCommons"; -import { InMemoryCache } from "../../LimitedSettingsStorage"; - -const templateCache = new InMemoryCache(100); +import { getAllTemplates, getExportHTMLResources, getTemplate, unwrapAxios } from "./clientCommons"; export const fsClientProvider = { type: 'fs', @@ -77,13 +74,8 @@ export const fsClientProvider = { return axios.get('/v1/fs/art').then(unwrapAxios); }, - getAllTemplates() { - return axios.get('/assets/templates/index.json').then(unwrapAxios); - }, - - getTemplate(path) { - return templateCache.get(path, () => axios.get(path).then(unwrapAxios)); - }, + getAllTemplates, + getTemplate: getTemplate, saveArt(artId, art) { return axios.put(`/v1/fs/art/${artId}`, art).then(unwrapAxios); diff --git a/src/ui/app/client/googleDriveClient.js b/src/ui/app/client/googleDriveClient.js index 33862d3e6..3f230e3e2 100644 --- a/src/ui/app/client/googleDriveClient.js +++ b/src/ui/app/client/googleDriveClient.js @@ -1,4 +1,4 @@ -import { getExportHTMLResources } from "./clientCommons"; +import { getAllTemplates, getExportHTMLResources, getTemplate } from "./clientCommons"; import {forEach, map} from "../../collections"; import { getCachedSchemeInfo, schemeSearchCacher } from "./clientCache"; import { encode } from 'js-base64'; @@ -235,6 +235,9 @@ export const googleDriveClientProvider = { }); }, + getAllTemplates, + getTemplate, + renameScheme(schemeId, newName) { return this.renameGoogleFile(schemeId, newName); }, diff --git a/src/ui/app/client/offlineClient.js b/src/ui/app/client/offlineClient.js index 6cbf5e92a..ef8c137dc 100644 --- a/src/ui/app/client/offlineClient.js +++ b/src/ui/app/client/offlineClient.js @@ -1,4 +1,4 @@ -import { getExportHTMLResources } from "./clientCommons"; +import { getAllTemplates, getExportHTMLResources, getTemplate } from "./clientCommons"; export const offlineClientProvider = { type: 'offline', @@ -9,7 +9,10 @@ export const offlineClientProvider = { saveScheme(scheme) { window.localStorage.setItem('offlineScheme', JSON.stringify(scheme)); return Promise.resolve(scheme); - } + }, + + getAllTemplates, + getTemplate, }); } } \ No newline at end of file