feat: allow nested properties on category page (#9601)

* feat: allow nested properties on category page

* fix: remove debug

* fix: remove debug
v1.18.x
Barış Soner Uşaklı 4 years ago committed by GitHub
parent 8f00abc838
commit cc0cf99fed
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -235,8 +235,27 @@ define('admin/manage/category', [
} else {
value = $(el).val();
}
var dataName = $(el).attr('data-name');
var fields = dataName.match(/[^\][.]+/g);
updateHash[$(el).attr('data-name')] = value;
function setNestedFields(obj, index) {
if (index === fields.length) {
return;
}
obj[fields[index]] = obj[fields[index]] || {};
if (index === fields.length - 1) {
obj[fields[index]] = value;
}
setNestedFields(obj[fields[index]], index + 1);
}
if (fields && fields.length) {
if (fields.length === 1) { // simple field name ie data-name="name"
updateHash[fields[0]] = value;
} else if (fields.length > 1) { // nested field name ie data-name="name[sub1][sub2]"
setNestedFields(updateHash, 0);
}
}
app.flags = app.flags || {};
app.flags._unsaved = true;

@ -39,6 +39,7 @@
<input type="color" id="cid-{category.cid}-color" placeholder="#ffffff" data-name="color" value="{category.color}" class="form-control category_color" />
</div>
</div>
<div class="col-sm-4 col-xs-12">
<div class="form-group">
<label for="cid-{category.cid}-imageClass">

Loading…
Cancel
Save