Difference between revisions of "User:JP/common.js"
Line 5: | Line 5: | ||
}); | }); | ||
}); | }); | ||
+ | var tfConfig = { | ||
+ | base_path: 'tablefilter/', | ||
+ | alternate_rows: true, | ||
+ | btn_reset: true, | ||
+ | rows_counter: true, | ||
+ | loader: true, | ||
+ | status_bar: true, | ||
+ | paging: true, | ||
+ | col_0: 'select', | ||
+ | col_1: 'select', | ||
+ | col_2: 'select', | ||
+ | extensions:[{ | ||
+ | name: 'sort', | ||
+ | types: [ | ||
+ | 'string', 'string', 'number', | ||
+ | 'number', 'number', 'number', | ||
+ | 'number', 'number', 'number' | ||
+ | ] | ||
+ | }] | ||
+ | }; | ||
+ | var tf = new TableFilter(document.querySelector('#demo'), tfConfig); | ||
+ | |||
+ | // Subscribe to events | ||
+ | // Format cell at initialization | ||
+ | tf.emitter.on(['initialized'], parseRows); | ||
+ | // Format cell upon filtering | ||
+ | tf.emitter.on(['cell-processed'], formatCell); | ||
+ | |||
+ | tf.init(); | ||
+ | |||
+ | // Process all rows on start-up | ||
+ | function parseRows(tf){ | ||
+ | var cellIndex = 3; // POP column | ||
+ | var rowsIdx = tf.getValidRows(); | ||
+ | rowsIdx.forEach(function(idx){ | ||
+ | var row = tf.tbl.rows[idx]; | ||
+ | var cell = row.cells[cellIndex]; | ||
+ | formatCell(tf, cellIndex, cell); | ||
+ | }); | ||
+ | } | ||
+ | |||
+ | // Format passed cell with custom logic | ||
+ | function formatCell(tf, cellIndex, cell){ | ||
+ | if(cellIndex !== 3){ | ||
+ | return; | ||
+ | } | ||
+ | var cellData = parseInt(cell.innerHTML, 10); | ||
+ | |||
+ | // some rows do not contain a numeric value | ||
+ | if(isNaN(cellData)){ | ||
+ | return; | ||
+ | } | ||
+ | |||
+ | if(cellData >= 100000){ | ||
+ | cell.style.backgroundColor = '#ff0000'; | ||
+ | } else if(cellData < 100000 && cellData >= 50000) { | ||
+ | cell.style.backgroundColor = '#3399ff'; | ||
+ | } else { | ||
+ | cell.style.backgroundColor = '#cfff33'; | ||
+ | } | ||
+ | } |
Revision as of 17:37, 3 August 2016
$(function(){
importArticles({
type: "script",
articles: ["u:pad.wikia.com:MediaWiki:FilterTable.js"]
});
});
var tfConfig = {
base_path: 'tablefilter/',
alternate_rows: true,
btn_reset: true,
rows_counter: true,
loader: true,
status_bar: true,
paging: true,
col_0: 'select',
col_1: 'select',
col_2: 'select',
extensions:[{
name: 'sort',
types: [
'string', 'string', 'number',
'number', 'number', 'number',
'number', 'number', 'number'
]
}]
};
var tf = new TableFilter(document.querySelector('#demo'), tfConfig);
// Subscribe to events
// Format cell at initialization
tf.emitter.on(['initialized'], parseRows);
// Format cell upon filtering
tf.emitter.on(['cell-processed'], formatCell);
tf.init();
// Process all rows on start-up
function parseRows(tf){
var cellIndex = 3; // POP column
var rowsIdx = tf.getValidRows();
rowsIdx.forEach(function(idx){
var row = tf.tbl.rows[idx];
var cell = row.cells[cellIndex];
formatCell(tf, cellIndex, cell);
});
}
// Format passed cell with custom logic
function formatCell(tf, cellIndex, cell){
if(cellIndex !== 3){
return;
}
var cellData = parseInt(cell.innerHTML, 10);
// some rows do not contain a numeric value
if(isNaN(cellData)){
return;
}
if(cellData >= 100000){
cell.style.backgroundColor = '#ff0000';
} else if(cellData < 100000 && cellData >= 50000) {
cell.style.backgroundColor = '#3399ff';
} else {
cell.style.backgroundColor = '#cfff33';
}
}