regular inp and multiple global=true are enabled

This commit is contained in:
BlasenhauerJ 2023-05-11 15:23:26 +02:00
parent 402ff16c82
commit 9ceaaa8746
2 changed files with 56 additions and 19 deletions

View File

@ -151,6 +151,7 @@ class ServiceModal {
//for all other settings values
const defaultMethod = inp.getAttribute("data-default-method");
const defaultVal = inp.getAttribute("data-default-value");
const defaultGlobal = inp.getAttribute("data-default-global");
//SET VALUE
if (inp.getAttribute("type") === "checkbox") {
@ -169,13 +170,15 @@ class ServiceModal {
}
//SET METHOD
this.setDisabled(inp, defaultMethod);
this.setDisabled(inp, defaultMethod, defaultGlobal);
});
const selects = this.modal.querySelectorAll("select");
selects.forEach((select) => {
const defaultMethod = "default";
const defaultVal = select.getAttribute("data-default-value") || "";
//for all other settings values
const defaultMethod = select.getAttribute("data-default-method");
const defaultVal = select.getAttribute("data-default-value");
const defaultGlobal = select.getAttribute("data-default-global");
document
.querySelector(
@ -191,15 +194,18 @@ class ServiceModal {
)
.click();
this.setDisabled(select, defaultMethod);
this.setDisabled(select, defaultMethod, defaultGlobal);
});
}
setDisabled(inp, method) {
setDisabled(inp, method, global) {
console.log(inp, method, global);
if (global === "true") return inp.removeAttribute("disabled");
if (method === "ui" || method === "default") {
inp.removeAttribute("disabled");
return inp.removeAttribute("disabled");
} else {
inp.setAttribute("disabled", "");
return inp.setAttribute("disabled", "");
}
}
@ -285,6 +291,7 @@ class ServiceModal {
inps.forEach((inp) => {
//form related values are excludes
const inpName = inp.getAttribute("name");
const inpGlobal = inp.getAttribute("data-default-global");
if (
inpName === "csrf_token" ||
inpName === "OLD_SERVER_NAME" ||
@ -326,7 +333,7 @@ class ServiceModal {
}
//check disabled/enabled after setting values and methods
this.setDisabled(inp, method);
this.setDisabled(inp, method, inpGlobal);
});
} catch (err) {}
}
@ -385,6 +392,7 @@ class Multiple {
const sortMultiples =
this.sortMultipleByContainerAndSuffixe(multipleSettings);
this.setMultipleToDOM(sortMultiples);
this.setDisabledMult();
}
} catch (err) {}
//new button
@ -440,7 +448,7 @@ class Multiple {
//clone schema to create a group with new num
const schemaClone = schema.cloneNode(true);
this.changeCloneSuffix(schemaClone, setNum);
this.setDisabled();
this.setDisabledMult();
this.showClone(schema, schemaClone);
//insert new group before first one
//show all groups
@ -618,7 +626,7 @@ class Multiple {
}
//disabled after update values and method
this.setDisabled();
this.setDisabledMult();
}
changeCloneSuffix(schemaCtnrClone, suffix) {
@ -737,7 +745,7 @@ class Multiple {
schemaCtnrClone.classList.add("grid");
}
setDisabled() {
setDisabledMult() {
const multipleCtnr = document.querySelectorAll(
"[data-services-settings-multiple]"
);
@ -749,7 +757,10 @@ class Multiple {
try {
const inps = setting.querySelectorAll("input");
inps.forEach((inp) => {
const method = inp.getAttribute("data-method") || "default";
const global = inp.getAttribute("data-default-method");
if (global === "true") return inp.removeAttribute("disabled");
const method = inp.getAttribute("data-default-method");
if (method === "ui" || method === "default") {
inp.removeAttribute("disabled");
} else {
@ -761,15 +772,20 @@ class Multiple {
try {
const selects = setting.querySelectorAll("select");
selects.forEach((select) => {
const method = select.getAttribute("data-method") || "default";
//get el
const name = select.getAttribute(
"data-services-setting-select-default"
);
const selDOM = document.querySelector(
`button[data-services-setting-select='${name}']`
);
//logic
const method = select.getAttribute("data-default-method");
const global = inp.getAttribute("data-default-method");
if (global === "true") return selDOM.removeAttribute("disabled");
if (method === "ui" || method === "default") {
selDOM.removeAttribute("disabled", "");
selDOM.removeAttribute("disabled");
} else {
selDOM.setAttribute("disabled", "");
}

View File

@ -65,7 +65,9 @@ data-plugin-item="{{plugin['id']}}"
<div class="relative flex items-center">
<input
{% if setting == "SERVER_NAME" %}required{%endif%}
data-default-value="{{global_config[setting]['value']}}" data-default-method="{{global_config[setting]['method']}}"
data-default-value="{{global_config[setting]['value']}}"
data-default-method="{{global_config[setting]['method']}}"
data-default-global="{% if global_config[setting]['global'] == True %}true{% else %}false{%endif%}"
{% if global_config[setting]['method'] != 'ui' and global_config[setting]['method'] != 'default' %} disabled {% endif %} id="{{setting}}" name="{{setting}}"
class="regular-input"
value="{% if global_config[setting]['value'] %} {{global_config[setting]['value']}} {% else %} {{value['default']}} {% endif %}" type="{{value['type']}}" pattern="{{value['regex']|safe}}" />
@ -88,7 +90,10 @@ data-plugin-item="{{plugin['id']}}"
<!-- select -->
{% if value["type"] == "select" %}
<!-- default hidden-->
<select data-default-method="{{global_config[setting]['method']}}" data-default-value="{{value['default']}}"
<select
data-default-method="{{global_config[setting]['method']}}"
data-default-value="{{value['default']}}"
data-default-global="{% if global_config[setting]['global'] == True %}true{% else %}false{%endif%}"
id="{{setting}}" name="{{setting}}" data-setting-select-default="{{value['id']}}" data-type="form-select" id="{{setting}}" name="{{setting}}"
class="hidden">
{% for item in value['select'] %}
@ -102,7 +107,9 @@ data-plugin-item="{{plugin['id']}}"
<button
{% if global_config[setting]['method'] != 'ui' and global_config[setting]['method'] != 'default' %} disabled {% endif %} data-setting-select="{{value['id']}}"
data-default-value="{{global_config[setting]['value']}}"
data-default-method="{{global_config[setting]['method']}}"
data-default-method="{{global_config[setting]['method']}}"
data-default-global="{% if global_config[setting]['global'] == True %}true{% else %}false{%endif%}"
type="button"
class="custom-select-btn"
>
@ -173,6 +180,8 @@ data-plugin-item="{{plugin['id']}}"
<input id="{{setting}}" name="{{setting}}"
data-default-method="{% if setting in ["AUTOCONF_MODE", "SWARM_MODE", "KUBERNETES_MODE"] %}mode{% else %}{{global_config[setting]['method']}}{% endif %}"
data-default-value="{{global_config[setting]['value']}}"
data-default-global="{% if global_config[setting]['global'] == True %}true{% else %}false{%endif%}"
{% if
setting in ["AUTOCONF_MODE", "SWARM_MODE", "KUBERNETES_MODE"] or global_config[setting]['method'] != 'ui' and global_config[setting]['method']
@ -280,7 +289,12 @@ data-plugin-item="{{plugin['id']}}"
{% if value["type"] != "select" and value["type"] != "check" %}
<div class="relative flex items-center">
<input
data-default-value="{{value['default']}}" data-default-method="default" id="{{setting}}_SCHEMA" name="{{setting}}_SCHEMA"
data-default-value="{{value['default']}}"
data-default-method="default"
data-default-global="{% if global_config[setting]['global'] == True %}true{% else %}false{%endif%}"
id="{{setting}}_SCHEMA"
name="{{setting}}_SCHEMA"
class="regular-input"
value="{{value['default']}}" type="{{value['type']}}" pattern="{{value['regex']|safe}}" />
@ -301,7 +315,11 @@ data-plugin-item="{{plugin['id']}}"
<!-- select -->
{% if value["type"] == "select" %}
<!-- default hidden-->
<select data-default-method="default" data-default-value="{{value['default']}}"
<select
data-default-method="default"
data-default-value="{{value['default']}}"
data-default-global="{% if global_config[setting]['global'] == True %}true{% else %}false{%endif%}"
id="{{setting}}_SCHEMA" name="{{setting}}_SCHEMA" data-select-default="{{value['id']}}" data-type="form-select" id="{{setting}}" name="{{setting}}"
class="hidden">
{% for item in value['select'] %}
@ -315,6 +333,8 @@ data-plugin-item="{{plugin['id']}}"
<button
data-setting-select="{{value['id']}}"
data-default-value="{{value['default']}}"
data-default-global="{% if global_config[setting]['global'] == True %}true{% else %}false{%endif%}"
type="button"
class="custom-select-btn"
>
@ -375,6 +395,7 @@ data-plugin-item="{{plugin['id']}}"
<div data-checkbox-handler="{{value['id']}}" class="relative mb-7 md:mb-0">
<input id="{{setting}}_SCHEMA" name="{{setting}}_SCHEMA"
data-default-method="default"
data-default-global="{% if global_config[setting]['global'] == True %}true{% else %}false{%endif%}"
data-default-value="{{value['default']}}" {% if value['default'] == 'yes' %} checked {%
endif %} id="checkbox-{{value['id']}}"
class="checkbox" type="checkbox" data-pattern="{{value['regex']|safe}}"