X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/34c9285ef29074d0c13cea81fbb05e93eb369b4a..856f00d24d37590a78b78833a8aa305983e58e45:/src/editor/modules/data/document.js diff --git a/src/editor/modules/data/document.js b/src/editor/modules/data/document.js index db2b7a8..15dd608 100644 --- a/src/editor/modules/data/document.js +++ b/src/editor/modules/data/document.js @@ -14,6 +14,7 @@ var logger = logging.getLogger('document'); var Document = function() { wlxml.WLXMLDocument.apply(this, Array.prototype.slice.call(arguments, 0)); + this.properties = {}; }; Document.prototype = Object.create(wlxml.WLXMLDocument.prototype); @@ -45,9 +46,37 @@ _.extend(Document.prototype, { link = cfg.documentAttachmentUrl(link.substr(7)); } return link; + }, + getLinkForUrl: function(url) { + /* globals window */ + var baseUrl = function(url) {return url.split('/').slice(0,-1).join('/');}; + if(baseUrl(url) === baseUrl(window.location.origin + this.getUrlForLink('file://test'))) { + return 'file://' + _.last(url.split('/')); + } + return url; + }, + setProperty: function(propName, propValue) { + if(this.properties[propName] !== propValue) { + this.properties[propName] = propValue; + this.trigger('propertyChanged', propName, propValue); + } + } +}); + +var DumbDocument = function() { + Document.apply(this, Array.prototype.slice.call(arguments, 0)); +}; +DumbDocument.prototype = Object.create(Document.prototype); +_.extend(DumbDocument.prototype, { + loadXML: function(xml) { + this._xml = xml; + this.trigger('contentSet'); + }, + toXML: function() { + return this._xml; } }); -return Document; +return {Document: Document, DumbDocument: DumbDocument}; }); \ No newline at end of file