From 7c816f488c8ba0914c7c100b1ffec598c7d48093 Mon Sep 17 00:00:00 2001 From: yflory Date: Wed, 15 Jan 2025 18:41:43 +0100 Subject: [PATCH] Sidebar layout improvements --- .../src/less2/include/sidebar-layout.less | 6 ++++ lib/decrees-core.js | 1 - www/common/inner/sidebar-layout.js | 36 +++++++++++++++++++ 3 files changed, 42 insertions(+), 1 deletion(-) diff --git a/customize.dist/src/less2/include/sidebar-layout.less b/customize.dist/src/less2/include/sidebar-layout.less index 90eb873ef..a665d1318 100644 --- a/customize.dist/src/less2/include/sidebar-layout.less +++ b/customize.dist/src/less2/include/sidebar-layout.less @@ -236,6 +236,12 @@ margin-bottom: 0; } } + .cp-sidebarlayout-description-item { + display: block; + color: @cp_sidebar-hint; + margin-top: @sidebar_base-margin; + margin-bottom: 0; + } label.noTitle { display: inline-flex; .fa { diff --git a/lib/decrees-core.js b/lib/decrees-core.js index a8320a922..3a40e5d6a 100644 --- a/lib/decrees-core.js +++ b/lib/decrees-core.js @@ -40,7 +40,6 @@ Decrees.create = (name, commands) => { var args = line[1]; if (typeof(commands[command]) !== 'function') { - console.log('ici', command, commands); throw new Error("DECREE_UNSUPPORTED_COMMAND"); } diff --git a/www/common/inner/sidebar-layout.js b/www/common/inner/sidebar-layout.js index 7af940cd8..03ce9c151 100644 --- a/www/common/inner/sidebar-layout.js +++ b/www/common/inner/sidebar-layout.js @@ -156,6 +156,35 @@ define([ return box; }; + // opts.values = { key1:label1, key2:label2 } + blocks.radio = (key, state, opts, onChange) => { + if (!opts?.values) { + return void console.error('NO_VALUES'); + } + let all = Object.keys(opts.values).map(k => { + let v = opts.values[k]; + let r = UI.createRadio( + `cp-${app}-${key}`, + `cp-${app}-${key}-${k}`, + v, state === k, { + input: { value: k }, + label: { class: 'noTitle' } + } + ); + if (typeof(onChange) === "function"){ + $(r).find('input').on('change', function() { + onChange(k); + }); + } + return r; + }); + let block = h('div.cp-sidebar-flex-block', all); + if (opts && opts.spinner) { + block.spinner = UI.makeSpinner($(block)); + } + return block; + }; + blocks.table = function (header, entries) { const table = h('table.cp-sidebar-table'); if (header) { @@ -255,6 +284,13 @@ define([ return box; }; + blocks.hintItem = (hint, item) => { + return blocks.form([ + h('span.cp-sidebarlayout-description-item', hint), + item + ]); + }; + return blocks; };