mirror of
https://github.com/jokob-sk/NetAlertX.git
synced 2026-07-25 23:18:06 -04:00
BE+FE: NOTI TEXT template -> textarea
This commit is contained in:
@@ -1009,7 +1009,7 @@ function showSpinner(stringKey = "Loading", target = null) {
|
||||
|
||||
console.log(resolvedTarget);
|
||||
|
||||
console.log(`spinnerTarget=${resolvedTarget.attr("id")} class=${resolvedTarget.attr("class")} size=${resolvedTarget.outerWidth()}x${resolvedTarget.outerHeight()} parent=${resolvedTarget.parent().outerWidth()}x${resolvedTarget.parent().outerHeight()}`)
|
||||
// console.log(`spinnerTarget=${resolvedTarget.attr("id")} class=${resolvedTarget.attr("class")} size=${resolvedTarget.outerWidth()}x${resolvedTarget.outerHeight()} parent=${resolvedTarget.parent().outerWidth()}x${resolvedTarget.parent().outerHeight()}`)
|
||||
|
||||
$("#loadingSpinnerText").text(text);
|
||||
|
||||
|
||||
@@ -1059,6 +1059,16 @@ function collectSetting(prefix, setCodeName, setType, settingsArray) {
|
||||
|
||||
// Map of handlers
|
||||
const handlers = {
|
||||
textarea: () => {
|
||||
let value = $(`#${setCodeName}`).val();
|
||||
|
||||
// Only escape multiline plain text values
|
||||
if (dataType === "string") {
|
||||
value = JSON.stringify(value).slice(1, -1);
|
||||
}
|
||||
|
||||
return applyTransformers(value, transformers);
|
||||
},
|
||||
datatableString: () => {
|
||||
const value = collectTableData(`#${setCodeName}_table`);
|
||||
return btoa(JSON.stringify(value));
|
||||
@@ -1091,9 +1101,26 @@ function collectSetting(prefix, setCodeName, setType, settingsArray) {
|
||||
},
|
||||
none: () => "",
|
||||
json: () => {
|
||||
let value = $(`#${setCodeName}`).val();
|
||||
value = applyTransformers(value, transformers);
|
||||
return JSON.stringify(value, null, 2);
|
||||
let value = $(`#${setCodeName}`).val();
|
||||
|
||||
value = applyTransformers(value, transformers);
|
||||
|
||||
try {
|
||||
value = JSON.parse(value);
|
||||
} catch (e) {
|
||||
console.error(`[collectSetting] Invalid JSON for ${setCodeName}`, e);
|
||||
return value;
|
||||
}
|
||||
|
||||
value = JSON.stringify(value, null, 2)
|
||||
.replace(/\btrue\b/g, "True")
|
||||
.replace(/\bfalse\b/g, "False")
|
||||
.replace(/\bnull\b/g, "None");
|
||||
|
||||
console.log("---------------")
|
||||
console.log(value)
|
||||
|
||||
return value;
|
||||
},
|
||||
fallback: () => {
|
||||
console.error(`[collectSetting] Couldn't determine how to handle (${setCodeName}|${dataType}|${opts.inputType})`);
|
||||
@@ -1106,17 +1133,20 @@ function collectSetting(prefix, setCodeName, setType, settingsArray) {
|
||||
let handlerKey;
|
||||
if (dataType === "string" && elementType === "datatable") {
|
||||
handlerKey = "datatableString";
|
||||
} else if (dataType === "json") {
|
||||
handlerKey = "json";
|
||||
}
|
||||
else if (elementType === "textarea") {
|
||||
handlerKey = "textarea";
|
||||
} else if (dataType === "string" ||
|
||||
(dataType === "integer" && (opts.inputType === "number" || opts.inputType === "text"))) {
|
||||
handlerKey = "simpleValue";
|
||||
handlerKey = "simpleValue";
|
||||
} else if (opts.inputType === "checkbox") {
|
||||
handlerKey = "checkbox";
|
||||
} else if (dataType === "array") {
|
||||
handlerKey = "array";
|
||||
} else if (dataType === "none") {
|
||||
handlerKey = "none";
|
||||
} else if (dataType === "json") {
|
||||
handlerKey = "json";
|
||||
} else {
|
||||
handlerKey = "fallback";
|
||||
}
|
||||
@@ -1162,16 +1192,19 @@ function generateFormHtml(settingsData, set, overrideValue, overrideOptions, ori
|
||||
const setKey = set['setKey'];
|
||||
const setType = set['setType'];
|
||||
|
||||
// if (setKey == 'UNIFIAPI_site_name') {
|
||||
// if (setKey == 'NTFPRCS_TEXT_TEMPLATE_down_devices') {
|
||||
|
||||
// console.log("==== DEBUG OUTPUT BELOW 1 ====");
|
||||
// console.log("populateFromOverrides: " + populateFromOverrides);
|
||||
// console.log(setType);
|
||||
// console.log(setKey);
|
||||
// console.log("overrideValue:" + overrideValue);
|
||||
// console.log("inVal:" + inVal);
|
||||
// console.log("set['setValue']:" + set['setValue']);
|
||||
// }
|
||||
// console.log("==== DEBUG OUTPUT BELOW 1 ====");
|
||||
// console.log("populateFromOverrides: " + populateFromOverrides);
|
||||
// console.log(setType);
|
||||
// console.log(setKey);
|
||||
// console.log("overrideValue:" + overrideValue);
|
||||
// console.log("inVal:" + inVal);
|
||||
// console.log("set['setValue']:" + set['setValue']);
|
||||
// console.log("overrideValue stringify:", JSON.stringify(overrideValue));
|
||||
// console.log("inVal stringify:", JSON.stringify(inVal));
|
||||
// console.log("set['setValue'] stringify:", JSON.stringify(set['setValue']));
|
||||
// }
|
||||
|
||||
// Parse the setType JSON string
|
||||
// console.log(processQuotes(setType));
|
||||
@@ -1212,7 +1245,7 @@ function generateFormHtml(settingsData, set, overrideValue, overrideOptions, ori
|
||||
// Override value
|
||||
let val = valRes;
|
||||
|
||||
// if (setKey == 'UNIFIAPI_site_name') {
|
||||
// if (setKey == 'NTFPRCS_TEXT_TEMPLATE_down_devices') {
|
||||
|
||||
// console.log("==== DEBUG OUTPUT BELOW 2 ====");
|
||||
// console.log(setType);
|
||||
|
||||
@@ -210,7 +210,7 @@
|
||||
"type": {
|
||||
"dataType": "string",
|
||||
"elements": [
|
||||
{ "elementType": "input", "elementOptions": [], "transformers": [] }
|
||||
{ "elementType": "textarea", "elementOptions": [], "transformers": [] }
|
||||
]
|
||||
},
|
||||
"default_value": "",
|
||||
@@ -234,7 +234,7 @@
|
||||
"type": {
|
||||
"dataType": "string",
|
||||
"elements": [
|
||||
{ "elementType": "input", "elementOptions": [], "transformers": [] }
|
||||
{ "elementType": "textarea", "elementOptions": [], "transformers": [] }
|
||||
]
|
||||
},
|
||||
"default_value": "",
|
||||
@@ -258,7 +258,7 @@
|
||||
"type": {
|
||||
"dataType": "string",
|
||||
"elements": [
|
||||
{ "elementType": "input", "elementOptions": [], "transformers": [] }
|
||||
{ "elementType": "textarea", "elementOptions": [], "transformers": [] }
|
||||
]
|
||||
},
|
||||
"default_value": "",
|
||||
@@ -282,7 +282,7 @@
|
||||
"type": {
|
||||
"dataType": "string",
|
||||
"elements": [
|
||||
{ "elementType": "input", "elementOptions": [], "transformers": [] }
|
||||
{ "elementType": "textarea", "elementOptions": [], "transformers": [] }
|
||||
]
|
||||
},
|
||||
"default_value": "",
|
||||
@@ -306,7 +306,7 @@
|
||||
"type": {
|
||||
"dataType": "string",
|
||||
"elements": [
|
||||
{ "elementType": "input", "elementOptions": [], "transformers": [] }
|
||||
{ "elementType": "textarea", "elementOptions": [], "transformers": [] }
|
||||
]
|
||||
},
|
||||
"default_value": "",
|
||||
|
||||
@@ -439,7 +439,7 @@ $settingsJSON_DB = json_encode($settings, JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX
|
||||
// constructing final HTML for the setting
|
||||
setHtml = ""
|
||||
|
||||
if(set["setGroup"] == prefix)
|
||||
if(set["setGroup"] == prefix )
|
||||
{
|
||||
// hide metadata by default by assigning it a special class
|
||||
isMetadata ? metadataClass = 'metadata' : metadataClass = '';
|
||||
|
||||
@@ -446,7 +446,7 @@ class DeviceInstance:
|
||||
# Join all sub-selects with commas
|
||||
query = "SELECT\n " + ",\n ".join(sub_queries)
|
||||
|
||||
mylog('none', [f'[getNamedTotals] query {query}'])
|
||||
mylog('trace', [f'[getNamedTotals] query {query}'])
|
||||
json_obj = get_table_json(sql, query, parameters=None)
|
||||
|
||||
return json_obj
|
||||
|
||||
Reference in New Issue
Block a user