timeline
This commit is contained in:
parent
65f868fae4
commit
dff6a79747
15 changed files with 247 additions and 114 deletions
|
@ -6,17 +6,25 @@ for vis-time-line
|
|||
<div></div>
|
||||
</template>
|
||||
<script>{
|
||||
props: ['items', 'groups', 'options'],
|
||||
props: ['items', 'groups', 'options','events'],
|
||||
data(){
|
||||
return {timeline:Object}
|
||||
},
|
||||
methods:{
|
||||
select(properties){
|
||||
//alert('selected items: ' + properties.items);
|
||||
this.$emit('select',properties.items);
|
||||
}
|
||||
},
|
||||
mounted: function () {
|
||||
var items = new vis.DataSet(this.items);
|
||||
var options = this.options;
|
||||
var groups = this.groups;
|
||||
var timeline = new vis.Timeline(this.$el, items, groups, options);
|
||||
timeline.on('select', this.select);
|
||||
this.timeline = new vis.Timeline(this.$el, items, groups, options);
|
||||
this.timeline.on('select', this.select);
|
||||
if(this.events){
|
||||
this.events.$on('fit', (cmd) => {
|
||||
this.timeline.fit(true)
|
||||
})
|
||||
}
|
||||
}
|
||||
}</script>
|
||||
|
|
|
@ -2,7 +2,7 @@ xquery version "3.1";
|
|||
(:~ data locations for image feature :)
|
||||
module namespace cfg = "quodatum:media.image.configure";
|
||||
|
||||
declare variable $cfg:DB-IMAGE:="vue-poc";
|
||||
declare variable $cfg:DB-IMAGE:="media-images";
|
||||
|
||||
declare variable $cfg:IMAGEDIR:="P:/pictures/Pictures/";
|
||||
declare variable $cfg:THUMBDIR:="C:/tmp/";
|
||||
|
|
|
@ -7,8 +7,9 @@ declare namespace c="http://www.w3.org/ns/xproc-step";
|
|||
|
||||
(: declare variable $DEST:="c:\tmp\pics2.xml"; :)
|
||||
declare variable $DEST:="/pics.xml";
|
||||
|
||||
declare %updating function local:put($data,$path){
|
||||
db:replace("vue-poc",$path,$data)
|
||||
db:replace($cfg:DB-IMAGE,$path,$data)
|
||||
};
|
||||
|
||||
let $opt:=map{"include-info":true()}
|
||||
|
|
|
@ -6,11 +6,11 @@
|
|||
import module namespace cfg = "quodatum:media.image.configure" at "config.xqm";
|
||||
import module namespace imgmeta = "expkg-zone58:image.metadata" ;
|
||||
declare namespace c="http://www.w3.org/ns/xproc-step";
|
||||
declare variable $DB:="vue-poc";
|
||||
|
||||
declare variable $CHUNK:=1000;
|
||||
|
||||
let $done:=uri-collection("vue-poc/meta")
|
||||
let $files:= doc("/vue-poc/pics.xml")//c:file[ends-with(lower-case(@name),".jpg")]
|
||||
let $done:=uri-collection($cfg:DB-IMAGE || "/meta")
|
||||
let $files:= doc($cfg:DB-IMAGE || "/pics.xml")//c:file[ends-with(lower-case(@name),".jpg")]
|
||||
|
||||
let $relpath:= $files!( ancestor-or-self::*/@name=>string-join("/"))
|
||||
|
||||
|
@ -19,5 +19,5 @@ return (for $f in subsequence($todo,1, $CHUNK)
|
|||
let $spath:=$cfg:IMAGEDIR || "../" || $f
|
||||
let $dbpath:="meta/" || $f || "/meta.xml"
|
||||
let $meta:=imgmeta:read($spath)
|
||||
return db:replace($DB,$dbpath,$meta),
|
||||
return db:replace($cfg:DB-IMAGE,$dbpath,$meta),
|
||||
db:output($todo=>count()))
|
|
@ -4,7 +4,7 @@
|
|||
:)
|
||||
import module namespace metadata = 'expkg-zone58:image.metadata';
|
||||
import module namespace cfg = "quodatum:media.image.configure" at "config.xqm";
|
||||
for $meta in collection("/vue-poc/meta")/metadata
|
||||
for $meta in collection($cfg:DB-IMAGE || "/meta")/metadata
|
||||
let $loc:=db:path($meta)=>tokenize("/")
|
||||
let $name:=$loc[count($loc)-1]
|
||||
let $path:= subsequence($loc,1,count($loc)-1)=>string-join("/")
|
||||
|
@ -15,4 +15,4 @@ for $meta in collection("/vue-poc/meta")/metadata
|
|||
metadata:keywords($meta)
|
||||
} </image>
|
||||
let $target:="image/"|| $path || "/image.xml"
|
||||
return db:replace("vue-poc",$target,$image)
|
||||
return db:replace($cfg:DB-IMAGE,$target,$image)
|
|
@ -5,7 +5,7 @@
|
|||
import module namespace t="expkg-zone58:image.thumbnailator";
|
||||
import module namespace cfg = "quodatum:media.image.configure" at "config.xqm";
|
||||
declare namespace c="http://www.w3.org/ns/xproc-step";
|
||||
declare variable $DB:="vue-poc";
|
||||
|
||||
declare variable $CHUNK:=1000;
|
||||
|
||||
declare %updating function local:store-thumb($f as xs:string)
|
||||
|
@ -30,7 +30,7 @@ declare %updating function local:write-binary($data,$url as xs:string)
|
|||
)
|
||||
};
|
||||
|
||||
let $files:= doc("/vue-poc/pics.xml")//c:file[ends-with(lower-case(@name),".jpg")]
|
||||
let $files:= doc($cfg:DB-IMAGE || "/pics.xml")//c:file[ends-with(lower-case(@name),".jpg")]
|
||||
|
||||
let $relpath:= $files!( ancestor-or-self::*/@name=>string-join("/"))
|
||||
let $relpath:=filter($relpath,function($f){
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
(: set original:)
|
||||
for $i in collection("/vue-poc/image")/image
|
||||
(:~ set original:)
|
||||
import module namespace cfg = "quodatum:media.image.configure" at "config.xqm";
|
||||
|
||||
for $i in collection($cfg:DB-IMAGE || "/image")/image
|
||||
where $i[file/@path=>contains('original')]
|
||||
return insert node attribute { 'original' } { true() } into $i
|
|
@ -131,8 +131,9 @@
|
|||
})
|
||||
},
|
||||
reset(){
|
||||
this.getValues.clear();
|
||||
this.postValues.clear();
|
||||
Object.assign(this.getValues,this.getValues.clear());
|
||||
Object.assign(this.postValues,this.postValues.clear());
|
||||
this.$forceUpdate()
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
|
|
|
@ -2,14 +2,15 @@
|
|||
<template id="search">
|
||||
<v-container fluid>
|
||||
<v-text-field label="Search..." v-model="q"></v-text-field>
|
||||
<v-alert warning value="true">TODO</v-alert>
|
||||
</v-container>
|
||||
</template>
|
||||
|
||||
<script>{
|
||||
data: function(){
|
||||
return {
|
||||
message: 'Hello Vue.js!',
|
||||
q:this.$route.query.q
|
||||
q: this.$route.query.q,
|
||||
results: []
|
||||
}
|
||||
},
|
||||
created:function(){
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<v-layout row>
|
||||
<v-flex xs12 sm6 offset-sm3>
|
||||
<v-card>
|
||||
|
||||
<v-alert warning value="true">Not fully implemented</v-alert>
|
||||
<v-list two-line subheader>
|
||||
<v-subheader>Ace editor settings</v-subheader>
|
||||
|
||||
|
@ -23,7 +23,7 @@
|
|||
</v-list-tile-action>
|
||||
<v-list-tile-content>
|
||||
<v-list-tile-title>enableBasicAutocompletion</v-list-tile-title>
|
||||
<v-list-tile-sub-title>enableBasicAutocompletion</v-list-tile-sub-title>
|
||||
<v-list-tile-sub-title>Autocompletion via control-space</v-list-tile-sub-title>
|
||||
</v-list-tile-content>
|
||||
</v-list-tile>
|
||||
|
||||
|
@ -33,11 +33,52 @@
|
|||
</v-list-tile-action>
|
||||
<v-list-tile-content>
|
||||
<v-list-tile-title>enableLiveAutocompletion</v-list-tile-title>
|
||||
<v-list-tile-sub-title>enableLiveAutocompletion</v-list-tile-sub-title>
|
||||
<v-list-tile-sub-title>Autocompletion while typing</v-list-tile-sub-title>
|
||||
</v-list-tile-content>
|
||||
</v-list-tile>
|
||||
|
||||
|
||||
</v-list>
|
||||
<v-card-text>
|
||||
<v-divider ></v-divider>
|
||||
<v-container fluid>
|
||||
<v-layout row>
|
||||
<v-flex xs4>
|
||||
<v-subheader>Theme</v-subheader>
|
||||
</v-flex>
|
||||
<v-flex xs8>
|
||||
<v-text-field
|
||||
label="Theme"
|
||||
v-model="ace.theme"
|
||||
></v-text-field>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
<v-layout row>
|
||||
<v-flex xs4>
|
||||
<v-subheader>Key binding</v-subheader>
|
||||
</v-flex>
|
||||
<v-flex xs8>
|
||||
<v-select
|
||||
v-bind:items="keybindings"
|
||||
v-model="ace.keybinding"
|
||||
label="Key binding"
|
||||
></v-select>
|
||||
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
<v-layout row>
|
||||
<v-flex xs4>
|
||||
<v-subheader>Font size</v-subheader>
|
||||
</v-flex>
|
||||
<v-flex xs8>
|
||||
<v-text-field
|
||||
label="Font size (px)"
|
||||
v-model="ace.fontsize"
|
||||
></v-text-field>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
<v-divider ></v-divider>
|
||||
</v-container>
|
||||
</v-card-text>
|
||||
</v-card>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
|
@ -46,20 +87,27 @@
|
|||
<script>{
|
||||
data () {
|
||||
return {
|
||||
ace: {
|
||||
enableSnippets: true,
|
||||
enableBasicAutocompletion: true,
|
||||
enableLiveAutocompletion: true
|
||||
}
|
||||
}
|
||||
ace: {
|
||||
enableSnippets: true,
|
||||
enableBasicAutocompletion: true,
|
||||
enableLiveAutocompletion: true,
|
||||
theme: "github",
|
||||
keybinding: "Ace",
|
||||
fontsize: "14px"
|
||||
|
||||
},
|
||||
keybindings:[ 'Ace', 'Vim', 'Emacs' ]
|
||||
}
|
||||
},
|
||||
created: function () {
|
||||
|
||||
beforeRouteEnter (to, from, next) {
|
||||
settings.getItem('settings/ace')
|
||||
.then((v)=>{
|
||||
console.log("AAAA",v)
|
||||
this.ace=v
|
||||
next(vm => vm.ace=v)
|
||||
})
|
||||
|
||||
},
|
||||
created: function () {
|
||||
|
||||
},
|
||||
watch: {"ace":{
|
||||
handler:function(v){
|
||||
|
|
|
@ -2,17 +2,21 @@
|
|||
<template id="timeline">
|
||||
<v-container fluid>
|
||||
<v-card>
|
||||
<v-card-title class="lime darken-1">Line 1</v-card-title>
|
||||
<v-toolbar class="lime darken-1">
|
||||
<v-card-title >Line 1</v-card-title>
|
||||
<v-spacer></v-spacer>
|
||||
<v-btn @click="fit">fit</v-btn>
|
||||
</v-toolbar>
|
||||
<v-card-text>
|
||||
<vis-time-line :items="vueState.data1"></vis-time-line>
|
||||
<vis-time-line :items="vueState.data1" :events="Events"
|
||||
:options="{editable: true, clickToUse: true}" @select="select"></vis-time-line>
|
||||
</v-card-text>
|
||||
</v-card>
|
||||
|
||||
<v-card>
|
||||
<v-card-title class="deep-orange">Line 2</v-card-title>
|
||||
<v-card-text>
|
||||
<vis-time-line :items="vueState.data2"></vis-time-line>
|
||||
</v-card-text>
|
||||
<v-card-text>
|
||||
{{msg}}
|
||||
</v-card-text>
|
||||
</v-card>
|
||||
</v-container>
|
||||
</template>
|
||||
|
@ -21,23 +25,27 @@
|
|||
data(){
|
||||
return {
|
||||
vueState: {
|
||||
|
||||
data1: [
|
||||
{ id: 1, content: 'item 1', start: '2013-04-20 23:06:15.304' },
|
||||
{ id: 2, content: 'item 2', start: '2013-04-14' },
|
||||
{ id: 3, content: 'item 3', start: '2013-04-18' },
|
||||
{ id: 2, content: 'iso date time', start: '2013-04-14T11:11:15.304' },
|
||||
{ id: 3, content: '[GET] http://localhost:8984/vue-poc/ui/icon.png', start: '2013-04-18', end: '2013-04-19' },
|
||||
{ id: 4, content: 'item 4', start: '2013-04-16', end: '2013-04-19' },
|
||||
{ id: 5, content: 'item 5', start: '2013-04-25' },
|
||||
{ id: 6, content: 'item 6', start: '2013-04-27' }],
|
||||
|
||||
data2: [
|
||||
{ id: 1, content: 'item 11', start: '2017-04-20' },
|
||||
{ id: 2, content: 'item 12', start: '2017-04-14' },
|
||||
{ id: 3, content: 'item 13', start: '2017-04-18' },
|
||||
{ id: 4, content: 'item 14', start: '2017-04-16', end: '2017-04-19' },
|
||||
{ id: 5, content: 'item 15', start: '2017-04-25' },
|
||||
{ id: 6, content: 'item 16', start: '2017-04-27' }]
|
||||
{ id: 5, content: '[GET] http://localhost:8984/vue-poc/ui/app.css', start: '2013-04-25' },
|
||||
{ id: 6, content: 'item 6', start: '2013-04-27' }]
|
||||
},
|
||||
Events: new Vue({}),
|
||||
msg:"Item detail"
|
||||
}
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
fit(){
|
||||
this.Events.$emit('fit');
|
||||
},
|
||||
select(items){
|
||||
this.msg='Selected items: ' + items
|
||||
}
|
||||
},
|
||||
created(){
|
||||
console.log("timeline")
|
||||
}
|
||||
}</script>
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
<mimetypes xmlns="urn:quodatum:vue-poc.mimetypes">
|
||||
<type name="xquery">
|
||||
<mime type="application/xquery" ext="xq xqm" />
|
||||
</type>
|
||||
<type name="css">
|
||||
<mime type="css" ext="css" />
|
||||
</type>
|
||||
<type name="html">
|
||||
<mime type="text/html" ext="htm html" />
|
||||
</type>
|
||||
<type name="javascript">
|
||||
<mime type="text/ecmascript" ext="js" />
|
||||
</type>
|
||||
|
@ -11,4 +14,7 @@
|
|||
<type name="sparql">
|
||||
<mime type="application/sparql-query" ext="rq" />
|
||||
</type>
|
||||
<type name="xquery">
|
||||
<mime type="application/xquery" ext="xq xqm" />
|
||||
</type>
|
||||
</mimetypes>
|
|
@ -1,29 +1,31 @@
|
|||
<entity name="thumbnail" xmlns="https://github.com/Quodatum/app-doc/entity">
|
||||
<description>an image.</description>
|
||||
<namespace prefix="c" uri="http://www.w3.org/ns/xproc-step"/>
|
||||
<namespace prefix="c" uri="http://www.w3.org/ns/xproc-step" />
|
||||
|
||||
<fields>
|
||||
<field name="id" type="xs:integer">
|
||||
<description>Database Id.</description>
|
||||
<xpath>db:node-id(.)</xpath>
|
||||
</field>
|
||||
<field name="id" type="xs:integer">
|
||||
<description>Database Id.</description>
|
||||
<xpath>db:node-id(.)</xpath>
|
||||
</field>
|
||||
<field name="name" type="xs:string">
|
||||
<description>File name.</description>
|
||||
<xpath>file/@name</xpath>
|
||||
</field>
|
||||
<field name="path" type="xs:string">
|
||||
<description>File path. e.g. Pictures/2012/2012-06-23/skating.jpg</description>
|
||||
<xpath>file/@path</xpath>
|
||||
</field>
|
||||
<description>File path. e.g. Pictures/2012/2012-06-23/skating.jpg
|
||||
</description>
|
||||
<xpath>file/@path</xpath>
|
||||
</field>
|
||||
<field name="size" type="xs:integer">
|
||||
<description>file size.</description>
|
||||
<xpath>0</xpath>
|
||||
</field>
|
||||
|
||||
</fields>
|
||||
|
||||
<views>
|
||||
<view name="filter">name</view>
|
||||
</views>
|
||||
<view name="filter">name</view>
|
||||
</views>
|
||||
|
||||
<iconclass>fa fa-file</iconclass>
|
||||
<data type="element(image)">collection($cfg:DB-IMAGE || "/image")/image</data>
|
||||
|
||||
</entity>
|
|
@ -1,4 +1,4 @@
|
|||
// generated 2017-08-25T20:24:29.63+01:00
|
||||
// generated 2017-08-27T11:38:03.302+01:00
|
||||
Vue.component('qd-link',{template:`
|
||||
<a :href="href" :target="href"> {{href}}<v-icon>link</v-icon></a>
|
||||
`,
|
||||
|
@ -94,18 +94,26 @@
|
|||
<div></div>
|
||||
`,
|
||||
|
||||
props: ['items', 'groups', 'options'],
|
||||
props: ['items', 'groups', 'options','events'],
|
||||
data(){
|
||||
return {timeline:Object}
|
||||
},
|
||||
methods:{
|
||||
select(properties){
|
||||
//alert('selected items: ' + properties.items);
|
||||
this.$emit('select',properties.items);
|
||||
}
|
||||
},
|
||||
mounted: function () {
|
||||
var items = new vis.DataSet(this.items);
|
||||
var options = this.options;
|
||||
var groups = this.groups;
|
||||
var timeline = new vis.Timeline(this.$el, items, groups, options);
|
||||
timeline.on('select', this.select);
|
||||
this.timeline = new vis.Timeline(this.$el, items, groups, options);
|
||||
this.timeline.on('select', this.select);
|
||||
if(this.events){
|
||||
this.events.$on('fit', (cmd) => {
|
||||
this.timeline.fit(true)
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
|
@ -1623,8 +1631,9 @@ body
|
|||
})
|
||||
},
|
||||
reset(){
|
||||
this.getValues.clear();
|
||||
this.postValues.clear();
|
||||
Object.assign(this.getValues,this.getValues.clear());
|
||||
Object.assign(this.postValues,this.postValues.clear());
|
||||
this.$forceUpdate()
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
|
@ -1714,13 +1723,14 @@ body
|
|||
const Search=Vue.extend({template:`
|
||||
<v-container fluid="">
|
||||
<v-text-field label="Search..." v-model="q"></v-text-field>
|
||||
<v-alert warning="" value="true">TODO</v-alert>
|
||||
</v-container>
|
||||
`,
|
||||
|
||||
data: function(){
|
||||
return {
|
||||
message: 'Hello Vue.js!',
|
||||
q:this.$route.query.q
|
||||
q: this.$route.query.q,
|
||||
results: []
|
||||
}
|
||||
},
|
||||
created:function(){
|
||||
|
@ -1878,7 +1888,7 @@ body
|
|||
<v-layout row="">
|
||||
<v-flex xs12="" sm6="" offset-sm3="">
|
||||
<v-card>
|
||||
|
||||
<v-alert warning="" value="true">Not fully implemented</v-alert>
|
||||
<v-list two-line="" subheader="">
|
||||
<v-subheader>Ace editor settings</v-subheader>
|
||||
|
||||
|
@ -1898,7 +1908,7 @@ body
|
|||
</v-list-tile-action>
|
||||
<v-list-tile-content>
|
||||
<v-list-tile-title>enableBasicAutocompletion</v-list-tile-title>
|
||||
<v-list-tile-sub-title>enableBasicAutocompletion</v-list-tile-sub-title>
|
||||
<v-list-tile-sub-title>Autocompletion via control-space</v-list-tile-sub-title>
|
||||
</v-list-tile-content>
|
||||
</v-list-tile>
|
||||
|
||||
|
@ -1908,11 +1918,42 @@ body
|
|||
</v-list-tile-action>
|
||||
<v-list-tile-content>
|
||||
<v-list-tile-title>enableLiveAutocompletion</v-list-tile-title>
|
||||
<v-list-tile-sub-title>enableLiveAutocompletion</v-list-tile-sub-title>
|
||||
<v-list-tile-sub-title>Autocompletion while typing</v-list-tile-sub-title>
|
||||
</v-list-tile-content>
|
||||
</v-list-tile>
|
||||
|
||||
|
||||
</v-list>
|
||||
<v-card-text>
|
||||
<v-divider></v-divider>
|
||||
<v-container fluid="">
|
||||
<v-layout row="">
|
||||
<v-flex xs4="">
|
||||
<v-subheader>Theme</v-subheader>
|
||||
</v-flex>
|
||||
<v-flex xs8="">
|
||||
<v-text-field label="Theme" v-model="ace.theme"></v-text-field>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
<v-layout row="">
|
||||
<v-flex xs4="">
|
||||
<v-subheader>Key binding</v-subheader>
|
||||
</v-flex>
|
||||
<v-flex xs8="">
|
||||
<v-select v-bind:items="keybindings" v-model="ace.keybinding" label="Key binding"></v-select>
|
||||
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
<v-layout row="">
|
||||
<v-flex xs4="">
|
||||
<v-subheader>Font size</v-subheader>
|
||||
</v-flex>
|
||||
<v-flex xs8="">
|
||||
<v-text-field label="Font size (px)" v-model="ace.fontsize"></v-text-field>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
<v-divider></v-divider>
|
||||
</v-container>
|
||||
</v-card-text>
|
||||
</v-card>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
|
@ -1920,20 +1961,27 @@ body
|
|||
|
||||
data () {
|
||||
return {
|
||||
ace: {
|
||||
enableSnippets: true,
|
||||
enableBasicAutocompletion: true,
|
||||
enableLiveAutocompletion: true
|
||||
}
|
||||
}
|
||||
ace: {
|
||||
enableSnippets: true,
|
||||
enableBasicAutocompletion: true,
|
||||
enableLiveAutocompletion: true,
|
||||
theme: "github",
|
||||
keybinding: "Ace",
|
||||
fontsize: "14px"
|
||||
|
||||
},
|
||||
keybindings:[ 'Ace', 'Vim', 'Emacs' ]
|
||||
}
|
||||
},
|
||||
created: function () {
|
||||
|
||||
beforeRouteEnter (to, from, next) {
|
||||
settings.getItem('settings/ace')
|
||||
.then((v)=>{
|
||||
console.log("AAAA",v)
|
||||
this.ace=v
|
||||
next(vm => vm.ace=v)
|
||||
})
|
||||
|
||||
},
|
||||
created: function () {
|
||||
|
||||
},
|
||||
watch: {"ace":{
|
||||
handler:function(v){
|
||||
|
@ -2308,17 +2356,20 @@ body
|
|||
const Timeline=Vue.extend({template:`
|
||||
<v-container fluid="">
|
||||
<v-card>
|
||||
<v-card-title class="lime darken-1">Line 1</v-card-title>
|
||||
<v-toolbar class="lime darken-1">
|
||||
<v-card-title>Line 1</v-card-title>
|
||||
<v-spacer></v-spacer>
|
||||
<v-btn @click="fit">fit</v-btn>
|
||||
</v-toolbar>
|
||||
<v-card-text>
|
||||
<vis-time-line :items="vueState.data1"></vis-time-line>
|
||||
<vis-time-line :items="vueState.data1" :events="Events" :options="{editable: true, clickToUse: true}" @select="select"></vis-time-line>
|
||||
</v-card-text>
|
||||
</v-card>
|
||||
|
||||
<v-card>
|
||||
<v-card-title class="deep-orange">Line 2</v-card-title>
|
||||
<v-card-text>
|
||||
<vis-time-line :items="vueState.data2"></vis-time-line>
|
||||
</v-card-text>
|
||||
<v-card-text>
|
||||
{{msg}}
|
||||
</v-card-text>
|
||||
</v-card>
|
||||
</v-container>
|
||||
`,
|
||||
|
@ -2326,24 +2377,28 @@ body
|
|||
data(){
|
||||
return {
|
||||
vueState: {
|
||||
|
||||
data1: [
|
||||
{ id: 1, content: 'item 1', start: '2013-04-20 23:06:15.304' },
|
||||
{ id: 2, content: 'item 2', start: '2013-04-14' },
|
||||
{ id: 3, content: 'item 3', start: '2013-04-18' },
|
||||
{ id: 2, content: 'iso date time', start: '2013-04-14T11:11:15.304' },
|
||||
{ id: 3, content: '[GET] http://localhost:8984/vue-poc/ui/icon.png', start: '2013-04-18', end: '2013-04-19' },
|
||||
{ id: 4, content: 'item 4', start: '2013-04-16', end: '2013-04-19' },
|
||||
{ id: 5, content: 'item 5', start: '2013-04-25' },
|
||||
{ id: 6, content: 'item 6', start: '2013-04-27' }],
|
||||
|
||||
data2: [
|
||||
{ id: 1, content: 'item 11', start: '2017-04-20' },
|
||||
{ id: 2, content: 'item 12', start: '2017-04-14' },
|
||||
{ id: 3, content: 'item 13', start: '2017-04-18' },
|
||||
{ id: 4, content: 'item 14', start: '2017-04-16', end: '2017-04-19' },
|
||||
{ id: 5, content: 'item 15', start: '2017-04-25' },
|
||||
{ id: 6, content: 'item 16', start: '2017-04-27' }]
|
||||
{ id: 5, content: '[GET] http://localhost:8984/vue-poc/ui/app.css', start: '2013-04-25' },
|
||||
{ id: 6, content: 'item 6', start: '2013-04-27' }]
|
||||
},
|
||||
Events: new Vue({}),
|
||||
msg:"Item detail"
|
||||
}
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
fit(){
|
||||
this.Events.$emit('fit');
|
||||
},
|
||||
select(items){
|
||||
this.msg='Selected items: ' + items
|
||||
}
|
||||
},
|
||||
created(){
|
||||
console.log("timeline")
|
||||
}
|
||||
}
|
||||
);
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
// performance monitoring. of value stream
|
||||
// stores max min etc
|
||||
function perfStat() {
|
||||
this.data={count:0,max:null,min:null,total:0,median:0,last:null};
|
||||
this.data={count:0,max:null,min:null,total:0,median:0,last:null,avg:null};
|
||||
// add a value return updated stats
|
||||
this.log=function(val){
|
||||
var data=this.data
|
||||
|
@ -28,7 +28,8 @@ function perfStat() {
|
|||
};
|
||||
// clear stats
|
||||
this.clear=function(){
|
||||
this.data={count:0,max:null,min:null,total:0};
|
||||
this.data={count:0,max:null,min:null,total:0,median:0,last:null,avg:null};
|
||||
return this.data
|
||||
};
|
||||
// return values
|
||||
this.values=function(){
|
||||
|
|
Loading…
Add table
Reference in a new issue