Skip to content

Commit

Permalink
Merge pull request #1033 from pbassut/master
Browse files Browse the repository at this point in the history
Fix(taBind): Wans't pasting from OneNote
  • Loading branch information
pbassut committed Jan 18, 2016
2 parents ac30957 + 3cfb745 commit 536b5d1
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 7 deletions.
3 changes: 2 additions & 1 deletion demo/demo.html
Expand Up @@ -23,7 +23,8 @@

<script src='../dist/textAngular-sanitize.min.js'></script>

<script src='../dist/textAngular.min.js'></script>
<script src='../dist/textAngularSetup.js'></script>
<script src='../dist/textAngular.js'></script>

</head>

Expand Down
10 changes: 8 additions & 2 deletions dist/textAngular.js
Expand Up @@ -1466,10 +1466,12 @@ angular.module('textAngular.taBind', ['textAngular.factories', 'textAngular.DOM'
var _processingPaste = false;
/* istanbul ignore next: phantom js cannot test this for some reason */
var processpaste = function(text) {
var _isOneNote = text.match(/content=["']*OneNote.File/i);
/* istanbul ignore else: don't care if nothing pasted */
//console.log(text);
if(text && text.trim().length){
// test paste from word/microsoft product
if(text.match(/class=["']*Mso(Normal|List)/i) || text.match(/content=["']*Word.Document/i)){
if(text.match(/class=["']*Mso(Normal|List)/i) || text.match(/content=["']*Word.Document/i) || text.match(/content=["']*OneNote.File/i)){
var textFragment = text.match(/<!--StartFragment-->([\s\S]*?)<!--EndFragment-->/i);
if(!textFragment) textFragment = text;
else textFragment = textFragment[1];
Expand Down Expand Up @@ -1567,7 +1569,11 @@ angular.module('textAngular.taBind', ['textAngular.factories', 'textAngular.DOM'
if(node.attributes.length <= 0) _unwrapElement(node);
});
angular.forEach(targetDom.find('font'), _unwrapElement);
text = targetDom.html();

text = targetDom.html();
if(_isOneNote){
text = targetDom.html() || dom.html();
}
}else{
// remove unnecessary chrome insert
text = text.replace(/<(|\/)meta[^>]*?>/ig, '');
Expand Down
4 changes: 2 additions & 2 deletions dist/textAngular.min.js

Large diffs are not rendered by default.

10 changes: 8 additions & 2 deletions src/taBind.js
Expand Up @@ -492,10 +492,12 @@ angular.module('textAngular.taBind', ['textAngular.factories', 'textAngular.DOM'
var _processingPaste = false;
/* istanbul ignore next: phantom js cannot test this for some reason */
var processpaste = function(text) {
var _isOneNote = text.match(/content=["']*OneNote.File/i);
/* istanbul ignore else: don't care if nothing pasted */
//console.log(text);
if(text && text.trim().length){
// test paste from word/microsoft product
if(text.match(/class=["']*Mso(Normal|List)/i) || text.match(/content=["']*Word.Document/i)){
if(text.match(/class=["']*Mso(Normal|List)/i) || text.match(/content=["']*Word.Document/i) || text.match(/content=["']*OneNote.File/i)){
var textFragment = text.match(/<!--StartFragment-->([\s\S]*?)<!--EndFragment-->/i);
if(!textFragment) textFragment = text;
else textFragment = textFragment[1];
Expand Down Expand Up @@ -593,7 +595,11 @@ angular.module('textAngular.taBind', ['textAngular.factories', 'textAngular.DOM'
if(node.attributes.length <= 0) _unwrapElement(node);
});
angular.forEach(targetDom.find('font'), _unwrapElement);
text = targetDom.html();

text = targetDom.html();
if(_isOneNote){
text = targetDom.html() || dom.html();
}
}else{
// remove unnecessary chrome insert
text = text.replace(/<(|\/)meta[^>]*?>/ig, '');
Expand Down

0 comments on commit 536b5d1

Please sign in to comment.