xqlint string constructor

This commit is contained in:
Andy Bunce 2017-11-02 20:55:17 +00:00
parent 0b87640f57
commit 2cdc2c50c1
13 changed files with 11753 additions and 11396 deletions

View file

@ -1,5 +1,5 @@
WARNING=DO NOT MODIFY THIS FILE IF YOU DON'T UNDERSTAND WARNING=DO NOT MODIFY THIS FILE IF YOU DON'T UNDERSTAND
defaultDestination=C\:/Users/andy/Desktop/basex.865/webapp defaultDestination=C\:/Users/andy/Desktop/basex.9b/webapp
defaultVariables= defaultVariables=
eclipse.preferences.version=1 eclipse.preferences.version=1
includeTeamPrivateFiles=false includeTeamPrivateFiles=false

View file

@ -64,16 +64,21 @@
</namespace> </namespace>
<namespace uri="http://www.opengis.net/kml/2.2" prefix="kml"> <namespace uri="http://www.opengis.net/kml/2.2" prefix="kml">
<description>Geo <description>Geo
</description> </description>
</namespace> </namespace>
<namespace uri="http://www.w3.org/ns/xproc" prefix="xproc"> <namespace uri="http://www.w3.org/ns/xproc" prefix="xproc">
<description>XProc <description>XProc
</description> </description>
</namespace> </namespace>
<namespace uri="http://www.w3.org/ns/xproc-step" prefix="c"> <namespace uri="http://www.w3.org/ns/xproc-step" prefix="c">
<description>XProc step <description>XProc step
</description> </description>
</namespace> </namespace>
<namespace uri="http://www.w3.org/ns/xproc-step" prefix="pkg">
<description>EXpath packaging
</description>
</namespace>
</namespaces> </namespaces>

View file

