diff options
author | jsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68> | 2011-01-07 04:32:50 +0000 |
---|---|---|
committer | jsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68> | 2011-01-07 04:32:50 +0000 |
commit | f80818d3383d9ff4aaa2b1a050a03cc1d7e64100 (patch) | |
tree | a6857c25e710a5361c05151f4dc0d491a9a3e104 /sca-cpp/trunk/modules/edit/htdocs/dash | |
parent | bd31568ed93b27e9e3dcc6a484b33808a21f7ad9 (diff) |
Minor improvements of the edit module. Refactored HTML pages, added a menu, and login over HTTPS. Improved vertical layout of components a bit and added two sample composites.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1056190 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-cpp/trunk/modules/edit/htdocs/dash')
-rw-r--r-- | sca-cpp/trunk/modules/edit/htdocs/dash/dashboard.html | 148 | ||||
-rw-r--r-- | sca-cpp/trunk/modules/edit/htdocs/dash/index.html | 44 |
2 files changed, 192 insertions, 0 deletions
diff --git a/sca-cpp/trunk/modules/edit/htdocs/dash/dashboard.html b/sca-cpp/trunk/modules/edit/htdocs/dash/dashboard.html new file mode 100644 index 0000000000..b69c760c99 --- /dev/null +++ b/sca-cpp/trunk/modules/edit/htdocs/dash/dashboard.html @@ -0,0 +1,148 @@ +<!-- + * 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> +<link rel="stylesheet" type="text/css" href="/ui.css"> +<script type="text/javascript" src="/util.js"></script> +<script type="text/javascript" src="/elemutil.js"></script> +<script type="text/javascript" src="/xmlutil.js"></script> +<script type="text/javascript" src="/atomutil.js"></script> +<script type="text/javascript" src="/scdl.js"></script> +<script type="text/javascript" src="/ui.js"></script> +<script type="text/javascript" src="/component.js"></script> +</head> +<body> +<div id="dashboard"> + +<form id="appsForm"> +<div id="apps"></div> +<br/> +><a href="" id="addAppLink">Add</a> <a href="" id="deleteAppLink">Delete</a> +</form> + +<div id="newApp" style="visibility: hidden;"> +<form id="newAppForm"> +<table width="100%"> +<tr><th>Add a New App</th></tr> +<tr><td>Add a new App to your dashboard.</td></tr> +</table> +<br> + +<table> +<tr><td>App name:</td><td><input type="text" id="appName" size="50"/></td></td><td>e.g. mycoolapp</td></tr> +<tr><td>Title:</td><td><input type="text" id="appTitle" size="50"/></td></td><td>e.g. My really cool app</td></tr> +</table> +<input id="addAppButton" type="button" value="Add"/> +</form> +</div> + +</div> + +<script type="text/javascript"> +// Install the widget +ui.installwidget(); + +// Init service references +var editWidget = sca.component("EditWidget"); +var dashboard = sca.reference(editWidget, "dashboard"); + +/** + * Get and display list of apps. + */ +function getapps(sync) { + function display(doc) { + var apps = ''; + apps += '<table width="100%">'; + apps += '<tr><th>App</th><th>Title</th></tr>'; + + var entries = cddr(atom.readATOMFeedDocument(doc)); + for (var i = 0; i < length(entries); i++) { + var entry = entries[i]; + var item = caddr(entry); + var composite = cddr(item); + var comps = scdl.components(composite); + + name = cadr(entry); + title = car(entry); + + apps += '<tr>'; + apps += '<td><input name="apps" type="checkbox" value="' + name + '">' + '<a href=\"' + '/edit/?app=' + name + '\">' + name + '</a></td>'; + apps += '<td class="tdw">' + title + '</td>'; + apps += '</tr>'; + } + apps += '</table>'; + $('apps').innerHTML = apps; + } + + if (sync) { + display(dashboard.get('')); + } else { + dashboard.get('', function(doc) { + display(doc); + }); + } +} + +/** + * Toggle new app form link event. + */ +$('addAppLink').onclick = function() { + var div = $('newApp'); + div.style.visibility = div.style.visibility == 'hidden'? 'visible' : 'hidden'; + return false; +}; + +/** + * Add a new app button event. + */ +$('addAppButton').onclick = function() { + var name = $('appName').value; + var title = $('appTitle').value; + var app = mklist(title, name, mklist()); + var entry = atom.writeATOMEntry(app); + dashboard.put(name, car(entry)); + getapps(); + return false; +}; + +/** + * Delete apps event. + */ +$('deleteAppLink').onclick = function() { + var apps = $('appsForm').apps; + if (isNil(apps)) + return false; + if (isNil(apps.length)) + apps = mklist(apps); + for (var i = 0; i < length(apps); i++) { + if (apps[i].checked) { + var name = apps[i].value; + dashboard.del(name); + } + } + getapps(); + return false; +}; + +// Get and display the list of apps +getapps(true); + +</script> +</body> +</html> diff --git a/sca-cpp/trunk/modules/edit/htdocs/dash/index.html b/sca-cpp/trunk/modules/edit/htdocs/dash/index.html new file mode 100644 index 0000000000..0abb384d75 --- /dev/null +++ b/sca-cpp/trunk/modules/edit/htdocs/dash/index.html @@ -0,0 +1,44 @@ +<!-- + * 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>App Dashboard</title> +<meta name="viewport" content="width=device-width user-scalable=no initial-scale=1.0"/> +<link rel="stylesheet" type="text/css" href="/ui.css"> +<script type="text/javascript" src="/util.js"></script> +<script type="text/javascript" src="/ui.js"></script> +</head> +<body> +<div id="menu"></div> + +<h1>Welcome to your App Dashboard!</h1> +<div id="dashboard"></div> + +<iframe id="menuFrame" src="/menu.html"></iframe> +<iframe id="dashboardFrame" src="dashboard.html"></iframe> + +<script type="text/javascript"> +ui.bindwidget('menuFrame', 'menu'); + +// Display the dashboard widget +ui.bindwidget('dashboardFrame', 'dashboard'); +</script> +</body> +</html> + |