export default {
name: 'PackageList',
components: { },
data() {
return {
data: {},
selectedRow: 0,
list: "",
displayFields: "",
grid: new Grid(),
pageOptions: { pageSize: 5, pageSizes: true },
listQuery: {
page: 1,
limit: 20,
offset: 19
}
//DataService: new DataService(),
};
},
mounted() {
// Used vue mounted hook to provide dataSource to Grid and handled the initial paging
let state = { skip: 0, take: this.pageOptions.pageSize };
this.createDataGrid();
//this.dataStateChange(state);
},
methods: {
dataStateChange: function (state) {
// Handled the other Grid actions like paging, sorting etc.. by using dataState change event
this.DataService
.execute(state)
.then((gridData) => (this.data = gridData));
},
createDataGrid: function () {
Grid.Inject(
Page,
Sort,
Filter,
Group,
Toolbar,
Search,
PdfExport,
ExcelExport,
CommandColumn
);
this.grid = new Grid({
width: '100%',
pageSettings: { pageSize: 50 },
allowEditing: true,
allowAdding: true,
allowDeleting: true,
allowSorting: true,
allowGrouping: true,
allowTextWrap: true,
allowPaging: true,
allowExcelExport: true,
allowPdfExport: true,
filterSettings:'filterOptions',
selectionOption: {type: 'Single'},
toolbarClick: function (args) {
this.gridtoolbarClick(args);
}.bind(this),
resizeSettings: { mode: "Normal" },
created: function () {
this.grid.showSpinner();
this.getList();
}.bind(this),
toolbar: [
"Add",
"Edit",
"Delete",
"Search",
"PdfExport",
"ExcelExport",
"Print",
],
selectionSettings: { type: "Single", cellSelectionMode: 'Box' },
filterOptions: { type: "Menu", type: "CheckBox" },
commands: [
{
type: "Edit",
buttonOption: { cssClass: "e-flat", iconCss: "e-edit e-icons" },
},
{
type: "Delete",
buttonOption: { cssClass: "e-flat", iconCss: "e-delete e-icons" },
},
{
type: "Save",
buttonOption: { cssClass: "e-flat", iconCss: "e-update e-icons" },
},
{
type: "Cancel",
buttonOption: { cssClass: "e-flat", iconCss: "e-cancel-icon e-icons" },
},
],
dataBound: function (args) {
this.grid.toolbarModule.enableItems( [this.grid.element.id + "_add"], true);
if (this.grid.getSelectedRecords().length < 1) {
this.grid.toolbarModule.enableItems([this.grid.element.id + "_delete"], false);
this.grid.toolbarModule.enableItems( [this.grid.element.id + "_edit"], false);
}
}.bind(this),
rowSelected: function (args) {
if (this.grid.getSelectedRecords().length > 0) {
this.grid.toolbarModule.enableItems([this.grid.element.id + "_delete"], true);
this.grid.toolbarModule.enableItems( [this.grid.element.id + "_edit"], true);
}
}.bind(this),
rowDeselected: function (args) {
if (this.grid.getSelectedRecords().length === 0) {
this.grid.toolbarModule.enableItems([this.grid.element.id + "_delete"], false);
this.grid.toolbarModule.enableItems( [this.grid.element.id + "_edit"], false);
}
}.bind(this),
actionComplete: function (args) {
setTimeout(() => {
var gridObj = document.getElementById("Grid").ej2_instances[0];
if (gridObj.getSelectedRecords().length < 1) {
gridObj.toolbarModule.enableItems([gridObj.element.id + "_delete"], false);
gridObj.toolbarModule.enableItems([gridObj.element.id + "_edit"], false);
}
});
},
});
this.grid.appendTo("#Grid");
},
gridtoolbarClick: function (args) {
var gridObj = document.getElementById("Grid").ej2_instances[0];
console.log(gridObj);
var UUID_Value = this.grid.getPrimaryKeyFieldNames()[0];
//var id = e.data[0][primaryKeyField];
console.log(UUID_Value);
if (args.item.id === "Grid_pdfexport") {
// 'Grid_pdfexport' -> Grid component id + _ + toolbar item name
this.grid.pdfExport();
}
else if (args.item.id === 'Grid_excelexport') { // 'Grid_excelexport' -> Grid component id + _ + toolbar item name
this.grid.excelExport();
}
else if (args.item.id === 'Grid_add') { // 'Grid_add' -> Grid component id + _ + toolbar item name
alert("Clicou botão ADD...");
}
else if (args.item.id === 'Grid_delete' ) { // 'Grid_delete' -> Grid component id + _ + toolbar item name
console.log(args.item.querySelector("uuid").value);
//handleDelete(args.form.querySelector("#Freight"))
}
else if (args.item.id === 'Grid_edit') { // 'Grid_edit' -> Grid component id + _ + toolbar item name
//var uuid = document.getUidByColumnField ("uuid")
//console.log (uuid);
alert("Clicou botão EDIT...:");
}
},