Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function SetupDataTable() {
- var products = jsonProducts.map(p => p.product);
- conlog.info(JSON.stringify(products));
- editor = new $.fn.dataTable.Editor({
- data: jsonObject.loadDetails,
- table: '#transferLines',
- idSrc: "lineID",
- display: 'lightbox',
- paging: false,
- fields: [
- {
- "label": "shipped:",
- "name": "shipped",
- "type": "hidden",
- "def": false,
- "separator": "|",
- "ipOpts": [
- { label: '', value: true }
- ],
- },
- {
- "label": "Transfer Name:",
- "name": "transferName",
- "type": "hidden"
- },
- {
- "label": "Transfer ID:",
- "name": "transferID",
- "type": "hidden"
- },
- {
- "label": "Line ID:",
- "name": "lineID",
- "type": "hidden",
- "def": 0
- },
- {
- "label": "Product:",
- "name": "product",
- "type": "select",
- "options": products
- },
- {
- "label": "UOM:",
- "name": "uom",
- "def": "EACH",
- "type": "readonly"
- },
- {
- "label": "Qty Shipped:",
- "name": "qtyShipped",
- "def": 1
- },
- {
- "label": "Qty Rec'd Acceptable:",
- "name": "qtyReceived",
- "def": 0
- },
- {
- "label": "Qty Refused:",
- "name": "qtyRefused",
- "def": 0
- },
- {
- "label": "Qty Damaged:",
- "name": "qtyDamaged",
- "def": 0
- },
- {
- "label": "Qty Scrap:",
- "name": "qtyScrap",
- "def": 0
- },
- {
- "label": "Discrepancy Notes:",
- "name": "discrepancyNote"
- },
- {
- "label": "Sku",
- "name": "sku",
- "type": "hidden"
- },
- {
- "label": "Report Category",
- "name": "reportCategory",
- "type": "hidden"
- }
- ]
- });
- editor.on('initCreate', editorInitCreate);
- editor.on('initEdit', editorInitEdit);
- editor.on('preSubmit', editorPreSubmit);
- editor.on('submitSuccess', editorSubmitSuccess);
- table = $('#transferLines').DataTable({
- dom: 'Bfrtip',
- data: jsonObject.loadDetails,
- responsive: {
- details: {
- type: 'column'
- }
- },
- order: [[2, 'asc']],
- rowID: 'lineID',
- paging: false,
- columns: [
- { "data": null, defaultContent: "" },
- {
- "data": "shipped",
- render: function (input, type, row) {
- //if (type === 'display') {
- return '<input type="checkbox" class="editor-active" disabled="disabled">';
- //}
- }
- },
- {
- "data": "product",
- "responsivePriority": 1
- },
- {
- "data": "uom"
- },
- {
- "data": "qtyShipped",
- "responsivePriority": 1
- },
- {
- "data": "qtyReceived"
- },
- {
- "data": "qtyRefused"
- },
- {
- "data": "qtyDamaged"
- },
- {
- "data": "qtyScrap",
- render: $.fn.dataTable.render.number(',', '.', 0, '')
- },
- {
- "data": "discrepancyNote",
- "responsivePriority": 2
- }//,
- //{
- // "data": "sku"
- //},
- //{
- // "data": "reportCategory"
- //}
- ],
- columnDefs: [{
- className: 'control',
- orderable: false,
- targets: 0
- }],
- select: 'multi',
- lengthChange: false,
- rowCallback: function (row, input) {
- // Set the checked state of the checkbox in the table
- $('input.editor-active', row).prop('checked', input.shipped == true);
- },
- buttons: [
- { extend: 'create', editor: editor },
- { extend: 'edit', editor: editor },
- { extend: 'remove', editor: editor },
- { extend: 'selectAll', editor: editor },
- { extend: 'selectNone', editor: editor },
- { extend: 'print', editor: editor }
- ]
- });
- table.on('select deselect', tableSelectChange);
- $('#transferLines').on('dblclick', 'tbody tr', function () {
- table.row(this).edit();
- table.rows().deselect();
- table.row(this).select();
- });
- UpdateCreateLine();
- table.draw();
- }
- function tableSelectChange() {
- var selectedRows = table.rows({ selected: true }).count();
- if (selectedRows > 0) {
- if (table.rows({ selected: true })
- .reduce((shipped, row) => table.row(row).data().shipped || shipped, false)) {
- table.buttons(2).disable();
- }
- else {
- table.buttons(2).enable();
- }
- }
- else {
- table.buttons(2).disable();
- }
- }
- function editorInitCreate(e) {
- //hide received fields
- editor.hide('qtyDamaged');
- editor.hide('qtyReceived');
- editor.hide('qtyRefused');
- editor.hide('qtyScrap');
- editor.hide('discrepancyNote');
- }
- function editorInitEdit(e, node, data) {
- if (data.shipped == true) {
- editor.disable('qtyShipped');
- }
- else {
- editor.hide('qtyDamaged');
- editor.hide('qtyReceived');
- editor.hide('qtyRefused');
- editor.hide('qtyScrap');
- editor.hide('discrepancyNote');
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement