1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
<!--
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
-->
<html>
<head>
<title>SCA Domain - Contribution File Server</title>
<script type="text/javascript" src="../files-gadget/files-gadget.js"></script>
<script type="text/javascript" src="utils.js"></script>
<link rel="stylesheet" type="text/css" href="manager.css">
</head>
<body>
<div id="fileServer">
<form id="filesForm">
<div id="files" ></div>
<br>
><a href="" id="uploadFileLink">Upload</a>
<a href="" id="deleteFileLink">Delete</a>
</form>
<div id="uploadFile" style="visibility: hidden;">
<form method="post" id="uploadFileForm" enctype='multipart/form-data' action='/files'>
<table width="100%">
<tr><th>Upload File</th></tr>
<tr><td>Upload a file to the server.</td></tr>
</table>
<br>
<table border="0">
<tr><td>File:</td><td><input type="file" name="file" size="50"/></td></tr>
</table>
<br/>
<input id="uploadFileButton" type="button" value="Upload" />
</form>
</div>
</div>
</body>
<script type="text/javascript">
//@Reference
var files = new tuscany.sca.Reference("files");
var gadget = gadget(window, document);
var filesForm = elementByID(gadget, "filesForm");
var filesElement = elementByID(gadget, 'files');
var uploadFileElement = elementByID(gadget, 'uploadFile');
var uploadFileForm = elementByID(gadget, 'uploadFileForm');
function getFiles() {
files.get("", getFilesResponse);
}
function getFilesResponse(feed) {
if (feed != null) {
var entries = feed.getElementsByTagName("entry");
var list = '<table width="100%"><tr><th>Files</th></tr>';
for (var i=0; i<entries.length; i++) {
var id = entries[i].getElementsByTagName("id")[0].firstChild.nodeValue;
var location = entries[i].getElementsByTagName("link")[0].getAttribute("href");
list += '<tr><td><input name="files" type="checkbox" value="' + id + '">' +
'<a href=\"' + location + '\">' + id + '</a></td></tr>';
}
list += "</table>";
filesElement.innerHTML = list;
}
}
function deleteFile() {
var list = array(filesForm.files);
for (var i=0; i < list.length; i++) {
if (list[i].checked) {
var id = list[i].value;
files.del(id, deleteFileResponse);
}
}
return false;
}
function deleteFileResponse() {
getFiles();
}
function uploadFile() {
uploadFileForm.submit();
return false;
}
function toggleUploadFile() {
var visibility = uploadFileElement.style.visibility;
if (visibility == 'hidden') {
uploadFileElement.style.visibility = 'visible';
} else {
uploadFileElement.style.visibility = 'hidden';
}
return false;
}
elementByID(gadget, 'deleteFileLink').onclick = deleteFile;
elementByID(gadget, 'uploadFileLink').onclick = toggleUploadFile;
elementByID(gadget, 'uploadFileButton').onclick = uploadFile;
getFiles();
</script>
</html>
|