blob: d578842e7bda4195929f08f8f47e18a9550485b0 [file] [log] [blame]
<!DOCTYPE html>
<!--
* 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.
-->
<div id="bodydiv" class="body">
<div id="viewform" class="viewform">
<form id="deleteAppForm">
<table style="width: 100%;">
<tr><tr><td class="label">URL:</td></tr>
<tr><td><input type="text" id="appURL" class="readentry" size="30" readonly="readonly" placeholder="App URL" style="width: 300px;"/></td></tr>
<tr><tr><td class="label">Icon:</td></tr>
<tr><td><img id="appIcon" style="width: 50px; height: 50px; vertical-align: top;"></td></tr>
<tr><tr><td class="label">Author:</td></tr>
<tr><td><img id="authorPhoto" style="width: 50px; height: 50px; vertical-align: middle;"><input type="text" id="appAuthor" class="readentry" size="30" readonly="readonly" placeholder="Author of the app" style="width: 248px;"/></td></tr>
<tr><tr><td class="label">Updated:</td></tr>
<tr><td><input type="text" id="appUpdated" class="readentry" size="30" readonly="readonly" placeholder="App update date" style="width: 300px;"/></td></tr>
<tr><tr><td class="label">Description:</td></tr>
<tr><td><textarea id="appDescription" class="readentry" cols="40" rows="3" readonly="readonly" placeholder="No description for this app" style="width: 300px;"></textarea></td></tr>
<tr><td>
<input id="deleteAppOKButton" type="submit" class="bluebutton" style="font-weight: bold;" value="Delete" title="Delete the app"/>
<input id="deleteAppCancelButton" type="button" class="graybutton" value="Cancel"/>
</td></tr>
</table>
</form>
<br/>
</div>
<script type="text/javascript">
(function deletebody() {
/**
* Get the app name.
*/
var appname = ui.fragmentParams(location)['app'];
/**
* Setup page layout.
*/
(function layout() {
document.title = config.windowtitle() + ' - ' + 'Delete' + ' - ' + appname;
$('viewhead').innerHTML = '<span class="smenu">Delete ' + appname + '</span>';
if (!ui.isMobile())
$('viewform').className = 'viewform flatscrollbars';
$('appURL').value = window.location.hostname + '/' + appname + '/';
})();
/**
* Set images.
*/
$('appIcon').src = ui.b64png(appcache.get('/public/app.b64'));
$('authorPhoto').src = ui.b64png(appcache.get('/public/user.b64'));
/**
* Initialize service references.
*/
var editorComp = sca.component("Editor");
var apps = sca.reference(editorComp, "apps");
/**
* The current app entry and corresponding saved XML content.
*/
var appentry;
/**
* Get and display the requested app.
*/
(function getapp() {
if (isNull(appname))
return false;
workingstatus(true);
showstatus('Loading');
return apps.get(appname, function(doc) {
// Stop now if we didn't get the app
if (doc == null) {
errorstatus('Couldn\'t get the app info');
workingstatus(false);
return false;
}
appentry = doc != null? car(elementsToValues(atom.readATOMEntry(mklist(doc)))) : mklist("'entry", mklist("'title", ''), mklist("'id", appname));
var author = cadr(assoc("'author", appentry));
$('appAuthor').value = author.split('@')[0];
$('appUpdated').value = xmldatetime(cadr(assoc("'updated", appentry))).toLocaleDateString();
var content = cadr(assoc("'content", appentry));
var description = assoc("'description", content);
$('appDescription').value = isNull(description) || isNull(cadr(description))? '' : cadr(description);
onlinestatus();
workingstatus(false);
return true;
});
})();
/**
* Delete the app.
*/
$('deleteAppForm').onsubmit = function() {
workingstatus(true);
showstatus('Deleting');
// Delete the app
apps.del(appname, function(e) {
if (e) {
showstatus('Local copy');
workingstatus(false);
return false;
}
onlinestatus();
workingstatus(false);
// Return to the app store
ui.navigate('/#view=store&category=myapps&idx=5', '_view');
return false;
});
return false;
};
/**
* Cancel cloning an app.
*/
ui.onclick($('deleteAppCancelButton'), function(e) {
history.back();
});
})();
</script>
</div>