javascript - TypeError: Cannot read property 'winningName' of undefined -
in winningname
method passed winningname value following:
doctemplateeditor({winningname:"http://localhost:3000/assets/js/actualairings.json"},'','', '');
but getting following error:
c:/users/206546364/desktop/8-20-test/webcomponent/src/main/webapp/app/components/swimming/ log: 'doctemplateeditor------????' chrome 60.0.3112 (windows 10 0.0.0) jasmine unit tests: finance-dashboard-manage-documents doctemplateeditor failed [0] typeerror: cannot read property 'winningname' of undefined
can 1 guide me or me how fix error.
the test spec follows:
it('doctemplateeditor', (done) => { console.log("doctemplateeditor------????"); let callfirsttime : boolean = true; let url= spyon(dashboardcontractcomponent.financialdocuments.sportsservice,'getresponse').and. callfake(() => { if(callfirsttime){ callfirsttime = false; // invoked detectchanges() return observable.of([{ "winningid": "100", "winningname": "http://localhost:3000/assets/js/actualairings.json", "winningtype": "title", "winningdata": "ywzjyxjlz2vyamh2dmfyzwdoynzi", "notes": "", "notesid": "100", "elfdocid": "100", "url": "http://localhost:3000/upload", "date": "06/27/2017", "addedbyname": "kamal", "userid": "206509786", "operationtype": "create" }, { "winningid": "101", "winningname": "uploadtest4.txt", "winningtype": "title", "winningdata": "manish", "notes": "", "notesid": "101", "elfdocid": "101", "url": "http://localhost:3000/upload", "date": "06/27/2017", "addedbyname": "kamal", "userid": "206509786", "operationtype": "create" }] ); } }); spyon(dashboardcontractcomponent.financialdocuments.gridkendo,'enablesavedocument').and.returnvalue(null); dashboardcontractcomponent.financialdocuments.fileselect = "text.txt"; // dashboardcontractcomponent.financialdocuments.uploadfile('', ''); dashboardcontractcomponent.financialdocuments.doctemplateeditor({winningname:"http://localhost:3000/assets/js/actualairings.json"},'','', ''); //let winningname="http://localhost:3000/assets/js/actualairings.json"; fixture.whenstable().then(() => { done(); expect(dashboardcontractcomponent.financialdocuments._datasource._data.length).toequal(3); }); }); });
function:
public doctemplateeditor(container: any, options: any, that: any,selectedoptions) { $(".displayinlineblock").removeclass("winningicondiplay"); let docimageicon = "winningicon"; let extensiontype = { ".pdf": "pdficon", ".ppt": "ppticon", ".xls": "xlsicon", ".xlsx": "xlsicon", ".doc": "winningicon", ".docx": "winningicon", ".msg": "mailicon" }; let lastindex = options.model.winningname.lastindexof("."); docimageicon = extensiontype[options.model.winningname.slice(lastindex).tolowercase()]; if (typeof options.model.winningicon != "undefined" && options.model.winningicon != "") { docimageicon = options.model.winningicon; } if (typeof docimageicon == "undefined") { docimageicon = "newdocicon"; } let kendotxtmenu = ""; if (options.model.iselfdoc == true) { kendotxtmenu = "winningicondiplay"; } //"iselfdoc":true; let input = $("<span class='" + docimageicon + " displayinlineblock " + options.model.winninglength + " " + kendotxtmenu + " ' ></span><ul class='filetypeholder' id='filetypeicons' style='display: none;'><li class='filetypeholdertitle'>elf document type</li><li><span class='winningicon displayinlineblock' (click)='browsefiletype(doc)'></span></li> <li><span class='xlsicon displayinlineblock' (click)='browsefiletype('xls')'></span></li> <li><span class='ppticon displayinlineblock'(click)='browsefiletype('ppt')'></span></li> <li><span class='pdficon displayinlineblock' (click)='browsefiletype('pdf')'></span></li><li><span class='newdocicon displayinlineblock' (click)='browsefiletype('newdoc')'></span></li><li><span class='mailicon displayinlineblock' (click)='browsefiletype('mail')'></span></li><li class='filetypeholderclosebtn'> <button id='closebtn' class='commonbtn'>close</button></ul>"); input.appendto(container); // <button class='commonbtn' id='closebtn'>close</button> this.selectedoptions = null; this.selectedoptions = options; $("#filetypeicons").kendocontextmenu({ target: ".winningicondiplay", showon: "click", open: function(e) { // console.log($(this).index(this)); // console.log($(this).index()); }, select: function(e) { //console.log(e.item.firstelementchild); //console.log(e.item.firstelementchild.firstelementchild.classname); var returnclassname = e.item.firstelementchild.firstelementchild.classname if (returnclassname == "commonbtn") { return false; } let firstclass = $("." + options.model.winninglength).attr('class').split(" ")[0]; var extensiontype = { "pdficon": "pdf", "ppticon": "ppt", "xlsicon": "xls", "winningicon": "doc", "newdocicon": "default", "mailicon": "msg" }; var classnames = "pdficon ppticon xlsicon winningicon mailicon newdocicon"; var classes = $("." + options.model.winninglength).attr('class').split(" "); $("#" + options.model.winninglength).val("." + extensiontype[returnclassname.split(" ")[0]]); options.model.winningname = ""; options.model.winningname = "." + extensiontype[returnclassname.split(" ")[0]]; options.model.iselfdoc = false; (var c = 0; c < classes.length; c++) { if (classnames.includes(classes[c])) { $("." + options.model.winninglength).removeclass(classes[c]); } } options.model.winningicon = returnclassname.split(" ")[0]; $("." + options.model.winninglength).addclass(e.item.firstelementchild.firstelementchild.classname); //$("."+options.model.winningid).addclass("displayinlineblock"); $("." + options.model.winninglength).addclass("winningicondiplay"); let data_source = that.gridkendo._datasource.data(); (let d = 0; d < data_source.length; d++) { if (data_source[d].iselfdoc == true && data_source[d].elfdocid == "") { that.gridkendo.enablesavedocument(false); } } } }); } }
Comments
Post a Comment