From 91f17024de94fc6facc104501512b820f18d53b9 Mon Sep 17 00:00:00 2001 From: "carlos.czw" Date: Fri, 28 Aug 2020 16:20:39 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E9=80=82=E9=85=8D=20webtable?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/editor-preset-vision/src/editor.ts | 2 +- packages/rax-render/src/utils/request.js | 43 +++++++++++++-------- 2 files changed, 27 insertions(+), 18 deletions(-) diff --git a/packages/editor-preset-vision/src/editor.ts b/packages/editor-preset-vision/src/editor.ts index a4fea7b74..56e68a635 100644 --- a/packages/editor-preset-vision/src/editor.ts +++ b/packages/editor-preset-vision/src/editor.ts @@ -312,7 +312,7 @@ designer.addPropsReducer((props: any, node: Node) => { const newParam: any = {}; if (item.options && item.options.params && item.options.params.length) { item.options.params.map((element: any) => { - if (element.name) { + if (element.name && element.value) { newParam[element.name] = element.value; } }); diff --git a/packages/rax-render/src/utils/request.js b/packages/rax-render/src/utils/request.js index 811c54c58..45055ba4a 100644 --- a/packages/rax-render/src/utils/request.js +++ b/packages/rax-render/src/utils/request.js @@ -4,15 +4,6 @@ import fetchJsonp from 'fetch-jsonp'; import bzbRequest from '@ali/bzb-request'; import { serialize, buildUrl, parseUrl } from '@ali/b3-one/lib/url'; -import { Table, schema } from '@ali/ui-table'; - -const webTable = new Table('yida'); -webTable.init(schema); -window._webTable = webTable; -// webTable.on('ready', () => { -// window._webTable = webTable; -// }); - export function get(dataAPI, params = {}, headers = {}, otherProps = {}) { headers = { Accept: 'application/json', @@ -180,13 +171,31 @@ export function bzb(apiCode, params, otherProps = {}) { } export async function webTableProxy(req) { - const { _webTable } = window; - if (!_webTable) { - const data = await { success: false, content: 'web table 尚未加载' }; - return data; + console.log(req); + const { VisualEngine } = window; + const { Bus, Table } = VisualEngine; + if (Table) { + const { options } = req; + const { params, OneAPIConfig } = options; + const { code } = OneAPIConfig; + const sheetId = OneAPIConfig['x-model']; + const sheet = await Table.find({ id: sheetId }); + const result = await sheet.instance.fetch({ code }, params); + // const result = await Table.find({ id: 'vip_info' }); + return result; } - // const { name } = req; - // const data = await _webTable.fetch({ id: name }); - const data = await _webTable.find({ id: 'one' }); - return data; + return new Promise((resolve, reject) => { + Bus.emitter.on('table.ready', async (table) => { + // const { name } = req; + // const result = table.fetch({ id: name }); + const { options } = req; + const { params, OneAPIConfig } = options; + const { code } = OneAPIConfig; + const sheetId = OneAPIConfig['x-model']; + const sheet = await table.find({ id: sheetId }); + const result = await sheet.instance.fetch({ code }, params); + // const result = await Table.find({ id: 'vip_info' }); + resolve(result); + }); + }); }