aboutsummaryrefslogtreecommitdiff
path: root/internal/admin/static/mobeditor.js
diff options
context:
space:
mode:
Diffstat (limited to 'internal/admin/static/mobeditor.js')
-rw-r--r--internal/admin/static/mobeditor.js15
1 files changed, 9 insertions, 6 deletions
diff --git a/internal/admin/static/mobeditor.js b/internal/admin/static/mobeditor.js
index c564088..73dd16b 100644
--- a/internal/admin/static/mobeditor.js
+++ b/internal/admin/static/mobeditor.js
@@ -202,6 +202,7 @@ function renderMobEditor(id, data) {
}
function renderCurrent() {
+ ced_syncDOMToData(mobData);
if (!mobData || !mobID) return;
renderMobEditor(mobID, mobData);
}
@@ -425,16 +426,17 @@ function renderMobSubField(sec, stKey, idx, f, val) {
else if (f[4] === 'grow') extraCls = ' obj-grow';
var defaultPh = '';
if (f[3]) defaultPh = ' placeholder="' + escAttr(f[3]) + '"';
+ var dp = mobCardPath(sec) + '.' + stKey + '[' + idx + '].' + f[0];
+ var dpAttr = ' data-field-path="' + escAttr(dp) + '"';
if (f[2] === 'search') {
var entity = f[6] || 'items';
var ph = f[3] ? ' placeholder="' + escAttr(f[3]) + '"' : ' placeholder="Search ' + entity + '..."';
- var dp = mobCardPath(sec) + '.' + stKey + '[' + idx + '].' + f[0];
- return '<label class="obj-field obj-search' + extraCls + '"><span>' + esc(f[1]) + '</span><div style="position:relative;width:100%"><input id="' + fid + '" value="' + escAttr(String(val)) + '" class="search-input" data-search-type="' + entity + '" data-data-path="' + escAttr(dp) + '"' + ph + '><div class="search-results" style="display:none"></div></div></label>';
+ return '<label class="obj-field obj-search' + extraCls + '"><span>' + esc(f[1]) + '</span><div style="position:relative;width:100%"><input id="' + fid + '" value="' + escAttr(String(val)) + '" class="search-input" data-search-type="' + entity + '" data-field-path="' + escAttr(dp) + '"' + ph + '><div class="search-results" style="display:none"></div></div></label>';
}
if (f[2] === 'checkbox') {
- return '<label class="obj-field obj-check' + extraCls + '"><input type="checkbox" id="' + fid + '"' + (val ? ' checked' : '') + '> <span>' + esc(f[1]) + '</span></label>';
+ return '<label class="obj-field obj-check' + extraCls + '"><input type="checkbox" id="' + fid + '"' + (val ? ' checked' : '') + dpAttr + '> <span>' + esc(f[1]) + '</span></label>';
}
- return '<label class="obj-field' + extraCls + '"><span>' + esc(f[1]) + '</span><input id="' + fid + '" value="' + escAttr(String(val)) + '"' + defaultPh + '></label>';
+ return '<label class="obj-field' + extraCls + '"><span>' + esc(f[1]) + '</span><input id="' + fid + '" value="' + escAttr(String(val)) + '"' + defaultPh + dpAttr + '></label>';
}
function renderMobSubtable(sec, st, data) {
@@ -529,11 +531,12 @@ function renderMobTableSubtable(sec, st, arr) {
st.fields.forEach(function(f) {
var fid = mobFieldIDSub(sec, st.key, idx, f[0]);
var val = item[f[0]];
+ var dp = mobCardPath(sec) + '.' + st.key + '[' + idx + '].' + f[0];
if (f[2] === 'search') {
var entity = f[6] || 'items';
var sval = (val === undefined || val === null) ? '' : String(val);
h += '<div class="ingredients-col ingredients-col-items"><div class="obj-field obj-search" style="width:100%"><div style="position:relative;width:100%">' +
- '<input id="' + fid + '" value="' + escAttr(sval) + '" class="search-input" data-search-type="' + entity + '" placeholder="Search ' + entity + '...">' +
+ '<input id="' + fid + '" value="' + escAttr(sval) + '" class="search-input" data-search-type="' + entity + '" data-field-path="' + escAttr(dp) + '" placeholder="Search ' + entity + '...">' +
'<div class="search-results" style="display:none"></div></div></div></div>';
} else {
var hasPh = !!f[3];
@@ -543,7 +546,7 @@ function renderMobTableSubtable(sec, st, arr) {
else nval = String(val);
var ph = hasPh ? ' placeholder="' + escAttr(f[3]) + '"' : '';
h += '<div class="ingredients-col" style="width:' + mobTableColWidth(f) + 'px">' +
- '<label class="obj-field"><input id="' + fid + '" value="' + escAttr(nval) + '"' + ph + '></label>' +
+ '<label class="obj-field"><input id="' + fid + '" value="' + escAttr(nval) + '"' + ph + ' data-field-path="' + escAttr(dp) + '"></label>' +
'</div>';
}
});