diff develop/views/Extractapp/taggingtext.php @ 12:e82ca7375e93

Integration with LocalGazetteerService (LGService), getting text from LGService and saving text to LGService. Adjust the control flow (controller).
author Zoe Hong <zhong@mpiwg-berlin.mpg.de>
date Mon, 16 Feb 2015 16:51:39 +0100
parents 3d6fba07bfbd
children cc36a20a68ab
line wrap: on
line diff
--- a/develop/views/Extractapp/taggingtext.php	Wed Feb 11 12:33:59 2015 +0100
+++ b/develop/views/Extractapp/taggingtext.php	Mon Feb 16 16:51:39 2015 +0100
@@ -7,6 +7,8 @@
 $topiclistArray = $viewmodel['topiclistArray'];
 $default_topic_id = $viewmodel['default_topic_id'];
 $topic_tag = $viewmodel['topic_tag'];
+$info = $viewmodel['info'];
+var_dump($info);
 
 ?>
 
@@ -52,6 +54,8 @@
 
 <script type="text/javascript">
 
+
+
 <?php 
 foreach ( $taglistArray as $taglistValue ) {
 	echo '$(document).on("click", "'.$taglistValue[2].'", function (e) {'."\n";
@@ -242,10 +246,154 @@
     }
 }
 
+function _postForContineTagging(form) {
+    
 
-function chooseTopic(section_id, default_topic_id) {
+    var hiddenField = document.createElement("input");      
+    hiddenField.setAttribute("name", "text");
+    var el = document.getElementById("editable-area");
+    var text = el.innerHTML;
+    hiddenField.setAttribute("value", text);
+    form.appendChild(hiddenField);
+
+    var info = JSON.parse( '<?php echo json_encode($info) ?>');
+
+    if (info) {
+        // TODO: different field info array based on fileId(branchId) existing or not
+        var hiddenField = document.createElement("input");      
+        hiddenField.setAttribute("name", "fileId");
+        hiddenField.setAttribute("value", info['file_id']);
+        form.appendChild(hiddenField);
+        var hiddenField = document.createElement("input");      
+        hiddenField.setAttribute("name", "branchId");
+        hiddenField.setAttribute("value", info['branch_id']);
+        form.appendChild(hiddenField);
+        var hiddenField = document.createElement("input");      
+        hiddenField.setAttribute("name", "userId");
+        hiddenField.setAttribute("value", info['user_id']);
+        form.appendChild(hiddenField);
+        var hiddenField = document.createElement("input");      
+        hiddenField.setAttribute("name", "sectionId");
+        hiddenField.setAttribute("value", info['section_id']);
+        form.appendChild(hiddenField);
+        
+        
+    }
+
+    if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1) {
+        document.body.appendChild(form);
+        form.submit();
+    } else {
+        form.submit(); // works under IE and Chrome, but not FF  
+    }
+
+}
+
+
+// === for config tags in topic ===
+function configTagsInTopic(topic_id) {
+    var form = document.createElement("form");
+    
+    form.setAttribute("method", "post");
+    //form.setAttribute("action", "exportTable.php");
+    form.setAttribute("action", "../ConfigTagsInTopic");  // hand to controller
+    form.setAttribute("target", "_blank");
+    
+
+    var hiddenField = document.createElement("input");      
+    hiddenField.setAttribute("name", "topic");
+    hiddenField.setAttribute("value", topic_id);
+    form.appendChild(hiddenField);
+
+    _postForContineTagging(form);
+
+}
+
+
+function saveTextToLGService(section_id) {
+    var info = JSON.parse('<?php echo json_encode($info) ?>');
+    
+    var el = document.getElementById("editable-area");
+    
+    /*
+    $.ajax({
+        url : './TaggingText/'+section_id,
+        async : false,
+        type : 'POST',
+        data : 'func=SaveFullTextToLGService'+'&text='+el.innerHTML+'&fileId='+info['file_id']+'&branchId='+info['branch_id']+'&userId='+info['user_id']+'&sectionId='+info['section_id'],
+        success: function (result) {
+            console.log(result);
+        },
+        error: function (data) {
+            console.log("error when saving to LGService!");
+        }
+    }).done(function(result) {
+        alert("Saved!");
+        console.log("result: "+result);
+    });
+    
+    */
+
+
+
+    var form = document.createElement("form");
+    form.setAttribute("method", "post");
+    // form.setAttribute("action", "./");  // hand to controller
+    
+    form.setAttribute("action", "./"+info['section_id']);  // hand to controller
+    form.setAttribute("target", "_self");
+    
+    var hiddenField = document.createElement("input");      
+    hiddenField.setAttribute("name", "func");
+    hiddenField.setAttribute("value", "SaveFullTextToLGService");
+    form.appendChild(hiddenField); 
+    
+    if (info) {
+        var hiddenField = document.createElement("input");      
+        hiddenField.setAttribute("name", "fileId");
+        hiddenField.setAttribute("value", info['file_id']);
+        form.appendChild(hiddenField);
+        var hiddenField = document.createElement("input");      
+        hiddenField.setAttribute("name", "branchId");
+        hiddenField.setAttribute("value", info['branch_id']);
+        form.appendChild(hiddenField);
+        var hiddenField = document.createElement("input");      
+        hiddenField.setAttribute("name", "userId");
+        hiddenField.setAttribute("value", info['user_id']);
+        form.appendChild(hiddenField);
+        var hiddenField = document.createElement("input");      
+        hiddenField.setAttribute("name", "sectionId");
+        hiddenField.setAttribute("value", info['section_id']);
+        form.appendChild(hiddenField);
+
+    }
+
+    var hiddenField = document.createElement("input");      
+    hiddenField.setAttribute("name", "text");
+    //var el = document.getElementById("editable-area");
+    //var text = encodeURIComponent(el.innerHTML);
+    var text = el.innerHTML;
+    hiddenField.setAttribute("value", text);
+    form.appendChild(hiddenField);
+
+    
+    if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1) {
+        document.body.appendChild(form);
+        form.submit();
+    } else {
+        form.submit(); // works under IE and Chrome, but not FF  
+    }
+    
+}
+
+
+
+function chooseTopic(default_topic_id) {
     var t = JSON.parse( '<?php echo json_encode($topiclistArray) ?>' );
-    
+
+    var info = JSON.parse('<?php echo json_encode($info) ?>');
+
+
     $('#load_topic_div').html("");
     $('#load_topic_div').css("display", "block");
     $('#load_topic_div').css("border", "1px solid black");
@@ -260,29 +408,31 @@
     var selected_topic = t[0];
     topic_select.onchange = function(){
 
+
     	selected_topic = topic_select.options[topic_select.selectedIndex];
     	console.log(selected_topic.text);
 
     	var topic_id = selected_topic.value;
-		var topic_name = selected_topic.text;
+		// var topic_name = selected_topic.text;
+
 
 		var form = document.createElement("form");
-	    form.setAttribute("method", "post");
-	    form.setAttribute("action", "./"+section_id);  // hand to controller
-	    form.setAttribute("target", "_self");
-	    
-	    var hiddenField = document.createElement("input");      
-	    hiddenField.setAttribute("name", "topic");
-	    hiddenField.setAttribute("value", topic_id);
-	    form.appendChild(hiddenField);
+        form.setAttribute("method", "post");
+        form.setAttribute("action", "./"+info['section_id']);  // hand to controller
+        //form.setAttribute("action", "./"+section_id);  // hand to controller
+        form.setAttribute("target", "_self");
 
-	    if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1) {
-	        document.body.appendChild(form);
-	        form.submit();
-	    } else {
-	        form.submit(); // works under IE and Chrome, but not FF  
-	    }
+        var hiddenField = document.createElement("input");      
+        hiddenField.setAttribute("name", "topic");
+        hiddenField.setAttribute("value", topic_id);
+        form.appendChild(hiddenField);
 
+        var hiddenField = document.createElement("input");      
+        hiddenField.setAttribute("name", "func");
+        hiddenField.setAttribute("value", "ContinueTagging");
+        form.appendChild(hiddenField);
+    
+	    _postForContineTagging(form);
 
 
     };
@@ -365,8 +515,8 @@
 					<button onclick="replaceSmartClose()" style="height: 30px; width: 50px">Close</button>
 				</div>
 				<form action="javascript:void(0);">
-					<button onclick="chooseTopic(<?php echo $section_id;?>, <?php echo $default_topic_id; ?>)">Choose Topic</button>
-					<button onclick="window.open('../ConfigTagsInTopic/<?php echo $section_id;?>')" style="height: 30px; width: 220px">Config Tag List For Topic</button></br>
+					<button onclick="chooseTopic(<?php echo $default_topic_id; ?>)">Choose Topic</button>
+					<button onclick="configTagsInTopic(<?php echo $default_topic_id;?>)" style="height: 30px; width: 220px">Config Tag List for Topic</button></br>
 					<fieldset>
 						<legend>Replace By <i><b>Smart Regex</b></i>©:</legend>
 						<div id="smartRegexShowDiv"></div><br>
@@ -390,7 +540,9 @@
 					
 					<fieldset>
 						<legend>Edit:</legend>
-						<!--<button onclick="cleanUpTextArea()" style="height: 30px; width: 220px">Reform the text</button></br>-->
+						<button onclick="saveTextToLGService(<?php echo $section_id;?>)" style="height: 30px; width: 220px">Save to LGService</button></br>
+                    
+                        <!--<button onclick="cleanUpTextArea()" style="height: 30px; width: 220px">Reform the text</button></br>-->
 						<button onclick="saveText(<?php echo $section_id; ?>)" style="height: 30px; width: 220px">Save the text</button></br>
 						<button onclick="editText()" id="editTextId" style="height: 30px; width: 220px">Edit the text</button></br>
 						</br>