浏览代码

add rich text builder

ting.yin 5 年之前
父节点
当前提交
2af0836146

+ 2 - 3
stmms-web/src/main/webapp/static/mark-json/js/json-builder.js

@@ -52,7 +52,7 @@ JsonBuilder.prototype.build = function(task,callback) {
     if (this.task != undefined && this.task.answerUrl != undefined) {
     	var url = this.answerServer + this.task.answerUrl;
     	$.get(url, function(result) {
-    		
+    		this.control_dom = RichTextBuilder(result);
     		self.container.show();
         	self.markControl.trigger('task.load.finish');
         }).error(function() {
@@ -73,5 +73,4 @@ JsonBuilder.prototype.updateScrollTop = function(scrollTopPercent) {
     }
 }
 
-JsonBuilder.prototype.control_dom = '<div class="wp"><div class="rich-text"></div></div>';
-JsonBuilder.prototype.rich_text_dom = '<div class="rich-text"></div>';
+JsonBuilder.prototype.control_dom = '';

+ 25 - 10
stmms-web/src/main/webapp/static/mark-json/js/rich-text-builder.js

@@ -1,18 +1,33 @@
 //富文本json解析模块
-var rich_text_dom = '<div class="wp"><div class="rich-text"></div></div>';
-var sectionsch_text_dom = '<p></p>';
 function RichTextBuilder(jsonText) {
-	var dom = rich_text_dom;
+	var rich_text_dom = '<div class="wp">';
 	var questionArray = JSON.parse(jsonText);
-	 for (var i = 0; i < questionArray.length; i++) {
+	for (var i = 0; i < questionArray.length; i++) {
+		 var question_text_dom = '<div class="rich-text">';
+		 var title = '<span>题号:'+ question.mainNumber+'-'+question.subNumber +'</span><br/>';
+		 question_text_dom = question_text_dom + title;
+		 
 		 var question = questionArray[i];
-		 var title = '<span>题号:'+ question.mainNumber+'-'+question.subNumber +'<span><br/>';
-		 var body = question.body.sections;
-		 for(var j = 0; j < body.length; j++){
-			 
+		 var blocks = question.body.sections.blocks;
+		 var content = '';
+		 for(var j = 0; j < blocks.length; j++){
+			 var block = '';
+			 if(block.type == 'text'){
+				 block = '<p>'+ blocks[j].value +'</p>';
+			 }
+			 if(block.type == 'image'){
+				 block = '<p><img src='+ blocks[j].value +'/></p>';
+			 }
+			 if(block.type == 'audio'){
+				 block = '<p><audio controls><source src='+ blocks[j].value +' type="audio/ogg"/></audio></p>';
+			 }
+			 content = content + block;
 		 }
-		 
+		 question_text_dom = question_text_dom + content + '</div>';
+		 rich_text_dom = rich_text_dom + question_text_dom;
 	 }
-	 return dom;
+	
+	 rich_text_dom = rich_text_dom + '</div>';
+	 return rich_text_dom;
 }