Rev 1577 | Rev 1675 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1577 | Rev 1578 | ||
---|---|---|---|
Line 8... | Line 8... | ||
8 | { |
8 | { |
9 | height: inherit; |
9 | height: inherit; |
10 | } |
10 | } |
11 | </style> |
11 | </style> |
12 | 12 | ||
- | 13 | <script> |
|
- | 14 | var uploadMultipleFiles = false; |
|
- | 15 | </script> |
|
- | 16 | ||
13 | 17 | ||
14 | 18 | ||
15 | 19 | ||
16 | 20 | ||
17 | <div class="modal fade filesUploadModal" id="filesUploadModal" tabindex="-1" role="dialog" |
21 | <div class="modal fade filesUploadModal" id="filesUploadModal" tabindex="-1" role="dialog" |
Line 30... | Line 34... | ||
30 | <p>TODO - Colocar isto a hidden depois dos testes</p> |
34 | <p>TODO - Colocar isto a hidden depois dos testes</p> |
31 | <input type="text" name="jsonFiles" id="jsonFiles" value="{{jsonFiles()}}" class="form-control"> |
35 | <input type="text" name="jsonFiles" id="jsonFiles" value="{{jsonFiles()}}" class="form-control"> |
32 | <div class="web-messages"> |
36 | <div class="web-messages"> |
33 | 37 | ||
34 | </div> |
38 | </div> |
35 | <label class="control-label">Selecione os ficheiros a importar</label> |
- | |
36 | <input id="${FILE_INPUT_ID}" name="${FILE_INPUT_ID}[]" type="file" data-preview-file-type="text" multiple class="file-loading"> |
- | |
- | 39 | ||
37 | <div id="errorBlock" class="help-block"></div> |
40 | <div id="errorBlock" class="help-block"></div> |
38 | <br/> |
41 | <br/> |
- | 42 | <div ng-if="uploadedFiles.length > 0"> |
|
39 | <label class="control-label">Ficheiros Importados:</label> |
43 | <label class="control-label">Ficheiros Importados:</label> |
40 | 44 | ||
41 | <div class="list-group"> |
45 | <div class="list-group"> |
42 | <div class="list-group-item clearfix" ng-repeat="f in uploadedFiles"> |
46 | <div class="list-group-item clearfix" ng-repeat="f in uploadedFiles"> |
43 | <div class="list-group-item clearfix"> |
47 | <div class="list-group-item clearfix"> |
44 | <div class="col-md-10"> |
48 | <div class="col-md-10"> |
45 | <img src="<%=request.getContextPath()%>/imgs/mime/{{ f.extension }}.gif"/> - {{ f.fileName }} {{ (f.fileSize / 1024)| number:0 }}KB |
49 | <img src="<%=request.getContextPath()%>/imgs/mime/{{ f.extension }}.gif"/> - {{ f.fileName }} {{ (f.fileSize / 1024)| number:0 }}KB |
- | 50 | </div> |
|
- | 51 | <div class="col-md-2"> |
|
- | 52 | <button class="btn btn-danger" type="button" ng-click="removeFileFromModel(f.tmpName)"><span class="glyphicon glyphicon-remove"/></button> |
|
- | 53 | </div> |
|
46 | </div> |
54 | </div> |
- | 55 | <div class="list-group-item clearfix"> |
|
- | 56 | <div class=" col-md-2 control-label">Titulo:</div> |
|
47 | <div class="col-md-2"> |
57 | <div class="col-md-10 control-label"> |
48 | <button class="btn btn-danger" type="button" ng-click="removeFileFromModel(f.tmpName)"><span class="glyphicon glyphicon-remove"/></button> |
58 | <input type="text" class="form-control" ng-model="f.title"/> |
- | 59 | </div> |
|
49 | </div> |
60 | </div> |
50 | </div> |
- | |
51 | <div class="list-group-item clearfix"> |
61 | <div class="list-group-item clearfix"> |
52 | <div class=" col-md-2 control-label">Titulo:</div> |
62 | <div class="col-md-2 control-label">Descrição:</div> |
53 | <div class="col-md-10 control-label"> |
63 | <div class="col-md-10 control-label"> |
54 | <input type="text" class="form-control" ng-model="f.title"/> |
64 | <textarea rows="3" class="form-control" ng-model="f.description"></textarea> |
55 | </div> |
65 | </div> |
56 | </div> |
- | |
57 | <div class="list-group-item clearfix"> |
- | |
58 | <div class="col-md-2 control-label">Descrição:</div> |
- | |
59 | <div class="col-md-10 control-label"> |
- | |
60 | <textarea rows="3" class="form-control" ng-model="f.description"></textarea> |
- | |
61 | </div> |
66 | </div> |
62 | </div> |
67 | </div> |
63 | </div> |
68 | </div> |
64 | </div> |
69 | </div> |
65 | 70 | ||
- | 71 | <label class="control-label">Selecione os ficheiros a importar</label> |
|
- | 72 | <input id="${FILE_INPUT_ID}" name="${FILE_INPUT_ID}[]" multiple type="file" data-preview-file-type="text" class="file-loading"> |
|
- | 73 | ||
66 | </form> |
74 | </form> |
67 | </div> |
75 | </div> |
68 | <div class="modal-footer"> |
76 | <div class="modal-footer"> |
69 | <button type="button" class="btn btn-danger pull-left" data-dismiss="modal">Cancelar</button> |
77 | <button type="button" class="btn btn-danger pull-left" data-dismiss="modal">Cancelar</button> |
70 | <button class="btn btn-success btn-ok" >Confirmar</button> |
78 | <button class="btn btn-success btn-ok" >Confirmar</button> |
Line 76... | Line 84... | ||
76 | 84 | ||
77 | <script> |
85 | <script> |
78 | 86 | ||
79 | 87 | ||
80 | 88 | ||
- | 89 | ||
81 | $('.filesUploadModal').on('show.bs.modal', function(e) |
90 | $('.filesUploadModal').on('show.bs.modal', function(e) |
82 | { |
91 | { |
83 | $("#filesUploadModal .modal-title .title-wrap").html($(e.relatedTarget).data('title')); |
92 | $("#filesUploadModal .modal-title .title-wrap").html($(e.relatedTarget).data('title')); |
- | 93 | if($(e.relatedTarget).data('multiple') && $(e.relatedTarget).data('multiple') == true) |
|
- | 94 | { |
|
- | 95 | uploadMultipleFiles = true; |
|
- | 96 | $("#${FILE_INPUT_ID}").attr( "multiple" ); |
|
- | 97 | } |
|
- | 98 | else |
|
- | 99 | { |
|
- | 100 | uploadMultipleFiles = false; |
|
- | 101 | $("#${FILE_INPUT_ID}").removeAttr( "multiple" ); |
|
- | 102 | } |
|
- | 103 | ||
84 | jsonTargetId = $(e.relatedTarget).data('jsontargetid'); |
104 | jsonTargetId = $(e.relatedTarget).data('jsontargetid'); |
85 | $(this).find('.btn-ok').unbind('click').click( |
105 | $(this).find('.btn-ok').unbind('click').click( |
86 | function() |
106 | function() |
87 | { |
107 | { |
88 | var filesCount = $('#${FILE_INPUT_ID}').fileinput('getFilesCount'); |
108 | var filesCount = $('#${FILE_INPUT_ID}').fileinput('getFilesCount'); |
89 | if(filesCount > 0) |
109 | if(filesCount > 0) |
90 | { |
110 | { |
91 | var msg = "Existem ficheiros pendentes de UPLOAD!! Por favor clique em UPLOAD para enviar os ficheiros selecionados para o Servidor."; |
111 | var msg = "Existem ficheiros pendentes de CARREGAR!! Por favor clique em CARREGAR para enviar os ficheiros selecionados para o Servidor."; |
92 | if(angular.element($("#filesUploadModal")).scope().uploadedFiles.length > 0) |
112 | if(angular.element($("#filesUploadModal")).scope().uploadedFiles.length > 0) |
93 | msg += " Caso não pretenda importar os ficheiros pendentes poderá removê-los ('REMOVE') e confirmar os ficheiros já importados."; |
113 | msg += " Caso não pretenda importar os ficheiros pendentes poderá removê-los ('REMOVER') e confirmar os ficheiros já importados."; |
94 | alert(msg); |
114 | alert(msg); |
95 | } |
115 | } |
96 | else if(angular.element($("#filesUploadModal")).scope().uploadedFiles.length == 0) |
116 | else if(angular.element($("#filesUploadModal")).scope().uploadedFiles.length == 0) |
97 | { |
117 | { |
98 | alert("Não existem ficheiros para confirmar. Importe os ficheiros que desejar ou cancele este formulário.") |
118 | alert("Não existem ficheiros para confirmar. Importe os ficheiros que desejar ou cancele este formulário.") |
Line 146... | Line 166... | ||
146 | $(document).ready( function() { |
166 | $(document).ready( function() { |
147 | $("#${FILE_INPUT_ID}").fileinput({ |
167 | $("#${FILE_INPUT_ID}").fileinput({ |
148 | uploadUrl: '<%=request.getContextPath()%>/filesUpload', |
168 | uploadUrl: '<%=request.getContextPath()%>/filesUpload', |
149 | maxFilePreviewSize: 4096, |
169 | maxFilePreviewSize: 4096, |
150 | uploadAsync: false, |
170 | uploadAsync: false, |
151 | theme: "gly" |
171 | language: "pt" |
- | 172 | ||
152 | }); |
173 | }); |
153 | }); |
174 | }); |
154 | 175 | ||
155 | $("#${FILE_INPUT_ID}").on('filebatchuploadsuccess', function(event, data, previewId, index) |
176 | $("#${FILE_INPUT_ID}").on('filebatchuploadsuccess', function(event, data, previewId, index) |
156 | { |
177 | { |