У меня есть следующее, которое добавляет кнопки редактора DataTables при инициализации.
$( '#year_table' ).DataTable( {
responsive: true,
ajax: "program_data/year_data.php",
dom: "Bfrtip",
columns: [ {
data: "year_name"
}, {
data: "modified"
}, {
data: "modified_by"
} ],
select: {
style: 'os',
selector: 'td:first-child'
},
buttons: [ {
extend: "create",
editor: editor
}, {
extend: "edit",
editor: editor
}, {
extend: "remove",
editor: editor
} ]
} );
Однако я хочу добавить кнопки после инициализации в соответствии с разрешениями пользователя.
if ( permision == 'create' || permision == 'super' ) {
$( '#year_table' ).DataTable().buttons().add( {
extend: 'create',
editor: editor
} );
}
if ( permision == 'edit' || permision == 'super' ) {
$( '#year_table' ).DataTable().buttons().add( {
extend: 'edit',
editor: editor
} );
}
if ( permision == 'super' ) {
$( '#year_table' ).DataTable().buttons().add( {
extend: 'delete',
editor: editor
} );
}
Как изменить инициализацию DataTables, чтобы это работало?
Я пробовал следующий простой тест, но не добавил кнопку:
var table = $( '#year_table' ).DataTable( {
responsive: true,
ajax: "program_data/year_data.php",
dom: "Bfrtip",
columns: [ {
data: "year_name"
}, {
data: "modified"
}, {
data: "modified_by"
} ],
} );
table.buttons().add( {
extend: 'create',
editor: editor
} );