mirror of
https://github.com/fastmail/Squire.git
synced 2024-12-22 15:23:29 -05:00
Path contains format values
Add values of font size, font face, and color to the path. This allows us to distinguish path changes to different formats.
This commit is contained in:
parent
3428d61331
commit
964070ee46
5 changed files with 49 additions and 10 deletions
|
@ -17,6 +17,11 @@ var START_TO_END = 1; // Range.START_TO_END
|
|||
var END_TO_END = 2; // Range.END_TO_END
|
||||
var END_TO_START = 3; // Range.END_TO_START
|
||||
|
||||
var HIGHLIGHT_CLASS = 'highlight';
|
||||
var COLOUR_CLASS = 'colour';
|
||||
var FONT_FAMILY_CLASS = 'font';
|
||||
var FONT_SIZE_CLASS = 'size';
|
||||
|
||||
var ZWS = '\u200B';
|
||||
|
||||
var win = doc.defaultView;
|
||||
|
@ -284,6 +289,20 @@ function getPath ( node, root ) {
|
|||
if ( dir = node.dir ) {
|
||||
path += '[dir=' + dir + ']';
|
||||
}
|
||||
if( classNames ) {
|
||||
if ( indexOf.call( classNames, HIGHLIGHT_CLASS ) > -1 ) {
|
||||
path += '[backgroundColor=' + node.style.backgroundColor.replace(/ /g,'') + ']';
|
||||
}
|
||||
if ( indexOf.call( classNames, COLOUR_CLASS ) > -1 ) {
|
||||
path += '[color=' + node.style.color.replace(/ /g,'') + ']';
|
||||
}
|
||||
if ( indexOf.call( classNames, FONT_FAMILY_CLASS ) > -1 ) {
|
||||
path += '[fontFamily=' + node.style.fontFamily.replace(/ /g,'') + ']';
|
||||
}
|
||||
if ( indexOf.call( classNames, FONT_SIZE_CLASS ) > -1 ) {
|
||||
path += '[fontSize=' + node.style.fontSize + ']';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return path;
|
||||
|
@ -1695,7 +1714,7 @@ var styleToSemantic = {
|
|||
regexp: notWS,
|
||||
replace: function ( doc, colour ) {
|
||||
return createElement( doc, 'SPAN', {
|
||||
'class': 'highlight',
|
||||
'class': HIGHLIGHT_CLASS,
|
||||
style: 'background-color:' + colour
|
||||
});
|
||||
}
|
||||
|
@ -1704,7 +1723,7 @@ var styleToSemantic = {
|
|||
regexp: notWS,
|
||||
replace: function ( doc, colour ) {
|
||||
return createElement( doc, 'SPAN', {
|
||||
'class': 'colour',
|
||||
'class': COLOUR_CLASS,
|
||||
style: 'color:' + colour
|
||||
});
|
||||
}
|
||||
|
@ -1725,7 +1744,7 @@ var styleToSemantic = {
|
|||
regexp: notWS,
|
||||
replace: function ( doc, family ) {
|
||||
return createElement( doc, 'SPAN', {
|
||||
'class': 'font',
|
||||
'class': FONT_FAMILY_CLASS,
|
||||
style: 'font-family:' + family
|
||||
});
|
||||
}
|
||||
|
@ -1734,7 +1753,7 @@ var styleToSemantic = {
|
|||
regexp: notWS,
|
||||
replace: function ( doc, size ) {
|
||||
return createElement( doc, 'SPAN', {
|
||||
'class': 'size',
|
||||
'class': FONT_SIZE_CLASS,
|
||||
style: 'font-size:' + size
|
||||
});
|
||||
}
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -15,7 +15,7 @@ var styleToSemantic = {
|
|||
regexp: notWS,
|
||||
replace: function ( doc, colour ) {
|
||||
return createElement( doc, 'SPAN', {
|
||||
'class': 'highlight',
|
||||
'class': HIGHLIGHT_CLASS,
|
||||
style: 'background-color:' + colour
|
||||
});
|
||||
}
|
||||
|
@ -24,7 +24,7 @@ var styleToSemantic = {
|
|||
regexp: notWS,
|
||||
replace: function ( doc, colour ) {
|
||||
return createElement( doc, 'SPAN', {
|
||||
'class': 'colour',
|
||||
'class': COLOUR_CLASS,
|
||||
style: 'color:' + colour
|
||||
});
|
||||
}
|
||||
|
@ -45,7 +45,7 @@ var styleToSemantic = {
|
|||
regexp: notWS,
|
||||
replace: function ( doc, family ) {
|
||||
return createElement( doc, 'SPAN', {
|
||||
'class': 'font',
|
||||
'class': FONT_FAMILY_CLASS,
|
||||
style: 'font-family:' + family
|
||||
});
|
||||
}
|
||||
|
@ -54,7 +54,7 @@ var styleToSemantic = {
|
|||
regexp: notWS,
|
||||
replace: function ( doc, size ) {
|
||||
return createElement( doc, 'SPAN', {
|
||||
'class': 'size',
|
||||
'class': FONT_SIZE_CLASS,
|
||||
style: 'font-size:' + size
|
||||
});
|
||||
}
|
||||
|
|
|
@ -13,6 +13,11 @@ var START_TO_END = 1; // Range.START_TO_END
|
|||
var END_TO_END = 2; // Range.END_TO_END
|
||||
var END_TO_START = 3; // Range.END_TO_START
|
||||
|
||||
var HIGHLIGHT_CLASS = 'highlight';
|
||||
var COLOUR_CLASS = 'colour';
|
||||
var FONT_FAMILY_CLASS = 'font';
|
||||
var FONT_SIZE_CLASS = 'size';
|
||||
|
||||
var ZWS = '\u200B';
|
||||
|
||||
var win = doc.defaultView;
|
||||
|
|
|
@ -113,6 +113,20 @@ function getPath ( node, root ) {
|
|||
if ( dir = node.dir ) {
|
||||
path += '[dir=' + dir + ']';
|
||||
}
|
||||
if( classNames ) {
|
||||
if ( indexOf.call( classNames, HIGHLIGHT_CLASS ) > -1 ) {
|
||||
path += '[backgroundColor=' + node.style.backgroundColor.replace(/ /g,'') + ']';
|
||||
}
|
||||
if ( indexOf.call( classNames, COLOUR_CLASS ) > -1 ) {
|
||||
path += '[color=' + node.style.color.replace(/ /g,'') + ']';
|
||||
}
|
||||
if ( indexOf.call( classNames, FONT_FAMILY_CLASS ) > -1 ) {
|
||||
path += '[fontFamily=' + node.style.fontFamily.replace(/ /g,'') + ']';
|
||||
}
|
||||
if ( indexOf.call( classNames, FONT_SIZE_CLASS ) > -1 ) {
|
||||
path += '[fontSize=' + node.style.fontSize + ']';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return path;
|
||||
|
|
Loading…
Reference in a new issue