mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-07-09 06:28:28 +03:00
Added bidi button to Squire editor
This commit is contained in:
parent
47e3fc90f2
commit
b2b07ab920
2 changed files with 46 additions and 11 deletions
35
dev/External/SquireUI.js
vendored
35
dev/External/SquireUI.js
vendored
|
|
@ -110,17 +110,29 @@ class SquireUI
|
|||
select: ['11px','13px','16px','20px','24px','30px'],
|
||||
cmd: s => squire.setStyle({ fontSize: s.value })
|
||||
},
|
||||
dir: {
|
||||
select: [
|
||||
[i18n('EDITOR/DIR_LTR', 'LTR'),'ltr'],
|
||||
[i18n('EDITOR/DIR_RTL', 'RTL'),'rtl'],
|
||||
[i18n('EDITOR/DIR_AUTO', 'Auto'),'auto'],
|
||||
['',''],
|
||||
],
|
||||
cmd: s => {
|
||||
squire.setAttribute('dir', s.value || null);
|
||||
// squire.setStyle({ 'unicode-bidi': 'plaintext' });
|
||||
}
|
||||
// dir: {
|
||||
// select: [
|
||||
// [i18n('EDITOR/DIR_LTR', 'LTR'),'ltr'],
|
||||
// [i18n('EDITOR/DIR_RTL', 'RTL'),'rtl'],
|
||||
// [i18n('EDITOR/DIR_AUTO', 'Auto'),'auto'],
|
||||
// ['',''],
|
||||
// ],
|
||||
// cmd: s => {
|
||||
// squire.setAttribute('dir', s.value || null);
|
||||
// // squire.setStyle({ 'unicode-bidi': 'plaintext' });
|
||||
// }
|
||||
// }
|
||||
},
|
||||
dir: {
|
||||
ltr: {
|
||||
html: '⁋',
|
||||
cmd: () => squire.bidi('ltr'),
|
||||
hint: 'ltr direction'
|
||||
},
|
||||
rtl: {
|
||||
html: '¶',
|
||||
cmd: () => squire.bidi('rtl'),
|
||||
hint: 'rtl direction'
|
||||
}
|
||||
},
|
||||
colors: {
|
||||
|
|
@ -278,6 +290,7 @@ class SquireUI
|
|||
|
||||
plain.className = 'squire-plain';
|
||||
wysiwyg.className = 'squire-wysiwyg';
|
||||
wysiwyg.dir = 'auto';
|
||||
this.mode = ''; // 'plain' | 'wysiwyg'
|
||||
this.__plain = {
|
||||
getRawData: () => this.plain.value,
|
||||
|
|
|
|||
22
vendors/squire/build/squire-raw.js
vendored
22
vendors/squire/build/squire-raw.js
vendored
|
|
@ -1766,6 +1766,22 @@ const
|
|||
return frag;
|
||||
},
|
||||
|
||||
setDirection = (self, frag, dir) => {
|
||||
let walker = getBlockWalker(frag, self._root),
|
||||
node;
|
||||
|
||||
while(node = walker.nextNode()){
|
||||
|
||||
if (node.nodeName === "LI") {
|
||||
node.parentNode.setAttribute("dir", dir);
|
||||
break;
|
||||
}
|
||||
|
||||
node.setAttribute("dir", dir);
|
||||
}
|
||||
return frag;
|
||||
},
|
||||
|
||||
linkRegExp = /\b(?:((https?:\/\/)?(?:www\d{0,3}\.|[a-z0-9][a-z0-9.-]*\.[a-z]{2,}\/)(?:[^\s()<>]+|\([^\s()<>]+\))+(?:[^\s?&`!()[\]{};:'".,<>«»“”‘’]|\([^\s()<>]+\)))|([\w\-.%+]+@(?:[\w-]+\.)+[a-z]{2,}\b(?:\?[^&?\s]+=[^\s?&`!()[\]{};:'".,<>«»“”‘’]+(?:&[^&?\s]+=[^\s?&`!()[\]{};:'".,<>«»“”‘’]+)*)?))/i,
|
||||
|
||||
addLinks = (frag, root) => {
|
||||
|
|
@ -3663,6 +3679,12 @@ class Squire
|
|||
return this.focus();
|
||||
}
|
||||
|
||||
bidi(dir) {
|
||||
this.modifyBlocks(frag => setDirection(this, frag, dir));
|
||||
|
||||
return this.focus();
|
||||
}
|
||||
|
||||
makeUnorderedList() {
|
||||
this.modifyBlocks(frag => makeList(this, frag, 'UL'));
|
||||
return this.focus();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue