From 324612d67b031ba63d25b3e765482c1724b03ce1 Mon Sep 17 00:00:00 2001 From: yumoqing Date: Sun, 6 Jul 2025 21:41:19 +0800 Subject: [PATCH] bugfix --- bricks/dataviewer.js | 74 +++++++++++++++++++++++++------------------- bricks/form.js | 1 + bricks/input.js | 9 ++++-- bricks/jsoncall.js | 2 +- bricks/modal.js | 19 +++++++----- bricks/svg.js | 1 - bricks/tree.js | 6 ++-- 7 files changed, 66 insertions(+), 46 deletions(-) diff --git a/bricks/dataviewer.js b/bricks/dataviewer.js index cc0dba2..f58c4fa 100644 --- a/bricks/dataviewer.js +++ b/bricks/dataviewer.js @@ -150,18 +150,18 @@ bricks.DataViewer = class extends bricks.VBox { this.add_widget(this.toolbar_w); this.toolbar_w.bind('command', this.command_event_handle.bind(this)); } - command_event_handle(event){ + async command_event_handle(event){ var tdesc = event.params; if (tdesc.selected_row && ! this.select_row){ bricks.show_error({title:'Error', message:'need select a row'}); return; } if (tdesc.name == 'add'){ - this.add_record(); + await this.add_record(); return; } if (tdesc.name == 'update'){ - this.update_record(this.select_row); + await this.update_record(this.select_row); return; } if (tdesc.name == 'delete'){ @@ -207,28 +207,57 @@ bricks.DataViewer = class extends bricks.VBox { } return fs; } - add_record(info){ + async build_editform(data){ var hidefields = []; if (!this.data_params){ this.data_params = {} } + var opts = this.opts.editor || {}; + opts.widgettype = 'Form'; + var submit_url = this.editable.new_data_url; + if (data) { + submit_url = this.editable.update_data_url; + } + opts.options = { + submit_url: submit_url, + width: '100%', + height: '100%' + }; var fs = this.get_hidefields(); for (var i=0;i