Rev 1732 | Rev 1760 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1692 | jmachado | 1 | <%@ page import="jomm.dao.impl.AbstractDao" %> |
2 | <%@ page import="org.json.JSONArray" %> |
||
3 | <%@ page import="pt.estgp.estgweb.domain.RepositoryDocumentInterfaceImpl" %> |
||
4 | <%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %> |
||
5 | <%@ page import="pt.estgp.estgweb.services.data.repositorydocuments.RepositoryDocumentService" %> |
||
6 | <%@ page import="pt.estgp.estgweb.services.data.repositorydocuments.interfaces.RepositoryInterface" %> |
||
1683 | jmachado | 7 | <%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %> |
8 | <%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %> |
||
9 | <%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %> |
||
10 | <%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %> |
||
11 | <%@ taglib uri="/WEB-INF/tlds/struts-tiles.tld" prefix="tiles" %> |
||
12 | <%@ taglib tagdir="/WEB-INF/tags" prefix="bacoTags" %> |
||
13 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> |
||
1692 | jmachado | 14 | |
15 | <% |
||
16 | |||
17 | long id = Long.parseLong(request.getParameter("id")); |
||
18 | |||
19 | |||
20 | AbstractDao.getCurrentSession().beginTransaction(); |
||
21 | |||
22 | JSONArray collectionsArrayOrderedTree = new RepositoryDocumentService().loadCollectionsOrderedAsTree(); |
||
23 | RepositoryDocumentInterfaceImpl repoInterface = (RepositoryDocumentInterfaceImpl) DaoFactory.getRepositoryDocumentInterfaceDaoImpl().get(id); |
||
24 | RepositoryInterface repositoryInterface = repoInterface.getRepositoryInterface(); |
||
25 | if(repositoryInterface == null) |
||
1683 | jmachado | 26 | { |
1692 | jmachado | 27 | repositoryInterface = new RepositoryInterface(); |
28 | repoInterface.setRepositoryInterface(repositoryInterface); |
||
1683 | jmachado | 29 | } |
1692 | jmachado | 30 | String jsonData = repositoryInterface.toJson(); |
31 | |||
32 | |||
33 | AbstractDao.getCurrentSession().getTransaction().commit(); |
||
34 | %> |
||
35 | |||
1683 | jmachado | 36 | <div class="container-fluid"> |
37 | |||
38 | <div id="treeAppPageContent" ng-app="treeAppPageContent" ng-controller="treeAppPageContentController"> |
||
39 | |||
40 | |||
41 | <script> |
||
42 | ping(); |
||
1692 | jmachado | 43 | |
44 | |||
45 | |||
1683 | jmachado | 46 | var treeAppPageContent = angular.module('treeAppPageContent', ['ui.tree']); |
47 | GLOBAL_BacoAngularAppDependencies.push('treeAppPageContent'); |
||
48 | |||
49 | <!-- estes codigos todos do remove e do toggle e etc's não mechi em nada limitei-me a copiar dos gajos--> |
||
50 | treeAppPageContent.controller('treeAppPageContentController', function ($scope) { |
||
51 | |||
1692 | jmachado | 52 | /*$scope.data = { |
1683 | jmachado | 53 | "showTitle" : true, |
54 | "showDescription" : false |
||
1692 | jmachado | 55 | };*/ |
56 | //$scope.myDate = new Date(); |
||
57 | //$scope.data = {"description":"RepoDesc","rows":[{"columns":[{"blocks":[{"collectionIds":[1],"description":"bloco1desc","maxPublishDate":'2015-12-15T23:00:00.000Z',"maxPublishDateStr":"","minPublishDate":null,"minPublishDateStr":"","orderBy":"publishDateDesc","showDescription":false,"showDocumentDescription":true,"showDocumentMetaData":false,"showDocumentTitle":true,"showFileDescription":false,"showFileTitle":true,"showTitle":true,"title":"bloco1","tree":false,"type":"block"}],"cols":6,"description":"col1Desc","rows":[],"showDescription":false,"showTitle":true,"title":"col1Title","type":"column"},{"blocks":[{"collectionIds":[4],"description":"bloco2desc","maxPublishDate":null,"maxPublishDateStr":"","minPublishDate":null,"minPublishDateStr":"","orderBy":"title","showDescription":false,"showDocumentDescription":true,"showDocumentMetaData":false,"showDocumentTitle":true,"showFileDescription":false,"showFileTitle":true,"showTitle":true,"title":"bloco2","tree":false,"type":"block"}],"cols":6,"description":"col2Desc","rows":[],"showDescription":false,"showTitle":true,"title":"col2Title","type":"column"}],"description":"Row 1 Desc","showDescription":false,"showTitle":true,"title":"Row 1 title","type":"row"}],"showDescription":true,"showTitle":true,"title":"Teste"} |
||
58 | $scope.data = <%=jsonData%> |
||
59 | ; |
||
60 | $scope.collections = <%=collectionsArrayOrderedTree.toString()%>; |
||
1683 | jmachado | 61 | |
62 | |||
63 | /* |
||
64 | $scope.data = [ |
||
65 | { |
||
66 | "id" : 1, |
||
67 | "name" : "Nao deixa fazer drag", |
||
68 | "nodrag" : true, |
||
69 | "isDirectory" : true |
||
70 | |||
71 | }, |
||
72 | { |
||
73 | "id" : 2, |
||
74 | "name" : "Nao deixa fazer drop", |
||
75 | "nodrop" : true, |
||
76 | "isDirectory" : true |
||
77 | }, |
||
78 | { |
||
79 | "id" : 3, |
||
80 | "name" : "Deixa fazer Tudo", |
||
81 | "isDirectory" : true |
||
82 | }, |
||
83 | { |
||
84 | "id" : 4, |
||
85 | "name" : "Deixa fazer Tudo e ja foi movido", |
||
86 | "moved" : true, |
||
87 | "isDirectory" : true |
||
88 | }, |
||
89 | { |
||
90 | "id" : 5, |
||
91 | "name" : "Exemplo de folha nao deixa abrir", |
||
92 | "isDirectory" : false |
||
93 | } |
||
94 | ];*/ |
||
95 | $scope.treeOptions = { |
||
96 | accept: function(sourceNodeScope, destNodesScope, destIndex) { |
||
1690 | jmachado | 97 | |
98 | //if(destNodesScope) |
||
1692 | jmachado | 99 | //console.log(destNodesScope); |
100 | //console.log(sourceNodeScope); |
||
1690 | jmachado | 101 | //console.log(destIndex); |
102 | //console.log(destNodesScope.$parent.$modelValue.title); |
||
103 | //console.log(destNodesScope.$modelValue[0].type); |
||
104 | if(sourceNodeScope.$modelValue.type == destNodesScope.$modelValue[0].type) |
||
105 | return true; |
||
1683 | jmachado | 106 | return false; |
107 | }, |
||
108 | dropped: function(e) { |
||
109 | //console.log (e.source.nodeScope.$modelValue); |
||
110 | //alert ("Largado o nó com nome: " + e.source.nodeScope.$modelValue.name + " sobre " + e.dest.nodesScope.$parent.$modelValue.name); |
||
111 | } |
||
112 | }; |
||
113 | |||
114 | $scope.addRow = function(container) |
||
115 | { |
||
116 | if(!container.rows) |
||
117 | { |
||
118 | container.rows = []; |
||
119 | } |
||
120 | container.rows.push( |
||
121 | { |
||
122 | "showTitle" : true, |
||
123 | "showDescription" : false, |
||
124 | "type" : "row" |
||
125 | } |
||
126 | ); |
||
127 | } |
||
1690 | jmachado | 128 | $scope.removeRow = function(parent,index) |
129 | { |
||
130 | parent.rows.splice(index,1); |
||
131 | } |
||
132 | $scope.removeColumn = function(parent,index) |
||
133 | { |
||
134 | parent.columns.splice(index,1); |
||
135 | } |
||
136 | $scope.removeBlock = function(parent,index) |
||
137 | { |
||
138 | parent.blocks.splice(index,1); |
||
139 | } |
||
1683 | jmachado | 140 | $scope.addColumn = function(row) |
141 | { |
||
142 | if(!row.columns) |
||
143 | { |
||
144 | row.columns = []; |
||
145 | } |
||
146 | row.columns.push( |
||
147 | { |
||
148 | "showTitle" : true, |
||
149 | "showDescription" : false, |
||
150 | "cols" : 6, |
||
151 | "type" : "column" |
||
152 | } |
||
153 | ); |
||
154 | } |
||
155 | |||
1690 | jmachado | 156 | $scope.addBlock = function(column) |
157 | { |
||
158 | if(!column.blocks) |
||
159 | { |
||
160 | column.blocks = []; |
||
161 | } |
||
162 | column.blocks.push( |
||
163 | { |
||
164 | "showTitle" : true, |
||
165 | "showDescription" : false, |
||
166 | "cols" : 6, |
||
1725 | jmachado | 167 | "type" : "block", |
168 | "orderBy" : "publishDateDesc", |
||
169 | "tree": false, |
||
170 | "showDocumentMetaData" : false, |
||
171 | "datesFormat" : "YY", |
||
172 | "showFileTitle" : true, |
||
173 | "showFileDescription": false |
||
174 | |||
1690 | jmachado | 175 | } |
176 | ); |
||
177 | } |
||
178 | |||
1692 | jmachado | 179 | $scope.addCollectionId = function(block) |
180 | { |
||
181 | if(!block.collectionIds) |
||
182 | { |
||
183 | block.collectionIds = []; |
||
184 | } |
||
185 | var colId = block.choosedCol.id; |
||
186 | var found = block.collectionIds.filter(function(id){ return id === colId }); |
||
187 | if(found.length == 0) |
||
188 | { |
||
189 | block.collectionIds.push(colId); |
||
190 | } |
||
191 | } |
||
192 | $scope.removeCollectionId = function(block,$index) |
||
193 | { |
||
194 | block.collectionIds.splice($index,1); |
||
195 | } |
||
196 | |||
1683 | jmachado | 197 | $scope.getColStyle = function(column) |
198 | { |
||
199 | return "col-md-" + column.cols; |
||
200 | } |
||
1692 | jmachado | 201 | |
202 | $scope.getCollectionTreeName = function(cid) |
||
203 | { |
||
204 | var found = $scope.collections.filter(function(collection){ return collection.id === cid })[0]; |
||
205 | //console.log(found.treeName); |
||
1710 | jmachado | 206 | return found.pathName; |
1692 | jmachado | 207 | } |
208 | |||
209 | $scope.setMaxPublishDate = function ($event,block) { |
||
210 | |||
211 | var datetimepicker = $($event.target).parents(".form-group").find(".datetimepicker"); |
||
212 | $(datetimepicker).datetimepicker({locale: 'pt',format: 'YYYY/MM/DD'}) |
||
213 | .on("dp.change", function (data) { |
||
214 | //alert($("#"+datePicker).find("input").val()); |
||
215 | block.maxPublishDateStr = $(datetimepicker).find("input").val(); |
||
216 | $scope.$apply(); |
||
217 | |||
218 | }); |
||
219 | } |
||
220 | $scope.setMinPublishDate = function ($event,block) { |
||
221 | |||
222 | var datetimepicker = $($event.target).parents(".form-group").find(".datetimepicker"); |
||
223 | $(datetimepicker).datetimepicker({locale: 'pt',format: 'YYYY/MM/DD'}) |
||
224 | .on("dp.change", function (data) { |
||
225 | //alert($("#"+datePicker).find("input").val()); |
||
226 | block.minPublishDateStr = $(datetimepicker).find("input").val(); |
||
227 | $scope.$apply(); |
||
228 | |||
229 | }); |
||
230 | } |
||
231 | $scope.clearDateMax = function(block) |
||
232 | { |
||
233 | block.maxPublishDateStr = ""; |
||
234 | } |
||
235 | $scope.clearDateMin = function(block) |
||
236 | { |
||
237 | block.minPublishDateStr = ""; |
||
238 | } |
||
239 | |||
240 | //Meotodo necessário para incializar os pickers após serem criados |
||
241 | $scope.updateDatetimePickers = function() |
||
242 | { |
||
243 | $('.datetimepicker').datetimepicker({ |
||
244 | locale: 'pt', |
||
245 | format: 'YYYY/MM/DD' |
||
246 | }); |
||
247 | } |
||
248 | |||
249 | $scope.saveRepositoryInterfaceData = function() |
||
250 | { |
||
251 | widgetSimpleCallWithActionParameters( |
||
252 | "<%=request.getContextPath()%>/user/repositoryDoc.do", |
||
253 | "saveRepositoryInterfaceData", |
||
254 | { |
||
255 | "id" : <%=id%>, |
||
256 | "data" : JSON.stringify($scope.data) |
||
257 | }, |
||
258 | "#treeAppPageContent", |
||
259 | function() |
||
260 | { |
||
261 | modalWebMessagesGivenContainer("Dados salvos","#treeAppPageContent"); |
||
262 | }, |
||
263 | function() |
||
264 | { |
||
265 | modalWebMessagesGivenContainer("Ocorreram erros","#treeAppPageContent"); |
||
266 | } |
||
267 | ); |
||
268 | } |
||
1683 | jmachado | 269 | } |
270 | ); |
||
271 | |||
272 | </script> |
||
273 | |||
274 | |||
275 | |||
1692 | jmachado | 276 | <div class="panel panel-primary"> |
277 | <div class="panel-heading clearfix"> |
||
278 | Criação de Interface para o Repositório Digital |
||
279 | </div> |
||
280 | <div class="panel-body"> |
||
1683 | jmachado | 281 | |
1692 | jmachado | 282 | <div class="web-messages"></div> |
1683 | jmachado | 283 | |
284 | |||
1692 | jmachado | 285 | <div class="form-horizontal"> |
286 | <div class="form-group"> |
||
287 | <label class="col-md-1 control-label">ID</label> |
||
288 | <div class="col-md-11"> |
||
289 | <input disabled type="text" class="form-control" value="<%=id%>"/> |
||
290 | </div> |
||
1683 | jmachado | 291 | </div> |
1692 | jmachado | 292 | <div class="form-group"> |
1714 | jmachado | 293 | <label class="col-md-1 control-label">Margens Mínimas</label> |
294 | <div class="col-md-11"> |
||
295 | <select ng-class="{'bg-red': data.containerFluid == false, 'bg-green': data.containerFluid == true}" class="form-control chosenOff" type="text" ng-model="data.containerFluid" ng-options="o.v as o.n for o in [{ n: 'Sim', v: true }, { n: 'Não', v: false }]">> |
||
296 | |||
297 | </select> |
||
298 | </div> |
||
299 | </div> |
||
300 | <div class="form-group"> |
||
1692 | jmachado | 301 | <label class="col-md-1 control-label">Título</label> |
302 | <div class="col-md-9"> |
||
303 | <input type="text" class="form-control" ng-model="data.title"/> |
||
304 | </div> |
||
305 | <div class="col-md-2"> |
||
306 | <select ng-class="{'bg-red': data.showTitle == false, 'bg-green': data.showTitle == true}" class="form-control chosenOff" type="text" ng-model="data.showTitle" ng-options="o.v as o.n for o in [{ n: 'Mostrar', v: true }, { n: 'Não Mostrar', v: false }]">> |
||
1683 | jmachado | 307 | |
1692 | jmachado | 308 | </select> |
309 | </div> |
||
1683 | jmachado | 310 | </div> |
1692 | jmachado | 311 | <div class="form-group"> |
312 | <label class="col-md-1 control-label">Descrição</label> |
||
313 | <div class="col-md-9"> |
||
314 | <textarea rows="3" class="form-control" ng-model="data.description"> |
||
1683 | jmachado | 315 | |
1692 | jmachado | 316 | </textarea> |
317 | </div> |
||
318 | <div class="col-md-2" > |
||
319 | <select ng-class="{'bg-red': data.showDescription == false, 'bg-green': data.showDescription == true}" class="form-control chosenOff" type="text" ng-model="data.showDescription" ng-options="o.v as o.n for o in [{ n: 'Mostrar', v: true }, { n: 'Não Mostrar', v: false }]">> |
||
320 | |||
321 | </select> |
||
322 | </div> |
||
1683 | jmachado | 323 | </div> |
1692 | jmachado | 324 | <div class="panel panel-info"> |
325 | <div class="panel-heading"> |
||
326 | Linhas |
||
327 | <button ng-click="addRow(data)" class="btn btn-default pull-right"><span class="glyphicon glyphicon-plus"></span> Linha</button> |
||
1683 | jmachado | 328 | </div> |
1692 | jmachado | 329 | <div class="panel-body" ui-tree="treeOptions" id="page-content-root"> |
330 | <div style="padding: 10px" ui-tree-nodes ng-model="data.rows"> |
||
331 | <div ng-repeat="row in data.rows" ui-tree-node ng-include="'rows_renderer.html'" ng-init="parent=data"></div> |
||
332 | </div> |
||
333 | </div> |
||
1683 | jmachado | 334 | </div> |
335 | </div> |
||
336 | |||
337 | |||
338 | |||
1732 | jmachado | 339 | <pre class="code">{{ data | json }}</pre> |
1683 | jmachado | 340 | |
1692 | jmachado | 341 | </div> |
342 | |||
343 | |||
1683 | jmachado | 344 | </div> |
345 | |||
1692 | jmachado | 346 | <div> |
347 | <button ng-click="saveRepositoryInterfaceData()" type="button" class="btn btn-success">Salvar</button> |
||
348 | <a class="btn btn-danger pullright" href="<%=request.getContextPath()%>/user/repositoryListInterfaces.do">Sair</a> |
||
349 | </div> |
||
1683 | jmachado | 350 | |
351 | </div> |
||
352 | </div> |
||
353 | |||
354 | |||
355 | |||
356 | <!--TEMPLATE RECURSIVO--> |
||
357 | <script type="text/ng-template" id="rows_renderer.html"> |
||
358 | <!--Para nao deixar fazer drag--> |
||
1690 | jmachado | 359 | <div class="row clearfix" ng-class="{modified: node.modified, nodrop: node.nodrop, nodrag: node.nodrag, moved: node.moved}"> |
1683 | jmachado | 360 | <div class="panel panel-primary"> |
1690 | jmachado | 361 | <div class="panel-heading"> |
362 | <i class="glyphicon glyphicon-resize-vertical" ui-tree-handle></i> Linha {{$index + 1}} |
||
363 | <button ng-click="removeRow(parent,$index)" class="btn btn-danger btn-xs pull-right"><span class="glyphicon glyphicon-remove"></span></button> |
||
364 | </div> |
||
1683 | jmachado | 365 | <div class="panel-body"> |
366 | |||
367 | <div class="form-group"> |
||
368 | <label class="col-md-1 control-label">Título</label> |
||
369 | <div class="col-md-9"> |
||
370 | <input type="text" class="form-control" ng-model="row.title"/> |
||
371 | </div> |
||
372 | <div class="col-md-2"> |
||
373 | <select ng-class="{'bg-red': row.showTitle == false, 'bg-green': row.showTitle == true}" class="form-control chosenOff" type="text" ng-model="row.showTitle" ng-options="o.v as o.n for o in [{ n: 'Mostrar', v: true }, { n: 'Não Mostrar', v: false }]">> |
||
374 | |||
375 | </select> |
||
376 | </div> |
||
377 | </div> |
||
378 | <div class="form-group"> |
||
379 | <label class="col-md-1 control-label">Descrição</label> |
||
380 | <div class="col-md-9"> |
||
381 | <textarea rows="3" class="form-control" ng-model="row.description"> |
||
382 | |||
383 | </textarea> |
||
384 | </div> |
||
385 | <div class="col-md-2"> |
||
386 | <select ng-class="{'bg-red': row.showDescription == false, 'bg-green': row.showDescription == true}" class="form-control chosenOff" type="text" ng-model="row.showDescription" ng-options="o.v as o.n for o in [{ n: 'Mostrar', v: true }, { n: 'Não Mostrar', v: false }]">> |
||
387 | |||
388 | </select> |
||
389 | </div> |
||
390 | </div> |
||
391 | |||
392 | <div class="col-md-12" style="padding: 10px"> |
||
393 | <div class="panel panel-info"> |
||
394 | <div class="panel-heading clearfix"> |
||
395 | Colunas |
||
396 | <button ng-click="addColumn(row)" class="btn btn-default pull-right"><span class="glyphicon glyphicon-plus"></span> Coluna</button> |
||
397 | </div> |
||
398 | <div class="panel-body"> |
||
399 | |||
400 | |||
1690 | jmachado | 401 | <div class="row" style="padding-left: 0" ui-tree-nodes="" ng-model="row.columns"> |
402 | <div style="padding: 10px" ng-class="getColStyle(column)" ng-repeat="column in row.columns" ui-tree-node ng-include="'columns_renderer.html'" ng-init="parent=row"> |
||
1683 | jmachado | 403 | |
404 | </div> |
||
405 | </div> |
||
406 | |||
407 | </div> |
||
408 | </div> |
||
409 | </div> |
||
410 | |||
411 | </div> |
||
412 | </div> |
||
413 | </div> |
||
414 | |||
415 | |||
416 | |||
417 | </script> |
||
418 | |||
419 | |||
420 | <!--TEMPLATE RECURSIVO--> |
||
421 | <script type="text/ng-template" id="columns_renderer.html"> |
||
422 | <!--Para nao deixar fazer drag--> |
||
423 | <div class="clearfix" ng-class="{modified: node.modified, nodrop: node.nodrop, nodrag: node.nodrag, moved: node.moved}"> |
||
424 | <div class="panel panel-primary"> |
||
425 | <div class="panel-heading clearfix"> |
||
426 | <i class="glyphicon glyphicon-resize-vertical" ui-tree-handle></i> |
||
427 | Coluna {{$index + 1}} |
||
1690 | jmachado | 428 | <select class=" chosenOff" |
1683 | jmachado | 429 | style="color:black" |
430 | ng-model="column.cols" |
||
431 | ng-options="o.v as o.n for o in [{ n: '1', v: 1 },{ n: '2', v: 2 },{ n: '3', v: 3 }, { n: '4', v: 4 }, { n: '5', v: 5 }, { n: '6', v: 6 }, { n: '7', v: 7 }, { n: '8', v: 8 }, { n: '9', v: 9 }, { n: '10', v: 10 }, { n: '11', v: 11 }, { n: '12', v: 12 }]"> |
||
432 | |||
433 | |||
434 | </select> |
||
1690 | jmachado | 435 | |
436 | <button ng-click="removeColumn(parent,$index)" class="btn btn-danger btn-xs pull-right"><span class="glyphicon glyphicon-remove"></span></button> |
||
437 | |||
1683 | jmachado | 438 | </div> |
439 | <div class="panel-body"> |
||
440 | |||
441 | <div class="form-group"> |
||
442 | <label class="col-md-3 control-label">Título</label> |
||
443 | <div class="col-md-7"> |
||
444 | <input type="text" class="form-control" ng-model="column.title"/> |
||
445 | </div> |
||
446 | <div class="col-md-2"> |
||
447 | <select ng-class="{'bg-red': column.showTitle == false, 'bg-green': column.showTitle == true}" class="form-control chosenOff" ng-model="column.showTitle" ng-options="o.v as o.n for o in [{ n: 'Mostrar', v: true }, { n: 'Não Mostrar', v: false }]"> |
||
448 | |||
449 | </select> |
||
450 | </div> |
||
451 | </div> |
||
452 | <div class="form-group"> |
||
453 | <label class="col-md-3 control-label">Descrição</label> |
||
454 | <div class="col-md-7"> |
||
455 | <textarea rows="3" class="form-control" ng-model="column.description"> |
||
456 | |||
457 | </textarea> |
||
458 | </div> |
||
459 | <div class="col-md-2"> |
||
460 | <select ng-class="{'bg-red': column.showDescription == false, 'bg-green': column.showDescription == true}" class="form-control chosenOff" ng-model="column.showDescription" ng-options="o.v as o.n for o in [{ n: 'Mostrar', v: true }, { n: 'Não Mostrar', v: false }]"> |
||
461 | |||
462 | </select> |
||
463 | </div> |
||
464 | </div> |
||
465 | |||
466 | |||
467 | <div class="col-md-12" style="padding: 10px"> |
||
468 | <div class="panel panel-info"> |
||
1690 | jmachado | 469 | <div class="panel-heading clearfix"> |
470 | Blocos |
||
471 | <button ng-click="addBlock(column)" class="btn btn-default pull-right"><span class="glyphicon glyphicon-plus"></span> Bloco</button> |
||
472 | </div> |
||
1683 | jmachado | 473 | <div class="panel-body"> |
474 | |||
475 | |||
1692 | jmachado | 476 | <div style="padding-left: 0" ui-tree-nodes="" ng-model="column.blocks"> |
1690 | jmachado | 477 | <div ng-repeat="block in column.blocks" ui-tree-node ng-include="'blocks_renderer.html'" ng-init="parent=column"> |
1683 | jmachado | 478 | </div> |
479 | </div> |
||
480 | |||
481 | </div> |
||
482 | </div> |
||
483 | </div> |
||
484 | |||
485 | </div> |
||
486 | </div> |
||
487 | </div> |
||
1690 | jmachado | 488 | </script> |
1683 | jmachado | 489 | |
490 | |||
1690 | jmachado | 491 | <!--TEMPLATE RECURSIVO--> |
492 | <script type="text/ng-template" id="blocks_renderer.html"> |
||
493 | <!--Para nao deixar fazer drag--> |
||
494 | <div class="clearfix" ng-class="{modified: node.modified, nodrop: node.nodrop, nodrag: node.nodrag, moved: node.moved}"> |
||
495 | <div class="panel panel-success"> |
||
496 | <div class="panel-heading clearfix"> |
||
497 | <i class="glyphicon glyphicon-resize-vertical" ui-tree-handle></i> |
||
498 | Bloco {{$index + 1}} |
||
1683 | jmachado | 499 | |
1690 | jmachado | 500 | <button ng-click="removeBlock(parent,$index)" class="btn btn-danger btn-xs pull-right"><span class="glyphicon glyphicon-remove"></span></button> |
1683 | jmachado | 501 | |
1690 | jmachado | 502 | </div> |
503 | <div class="panel-body"> |
||
504 | |||
505 | <div class="form-group"> |
||
506 | <label class="col-md-3 control-label">Título</label> |
||
507 | <div class="col-md-7"> |
||
508 | <input type="text" class="form-control" ng-model="block.title"/> |
||
509 | </div> |
||
510 | <div class="col-md-2"> |
||
511 | <select ng-class="{'bg-red': block.showTitle == false, 'bg-green': block.showTitle == true}" class="form-control chosenOff" ng-model="block.showTitle" ng-options="o.v as o.n for o in [{ n: 'Mostrar', v: true }, { n: 'Não Mostrar', v: false }]"> |
||
512 | |||
513 | </select> |
||
514 | </div> |
||
515 | </div> |
||
1692 | jmachado | 516 | |
1690 | jmachado | 517 | <div class="form-group"> |
518 | <label class="col-md-3 control-label">Descrição</label> |
||
519 | <div class="col-md-7"> |
||
520 | <textarea rows="3" class="form-control" ng-model="block.description"> |
||
521 | |||
522 | </textarea> |
||
523 | </div> |
||
524 | <div class="col-md-2"> |
||
525 | <select ng-class="{'bg-red': block.showDescription == false, 'bg-green': block.showDescription == true}" class="form-control chosenOff" ng-model="block.showDescription" ng-options="o.v as o.n for o in [{ n: 'Mostrar', v: true }, { n: 'Não Mostrar', v: false }]"> |
||
526 | |||
527 | </select> |
||
528 | </div> |
||
529 | </div> |
||
530 | |||
1692 | jmachado | 531 | <div class="well well-sm">Colecções</div> |
532 | |||
533 | <div class="form-group"> |
||
1755 | jmachado | 534 | <label class="col-md-3 control-label">Min/Max</label> |
535 | <div class="col-md-9"> |
||
536 | <select class="form-control chosenOff" ng-model="block.browseMinimizeMaximize" ng-options="o.v as o.n for o in [{ n: 'Iniciar Minimizado', v: true }, { n: 'Iniciar Maximizado', v: false }]"> |
||
537 | |||
538 | </select> |
||
539 | </div> |
||
540 | </div> |
||
541 | <div class="form-group"> |
||
1692 | jmachado | 542 | <label class="col-md-3 control-label">Estrutura</label> |
543 | <div class="col-md-9"> |
||
544 | <select class="form-control chosenOff" ng-model="block.tree" ng-options="o.v as o.n for o in [{ n: 'Ramificar em Árvore', v: true }, { n: 'Lista Flat', v: false }]"> |
||
545 | |||
546 | </select> |
||
547 | </div> |
||
548 | </div> |
||
549 | |||
550 | <div class="form-group"> |
||
551 | <label class="col-md-3 control-label">Colecção</label> |
||
552 | <div class="col-md-7"> |
||
1710 | jmachado | 553 | <select place-holder="Escolha Colecção" ng-model="block.choosedCol" class="form-control chosenOff" ng-options="collection as collection.pathName for collection in collections track by collection.id" ng-model="selected"> |
1692 | jmachado | 554 | |
555 | </select> |
||
556 | </div> |
||
557 | <div class="col-md-2"> |
||
558 | <button ng-click="addCollectionId(block)" class="btn btn-success btn-xs"><span class="glyphicon glyphicon-plus"></span></button> |
||
559 | </div> |
||
560 | </div> |
||
561 | <div class="form-group"> |
||
562 | <label class="col-md-3 control-label">Escolhidas</label> |
||
563 | <div class="col-md-9"> |
||
564 | <div class="list-group"> |
||
565 | <div class="list-group-item" ng-repeat="cid in block.collectionIds"> |
||
566 | {{getCollectionTreeName(cid)}} |
||
567 | <button ng-click="removeCollectionId(block,$index)" class="btn btn-danger btn-xs pull-right"><span class="glyphicon glyphicon-remove"/></button> |
||
568 | </div> |
||
569 | </div> |
||
570 | </div> |
||
571 | </div> |
||
572 | |||
573 | |||
574 | |||
575 | |||
576 | |||
577 | <div class="well well-sm">Documentos</div> |
||
578 | |||
579 | <div class="form-group"> |
||
580 | <label class="col-md-3 control-label">Ordenar</label> |
||
581 | <div class="col-md-9"> |
||
582 | <select class="form-control chosenOff" ng-model="block.orderBy" ng-options="o.v as o.n for o in [{ n: 'Titulo', v: 'title' }, { n: 'Data Publicação Asc', v: 'publishDateAsc' } , { n: 'Data Publicação Desc', v: 'publishDateDesc' }, { n: 'Data Criação Asc', v: 'saveDateAsc' }, { n: 'Data Criação Desc', v: 'saveDateDesc' }, { n: 'Data Atualização Asc', v: 'updateDateAsc' }, { n: 'Data Atualização Desc', v: 'updateDateDesc' }]"> |
||
583 | |||
584 | </select> |
||
585 | </div> |
||
586 | </div> |
||
587 | |||
588 | <div class="form-group"> |
||
1717 | jmachado | 589 | <label class="col-md-3 control-label">Formato Datas</label> |
590 | <div class="col-md-9"> |
||
591 | <select class="form-control chosenOff" ng-model="block.datesFormat" ng-options="o.v as o.n for o in [{ n: 'Ano/Mes/dia', v: 'YY_MM_DD' }, { n: 'Ano/Mes', v: 'YY_MM' }, { n: 'Ano', v: 'YY' }]"> |
||
592 | |||
593 | </select> |
||
594 | </div> |
||
595 | </div> |
||
596 | <div class="form-group"> |
||
1692 | jmachado | 597 | <label class="col-md-3 control-label">Metadados</label> |
598 | <div class="col-md-9"> |
||
599 | <select ng-class="{'bg-red': block.showDocumentMetaData == false, 'bg-green': block.showDocumentMetaData == true}" class="form-control chosenOff" ng-model="block.showDocumentMetaData" ng-options="o.v as o.n for o in [{ n: 'Mostrar', v: true }, { n: 'Não Mostrar', v: false }]"> |
||
600 | |||
601 | </select> |
||
602 | </div> |
||
603 | </div> |
||
604 | |||
605 | <%-- <div class="form-group"> |
||
606 | <label class="control-label col-md-3">Data Publi. Máxima</label> |
||
607 | <div class="col-sm-7"> |
||
608 | <md-datepicker |
||
609 | ng-init="date = (block.maxPublishDate | toDate)" |
||
610 | ng-model="date" |
||
611 | ng-change="block.maxPublishDate = date.toISOString()" |
||
612 | ></md-datepicker> |
||
613 | </div> |
||
614 | </div>--%> |
||
615 | <div class="form-group"> |
||
616 | <label class="control-label col-md-3">Data Publi. Máxima</label> |
||
617 | <div class="col-sm-7"> |
||
618 | <div class='input-group date datetimepicker' ng-click="setMaxPublishDate($event,block)"> |
||
619 | <input ng-model="block.maxPublishDateStr" type="text" class="form-control" ng-init="updateDatetimePickers()"/> |
||
620 | <span class="input-group-addon"> |
||
621 | <span class="glyphicon glyphicon-calendar"></span> |
||
622 | </span> |
||
623 | </div> |
||
624 | </div> |
||
625 | <div class="col-sm-2"> |
||
626 | <button type="button" class="btn btn-danger" ng-click="clearDateMax(block)"><span class="glyphicon glyphicon-remove"></span></button> |
||
627 | </div> |
||
628 | </div> |
||
629 | <div class="form-group"> |
||
630 | <label class="control-label col-md-3">Data Publi. Mínima</label> |
||
631 | <div class="col-sm-7"> |
||
632 | <div class='input-group date datetimepicker' ng-click="setMinPublishDate($event,block)"> |
||
633 | <input ng-model="block.minPublishDateStr" type="text" class="form-control" ng-init="updateDatetimePickers()"/> |
||
634 | <span class="input-group-addon"> |
||
635 | <span class="glyphicon glyphicon-calendar"></span> |
||
636 | </span> |
||
637 | </div> |
||
638 | </div> |
||
639 | <div class="col-sm-2"> |
||
640 | <button type="button" class="btn btn-danger" ng-click="clearDateMin(block)"><span class="glyphicon glyphicon-remove"></span></button> |
||
641 | </div> |
||
642 | </div> |
||
643 | |||
644 | <div class="well well-sm">Ficheiros</div> |
||
645 | |||
646 | |||
647 | <div class="form-group"> |
||
648 | <label class="col-md-3 control-label">Titulos</label> |
||
649 | <div class="col-md-9"> |
||
650 | <select ng-class="{'bg-red': block.showFileTitle == false, 'bg-green': block.showFileTitle == true}" class="form-control chosenOff" ng-model="block.showFileTitle" ng-options="o.v as o.n for o in [{ n: 'Mostrar', v: true }, { n: 'Não Mostrar', v: false }]"> |
||
651 | |||
652 | </select> |
||
653 | </div> |
||
654 | </div> |
||
655 | <div class="form-group"> |
||
656 | <label class="col-md-3 control-label">Descrições</label> |
||
657 | <div class="col-md-9"> |
||
658 | <select ng-class="{'bg-red': block.showFileDescription == false, 'bg-green': block.showFileDescription == true}" class="form-control chosenOff" ng-model="block.showFileDescription" ng-options="o.v as o.n for o in [{ n: 'Mostrar', v: true }, { n: 'Não Mostrar', v: false }]"> |
||
659 | |||
660 | </select> |
||
661 | </div> |
||
662 | </div> |
||
663 | |||
664 | |||
1690 | jmachado | 665 | </div> |
666 | </div> |
||
667 | </div> |
||
1683 | jmachado | 668 | </script> |