Makes an external template for a galleryItem and include them in the templates
authorrougeronj
Wed, 27 May 2015 19:01:25 +0200
changeset 98 e165f7647ae3
parent 97 0afdaa004ee1
child 99 c7c424e9eed5
Makes an external template for a galleryItem and include them in the templates
client/app/books/book.html
client/app/books/books.html
client/app/books/galleryItem.html
client/app/my_visit/my_visit.html
client/app/slides/slides.html
client/app/visites/visite.html
client/app/visites/visites.html
--- a/client/app/books/book.html	Wed May 27 18:59:55 2015 +0200
+++ b/client/app/books/book.html	Wed May 27 19:01:25 2015 +0200
@@ -1,31 +1,20 @@
 <accordion close-others="false"> 
-	<accordion-group is-open=true>
-		<accordion-heading>  
-			<a class="title" ng-click="$event.stopPropagation();" href="#/books/{{ parentBook.id }}">{{ parentBook.title }}</a>
-			<a class="pull-right" ng-click="$event.preventDefault(); $event.stopPropagation();"><span class="glyphicon glyphicon-share"></span></a>
-			<a class="pull-right" ng-click="$event.preventDefault(); $event.stopPropagation();"><span class="glyphicon glyphicon-cog"></span></a>
-			<a class="pull-right" ng-click="$event.stopPropagation();" href="#/slideshow/{{ parentBook.id }}"><span class="glyphicon glyphicon-eye-open"></span></a>
-		</accordion-heading>
+    <accordion-group is-open=true>
+        <accordion-heading>  
+            <a class="title" ng-click="$event.stopPropagation();" href="#/books/{{ book.id }}">{{ book.title }}</a>
+            <a class="pull-right" ng-click="$event.preventDefault(); $event.stopPropagation();"><span class="glyphicon glyphicon-share"></span></a>
+            <a class="pull-right" ng-click="$event.preventDefault(); $event.stopPropagation();"><span class="glyphicon glyphicon-cog"></span></a>
+            <a class="pull-right" ng-click="$event.stopPropagation(); $event.stopPropagation();" href="#/slideshow/{{ book.id }}"><span class="glyphicon glyphicon-eye-open"></span></a>
+        </accordion-heading>
             
-		<a class="nbrObjects">{{parentBook.slides.length}} objets</a>
-        <ul ui-sortable="sortableOptions" ng:model="parentBook.slides" class="list-unstyled list-inline gallery container">
-			<li class="col-md-2 item" ng-repeat="i in parentBook.slides">
-	            <div class="img-ctn">
-                	<img class="img img-responsive image" ng-src="{{ i.details.images[0] }}" />
-	                <p>{{ i.details.title }}</p>
-	
-                    <div class="gallery-buttons">
-						<a class="btn btn-default" href="#/slide/{{ i.id }}"><span class="glyphicon glyphicon-pencil"></span></a>
-						<a class="btn btn-default" ng-click="toggleFavorite($index)"><span ng-class="{'glyphicon-star': i.favorite, 'glyphicon-star-empty': !i.favorite}" class="glyphicon"></span></a>
-						<a class="btn btn-default" ng-click="toggleModal($index)"><span class="glyphicon glyphicon-plus"></span></a>
-						<a class="btn btn-default" ng-click="deleteItem($index)"><span class="glyphicon glyphicon-trash"></span></a>
-					</div>
-				</div>
-			</li>
-		</ul>
-
-		<div class="book in books | filter:{ id: parentBook.parent_visit }:true">
-			{{book.title}}
-		</div>
-	</accordion-group>
+        <p class="nbrObjects">{{book.slides.length}} objets</p>
+        
+        <ul ui-sortable="sortableOptions" ng-model="book.slides" class="list-unstyled list-inline container-fluid gallery ">
+        
+            <li class="item" ng-class="{'no-img': !slide.details.images[0]}" ng-repeat="slide in book.slides">
+                <ng-include src="'books/galleryItem.html'"></ng-include>
+            </li>
+            
+        </ul>
+    </accordion-group>
 </accordion>
--- a/client/app/books/books.html	Wed May 27 18:59:55 2015 +0200
+++ b/client/app/books/books.html	Wed May 27 19:01:25 2015 +0200
@@ -1,50 +1,39 @@
 
 
 <accordion close-others="false">
