From 17d7e946e85ba9df126377cefec318b6bdeb227a Mon Sep 17 00:00:00 2001 From: Hermes Agent Date: Mon, 22 Jun 2026 16:54:18 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20InlineForm=E6=94=AF=E6=8C=81wrap?= =?UTF-8?q?=E6=8A=98=E8=A1=8C=EF=BC=8C=E6=90=9C=E7=B4=A2=E8=A1=A8=E5=8D=95?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E5=BC=80=E5=90=AF=E5=A4=9A=E8=A1=8C=E5=B8=83?= =?UTF-8?q?=E5=B1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bricks/dataviewer.js | 1 + bricks/form.js | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/bricks/dataviewer.js b/bricks/dataviewer.js index b629d87..fc21d46 100644 --- a/bricks/dataviewer.js +++ b/bricks/dataviewer.js @@ -119,6 +119,7 @@ bricks.DataViewer = class extends bricks.VBox { form_opts.show_label = sf.show_label !== undefined ? sf.show_label : false; form_opts.submit_label = sf.submit_label || '搜索'; form_opts.submit_css = sf.submit_css || 'primary'; + form_opts.wrap = sf.wrap !== undefined ? sf.wrap : true; this.search_form_w = new bricks.InlineForm(form_opts); this.search_form_w.bind('submit', this.search_form_submited.bind(this)); this.add_widget(this.search_form_w); diff --git a/bricks/form.js b/bricks/form.js index 373d3c3..428b214 100644 --- a/bricks/form.js +++ b/bricks/form.js @@ -453,7 +453,7 @@ bricks.FormBase = class extends bricks.Layout { bricks.InlineForm = class extends bricks.HBox { /* - Horizontal inline form — all fields in one row. + Horizontal inline form — all fields in one row (or wrap to multiple rows). Options: fields: [{name, label, uitype, placeholder, ...}] submit_label: "搜索" (button text, default "Submit") @@ -462,6 +462,7 @@ bricks.InlineForm = class extends bricks.HBox { submit_bgcolor: "#xxx" (background color) gap: "0.5" (gap between items in charsize) show_label: true/false (show label before input, default true) + wrap: true/false (allow fields to wrap to next line, default false) Events: submit: dispatched with form data on button click */ @@ -471,6 +472,7 @@ bricks.InlineForm = class extends bricks.HBox { opts.overflow = 'none'; opts.alignItems = 'center'; opts.gap = opts.gap || '0.5'; + if (opts.wrap) opts.flexWrap = 'wrap'; super(opts); this.name_inputs = {}; this.build_fields();