diff --git a/src/core/js/edit_mode.js b/src/core/js/edit_mode.js index 2121a49aa48573d316e36da91da76049bbed6682..c9976c8d3e70bf45af863ba1be4fdf8e12320de7 100644 --- a/src/core/js/edit_mode.js +++ b/src/core/js/edit_mode.js @@ -340,7 +340,7 @@ var edit_mode = new function() { // `atomic` not in `known_atomic_datatypes` (e.g. "Person") -> this // is a reference and the `atomic` is actually the reference's // scope entity. - reference = atomic; + ref = atomic; atomic = "REFERENCE"; } @@ -369,6 +369,7 @@ var edit_mode = new function() { result = ref; } + const is_list = datatype["is_list"]; if (is_list === "on" || is_list === true) { result = `LIST<${result}>`; } @@ -702,7 +703,7 @@ var edit_mode = new function() { // generate select input for the atomic_datatype const select = $('<select name="atomic_datatype" class="form-control"></select>'); - for (const dt of known_atomic_datatypes) { + for (const dt of edit_mode._known_atomic_datatypes) { select.append(`<option value="${dt}">${dt}</option>`); } select.val(atomic_datatype) diff --git a/test/core/js/modules/edit_mode.js.js b/test/core/js/modules/edit_mode.js.js index 0121ab55bf9b6ff377c3eaf6c85ccd5a692238a3..90b23caa2cee49d350eef5683f366836adf6b6eb 100644 --- a/test/core/js/modules/edit_mode.js.js +++ b/test/core/js/modules/edit_mode.js.js @@ -237,8 +237,8 @@ QUnit.test("isListDatatype", function (assert) { assert.ok(edit_mode.unListDatatype); }); -QUnit.test("make_dataype_input_logic", function (assert) { - assert.ok(edit_mode.make_dataype_input_logic); +QUnit.test("make_datatype_input_logic", function (assert) { + assert.ok(edit_mode.make_datatype_input_logic); }); QUnit.test("make_datatype_input", function (assert) { @@ -253,117 +253,104 @@ QUnit.test("make_datatype_input", function (assert) { }; const form_wrapper = "<form/>"; - const no_dt_input = edit_mode.make_datatype_input(undefined, undefined); + const no_dt_input = edit_mode.make_datatype_input(undefined); no_dt_input[1].addEventListener("caosdb.field.ready", function (e) { var obj = form_elements .form_to_object($(form_wrapper).append(no_dt_input)[0]); assert.propEqual(obj, { "atomic_datatype": "TEXT", - "unit": "", - "reference_target": null, + "reference_scope": null, }, "No datatype (defaults to TEXT)"); done(); }); - const text_dt_input = edit_mode.make_datatype_input("TEXT", undefined); + const text_dt_input = edit_mode.make_datatype_input("TEXT"); text_dt_input[1].addEventListener("caosdb.field.ready", function (e) { var obj = form_elements .form_to_object($(form_wrapper).append(text_dt_input)[0]); assert.propEqual(obj, { "atomic_datatype": "TEXT", - "unit": "", - "reference_target": null, + "reference_scope": null, }, "TEXT"); done(); }); - const ref_dt_input = edit_mode.make_datatype_input("REFERENCE", undefined); + const ref_dt_input = edit_mode.make_datatype_input("REFERENCE"); ref_dt_input[1].addEventListener("caosdb.field.ready", function (e) { var obj = form_elements .form_to_object($(form_wrapper).append(ref_dt_input)[0]); assert.propEqual(obj, { "atomic_datatype": "REFERENCE", - "unit": "", - "reference_target": null, + "reference_scope": null, }, "REF"); done(); }); - const file_dt_input = edit_mode.make_datatype_input("FILE", undefined); + const file_dt_input = edit_mode.make_datatype_input("FILE"); file_dt_input[1].addEventListener("caosdb.field.ready", function (e) { var obj = form_elements .form_to_object($(form_wrapper).append(file_dt_input)[0]); assert.propEqual(obj, { "atomic_datatype": "FILE", - "unit": "", - "reference_target": null, + "reference_scope": null, }, "FILE"); done(); }); - const person_dt_input = edit_mode.make_datatype_input("Person", undefined); + const person_dt_input = edit_mode.make_datatype_input("Person"); person_dt_input[1].addEventListener("caosdb.field.ready", function (e) { var obj = form_elements .form_to_object($(form_wrapper).append(person_dt_input)[0]); assert.propEqual(obj, { "atomic_datatype": "REFERENCE", - "unit": "", - "reference_target": "Person", + "reference_scope": "Person", }, "Person"); done(); }); - const list_text_dt_input = edit_mode.make_datatype_input("LIST<TEXT>", - undefined); + const list_text_dt_input = edit_mode.make_datatype_input("LIST<TEXT>"); list_text_dt_input[1].addEventListener("caosdb.field.ready", function (e) { var obj = form_elements .form_to_object($(form_wrapper).append(list_text_dt_input)[0]); assert.propEqual(obj, { "atomic_datatype": "TEXT", - "unit": "", - "reference_target": null, + "reference_scope": null, "is_list": "on", }, "LIST<TEXT>"); done(); }); - const list_ref_dt_input = edit_mode.make_datatype_input("LIST<REFERENCE>", - undefined); + const list_ref_dt_input = edit_mode.make_datatype_input("LIST<REFERENCE>"); list_ref_dt_input[1].addEventListener("caosdb.field.ready", function (e) { var obj = form_elements .form_to_object($(form_wrapper).append(list_ref_dt_input)[0]); assert.propEqual(obj, { "atomic_datatype": "REFERENCE", - "unit": "", - "reference_target": null, + "reference_scope": null, "is_list": "on", }, "LIST<REFERENCE>"); done(); }); - const list_file_dt_input = edit_mode.make_datatype_input("LIST<FILE>", - undefined); + const list_file_dt_input = edit_mode.make_datatype_input("LIST<FILE>"); list_file_dt_input[1].addEventListener("caosdb.field.ready", function (e) { var obj = form_elements .form_to_object($(form_wrapper).append(list_file_dt_input)[0]); assert.propEqual(obj, { "atomic_datatype": "FILE", - "unit": "", - "reference_target": null, + "reference_scope": null, "is_list": "on", }, "LIST<FILE>"); done(); }); - const list_per_dt_input = edit_mode.make_datatype_input("LIST<Person>", - undefined); + const list_per_dt_input = edit_mode.make_datatype_input("LIST<Person>"); list_per_dt_input[1].addEventListener("caosdb.field.ready", function (e) { var obj = form_elements .form_to_object($(form_wrapper).append(list_per_dt_input)[0]); assert.propEqual(obj, { "atomic_datatype": "REFERENCE", - "unit": "", - "reference_target": "Person", + "reference_scope": "Person", "is_list": "on", }, "LIST<Person>"); done();