From 3e7c20fd80fdc7edc989bcc4e52688ba76878f10 Mon Sep 17 00:00:00 2001 From: charlie Date: Fri, 29 Jul 2022 22:44:55 +0800 Subject: [PATCH] improve(plugin): support textarea for settings input item --- libs/src/LSPlugin.ts | 2 +- src/main/frontend/components/plugins.css | 7 ++++++- src/main/frontend/components/plugins_settings.cljs | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/libs/src/LSPlugin.ts b/libs/src/LSPlugin.ts index 1f0cadb3b..9bf22980d 100644 --- a/libs/src/LSPlugin.ts +++ b/libs/src/LSPlugin.ts @@ -232,7 +232,7 @@ export type SettingSchemaDesc = { default: string | number | boolean | Array | object | null title: string description: string // support markdown - inputAs?: 'color' | 'date' | 'datetime-local' | 'range' + inputAs?: 'color' | 'date' | 'datetime-local' | 'range' | 'textarea' enumChoices?: Array enumPicker?: 'select' | 'radio' | 'checkbox' // default: select } diff --git a/src/main/frontend/components/plugins.css b/src/main/frontend/components/plugins.css index 8d28cf321..82cdca3db 100644 --- a/src/main/frontend/components/plugins.css +++ b/src/main/frontend/components/plugins.css @@ -545,7 +545,12 @@ .form-input { padding: 5px; - width: 50%; + width: 70%; + } + + textarea.form-input { + overflow-y: auto; + resize: vertical; } .form-select { diff --git a/src/main/frontend/components/plugins_settings.cljs b/src/main/frontend/components/plugins_settings.cljs index e87df473a..b07da1ce7 100644 --- a/src/main/frontend/components/plugins_settings.cljs +++ b/src/main/frontend/components/plugins_settings.cljs @@ -25,7 +25,7 @@ (let [input-as (util/safe-lower-case (or inputAs (name type))) input-as (if (= input-as "string") :text (keyword input-as))] - [:input + [(if (= input-as :textarea) :textarea :input) {:class (util/classnames [{:form-input (not (contains? #{:color :range} input-as))}]) :type (name input-as) :defaultValue (or val default)