image progress
This commit is contained in:
		
							parent
							
								
									4bc20b5439
								
							
						
					
					
						commit
						67fb9239a5
					
				
					 6 changed files with 89 additions and 27 deletions
				
			
		| 
						 | 
				
			
			@ -71,14 +71,16 @@ const router = new VueRouter({
 | 
			
		|||
  routes: [
 | 
			
		||||
    { path: '/', component: Home,meta:{title:"Home"} },
 | 
			
		||||
    { path: '/session', component: Session ,meta:{title:"Session"}},
 | 
			
		||||
    { path: '/images', component: Images,meta:{title:"Images"} },
 | 
			
		||||
    { path: '/images/:id', name:"image",component: Image, props: true,meta:{title:"Image details"}},
 | 
			
		||||
    { path: '/select', component: Select,meta:{title:"Select"} },
 | 
			
		||||
    { path: '/search', component: Search,meta:{title:"Search"} },
 | 
			
		||||
    { path: '/images/item', component: Images, meta:{title:"Images"} },
 | 
			
		||||
    { path: '/images/report', name:"image-reports",component: Report, props: true, meta:{title: "Image report"}},
 | 
			
		||||
    { path: '/images/item/:id', name:"image",component: Image, props: true, meta:{title: "Image details"}},
 | 
			
		||||
    { path: '/images/thumbnail', component: Thumbnail, meta:{title:"Thumbnail generator"} },
 | 
			
		||||
    { path: '/select', component: Select, meta:{title:"Select"} },
 | 
			
		||||
    { path: '/search', component: Search, meta:{title:"Search"} },
 | 
			
		||||
    { path: '/tabs', component: Tabs,meta:{title:"tab test",requiresAuth: true} },
 | 
			
		||||
    { path: '/login', component: Login,meta:{title:"login"} },
 | 
			
		||||
    { path: '/edit', component: Edit,meta:{title:"Ace editor"} },
 | 
			
		||||
    { path: '/thumbnail', component: Thumbnail,meta:{title:"Thumbnail generator"} },
 | 
			
		||||
   
 | 
			
		||||
    { path: '/files', component: Files,meta:{title:"File system"},props:{protocol:"webfile"} },
 | 
			
		||||
    { path: '/database', component: Files,meta:{title:"Databases"},props:{protocol:"basexdb"} },
 | 
			
		||||
    { path: '/ping', component: Ping,meta:{title:"Ping"} },
 | 
			
		||||
| 
						 | 
				
			
			@ -161,8 +163,9 @@ const app = new Vue({
 | 
			
		|||
        text: 'Images' ,
 | 
			
		||||
        model: false,
 | 
			
		||||
        children: [
 | 
			
		||||
          {href: '/images',text: 'Collection',icon: 'photo_camera'},
 | 
			
		||||
          {href: '/thumbnail',text: 'Thumbnail',icon: 'touch_app'}
 | 
			
		||||
          {href: '/images/item',text: 'Collection',icon: 'photo_camera'},
 | 
			
		||||
          {href: '/thumbnail',text: 'Thumbnail',icon: 'touch_app'},
 | 
			
		||||
          {href: '/images/report',text: 'Image reports',icon: 'report'}
 | 
			
		||||
          ]},
 | 
			
		||||
      {
 | 
			
		||||
        icon: 'more_horiz',
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,9 +9,11 @@
 | 
			
		|||
    <v-toolbar class="orange darken-1">
 | 
			
		||||
     <v-btn icon to="./"><v-icon>arrow_back</v-icon></v-btn>
 | 
			
		||||
     <v-card-title >
 | 
			
		||||
      <span class="white--text">Image: {{ id }}</span>      
 | 
			
		||||
     <v-chip > {{ image.name }}</v-chip>   
 | 
			
		||||
    </v-card-title>
 | 
			
		||||
     <span > {{ image.path }}</span>   
 | 
			
		||||
    <v-spacer></v-spacer> 
 | 
			
		||||
      <span class="white--text">Image: {{ id }}</span>      
 | 
			
		||||
    <a :href="path" :download="id +'.jpg'"><v-icon>file_download</v-icon></a>
 | 
			
		||||
    </v-toolbar>
 | 
			
		||||
    <v-card-text>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -17,7 +17,7 @@
 | 
			
		|||
           <v-chip class="primary white--text">{{ total }}</v-chip>
 | 
			
		||||
           <v-spacer></v-spacer>
 | 
			
		||||
 | 
			
		||||
           <v-progress-circular v-if="busy" indeterminate class="primary--text"></v-progress-circular>
 | 
			
		||||
       
 | 
			
		||||
            Page:{{ query.page+1 }}
 | 
			
		||||
          <v-btn @click.stop="query.page=Math.min(0,query.page-1)" :disabled="query.page==0" icon primary>
 | 
			
		||||
           <v-icon>arrow_back</v-icon>
 | 
			
		||||
| 
						 | 
				
			
			@ -26,8 +26,8 @@
 | 
			
		|||
            <v-icon>arrow_forward</v-icon>
 | 
			
		||||
           </v-btn>
 | 
			
		||||
        </v-toolbar>
 | 
			
		||||
 | 
			
		||||
        <v-container fluid grid-list-md>
 | 
			
		||||
        <v-progress-linear v-if="busy" v-bind:indeterminate="true" ></v-progress-linear>
 | 
			
		||||
        <v-container v-if="!busy" fluid grid-list-md>
 | 
			
		||||
          <v-layout row wrap>
 | 
			
		||||
            <v-flex height="80px"
 | 
			
		||||
              xs2
 | 
			
		||||
| 
						 | 
				
			
			@ -183,8 +183,8 @@
 | 
			
		|||
        this.busy=false
 | 
			
		||||
        this.total=r.data.total
 | 
			
		||||
        this.images=r.data.items
 | 
			
		||||
        var t0 = performance.now()-t0;
 | 
			
		||||
        console.log("Time: ",t0)
 | 
			
		||||
        var t1 = performance.now();
 | 
			
		||||
        console.log("Time: ",t1 - t0)
 | 
			
		||||
        }) 
 | 
			
		||||
    },
 | 
			
		||||
    clear(){
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -29,6 +29,7 @@ function vue-api:id( $id as xs:integer)
 | 
			
		|||
 : do a thumbnail
 | 
			
		||||
 :)
 | 
			
		||||
declare
 | 
			
		||||
%rest:single
 | 
			
		||||
%rest:GET %rest:path("/vue-poc/api/images/list")
 | 
			
		||||
%rest:produces("application/json")
 | 
			
		||||
%rest:query-param("page", "{$page}",0)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										28
									
								
								src/vue-poc/features/images/ireport.vue
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								src/vue-poc/features/images/ireport.vue
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,28 @@
 | 
			
		|||
<!DOCTYPE html>
 | 
			
		||||
<!-- 
 | 
			
		||||
 image  report
 | 
			
		||||
 
 | 
			
		||||
 -->
 | 
			
		||||
<template id="report">
 | 
			
		||||
 <v-container fluid>
 | 
			
		||||
  <v-card >
 | 
			
		||||
    <v-toolbar class="orange darken-1">
 | 
			
		||||
     <v-btn icon to="./"><v-icon>arrow_back</v-icon></v-btn>
 | 
			
		||||
     <v-card-title >
 | 
			
		||||
     <v-chip >todo</v-chip>   
 | 
			
		||||
    </v-card-title>
 | 
			
		||||
   
 | 
			
		||||
    <v-spacer></v-spacer> 
 | 
			
		||||
  
 | 
			
		||||
    </v-toolbar>
 | 
			
		||||
    <v-card-text>
 | 
			
		||||
body
 | 
			
		||||
 </v-card-text>
 | 
			
		||||
 </v-card>
 | 
			
		||||
 </v-container>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>{  
 | 
			
		||||
 
 | 
			
		||||
    }
 | 
			
		||||
</script>
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
// generated 2017-08-17T16:08:17.382+01:00
 | 
			
		||||
// generated 2017-08-17T23:58:25.476+01:00
 | 
			
		||||
Vue.component('qd-link',{template:` 
 | 
			
		||||
 <a :href="href" :target="href"> {{href}}<v-icon>link</v-icon></a>
 | 
			
		||||
 `,
 | 
			
		||||
| 
						 | 
				
			
			@ -903,9 +903,11 @@ v0.0.2 </v-card-title> </v-card> </v-flex> <v-flex xs4="">
 | 
			
		|||
    <v-toolbar class="orange darken-1">
 | 
			
		||||
     <v-btn icon="" to="./"><v-icon>arrow_back</v-icon></v-btn>
 | 
			
		||||
     <v-card-title>
 | 
			
		||||
      <span class="white--text">Image: {{ id }}</span>      
 | 
			
		||||
     <v-chip> {{ image.name }}</v-chip>   
 | 
			
		||||
    </v-card-title>
 | 
			
		||||
     <span> {{ image.path }}</span>   
 | 
			
		||||
    <v-spacer></v-spacer> 
 | 
			
		||||
      <span class="white--text">Image: {{ id }}</span>      
 | 
			
		||||
    <a :href="path" :download="id +'.jpg'"><v-icon>file_download</v-icon></a>
 | 
			
		||||
    </v-toolbar>
 | 
			
		||||
    <v-card-text>
 | 
			
		||||
| 
						 | 
				
			
			@ -957,7 +959,7 @@ v0.0.2 </v-card-title> </v-card> </v-flex> <v-flex xs4="">
 | 
			
		|||
           <v-chip class="primary white--text">{{ total }}</v-chip>
 | 
			
		||||
           <v-spacer></v-spacer>
 | 
			
		||||
 | 
			
		||||
           <v-progress-circular v-if="busy" indeterminate="" class="primary--text"></v-progress-circular>
 | 
			
		||||
       
 | 
			
		||||
            Page:{{ query.page+1 }}
 | 
			
		||||
          <v-btn @click.stop="query.page=Math.min(0,query.page-1)" :disabled="query.page==0" icon="" primary="">
 | 
			
		||||
           <v-icon>arrow_back</v-icon>
 | 
			
		||||
| 
						 | 
				
			
			@ -966,8 +968,8 @@ v0.0.2 </v-card-title> </v-card> </v-flex> <v-flex xs4="">
 | 
			
		|||
            <v-icon>arrow_forward</v-icon>
 | 
			
		||||
           </v-btn>
 | 
			
		||||
        </v-toolbar>
 | 
			
		||||
 | 
			
		||||
        <v-container fluid="" grid-list-md="">
 | 
			
		||||
        <v-progress-linear v-if="busy" v-bind:indeterminate="true"></v-progress-linear>
 | 
			
		||||
        <v-container v-if="!busy" fluid="" grid-list-md="">
 | 
			
		||||
          <v-layout row="" wrap="">
 | 
			
		||||
            <v-flex height="80px" xs2="" v-for="image in images" :key="image.name">
 | 
			
		||||
              <v-card class="grey lighten-2 pt-1">
 | 
			
		||||
| 
						 | 
				
			
			@ -1082,8 +1084,8 @@ v0.0.2 </v-card-title> </v-card> </v-flex> <v-flex xs4="">
 | 
			
		|||
        this.busy=false
 | 
			
		||||
        this.total=r.data.total
 | 
			
		||||
        this.images=r.data.items
 | 
			
		||||
        var t0 = performance.now()-t0;
 | 
			
		||||
        console.log("Time: ",t0)
 | 
			
		||||
        var t1 = performance.now();
 | 
			
		||||
        console.log("Time: ",t1 - t0)
 | 
			
		||||
        }) 
 | 
			
		||||
    },
 | 
			
		||||
    clear(){
 | 
			
		||||
| 
						 | 
				
			
			@ -1144,6 +1146,29 @@ v0.0.2 </v-card-title> </v-card> </v-flex> <v-flex xs4="">
 | 
			
		|||
    console.log("images mount")
 | 
			
		||||
    
 | 
			
		||||
  }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
      );
 | 
			
		||||
      const Report=Vue.extend({template:` 
 | 
			
		||||
 <v-container fluid="">
 | 
			
		||||
  <v-card>
 | 
			
		||||
    <v-toolbar class="orange darken-1">
 | 
			
		||||
     <v-btn icon="" to="./"><v-icon>arrow_back</v-icon></v-btn>
 | 
			
		||||
     <v-card-title>
 | 
			
		||||
     <v-chip>todo</v-chip>   
 | 
			
		||||
    </v-card-title>
 | 
			
		||||
   
 | 
			
		||||
    <v-spacer></v-spacer> 
 | 
			
		||||
  
 | 
			
		||||
    </v-toolbar>
 | 
			
		||||
    <v-card-text>
 | 
			
		||||
body
 | 
			
		||||
 </v-card-text>
 | 
			
		||||
 </v-card>
 | 
			
		||||
 </v-container>
 | 
			
		||||
 `,
 | 
			
		||||
        
 | 
			
		||||
 
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
      );
 | 
			
		||||
| 
						 | 
				
			
			@ -2219,14 +2244,16 @@ const router = new VueRouter({
 | 
			
		|||
  routes: [
 | 
			
		||||
    { path: '/', component: Home,meta:{title:"Home"} },
 | 
			
		||||
    { path: '/session', component: Session ,meta:{title:"Session"}},
 | 
			
		||||
    { path: '/images', component: Images,meta:{title:"Images"} },
 | 
			
		||||
    { path: '/images/:id', name:"image",component: Image, props: true,meta:{title:"Image details"}},
 | 
			
		||||
    { path: '/select', component: Select,meta:{title:"Select"} },
 | 
			
		||||
    { path: '/search', component: Search,meta:{title:"Search"} },
 | 
			
		||||
    { path: '/images/item', component: Images, meta:{title:"Images"} },
 | 
			
		||||
    { path: '/images/report', name:"image-reports",component: Report, props: true, meta:{title: "Image report"}},
 | 
			
		||||
    { path: '/images/item/:id', name:"image",component: Image, props: true, meta:{title: "Image details"}},
 | 
			
		||||
    { path: '/images/thumbnail', component: Thumbnail, meta:{title:"Thumbnail generator"} },
 | 
			
		||||
    { path: '/select', component: Select, meta:{title:"Select"} },
 | 
			
		||||
    { path: '/search', component: Search, meta:{title:"Search"} },
 | 
			
		||||
    { path: '/tabs', component: Tabs,meta:{title:"tab test",requiresAuth: true} },
 | 
			
		||||
    { path: '/login', component: Login,meta:{title:"login"} },
 | 
			
		||||
    { path: '/edit', component: Edit,meta:{title:"Ace editor"} },
 | 
			
		||||
    { path: '/thumbnail', component: Thumbnail,meta:{title:"Thumbnail generator"} },
 | 
			
		||||
   
 | 
			
		||||
    { path: '/files', component: Files,meta:{title:"File system"},props:{protocol:"webfile"} },
 | 
			
		||||
    { path: '/database', component: Files,meta:{title:"Databases"},props:{protocol:"basexdb"} },
 | 
			
		||||
    { path: '/ping', component: Ping,meta:{title:"Ping"} },
 | 
			
		||||
| 
						 | 
				
			
			@ -2309,8 +2336,9 @@ const app = new Vue({
 | 
			
		|||
        text: 'Images' ,
 | 
			
		||||
        model: false,
 | 
			
		||||
        children: [
 | 
			
		||||
          {href: '/images',text: 'Collection',icon: 'photo_camera'},
 | 
			
		||||
          {href: '/thumbnail',text: 'Thumbnail',icon: 'touch_app'}
 | 
			
		||||
          {href: '/images/item',text: 'Collection',icon: 'photo_camera'},
 | 
			
		||||
          {href: '/thumbnail',text: 'Thumbnail',icon: 'touch_app'},
 | 
			
		||||
          {href: '/images/report',text: 'Image reports',icon: 'report'}
 | 
			
		||||
          ]},
 | 
			
		||||
      {
 | 
			
		||||
        icon: 'more_horiz',
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue