silverstripe-framework/javascript/UpdateURL.js
Ingo Schommer 4ce7cf9403 elofgren: Fix Trac Ticket: 'Page name and Navigation label improvements' http://support.silverstripe.com/gsoc/ticket/35 by making it so that 'If you type in Page name, the Navigation Label and Meta Title
should automatically update the first time' 
(merged from branches/gsoc)


git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@42035 467b73ca-7a2a-4603-9d3b-597d59a354a9
2007-09-16 02:01:34 +00:00

30 lines
1.2 KiB
JavaScript
Executable File

Behaviour.register({
'input#Form_EditForm_Title': {
/**
* Get the URL segment to suggest a new field
*/
onchange: function() {
if( this.value.length == 0 )
return;
var urlSegmentField = $('Form_EditForm_URLSegment');
var newSuggestion = urlSegmentField.suggestNewValue( this.value.toLowerCase() );
var isNew = $('Form_EditForm_ID').value.indexOf("new") == 0;
if( newSuggestion == urlSegmentField.value || isNew || confirm( 'Would you like me to change the URL to:\n\n' + newSuggestion + '/\n\nClick Ok to change the URL, click Cancel to leave it as:\n\n' + urlSegmentField.value ) )
urlSegmentField.value = newSuggestion;
// If you type in Page name, the Navigation Label and Meta Title should automatically update the first time
// @todo: Change file name from UpdateURL to something more geneneric since we now do more than update the URL.
if( $('Form_EditForm_MenuTitle').value.indexOf("New") == 0 ) {
$('Form_EditForm_MenuTitle').value = this.value;
}
// @todo see if updating this is confusing (Q: why isn't my page title changing? A: Check the Meta-Data tab)
if( $('Form_EditForm_MetaTitle').value.length == 0 ) {
$('Form_EditForm_MetaTitle').value = this.value;
}
}
}
});