mirror of
https://github.com/silverstripe/silverstripe-cms
synced 2024-10-22 08:05:56 +02:00
abb9a61d0d
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/cms/trunk@39000 467b73ca-7a2a-4603-9d3b-597d59a354a9
116 lines
2.9 KiB
JavaScript
Executable File
116 lines
2.9 KiB
JavaScript
Executable File
/**
|
|
* Loads, views and removes records in the main view.
|
|
*/
|
|
RightContent = Class.create();
|
|
RightContent.applyTo('#Form_EditForm');
|
|
RightContent.prototype = {
|
|
|
|
welcomeMessage: "<h1>SilverStripe CMS</h1><p>Welcome to SilverStripe CMS! Please choose click on one of the items on the left pane.</p>",
|
|
|
|
initialize : function() {
|
|
Behaviour.register({
|
|
'#Form_EditForm_action_delete' : {
|
|
onclick: this.remove.bind(this)
|
|
}
|
|
});
|
|
},
|
|
|
|
updateCMSContent: function(el, currentTab, link, customCallBack) {
|
|
if(!customCallBack) customCallBack = function(){};
|
|
|
|
if(el || link){
|
|
var reqLink = (el.href) ? el.href : link;
|
|
|
|
if(typeof(currentTab) != 'undefined')
|
|
$('Form_EditForm').openTab = currentTab;
|
|
|
|
statusMessage("loading...", null, true);
|
|
|
|
new Ajax.Request(reqLink, {
|
|
asynchronous : true,
|
|
postBody : 'ajax=1',
|
|
onSuccess: customCallBack.bind(this),
|
|
onComplete : this.successfullyReceivedPage.bind(this),
|
|
onFailure : function(response) {
|
|
errorMessage('Error loading page',response);
|
|
}
|
|
});
|
|
}else{
|
|
$('Form_EditForm').innerHTML = this.welcomeMessage;
|
|
}
|
|
},
|
|
|
|
successfullyReceivedPage : function(response) {
|
|
$('Form_EditForm').loadNewPage(response.responseText);
|
|
$('Form_EditForm').initialize();
|
|
onload_init_tabstrip();
|
|
// TODO
|
|
// try to reopen saved tab (before ajax request)
|
|
if($('Form_EditForm').openTab) {
|
|
openTab($('Form_EditForm').openTab);
|
|
} else {
|
|
$('Form_EditForm').openTab = this.getCurrentTab();
|
|
openTab($('Form_EditForm').openTab);
|
|
}
|
|
|
|
clearStatusMessage();
|
|
},
|
|
|
|
remove: function(e) {
|
|
if(window.confirm('Are you sure you want to delete?')){
|
|
var el = Event.element(e);
|
|
Ajax.SubmitForm(el.ownerForm, el.name, {
|
|
postBody : 'ajax=1',
|
|
onSuccess: Ajax.Evaluator,
|
|
onFailure: ajaxErrorHandler
|
|
});
|
|
}
|
|
Event.stop(e);
|
|
return false;
|
|
},
|
|
|
|
deleteEffect: function() {
|
|
new Effect.Fade(this, {duration:2});
|
|
window.setTimeout(function() {
|
|
$('Form_EditForm').updateCMSContent();
|
|
new Effect.Appear($('Form_EditForm'), {duration:3});
|
|
}, 3000);
|
|
},
|
|
|
|
tabExists: function(tabName) {
|
|
if($('Root')){
|
|
var tags = $('Root').getElementsByTagName('li');
|
|
for(var i=0; i<tags.length; i++){
|
|
var current = tags[i].getElementsByTagName('a')[0];
|
|
var match = current.id.match(/tab-(.+)$/);
|
|
if(match[0] == tabName) {
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
return false;
|
|
},
|
|
|
|
getCurrentTab: function() {
|
|
var current;
|
|
if($('Root')){
|
|
var tags = $('Root').getElementsByTagName('li');
|
|
for(var i=0; i<tags.length; i++){
|
|
if(Element.hasClassName(tags[0], 'current')){
|
|
current = tags[i].getElementsByTagName('a')[0];
|
|
}else{
|
|
current = tags[0].getElementsByTagName('a')[0]
|
|
}
|
|
current.id.match(/tab-(.+)$/);
|
|
return RegExp.$1;
|
|
}
|
|
}
|
|
},
|
|
|
|
setTitle: function(title) {
|
|
var titleHolder = $$('div#right .title div');
|
|
if(titleHolder[0]) {
|
|
titleHolder[0].innerHTML = title;
|
|
}
|
|
}
|
|
} |