Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 1490701d

Von Moritz Bunkus vor etwa 12 Jahren hinzugefügt

  • ID 1490701d84fadf0349cef487ebb5e830fa7b4bcc
  • Vorgänger 81903154
  • Nachfolger b2a8017a

"None"-Layout: alle JavaScript-Setup-Funktionen in einer Funktion zusammengefasst

Unterschiede anzeigen:

SL/Layout/None.pm
use List::MoreUtils qw(apply);
sub javascripts_inline {
_setup_formats(),
_setup_focus(),
_setup_ajax_spinner(),
my ($self) = @_;
my $datefmt = apply {
s/d+/dd/gi;
s/m+/mm/gi;
s/y+/yy/gi;
} $::myconfig{dateformat};
return $self->render(
'layout/javascript_setup',
{ type => 'js', output => 0, },
datefmt => $datefmt,
focus => $::request->layout->focus,
ajax_spinner => 1,
);
}
sub use_javascript {
......
$self->SUPER::use_stylesheet(@_);
}
sub _setup_formats {
my $datefmt = apply {
s/d+/dd/gi;
s/m+/mm/gi;
s/y+/yy/gi;
} $::myconfig{dateformat};
$::form->parse_html_template('layout/javascript_setup', { datefmt => $datefmt });
}
sub _setup_focus {
if ($::request->{layout}->focus) {
return $::form->parse_html_template('layout/focus_setup', {
focus => $::request->{layout}->focus,
})
} else {
return ();
}
}
sub _setup_ajax_spinner {
return SL::Presenter->get->render('layout/ajax_spinner_setup', { type => 'js' });
}
1;
templates/webpages/layout/ajax_spinner_setup.js
$(function() {
$(document).ajaxSend(function() {
$('#ajax-spinner').show();
}).ajaxStop(function() {
$('#ajax-spinner').hide();
});
});
templates/webpages/layout/focus_setup.html
function fokus(){ [% IF focus %]$('[% focus %]').focus()[% END %] }
templates/webpages/layout/javascript_setup.html
[%- USE T8 %]
$(function() {
setupPoints('[% myconfig.numberformat %]', '[% 'wrongformat' | $T8 %]');
setupDateFormat('[% myconfig.dateformat %]', '[% 'Falsches Datumsformat!' | $T8 %]');
$.datepicker.setDefaults(
$.extend({}, $.datepicker.regional["[% myconfig.countrycode %]"], {
dateFormat: "[% datefmt %]",
showOn: "button",
showButtonPanel: true,
changeMonth: true,
changeYear: true,
buttonImage: "image/calendar.png",
buttonImageOnly: true
}));
$('.datepicker').each(function() {
$(this).datepicker();
});
})
templates/webpages/layout/javascript_setup.js
[%- USE T8 %]
$(function() {
[% IF datefmt %]
setupPoints('[% MYCONFIG.numberformat %]', '[% 'wrongformat' | $T8 %]');
setupDateFormat('[% MYCONFIG.dateformat %]', '[% 'Falsches Datumsformat!' | $T8 %]');
$.datepicker.setDefaults(
$.extend({}, $.datepicker.regional["[% MYCONFIG.countrycode %]"], {
dateFormat: "[% datefmt %]",
showOn: "button",
showButtonPanel: true,
changeMonth: true,
changeYear: true,
buttonImage: "image/calendar.png",
buttonImageOnly: true
}));
$('.datepicker').each(function() {
$(this).datepicker();
});
[% END %]
[% IF ajax_spinner %]
$(document).ajaxSend(function() {
$('#ajax-spinner').show();
}).ajaxStop(function() {
$('#ajax-spinner').hide();
});
[% END %]
});
function fokus() {
[%- IF focus -%]
$('[% focus %]').focus();
[%- END -%]
}

Auch abrufbar als: Unified diff