-	<accordion-group ng-repeat="parentBook in books | filter:{ parent_visit: '!null', idArticle: 'null' }" is-open=true>
+    <accordion-group ng-repeat="book in books | filter:{ parent_visit: '!null', idArticle: 'null' }" is-open=true>
 
-		<accordion-heading>
+        <accordion-heading>
 
-			<a class="title" ng-click="$event.stopPropagation();" href="#/books/{{ parentBook.id }}">{{ parentBook.title }}</a>
-			<a class="pull-right" ng-click="$event.preventDefault(); $event.stopPropagation(); addBook(parentBook.id)"><span class="glyphicon glyphicon-share"></span></a>
-			<a class="pull-right" ng-click="$event.preventDefault(); $event.stopPropagation();"><span class="glyphicon glyphicon-cog"></span></a>
-			<a class="pull-right" ng-click="$event.stopPropagation();" href="#/slideshow/{{ parentBook.id }}"><span class="glyphicon glyphicon-eye-open"></span></a>
-			<a class="pull-right" ng-click="$event.preventDefault(); $event.stopPropagation(); addBook(parentBook.id)">Nouveau Book</a>
-		
+            <a class="title" ng-click="$event.stopPropagation();" href="#/books/{{ book.id }}">{{ book.title }}</a>
+            <a class="pull-right" ng-click="$event.preventDefault(); $event.stopPropagation(); addBook(book.id)"><span class="glyphicon glyphicon-share"></span></a>
+            <a class="pull-right" ng-click="$event.preventDefault(); $event.stopPropagation();"><span class="glyphicon glyphicon-cog"></span></a>
+            <a class="pull-right" ng-click="$event.stopPropagation();" href="#/slideshow/{{ book.id }}"><span class="glyphicon glyphicon-eye-open"></span></a>
+            <a class="pull-right" ng-click="$event.preventDefault(); $event.stopPropagation(); addBook(book.id)">Nouveau Book</a>
+        
         </accordion-heading>
 
-        <a class="nbrObjects">{{parentBook.slides.length}} objets</a>
+        <p class="nbrObjects">{{book.count}} objets</p>
         
-        <div class="list-books" ng-repeat="childBook in books | filter:{ parent_visit: parentBook.id }:true">
-		        <a href="#/books/{{ childBook.id }}">{{ childBook.title }}</a>
-		        <a class="pull-right" ng-click="deleteItem(childBook)"><span class="glyphicon glyphicon-minus"></span></a>
+        <div class="list-books" ng-repeat="childBook in books | filter:{ parent_visit: book.id }:true">
+                <a href="#/books/{{ childBook.id }}">{{ childBook.title }}</a>
+                <a class="pull-right" ng-click="deleteItem(childBook)"><span class="glyphicon glyphicon-minus"></span></a>
         </div>
-        <ul ng:model="slides" class="list-unstyled list-inline gallery container">
-				  <li class="col-md-2 item" ng-repeat="i in parentBook.slides | limitTo : 5 ">
-				    <div class="img-ctn">
-				        <img class="img img-responsive image" ng-src="{{ i.details.images[0] }}" />
-				        <p>{{ i.details.title }}</p>
+        
+        <ul ng:model="slides" class="list-unstyled list-inline gallery container-fluid">
+            <li class="item" ng-class="{'no-img': !slide.details.images[0]}" ng-repeat="slide in book.slides">
+                <ng-include src="'books/galleryItem.html'"></ng-include>
+            </li>
+        </ul>
 
-				        <div class="gallery-buttons">
-				          <a class="btn btn-default" href="#/slide/{{ i.id }}"><span class="glyphicon glyphicon-pencil"></span></a>
-				          <a class="btn btn-default" ng-click=""><span class="glyphicon glyphicon-heart"></span></a>
-				          <a class="btn btn-default" ng-click="toggleModal($index)"><span class="glyphicon glyphicon-plus"></span></a>
-				          <a class="btn btn-default" ng-click="deleteItem($index)"><span class="glyphicon glyphicon-trash"></span></a>
+        <div ng-repeat="parentBook in books | filter:{ id: book.parent_visit }:true" >
+                {{parentBook.title }}
+        </div>
+ 
+        
 
-				        </div>
-				    </div>
-				<!-- </li> -->
-	    </ul>
-
-			<div ng-repeat="book in books | filter:{ id: parentBook.parent_visit }:true" >
-					{{book.title }}
-			</div>
-	</div>
- 
-		
-
-	</accordion-group>
-	
+    </accordion-group>
+    
 </accordion>
 
 <a class="btn btn-default" ng-click="addBook()"><span class="glyphicon glyphicon-plus"></span></a>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/client/app/books/galleryItem.html	Wed May 27 19:01:25 2015 +0200
