JSFiddle - React, Tailwind, and code Playground
by RicardoAlves
JavaScript
function editingResourceItem() {
$("body").on("click", ".editResourceItem", function(e) {
e.preventDefault();
var resourceDataDescription = $(this).data("description");
// calls the editor on request
CKEDITOR.instances['contentItemDescription'].setData(resourceDataDescription);
$('#editResourceItem').foundation('open');
var resourceID = $(this).data("id");
var contentName = $(this).data("name");
var contentItemName = $(this).data("item-name");
var contentItemDescription = $(this).data("content");
$("#editResourceItemForm input#resourceId").val(resourceID);
$("#editResourceItemForm input#contentItemName").val(contentItemName);
$("#editResourceItemForm input#contentItemDescription").val(contentItemDescription);
}); //gets the values to edit form
$("#editResourceItemForm").submit(function(e) {
e.preventDefault();
$.getJSON(appDirLocation + "public/_data/resource_data.json", function(jsonData) {
console.log(jsonData.itemsList.contentItem);
//var contentItems = jsonData.itemsList.contentItems;
var resourceId = $("#editResourceItemForm input#resourceId").val(); // resource id
var updatedContentName = $("#appData").data("content-name");
var updatedContentItem = {
name: $("#editResourceItemForm input#contentItemName").val(),
description: CKEDITOR.instances.contentItemDescription.getData()
};
resourceId = Number(resourceId); // input filed is collected as string needs to make number
_.each(jsonData.itemsList, function(item) {
if (item.id === resourceId) {
item.contentName = updatedContentName;
item.contentItems = updatedContentItem;
// queue here new items to update
}
}); // used underscore.js seems better for handling json data
var newJsonOutput = JSON.stringify(jsonData); //stringify new data
var...