[ARVADOS] updated: 1.1.1-148-g97b13b7

Git user git at public.curoverse.com
Mon Dec 18 08:06:59 EST 2017


Summary of changes:
 .../app/assets/javascripts/components/edit_tags.js |  7 ++--
 .../app/assets/javascripts/models/tags.js          | 43 ++++++++--------------
 apps/workbench/public/vocabulary.json              | 19 +++++++---
 3 files changed, 32 insertions(+), 37 deletions(-)

       via  97b13b759d46c5e8f74150add53b76daa5861120 (commit)
      from  b8dccb1fa84d699e1220e1a3d57b13085349b5ce (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


commit 97b13b759d46c5e8f74150add53b76daa5861120
Author: Lucas Di Pentima <ldipentima at veritasgenetics.com>
Date:   Mon Dec 18 10:06:03 2017 -0300

    12479: Get remote vocabulary definition, use a fallback is it doesn't exist.
    
    Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima <ldipentima at veritasgenetics.com>

diff --git a/apps/workbench/app/assets/javascripts/components/edit_tags.js b/apps/workbench/app/assets/javascripts/components/edit_tags.js
index 0c844d4..0407796 100644
--- a/apps/workbench/app/assets/javascripts/components/edit_tags.js
+++ b/apps/workbench/app/assets/javascripts/components/edit_tags.js
@@ -126,8 +126,7 @@ window.SelectField = {
                         }
                     })
                 },
-            },
-                opts.map(function(k) {
+            }, opts.map(function(k) {
                     return m("option", {
                         value: k,
                         selected: tags.data[vnode.attrs.tagIdx]["value"] === k,
@@ -153,7 +152,7 @@ window.TagEditor = {
         var voc = vnode.attrs.voc
         var tagIdx = vnode.attrs.tagIdx
         if (tagIdx in tags.data) {
-            var tagName = tags.getName(vnode.attrs.tagIdx)//tags.data[tagIdx].name
+            var tagName = tags.getName(vnode.attrs.tagIdx)
             var tagType = voc.getDef(tagName).type
             return m("tr.collection-tag-"+tagName, [
                 m("td",
@@ -231,7 +230,7 @@ window.TagEditorApp = {
         vnode.state.objType = pathname.pop()
         vnode.state.tags = new Tags(vnode.state.sessionDB, vnode.state.uuid, vnode.state.objType)
         vnode.state.tags.load()
-        vnode.state.vocabulary = new Vocabulary()
+        vnode.state.vocabulary = new Vocabulary(vnode.state.url)
         vnode.state.vocabulary.load()
         vnode.state.editMode = m.stream(false)
         vnode.state.tagTable = TagTable
diff --git a/apps/workbench/app/assets/javascripts/models/tags.js b/apps/workbench/app/assets/javascripts/models/tags.js
index 5ef25b9..e98c439 100644
--- a/apps/workbench/app/assets/javascripts/models/tags.js
+++ b/apps/workbench/app/assets/javascripts/models/tags.js
@@ -2,41 +2,28 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
+// Fallback vocabulary that accepts any tag type. Will be used if
+// no custom vocabulary provided.
 var vocabulary = {
-    "strict": false, // Allow other tags not described here
-    "types": {
-        "opt1": {
-            "type": "select",
-            "options": ["val1", "val2", "val3"],
-            "overridable": true // Allow value not listed in options
-        },
-        "opt2": {
-            "type": "select",
-            "options": ["val21", "val22", "val23"]
-        },
-        "opt3": {
-            "type": "select",
-            "options": ["val31", "val32", "val33"]
-        },
-        "text tag": {
-            "type": "text",
-            "max_length": 80,
-        },
-        "int tag": {
-            "type": "integer",
-            "min": 0,
-            "max": 1000
-        }
-    }
+    "strict": false,
+    "types": {}
 }
 
-window.Vocabulary = function() {
+window.Vocabulary = function(url) {
     var v = this
     Object.assign(v, {
+        url: url,
         data: {},
         load: function() {
-            // TODO: get the vocabulary file from http
-            v.data = vocabulary
+            // Load vocabulary from rails' public directory
+            m.request(v.url.origin + '/vocabulary.json').then(function(resp) {
+                console.log('Vocabulary loaded')
+                v.data = resp
+            }).catch(function(err) {
+                // Not found, use a default vocabulary
+                console.log('Using default vocabulary')
+                v.data = vocabulary
+            })
         },
         getDef: function(tagName) {
             if (tagName in v.data.types) {
diff --git a/apps/workbench/public/vocabulary.json b/apps/workbench/public/vocabulary.json
index c92a212..0e09f20 100644
--- a/apps/workbench/public/vocabulary.json
+++ b/apps/workbench/public/vocabulary.json
@@ -1,18 +1,27 @@
 {
-    "tags": ["tag1", "tag2", "tag3"],
+    "strict": "false",
     "types": {
-        "tag1": {
+        "opt1": {
             "type": "select",
             "options": ["val1", "val2", "val3"],
-            "overridable": true
+            "overridable": "true"
         },
-        "tag2": {
+        "opt2": {
             "type": "select",
             "options": ["val21", "val22", "val23"]
         },
-        "tag3": {
+        "opt3": {
             "type": "select",
             "options": ["val31", "val32", "val33"]
+        },
+        "text tag": {
+            "type": "text",
+            "max_length": "80"
+        },
+        "int tag": {
+            "type": "integer",
+            "min": "0",
+            "max": "1000"
         }
     }
 }
\ No newline at end of file

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list