From 5d0f9b788c59cb209ecea670e93e65bcac8e1aeb Mon Sep 17 00:00:00 2001
From: Michael Shanks
Date: Wed, 19 Feb 2020 13:58:06 +0000
Subject: [PATCH] bugfix: component libraries loaded incorrectly
---
.../src/builderStore/loadComponentLibraries.js | 17 +++++++++++++++--
packages/builder/src/builderStore/store.js | 2 --
.../src/userInterface/SettingsView.svelte | 6 +++---
3 files changed, 18 insertions(+), 7 deletions(-)
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}