247 lines
7.9 KiB
JavaScript
247 lines
7.9 KiB
JavaScript
(function ($) {
|
|
var _companyService = abp.services.app.companyMaster
|
|
l = abp.localization.getSource('BMC'),
|
|
_$modal = $('#ClientMasterCreateModal'),
|
|
_$form = _$modal.find('form'),
|
|
_$table = $('#CompanyMasterTable');
|
|
|
|
var _$companyTable = _$table.DataTable({
|
|
paging: true,
|
|
serverSide: true,
|
|
listAction: {
|
|
ajaxFunction: _companyService.getCompanies,
|
|
inputFilter: function () {
|
|
return $('#CompanySearchForm').serializeFormToObject(true);
|
|
}
|
|
},
|
|
buttons: [
|
|
{
|
|
name: 'refresh',
|
|
text: '<i class="fas fa-redo-alt"></i>',
|
|
action: () => _$companyTable.draw(false)
|
|
}
|
|
],
|
|
responsive: {
|
|
details: {
|
|
type: 'column'
|
|
}
|
|
},
|
|
columnDefs: [
|
|
{
|
|
targets: 0,
|
|
'className': 'dt-body-center',
|
|
'render': function (data, type, full, meta) {
|
|
return '<input type="checkbox" name="id[]" value="'
|
|
+ $('<div/>').text(data).html() + '">';
|
|
}
|
|
}, {
|
|
targets: 1,
|
|
data: 'id',
|
|
defaultContent: '',
|
|
}, {
|
|
targets: 2,
|
|
data: 'companyName',
|
|
sortable: false
|
|
|
|
}, {
|
|
targets: 3,
|
|
data: 'url',
|
|
sortable: false
|
|
},{
|
|
targets: 4,
|
|
data: 'domainName',
|
|
sortable: false
|
|
}, {
|
|
|
|
targets: 5,
|
|
data: 'subDomainName',
|
|
sortable: false
|
|
},{
|
|
targets: 6,
|
|
data: null,
|
|
sortable: false,
|
|
autoWidth: false,
|
|
defaultContent: '',
|
|
render: (data, type, row, meta) => {
|
|
return [
|
|
` <button type="button" class="btn btn-sm bg-secondary edit-company" data-tenant-id="${row.id}" data-toggle="modal" data-target="#CompanyEditModal">`,
|
|
` <i class="fas fa-pencil-alt"></i> ${l('Edit')}`,
|
|
' </button>',
|
|
` <button type="button" class="btn btn-sm bg-danger delete-company" data-tenant-id="${row.id}" data-company-name="${row.name}">`,
|
|
` <i class="fas fa-trash"></i> ${l('Delete')}`,
|
|
' </button>'
|
|
|
|
].join('');
|
|
}
|
|
}
|
|
]
|
|
});
|
|
|
|
// Handle click on "Select all" control
|
|
$('#example-select-all').on('click', function () {
|
|
// Check/uncheck all checkboxes in the table
|
|
var rows = _$companyTable.rows({ 'search': 'applied' }).nodes();
|
|
$('input[type="checkbox"]', rows).prop('checked', this.checked);
|
|
});
|
|
|
|
_$form.find('.save-button').on('click', (e) => {
|
|
e.preventDefault();
|
|
|
|
if (!_$form.valid()) {
|
|
return;
|
|
}
|
|
|
|
var companydetails = _$form.serializeFormToObject();
|
|
|
|
|
|
abp.ui.setBusy(_$modal);
|
|
_companyService.createOrUpdateCompanyMaster(companydetails).done(function () {
|
|
_$modal.modal('hide');
|
|
_$form[0].reset();
|
|
abp.notify.info(l('SavedSuccessfully'));
|
|
_$companyTable.ajax.reload();
|
|
}).always(function () {
|
|
abp.ui.clearBusy(_$modal);
|
|
});
|
|
});
|
|
|
|
$(document).on('click', '.delete-company', function () {
|
|
var companyId = $(this).attr("data-tenant-id");
|
|
var domainName = $(this).attr('data-company-name');
|
|
deleteUser(companyId, domainName);
|
|
});
|
|
|
|
function deleteUser(companyId, domainName) {
|
|
abp.message.confirm(
|
|
abp.utils.formatString(
|
|
l('AreYouSureWantToDelete'),
|
|
companyId),
|
|
null,
|
|
(isConfirmed) => {
|
|
if (isConfirmed) {
|
|
_companyService.deleteCompany({
|
|
id: companyId
|
|
}).done(() => {
|
|
abp.notify.info(l('SuccessfullyDeleted'));
|
|
_$companyTable.ajax.reload();
|
|
});
|
|
}
|
|
}
|
|
);
|
|
}
|
|
|
|
$(document).on('click', '.edit-company', function (e) {
|
|
var id = $(this).attr("data-tenant-id");
|
|
|
|
e.preventDefault();
|
|
abp.ajax({
|
|
url: abp.appPath + 'CompanyMaster/CreateOrEditModal?id=' + id,
|
|
type: 'POST',
|
|
dataType: 'html',
|
|
success: function (content) {
|
|
$('#CompanyEditModal div.modal-content').html(content);
|
|
},
|
|
error: function (e) {
|
|
}
|
|
});
|
|
});
|
|
|
|
$(document).on('click', 'a[data-target="#ClientMasterCreateModal"]', (e) => {
|
|
$('.nav-tabs a[href="#client-details"]').tab('show')
|
|
});
|
|
|
|
abp.event.on('tenant.edited', (data) => {
|
|
_$companyTable.ajax.reload();
|
|
});
|
|
|
|
_$modal.on('shown.bs.modal', () => {
|
|
_$modal.find('input:not([type=hidden]):first').focus();
|
|
}).on('hidden.bs.modal', () => {
|
|
_$form.clearForm();
|
|
});
|
|
|
|
$('.btn-search').on('click', (e) => {
|
|
_$companyTable.ajax.reload();
|
|
});
|
|
|
|
$('.txt-search').on('keypress', (e) => {
|
|
if (e.which == 13) {
|
|
_$companyTable.ajax.reload();
|
|
return false;
|
|
}
|
|
});
|
|
|
|
|
|
var $delete = $('#btnDelete');
|
|
//$("#btnDelete").on("click", function () {
|
|
// debugger;
|
|
// _$companyTable.rows($('table tr').has('input:checked')).remove().draw();
|
|
//})
|
|
|
|
//$("#btnDelete").on("click", function () {
|
|
// debugger;
|
|
|
|
// const table = document.getElementById("CompanyMasterTable");
|
|
// console.log(table.id);
|
|
// //for (const [index, row] of [...table.rows].entries()) {
|
|
// // if (row.querySelector('input:checked')) {
|
|
// //table.deleteRow(index);
|
|
// // console.log(table);
|
|
// // deletOpenTagsByCheckBoxes(index);
|
|
// // }
|
|
// // }
|
|
//});
|
|
|
|
// $(function () {
|
|
$delete.click(function () {
|
|
debugger;
|
|
//var ids = $.map(_$companyTable('getSelections'), function (row) {
|
|
// return row.id
|
|
// });
|
|
//var rows = _$companyTable.rows({ 'search': 'applied' }).nodes();
|
|
//var deleteId = $('input[type="checkbox"]', rows).prop('checked', this.checked);
|
|
|
|
//var ids = deleteId;
|
|
//var ids = $('#CompanyMasterTable').column(1, { selected: true }).data();
|
|
|
|
//var ids = []
|
|
//$('input[type="checkbox"]:checked').each(function () {
|
|
// ids.push($(this).data('id'))
|
|
//})
|
|
var ids = _$companyTable
|
|
.row({ selected: true })
|
|
.data();
|
|
console.log(ids.id)
|
|
|
|
if (ids.id <= 0) {
|
|
return confirm("Please Select Atleast One Record");
|
|
}
|
|
else {
|
|
deletOpenTagsByCheckBoxes(ids.id);
|
|
}
|
|
deletOpenTagsByCheckBoxes();
|
|
});
|
|
// });
|
|
|
|
function deletOpenTagsByCheckBoxes(idList) {
|
|
debugger;
|
|
abp.utils.formatString(
|
|
l('Deleteselectedrecords'),
|
|
function (isConfirmed) {
|
|
if (isConfirmed) {
|
|
_companyService.deleteCompanyList({
|
|
ids: idList.id
|
|
}).done(function () {
|
|
if (_$table.data('rows') === 1) {
|
|
params.pageIndex = params.pageIndex === 1 ? 1 : params.pageIndex - 1;
|
|
}
|
|
prevParams.filter = 'start';
|
|
_$companyTable.ajax.reload();
|
|
abp.notify.success(app.localize('SuccessfullyDeleted'));
|
|
});
|
|
}
|
|
}
|
|
);
|
|
}
|
|
})(jQuery);
|