summaryrefslogtreecommitdiffstats
path: root/sca-java-1.x/trunk/modules/domain-manager/src/main/resources/files-gadget.html
blob: 7ddc9232233a34bed4da1d3acd02b156f003af4d (plain)
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>
     &gt;<a href="" id="uploadFileLink">Upload</a>
     &nbsp;<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>