diff --git a/frontend-js/src/main/js/map/data/MapModel.js b/frontend-js/src/main/js/map/data/MapModel.js index 851a82f0cd2198ff53c622c0a16cf42375a88783..0149eed1f912ed013393b045ab521cfe01cc0d9d 100644 --- a/frontend-js/src/main/js/map/data/MapModel.js +++ b/frontend-js/src/main/js/map/data/MapModel.js @@ -34,6 +34,8 @@ var Reaction = require('./Reaction'); * @property {number} defaultZoomLevel * @property {Annotation[]|AnnotationOptions[]} references * @property {Author[]} authors + * @property {string[]} modificationDates + * @property {string} creationDate */ /** @@ -68,7 +70,8 @@ function MapModel(configuration) { this._sbmlParameters = []; this._references = []; this._authors = []; - + this._modificationDates = []; + this._creationDate = undefined; if (configuration !== undefined) { if (configuration instanceof MapModel) { @@ -85,6 +88,8 @@ function MapModel(configuration) { this.setDefaultZoomLevel(configuration.getDefaultZoomLevel()); this.setReferences(configuration.getReferences()); this.setAuthors(configuration.getAuthors()); + this.setModificationDates(configuration.getModificationDates()); + this.setCreationDate(configuration.getCreationDate()); } else { this.setId(configuration.idObject); this.setName(configuration.name); @@ -99,6 +104,8 @@ function MapModel(configuration) { this.setDefaultZoomLevel(configuration.defaultZoomLevel); this.setReferences(configuration.references); this.setAuthors(configuration.authors); + this.setModificationDates(configuration.modificationDates); + this.setCreationDate(configuration.creationDate); } } } @@ -932,4 +939,45 @@ MapModel.prototype.setAuthors = function (authors) { } }; +/** + * + * @returns {string[]} + */ +MapModel.prototype.getModificationDates = function () { + return this._modificationDates; +}; + +/** + * + * @param {string[]} modificationDates + */ +MapModel.prototype.setModificationDates = function (modificationDates) { + if (modificationDates === undefined) { + throw new Error("modification dates must be defined"); + } + this._modificationDates = []; + for (var i = 0; i < modificationDates.length; i++) { + this._modificationDates.push(modificationDates[i]); + } +}; + +/** + * + * @returns {string} + */ +MapModel.prototype.getCreationDate = function () { + return this._creationDate; +}; + +/** + * + * @param {string|null} creationDate + */ +MapModel.prototype.setCreationDate = function (creationDate) { + if (creationDate === null) { + creationDate = undefined; + } + this._creationDate = creationDate; +}; + module.exports = MapModel; diff --git a/frontend-js/src/test/js/map/data/MapModel-test.js b/frontend-js/src/test/js/map/data/MapModel-test.js index 102a312eb9869e0eafe118e1ea867850f5bd796d..3c1c86c52f0c5f6d728883ae2505ce6886469075 100644 --- a/frontend-js/src/test/js/map/data/MapModel-test.js +++ b/frontend-js/src/test/js/map/data/MapModel-test.js @@ -19,7 +19,8 @@ describe('MapModel', function () { var emptyData = { idObject: 123, references: [], - authors: [] + authors: [], + modificationDates: [] }; it("constructor", function () {