UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

80 lines (78 loc) 2.63 kB
/** * DevExtreme (cjs/__internal/ui/html_editor/formats/m_link.js) * Version: 24.2.6 * Build date: Mon Mar 17 2025 * * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _type = require("../../../../core/utils/type"); var _devextremeQuill = _interopRequireDefault(require("devextreme-quill")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e } } let ExtLink = {}; if (_devextremeQuill.default) { const Link = _devextremeQuill.default.import("formats/link"); ExtLink = class ExtLink extends Link { static create(data) { const HREF = (null === data || void 0 === data ? void 0 : data.href) ?? data; const node = super.create(HREF); if ((0, _type.isObject)(data)) { if (data.text) { node.innerText = data.text } if (!data.target) { node.removeAttribute("target") } } return node } static formats(domNode) { return { href: domNode.getAttribute("href"), target: domNode.getAttribute("target") } } formats() { const formats = super.formats(); const { href: href, target: target } = ExtLink.formats(this.domNode); formats.link = href; formats.target = target; return formats } format(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 { super.format(name, value) } } static value(domNode) { return { href: domNode.getAttribute("href"), text: domNode.innerText, target: !!domNode.getAttribute("target") } } } } var _default = exports.default = ExtLink;