X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/bf8e16e2a24ce9828193a3b4145dfdbc5b94a935..160268708973c7ba08f277a9d2e7cf8b9aeed1c8:/src/editor/modules/data/document.js?ds=sidebyside diff --git a/src/editor/modules/data/document.js b/src/editor/modules/data/document.js index 0dbff14..b0f7c25 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); @@ -38,6 +39,27 @@ _.extend(Document.prototype, { }); }.bind(this); return wlxml.WLXMLDocument.prototype.transaction.call(this, body, params); + }, + getUrlForLink: function(link) { + var cfg = this.options.editorConfig; + if(link.substr(0, 7) === 'file://' && cfg && cfg.documentAttachmentUrl) { + 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); + } } });