Skip to content

Instantly share code, notes, and snippets.

@naterh
Created January 8, 2015 20:33
Show Gist options
  • Save naterh/5e420f86554ce4b5940d to your computer and use it in GitHub Desktop.
Save naterh/5e420f86554ce4b5940d to your computer and use it in GitHub Desktop.
<script type="text/javascript">
$(document).ready(function(){
var changes_table = $('#get-changes').dataTable({
"sDom": "<'row'<'span6'>f<'span6'>r>t<'row'<'span6'li><'span6'>p>",
"oLanguage": {"sSearch": "Search Changes:"},
"sPaginationType": "bootstrap",
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": '${request.route_path("get_template_changes")}',
"bDeferRender": true,
"bStateSave": true,
"aoColumns" : [
{ sWidth: '10px',
"mRender": function ( data, type, row ) {
return "";
},
"aTargets": [ 0 ]
},
{ sWidth: '20px',
"mRender": function ( data, type, row ) {
var dd_id = '"' + row[3] + "-dd" + '"';
var template_path = '"' + "/templates/" + row[1] + '"';
var rl_id = '"' + row[3] + "-rl" + '"';
var id_action = '"' + row[3] + ',' + row[6] + '"';
return "<div class='rs-dropdown'><div class='rs-cog rs-dropdown-toggle' onclick='toggle_visibility(" + dd_id + ");'></div><ul class='rs-dropdown-menu' id=" + dd_id + "><li><span class='rs-dropdown-category'>Options</span></li><li tal:condition='request.user is not None and request.user.groups == ["role:admin"]'><a href=" + template_path + ">Edit Template&hellip;</a></li><li><a href='/template_change_details/"+row[3]+"'>View Details&hellip;</a></li><li tal:condition='request.user is not None and request.user.groups == ["role:admin"]'><a href='javascript:void(0);' onclick='toggle_visibility(" + rl_id + ");'>Revert Change&hellip;</a></li></ul></div><div class='rs-popover hidden' id=" + rl_id + "><div class='rs-popover-arrow rs-popover-arrow-top-left'></div><div class='rs-popover-content'><div class='rs-popover-body'><strong>Permanently revert</strong> this " + row[3] + " change?</div><div class='rs-popover-footer rs-btn-group'><div class='rs-btn rs-btn-primary' href='javascript:void(0);' onclick='revert_change(" + id_action + ");'>Revert Change</div><div class='rs-btn rs-btn-link' onclick='toggle_visibility(" + rl_id + ");'>Cancel</div></div></div></div>";
},
"aTargets": [ 1 ]
},
{ sWidth: '35px',
"mRender": function ( data, type, row ) {
var logo = getLogo(data.split('_')[0]);
return "<img src='/fanstatic/kotti_admin/img/" + logo + "' width='25' height='25'>";
},
"aTargets": [ 2 ]
},
{ sWidth: '50px',
"mRender": function ( data, type, row ) {
var template_path = '"' + "/template_change_details/" + row[3] + '"';
return "<a href=" + template_path + ">" + row[3] + "</a>";
},
"aTargets": [ 3 ]
},
{ sWidth: '150px',
"mRender": function ( data, type, row ) {
if (user.length > 0) {
var template_path = '"' + "/templates/" + row[1] + '"';
return "<a href=" + template_path + ">" + row[4] + "</a>";
} else {
return data;
}
},
"aTargets": [ 4 ]
},
{ sWidth: '0px',
"mRender": function ( data, type, row ) {
return "";
},
"aTargets": [ 5 ]
},
{ sWidth: '80px'},
{ sWidth: '0px',
"mRender": function ( data, type, row ) {
return "";
},
"aTargets": [ 7 ]
},
{ sWidth: '400px',
"mRender": function ( data, type, row ) {
if (row[6] == 'create') {
return "Template Created";
}
else if (row[6] == 'delete') {
return "Template Deleted";
}
else if (row[6] == 'update-attr') {
return json_diffs(row[5], row[7]);
}
else if (row[6] == 'create-prop') {
return row[11];
}
else if ( row[6] == 'update-prop') {
return json_diffs(row[9], row[11]);
}
else if (row[6] == 'delete-prop') {
return row[9];
}
else if (row[6] == 'reverted-create') {
var html_content = '<span class="rs-status-error">Template Deleted</span>';
return html_content;
}
else if (row[6] == 'reverted-delete') {
var html_content = '<span class="rs-status-error">Template Created</span>';
return html_content;
}
else if (row[6] == 'reverted-update-attr') {
var html_content = '<span class="rs-status-error">' + json_diffs(row[5], row[7]) + '</span>';
return html_content;
}
else if (row[6] == 'reverted-create-prop') {
var html_content = '<span class="rs-status-error">' + row[11] + '</span>';
return html_content;
}
else if (row[6] == 'reverted-update-prop') {
var html_content = '<span class="rs-status-error">' + json_diffs(row[9], row[11]) + '</span>';
return html_content;
}
else if (row[6] == 'reverted-delete-prop') {
var html_content = '<span class="rs-status-error">' + row[9] + '</span>';
return html_content;
}
else {
var html_content = '<span class="rs-status-error">Error processing changes...</span>';
return html_content;
}
},
"aTargets": [ 8 ]
},
{ sWidth: '0px',
"mRender": function ( data, type, row ) {
return "";
},
"aTargets": [ 9 ]
},
{ sWidth: '100px' },
{ sWidth: '0px',
"mRender": function ( data, type, row ) {
return "";
},
"aTargets": [ 11 ]
},
{ sWidth: '150px'},
],
"fnRowCallback": function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {
var tr_indicator = aData[3] + '-tr';
var action_indicator = aData[3] + '-action';
$('td:eq(0)', nRow).attr('id', tr_indicator);
$('td:eq(6)', nRow).attr('id', action_indicator);
if ((aData[6] == 'create') || (aData[6] == 'create-prop')) {
var html_content = '<span class="rs-status rs-status-ok">' + aData[6] + '</span>';
$('td:eq(0)', nRow).addClass( "rs-table-status rs-table-status-ok" );
$('td:eq(6)', nRow).html( html_content );
}
else if ((aData[6] == 'delete') || (aData[6] == 'delete-prop')) {
var html_content = '<span class="rs-status rs-status-error">' + aData[6] + '</span>';
$('td:eq(0)', nRow).addClass( "rs-table-status rs-table-status-error" );
$('td:eq(6)', nRow).html( html_content );
}
else if ((aData[6] == 'update-attr') || (aData[6] == 'update-prop')){
var html_content = '<span class="rs-status rs-status-warning">' + aData[6] + '</span>';
$('td:eq(0)', nRow).addClass( "rs-table-status rs-table-status-warning" );
$('td:eq(6)', nRow).html( html_content );
}
else if (aData[6].substring(0,8) == 'reverted') {
var html_content = '<span class="rs-status rs-status-disabled">' + aData[6] + '</span>';
$('td:eq(0)', nRow).addClass( "rs-table-status rs-table-status-disabled" );
$('td:eq(6)', nRow).html( html_content );
}
else {
var html_content = '<span class="rs-status rs-status-warning">' + aData[6] + '</span>';
$('td:eq(0)', nRow).addClass( "rs-table-status rs-table-status-warning" );
$('td:eq(6)', nRow).html( html_content );
}
$('td:eq(1)', nRow).addClass( "rs-table-cog" );
$('td:eq(3),td:eq(5),td:eq(6),td:eq(8),td:eq(10),td:eq(12)', nRow).addClass( "rs-table-text" );
},
"order": [[ 3, "desc" ]]
});
$('.rs-dropdown').each(function (i, element) {
var menu = new canon.Menu();
menu.attach(element);
});
$('#nav-logs').addClass('active')
});
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment