if (!colConfig.error && colConfig?.cf2fields) {
colConfig.cf2fields.push({name:'Project Name',visible:"1",ord:'0',manage:{name:'Project'}});
let fields = colConfig.cf2fields;
fields.sort((a, b) => (+a.ord || 0) - (+b.ord || 0));
dtColumns = fields.map(field => {
console.log('field',field.manage.name);
let column = {
data: field.name,
title: field.manage.name ? field.manage.name : field.name.charAt(0).toUpperCase() + field.name.slice(1),
visible: field.visible !== "0" ? true : false,
};
if (field.name === 'tag' || field.name === 'tags') {
column.columnControl= [
"order",
[
'orderAsc', 'orderDesc',
{
extend: "searchList",
options: tagOptions.map(function(x) { return { label: x, value: x }; })
}
]
]
}
if (field.name === 'due') {
column.type = 'date';
column.render = DataTable.render.datetime('D MMM YYYY');
column.columnControl = [
"order",
[
{ extend: 'orderAsc', text: 'Older First' },
{ extend: 'orderDesc', text: 'Newer First' },
{
extend: "search",
text: "Filter by Date",
config: {
mask: 'YYYY-MM-DD',
format: 'D MMM YYYY'
}
}
]
];
}
return column;
});
}
new DataTable('#projectTable', {
columns: dtColumns,
ordering: {
indicators: false,
handler: false
},
scrollX: true,
scrollY: 500,
scroller: true,
colReorder: true,
stateSave: true
});
Answers
if (field.name === 'due') {
column.columnControl= [
"order",
[
{ extend: 'orderAsc', text: 'Older First' },
{ extend: 'orderDesc', text: 'Newer First' },
{ extend: "search", text:'Filter by Date',format: 'YYYY-MM-DD'}
]
];
column.render = DataTable.render.datetime('DD T', 'de-CH');
}
if (field.name === 'dateCreated') {
column.columnControl= [
"order",
[
{ extend: 'orderAsc', text: 'Older First' },
{ extend: 'orderDesc', text: 'Newer First' },
{ extend: "search", text:'Filter by Date',format: 'YYYY-MM-DD'}
]
];
column.render = DataTable.render.datetime('DD T', 'de-CH');
}
it is working with due but not working with dateCreated
Can you link to a test case showing the issue so I can help to debug it please? See How to ask for help for further details if you can't just link to your page.
Allan