diff --git a/packages/builder/src/builderStore/loadComponentLibraries.js b/packages/builder/src/builderStore/loadComponentLibraries.js index ed720ad6c0..1bd30a5582 100644 --- a/packages/builder/src/builderStore/loadComponentLibraries.js +++ b/packages/builder/src/builderStore/loadComponentLibraries.js @@ -1,6 +1,11 @@ +import { flatten, values, uniq, map } from "lodash/fp" +import { pipe } from "../common/core" + export const loadLibs = async (appName, appPackage) => { const allLibraries = {} - for (let lib of appPackage.pages.componentLibraries) { + + for (let lib of libsFromPages(appPackage.pages)) { + const libModule = await import(makeLibraryUrl(appName, lib)) allLibraries[lib] = libModule } @@ -10,7 +15,7 @@ export const loadLibs = async (appName, appPackage) => { export const loadLibUrls = (appName, appPackage) => { const allLibraries = [] - for (let lib of appPackage.pages.componentLibraries) { + for (let lib of libsFromPages(appPackage.pages)) { const libUrl = makeLibraryUrl(appName, lib) allLibraries.push({ libName: lib, importPath: libUrl }) } @@ -25,3 +30,11 @@ export const loadLib = async (appName, lib, allLibs) => { export const makeLibraryUrl = (appName, lib) => `/_builder/${appName}/componentlibrary?lib=${encodeURI(lib)}` + +export const libsFromPages = pages => pipe(pages, [ + values, + map(p => p.componentLibraries), + flatten, + uniq +]) + diff --git a/packages/builder/src/builderStore/store.js b/packages/builder/src/builderStore/store.js index 70207314ac..9245e2c9b5 100644 --- a/packages/builder/src/builderStore/store.js +++ b/packages/builder/src/builderStore/store.js @@ -140,8 +140,6 @@ const initialise = (store, initial) => async () => { ]) pkg.pages = { - componentLibraries: ["@budibase/standard-components"], - stylesheets: [], main: { ...pkg.pages.main, _screens: Object.values(main_screens), diff --git a/packages/builder/src/userInterface/SettingsView.svelte b/packages/builder/src/userInterface/SettingsView.svelte index 13f970a63c..bc7441561d 100644 --- a/packages/builder/src/userInterface/SettingsView.svelte +++ b/packages/builder/src/userInterface/SettingsView.svelte @@ -5,7 +5,7 @@ import IconButton from "../common/IconButton.svelte" import { libraryDependencies } from "./pagesParsing/findDependencies" import UIkit from "uikit" - + import { libsFromPages } from "../builderStore/loadComponentLibraries" let addNewLib = "" let addNewStylesheet = "" let modalElement @@ -61,7 +61,7 @@

- {#each $store.pages.componentLibraries as lib} + {#each $store.pages[$store.currentPageName].componentLibraries as lib}
{lib} removeLibrary(lib)} /> @@ -79,7 +79,7 @@

- {#each $store.pages.stylesheets as stylesheet} + {#each $store.pages[$store.currentPageName].stylesheets as stylesheet}
{stylesheet}