bugfix: component libraries loaded incorrectly

This commit is contained in:
Michael Shanks 2020-02-19 13:58:06 +00:00
parent 2d0e027582
commit d072c356ef
3 changed files with 18 additions and 7 deletions

View File

@ -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
])

View File

@ -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),

View File

@ -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 @@
<Button color="primary-outline" on:click={addLib}>Add</Button>
</span>
</p>
{#each $store.pages.componentLibraries as lib}
{#each $store.pages[$store.currentPageName].componentLibraries as lib}
<div>
<span class="row-text">{lib}</span>
<IconButton icon="x" on:click={() => removeLibrary(lib)} />
@ -79,7 +79,7 @@
</Button>
</span>
</p>
{#each $store.pages.stylesheets as stylesheet}
{#each $store.pages[$store.currentPageName].stylesheets as stylesheet}
<div>
<span class="row-text">{stylesheet}</span>
<IconButton