formeo 5.3.1 → 5.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/demo/assets/css/demo.min.css +1 -1
- package/dist/demo/assets/css/demo.min.css.gz +0 -0
- package/dist/demo/assets/css/formeo.min.css +1 -1
- package/dist/demo/assets/js/demo.min.js +28 -28
- package/dist/demo/assets/js/demo.min.js.gz +0 -0
- package/dist/demo/assets/js/form.min.js +2 -2
- package/dist/demo/assets/js/formeo.cjs.js +33 -4
- package/dist/demo/assets/js/formeo.es.js +33 -4
- package/dist/demo/assets/js/formeo.min.cjs.js +2 -2
- package/dist/demo/assets/js/formeo.min.es.js +2 -2
- package/dist/demo/assets/js/formeo.min.js +33 -4
- package/dist/demo/assets/js/formeo.min.umd.js +2 -2
- package/dist/demo/assets/js/formeo.umd.js +33 -4
- package/dist/demo/assets/js/html.min.js +1 -1
- package/dist/demo/assets/js/layout.min.js +1 -1
- package/dist/demo/assets/js/mode-json.min.js +1 -1
- package/dist/demo/assets/js/mode-json.min.js.gz +0 -0
- package/dist/demo/assets/js/theme-github_light_default.min.js +1 -1
- package/dist/demo/index.html +1 -1
- package/dist/formeo.cjs.js +33 -4
- package/dist/formeo.css +1 -1
- package/dist/formeo.es.js +33 -4
- package/dist/formeo.min.cjs.js +2 -2
- package/dist/formeo.min.css +1 -1
- package/dist/formeo.min.es.js +2 -2
- package/dist/formeo.min.js +33 -4
- package/dist/formeo.min.umd.js +2 -2
- package/dist/formeo.umd.js +33 -4
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
|
|
2
2
|
/**
|
|
3
3
|
formeo - https://formeo.io
|
|
4
|
-
Version: 5.3.
|
|
4
|
+
Version: 5.3.1
|
|
5
5
|
Author: Draggable https://draggable.io
|
|
6
6
|
*/
|
|
7
7
|
|
|
@@ -8068,7 +8068,7 @@ Author: Draggable https://draggable.io
|
|
|
8068
8068
|
})), name$1, version$2, type, main, module$1, unpkg, exports$1, files, homepage, repository, author, contributors, bugs, description, keywords, ignore, config, scripts, devDependencies, dependencies, release, commitlint, package_default;
|
|
8069
8069
|
var init_package = __esmMin((() => {
|
|
8070
8070
|
name$1 = "formeo";
|
|
8071
|
-
version$2 = "5.3.
|
|
8071
|
+
version$2 = "5.3.1";
|
|
8072
8072
|
type = "module";
|
|
8073
8073
|
main = "dist/formeo.cjs.js";
|
|
8074
8074
|
module$1 = "dist/formeo.es.js";
|
|
@@ -14525,6 +14525,23 @@ Author: Draggable https://draggable.io
|
|
|
14525
14525
|
});
|
|
14526
14526
|
}));
|
|
14527
14527
|
//#endregion
|
|
14528
|
+
//#region src/lib/js/components/fields/control-attr-config.mjs
|
|
14529
|
+
var getControlConfig, controlAttrPanelConfig;
|
|
14530
|
+
var init_control_attr_config = __esmMin((() => {
|
|
14531
|
+
init_utils();
|
|
14532
|
+
getControlConfig = (control) => control?.controlData?.config ?? control?.config;
|
|
14533
|
+
controlAttrPanelConfig = (...sources) => {
|
|
14534
|
+
const collect = (key) => unique(sources.flatMap((source) => Array.isArray(source?.[key]) ? source[key] : []));
|
|
14535
|
+
const disabled = collect("disabledAttrs");
|
|
14536
|
+
const locked = collect("lockedAttrs");
|
|
14537
|
+
if (!disabled.length && !locked.length) return null;
|
|
14538
|
+
return { panels: { attrs: {
|
|
14539
|
+
disabled,
|
|
14540
|
+
locked
|
|
14541
|
+
} } };
|
|
14542
|
+
};
|
|
14543
|
+
}));
|
|
14544
|
+
//#endregion
|
|
14528
14545
|
//#region src/lib/js/components/fields/field.js
|
|
14529
14546
|
var field_exports = /* @__PURE__ */ __exportAll({ default: () => Field });
|
|
14530
14547
|
var checkableTypes, isSelectableType, Field;
|
|
@@ -14535,6 +14552,8 @@ Author: Draggable https://draggable.io
|
|
|
14535
14552
|
init_utils();
|
|
14536
14553
|
init_constants();
|
|
14537
14554
|
init_component();
|
|
14555
|
+
init_components();
|
|
14556
|
+
init_control_attr_config();
|
|
14538
14557
|
checkableTypes = new Set(["checkbox", "radio"]);
|
|
14539
14558
|
isSelectableType = new Set([
|
|
14540
14559
|
"radio",
|
|
@@ -14550,11 +14569,12 @@ Author: Draggable https://draggable.io
|
|
|
14550
14569
|
*/
|
|
14551
14570
|
constructor(fieldData = Object.create(null)) {
|
|
14552
14571
|
super("field", fieldData);
|
|
14572
|
+
this.controlId = this.get("config.controlId") || this.get("meta.id");
|
|
14573
|
+
this.applyControlAttrConfig();
|
|
14553
14574
|
this.debouncedUpdateEditPanels = debounce(this.updateEditPanels);
|
|
14554
14575
|
this.debouncedUpdatePreview = debounce(this.updatePreview);
|
|
14555
14576
|
this.label = dom.create(this.labelConfig);
|
|
14556
14577
|
this.preview = this.fieldPreview();
|
|
14557
|
-
this.controlId = this.get("config.controlId") || this.get("meta.id");
|
|
14558
14578
|
const actionButtons = this.getActionButtons();
|
|
14559
14579
|
const hasEditButton = this.actionButtons.some((child) => child.meta?.id === "edit");
|
|
14560
14580
|
this.updateEditPanels();
|
|
@@ -14575,6 +14595,15 @@ Author: Draggable https://draggable.io
|
|
|
14575
14595
|
this.dom = field;
|
|
14576
14596
|
this.isEditing = false;
|
|
14577
14597
|
}
|
|
14598
|
+
/**
|
|
14599
|
+
* Honour control-level `disabledAttrs` / `lockedAttrs` by merging them into this field's
|
|
14600
|
+
* panels.attrs config. Reads both the registered control definition and the field's own
|
|
14601
|
+
* saved config so forms saved before a control changed still pick up its rules.
|
|
14602
|
+
*/
|
|
14603
|
+
applyControlAttrConfig() {
|
|
14604
|
+
const attrConfig = controlAttrPanelConfig(getControlConfig(components.controls?.get(this.controlId)), this.get("config"));
|
|
14605
|
+
if (attrConfig) this.config = { [this.id]: attrConfig };
|
|
14606
|
+
}
|
|
14578
14607
|
get labelConfig() {
|
|
14579
14608
|
if (!!this.get("config.hideLabel")) return null;
|
|
14580
14609
|
const { label, editorLabel, disableHtmlLabel, helpText, tooltip } = this.get("config");
|
|
@@ -15018,7 +15047,7 @@ Author: Draggable https://draggable.io
|
|
|
15018
15047
|
},
|
|
15019
15048
|
config: {
|
|
15020
15049
|
label: s.get("controls.form.radio-group"),
|
|
15021
|
-
|
|
15050
|
+
disabledAttrs: ["type"]
|
|
15022
15051
|
},
|
|
15023
15052
|
meta: {
|
|
15024
15053
|
group: "common",
|
|
Binary file
|
package/dist/demo/index.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!doctype html><html lang="en" xml:lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="chrome=1"><meta name="viewport" content="user-scalable=no,width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1"><meta name="description" content="Vanilla Javascript form building module"><meta name="theme-color" content="#232323"><title>Formeo | Drag & Drop Form Creation</title><script type="module" crossorigin src="/formeo/assets/js/demo.min.js"></script><link rel="stylesheet" crossorigin href="/formeo/assets/css/demo.min.css"></head><body><div class="site-wrap"><header id="demo-header"><div class="header-inner"><img id="formeo-logo" src="/formeo/assets/img/formeo-logo.svg" alt="Formeo Logo" width="100"><nav aria-label="Framework navigation"><ul><li><label for="framework-select">Framework:</label> <select name="framework-select" id="framework-select" class="form-control"><option value="vanilla">Vanilla JavaScript</option><option value="angular">Angular</option><option value="react">React</option></select></li><li><label for="locale">Language</label> <select name="locale" id="locale" class="form-control"><option value="af-ZA" dir="ltr">Afrikaans (Suid-Afrika)</option><option value="ar-TN" dir="rtl">العربية (تونس)</option><option value="cs-CZ" dir="ltr">čeština (Česko)</option><option value="de-DE" dir="ltr">Deutsch (Deutschland)</option><option value="en-US" dir="ltr">English</option><option value="es-ES" dir="ltr">español de España</option><option value="fa-IR" dir="rtl">فارسی (ایران)</option><option value="fi-FI" dir="ltr">suomi (Suomi)</option><option value="fr-FR" dir="ltr">français (France)</option><option value="he-IL" dir="rtl">עברית (ישראל)</option><option value="hi-IN" dir="ltr">हिन्दी (भारत)</option><option value="hu-HU" dir="ltr">magyar (Magyarország)</option><option value="it-IT" dir="ltr">italiano (Italia)</option><option value="ja-JP" dir="ltr">日本語 (日本)</option><option value="nb-NO" dir="ltr">norsk bokmål (Norge)</option><option value="pl-PL" dir="ltr">polski (Polska)</option><option value="pt-BR" dir="ltr">português (Brasil)</option><option value="pt-PT" dir="ltr">português europeu</option><option value="ro-RO" dir="ltr">română (România)</option><option value="ru-RU" dir="ltr">русский (Россия)</option><option value="th-TH" dir="ltr">ไทย (ไทย)</option><option value="tr-TR" dir="ltr">Türkçe (Türkiye)</option><option value="zh-CN" dir="ltr">中文(中国)</option><option value="zh-HK" dir="ltr">中文(中國香港特別行政區)</option></select></li><li><label for="control-filter">Control Filter:</label> <input id="control-filter" placeholder="ex. text" class="form-control"></li><li style="float:right">v5.3.
|
|
1
|
+
<!doctype html><html lang="en" xml:lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="chrome=1"><meta name="viewport" content="user-scalable=no,width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1"><meta name="description" content="Vanilla Javascript form building module"><meta name="theme-color" content="#232323"><title>Formeo | Drag & Drop Form Creation</title><script type="module" crossorigin src="/formeo/assets/js/demo.min.js"></script><link rel="stylesheet" crossorigin href="/formeo/assets/css/demo.min.css"></head><body><div class="site-wrap"><header id="demo-header"><div class="header-inner"><img id="formeo-logo" src="/formeo/assets/img/formeo-logo.svg" alt="Formeo Logo" width="100"><nav aria-label="Framework navigation"><ul><li><label for="framework-select">Framework:</label> <select name="framework-select" id="framework-select" class="form-control"><option value="vanilla">Vanilla JavaScript</option><option value="angular">Angular</option><option value="react">React</option></select></li><li><label for="locale">Language</label> <select name="locale" id="locale" class="form-control"><option value="af-ZA" dir="ltr">Afrikaans (Suid-Afrika)</option><option value="ar-TN" dir="rtl">العربية (تونس)</option><option value="cs-CZ" dir="ltr">čeština (Česko)</option><option value="de-DE" dir="ltr">Deutsch (Deutschland)</option><option value="en-US" dir="ltr">English</option><option value="es-ES" dir="ltr">español de España</option><option value="fa-IR" dir="rtl">فارسی (ایران)</option><option value="fi-FI" dir="ltr">suomi (Suomi)</option><option value="fr-FR" dir="ltr">français (France)</option><option value="he-IL" dir="rtl">עברית (ישראל)</option><option value="hi-IN" dir="ltr">हिन्दी (भारत)</option><option value="hu-HU" dir="ltr">magyar (Magyarország)</option><option value="it-IT" dir="ltr">italiano (Italia)</option><option value="ja-JP" dir="ltr">日本語 (日本)</option><option value="nb-NO" dir="ltr">norsk bokmål (Norge)</option><option value="pl-PL" dir="ltr">polski (Polska)</option><option value="pt-BR" dir="ltr">português (Brasil)</option><option value="pt-PT" dir="ltr">português europeu</option><option value="ro-RO" dir="ltr">română (România)</option><option value="ru-RU" dir="ltr">русский (Россия)</option><option value="th-TH" dir="ltr">ไทย (ไทย)</option><option value="tr-TR" dir="ltr">Türkçe (Türkiye)</option><option value="zh-CN" dir="ltr">中文(中国)</option><option value="zh-HK" dir="ltr">中文(中國香港特別行政區)</option></select></li><li><label for="control-filter">Control Filter:</label> <input id="control-filter" placeholder="ex. text" class="form-control"></li><li style="float:right">v5.3.1</li></ul></nav></div></header><section id="main_content" class="inner"><div id="framework-container"></div></section><div class="container render-btn-wrap" id="editor-action-buttons"></div><div id="formData-popover" popover><div class="popover-header"><h3>Test formData</h3><div><button type="button" id="format-json">Format</button> <button type="button" id="collapse-json">Collapse</button> <button type="button" id="copy-json">Copy to Clipboard</button></div></div><pre id="formData-editor"></pre><div class="formData-actions"><button popovertarget="formData-popover" popovertargetaction="hide" type="button">Cancel</button> <button id="submit-formData" type="button">Submit</button></div></div><footer id="demo-footer"><nav aria-label="Footer navigation"><ul><li><a href="https://github.com/Draggable/formeo" target="_blank" title="View project on GitHub"><img src="/formeo/assets/img/github.png" width="77" alt="GitHub"></a></li></ul></nav></footer></div></body></html>
|
package/dist/formeo.cjs.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
|
|
2
2
|
/**
|
|
3
3
|
formeo - https://formeo.io
|
|
4
|
-
Version: 5.3.
|
|
4
|
+
Version: 5.3.1
|
|
5
5
|
Author: Draggable https://draggable.io
|
|
6
6
|
*/
|
|
7
7
|
|
|
@@ -8065,7 +8065,7 @@ var require_mergeWith = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
8065
8065
|
})), name$1, version$2, type, main, module$1, unpkg, exports$1, files, homepage, repository, author, contributors, bugs, description, keywords, ignore, config, scripts, devDependencies, dependencies, release, commitlint, package_default;
|
|
8066
8066
|
var init_package = __esmMin((() => {
|
|
8067
8067
|
name$1 = "formeo";
|
|
8068
|
-
version$2 = "5.3.
|
|
8068
|
+
version$2 = "5.3.1";
|
|
8069
8069
|
type = "module";
|
|
8070
8070
|
main = "dist/formeo.cjs.js";
|
|
8071
8071
|
module$1 = "dist/formeo.es.js";
|
|
@@ -14522,6 +14522,23 @@ var init_options = __esmMin((() => {
|
|
|
14522
14522
|
});
|
|
14523
14523
|
}));
|
|
14524
14524
|
//#endregion
|
|
14525
|
+
//#region src/lib/js/components/fields/control-attr-config.mjs
|
|
14526
|
+
var getControlConfig, controlAttrPanelConfig;
|
|
14527
|
+
var init_control_attr_config = __esmMin((() => {
|
|
14528
|
+
init_utils();
|
|
14529
|
+
getControlConfig = (control) => control?.controlData?.config ?? control?.config;
|
|
14530
|
+
controlAttrPanelConfig = (...sources) => {
|
|
14531
|
+
const collect = (key) => unique(sources.flatMap((source) => Array.isArray(source?.[key]) ? source[key] : []));
|
|
14532
|
+
const disabled = collect("disabledAttrs");
|
|
14533
|
+
const locked = collect("lockedAttrs");
|
|
14534
|
+
if (!disabled.length && !locked.length) return null;
|
|
14535
|
+
return { panels: { attrs: {
|
|
14536
|
+
disabled,
|
|
14537
|
+
locked
|
|
14538
|
+
} } };
|
|
14539
|
+
};
|
|
14540
|
+
}));
|
|
14541
|
+
//#endregion
|
|
14525
14542
|
//#region src/lib/js/components/fields/field.js
|
|
14526
14543
|
var field_exports = /* @__PURE__ */ __exportAll({ default: () => Field });
|
|
14527
14544
|
var checkableTypes, isSelectableType, Field;
|
|
@@ -14532,6 +14549,8 @@ var init_field = __esmMin((() => {
|
|
|
14532
14549
|
init_utils();
|
|
14533
14550
|
init_constants();
|
|
14534
14551
|
init_component();
|
|
14552
|
+
init_components();
|
|
14553
|
+
init_control_attr_config();
|
|
14535
14554
|
checkableTypes = new Set(["checkbox", "radio"]);
|
|
14536
14555
|
isSelectableType = new Set([
|
|
14537
14556
|
"radio",
|
|
@@ -14547,11 +14566,12 @@ var init_field = __esmMin((() => {
|
|
|
14547
14566
|
*/
|
|
14548
14567
|
constructor(fieldData = Object.create(null)) {
|
|
14549
14568
|
super("field", fieldData);
|
|
14569
|
+
this.controlId = this.get("config.controlId") || this.get("meta.id");
|
|
14570
|
+
this.applyControlAttrConfig();
|
|
14550
14571
|
this.debouncedUpdateEditPanels = debounce(this.updateEditPanels);
|
|
14551
14572
|
this.debouncedUpdatePreview = debounce(this.updatePreview);
|
|
14552
14573
|
this.label = dom.create(this.labelConfig);
|
|
14553
14574
|
this.preview = this.fieldPreview();
|
|
14554
|
-
this.controlId = this.get("config.controlId") || this.get("meta.id");
|
|
14555
14575
|
const actionButtons = this.getActionButtons();
|
|
14556
14576
|
const hasEditButton = this.actionButtons.some((child) => child.meta?.id === "edit");
|
|
14557
14577
|
this.updateEditPanels();
|
|
@@ -14572,6 +14592,15 @@ var init_field = __esmMin((() => {
|
|
|
14572
14592
|
this.dom = field;
|
|
14573
14593
|
this.isEditing = false;
|
|
14574
14594
|
}
|
|
14595
|
+
/**
|
|
14596
|
+
* Honour control-level `disabledAttrs` / `lockedAttrs` by merging them into this field's
|
|
14597
|
+
* panels.attrs config. Reads both the registered control definition and the field's own
|
|
14598
|
+
* saved config so forms saved before a control changed still pick up its rules.
|
|
14599
|
+
*/
|
|
14600
|
+
applyControlAttrConfig() {
|
|
14601
|
+
const attrConfig = controlAttrPanelConfig(getControlConfig(components.controls?.get(this.controlId)), this.get("config"));
|
|
14602
|
+
if (attrConfig) this.config = { [this.id]: attrConfig };
|
|
14603
|
+
}
|
|
14575
14604
|
get labelConfig() {
|
|
14576
14605
|
if (!!this.get("config.hideLabel")) return null;
|
|
14577
14606
|
const { label, editorLabel, disableHtmlLabel, helpText, tooltip } = this.get("config");
|
|
@@ -15015,7 +15044,7 @@ var init_radio_group = __esmMin((() => {
|
|
|
15015
15044
|
},
|
|
15016
15045
|
config: {
|
|
15017
15046
|
label: s.get("controls.form.radio-group"),
|
|
15018
|
-
|
|
15047
|
+
disabledAttrs: ["type"]
|
|
15019
15048
|
},
|
|
15020
15049
|
meta: {
|
|
15021
15050
|
group: "common",
|
package/dist/formeo.css
CHANGED
package/dist/formeo.es.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
|
|
2
2
|
/**
|
|
3
3
|
formeo - https://formeo.io
|
|
4
|
-
Version: 5.3.
|
|
4
|
+
Version: 5.3.1
|
|
5
5
|
Author: Draggable https://draggable.io
|
|
6
6
|
*/
|
|
7
7
|
|
|
@@ -8064,7 +8064,7 @@ var require_mergeWith = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
8064
8064
|
})), name$1, version$2, type, main, module$1, unpkg, exports$1, files, homepage, repository, author, contributors, bugs, description, keywords, ignore, config, scripts, devDependencies, dependencies, release, commitlint, package_default;
|
|
8065
8065
|
var init_package = __esmMin((() => {
|
|
8066
8066
|
name$1 = "formeo";
|
|
8067
|
-
version$2 = "5.3.
|
|
8067
|
+
version$2 = "5.3.1";
|
|
8068
8068
|
type = "module";
|
|
8069
8069
|
main = "dist/formeo.cjs.js";
|
|
8070
8070
|
module$1 = "dist/formeo.es.js";
|
|
@@ -14521,6 +14521,23 @@ var init_options = __esmMin((() => {
|
|
|
14521
14521
|
});
|
|
14522
14522
|
}));
|
|
14523
14523
|
//#endregion
|
|
14524
|
+
//#region src/lib/js/components/fields/control-attr-config.mjs
|
|
14525
|
+
var getControlConfig, controlAttrPanelConfig;
|
|
14526
|
+
var init_control_attr_config = __esmMin((() => {
|
|
14527
|
+
init_utils();
|
|
14528
|
+
getControlConfig = (control) => control?.controlData?.config ?? control?.config;
|
|
14529
|
+
controlAttrPanelConfig = (...sources) => {
|
|
14530
|
+
const collect = (key) => unique(sources.flatMap((source) => Array.isArray(source?.[key]) ? source[key] : []));
|
|
14531
|
+
const disabled = collect("disabledAttrs");
|
|
14532
|
+
const locked = collect("lockedAttrs");
|
|
14533
|
+
if (!disabled.length && !locked.length) return null;
|
|
14534
|
+
return { panels: { attrs: {
|
|
14535
|
+
disabled,
|
|
14536
|
+
locked
|
|
14537
|
+
} } };
|
|
14538
|
+
};
|
|
14539
|
+
}));
|
|
14540
|
+
//#endregion
|
|
14524
14541
|
//#region src/lib/js/components/fields/field.js
|
|
14525
14542
|
var field_exports = /* @__PURE__ */ __exportAll({ default: () => Field });
|
|
14526
14543
|
var checkableTypes, isSelectableType, Field;
|
|
@@ -14531,6 +14548,8 @@ var init_field = __esmMin((() => {
|
|
|
14531
14548
|
init_utils();
|
|
14532
14549
|
init_constants();
|
|
14533
14550
|
init_component();
|
|
14551
|
+
init_components();
|
|
14552
|
+
init_control_attr_config();
|
|
14534
14553
|
checkableTypes = new Set(["checkbox", "radio"]);
|
|
14535
14554
|
isSelectableType = new Set([
|
|
14536
14555
|
"radio",
|
|
@@ -14546,11 +14565,12 @@ var init_field = __esmMin((() => {
|
|
|
14546
14565
|
*/
|
|
14547
14566
|
constructor(fieldData = Object.create(null)) {
|
|
14548
14567
|
super("field", fieldData);
|
|
14568
|
+
this.controlId = this.get("config.controlId") || this.get("meta.id");
|
|
14569
|
+
this.applyControlAttrConfig();
|
|
14549
14570
|
this.debouncedUpdateEditPanels = debounce(this.updateEditPanels);
|
|
14550
14571
|
this.debouncedUpdatePreview = debounce(this.updatePreview);
|
|
14551
14572
|
this.label = dom.create(this.labelConfig);
|
|
14552
14573
|
this.preview = this.fieldPreview();
|
|
14553
|
-
this.controlId = this.get("config.controlId") || this.get("meta.id");
|
|
14554
14574
|
const actionButtons = this.getActionButtons();
|
|
14555
14575
|
const hasEditButton = this.actionButtons.some((child) => child.meta?.id === "edit");
|
|
14556
14576
|
this.updateEditPanels();
|
|
@@ -14571,6 +14591,15 @@ var init_field = __esmMin((() => {
|
|
|
14571
14591
|
this.dom = field;
|
|
14572
14592
|
this.isEditing = false;
|
|
14573
14593
|
}
|
|
14594
|
+
/**
|
|
14595
|
+
* Honour control-level `disabledAttrs` / `lockedAttrs` by merging them into this field's
|
|
14596
|
+
* panels.attrs config. Reads both the registered control definition and the field's own
|
|
14597
|
+
* saved config so forms saved before a control changed still pick up its rules.
|
|
14598
|
+
*/
|
|
14599
|
+
applyControlAttrConfig() {
|
|
14600
|
+
const attrConfig = controlAttrPanelConfig(getControlConfig(components.controls?.get(this.controlId)), this.get("config"));
|
|
14601
|
+
if (attrConfig) this.config = { [this.id]: attrConfig };
|
|
14602
|
+
}
|
|
14574
14603
|
get labelConfig() {
|
|
14575
14604
|
if (!!this.get("config.hideLabel")) return null;
|
|
14576
14605
|
const { label, editorLabel, disableHtmlLabel, helpText, tooltip } = this.get("config");
|
|
@@ -15014,7 +15043,7 @@ var init_radio_group = __esmMin((() => {
|
|
|
15014
15043
|
},
|
|
15015
15044
|
config: {
|
|
15016
15045
|
label: s.get("controls.form.radio-group"),
|
|
15017
|
-
|
|
15046
|
+
disabledAttrs: ["type"]
|
|
15018
15047
|
},
|
|
15019
15048
|
meta: {
|
|
15020
15049
|
group: "common",
|