Best JavaScript code snippet using wpt
inventory.js
Source:inventory.js
1$('#btnMerge').click(() => {2 let mergeElements = []3 let newInventory = []4 //save checked5 Inventory.forEach((element,index) => {6 if(element.checked == 1)7 {8 mergeElements.push(index)9 }10 })11 if(mergeElements.length < 2)12 {13 alert('Select the Inventory to merge')14 return false15 }16 let s = Inventory[mergeElements[0]].strain,p = Inventory[mergeElements[0]].pType17 let mergedCount = Inventory[mergeElements[0]].isSingle == 0?1:018 let mergedIndex = mergedCount == 1?mergeElements[0]:-119 for(let i = 1; i < mergeElements.length; i ++)20 {21 if(Inventory[mergeElements[i]].strain != s || Inventory[mergeElements[i]].pType != p)22 {23 alert('You can join Inventory with Strain and Product Category')24 return false25 }26 if(Inventory[mergeElements[i]].isSingle == 0)27 {28 mergedCount ++29 mergedIndex = mergeElements[i]30 }31 }32 if(mergedCount > 1)33 {34 alert('You can not merge two merged Inventory')35 return36 }37 let mergeMetrc = $('#mergeMetrcTag').val()38 let unit_price = parseFloat($('#mergeUnitPrice').val())39 let discount_id = $('#mergeDiscount').val()40 if(mergeMetrc == '')41 {42 alert('Enter the Metrc for New Merge Item')43 return false44 }45 if(mergedIndex == -1){46 unit_price = 047 mergeElements.forEach(element => {48 unit_price += parseFloat(Inventory[element].unit_price)49 })50 //unit_price = unit_price / mergeElements.length51 console.log(unit_price)52 unit_price = unit_price.toFixed(2)53 }54 if(unit_price == 0 )55 {56 alert('You have to enter the unit price')57 return false58 }59 if(mergedIndex == -1)60 {61 Inventory.push({62 strain:s,63 pType:p,64 strainLabel:Inventory[mergeElements[0]].strainLabel,65 pTypeLabel:Inventory[mergeElements[0]].pTypeLabel,66 child_items:[],67 units:Inventory[mergeElements[0]].units * mergeElements.length,68 tax_note:'',69 isNew:170 })71 mergedIndex = Inventory.length - 172 }73 Inventory[mergedIndex].metrc = mergeMetrc74 Inventory[mergedIndex].unit_price = unit_price75 Inventory[mergedIndex] = {...Inventory[mergedIndex],...getDiscount(discount_id)}76 mergeElements.forEach(element => {77 if(element != mergedIndex)78 {79 Inventory[mergedIndex].child_items.push(Inventory[element])80 Inventory[mergedIndex].qty = Inventory[mergedIndex].child_items.length81 }82 })83 Inventory[mergedIndex].isSingle = 084 Inventory[mergedIndex].mergeStatus = 085 Inventory[mergedIndex].units = Inventory[mergedIndex].units / Inventory[mergedIndex].qty86 Inventory[mergedIndex] = {...Inventory[mergedIndex],...calcRowInfo(Inventory[mergedIndex])}87 Inventory[mergedIndex].checked = 088 Inventory[mergedIndex].deleted = 089 let checkedCnt = 090 Inventory.forEach(element => {91 if(element.checked == 1)92 {93 checkedCnt ++94 }95 })96 for(let i = 0; i < checkedCnt; i ++)97 {98 Inventory.forEach((element,index,object) => {99 if(element.checked == 1)100 {101 Inventory.splice(index,1)102 }103 });104 }105 createTable()106})107inventory_table.on("keyup", ".new-metrc", function(){108 big_cnt =$(this).attr('bigId')109 sub_cnt = $(this).attr('subId')110 let metrc = $(this).val()111 clearTimeout(typingTimer)112 let t = sub_cnt == -1?2000:doneTypingInterval113 typingTimer = setTimeout(scannedMetrc.bind(null,big_cnt,sub_cnt,metrc), t)114})115inventory_table.on("keydown", ".new-metrc", function(){116 clearTimeout(typingTimer)117})118let scannedMetrc = (bigId,subId,metrc) => {119 if(subId != -1)120 {121 Inventory[bigId].child_items[subId].newMetrc = metrc122 }123 else{124 Inventory[bigId].metrc = metrc125 Inventory[bigId].mergeStatus = 0126 createTable()127 }128 noticeMetrcScanning()129}130var detailRows = [];131let createTable = () => {132 $('#inventory_table').dataTable().fnDestroy()133 let tableData = []134 Inventory.forEach((element,index) => {135 element.no = index + 1136 element.DT_RowId = index + 1137 let checked = element.checked == 1?'checked':0138 element.chk = '<input class="chk" type="checkbox" ' + checked + ' />'139 element.btn_remove = "<button class='btn btn-danger btn-xs btn-remove-row'>"140 if(element.child_items.length == 0)141 {142 element.btn_remove += "<i class='fa fa-undo' aria-hidden=true'> </i>Restock</button>"143 }144 else145 {146 element.btn_remove += "<i class='fa fa-undo' aria-hidden=true'> </i>Parent Restock</button>"147 }148 element.btn_edit = "<button class='btn btn-info btn-xs btn-edit-row'>"149 element.btn_edit += "<i class='fas fa-edit'> </i>edit</button>"150 element.inputNewMetrc = ''151 element.btnPlus = '<button class="btn btn-info btn-xs"><i class="glyphicon glyphicon-plus"></i></button>'152 element.btnMinus = '<button class="btn btn-info btn-xs"><i class="glyphicon glyphicon-minus"></i></button>'153 if(element.child_items.length == 0)154 {155 element.btnPlus = ''156 element.btnMinus = ''157 element.inputNewMetrc = ''158 }159 if(element.mergeStatus == 1)160 {161 element.inputNewMetrc = '<input bigId="' + (index) + '" subId="-1" class="form-control new-metrc" single="1" value="" />'162 }163 if(element.deleted != 1)164 {165 tableData.push(element)166 }167 })168 invoice_table = $('#inventory_table').DataTable({169 "data":tableData,170 rowId: 'DT_RowId',171 "columns":172 [173 {174 "className": 'details-control',175 "orderable": false,176 "data": "btnPlus"177 },178 { "data": "chk" },179 { "data": "no" },180 { "data": "strainLabel", },181 { "data": "pTypeLabel"},182 { "data": "metrc" },183 { "data": "qty" },184 { "data": "units" },185 { "data": "weight" },186 { "data": "unit_price" },187 { "data": "cpu" },188 { "data": "discount" },189 { "data": "discount_label" },190 { "data": "base_price" },191 { "data": "extended" },192 { "data": "tax_note" },193 { "data": "adjust_price" },194 { "data": "inputNewMetrc" },195 { "data": "btn_edit" },196 { "data": "btn_remove" },197 ],198 "rowCallback": function( row, data, dataIndex){199 if(data.mergeStatus == 1)200 {201 $(row).css('color','#00c0ef');202 }203 if(data.mergeStatus == 2)204 {205 $(row).css('background-color','#00c0ef');206 }207 },208 "order": [[1, 'asc']],209 "scrollX":true,210 })211}212inventory_table.on('click', '.btn-remove-row', function () {213 let tr = $(this).closest('tr');214 let row = invoice_table.row( tr );215 let data = row.data()216 let flag = true217 if(data.mergeStatus == 1 && data.isSingle == 0)218 {219 alert('This Merged Inventory has been change\n You need to undo changed item\n and then retry Restock')220 return221 }222 if(data.isSingle == 0)223 {224 findObjWithAttr(Inventory,'no',data.no).child_items.forEach(element => {225 if(element.newMetrc == '')226 flag = false227 })228 if(data.isNew == 1)229 flag = true230 }231 if(!flag)232 {233 alert('Enter the All Metrc Tags')234 return false235 }236 if(data.isNew == 1)237 Inventory.splice(findIndexWithAttr(Inventory,'no',data.no),1)238 else239 Inventory[findIndexWithAttr(Inventory,'no',data.no)].deleted = 1240 $.growl({ title: "Restocked One Inventory", message: "You restocked one Inventory in this Order<br>You can restore that by refresh" });241 createTable()242})243inventory_table.on('click', '.btn-edit-row', function () {244 let tr = $(this).closest('tr');245 let row = invoice_table.row( tr );246 let data = row.data()247 selectedInventory = findIndexWithAttr(Inventory,'no',data.no)248 $('#editMetrcTag').val(data.metrc)249 $('#editUnitPrice').val(data.unit_price)250 $('#editDiscount').val(data.discount_id).change()251 $('#modal-edit-row').modal('show')252})253inventory_table.on('click', '.btn-remove-child', function () {254 let tr = $(this).parents('tr')255 let bigId = tr.attr('bigId')256 let subId = tr.attr('subId')257 let child = Inventory[bigId].child_items[subId]258 if(child.isNew == 1)259 {260 Inventory[bigId].child_items.splice(subId,1)261 }262 else263 {264 if(child.newMetrc == '')265 {266 alert('Enter the New Metrc Tag to delete this item')267 return268 }269 //set as deleted270 Inventory[bigId].child_items[subId].deleted = 1271 //prevent undefined error272 Inventory[bigId].child_items[subId].child_items = []273 //set as single item274 Inventory[bigId].child_items[subId].isSingle = 1275 //assign to end of inventory276 Inventory[Inventory.length] = Inventory[bigId].child_items[subId]277 //remove from child278 Inventory[bigId].child_items.splice(subId,1)279 }280 Inventory[bigId].units = Inventory[bigId].units / Inventory[bigId].qty281 Inventory[bigId].qty = Inventory[bigId].child_items.length282 Inventory[bigId].mergeStatus = 1283 Inventory[bigId] = {...Inventory[bigId],...calcRowInfo(Inventory[bigId])}284 if(Inventory[bigId].child_items.length == 1)285 {286 Inventory[bigId] = {...Inventory[bigId],...Inventory[bigId].child_items[0]}287 Inventory[bigId].isSingle = 1288 Inventory[bigId].mergeStatus = 0289 Inventory[bigId].child_items = []290 }291 createTable()292})293inventory_table.on('click', '.chk', function () {294 let tr = $(this).closest('tr')295 let row = invoice_table.row( tr )296 Inventory[findIndexWithAttr(Inventory,'no',row.data().no)].checked = $(this).prop('checked') == true?1:0297})298inventory_table.on('click', 'td.details-control', function () {299 let tr = $(this).closest('tr');300 let row = invoice_table.row( tr );301 var idx = $.inArray( tr.attr('id'), detailRows );302 if ( row.child.isShown() ) {303 // This row is already open - close it304 row.child.hide();305 tr.removeClass('shown');306 $(this).html(row.data().btnPlus)307 detailRows.splice( idx, 1 );308 }309 else {310 // Open this row311 row.child( row_details_format(row.data()) ).show();312 tr.addClass('shown');313 $(this).html(row.data().btnMinus)314 if ( idx === -1 ) {315 detailRows.push( tr.attr('id') );316 }317 }318})319let row_details_format = (d) => {320 let html = ''321 html += '<table class="table table-striped table-bordered">'322 html += '<thead><th>No</th><th>Metrc Tag</th><th>New Metrc for Delete</th><th>Input</th></thead>'323 html += '<tbody>'324 let items = d.child_items325 items.forEach((item,cnt) => {326 if(item.deleted == 1)327 {328 html += '<tr style="color:red" bigId="' + (d.no - 1) + '" subId="' + cnt + '">'329 }330 else331 {332 html += '<tr bigId="' + (d.no - 1) + '" subId="' + cnt + '">'333 }334 html += '<td>' + (parseFloat(cnt) + 1) + '</td>'335 html += '<td>' + item.metrc + '</td>'336 html += '<td>' + item.newMetrc + '</td>'337 html += '<td><input bigId="' + (d.no - 1) + '" subId="' + cnt + '" type="text" single="0" class="form-control new-metrc"></td>'338 html += '<td><button class="btn btn-danger btn-xs btn-remove-child"><i class="fas fa-undo"> </i>restock</button></td>'339 html += '</tr>'340 })341 html += '</tbody></table>'342 return html343}344$('#chkTax').click(() => {345 topInfo.tax_allow = $('#chkTax').prop('checked') == true?1:0346})347$('#btnSaveRowInfo').click(() => {348 let metrc = $('#editMetrcTag').val()349 let unit_price = $('#editUnitPrice').val()350 let discount_id = $('#editDiscount').val()351 Inventory[selectedInventory].unit_price = unit_price352 Inventory[selectedInventory].metrc = metrc353 Inventory[selectedInventory] = {...Inventory[selectedInventory],...getDiscount(discount_id)}354 Inventory[selectedInventory].units = Inventory[selectedInventory].units / Inventory[selectedInventory].qty355 Inventory[selectedInventory] = {...Inventory[selectedInventory],...calcRowInfo(Inventory[selectedInventory])}356 $('#modal-edit-row').modal('hide')357 createTable()358})359$('#btnSubmit').click(() => {360 let fulfilled = true361 Inventory.forEach((element,i) => {362 if(element.isSingle == 0 && element.mergeStatus == 1)363 {364 alert('You have to enter the merged Metrc Tag in blue line')365 fulfilled = false366 }367 })368 if(!fulfilled) return false369 swal({370 title: "Are You Sure",371 text: "Are You going to update the Order?",372 type: "info",373 showCancelButton: true,374 closeOnConfirm: true,375 showLoaderOnConfirm: true376 }, function () {377 $.ajax({378 url:'_store',379 headers:{"content-type" : "application/json"},380 data: JSON.stringify({items:Inventory,id:Invoice.id}),381 type:'post',382 async:false,383 success:(res) => {384 location.reload()385 },386 error:(e) => {387 swal(e.statusText, e.responseJSON.message, "error")388 }389 })390 });391})392$(function(){393 createTable()394 $('.select2').select2()395 .ajaxStart(function () {396 $loading.show();397 })398 .ajaxStop(function () {399 $loading.hide();400 })401})402$(document).ajaxStart(function() { Pace.restart(); });403$.ajaxSetup({404 headers: {405 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')406 }...
5-main.js
Source:5-main.js
...3const thing2 = ['thing', 'two'];4const obj1 = {1: 'thing', 2: 'one'};5const obj2 = {1: 'thing', 2: 'one'};6// console.log(concatElements(thing1, thing2));7// console.log(mergeElements(obj1, obj2));8// console.log(concatElements(thing1, thing2), concatElements(thing1, thing2).toJS());9// console.log(mergeElements(obj1, obj2), mergeElements(obj1, obj2).toJS());10const things = concatElements(thing1, thing2);11const objs = mergeElements(obj1, obj2);12console.log(things.toJS());13console.log(objs.toJS());14console.log(things);...
Using AI Code Generation
1var wpt = require('webpagetest');2var wpt = new WebPageTest('www.webpagetest.org');3 if (err) return console.error(err);4 console.log(data);5});6var wpt = require('webpagetest');7var wpt = new WebPageTest('www.webpagetest.org');8 if (err) return console.error(err);9 console.log(data);10});11var wpt = require('webpagetest');12var wpt = new WebPageTest('www.webpagetest.org');13 if (err) return console.error(err);14 console.log(data);15});16var wpt = require('webpagetest');17var wpt = new WebPageTest('www.webpagetest.org');18 if (err) return console.error(err);19 console.log(data);20});21var wpt = require('webpagetest');22var wpt = new WebPageTest('www.webpagetest.org');
Using AI Code Generation
1var mergeElements = require('wptools').mergeElements;2var a = {3};4var b = {5};6var c = {7};8var d = {9};10var result = mergeElements(a, b, c, d);11console.log(result);12var mergeElements = require('../index.js').mergeElements;13var a = {14};15var b = {
Using AI Code Generation
1mergeElements([element1, element2, element3, element4, element5], {deleteOriginals: true});2mergeElements([element1, element2, element3, element4, element5], {deleteOriginals: true});3mergeElements([element1, element2, element3, element4, element5], {deleteOriginals: true, fill: 'red', stroke: 'blue', strokeWidth: 5});4mergeElements([element1, element2, element3, element4, element5], {deleteOriginals: true, fill: 'red', stroke: 'blue', strokeWidth: 5});5mergeElements([element1, element2, element3, element4, element5], {deleteOriginals: true, fill: 'red', stroke: 'blue', strokeWidth: 5});6mergeElements([element1, element2, element3, element4, element5], {deleteOriginals: true, fill: 'red', stroke: 'blue', strokeWidth: 5});7mergeElements([element1, element2, element3, element4, element5], {deleteOriginals: true, fill: 'red', stroke: 'blue', strokeWidth: 5});8mergeElements([element1, element2, element3, element4, element5], {deleteOriginals: true, fill: 'red', stroke: 'blue', strokeWidth: 5});
Using AI Code Generation
1var wptools = require('wptools');2var wiki = new wptools.page('Albert_Einstein');3wiki.mergeElements('infobox', 'description', function(res) {4 console.log(res);5});6var wptools = require('wptools');7var wiki = new wptools.page('Albert_Einstein');8wiki.mergeElements('infobox', 'description', function(res) {9 console.log(res);10});11var wptools = require('wptools');12var wiki = new wptools.page('Albert_Einstein');13wiki.mergeElements('infobox', 'description', function(res) {14 console.log(res);15});16var wptools = require('wptools');17var wiki = new wptools.page('Albert_Einstein');18wiki.mergeElements('infobox', 'description', function(res) {19 console.log(res);20});21var wptools = require('wptools');22var wiki = new wptools.page('Albert_Einstein');23wiki.mergeElements('infobox', 'description', function(res) {24 console.log(res);25});26var wptools = require('wptools');27var wiki = new wptools.page('Albert_Einstein');28wiki.mergeElements('infobox', 'description', function(res) {29 console.log(res);30});31var wptools = require('wptools');32var wiki = new wptools.page('Albert_Einstein');33wiki.mergeElements('infobox', 'description', function(res) {34 console.log(res);35});36var wptools = require('wptools');37var wiki = new wptools.page('Albert_Einstein');38wiki.mergeElements('infobox', 'description', function(res) {39 console.log(res);40});
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!