diff --git a/src/vue-poc/app.vue b/src/vue-poc/app.vue
index 624f0c8..6c1502a 100644
--- a/src/vue-poc/app.vue
+++ b/src/vue-poc/app.vue
@@ -142,13 +142,14 @@
frmfav: false,
items: [
- {href: '/',text: 'Dashboard', icon: 'dashboard' },
+ {href: '/',text: 'Dashboard', icon: 'home' },
{
icon: 'input',
text: 'Actions' ,
model: false,
children: [
{href: '/eval',text: 'Query',icon: 'play_circle_outline'},
+ {href: '/tasks',text: 'Tasks',icon: 'update'},
{href: '/edit',text: 'Edit',icon: 'mode_edit'},
{href: '/tabs',text: 'Tabs',icon: 'switch_camera'},
{href: '/validate',text: 'Validate',icon: 'playlist_add_check'},
@@ -163,8 +164,8 @@
children: [
{href: '/database', text: 'Databases',icon: 'developer_mode' },
{href: '/files', text: 'File system',icon: 'folder' },
-
- {href: '/tasks',text: 'Tasks',icon: 'update'},
+ {href: '/documentation', text: 'Documentation',icon: 'library_books' },
+
{href: '/logdate',text: 'XML logs',icon: 'dns'},
{href: '/history/files',text: 'history',icon: 'history'}
]},
@@ -173,9 +174,11 @@
text: 'Models' ,
model: false,
children: [
- {href: '/entity', text: 'Entities',icon: 'redeem' },
- {href: '/documentation', text: 'Documentation',icon: 'library_books' },
- {href: '/namespace', text: 'Namespaces',icon: 'label' },
+ {href: '/model/entity', text: 'Entities',icon: 'redeem' },
+ {href: '/model/namespace', text: 'Namespaces',icon: 'dns' },
+ {href: '/model/schema', text: 'Schemas',icon: 'verified' },
+ {href: '/model/taxonomy', text: 'Taxonomies',icon: 'local_offer' },
+ {href: '/model/mimetype', text: 'Mimetypes',icon: 'assignment' },
]},
{
@@ -225,7 +228,7 @@
children: [
{href: '/labs/scratch',text: 'Scratch pad',icon: 'filter_frames'},
{href: '/labs/form',text: 'Forms',icon: 'subtitles' },
- {href: '/labs/timeline',text: 'Time line',icon: 'timelapse'},
+ {href: '/labs/timeline',text: 'Time line',icon: 'event_note'},
{href: '/labs/svg',text: 'SVG',icon: 'extension'},
{href: '/labs/svg2',text: 'SVG2',icon: 'extension'},
{href: '/labs/tree',text: 'Tree',icon: 'nature'},
diff --git a/src/vue-poc/components/qd-autoheight.vue b/src/vue-poc/components/qd-autoheight.vue
index 5b2d1dc..48d7c5d 100644
--- a/src/vue-poc/components/qd-autoheight.vue
+++ b/src/vue-poc/components/qd-autoheight.vue
@@ -20,7 +20,7 @@
var e=el;
// console.log("top",e.offsetTop,e.getBoundingClientRect().top,window.innerHeight);
var h=window.innerHeight - e.getBoundingClientRect().top -10;
- var h=Math.max(1,h) ;
+ h=Math.max(1,h) ;
// console.log("h",h)
e.style.height=h +"px";
}
diff --git a/src/vue-poc/components/qd-search.vue b/src/vue-poc/components/qd-search.vue
index 36da6b4..95ae959 100644
--- a/src/vue-poc/components/qd-search.vue
+++ b/src/vue-poc/components/qd-search.vue
@@ -17,18 +17,17 @@
>
-
-
- arrow_forward
-
-
-
-
- {{ item.text }}
-
- Page {{ item.value }}
+
+ Search "{{ item.text }}"
+ or goto
+
+ {{ item.value }}
+ launch
+
+
+
@@ -51,7 +50,7 @@
this.loading = true
// Simulated ajax query
setTimeout(() => {
- this.items2 = this.si?this.matchItems(this.si.toLowerCase()):[],
+ this.items2 = this.si?this.matchItems(this.si.toLowerCase()):[]
this.loading = false
}, 500)
},
@@ -62,8 +61,8 @@
matchItems(typed){
var hits=this.titles;
- var typed=typed.toLowerCase();
- hits=hits.filter(item=>item.title.indexOf(typed) !== -1)
+ typed=typed.toLowerCase();
+ hits=hits.filter(item=>item.title.indexOf(typed) !== -1)
return hits.map(r=>{return {text:r.title,
value:r.path}
});
diff --git a/src/vue-poc/components/vp-entitylink.vue b/src/vue-poc/components/vp-entitylink.vue
index 5bb5de9..2fb3cac 100644
--- a/src/vue-poc/components/vp-entitylink.vue
+++ b/src/vue-poc/components/vp-entitylink.vue
@@ -3,7 +3,7 @@
show a entity link
-->
- E
+ E
diff --git a/src/vue-poc/components/vp-paramform.vue b/src/vue-poc/components/vp-paramform.vue
index f49e4dc..a1a1ae7 100644
--- a/src/vue-poc/components/vp-paramform.vue
+++ b/src/vue-poc/components/vp-paramform.vue
@@ -1,7 +1,7 @@
@@ -21,7 +21,7 @@
diff --git a/src/vue-poc/data/vue-poc/entities/favorites.xml b/src/vue-poc/data/vue-poc/entities/favorites.xml
new file mode 100644
index 0000000..d836b70
--- /dev/null
+++ b/src/vue-poc/data/vue-poc/entities/favorites.xml
@@ -0,0 +1,25 @@
+
+ vue-poc favourites
+
+
+ time of event
+ @when
+
+
+ user
+ @user
+
+
+ id
+ @id
+
+
+
+
+ path
+ @url
+
+
+
+ doc("vue-poc/favorites.xml")/favorites/favorite
+
\ No newline at end of file
diff --git a/src/vue-poc/data/vue-poc/entities/quodatum.logfile.xml b/src/vue-poc/data/vue-poc/entities/quodatum/quodatum.logfile.xml
similarity index 100%
rename from src/vue-poc/data/vue-poc/entities/quodatum.logfile.xml
rename to src/vue-poc/data/vue-poc/entities/quodatum/quodatum.logfile.xml
diff --git a/src/vue-poc/data/vue-poc/entities/quodatum.task.xml b/src/vue-poc/data/vue-poc/entities/quodatum/quodatum.task.xml
similarity index 100%
rename from src/vue-poc/data/vue-poc/entities/quodatum.task.xml
rename to src/vue-poc/data/vue-poc/entities/quodatum/quodatum.task.xml
diff --git a/src/vue-poc/data/vue-poc/favorites.xml b/src/vue-poc/data/vue-poc/favorites.xml
new file mode 100644
index 0000000..67c79c3
--- /dev/null
+++ b/src/vue-poc/data/vue-poc/favorites.xml
@@ -0,0 +1,8 @@
+
+
+ -
+
+ svg
+
+
+
\ No newline at end of file
diff --git a/src/vue-poc/features/about/routes2.vue b/src/vue-poc/features/about/routes2.vue
index 97db441..5a59cfc 100644
--- a/src/vue-poc/features/about/routes2.vue
+++ b/src/vue-poc/features/about/routes2.vue
@@ -66,7 +66,7 @@
- {{ active.path}}
+ {{ active.name}}
link
@@ -155,8 +155,8 @@
this.refresh()
if(this.$route.query.index){
const index= parseInt(this.$route.query.index)
- //const h= this.findItem(this.routes,index)
- //console.log("search",h, index)
+ const h= this.findItem(this.routes,index)
+ console.log("search",h, index)
//this.active=h
}
}
diff --git a/src/vue-poc/features/collection/documentation.vue b/src/vue-poc/features/collection/documentation.vue
index e6a42c1..7527d22 100644
--- a/src/vue-poc/features/collection/documentation.vue
+++ b/src/vue-poc/features/collection/documentation.vue
@@ -1,98 +1,36 @@
-
-
-
-
-
- XQDocs
-
-
-
-
- add_circle
-
- refresh
-
-
-
-
-
-
-
-
- {{ item.name }}
-
- go
-
- {{ item.id }}
-
- {{ item.created | fromNow }}
-
-
-
- Run
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+ {{ props.item.icon }}
+ {{ props.item.name }}
+
+
+
+
+
+
+
+ -
+ QXQdoc
+
+ -
+ QXQdoc
+
+
+
+
diff --git a/src/vue-poc/features/collection/xqdocs.vue b/src/vue-poc/features/collection/xqdocs.vue
new file mode 100644
index 0000000..d81a6b6
--- /dev/null
+++ b/src/vue-poc/features/collection/xqdocs.vue
@@ -0,0 +1,98 @@
+
+
+
+
+
+
+
+ XQDocs
+
+
+
+
+ add_circle
+
+ refresh
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+ go
+
+ {{ item.id }}
+
+ {{ item.created | fromNow }}
+
+
+
+ Run
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/vue-poc/features/components/tree2.vue b/src/vue-poc/features/components/tree2.vue
index 2b088c5..deb66c0 100644
--- a/src/vue-poc/features/components/tree2.vue
+++ b/src/vue-poc/features/components/tree2.vue
@@ -2,11 +2,12 @@
-
- vue-treeselect@0.0.29
-
- todo
+
+ vue-treeselect@0.0.29
+
+ todo
+
diff --git a/src/vue-poc/features/edit/edit.md b/src/vue-poc/features/edit/edit.md
index 382d0da..35b9d0c 100644
--- a/src/vue-poc/features/edit/edit.md
+++ b/src/vue-poc/features/edit/edit.md
@@ -2,5 +2,14 @@ single editor
/vue-poc/api/edit
+params
+url=url to load
+protocol=
+
+XHR
+
+```
+HTTP.get("edit",{params: {url:url,protocol:this.protocol}})
+```
protocol: webfile
url:
\ No newline at end of file
diff --git a/src/vue-poc/features/edit/edit.xqm b/src/vue-poc/features/edit/edit.xqm
index c8717a8..c1dbed7 100644
--- a/src/vue-poc/features/edit/edit.xqm
+++ b/src/vue-poc/features/edit/edit.xqm
@@ -30,7 +30,8 @@ function vue-api:edit-get($url as xs:string)
"xmldb": vue-api:get-basexdb#1
}
let $reader:=trace($reader)
- return $reader($protocol)($url)
+ let $fn:=($reader($protocol),vue-api:get-webfile#1)[1]
+ return $fn($url)
};
(:~
@@ -82,7 +83,7 @@ as element(json)
(:~
: Returns a file content.
- : @param $url starts with protocol
+ : @param $url starts with protocol accepts xmldb:path, file:path, webfile:/ path
:)
declare
%rest:GET %rest:path("/vue-poc/api/get")
@@ -124,5 +125,5 @@ as element(json)
{serialize($doc)}
else
- error(xs:QName('vue-api:raw'),$url)
+ error(xs:QName('vue-api:get-basexdb'),$url)
};
\ No newline at end of file
diff --git a/src/vue-poc/features/job/jobs.vue b/src/vue-poc/features/job/jobs.vue
index 449e53f..3c1c307 100644
--- a/src/vue-poc/features/job/jobs.vue
+++ b/src/vue-poc/features/job/jobs.vue
@@ -28,6 +28,7 @@
>
{{ autorefresh?'refresh':'arrow_downward' }}
+
-
+
-
+
{{ props.item.text }}
diff --git a/src/vue-poc/features/model/entity1.vue b/src/vue-poc/features/model/entity1.vue
index 8ec85f9..6fe6530 100644
--- a/src/vue-poc/features/model/entity1.vue
+++ b/src/vue-poc/features/model/entity1.vue
@@ -4,7 +4,7 @@
crumbs
diff --git a/src/vue-poc/features/model/mimetype.vue b/src/vue-poc/features/model/mimetype.vue
new file mode 100644
index 0000000..9adf956
--- /dev/null
+++ b/src/vue-poc/features/model/mimetype.vue
@@ -0,0 +1,109 @@
+
+
+
+
+
+
+
+
+
+ mimetype TODO
+
+
+
+ {{ props.item.text }}
+
+
+
+
+
+
+
+ refresh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.iconclass }}
+ {{ item.name }}
+
+
+
+
+ {{ item.nfields }}
+
+
+ {{ item.description }}
+
+
+
+
+
+
+
+
+
diff --git a/src/vue-poc/features/model/schema.vue b/src/vue-poc/features/model/schema.vue
new file mode 100644
index 0000000..95c98f4
--- /dev/null
+++ b/src/vue-poc/features/model/schema.vue
@@ -0,0 +1,109 @@
+
+
+
+
+
+
+
+
+
+ schema TODO
+
+
+
+ {{ props.item.text }}
+
+
+
+
+
+
+
+ refresh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.iconclass }}
+ {{ item.name }}
+
+
+
+
+ {{ item.nfields }}
+
+
+ {{ item.description }}
+
+
+
+
+
+
+
+
+
diff --git a/src/vue-poc/features/model/taxonomy.vue b/src/vue-poc/features/model/taxonomy.vue
new file mode 100644
index 0000000..5761959
--- /dev/null
+++ b/src/vue-poc/features/model/taxonomy.vue
@@ -0,0 +1,109 @@
+
+
+
+
+
+
+
+
+
+ Taxonomy TODO
+
+
+
+ {{ props.item.text }}
+
+
+
+
+
+
+
+ refresh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.iconclass }}
+ {{ item.name }}
+
+
+
+
+ {{ item.nfields }}
+
+
+ {{ item.description }}
+
+
+
+
+
+
+
+
+
diff --git a/src/vue-poc/features/model/xqdocs.xml b/src/vue-poc/features/model/xqdocs.xml
deleted file mode 100644
index 6e510ba..0000000
--- a/src/vue-poc/features/model/xqdocs.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/vue-poc/features/tasks/readme.md b/src/vue-poc/features/tasks/readme.md
index cea8d94..5a7649b 100644
--- a/src/vue-poc/features/tasks/readme.md
+++ b/src/vue-poc/features/tasks/readme.md
@@ -1 +1,8 @@
Tasks
+
+* Server code `rxq-tasks.xqm`
+* Are defined in `taskdef.xml`
+
+* Each run is logged to `ggg`
+
+* UI vp-paramform
diff --git a/src/vue-poc/features/tasks/runtask.vue b/src/vue-poc/features/tasks/runtask.vue
index f7f6163..5e77d56 100644
--- a/src/vue-poc/features/tasks/runtask.vue
+++ b/src/vue-poc/features/tasks/runtask.vue
@@ -1,4 +1,6 @@
+
diff --git a/src/vue-poc/features/tasks/task/tx-dbimport.xq b/src/vue-poc/features/tasks/task/tx-dbimport.xq
deleted file mode 100644
index 7461a2b..0000000
--- a/src/vue-poc/features/tasks/task/tx-dbimport.xq
+++ /dev/null
@@ -1,25 +0,0 @@
-(:~
-: Import a file or directory into a database
-: @author andy bunce
-: @since july 2018
-:)
-import module namespace dbtools = 'quodatum.dbtools' at "../../../lib/dbtools.xqm";
-
-
-(:~ URL of file or folder to import
- : @default C:/Users/andy/git/vue-poc/src/vue-poc/models/entities
- :)
-declare variable $srcpath as xs:anyURI external :="C:/Users/andy/git/vue-poc/src/vue-poc/models/entities";
-
-(:~ Target BaseX db root path for imported files
- : @default vue-poc
- :)
-declare variable $targetpath as xs:anyURI external :="/entities";
-
-(:~ unused boolean test
- : @default true
- :)
-declare variable $boolean as xs:boolean external :=false();
-
-let $todo:="target"
-return dbtools:sync-from-path($targetpath, $srcpath,false())
diff --git a/src/vue-poc/features/tasks/task/tx-dbimport2.xq b/src/vue-poc/features/tasks/task/tx-dbimport2.xq
index 8ca803b..7487387 100644
--- a/src/vue-poc/features/tasks/task/tx-dbimport2.xq
+++ b/src/vue-poc/features/tasks/task/tx-dbimport2.xq
@@ -7,18 +7,18 @@ import module namespace dbtools = 'quodatum.dbtools' at "../../../lib/dbtools.xq
(:~ URL of file or folder to import
- : @default C:/Users/andy/git/vue-poc/src/vue-poc/models/entities
+ : @default C:\Users\andy\git\vue-poc\src\vue-poc\data\vue-poc\entities\
:)
-declare variable $srcpath as xs:anyURI external :="C:/Users/andy/git/vue-poc/src/vue-poc/models/entities";
+declare variable $srcpath as xs:string external :="C:\Users\andy\git\vue-poc\src\vue-poc\data\vue-poc\entities\";
(:~ Target BaseX db root path for imported files
- : @default /vue-poc/entities
+ : @default /vue-poc/entities/
:)
-declare variable $targetpath as xs:anyURI external :="/vuepoc-test";
+declare variable $targetpath as xs:string external :="/vuepoc-test";
(:~ delete from database if not if import files list
- : @default false
- :)
-declare variable $deleteMissing as xs:boolean external :=false();
+ @default false
+:)
+declare variable $deleteMissing as xs:boolean external :=true();
dbtools:sync-from-path($targetpath, $srcpath,$deleteMissing )
diff --git a/src/vue-poc/features/tasks/taskdef.xml b/src/vue-poc/features/tasks/taskdef.xml
index 3762d25..9ef7c5f 100644
--- a/src/vue-poc/features/tasks/taskdef.xml
+++ b/src/vue-poc/features/tasks/taskdef.xml
@@ -5,12 +5,8 @@
-
- Load files into database
- Load files into database
-
- Import files into a database
+ Import files from drive into a database
Load files into database
@@ -28,7 +24,11 @@
Create xqDoc
xquery documentation
-
+
+
+ Calculate primes
+ performance
+
application template
application template
diff --git a/src/vue-poc/features/tasks/taskhistory.vue b/src/vue-poc/features/tasks/taskhistory.vue
index f0954cb..b0fd8ff 100644
--- a/src/vue-poc/features/tasks/taskhistory.vue
+++ b/src/vue-poc/features/tasks/taskhistory.vue
@@ -9,6 +9,9 @@
Tasks
+
+ History
+
diff --git a/src/vue-poc/features/tasks/tasks.vue b/src/vue-poc/features/tasks/tasks.vue
index ee8f6f7..1fef722 100644
--- a/src/vue-poc/features/tasks/tasks.vue
+++ b/src/vue-poc/features/tasks/tasks.vue
@@ -19,6 +19,8 @@
hide-details single-line @keyup.enter="setfilter"
clearable>
+
+ historyHistory
diff --git a/src/vue-poc/features/tasks/tasks1.vue b/src/vue-poc/features/tasks/tasks1.vue
index 4151d53..039caea 100644
--- a/src/vue-poc/features/tasks/tasks1.vue
+++ b/src/vue-poc/features/tasks/tasks1.vue
@@ -10,7 +10,26 @@
>crumbs
-
+
+
+ homeHome
+
+
+
+ play_circle_outlineRun
+
+
+
+ editEdit
+
+
+
+ historyHistory
+
+
@@ -18,16 +37,12 @@
{{ task }}
- -
- folderRun
-
- -
- folderEdit
-
- -
- historyHistory
-
-
+
+
+ {{ data | pretty }}
@@ -42,27 +57,22 @@
crumbs: [{to: "/tasks", text: "Tasks"},
{ text: this.task}],
- items: [],
+ data: null,
loading: false,
- q: null,
- headers: [
- { text: 'Task', value: 'to' },
- { text: 'Title', value: 'title' },
- { text: 'Description', value: 'description' },
- ]
+ view: null
}
},
methods:{
getTasks(){
this.loading= true;
- HTTP.get("tasks")
+ HTTP.get("tasks/" + this.task)
.then(r=>{
- this.items=r.data;
+ this.data= r.data;
this.loading= false;
})
}
},
- created(){
+ mounted(){
this.getTasks()
}
}
diff --git a/src/vue-poc/imp1.js b/src/vue-poc/imp1.js
new file mode 100644
index 0000000..76ae1f3
--- /dev/null
+++ b/src/vue-poc/imp1.js
@@ -0,0 +1,12 @@
+var fish = { path: '/tasks', component: { template: '' } ,
+ children:[
+ { path: '', component: Tasks, meta:{title:"Runnable tasks"} },
+ { path: 'model', component: Model, meta:{title:"build model"} },
+ { path: 'vuecompile', component: Vuecompile, meta:{title:"vue compile"} },
+ { path: ':task', props: true, component: { template: '' },
+ children:[
+ {path:"", props: true, component: Tasks1 },
+ {path: "run", component: Runtask, props: true, meta:{title:"Run task"} }
+ ]}
+ ]};
+export {fish};
\ No newline at end of file
diff --git a/src/vue-poc/lib/dbtools.xqm b/src/vue-poc/lib/dbtools.xqm
index 97419f8..f2cb467 100644
--- a/src/vue-poc/lib/dbtools.xqm
+++ b/src/vue-poc/lib/dbtools.xqm
@@ -11,9 +11,7 @@ import module namespace db="http://basex.org/modules/db";
import module namespace archive="http://basex.org/modules/archive";
import module namespace hof="http://basex.org/modules/hof";
-(: trailing slash :)
-declare variable $dbtools:webpath:= db:system()/globaloptions/webpath/fn:string()
- || file:dir-separator();
+
(:~
: save all in db to zip
@@ -69,6 +67,7 @@ let $files:=$files!fn:translate(.,"\","/")
let $files:=fn:filter($files,function($f){file:is-file(fn:concat($path,$f))})
let $dbpath:=tokenize($dbpath,"/")[.]
let $dbname:= head($dbpath)
+let $dbpath:=string-join(tail($dbpath),"/") || "/"
return if(db:exists($dbname)) then
(
for $d in db:list($dbname)
@@ -77,14 +76,16 @@ return if(db:exists($dbname)) then
for $f in $files
let $_:=fn:trace($path || $f,"file:")
- let $content:=$ingest($path || $f)
- return db:replace($dbname,$f,$content),
+ let $content:=$ingest($path || $f)
+ let $dest:= $dbpath || $f
+ return db:replace($dbname,$dest,$content),
db:optimize($dbname)
)
else
- let $full:=$files!fn:concat($path,.)
- let $content:=$full!$ingest(.)
- return (db:create($dbname,$content,$files))
+ let $src:= $files!fn:concat($path,.)
+ let $dest:= $files!fn:concat($dbpath,.)
+ let $content:= $src!$ingest(.)
+ return (db:create($dbname,$content,$dest))
};
diff --git a/src/vue-poc/lib/history.xqm b/src/vue-poc/lib/history.xqm
index 0a5c2a4..83f96e9 100644
--- a/src/vue-poc/lib/history.xqm
+++ b/src/vue-poc/lib/history.xqm
@@ -6,6 +6,9 @@ module namespace hlog = 'quodatum.data.history';
declare namespace hist="urn:quodatum:vue-poc.history";
declare variable $hlog:doc as element(hist:history):=db:open("vue-poc","/history.xml")/hist:history;
+(:~
+ wrap $item in node and insert in /history.xml in database vue-poc
+ :)
declare
%updating
function hlog:save($item as element(*))
diff --git a/src/vue-poc/lib/query-a.xqm b/src/vue-poc/lib/query-a.xqm
index 0b61928..80ef729 100644
--- a/src/vue-poc/lib/query-a.xqm
+++ b/src/vue-poc/lib/query-a.xqm
@@ -1,5 +1,5 @@
(:~
- : XQuery evalution helpers library
+ : XQuery evaluation of uri helper library
: query-a:inspect($mod as xs:anyURI) return {description:.., updating:.., url:.., fields:[{model:..,label:..,type:..}]}
: query-a:params($mod as xs:anyURI)
: query-a:run($query as xs:anyURI,$params as map(*))
@@ -47,6 +47,7 @@ declare function query-a:cast($val as item(),$type as xs:string)
as item()
{
switch($type)
+ case "xs:boolean" return $val="true"
case "xs:anyURI" return xs:anyURI($val)
default return $val
};
diff --git a/src/vue-poc/models.gen.xqm b/src/vue-poc/models.gen.xqm
index 3d3a211..aa9c06d 100644
--- a/src/vue-poc/models.gen.xqm
+++ b/src/vue-poc/models.gen.xqm
@@ -1,5 +1,5 @@
(: entity access maps
- : auto generated from xml files in entities folder at: 2020-09-04T11:37:53.188+01:00
+ : auto generated from xml files in entities folder at: 2020-09-30T17:59:30.342+01:00
:)
module namespace entity = 'quodatum.models.generated';
@@ -368,6 +368,44 @@ hof:top-k-by(admin:logs(), string#1, 2)
"views": map{
'filter': 'name description'
+ }
+ },
+ "favorites": map{
+ "name": "favorites",
+ "description": "vue-poc favourites ",
+ "access": map{
+ "created": function($_ as element()) as xs:string {$_/@when },
+ "id": function($_ as element()) as xs:string {$_/@id },
+ "url": function($_ as element()) as xs:string {$_/@url },
+ "user": function($_ as element()) as xs:string {$_/@user } },
+
+ "filter": function($item,$q) as xs:boolean{
+ some $e in ( ) satisfies
+ fn:contains($e,$q, 'http://www.w3.org/2005/xpath-functions/collation/html-ascii-case-insensitive')
+ },
+ "json": map{
+ "created": function($_ as element()) as element(created)? {
+ (: xs:string :)
+ fn:data($_/@when)!element created { .}
+ },
+ "id": function($_ as element()) as element(id)? {
+ (: xs:string :)
+ fn:data($_/@id)!element id { .}
+ },
+ "url": function($_ as element()) as element(url)? {
+ (: xs:string :)
+ fn:data($_/@url)!element url { .}
+ },
+ "user": function($_ as element()) as element(user)? {
+ (: xs:string :)
+ fn:data($_/@user)!element user { .}
+ } },
+
+ "data": function() as element(favorite)*
+ { doc("vue-poc/favorites.xml")/favorites/favorite },
+
+ "views": map{
+
}
},
"filehistory": map{
diff --git a/src/vue-poc/package.json b/src/vue-poc/package.json
index 124a9f2..fc5c56b 100644
--- a/src/vue-poc/package.json
+++ b/src/vue-poc/package.json
@@ -15,7 +15,7 @@
"qs": "6.4.0",
"localforage": "1.7.1",
"momentjs": "2.24.0",
- "@koumoul/vjsf": "1.10.0",
+ "@koumoul/vjsf": "1.14.0",
"prism": "1.15.0",
"vue-prism-component": "1.1.1",
"vis-timeline-graph2d": "4.20.1",
diff --git a/src/vue-poc/router.js b/src/vue-poc/router.js
index f032a66..e932946 100644
--- a/src/vue-poc/router.js
+++ b/src/vue-poc/router.js
@@ -1,4 +1,5 @@
// vue-poc application routes
+
const router = new VueRouter({
base:"/vue-poc/ui/",
mode: 'history',
@@ -19,38 +20,45 @@ const router = new VueRouter({
{path: '/images', component: { template: '' },
children: [
- {path: '', redirect: 'item' },
- { path: 'item', name:'images', component: Images, meta:{title: "Images"} },
- { path: 'report', name:"image-reports", component: Report, props: true, meta:{title: "Image report"}},
- { path: 'item/:id', name:"image",component: Image, props: true, meta:{title: "Image details"}},
- { path: 'thumbnail', component: Thumbnail, meta:{title:"Thumbnail generator"} },
- { path: 'keywords', component: Keywords, meta:{title:"Image keywords"} },
- { path: 'dates', component: Dates, meta:{title:"Image dates"} },
- { path: 'people', component: People, meta:{title:"Image people"} }
+ {path: '', redirect: 'item' },
+ { path: 'item', name:'images', component: Images, meta:{title: "Images"} },
+ { path: 'report', name:"image-reports", component: Report, props: true, meta:{title: "Image report"}},
+ { path: 'item/:id', name:"image",component: Image, props: true, meta:{title: "Image details"}},
+ { path: 'thumbnail', component: Thumbnail, meta:{title:"Thumbnail generator"} },
+ { path: 'keywords', component: Keywords, meta:{title:"Image keywords"} },
+ { path: 'dates', component: Dates, meta:{title:"Image dates"} },
+ { path: 'people', component: People, meta:{title:"Image people"} }
]},
{ path: '/documentation', component: Documentation, meta:{title:"documentation"} },
+ { path: '/documentation/xqdoc', component: Xqdocs, meta:{title:"XQdoc"} },
{ path: '/logdate', component: Basexlogdate, meta:{title:"log files"} },
{ path: '/logdate/:date', component: Basexlogdate1, props:true, meta:{title:"log files"} },
- { path: '/entity', component: Entity, meta:{title:"Entities"} },
- { path: '/entity/:entity', component: { template: '' }
- ,children: [
- {
- path: '',
- component: Entity1, props: true, meta:{title:"Entity"}
- },
- {
- path: 'data', component: Entity1data, props: true, meta:{title:"Entity data"}
- }
- ]
- },
-
- { path: '/namespace', component: Namespace, meta:{title:"Namespaces"} },
- { path: '/namespace/item', component: Namespace1, meta:{title:"Namespace"} },
-
+ {path: '/model', component: { template: '' },
+ children: [
+ {path: '', redirect: 'schema' },
+ { path: 'schema', name:"schema", component: Schema, meta:{title:"Schemas"} },
+ { path: 'taxonomy', component: Taxonomy, meta:{title:"Taxonomies"} },
+ { path: 'mimetype', component: Mimetype, meta:{title:"Mimetypes"} },
+ { path: 'namespace', component: Namespace, meta:{title:"Namespaces"} },
+ { path: 'namespace/item', component: Namespace1, meta:{title:"Namespace"} },
+ { path: 'entity', component: Entity, meta:{title:"Entities"} },
+ { path: 'entity/:entity', component: { template: '' }
+ ,children: [
+ {
+ path: '',
+ component: Entity1, props: true, meta:{title:"Entity"}
+ },
+ {
+ path: 'data', component: Entity1data, props: true, meta:{title:"Entity data"}
+ }
+ ]
+ }
+ ]},
+
{ path: '/select', component: Select, meta:{title:"Select"} },
{ path: '/search', component: Search, meta:{title:"Search"} },
{ path: '/tabs', name: "multi-edit", component: Tabs,meta:{title:"tab test"} },
@@ -111,8 +119,7 @@ const router = new VueRouter({
},
{ path: '/history', component: { template: '' }
,children: [
- { path: 'files', component: Filehistory, meta:{title: "File History"} },
- { path: 'tasks', name: 'taskhistory', component: Taskhistory, meta:{title: "Task History"} },
+ { path: 'files', component: Filehistory, meta:{title: "File History"} }
]
},
{ path: '/labs', component: { template: '' }
diff --git a/src/vue-poc/static/app-gen.js b/src/vue-poc/static/app-gen.js
index bb53681..ed45a8c 100644
--- a/src/vue-poc/static/app-gen.js
+++ b/src/vue-poc/static/app-gen.js
@@ -1,4 +1,4 @@
-// generated 2020-09-04T12:21:45.271+01:00
+// generated 2020-09-30T18:25:58.643+01:00
// src: file:///C:/Users/andy/git/vue-poc/src/vue-poc/components/qd-autoheight.vue
Vue.component('qd-autoheight',{template:`
@@ -17,7 +17,7 @@ Vue.component('qd-autoheight',{template:`
var e=el;
// console.log("top",e.offsetTop,e.getBoundingClientRect().top,window.innerHeight);
var h=window.innerHeight - e.getBoundingClientRect().top -10;
- var h=Math.max(1,h) ;
+ h=Math.max(1,h) ;
// console.log("h",h)
e.style.height=h +"px";
}
@@ -346,18 +346,17 @@ Vue.component('qd-search',{template:`
-
-
- arrow_forward
-
-
-
-
- {{ item.text }}
-
- Page {{ item.value }}
+
+ Search "{{ item.text }}"
+ or goto
+
+ {{ item.value }}
+ launch
+
+
+
@@ -379,7 +378,7 @@ Vue.component('qd-search',{template:`
this.loading = true
// Simulated ajax query
setTimeout(() => {
- this.items2 = this.si?this.matchItems(this.si.toLowerCase()):[],
+ this.items2 = this.si?this.matchItems(this.si.toLowerCase()):[]
this.loading = false
}, 500)
},
@@ -390,8 +389,8 @@ Vue.component('qd-search',{template:`
matchItems(typed){
var hits=this.titles;
- var typed=typed.toLowerCase();
- hits=hits.filter(item=>item.title.indexOf(typed) !== -1)
+ typed=typed.toLowerCase();
+ hits=hits.filter(item=>item.title.indexOf(typed) !== -1)
return hits.map(r=>{return {text:r.title,
value:r.path}
});
@@ -608,7 +607,7 @@ Vue.component('vis-time-line',{template:`
// src: file:///C:/Users/andy/git/vue-poc/src/vue-poc/components/vp-entitylink.vue
Vue.component('vp-entitylink',{template:`
- E
+ E
`,
props: ['entity']
@@ -627,19 +626,24 @@ Vue.component('vp-favorite',{template:`
- Bookmark this page
+ Add to favorites
+
+ close
- {{$route.meta.title}}
+ {{$route.meta.title}}
+ content_copy
+
+ Done
- Cancel
- Save
+ Cancel
+
`,
@@ -649,27 +653,28 @@ Vue.component('vp-favorite',{template:`
},
data(){
return {
+ canCopy:false,
tags: [],
- taglist: [
- 'todo',
- 'find',
- 'some',
- 'good',
- 'tags'
- ],
+ taglist: [ 'todo', 'find', 'some', 'good', 'tags' ],
}
},
methods:{
set(v){
this.$emit('update:frmfav', v)
},
-
+ async setclip(){
+ await navigator.clipboard.writeText(this.$route.fullPath);
+ alert('Copied!' + this.$route.fullPath);
+ },
favorite(){
this.$store.commit('increment')
console.log(this.$store.state.count)
alert("save");
}
- }
+ },
+ created() {
+ this.canCopy = !!navigator.clipboard;
+ },
}
);
@@ -812,7 +817,7 @@ Vue.component('vp-paramform',{template:`
-
+
@@ -1836,7 +1841,7 @@ const Routes2=Vue.extend({template:`
- {{ active.path}}
+ {{ active.name}}
link
@@ -1925,8 +1930,8 @@ const Routes2=Vue.extend({template:`
this.refresh()
if(this.$route.query.index){
const index= parseInt(this.$route.query.index)
- //const h= this.findItem(this.routes,index)
- //console.log("search",h, index)
+ const h= this.findItem(this.routes,index)
+ console.log("search",h, index)
//this.active=h
}
}
@@ -2453,77 +2458,36 @@ const Log=Vue.extend({template:`
// src: file:///C:/Users/andy/git/vue-poc/src/vue-poc/features/collection/documentation.vue
const Documentation=Vue.extend({template:`
-
-
-
-
-
- XQDocs
-
-
-
-
- add_circle
-
- refresh
-
-
-
-
-
-
-
-
- {{ item.name }}
-
- go
-
- {{ item.id }}
-
- {{ item.created | fromNow }}
-
-
-
- Run
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+ {{ props.item.icon }}
+ {{ props.item.name }}
+
+
+
+
+
+
+
+ -
+ QXQdoc
+
+ -
+ QXQdoc
+
+
+
+
`,
- data: function(){
- return {
- itemsPerPage: 100,
- page: 1,
- items:[],
- search: '',
- filter: {},
- loading: false
- }
- },
- methods:{
- get() {
- this.loading=true;
- HTTP.get('xqdocjob')
- .then((res) => {
- this.items = res.data;
- this.loading=false;
- });
- },
- doEdit(item){
- console.log("history: ",item)
- router.push({ path: 'edit', query: { url:item.url, protocol:item.protocol }})
- }
- },
- created:function(){
- this.get()
- console.log("history")
- }
+
}
);
@@ -2811,6 +2775,83 @@ const Files=Vue.extend({template:`
);
+// src: file:///C:/Users/andy/git/vue-poc/src/vue-poc/features/collection/xqdocs.vue
+const Xqdocs=Vue.extend({template:`
+
+
+
+
+
+ XQDocs
+
+
+
+
+ add_circle
+
+ refresh
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+ go
+
+ {{ item.id }}
+
+ {{ item.created | fromNow }}
+
+
+
+ Run
+
+
+
+
+
+
+
+
+
+ `,
+
+ data: function(){
+ return {
+ itemsPerPage: 100,
+ page: 1,
+ items:[],
+ search: '',
+ filter: {},
+ loading: false
+ }
+ },
+ methods:{
+ get() {
+ this.loading=true;
+ HTTP.get('xqdocjob')
+ .then((res) => {
+ this.items = res.data;
+ this.loading=false;
+ });
+ },
+ doEdit(item){
+ console.log("history: ",item)
+ router.push({ path: 'edit', query: { url:item.url, protocol:item.protocol }})
+ }
+ },
+ created:function(){
+ this.get()
+ console.log("history")
+ }
+}
+
+ );
+
// src: file:///C:/Users/andy/git/vue-poc/src/vue-poc/features/components/markdown.vue
const Markdown=Vue.extend({template:`
@@ -3171,11 +3212,12 @@ created:function(){
const Tree2=Vue.extend({template:`
-
- vue-treeselect@0.0.29
-
- todo
+
+ vue-treeselect@0.0.29
+
+ todo
+
@@ -5138,6 +5180,7 @@ const Jobs=Vue.extend({template:`
{{ autorefresh?'refresh':'arrow_downward' }}
+
@@ -5487,7 +5530,7 @@ const Entity=Vue.extend({template:`
-
+
{{ props.item.text }}
@@ -5573,7 +5616,7 @@ const Entity1=Vue.extend({template:`
- crumbs
+ crumbs
@@ -5775,6 +5818,279 @@ const Entity1data=Vue.extend({template:`
);
+// src: file:///C:/Users/andy/git/vue-poc/src/vue-poc/features/model/mimetype.vue
+const Mimetype=Vue.extend({template:`
+
+
+
+
+
+
+
+ mimetype TODO
+
+
+
+ {{ props.item.text }}
+
+
+
+
+
+
+
+ refresh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.iconclass }}
+ {{ item.name }}
+
+
+
+
+ {{ item.nfields }}
+
+
+ {{ item.description }}
+
+
+
+
+
+
+ `,
+
+ data: function(){
+ return {
+ itemsPerPage: 100,
+ page: 1,
+ items:[],
+ search: '',
+ filter: {},
+ loading: false,
+ q: '',
+ selected:[]
+ }
+ },
+ methods:{
+ getItems(){
+ this.loading=true
+ HTTP.get("data/entity",{params:{q:this.q}})
+ .then(r=>{
+ this.loading=false
+ //console.log(r.data)
+ //var items=r.data.items.filter(item=>{return item.text!="[GET] http://localhost:8984/vue-poc/api/log"})
+ this.items=r.data.items
+ })
+ },
+ setfilter(){
+ console.log("TODO",this.q);
+ this.$router.push({ query: {url: this.url,
+ q: this.q }})
+ }
+ },
+
+ created:function(){
+ this.getItems()
+ },
+}
+
+ );
+
+// src: file:///C:/Users/andy/git/vue-poc/src/vue-poc/features/model/schema.vue
+const Schema=Vue.extend({template:`
+
+
+
+
+
+
+
+ schema TODO
+
+
+
+ {{ props.item.text }}
+
+
+
+
+
+
+
+ refresh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.iconclass }}
+ {{ item.name }}
+
+
+
+
+ {{ item.nfields }}
+
+
+ {{ item.description }}
+
+
+
+
+
+
+ `,
+
+ data: function(){
+ return {
+ itemsPerPage: 100,
+ page: 1,
+ items:[],
+ search: '',
+ filter: {},
+ loading: false,
+ q: '',
+ selected:[]
+ }
+ },
+ methods:{
+ getItems(){
+ this.loading=true
+ HTTP.get("data/entity",{params:{q:this.q}})
+ .then(r=>{
+ this.loading=false
+ //console.log(r.data)
+ //var items=r.data.items.filter(item=>{return item.text!="[GET] http://localhost:8984/vue-poc/api/log"})
+ this.items=r.data.items
+ })
+ },
+ setfilter(){
+ console.log("TODO",this.q);
+ this.$router.push({ query: {url: this.url,
+ q: this.q }})
+ }
+ },
+
+ created:function(){
+ this.getItems()
+ },
+}
+
+ );
+
+// src: file:///C:/Users/andy/git/vue-poc/src/vue-poc/features/model/taxonomy.vue
+const Taxonomy=Vue.extend({template:`
+
+
+
+
+
+
+
+ Taxonomy TODO
+
+
+
+ {{ props.item.text }}
+
+
+
+
+
+
+
+ refresh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.iconclass }}
+ {{ item.name }}
+
+
+
+
+ {{ item.nfields }}
+
+
+ {{ item.description }}
+
+
+
+
+
+
+ `,
+
+ data: function(){
+ return {
+ itemsPerPage: 100,
+ page: 1,
+ items:[],
+ search: '',
+ filter: {},
+ loading: false,
+ q: '',
+ selected:[]
+ }
+ },
+ methods:{
+ getItems(){
+ this.loading=true
+ HTTP.get("data/entity",{params:{q:this.q}})
+ .then(r=>{
+ this.loading=false
+ //console.log(r.data)
+ //var items=r.data.items.filter(item=>{return item.text!="[GET] http://localhost:8984/vue-poc/api/log"})
+ this.items=r.data.items
+ })
+ },
+ setfilter(){
+ console.log("TODO",this.q);
+ this.$router.push({ query: {url: this.url,
+ q: this.q }})
+ }
+ },
+
+ created:function(){
+ this.getItems()
+ },
+}
+
+ );
+
// src: file:///C:/Users/andy/git/vue-poc/src/vue-poc/features/namespaces/namespace.vue
const Namespace=Vue.extend({template:`
@@ -7400,6 +7716,9 @@ const Taskhistory=Vue.extend({template:`
Tasks
+
+ History
+
@@ -7476,6 +7795,8 @@ const Tasks=Vue.extend({template:`
+
+ historyHistory
@@ -7541,7 +7862,23 @@ const Tasks1=Vue.extend({template:`
crumbs
-
+
+
+ homeHome
+
+
+
+ play_circle_outlineRun
+
+
+
+ editEdit
+
+
+
+ historyHistory
+
+
@@ -7549,16 +7886,12 @@ const Tasks1=Vue.extend({template:`
{{ task }}
- -
- folderRun
-
- -
- folderEdit
-
- -
- historyHistory
-
-
+
+
+ {{ data | pretty }}
@@ -7572,27 +7905,22 @@ const Tasks1=Vue.extend({template:`
crumbs: [{to: "/tasks", text: "Tasks"},
{ text: this.task}],
- items: [],
+ data: null,
loading: false,
- q: null,
- headers: [
- { text: 'Task', value: 'to' },
- { text: 'Title', value: 'title' },
- { text: 'Description', value: 'description' },
- ]
+ view: null
}
},
methods:{
getTasks(){
this.loading= true;
- HTTP.get("tasks")
+ HTTP.get("tasks/" + this.task)
.then(r=>{
- this.items=r.data;
+ this.data= r.data;
this.loading= false;
})
}
},
- created(){
+ mounted(){
this.getTasks()
}
}
@@ -8163,6 +8491,7 @@ const Transform=Vue.extend({template:`
// src: C:\Users\andy\git\vue-poc\src\vue-poc\router.js
// vue-poc application routes
+
const router = new VueRouter({
base:"/vue-poc/ui/",
mode: 'history',
@@ -8183,38 +8512,45 @@ const router = new VueRouter({
{path: '/images', component: { template: '' },
children: [
- {path: '', redirect: 'item' },
- { path: 'item', name:'images', component: Images, meta:{title: "Images"} },
- { path: 'report', name:"image-reports", component: Report, props: true, meta:{title: "Image report"}},
- { path: 'item/:id', name:"image",component: Image, props: true, meta:{title: "Image details"}},
- { path: 'thumbnail', component: Thumbnail, meta:{title:"Thumbnail generator"} },
- { path: 'keywords', component: Keywords, meta:{title:"Image keywords"} },
- { path: 'dates', component: Dates, meta:{title:"Image dates"} },
- { path: 'people', component: People, meta:{title:"Image people"} }
+ {path: '', redirect: 'item' },
+ { path: 'item', name:'images', component: Images, meta:{title: "Images"} },
+ { path: 'report', name:"image-reports", component: Report, props: true, meta:{title: "Image report"}},
+ { path: 'item/:id', name:"image",component: Image, props: true, meta:{title: "Image details"}},
+ { path: 'thumbnail', component: Thumbnail, meta:{title:"Thumbnail generator"} },
+ { path: 'keywords', component: Keywords, meta:{title:"Image keywords"} },
+ { path: 'dates', component: Dates, meta:{title:"Image dates"} },
+ { path: 'people', component: People, meta:{title:"Image people"} }
]},
{ path: '/documentation', component: Documentation, meta:{title:"documentation"} },
+ { path: '/documentation/xqdoc', component: Xqdocs, meta:{title:"XQdoc"} },
{ path: '/logdate', component: Basexlogdate, meta:{title:"log files"} },
{ path: '/logdate/:date', component: Basexlogdate1, props:true, meta:{title:"log files"} },
- { path: '/entity', component: Entity, meta:{title:"Entities"} },
- { path: '/entity/:entity', component: { template: '' }
- ,children: [
- {
- path: '',
- component: Entity1, props: true, meta:{title:"Entity"}
- },
- {
- path: 'data', component: Entity1data, props: true, meta:{title:"Entity data"}
- }
- ]
- },
-
- { path: '/namespace', component: Namespace, meta:{title:"Namespaces"} },
- { path: '/namespace/item', component: Namespace1, meta:{title:"Namespace"} },
-
+ {path: '/model', component: { template: '' },
+ children: [
+ {path: '', redirect: 'schema' },
+ { path: 'schema', name:"schema", component: Schema, meta:{title:"Schemas"} },
+ { path: 'taxonomy', component: Taxonomy, meta:{title:"Taxonomies"} },
+ { path: 'mimetype', component: Mimetype, meta:{title:"Mimetypes"} },
+ { path: 'namespace', component: Namespace, meta:{title:"Namespaces"} },
+ { path: 'namespace/item', component: Namespace1, meta:{title:"Namespace"} },
+ { path: 'entity', component: Entity, meta:{title:"Entities"} },
+ { path: 'entity/:entity', component: { template: '' }
+ ,children: [
+ {
+ path: '',
+ component: Entity1, props: true, meta:{title:"Entity"}
+ },
+ {
+ path: 'data', component: Entity1data, props: true, meta:{title:"Entity data"}
+ }
+ ]
+ }
+ ]},
+
{ path: '/select', component: Select, meta:{title:"Select"} },
{ path: '/search', component: Search, meta:{title:"Search"} },
{ path: '/tabs', name: "multi-edit", component: Tabs,meta:{title:"tab test"} },
@@ -8275,8 +8611,7 @@ const router = new VueRouter({
},
{ path: '/history', component: { template: '' }
,children: [
- { path: 'files', component: Filehistory, meta:{title: "File History"} },
- { path: 'tasks', name: 'taskhistory', component: Taskhistory, meta:{title: "Task History"} },
+ { path: 'files', component: Filehistory, meta:{title: "File History"} }
]
},
{ path: '/labs', component: { template: '' }
@@ -8483,13 +8818,14 @@ const Vuepoc=Vue.extend({template:`
frmfav: false,
items: [
- {href: '/',text: 'Dashboard', icon: 'dashboard' },
+ {href: '/',text: 'Dashboard', icon: 'home' },
{
icon: 'input',
text: 'Actions' ,
model: false,
children: [
{href: '/eval',text: 'Query',icon: 'play_circle_outline'},
+ {href: '/tasks',text: 'Tasks',icon: 'update'},
{href: '/edit',text: 'Edit',icon: 'mode_edit'},
{href: '/tabs',text: 'Tabs',icon: 'switch_camera'},
{href: '/validate',text: 'Validate',icon: 'playlist_add_check'},
@@ -8504,8 +8840,8 @@ const Vuepoc=Vue.extend({template:`
children: [
{href: '/database', text: 'Databases',icon: 'developer_mode' },
{href: '/files', text: 'File system',icon: 'folder' },
-
- {href: '/tasks',text: 'Tasks',icon: 'update'},
+ {href: '/documentation', text: 'Documentation',icon: 'library_books' },
+
{href: '/logdate',text: 'XML logs',icon: 'dns'},
{href: '/history/files',text: 'history',icon: 'history'}
]},
@@ -8514,9 +8850,11 @@ const Vuepoc=Vue.extend({template:`
text: 'Models' ,
model: false,
children: [
- {href: '/entity', text: 'Entities',icon: 'redeem' },
- {href: '/documentation', text: 'Documentation',icon: 'library_books' },
- {href: '/namespace', text: 'Namespaces',icon: 'label' },
+ {href: '/model/entity', text: 'Entities',icon: 'redeem' },
+ {href: '/model/namespace', text: 'Namespaces',icon: 'dns' },
+ {href: '/model/schema', text: 'Schemas',icon: 'verified' },
+ {href: '/model/taxonomy', text: 'Taxonomies',icon: 'local_offer' },
+ {href: '/model/mimetype', text: 'Mimetypes',icon: 'assignment' },
]},
{
@@ -8566,7 +8904,7 @@ const Vuepoc=Vue.extend({template:`
children: [
{href: '/labs/scratch',text: 'Scratch pad',icon: 'filter_frames'},
{href: '/labs/form',text: 'Forms',icon: 'subtitles' },
- {href: '/labs/timeline',text: 'Time line',icon: 'timelapse'},
+ {href: '/labs/timeline',text: 'Time line',icon: 'event_note'},
{href: '/labs/svg',text: 'SVG',icon: 'extension'},
{href: '/labs/svg2',text: 'SVG2',icon: 'extension'},
{href: '/labs/tree',text: 'Tree',icon: 'nature'},
diff --git a/src/vue-poc/static/app.html b/src/vue-poc/static/app.html
index d4681aa..394aa67 100644
--- a/src/vue-poc/static/app.html
+++ b/src/vue-poc/static/app.html
@@ -14,7 +14,7 @@
-
+
@@ -60,7 +60,7 @@
-
+
diff --git a/src/vue-poc/tasks/virus.xq b/src/vue-poc/tasks/corona-ukdata.xq
similarity index 100%
rename from src/vue-poc/tasks/virus.xq
rename to src/vue-poc/tasks/corona-ukdata.xq
diff --git a/src/vue-poc/tasks/primes.xq b/src/vue-poc/tasks/primes.xq
index 94fb05d..4338287 100644
--- a/src/vue-poc/tasks/primes.xq
+++ b/src/vue-poc/tasks/primes.xq
@@ -1,2 +1,16 @@
-declare variable $MAX external:= 100000;
-for $i in (2 to $MAX) return if (every $j in (2 to $i - 1) satisfies $i mod $j ne 0) then $i else ()
\ No newline at end of file
+(:~
+ : performance test
+ :)
+
+ (:~ calculate primes upto
+ : @default 100000
+ :)
+declare variable $MAX as xs:integer external:= 100000;
+
+declare function local:go(){
+for $i in (2 to $MAX)
+return if (every $j in (2 to $i - 1) satisfies $i mod $j ne 0)
+ then $i
+ else ()
+};
+local:go()=>count()=>update:output()
\ No newline at end of file
diff --git a/tests/vue-poc/data/schema/dtd-default.xml b/tests/vue-poc/data/schema/dtd-default.xml
new file mode 100644
index 0000000..11a7fc4
--- /dev/null
+++ b/tests/vue-poc/data/schema/dtd-default.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+]>
+
+
+ Dave
+ Susan
+ Reminder
+ Dont forget to buy milk on the way home.
+
\ No newline at end of file
diff --git a/tests/vue-poc/data/schema/readme.md b/tests/vue-poc/data/schema/readme.md
new file mode 100644
index 0000000..cfcdb04
--- /dev/null
+++ b/tests/vue-poc/data/schema/readme.md
@@ -0,0 +1 @@
+dtd-default get attribute on load
\ No newline at end of file