1060 lines
31 KiB
JavaScript
1060 lines
31 KiB
JavaScript
function g_validate_form( id )
|
||
{
|
||
var submit = true;
|
||
jQuery( '#fg-' + id ).find( "input[type=text], input[type=password], select, textarea" ).each( function()
|
||
{
|
||
var min = parseInt( jQuery( this ).attr( 'min' ) );
|
||
var equal = jQuery( this ).attr( 'equal' );
|
||
var fun = jQuery( this ).attr( 'function' );
|
||
var email = jQuery( this ).attr( 'email' );
|
||
|
||
jQuery( this ).parents( '.form-group' ).removeClass( 'has-error' );
|
||
jQuery( this ).next( 'span.g-error' ).remove();
|
||
|
||
if ( jQuery( this ).hasClass( 'require' ) || jQuery( this ).hasClass( 'optional' ) )
|
||
{
|
||
if ( !isNaN( min ) && jQuery.trim( jQuery( this ).val() ).length < min && jQuery.trim( jQuery( this ).val() ) !== '' )
|
||
{
|
||
submit = false;
|
||
jQuery( this ).parents( '.form-group' ).addClass( 'has-error' );
|
||
jQuery( this ).after( '<span class="g-error text-danger mt5"><small>Wypełnione pole jest zbyt krótkie (min. ' + min + ' znaków).</small></span>' );
|
||
}
|
||
else if ( equal !== undefined && jQuery( this ).val() !== jQuery( '#' + equal ).val() )
|
||
{
|
||
submit = false;
|
||
jQuery( this ).parents( '.form-group' ).addClass( 'has-error' );
|
||
jQuery( this ).after( '<span class="g-error text-danger mt5"><small>' + jQuery( this ).attr( 'error_txt' ) + '</small></span>' );
|
||
}
|
||
else if ( jQuery( this ).hasClass( 'require' ) && ( jQuery.trim( jQuery( this ).val() ) === '' || jQuery( this ).val() === 'null' ) )
|
||
{
|
||
submit = false;
|
||
jQuery( this ).parents( '.form-group' ).addClass( 'has-error' );
|
||
jQuery( this ).after( '<span class="g-error text-danger mt5"><small>To pole jest wymagane.</small></span>' );
|
||
}
|
||
else if ( fun !== undefined )
|
||
{
|
||
var response = window[fun]();
|
||
|
||
if ( response['status'] === 'error' )
|
||
{
|
||
submit = false;
|
||
jQuery( this ).parents( '.form-group' ).addClass( 'has-error' );
|
||
jQuery( this ).after( '<span class="g-error text-danger mt5"><small>' + response['msg'] + '</small></span>' );
|
||
}
|
||
}
|
||
else if ( email !== undefined )
|
||
{
|
||
if ( isEmail( jQuery( this ).val() ) === false )
|
||
{
|
||
submit = false;
|
||
jQuery( this ).parents( '.form-group' ).addClass( 'has-error' );
|
||
jQuery( this ).after( '<span class="g-error text-danger mt5"><small>' + jQuery( this ).attr( 'error_txt' ) + '</small></span>' );
|
||
}
|
||
}
|
||
}
|
||
});
|
||
return submit;
|
||
}
|
||
|
||
function number_format( number, decimals, dec_point, thousands_sep )
|
||
{
|
||
number = ( number + '' ).replace( /[^0-9+\-Ee.]/g, '' );
|
||
var n = !isFinite(+number) ? 0 : +number,
|
||
prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
|
||
sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep,
|
||
dec = (typeof dec_point === 'undefined') ? '.' : dec_point,
|
||
s = '',
|
||
toFixedFix = function (n, prec) {
|
||
var k = Math.pow(10, prec);
|
||
return '' + Math.round(n * k) / k;
|
||
};
|
||
s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.');
|
||
if (s[0].length > 3) {
|
||
s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep);
|
||
}
|
||
if ((s[1] || '').length < prec) {
|
||
s[1] = s[1] || '';
|
||
s[1] += new Array(prec - s[1].length + 1).join('0');
|
||
}
|
||
return s.join(dec);
|
||
}
|
||
|
||
function isEmail( email ) {
|
||
var regex = /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
|
||
return regex.test( email );
|
||
}
|
||
|
||
function create_error( text ) {
|
||
jQuery( '#content' ).prepend( '<div class="row">' +
|
||
'<div class="col col-xs-12">' +
|
||
'<div class="alert alert-danger alert-dismissable">' +
|
||
'<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>' +
|
||
'<i class="fa fa-info pr10"></i>' +
|
||
text +
|
||
'</div>' +
|
||
'</div>' );
|
||
hide_error();
|
||
}
|
||
|
||
function hide_error() {
|
||
setTimeout( function() {
|
||
jQuery( "button.close" ).trigger( "click" );
|
||
}, 3000 );
|
||
}
|
||
|
||
function create_message( text )
|
||
{
|
||
hide_message();
|
||
jQuery( '#content' ).prepend( '<div class="row">' +
|
||
'<div class="col col-xs-12">' +
|
||
'<div class="alert alert-primary alert-dismissable">' +
|
||
'<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>' +
|
||
'<i class="fa fa-info pr10"></i>' +
|
||
text +
|
||
'</div>' +
|
||
'</div>' );
|
||
}
|
||
|
||
function hide_message() {
|
||
jQuery( "button.close" ).trigger( "click" );
|
||
}
|
||
|
||
function getCheckedIds( table ) {
|
||
var checkedVals = jQuery( '#g-' + table + ' .g-checkbox:checked' ).map(function() {
|
||
return this.value;
|
||
}).get();
|
||
checkedVals.join( "," );
|
||
return checkedVals;
|
||
}
|
||
|
||
jQuery( 'body' ).on( 'click', '#g-message, #g-alert', function() {
|
||
jQuery( this ).remove();
|
||
});
|
||
|
||
jQuery( 'body' ).on( 'change', '.g-double', function() {
|
||
var value = jQuery( this ).val();
|
||
value = parseFloat( value.replace( ',', '.' ) * 1 );
|
||
|
||
if ( isNaN( value ) )
|
||
value = 0;
|
||
|
||
if ( jQuery( this ).hasClass( 'g-plus' ) )
|
||
value = Math.abs( value );
|
||
|
||
value = number_format( value , 2 , '.' , '' );
|
||
|
||
jQuery( this ).val( value );
|
||
});
|
||
|
||
jQuery( 'body' ).on( 'mouseover', '.g-tip', function() {
|
||
jQuery( this ).tooltipster({
|
||
contentAsHTML: true,
|
||
position: 'bottom-left',
|
||
theme: 'tooltipster-punk'
|
||
});
|
||
jQuery( this ).tooltipster( 'show' );
|
||
});
|
||
|
||
jQuery.datepicker.regional['pl'] = {
|
||
closeText: 'Zamknij',
|
||
prevText: '<Poprzedni',
|
||
nextText: 'Następny>',
|
||
currentText: 'Dziś',
|
||
monthNames: [ 'Styczeń', 'Luty', 'Marzec', 'Kwiecień', 'Maj', 'Czerwiec', 'Lipiec', 'Sierpień', 'Wrzesień', 'Październik', 'Listopad', 'Grudzień' ],
|
||
monthNamesShort: [ 'Sty', 'Lu', 'Mar', 'Kw', 'Maj', 'Cze', 'Lip', 'Sie', 'Wrz', 'Pa', 'Lis', 'Gru' ],
|
||
dayNames: [ 'Niedziela', 'Poniedziałek', 'Wtorek', 'Środa', 'Czwartek', 'Piątek', 'Sobota' ],
|
||
dayNamesShort: [ 'Nie', 'Pn', 'Wt', 'Śr', 'Czw', 'Pt', 'So' ],
|
||
dayNamesMin: [ 'N', 'Pn', 'Wt', 'Śr', 'Cz', 'Pt', 'So' ],
|
||
weekHeader: 'Tydz',
|
||
dateFormat: 'dd.mm.yy',
|
||
firstDay: 1,
|
||
isRTL: false,
|
||
showMonthAfterYear: false,
|
||
yearSuffix: ''
|
||
};
|
||
|
||
jQuery.datepicker.setDefaults( jQuery.datepicker.regional[ 'pl' ] );
|
||
|
||
jQuery( 'body' ).on( 'focus', '.g-date', function() {
|
||
jQuery( this ).datepicker( {
|
||
dateFormat: 'yy-mm-dd',
|
||
changeMonth: true,
|
||
changeYear: true
|
||
} );
|
||
});
|
||
|
||
jQuery( 'body' ).on( 'click', 'a.g-expand', function() {
|
||
jQuery( this ).parents( '.g-form-edit' ).children( '.g-content' ).slideDown( 'fast' );
|
||
jQuery( this ).children( 'i' ).removeClass( 'fa-chevron-down' ).addClass( 'fa-chevron-up' );
|
||
jQuery( this ).removeClass( 'g-expand' ).addClass( 'g-collapse' );
|
||
});
|
||
|
||
jQuery( 'body' ).on( 'click', '.g-collapse', function() {
|
||
jQuery( this ).parents( '.g-form-edit' ).children( '.g-content' ).slideUp( 'fast' );
|
||
jQuery( this ).children( 'i' ).removeClass( 'fa-chevron-up' ).addClass( 'fa-chevron-down' );
|
||
jQuery( this ).removeClass( 'g-collapse' ).addClass( 'g-expand' );
|
||
});
|
||
|
||
jQuery( 'body' ).on( 'click', '#g-columns-list-close', function()
|
||
{
|
||
jQuery( '#g-select-columns' ).show();
|
||
jQuery( "#g-columns-list-close" ).css( 'display', 'none' );
|
||
return false;
|
||
});
|
||
|
||
jQuery( 'body' ).on( 'click', '#g-select-columns', function()
|
||
{
|
||
jQuery( '#g-select-columns' ).hide();
|
||
jQuery( "#g-columns-list-close" ).css( 'display', 'inline-block' );
|
||
jQuery( '#g-columns-list' ).show();
|
||
return false;
|
||
});
|
||
|
||
jQuery( '.g-column-toggle' ).on( 'ifToggled', function()
|
||
{
|
||
var data = jQuery( this ).parents( '#g-columns-list' ).attr( 'data' );
|
||
data = data.split( ";" );
|
||
|
||
for ( index = 0; index < data.length; ++index )
|
||
{
|
||
var vars = data[ index ].split( ':') ;
|
||
|
||
if ( vars[0] === 'table' )
|
||
var gtable = vars[1];
|
||
}
|
||
|
||
var i = jQuery( this ).parents( 'li' ).attr( 'i' );
|
||
|
||
jQuery.ajax(
|
||
{
|
||
type: 'POST',
|
||
cache: false,
|
||
url: dir + '/ajax.php',
|
||
data: {
|
||
gtable: gtable,
|
||
column: i,
|
||
hidden: !jQuery( this ).prop( 'checked' ),
|
||
a: 'gdraw'
|
||
},
|
||
beforeSend: function()
|
||
{
|
||
jQuery( '#g-' + gtable ).find( '#g-loader' ).show();
|
||
},
|
||
success: function( data )
|
||
{
|
||
response = jQuery.parseJSON( data ); jQuery( '#g-' + gtable ).find( '#g-loader' ).hide();
|
||
|
||
if ( response.status === 'ok' )
|
||
{
|
||
if ( response.msg !== null )
|
||
create_message( response.msg );
|
||
|
||
jQuery( '#g-' + gtable ).find( '#g-results' ).empty().html( response.output );
|
||
}
|
||
else
|
||
{
|
||
if ( response.msg )
|
||
var msg = response.msg;
|
||
else
|
||
var msg = "Przepraszamy. Podczas wczytywania danych wystąpił błąd. Prosimy spróbować ponownie.";
|
||
create_error( msg );
|
||
}
|
||
}
|
||
});
|
||
});
|
||
|
||
jQuery( 'body' ).on( 'click', '#g-columns-list span', function() {
|
||
var input = jQuery( this ).attr( 'input' );
|
||
jQuery( '#' + input ).iCheck( 'toggle' );
|
||
});
|
||
|
||
jQuery( 'body' ).on( 'click', '.g-csv', function() {
|
||
var data = jQuery( this ).parents( '.g-container' ).attr( 'data' );
|
||
data = data.split( ";" );
|
||
|
||
for ( index = 0; index < data.length; ++index ) {
|
||
var vars = data[ index ].split( ':') ;
|
||
|
||
if ( vars[0] === 'table' )
|
||
var gtable = vars[1];
|
||
};
|
||
window.open( dir + '/get.php?t=csv>able=' + gtable, 'Drukowanie', "height=400,width=600" );
|
||
});
|
||
|
||
jQuery( 'body' ).on( 'click', '.g-print', function() {
|
||
var data = jQuery( this ).parents( '.g-container' ).attr( 'data' );
|
||
data = data.split( ";" );
|
||
|
||
for ( index = 0; index < data.length; ++index ) {
|
||
var vars = data[ index ].split( ':') ;
|
||
|
||
if ( vars[0] === 'table' )
|
||
var gtable = vars[1];
|
||
};
|
||
window.open( dir + '/print.php?gtable=' + gtable, 'Drukowanie', "height=400,width=600" );
|
||
});
|
||
|
||
jQuery( 'body' ).on( 'click', '#g-multidelete', function()
|
||
{
|
||
var url = jQuery( this ).attr( 'url' );
|
||
|
||
if ( typeof url === 'undefined' )
|
||
url = '';
|
||
|
||
var data = jQuery( this ).parents( '.g-container' ).attr( 'data' );
|
||
data = data.split( ";" );
|
||
|
||
for ( index = 0; index < data.length; ++index )
|
||
{
|
||
var vars = data[ index ].split( ':') ;
|
||
|
||
if ( vars[0] === 'table' )
|
||
var gtable = vars[1];
|
||
}
|
||
|
||
jQuery.prompt( 'Na pewno chcesz usunąć wybrane elementy?',
|
||
{
|
||
title: 'Potwierdź?',
|
||
submit: function(e,v,m,f)
|
||
{
|
||
if ( v === true )
|
||
{
|
||
var checkedVals = getCheckedIds( gtable );
|
||
|
||
if ( url !== '' )
|
||
{
|
||
jQuery.ajax(
|
||
{
|
||
type: 'POST',
|
||
cache: false,
|
||
url: url,
|
||
data:
|
||
{
|
||
gdelete_multi: checkedVals
|
||
},
|
||
beforeSend: function()
|
||
{
|
||
jQuery( '#g-' + gtable ).find( '#g-loader' ).show();
|
||
},
|
||
success: function( data )
|
||
{
|
||
response = jQuery.parseJSON( data );
|
||
|
||
if ( response.status === 'ok' )
|
||
{
|
||
if ( response.msg !== null )
|
||
create_message( response.msg );
|
||
|
||
jQuery.ajax(
|
||
{
|
||
type: 'POST',
|
||
cache: false,
|
||
url: dir + '/ajax.php',
|
||
data:
|
||
{
|
||
gtable: gtable,
|
||
a: 'gdraw'
|
||
},
|
||
success: function( data )
|
||
{
|
||
response = jQuery.parseJSON( data );
|
||
jQuery( '#g-' + gtable ).find( '#g-loader' ).hide();
|
||
|
||
if ( response.status === 'ok' )
|
||
{
|
||
if ( response.msg !== null )
|
||
create_message( response.msg );
|
||
|
||
jQuery( '#g-multidelete' ).hide();
|
||
jQuery( '#g-' + gtable ).find( '#g-results' ).empty().html( response.output );
|
||
}
|
||
else
|
||
{
|
||
if ( response.msg )
|
||
var msg = response.msg;
|
||
else
|
||
var msg = "Przepraszamy. Podczas wczytywania danych wystąpił błąd. Prosimy spróbować ponownie.";
|
||
create_error( msg );
|
||
}
|
||
}
|
||
});
|
||
}
|
||
else
|
||
{
|
||
if ( response.msg )
|
||
var msg = response.msg;
|
||
else
|
||
var msg = "Przepraszamy. Podczas wczytywania danych wystąpił błąd. Prosimy spróbować ponownie.";
|
||
create_error( msg );
|
||
}
|
||
}
|
||
});
|
||
}
|
||
else
|
||
{
|
||
jQuery.ajax(
|
||
{
|
||
type: 'POST',
|
||
cache: false,
|
||
url: dir + '/ajax.php',
|
||
data:
|
||
{
|
||
gtable: gtable,
|
||
gdelete_multi: checkedVals,
|
||
a: 'gdraw'
|
||
},
|
||
beforeSend: function()
|
||
{
|
||
jQuery( '#g-' + gtable ).find( '#g-loader' ).show();
|
||
},
|
||
success: function( data )
|
||
{
|
||
response = jQuery.parseJSON( data );
|
||
jQuery( '#g-' + gtable ).find( '#g-loader' ).hide();
|
||
|
||
if ( response.status === 'ok' )
|
||
{
|
||
if ( response.msg !== null )
|
||
create_message( response.msg );
|
||
jQuery( '#g-multidelete' ).hide();
|
||
jQuery( '#g-' + gtable ).find( '#g-results' ).empty().html( response.output );
|
||
}
|
||
else
|
||
{
|
||
if ( response.msg )
|
||
var msg = response.msg;
|
||
else
|
||
var msg = "Przepraszamy. Podczas wczytywania danych wystąpił błąd. Prosimy spróbować ponownie.";
|
||
create_error( msg );
|
||
}
|
||
}
|
||
});
|
||
}
|
||
}
|
||
},
|
||
buttons: {
|
||
'tak': true,
|
||
'nie': false
|
||
},
|
||
focus: 1
|
||
});
|
||
return false;
|
||
});
|
||
|
||
jQuery( 'body' ).on( 'click', '#g-cancel', function() {
|
||
|
||
var data = jQuery( this ).parents( '.g-container' ).attr( 'data' );
|
||
data = data.split( ";" );
|
||
|
||
for ( index = 0; index < data.length; ++index ) {
|
||
var vars = data[ index ].split( ':') ;
|
||
|
||
if ( vars[0] === 'table' )
|
||
var gtable = vars[1];
|
||
}
|
||
|
||
jQuery.ajax({
|
||
type: 'POST',
|
||
cache: false,
|
||
url: dir + '/ajax.php',
|
||
data: {
|
||
gtable: gtable,
|
||
a: 'gdraw'
|
||
},
|
||
beforeSend: function() {
|
||
jQuery( '#g-' + gtable ).find( '#g-loader' ).show();
|
||
},
|
||
success: function( data ) {
|
||
response = jQuery.parseJSON( data ); jQuery( '#g-' + gtable ).find( '#g-loader' ).hide();
|
||
if ( response.status === 'ok' )
|
||
{
|
||
jQuery( '#g-add, #g-search, .g-button, #g-select-columns' ).show();
|
||
jQuery( '#g-cancel, #g-save' ).hide();
|
||
jQuery( '#g-' + gtable ).find( '#g-results' ).empty().html( response.output );
|
||
}
|
||
else
|
||
{
|
||
if ( response.msg )
|
||
var msg = response.msg;
|
||
else
|
||
var msg = "Przepraszamy. Podczas wczytywania danych wystąpił błąd. Prosimy spróbować ponownie.";
|
||
create_error( msg );
|
||
}
|
||
}
|
||
});
|
||
});
|
||
|
||
jQuery( 'body' ).on( 'click', '#g-save, #g-edit-save', function()
|
||
{
|
||
var back_url = jQuery( this ).attr( 'back_url' );
|
||
var persist_edit = jQuery( this ).attr( 'persist_edit' );
|
||
var id_param = jQuery( this ).attr( 'id_param' );
|
||
|
||
if ( typeof back_url === 'undefined' )
|
||
back_url = '';
|
||
|
||
var data = jQuery( this ).parents( '.g-container' ).attr( 'data' );
|
||
data = data.split( ";" );
|
||
|
||
for ( index = 0; index < data.length; ++index )
|
||
{
|
||
var vars = data[ index ].split( ':') ;
|
||
|
||
if ( vars[0] === 'table' )
|
||
var gtable = vars[1];
|
||
}
|
||
|
||
if ( g_validate_form( gtable ) === true )
|
||
{
|
||
var values = jQuery( '#fg-' + gtable ).serializeArray();
|
||
|
||
var url = jQuery( this ).attr( 'url' );
|
||
|
||
if ( url !== '' )
|
||
{
|
||
jQuery.ajax(
|
||
{
|
||
type: 'POST',
|
||
cache: false,
|
||
url: url,
|
||
data:
|
||
{
|
||
gtable: gtable,
|
||
values: JSON.stringify( values ),
|
||
a: 'gsave'
|
||
},
|
||
beforeSend: function()
|
||
{
|
||
jQuery( '#g-' + gtable ).find( '#g-loader' ).show();
|
||
jQuery( '#overlay' ).show();
|
||
},
|
||
success: function( data )
|
||
{
|
||
jQuery( '#overlay' ).hide();
|
||
response = jQuery.parseJSON( data ); jQuery( '#g-' + gtable ).find( '#g-loader' ).hide();
|
||
if ( response.status === 'ok' )
|
||
{
|
||
if ( back_url !== '' && persist_edit == 0 )
|
||
document.location.href = back_url;
|
||
else if ( persist_edit == 0 )
|
||
{
|
||
if ( response.msg !== null )
|
||
create_message( response.msg );
|
||
|
||
jQuery.ajax(
|
||
{
|
||
type: 'POST',
|
||
cache: false,
|
||
url: dir + '/ajax.php',
|
||
data:
|
||
{
|
||
gtable: gtable,
|
||
a: 'gdraw'
|
||
},
|
||
beforeSend: function()
|
||
{
|
||
jQuery( '#g-' + gtable ).find( '#g-loader' ).show();
|
||
},
|
||
success: function( data )
|
||
{
|
||
response = jQuery.parseJSON( data ); jQuery( '#g-' + gtable ).find( '#g-loader' ).hide();
|
||
if ( response.status === 'ok' )
|
||
{
|
||
jQuery( '#g-add, #g-search, .g-button' ).show();
|
||
jQuery( '#g-cancel, #g-save' ).hide();
|
||
jQuery( '#g-' + gtable ).find( '#g-results' ).empty().html( response.output );
|
||
}
|
||
else
|
||
{
|
||
if ( response.msg )
|
||
var msg = response.msg;
|
||
else
|
||
var msg = "Przepraszamy. Podczas wczytywania danych wystąpił błąd. Prosimy spróbować ponownie.";
|
||
create_error( msg );
|
||
}
|
||
}
|
||
});
|
||
}
|
||
else
|
||
{
|
||
if ( response.msg !== null )
|
||
create_message( response.msg );
|
||
|
||
if ( id_param != '' )
|
||
jQuery( '#' + id_param ).val( response.id );
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if ( response.msg )
|
||
var msg = response.msg;
|
||
else
|
||
var msg = "Przepraszamy. Podczas wczytywania danych wystąpił błąd. Prosimy spróbować ponownie.";
|
||
create_error( msg );
|
||
}
|
||
}
|
||
});
|
||
}
|
||
else
|
||
{
|
||
jQuery.ajax(
|
||
{
|
||
type: 'POST',
|
||
cache: false,
|
||
url: dir + '/ajax.php',
|
||
data:
|
||
{
|
||
gtable: gtable,
|
||
values: JSON.stringify( values ),
|
||
a: 'gsave'
|
||
},
|
||
beforeSend: function()
|
||
{
|
||
jQuery( '#g-' + gtable ).find( '#g-loader' ).show();
|
||
},
|
||
success: function( data )
|
||
{
|
||
response = jQuery.parseJSON( data ); jQuery( '#g-' + gtable ).find( '#g-loader' ).hide();
|
||
if ( response.status === 'ok' )
|
||
{
|
||
|
||
if ( back_url !== '' )
|
||
{
|
||
document.location.href=back_url;
|
||
}
|
||
else
|
||
{
|
||
if ( response.msg !== null )
|
||
create_message( response.msg );
|
||
|
||
jQuery( '#g-add, #g-search, .g-button' ).show();
|
||
jQuery( '#g-cancel, #g-save' ).hide();
|
||
jQuery( '#g-' + gtable ).find( '#g-results' ).empty().html( response.output );
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if ( response.msg )
|
||
var msg = response.msg;
|
||
else
|
||
var msg = "Przepraszamy. Podczas wczytywania danych wystąpił błąd. Prosimy spróbować ponownie.";
|
||
create_error( msg );
|
||
}
|
||
}
|
||
});
|
||
}
|
||
};
|
||
return false;
|
||
});
|
||
|
||
jQuery( 'body' ).on( 'click', '#g-add, .g-edit', function() {
|
||
|
||
var data = jQuery( this ).parents( '.g-container' ).attr( 'data' );
|
||
data = data.split( ";" );
|
||
|
||
for ( index = 0; index < data.length; ++index ) {
|
||
var vars = data[ index ].split( ':') ;
|
||
|
||
if ( vars[0] === 'table' )
|
||
var gtable = vars[1];
|
||
}
|
||
|
||
var gedit = jQuery( this ).attr( 'element-id' );
|
||
|
||
jQuery.ajax({
|
||
type: 'POST',
|
||
cache: false,
|
||
url: dir + '/ajax.php',
|
||
data: {
|
||
gtable: gtable,
|
||
gedit: gedit,
|
||
a: 'gedit'
|
||
},
|
||
beforeSend: function() {
|
||
jQuery( '#g-' + gtable ).find( '#g-loader' ).show();
|
||
},
|
||
success: function( data ) {
|
||
response = jQuery.parseJSON( data ); jQuery( '#g-' + gtable ).find( '#g-loader' ).hide();
|
||
if ( response.status === 'ok' )
|
||
{
|
||
jQuery( '#g-add, #g-search, .g-button, #g-select-columns' ).hide();
|
||
jQuery( '#g-cancel, #g-save' ).css( 'display', 'inline-block' );
|
||
jQuery( '#g-' + gtable ).find( '#g-results' ).empty().html( response.output );
|
||
}
|
||
else
|
||
{
|
||
if ( response.msg )
|
||
var msg = response.msg;
|
||
else
|
||
var msg = "Przepraszamy. Podczas wczytywania danych wystąpił błąd. Prosimy spróbować ponownie.";
|
||
create_error( msg );
|
||
}
|
||
}
|
||
});
|
||
});
|
||
|
||
jQuery( 'body' ).on( 'click', '.g-delete', function()
|
||
{
|
||
jQuery( this ).blur();
|
||
|
||
var data = jQuery( this ).parents( '.g-container' ).attr( 'data' );
|
||
data = data.split( ";" );
|
||
|
||
for ( index = 0; index < data.length; ++index ) {
|
||
var vars = data[ index ].split( ':') ;
|
||
|
||
if ( vars[0] === 'table' )
|
||
var gtable = vars[1];
|
||
}
|
||
|
||
var gdelete = jQuery( this ).attr( 'element-id' );
|
||
var back_url = jQuery( this ).attr( 'back-url' );
|
||
var url = jQuery( this ).attr( 'url' ).replace( '[ID]', gdelete );
|
||
|
||
jQuery.prompt( 'Na pewno chcesz usunąć wybrany element?',
|
||
{
|
||
title: 'Potwierdź?',
|
||
submit: function(e,v,m,f)
|
||
{
|
||
if ( v === true )
|
||
{
|
||
if ( url !== '' )
|
||
{
|
||
jQuery.ajax(
|
||
{
|
||
type: 'POST',
|
||
cache: false,
|
||
url: url,
|
||
data:
|
||
{
|
||
gdelete: gdelete,
|
||
a: 'gdelete'
|
||
},
|
||
beforeSend: function()
|
||
{
|
||
jQuery( '#g-' + gtable ).find( '#g-loader' ).show();
|
||
},
|
||
success: function( data )
|
||
{
|
||
response = jQuery.parseJSON( data ); jQuery( '#g-' + gtable ).find( '#g-loader' ).hide();
|
||
if ( response.status === 'ok' )
|
||
{
|
||
if ( back_url !== '' )
|
||
{
|
||
document.location.href=back_url;
|
||
}
|
||
else
|
||
{
|
||
if ( response.msg !== null )
|
||
create_message( response.msg );
|
||
|
||
jQuery.ajax(
|
||
{
|
||
type: 'POST',
|
||
cache: false,
|
||
url: dir + '/ajax.php',
|
||
data: {
|
||
gtable: gtable,
|
||
a: 'gdraw'
|
||
},
|
||
beforeSend: function() {
|
||
jQuery( '#g-' + gtable ).find( '#g-loader' ).show();
|
||
},
|
||
success: function( data ) {
|
||
response = jQuery.parseJSON( data ); jQuery( '#g-' + gtable ).find( '#g-loader' ).hide();
|
||
if ( response.status === 'ok' )
|
||
{
|
||
jQuery( '#g-' + gtable ).find( '#g-results' ).empty().html( response.output );
|
||
}
|
||
else
|
||
{
|
||
if ( response.msg )
|
||
var msg = response.msg;
|
||
else
|
||
var msg = "Przepraszamy. Podczas wczytywania danych wystąpił błąd. Prosimy spróbować ponownie.";
|
||
create_error( msg );
|
||
}
|
||
}
|
||
});
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if ( response.msg )
|
||
var msg = response.msg;
|
||
else
|
||
var msg = "Przepraszamy. Podczas wczytywania danych wystąpił błąd. Prosimy spróbować ponownie.";
|
||
create_error( msg );
|
||
}
|
||
}
|
||
});
|
||
}
|
||
else
|
||
{
|
||
jQuery.ajax(
|
||
{
|
||
type: 'POST',
|
||
cache: false,
|
||
url: dir + '/ajax.php',
|
||
data:
|
||
{
|
||
gtable: gtable,
|
||
gdelete: gdelete,
|
||
a: 'gdraw'
|
||
},
|
||
beforeSend: function()
|
||
{
|
||
jQuery( '#g-' + gtable ).find( '#g-loader' ).show();
|
||
},
|
||
success: function( data )
|
||
{
|
||
response = jQuery.parseJSON( data ); jQuery( '#g-' + gtable ).find( '#g-loader' ).hide();
|
||
if ( response.status === 'ok' )
|
||
{
|
||
if ( back_url !== '' )
|
||
{
|
||
document.location.href=back_url;
|
||
}
|
||
else
|
||
{
|
||
jQuery( '#g-' + gtable ).find( '#g-results' ).empty().html( response.output );
|
||
if ( response.msg !== null )
|
||
create_message( response.msg );
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if ( response.msg )
|
||
var msg = response.msg;
|
||
else
|
||
var msg = "Przepraszamy. Podczas wczytywania danych wystąpił błąd. Prosimy spróbować ponownie.";
|
||
create_error( msg );
|
||
}
|
||
}
|
||
});
|
||
}
|
||
}
|
||
},
|
||
buttons:
|
||
{
|
||
'tak': true,
|
||
'nie': false
|
||
}
|
||
});
|
||
return false;
|
||
});
|
||
|
||
jQuery( 'body' ).on( 'change', '.g-search-input, .g-search-select', function()
|
||
{
|
||
var data = jQuery( this ).attr( 'data' );
|
||
data = data.split( ";" );
|
||
|
||
for ( index = 0; index < data.length; ++index )
|
||
{
|
||
var vars = data[ index ].split( ':') ;
|
||
|
||
if ( vars[0] === 'search-column' )
|
||
var gsearch_column = vars[1];
|
||
|
||
if ( vars[0] === 'search-type' )
|
||
var gsearch_type = vars[1];
|
||
}
|
||
|
||
var data = jQuery( this ).parents( '.g-container' ).attr( 'data' );
|
||
data = data.split( ";" );
|
||
|
||
for ( index = 0; index < data.length; ++index )
|
||
{
|
||
var vars = data[ index ].split( ':') ;
|
||
|
||
if ( vars[0] === 'table' )
|
||
var gtable = vars[1];
|
||
}
|
||
|
||
var gsearch_value = jQuery( this ).val();
|
||
|
||
jQuery.ajax({
|
||
type: 'POST',
|
||
cache: false,
|
||
url: dir + '/ajax.php',
|
||
data:
|
||
{
|
||
gtable: gtable,
|
||
gsearch_column: gsearch_column,
|
||
gsearch_value: gsearch_value,
|
||
gsearch_type: gsearch_type,
|
||
a: 'gdraw'
|
||
},
|
||
beforeSend: function()
|
||
{
|
||
jQuery( '#g-' + gtable ).find( '#g-loader' ).show();
|
||
},
|
||
success: function( data ) {
|
||
response = jQuery.parseJSON( data ); jQuery( '#g-' + gtable ).find( '#g-loader' ).hide();
|
||
if ( response.status === 'ok' )
|
||
{
|
||
jQuery( '#g-' + gtable ).find( '#g-results' ).empty().html( response.output );
|
||
jQuery( 'input[name="' + gsearch_column + '"]' ).focus().val( jQuery( 'input[name="' + gsearch_column + '"]' ).val() );
|
||
}
|
||
else
|
||
{
|
||
if ( response.msg )
|
||
var msg = response.msg;
|
||
else
|
||
var msg = "Przepraszamy. Podczas wczytywania danych wystąpił błąd. Prosimy spróbować ponownie.";
|
||
create_error( msg );
|
||
}
|
||
}
|
||
});
|
||
});
|
||
|
||
jQuery( 'body' ).on( 'click', '.g-sort', function() {
|
||
|
||
var data = jQuery( this ).attr( 'data' );
|
||
data = data.split( ";" );
|
||
|
||
for ( index = 0; index < data.length; ++index ) {
|
||
var vars = data[ index ].split( ':') ;
|
||
|
||
if ( vars[0] === 'sort-column' )
|
||
var gsort_column = vars[1];
|
||
|
||
if ( vars[0] === 'sort-type' )
|
||
var gsort_type = vars[1];
|
||
}
|
||
|
||
var data = jQuery( this ).parents( '.g-container' ).attr( 'data' );
|
||
data = data.split( ";" );
|
||
|
||
for ( index = 0; index < data.length; ++index ) {
|
||
var vars = data[ index ].split( ':') ;
|
||
|
||
if ( vars[0] === 'table' )
|
||
var gtable = vars[1];
|
||
}
|
||
|
||
jQuery.ajax({
|
||
type: 'POST',
|
||
cache: false,
|
||
url: dir + '/ajax.php',
|
||
data: {
|
||
gtable: gtable,
|
||
gsort_column: gsort_column,
|
||
gsort_type: gsort_type,
|
||
a: 'gdraw'
|
||
},
|
||
beforeSend: function() {
|
||
jQuery( '#g-' + gtable ).find( '#g-loader' ).show();
|
||
},
|
||
success: function( data ) {
|
||
response = jQuery.parseJSON( data ); jQuery( '#g-' + gtable ).find( '#g-loader' ).hide();
|
||
if ( response.status === 'ok' )
|
||
{
|
||
jQuery( '#g-' + gtable ).find( '#g-results' ).empty().html( response.output );
|
||
}
|
||
else
|
||
{
|
||
if ( response.msg )
|
||
var msg = response.msg;
|
||
else
|
||
var msg = "Przepraszamy. Podczas wczytywania danych wystąpił błąd. Prosimy spróbować ponownie.";
|
||
create_error( msg );
|
||
}
|
||
}
|
||
});
|
||
});
|
||
|
||
jQuery( 'body' ).on( 'change', '#g-row-limit', function() {
|
||
var glimit = jQuery( this ).val();
|
||
|
||
var data = jQuery( this ).parents( '.g-container' ).attr( 'data' );
|
||
data = data.split( ";" );
|
||
|
||
for ( index = 0; index < data.length; ++index ) {
|
||
var vars = data[ index ].split( ':') ;
|
||
|
||
if ( vars[0] === 'table' )
|
||
var gtable = vars[1];
|
||
}
|
||
|
||
jQuery.ajax({
|
||
type: 'POST',
|
||
cache: false,
|
||
url: dir + '/ajax.php',
|
||
data: {
|
||
gtable: gtable,
|
||
glimit: glimit,
|
||
a: 'gdraw'
|
||
},
|
||
beforeSend: function() {
|
||
jQuery( '#g-' + gtable ).find( '#g-loader' ).show();
|
||
},
|
||
success: function( data ) {
|
||
response = jQuery.parseJSON( data ); jQuery( '#g-' + gtable ).find( '#g-loader' ).hide();
|
||
if ( response.status === 'ok' )
|
||
{
|
||
jQuery( '#g-' + gtable ).find( '#g-results' ).empty().html( response.output );
|
||
}
|
||
else
|
||
{
|
||
if ( response.msg )
|
||
var msg = response.msg;
|
||
else
|
||
var msg = "Przepraszamy. Podczas wczytywania danych wystąpił błąd. Prosimy spróbować ponownie.";
|
||
create_error( msg );
|
||
}
|
||
}
|
||
});
|
||
});
|
||
|
||
jQuery( 'body' ).on( 'click', '.date-range-icon', function()
|
||
{
|
||
$( this ).parents( '.input-group' ).children( 'input' ).trigger( 'click' );
|
||
});
|
||
|
||
jQuery( 'body' ).on( 'click', '.g-next, .g-last, .g-first, .g-previous, .g-page', function(e)
|
||
{
|
||
e.preventDefault();
|
||
|
||
var data = jQuery( this ).parents( '.g-container' ).attr( 'data' );
|
||
data = data.split( ";" );
|
||
|
||
for ( index = 0; index < data.length; ++index ) {
|
||
var vars = data[ index ].split( ':') ;
|
||
|
||
if ( vars[0] === 'table' )
|
||
var gtable = vars[1];
|
||
}
|
||
|
||
var gpage = jQuery( this ).attr( 'page' );
|
||
|
||
jQuery.ajax({
|
||
type: 'POST',
|
||
cache: false,
|
||
url: dir + '/ajax.php',
|
||
data: {
|
||
gtable: gtable,
|
||
gpage: gpage,
|
||
a: 'gdraw'
|
||
},
|
||
beforeSend: function() {
|
||
jQuery( '#g-' + gtable ).find( '#g-loader' ).show();
|
||
},
|
||
success: function( data ) {
|
||
response = jQuery.parseJSON( data ); jQuery( '#g-' + gtable ).find( '#g-loader' ).hide();
|
||
if ( response.status === 'ok' )
|
||
{
|
||
jQuery( '#g-' + gtable ).find( '#g-results' ).empty().html( response.output );
|
||
}
|
||
else
|
||
{
|
||
if ( response.msg )
|
||
var msg = response.msg;
|
||
else
|
||
var msg = "Przepraszamy. Podczas wczytywania danych wystąpił błąd. Prosimy spróbować ponownie.";
|
||
create_error( msg );
|
||
}
|
||
}
|
||
});
|
||
|
||
}); |