vuetify 1.5.7
This commit is contained in:
parent
8de2101d99
commit
5fe9b6ab18
23 changed files with 531 additions and 285 deletions
|
@ -1,4 +1,4 @@
|
||||||
// Mimetype info
|
// Mimetype info as vue extension. defines $MimeTypes
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
const MimeTypes=new function(){
|
const MimeTypes=new function(){
|
||||||
|
|
Binary file not shown.
|
@ -9,7 +9,7 @@
|
||||||
<v-chip v-else color="danger">invalid</v-chip>
|
<v-chip v-else color="danger">invalid</v-chip>
|
||||||
<v-btn color="primary" @click="$refs.myForm.validate()">validate</v-btn>
|
<v-btn color="primary" @click="$refs.myForm.validate()">validate</v-btn>
|
||||||
<v-spacer></v-spacer>
|
<v-spacer></v-spacer>
|
||||||
<qd-link href="https://github.com/koumoul-dev/vuetify-jsonschema-form/">vuetify-jsonschema-form@0.21.0</qd-link>
|
<qd-link href="https://github.com/koumoul-dev/vuetify-jsonschema-form/">vuetify-jsonschema-form@0.24.1</qd-link>
|
||||||
</v-toolbar>
|
</v-toolbar>
|
||||||
<v-card-actions>
|
<v-card-actions>
|
||||||
<v-layout row wrap>
|
<v-layout row wrap>
|
||||||
|
|
|
@ -1,27 +1,36 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<template id="home">
|
<template id="home">
|
||||||
|
|
||||||
<v-card hover raised>
|
<v-card raised>
|
||||||
|
<v-card-title>links</v-card-title>
|
||||||
<v-card-text>
|
<v-card-text>
|
||||||
|
<v-card-text>
|
||||||
<p>
|
<v-list dense >
|
||||||
links
|
<v-list-tile @click="">
|
||||||
</p>
|
<router-link :to="{path:'files', query:{url:'/vue-poc/'}}"> <v-icon>developer_mode</v-icon>vue-poc files</router-link>
|
||||||
<ul>
|
</v-list-tile >
|
||||||
|
<v-list-tile @click="">
|
||||||
<li><router-link :to="{path:'files', query:{url:'/vue-poc/'}}"> <v-icon>developer_mode</v-icon>vue-poc files</router-link></li>
|
<router-link :to="{path:'database', query:{url:'/vue-poc/'}}"> <v-icon>folder</v-icon>vue-poc db</router-link>
|
||||||
<li><router-link :to="{path:'database', query:{url:'/vue-poc/'}}"> <v-icon>folder</v-icon>vue-poc db</router-link></li>
|
</v-list-tile >
|
||||||
<li><a href="/doc/#/data/app/vue-poc" target="new">doc</a></li>
|
<v-list-tile @click="">
|
||||||
<li><a href="/dba" target="new">DBA app</a></li>
|
<a href="/doc/#/data/app/vue-poc" target="new">doc</a>
|
||||||
<li><a href="/vue-poc/ui/database?url=%2Fvue-poc%2F" target="new">db</a></li>
|
</v-list-tile>
|
||||||
<li><router-link :to="{path:'files', query:{url:'/vue-poc/features/images/'}}">vue-poc image tasks</router-link></li>
|
<v-list-tile @click="">
|
||||||
</ul>
|
<a href="/dba" target="new">DBA app</a>
|
||||||
|
</v-list-tile>
|
||||||
|
<v-list-tile @click="">
|
||||||
|
<a href="/vue-poc/ui/database?url=%2Fvue-poc%2F" target="new">db</a>
|
||||||
|
</v-list-tile>
|
||||||
|
<v-list-tile @click="">
|
||||||
|
<router-link :to="{path:'files', query:{url:'/vue-poc/features/images/'}}">vue-poc image tasks</router-link>
|
||||||
|
</v-list-tile>
|
||||||
|
</v-list>
|
||||||
|
</v-card-text>
|
||||||
|
<v-card-actions>
|
||||||
<v-btn floating="floating"> <v-icon>add</v-icon>
|
<v-btn floating="floating"> <v-icon>add</v-icon>
|
||||||
</v-btn> <qd-link href="/dba">REPLACED</qd-link>
|
</v-btn> <qd-link href="/dba">REPLACED</qd-link>
|
||||||
|
</v-card-actions>
|
||||||
|
|
||||||
</v-card-text>
|
|
||||||
</v-card>
|
</v-card>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
xquery version "3.1";
|
||||||
(:~
|
(:~
|
||||||
: entity rest interface
|
: entity rest interface
|
||||||
: defines urls below vue-poc/data/entity/
|
: defines urls below vue-poc/data/entity/
|
||||||
|
|
|
@ -1,8 +1,12 @@
|
||||||
|
xquery version "3.1";
|
||||||
|
(:~
|
||||||
|
: job info
|
||||||
|
:)
|
||||||
module namespace j = 'quodatum.test.xqdoc';
|
module namespace j = 'quodatum.test.xqdoc';
|
||||||
|
|
||||||
|
|
||||||
(:~
|
(:~
|
||||||
: job list
|
: job list (currently dummy list)
|
||||||
:)
|
:)
|
||||||
declare
|
declare
|
||||||
%rest:GET %rest:path("/vue-poc/api/xqdocjob")
|
%rest:GET %rest:path("/vue-poc/api/xqdocjob")
|
||||||
|
@ -21,7 +25,7 @@ as element(json)
|
||||||
};
|
};
|
||||||
|
|
||||||
(:~
|
(:~
|
||||||
: job info
|
: job info (currently dummy item)
|
||||||
:)
|
:)
|
||||||
declare
|
declare
|
||||||
%rest:GET %rest:path("/vue-poc/api/xqdocjob/{$job}")
|
%rest:GET %rest:path("/vue-poc/api/xqdocjob/{$job}")
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
|
xquery version "3.1";
|
||||||
|
(:~
|
||||||
|
: get basex settings default and current
|
||||||
|
:)
|
||||||
module namespace set = 'quodatum.test.basexsettings';
|
module namespace set = 'quodatum.test.basexsettings';
|
||||||
|
|
||||||
(:~
|
|
||||||
: basex settings default and current
|
|
||||||
:)
|
|
||||||
declare
|
declare
|
||||||
%rest:GET %rest:path("/vue-poc/api/server/basexsettings")
|
%rest:GET %rest:path("/vue-poc/api/server/basexsettings")
|
||||||
%rest:produces("application/json")
|
%rest:produces("application/json")
|
||||||
|
|
|
@ -1,9 +1,13 @@
|
||||||
|
xquery version "3.1";
|
||||||
|
(:~
|
||||||
|
: Simple server performance test
|
||||||
|
:)
|
||||||
module namespace ping = 'quodatum.test.ping';
|
module namespace ping = 'quodatum.test.ping';
|
||||||
declare variable $ping:db as xs:string:="vue-poc";
|
declare variable $ping:db as xs:string:="vue-poc";
|
||||||
declare %basex:lazy variable $ping:state as element(state):=db:open($ping:db,"/state.xml")/state;
|
declare %basex:lazy variable $ping:state as element(state):=db:open($ping:db,"/state.xml")/state;
|
||||||
|
|
||||||
(:~
|
(:~
|
||||||
: ping incr counter
|
: incr counter
|
||||||
:)
|
:)
|
||||||
declare %updating
|
declare %updating
|
||||||
%rest:POST %rest:path("/vue-poc/api/ping")
|
%rest:POST %rest:path("/vue-poc/api/ping")
|
||||||
|
@ -15,7 +19,7 @@ function ping:dopost()
|
||||||
};
|
};
|
||||||
|
|
||||||
(:~
|
(:~
|
||||||
: ping incr counter
|
: read counter
|
||||||
:)
|
:)
|
||||||
declare
|
declare
|
||||||
%output:method("text")
|
%output:method("text")
|
||||||
|
@ -26,7 +30,7 @@ function ping:dostate()
|
||||||
};
|
};
|
||||||
|
|
||||||
(:~
|
(:~
|
||||||
: ping fastest no work
|
: return simple constant
|
||||||
:)
|
:)
|
||||||
declare
|
declare
|
||||||
%output:method("text")
|
%output:method("text")
|
||||||
|
|
|
@ -23,6 +23,12 @@
|
||||||
<description>XQdoc.2..</description>
|
<description>XQdoc.2..</description>
|
||||||
</task>
|
</task>
|
||||||
|
|
||||||
|
<task name="xqdoc3" url="xqdoc/tx-xqdoc3.xq">
|
||||||
|
<title>XQdoc to static</title>
|
||||||
|
<description>Generate xquery documentation for folder to static folder
|
||||||
|
</description>
|
||||||
|
</task>
|
||||||
|
|
||||||
<task name="vuecompile">
|
<task name="vuecompile">
|
||||||
<title>vue compile</title>
|
<title>vue compile</title>
|
||||||
<description>compile</description>
|
<description>compile</description>
|
||||||
|
|
|
@ -12,7 +12,7 @@ declare namespace c="http://www.w3.org/ns/xproc-step";
|
||||||
declare variable $efolder as xs:anyURI external :=
|
declare variable $efolder as xs:anyURI external :=
|
||||||
xs:anyURI("C:/Users/andy/git/vue-poc/src/vue-poc");
|
xs:anyURI("C:/Users/andy/git/vue-poc/src/vue-poc");
|
||||||
|
|
||||||
(:~ URL of the schema to use
|
(:~ file URL root folder for saving results
|
||||||
: @default C:/tmp/xqdoc/
|
: @default C:/tmp/xqdoc/
|
||||||
:)
|
:)
|
||||||
declare variable $target as xs:anyURI external :=
|
declare variable $target as xs:anyURI external :=
|
||||||
|
|
73
src/vue-poc/features/tasks/xqdoc/tx-xqdoc3.xq
Normal file
73
src/vue-poc/features/tasks/xqdoc/tx-xqdoc3.xq
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
(:~
|
||||||
|
: Generate html for for XQuery sources
|
||||||
|
: @return info about the run (json format)
|
||||||
|
:)
|
||||||
|
|
||||||
|
import module namespace xqd = 'quodatum:build.xqdoc' at "../../../lib/xqdoc/xqdoc-proj.xqm";
|
||||||
|
import module namespace store = 'quodatum.store' at "../../../lib/store.xqm";
|
||||||
|
declare namespace c="http://www.w3.org/ns/xproc-step";
|
||||||
|
declare namespace xqdoc="http://www.xqdoc.org/1.0";
|
||||||
|
(:~ URL of the root folder to document
|
||||||
|
: @default C:/Users/andy/git/vue-poc/src/vue-poc
|
||||||
|
:)
|
||||||
|
declare variable $efolder as xs:anyURI external := xs:anyURI("C:/Users/andy/git/vue-poc/src/vue-poc");
|
||||||
|
|
||||||
|
declare variable $id as element(last-id):=db:open("vue-poc","/state.xml")/state/last-id;
|
||||||
|
|
||||||
|
let $target:="file:///" || db:option("webpath") || "/static/xqdoc/" || $id || "/"
|
||||||
|
let $project:=tokenize($efolder,"[/\\]")[last()]
|
||||||
|
|
||||||
|
let $opts:=map{
|
||||||
|
"src-folder": $efolder,
|
||||||
|
"project": $project,
|
||||||
|
"ext-id": $id/string()
|
||||||
|
}
|
||||||
|
let $state:=xqd:read($efolder)=>trace("READ: ")
|
||||||
|
let $imports:= xqd:imports($state)?xqdoc=>head()
|
||||||
|
|
||||||
|
let $modmap:=for $file at $pos in $state?files
|
||||||
|
let $params:=map:merge((map{
|
||||||
|
"source": "** source**",
|
||||||
|
"filename": "**FILE**",
|
||||||
|
"cache": $xqd:cache,
|
||||||
|
"show-private": true(),
|
||||||
|
"root": "../",
|
||||||
|
"resources": "resources/"},
|
||||||
|
$opts))
|
||||||
|
return (
|
||||||
|
map{
|
||||||
|
"uri": ``[f`{ $pos}`/xqdoc.xml]``,
|
||||||
|
"document": $file?xqdoc,
|
||||||
|
"opts": $xqd:XML
|
||||||
|
},
|
||||||
|
map{
|
||||||
|
"uri": ``[f`{ $pos}`/xqparse.xml]``,
|
||||||
|
"document": $file?xqparse,
|
||||||
|
"opts": $xqd:XML
|
||||||
|
},
|
||||||
|
map{
|
||||||
|
"uri": ``[f`{ $pos}`/index.html]``,
|
||||||
|
"document": xqd:xqdoc-html($file?xqdoc,$params),
|
||||||
|
"opts": $xqd:HTML5
|
||||||
|
}
|
||||||
|
)
|
||||||
|
let $indexmap:=
|
||||||
|
map{
|
||||||
|
"uri": ``[index.html]``,
|
||||||
|
"document": <html><title>todo</title></html>,
|
||||||
|
"opts": $xqd:HTML5
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
store:store(($indexmap,$modmap),$target),
|
||||||
|
xqd:export-resources2($target),
|
||||||
|
replace value of node $id with 1+$id,
|
||||||
|
update:output(
|
||||||
|
<json type="object">
|
||||||
|
<extra>XQdoc generated</extra>
|
||||||
|
<msg> {$target}, {count($state?files)} files processed.</msg>
|
||||||
|
<id>{$id/string()}</id>
|
||||||
|
</json>
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
|
@ -1,88 +0,0 @@
|
||||||
(:~
|
|
||||||
: XQDoc: generate restxq.html from resources located at $target
|
|
||||||
:)
|
|
||||||
import module namespace xqd = 'quodatum:build.xqdoc' at "../../../lib/xqdoc/xqdoc-proj.xqm";
|
|
||||||
import module namespace store = 'quodatum.store' at "../../../lib/store.xqm";
|
|
||||||
declare namespace c="http://www.w3.org/ns/xproc-step";
|
|
||||||
declare namespace xqdoc="http://www.xqdoc.org/1.0";
|
|
||||||
|
|
||||||
|
|
||||||
(:~ URL of the doc source
|
|
||||||
: @default file:///C:/tmp/xqdoc/
|
|
||||||
:)
|
|
||||||
declare variable $target as xs:anyURI external :=
|
|
||||||
"file:///C:/tmp/xqdoc/" cast as xs:anyURI;
|
|
||||||
declare variable $nsRESTXQ:='http://exquery.org/ns/restxq';
|
|
||||||
declare variable $files :=doc(resolve-uri("files.xml",$target));
|
|
||||||
|
|
||||||
declare function local:xqdoc-url($key as item())
|
|
||||||
as xs:anyURI
|
|
||||||
{
|
|
||||||
resolve-uri(``[F`{ string($key) }`/xqdoc.xml]``,$target)
|
|
||||||
};
|
|
||||||
|
|
||||||
declare function local:item($doc as item()*,$key as item())
|
|
||||||
as map(*)?
|
|
||||||
{
|
|
||||||
if($doc) then map{"key":$key,"value":$doc} else ()
|
|
||||||
};
|
|
||||||
|
|
||||||
let $base:=$files/*/@xml:base/string()
|
|
||||||
let $files:= $files//c:file
|
|
||||||
let $names:= $files!string-join(ancestor-or-self::*/@name,"/")
|
|
||||||
let $xqdocs:=$files!doc(local:xqdoc-url(position()))
|
|
||||||
let $paths:= $xqdocs!local:item(xqd:annotations(*, $nsRESTXQ,"path"),position())
|
|
||||||
let $items:=
|
|
||||||
for $annots in $paths
|
|
||||||
let $uri:=$annots?d/string()
|
|
||||||
group by $uri
|
|
||||||
order by $uri
|
|
||||||
return <li>
|
|
||||||
<h3>{ $uri }</h3>
|
|
||||||
<ol>{
|
|
||||||
for $annot in $annots
|
|
||||||
let $fun:=$annot?doc/../..
|
|
||||||
let $funname:=concat($fun/xqdoc:name/string(),'#',$fun/@arity/string())
|
|
||||||
let $href:="F12/index.html#field-list"
|
|
||||||
return <li><a href="{$href}">{$funname}</a>{$annot?key}</li>
|
|
||||||
}</ol>
|
|
||||||
<a>{ $uri }</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
let $op:= <div>
|
|
||||||
<nav id="toc">
|
|
||||||
<div>
|
|
||||||
<a href="index.html">
|
|
||||||
Index
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<h2>
|
|
||||||
<a id="contents"></a>
|
|
||||||
<span class="namespace">
|
|
||||||
RestXQ
|
|
||||||
</span>
|
|
||||||
</h2>
|
|
||||||
<ol class="toc">
|
|
||||||
<li>
|
|
||||||
<a href="#main">
|
|
||||||
<span class="secno">1 </span>
|
|
||||||
<span class="content">Introduction</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
</ol>
|
|
||||||
</nav>
|
|
||||||
<a href="index.html">index: { $base }</a>
|
|
||||||
<ul>{ $items }</ul>
|
|
||||||
</div>
|
|
||||||
=>xqd:page(map{"resources":"resources/"})
|
|
||||||
=>xqd:store2(resolve-uri("restxq.html",$target),$xqd:HTML5)
|
|
||||||
|
|
||||||
let $result:=<json type="object">
|
|
||||||
<extra>hello</extra>
|
|
||||||
<msg> {$target}, {count($files//c:file)} files processed.</msg>
|
|
||||||
<id>none</id>
|
|
||||||
</json>
|
|
||||||
|
|
||||||
return (
|
|
||||||
store:store($op,$target),update:output($result)
|
|
||||||
)
|
|
|
@ -2,6 +2,7 @@
|
||||||
: XQDoc: generate restxq.html from resources located at $target
|
: XQDoc: generate restxq.html from resources located at $target
|
||||||
:)
|
:)
|
||||||
import module namespace xqd = 'quodatum:build.xqdoc' at "../../../lib/xqdoc/xqdoc-proj.xqm";
|
import module namespace xqd = 'quodatum:build.xqdoc' at "../../../lib/xqdoc/xqdoc-proj.xqm";
|
||||||
|
import module namespace xqhtml = 'quodatum:build.xqdoc-html' at "../../../lib/xqdoc/xqdoc-html.xqm";
|
||||||
import module namespace store = 'quodatum.store' at "../../../lib/store.xqm";
|
import module namespace store = 'quodatum.store' at "../../../lib/store.xqm";
|
||||||
import module namespace tree = 'quodatum.data.tree' at "../../../lib/tree.xqm";
|
import module namespace tree = 'quodatum.data.tree' at "../../../lib/tree.xqm";
|
||||||
|
|
||||||
|
@ -15,9 +16,8 @@ declare namespace xqdoc="http://www.xqdoc.org/1.0";
|
||||||
declare variable $target as xs:anyURI external :=
|
declare variable $target as xs:anyURI external :=
|
||||||
"file:///C:/tmp/xqdoc/" cast as xs:anyURI;
|
"file:///C:/tmp/xqdoc/" cast as xs:anyURI;
|
||||||
|
|
||||||
declare variable $nsRESTXQ:= 'http://exquery.org/ns/restxq';
|
|
||||||
|
|
||||||
(:~ map for each restxq:path
|
(:~ sequence of maps for each restxq:path
|
||||||
: @param
|
: @param
|
||||||
:)
|
:)
|
||||||
declare function local:import($path,
|
declare function local:import($path,
|
||||||
|
@ -27,7 +27,7 @@ as map(*)*
|
||||||
{
|
{
|
||||||
let $uri:=``[modules/F`{ string($id) }`/]``
|
let $uri:=``[modules/F`{ string($id) }`/]``
|
||||||
let $doc:=doc(resolve-uri($uri || "xqdoc.xml",$folder))
|
let $doc:=doc(resolve-uri($uri || "xqdoc.xml",$folder))
|
||||||
let $annots:=xqd:annotations($doc/*, $nsRESTXQ,"path")
|
let $annots:=xqd:annotations($doc/*, $xqd:nsRESTXQ,"path")
|
||||||
return $annots!map{
|
return $annots!map{
|
||||||
"id": $id,
|
"id": $id,
|
||||||
"uri": $uri,
|
"uri": $uri,
|
||||||
|
@ -82,7 +82,7 @@ let $op:= <div>
|
||||||
|
|
||||||
<ul>{$reps!local:path-to-html(.)}</ul>
|
<ul>{$reps!local:path-to-html(.)}</ul>
|
||||||
</div>
|
</div>
|
||||||
return xqd:page($op,map{"resources": "resources/"})
|
return xqhtml:page($op,map{"resources": "resources/"})
|
||||||
};
|
};
|
||||||
|
|
||||||
(:~ tree to list :)
|
(:~ tree to list :)
|
||||||
|
@ -143,7 +143,7 @@ let $data:=map:merge(for $report in $reports
|
||||||
let $methods:= map:merge(
|
let $methods:= map:merge(
|
||||||
for $annot in $report
|
for $annot in $report
|
||||||
let $hits:=for $method in $xqd:methods
|
let $hits:=for $method in $xqd:methods
|
||||||
let $hit:= xqd:methods($annot?annot/.., $nsRESTXQ, $method)
|
let $hit:= xqd:methods($annot?annot/.., $xqd:nsRESTXQ, $method)
|
||||||
return if(empty($hit)) then () else map{$method: $annot}
|
return if(empty($hit)) then () else map{$method: $annot}
|
||||||
return if(exists($hits))then $hits else map{"ALL":$annot}
|
return if(exists($hits))then $hits else map{"ALL":$annot}
|
||||||
|
|
||||||
|
|
|
@ -10,18 +10,12 @@ module namespace store = 'quodatum.store';
|
||||||
declare %updating
|
declare %updating
|
||||||
function store:store($docs as map(*)*,$base as xs:string)
|
function store:store($docs as map(*)*,$base as xs:string)
|
||||||
{
|
{
|
||||||
let $base:=if(contains($base,"\"))then file:path-to-uri($base) else $base
|
for $doc in $docs
|
||||||
return $docs!store:store1(.,trace($base,">>>>>"))
|
|
||||||
};
|
|
||||||
|
|
||||||
declare %updating
|
|
||||||
function store:store1($doc as map(*),$base as xs:string)
|
|
||||||
{
|
|
||||||
let $uri:=resolve-uri($doc?uri,$base)
|
let $uri:=resolve-uri($doc?uri,$base)
|
||||||
let $opts:=if($doc?uri instance of map(*)) then $doc?uri else map{}
|
let $opts:=if(map:contains($doc,"opts")) then $doc?opts else map{}
|
||||||
return switch (substring-before($uri,":"))
|
return switch (substring-before($uri,":"))
|
||||||
case "file" return store:file($doc?document,$uri,$opts)
|
case "file" return store:file($doc?document,substring-after($uri,"file:///"),$opts)
|
||||||
case "xmldb" return store:xmldb($doc?document,$uri,$opts)
|
case "xmldb" return store:xmldb($doc?document,uri,$opts)
|
||||||
default return error("unknown protocol:" || $uri)
|
default return error("unknown protocol:" || $uri)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -31,10 +25,10 @@ function store:store1($doc as map(*),$base as xs:string)
|
||||||
declare %updating
|
declare %updating
|
||||||
function store:file($data,$uri as xs:string,$params as map(*))
|
function store:file($data,$uri as xs:string,$params as map(*))
|
||||||
{
|
{
|
||||||
let $p:=file:parent($uri)
|
let $p:=file:parent($uri=>trace("****"))
|
||||||
return (
|
return (
|
||||||
if(file:is-dir($p)) then () else file:create-dir($p),
|
if(file:is-dir($p)) then () else file:create-dir($p),
|
||||||
file:write($uri,$data,$params)
|
file:write($uri,$data=>trace("**ddd**"),$params)
|
||||||
)
|
)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,9 @@
|
||||||
<xsl:import href="xqdoc.xsl" />
|
<xsl:import href="xqdoc.xsl" />
|
||||||
<!-- Standalone xqdoc:xqdoc transform mode"restxq" -->
|
<!-- Standalone xqdoc:xqdoc transform mode"restxq" -->
|
||||||
<xsl:param name="project" as="xs:string" select="'unknown'" />
|
<xsl:param name="project" as="xs:string" select="'unknown'" />
|
||||||
<xsl:param name="source" as="xs:string" >Source not available</xsl:param>
|
<xsl:param name="source" as="xs:string">
|
||||||
|
Source not available
|
||||||
|
</xsl:param>
|
||||||
<xsl:param name="filename" as="xs:string" select="'?file'" />
|
<xsl:param name="filename" as="xs:string" select="'?file'" />
|
||||||
<xsl:param name="ext-id" as="xs:string"></xsl:param>
|
<xsl:param name="ext-id" as="xs:string"></xsl:param>
|
||||||
<xsl:param name="show-private" as="xs:boolean" select="false()" />
|
<xsl:param name="show-private" as="xs:boolean" select="false()" />
|
||||||
|
@ -45,6 +47,7 @@
|
||||||
<xsl:apply-templates select="doc:module" />
|
<xsl:apply-templates select="doc:module" />
|
||||||
|
|
||||||
<xsl:call-template name="toc" />
|
<xsl:call-template name="toc" />
|
||||||
|
<xsl:apply-templates select="doc:imports" />
|
||||||
<xsl:apply-templates select="doc:variables" />
|
<xsl:apply-templates select="doc:variables" />
|
||||||
<xsl:apply-templates select="doc:functions" />
|
<xsl:apply-templates select="doc:functions" />
|
||||||
|
|
||||||
|
@ -54,7 +57,9 @@
|
||||||
<div>
|
<div>
|
||||||
<h3 id="source">Original Source Code</h3>
|
<h3 id="source">Original Source Code</h3>
|
||||||
<pre>
|
<pre>
|
||||||
<code class="language-xquery"><xsl:value-of select="$source" /></code>
|
<code class="language-xquery">
|
||||||
|
<xsl:value-of select="$source" />
|
||||||
|
</code>
|
||||||
</pre>
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
<br />
|
<br />
|
||||||
|
@ -86,8 +91,10 @@
|
||||||
<span class="tag tag-success">
|
<span class="tag tag-success">
|
||||||
<xsl:value-of select="doc:uri" />
|
<xsl:value-of select="doc:uri" />
|
||||||
</span>
|
</span>
|
||||||
<small> 
|
<small>
|
||||||
<xsl:value-of select="@type" /> module
|
 
|
||||||
|
<xsl:value-of select="@type" />
|
||||||
|
module
|
||||||
</small>
|
</small>
|
||||||
|
|
||||||
</h1>
|
</h1>
|
||||||
|
@ -104,6 +111,35 @@
|
||||||
</dl>
|
</dl>
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="doc:imports[doc:import]">
|
||||||
|
<div id="imports">
|
||||||
|
<h3>
|
||||||
|
<a href="#imports">Imports</a>
|
||||||
|
</h3>
|
||||||
|
<table class="data" style="float:none">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Type</th>
|
||||||
|
<th>Uri</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<xsl:for-each select="doc:import">
|
||||||
|
<xsl:sort select="lower-case(doc:uri)" />
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<xsl:value-of select="string(@type)" />
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<xsl:value-of select="string(doc:uri)" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</xsl:for-each>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
<xsl:template match="doc:namespaces[doc:namespace]">
|
<xsl:template match="doc:namespaces[doc:namespace]">
|
||||||
<div id="namespaces">
|
<div id="namespaces">
|
||||||
<h3>
|
<h3>
|
||||||
|
@ -163,7 +199,7 @@
|
||||||
<xsl:value-of select="doc:type/@occurrence" />
|
<xsl:value-of select="doc:type/@occurrence" />
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
<xsl:apply-templates select="doc:annotations" />
|
||||||
</div>
|
</div>
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
||||||
|
@ -332,8 +368,9 @@
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
||||||
<xsl:template match="doc:annotations">
|
<xsl:template match="doc:annotations">
|
||||||
|
<details>
|
||||||
|
<summary>Annotations</summary>
|
||||||
<table class="data">
|
<table class="data">
|
||||||
<caption style="text-align: left;">Annotations</caption>
|
|
||||||
<tbody>
|
<tbody>
|
||||||
<xsl:for-each select="doc:annotation">
|
<xsl:for-each select="doc:annotation">
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -352,6 +389,7 @@
|
||||||
</xsl:for-each>
|
</xsl:for-each>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
</details>
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
||||||
<xsl:template match="doc:comment">
|
<xsl:template match="doc:comment">
|
||||||
|
@ -423,7 +461,9 @@
|
||||||
<div>
|
<div>
|
||||||
<a href="{$index}">
|
<a href="{$index}">
|
||||||
↰
|
↰
|
||||||
<xsl:value-of select="$project" /> :id= <xsl:value-of select="$ext-id" />
|
<xsl:value-of select="$project" />
|
||||||
|
:id=
|
||||||
|
<xsl:value-of select="$ext-id" />
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<h2>
|
<h2>
|
||||||
|
|
Binary file not shown.
|
@ -988,6 +988,7 @@ Possible extra rowspan handling
|
||||||
.toc > li li li .secno { margin-left: -7rem; }
|
.toc > li li li .secno { margin-left: -7rem; }
|
||||||
.toc > li li li li .secno { margin-left: -9rem; }
|
.toc > li li li li .secno { margin-left: -9rem; }
|
||||||
.toc > li li li li li .secno { margin-left: -11rem; }
|
.toc > li li li li li .secno { margin-left: -11rem; }
|
||||||
|
.toc > li li li li li .secno { margin-left: -13rem; }
|
||||||
|
|
||||||
/* Tighten up indentation in narrow ToCs */
|
/* Tighten up indentation in narrow ToCs */
|
||||||
@media (max-width: 30em) {
|
@media (max-width: 30em) {
|
||||||
|
@ -997,6 +998,7 @@ Possible extra rowspan handling
|
||||||
.toc > li li li .secno { margin-left: -5rem; }
|
.toc > li li li .secno { margin-left: -5rem; }
|
||||||
.toc > li li li li .secno { margin-left: -6rem; }
|
.toc > li li li li .secno { margin-left: -6rem; }
|
||||||
.toc > li li li li li .secno { margin-left: -7rem; }
|
.toc > li li li li li .secno { margin-left: -7rem; }
|
||||||
|
.toc > li li li li li li .secno { margin-left: -8rem; }
|
||||||
}
|
}
|
||||||
@media screen and (min-width: 78em) {
|
@media screen and (min-width: 78em) {
|
||||||
body:not(.toc-inline) :not(li) > .toc { margin-left: 4rem; }
|
body:not(.toc-inline) :not(li) > .toc { margin-left: 4rem; }
|
||||||
|
@ -1005,6 +1007,7 @@ Possible extra rowspan handling
|
||||||
body:not(.toc-inline) .toc > li li li .secno { margin-left: -5rem; }
|
body:not(.toc-inline) .toc > li li li .secno { margin-left: -5rem; }
|
||||||
body:not(.toc-inline) .toc > li li li li .secno { margin-left: -6rem; }
|
body:not(.toc-inline) .toc > li li li li .secno { margin-left: -6rem; }
|
||||||
body:not(.toc-inline) .toc > li li li li li .secno { margin-left: -7rem; }
|
body:not(.toc-inline) .toc > li li li li li .secno { margin-left: -7rem; }
|
||||||
|
body:not(.toc-inline) .toc > li li li li li li .secno { margin-left: -8rem; }
|
||||||
}
|
}
|
||||||
body.toc-sidebar #toc :not(li) > .toc { margin-left: 4rem; }
|
body.toc-sidebar #toc :not(li) > .toc { margin-left: 4rem; }
|
||||||
body.toc-sidebar #toc .toc .secno { margin-left: -4rem; }
|
body.toc-sidebar #toc .toc .secno { margin-left: -4rem; }
|
||||||
|
@ -1012,7 +1015,7 @@ Possible extra rowspan handling
|
||||||
body.toc-sidebar #toc .toc > li li li .secno { margin-left: -5rem; }
|
body.toc-sidebar #toc .toc > li li li .secno { margin-left: -5rem; }
|
||||||
body.toc-sidebar #toc .toc > li li li li .secno { margin-left: -6rem; }
|
body.toc-sidebar #toc .toc > li li li li .secno { margin-left: -6rem; }
|
||||||
body.toc-sidebar #toc .toc > li li li li li .secno { margin-left: -7rem; }
|
body.toc-sidebar #toc .toc > li li li li li .secno { margin-left: -7rem; }
|
||||||
|
body.toc-sidebar #toc .toc > li li li li li li .secno { margin-left: -8rem; }
|
||||||
.toc li {
|
.toc li {
|
||||||
clear: both;
|
clear: both;
|
||||||
}
|
}
|
||||||
|
|
134
src/vue-poc/lib/xqdoc/xqdoc-html.xqm
Normal file
134
src/vue-poc/lib/xqdoc/xqdoc-html.xqm
Normal file
|
@ -0,0 +1,134 @@
|
||||||
|
(:~
|
||||||
|
: Generate XQuery documentation in html
|
||||||
|
: using file:///C:/Users/andy/workspace/app-doc/src/doc/data/doc/models
|
||||||
|
: $efolder:="file:///C:/Users/andy/workspace/app-doc/src/doc/data/doc/models"
|
||||||
|
: $target:="file:///C:/Users/andy/workspace/app-doc/src/doc/generated/models.xqm"
|
||||||
|
:)
|
||||||
|
module namespace xqhtml = 'quodatum:build.xqdoc-html';
|
||||||
|
|
||||||
|
declare namespace c="http://www.w3.org/ns/xproc-step";
|
||||||
|
declare namespace xqdoc="http://www.xqdoc.org/1.0";
|
||||||
|
|
||||||
|
(:~ transform files to html
|
||||||
|
: @param $params keys: resources
|
||||||
|
: "ext-id": "299",
|
||||||
|
: "src-folder": "C:/Users/andy/git/vue-poc/src/vue-poc",
|
||||||
|
: "project": "vue-poc"
|
||||||
|
:)
|
||||||
|
declare function xqhtml:index-html($files,
|
||||||
|
$params as map(*)
|
||||||
|
)
|
||||||
|
as document-node()
|
||||||
|
{
|
||||||
|
let $d:=<div>
|
||||||
|
<h1>
|
||||||
|
<span class="tag tag-success">
|
||||||
|
{ $params?project }
|
||||||
|
</span>
|
||||||
|
XQDoc ,id: { $params?ext-id }
|
||||||
|
</h1>
|
||||||
|
{ xqhtml:toc($params) }
|
||||||
|
<a href="restxq.html">RestXQ</a>
|
||||||
|
<div>src: { $params?src-folder }</div>
|
||||||
|
<div id="file">
|
||||||
|
<h1>Files</h1>
|
||||||
|
<ul>
|
||||||
|
{ for $file at $pos in $files//c:file
|
||||||
|
let $ip:= $file/@name/resolve-uri(.,base-uri($file))
|
||||||
|
let $path:= string-join($file/ancestor-or-self::*/@name,'/')
|
||||||
|
return <li>
|
||||||
|
<a href="modules/F{ $pos }/index.html">
|
||||||
|
{ $file/@name/string() }
|
||||||
|
</a>
|
||||||
|
|
||||||
|
{ $pos }
|
||||||
|
{ $ip }
|
||||||
|
</li>
|
||||||
|
}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="ns">
|
||||||
|
<h1>Namespace</h1>
|
||||||
|
<ul>
|
||||||
|
<for-each select=".//c:file">
|
||||||
|
<variable name="path" select="resolve-uri(@name,$src-folder)"/>
|
||||||
|
<variable name="doc" select="doc($path)"/>
|
||||||
|
<li>
|
||||||
|
<value-of select="position()"/>
|
||||||
|
<value-of select="$path"/>
|
||||||
|
</li>
|
||||||
|
</for-each>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
let $params:= map:merge(($params,map:entry("resources","resources/")))
|
||||||
|
return document{ xqhtml:page($d, $params ) }
|
||||||
|
};
|
||||||
|
|
||||||
|
declare function xqhtml:toc($params)
|
||||||
|
as element()
|
||||||
|
{
|
||||||
|
<nav id="toc">
|
||||||
|
<h2>
|
||||||
|
<a id="contents"></a>
|
||||||
|
<span class="tag tag-success">
|
||||||
|
{ $params?project }
|
||||||
|
</span>
|
||||||
|
</h2>
|
||||||
|
<ol class="toc">
|
||||||
|
<li>
|
||||||
|
<a href="#main">
|
||||||
|
<span class="secno">1 </span>
|
||||||
|
<span class="content">Introduction</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#ns">
|
||||||
|
<span class="secno">2 </span>
|
||||||
|
<span class="content">Namespaces</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#file">
|
||||||
|
<span class="secno">3 </span>
|
||||||
|
<span class="content">Files</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ol>
|
||||||
|
</nav>
|
||||||
|
};
|
||||||
|
|
||||||
|
(:~
|
||||||
|
: generate standard page wrapper
|
||||||
|
:)
|
||||||
|
declare function xqhtml:page($body,$opts as map(*))
|
||||||
|
as element(html)
|
||||||
|
{
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||||
|
<meta http-equiv="Generator" content="xqdoc-r - https://github.com/quodatum/xqdoc-r" />
|
||||||
|
|
||||||
|
<title>
|
||||||
|
RestXQ - xqDoc
|
||||||
|
</title>
|
||||||
|
<link rel="shortcut icon" type="image/x-icon" href="{$opts?resources}xqdoc.png" />
|
||||||
|
<link rel="stylesheet" type="text/css" href="{$opts?resources}page.css" />
|
||||||
|
<link rel="stylesheet" type="text/css" href="{$opts?resources}query.css" />
|
||||||
|
<link rel="stylesheet" type="text/css" href="{$opts?resources}base.css" />
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body class="home" id="top">
|
||||||
|
<div id="main">
|
||||||
|
{$body}
|
||||||
|
</div>
|
||||||
|
<div class="footer">
|
||||||
|
<p style="text-align:right">generated at {current-dateTime()}</p>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
};
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
module namespace xqd = 'quodatum:build.xqdoc';
|
module namespace xqd = 'quodatum:build.xqdoc';
|
||||||
import module namespace xp="expkg-zone58:text.parse";
|
import module namespace xp="expkg-zone58:text.parse";
|
||||||
import module namespace store = 'quodatum.store' at '../store.xqm';
|
import module namespace store = 'quodatum.store' at '../store.xqm';
|
||||||
|
import module namespace xqhtml = 'quodatum:build.xqdoc-html' at "xqdoc-html.xqm";
|
||||||
declare namespace c="http://www.w3.org/ns/xproc-step";
|
declare namespace c="http://www.w3.org/ns/xproc-step";
|
||||||
declare namespace xqdoc="http://www.xqdoc.org/1.0";
|
declare namespace xqdoc="http://www.xqdoc.org/1.0";
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ declare variable $xqd:HTML5:=map{"method": "html","version":"5.0"};
|
||||||
declare variable $xqd:XML:=map{"indent": "no"};
|
declare variable $xqd:XML:=map{"indent": "no"};
|
||||||
declare variable $xqd:mod-xslt external :="html-module.xsl";
|
declare variable $xqd:mod-xslt external :="html-module.xsl";
|
||||||
declare variable $xqd:index-xslt external :="html-index.xsl";
|
declare variable $xqd:index-xslt external :="html-index.xsl";
|
||||||
|
declare variable $xqd:nsRESTXQ:= 'http://exquery.org/ns/restxq';
|
||||||
declare variable $xqd:cache external :=false();
|
declare variable $xqd:cache external :=false();
|
||||||
|
|
||||||
(:~ @see https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods :)
|
(:~ @see https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods :)
|
||||||
|
@ -34,7 +34,7 @@ let $f:= document{$files} transform with { delete node //c:directory[not(.//c:
|
||||||
return (
|
return (
|
||||||
$files//c:file!xqd:gendoc(.,"modules/F" || position(),$target,$params),
|
$files//c:file!xqd:gendoc(.,"modules/F" || position(),$target,$params),
|
||||||
$f=>xqd:store($target || "/files.xml",$xqd:XML),
|
$f=>xqd:store($target || "/files.xml",$xqd:XML),
|
||||||
$f=>xqd:index-html($params)=>xqd:store($target || "/index.html",$xqd:HTML5),
|
$f=>xqhtml:index-html($params)=>xqd:store($target || "/index.html",$xqd:HTML5),
|
||||||
xqd:export-resources($target)
|
xqd:export-resources($target)
|
||||||
)
|
)
|
||||||
};
|
};
|
||||||
|
@ -74,6 +74,39 @@ declare function xqd:gendoc(
|
||||||
)
|
)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
(:~
|
||||||
|
: create documentation folder map
|
||||||
|
: map{"base-uri":.., "files":map(*)*}
|
||||||
|
:)
|
||||||
|
declare function xqd:read($efolder as xs:string)
|
||||||
|
{
|
||||||
|
let $files:= file:list($efolder,true(),"*.xqm")
|
||||||
|
let $full:= $files!concat($efolder || "\",.)
|
||||||
|
return map{
|
||||||
|
"base-uri": $efolder,
|
||||||
|
"files": for $file in $files
|
||||||
|
let $full:=concat($efolder || "\", $file)
|
||||||
|
return map{
|
||||||
|
"full":$full,
|
||||||
|
"xqdoc": xqd:xqdoc($full,map{"_source": $full}),
|
||||||
|
"xqparse": xqd:parse($full)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
declare function xqd:imports($doc)
|
||||||
|
{
|
||||||
|
let $keys:=$doc?files?xqdoc!map:entry(generate-id(.),position())=>map:merge()
|
||||||
|
let $ns:=for $in in $doc?files?xqdoc//xqdoc:import[@type="library"]
|
||||||
|
group by $ns:=$in/xqdoc:uri
|
||||||
|
let $id:=$keys?($in/root()/generate-id())
|
||||||
|
return map:entry($ns,$id)
|
||||||
|
return map:merge(($doc,map{"keys": $keys,
|
||||||
|
"imports": $ns}))
|
||||||
|
};
|
||||||
|
|
||||||
(:~
|
(:~
|
||||||
: save xqdoc and html for source file $f
|
: save xqdoc and html for source file $f
|
||||||
: @param $f <c:file/>
|
: @param $f <c:file/>
|
||||||
|
@ -143,7 +176,7 @@ as element(xqdoc:xqdoc)
|
||||||
inspect:xqdoc($url)
|
inspect:xqdoc($url)
|
||||||
transform with {
|
transform with {
|
||||||
for $tag in map:keys($opts)
|
for $tag in map:keys($opts)
|
||||||
return insert node <xqdoc:custom tag="_{ $tag }">{ $opts[$tag] }</xqdoc:custom>
|
return insert node <xqdoc:custom tag="_{ $tag }">{ $opts?($tag) }</xqdoc:custom>
|
||||||
into xqdoc:module[@type="library"]/xqdoc:comment
|
into xqdoc:module[@type="library"]/xqdoc:comment
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -167,8 +200,16 @@ xslt:transform($files,$xqd:index-xslt,$params)
|
||||||
};
|
};
|
||||||
|
|
||||||
(:~ save runtime support files to $target :)
|
(:~ save runtime support files to $target :)
|
||||||
declare function xqd:export-resources($target as xs:string)
|
declare
|
||||||
{
|
function xqd:export-resources($target as xs:string)
|
||||||
|
as empty-sequence(){
|
||||||
|
archive:extract-to($target, file:read-binary(resolve-uri('resources.zip')))
|
||||||
|
};
|
||||||
|
|
||||||
|
(:~ save runtime support files to $target :)
|
||||||
|
declare %updating
|
||||||
|
function xqd:export-resources2($target as xs:string)
|
||||||
|
as empty-sequence(){
|
||||||
archive:extract-to($target, file:read-binary(resolve-uri('resources.zip')))
|
archive:extract-to($target, file:read-binary(resolve-uri('resources.zip')))
|
||||||
};
|
};
|
||||||
(:~
|
(:~
|
||||||
|
@ -198,35 +239,49 @@ as element(xqdoc:annotation)*
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
(:~
|
|
||||||
: generate standard page wrapper
|
|
||||||
:)
|
|
||||||
declare function xqd:page($body,$opts as map(*))
|
|
||||||
as element(html)
|
|
||||||
{
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
|
||||||
<meta http-equiv="Generator" content="xqdoc-r - https://github.com/quodatum/xqdoc-r" />
|
|
||||||
|
|
||||||
<title>
|
|
||||||
RestXQ - xqDoc
|
|
||||||
</title>
|
|
||||||
<link rel="shortcut icon" type="image/x-icon" href="{$opts?resources}xqdoc.png" />
|
|
||||||
<link rel="stylesheet" type="text/css" href="{$opts?resources}page.css" />
|
|
||||||
<link rel="stylesheet" type="text/css" href="{$opts?resources}query.css" />
|
|
||||||
<link rel="stylesheet" type="text/css" href="{$opts?resources}base.css" />
|
|
||||||
|
|
||||||
</head>
|
(: @return map of functions and variables having annotations :)
|
||||||
|
declare function xqd:annotation-map($xqdoc){
|
||||||
<body class="home" id="top">
|
let $ns:=map:merge((
|
||||||
<div id="main">
|
map:entry("", "http://www.w3.org/2012/xquery"),
|
||||||
{$body}
|
$xqdoc//xqdoc:namespace!map:entry(string(@prefix),string(@uri))
|
||||||
</div>
|
))
|
||||||
<div class="footer">
|
let $f:=$xqdoc//xqdoc:function[xqdoc:annotations]!
|
||||||
<p style="text-align:right">generated at {current-dateTime()}</p>
|
map:entry(
|
||||||
</div>
|
xqdoc:name || "#" || @arity,
|
||||||
</body>
|
xqd:annots(xqdoc:annotations/xqdoc:annotation,$ns)
|
||||||
</html>
|
)
|
||||||
|
let $v:=$xqdoc//xqdoc:variable[xqdoc:annotations]!
|
||||||
|
map:entry(
|
||||||
|
xqdoc:name ,
|
||||||
|
xqd:annots(xqdoc:annotations/xqdoc:annotation,$ns)
|
||||||
|
)
|
||||||
|
return map:merge(($f,$v))
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
(: return annotation map for a name
|
||||||
|
: map{ $ns: map{
|
||||||
|
: $aname: $values
|
||||||
|
: }
|
||||||
|
: }
|
||||||
|
:)
|
||||||
|
declare function xqd:annots(
|
||||||
|
$annots as element(xqdoc:annotation)*,
|
||||||
|
$ns as map(*)
|
||||||
|
) as map(*)
|
||||||
|
{
|
||||||
|
map:merge(
|
||||||
|
for $a in $annots
|
||||||
|
group by $prefix:=substring-before($a/@name,":")
|
||||||
|
return for $p in $prefix
|
||||||
|
return map:entry(
|
||||||
|
$ns?($p),
|
||||||
|
map:merge((
|
||||||
|
for $x in $a
|
||||||
|
group by $aname:=if(contains($x/@name,":")) then substring-after($x/@name,":") else $x/@name
|
||||||
|
return map:entry($aname,$x/*/string())
|
||||||
|
))
|
||||||
|
)
|
||||||
|
)};
|
|
@ -1,5 +1,5 @@
|
||||||
<entity name="service" xmlns="https://github.com/Quodatum/app-doc/entity">
|
<entity name="service" xmlns="https://github.com/Quodatum/app-doc/entity">
|
||||||
<description>basex services </description>
|
<description>basex services a list of all jobs that have been persistently registered as Services.</description>
|
||||||
<fields>
|
<fields>
|
||||||
<field name="id" type="xs:string">
|
<field name="id" type="xs:string">
|
||||||
<description>job id</description>
|
<description>job id</description>
|
||||||
|
|
|
@ -3,18 +3,18 @@
|
||||||
"version": "0.1.99",
|
"version": "0.1.99",
|
||||||
"description": "A vue test",
|
"description": "A vue test",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ace": "1.4.2",
|
"ace": "1.4.3",
|
||||||
"vuetify": "1.5.1",
|
"vuetify": "1.5.6",
|
||||||
"vue": "2.6.7",
|
"vue": "2.6.7",
|
||||||
"vuex": "3.0.1",
|
"vuex": "3.0.1",
|
||||||
"vue-router": "3.0.2",
|
"vue-router": "3.0.2",
|
||||||
"vue-treeselect": "0.0.25",
|
"vue-treeselect": "0.0.25",
|
||||||
"google-material": "0.0.0",
|
"google-material": "0.0.0",
|
||||||
"js-beautify": "1.6.12",
|
"js-beautify": "1.9.0",
|
||||||
"axios": "0.17.1",
|
"axios": "0.17.1",
|
||||||
"qs": "6.4.0",
|
"qs": "6.4.0",
|
||||||
"localforage": "1.7.1",
|
"localforage": "1.7.1",
|
||||||
"momentjs": "2.18.1",
|
"momentjs": "2.18.1",
|
||||||
"vuetify-jsonschema-form": "0.20.1"
|
"vuetify-jsonschema-form": "0.24.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
// generated 2019-03-01T23:13:01.734Z
|
// generated 2019-03-16T22:59:26.228Z
|
||||||
|
|
||||||
// src: file:///C:/Users/andy/git/vue-poc/src/vue-poc/components/qd-autoheight.vue
|
// src: file:///C:/Users/andy/git/vue-poc/src/vue-poc/components/qd-autoheight.vue
|
||||||
Vue.component('qd-autoheight',{template:`
|
Vue.component('qd-autoheight',{template:`
|
||||||
|
@ -3258,7 +3258,7 @@ const Brutusin=Vue.extend({template:`
|
||||||
<v-chip v-else color="danger">invalid</v-chip>
|
<v-chip v-else color="danger">invalid</v-chip>
|
||||||
<v-btn color="primary" @click="$refs.myForm.validate()">validate</v-btn>
|
<v-btn color="primary" @click="$refs.myForm.validate()">validate</v-btn>
|
||||||
<v-spacer></v-spacer>
|
<v-spacer></v-spacer>
|
||||||
<qd-link href="https://github.com/koumoul-dev/vuetify-jsonschema-form/">vuetify-jsonschema-form@0.21.0</qd-link>
|
<qd-link href="https://github.com/koumoul-dev/vuetify-jsonschema-form/">vuetify-jsonschema-form@0.24.1</qd-link>
|
||||||
</v-toolbar>
|
</v-toolbar>
|
||||||
<v-card-actions>
|
<v-card-actions>
|
||||||
<v-layout row wrap>
|
<v-layout row wrap>
|
||||||
|
@ -3481,28 +3481,37 @@ const Taskhistory=Vue.extend({template:`
|
||||||
// src: file:///C:/Users/andy/git/vue-poc/src/vue-poc/features/home.vue
|
// src: file:///C:/Users/andy/git/vue-poc/src/vue-poc/features/home.vue
|
||||||
const Home=Vue.extend({template:`
|
const Home=Vue.extend({template:`
|
||||||
|
|
||||||
<v-card hover raised>
|
<v-card raised>
|
||||||
|
<v-card-title>links</v-card-title>
|
||||||
<v-card-text>
|
<v-card-text>
|
||||||
|
<v-card-text>
|
||||||
<p>
|
<v-list dense>
|
||||||
links
|
<v-list-tile @click>
|
||||||
</p>
|
<router-link :to="{path:'files', query:{url:'/vue-poc/'}}"> <v-icon>developer_mode</v-icon>vue-poc files</router-link>
|
||||||
<ul>
|
</v-list-tile>
|
||||||
|
<v-list-tile @click>
|
||||||
<li><router-link :to="{path:'files', query:{url:'/vue-poc/'}}"> <v-icon>developer_mode</v-icon>vue-poc files</router-link></li>
|
<router-link :to="{path:'database', query:{url:'/vue-poc/'}}"> <v-icon>folder</v-icon>vue-poc db</router-link>
|
||||||
<li><router-link :to="{path:'database', query:{url:'/vue-poc/'}}"> <v-icon>folder</v-icon>vue-poc db</router-link></li>
|
</v-list-tile>
|
||||||
<li><a href="/doc/#/data/app/vue-poc" target="new">doc</a></li>
|
<v-list-tile @click>
|
||||||
<li><a href="/dba" target="new">DBA app</a></li>
|
<a href="/doc/#/data/app/vue-poc" target="new">doc</a>
|
||||||
<li><a href="/vue-poc/ui/database?url=%2Fvue-poc%2F" target="new">db</a></li>
|
</v-list-tile>
|
||||||
<li><router-link :to="{path:'files', query:{url:'/vue-poc/features/images/'}}">vue-poc image tasks</router-link></li>
|
<v-list-tile @click>
|
||||||
</ul>
|
<a href="/dba" target="new">DBA app</a>
|
||||||
|
</v-list-tile>
|
||||||
|
<v-list-tile @click>
|
||||||
|
<a href="/vue-poc/ui/database?url=%2Fvue-poc%2F" target="new">db</a>
|
||||||
|
</v-list-tile>
|
||||||
|
<v-list-tile @click>
|
||||||
|
<router-link :to="{path:'files', query:{url:'/vue-poc/features/images/'}}">vue-poc image tasks</router-link>
|
||||||
|
</v-list-tile>
|
||||||
|
</v-list>
|
||||||
|
</v-card-text>
|
||||||
|
<v-card-actions>
|
||||||
<v-btn floating="floating"> <v-icon>add</v-icon>
|
<v-btn floating="floating"> <v-icon>add</v-icon>
|
||||||
</v-btn> <qd-link href="/dba">REPLACED</qd-link>
|
</v-btn> <qd-link href="/dba">REPLACED</qd-link>
|
||||||
|
</v-card-actions>
|
||||||
|
|
||||||
</v-card-text>
|
</v-card-text></v-card>
|
||||||
</v-card>
|
|
||||||
`,
|
`,
|
||||||
|
|
||||||
data: function(){
|
data: function(){
|
||||||
|
|
|
@ -10,11 +10,11 @@
|
||||||
<link rel="shortcut icon" href="/vue-poc/ui/icon.png"/>
|
<link rel="shortcut icon" href="/vue-poc/ui/icon.png"/>
|
||||||
<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:300,400,500,700,400italic"/>
|
<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:300,400,500,700,400italic"/>
|
||||||
<link rel="stylesheet" href="//fonts.googleapis.com/icon?family=Material+Icons"/>
|
<link rel="stylesheet" href="//fonts.googleapis.com/icon?family=Material+Icons"/>
|
||||||
<link rel="stylesheet" href="//unpkg.com/vuetify@1.5.4/dist/vuetify.min.css" type="text/css"/>
|
<link rel="stylesheet" href="//unpkg.com/vuetify@1.5.7/dist/vuetify.min.css" type="text/css"/>
|
||||||
<link rel="stylesheet" href="//unpkg.com/@riophae/vue-treeselect@0.0.29/dist/vue-treeselect.min.css"/>
|
<link rel="stylesheet" href="//unpkg.com/@riophae/vue-treeselect@0.0.29/dist/vue-treeselect.min.css"/>
|
||||||
<link rel="stylesheet" href="/vue-poc/ui/prism/prism.css" rel="stylesheet" type="text/css"/>
|
<link rel="stylesheet" href="/vue-poc/ui/prism/prism.css" rel="stylesheet" type="text/css"/>
|
||||||
<link rel="stylesheet" href="//unpkg.com/leaflet@1.0.3/dist/leaflet.css"/>
|
<link rel="stylesheet" href="//unpkg.com/leaflet@1.0.3/dist/leaflet.css"/>
|
||||||
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/@koumoul/vuetify-jsonschema-form@0.21.0/dist/main.css" />
|
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/@koumoul/vuetify-jsonschema-form@0.24.1/dist/main.css" />
|
||||||
<link href="/vue-poc/ui/app.css" rel="stylesheet" type="text/css"/>
|
<link href="/vue-poc/ui/app.css" rel="stylesheet" type="text/css"/>
|
||||||
<link href="/vue-poc/ui/svg/d3-svg.css" rel="stylesheet" type="text/css"/>
|
<link href="/vue-poc/ui/svg/d3-svg.css" rel="stylesheet" type="text/css"/>
|
||||||
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/vis/4.20.1/vis-timeline-graph2d.min.css" />
|
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/vis/4.20.1/vis-timeline-graph2d.min.css" />
|
||||||
|
@ -39,14 +39,14 @@
|
||||||
<script src="//cdnjs.cloudflare.com/ajax/libs/axios/0.18.0/axios.js" crossorigin="anonymous"></script>
|
<script src="//cdnjs.cloudflare.com/ajax/libs/axios/0.18.0/axios.js" crossorigin="anonymous"></script>
|
||||||
<script src="//unpkg.com/vuex@3.1.0/dist/vuex.js" crossorigin="anonymous"></script>
|
<script src="//unpkg.com/vuex@3.1.0/dist/vuex.js" crossorigin="anonymous"></script>
|
||||||
<script src="//cdnjs.cloudflare.com/ajax/libs/qs/6.4.0/qs.js" crossorigin="anonymous" ></script>
|
<script src="//cdnjs.cloudflare.com/ajax/libs/qs/6.4.0/qs.js" crossorigin="anonymous" ></script>
|
||||||
<script src="//unpkg.com/vuetify@1.5.4/dist/vuetify.min.js" crossorigin="anonymous"></script>
|
<script src="//unpkg.com/vuetify@1.5.7/dist/vuetify.min.js" crossorigin="anonymous"></script>
|
||||||
<script src="//cdnjs.cloudflare.com/ajax/libs/ace/1.4.3/ace.js" crossorigin="anonymous"></script>
|
<script src="//cdnjs.cloudflare.com/ajax/libs/ace/1.4.3/ace.js" crossorigin="anonymous"></script>
|
||||||
<script src="//cdnjs.cloudflare.com/ajax/libs/ace/1.4.3/ext-language_tools.js" crossorigin="anonymous"></script>
|
<script src="//cdnjs.cloudflare.com/ajax/libs/ace/1.4.3/ext-language_tools.js" crossorigin="anonymous"></script>
|
||||||
<script src="//cdnjs.cloudflare.com/ajax/libs/ace/1.4.3/ext-linking.js" crossorigin="anonymous" charset="utf-8"></script>
|
<script src="//cdnjs.cloudflare.com/ajax/libs/ace/1.4.3/ext-linking.js" crossorigin="anonymous" charset="utf-8"></script>
|
||||||
<script src="//cdnjs.cloudflare.com/ajax/libs/d3/4.13.0/d3.js" crossorigin="anonymous"></script>
|
<script src="//cdnjs.cloudflare.com/ajax/libs/d3/4.13.0/d3.js" crossorigin="anonymous"></script>
|
||||||
<script src="//cdnjs.cloudflare.com/ajax/libs/js-beautify/1.6.12/beautify.js" crossorigin="anonymous"></script>
|
<script src="//cdnjs.cloudflare.com/ajax/libs/js-beautify/1.9.0/beautify.js" crossorigin="anonymous"></script>
|
||||||
<script src="//cdnjs.cloudflare.com/ajax/libs/js-beautify/1.6.12/beautify-css.js" crossorigin="anonymous"></script>
|
<script src="//cdnjs.cloudflare.com/ajax/libs/js-beautify/1.9.0/beautify-css.js" crossorigin="anonymous"></script>
|
||||||
<script src="//cdnjs.cloudflare.com/ajax/libs/js-beautify/1.6.12/beautify-html.js" crossorigin="anonymous"></script>
|
<script src="//cdnjs.cloudflare.com/ajax/libs/js-beautify/1.9.0/beautify-html.js" crossorigin="anonymous"></script>
|
||||||
<script src="//cdnjs.cloudflare.com/ajax/libs/localforage/1.7.1/localforage.js" crossorigin="anonymous"></script>
|
<script src="//cdnjs.cloudflare.com/ajax/libs/localforage/1.7.1/localforage.js" crossorigin="anonymous"></script>
|
||||||
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.js" crossorigin="anonymous"></script>
|
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.js" crossorigin="anonymous"></script>
|
||||||
<script src="//cdnjs.cloudflare.com/ajax/libs/vis/4.20.1/vis-timeline-graph2d.min.js" crossorigin="anonymous"></script>
|
<script src="//cdnjs.cloudflare.com/ajax/libs/vis/4.20.1/vis-timeline-graph2d.min.js" crossorigin="anonymous"></script>
|
||||||
|
@ -59,7 +59,7 @@
|
||||||
<script src="//unpkg.com/leaflet@1.0.3/dist/leaflet.js" crossorigin="anonymous"></script>
|
<script src="//unpkg.com/leaflet@1.0.3/dist/leaflet.js" crossorigin="anonymous"></script>
|
||||||
<script src="//unpkg.com/vue2-leaflet@1.0.2/dist/vue2-leaflet.js" crossorigin="anonymous"></script>
|
<script src="//unpkg.com/vue2-leaflet@1.0.2/dist/vue2-leaflet.js" crossorigin="anonymous"></script>
|
||||||
|
|
||||||
<script src="//cdn.jsdelivr.net/npm/@koumoul/vuetify-jsonschema-form@0.21.0/dist/main.js" crossorigin="anonymous"></script>
|
<script src="//cdn.jsdelivr.net/npm/@koumoul/vuetify-jsonschema-form@0.24.1/dist/main.js" crossorigin="anonymous"></script>
|
||||||
|
|
||||||
<script src="//unpkg.com/vue-native-websocket@2.0.8/dist/build.js" crossorigin="anonymous"></script>
|
<script src="//unpkg.com/vue-native-websocket@2.0.8/dist/build.js" crossorigin="anonymous"></script>
|
||||||
<script src="/vue-poc/ui/svg/d3-svg.js"></script>
|
<script src="/vue-poc/ui/svg/d3-svg.js"></script>
|
||||||
|
|
Loading…
Add table
Reference in a new issue