summaryrefslogtreecommitdiffstats
path: root/sca-cpp/trunk/modules/edit/htdocs/dash
diff options
context:
space:
mode:
authorjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2011-01-07 04:32:50 +0000
committerjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2011-01-07 04:32:50 +0000
commitf80818d3383d9ff4aaa2b1a050a03cc1d7e64100 (patch)
treea6857c25e710a5361c05151f4dc0d491a9a3e104 /sca-cpp/trunk/modules/edit/htdocs/dash
parentbd31568ed93b27e9e3dcc6a484b33808a21f7ad9 (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.html148
-rw-r--r--sca-cpp/trunk/modules/edit/htdocs/dash/index.html44
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/>
+&gt;<a href="" id="addAppLink">Add</a>&nbsp;<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>
+