b8d7a9e923fb3059c1b2019905699a46291760ae
[dlux.git] / modules / yangman-resources / src / main / resources / yangman / views / leftpanel / collections-tab.tpl.html
1 <md-list class="yangmanModule__requests-list__collections-list"
2          ng-cloak
3          ng-controller="RequestsListCtrl as reqList"
4          ng-init="reqList.init('collections')">
5
6     <md-content class="searchBox yangmanModule__left-panel__search" layout="row">
7
8         <!-- searching -->
9         <md-input-container layout="row" md-no-float class="modules-list-search" flex>
10             <!-- search icon, form, clear button -->
11             <md-icon class="material-icons">search</md-icon>
12             <input class="ng-pristine ng-valid ng-touched"
13                    type="text"
14                    flex
15                    placeholder="{{'YANGMAN_SEARCH' | translate}}"
16                    ng-model="reqList.search"
17                    aria-invalid="false" />
18             <md-button aria-label="{{'YANGMAN_CLEAR_SEARCH'| translate}}" flex="none"
19                        ng-click="reqList.clearFilter()"
20                        ng-if="reqList.search">
21                 <md-icon class="material-icons clickable">
22                     close
23                 </md-icon>
24                 <md-tooltip md-direction="bottom">{{'YANGMAN_CLEAR_SEARCH'| translate}}</md-tooltip>
25             </md-button>
26             <!-- /search icon, form, clear button -->
27         </md-input-container>
28
29         <!-- sorting -->
30         <span class="collection-button-container">
31             <md-button  ng-click="reqList.toggleCollectionsSort()"
32                         ng-disabled="reqList.collectionList.collections.length <= 1">
33                 <md-icon class="material-icons clickable" > sort</md-icon>
34             </md-button>
35             <md-tooltip md-direction="bottom">
36                 {{ ( reqList.collectionsSortAsc ? 'YANGMAN_SORT_COLLECTIONS_DESC' : 'YANGMAN_SORT_COLLECTIONS_ASC' )| translate}}
37             </md-tooltip>
38         </span>
39         <!-- /sorting -->
40
41         <!-- save -->
42         <span class="collection-button-container">
43             <md-button  ng-click="reqList.showDgSaveReq($event)"
44                         ng-disabled="reqList.mainList.getSelectedItems(reqList.filterCollReq).length === 0">
45                 <md-icon class="material-icons clickable">
46                     save
47                 </md-icon>
48             </md-button>
49             <md-tooltip md-direction="bottom">{{'YANGMAN_REQS_SAVE_TO_COL'| translate}}</md-tooltip>
50         </span>
51         <!-- /save -->
52
53         <!-- importing -->
54         <span class="collection-button-container">
55             <input type="file" accept=".json" id="importCollection" on-read-file="reqList.readCollectionFromFile($fileContent)">
56             <md-button>
57                 <label for="importCollection">
58                     <md-icon class="material-icons clickable" >
59                         file_upload
60                     </md-icon>
61                 </label>
62             </md-button>
63             <md-tooltip md-direction="bottom">{{'YANGMAN_IMPORT_COLLECTION'| translate}}</md-tooltip>
64         </span>
65         <!-- /importing -->
66
67         <md-menu layout-align="center start">
68             <md-button ng-disabled="!reqList.mainList.list.length" aria-label="menu"  ng-click="$mdOpenMenu()">
69                 <md-icon class="material-icons clickable"> delete</md-icon>
70                 <md-tooltip md-direction="bottom">{{'YANGMAN_DELETE_OPTIONS' | translate}}</md-tooltip>
71             </md-button>
72             <md-menu-content>
73                 <!-- delete selected -->
74                 <md-menu-item>
75                     <md-button aria-label="{{'YANGMAN_REQS_DELETE'| translate}}"
76                                ng-click="reqList.showDgDeleteRequests($event)"
77                                ng-disabled="reqList.mainList.getSelectedItems(reqList.filterCollReq).length === 0">
78                         <md-icon class="material-icons clickable">
79                             delete
80                         </md-icon>
81                         {{'YANGMAN_REQS_DELETE'| translate}}
82                     </md-button>
83                 </md-menu-item>
84                 <!-- / delete selected -->
85                 <!-- clear collections -->
86                 <md-menu-item>
87                     <md-button aria-label="{{'YANGMAN_DELETE_COLLECTIONS' | translate}}"
88                                ng-click="reqList.clearCollectionList($event)">
89                         <md-icon class="material-icons clickable">
90                             delete_forever
91                         </md-icon>
92                         {{'YANGMAN_DELETE_COLLECTIONS' | translate}}
93                     </md-button>
94                 </md-menu-item>
95                 <!-- / clear history -->
96             </md-menu-content>
97         </md-menu>
98         <!-- / menu for deleting and clearing -->
99
100         <!-- menu for selecting and deselecting-->
101         <md-menu layout-align="center start">
102             <md-button ng-disabled="( !reqList.mainList.list.length)" aria-label="menu"  ng-click="$mdOpenMenu()">
103                 <md-icon class="material-icons clickable">
104                     playlist_add_check
105                 </md-icon>
106                 <md-tooltip md-direction="bottom">{{'YANGMAN_SELECT_OPTIONS' | translate}}</md-tooltip>
107             </md-button>
108             <md-menu-content>
109                 <!-- select all -->
110                 <md-menu-item>
111                     <md-button aria-label="{{'YANGMAN_SELECT_ALL' | translate}}"
112                                ng-click="reqList.selectAllFilteredRequests()">
113                         <md-icon class="material-icons clickable">
114                             done
115                         </md-icon>
116                         {{'YANGMAN_SELECT_ALL' | translate}}
117                     </md-button>
118                 </md-menu-item>
119                 <!-- /select all -->
120                 <!-- deselect all -->
121                 <md-menu-item>
122                     <md-button aria-label="{{'YANGMAN_DESELECT_ALL' | translate}}"
123                                ng-click="reqList.deselectAllFilteredRequests()"
124                                ng-disabled="reqList.mainList.getSelectedItems(reqList.filterCollReq).length === 0">
125                         <md-icon class="material-icons clickable">
126                             close
127                         </md-icon>
128                         {{'YANGMAN_DESELECT_ALL' | translate}}
129                     </md-button>
130                 </md-menu-item>
131                 <!-- / deselect all -->
132             </md-menu-content>
133         </md-menu>
134         <!-- / menu for selecting and deselecting -->
135     </md-content>
136
137     <md-divider></md-divider>
138
139     <!-- collection list -->
140     <md-content class="scrollableY">
141
142         <div ng-repeat="collection in reqList.mainList.collections | filter: reqList.filterCol | orderBy: (reqList.collectionsSortAsc ? '' : '-')+'name'">
143
144             <div layout="row">
145
146                 <md-list-item class="yangmanModule__requests-list__collection"
147                               flex
148                               ng-class="{'expanded' : collection.expanded, 'selected': collection.expanded}"
149                               ng-click="collection.toggleExpanded()">
150
151                     <div layout="row">
152                         <md-icon md-font-set="material-icons" class="top-icon">
153                             folder_open
154                         </md-icon>
155                         <div layout="column">
156
157                             <p flex>
158                             <span md-highlight-text="reqList.search" md-highlight-flags="i">
159                                 {{collection.name}}
160                             </span><br />
161                             <span class="desc">
162                                 <span class="desc" ng-if="reqList.search && !reqList.filterColName(collection)">{{'YANGMAN_MATCHING'| translate}} {{reqList.colMatchingReqsCount(collection)}} / </span>
163                                 {{collection.data.length}} {{(collection.data.length>1 ? 'YANGMAN_COLLECTION_REQUESTS' : 'YANGMAN_COLLECTION_REQUEST')| translate}}
164                             </span>
165                             </p>
166                         </div>
167                     </div>
168
169                 </md-list-item>
170                 <md-menu class="yangmanModule__requests-list__group__collectionMenu"
171                          md-offset="35 15"
172                          layout-align="center start">
173                     <md-button aria-label="menu" class="md-primary" ng-click="$mdOpenMenu()">
174                         <i class="material-icons">menu</i>
175                     </md-button>
176                     <md-menu-content class="reqMenu">
177                         <md-menu-item>
178                             <md-button aria-label="Duplicate collection"
179                                        ng-click="reqList.showDgEditCollection($event, collection, false)">
180                                 <i class="material-icons">mode_edit</i>
181                                 {{'YANGMAN_COLLECTION_EDIT'| translate}}
182                             </md-button>
183                         </md-menu-item>
184                         <md-menu-item>
185                             <md-button aria-label="{{'YANGMAN_COLLECTION_DUPLICATE'| translate}}"
186                                        ng-click="reqList.showDgEditCollection($event, collection, true)">
187                                 <i class="material-icons">control_point_duplicate</i>
188                                 {{'YANGMAN_COLLECTION_DUPLICATE'| translate}}
189                             </md-button>
190                         </md-menu-item>
191                         <md-menu-item>
192                             <md-button aria-label="{{'YANGMAN_COLLECTION_DOWNLOAD'| translate}}"
193                                        ng-click="reqList.downloadCollection(collection)">
194                                 <i class="material-icons">file_download</i>
195                                 {{'YANGMAN_COLLECTION_DOWNLOAD'| translate}}
196                             </md-button>
197                         </md-menu-item>
198                         <md-menu-item>
199                             <md-button aria-label="{{'YANGMAN_COLLECTION_DELETE'| translate}}"
200                                        ng-click="reqList.showDgDeleteCollection($event, collection)">
201                                 <i class="material-icons">delete</i>
202                                 {{'YANGMAN_COLLECTION_DELETE'| translate}}
203                             </md-button>
204                         </md-menu-item>
205                     </md-menu-content>
206                 </md-menu>
207             </div>
208
209
210             <md-list ng-show="collection.expanded" class="yangmanModule__requests-list__collection__requests">
211                 <div ng-repeat="request in collection.data | filter: reqList.filterReq"
212                      layout="row"
213                      class="yangmanModule__requests-list__item-container"
214                      ng-include src="globalViewPath + 'leftpanel/request-item.tpl.html'">
215                 </div>
216             </md-list>
217             <md-divider></md-divider>
218
219         </div>
220     </md-content>
221
222 </md-list>