Merge pull request #112 from mjashanks/master

A few builder bugfixes, discovered when trying to use another component lib (MD)
This commit is contained in:
Michael Shanks 2020-02-19 14:14:33 +00:00 committed by GitHub
commit b2d71d070c
10 changed files with 40 additions and 38 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) => { export const loadLibs = async (appName, appPackage) => {
const allLibraries = {} const allLibraries = {}
for (let lib of appPackage.pages.componentLibraries) {
for (let lib of libsFromPages(appPackage.pages)) {
const libModule = await import(makeLibraryUrl(appName, lib)) const libModule = await import(makeLibraryUrl(appName, lib))
allLibraries[lib] = libModule allLibraries[lib] = libModule
} }
@ -10,7 +15,7 @@ export const loadLibs = async (appName, appPackage) => {
export const loadLibUrls = (appName, appPackage) => { export const loadLibUrls = (appName, appPackage) => {
const allLibraries = [] const allLibraries = []
for (let lib of appPackage.pages.componentLibraries) { for (let lib of libsFromPages(appPackage.pages)) {
const libUrl = makeLibraryUrl(appName, lib) const libUrl = makeLibraryUrl(appName, lib)
allLibraries.push({ libName: lib, importPath: libUrl }) allLibraries.push({ libName: lib, importPath: libUrl })
} }
@ -25,3 +30,11 @@ export const loadLib = async (appName, lib, allLibs) => {
export const makeLibraryUrl = (appName, lib) => export const makeLibraryUrl = (appName, lib) =>
`/_builder/${appName}/componentlibrary?lib=${encodeURI(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 = { pkg.pages = {
componentLibraries: ["@budibase/standard-components"],
stylesheets: [],
main: { main: {
...pkg.pages.main, ...pkg.pages.main,
_screens: Object.values(main_screens), _screens: Object.values(main_screens),

View File

@ -38,7 +38,7 @@
class="item" class="item"
class:selected={currentComponent === component} class:selected={currentComponent === component}
style="padding-left: {level * 20 + 67}px"> style="padding-left: {level * 20 + 67}px">
<span class="item-name">{get_capitalised_name(component._component)}</span> <div>{get_capitalised_name(component._component)}</div>
<div class="reorder-buttons"> <div class="reorder-buttons">
{#if index > 0} {#if index > 0}
<button on:click|stopPropagation={() => onMoveUpComponent(component)}> <button on:click|stopPropagation={() => onMoveUpComponent(component)}>
@ -87,8 +87,8 @@
} }
.item { .item {
display: flex; display: grid;
flex-direction: row; grid-template-columns: 1fr auto auto auto;
padding: 0px 5px 0px 67px; padding: 0px 5px 0px 67px;
margin: auto 0px; margin: auto 0px;
border-radius: 3px; border-radius: 3px;
@ -96,14 +96,10 @@
align-items: center; align-items: center;
} }
.item > span {
width: 1px;
flex: 1 1 auto;
}
.item button { .item button {
display: none; display: none;
height: 20px; height: 20px;
width: 30px;
color: var(--slate); color: var(--slate);
padding: 0px 5px; padding: 0px 5px;
} }
@ -136,7 +132,8 @@
.reorder-buttons > button { .reorder-buttons > button {
flex: 1 1 auto; flex: 1 1 auto;
height: 17px height: 17px;
width: 30px;
} }
</style> </style>

View File

@ -5,7 +5,7 @@
import IconButton from "../common/IconButton.svelte" import IconButton from "../common/IconButton.svelte"
import { libraryDependencies } from "./pagesParsing/findDependencies" import { libraryDependencies } from "./pagesParsing/findDependencies"
import UIkit from "uikit" import UIkit from "uikit"
import { libsFromPages } from "../builderStore/loadComponentLibraries"
let addNewLib = "" let addNewLib = ""
let addNewStylesheet = "" let addNewStylesheet = ""
let modalElement let modalElement
@ -61,7 +61,7 @@
<Button color="primary-outline" on:click={addLib}>Add</Button> <Button color="primary-outline" on:click={addLib}>Add</Button>
</span> </span>
</p> </p>
{#each $store.pages.componentLibraries as lib} {#each $store.pages[$store.currentPageName].componentLibraries as lib}
<div> <div>
<span class="row-text">{lib}</span> <span class="row-text">{lib}</span>
<IconButton icon="x" on:click={() => removeLibrary(lib)} /> <IconButton icon="x" on:click={() => removeLibrary(lib)} />
@ -79,7 +79,7 @@
</Button> </Button>
</span> </span>
</p> </p>
{#each $store.pages.stylesheets as stylesheet} {#each $store.pages[$store.currentPageName].stylesheets as stylesheet}
<div> <div>
<span class="row-text">{stylesheet}</span> <span class="row-text">{stylesheet}</span>
<IconButton <IconButton

View File

@ -8,6 +8,7 @@
"author": "", "author": "",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"@budibase/standard-components": "^0.0.3" "@budibase/standard-components": "^0.0.3",
"@budibase/materialdesign-components": "^0.0.16"
} }
} }

View File

@ -1,14 +0,0 @@
{
"main": {
"index": {},
"appBody": ""
},
"unauthenticated": {
"index": {},
"appBody": ""
},
"componentLibraries": [
"@budibase/standard-components"
],
"stylesheets": []
}

View File

@ -2,7 +2,7 @@
"title": "Test App", "title": "Test App",
"favicon": "./_shared/favicon.png", "favicon": "./_shared/favicon.png",
"stylesheets": [], "stylesheets": [],
"componentLibraries": ["@budibase/standard-components"], "componentLibraries": ["@budibase/standard-components", "@budibase/materialdesign-components"],
"props" : { "props" : {
"_component": "@budibase/standard-components/container", "_component": "@budibase/standard-components/container",
"_children": [], "_children": [],

View File

@ -2,7 +2,7 @@
"title": "Test App", "title": "Test App",
"favicon": "./_shared/favicon.png", "favicon": "./_shared/favicon.png",
"stylesheets": [], "stylesheets": [],
"componentLibraries": ["@budibase/standard-components"], "componentLibraries": ["@budibase/standard-components", "@budibase/materialdesign-components"],
"props" : { "props" : {
"_component": "@budibase/standard-components/container", "_component": "@budibase/standard-components/container",
"_children": [], "_children": [],

View File

@ -36,7 +36,7 @@
"keywords": [ "keywords": [
"svelte" "svelte"
], ],
"version": "0.0.15", "version": "0.0.16",
"license": "MIT", "license": "MIT",
"gitHead": "115189f72a850bfb52b65ec61d932531bf327072", "gitHead": "115189f72a850bfb52b65ec61d932531bf327072",
"dependencies": { "dependencies": {

View File

@ -26,7 +26,7 @@ const publicMain = appName =>
"lib", "lib",
"node_modules", "node_modules",
"@budibase", "@budibase",
"standard-components" "materialdesign-components"
) )
const publicUnauth = appName => const publicUnauth = appName =>
join( join(
@ -37,7 +37,7 @@ const publicUnauth = appName =>
"lib", "lib",
"node_modules", "node_modules",
"@budibase", "@budibase",
"standard-components" "materialdesign-components"
) )
const nodeModulesDist = appName => const nodeModulesDist = appName =>
join( join(
@ -45,11 +45,18 @@ const nodeModulesDist = appName =>
appName, appName,
"node_modules", "node_modules",
"@budibase", "@budibase",
"standard-components", "materialdesign-components",
"dist" "dist"
) )
const nodeModules = appName => const nodeModules = appName =>
join(appPackages, appName, "node_modules", "@budibase", "standard-components") join(
appPackages,
appName,
"node_modules",
"@budibase",
"materialdesign-components"
)
;(async () => { ;(async () => {
const apps = await readdir(appPackages) const apps = await readdir(appPackages)