@@ -0,0 +1,8 @@
+
+<a href="#/slide/{{slide.id}}"><img ng-src="{{ slide.details.images[0] }}" my-customer /></a>
+<div class="gallery-buttons">
+    <a ng-click="slide.toggleFavorite()"><span ng-class="{'glyphicon-star': slide.favorite, 'glyphicon-star-empty': !slide.favorite}" class="glyphicon"></span></a>
+    <a ng-click="toggleModal($index)"><span class="glyphicon glyphicon-plus"></span></a>
+    <a ng-show="editable" class="pull-right" ng-click="slide.remove(book.slides)"><span class="glyphicon glyphicon-trash"></span></a>
+</div>
+<a href="#/slide/{{slide.id}}"><p>{{ slide.details.title }}</p></a>
\ No newline at end of file
--- a/client/app/my_visit/my_visit.html	Wed May 27 18:59:55 2015 +0200
+++ b/client/app/my_visit/my_visit.html	Wed May 27 19:01:25 2015 +0200
@@ -11,23 +11,15 @@
       <a class="pull-right" ng-click="$event.preventDefault(); $event.stopPropagation(); addBook(parentBook.id)">Créer un Book</a>
       
     </accordion-heading>
-        <a class="nbrObjects">{{parentBook.slides.length}} objets</a>
+        <p class="nbrObjects">{{parentBook.slides.length}} objets</p>
 
-        <ul ng:model="slides" class="list-unstyled list-inline gallery container">
-          <li class="col-md-2 item" ng-repeat="i in parentBook.slides "> 
-            <div class="img-ctn">
-                <img class="img img-responsive image" ng-src="{{ i.details.images[0] }}"/>
-                <p>{{ i.details.title }}</p>
-                <div class="gallery-buttons">
-                 
-                  <a class="btn btn-default" ng-click="deleteItem($index)"><span class="glyphicon glyphicon-heart"></span></a>
-                  <a class="btn btn-default" ng-click="deleteItem($index)"><span class="glyphicon glyphicon-plus"></span></a>
-                 
-                </div>
-            </div>
-          </li>
-      </ul>
-  </accordion-group>
+        <ul ng:model="slides" class="list-unstyled list-inline gallery container-fluid">
+        
+            <li class="item" ng-class="{'no-img': !slide.details.images[0]}" ng-repeat="slide in parentBook.slides">
+                <ng-include src="'books/galleryItem.html'"></ng-include>
+            </li>
+        </ul>
+    </accordion-group>
 </accordion>
 
 <a class="btn btn-default" ng-click="addBook()"><span class="glyphicon glyphicon-plus"></span></a>
\ No newline at end of file
--- a/client/app/slides/slides.html	Wed May 27 18:59:55 2015 +0200
+++ b/client/app/slides/slides.html	Wed May 27 19:01:25 2015 +0200
@@ -1,29 +1,29 @@
 <div class="slide row">
