refactoring of cmaps, widgets, etc.

This commit is contained in:
2026-09-02 16:06:26 +02:00
parent 38f255c1a4
commit f0562a06cc
52 changed files with 3626 additions and 2642 deletions
+16 -14
View File
@@ -14,7 +14,7 @@ import {
ConceptMapConnector,
ConceptMapPhrase
} from "../static/cmap/model/concept-map.js";
import { buildBundle } from "../static/js/wiki/cmap/interchange.js";
import { buildBundle } from "../static/cmap/model/interchange.js";
const firstId = "11111111-1111-4111-8111-111111111111";
const secondId = "22222222-2222-4222-8222-222222222222";
@@ -217,33 +217,35 @@ test("an embedded submap becomes an independent map linked from its owner", () =
const extraction = CmapModel.fromDocument(document)
.extractSubmap(1, "nested-subject");
const parentDocument = extraction.parentModel.toDocument();
const childDocument = extraction.childModel.toDocument();
assert.deepEqual(extraction.parentDocument.items.map((item) => item.id), [1, 4]);
assert.equal(extraction.parentDocument.items[0].kind, "concept");
assert.equal(extraction.parentDocument.concepts
assert.deepEqual(parentDocument.items.map((item) => item.id), [1, 4]);
assert.equal(parentDocument.items[0].kind, "concept");
assert.equal(parentDocument.concepts
.find((concept) => concept.id === firstId).cmapSlug, "nested-subject");
assert.deepEqual(extraction.parentDocument.connectors.map((connector) => ({
assert.deepEqual(parentDocument.connectors.map((connector) => ({
sourceId: connector.sourceId,
targetId: connector.targetId
})), [{ sourceId: 4, targetId: 1 }]);
assert.deepEqual(extraction.parentDocument.conceptOwnerships, [
assert.deepEqual(parentDocument.conceptOwnerships, [
{ parentConceptId: firstId, childConceptId: thirdId }
]);
assert.deepEqual(extraction.childDocument.items.map((item) => item.id), [2, 3]);
assert.ok(extraction.childDocument.items.every((item) => item.parentSubmapId === null));
assert.deepEqual(extraction.childDocument.concepts.map((concept) => concept.id), [secondId]);
assert.deepEqual(extraction.childDocument.connectors.map((connector) => connector.id), [1]);
assert.equal(extraction.childDocument.conceptOwnerships, undefined);
assert.equal(extraction.childDocument.derivedView, undefined);
assert.equal(extraction.childDocument.metadata.summary, "Nested subject");
assert.deepEqual(childDocument.items.map((item) => item.id), [2, 3]);
assert.ok(childDocument.items.every((item) => item.parentSubmapId === null));
assert.deepEqual(childDocument.concepts.map((concept) => concept.id), [secondId]);
assert.deepEqual(childDocument.connectors.map((connector) => connector.id), [1]);
assert.equal(childDocument.conceptOwnerships, undefined);
assert.equal(childDocument.derivedView, undefined);
assert.equal(childDocument.metadata.summary, "Nested subject");
const convertedDerivedMap = CmapModel.fromDocument(document).extractSubmap(
1,
"nested-subject",
{ tags: ["retained"], summary: "Edited child metadata", explanationPageSlug: "" }
);
assert.deepEqual(convertedDerivedMap.childDocument.metadata, {
assert.deepEqual(convertedDerivedMap.childModel.metadata(), {
tags: ["retained"], summary: "Edited child metadata", explanationPageSlug: ""
});
});