1
0
Fork 0
mirror of synced 2024-09-21 03:43:21 +12:00
budibase/packages/client/src/index.js

40 lines
1,022 B
JavaScript
Raw Normal View History

import { createApp } from "./createApp";
import { trimSlash } from "./common/trimSlash";
2019-09-07 17:50:35 +12:00
2019-09-22 16:02:33 +12:00
export const loadBudibase = async (componentLibraries, props) => {
2019-09-22 16:02:33 +12:00
const appDefinition = window["##BUDIBASE_APPDEFINITION##"];
2019-10-19 05:32:03 +13:00
const userFromStorage = localStorage.getItem("budibase:user")
const user = userFromStorage ? JSON.parse(userFromStorage) : {
2019-09-23 17:08:06 +12:00
name: "annonymous",
permissions : [],
isUser:false,
temp:false
2019-10-19 05:32:03 +13:00
};
2019-09-22 16:02:33 +12:00
if(!componentLibraries) {
const componentLibraryUrl = (lib) => "./" + trimSlash(lib)
componentLibraries = {};
for(let lib of appDefinition.componentLibraries) {
componentLibraries[lib.libName] = await import(
componentLibraryUrl(lib.importPath));
}
}
2019-09-22 16:02:33 +12:00
if(!props) {
props = appDefinition.props;
}
const _app = createApp(componentLibraries, appDefinition, user);
_app.hydrateComponent(
props,
document.body);
2019-09-22 16:02:33 +12:00
};
window.loadBudibase = loadBudibase;