update
This commit is contained in:
@@ -26,6 +26,22 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="campaigns-list-panel" id="campaigns_list_panel" style="display: none;">
|
||||
<div class="campaigns-list-toolbar">
|
||||
<div class="campaigns-list-toolbar-left">
|
||||
<input type="checkbox" id="campaigns_select_all" title="Zaznacz wszystkie">
|
||||
<label for="campaigns_select_all">Zaznacz wszystkie</label>
|
||||
<span class="campaigns-selected-count">Zaznaczone: <strong id="campaigns_selected_count">0</strong></span>
|
||||
</div>
|
||||
<div class="campaigns-list-toolbar-right">
|
||||
<button type="button" id="campaigns_bulk_delete" class="campaigns-bulk-delete-btn" disabled>
|
||||
<i class="fa-solid fa-trash"></i> Usun zaznaczone
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="campaigns-list-items" id="campaigns_list_items"></div>
|
||||
</div>
|
||||
|
||||
<div class="campaigns-chart-wrap">
|
||||
<div id="container"></div>
|
||||
</div>
|
||||
@@ -162,6 +178,113 @@ function reloadChart()
|
||||
|
||||
$( function()
|
||||
{
|
||||
function updateCampaignsSelectedCount()
|
||||
{
|
||||
var count = $( '.campaigns-list-item-cb:checked' ).length;
|
||||
$( '#campaigns_selected_count' ).text( count );
|
||||
$( '#campaigns_bulk_delete' ).prop( 'disabled', count === 0 );
|
||||
$( '#campaigns_select_all' ).prop( 'checked', count > 0 && count === $( '.campaigns-list-item-cb' ).length );
|
||||
}
|
||||
|
||||
function buildCampaignsList( campaigns )
|
||||
{
|
||||
var panel = $( '#campaigns_list_panel' );
|
||||
var container = $( '#campaigns_list_items' );
|
||||
container.empty();
|
||||
$( '#campaigns_select_all' ).prop( 'checked', false );
|
||||
updateCampaignsSelectedCount();
|
||||
|
||||
if ( !campaigns.length )
|
||||
{
|
||||
panel.hide();
|
||||
return;
|
||||
}
|
||||
|
||||
campaigns.forEach( function( pair ) {
|
||||
var c = pair[1];
|
||||
var item = $( '<label class="campaigns-list-item">' +
|
||||
'<input type="checkbox" class="campaigns-list-item-cb" value="' + c.id + '" data-name="' + $( '<span>' ).text( c.campaign_name ).html() + '"> ' +
|
||||
'<span class="campaigns-list-item-name">' + $( '<span>' ).text( c.campaign_name ).html() + '</span>' +
|
||||
'</label>' );
|
||||
container.append( item );
|
||||
});
|
||||
|
||||
panel.show();
|
||||
}
|
||||
|
||||
$( 'body' ).on( 'change', '.campaigns-list-item-cb', updateCampaignsSelectedCount );
|
||||
|
||||
$( 'body' ).on( 'change', '#campaigns_select_all', function()
|
||||
{
|
||||
$( '.campaigns-list-item-cb' ).prop( 'checked', $( this ).is( ':checked' ) );
|
||||
updateCampaignsSelectedCount();
|
||||
});
|
||||
|
||||
$( 'body' ).on( 'click', '#campaigns_bulk_delete', function()
|
||||
{
|
||||
var checked = $( '.campaigns-list-item-cb:checked' );
|
||||
var count = checked.length;
|
||||
|
||||
if ( count === 0 ) return;
|
||||
|
||||
var names = [];
|
||||
checked.each( function() { names.push( $( this ).data( 'name' ) ); } );
|
||||
var namesList = '<ul style="text-align:left; max-height:200px; overflow:auto; margin-top:10px;">';
|
||||
names.forEach( function( n ) { namesList += '<li>' + n + '</li>'; } );
|
||||
namesList += '</ul>';
|
||||
|
||||
$.confirm({
|
||||
title: 'Potwierdzenie usuniecia',
|
||||
content: 'Czy na pewno chcesz usunac <strong>' + count + '</strong> kampanii?' + namesList + '<br>Ta operacja jest nieodwracalna i usunie rowniez cala historie tych kampanii.',
|
||||
type: 'red',
|
||||
buttons: {
|
||||
confirm: {
|
||||
text: 'Usun (' + count + ')',
|
||||
btnClass: 'btn-red',
|
||||
action: function()
|
||||
{
|
||||
var ids = [];
|
||||
checked.each( function() { ids.push( $( this ).val() ); } );
|
||||
|
||||
$.ajax({
|
||||
url: '/campaigns/delete_campaigns/',
|
||||
type: 'POST',
|
||||
data: { ids: ids },
|
||||
success: function( response )
|
||||
{
|
||||
var data = JSON.parse( response );
|
||||
if ( data.success )
|
||||
{
|
||||
$.alert({
|
||||
title: 'Sukces',
|
||||
content: 'Usunieto ' + data.deleted + ' kampanii.',
|
||||
type: 'green',
|
||||
autoClose: 'ok|2000'
|
||||
});
|
||||
|
||||
var current_campaign = $( '#campaign_id' ).val();
|
||||
if ( ids.indexOf( current_campaign ) !== -1 )
|
||||
storage_set( STORAGE_CAMPAIGN_KEY, '' );
|
||||
|
||||
$( '#client_id' ).trigger( 'change' );
|
||||
}
|
||||
else
|
||||
{
|
||||
$.alert({
|
||||
title: 'Blad',
|
||||
content: data.message || 'Nie udalo sie usunac kampanii.',
|
||||
type: 'red'
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
cancel: { text: 'Anuluj' }
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$( 'body' ).on( 'change', '#client_id', function()
|
||||
{
|
||||
var client_id = $( this ).val();
|
||||
@@ -176,7 +299,10 @@ $( function()
|
||||
campaigns_select.append( '<option value="">- wybierz kampanie -</option>' );
|
||||
|
||||
if ( !client_id )
|
||||
{
|
||||
$( '#campaigns_list_panel' ).hide();
|
||||
return;
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
url: '/campaigns/get_campaigns_list/client_id=' + client_id,
|
||||
@@ -201,6 +327,8 @@ $( function()
|
||||
campaigns_select.append( '<option value="' + value.id + '">' + value.campaign_name + '</option>' );
|
||||
});
|
||||
|
||||
buildCampaignsList( campaigns );
|
||||
|
||||
if ( campaign_to_restore && campaigns_select.find( 'option[value="' + campaign_to_restore + '"]' ).length )
|
||||
{
|
||||
campaigns_select.val( campaign_to_restore ).trigger( 'change' );
|
||||
|
||||
Reference in New Issue
Block a user