diff --git a/src/core/js/ext_revisions.js b/src/core/js/ext_revisions.js index cf0da0c78a83b87c38ecfdce9e3d576328e2b04c..5603730b36e1f2d1ad357316683331c213b472b2 100644 --- a/src/core/js/ext_revisions.js +++ b/src/core/js/ext_revisions.js @@ -75,16 +75,18 @@ var ext_revisions = function ($, logger, edit_mode, getEntityID, transaction, _c logger.debug("insert obsolete", id); // create new obsolete entity from the original - var obsolete = await transaction.retrieveEntityById(id); + const obsolete = await transaction.retrieveEntityById(id); $(obsolete).attr("id", "-1"); $(obsolete).find("Permissions").remove(); $(obsolete).find("Parent").remove(); $(obsolete).append(`<Parent name="${_datamodel.obsolete}"/>`); - var doc = _createDocument("Request"); + const doc = _createDocument("Request"); doc.firstElementChild.appendChild(obsolete); - var result = await transaction.insertEntitiesXml(doc); - return $(result.firstElementChild).find("[id]").first().attr("id"); + const result = await transaction.insertEntitiesXml(doc); + const obsolete_id = $(result.firstElementChild).find("[id]").first().attr("id"); + logger.trace("leave _insert_obsolete", obsolete_id); + return obsolete_id; }; /** @@ -98,11 +100,12 @@ var ext_revisions = function ($, logger, edit_mode, getEntityID, transaction, _c * @returns {string} A HTML represesentation of an entity property. */ var _make_revision_of_property = async function (obsolete_id) { - logger.debug("_make_revision_of_property", obsolete_id); - var ret = (await transformation.transformProperty(str2xml(`<Response><Property id="${_datamodel._revisionOfId}" name="${_datamodel.revisionOf}" datatype="${_datamodel.obsolete}"></Property></Response>`))).firstElementChild; + logger.trace("enter _make_revision_of_property", obsolete_id); + const ret = (await transformation.transformProperty(str2xml(`<Response><Property id="${_datamodel._revisionOfId}" name="${_datamodel.revisionOf}" datatype="${_datamodel.obsolete}"></Property></Response>`))).firstElementChild; - $(ret).append(`<div class="caosdb-property-edit-value"><select><option value="${obsolete_id}" selected="selected"></option></select></div>`); + $(ret).find(".caosdb-f-property-value").append(`<div class="caosdb-property-edit-value"><select><option value="${obsolete_id}" selected="selected"></option></select></div>`); + logger.trace("leave _make_revision_of_property", ret); return ret; } @@ -215,6 +218,7 @@ var ext_revisions = function ($, logger, edit_mode, getEntityID, transaction, _c // private members, exposed for testing _make_revision_of_property: _make_revision_of_property, _datamodel: _datamodel, + _logger: logger, } }($, log.getLogger("ext_revisions"), edit_mode, getEntityID, transaction, _createDocument); diff --git a/test/core/js/modules/ext_revisions.js.js b/test/core/js/modules/ext_revisions.js.js index bd9787afec3039984e3b067638c9ae6a9a3fd422..8b792a9c6ef7c0ad257a0a94e9b8d2b62e5d32d1 100644 --- a/test/core/js/modules/ext_revisions.js.js +++ b/test/core/js/modules/ext_revisions.js.js @@ -33,6 +33,7 @@ var ext_revisions_test_suite = function ($, ext_revisions, QUnit, edit_mode) { this.original_insert = transaction.insertEntitiesXml; this.original_retrieve = transaction.retrieveEntityById; this.original_query = query; + ext_revisions._logger.setLevel("trace"); }, beforeEach: function (assert) { // setup before each test @@ -80,6 +81,7 @@ var ext_revisions_test_suite = function ($, ext_revisions, QUnit, edit_mode) { assert.equal(rec.id, "-1", "insert with tmp id"); assert.equal($(rec).find("Parent").attr("name"), datamodel.obsolete, "Obsolete Parent"); xml.firstElementChild.firstElementChild.id = "2345"; + console.log(xml2str(xml)); done(); return xml; };