UNPKG

@alilc/build-plugin-alt

Version:

build-scripts plugin template for developers

93 lines (92 loc) 4.7 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const ReactDOM = __importStar(require("react-dom")); const react_1 = __importStar(require("react")); const loading_1 = __importDefault(require("@alifd/next/lib/loading")); const lowcode_utils_1 = require("@alilc/lowcode-utils"); const lowcode_react_renderer_1 = __importDefault(require("@alilc/lowcode-react-renderer")); const utils_1 = require("./universal/utils"); const SamplePreview = () => { const [data, setData] = (0, react_1.useState)({}); function init() { return __awaiter(this, void 0, void 0, function* () { const packages = JSON.parse(window.localStorage.getItem('packages') || ''); const projectSchema = JSON.parse(window.localStorage.getItem(utils_1.SAVE_KEY)); const { componentsMap: componentsMapArray, componentsTree } = projectSchema; const componentsMap = {}; componentsMapArray.forEach((component) => { componentsMap[component.componentName] = component; }); const schema = componentsTree[0]; console.info('componentsMap is :', componentsMapArray); console.info('schema from storage is :', schema); const libraryMap = {}; const libraryAsset = []; packages.forEach(({ package: pkg, library, urls, renderUrls }) => { libraryMap[pkg] = library; if (renderUrls) { libraryAsset.push(renderUrls); } else if (urls) { libraryAsset.push(urls); } }); const vendors = [ (0, lowcode_utils_1.assetBundle)(libraryAsset, lowcode_utils_1.AssetLevel.Library), ]; console.log('libraryMap&vendors', libraryMap, vendors); // TODO asset may cause pollution const assetLoader = new lowcode_utils_1.AssetLoader(); yield assetLoader.load(libraryAsset); const components = (0, lowcode_utils_1.buildComponents)(libraryMap, componentsMap, undefined); console.log('components', components); setData({ schema, components, }); }); } const { schema, components } = data; if (!schema || !components) { init(); return react_1.default.createElement(loading_1.default, { fullScreen: true }); } return (react_1.default.createElement("div", { className: "lowcode-plugin-sample-preview" }, react_1.default.createElement(lowcode_react_renderer_1.default, { className: "lowcode-plugin-sample-preview-content", schema: schema, components: components }))); }; ReactDOM.render(react_1.default.createElement(SamplePreview, null), document.getElementById('ice-container'));