From 8d841ad7cba075c21f9fca273193e38c1bd6ab1f Mon Sep 17 00:00:00 2001 From: andy Date: Wed, 5 Jul 2017 23:05:34 +0100 Subject: [PATCH] vuetify 0.13.0 --- .settings/de.loskutov.FileSync.prefs | 2 +- src/vue-poc/{static => components}/core.js | 28 +- src/vue-poc/{static => components}/filters.js | 0 src/vue-poc/components/my-component.vue | 12 + src/vue-poc/components/nav-list.vue | 76 ++ src/vue-poc/expath-pkg.xml | 2 +- src/vue-poc/{templates => features}/404.vue | 0 .../features/collection/collections.xqm | 85 ++ .../collection}/files.vue | 34 +- .../collection}/history.vue | 11 +- .../{templates => features/edit}/edit.vue | 46 +- src/vue-poc/features/edit/edit.xqm | 62 + src/vue-poc/features/eval/eval.vue | 139 +++ .../{templates => features}/eval/eval.xqm | 25 + src/vue-poc/features/home.vue | 28 + src/vue-poc/features/job/jobs.vue | 107 ++ src/vue-poc/features/job/jobs.xqm | 46 + .../{templates => features/login}/login.vue | 16 +- src/vue-poc/{ => features/login}/login.xqm | 0 src/vue-poc/{templates => features}/logs.vue | 0 .../{templates => features}/options.vue | 10 +- .../{templates => features}/people.vue | 4 +- .../{templates => features}/ping/ping.vue | 0 .../{templates => features}/ping/ping.xqm | 0 .../{templates => features}/puzzle.vue | 0 .../{templates => features}/search.vue | 0 .../{templates => features}/select.vue | 5 +- .../{templates => features}/settings.vue | 9 +- src/vue-poc/{templates => features}/tabs.vue | 6 +- src/vue-poc/{templates => features}/tasks.vue | 0 .../thumbnail/thumbnail.vue | 0 .../thumbnail/thumbnail.xqm | 0 src/vue-poc/lib/file.xqm | 23 + src/vue-poc/lib/util.xqm | 15 +- src/vue-poc/static/app-gen.js | 1097 +++++++++-------- src/vue-poc/static/app.html | 13 +- src/vue-poc/tasks/createthumbs.xq | 1 + src/vue-poc/tasks/primes.xq | 2 + src/vue-poc/tasks/scanpics.xq | 8 + src/vue-poc/templates/eval/eval.vue | 109 -- src/vue-poc/templates/home.vue | 31 - src/vue-poc/templates/job/jobs.vue | 26 - src/vue-poc/templates/job/jobs.xqm | 25 - src/vue-poc/vue-api2.xqm | 136 +- tools/compile.xq | 55 +- 45 files changed, 1317 insertions(+), 977 deletions(-) rename src/vue-poc/{static => components}/core.js (92%) rename src/vue-poc/{static => components}/filters.js (100%) create mode 100644 src/vue-poc/components/my-component.vue create mode 100644 src/vue-poc/components/nav-list.vue rename src/vue-poc/{templates => features}/404.vue (100%) create mode 100644 src/vue-poc/features/collection/collections.xqm rename src/vue-poc/{templates => features/collection}/files.vue (86%) rename src/vue-poc/{templates => features/collection}/history.vue (77%) rename src/vue-poc/{templates => features/edit}/edit.vue (90%) create mode 100644 src/vue-poc/features/edit/edit.xqm create mode 100644 src/vue-poc/features/eval/eval.vue rename src/vue-poc/{templates => features}/eval/eval.xqm (64%) create mode 100644 src/vue-poc/features/home.vue create mode 100644 src/vue-poc/features/job/jobs.vue create mode 100644 src/vue-poc/features/job/jobs.xqm rename src/vue-poc/{templates => features/login}/login.vue (89%) rename src/vue-poc/{ => features/login}/login.xqm (100%) rename src/vue-poc/{templates => features}/logs.vue (100%) rename src/vue-poc/{templates => features}/options.vue (87%) rename src/vue-poc/{templates => features}/people.vue (88%) rename src/vue-poc/{templates => features}/ping/ping.vue (100%) rename src/vue-poc/{templates => features}/ping/ping.xqm (100%) rename src/vue-poc/{templates => features}/puzzle.vue (100%) rename src/vue-poc/{templates => features}/search.vue (100%) rename src/vue-poc/{templates => features}/select.vue (95%) rename src/vue-poc/{templates => features}/settings.vue (94%) rename src/vue-poc/{templates => features}/tabs.vue (94%) rename src/vue-poc/{templates => features}/tasks.vue (100%) rename src/vue-poc/{templates => features}/thumbnail/thumbnail.vue (100%) rename src/vue-poc/{templates => features}/thumbnail/thumbnail.xqm (100%) create mode 100644 src/vue-poc/lib/file.xqm create mode 100644 src/vue-poc/tasks/createthumbs.xq create mode 100644 src/vue-poc/tasks/primes.xq create mode 100644 src/vue-poc/tasks/scanpics.xq delete mode 100644 src/vue-poc/templates/eval/eval.vue delete mode 100644 src/vue-poc/templates/home.vue delete mode 100644 src/vue-poc/templates/job/jobs.vue delete mode 100644 src/vue-poc/templates/job/jobs.xqm diff --git a/.settings/de.loskutov.FileSync.prefs b/.settings/de.loskutov.FileSync.prefs index 14dc75c..6500af3 100644 --- a/.settings/de.loskutov.FileSync.prefs +++ b/.settings/de.loskutov.FileSync.prefs @@ -1,5 +1,5 @@ WARNING=DO NOT MODIFY THIS FILE IF YOU DON'T UNDERSTAND -defaultDestination=C\:/Program Files (x86)/basex/webapp +defaultDestination=C\:/Users/andy/Desktop/basex.865b/webapp defaultVariables= eclipse.preferences.version=1 includeTeamPrivateFiles=false diff --git a/src/vue-poc/static/core.js b/src/vue-poc/components/core.js similarity index 92% rename from src/vue-poc/static/core.js rename to src/vue-poc/components/core.js index 4e299e3..b07943d 100644 --- a/src/vue-poc/static/core.js +++ b/src/vue-poc/components/core.js @@ -58,8 +58,8 @@ Vue.component('nav-list', { - - + + {{ item.icon }} @@ -74,12 +74,9 @@ Vue.component('nav-list', { - - - + + - - + + {{ item.icon }} @@ -102,7 +99,6 @@ Vue.component('nav-list', { - `, created:function(){ @@ -178,16 +174,16 @@ const app = new Vue({ {href: 'files', text: 'File system',icon: 'folder' }, {href: 'edit',text: 'edit',icon: 'mode_edit'}, {href: 'history',text: 'history',icon: 'history'}, + {href: 'logs',text: 'Server logs',icon: 'dns'} ]}, { icon: 'directions_run', text: 'Actions' , model: false, children: [ - {href: 'eval',text: 'Evaluate',icon: 'cake'}, - {href: 'tasks',text: 'Tasks',icon: 'build'}, - {href: 'jobs',text: 'Jobs',icon: 'print'}, - {href: 'logs',text: 'Server logs',icon: 'dns'} + {href: 'eval',text: 'Evaluate',icon: 'play_circle_outline'}, + {href: 'jobs',text: 'Jobs',icon: 'dashboard'}, + {href: 'tasks',text: 'Tasks',icon: 'history'}, ]}, { icon: 'more_horiz', diff --git a/src/vue-poc/static/filters.js b/src/vue-poc/components/filters.js similarity index 100% rename from src/vue-poc/static/filters.js rename to src/vue-poc/components/filters.js diff --git a/src/vue-poc/components/my-component.vue b/src/vue-poc/components/my-component.vue new file mode 100644 index 0000000..60dd53f --- /dev/null +++ b/src/vue-poc/components/my-component.vue @@ -0,0 +1,12 @@ + + + + diff --git a/src/vue-poc/components/nav-list.vue b/src/vue-poc/components/nav-list.vue new file mode 100644 index 0000000..5361d1a --- /dev/null +++ b/src/vue-poc/components/nav-list.vue @@ -0,0 +1,76 @@ + + + + diff --git a/src/vue-poc/expath-pkg.xml b/src/vue-poc/expath-pkg.xml index c6c567d..78e4fde 100644 --- a/src/vue-poc/expath-pkg.xml +++ b/src/vue-poc/expath-pkg.xml @@ -2,7 +2,7 @@ abbrev="vue-poc" version="0.0.3" spec="1.0"> vue-poc test of vue.js. - + diff --git a/src/vue-poc/templates/404.vue b/src/vue-poc/features/404.vue similarity index 100% rename from src/vue-poc/templates/404.vue rename to src/vue-poc/features/404.vue diff --git a/src/vue-poc/features/collection/collections.xqm b/src/vue-poc/features/collection/collections.xqm new file mode 100644 index 0000000..f61e534 --- /dev/null +++ b/src/vue-poc/features/collection/collections.xqm @@ -0,0 +1,85 @@ +(:~ + : vue-poc collection api. + : + : @author Andy Bunce july-2017 + :) +module namespace vue-api = 'quodatum:vue.api.collection'; +import module namespace rest = "http://exquery.org/ns/restxq"; +import module namespace fw="quodatum:file.walker"; +import module namespace ufile = 'vue-poc/file' at "../../lib/file.xqm"; +declare namespace c="http://www.w3.org/ns/xproc-step"; + + +(:~ + : history list + :) +declare +%rest:GET %rest:path("/vue-poc/api/history") +%rest:produces("application/json") +%output:method("json") +function vue-api:history( ) +{ + let $h:=( + '/vue-poc/vue-poc.xqm', + '/vue-poc/data/vue-poc/ch4d1.xml', + '/vue-poc/static/app-gen.js', + '/vue-poc/static/app.html', + '/vue-poc/static/app.css', + '/vue-poc/logo.svg', + '/vue-poc/static/resources/sparql.rq', + '/vue-poc/static/resources/turtle.ttl' + ) + + return + + {$h!(<_ type="object">{.})} + + +}; + + +(:~ + : Returns folder info. + :) +declare +%rest:path("/vue-poc/api/file") +%rest:query-param("url", "{$url}") +%rest:produces("application/json") +%output:method("json") +function vue-api:file($url as xs:string) +{ + let $path := ufile:web( $url)=>trace("vue-api:web ") + return if( file:exists($path))then + let $items:=fw:directory-list($path,map{"max-depth":1,"include-info":true()}) + + return + + {for $f in $items/c:directory + order by $f/@name/lower-case(.) + return <_ type="object"> + {vue-api:details($f,"folder")} + + } + + + {for $f in $items/c:file + order by $f/@name/lower-case(.) + return <_ type="object"> + {vue-api:details($f,"insert_drive_file")} + + } + + + else + error(xs:QName('vue-api:raw'),$path) +}; + +declare function vue-api:details($f as element(*),$icon as xs:string) +as element(*)* +{ + {$f/@name/string()} + ,{$icon} + ,{$f/@last-modified/string()} + ,{$f/@size/string()} + ,unknown +}; diff --git a/src/vue-poc/templates/files.vue b/src/vue-poc/features/collection/files.vue similarity index 86% rename from src/vue-poc/templates/files.vue rename to src/vue-poc/features/collection/files.vue index a084cc9..f711ac2 100644 --- a/src/vue-poc/templates/files.vue +++ b/src/vue-poc/features/collection/files.vue @@ -1,34 +1,33 @@ diff --git a/src/vue-poc/templates/history.vue b/src/vue-poc/features/collection/history.vue similarity index 77% rename from src/vue-poc/templates/history.vue rename to src/vue-poc/features/collection/history.vue index 76bc513..64fd4d1 100644 --- a/src/vue-poc/templates/history.vue +++ b/src/vue-poc/features/collection/history.vue @@ -1,22 +1,19 @@ diff --git a/src/vue-poc/templates/edit.vue b/src/vue-poc/features/edit/edit.vue similarity index 90% rename from src/vue-poc/templates/edit.vue rename to src/vue-poc/features/edit/edit.vue index 5667cdd..51eac84 100644 --- a/src/vue-poc/templates/edit.vue +++ b/src/vue-poc/features/edit/edit.vue @@ -7,15 +7,13 @@ - - + + folder - - - {{ item }} + + {{ item }} - @@ -66,23 +64,19 @@ help - - + settings Show settings - - - - + + keyboard Show keyboard commands - @@ -91,40 +85,34 @@ - unused - - - + + - Clear? - - clear text. - - + Cancel Ok - + - + - - + + - + @@ -156,7 +144,8 @@ v-on:annotation="annotation"> "application/sparql-query":"sparql", "text/html":"html", "text/turtle":"turtle", - "text/css":"css" + "text/css":"css", + "image/svg+xml":"svg" } } }, @@ -225,6 +214,7 @@ v-on:annotation="annotation"> var a=this.contentA switch(this.mode) { case "html": + case "svg": case "xml": a=html_beautify(a, { indent_size: 3 ,indent_inner_html:true}) break; diff --git a/src/vue-poc/features/edit/edit.xqm b/src/vue-poc/features/edit/edit.xqm new file mode 100644 index 0000000..afebec6 --- /dev/null +++ b/src/vue-poc/features/edit/edit.xqm @@ -0,0 +1,62 @@ +(:~ + : vue-poc api. + : + : @author Andy Bunce may-2017 + :) +module namespace vue-api = 'quodatum:vue.api'; +import module namespace rest = "http://exquery.org/ns/restxq"; +import module namespace session = "http://basex.org/modules/session"; +import module namespace ufile = 'vue-poc/file' at "../../lib/file.xqm"; + +import module namespace mt = 'quodatum.data.mimetype' at "../../lib/mimetype.xqm"; +declare namespace c="http://www.w3.org/ns/xproc-step"; + + +(:~ + : Returns a file content. + :) +declare +%rest:GET %rest:path("/vue-poc/api/edit") +%rest:query-param("url", "{$url}") +%rest:produces("application/json") +%output:method("json") +function vue-api:edit-get($url as xs:string) +{ + let $path := ufile:web( $url)=>trace("path ") + return if( file:exists($path))then + let $type:=mt:type($path) + let $fetch:=mt:fetch-fn($type("treat-as")) + return + {$url} + {$type?type} + {$fetch($path)} + + else + error(xs:QName('vue-api:raw'),$path) +}; + +(:~ + : Update a file content. @TODO + :) +declare +%rest:POST %rest:path("/vue-poc/api/edit") +%rest:form-param("url", "{$url}") +%rest:form-param("data", "{$data}") +%rest:produces("application/json") +%output:method("json") +function vue-api:edit-post($url as xs:string,$data) +{ + let $path := ufile:web( $url)=>trace("path ") + let $data:=trace($data) + return if( file:exists($path))then + let $type:=mt:type($path) + let $fetch:=mt:fetch-fn($type("treat-as")) + return + {$url} + {$type?type} + {$fetch($path)} + + else + error(xs:QName('vue-api:raw'),$path) +}; + diff --git a/src/vue-poc/features/eval/eval.vue b/src/vue-poc/features/eval/eval.vue new file mode 100644 index 0000000..9446ea5 --- /dev/null +++ b/src/vue-poc/features/eval/eval.vue @@ -0,0 +1,139 @@ + + + + diff --git a/src/vue-poc/templates/eval/eval.xqm b/src/vue-poc/features/eval/eval.xqm similarity index 64% rename from src/vue-poc/templates/eval/eval.xqm rename to src/vue-poc/features/eval/eval.xqm index eada6e3..423643a 100644 --- a/src/vue-poc/templates/eval/eval.xqm +++ b/src/vue-poc/features/eval/eval.xqm @@ -41,3 +41,28 @@ function vue-api:submit($xq ) {$r} }; + +(:~ + : imports + :) +declare +%rest:GET %rest:path("/vue-poc/api/eval/imports") +%output:method("json") +function vue-api:imports( ) +{ +let $n:='import module namespace fw="quodatum:file.walker";' + return + <_>{$n} + +}; + +declare +%rest:POST %rest:path('/vue-poc/api/eval/result/{$id}') +%output:method("json") +function vue-api:result($id) +{ + let $r:=jobs:result($id) + return + {util:display($r)} + +}; \ No newline at end of file diff --git a/src/vue-poc/features/home.vue b/src/vue-poc/features/home.vue new file mode 100644 index 0000000..31ef99f --- /dev/null +++ b/src/vue-poc/features/home.vue @@ -0,0 +1,28 @@ + + + diff --git a/src/vue-poc/features/job/jobs.vue b/src/vue-poc/features/job/jobs.vue new file mode 100644 index 0000000..6ffd002 --- /dev/null +++ b/src/vue-poc/features/job/jobs.vue @@ -0,0 +1,107 @@ + + + + diff --git a/src/vue-poc/features/job/jobs.xqm b/src/vue-poc/features/job/jobs.xqm new file mode 100644 index 0000000..03bcb73 --- /dev/null +++ b/src/vue-poc/features/job/jobs.xqm @@ -0,0 +1,46 @@ +module namespace j = 'quodatum.test.jobs'; + + +(:~ + : job list + :) +declare +%rest:GET %rest:path("/vue-poc/api/job") +%output:method("json") +function j:list() +as element(json) +{ + let $jlist:=jobs:list()[. != jobs:current()] !jobs:list-details(.) + return + {for $j in reverse($jlist) + return <_ type="object"> + {j:job-json($j)} + + } +}; + +(:~ + : job info + :) +declare +%rest:GET %rest:path("/vue-poc/api/job/{$job}") +%output:method("json") +function j:job($job) +as element(json) +{ + let $j:=jobs:list-details($job) + return + {j:job-json($j)} + +}; + +declare function j:job-json($j) +as element(*)* +{ + {$j/@id/string()} + ,{$j/@type/string()} + ,{$j/@state/string()} + ,{$j/@user/string()} + ,{$j/@duration/string()} + ,{$j/string()} +}; \ No newline at end of file diff --git a/src/vue-poc/templates/login.vue b/src/vue-poc/features/login/login.vue similarity index 89% rename from src/vue-poc/templates/login.vue rename to src/vue-poc/features/login/login.vue index 9f80b9c..dfa85e5 100644 --- a/src/vue-poc/templates/login.vue +++ b/src/vue-poc/features/login/login.vue @@ -2,15 +2,13 @@ diff --git a/src/vue-poc/login.xqm b/src/vue-poc/features/login/login.xqm similarity index 100% rename from src/vue-poc/login.xqm rename to src/vue-poc/features/login/login.xqm diff --git a/src/vue-poc/templates/logs.vue b/src/vue-poc/features/logs.vue similarity index 100% rename from src/vue-poc/templates/logs.vue rename to src/vue-poc/features/logs.vue diff --git a/src/vue-poc/templates/options.vue b/src/vue-poc/features/options.vue similarity index 87% rename from src/vue-poc/templates/options.vue rename to src/vue-poc/features/options.vue index a362ff4..20273dd 100644 --- a/src/vue-poc/templates/options.vue +++ b/src/vue-poc/features/options.vue @@ -3,20 +3,18 @@ - - + Featured Event:
May 24, 2016
7-11pm
-
- + Add to
Calendar
event -
+
@@ -28,7 +26,7 @@ - + Show Snackbar Snackbar? diff --git a/src/vue-poc/templates/people.vue b/src/vue-poc/features/people.vue similarity index 88% rename from src/vue-poc/templates/people.vue rename to src/vue-poc/features/people.vue index 4a6e284..0eef1cc 100644 --- a/src/vue-poc/templates/people.vue +++ b/src/vue-poc/features/people.vue @@ -14,10 +14,10 @@ - + - + diff --git a/src/vue-poc/templates/ping/ping.vue b/src/vue-poc/features/ping/ping.vue similarity index 100% rename from src/vue-poc/templates/ping/ping.vue rename to src/vue-poc/features/ping/ping.vue diff --git a/src/vue-poc/templates/ping/ping.xqm b/src/vue-poc/features/ping/ping.xqm similarity index 100% rename from src/vue-poc/templates/ping/ping.xqm rename to src/vue-poc/features/ping/ping.xqm diff --git a/src/vue-poc/templates/puzzle.vue b/src/vue-poc/features/puzzle.vue similarity index 100% rename from src/vue-poc/templates/puzzle.vue rename to src/vue-poc/features/puzzle.vue diff --git a/src/vue-poc/templates/search.vue b/src/vue-poc/features/search.vue similarity index 100% rename from src/vue-poc/templates/search.vue rename to src/vue-poc/features/search.vue diff --git a/src/vue-poc/templates/select.vue b/src/vue-poc/features/select.vue similarity index 95% rename from src/vue-poc/templates/select.vue rename to src/vue-poc/features/select.vue index 6466e8b..34e2528 100644 --- a/src/vue-poc/templates/select.vue +++ b/src/vue-poc/features/select.vue @@ -2,12 +2,11 @@