Refactor into using a map for icon classes

pull/454/head
Jonathan 2 years ago committed by GitHub
parent aca4b5c816
commit 9d74ea296c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1439,62 +1439,90 @@ function wordCount(data) {
return count; return count;
} }
var iconClassMap = {
toggleBold: 'fa fa-bold',
toggleItalic: 'fa fa-italic',
toggleStrikethrough: 'fa fa-strikethrough',
toggleHeading: 'fa fa-header fa-heading',
toggleHeadingSmaller: 'fa fa-header fa-heading header-smaller',
toggleHeadingBigger: 'fa fa-header fa-heading header-bigger',
toggleHeading1: 'fa fa-header fa-heading header-1',
toggleHeading2: 'fa fa-header fa-heading header-2',
toggleHeading3: 'fa fa-header fa-heading header-3',
toggleCodeBlock: 'fa fa-code',
toggleBlockquote: 'fa fa-quote-left',
toggleOrderedList: 'fa fa-list-ol',
toggleUnorderedList: 'fa fa-list-ul',
cleanBlock: 'fa fa-eraser',
drawLink: 'fa fa-link',
drawImage: 'fa fa-image',
drawUploadedImage: 'fa fa-image',
drawTable: 'fa fa-table',
drawHorizontalRule: 'fa fa-minus',
togglePreview: 'fa fa-eye',
toggleSideBySide: 'fa fa-columns',
toggleFullScreen: 'fa fa-arrows-alt',
guide: 'fa fa-question-circle',
undo: 'fa fa-undo',
redo: 'fa fa-repeat fa-redo'
};
var toolbarBuiltInButtons = { var toolbarBuiltInButtons = {
'bold': { 'bold': {
name: 'bold', name: 'bold',
action: toggleBold, action: toggleBold,
className: 'fa fa-bold', className: iconClassMap.toggleBold,
title: 'Bold', title: 'Bold',
default: true, default: true,
}, },
'italic': { 'italic': {
name: 'italic', name: 'italic',
action: toggleItalic, action: toggleItalic,
className: 'fa fa-italic', className: iconClassMap.toggleItalic,
title: 'Italic', title: 'Italic',
default: true, default: true,
}, },
'strikethrough': { 'strikethrough': {
name: 'strikethrough', name: 'strikethrough',
action: toggleStrikethrough, action: toggleStrikethrough,
className: 'fa fa-strikethrough', className: iconClassMap.toggleStrikethrough,
title: 'Strikethrough', title: 'Strikethrough',
}, },
'heading': { 'heading': {
name: 'heading', name: 'heading',
action: toggleHeadingSmaller, action: toggleHeadingSmaller,
className: 'fa fa-header fa-heading', className: iconClassMap.toggleHeading,
title: 'Heading', title: 'Heading',
default: true, default: true,
}, },
'heading-smaller': { 'heading-smaller': {
name: 'heading-smaller', name: 'heading-smaller',
action: toggleHeadingSmaller, action: toggleHeadingSmaller,
className: 'fa fa-header fa-heading header-smaller', className: iconClassMap.toggleHeadingSmaller,
title: 'Smaller Heading', title: 'Smaller Heading',
}, },
'heading-bigger': { 'heading-bigger': {
name: 'heading-bigger', name: 'heading-bigger',
action: toggleHeadingBigger, action: toggleHeadingBigger,
className: 'fa fa-header fa-heading header-bigger', className: iconClassMap.toggleHeadingBigger,
title: 'Bigger Heading', title: 'Bigger Heading',
}, },
'heading-1': { 'heading-1': {
name: 'heading-1', name: 'heading-1',
action: toggleHeading1, action: toggleHeading1,
className: 'fa fa-header fa-heading header-1', className: iconClassMap.toggleHeading1,
title: 'Big Heading', title: 'Big Heading',
}, },
'heading-2': { 'heading-2': {
name: 'heading-2', name: 'heading-2',
action: toggleHeading2, action: toggleHeading2,
className: 'fa fa-header fa-heading header-2', className: iconClassMap.toggleHeading2,
title: 'Medium Heading', title: 'Medium Heading',
}, },
'heading-3': { 'heading-3': {
name: 'heading-3', name: 'heading-3',
action: toggleHeading3, action: toggleHeading3,
className: 'fa fa-header fa-heading header-3', className: iconClassMap.toggleHeading3,
title: 'Small Heading', title: 'Small Heading',
}, },
'separator-1': { 'separator-1': {
@ -1503,34 +1531,34 @@ var toolbarBuiltInButtons = {
'code': { 'code': {
name: 'code', name: 'code',
action: toggleCodeBlock, action: toggleCodeBlock,
className: 'fa fa-code', className: iconClassMap.toggleCodeBlock,
title: 'Code', title: 'Code',
}, },
'quote': { 'quote': {
name: 'quote', name: 'quote',
action: toggleBlockquote, action: toggleBlockquote,
className: 'fa fa-quote-left', className: iconClassMap.toggleBlockquote,
title: 'Quote', title: 'Quote',
default: true, default: true,
}, },
'unordered-list': { 'unordered-list': {
name: 'unordered-list', name: 'unordered-list',
action: toggleUnorderedList, action: toggleUnorderedList,
className: 'fa fa-list-ul', className: iconClassMap.toggleUnorderedList,
title: 'Generic List', title: 'Generic List',
default: true, default: true,
}, },
'ordered-list': { 'ordered-list': {
name: 'ordered-list', name: 'ordered-list',
action: toggleOrderedList, action: toggleOrderedList,
className: 'fa fa-list-ol', className: iconClassMap.toggleOrderedList,
title: 'Numbered List', title: 'Numbered List',
default: true, default: true,
}, },
'clean-block': { 'clean-block': {
name: 'clean-block', name: 'clean-block',
action: cleanBlock, action: cleanBlock,
className: 'fa fa-eraser', className: iconClassMap.cleanBlock,
title: 'Clean block', title: 'Clean block',
}, },
'separator-2': { 'separator-2': {
@ -1539,33 +1567,33 @@ var toolbarBuiltInButtons = {
'link': { 'link': {
name: 'link', name: 'link',
action: drawLink, action: drawLink,
className: 'fa fa-link', className: iconClassMap.drawLink,
title: 'Create Link', title: 'Create Link',
default: true, default: true,
}, },
'image': { 'image': {
name: 'image', name: 'image',
action: drawImage, action: drawImage,
className: 'fa fa-image', className: iconClassMap.drawImage,
title: 'Insert Image', title: 'Insert Image',
default: true, default: true,
}, },
'upload-image': { 'upload-image': {
name: 'upload-image', name: 'upload-image',
action: drawUploadedImage, action: drawUploadedImage,
className: 'fa fa-image', className: iconClassMap.drawUploadedImage,
title: 'Import an image', title: 'Import an image',
}, },
'table': { 'table': {
name: 'table', name: 'table',
action: drawTable, action: drawTable,
className: 'fa fa-table', className: iconClassMap.drawTable,
title: 'Insert Table', title: 'Insert Table',
}, },
'horizontal-rule': { 'horizontal-rule': {
name: 'horizontal-rule', name: 'horizontal-rule',
action: drawHorizontalRule, action: drawHorizontalRule,
className: 'fa fa-minus', className: iconClassMap.drawHorizontalRule,
title: 'Insert Horizontal Line', title: 'Insert Horizontal Line',
}, },
'separator-3': { 'separator-3': {
@ -1574,7 +1602,7 @@ var toolbarBuiltInButtons = {
'preview': { 'preview': {
name: 'preview', name: 'preview',
action: togglePreview, action: togglePreview,
className: 'fa fa-eye', className: iconClassMap.togglePreview,
noDisable: true, noDisable: true,
title: 'Toggle Preview', title: 'Toggle Preview',
default: true, default: true,
@ -1582,7 +1610,7 @@ var toolbarBuiltInButtons = {
'side-by-side': { 'side-by-side': {
name: 'side-by-side', name: 'side-by-side',
action: toggleSideBySide, action: toggleSideBySide,
className: 'fa fa-columns', className: iconClassMap.toggleSideBySide,
noDisable: true, noDisable: true,
noMobile: true, noMobile: true,
title: 'Toggle Side by Side', title: 'Toggle Side by Side',
@ -1591,7 +1619,7 @@ var toolbarBuiltInButtons = {
'fullscreen': { 'fullscreen': {
name: 'fullscreen', name: 'fullscreen',
action: toggleFullScreen, action: toggleFullScreen,
className: 'fa fa-arrows-alt', className: iconClassMap.toggleFullScreen,
noDisable: true, noDisable: true,
noMobile: true, noMobile: true,
title: 'Toggle Fullscreen', title: 'Toggle Fullscreen',
@ -1603,7 +1631,7 @@ var toolbarBuiltInButtons = {
'guide': { 'guide': {
name: 'guide', name: 'guide',
action: 'https://www.markdownguide.org/basic-syntax/', action: 'https://www.markdownguide.org/basic-syntax/',
className: 'fa fa-question-circle', className: iconClassMap.guide,
noDisable: true, noDisable: true,
title: 'Markdown Guide', title: 'Markdown Guide',
default: true, default: true,
@ -1614,14 +1642,14 @@ var toolbarBuiltInButtons = {
'undo': { 'undo': {
name: 'undo', name: 'undo',
action: undo, action: undo,
className: 'fa fa-undo', className: iconClassMap.undo,
noDisable: true, noDisable: true,
title: 'Undo', title: 'Undo',
}, },
'redo': { 'redo': {
name: 'redo', name: 'redo',
action: redo, action: redo,
className: 'fa fa-repeat fa-redo', className: iconClassMap.redo,
noDisable: true, noDisable: true,
title: 'Redo', title: 'Redo',
}, },

Loading…
Cancel
Save