[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