Budibase is alive! sort of
This commit is contained in:
parent
614e9dbfdd
commit
dda4517cb0
|
@ -499,6 +499,7 @@ const savePage = store => async page => {
|
|||
}
|
||||
|
||||
s.pages[s.currentPageName] = page;
|
||||
s.currentFrontEndItem = page;
|
||||
savePackage(store, s);
|
||||
return s;
|
||||
});
|
||||
|
|
|
@ -5,22 +5,29 @@ import Dropdown from "../common/Dropdown.svelte";
|
|||
import Button from "../common/Button.svelte";
|
||||
import { store } from "../builderStore";
|
||||
import { isRootComponent } from "./pagesParsing/searchComponents";
|
||||
import { pipe } from "../common/core";
|
||||
import {
|
||||
filter,
|
||||
find
|
||||
filter, find, concat
|
||||
} from "lodash/fp";
|
||||
|
||||
let entryComponent;
|
||||
let title = "";
|
||||
let components = [];
|
||||
|
||||
const notSeletedComponent = {name:"(none selected)"};
|
||||
|
||||
store.subscribe(s => {
|
||||
title = s.currentFrontEndItem.index.title;
|
||||
components = filter(s => !isRootComponent(s))(s.allComponents);
|
||||
components = pipe(s.allComponents, [
|
||||
filter(s => !isRootComponent(s)),
|
||||
concat([notSeletedComponent])
|
||||
]);
|
||||
entryComponent = find(c => c.name === s.currentFrontEndItem.appBody)(components);
|
||||
if(!entryComponent) entryComponent = notSeletedComponent;
|
||||
});
|
||||
|
||||
const save = () => {
|
||||
if(!title || !entryComponent || entryComponent === notSeletedComponent) return;
|
||||
const page = {
|
||||
index: {
|
||||
title
|
||||
|
@ -37,7 +44,7 @@ const save = () => {
|
|||
<h3>{$store.currentPageName}</h3>
|
||||
|
||||
<form class="uk-form-horizontal">
|
||||
<Textbox bind:text={title} label="Title" />
|
||||
<Textbox bind:text={title} label="Title" hasError={!title}/>
|
||||
<div class="help-text">The title of your page, displayed in the bowser tab</div>
|
||||
<Dropdown label="App Entry Component"
|
||||
options={components}
|
||||
|
|
|
@ -2,4 +2,4 @@ import { initialise } from "./initialise";
|
|||
|
||||
const appDefinition = window["##BUDIBASE_APPDEFINITION##"];
|
||||
|
||||
initialise(appDefinition);
|
||||
initialise(window.document, appDefinition);
|
|
@ -6,16 +6,17 @@ export const initialise = async (document, appDefinition) => {
|
|||
const componentLibraries = {};
|
||||
|
||||
for(let lib of appDefinition.componentLibraries) {
|
||||
componentLibraries[lib] = await import(
|
||||
componentLibraryUrl(lib, appDefinition.appRootPath));
|
||||
componentLibraries[lib.libName] = await import(
|
||||
componentLibraryUrl(lib.importPath));
|
||||
}
|
||||
|
||||
const store = writable({});
|
||||
|
||||
initialiseComponent(allComponents, componentLibraries, store)(
|
||||
initialiseComponent(componentLibraries, store)(
|
||||
appDefinition.props,
|
||||
document.body);
|
||||
}
|
||||
const componentLibraryUrl = (lib, appRootPath) =>
|
||||
`/${appRootPath}/${lib}`;
|
||||
const componentLibraryUrl = (lib) => "./" + trimSlash(lib)
|
||||
|
||||
const trimSlash = (str) => str.replace(/^\/+|\/+$/g, '');
|
||||
|
||||
|
|
|
@ -7,19 +7,14 @@ import {
|
|||
|
||||
import { $ } from "./core/common";
|
||||
|
||||
export const initialiseComponent = (allComponents, componentLibraries, store) => (props, htmlElement) => {
|
||||
|
||||
const component = getComponent(
|
||||
props._component,
|
||||
allComponents);
|
||||
export const initialiseComponent = (componentLibraries, store) => (props, htmlElement) => {
|
||||
|
||||
const _app = {
|
||||
initialiseComponent: initialiseComponent(allComponents, componentLibraries, store),
|
||||
initialiseComponent: initialiseComponent(componentLibraries, store),
|
||||
store
|
||||
};
|
||||
|
||||
const {componentName, libName} = splitName(
|
||||
component.name);
|
||||
const {componentName, libName} = splitName(props._component);
|
||||
|
||||
new (componentLibraries[libName][componentName])({
|
||||
target: htmlElement,
|
||||
|
@ -28,12 +23,6 @@ export const initialiseComponent = (allComponents, componentLibraries, store) =>
|
|||
|
||||
}
|
||||
|
||||
const getComponent = (componentName, allComponents) =>
|
||||
find(c => c.name === componentName)(allComponents);
|
||||
|
||||
const isRootComponent = c => isUndefined(c.inherits);
|
||||
|
||||
|
||||
const splitName = fullname => {
|
||||
const componentName = $(fullname, [
|
||||
split("/"),
|
||||
|
|
|
@ -505,35 +505,36 @@
|
|||
}
|
||||
],
|
||||
"actions": {
|
||||
"initialise_instance":
|
||||
{
|
||||
"name": "initialise_instance",
|
||||
"behaviourSource": "main",
|
||||
"behaviourName": "initialiseInstance",
|
||||
"initialOptions": {}
|
||||
}
|
||||
,
|
||||
"create_user":
|
||||
{
|
||||
"name": "create_user",
|
||||
"behaviourSource": "main",
|
||||
"behaviourName": "createNewUser",
|
||||
"initialOptions": {}
|
||||
}
|
||||
,
|
||||
"set_default_version":
|
||||
{
|
||||
"name": "set_default_version",
|
||||
"behaviourSource": "main",
|
||||
"behaviourName": "setDefaultVersion",
|
||||
"initialOptions": {}
|
||||
}
|
||||
|
||||
"initialise_instance": {
|
||||
"name": "initialise_instance",
|
||||
"behaviourSource": "main",
|
||||
"behaviourName": "initialiseInstance",
|
||||
"initialOptions": {}
|
||||
},
|
||||
"create_user": {
|
||||
"name": "create_user",
|
||||
"behaviourSource": "main",
|
||||
"behaviourName": "createNewUser",
|
||||
"initialOptions": {}
|
||||
},
|
||||
"set_default_version": {
|
||||
"name": "set_default_version",
|
||||
"behaviourSource": "main",
|
||||
"behaviourName": "setDefaultVersion",
|
||||
"initialOptions": {}
|
||||
}
|
||||
},
|
||||
"props": {
|
||||
"main": {},
|
||||
"main": {
|
||||
"_component": "@budibase/standard-components/login",
|
||||
"logo": "/assets/budibase-logo.png",
|
||||
"loginRedirect": "",
|
||||
"usernameLabel": "Username",
|
||||
"passwordLabel": "Password",
|
||||
"loginButtonLabel": "Login"
|
||||
},
|
||||
"unauthenticated": {
|
||||
"_component": "budibase-standard-components/login",
|
||||
"_component": "@budibase/standard-components/login",
|
||||
"logo": "/assets/budibase-logo.png",
|
||||
"loginRedirect": "",
|
||||
"usernameLabel": "Username",
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "login_screen",
|
||||
"name": "Login Screen",
|
||||
"description": "",
|
||||
"inherits": "budibase-standard-components/login",
|
||||
"inherits": "@budibase/standard-components/login",
|
||||
"props": {
|
||||
"logo": "/assets/budibase-logo.png"
|
||||
},
|
|
@ -1,13 +1,15 @@
|
|||
{
|
||||
"main": {
|
||||
"index": {},
|
||||
"appBody": ""
|
||||
"index": {
|
||||
"title": "Budibase"
|
||||
},
|
||||
"appBody": "Login Screen"
|
||||
},
|
||||
"unauthenticated": {
|
||||
"index": {
|
||||
"title": "Test App Two"
|
||||
"title": "Budibase - Login"
|
||||
},
|
||||
"appBody": "login_screen"
|
||||
"appBody": "Login Screen"
|
||||
},
|
||||
"componentLibraries": [
|
||||
"@budibase/standard-components"
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,20 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset='utf8'>
|
||||
<meta name='viewport' content='width=device-width'>
|
||||
|
||||
<title>Budibase</title>
|
||||
<link rel='icon' type='image/png' href='/_master//assets/favicon.png'>
|
||||
|
||||
|
||||
<script src='/_master/clientAppDefinition.js'></script>
|
||||
<script src='/_master/budibase-client.js'></script>
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<body id="app">
|
||||
|
||||
</body>
|
||||
</html>
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,20 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset='utf8'>
|
||||
<meta name='viewport' content='width=device-width'>
|
||||
|
||||
<title>Budibase - Login</title>
|
||||
<link rel='icon' type='image/png' href='/_master//assets/favicon.png'>
|
||||
|
||||
|
||||
<script src='/_master/clientAppDefinition.js'></script>
|
||||
<script src='/_master/budibase-client.js'></script>
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<body id="app">
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -36,9 +36,9 @@ lunr@^2.3.5:
|
|||
integrity sha512-swStvEyDqQ85MGpABCMBclZcLI/pBIlu8FFDtmX197+oEgKloJ67QnB+Tidh0340HmLMs39c4GrkPY3cmkXp6Q==
|
||||
|
||||
nanoid@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-2.1.0.tgz#3de3dbd68cfb2f3bd52550e2bfd439cf75040eb2"
|
||||
integrity sha512-g5WwS+p6Cm+zQhO2YOpRbQThZVnNb7DDq74h8YDCLfAGynrEOrbx2E16dc8ciENiP1va5sqaAruqn2sN+xpkWg==
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-2.1.1.tgz#524fd4acd45c126e0c87cd43ab5ee8346e695df9"
|
||||
integrity sha512-0YbJdaL4JFoejIOoawgLcYValFGJ2iyUuVDIWL3g8Es87SSOWFbWdRUMV3VMSiyPs3SQ3QxCIxFX00q5DLkMCw==
|
||||
|
||||
shortid@^2.2.8:
|
||||
version "2.2.15"
|
File diff suppressed because one or more lines are too long
|
@ -1,19 +0,0 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset='utf8'>
|
||||
<meta name='viewport' content='width=device-width'>
|
||||
|
||||
<title>Budibase App</title>
|
||||
<link rel='icon' type='image/png' href='/master//assets/favicon.png'>
|
||||
|
||||
|
||||
<script src='/master/budibase-client.js'></script>
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<body id="app">
|
||||
<script src='/master/clientAppDefinition.js'></script>
|
||||
</body>
|
||||
</html>
|
File diff suppressed because one or more lines are too long
|
@ -1,19 +0,0 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset='utf8'>
|
||||
<meta name='viewport' content='width=device-width'>
|
||||
|
||||
<title>Test App Two</title>
|
||||
<link rel='icon' type='image/png' href='/master//assets/favicon.png'>
|
||||
|
||||
|
||||
<script src='/master/budibase-client.js'></script>
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<body id="app">
|
||||
<script src='/master/clientAppDefinition.js'></script>
|
||||
</body>
|
||||
</html>
|
|
@ -1,11 +0,0 @@
|
|||
{
|
||||
"name": "Primary Button",
|
||||
"description": "",
|
||||
"inherits": "budibase-standard-components/button",
|
||||
"props": {
|
||||
"className": "btn btn-pimary"
|
||||
},
|
||||
"tags": [
|
||||
"button"
|
||||
]
|
||||
}
|
|
@ -1,14 +0,0 @@
|
|||
{
|
||||
"name": "login",
|
||||
"description": "",
|
||||
"inherits": "budibase-standard-components/login",
|
||||
"props": {
|
||||
"logo": "/assets/budibase-logo.png"
|
||||
},
|
||||
"tags": [
|
||||
"login",
|
||||
"credentials",
|
||||
"password",
|
||||
"logon"
|
||||
]
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"name": "subfolder/path/buttony",
|
||||
"description": "",
|
||||
"inherits": "budibase-standard-components/button",
|
||||
"props": {},
|
||||
"tags": [
|
||||
"button"
|
||||
]
|
||||
}
|
|
@ -1,42 +1,42 @@
|
|||
main.svelte-j8mzr7{height:100%;width:100%;font-family:"Lato", Helvetica, Arial, sans-serif}
|
||||
.root.svelte-e4n7zy{position:fixed;margin:0 auto;text-align:center;top:20%;width:100%}.inner.svelte-e4n7zy{display:inline-block;margin:auto}.logo.svelte-e4n7zy{width:300px;margin-bottom:40px}.root.svelte-e4n7zy .option{width:250px}.app-link.svelte-e4n7zy{margin-top:10px;display:block}
|
||||
.root.svelte-fkeby9{height:100%;width:100%;display:flex;flex-direction:column}.top-nav.svelte-fkeby9{flex:0 0 auto;height:25px;background:white;border-style:solid;border-width:0px 0px 1px 0px;border-color:var(--lightslate);padding:5px;width:100%}.content.svelte-fkeby9{flex:1 1 auto;width:100%;height:100px}.content.svelte-fkeby9>div.svelte-fkeby9{height:100%;width:100%}.topnavitem.svelte-fkeby9{cursor:pointer;color:var(--slate);padding:0px 15px}.topnavitem.svelte-fkeby9:hover{color:var(--secondary75)}.active.svelte-fkeby9{color:var(--secondary100)}
|
||||
.root.svelte-e4n7zy{position:fixed;margin:0 auto;text-align:center;top:20%;width:100%}.inner.svelte-e4n7zy{display:inline-block;margin:auto}.logo.svelte-e4n7zy{width:300px;margin-bottom:40px}.root.svelte-e4n7zy .option{width:250px}.app-link.svelte-e4n7zy{margin-top:10px;display:block}
|
||||
.root.svelte-q8uz1n{height:100%;display:flex}.content.svelte-q8uz1n{flex:1 1 auto;height:100%;background-color:var(--white);margin:0}.nav.svelte-q8uz1n{flex:0 1 auto;width:300px;height:100%}
|
||||
.border-normal.svelte-1lilfu7{border-radius:var(--borderradiusall)}.border-left.svelte-1lilfu7{border-radius:var(--borderradius) 0 0 var(--borderradius)}.border-right.svelte-1lilfu7{border-radius:0 var(--borderradius) var(--borderradius) 0}.border-middle.svelte-1lilfu7{border-radius:0}button.svelte-1lilfu7{border-style:solid;padding:7px 15px;cursor:pointer}.primary.svelte-1lilfu7{background-color:var(--primary100);border-color:var(--primary100);color:var(--white)}.primary.svelte-1lilfu7:hover{background-color:var(--primary75);border-color:var(--primary75)}.primary.svelte-1lilfu7:active{background-color:var(--primarydark);border-color:var(--primarydark)}.primary-outline.svelte-1lilfu7{background-color:var(--white);border-color:var(--primary100);color:var(--primary100)}.primary-outline.svelte-1lilfu7:hover{background-color:var(--primary10)}.primary-outline.svelte-1lilfu7:pressed{background-color:var(--primary25)}.secondary.svelte-1lilfu7{background-color:var(--secondary100);border-color:var(--secondary100);color:var(--white)}.secondary.svelte-1lilfu7:hover{background-color:var(--secondary75);border-color:var(--secondary75)}.secondary.svelte-1lilfu7:pressed{background-color:var(--secondarydark);border-color:var(--secondarydark)}.secondary-outline.svelte-1lilfu7{background-color:var(--white);border-color:var(--secondary100);color:var(--secondary100)}.secondary-outline.svelte-1lilfu7:hover{background-color:var(--secondary10)}.secondary-outline.svelte-1lilfu7:pressed{background-color:var(--secondary25)}.success.svelte-1lilfu7{background-color:var(--success100);border-color:var(--success100);color:var(--white)}.success.svelte-1lilfu7:hover{background-color:var(--success75);border-color:var(--success75)}.success.svelte-1lilfu7:pressed{background-color:var(--successdark);border-color:var(--successdark)}.success-outline.svelte-1lilfu7{background-color:var(--white);border-color:var(--success100);color:var(--success100)}.success-outline.svelte-1lilfu7:hover{background-color:var(--success10)}.success-outline.svelte-1lilfu7:pressed{background-color:var(--success25)}.deletion.svelte-1lilfu7{background-color:var(--deletion100);border-color:var(--deletion100);color:var(--white)}.deletion.svelte-1lilfu7:hover{background-color:var(--deletion75);border-color:var(--deletion75)}.deletion.svelte-1lilfu7:pressed{background-color:var(--deletiondark);border-color:var(--deletiondark)}.deletion-outline.svelte-1lilfu7{background-color:var(--white);border-color:var(--deletion100);color:var(--deletion100)}.deletion-outline.svelte-1lilfu7:hover{background-color:var(--deletion10)}.deletion-outline.svelte-1lilfu7:pressed{background-color:var(--deletion25)}
|
||||
button.svelte-bxuckr{border-style:none;background-color:rgba(0,0,0,0);cursor:pointer;outline:none}button.svelte-bxuckr:hover{color:var(--hovercolor)}button.svelte-bxuckr:active{outline:none}
|
||||
.root.svelte-1dih19s{display:grid;grid-template-columns:[uiNav] 250px [preview] auto [properties] 300px;height:100%;width:100%}.ui-nav.svelte-1dih19s{grid-column-start:uiNav;background-color:var(--primary10);height:100%}.properties-pane.svelte-1dih19s{grid-column-start:properties;background-color:var(--primary10);height:100%}.pages-list-container.svelte-1dih19s{padding-top:20px}.nav-group-header.svelte-1dih19s{font-size:10pt;padding-left:10px}.nav-items-container.svelte-1dih19s{padding-top:10px}.nav-group-header.svelte-1dih19s{display:grid;grid-template-columns:[icon] auto [title] 1fr [button] auto;padding:10px 2px 0px 7px}.nav-group-header.svelte-1dih19s>div.svelte-1dih19s:nth-child(1){padding:0px 7px 0px 0px;vertical-align:bottom;grid-column-start:icon;margin-right:5px}.nav-group-header.svelte-1dih19s>span.svelte-1dih19s:nth-child(2){margin-left:5px;vertical-align:bottom;grid-column-start:title;margin-top:auto}.nav-group-header.svelte-1dih19s>div.svelte-1dih19s:nth-child(3){vertical-align:bottom;grid-column-start:button;cursor:pointer;color:var(--slate)}.nav-group-header.svelte-1dih19s>div.svelte-1dih19s:nth-child(3):hover{color:var(--primary75)}
|
||||
button.svelte-bxuckr{border-style:none;background-color:rgba(0,0,0,0);cursor:pointer;outline:none}button.svelte-bxuckr:hover{color:var(--hovercolor)}button.svelte-bxuckr:active{outline:none}
|
||||
h4.svelte-sqtlby{margin-top:20px}
|
||||
.root.svelte-zy9ybu{height:100%;background-color:var(--primary10)}.items-root.svelte-zy9ybu{display:flex;flex-direction:column;max-height:100%;height:10px}.hierarchy.svelte-zy9ybu{flex:1 1 auto}.hierarchy-title-row.svelte-zy9ybu{padding:15px 7px;font-size:12pt;display:flex;font-weight:bold}.hierarchy-title.svelte-zy9ybu{flex:auto 1 1}.space-filler.svelte-zy9ybu{flex:1 1 auto}
|
||||
.root.svelte-apja7r{height:100%;position:relative}.actions-header.svelte-apja7r{flex:0 1 auto}.node-view.svelte-apja7r{overflow-y:auto;flex:1 1 auto}
|
||||
.root.svelte-zzs4qg{padding:10px}
|
||||
.root.svelte-1qmjs65{padding:10px}.edit-button.svelte-1qmjs65{cursor:pointer;color:var(--white)}tr.svelte-1qmjs65:hover .edit-button.svelte-1qmjs65{color:var(--secondary75)}
|
||||
.root.svelte-apja7r{height:100%;position:relative}.actions-header.svelte-apja7r{flex:0 1 auto}.node-view.svelte-apja7r{overflow-y:auto;flex:1 1 auto}
|
||||
.root.svelte-ffb307{padding-bottom:10px;padding-left:10px;font-size:16px;color:var(--secondary50)}.hierarchy-item.svelte-ffb307{cursor:pointer;padding:5px 0px}.hierarchy-item.svelte-ffb307:hover{color:var(--secondary75)}.component.svelte-ffb307{margin-left:5px}.selected.svelte-ffb307{color:var(--primary100)}.title.svelte-ffb307{margin-left:10px}
|
||||
.root.svelte-183dehm{height:100%;border-style:solid;border-color:var(--lightslate);border-width:0px 0px 0px 1px}.padding.svelte-183dehm{padding:0px 5px 0px 10px}.title.svelte-183dehm{background-color:white;padding:3px;display:grid;grid-template-columns:[name] 1fr [actions] auto}.title.svelte-183dehm>div.svelte-183dehm:nth-child(1){grid-column-start:name;color:var(--secondary100)}.title.svelte-183dehm>div.svelte-183dehm:nth-child(2){grid-column-start:actions}.section-header.svelte-183dehm{font-style:italic;color:var(--slate);border-style:solid;border-color:var(--lightslate);border-width:0px 0px 1px 0px}.section-header.svelte-183dehm{vertical-align:middle;margin-top:20px}
|
||||
.root.svelte-1qmjs65{padding:10px}.edit-button.svelte-1qmjs65{cursor:pointer;color:var(--white)}tr.svelte-1qmjs65:hover .edit-button.svelte-1qmjs65{color:var(--secondary75)}
|
||||
.root.svelte-1cnqtw{color:var(--secondary50)}.hierarchy-item.svelte-1cnqtw{cursor:pointer;padding:5px 0px}.hierarchy-item.svelte-1cnqtw:hover{color:var(--secondary75)}.component.svelte-1cnqtw{margin-left:5px}.currentfolder.svelte-1cnqtw{color:var(--secondary100)}.selected.svelte-1cnqtw{color:var(--primary100)}.title.svelte-1cnqtw{margin-left:10px}
|
||||
.section-container.svelte-yk1mmr{padding:15px;border-style:dotted;border-width:1px;border-color:var(--lightslate);border-radius:2px}.section-container.svelte-yk1mmr:nth-child(1){margin-bottom:15px}.row-text.svelte-yk1mmr{margin-right:15px;color:var(--primary100)}input.svelte-yk1mmr{margin-right:15px}p.svelte-yk1mmr>span.svelte-yk1mmr{margin-left:30px}.header.svelte-yk1mmr{display:grid;grid-template-columns:[title] 1fr [icon] auto}.header.svelte-yk1mmr>div.svelte-yk1mmr:nth-child(1){grid-column-start:title}.header.svelte-yk1mmr>div.svelte-yk1mmr:nth-child(2){grid-column-start:icon}
|
||||
.root.svelte-183dehm{height:100%;border-style:solid;border-color:var(--lightslate);border-width:0px 0px 0px 1px}.padding.svelte-183dehm{padding:0px 5px 0px 10px}.title.svelte-183dehm{background-color:white;padding:3px;display:grid;grid-template-columns:[name] 1fr [actions] auto}.title.svelte-183dehm>div.svelte-183dehm:nth-child(1){grid-column-start:name;color:var(--secondary100)}.title.svelte-183dehm>div.svelte-183dehm:nth-child(2){grid-column-start:actions}.section-header.svelte-183dehm{font-style:italic;color:var(--slate);border-style:solid;border-color:var(--lightslate);border-width:0px 0px 1px 0px}.section-header.svelte-183dehm{vertical-align:middle;margin-top:20px}
|
||||
h1.svelte-16jkjx9{font-size:1.2em}
|
||||
.root.svelte-1ersoxu{padding:15px}.help-text.svelte-1ersoxu{color:var(--slate);font-size:10pt}
|
||||
.component-preview.svelte-1jir83x{display:grid;grid-template-rows:[top] 1fr [middle] auto [bottom] 1fr;grid-template-columns:[left] 1fr [middle] auto [right] 1fr;grid-column-start:preview;height:100%}.component-container.svelte-1jir83x{grid-row-start:middle;grid-column-start:middle}
|
||||
.section-container.svelte-yk1mmr{padding:15px;border-style:dotted;border-width:1px;border-color:var(--lightslate);border-radius:2px}.section-container.svelte-yk1mmr:nth-child(1){margin-bottom:15px}.row-text.svelte-yk1mmr{margin-right:15px;color:var(--primary100)}input.svelte-yk1mmr{margin-right:15px}p.svelte-yk1mmr>span.svelte-yk1mmr{margin-left:30px}.header.svelte-yk1mmr{display:grid;grid-template-columns:[title] 1fr [icon] auto}.header.svelte-yk1mmr>div.svelte-yk1mmr:nth-child(1){grid-column-start:title}.header.svelte-yk1mmr>div.svelte-yk1mmr:nth-child(2){grid-column-start:icon}
|
||||
.root.svelte-1ersoxu{padding:15px}.help-text.svelte-1ersoxu{color:var(--slate);font-size:10pt}
|
||||
.root.svelte-x3bf9z{display:flex}.root.svelte-x3bf9z:last-child{border-radius:0 var(--borderradius) var(--borderradius) 0}.root.svelte-x3bf9z:first-child{border-radius:var(--borderradius) 0 0 var(--borderradius)}.root.svelte-x3bf9z:not(:first-child):not(:last-child){border-radius:0}
|
||||
.nav-item.svelte-1y614ns{padding:7px;font-size:12pt;font-weight:bold;cursor:pointer;flex:0 0 auto}.nav-item.svelte-1y614ns:hover{background-color:var(--primary10)}.active.svelte-1y614ns{background-color:var(--primary10)}
|
||||
.dropdown-background.svelte-iyjmwx{position:fixed;top:0;left:0;width:100vw;height:100vh}.root.svelte-iyjmwx{cursor:pointer;z-index:1}.dropdown-content.svelte-iyjmwx{position:absolute;background-color:var(--white);min-width:160px;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);z-index:1;font-weight:normal;border-style:solid;border-width:1px;border-color:var(--secondary10)}.dropdown-content.svelte-iyjmwx:not(:focus){display:none}.action-row.svelte-iyjmwx{padding:7px 10px;cursor:pointer}.action-row.svelte-iyjmwx:hover{background-color:var(--primary100);color:var(--white)}
|
||||
.root.svelte-1bn4xbe{display:block;font-size:12pt;width:100%;cursor:pointer}.title.svelte-1bn4xbe{padding-top:5px;padding-right:5px;padding-bottom:5px;color:var(--secondary100)}.title.svelte-1bn4xbe:hover{background-color:var(--secondary10)}.active.svelte-1bn4xbe{background-color:var(--primary10)}
|
||||
.root.svelte-1q40nqm{display:block;font-size:13pt;width:100%;cursor:pointer}.title.svelte-1q40nqm{font:var(--bodytext);padding-top:10px;padding-right:5px;padding-bottom:10px;color:var(--secondary100)}.title.svelte-1q40nqm:hover{background-color:var(--secondary10)}
|
||||
.nav-item.svelte-1y614ns{padding:7px;font-size:12pt;font-weight:bold;cursor:pointer;flex:0 0 auto}.nav-item.svelte-1y614ns:hover{background-color:var(--primary10)}.active.svelte-1y614ns{background-color:var(--primary10)}
|
||||
.root.svelte-kswv5p{height:100%;padding:15px}.fields-table.svelte-kswv5p{margin:10px;border-collapse:collapse}.add-field-button.svelte-kswv5p{margin-left:15px;cursor:pointer}.edit-button.svelte-kswv5p{cursor:pointer;color:var(--white)}.edit-button.svelte-kswv5p:hover{color:var(--secondary75)}th.svelte-kswv5p{text-align:left}td.svelte-kswv5p{padding:5px 30px 5px 0px;margin:0}thead.svelte-kswv5p>tr.svelte-kswv5p{border-width:0px 0px 1px 0px;border-style:solid;border-color:var(--secondary75);margin-bottom:20px}tbody.svelte-kswv5p>tr.svelte-kswv5p{border-width:0px 0px 1px 0px;border-style:solid;border-color:var(--primary10)}tbody.svelte-kswv5p>tr.svelte-kswv5p:hover{background-color:var(--primary10)}tbody.svelte-kswv5p>tr:hover .edit-button.svelte-kswv5p{color:var(--secondary75)}.index-container.svelte-kswv5p{border-style:solid;border-width:0 0 1px 0;border-color:var(--secondary25);padding:10px;margin-bottom:5px}.index-label.svelte-kswv5p{color:var(--slate)}.index-name.svelte-kswv5p{font-weight:bold;color:var(--primary100)}.index-container.svelte-kswv5p code.svelte-kswv5p{margin:0;display:inline;background-color:var(--primary10);color:var(--secondary100);padding:3px}.index-field-row.svelte-kswv5p{margin-top:7px}
|
||||
.root.svelte-1tilbnf{padding:5px;top:0;width:100%}
|
||||
.root.svelte-pq2tmv{height:100%;padding:15px}.allowed-records.svelte-pq2tmv{margin:20px 0px}.allowed-records.svelte-pq2tmv>span.svelte-pq2tmv{margin-right:30px}
|
||||
.root.svelte-x3bf9z{display:flex}.root.svelte-x3bf9z:last-child{border-radius:0 var(--borderradius) var(--borderradius) 0}.root.svelte-x3bf9z:first-child{border-radius:var(--borderradius) 0 0 var(--borderradius)}.root.svelte-x3bf9z:not(:first-child):not(:last-child){border-radius:0}
|
||||
.edit-button.svelte-neetem{cursor:pointer;color:var(--white)}tr.svelte-neetem:hover .edit-button.svelte-neetem{color:var(--secondary75)}
|
||||
.edit-button.svelte-9z4fqi{cursor:pointer;color:var(--white)}tr.svelte-9z4fqi:hover .edit-button.svelte-9z4fqi{color:var(--secondary75)}
|
||||
.root.svelte-1sxai5n{font-size:10pt}.padding.svelte-1sxai5n{padding:0 10px}.inherited-title.svelte-1sxai5n{margin-top:40px;display:grid;grid-template-columns:[name] 1fr [actions] auto;border-style:solid;border-width:0px 0px 1px 0px;border-color:var(--lightslate);font-style:italic}.inherited-title.svelte-1sxai5n>div.svelte-1sxai5n:nth-child(1){grid-column-start:name;color:var(--slate)}.inherited-title.svelte-1sxai5n>div.svelte-1sxai5n:nth-child(2){grid-column-start:actions;color:var(--secondary100)}
|
||||
.edit-button.svelte-neetem{cursor:pointer;color:var(--white)}tr.svelte-neetem:hover .edit-button.svelte-neetem{color:var(--secondary75)}
|
||||
.root.svelte-pq2tmv{height:100%;padding:15px}.allowed-records.svelte-pq2tmv{margin:20px 0px}.allowed-records.svelte-pq2tmv>span.svelte-pq2tmv{margin-right:30px}
|
||||
.root.svelte-1tilbnf{padding:5px;top:0;width:100%}
|
||||
.root.svelte-1q40nqm{display:block;font-size:13pt;width:100%;cursor:pointer}.title.svelte-1q40nqm{font:var(--bodytext);padding-top:10px;padding-right:5px;padding-bottom:10px;color:var(--secondary100)}.title.svelte-1q40nqm:hover{background-color:var(--secondary10)}
|
||||
.root.svelte-kswv5p{height:100%;padding:15px}.fields-table.svelte-kswv5p{margin:10px;border-collapse:collapse}.add-field-button.svelte-kswv5p{margin-left:15px;cursor:pointer}.edit-button.svelte-kswv5p{cursor:pointer;color:var(--white)}.edit-button.svelte-kswv5p:hover{color:var(--secondary75)}th.svelte-kswv5p{text-align:left}td.svelte-kswv5p{padding:5px 30px 5px 0px;margin:0}thead.svelte-kswv5p>tr.svelte-kswv5p{border-width:0px 0px 1px 0px;border-style:solid;border-color:var(--secondary75);margin-bottom:20px}tbody.svelte-kswv5p>tr.svelte-kswv5p{border-width:0px 0px 1px 0px;border-style:solid;border-color:var(--primary10)}tbody.svelte-kswv5p>tr.svelte-kswv5p:hover{background-color:var(--primary10)}tbody.svelte-kswv5p>tr:hover .edit-button.svelte-kswv5p{color:var(--secondary75)}.index-container.svelte-kswv5p{border-style:solid;border-width:0 0 1px 0;border-color:var(--secondary25);padding:10px;margin-bottom:5px}.index-label.svelte-kswv5p{color:var(--slate)}.index-name.svelte-kswv5p{font-weight:bold;color:var(--primary100)}.index-container.svelte-kswv5p code.svelte-kswv5p{margin:0;display:inline;background-color:var(--primary10);color:var(--secondary100);padding:3px}.index-field-row.svelte-kswv5p{margin-top:7px}
|
||||
.title.svelte-dhe1ge{padding:3px;background-color:white;color:var(--secondary100);border-style:solid;border-width:1px 0 0 0;border-color:var(--lightslate)}.title.svelte-dhe1ge>span.svelte-dhe1ge{margin-left:10px}
|
||||
.root.svelte-1sxai5n{font-size:10pt}.padding.svelte-1sxai5n{padding:0 10px}.inherited-title.svelte-1sxai5n{margin-top:40px;display:grid;grid-template-columns:[name] 1fr [actions] auto;border-style:solid;border-width:0px 0px 1px 0px;border-color:var(--lightslate);font-style:italic}.inherited-title.svelte-1sxai5n>div.svelte-1sxai5n:nth-child(1){grid-column-start:name;color:var(--slate)}.inherited-title.svelte-1sxai5n>div.svelte-1sxai5n:nth-child(2){grid-column-start:actions;color:var(--secondary100)}
|
||||
.info-text.svelte-y0b7l0{font-size:0.8em;color:var(--slate)}
|
||||
.component.svelte-qxar5p{padding:5px;border-style:solid;border-width:0 0 1px 0;border-color:var(--lightslate);cursor:pointer}.component.svelte-qxar5p:hover{background-color:var(--primary10)}.component.svelte-qxar5p>.title.svelte-qxar5p{font-size:13pt;color:var(--secondary100)}.component.svelte-qxar5p>.description.svelte-qxar5p{font-size:10pt;color:var(--primary75);font-style:italic}
|
||||
.error-container.svelte-ole1mk{padding:10px;border-style:solid;border-color:var(--deletion100);border-radius:var(--borderradiusall);background:var(--deletion75)}.error-row.svelte-ole1mk{padding:5px 0px}
|
||||
textarea.svelte-1qg56sa{padding:3px;background:var(--darkslate);color:var(--white);font-family:'Courier New', Courier, monospace;width:95%;height:100px}
|
||||
.root.svelte-bv289q{padding:10px}.option-container.svelte-bv289q{border-style:dotted;border-width:1px;border-color:var(--primary75);padding:3px;margin-right:5px}
|
||||
.error-container.svelte-ole1mk{padding:10px;border-style:solid;border-color:var(--deletion100);border-radius:var(--borderradiusall);background:var(--deletion75)}.error-row.svelte-ole1mk{padding:5px 0px}
|
||||
input.svelte-9fre0g{margin-right:7px}
|
||||
.root.svelte-ogh8o0{display:grid;grid-template-columns:[name] 1fr [actions] auto}.root.svelte-ogh8o0>div.svelte-ogh8o0:nth-child(1){grid-column-start:name;color:var(--secondary50)}.root.svelte-ogh8o0>div.svelte-ogh8o0:nth-child(2){grid-column-start:actions}.selectedname.svelte-ogh8o0{font-weight:bold;color:var(--secondary)}
|
||||
.root.svelte-13ckvg1{padding:3px 5px 7px 10px;border-style:dotted;border-width:0 0 1px 0;border-color:var(--primary25)}
|
||||
.root.svelte-ogh8o0{display:grid;grid-template-columns:[name] 1fr [actions] auto}.root.svelte-ogh8o0>div.svelte-ogh8o0:nth-child(1){grid-column-start:name;color:var(--secondary50)}.root.svelte-ogh8o0>div.svelte-ogh8o0:nth-child(2){grid-column-start:actions}.selectedname.svelte-ogh8o0{font-weight:bold;color:var(--secondary)}
|
||||
textarea.svelte-1kv2xk7{width:300px;height:200px}
|
||||
.addelement-container.svelte-199q8jr{cursor:pointer;padding:3px 0px;text-align:center}.addelement-container.svelte-199q8jr:hover{background-color:var(--primary25)}.item-container.svelte-199q8jr{padding-left:3px;background:var(--secondary10)}
|
||||
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -28933,6 +28933,7 @@
|
|||
}
|
||||
|
||||
s.pages[s.currentPageName] = page;
|
||||
s.currentFrontEndItem = page;
|
||||
savePackage(store, s);
|
||||
return s;
|
||||
});
|
||||
|
@ -31646,7 +31647,7 @@
|
|||
|
||||
/******/ });
|
||||
});
|
||||
|
||||
//# sourceMappingURL=feather.js.map
|
||||
});
|
||||
|
||||
var feather$1 = unwrapExports(feather);
|
||||
|
@ -50767,7 +50768,7 @@
|
|||
|
||||
const file$l = "src\\userInterface\\PageView.svelte";
|
||||
|
||||
// (49:8) <Button on:click={save}>
|
||||
// (56:8) <Button on:click={save}>
|
||||
function create_default_slot$3(ctx) {
|
||||
var t;
|
||||
|
||||
|
@ -50786,7 +50787,7 @@
|
|||
}
|
||||
}
|
||||
};
|
||||
dispatch_dev("SvelteRegisterBlock", { block, id: create_default_slot$3.name, type: "slot", source: "(49:8) <Button on:click={save}>", ctx });
|
||||
dispatch_dev("SvelteRegisterBlock", { block, id: create_default_slot$3.name, type: "slot", source: "(56:8) <Button on:click={save}>", ctx });
|
||||
return block;
|
||||
}
|
||||
|
||||
|
@ -50799,7 +50800,7 @@
|
|||
add_flush_callback(() => updating_text = false);
|
||||
}
|
||||
|
||||
let textbox_props = { label: "Title" };
|
||||
let textbox_props = { label: "Title", hasError: !ctx.title };
|
||||
if (ctx.title !== void 0) {
|
||||
textbox_props.text = ctx.title;
|
||||
}
|
||||
|
@ -50854,17 +50855,17 @@
|
|||
div2 = element("div");
|
||||
t8 = space();
|
||||
button.$$.fragment.c();
|
||||
add_location(h3, file$l, 36, 4, 794);
|
||||
add_location(h3, file$l, 43, 4, 1099);
|
||||
attr_dev(div0, "class", "help-text svelte-1ersoxu");
|
||||
add_location(div0, file$l, 40, 8, 927);
|
||||
add_location(div0, file$l, 47, 8, 1249);
|
||||
attr_dev(div1, "class", "help-text svelte-1ersoxu");
|
||||
add_location(div1, file$l, 46, 8, 1193);
|
||||
add_location(div1, file$l, 53, 8, 1515);
|
||||
set_style(div2, "margin-top", "20px");
|
||||
add_location(div2, file$l, 47, 8, 1290);
|
||||
add_location(div2, file$l, 54, 8, 1612);
|
||||
attr_dev(form, "class", "uk-form-horizontal");
|
||||
add_location(form, file$l, 38, 4, 833);
|
||||
add_location(form, file$l, 45, 4, 1138);
|
||||
attr_dev(div3, "class", "root svelte-1ersoxu");
|
||||
add_location(div3, file$l, 34, 0, 770);
|
||||
add_location(div3, file$l, 41, 0, 1075);
|
||||
},
|
||||
|
||||
l: function claim(nodes) {
|
||||
|
@ -50897,6 +50898,7 @@
|
|||
}
|
||||
|
||||
var textbox_changes = {};
|
||||
if (changed.title) textbox_changes.hasError = !ctx.title;
|
||||
if (!updating_text && changed.title) {
|
||||
textbox_changes.text = ctx.title;
|
||||
}
|
||||
|
@ -50962,13 +50964,20 @@
|
|||
let title = "";
|
||||
let components = [];
|
||||
|
||||
const notSeletedComponent = {name:"(none selected)"};
|
||||
|
||||
store.subscribe(s => {
|
||||
$$invalidate('title', title = s.currentFrontEndItem.index.title);
|
||||
$$invalidate('components', components = fp_8(s => !isRootComponent(s))(s.allComponents));
|
||||
$$invalidate('components', components = pipe$1(s.allComponents, [
|
||||
fp_8(s => !isRootComponent(s)),
|
||||
fp_32([notSeletedComponent])
|
||||
]));
|
||||
$$invalidate('entryComponent', entryComponent = fp_13(c => c.name === s.currentFrontEndItem.appBody)(components));
|
||||
if(!entryComponent) $$invalidate('entryComponent', entryComponent = notSeletedComponent);
|
||||
});
|
||||
|
||||
const save = () => {
|
||||
if(!title || !entryComponent || entryComponent === notSeletedComponent) return;
|
||||
const page = {
|
||||
index: {
|
||||
title
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -47,6 +47,7 @@ const copyClientLib = async (appPath, pageName) => {
|
|||
var destPath = join(publicPath(appPath, pageName), "budibase-client.js");
|
||||
|
||||
await copyFile(sourcepath, destPath, constants.COPYFILE_FICLONE);
|
||||
await copyFile(sourcepath + ".map", destPath + ".map", constants.COPYFILE_FICLONE);
|
||||
|
||||
}
|
||||
|
||||
|
@ -101,7 +102,11 @@ const buildClientAppDefinition = async (config, appname, appdefinition, appPath,
|
|||
|
||||
await ensureDir(dirname(destPath));
|
||||
|
||||
componentLibraries.push(destPath);
|
||||
componentLibraries.push({
|
||||
importPath: destPath.replace(appPublicPath, "")
|
||||
.replace(/\\/g, "/"),
|
||||
libName: lib
|
||||
});
|
||||
|
||||
let shouldCopy = !(await pathExists(destPath));
|
||||
if(!shouldCopy) {
|
||||
|
@ -120,7 +125,7 @@ const buildClientAppDefinition = async (config, appname, appdefinition, appPath,
|
|||
|
||||
const clientAppDefObj = {
|
||||
hierarchy: appdefinition.hierarchy,
|
||||
componentLibraries: pages.componentLibraries,
|
||||
componentLibraries: componentLibraries,
|
||||
appRootPath: appRootPath,
|
||||
props: appdefinition.props[pageName]
|
||||
}
|
||||
|
|
|
@ -118,6 +118,8 @@ const getRootComponents = async (appPath, pages ,lib) => {
|
|||
merge(components, info.components);
|
||||
}
|
||||
|
||||
if(components._lib) delete components._lib;
|
||||
|
||||
return components;
|
||||
}
|
||||
|
||||
|
|
|
@ -11,12 +11,13 @@
|
|||
<link rel='stylesheet' href='{{ @this }}'>
|
||||
{{ /each }}
|
||||
|
||||
<script src='{{ appRootPath }}/clientAppDefinition.js'></script>
|
||||
<script src='{{ appRootPath }}/budibase-client.js'></script>
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<body id="app">
|
||||
<script src='{{ appRootPath }}/clientAppDefinition.js'></script>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -36,7 +36,7 @@ module.exports.appsFolder = (config) => appPackageFolder(config, "");
|
|||
module.exports.masterAppPackage = (context) => {
|
||||
const { config } = context;
|
||||
const standardPackage = createAppPackage(
|
||||
context, "../appPackages/master");
|
||||
context, "../appPackages/_master");
|
||||
|
||||
const customizeMaster = config && config.customizeMaster
|
||||
? config.customizeMaster
|
||||
|
|
Loading…
Reference in New Issue