mirror of
https://github.com/Ionaru/easy-markdown-editor
synced 2025-07-05 17:14:27 -06:00
Add support for custom icon markup
This commit is contained in:
parent
3096bbe291
commit
a12ba4790a
@ -167,29 +167,35 @@ function createToolbarButton(options, enableActions, enableTooltips, shortcuts,
|
||||
el.classList.add('no-mobile');
|
||||
}
|
||||
|
||||
// Provide backwards compatibility with simple-markdown-editor by adding custom classes to the button.
|
||||
var classNameParts = options.className.split(' ');
|
||||
var iconClasses = [];
|
||||
for (var classNameIndex = 0; classNameIndex < classNameParts.length; classNameIndex++) {
|
||||
var classNamePart = classNameParts[classNameIndex];
|
||||
// Split icon classes from the button.
|
||||
// Regex will detect "fa", "fas", "fa-something" and "fa-some-icon-1", but not "fanfare".
|
||||
if (classNamePart.match(/^fa([srlb]|(-[\w-]*)|$)/)) {
|
||||
iconClasses.push(classNamePart);
|
||||
} else {
|
||||
el.classList.add(classNamePart);
|
||||
// If there is a custom icon, use that
|
||||
if (typeof options.icon !== 'undefined') {
|
||||
el.innerHTML = options.icon;
|
||||
} else {
|
||||
// Provide backwards compatibility with simple-markdown-editor by adding custom classes to the button.
|
||||
|
||||
var classNameParts = options.className.split(' ');
|
||||
var iconClasses = [];
|
||||
for (var classNameIndex = 0; classNameIndex < classNameParts.length; classNameIndex++) {
|
||||
var classNamePart = classNameParts[classNameIndex];
|
||||
// Split icon classes from the button.
|
||||
// Regex will detect "fa", "fas", "fa-something" and "fa-some-icon-1", but not "fanfare".
|
||||
if (classNamePart.match(/^fa([srlb]|(-[\w-]*)|$)/)) {
|
||||
iconClasses.push(classNamePart);
|
||||
} else {
|
||||
el.classList.add(classNamePart);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
el.tabIndex = -1;
|
||||
el.tabIndex = -1;
|
||||
|
||||
// Create icon element and append as a child to the button
|
||||
var icon = document.createElement('i');
|
||||
for (var iconClassIndex = 0; iconClassIndex < iconClasses.length; iconClassIndex++) {
|
||||
var iconClass = iconClasses[iconClassIndex];
|
||||
icon.classList.add(iconClass);
|
||||
// Create icon element and append as a child to the button
|
||||
var icon = document.createElement('i');
|
||||
for (var iconClassIndex = 0; iconClassIndex < iconClasses.length; iconClassIndex++) {
|
||||
var iconClass = iconClasses[iconClassIndex];
|
||||
icon.classList.add(iconClass);
|
||||
}
|
||||
el.appendChild(icon);
|
||||
}
|
||||
el.appendChild(icon);
|
||||
|
||||
if (options.action && enableActions) {
|
||||
if (typeof options.action === 'function') {
|
||||
|
Loading…
x
Reference in New Issue
Block a user