-	<div class="slide-title">
-		<h1>{{slide.title}} - {{slide.details.title}}</h1>
-	</div>
-	<div class="slide-nav">
-		<a id="back" href="#/books/{{slide.book}}">&laquoRetour galerie</a>
-		<a id="next" href="#">Suivant&raquo</a>
-		<a id="previous" href="#">&laquoPrecedents</a>
-	</div>
-	<div class="container slide-content">
-		<div class="col-md-7 media">
-			<figure ng-if="slide.details.images && !slide.details.video" ng-repeat="image in slide.details.images">
-				<img ng-src="{{image}}" style="margin: auto;">
-  				<figcaption>{{slide.details.captions[$index]}}</figcaption>
-			</figure> 
-			<audio ng-if="slide.details.audio" ng-src="{{ slide.details.audio }}" style="margin: auto; controls loop"></audio>
-			<video ng-if="slide.details.video" ng-src="{{ slide.details.video }}" style="margin: auto;" controls></video>
-		</div>
-		<div class="col-md-5 caption">
-			<slide-editor index="{{$index}}"></slide-editor>
-			<hr />
-			<div class="details">
-				<p><strong>Titre&nbsp;:&nbsp;</strong><small>{{slide.details.title}}</small></p>
-				<p><strong>Description&nbsp;:&nbsp;</strong><small>{{slide.details.description}}</small></p>
-				<p><strong>Numéro d'Inventaire&nbsp;:&nbsp;</strong><small>{{slide.details.idInventory}}</small></p>
-			</div>
-		</div>
-	</div>
+    <div class="slide-title">
+        <h1>{{slide.title}} - {{slide.details.title}}</h1>
+    </div>
+    <div class="slide-nav">
+        <a id="back" href="#/books/{{slide.book}}">&laquoRetour galerie</a>
+        <a id="next" href="#">Suivant&raquo</a>
+        <a id="previous" href="#">&laquoPrecedents</a>
+    </div>
+    <div class="container slide-content">
+        <div class="col-md-7 media">
+            <figure ng-if="slide.details.images && !slide.details.video" ng-repeat="image in slide.details.images">
+                <img ng-src="{{image}}" style="margin: auto;">
+                  <figcaption>{{slide.details.captions[$index]}}</figcaption>
+            </figure> 
+            <audio ng-if="slide.details.audio" ng-src="{{ slide.details.audio }}" style="margin: auto; controls loop"></audio>
+            <video ng-if="slide.details.video" ng-src="{{ slide.details.video }}" style="margin: auto;" controls></video>
+        </div>
+        <div class="col-md-5 caption">
+            <slide-editor index="{{$index}}"></slide-editor>
+            <hr />
+            <div class="details">
+                <p><strong>Titre&nbsp;:&nbsp;</strong><small>{{slide.details.title}}</small></p>
+                <p><strong>Description&nbsp;:&nbsp;</strong><small>{{slide.details.description}}</small></p>
+                <p><strong>Numéro d'Inventaire&nbsp;:&nbsp;</strong><small>{{slide.details.idInventory}}</small></p>
+            </div>
+        </div>
+    </div>
 </div>
--- a/client/app/visites/visite.html	Wed May 27 18:59:55 2015 +0200
+++ b/client/app/visites/visite.html	Wed May 27 19:01:25 2015 +0200
@@ -1,26 +1,19 @@
  <accordion close-others="false">
-	<accordion-group is-open=true>
-		<accordion-heading>  
-			<a class="title" ng-click="$event.stopPropagation();" href="#/visites/{{ parentBook.id }}">{{ parentBook.title }}</a>
-			<a class="pull-right" ng-click="$event.preventDefault(); $event.stopPropagation();"><span class="glyphicon glyphicon-share"></span></a>
-			<a class="pull-right" ng-click="$event.preventDefault(); $event.stopPropagation();"><span class="glyphicon glyphicon-cog"></span></a>
-			<a class="pull-right" ng-click="$event.stopPropagation();" href="#/slideshow/{{ parentBook.id }}"><span class="glyphicon glyphicon-eye-open"></span></a>
-			<a class="pull-right" ng-click="$event.preventDefault(); $event.stopPropagation(); addBook(parentBook.id)">Créer un Book</a>
-		</accordion-heading>
-		
-		<a class="nbrObjects">{{parentBook.slides.length}} objets</a>
-		
-		<ul ui-sortable="sortableOptions" ng:model="slides" class="list-unstyled list-inline gallery container">
-			<li class="col-md-2 item" ng-repeat="i in slides">
-				<div class="img-ctn">
-					<img class="img img-responsive image" ng-src="{{ i.details.images[0] }}" />
-					<p>{{ i.details.title }}</p>
-					<div class="gallery-buttons">
-						<a class="btn btn-default" href="#/slide/{{ i.id }}"><span class="glyphicon glyphicon-heart"></span></a>
-						<a class="btn btn-default" ng-click="toggleModal($index)"><span class="glyphicon glyphicon-plus"></span></a>
-					</div>
-				</div>
-			</li>
-		</ul>
-	</accordion-group>
+    <accordion-group is-open=true>
+        <accordion-heading>  
+            <a class="title" ng-click="$event.stopPropagation();" href="#/visites/{{ visit.id }}">{{ visit.title }}</a>
+            <a class="pull-right" ng-click="$event.preventDefault(); $event.stopPropagation();"><span class="glyphicon glyphicon-share"></span></a>
+            <a class="pull-right" ng-click="$event.preventDefault(); $event.stopPropagation();"><span class="glyphicon glyphicon-cog"></span></a>
+            <a class="pull-right" ng-click="$event.stopPropagation();" href="#/slideshow/{{ parentBook.id }}"><span class="glyphicon glyphicon-eye-open"></span></a>
+            <a class="pull-right" ng-click="$event.preventDefault(); $event.stopPropagation(); addBook(parentBook.id)">Créer un Book</a>
+        </accordion-heading>
+        
+        <p class="nbrObjects">{{parentBook.slides.length}} objets</p>
+        
+        <ul class="list-unstyled list-inline gallery container-fluid">
+            <li class="item" ng-class="{'no-img': !slide.details.images[0]}" ng-repeat="slide in visit.slides">
+                <ng-include src="'books/galleryItem.html'"></ng-include>
+            </li>
+        </ul>
+    </accordion-group>
 </accordion>