@ -58,7 +58,7 @@ as element(json)
{for $f in $items/* {for $f in $items/*
order by $f/@name/lower-case(.) order by $f/@name/lower-case(.)
return <_ type="object"> return <_ type="object">
{vue-api:details($f,"folder")} {vue-api:details($f=>trace("foo"),"folder")}
</_> </_>
} }
</items> </items>
@ -73,7 +73,7 @@ as element(*)*
,<modified>{$f/@last-modified/string()}</modified> ,<modified>{$f/@last-modified/string()}</modified>
,<size type="number">{$f/@size/string()}</size> ,<size type="number">{$f/@size/string()}</size>
,<selected type="boolean">false</selected> ,<selected type="boolean">false</selected>
,<mime>unknown</mime> ,<mime>{$f/@content-type/string()}</mime>
}; };

View file

@ -8,6 +8,11 @@
<v-btn icon :to="{query: { url: '/' }}"> <v-btn icon :to="{query: { url: '/' }}">
<v-icon >{{icon}}</v-icon> <v-icon >{{icon}}</v-icon>
</v-btn> </v-btn>
<v-btn icon @click="load()">
<v-icon>refresh</v-icon>
</v-btn>
<v-toolbar-title> <v-toolbar-title>
<v-breadcrumbs> <v-breadcrumbs>
<v-breadcrumbs-item v-for="item in crumbs" :key="item.path" <v-breadcrumbs-item v-for="item in crumbs" :key="item.path"
@ -34,12 +39,15 @@
</v-btn> </v-btn>
</v-toolbar-items> </v-toolbar-items>
<v-toolbar-items v-if="selection.length">
<v-btn icon v-for="b in selopts" :key="b.icon" @click="action(b)">
<v-icon v-text="b.icon"></v-icon>
</v-btn>
</v-toolbar-items>
<v-toolbar-items v-if="selection.length">
<v-btn icon v-for="b in selopts" :key="b.icon" @click="action(b)">
<v-icon v-text="b.icon"></v-icon>
</v-btn>
</v-toolbar-items>
<v-menu offset-y v-if="selection.length"> <v-menu offset-y v-if="selection.length">
<v-btn icon slot="activator"> <v-btn icon slot="activator">
<v-icon>more_vert</v-icon> <v-icon>more_vert</v-icon>
@ -58,6 +66,7 @@
</v-list> </v-list>
</v-menu> </v-menu>
</v-toolbar> </v-toolbar>
<v-layout v-if="!busy"> <v-layout v-if="!busy">
@ -73,7 +82,10 @@
</v-list-tile-avatar> </v-list-tile-avatar>
<v-list-tile-content > <v-list-tile-content >
<v-list-tile-title>{{ item.name }}</v-list-tile-title> <v-list-tile-title>{{ item.name }}</v-list-tile-title>
<v-list-tile-sub-title>modified: {{ item.modified | formatDate}} size: {{ item.size | readablizeBytes}}</v-list-tile-sub-title> <v-list-tile-sub-title>modified: {{ item.modified | formatDate}}
size: {{ item.size | readablizeBytes}}
mimetype: {{ item.mime}}
</v-list-tile-sub-title>
</v-list-tile-content> </v-list-tile-content>
<v-list-tile-action> <v-list-tile-action>
<v-btn icon @click.stop="info(item)"> <v-btn icon @click.stop="info(item)">
@ -92,7 +104,10 @@
</v-list-tile-avatar> </v-list-tile-avatar>
<v-list-tile-content @click="file(item.name)"> <v-list-tile-content @click="file(item.name)">
<v-list-tile-title >{{ item.name }}</v-list-tile-title> <v-list-tile-title >{{ item.name }}</v-list-tile-title>
<v-list-tile-sub-title>modified: {{item.modified | formatDate}} size: {{item.size|readablizeBytes }}</v-list-tile-sub-title> <v-list-tile-sub-title>modified: {{item.modified | formatDate}},
size: {{item.size|readablizeBytes }},
mimetype: {{ item.mime}}
</v-list-tile-sub-title>
</v-list-tile-content> </v-list-tile-content>
<v-list-tile-action> <v-list-tile-action>
<v-btn icon ripple @click.stop="info(item)"> <v-btn icon ripple @click.stop="info(item)">

View file

@ -40,31 +40,31 @@
<v-card class="grey lighten-2 pt-1"> <v-card class="grey lighten-2 pt-1">
<v-card-media :src="src(image)" @dblclick="go(image)" <v-card-media :src="src(image)" @dblclick="go(image)"
height="80px" contain> height="80px" contain>
<v-layout align-baseline align-end fill-height>
<v-flex >
<v-icon class="green--text">check_circle</v-icon>
</v-flex>
</v-layout>
</v-card-media> </v-card-media>
<v-card-actions > <v-card-actions >
<span v-if="image.keywords >0 ">#{{image.keywords}}</span>
<v-btn icon small v-if="image.geo">
<v-icon>place</v-icon>
</v-btn>
<v-spacer></v-spacer>
<v-tooltip bottom > <v-tooltip bottom >
<v-btn icon small slot="activator"> <v-btn icon small slot="activator">
<v-icon>info</v-icon> <v-icon>info</v-icon>
</v-btn> </v-btn>
<span v-text="image.path"></span> <span v-text="image.path"></span>
</v-tooltip> </v-tooltip>
<span v-if="image.keywords >0 ">#{{image.keywords}}</span>
<v-btn icon small v-if="image.geo">
<v-icon>place</v-icon>
</v-btn>
<v-spacer></v-spacer>
<v-btn icon small @click="selected(image)"> <v-btn icon small @click="selected(image)">
<v-icon>share</v-icon> <v-icon>share</v-icon>
</v-btn> </v-btn>
</v-card-actions> </v-card-actions>
<div style="position:absolute;right:0;top:0" >
<v-icon class="white primary--text">check_circle</v-icon>
</div
</v-card> </v-card>
</v-flex> </v-flex>
</v-layout> </v-layout>
@ -85,7 +85,7 @@
label="Keyword" item-value="text" item-text="text" label="Keyword" item-value="text" item-text="text"
autocomplete clearable autocomplete clearable
> >
<template slot="item" scope="data"> <template slot="item" slot-scope="data">
<v-list-tile-content> <v-list-tile-content>
<v-list-tile-title v-html="data.item.text"></v-list-tile-title> <v-list-tile-title v-html="data.item.text"></v-list-tile-title>
<v-list-tile-sub-title v-html="data.item.count"></v-list-tile-sub-title> <v-list-tile-sub-title v-html="data.item.count"></v-list-tile-sub-title>
@ -112,7 +112,7 @@
></v-text-field> ></v-text-field>
<v-date-picker v-model="query.from" scrollable actions> <v-date-picker v-model="query.from" scrollable actions>
<template scope="{ save, cancel }"> <template slot-scope="{ save, cancel }">
<v-card-actions> <v-card-actions>
<v-btn flat color="primary" @click="cancel()">Cancel</v-btn> <v-btn flat color="primary" @click="cancel()">Cancel</v-btn>
<v-btn flat color="primary" @click="save()">Save</v-btn> <v-btn flat color="primary" @click="save()">Save</v-btn>
@ -142,7 +142,7 @@
></v-text-field> ></v-text-field>
<v-date-picker v-model="query.until" scrollable actions> <v-date-picker v-model="query.until" scrollable actions>
<template scope="{ save, cancel }"> <template slot-scope="{ save, cancel }">
<v-card-actions> <v-card-actions>
<v-btn flat color="primary" @click="cancel()">Cancel</v-btn> <v-btn flat color="primary" @click="cancel()">Cancel</v-btn>
<v-btn flat color="primary" @click="save()">Save</v-btn> <v-btn flat color="primary" @click="save()">Save</v-btn>

View file

@ -142,15 +142,14 @@ as element(*)*
let $id:=$vue-api:entity?access?id($image) let $id:=$vue-api:entity?access?id($image)
let $path:=$vue-api:entity?access?path($image) let $path:=$vue-api:entity?access?path($image)
let $name:=$vue-api:entity?access?name($image) let $name:=$vue-api:entity?access?name($image)
let $geo:=$vue-api:entity?access?geo($image) let $geo:=$vue-api:entity?json?geo($image)
let $keywords:=$vue-api:entity?access?keywords($image) let $keywords:=$vue-api:entity?json?keywords($image)
let $thumb:= $cfg:THUMBDIR || $path let $thumb:= $cfg:THUMBDIR || $path
let $thumb:=if(file:exists($thumb)) then $thumb else $cfg:THUMBDIR || "missing.jpg" let $thumb:=if(file:exists($thumb)) then $thumb else $cfg:THUMBDIR || "missing.jpg"
return ( <id>{$id}</id> return ( <id>{$id}</id>
,<name>{$name}</name> ,<name>{$name}</name>
,<path>{$path}</path> ,<path>{$path}</path>
,<geo>{$geo}</geo> ,$geo,$keywords
,<keywords>{$keywords}</keywords>
,<data>{fetch:binary($thumb)}</data> ,<data>{fetch:binary($thumb)}</data>
,<mime>{fetch:content-type($thumb)}</mime>) ,<mime>{fetch:content-type($thumb)}</mime>)
}; };

View file

@ -17,18 +17,19 @@
</v-card-actions> </v-card-actions>
</v-card> </v-card>
<v-tabs-bar class="grey lighten-3"> <v-tabs-bar class="grey lighten-3" dense>
<v-tabs-item <v-tabs-item
v-for="i in 13" v-for="i in 13"
:key="i" :key="i"
:href="'#mobile-tabs-6-' + i" :href="'#mobile-tabs-6-' + i"
> >
<v-chip label close>
<v-icon>favorite</v-icon> <v-icon>favorite</v-icon>
<span>Item {{ i }} more</span>
Item {{ i }} more <v-spacer></v-spacer>
</v-chip> <v-btn small icon class="grey">
<v-icon>close</v-icon>
</v-btn>
</v-tabs-item> </v-tabs-item>
<v-tabs-slider class="primary"></v-tabs-slider> <v-tabs-slider class="primary"></v-tabs-slider>
</v-tabs-bar> </v-tabs-bar>

View file

@ -35,26 +35,31 @@ as element(c:directory)
declare function ufile:xmldb($url as xs:string) declare function ufile:xmldb($url as xs:string)
as element(c:directory) as element(c:directory)
{ {
<c:directory name="" xml:base="xmldb:/" last-modified="2017-07-01T13:39:38.98691Z" size="4096">{ <c:directory name="" xml:base="xmldb:/" last-modified="?" size="?">{
if($url="/") then if($url="/") then
db:list()! db:list()!
<c:directory name="{db:property(.,'name')}" <c:directory name="{db:property(.,'name')}" content-type="text/directory"
last-modified="{db:property(.,'timestamp')}" last-modified="{db:property(.,'timestamp')}"
size="{db:property(.,'size')}"/> size="{db:property(.,'size')}"/>
else else
let $db:=substring-before(substring($url,2),"/")
let $path:=substring($url,2+string-length($db))
let $map:=ufile:collection-next($url) let $map:=ufile:collection-next($url)
for $name in map:keys($map) for $name in map:keys($map)
(: db:list-details($db as xs:string, $path as xs:string) as element(resource)* :) (: db:list-details($db as xs:string, $path as xs:string) as element(resource)* :)
return if($map($name)="file") then return if($map($name)="file") then
<c:file name="{$name}" size="0"/> let $x:=db:list-details($db , $path || $name)=>trace("detail")
return <c:file name="{$name}" size="0"/>
else else
<c:directory name="{$name}" size="0"/> <c:directory name="{$name}" content-type="text/directory" size="0"/>
}</c:directory> }</c:directory>
}; };
(:~ return map of next level database contents (:~ return map of next level database contents
:@param $url a database base collection e.g /dbname/fred/ :@param $url a database base collection e.g /dbname/fred/
:@result keys are names, values are "file" or "directory"
:) :)
declare function ufile:collection-next($url as xs:string) declare function ufile:collection-next($url as xs:string)
as map(*) as map(*)

View file

@ -1,5 +1,5 @@
(:~ (:~
: Update `generated/models.xqm` from files in `data/models` : Genrate html xquery documntation
: using file:///C:/Users/andy/workspace/app-doc/src/doc/data/doc/models : 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" : $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" : $target:="file:///C:/Users/andy/workspace/app-doc/src/doc/generated/models.xqm"
@ -40,13 +40,14 @@ declare function xqd:gendoc(
$params as map(*) $params as map(*)
) )
{ {
let $target:=file:path-to-native($target) let $_:= if(file:is-dir($target)) then () else file:create-dir($target)
let $ip:=$f/@name/resolve-uri(.,base-uri(.)) let $target:= file:path-to-native($target)
let $op:=$f/ancestor-or-self::*/@name=>tail()=>string-join("/") let $ip:= $f/@name/resolve-uri(.,base-uri(.))
let $dest:=file:resolve-path($op,$target) let $op:= $f/ancestor-or-self::*/@name=>tail()=>string-join("/")
let $dest:= file:resolve-path($op,$target)
let $xqdoc:=xqd:xqdoc($ip,map{}) let $xqdoc:= xqd:xqdoc($ip,map{})
let $xq:=fetch:text($ip) let $xq:= fetch:text($ip)
let $params:=map:merge((map{ let $params:=map:merge((map{
"source":$xq, "source":$xq,
"filename":$f/@name/string(), "filename":$f/@name/string(),

File diff suppressed because one or more lines are too long

View file

@ -1,4 +1,4 @@
// generated 2017-10-22T22:09:51.205+01:00 // generated 2017-10-26T21:35:41.214+01:00
Vue.component('qd-confirm',{template:` Vue.component('qd-confirm',{template:`
<v-dialog v-model="value"> <v-dialog v-model="value">
<v-card> <v-card>
@ -517,6 +517,11 @@ Vue.filter('round', function(value, decimals) {
<v-btn icon="" :to="{query: { url: '/' }}"> <v-btn icon="" :to="{query: { url: '/' }}">
<v-icon>{{icon}}</v-icon> <v-icon>{{icon}}</v-icon>
</v-btn> </v-btn>
<v-btn icon="" @click="load()">
<v-icon>refresh</v-icon>
</v-btn>
<v-toolbar-title> <v-toolbar-title>
<v-breadcrumbs> <v-breadcrumbs>
<v-breadcrumbs-item v-for="item in crumbs" :key="item.path" :to="{ query: { url: item.path }}" :exact="true"> <v-breadcrumbs-item v-for="item in crumbs" :key="item.path" :to="{ query: { url: item.path }}" :exact="true">
@ -540,12 +545,15 @@ Vue.filter('round', function(value, decimals) {
</v-btn> </v-btn>
</v-toolbar-items> </v-toolbar-items>
<v-toolbar-items v-if="selection.length">
<v-btn icon="" v-for="b in selopts" :key="b.icon" @click="action(b)">
<v-icon v-text="b.icon"></v-icon>
</v-btn>
</v-toolbar-items>
<v-toolbar-items v-if="selection.length">
<v-btn icon="" v-for="b in selopts" :key="b.icon" @click="action(b)">
<v-icon v-text="b.icon"></v-icon>
</v-btn>
</v-toolbar-items>
<v-menu offset-y="" v-if="selection.length"> <v-menu offset-y="" v-if="selection.length">
<v-btn icon="" slot="activator"> <v-btn icon="" slot="activator">
<v-icon>more_vert</v-icon> <v-icon>more_vert</v-icon>
@ -564,6 +572,7 @@ Vue.filter('round', function(value, decimals) {
</v-list> </v-list>
</v-menu> </v-menu>
</v-toolbar> </v-toolbar>
<v-layout v-if="!busy"> <v-layout v-if="!busy">
@ -578,7 +587,10 @@ Vue.filter('round', function(value, decimals) {
</v-list-tile-avatar> </v-list-tile-avatar>
<v-list-tile-content> <v-list-tile-content>
<v-list-tile-title>{{ item.name }}</v-list-tile-title> <v-list-tile-title>{{ item.name }}</v-list-tile-title>
<v-list-tile-sub-title>modified: {{ item.modified | formatDate}} size: {{ item.size | readablizeBytes}}</v-list-tile-sub-title> <v-list-tile-sub-title>modified: {{ item.modified | formatDate}}
size: {{ item.size | readablizeBytes}}
mimetype: {{ item.mime}}
</v-list-tile-sub-title>
</v-list-tile-content> </v-list-tile-content>
<v-list-tile-action> <v-list-tile-action>
<v-btn icon="" @click.stop="info(item)"> <v-btn icon="" @click.stop="info(item)">
@ -597,7 +609,10 @@ Vue.filter('round', function(value, decimals) {
</v-list-tile-avatar> </v-list-tile-avatar>
<v-list-tile-content @click="file(item.name)"> <v-list-tile-content @click="file(item.name)">
<v-list-tile-title>{{ item.name }}</v-list-tile-title> <v-list-tile-title>{{ item.name }}</v-list-tile-title>
<v-list-tile-sub-title>modified: {{item.modified | formatDate}} size: {{item.size|readablizeBytes }}</v-list-tile-sub-title> <v-list-tile-sub-title>modified: {{item.modified | formatDate}},
size: {{item.size|readablizeBytes }},
mimetype: {{ item.mime}}
</v-list-tile-sub-title>
</v-list-tile-content> </v-list-tile-content>
<v-list-tile-action> <v-list-tile-action>
<v-btn icon="" ripple="" @click.stop="info(item)"> <v-btn icon="" ripple="" @click.stop="info(item)">
@ -1526,33 +1541,32 @@ Entities
<v-flex height="80px" xs2="" v-for="image in images" :key="image.name"> <v-flex height="80px" xs2="" v-for="image in images" :key="image.name">
<v-card class="grey lighten-2 pt-1"> <v-card class="grey lighten-2 pt-1">
<v-card-media :src="src(image)" @dblclick="go(image)" height="80px" contain=""> <v-card-media :src="src(image)" @dblclick="go(image)" height="80px" contain="">
<v-layout align-baseline="" align-end="" fill-height="">
<v-flex>
<v-icon class="green--text">check_circle</v-icon>
</v-flex>
</v-layout>
</v-card-media> </v-card-media>
<v-card-actions> <v-card-actions>
<span v-if="image.keywords >0 ">#{{image.keywords}}</span>
<v-btn icon="" small="" v-if="image.geo">
<v-icon>place</v-icon>
</v-btn>
<v-spacer></v-spacer>
<v-tooltip bottom=""> <v-tooltip bottom="">
<v-btn icon="" small="" slot="activator"> <v-btn icon="" small="" slot="activator">
<v-icon>info</v-icon> <v-icon>info</v-icon>
</v-btn> </v-btn>
<span v-text="image.path"></span> <span v-text="image.path"></span>
</v-tooltip> </v-tooltip>
<span v-if="image.keywords >0 ">#{{image.keywords}}</span>
<v-btn icon="" small="" v-if="image.geo">
<v-icon>place</v-icon>
</v-btn>
<v-spacer></v-spacer>
<v-btn icon="" small="" @click="selected(image)"> <v-btn icon="" small="" @click="selected(image)">
<v-icon>share</v-icon> <v-icon>share</v-icon>
</v-btn> </v-btn>
</v-card-actions> </v-card-actions>
<div style="position:absolute;right:0;top:0">
</v-card> <v-icon class="white primary--text">check_circle</v-icon>
</v-flex> </div>
</v-card></v-flex>
</v-layout> </v-layout>
</v-container> </v-container>
@ -1566,7 +1580,7 @@ Entities
<v-card-text> <v-card-text>
<v-select v-bind:items="keywords" v-model="query.keyword" label="Keyword" item-value="text" item-text="text" autocomplete="" clearable=""> <v-select v-bind:items="keywords" v-model="query.keyword" label="Keyword" item-value="text" item-text="text" autocomplete="" clearable="">
<template slot="item" scope="data"> <template slot="item" slot-scope="data">
<v-list-tile-content> <v-list-tile-content>
<v-list-tile-title v-html="data.item.text"></v-list-tile-title> <v-list-tile-title v-html="data.item.text"></v-list-tile-title>
<v-list-tile-sub-title v-html="data.item.count"></v-list-tile-sub-title> <v-list-tile-sub-title v-html="data.item.count"></v-list-tile-sub-title>
@ -1578,7 +1592,7 @@ Entities
<v-text-field slot="activator" label="Earliest date" v-model="query.from" prepend-icon="event" readonly=""></v-text-field> <v-text-field slot="activator" label="Earliest date" v-model="query.from" prepend-icon="event" readonly=""></v-text-field>
<v-date-picker v-model="query.from" scrollable="" actions=""> <v-date-picker v-model="query.from" scrollable="" actions="">
<template scope="{ save, cancel }"> <template slot-scope="{ save, cancel }">
<v-card-actions> <v-card-actions>
<v-btn flat="" color="primary" @click="cancel()">Cancel</v-btn> <v-btn flat="" color="primary" @click="cancel()">Cancel</v-btn>
<v-btn flat="" color="primary" @click="save()">Save</v-btn> <v-btn flat="" color="primary" @click="save()">Save</v-btn>
@ -1593,7 +1607,7 @@ Entities
<v-text-field slot="activator" label="Latest date" v-model="query.until" prepend-icon="event" readonly=""></v-text-field> <v-text-field slot="activator" label="Latest date" v-model="query.until" prepend-icon="event" readonly=""></v-text-field>
<v-date-picker v-model="query.until" scrollable="" actions=""> <v-date-picker v-model="query.until" scrollable="" actions="">
<template scope="{ save, cancel }"> <template slot-scope="{ save, cancel }">
<v-card-actions> <v-card-actions>
<v-btn flat="" color="primary" @click="cancel()">Cancel</v-btn> <v-btn flat="" color="primary" @click="cancel()">Cancel</v-btn>
<v-btn flat="" color="primary" @click="save()">Save</v-btn> <v-btn flat="" color="primary" @click="save()">Save</v-btn>
@ -2835,12 +2849,13 @@ svg
<v-tabs-bar class="grey lighten-3"> <v-tabs-bar class="grey lighten-3">
<v-tabs-item v-for="i in 13" :key="i" :href="'#mobile-tabs-6-' + i"> <v-tabs-item v-for="i in 13" :key="i" :href="'#mobile-tabs-6-' + i">
<v-chip label="" close="">
<v-icon>favorite</v-icon> <v-icon>favorite</v-icon>
<span>Item {{ i }} more</span>
Item {{ i }} more <v-spacer></v-spacer>
</v-chip> <v-btn small="" icon="" class="grey">
<v-icon>close</v-icon>
</v-btn>
</v-tabs-item> </v-tabs-item>
<v-tabs-slider class="primary"></v-tabs-slider> <v-tabs-slider class="primary"></v-tabs-slider>
</v-tabs-bar> </v-tabs-bar>
@ -3588,10 +3603,11 @@ router.beforeEach((to, from, next) => {
</v-btn> </v-btn>
<v-dialog v-model="frmFav"> <v-dialog v-model="frmFav">
<v-card> <v-card>
<v-toolbar class="amber">
<v-card-title> <v-card-title>
Bookmark Bookmark this page
</v-card-title> </v-card-title>
</v-toolbar>
<v-card-text> <v-card-text>
<h6>{{$route.meta.title}}</h6> <h6>{{$route.meta.title}}</h6>
<v-select v-model="tags" label="tags" chips="" tags="" :items="taglist"></v-select> <v-select v-model="tags" label="tags" chips="" tags="" :items="taglist"></v-select>
@ -3603,9 +3619,9 @@ router.beforeEach((to, from, next) => {
</v-card> </v-card>
</v-dialog> </v-dialog>
<v-spacer></v-spacer> <v-spacer></v-spacer>
<v-text-field prepend-icon="search" label="Search..." v-model="q" hide-details="" single-line="" dark="" @keyup.enter="search"></v-text-field>
<v-spacer></v-spacer> <v-spacer></v-spacer>
<v-text-field prepend-icon="search" label="Search..." v-model="q" hide-details="" single-line="" dark="" @keyup.enter="search"></v-text-field>
<v-menu left="" transition="v-fade-transition"> <v-menu left="" transition="v-fade-transition">
<v-btn dark="" icon="" slot="activator"> <v-btn dark="" icon="" slot="activator">
{{$auth.user}} {{$auth.user}}

View file

@ -37,8 +37,8 @@
</div> </div>
</div> </div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.4.4/vue.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.2/vue.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue-router/2.7.0/vue-router.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/vue-router/3.0.1/vue-router.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/axios/0.16.1/axios.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/axios/0.16.1/axios.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/qs/6.4.0/qs.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/qs/6.4.0/qs.js"></script>
<script src="https://unpkg.com/vuetify@0.16.9/dist/vuetify.min.js"></script> <script src="https://unpkg.com/vuetify@0.16.9/dist/vuetify.min.js"></script>

View file

@ -52,10 +52,11 @@
</v-btn> </v-btn>
<v-dialog v-model="frmFav"> <v-dialog v-model="frmFav">
<v-card> <v-card>
<v-toolbar class="amber">
<v-card-title> <v-card-title>
Bookmark Bookmark this page
</v-card-title> </v-card-title>
</v-toolbar>
<v-card-text> <v-card-text>
<h6>{{$route.meta.title}}</h6> <h6>{{$route.meta.title}}</h6>
<v-select <v-select
@ -73,10 +74,10 @@
</v-card> </v-card>
</v-dialog> </v-dialog>
<v-spacer></v-spacer> <v-spacer></v-spacer>
<v-text-field prepend-icon="search" label="Search..." v-model="q"
<v-spacer></v-spacer>
<v-text-field prepend-icon="search" label="Search..." v-model="q"
hide-details single-line dark @keyup.enter="search"></v-text-field> hide-details single-line dark @keyup.enter="search"></v-text-field>
<v-spacer></v-spacer>
<v-menu left transition="v-fade-transition"> <v-menu left transition="v-fade-transition">
<v-btn dark icon slot="activator"> <v-btn dark icon slot="activator">
{{$auth.user}} {{$auth.user}}