Sha256: be372f3c3ec77af7e3c5337de475a3651777f4e664e9254ff755b2bca9ca0d0d
Contents?: true
Size: 1.2 KB
Versions: 1
Compression:
Stored size: 1.2 KB
Contents
import icon from "src/decidim/icon" const EXCLUDE_CLASSES = [ "card--list__data__icon", "footer-social__icon", "logo-cityhall" ]; const EXCLUDE_REL = ["license", "decidim"]; const DEFAULT_MESSAGES = { externalLink: "External link" }; let MESSAGES = DEFAULT_MESSAGES; export default class ExternalLink { static configureMessages(messages) { MESSAGES = $.extend(DEFAULT_MESSAGES, messages); } constructor(link) { this.$link = link; this.setup(); } setup() { if (EXCLUDE_CLASSES.some((cls) => this.$link.hasClass(cls))) { return; } if ( EXCLUDE_REL.some((rel) => { const linkRels = `${this.$link.attr("rel")}`.split(" "); return linkRels.indexOf(rel) > -1; }) ) { return; } this.$link.addClass("external-link-container"); this.$link.append(` ${this.generateElement()}`); } generateElement() { let content = `${this.generateIcon()}${this.generateScreenReaderLabel()}`; return `<span class="external-link-indicator">${content}</span>`; } generateIcon() { return icon("external-link"); } generateScreenReaderLabel() { return `<span class="show-for-sr">(${MESSAGES.externalLink})</span>`; } }
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
decidim-core-0.25.0.rc1 | app/packs/src/decidim/external_link.js |