KOHA.Preferences = {
Save: function ( form ) {
- data = $( form ).find( '.modified' ).serialize();
+ modified_prefs = $( form ).find( '.modified' );
+ data = modified_prefs.serialize();
if ( !data ) {
- humanMsg.displayAlert( 'Nothing to save' );
+ humanMsg.displayAlert( MSG_NOTHING_TO_SAVE );
return;
}
- KOHA.AJAX.MarkRunning( $( form ).find( '.save-all' ), _( 'Saving...' ) );
+ KOHA.AJAX.MarkRunning( $( form ).find( '.save-all' ), _( MSG_SAVING ) );
KOHA.AJAX.Submit( {
data: data,
url: '/cgi-bin/koha/svc/config/systempreferences/',
} );
},
Success: function ( form ) {
- humanMsg.displayAlert( 'Saved' );
+ var msg = "";
+ modified_prefs.each(function(){
+ var modified_pref = $(this).attr("id");
+ modified_pref = modified_pref.replace("pref_","");
+ msg += '<strong>Saved preference '+modified_pref+'</strong>\n';
+ });
+ humanMsg.displayAlert(msg);
$( form )
.find( '.modified-warning' ).remove().end()
};
$( document ).ready( function () {
+
+ $("table.preferences").dataTable($.extend(true, {}, dataTablesDefaults, {
+ "sDom": 't',
+ "aoColumnDefs": [
+ { "aTargets": [ -1 ], "bSortable": false, "bSearchable": false }
+ ],
+ "bPaginate": false
+ }));
+
function mark_modified() {
$( this.form ).find( '.save-all' ).removeAttr( 'disabled' );
$( this ).addClass( 'modified' );
- var name_cell = $( this ).parent().parent().find( '.name-cell' );
-
- if ( !name_cell.find( '.modified-warning' ).length ) name_cell.append( '<em class="modified-warning">(modified)</em>' );
+ var name_cell = $( this ).parents( '.name-row' ).find( '.name-cell' );
+ if ( !name_cell.find( '.modified-warning' ).length )
+ name_cell.append( '<em class="modified-warning">('+MSG_MODIFIED+')</em>' );
KOHA.Preferences.Modified = true;
}
if ( this.defaultValue === undefined || this.value != this.defaultValue ) mark_modified.call( this );
} ).end()
.find( 'select.preference' ).change( mark_modified );
+ $('.preference-checkbox').change( function () {
+ $('.preference-checkbox').addClass('modified');
+ mark_modified.call(this);
+ } );
- if ( document.location.search.indexOf( 'jumpfield' ) != -1 ) {
- document.location.hash = "highlighted";
+ $(".set_syspref").click(function() {
+ var s = $(this).attr('data-syspref');
+ var v = $(this).attr('data-value');
+ // populate the input with the value in data-value
+ $("#pref_"+s).val(v);
+ // pass the DOM element to trigger "modified" to enable submit button
+ mark_modified.call($("#pref_"+s)[0]);
+ return false;
+ });
+
+ window.onbeforeunload = function () {
+ if ( KOHA.Preferences.Modified ) {
+ return MSG_MADE_CHANGES;
+ }
}
+ $( '.prefs-tab .action .cancel' ).click( function () { KOHA.Preferences.Modified = false } );
+
+ $( '.prefs-tab .save-all' ).attr( 'disabled', true ).click( function () {
+ KOHA.Preferences.Save( this.form );
+ return false;
+ } );
+
$( '.prefs-tab .expand-textarea' ).show().click( function () {
$( this ).hide().nextAll( 'textarea, input[type=submit]' )
.animate( { height: 'show', queue: false } )
return false;
} ).nextAll( 'textarea, input[type=submit]' ).hide().css( { opacity: 0 } );
- $( '.prefs-tab .save-all' ).attr( 'disabled', true ).click( function () {
- KOHA.Preferences.Save( this.form );
- return false;
- } );
-
- window.onbeforeunload = function () {
- if ( KOHA.Preferences.Modified ) {
- return _( "You have made changes to system preferences." );
- }
- }
-
- $("h3").attr("class","expanded").attr("title",_("Click to expand this section"));
+ $("h3").attr("class","expanded").attr("title",MSG_CLICK_TO_EXPAND);
var collapsible = $(".collapsed,.expanded");
$(collapsible).toggle(
function () {
- $(this).addClass("collapsed").removeClass("expanded").attr("title",_("Click to expand this section"));
- $(this).next("table").hide();
+ $(this).addClass("collapsed").removeClass("expanded").attr("title",MSG_CLICK_TO_EXPAND);
+ $(this).next("div").hide();
},
function () {
- $(this).addClass("expanded").removeClass("collapsed").attr("title",_("Click to collapse this section"));
- $(this).next("table").show();
+ $(this).addClass("expanded").removeClass("collapsed").attr("title",MSG_CLICK_TO_COLLAPSE);
+ $(this).next("div").show();
}
);
- $( '.prefs-tab .action .cancel' ).click( function () { KOHA.Preferences.Modified = false } );
+ if ( to_highlight ) {
+ var words = to_highlight.split( ' ' );
+ $( '.prefs-tab table' ).find( 'td, th' ).not( '.name-cell' ).each( function ( i, td ) {
+ $.each( words, function ( i, word ) { $( td ).highlight( word ) } );
+ } ).find( 'option, textarea' ).removeHighlight();
+ }
+
+ if ( search_jumped ) {
+ document.location.hash = "jumped";
+ }
} );