Mercurial > hg > extraction-interface
diff js/taggingtext.js @ 63:3395385476d1 extractapp
bug fixed: popup tag window is closed automatically when saving text file
author | Zoe Hong <zhong@mpiwg-berlin.mpg.de> |
---|---|
date | Wed, 01 Apr 2015 15:10:35 +0200 |
parents | f9e7119339b2 |
children | ca6bf3532830 |
line wrap: on
line diff
--- a/js/taggingtext.js Tue Mar 31 14:55:58 2015 +0200 +++ b/js/taggingtext.js Wed Apr 01 15:10:35 2015 +0200 @@ -45,83 +45,6 @@ alert( "Tagged "+matchedCount+" entities!" ); } - -function removeTagNewDiv( eventObject, tagName, tagObject ) { - saveUndoText(); - var newdiv = document.createElement("div"); - newdiv.id = "questionMarkId"; - newdiv.setAttribute("class", "questionMarkClass"); - newdiv.style.cssText = 'top:'+eventObject.pageY+'; left:'+eventObject.pageX+'; position:absolute; background-color: white; border:1px solid black; padding: 5px'; - newdiv.innerHTML = "Tag: "+tagName+"<br>Value: "+tagObject.text()+"<br>"; - - - var newbutton = $('<button>Remove this</button>').mouseup(function (e2) { - var textKeep = $(this).parent().parent().html(); - var regexText=/<div(.*?)<\/div>/g; - var replaceText=""; - textKeep = textKeep.replace(regexText, replaceText); - - $(this).parent().parent().replaceWith( textKeep ); - }); - newbutton.appendTo(newdiv); - - var newbutton = $('<button>Remove this(with newline)</button>').mouseup(function (e2) { - var textKeep = $(this).parent().parent().html(); - var regexText=/<div(.*?)<\/div>/g; - var replaceText=""; - textKeep = textKeep.replace(regexText, replaceText); - - var newLineBefore = $(this).parent().parent().prev(); - if ( newLineBefore.prop("tagName") == "BR" ) { - $(this).parent().parent().prev().replaceWith( ); - } - $(this).parent().parent().replaceWith( textKeep ); - }); - newbutton.appendTo(newdiv); - - var newbutton = $('<button>Remove all</button>').mouseup(function (e2) { - var textKeep = $(this).parent().parent().html(); - var regexText=/<div(.*?)<\/div>/g; - var replaceText=""; - textKeep = textKeep.replace(regexText, replaceText); - - $(this).parent().parent().replaceWith( textKeep ); - - var el = document.getElementById("editable-area"); - var regexText=new RegExp("<"+tagName+">("+textKeep+")</"+tagName+">", "g"); - var replaceText="$1"; - var str="" + el.innerHTML; - - if ( str.match(regexText)==null ) { - alert( "Removed 1 entity!" ); - } else { - alert( "Removed "+(parseInt(str.match(regexText).length)+1)+" entities!" ); - } - el.innerHTML = str.replace(regexText, replaceText); - }); - newbutton.appendTo(newdiv); - - var newbutton = $('<button>Remove all(with newline)</button>').mouseup(function (e2) { - var textKeep = $(this).parent().parent().html(); - var regexText=/<div(.*?)<\/div>/g; - var replaceText=""; - textKeep = textKeep.replace(regexText, replaceText); - - $(this).parent().remove(); - - var el = document.getElementById("editable-area"); - var regexText=new RegExp("<br><"+tagName+">("+textKeep+")</"+tagName+">", "g"); - var replaceText="$1"; - var str="" + el.innerHTML; - - alert( "Removed "+str.match(regexText).length+" entities!" ); - el.innerHTML = str.replace(regexText, replaceText); - }); - newbutton.appendTo(newdiv); - - tagObject.append(newdiv); -} - function removeEmptyNodes( node ) { if (node.hasChildNodes()) { var children = node.childNodes; @@ -279,6 +202,82 @@ } +function removeTagNewDiv( eventObject, tagName, tagObject ) { + saveUndoText(); + var newdiv = document.createElement("div"); + newdiv.id = "questionMarkId"; + newdiv.setAttribute("class", "questionMarkClass"); + + newdiv.style.cssText = 'top:'+eventObject.pageY+'; left:'+eventObject.pageX+'; position:absolute; background-color: white; border:1px solid black; padding: 5px; z-index:4'; + newdiv.innerHTML = "Tag: "+tagName+"<br>Value: "+tagObject.text()+"<br>"; + + var newbutton = $('<button>Remove this</button>').mouseup(function (e2) { + var textKeep = $(this).parent().parent().html(); + var regexText=/<div(.*?)<\/div>/g; + var replaceText=""; + textKeep = textKeep.replace(regexText, replaceText); + + $(this).parent().parent().replaceWith( textKeep ); + }); + newbutton.appendTo(newdiv); + + var newbutton = $('<button>Remove this(with newline)</button>').mouseup(function (e2) { + var textKeep = $(this).parent().parent().html(); + var regexText=/<div(.*?)<\/div>/g; + var replaceText=""; + textKeep = textKeep.replace(regexText, replaceText); + + var newLineBefore = $(this).parent().parent().prev(); + if ( newLineBefore.prop("tagName") == "BR" ) { + $(this).parent().parent().prev().replaceWith( ); + } + $(this).parent().parent().replaceWith( textKeep ); + }); + newbutton.appendTo(newdiv); + + var newbutton = $('<button>Remove all</button>').mouseup(function (e2) { + var textKeep = $(this).parent().parent().html(); + var regexText=/<div(.*?)<\/div>/g; + var replaceText=""; + textKeep = textKeep.replace(regexText, replaceText); + + $(this).parent().parent().replaceWith( textKeep ); + + var el = document.getElementById("editable-area"); + var regexText=new RegExp("<"+tagName+">("+textKeep+")</"+tagName+">", "g"); + var replaceText="$1"; + var str="" + el.innerHTML; + + if ( str.match(regexText)==null ) { + alert( "Removed 1 entity!" ); + } else { + alert( "Removed "+(parseInt(str.match(regexText).length)+1)+" entities!" ); + } + el.innerHTML = str.replace(regexText, replaceText); + }); + newbutton.appendTo(newdiv); + + var newbutton = $('<button>Remove all(with newline)</button>').mouseup(function (e2) { + var textKeep = $(this).parent().parent().html(); + var regexText=/<div(.*?)<\/div>/g; + var replaceText=""; + textKeep = textKeep.replace(regexText, replaceText); + + $(this).parent().remove(); + + var el = document.getElementById("editable-area"); + var regexText=new RegExp("<br><"+tagName+">("+textKeep+")</"+tagName+">", "g"); + var replaceText="$1"; + var str="" + el.innerHTML; + + alert( "Removed "+str.match(regexText).length+" entities!" ); + el.innerHTML = str.replace(regexText, replaceText); + }); + newbutton.appendTo(newdiv); + + tagObject.append(newdiv); +} + function saveText(section_id) { var el = document.getElementById("editable-area"); $.ajax({