--- a/client/app/visites/visites.html	Wed May 27 18:59:55 2015 +0200
+++ b/client/app/visites/visites.html	Wed May 27 19:01:25 2015 +0200
@@ -1,34 +1,26 @@
 <accordion close-others="false">
-	<accordion-group ng-repeat="parentBook in books | filter:{ parent_visit: 'null', idArticle: '!null' } | orderBy: 'date' " is-open=true>
+    <accordion-group ng-repeat="visit in books | filter:{ parent_visit: 'null', idArticle: '!null' } | orderBy: 'date' " is-open=true>
 
-		<accordion-heading>
-			<a class="title" ng-click="$event.stopPropagation();" href="#/visites/{{ parentBook.id }}">{{ parentBook.title }}</a>
-			<a class="pull-right" ng-click="$event.preventDefault(); $event.stopPropagation();"><span class="glyphicon glyphicon-share"></span></a>
-			<a class="pull-right" ng-click="$event.preventDefault(); $event.stopPropagation(); edit()"><span class="glyphicon glyphicon-cog"></span></a>
-			<a class="pull-right" ng-click="$event.stopPropagation();" href="#/slideshow/{{ parentBook.id }}"><span class="glyphicon glyphicon-eye-open"></span></a>
-			<a class="pull-right" ng-click="$event.preventDefault(); $event.stopPropagation(); addBook(parentBook.id)">Créer un Book</a>
+        <accordion-heading>
+            <a class="title" ng-click="$event.stopPropagation();" href="#/visites/{{ visit.id }}">{{ visit.title }}</a>
+            <a class="pull-right" ng-click="$event.preventDefault(); $event.stopPropagation();"><span class="glyphicon glyphicon-share"></span></a>
+            <a class="pull-right" ng-click="$event.preventDefault(); $event.stopPropagation(); edit()"><span class="glyphicon glyphicon-cog"></span></a>
+            <a class="pull-right" ng-click="$event.stopPropagation();" href="#/slideshow/{{ visit.id }}"><span class="glyphicon glyphicon-eye-open"></span></a>
+            <a class="pull-right" ng-click="$event.preventDefault(); $event.stopPropagation(); addBook(visit.id)">Créer un Book</a>
         </accordion-heading>
 
-        <a class="nbrObjects">{{parentBook.slides.length}} objets</a>
+        <p class="nbrObjects">{{visit.count}} objets</p>
 
-        <ul ng:model="slides" class="list-unstyled list-inline gallery container">
-				  <li class="col-md-2 item" ng-repeat="i in parentBook.slides | limitTo : 5"> 
-				    <div class="img-ctn">
-				        <img class="img img-responsive image" ng-src="{{ i.details.images[0] }}"/>
-				        <p>{{ i.details.title }}</p>
-				        <div class="gallery-buttons">
-				         
-				          <a class="btn btn-default" ng-click=""><span class="glyphicon glyphicon-heart"></span></a>
-				          <a class="btn btn-default" ng-click="toggleModal($index)"><span class="glyphicon glyphicon-plus"></span></a>
-				         
-				        </div>
-				    </div>
-				  </li>
-			</ul>
+        <ul ng:model="slides" class="list-unstyled list-inline gallery container-fluid">
+            
+            <li class="item" ng-class="{'no-img': !slide.details.images[0]}" ng-repeat="slide in visit.slides">
+                <ng-include src="'books/galleryItem.html'"></ng-include>
+            </li>
+        </ul>
 
-	  
-	</accordion-group>
-	
+      
+    </accordion-group>
+    
 </accordion>
 
 <a class="btn btn-default" ng-click="addBook()"><span class="glyphicon glyphicon-plus"></span></a>
\ No newline at end of file