accurator/commit

Cleaner context and added basic switch for fields.

authorChris Dijkshoorn
Mon Jun 20 11:47:36 2016 +0200
committerChris Dijkshoorn
Mon Jun 20 11:47:36 2016 +0200
commit5d633dd5a40028a7a4597776ae3ab6c93e3fd426
tree19433187e002a7a1550fa8c53fa72ad1d0ab1215
parent1cd9fa0f3dd5e28a97b22c4709ebf6aa05643b73
Diff style: patch stat
diff --git a/web/js/item.js b/web/js/item.js
index 395cbb1..fda7c01 100644
--- a/web/js/item.js
+++ b/web/js/item.js
@@ -209,19 +209,20 @@ function addAnnotationFields(metadata, user, uri, locale, domain, annotation_ui,
 		annotation_ui:annotation_ui
 	})
 	.then(function(fields) {
+		// context object for field
+		var context = {
+			target: uri,
+			targetImage: metadata.image_uri,
+			user: user,
+			locale: locale,
+			imageId: page.imageId,
+		};
+
 		// add fields whole image
 		for (var i = 0; i < fields.whole_fields.length; i++) {
-			// context object for field
-			var context = {
-				id: "whole" + generateIdFromUri(fields.whole_fields[i].uri),
-				fragment: false,
-				target: uri,
-				targetImage: metadata.image_uri,
-				user: user,
-				locale: locale,
-				imageId: page.imageId,
-				fieldsId: page.wholeFieldsId
-			};
+			context.id = "whole" + generateIdFromUri(fields.whole_fields[i].uri);
+			context.fragment = false;
+			context.fieldsId = page.wholeFieldsId;
 
 			// create new field object
 			var wholeField = new Field(
@@ -245,17 +246,9 @@ function addAnnotationFields(metadata, user, uri, locale, domain, annotation_ui,
 
 		// add fields to hidden dom elements for annotorious
 		for (var i = 0; i < fields.fragment_fields.length; i++) {
-			// context object for fragment field
-			var context = {
-				id: "fragment" + generateIdFromUri(fields.fragment_fields[i].uri),
-				fragment: true,
-				target: uri,
-				targetImage: metadata.image_uri,
-				user: user,
-				locale: locale,
-				imageId: page.imageId,
-				fieldsId: page.fragmentFieldsId
-			};
+			context.id = "fragment" + generateIdFromUri(fields.fragment_fields[i].uri);
+			context.fragment = true;
+			context.fieldsId = page.fragmentFieldsId;
 
 			// create new field object
 			var fragmentField = new Field(
@@ -270,6 +263,15 @@ function addAnnotationFields(metadata, user, uri, locale, domain, annotation_ui,
 	});
 }
 
+function createField(field, context) {
+	switch (field.type) {
+		case "DropdownField":
+			return new DropdownField(field, context);
+		case "TextField":
+			return new TextField(field, context);
+	}
+}
+
 function displayMetadata(uri) {
 	if(page.showMetadata){
 		// Get metadata from server