devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
102 lines (97 loc) • 3.49 kB
JavaScript
/**
* DevExtreme (cjs/ui/html_editor/formats/link.js)
* Version: 23.2.6
* Build date: Wed May 01 2024
*
* Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
;
exports.default = void 0;
var _devextremeQuill = _interopRequireDefault(require("devextreme-quill"));
var _type = require("../../../core/utils/type");
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
}
}
function _inheritsLoose(subClass, superClass) {
subClass.prototype = Object.create(superClass.prototype);
subClass.prototype.constructor = subClass;
_setPrototypeOf(subClass, superClass)
}
function _setPrototypeOf(o, p) {
_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {
o.__proto__ = p;
return o
};
return _setPrototypeOf(o, p)
}
let ExtLink = {};
if (_devextremeQuill.default) {
const Link = _devextremeQuill.default.import("formats/link");
ExtLink = function(_Link) {
_inheritsLoose(ExtLink, _Link);
function ExtLink() {
return _Link.apply(this, arguments) || this
}
ExtLink.create = function(data) {
var _data$href;
const HREF = null !== (_data$href = null === data || void 0 === data ? void 0 : data.href) && void 0 !== _data$href ? _data$href : data;
const node = _Link.create.call(this, HREF);
if ((0, _type.isObject)(data)) {
if (data.text) {
node.innerText = data.text
}
if (!data.target) {
node.removeAttribute("target")
}
}
return node
};
ExtLink.formats = function(domNode) {
return {
href: domNode.getAttribute("href"),
target: domNode.getAttribute("target")
}
};
var _proto = ExtLink.prototype;
_proto.formats = function() {
const formats = _Link.prototype.formats.call(this);
const {
href: href,
target: target
} = ExtLink.formats(this.domNode);
formats.link = href;
formats.target = target;
return formats
};
_proto.format = function(name, value) {
if ("link" === name && (0, _type.isObject)(value)) {
if (value.text) {
this.domNode.innerText = value.text
}
if (value.target) {
this.domNode.setAttribute("target", "_blank")
} else {
this.domNode.removeAttribute("target")
}
this.domNode.setAttribute("href", value.href)
} else {
_Link.prototype.format.call(this, name, value)
}
};
ExtLink.value = function(domNode) {
return {
href: domNode.getAttribute("href"),
text: domNode.innerText,
target: !!domNode.getAttribute("target")
}
};
return ExtLink
}(Link)
}
var _default = ExtLink;
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default;