Best JavaScript code snippet using storybook-root
product_search_controller.js
Source:product_search_controller.js
1const express = require('express');2const categoryModel = require('../models/product_modle');3const router = express.Router();4const {paginate}=require('../config/default.json');5const menuCategory=require('../models/category-menu.model');6router.get('/keyword/',async function (req, res){7 return res.redirect(req.headers.referer);8})9router.get('/keyword/:txt',async function (req, res){10 const txtSearch=req.params.txt;11 const shopping_list=req.session.shopCart;12 const menuList=await menuCategory.getCateMenu();13 const submenuList=await menuCategory.getCateSubMenu();14 const allListMenu=[];15 const items=req.session.cart;16 const listHot=await categoryModel.all();17 const listNew=await categoryModel.getNewList();18 for (const i of menuList)19 {20 const menu_list=await categoryModel.allById(i.category_id);21 categoryModel.checkIsHaving(items,menu_list);22 if (req.session.authUser!=null)23 {24 const listBuy=await categoryModel.getBuyList(req.session.authUser.user_id);25 await categoryModel.checkBill(menu_list,listBuy);26 }27 await categoryModel.checkHot(menu_list,listHot);28 await categoryModel.checkNew(menu_list,listNew);29 const item={30 menu: i.category_id,31 name: i.category_name,32 submenu: [],33 top4_course_menu: menu_list34 };35 allListMenu.push(item);36 }37 for (const j of submenuList)38 {39 for (i=0;i<allListMenu.length;i++)40 {41 if (allListMenu[i].menu===j.parent_id)42 {43 allListMenu[i].submenu.push(j);44 }45 }46 }47 //chÆ°a xong48 const page=req.query.page || 1;49 const previousPage=+page-1;50 const nextPage=+page+1;51 if (page<1){52 page=1;53 }54 const total=await categoryModel.countBySearch(txtSearch);55 let nPages=Math.floor(total/paginate.limit);56 if (total %paginate.limit>0)57 {58 nPages++;59 }60 const page_numbers=[];61 for (i=1;i<=nPages;i++)62 {63 page_numbers.push({64 value: i,65 isCurrentPage: i=== +page,66 });67 }68 const offset=(page-1)*paginate.limit;69 const list = await categoryModel.getCateBySearch(txtSearch,offset);70 if (req.session.authUser!=null){71 const listBuy=await categoryModel.getBuyList(req.session.authUser.user_id);72 await categoryModel.checkBill(list,listBuy);73 await categoryModel.checkisHaving(req.session.cart,list);74 }75 //const listHot=await categoryModel.all();76 await categoryModel.checkHot(list,listHot);77 //const listNew=await categoryModel.getNewList();78 await categoryModel.checkNew(list,listNew);79 res.render('search_site', {80 product_popular: list,81 empty: list.length === 0,82 cateId: {83 Id: txtSearch,84 categoryById: false85 },86 page_numbers,87 previousPage,88 nextPage,89 checkNextPage: nextPage<=nPages,90 checkPreviousPage: previousPage>0,91 shopping_list,92 items,93 menuList: menuList,94 empty_menu: menuList.length!==0,95 allListMenu: allListMenu,96 layout: "search-item.hbs",97 });98})99router.post('/',async function (req, res,next){100 const link='/search/keyword/'+req.body.contentSearch;101 res.redirect(link);102})103router.get('/:id', async function (req, res) {104 const shopping_list=req.session.shopCart;105 const menuList=await menuCategory.getCateMenu();106 const submenuList=await menuCategory.getCateSubMenu();107 const allListMenu=[];108 const items=req.session.cart;109 const listHot=await categoryModel.all();110 const listNew=await categoryModel.getNewList();111 for (const i of menuList)112 {113 const menu_list=await categoryModel.allById(i.category_id);114 categoryModel.checkIsHaving(items,menu_list);115 if (req.session.authUser!=null)116 {117 const listBuy=await categoryModel.getBuyList(req.session.authUser.user_id);118 await categoryModel.checkBill(menu_list,listBuy);119 }120 await categoryModel.checkHot(menu_list,listHot);121 await categoryModel.checkNew(menu_list,listNew);122 const item={123 menu: i.category_id,124 name: i.category_name,125 submenu: [],126 top4_course_menu: menu_list127 };128 allListMenu.push(item);129 }130 for (const j of submenuList)131 {132 for (i=0;i<allListMenu.length;i++)133 {134 if (allListMenu[i].menu===j.parent_id)135 {136 allListMenu[i].submenu.push(j);137 }138 }139 }140 const catId=req.params.id;141 const page=req.query.page || 1;142 const previousPage=+page-1;143 const nextPage=+page+1;144 if (page<1){145 page=1;146 }147 const total=await categoryModel.countByCat(catId);148 let nPages=Math.floor(total/paginate.limit);149 if (total %paginate.limit>0)150 {151 nPages++;152 }153 const page_numbers=[];154 for (i=1;i<=nPages;i++)155 {156 page_numbers.push({157 value: i,158 isCurrentPage: i=== +page,159 });160 }161 const offset=(page-1)*paginate.limit;162 const list = await categoryModel.getCateListByPage(catId,offset);163 if (req.session.authUser!=null){164 const listBuy=await categoryModel.getBuyList(req.session.authUser.user_id);165 await categoryModel.checkBill(list,listBuy);166 await categoryModel.checkisHaving(req.session.cart,list);167 }168 //const listHot=await categoryModel.all();169 await categoryModel.checkHot(list,listHot);170 //const listNew=await categoryModel.getNewList();171 await categoryModel.checkNew(list,listNew);172 res.render('search_site', {173 product_popular: list,174 empty: list.length === 0,175 cateId: {176 Id:catId,177 categoryById: true178 },179 page_numbers,180 previousPage,181 nextPage,182 shopping_list,183 items,184 menuList: menuList,185 empty_menu: menuList.length!==0,186 allListMenu: allListMenu,187 checkNextPage: nextPage<=nPages,188 checkPreviousPage: previousPage>0,189 layout: "search-item.hbs",190 });191})192router.get('/sub/:id', async function (req, res) {193 const shopping_list=req.session.shopCart;194 const menuList=await menuCategory.getCateMenu();195 const submenuList=await menuCategory.getCateSubMenu();196 const allListMenu=[];197 const items=req.session.cart;198 const listHot=await categoryModel.all();199 const listNew=await categoryModel.getNewList();200 for (const i of menuList)201 {202 const menu_list=await categoryModel.allById(i.category_id);203 categoryModel.checkIsHaving(items,menu_list);204 if (req.session.authUser!=null)205 {206 const listBuy=await categoryModel.getBuyList(req.session.authUser.user_id);207 await categoryModel.checkBill(menu_list,listBuy);208 }209 await categoryModel.checkHot(menu_list,listHot);210 await categoryModel.checkNew(menu_list,listNew);211 const item={212 menu: i.category_id,213 name: i.category_name,214 submenu: [],215 top4_course_menu: menu_list216 };217 allListMenu.push(item);218 }219 for (const j of submenuList)220 {221 for (i=0;i<allListMenu.length;i++)222 {223 if (allListMenu[i].menu===j.parent_id)224 {225 allListMenu[i].submenu.push(j);226 }227 }228 }229 const catId=req.params.id;230 const page=req.query.page || 1;231 const previousPage=+page-1;232 const nextPage=+page+1;233 if (page<1){234 page=1;235 }236 const total=await categoryModel.countByCatSub(catId);237 let nPages=Math.floor(total/paginate.limit);238 if (total %paginate.limit>0)239 {240 nPages++;241 }242 const page_numbers=[];243 for (i=1;i<=nPages;i++)244 {245 page_numbers.push({246 value: i,247 isCurrentPage: i=== +page,248 });249 }250 const offset=(page-1)*paginate.limit;251 const list = await categoryModel.getCateListBySub(catId,offset);252 if (req.session.authUser!=null){253 const listBuy=await categoryModel.getBuyList(req.session.authUser.user_id);254 await categoryModel.checkBill(list,listBuy);255 await categoryModel.checkisHaving(req.session.cart,list);256 }257 //const listHot=await categoryModel.all();258 await categoryModel.checkHot(list,listHot);259 //const listNew=await categoryModel.getNewList();260 await categoryModel.checkNew(list,listNew);261 res.render('search_site', {262 product_popular: list,263 empty: list.length === 0,264 cateId: {265 Id:catId,266 categoryByIdSub: true267 },268 page_numbers,269 previousPage,270 nextPage,271 shopping_list,272 items,273 menuList: menuList,274 empty_menu: menuList.length!==0,275 allListMenu: allListMenu,276 checkNextPage: nextPage<=nPages,277 checkPreviousPage: previousPage>0,278 layout: "search-item.hbs",279 });280})281router.get('/:id/:condition', async function (req, res) {282 let cd="";283 const condition=req.params.condition;284 var active_5=true;285 var active_up_4= true;286 var active_up_3= true;287 var active_down_3= true;288 if (condition==="rating-5")289 {290 cd="=5";291 active_5=true;292 active_up_4= false;293 active_up_3= false;294 active_down_3= false;295 }296 if (condition==="rating-up-4")297 {298 cd=">=4";299 active_5=false;300 active_up_4= true;301 active_up_3= false;302 active_down_3= false;303 }304 if (condition==="rating-up-3")305 {306 cd=">=3";307 active_5=false;308 active_up_4= false;309 active_up_3= true;310 active_down_3= false;311 }312 if (condition==="rating-down-3")313 {314 cd="<3";315 active_5=false;316 active_up_4= false;317 active_up_3= false;318 active_down_3= true;319 }320 const at_5=active_5;321 const at_up_4=active_up_4;322 const at_up_3=active_up_3;323 const at_down_3=active_down_3;324 const shopping_list=req.session.shopCart;325 const menuList=await menuCategory.getCateMenu();326 const submenuList=await menuCategory.getCateSubMenu();327 const allListMenu=[];328 const items=req.session.cart;329 const listHot=await categoryModel.all();330 const listNew=await categoryModel.getNewList();331 for (const i of menuList)332 {333 const menu_list=await categoryModel.allById(i.category_id);334 categoryModel.checkIsHaving(items,menu_list);335 if (req.session.authUser!=null)336 {337 const listBuy=await categoryModel.getBuyList(req.session.authUser.user_id);338 await categoryModel.checkBill(menu_list,listBuy);339 }340 await categoryModel.checkHot(menu_list,listHot);341 await categoryModel.checkNew(menu_list,listNew);342 const item={343 menu: i.category_id,344 name: i.category_name,345 submenu: [],346 top4_course_menu: menu_list347 };348 allListMenu.push(item);349 }350 for (const j of submenuList)351 {352 for (i=0;i<allListMenu.length;i++)353 {354 if (allListMenu[i].menu===j.parent_id)355 {356 allListMenu[i].submenu.push(j);357 }358 }359 }360 const catId=req.params.id;361 const page=req.query.page || 1;362 const previousPage=+page-1;363 const nextPage=+page+1;364 if (page<1){365 page=1;366 }367 const total=await categoryModel.countByCatCondition(catId,cd);368 let nPages=Math.floor(total/paginate.limit);369 if (total %paginate.limit>0)370 {371 nPages++;372 }373 const page_numbers=[];374 for (i=1;i<=nPages;i++)375 {376 page_numbers.push({377 value: i,378 isCurrentPage: i=== +page,379 });380 }381 const offset=(page-1)*paginate.limit;382 383 const list = await categoryModel.getStarCourseCondition(catId,offset,cd);384 if (req.session.authUser!=null){385 const listBuy=await categoryModel.getBuyList(req.session.authUser.user_id);386 await categoryModel.checkBill(list,listBuy);387 await categoryModel.checkisHaving(req.session.cart,list);388 }389 //const listHot=await categoryModel.all();390 await categoryModel.checkHot(list,listHot);391 //const listNew=await categoryModel.getNewList();392 await categoryModel.checkNew(list,listNew);393 res.render('search_site', {394 product_popular: list,395 empty: list.length === 0,396 cateId: {397 Id:catId,398 categoryById: true,399 active_5:at_5,400 active_up_4:at_up_4,401 active_up_3:at_up_3,402 active_down_3:at_down_3403 },404 page_numbers,405 previousPage,406 nextPage,407 shopping_list,408 items,409 menuList: menuList,410 empty_menu: menuList.length!==0,411 allListMenu: allListMenu,412 checkNextPage: nextPage<=nPages,413 checkPreviousPage: previousPage>0,414 layout: "search-item.hbs",415 });416})417router.get('/sub/:id/:condition', async function (req, res) {418 let cd="";419 const condition=req.params.condition;420 var active_5=true;421 var active_up_4= true;422 var active_up_3= true;423 var active_down_3= true;424 if (condition==="rating-5")425 {426 cd="=5";427 active_5=true;428 active_up_4= false;429 active_up_3= false;430 active_down_3= false;431 }432 if (condition==="rating-up-4")433 {434 cd=">=4";435 active_5=false;436 active_up_4= true;437 active_up_3= false;438 active_down_3= false;439 }440 if (condition==="rating-up-3")441 {442 cd=">=3";443 active_5=false;444 active_up_4= false;445 active_up_3= true;446 active_down_3= false;447 }448 if (condition==="rating-down-3")449 {450 cd="<3";451 active_5=false;452 active_up_4= false;453 active_up_3= false;454 active_down_3= true;455 }456 const at_5=active_5;457 const at_up_4=active_up_4;458 const at_up_3=active_up_3;459 const at_down_3=active_down_3;460 const shopping_list=req.session.shopCart;461 const menuList=await menuCategory.getCateMenu();462 const submenuList=await menuCategory.getCateSubMenu();463 const allListMenu=[];464 const items=req.session.cart;465 const listHot=await categoryModel.all();466 const listNew=await categoryModel.getNewList();467 for (const i of menuList)468 {469 const menu_list=await categoryModel.allById(i.category_id);470 categoryModel.checkIsHaving(items,menu_list);471 if (req.session.authUser!=null)472 {473 const listBuy=await categoryModel.getBuyList(req.session.authUser.user_id);474 await categoryModel.checkBill(menu_list,listBuy);475 }476 await categoryModel.checkHot(menu_list,listHot);477 await categoryModel.checkNew(menu_list,listNew);478 const item={479 menu: i.category_id,480 name: i.category_name,481 submenu: [],482 top4_course_menu: menu_list483 };484 allListMenu.push(item);485 }486 for (const j of submenuList)487 {488 for (i=0;i<allListMenu.length;i++)489 {490 if (allListMenu[i].menu===j.parent_id)491 {492 allListMenu[i].submenu.push(j);493 }494 }495 }496 const catId=req.params.id;497 const page=req.query.page || 1;498 const previousPage=+page-1;499 const nextPage=+page+1;500 if (page<1){501 page=1;502 }503 const total=await categoryModel.countByCatConditionSub(catId,cd);504 let nPages=Math.floor(total/paginate.limit);505 if (total %paginate.limit>0)506 {507 nPages++;508 }509 const page_numbers=[];510 for (i=1;i<=nPages;i++)511 {512 page_numbers.push({513 value: i,514 isCurrentPage: i=== +page,515 });516 }517 const offset=(page-1)*paginate.limit;518 519 const list = await categoryModel.getStarCourseConditionSub(catId,offset,cd);520 if (req.session.authUser!=null){521 const listBuy=await categoryModel.getBuyList(req.session.authUser.user_id);522 await categoryModel.checkBill(list,listBuy);523 await categoryModel.checkisHaving(req.session.cart,list);524 }525 //const listHot=await categoryModel.all();526 await categoryModel.checkHot(list,listHot);527 //const listNew=await categoryModel.getNewList();528 await categoryModel.checkNew(list,listNew);529 res.render('search_site', {530 product_popular: list,531 empty: list.length === 0,532 cateId: {533 Id:catId,534 categoryByIdSub: true,535 active_5:at_5,536 active_up_4:at_up_4,537 active_up_3:at_up_3,538 active_down_3:at_down_3539 },540 page_numbers,541 previousPage,542 nextPage,543 shopping_list,544 items,545 menuList: menuList,546 empty_menu: menuList.length!==0,547 allListMenu: allListMenu,548 checkNextPage: nextPage<=nPages,549 checkPreviousPage: previousPage>0,550 layout: "search-item.hbs",551 });552})553router.get('/keyword/:id/:condition', async function (req, res) {554 let cd="";555 const condition=req.params.condition;556 var active_5=true;557 var active_up_4= true;558 var active_up_3= true;559 var active_down_3= true;560 if (condition==="rating-5")561 {562 cd="=5";563 active_5=true;564 active_up_4= false;565 active_up_3= false;566 active_down_3= false;567 }568 if (condition==="rating-up-4")569 {570 cd=">=4";571 active_5=false;572 active_up_4= true;573 active_up_3= false;574 active_down_3= false;575 }576 if (condition==="rating-up-3")577 {578 cd=">=3";579 active_5=false;580 active_up_4= false;581 active_up_3= true;582 active_down_3= false;583 }584 if (condition==="rating-down-3")585 {586 cd="<3";587 active_5=false;588 active_up_4= false;589 active_up_3= false;590 active_down_3= true;591 }592 const at_5=active_5;593 const at_up_4=active_up_4;594 const at_up_3=active_up_3;595 const at_down_3=active_down_3;596 const shopping_list=req.session.shopCart;597 const menuList=await menuCategory.getCateMenu();598 const submenuList=await menuCategory.getCateSubMenu();599 const allListMenu=[];600 const items=req.session.cart;601 const listHot=await categoryModel.all();602 const listNew=await categoryModel.getNewList();603 for (const i of menuList)604 {605 const menu_list=await categoryModel.allById(i.category_id);606 categoryModel.checkIsHaving(items,menu_list);607 if (req.session.authUser!=null)608 {609 const listBuy=await categoryModel.getBuyList(req.session.authUser.user_id);610 await categoryModel.checkBill(menu_list,listBuy);611 }612 await categoryModel.checkHot(menu_list,listHot);613 await categoryModel.checkNew(menu_list,listNew);614 const item={615 menu: i.category_id,616 name: i.category_name,617 submenu: [],618 top4_course_menu: menu_list619 };620 allListMenu.push(item);621 }622 for (const j of submenuList)623 {624 for (i=0;i<allListMenu.length;i++)625 {626 if (allListMenu[i].menu===j.parent_id)627 {628 allListMenu[i].submenu.push(j);629 }630 }631 }632 const catId=req.params.id;633 const page=req.query.page || 1;634 const previousPage=+page-1;635 const nextPage=+page+1;636 if (page<1){637 page=1;638 }639 const total=await categoryModel.countByCatSearchCondition(catId,cd);640 let nPages=Math.floor(total/paginate.limit);641 if (total %paginate.limit>0)642 {643 nPages++;644 }645 const page_numbers=[];646 for (i=1;i<=nPages;i++)647 {648 page_numbers.push({649 value: i,650 isCurrentPage: i=== +page,651 });652 }653 const offset=(page-1)*paginate.limit;654 655 const list = await categoryModel.getStarCourseSearchCondition(catId,offset,cd);656 if (req.session.authUser!=null){657 const listBuy=await categoryModel.getBuyList(req.session.authUser.user_id);658 await categoryModel.checkBill(list,listBuy);659 await categoryModel.checkisHaving(req.session.cart,list);660 }661 //const listHot=await categoryModel.all();662 await categoryModel.checkHot(list,listHot);663 //const listNew=await categoryModel.getNewList();664 await categoryModel.checkNew(list,listNew);665 res.render('search_site', {666 product_popular: list,667 empty: list.length === 0,668 cateId: {669 Id:catId,670 categoryById: false,671 active_5:at_5,672 active_up_4:at_up_4,673 active_up_3:at_up_3,674 active_down_3:at_down_3675 },676 page_numbers,677 previousPage,678 nextPage,679 shopping_list,680 items,681 menuList: menuList,682 empty_menu: menuList.length!==0,683 allListMenu: allListMenu,684 checkNextPage: nextPage<=nPages,685 checkPreviousPage: previousPage>0,686 layout: "search-item.hbs",687 });688})689router.get('/:id/mode/:condition', async function (req, res) {690 const condition=req.params.condition;691 let cd=""692 let mode="";693 let ms=false;694 let mo=false;695 let pd=false;696 let pa=false;697 let n=false698 if (condition==="most-study")699 {700 cd="number_student";701 mode="DESC"702 ms=true;703 mo=false;704 pd=false;705 pa=false;706 n=false707 }708 if (condition==="most-overall")709 {710 cd="overall_star";711 mode="DESC"712 ms=false;713 mo=true;714 pd=false;715 pa=false;716 n=false717 }718 if (condition==="price-descend")719 {720 cd="reduce_price";721 mode="DESC"722 ms=false;723 mo=false;724 pd=true;725 pa=false;726 n=false727 }728 if (condition==="price-ascend")729 {730 cd="reduce_price";731 mode="ASC"732 ms=false;733 mo=false;734 pd=false;735 pa=true;736 n=false737 }738 if (condition==="newest")739 {740 cd="create_date";741 mode="DESC"742 ms=false;743 mo=false;744 pd=false;745 pa=false;746 n=true;747 }748 const mosts=ms;749 const mosto=mo;750 const priced=pd;751 const pricea=pa;752 const ne=n;753 const shopping_list=req.session.shopCart;754 const menuList=await menuCategory.getCateMenu();755 const submenuList=await menuCategory.getCateSubMenu();756 const allListMenu=[];757 const items=req.session.cart;758 const listHot=await categoryModel.all();759 const listNew=await categoryModel.getNewList();760 for (const i of menuList)761 {762 const menu_list=await categoryModel.allById(i.category_id);763 categoryModel.checkIsHaving(items,menu_list);764 if (req.session.authUser!=null)765 {766 const listBuy=await categoryModel.getBuyList(req.session.authUser.user_id);767 await categoryModel.checkBill(menu_list,listBuy);768 }769 await categoryModel.checkHot(menu_list,listHot);770 await categoryModel.checkNew(menu_list,listNew);771 const item={772 menu: i.category_id,773 name: i.category_name,774 submenu: [],775 top4_course_menu: menu_list776 };777 allListMenu.push(item);778 }779 for (const j of submenuList)780 {781 for (i=0;i<allListMenu.length;i++)782 {783 if (allListMenu[i].menu===j.parent_id)784 {785 allListMenu[i].submenu.push(j);786 }787 }788 }789 const catId=req.params.id;790 const page=req.query.page || 1;791 const previousPage=+page-1;792 const nextPage=+page+1;793 if (page<1){794 page=1;795 }796 const total=await categoryModel.countByCat(catId);797 let nPages=Math.floor(total/paginate.limit);798 if (total %paginate.limit>0)799 {800 nPages++;801 }802 const page_numbers=[];803 for (i=1;i<=nPages;i++)804 {805 page_numbers.push({806 value: i,807 isCurrentPage: i=== +page,808 });809 }810 const offset=(page-1)*paginate.limit;811 const list = await categoryModel.mostByCatIDCondition(catId, offset,cd,mode);812 if (req.session.authUser!=null){813 const listBuy=await categoryModel.getBuyList(req.session.authUser.user_id);814 await categoryModel.checkBill(list,listBuy);815 await categoryModel.checkisHaving(req.session.cart,list);816 }817 //const listHot=await categoryModel.all();818 await categoryModel.checkHot(list,listHot);819 //const listNew=await categoryModel.getNewList();820 await categoryModel.checkNew(list,listNew);821 res.render('search_site', {822 product_popular: list,823 empty: list.length === 0,824 cateId: {825 Id:catId,826 categoryById: true,827 active_m_st: mosts,828 active_m_ov: mosto,829 active_new: ne,830 active_m_dp: priced,831 active_m_ap: pricea,832 },833 page_numbers,834 previousPage,835 nextPage,836 shopping_list,837 items,838 menuList: menuList,839 empty_menu: menuList.length!==0,840 allListMenu: allListMenu,841 checkNextPage: nextPage<=nPages,842 checkPreviousPage: previousPage>0,843 layout: "search-item.hbs",844 });845})846router.get('/sub/:id/mode/:condition', async function (req, res) {847 const condition=req.params.condition;848 let cd=""849 let mode="";850 let ms=false;851 let mo=false;852 let pd=false;853 let pa=false;854 let n=false855 if (condition==="most-study")856 {857 cd="number_student";858 mode="DESC"859 ms=true;860 mo=false;861 pd=false;862 pa=false;863 n=false864 }865 if (condition==="most-overall")866 {867 cd="overall_star";868 mode="DESC"869 ms=false;870 mo=true;871 pd=false;872 pa=false;873 n=false874 }875 if (condition==="price-descend")876 {877 cd="reduce_price";878 mode="DESC"879 ms=false;880 mo=false;881 pd=true;882 pa=false;883 n=false884 }885 if (condition==="price-ascend")886 {887 cd="reduce_price";888 mode="ASC"889 ms=false;890 mo=false;891 pd=false;892 pa=true;893 n=false894 }895 if (condition==="newest")896 {897 cd="create_date";898 mode="DESC"899 ms=false;900 mo=false;901 pd=false;902 pa=false;903 n=true;904 }905 const mosts=ms;906 const mosto=mo;907 const priced=pd;908 const pricea=pa;909 const ne=n;910 const shopping_list=req.session.shopCart;911 const menuList=await menuCategory.getCateMenu();912 const submenuList=await menuCategory.getCateSubMenu();913 const allListMenu=[];914 const items=req.session.cart;915 const listHot=await categoryModel.all();916 const listNew=await categoryModel.getNewList();917 for (const i of menuList)918 {919 const menu_list=await categoryModel.allById(i.category_id);920 categoryModel.checkIsHaving(items,menu_list);921 if (req.session.authUser!=null)922 {923 const listBuy=await categoryModel.getBuyList(req.session.authUser.user_id);924 await categoryModel.checkBill(menu_list,listBuy);925 }926 await categoryModel.checkHot(menu_list,listHot);927 await categoryModel.checkNew(menu_list,listNew);928 const item={929 menu: i.category_id,930 name: i.category_name,931 submenu: [],932 top4_course_menu: menu_list933 };934 allListMenu.push(item);935 }936 for (const j of submenuList)937 {938 for (i=0;i<allListMenu.length;i++)939 {940 if (allListMenu[i].menu===j.parent_id)941 {942 allListMenu[i].submenu.push(j);943 }944 }945 }946 const catId=req.params.id;947 const page=req.query.page || 1;948 const previousPage=+page-1;949 const nextPage=+page+1;950 if (page<1){951 page=1;952 }953 const total=await categoryModel.countByCatSub(catId);954 let nPages=Math.floor(total/paginate.limit);955 if (total %paginate.limit>0)956 {957 nPages++;958 }959 const page_numbers=[];960 for (i=1;i<=nPages;i++)961 {962 page_numbers.push({963 value: i,964 isCurrentPage: i=== +page,965 });966 }967 const offset=(page-1)*paginate.limit;968 const list = await categoryModel.mostByCatIDConditionSub(catId, offset,cd,mode);969 if (req.session.authUser!=null){970 const listBuy=await categoryModel.getBuyList(req.session.authUser.user_id);971 await categoryModel.checkBill(list,listBuy);972 await categoryModel.checkisHaving(req.session.cart,list);973 }974 //const listHot=await categoryModel.all();975 await categoryModel.checkHot(list,listHot);976 //const listNew=await categoryModel.getNewList();977 await categoryModel.checkNew(list,listNew);978 res.render('search_site', {979 product_popular: list,980 empty: list.length === 0,981 cateId: {982 Id:catId,983 categoryByIdSub: true,984 active_m_st: mosts,985 active_m_ov: mosto,986 active_new: ne,987 active_m_dp: priced,988 active_m_ap: pricea,989 },990 page_numbers,991 previousPage,992 nextPage,993 shopping_list,994 items,995 menuList: menuList,996 empty_menu: menuList.length!==0,997 allListMenu: allListMenu,998 checkNextPage: nextPage<=nPages,999 checkPreviousPage: previousPage>0,1000 layout: "search-item.hbs",1001 });1002})1003router.get('/keyword/:id/mode/:condition', async function (req, res) {1004 const condition=req.params.condition;1005 let cd=""1006 let mode="";1007 let ms=false;1008 let mo=false;1009 let pd=false;1010 let pa=false;1011 let n=false1012 if (condition==="most-study")1013 {1014 cd="number_student";1015 mode="DESC"1016 ms=true;1017 mo=false;1018 pd=false;1019 pa=false;1020 n=false1021 }1022 if (condition==="most-overall")1023 {1024 cd="overall_star";1025 mode="DESC"1026 ms=false;1027 mo=true;1028 pd=false;1029 pa=false;1030 n=false1031 }1032 if (condition==="price-descend")1033 {1034 cd="reduce_price";1035 mode="DESC"1036 ms=false;1037 mo=false;1038 pd=true;1039 pa=false;1040 n=false1041 }1042 if (condition==="price-ascend")1043 {1044 cd="reduce_price";1045 mode="ASC"1046 ms=false;1047 mo=false;1048 pd=false;1049 pa=true;1050 n=false1051 }1052 if (condition==="newest")1053 {1054 cd="create_date";1055 mode="DESC"1056 ms=false;1057 mo=false;1058 pd=false;1059 pa=false;1060 n=true;1061 }1062 const mosts=ms;1063 const mosto=mo;1064 const priced=pd;1065 const pricea=pa;1066 const ne=n;1067 const shopping_list=req.session.shopCart;1068 const menuList=await menuCategory.getCateMenu();1069 const submenuList=await menuCategory.getCateSubMenu();1070 const allListMenu=[];1071 const items=req.session.cart;1072 const listHot=await categoryModel.all();1073 const listNew=await categoryModel.getNewList();1074 for (const i of menuList)1075 {1076 const menu_list=await categoryModel.allById(i.category_id);1077 categoryModel.checkIsHaving(items,menu_list);1078 if (req.session.authUser!=null)1079 {1080 const listBuy=await categoryModel.getBuyList(req.session.authUser.user_id);1081 await categoryModel.checkBill(menu_list,listBuy);1082 }1083 await categoryModel.checkHot(menu_list,listHot);1084 await categoryModel.checkNew(menu_list,listNew);1085 const item={1086 menu: i.category_id,1087 name: i.category_name,1088 submenu: [],1089 top4_course_menu: menu_list1090 };1091 allListMenu.push(item);1092 }1093 for (const j of submenuList)1094 {1095 for (i=0;i<allListMenu.length;i++)1096 {1097 if (allListMenu[i].menu===j.parent_id)1098 {1099 allListMenu[i].submenu.push(j);1100 }1101 }1102 }1103 const catId=req.params.id;1104 const page=req.query.page || 1;1105 const previousPage=+page-1;1106 const nextPage=+page+1;1107 if (page<1){1108 page=1;1109 }1110 const total=await categoryModel.countBySearch(catId);1111 let nPages=Math.floor(total/paginate.limit);1112 if (total %paginate.limit>0)1113 {1114 nPages++;1115 }1116 const page_numbers=[];1117 for (i=1;i<=nPages;i++)1118 {1119 page_numbers.push({1120 value: i,1121 isCurrentPage: i=== +page,1122 });1123 }1124 const offset=(page-1)*paginate.limit;1125 const list = await categoryModel.mostMenuChooseSearch(catId, offset,cd,mode);1126 if (req.session.authUser!=null){1127 const listBuy=await categoryModel.getBuyList(req.session.authUser.user_id);1128 await categoryModel.checkBill(list,listBuy);1129 await categoryModel.checkisHaving(req.session.cart,list);1130 }1131 //const listHot=await categoryModel.all();1132 await categoryModel.checkHot(list,listHot);1133 //const listNew=await categoryModel.getNewList();1134 await categoryModel.checkNew(list,listNew);1135 res.render('search_site', {1136 product_popular: list,1137 empty: list.length === 0,1138 cateId: {1139 Id:catId,1140 categoryById: false,1141 active_m_st: mosts,1142 active_m_ov: mosto,1143 active_new: ne,1144 active_m_dp: priced,1145 active_m_ap: pricea,1146 },1147 page_numbers,1148 previousPage,1149 nextPage,1150 shopping_list,1151 items,1152 menuList: menuList,1153 empty_menu: menuList.length!==0,1154 allListMenu: allListMenu,1155 checkNextPage: nextPage<=nPages,1156 checkPreviousPage: previousPage>0,1157 layout: "search-item.hbs",1158 });1159})...
app.routing.js
Source:app.routing.js
1System.register(["@angular/router", "./Home/home.component", "./Color/color/color-edit.component", "./Color/color-list/color-list.component", "./Color/color/color-add.component", "./FabricsCategory/fabricscategory-list/fabricscategory-list.component", "./FabricsProductName/fabricsproductname-list/fabricsproductname-list.component", "./FabricsFibreContent/fabricsfibrecontent-list/fabricsfibrecontent-list.component", "./FabricsFinishing/fabricsfinishing-list/fabricsfinishing-list.component", "./FabricWeight/fabricweight-list/fabricweight-list.component", "./FabricsYarnCount/fabricsyarncount-list/fabricsyarncount-list.component", "./FabricProductType/fabricproducttype-list/fabricproducttype-list.component", "./GraphicType/graphictype-list/graphictype-list.component", "./GraphicCategory/graphiccategory-list/graphiccategory-list.component", "./GraphicProductName/graphicproductname-list/graphicproductname-list.component", "./POM/pom-list/pom-list.component", "./Shipping/shipping-list/shipping-list.component", "./Shipping/shipping/shipping-add.component", "./Shipping/shipping/shipping-edit.component", "./Graphic/graphic-list/graphic-list.component", "./Graphic/graphic/graphic-add.component", "./Graphic/graphic/graphic-edit.component", "./FabricsType/fabricstype-list/fabricstype-list.component", "./Division/division-list/division-list.component", "./Brand/brand-list/brand-list.component", "./AccessoryType/accessorytype-list/accessorytype-list.component", "./ReasonForAbortingProject/reasonforabortingproject-list/reasonforabortingproject-list.component", "./Season/season-list/season-list.component", "./Training/training-list/training-list.component", "./TrainingItem/trainingitem-list/trainingitem-list.component", "./ShippingType/shippingtype-list/shippingtype-list.component", "./SizeRange/sizerange-list/sizerange-list.component", "./SizeRange/sizerange/sizerange-add.component", "./SizeRange/sizerange/sizerange-edit.component", "./WashCategory/washcategory-list/washcategory-list.component", "./WashProductName/washproductname-list/washproductname-list.component", "./WashType/washtype-list/washtype-list.component", "./Year/year-list/year-list.component", "./Wash/wash-list/wash-list.component", "./Wash/wash/wash-add.component", "./Wash/wash/wash-edit.component", "./Application/application-list/application-list.component", "./Application/application/application-add.component", "./Application/application/application-edit.component", "./AccessoryCategory/accessorycategory-list/accessorycategory-list.component", "./AccessoryProductName/accessoryproductname-list/accessoryproductname-list.component", "./Department/department-list/department-list.component", "./EndBuyer/endbuyer-list/endbuyer-list.component", "./Accessories/accessories-list/accessories-list.component", "./Accessories/accessories/accessories-add.component", "./Accessories/accessories/accessories-edit.component", "./Fabrics/fabrics-list/fabrics-list.component", "./Fabrics/fabrics/fabrics-add.component", "./Fabrics/fabrics/fabrics-edit.component", "./Login/login.component", "./User/User/User-Add.component", "./User/User/User-Edit.component", "./User/User-List/User-List.component", "./Spec/spec-list/spec-list.component", "./Spec/spec/spec-add.component", "./UserRole/UserRole/UserRole-Add.component", "./UserRole/UserRole/UserRole-Edit.component", "./UserRole/UserRole-List/UserRole-List.component", "./VendorType/VendorType/VendorType-Add.component", "./VendorType/VendorType/VendorType-Edit.component", "./VendorType/VendorType-List/VendorType-List.component", "./VendorProductType/VendorProductType/VendorProductType-Add.component", "./VendorProductType/VendorProductType/VendorProductType-Edit.component", "./VendorProductType/VendorProductType-List/VendorProductType-List.component", "./Vendor/Vendor/Vendor-Add.component", "./Vendor/Vendor-List/Vendor-List.component", "./PageNotFound/page-not-found.component"], function (exports_1, context_1) {2 "use strict";3 var __moduleName = context_1 && context_1.id;4 var router_1, home_component_1, color_edit_component_1, color_list_component_1, color_add_component_1, fabricscategory_list_component_1, fabricsproductname_list_component_1, fabricsfibrecontent_list_component_1, fabricsfinishing_list_component_1, fabricweight_list_component_1, fabricsyarncount_list_component_1, fabricproducttype_list_component_1, graphictype_list_component_1, graphiccategory_list_component_1, graphicproductname_list_component_1, pom_list_component_1, shipping_list_component_1, shipping_add_component_1, shipping_edit_component_1, graphic_list_component_1, graphic_add_component_1, graphic_edit_component_1, fabricstype_list_component_1, division_list_component_1, brand_list_component_1, accessorytype_list_component_1, reasonforabortingproject_list_component_1, season_list_component_1, training_list_component_1, trainingitem_list_component_1, shippingtype_list_component_1, sizerange_list_component_1, sizerange_add_component_1, sizerange_edit_component_1, washcategory_list_component_1, washproductname_list_component_1, washtype_list_component_1, year_list_component_1, wash_list_component_1, wash_add_component_1, wash_edit_component_1, application_list_component_1, application_add_component_1, application_edit_component_1, accessorycategory_list_component_1, accessoryproductname_list_component_1, department_list_component_1, endbuyer_list_component_1, accessories_list_component_1, accessories_add_component_1, accessories_edit_component_1, fabrics_list_component_1, fabrics_add_component_1, fabrics_edit_component_1, login_component_1, User_Add_component_1, User_Edit_component_1, User_List_component_1, spec_list_component_1, spec_add_component_1, UserRole_Add_component_1, UserRole_Edit_component_1, UserRole_List_component_1, VendorType_Add_component_1, VendorType_Edit_component_1, VendorType_List_component_1, VendorProductType_Add_component_1, VendorProductType_Edit_component_1, VendorProductType_List_component_1, Vendor_Add_component_1, Vendor_List_component_1, page_not_found_component_1, appRoutes, AppRoutingProviders, AppRouting;5 return {6 setters: [7 function (router_1_1) {8 router_1 = router_1_1;9 },10 function (home_component_1_1) {11 home_component_1 = home_component_1_1;12 },13 function (color_edit_component_1_1) {14 color_edit_component_1 = color_edit_component_1_1;15 },16 function (color_list_component_1_1) {17 color_list_component_1 = color_list_component_1_1;18 },19 function (color_add_component_1_1) {20 color_add_component_1 = color_add_component_1_1;21 },22 function (fabricscategory_list_component_1_1) {23 fabricscategory_list_component_1 = fabricscategory_list_component_1_1;24 },25 function (fabricsproductname_list_component_1_1) {26 fabricsproductname_list_component_1 = fabricsproductname_list_component_1_1;27 },28 function (fabricsfibrecontent_list_component_1_1) {29 fabricsfibrecontent_list_component_1 = fabricsfibrecontent_list_component_1_1;30 },31 function (fabricsfinishing_list_component_1_1) {32 fabricsfinishing_list_component_1 = fabricsfinishing_list_component_1_1;33 },34 function (fabricweight_list_component_1_1) {35 fabricweight_list_component_1 = fabricweight_list_component_1_1;36 },37 function (fabricsyarncount_list_component_1_1) {38 fabricsyarncount_list_component_1 = fabricsyarncount_list_component_1_1;39 },40 function (fabricproducttype_list_component_1_1) {41 fabricproducttype_list_component_1 = fabricproducttype_list_component_1_1;42 },43 function (graphictype_list_component_1_1) {44 graphictype_list_component_1 = graphictype_list_component_1_1;45 },46 function (graphiccategory_list_component_1_1) {47 graphiccategory_list_component_1 = graphiccategory_list_component_1_1;48 },49 function (graphicproductname_list_component_1_1) {50 graphicproductname_list_component_1 = graphicproductname_list_component_1_1;51 },52 function (pom_list_component_1_1) {53 pom_list_component_1 = pom_list_component_1_1;54 },55 function (shipping_list_component_1_1) {56 shipping_list_component_1 = shipping_list_component_1_1;57 },58 function (shipping_add_component_1_1) {59 shipping_add_component_1 = shipping_add_component_1_1;60 },61 function (shipping_edit_component_1_1) {62 shipping_edit_component_1 = shipping_edit_component_1_1;63 },64 function (graphic_list_component_1_1) {65 graphic_list_component_1 = graphic_list_component_1_1;66 },67 function (graphic_add_component_1_1) {68 graphic_add_component_1 = graphic_add_component_1_1;69 },70 function (graphic_edit_component_1_1) {71 graphic_edit_component_1 = graphic_edit_component_1_1;72 },73 function (fabricstype_list_component_1_1) {74 fabricstype_list_component_1 = fabricstype_list_component_1_1;75 },76 function (division_list_component_1_1) {77 division_list_component_1 = division_list_component_1_1;78 },79 function (brand_list_component_1_1) {80 brand_list_component_1 = brand_list_component_1_1;81 },82 function (accessorytype_list_component_1_1) {83 accessorytype_list_component_1 = accessorytype_list_component_1_1;84 },85 function (reasonforabortingproject_list_component_1_1) {86 reasonforabortingproject_list_component_1 = reasonforabortingproject_list_component_1_1;87 },88 function (season_list_component_1_1) {89 season_list_component_1 = season_list_component_1_1;90 },91 function (training_list_component_1_1) {92 training_list_component_1 = training_list_component_1_1;93 },94 function (trainingitem_list_component_1_1) {95 trainingitem_list_component_1 = trainingitem_list_component_1_1;96 },97 function (shippingtype_list_component_1_1) {98 shippingtype_list_component_1 = shippingtype_list_component_1_1;99 },100 function (sizerange_list_component_1_1) {101 sizerange_list_component_1 = sizerange_list_component_1_1;102 },103 function (sizerange_add_component_1_1) {104 sizerange_add_component_1 = sizerange_add_component_1_1;105 },106 function (sizerange_edit_component_1_1) {107 sizerange_edit_component_1 = sizerange_edit_component_1_1;108 },109 function (washcategory_list_component_1_1) {110 washcategory_list_component_1 = washcategory_list_component_1_1;111 },112 function (washproductname_list_component_1_1) {113 washproductname_list_component_1 = washproductname_list_component_1_1;114 },115 function (washtype_list_component_1_1) {116 washtype_list_component_1 = washtype_list_component_1_1;117 },118 function (year_list_component_1_1) {119 year_list_component_1 = year_list_component_1_1;120 },121 function (wash_list_component_1_1) {122 wash_list_component_1 = wash_list_component_1_1;123 },124 function (wash_add_component_1_1) {125 wash_add_component_1 = wash_add_component_1_1;126 },127 function (wash_edit_component_1_1) {128 wash_edit_component_1 = wash_edit_component_1_1;129 },130 function (application_list_component_1_1) {131 application_list_component_1 = application_list_component_1_1;132 },133 function (application_add_component_1_1) {134 application_add_component_1 = application_add_component_1_1;135 },136 function (application_edit_component_1_1) {137 application_edit_component_1 = application_edit_component_1_1;138 },139 function (accessorycategory_list_component_1_1) {140 accessorycategory_list_component_1 = accessorycategory_list_component_1_1;141 },142 function (accessoryproductname_list_component_1_1) {143 accessoryproductname_list_component_1 = accessoryproductname_list_component_1_1;144 },145 function (department_list_component_1_1) {146 department_list_component_1 = department_list_component_1_1;147 },148 function (endbuyer_list_component_1_1) {149 endbuyer_list_component_1 = endbuyer_list_component_1_1;150 },151 function (accessories_list_component_1_1) {152 accessories_list_component_1 = accessories_list_component_1_1;153 },154 function (accessories_add_component_1_1) {155 accessories_add_component_1 = accessories_add_component_1_1;156 },157 function (accessories_edit_component_1_1) {158 accessories_edit_component_1 = accessories_edit_component_1_1;159 },160 function (fabrics_list_component_1_1) {161 fabrics_list_component_1 = fabrics_list_component_1_1;162 },163 function (fabrics_add_component_1_1) {164 fabrics_add_component_1 = fabrics_add_component_1_1;165 },166 function (fabrics_edit_component_1_1) {167 fabrics_edit_component_1 = fabrics_edit_component_1_1;168 },169 function (login_component_1_1) {170 login_component_1 = login_component_1_1;171 },172 function (User_Add_component_1_1) {173 User_Add_component_1 = User_Add_component_1_1;174 },175 function (User_Edit_component_1_1) {176 User_Edit_component_1 = User_Edit_component_1_1;177 },178 function (User_List_component_1_1) {179 User_List_component_1 = User_List_component_1_1;180 },181 function (spec_list_component_1_1) {182 spec_list_component_1 = spec_list_component_1_1;183 },184 function (spec_add_component_1_1) {185 spec_add_component_1 = spec_add_component_1_1;186 },187 function (UserRole_Add_component_1_1) {188 UserRole_Add_component_1 = UserRole_Add_component_1_1;189 },190 function (UserRole_Edit_component_1_1) {191 UserRole_Edit_component_1 = UserRole_Edit_component_1_1;192 },193 function (UserRole_List_component_1_1) {194 UserRole_List_component_1 = UserRole_List_component_1_1;195 },196 function (VendorType_Add_component_1_1) {197 VendorType_Add_component_1 = VendorType_Add_component_1_1;198 },199 function (VendorType_Edit_component_1_1) {200 VendorType_Edit_component_1 = VendorType_Edit_component_1_1;201 },202 function (VendorType_List_component_1_1) {203 VendorType_List_component_1 = VendorType_List_component_1_1;204 },205 function (VendorProductType_Add_component_1_1) {206 VendorProductType_Add_component_1 = VendorProductType_Add_component_1_1;207 },208 function (VendorProductType_Edit_component_1_1) {209 VendorProductType_Edit_component_1 = VendorProductType_Edit_component_1_1;210 },211 function (VendorProductType_List_component_1_1) {212 VendorProductType_List_component_1 = VendorProductType_List_component_1_1;213 },214 function (Vendor_Add_component_1_1) {215 Vendor_Add_component_1 = Vendor_Add_component_1_1;216 },217 function (Vendor_List_component_1_1) {218 Vendor_List_component_1 = Vendor_List_component_1_1;219 },220 function (page_not_found_component_1_1) {221 page_not_found_component_1 = page_not_found_component_1_1;222 }223 ],224 execute: function () {225 appRoutes = [226 { path: '', component: home_component_1.HomeComponent },227 { path: "home", redirectTo: "" },228 { path: "color", component: color_list_component_1.ColorListComponent },229 { path: "color/add", component: color_add_component_1.ColorAddComponent },230 { path: "color/edit/:id", component: color_edit_component_1.ColorEditComponent },231 { path: "fabricscategory", component: fabricscategory_list_component_1.FabricsCategoryListComponent },232 { path: "fabricsproductname", component: fabricsproductname_list_component_1.FabricsProductNameListComponent },233 { path: "fabricsfibrecontent", component: fabricsfibrecontent_list_component_1.FabricsFibreContentListComponent },234 { path: "fabricsfinishing", component: fabricsfinishing_list_component_1.FabricsFinishingListComponent },235 { path: "accessories", component: accessories_list_component_1.AccessoriesListComponent },236 { path: "accessories/add", component: accessories_add_component_1.AccessoriesAddComponent },237 { path: "accessories/edit/:id", component: accessories_edit_component_1.AccessoriesEditComponent },238 { path: "graphic", component: graphic_list_component_1.GraphicListComponent },239 { path: "graphic/add", component: graphic_add_component_1.GraphicAddComponent },240 { path: "graphic/edit/:id", component: graphic_edit_component_1.GraphicEditComponent },241 { path: "fabricsyarncount", component: fabricsyarncount_list_component_1.FabricsYarnCountListComponent },242 { path: "fabricproducttype", component: fabricproducttype_list_component_1.FabricProductTypeListComponent },243 { path: "fabricstype", component: fabricstype_list_component_1.FabricsTypeListComponent },244 { path: "fabricweight", component: fabricweight_list_component_1.FabricWeightListComponent },245 { path: "shipping", component: shipping_list_component_1.ShippingListComponent },246 { path: "shipping/add", component: shipping_add_component_1.ShippingAddComponent },247 { path: "shipping/edit/:id", component: shipping_edit_component_1.ShippingEditComponent },248 { path: "pom", component: pom_list_component_1.POMListComponent },249 { path: "accessorytype", component: accessorytype_list_component_1.AccessoryTypeListComponent },250 { path: "accessory/type/:typeid", component: accessories_list_component_1.AccessoriesListComponent },251 { path: "accessory/category/:cateid", component: accessories_list_component_1.AccessoriesListComponent },252 { path: "accessory/productname/:productnameid", component: accessories_list_component_1.AccessoriesListComponent },253 { path: "wash/type/:typeid", component: wash_list_component_1.WashListComponent },254 { path: "wash/category/:cateid", component: wash_list_component_1.WashListComponent },255 { path: "wash/productname/:productnameid", component: wash_list_component_1.WashListComponent },256 { path: "fabrics/type/:typeid", component: fabrics_list_component_1.FabricsListComponent },257 { path: "fabrics/category/:cateid", component: fabrics_list_component_1.FabricsListComponent },258 { path: "fabrics/productname/:productnameid", component: fabrics_list_component_1.FabricsListComponent },259 { path: "graphic/type/:typeid", component: graphic_list_component_1.GraphicListComponent },260 { path: "graphic/category/:cateid", component: graphic_list_component_1.GraphicListComponent },261 { path: "graphic/productname/:productnameid", component: graphic_list_component_1.GraphicListComponent },262 { path: "accessoryproductname", component: accessoryproductname_list_component_1.AccessoryProductNameListComponent },263 { path: "wash", component: wash_list_component_1.WashListComponent },264 { path: "wash/add", component: wash_add_component_1.WashAddComponent },265 { path: "wash/edit/:id", component: wash_edit_component_1.WashEditComponent },266 { path: "reasonforabortingproject", component: reasonforabortingproject_list_component_1.ReasonForAbortingProjectListComponent },267 { path: "season", component: season_list_component_1.SeasonListComponent },268 { path: "training", component: training_list_component_1.TrainingListComponent },269 { path: "trainingitem", component: trainingitem_list_component_1.TrainingItemListComponent },270 { path: "brand", component: brand_list_component_1.BrandListComponent },271 { path: "division", component: division_list_component_1.DivisionListComponent },272 { path: "shippingtype", component: shippingtype_list_component_1.ShippingTypeListComponent },273 { path: "sizerange", component: sizerange_list_component_1.SizeRangeListComponent },274 { path: "sizerange/add", component: sizerange_add_component_1.SizeRangeAddComponent },275 { path: "sizerange/edit/:id", component: sizerange_edit_component_1.SizeRangeEditComponent },276 { path: "washcategory", component: washcategory_list_component_1.WashCategoryListComponent },277 { path: "washproductname", component: washproductname_list_component_1.WashProductNameListComponent },278 { path: "washtype", component: washtype_list_component_1.WashTypeListComponent },279 { path: "graphictype", component: graphictype_list_component_1.GraphicTypeListComponent },280 { path: "graphiccategory", component: graphiccategory_list_component_1.GraphicCategoryListComponent },281 { path: "graphicproductname", component: graphicproductname_list_component_1.GraphicProductNameListComponent },282 { path: "application", component: application_list_component_1.ApplicationListComponent },283 { path: "application/add", component: application_add_component_1.ApplicationAddComponent },284 { path: "application/edit/:id", component: application_edit_component_1.ApplicationEditComponent },285 { path: "year", component: year_list_component_1.YearListComponent },286 { path: "accessorycategory", component: accessorycategory_list_component_1.AccessoryCategoryListComponent },287 { path: "accessoryproductname", component: accessoryproductname_list_component_1.AccessoryProductNameListComponent },288 { path: "department", component: department_list_component_1.DepartmentListComponent },289 { path: "endbuyer", component: endbuyer_list_component_1.EndBuyerListComponent },290 { path: "fabrics", component: fabrics_list_component_1.FabricsListComponent },291 { path: "fabrics/add", component: fabrics_add_component_1.FabricsAddComponent },292 { path: "fabrics/edit/:id", component: fabrics_edit_component_1.FabricsEditComponent },293 { path: "login", component: login_component_1.LoginComponent },294 { path: "userlist", component: User_List_component_1.UserListComponent },295 { path: "userlist/add", component: User_Add_component_1.UserAddComponent },296 { path: "userlist/edit/:id", component: User_Edit_component_1.UserEditComponent },297 { path: "spec", component: spec_list_component_1.SpecListComponent },298 { path: "spec/add", component: spec_add_component_1.SpecAddComponent },299 { path: "userrolelist", component: UserRole_List_component_1.UserRoleListComponent },300 { path: "userrolelist/add", component: UserRole_Add_component_1.UserRoleAddComponent },301 { path: "userrolelist/edit/:id", component: UserRole_Edit_component_1.UserRoleEditComponent },302 { path: "vendortypelist", component: VendorType_List_component_1.VendorTypeListComponent },303 { path: "vendortypelist/add", component: VendorType_Add_component_1.VendorTypeAddComponent },304 { path: "vendortypelist/edit/:id", component: VendorType_Edit_component_1.VendorTypeEditComponent },305 { path: "vendorproducttypelist", component: VendorProductType_List_component_1.VendorProductTypeListComponent },306 { path: "vendorproducttypelist/add", component: VendorProductType_Add_component_1.VendorProductTypeAddComponent },307 { path: "vendorproducttypelist/edit/:id", component: VendorProductType_Edit_component_1.VendorProductTypeEditComponent },308 { path: "vendorlist", component: Vendor_List_component_1.VendorListComponent },309 { path: "vendorlist/add", component: Vendor_Add_component_1.VendorAddComponent },310 //{ path: "vendorlist/edit/:id", component: VendorEditComponent },311 { path: "spec", component: spec_list_component_1.SpecListComponent },312 { path: "spec/add", component: spec_add_component_1.SpecAddComponent },313 { path: '**', component: page_not_found_component_1.PageNotFoundComponent }314 ];315 exports_1("AppRoutingProviders", AppRoutingProviders = []);316 exports_1("AppRouting", AppRouting = router_1.RouterModule.forRoot(appRoutes));317 }318 };...
controllers.js
Source:controllers.js
1//======================================================================================================================2// Controllers for List Webble for Webble World v3.0 (2013)3// Created By: truemrwalker4//======================================================================================================================5//=======================================================================================6// WEBBLE CONTROLLER7// This is the Main controller for this Webble Template8//=======================================================================================9wblwrld3App.controller('listCtrl', function($scope, $log, $timeout, Slot, Enum) {10 //=== PROPERTIES ====================================================================11 $scope.stylesToSlots = {12 listGrabber: ['padding', 'background-color', 'border'],13 listContainer: ['font-family', 'font-size', 'color']14 };15 $scope.theList = {16 items: [],17 currentSelected: ''18 };19 $scope.formProps = {20 CBDisplayClass: 'checkbox',21 RBDisplayClass: 'checkbox',22 listHeight: 'auto',23 listOverflow: 'visible',24 listItemMarkerImage: ''25 };26 var selectChangeBlocked = false;27 var fxList;28 //=== EVENT HANDLERS ================================================================29 //=== METHODS & FUNCTIONS ===========================================================30 //===================================================================================31 // Webble template Initialization32 //===================================================================================33 $scope.coreCall_Init = function(theInitWblDef){34 $scope.registerWWEventListener(Enum.availableWWEvents.slotChanged, function(eventData){35 var newVal = eventData.slotValue;36 if(eventData.slotName == 'theList'){37 updateList(newVal);38 }39 else if(eventData.slotName == 'theListType'){40 if(fxList != undefined){ stroll.unbind(fxList); }41 updateList(newVal);42 if(newVal == 6){43 $timeout(function(){fxList = $scope.theView.parent().find("#fxList ul"); stroll.bind(fxList);});44 }45 }46 else if(eventData.slotName == 'theListDirection'){47 if(newVal == 0){48 $scope.formProps.CBDisplayClass = 'checkbox';49 $scope.formProps.RBDisplayClass = 'radio';50 }51 else if(newVal == 1){52 $scope.formProps.CBDisplayClass = 'checkbox-inline';53 $scope.formProps.RBDisplayClass = 'radio-inline';54 }55 }56 else if(eventData.slotName == 'theListContainerHeight'){57 if(newVal != undefined){58 var valParsed = parseInt(newVal);59 if(!isNaN(valParsed)){60 $scope.formProps.listHeight = valParsed + 'px';61 $scope.formProps.listOverflow = 'scroll';62 }63 else{64 $scope.formProps.listHeight = 'auto';65 $scope.formProps.listOverflow = 'visible';66 }67 if($scope.gimme('theListType') == 6){68 if(fxList != undefined){ stroll.unbind(fxList); }69 $timeout(function(){fxList = $scope.theView.parent().find("#fxList ul"); stroll.bind(fxList);});70 }71 }72 }73 else if(eventData.slotName == 'theListItemMarkerImage'){74 if(newVal != undefined){75 $scope.formProps.listItemMarkerImage = 'url(' + newVal + ')';76 }77 }78 else if(eventData.slotName == 'theSelectedName'){79 if(!selectChangeBlocked){80 selectChangeBlocked = true;81 $timeout(function(){selectChangeBlocked = false;}, 100);82 $scope.theList.currentSelected = newVal;83 var count = 0;84 for(var i = 0; i < $scope.theList.items.length; i++){85 if($scope.theList.items[i] == newVal){86 $scope.set('theSelectedIndex', i);87 count++;88 }89 }90 if(count > 1 || (newVal != '' && count == 0)){91 //$scope.set('theSelectedIndex', -2);92 }93 if(newVal == ''){94 $scope.set('theSelectedIndex', -1);95 }96 }97 }98 else if(eventData.slotName == 'theSelectedIndex'){99 if(newVal != -2 && !selectChangeBlocked){100 selectChangeBlocked = true;101 $timeout(function(){selectChangeBlocked = false;}, 100);102 if(newVal < $scope.theList.items.length){103 $scope.theList.currentSelected = $scope.theList.items[parseInt(newVal)];104 $scope.set('theSelectedName', $scope.theList.currentSelected);105 }106 else{107 $scope.set('theSelectedIndex', -1);108 $scope.theList.currentSelected = '';109 $scope.set('theSelectedName', '');110 }111 }112 }113 else if(eventData.slotName == 'removeListItem'){114 if(eventData.slotValue != ''){115 var theListItem = eventData.slotValue;116 var theListStr = $scope.gimme('theList');117 var tempListItems = [], splitChar = '';118 if(theListStr.search(';') != -1){119 tempListItems = theListStr.split(';');120 splitChar = ';';121 }122 else if(theListStr.search(',') != -1){123 tempListItems = theListStr.split(',');124 splitChar = ',';125 }126 else if(theListStr.search(' ') != -1){127 tempListItems = theListStr.split(' ');128 splitChar = ' ';129 }130 else{131 tempListItems.push(theListStr);132 }133 if(!isNaN(theListItem)){134 theListItem = tempListItems[parseInt(theListItem)];135 }136 theListStr = theListStr.replace(theListItem, '').replace(splitChar + splitChar, splitChar);137 if(theListStr[0] == splitChar){theListStr = theListStr.substr(1)}138 if(theListStr[theListStr.length - 1] == splitChar){theListStr = theListStr.substr(0, theListStr.length - 1)}139 $scope.set('removeListItem', '');140 $scope.set('theList', theListStr);141 adjustSelectedItem();142 $timeout(function(){adjustSelectedItem();});143 }144 }145 else if(eventData.slotName == 'addListItem'){146 if(eventData.slotValue != ''){147 var theListStr = $scope.gimme('theList');148 var splitChar = ';';149 if(theListStr.search(',') != -1){ splitChar = ','; }150 else if(theListStr.search(' ') != -1){ splitChar = ' '; }151 theListStr += (splitChar + eventData.slotValue);152 $scope.set('addListItem', '');153 if(fxList != undefined){ stroll.unbind(fxList); }154 $scope.set('theList', theListStr);155 if($scope.gimme('theListType') == 6){156 $timeout(function(){fxList = $scope.theView.parent().find("#fxList ul"); stroll.bind(fxList);});157 }158 adjustSelectedItem();159 }160 }161 else if(eventData.slotName == 'insertListItem'){162 if(eventData.slotValue != ''){163 var theIndex = parseInt($scope.gimme('theSelectedIndex'));164 var newListStr = '';165 if(isNaN(theIndex)){ theIndex = 0; }166 if($scope.theList.items.length > theIndex){167 var theListStr = $scope.gimme('theList');168 var splitChar = ';';169 if(theListStr.search(',') != -1){ splitChar = ','; }170 else if(theListStr.search(' ') != -1){ splitChar = ' '; }171 $scope.theList.items.splice(theIndex, 0, eventData.slotValue);172 for(var i = 0; i < $scope.theList.items.length; i++){173 if(i > 0){ newListStr += splitChar }174 newListStr += $scope.theList.items[i];175 }176 }177 $scope.set('insertListItem', '');178 if(newListStr != ''){179 if(fxList != undefined){ stroll.unbind(fxList); }180 $scope.set('theList', newListStr);181 if($scope.gimme('theListType') == 6){182 $timeout(function(){fxList = $scope.theView.parent().find("#fxList ul"); stroll.bind(fxList);});183 }184 adjustSelectedItem();185 }186 }187 }188 else if(eventData.slotName == 'sortListEnabled'){189 updateList($scope.gimme('theList'));190 }191 });192 $scope.addSlot(new Slot('theList',193 'One Two Three Four Five Six Seven Eight Nine Ten Eleven Twelve Thirteen Fourteen Fifteen Sixteen Seventeen Eighteen Nineteen Twenty Twentyone Twentytwo Twentythree Twentyfour Twentyfive Twentysix Twentyseven Twentyeight Twentynine Thirty Thirtyone Thirtytwo Thirtythree Thirtyfour Thirtyfive Thirtysix Thirtyseven Thirtyeight Thirtynine Forty Fortyone Fortytwo Fortythree Fortyfour Fortyfive Fortysix Fortyseven Fortyeight Fortynine Fifty Fiftyone Fiftytwo Fiftythree Fiftyfour Fiftyfive Fiftysix Fiftyseven Fiftyeight Fiftynine Sixty Sixtyone Sixtytwo Sixtythree Sixtyfour Sixtyfive Sixtysix Sixtyseven Sixtyeight Sixtynine Seventy Seventyone Seventytwo Seventythree Seventyfour Seventyfive Seventysix Seventyseven Seventyeight Seventynine Eighty Eightyone Eightytwo Eightythree Eightyfour Eightyfive Eightysix Eightyseven Eightyeight Eightynine Ninety Ninetyone Ninetytwo Ninetythree Ninetyfour Ninetyfive Ninetysix Ninetyseven Ninetyeight Ninetynine',194 'The List Items',195 'The items of the list (separated by either comma[,], semicolon[;] or space [ ].',196 $scope.theWblMetadata['templateid'],197 {inputType: Enum.aopInputTypes.TextBox},198 undefined199 ));200 $scope.addSlot(new Slot('theSelectedIndex',201 -1,202 'The Selected Index',203 'The index of the selected item of the list (-1 = none slected, -2 = multiple selected)',204 $scope.theWblMetadata['templateid'],205 undefined,206 undefined207 ));208 $scope.getSlot('theSelectedIndex').setDisabledSetting(Enum.SlotDisablingState.PropertyEditing);209 $scope.addSlot(new Slot('theSelectedName',210 '',211 'The Selected Name',212 'The name of the selected item of the list',213 $scope.theWblMetadata['templateid'],214 undefined,215 undefined216 ));217 $scope.getSlot('theSelectedName').setDisabledSetting(Enum.SlotDisablingState.PropertyEditing);218 $scope.addSlot(new Slot('listLength',219 0,220 'List Length',221 'The amount of items in the list',222 $scope.theWblMetadata['templateid'],223 undefined,224 undefined225 ));226 $scope.getSlot('listLength').setDisabledSetting(Enum.SlotDisablingState.PropertyEditing);227 $scope.addSlot(new Slot('theListType',228 6,229 'The Display Type',230 'The type of way the list is being displayed',231 $scope.theWblMetadata['templateid'],232 {inputType: Enum.aopInputTypes.ComboBoxUseIndex, comboBoxContent: ['Undefined', 'Drop Down Box', 'Radio Buttons', 'Multi Select List Box', 'Check Boxes', 'Classic List', 'FX List']},233 undefined234 ));235 $scope.addSlot(new Slot('fxListEffect',236 'twirl',237 'FX List Effect',238 'The effect that will be used when scrolling the fx list. (These CSS Effects was provided by Hakim El Hattab [ @hakimel ])',239 $scope.theWblMetadata['templateid'],240 {inputType: Enum.aopInputTypes.ComboBoxUseValue, comboBoxContent: ['none', 'cards', 'curl', 'fan', 'flip', 'fly', 'fly-reverse', 'fly-simplified', 'grow', 'helix', 'papercut', 'skew', 'tilt', 'twirl', 'wave', 'zipper']},241 undefined242 ));243 $scope.addSlot(new Slot('sortListEnabled',244 false,245 'Sort List Enabled',246 'If checked the list will always be sorted in alphabetic order',247 $scope.theWblMetadata['templateid'],248 undefined,249 undefined250 ));251 $scope.addSlot(new Slot('theListDirection',252 0,253 'The Display Direction',254 'The direction which the list items are displayed (available only for radio and checkbox), vertically or horizontally',255 $scope.theWblMetadata['templateid'],256 {inputType: Enum.aopInputTypes.ComboBoxUseIndex, comboBoxContent: ['Vertical', 'Horizontal']},257 undefined258 ));259 $scope.addSlot(new Slot('theListContainerHeight',260 '300px',261 'The List Display Height',262 'The height of the list to be displayed, [auto] means the height is as long as the list, any size will clip (hide) the part of the list that overflow',263 $scope.theWblMetadata['templateid'],264 undefined,265 undefined266 ));267 $scope.addSlot(new Slot('theListContainerWidth',268 '200px',269 'The List Display Width',270 'The width of the list to be displayed, [auto] means the width is as long as the longest item, any size will clip (hide) the part of the list that overflow',271 $scope.theWblMetadata['templateid'],272 undefined,273 undefined274 ));275 $scope.addSlot(new Slot('multiSelectListSize',276 5,277 'Multi Select List Height',278 'The number of visible items in the multi select list',279 $scope.theWblMetadata['templateid'],280 undefined,281 undefined282 ));283 $scope.addSlot(new Slot('theListItemMarkerStyle',284 'disc',285 'Item Marker Type',286 'When using Classic list, each list item will be marked with a symbol or number, this slot gives you the possibility to change that.',287 $scope.theWblMetadata['templateid'],288 {inputType: Enum.aopInputTypes.ComboBoxUseValue, comboBoxContent: ['none', 'disc', 'armenian', 'circle', 'cjk-ideographic', 'decimal', 'decimal-leading-zero', 'georgian', 'hebrew', 'hiragana', 'hiragana-iroha', 'katakana', 'katakana-iroha', 'lower-alpha', 'lower-greek', 'lower-latin', 'lower-roman', 'square', 'upper-alpha', 'upper-latin', 'upper-roman']},289 undefined290 ));291 $scope.addSlot(new Slot('theListItemMarkerImage',292 'disc',293 'Item Marker Image',294 'When using Classic list, each list item will be marked with a symbol or number, one can even use a custom image by setting this slot.',295 $scope.theWblMetadata['templateid'],296 {inputType: Enum.aopInputTypes.ImagePick},297 undefined298 ));299 $scope.addSlot(new Slot('theListBackgroundColor',300 '#a4a4a4',301 'List Background Color',302 'The background color of the list (not items or the outside padding).',303 $scope.theWblMetadata['templateid'],304 {inputType: Enum.aopInputTypes.ColorPick},305 undefined306 ));307 $scope.addSlot(new Slot('oddItemBkgColor',308 '#ffffff',309 'Odd Item Background Color',310 'The background color of every odd item in the itemized or FX list.',311 $scope.theWblMetadata['templateid'],312 {inputType: Enum.aopInputTypes.ColorPick},313 undefined314 ));315 $scope.addSlot(new Slot('evenItemBkgColor',316 '#d0d0d0',317 'Even Item Background Color',318 'The background color of every even item in the itemized or FX list.',319 $scope.theWblMetadata['templateid'],320 {inputType: Enum.aopInputTypes.ColorPick},321 undefined322 ));323 $scope.addSlot(new Slot('selectedItemBkgColor',324 '#fed1f5',325 'Selected Item Background Color',326 'The background color of the current selected item',327 $scope.theWblMetadata['templateid'],328 {inputType: Enum.aopInputTypes.ColorPick},329 undefined330 ));331 $scope.addSlot(new Slot('itemPadding',332 '10px',333 'List Item Padding',334 'The size of the space surrounding each list item',335 $scope.theWblMetadata['templateid'],336 {inputType: Enum.aopInputTypes.Numeral},337 undefined338 ));339 $scope.addSlot(new Slot('removeListItem',340 '',341 'List Item to Be removed',342 'The name or the index number of a list item to be removed from the list',343 $scope.theWblMetadata['templateid'],344 {inputType: Enum.aopInputTypes.TextBox},345 undefined346 ));347 $scope.addSlot(new Slot('addListItem',348 '',349 'List Item to Be added',350 'The name of an item being added at the end of the list',351 $scope.theWblMetadata['templateid'],352 {inputType: Enum.aopInputTypes.TextBox},353 undefined354 ));355 $scope.addSlot(new Slot('insertListItem',356 '',357 'List Item to Be inserted',358 'The name of an item being inserted at the current selected position. (at the beginning if no item is selected)',359 $scope.theWblMetadata['templateid'],360 {inputType: Enum.aopInputTypes.TextBox},361 undefined362 ));363 $scope.setDefaultSlot('theSelectedName');364 if(BrowserDetect.browser == 'Firefox'){365 $scope.theView.parent().draggable('option', 'cancel', '#listContainer');366 }367 $scope.$watch(function(){return $scope.theList.currentSelected;}, function(newVal, oldVal) {368 if(newVal != oldVal && !selectChangeBlocked){369 selectChangeBlocked = true;370 $timeout(function(){selectChangeBlocked = false;}, 100);371 $scope.set('theSelectedName', newVal);372 var count = 0;373 for(var i = 0; i < $scope.theList.items.length; i++){374 if($scope.theList.items[i] == newVal){375 $scope.set('theSelectedIndex', i);376 count++;377 }378 }379 if(count > 1 || (newVal != '' && count == 0)){380 $scope.set('theSelectedIndex', -2);381 }382 if(newVal == ''){383 $scope.set('theSelectedIndex', -1);384 }385 }386 }, true);387 $timeout(function(){$scope.selectAnItem($scope.gimme('theSelectedIndex'));});388 };389 //===================================================================================390 //========================================================================================391 // Update List392 // Redraws the list according to current setup.393 //========================================================================================394 var updateList = function(newVal){395 if(newVal.search){396 $scope.theList.items = [];397 var workList = [];398 if(newVal.search(';') != -1){399 workList = newVal.split(';');400 }401 else if(newVal.search(',') != -1){402 workList = newVal.split(',');403 }404 else if(newVal.search(' ') != -1){405 workList = newVal.split(' ');406 }407 else{408 workList.push(newVal);409 }410 if(workList.length > 0){411 for(var i = 0; i < workList.length; i++){412 $scope.theList.items.push(workList[i]);413 }414 }415 else{416 $scope.theList.currentSelected = '';417 }418 if($scope.gimme('theSelectedName') != ''){419 $scope.theList.currentSelected = $scope.gimme('theSelectedName');420 }421 }422 else if($.isArray(newVal)){423 $scope.theList.items = [];424 for(var i = 0; i < newVal.length; i++){425 $scope.theList.items.push(newVal[i]);426 }427 }428 if($scope.gimme('sortListEnabled') == true){429 $scope.theList.items.sort();430 }431 if(newVal == ""){432 $scope.set('listLength', 0);433 }434 else{435 $scope.set('listLength', $scope.theList.items.length);436 }437 };438 //========================================================================================439 //========================================================================================440 // Toggle Multi Check Box Selection441 // Toggles the prop item value correctly due to the multi checkbox selections.442 //========================================================================================443 $scope.toggleMultiCheckBoxSelection = function(cbName) {444 if(!$.isArray($scope.theList.currentSelected)){445 $scope.theList.currentSelected = [$scope.theList.currentSelected];446 }447 var idx = $scope.theList.currentSelected.indexOf(cbName);448 // is currently selected449 if (idx > -1) {450 $scope.theList.currentSelected.splice(idx, 1);451 }452 // is newly selected453 else {454 $scope.theList.currentSelected.push(cbName);455 }456 };457 //========================================================================================458 //========================================================================================459 // Adjust Selected Item460 // Make sure that the current selected index and name are the same after list change461 //========================================================================================462 var adjustSelectedItem = function() {463 var currIndex = $scope.gimme('theSelectedIndex');464 if(currIndex != -2){465 selectChangeBlocked = true;466 $timeout(function(){selectChangeBlocked = false;}, 100);467 if(currIndex < $scope.theList.items.length){468 $scope.theList.currentSelected = $scope.theList.items[currIndex];469 $scope.set('theSelectedName', $scope.theList.currentSelected);470 }471 else{472 $scope.set('theSelectedIndex', -1);473 $scope.theList.currentSelected = '';474 $scope.set('theSelectedName', '');475 }476 }477 };478 //========================================================================================479 //========================================================================================480 // Select an Item481 // Make the clicked item selected482 //========================================================================================483 $scope.selectAnItem = function(index) {484 $scope.theList.currentSelected = $scope.theList.items[index];485 };486 //========================================================================================487 //========================================================================================488 // Select an Item489 // Make the clicked item selected490 //========================================================================================491 $scope.getItemBkgColor = function(index) {492 var value = $scope.theList.items[index];493 var isOdd = index % 2;494 if($scope.theList.currentSelected == value){495 return $scope.gimme('selectedItemBkgColor');496 }497 else if(isOdd){498 return $scope.gimme('oddItemBkgColor');499 }500 else{501 return $scope.gimme('evenItemBkgColor');502 }503 };504 //========================================================================================505 //=== CTRL MAIN CODE ======================================================================506});...
Conformance_Expressions.js
Source:Conformance_Expressions.js
1/*2Copyright é 2001-2004 World Wide Web Consortium, 3(Massachusetts Institute of Technology, European Research Consortium 4for Informatics and Mathematics, Keio University). All 5Rights Reserved. This work is distributed under the W3Cî Software License [1] in the 6hope that it will be useful, but WITHOUT ANY WARRANTY; without even 7the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 8[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-200212319*/10// expose test function names11function exposeTestFunctionNames()12{13return ['Conformance_Expressions'];14}15var docsLoaded = -1000000;16var builder = null;17//18// This function is called by the testing framework before19// running the test suite.20//21// If there are no configuration exceptions, asynchronous22// document loading is started. Otherwise, the status23// is set to complete and the exception is immediately24// raised when entering the body of the test.25//26function setUpPage() {27 setUpPageStatus = 'running';28 try {29 //30 // creates test document builder, may throw exception31 //32 builder = createConfiguredBuilder();33 docsLoaded = 0;34 35 var docRef = null;36 if (typeof(this.doc) != 'undefined') {37 docRef = this.doc;38 }39 docsLoaded += preload(docRef, "doc", "staffNS");40 41 if (docsLoaded == 1) {42 setUpPageStatus = 'complete';43 }44 } catch(ex) {45 catchInitializationError(builder, ex);46 setUpPageStatus = 'complete';47 }48}49//50// This method is called on the completion of 51// each asychronous load started in setUpTests.52//53// When every synchronous loaded document has completed,54// the page status is changed which allows the55// body of the test to be executed.56function loadComplete() {57 if (++docsLoaded == 1) {58 setUpPageStatus = 'complete';59 }60}61/**62* 63 1.3 Conformance - Iterate over a list of strings containing 64 valid XPath expressions, calling XPathEvaluator.createExpression 65 for each. If no expections are thrown and each result is non-null, 66 then the test passes.67 68* @author Bob Clary69* @see http://www.w3.org/TR/2003/CR-DOM-Level-3-XPath-20030331/xpath#Conformance70* @see http://www.w3.org/TR/2003/CR-DOM-Level-3-XPath-20030331/xpath#XPathEvaluator71* @see http://www.w3.org/TR/2003/CR-DOM-Level-3-XPath-20030331/xpath#XPathEvaluator-createNSResolver72* @see http://www.w3.org/TR/2003/CR-DOM-Level-3-XPath-20030331/xpath#XPathEvaluator-createExpression73* @see http://www.w3.org/TR/2003/CR-DOM-Level-3-XPath-20030331/xpath#XPathNSResolver74*/75function Conformance_Expressions() {76 var success;77 if(checkInitialization(builder, "Conformance_Expressions") != null) return;78 var doc;79 var resolver;80 var evaluator;81 var expression;82 var expressionList = new Array();83 var xpathexpression;84 85 var docRef = null;86 if (typeof(this.doc) != 'undefined') {87 docRef = this.doc;88 }89 doc = load(docRef, "doc", "staffNS");90 evaluator = createXPathEvaluator(doc);91resolver = evaluator.createNSResolver(doc);92 expressionList[expressionList.length] = "/";93expressionList[expressionList.length] = "child::comment()";94expressionList[expressionList.length] = "child::text()";95expressionList[expressionList.length] = "child::processing-instruction()";96expressionList[expressionList.length] = "child::processing-instruction('name')";97expressionList[expressionList.length] = "child::node()";98expressionList[expressionList.length] = "child::*";99expressionList[expressionList.length] = "child::nist:*";100expressionList[expressionList.length] = "child::employee";101expressionList[expressionList.length] = "descendant::comment()";102expressionList[expressionList.length] = "descendant::text()";103expressionList[expressionList.length] = "descendant::processing-instruction()";104expressionList[expressionList.length] = "descendant::processing-instruction('name')";105expressionList[expressionList.length] = "descendant::node()";106expressionList[expressionList.length] = "descendant::*";107expressionList[expressionList.length] = "descendant::nist:*";108expressionList[expressionList.length] = "descendant::employee";109expressionList[expressionList.length] = "parent::comment()";110expressionList[expressionList.length] = "parent::text()";111expressionList[expressionList.length] = "parent::processing-instruction()";112expressionList[expressionList.length] = "parent::processing-instruction('name')";113expressionList[expressionList.length] = "parent::node()";114expressionList[expressionList.length] = "parent::*";115expressionList[expressionList.length] = "parent::nist:*";116expressionList[expressionList.length] = "parent::employee";117expressionList[expressionList.length] = "ancestor::comment()";118expressionList[expressionList.length] = "ancestor::text()";119expressionList[expressionList.length] = "ancestor::processing-instruction()";120expressionList[expressionList.length] = "ancestor::processing-instruction('name')";121expressionList[expressionList.length] = "ancestor::node()";122expressionList[expressionList.length] = "ancestor::*";123expressionList[expressionList.length] = "ancestor::nist:*";124expressionList[expressionList.length] = "ancestor::employee";125expressionList[expressionList.length] = "following-sibling::comment()";126expressionList[expressionList.length] = "following-sibling::text()";127expressionList[expressionList.length] = "following-sibling::processing-instruction()";128expressionList[expressionList.length] = "following-sibling::processing-instruction('name')";129expressionList[expressionList.length] = "following-sibling::node()";130expressionList[expressionList.length] = "following-sibling::*";131expressionList[expressionList.length] = "following-sibling::nist:*";132expressionList[expressionList.length] = "following-sibling::employee";133expressionList[expressionList.length] = "preceding-sibling::comment()";134expressionList[expressionList.length] = "preceding-sibling::text()";135expressionList[expressionList.length] = "preceding-sibling::processing-instruction()";136expressionList[expressionList.length] = "preceding-sibling::processing-instruction('name')";137expressionList[expressionList.length] = "preceding-sibling::node()";138expressionList[expressionList.length] = "preceding-sibling::*";139expressionList[expressionList.length] = "preceding-sibling::nist:*";140expressionList[expressionList.length] = "preceding-sibling::employee";141expressionList[expressionList.length] = "following::comment()";142expressionList[expressionList.length] = "following::text()";143expressionList[expressionList.length] = "following::processing-instruction()";144expressionList[expressionList.length] = "following::processing-instruction('name')";145expressionList[expressionList.length] = "following::node()";146expressionList[expressionList.length] = "following::*";147expressionList[expressionList.length] = "following::nist:*";148expressionList[expressionList.length] = "following::employee";149expressionList[expressionList.length] = "preceding::comment()";150expressionList[expressionList.length] = "preceding::text()";151expressionList[expressionList.length] = "preceding::processing-instruction()";152expressionList[expressionList.length] = "preceding::processing-instruction('name')";153expressionList[expressionList.length] = "preceding::node()";154expressionList[expressionList.length] = "preceding::*";155expressionList[expressionList.length] = "preceding::nist:*";156expressionList[expressionList.length] = "preceding::employee";157expressionList[expressionList.length] = "attribute::comment()";158expressionList[expressionList.length] = "attribute::text()";159expressionList[expressionList.length] = "attribute::processing-instruction()";160expressionList[expressionList.length] = "attribute::processing-instruction('name')";161expressionList[expressionList.length] = "attribute::node()";162expressionList[expressionList.length] = "attribute::*";163expressionList[expressionList.length] = "attribute::nist:*";164expressionList[expressionList.length] = "attribute::employee";165expressionList[expressionList.length] = "namespace::comment()";166expressionList[expressionList.length] = "namespace::text()";167expressionList[expressionList.length] = "namespace::processing-instruction()";168expressionList[expressionList.length] = "namespace::processing-instruction('name')";169expressionList[expressionList.length] = "namespace::node()";170expressionList[expressionList.length] = "namespace::*";171expressionList[expressionList.length] = "namespace::nist:*";172expressionList[expressionList.length] = "namespace::employee";173expressionList[expressionList.length] = "self::comment()";174expressionList[expressionList.length] = "self::text()";175expressionList[expressionList.length] = "self::processing-instruction()";176expressionList[expressionList.length] = "self::processing-instruction('name')";177expressionList[expressionList.length] = "self::node()";178expressionList[expressionList.length] = "self::*";179expressionList[expressionList.length] = "self::nist:*";180expressionList[expressionList.length] = "self::employee";181expressionList[expressionList.length] = "descendant-or-self::comment()";182expressionList[expressionList.length] = "descendant-or-self::text()";183expressionList[expressionList.length] = "descendant-or-self::processing-instruction()";184expressionList[expressionList.length] = "descendant-or-self::processing-instruction('name')";185expressionList[expressionList.length] = "descendant-or-self::node()";186expressionList[expressionList.length] = "descendant-or-self::*";187expressionList[expressionList.length] = "descendant-or-self::nist:*";188expressionList[expressionList.length] = "descendant-or-self::employee";189expressionList[expressionList.length] = "ancestor-or-self::comment()";190expressionList[expressionList.length] = "ancestor-or-self::text()";191expressionList[expressionList.length] = "ancestor-or-self::processing-instruction()";192expressionList[expressionList.length] = "ancestor-or-self::processing-instruction('name')";193expressionList[expressionList.length] = "ancestor-or-self::node()";194expressionList[expressionList.length] = "ancestor-or-self::*";195expressionList[expressionList.length] = "ancestor-or-self::nist:*";196expressionList[expressionList.length] = "ancestor-or-self::employee";197expressionList[expressionList.length] = "comment()";198expressionList[expressionList.length] = "text()";199expressionList[expressionList.length] = "processing-instruction()";200expressionList[expressionList.length] = "processing-instruction('name')";201expressionList[expressionList.length] = "node()";202expressionList[expressionList.length] = "*";203expressionList[expressionList.length] = "nist:*";204expressionList[expressionList.length] = "employee";205expressionList[expressionList.length] = ".//comment()";206expressionList[expressionList.length] = ".//text()";207expressionList[expressionList.length] = ".//processing-instruction()";208expressionList[expressionList.length] = ".//processing-instruction('name')";209expressionList[expressionList.length] = ".//node()";210expressionList[expressionList.length] = ".//*";211expressionList[expressionList.length] = ".//nist:*";212expressionList[expressionList.length] = ".//employee";213expressionList[expressionList.length] = "../comment()";214expressionList[expressionList.length] = "../text()";215expressionList[expressionList.length] = "../processing-instruction()";216expressionList[expressionList.length] = "../processing-instruction('name')";217expressionList[expressionList.length] = "../node()";218expressionList[expressionList.length] = "../*";219expressionList[expressionList.length] = "../nist:*";220expressionList[expressionList.length] = "../employee";221expressionList[expressionList.length] = "@attributename";222expressionList[expressionList.length] = "./comment()";223expressionList[expressionList.length] = "./text()";224expressionList[expressionList.length] = "./processing-instruction()";225expressionList[expressionList.length] = "./processing-instruction('name')";226expressionList[expressionList.length] = "./node()";227expressionList[expressionList.length] = "./*";228expressionList[expressionList.length] = "./nist:*";229expressionList[expressionList.length] = "./employee";230expressionList[expressionList.length] = "comment() | text() | processing-instruction() | node()";231expressionList[expressionList.length] = "employee[address]";232expressionList[expressionList.length] = "employee/address[@street]";233expressionList[expressionList.length] = "employee[position='Computer Specialist']";234expressionList[expressionList.length] = "employee[position!='Computer Specialist']";235expressionList[expressionList.length] = "employee[gender='Male' or gender='Female']";236expressionList[expressionList.length] = "employee[gender!='Male' and gender!='Female']";237expressionList[expressionList.length] = "employee/address[@street='Yes']";238expressionList[expressionList.length] = "employee/address[@street!='Yes']";239expressionList[expressionList.length] = "employee[position()=1]";240expressionList[expressionList.length] = "employee[1]";241expressionList[expressionList.length] = "employee[position()=last()]";242expressionList[expressionList.length] = "employee[last()]";243expressionList[expressionList.length] = "employee[position()>1 and position<last()]";244expressionList[expressionList.length] = "employee[position()>=1 and position<=last()]";245expressionList[expressionList.length] = "employee[count(.)>0]";246expressionList[expressionList.length] = "employee[position() mod 2=0]";247expressionList[expressionList.length] = "employee[position() mod -2=0]";248expressionList[expressionList.length] = "employee[position() div 2=0]";249expressionList[expressionList.length] = "employee[position() div -2=-1]";250expressionList[expressionList.length] = "employee[position() div 2 * 2=position()]";251expressionList[expressionList.length] = "employee[3 > 2 > 1]";252expressionList[expressionList.length] = "id('CANADA')";253expressionList[expressionList.length] = "*[local-name()='employee']";254expressionList[expressionList.length] = "*[local-name(.)='employee']";255expressionList[expressionList.length] = "*[local-name(employee)='employee']";256expressionList[expressionList.length] = "*[local-name()='employee']";257expressionList[expressionList.length] = "*[namespace-uri()='http://www.nist.gov']";258expressionList[expressionList.length] = "*[name()='nist:employee']";259expressionList[expressionList.length] = "*[string()]";260expressionList[expressionList.length] = "*[string(10 div foo)='NaN']";261expressionList[expressionList.length] = "*[concat('a', 'b', 'c')]";262expressionList[expressionList.length] = "*[starts-with('employee', 'emp')]";263expressionList[expressionList.length] = "*[contains('employee', 'emp')]";264expressionList[expressionList.length] = "*[substring-before('employeeId', 'Id')]";265expressionList[expressionList.length] = "*[substring-after('employeeId', 'employee')]";266expressionList[expressionList.length] = "*[substring('employeeId', 4)]";267expressionList[expressionList.length] = "*[substring('employeeId', 4, 5)]";268expressionList[expressionList.length] = "*[string-length()=2]";269expressionList[expressionList.length] = "*[string-length(.)=string-length(normalize-space(.))]";270expressionList[expressionList.length] = "*[translate('bar', 'abc', 'ABC')='BAr']";271expressionList[expressionList.length] = "*[boolean(.)]";272expressionList[expressionList.length] = "*[not(boolean(.))]";273expressionList[expressionList.length] = "*[true()]";274expressionList[expressionList.length] = "*[false()]";275expressionList[expressionList.length] = "*[lang('en')]";276expressionList[expressionList.length] = "*[number()]";277expressionList[expressionList.length] = "*[number('4')]";278expressionList[expressionList.length] = "*[floor(.)]>0";279expressionList[expressionList.length] = "*[ceiling(.)]<1";280expressionList[expressionList.length] = "*[round(number(.))=0]<1";281for(var indexN66388 = 0;indexN66388 < expressionList.length; indexN66388++) {282 expression = expressionList[indexN66388];283 xpathexpression = evaluator.createExpression(expression,resolver);284 285 }286 287}288function runTest() {289 Conformance_Expressions();...
test.js
Source:test.js
1const { Node, LinkedList } = require("../lib/linked_list.js");2const { expect } = require("chai");3describe("LinkedList", () => {4 let node;5 let linkedList;6 beforeEach(() => {7 linkedList = new LinkedList();8 });9 describe("Node Constructor", () => {10 it("Should exist", () => {11 expect(Node).to.exist;12 });13 it('Should be a function (ES6 classes are "special functions")', () => {14 expect(Node).to.be.a("function");15 });16 it('Should have "value" and "next" properties', () => {17 // it('Should have value, next, and prev properties', () => { // Doubly Linked Lists Only!18 node = new Node("A");19 expect(node).to.have.property("value");20 expect(node).to.have.property("next");21 // expect(node).to.have.property('prev'); // Doubly Linked Lists Only!22 });23 });24 describe("LinkedList Constructor", () => {25 it("Should exist", () => {26 expect(LinkedList).to.exist;27 });28 it('Should be a function (ES6 classes are "special functions")', () => {29 expect(LinkedList).to.be.a("function");30 });31 it("Should have head, tail, and length properties", () => {32 expect(linkedList).to.have.property("head");33 expect(linkedList).to.have.property("tail");34 expect(linkedList).to.have.property("length");35 });36 it("Should always keep track of the length of the list", () => {37 expect(linkedList.length).to.equal(0);38 linkedList.addToTail("C");39 expect(linkedList.length).to.equal(1);40 linkedList.addToHead("A");41 expect(linkedList.length).to.equal(2);42 linkedList.insert(1, "B");43 expect(linkedList.length).to.equal(3);44 // linkedList.remove(1);45 // expect(linkedList.length).to.equal(2);46 // linkedList.removeTail();47 // expect(linkedList.length).to.equal(1);48 // linkedList.removeHead();49 // expect(linkedList.length).to.equal(0);50 });51 });52 describe("LinkedList Methods", () => {53 it('Should have methods named "addToTail", "removeTail", "addToHead", "removeHead", "contains", "get", "set", "insert", "remove", and "size"', () => {54 expect(linkedList.addToTail).to.be.a("function");55 expect(linkedList.removeTail).to.be.a("function");56 expect(linkedList.addToHead).to.be.a("function");57 expect(linkedList.removeHead).to.be.a("function");58 expect(linkedList.contains).to.be.a("function");59 expect(linkedList.get).to.be.a("function");60 expect(linkedList.set).to.be.a("function");61 expect(linkedList.insert).to.be.a("function");62 expect(linkedList.remove).to.be.a("function");63 expect(linkedList.size).to.be.a("function");64 });65 describe("addToTail", () => {66 it("Should reassign the tail pointer when new nodes are added to the tail", () => {67 linkedList.addToTail("A");68 expect(linkedList.tail.value).to.equal("A");69 linkedList.addToTail("B");70 expect(linkedList.tail.value).to.equal("B");71 });72 it("Should reassign both the head and tail pointers when a new node is added to the tail of an empty list", () => {73 linkedList.addToTail("A");74 expect(linkedList.head).to.eql({ value: "A", next: null });75 expect(linkedList.tail).to.eql({ value: "A", next: null });76 });77 it("Should update the length property after new nodes are added to the tail", () => {78 expect(linkedList.length).to.equal(0);79 linkedList.addToTail("A");80 expect(linkedList.length).to.equal(1);81 linkedList.addToTail("B");82 expect(linkedList.length).to.equal(2);83 });84 it("Should return the updated list after new nodes are added to the tail", () => {85 expect(linkedList.addToTail("A")).to.eql({86 head: { value: "A", next: null },87 tail: { value: "A", next: null },88 length: 1,89 });90 expect(linkedList.addToTail("B")).to.eql({91 head: { value: "A", next: { value: "B", next: null } },92 tail: { value: "B", next: null },93 length: 2,94 });95 });96 });97 describe("removeTail", () => {98 it("Should return undefined if the list is empty", () => {99 expect(linkedList.removeTail()).to.equal(undefined);100 });101 it("Should remove tail node from the list when removeTail is called", () => {102 linkedList.addToTail("A");103 linkedList.addToTail("B");104 expect(linkedList.tail.value).to.equal("B");105 linkedList.removeTail();106 expect(linkedList.tail.value).to.equal("A");107 });108 it("Should reassign the new tail's next pointer to null", () => {109 linkedList.addToTail("A");110 linkedList.addToTail("B");111 linkedList.addToTail("C");112 expect(linkedList.head.next.next).to.eql({ value: "C", next: null });113 linkedList.removeTail();114 expect(linkedList.head.next.next).to.eql(null);115 });116 it("Should update the length property after removing the tail node", () => {117 linkedList.addToTail("A");118 linkedList.addToTail("B");119 expect(linkedList.length).to.equal(2);120 linkedList.removeTail();121 expect(linkedList.length).to.equal(1);122 linkedList.removeTail();123 expect(linkedList.length).to.equal(0);124 });125 it("Should reassign both the head and tail pointers to null when tail is removed from a list of only one node", () => {126 linkedList.addToTail("A");127 expect(linkedList.length).to.equal(1);128 linkedList.removeTail();129 expect(linkedList.head).to.equal(null);130 expect(linkedList.tail).to.equal(null);131 });132 it("Should return the removed tail node when removeTail is called", () => {133 linkedList.addToTail("A");134 linkedList.addToTail("B");135 expect(linkedList.removeTail()).to.eql({ value: "B", next: null });136 });137 });138 describe("addToHead", () => {139 it("Should reassign the head pointer when new nodes are added to the head", () => {140 expect(linkedList.head).to.equal(null);141 linkedList.addToHead("B");142 expect(linkedList.head).to.eql({ value: "B", next: null });143 linkedList.addToHead("A");144 expect(linkedList.head).to.eql({145 value: "A",146 next: { value: "B", next: null },147 });148 });149 it("Should reassign both the head and tail pointers when a new node is added to the head of an empty list", () => {150 linkedList.addToHead("A");151 expect(linkedList.head).to.eql({ value: "A", next: null });152 expect(linkedList.tail).to.eql({ value: "A", next: null });153 });154 it("Should update the length property after new nodes are added to the head", () => {155 expect(linkedList.length).to.equal(0);156 linkedList.addToHead("A");157 expect(linkedList.length).to.equal(1);158 linkedList.addToHead("B");159 expect(linkedList.length).to.equal(2);160 });161 it("Should return the updated list after new nodes are added to the head", () => {162 expect(linkedList.addToHead("B")).to.eql({163 head: { value: "B", next: null },164 tail: { value: "B", next: null },165 length: 1,166 });167 expect(linkedList.addToHead("A")).to.eql({168 head: { value: "A", next: { value: "B", next: null } },169 tail: { value: "B", next: null },170 length: 2,171 });172 });173 });174 describe("removeHead", () => {175 it("Should return undefined if the list is empty", () => {176 expect(linkedList.removeHead()).to.equal(undefined);177 });178 it("Should remove head node from the list when removeHead is called", () => {179 linkedList.addToTail("A");180 linkedList.addToTail("B");181 expect(linkedList.head.value).to.equal("A");182 linkedList.removeHead();183 expect(linkedList.head.value).to.equal("B");184 });185 it("Should reassign the head pointer to the next node in the list", () => {186 linkedList.addToTail("A");187 linkedList.addToTail("B");188 expect(linkedList.head.value).to.equal("A");189 linkedList.removeHead();190 expect(linkedList.head.value).to.equal("B");191 });192 it("Should update the length property after removing the head node", () => {193 linkedList.addToTail("A");194 linkedList.addToTail("B");195 expect(linkedList.length).to.equal(2);196 linkedList.removeHead();197 expect(linkedList.length).to.equal(1);198 linkedList.removeHead();199 expect(linkedList.length).to.equal(0);200 });201 it("Should reassign both the head and tail pointers to null when head is removed from a list of only one node", () => {202 linkedList.addToTail("A");203 expect(linkedList.length).to.equal(1);204 linkedList.removeHead();205 expect(linkedList.head).to.equal(null);206 expect(linkedList.tail).to.equal(null);207 });208 it("Should return the removed head node when removeHead is called", () => {209 linkedList.addToTail("A");210 linkedList.addToTail("B");211 expect(linkedList.removeHead()).to.eql({212 value: "A",213 next: { value: "B", next: null },214 });215 });216 });217 describe("contains", () => {218 it("Should contain a value that was added", () => {219 linkedList.addToTail("A");220 linkedList.addToTail("B");221 expect(linkedList.contains("A")).to.equal(true);222 expect(linkedList.contains("B")).to.equal(true);223 expect(linkedList.contains("C")).to.equal(false);224 });225 it("Should not contain a value that was removed", () => {226 linkedList.addToTail("A");227 linkedList.addToTail("B");228 linkedList.removeHead();229 expect(linkedList.contains("A")).to.equal(false);230 });231 });232 describe("get", () => {233 it("Should return null if index is out of bounds", () => {234 linkedList.addToTail("A");235 linkedList.addToTail("B");236 expect(linkedList.get(7)).to.equal(null);237 });238 it("Should return node at index specified when get is called", () => {239 linkedList.addToTail("A");240 linkedList.addToTail("B");241 linkedList.addToTail("C");242 expect(linkedList.get(1)).to.eql({243 value: "B",244 next: { value: "C", next: null },245 });246 });247 });248 describe("set", () => {249 it("Should return true if node's value at index is updated", () => {250 linkedList.addToTail("A");251 linkedList.addToTail("B");252 linkedList.addToTail("D");253 expect(linkedList.get(1)).to.eql({254 value: "B",255 next: { value: "D", next: null },256 });257 expect(linkedList.set(2, "C")).to.equal(true);258 expect(linkedList.get(1)).to.eql({259 value: "B",260 next: { value: "C", next: null },261 });262 });263 it("Should return false if node is not found at provided index", () => {264 linkedList.addToTail("A");265 linkedList.addToTail("B");266 expect(linkedList.set(2, "C")).to.equal(false);267 });268 });269 describe("insert", () => {270 it("Should return false if index is out of bounds", () => {271 linkedList.addToTail("A");272 linkedList.addToTail("B");273 linkedList.addToTail("C");274 expect(linkedList.insert(3, "D")).to.equal(false);275 });276 it("Should return true if node is successfully inserted at index", () => {277 linkedList.addToTail("A");278 linkedList.addToTail("B");279 linkedList.addToTail("D");280 expect(linkedList.get(1)).to.eql({281 value: "B",282 next: { value: "D", next: null },283 });284 expect(linkedList.insert(2, "C")).to.equal(true);285 expect(linkedList.get(1)).to.eql({286 value: "B",287 next: { value: "C", next: { value: "D", next: null } },288 });289 });290 it("Should update the length property when a node is inserted", () => {291 linkedList.addToTail("B");292 linkedList.addToTail("C");293 linkedList.addToTail("E");294 expect(linkedList.length).to.equal(3);295 linkedList.insert(2, "D");296 expect(linkedList.length).to.equal(4);297 linkedList.insert(0, "A");298 expect(linkedList.length).to.equal(5);299 linkedList.insert(4, "F");300 expect(linkedList.length).to.equal(6);301 });302 });303 describe("remove", () => {304 it("Should return undefined if index is out of bounds", () => {305 linkedList.addToTail("A");306 linkedList.addToTail("B");307 expect(linkedList.remove(3)).to.equal(undefined);308 });309 it("Should remove node at index from the list when remove is called", () => {310 linkedList.addToTail("A");311 linkedList.addToTail("B");312 linkedList.addToTail("C");313 expect(linkedList.get(0)).to.eql({314 value: "A",315 next: { value: "B", next: { value: "C", next: null } },316 });317 linkedList.remove(1);318 expect(linkedList.get(0)).to.eql({319 value: "A",320 next: { value: "C", next: null },321 });322 });323 it("Should return the removed node when remove is called", () => {324 linkedList.addToTail("A");325 linkedList.addToTail("B");326 linkedList.addToTail("C");327 expect(linkedList.remove(1)).to.eql({328 value: "B",329 next: { value: "C", next: null },330 });331 });332 it("Should update the length property when a node is removed", () => {333 linkedList.addToTail("A");334 linkedList.addToTail("B");335 linkedList.addToTail("C");336 linkedList.remove(1);337 expect(linkedList.length).to.equal(2);338 linkedList.remove(1);339 expect(linkedList.length).to.equal(1);340 });341 });342 describe("size", () => {343 it("Should return the length of the list", () => {344 expect(linkedList.size()).to.equal(0);345 linkedList.addToTail("A");346 expect(linkedList.size()).to.equal(1);347 linkedList.addToTail("B");348 expect(linkedList.size()).to.equal(2);349 linkedList.removeTail();350 expect(linkedList.size()).to.equal(1);351 });352 });353 });...
proccessData.js
Source:proccessData.js
1 /*2 * ProccessData unit tests3 *4 * @author Åukasz PaweÅczak5 *6 */7QUnit.test("Sort - sorting simple list", function( assert ) {8 expect(5);9 10 //given11 var options = {12 list: {13 sort: {14 enabled: true,15 }16 }17 },18 unsortedList = ["abba", "aaba", "red", "pink"],19 expectedList = ["aaba", "abba", "pink", "red"],20 config = new EasyAutocomplete.Configuration(options),21 listBuilder = {};22 listBuilder.data = unsortedList;23 //execute24 var actuaList = EasyAutocomplete.proccess(config, listBuilder);25 //assert26 assert.equal(4, actuaList.length, "Passed - list size");27 assert.equal(expectedList[0], actuaList[0], "Passed - equal first");28 assert.equal(expectedList[1], actuaList[1], "Passed - equal second");29 assert.equal(expectedList[2], actuaList[2], "Passed - equal third");30 assert.equal(expectedList[3], actuaList[3], "Passed - equal fourth");31});32QUnit.test("Sort - sorting - data with numbers", function( assert ) {33 expect(5);34 35 //given36 var options = {37 list: {38 sort: {39 enabled: true,40 }41 }42 },43 unsortedList = ["ab12ba", "aaba", "red333", "44pink"],44 expectedList = ["44pink", "aaba", "ab12ba", "red333"],45 config = new EasyAutocomplete.Configuration(options),46 listBuilder = {};47 listBuilder.data = unsortedList;48 //execute49 var actuaList = EasyAutocomplete.proccess(config, listBuilder);50 //assert51 assert.equal(4, actuaList.length, "Passed - list size");52 assert.equal(expectedList[0], actuaList[0], "Passed - equal first");53 assert.equal(expectedList[1], actuaList[1], "Passed - equal second");54 assert.equal(expectedList[2], actuaList[2], "Passed - equal third");55 assert.equal(expectedList[3], actuaList[3], "Passed - equal fourth");56});57QUnit.test("Sort - reverse simple list", function( assert ) {58 expect(5);59 60 //given61 var options = {62 list: {63 sort: {64 enabled: true,65 method: function(a, b) {66 //Reverse alphabeticall sort67 if (a < b) {68 return 1;69 }70 if (a > b) {71 return -1;72 }73 return 0;74 }75 }76 }77 },78 unsortedList = ["abba", "aaba", "red", "pink"],79 expectedList = ["red", "pink", "abba", "aaba"],80 config = new EasyAutocomplete.Configuration(options),81 listBuilder = {};82 listBuilder.data = unsortedList;83 //execute84 var actuaList = EasyAutocomplete.proccess(config, listBuilder);85 //assert86 assert.equal(4, actuaList.length, "Passed - list size");87 assert.equal(expectedList[0], actuaList[0], "Passed - equal first");88 assert.equal(expectedList[1], actuaList[1], "Passed - equal second");89 assert.equal(expectedList[2], actuaList[2], "Passed - equal third");90 assert.equal(expectedList[3], actuaList[3], "Passed - equal fourth");91});92QUnit.test("MaxSize - simple list", function( assert ) {93 expect(3);94 95 //given96 var options = {97 list: {98 maxNumberOfElements: 299 }100 },101 unsortedList = ["fiat", "alfa romeo", "lancia"],102 expectedList = ["fiat", "alfa romeo"],103 config = new EasyAutocomplete.Configuration(options),104 listBuilder = {};105 listBuilder.data = unsortedList;106 listBuilder.maxNumberOfElements = options.list.maxNumberOfElements;107 //execute108 var actuaList = EasyAutocomplete.proccess(config, listBuilder);109 //assert110 assert.equal(2, actuaList.length, "Passed - list size");111 assert.equal(expectedList[0], actuaList[0], "Passed - equal first");112 assert.equal(expectedList[1], actuaList[1], "Passed - equal second");113});114QUnit.test("MaxSize & Sort - simple list", function( assert ) {115 expect(3);116 117 //given118 var options = {119 list: {120 sort: {121 enabled: true,122 },123 maxNumberOfElements: 2124 }125 },126 unsortedList = ["fiat", "alfa romeo", "lancia"],127 expectedList = ["alfa romeo", "fiat"],128 config = new EasyAutocomplete.Configuration(options),129 listBuilder = {};130 listBuilder.data = unsortedList;131 listBuilder.maxNumberOfElements = options.list.maxNumberOfElements;132 //execute133 var actuaList = EasyAutocomplete.proccess(config, listBuilder);134 //assert135 assert.equal(2, actuaList.length, "Passed - list size");136 assert.equal(expectedList[0], actuaList[0], "Passed - equal first");137 assert.equal(expectedList[1], actuaList[1], "Passed - equal second");138});139QUnit.test("match - simple list", function( assert ) {140 expect(3);141 142 //given143 var options = {144 list: {145 match: {146 enabled: true147 }148 }149 },150 unsortedList = ["hi-man", "hulk", "batman", "flash"],151 expectedList = ["hi-man", "batman"],152 config = new EasyAutocomplete.Configuration(options),153 listBuilder = {};154 listBuilder.data = unsortedList;155 //execute156 var actuaList = EasyAutocomplete.proccess(config, listBuilder, "man");157 //assert158 assert.equal(2, actuaList.length, "Passed - list size");159 assert.equal(expectedList[0], actuaList[0], "Passed - equal first");160 assert.equal(expectedList[1], actuaList[1], "Passed - equal second");161});162QUnit.test("match - simple list", function( assert ) {163 expect(2);164 165 //given166 var options = {167 list: {168 match: {169 enabled: true170 }171 }172 },173 unsortedList = ["batman i robin", "hulk", "romeo i julia", "makaron"],174 expectedList = ["batman i robin"],175 config = new EasyAutocomplete.Configuration(options),176 listBuilder = {};177 listBuilder.data = unsortedList;178 //execute179 var actuaList = EasyAutocomplete.proccess(config, listBuilder, "man");180 //assert181 assert.equal(1, actuaList.length, "Passed - list size");182 assert.equal(expectedList[0], actuaList[0], "Passed - equal first");183});184QUnit.test("match - simple list - suggestions should start with phrase", function( assert ) {185 expect(3);186 187 //given188 var options = {189 list: {190 match: {191 enabled: true,192 method: function(element, phrase) {193 if(element.indexOf(phrase) === 0) {194 return true;195 } else {196 return false;197 }198 }199 }200 }201 },202 unsortedList = ["lion", "wolf", "dolphin", "leopard"],203 expectedList = ["lion", "leopard"],204 config = new EasyAutocomplete.Configuration(options),205 listBuilder = {};206 listBuilder.data = unsortedList;207 //execute208 var actuaList = EasyAutocomplete.proccess(config, listBuilder, "l");209 //assert210 assert.equal(2, actuaList.length, "Passed - list size");211 assert.equal(expectedList[0], actuaList[0], "Passed - equal first");212 assert.equal(expectedList[1], actuaList[1], "Passed - equal second");213});214QUnit.test("Sort - Object", function( assert ) {215 expect(5);216 217 //given218 var options = {219 getValue: function(element) {220 return element.name;221 },222 list: {223 sort: {224 enabled: true,225 method: function(a, b) {226 var a = options.getValue(a),227 b = options.getValue(b);228 if (a < b) {229 return -1;230 }231 if (a > b) {232 return 1;233 }234 return 0;235 }236 }237 }238 },239 unsortedList = [{name: "red"}, {name: "green"}, {name: "blue"}, {name: "pink"}],240 expectedList = [{name: "blue"}, {name: "green"}, {name: "pink"}, {name: "red"}],241 config = new EasyAutocomplete.Configuration(options),242 listBuilder = {};243 listBuilder.data = unsortedList;244 //execute245 var actuaList = EasyAutocomplete.proccess(config, listBuilder);246 //assert247 assert.equal(4, actuaList.length, "Passed - list size");248 assert.equal(expectedList[0].name, actuaList[0].name, "Passed - equal first");249 assert.equal(expectedList[1].name, actuaList[1].name, "Passed - equal second");250 assert.equal(expectedList[2].name, actuaList[2].name, "Passed - equal third");251 assert.equal(expectedList[3].name, actuaList[3].name, "Passed - equal fourth");252});253QUnit.test("Sort - Json", function( assert ) {254 expect(5);255 256 //given257 var options = {258 getValue: function(element) {259 return element.name;260 },261 list: {262 sort: {263 enabled: true,264 method: function(a, b) {265 var a = options.getValue(a),266 b = options.getValue(b);267 if (a < b) {268 return -1;269 }270 if (a > b) {271 return 1;272 }273 return 0;274 }275 }276 }277 },278 unsortedList = [{"name": "red"}, {"name": "green"}, {"name": "blue"}, {"name": "pink"}],279 expectedList = [{"name": "blue"}, {"name": "green"}, {"name": "pink"}, {"name": "red"}],280 config = new EasyAutocomplete.Configuration(options),281 listBuilder = {};282 283 listBuilder.data = unsortedList;284 //execute285 var actuaList = EasyAutocomplete.proccess(config, listBuilder);286 //assert287 assert.equal(4, actuaList.length, "Passed - list size");288 assert.equal(expectedList[0].name, actuaList[0].name, "Passed - equal first");289 assert.equal(expectedList[1].name, actuaList[1].name, "Passed - equal second");290 assert.equal(expectedList[2].name, actuaList[2].name, "Passed - equal third");291 assert.equal(expectedList[3].name, actuaList[3].name, "Passed - equal fourth");292});293QUnit.test("Sort & Max size - Json", function( assert ) {294 expect(4);295 296 //given297 var options = {298 getValue: function(element) {299 return element.car;300 },301 list: {302 maxNumberOfElements: 3,303 sort: {304 enabled: true,305 method: function(a, b) {306 var a = options.getValue(a),307 b = options.getValue(b);308 if (a < b) {309 return -1;310 }311 if (a > b) {312 return 1;313 }314 return 0;315 }316 }317 }318 },319 unsortedList = [{"car": "mercedes"}, {"car": "volkswagen"}, {"car": "bmw"}, {"car": "opel"}, {"car": "audi"}],320 expectedList = [{"car": "audi"}, {"car": "bmw"}, {"car": "mercedes"}],321 config = new EasyAutocomplete.Configuration(options),322 listBuilder = {};323 324 listBuilder.data = unsortedList;325 listBuilder.maxNumberOfElements = options.list.maxNumberOfElements;326 //execute327 var actuaList = EasyAutocomplete.proccess(config, listBuilder);328 //assert329 assert.equal(3, actuaList.length, "Passed - list size");330 assert.equal(expectedList[0].name, actuaList[0].name, "Passed - equal first");331 assert.equal(expectedList[1].name, actuaList[1].name, "Passed - equal second");332 assert.equal(expectedList[2].name, actuaList[2].name, "Passed - equal third");333});334QUnit.test("match - Json", function( assert ) {335 expect(3);336 337 //given338 var options = {339 getValue: function(element) {340 return element.name;341 },342 list: {343 match: {344 enabled: true345 }346 }347 },348 unsortedList = [{"name": "thick"}, {"name": "batman i robin"}, {"name": "wolverine"}, {"name": "spiderman"}],349 expectedList = [{"name": "batman i robin"}, {"name": "spiderman"}],350 config = new EasyAutocomplete.Configuration(options),351 listBuilder = {};352 353 listBuilder.data = unsortedList;354 //execute355 var actuaList = EasyAutocomplete.proccess(config, listBuilder, "man");356 //assert357 assert.equal(2, actuaList.length, "Passed - list size");358 assert.equal(expectedList[0].name, actuaList[0].name, "Passed - equal first");359 assert.equal(expectedList[1].name, actuaList[1].name, "Passed - equal second");360});361QUnit.test("match & Sorting- Json", function( assert ) {362 expect(5);363 364 //given365 var options = {366 getValue: function(element) {367 return element.name;368 },369 list: {370 match: {371 enabled: true372 },373 sort: {374 enabled: true,375 method: function(a, b) {376 var a = a.power,377 b = b.power;378 if (a < b) {379 return -1;380 }381 if (a > b) {382 return 1;383 }384 return 0;385 }386 }387 }388 },389 unsortedList = [{"name": "thick", "power": "3"}, {"name": "batman i robin", "power": "5"}, {"name": "wolverine", "power": "4"}, {"name": "spiderman", "power": "4"}],390 expectedList = [{"name": "spiderman", "power": "4"}, {"name": "batman i robin", "power": "5"}],391 config = new EasyAutocomplete.Configuration(options),392 listBuilder = {};393 394 listBuilder.data = unsortedList;395 //execute396 var actuaList = EasyAutocomplete.proccess(config, listBuilder, "man");397 //assert398 assert.equal(2, actuaList.length, "Passed - list size");399 assert.equal(expectedList[0].name, actuaList[0].name, "Passed - first name equal");400 assert.equal(expectedList[0].power, actuaList[0].power, "Passed - first power equal");401 assert.equal(expectedList[1].name, actuaList[1].name, "Passed - second name equal");402 assert.equal(expectedList[1].power, actuaList[1].power, "Passed - second power equal");...
Bullet.js
Source:Bullet.js
...116 // P to LI117 paras = paras.map(function (para) {118 return dom.isPurePara(para) ? dom.replace(para, 'LI') : para;119 });120 // append to list(<ul>, <ol>)121 dom.appendChildNodes(listNode, paras);122 if (nextList) {123 dom.appendChildNodes(listNode, list.from(nextList.childNodes));124 dom.remove(nextList);125 }126 return paras;127 };128 /**129 * @method releaseList130 *131 * @param {Array[]} clustereds132 * @param {Boolean} isEscapseToBody133 * @return {Node[]}134 */...
List.js
Source:List.js
1describe('List', function () {2 var utHelper = window.utHelper;3 var testCase = utHelper.prepare(['echarts/data/List']);4 describe('Data Manipulation', function () {5 testCase('initData 1d', function (List) {6 var list = new List(['x', 'y']);7 list.initData([10, 20, 30]);8 expect(list.get('x', 0)).toEqual(10);9 expect(list.get('x', 1)).toEqual(20);10 expect(list.get('x', 2)).toEqual(30);11 expect(list.get('y', 1)).toEqual(20);12 });13 testCase('initData 2d', function (List) {14 var list = new List(['x', 'y']);15 list.initData([[10, 15], [20, 25], [30, 35]]);16 expect(list.get('x', 1)).toEqual(20);17 expect(list.get('y', 1)).toEqual(25);18 });19 testCase('initData 2d yx', function (List) {20 var list = new List(['y', 'x']);21 list.initData([[10, 15], [20, 25], [30, 35]]);22 expect(list.get('x', 1)).toEqual(25);23 expect(list.get('y', 1)).toEqual(20);24 });25 testCase('Data with option 1d', function (List) {26 var list = new List(['x', 'y']);27 list.initData([1, {28 value: 2,29 somProp: 'foo'30 }]);31 expect(list.getItemModel(1).get('somProp')).toEqual('foo');32 expect(list.getItemModel(0).get('somProp')).toBeNull();33 });34 testCase('Empty data', function (List) {35 var list = new List(['x', 'y']);36 list.initData([1, '-']);37 expect(list.get('y', 1)).toBeNaN();38 });39 testCase('Stacked data', function (List) {40 var list1 = new List(['x', {41 name: 'y',42 stackable: true43 }]);44 var list2 = new List(['x', {45 name: 'y',46 stackable: true47 }]);48 list1.initData([1, '-', 2, -2]);49 list2.initData([1, 2, 3, 2]);50 list2.stackedOn = list1;51 expect(list2.get('y', 1, true)).toEqual(2);52 expect(list2.get('y', 2, true)).toEqual(5);53 expect(list2.get('y', 3, true)).toEqual(2);54 });55 testCase('getRawValue', function (List) {56 var list = new List(['x', 'y']);57 list.initData([1, 2, 3]);58 expect(list.getItemModel(1).option).toEqual(2);59 list.initData([[10, 15], [20, 25], [30, 35]]);60 expect(list.getItemModel(1).option).toEqual([20, 25]);61 });62 testCase('indexOfRawIndex', function (List) {63 var list = new List(['x']);64 list.initData([]);65 expect(list.indexOfRawIndex(1)).toEqual(-1);66 list.initData([0]);67 expect(list.indexOfRawIndex(0)).toEqual(0);68 expect(list.indexOfRawIndex(1)).toEqual(-1);69 list.initData([0, 1, 2, 3]);70 expect(list.indexOfRawIndex(1)).toEqual(1);71 expect(list.indexOfRawIndex(2)).toEqual(2);72 expect(list.indexOfRawIndex(5)).toEqual(-1);73 list.initData([0, 1, 2, 3, 4]);74 expect(list.indexOfRawIndex(2)).toEqual(2);75 expect(list.indexOfRawIndex(3)).toEqual(3);76 expect(list.indexOfRawIndex(5)).toEqual(-1);77 list.filterSelf(function (idx) {78 return idx >= 2;79 });80 expect(list.indexOfRawIndex(2)).toEqual(0);81 });82 testCase('getDataExtent', function (List) {83 var list = new List(['x', 'y']);84 list.initData([1, 2, 3]);85 expect(list.getDataExtent('x')).toEqual([1, 3]);86 expect(list.getDataExtent('y')).toEqual([1, 3]);87 });88 testCase('Data types', function (List) {89 var list = new List([{90 name: 'x',91 type: 'int'92 }, {93 name: 'y',94 type: 'float'95 }]);96 list.initData([[1.1, 1.1]]);97 expect(list.get('x', 0)).toEqual(1);98 expect(list.get('y', 0)).toBeCloseTo(1.1, 5);99 });100 testCase('map', function (List) {101 var list = new List(['x', 'y']);102 list.initData([[10, 15], [20, 25], [30, 35]]);103 expect(list.map(['x', 'y'], function (x, y) {104 return [x + 2, y + 2];105 }).mapArray('x', function (x) {106 return x;107 })).toEqual([12, 22, 32]);108 });109 testCase('mapArray', function (List) {110 var list = new List(['x', 'y']);111 list.initData([[10, 15], [20, 25], [30, 35]]);112 expect(list.mapArray(['x', 'y'], function (x, y) {113 return [x, y];114 })).toEqual([[10, 15], [20, 25], [30, 35]]);115 });116 testCase('filterSelf', function (List) {117 var list = new List(['x', 'y']);118 list.initData([[10, 15], [20, 25], [30, 35]]);119 expect(list.filterSelf(['x', 'y'], function (x, y) {120 return x < 30 && x > 10;121 }).mapArray('x', function (x) {122 return x;123 })).toEqual([20]);124 });125 });...
Using AI Code Generation
1import React from 'react';2import { storiesOf } from '@storybook/react';3import { action } from '@storybook/addon-actions';4import { linkTo } from '@storybook/addon-links';5import { withInfo } from '@storybook/addon-info';6import { withKnobs, text, boolean, number } from '@storybook/addon-knobs/react';7import { Button, Welcome } from '@storybook/react/demo';8import { Button as Button1 } from '../src/components/Button';9storiesOf('Welcome', module).add('to Storybook', () => <Welcome showApp={linkTo('Button')} />);10storiesOf('Button', module)11 .addDecorator(withInfo)12 .addDecorator(withKnobs)13 .add('with text', () => (14 <Button1 onClick={action('clicked')}>{text('Label', 'Hello Button')}</Button1>15 .add('with some emoji', () => (16 <Button1 onClick={action('clicked')}>{boolean('Disabled', false) ? '😀 😎 👍 💯' : '😀 😎 👍'}</Button1>17 .add('with some numbers', () => (18 <Button1 onClick={action('clicked')} disabled={boolean('Disabled', false)}>19 {number('Label', 1, { range: true, min: 0, max: 10, step: 0.1 })}20 ));21import { configure } from '@storybook/react';22configure(require.context('../src', true, /\.stories\.js$/), module);23import '@storybook/addon-actions/register';24import '@storybook/addon-links/register';25import '@storybook/addon-knobs/register';26import '@storybook/addon-info/register';
Using AI Code Generation
1import { storiesOf } from 'storybook-root';2storiesOf('test', module)3 .add('test', () => <div>test</div>);4import 'storybook-root';5import 'storybook-root';6import 'storybook-root';
Using AI Code Generation
1import { storiesOf } from '@storybook/react';2import { list } from 'storybook-root';3import React from 'react';4import { storiesOf } from '@storybook/react';5const stories = storiesOf('Test', module);6list().forEach((story) => {7 stories.add(story.name, () => story.component);8});9import React from 'react';10import { storiesOf } from '@storybook/react';11import Test from '../test';12export const list = () => {13 {14 },15 ];16};17export default list;18import React from 'react'19import { storiesOf } from '@storybook/react'20import { withInfo } from '@storybook/addon-info'21import { withKnobs } from '@storybook/addon-knobs'22import { addDecorator } from '@storybook/react'23import { withA11y } from '@storybook/addon-a11y'24import { withBackgrounds } from '@storybook/addon-backgrounds'25import { withViewport } from '@storybook/addon-viewport'26import { withConsole } from '@storybook/addon-console'27import { withOptions } from '@storybook/addon-options'28import { withLinks } from '@storybook/addon-links'29import { withNotes } from '@storybook/addon-notes'30import { withInfoOptions } from './withInfoOptions'31import { withBackgroundsOptions } from './withBackgroundsOptions'32import { withViewportOptions } from './withViewportOptions'33import { withOptionsOptions } from './withOptionsOptions'34import { withLinksOptions } from './withLinksOptions'35import { withNotesOptions } from './withNotesOptions'36import { withConsoleOptions } from './withConsoleOptions'37import { withKnobsOptions } from './withKnobsOptions'38import { withA11yOptions } from './withA11y
Using AI Code Generation
1import { storiesOf } from '@storybook/react';2import { list } from 'storybook-root';3console.log(list);4import { storiesOf } from '@storybook/react';5import { list } from 'storybook-root';6console.log(list);7import { storiesOf } from '@storybook/react';8import { list } from 'storybook-root';9console.log(list);10import { storiesOf
Using AI Code Generation
1var sb = require('storybook-root');2sb.list('stories', function(err, list) {3 console.log(list);4});5var sb = require('storybook-root');6sb.list('test', function(err, list) {7 console.log(list);8});9var sb = require('storybook-root');10sb.list('test', function(err, list) {11 console.log(list);12});13var sb = require('storybook-root');14sb.list('test', function(err, list) {15 console.log(list);16});
Using AI Code Generation
1const add = (story) => {2}3const list = () => {4}5module.exports = {6}7const storybook = require('./storybook-root');8Your name to display (optional):9Your name to display (optional):10Your name to display (optional):
Using AI Code Generation
1import { list } from 'storybook-root'2export const list = async () => {3 const stories = await globby(['./stories/*.js'], { cwd: __dirname })4}5import { storiesOf } from '@storybook/react'6storiesOf('Button', module).add('with text', () => <button>Hello Button</button>)7import { storiesOf } from '@storybook/react'8storiesOf('Button', module).add('with text', () => <button>Hello Button</button>)9import { storiesOf } from '@storybook/react'10storiesOf('Button', module).add('with text', () => <button>Hello Button</button>)11import { storiesOf } from '@storybook/react'12storiesOf('Button', module).add('with text', () => <button>Hello Button</button>)13import { storiesOf } from '@storybook/react'14storiesOf('Button', module).add('with text', () => <button>Hello Button</button>)15import { storiesOf } from '@storybook/react'16storiesOf('Button', module).add('with text', () => <button>Hello Button</button>)17import { storiesOf } from '@storybook/react'18storiesOf('Button', module).add('with text', () => <button>Hello Button</button>)19import { storiesOf } from '@storybook/react'20storiesOf('Button', module).add('with text', () => <button>Hello Button</button>)21import { storiesOf } from '@storybook/react'22storiesOf('Button', module).add('with text', () => <button>Hello Button</button>)23import { storiesOf } from '@storybook/react'24storiesOf('Button', module).add('with text
Using AI Code Generation
1const storybook = require('storybook-root');2storybook.list().then((list) => {3 console.log(list);4});5const storybook = require('storybook-root');6storybook.list().then((list) => {7 console.log(list);8});9const storybook = require('storybook-root');10storybook.list().then((list) => {11 console.log(list);12});13const storybook = require('storybook-root');14storybook.list().then((list) => {15 console.log(list);16});17const storybook = require('storybook-root');18storybook.list().then((list) => {19 console.log(list);20});21const storybook = require('storybook-root');22storybook.list().then((list) => {23 console.log(list);24});25const storybook = require('storybook-root');26storybook.list().then((list) => {27 console.log(list);28});29const storybook = require('storybook-root');30storybook.list().then((list) => {31 console.log(list);32});33const storybook = require('storybook-root');34storybook.list().then((list) => {
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!!