Best JavaScript code snippet using storybook-root
back.js
Source: back.js
1import $ from 'dom7';2import { document } from 'ssr-window';3import Utils from '../β../βutils/βutils';4import Device from '../β../βutils/βdevice';5import History from '../β../βutils/βhistory';6import redirect from './βredirect';7import processRouteQueue from './βprocess-route-queue';8function backward(el, backwardOptions) {9 const router = this;10 const app = router.app;11 const view = router.view;12 const options = Utils.extend({13 animate: router.params.animate,14 pushState: true,15 }, backwardOptions);16 const dynamicNavbar = router.dynamicNavbar;17 const separateNavbar = router.separateNavbar;18 const $newPage = $(el);19 const $oldPage = router.$el.children('.page-current');20 if ($newPage.length) {21 /β/β Remove theme elements22 router.removeThemeElements($newPage);23 }24 let $navbarEl;25 let $newNavbarInner;26 let $oldNavbarInner;27 if (dynamicNavbar) {28 $newNavbarInner = $newPage.children('.navbar').children('.navbar-inner');29 if (separateNavbar) {30 $navbarEl = router.$navbarEl;31 if ($newNavbarInner.length > 0) {32 $newPage.children('.navbar').remove();33 }34 if ($newNavbarInner.length === 0 && $newPage[0] && $newPage[0].f7Page) {35 /β/β Try from pageData36 $newNavbarInner = $newPage[0].f7Page.$navbarEl;37 }38 $oldNavbarInner = $navbarEl.find('.navbar-current');39 } else {40 $oldNavbarInner = $oldPage.children('.navbar').children('.navbar-inner');41 }42 }43 router.allowPageChange = false;44 if ($newPage.length === 0 || $oldPage.length === 0) {45 router.allowPageChange = true;46 return router;47 }48 /β/β Remove theme elements49 router.removeThemeElements($newPage);50 /β/β New Page51 $newPage52 .addClass('page-previous')53 .removeClass('stacked')54 .removeAttr('aria-hidden')55 .trigger('page:unstack')56 .trigger('page:position', { position: 'previous' });57 if (dynamicNavbar && $newNavbarInner.length > 0) {58 $newNavbarInner59 .addClass('navbar-previous')60 .removeClass('stacked')61 .removeAttr('aria-hidden');62 }63 /β/β Remove previous page in case of "forced"64 let backIndex;65 if (options.force) {66 if ($oldPage.prev('.page-previous:not(.stacked)').length > 0 || $oldPage.prev('.page-previous').length === 0) {67 if (router.history.indexOf(options.route.url) >= 0) {68 backIndex = router.history.length - router.history.indexOf(options.route.url) - 1;69 router.history = router.history.slice(0, router.history.indexOf(options.route.url) + 2);70 view.history = router.history;71 } else if (router.history[[router.history.length - 2]]) {72 router.history[router.history.length - 2] = options.route.url;73 } else {74 router.history.unshift(router.url);75 }76 if (backIndex && router.params.stackPages) {77 $oldPage.prevAll('.page-previous').each((index, pageToRemove) => {78 const $pageToRemove = $(pageToRemove);79 let $navbarToRemove;80 if (separateNavbar) {81 /β/β $navbarToRemove = $oldNavbarInner.prevAll('.navbar-previous').eq(index);82 $navbarToRemove = $(app.navbar.getElByPage($pageToRemove));83 }84 if ($pageToRemove[0] !== $newPage[0] && $pageToRemove.index() > $newPage.index()) {85 if (router.initialPages.indexOf($pageToRemove[0]) >= 0) {86 $pageToRemove.addClass('stacked');87 $pageToRemove.trigger('page:stack');88 if (separateNavbar) {89 $navbarToRemove.addClass('stacked');90 }91 } else {92 router.pageCallback('beforeRemove', $pageToRemove, $navbarToRemove, 'previous', undefined, options);93 router.removePage($pageToRemove);94 if (separateNavbar && $navbarToRemove.length > 0) {95 router.removeNavbar($navbarToRemove);96 }97 }98 }99 });100 } else {101 const $pageToRemove = $oldPage.prev('.page-previous:not(.stacked)');102 let $navbarToRemove;103 if (separateNavbar) {104 /β/β $navbarToRemove = $oldNavbarInner.prev('.navbar-inner:not(.stacked)');105 $navbarToRemove = $(app.navbar.getElByPage($pageToRemove));106 }107 if (router.params.stackPages && router.initialPages.indexOf($pageToRemove[0]) >= 0) {108 $pageToRemove.addClass('stacked');109 $pageToRemove.trigger('page:stack');110 $navbarToRemove.addClass('stacked');111 } else if ($pageToRemove.length > 0) {112 router.pageCallback('beforeRemove', $pageToRemove, $navbarToRemove, 'previous', undefined, options);113 router.removePage($pageToRemove);114 if (separateNavbar && $navbarToRemove.length) {115 router.removeNavbar($navbarToRemove);116 }117 }118 }119 }120 }121 /β/β Insert new page122 const newPageInDom = $newPage.parents(document).length > 0;123 const f7Component = $newPage[0].f7Component;124 function insertPage() {125 if ($newPage.next($oldPage).length === 0) {126 if (!newPageInDom && f7Component) {127 f7Component.$mount((componentEl) => {128 $(componentEl).insertBefore($oldPage);129 });130 } else {131 $newPage.insertBefore($oldPage);132 }133 }134 if (separateNavbar && $newNavbarInner.length) {135 $newNavbarInner.insertBefore($oldNavbarInner);136 if ($oldNavbarInner.length > 0) {137 $newNavbarInner.insertBefore($oldNavbarInner);138 } else {139 if (!router.$navbarEl.parents(document).length) {140 router.$el.prepend(router.$navbarEl);141 }142 $navbarEl.append($newNavbarInner);143 }144 }145 if (!newPageInDom) {146 router.pageCallback('mounted', $newPage, $newNavbarInner, 'previous', 'current', options, $oldPage);147 }148 }149 if (options.preload) {150 /β/β Insert Page151 insertPage();152 /β/β Tab route153 if (options.route.route.tab) {154 router.tabLoad(options.route.route.tab, Utils.extend({}, options, {155 history: false,156 pushState: false,157 preload: true,158 }));159 }160 /β/β Page init and before init events161 router.pageCallback('init', $newPage, $newNavbarInner, 'previous', 'current', options, $oldPage);162 if ($newPage.prevAll('.page-previous:not(.stacked)').length > 0) {163 $newPage.prevAll('.page-previous:not(.stacked)').each((index, pageToRemove) => {164 const $pageToRemove = $(pageToRemove);165 let $navbarToRemove;166 if (separateNavbar) {167 /β/β $navbarToRemove = $newNavbarInner.prevAll('.navbar-previous:not(.stacked)').eq(index);168 $navbarToRemove = $(app.navbar.getElByPage($pageToRemove));169 }170 if (router.params.stackPages && router.initialPages.indexOf(pageToRemove) >= 0) {171 $pageToRemove.addClass('stacked');172 $pageToRemove.trigger('page:stack');173 if (separateNavbar) {174 $navbarToRemove.addClass('stacked');175 }176 } else {177 router.pageCallback('beforeRemove', $pageToRemove, $navbarToRemove, 'previous', undefined);178 router.removePage($pageToRemove);179 if (separateNavbar && $navbarToRemove.length) {180 router.removeNavbar($navbarToRemove);181 }182 }183 });184 }185 router.allowPageChange = true;186 return router;187 }188 /β/β History State189 if (!(Device.ie || Device.edge || (Device.firefox && !Device.ios))) {190 if (router.params.pushState && options.pushState) {191 if (backIndex) History.go(-backIndex);192 else History.back();193 }194 }195 /β/β Update History196 if (router.history.length === 1) {197 router.history.unshift(router.url);198 }199 router.history.pop();200 router.saveHistory();201 /β/β Current Page & Navbar202 router.currentPageEl = $newPage[0];203 if (dynamicNavbar && $newNavbarInner.length) {204 router.currentNavbarEl = $newNavbarInner[0];205 } else {206 delete router.currentNavbarEl;207 }208 /β/β Current Route209 router.currentRoute = options.route;210 /β/β History State211 if (Device.ie || Device.edge || (Device.firefox && !Device.ios)) {212 if (router.params.pushState && options.pushState) {213 if (backIndex) History.go(-backIndex);214 else History.back();215 }216 }217 /β/β Insert Page218 insertPage();219 /β/β Load Tab220 if (options.route.route.tab) {221 router.tabLoad(options.route.route.tab, Utils.extend({}, options, {222 history: false,223 pushState: false,224 }));225 }226 /β/β Page init and before init events227 router.pageCallback('init', $newPage, $newNavbarInner, 'previous', 'current', options, $oldPage);228 /β/β Before animation callback229 router.pageCallback('beforeIn', $newPage, $newNavbarInner, 'previous', 'current', options);230 router.pageCallback('beforeOut', $oldPage, $oldNavbarInner, 'current', 'next', options);231 /β/β Animation232 function afterAnimation() {233 /β/β Set classes234 const pageClasses = 'page-previous page-current page-next';235 const navbarClasses = 'navbar-previous navbar-current navbar-next';236 $newPage.removeClass(pageClasses).addClass('page-current').removeAttr('aria-hidden');237 $oldPage.removeClass(pageClasses).addClass('page-next').attr('aria-hidden', 'true');238 if (dynamicNavbar) {239 $newNavbarInner.removeClass(navbarClasses).addClass('navbar-current').removeAttr('aria-hidden');240 $oldNavbarInner.removeClass(navbarClasses).addClass('navbar-next').attr('aria-hidden', 'true');241 }242 /β/β After animation event243 router.pageCallback('afterIn', $newPage, $newNavbarInner, 'previous', 'current', options);244 router.pageCallback('afterOut', $oldPage, $oldNavbarInner, 'current', 'next', options);245 /β/β Remove Old Page246 if (router.params.stackPages && router.initialPages.indexOf($oldPage[0]) >= 0) {247 $oldPage.addClass('stacked');248 $oldPage.trigger('page:stack');249 if (separateNavbar) {250 $oldNavbarInner.addClass('stacked');251 }252 } else {253 router.pageCallback('beforeRemove', $oldPage, $oldNavbarInner, 'next', undefined, options);254 router.removePage($oldPage);255 if (separateNavbar && $oldNavbarInner.length) {256 router.removeNavbar($oldNavbarInner);257 }258 }259 router.allowPageChange = true;260 router.emit('routeChanged', router.currentRoute, router.previousRoute, router);261 /β/β Preload previous page262 const preloadPreviousPage = app.theme === 'ios' ? (router.params.preloadPreviousPage || router.params.iosSwipeBack) : router.params.preloadPreviousPage;263 if (preloadPreviousPage && router.history[router.history.length - 2]) {264 router.back(router.history[router.history.length - 2], { preload: true });265 }266 if (router.params.pushState) {267 History.clearRouterQueue();268 }269 }270 function setPositionClasses() {271 const pageClasses = 'page-previous page-current page-next';272 const navbarClasses = 'navbar-previous navbar-current navbar-next';273 $oldPage.removeClass(pageClasses).addClass('page-current');274 $newPage.removeClass(pageClasses).addClass('page-previous').removeAttr('aria-hidden');275 if (dynamicNavbar) {276 $oldNavbarInner.removeClass(navbarClasses).addClass('navbar-current');277 $newNavbarInner.removeClass(navbarClasses).addClass('navbar-previous').removeAttr('aria-hidden');278 }279 }280 if (options.animate) {281 setPositionClasses();282 router.animate($oldPage, $newPage, $oldNavbarInner, $newNavbarInner, 'backward', () => {283 afterAnimation();284 });285 } else {286 afterAnimation();287 }288 return router;289}290function loadBack(backParams, backOptions, ignorePageChange) {291 const router = this;292 if (!router.allowPageChange && !ignorePageChange) return router;293 const params = backParams;294 const options = backOptions;295 const { url, content, el, pageName, template, templateUrl, component, componentUrl } = params;296 if (297 options.route.url298 && router.url === options.route.url299 && !(options.reloadCurrent || options.reloadPrevious)300 && !router.params.allowDuplicateUrls301 ) {302 return false;303 }304 if (!options.route && url) {305 options.route = router.parseRouteUrl(url);306 }307 /β/β Component Callbacks308 function resolve(pageEl, newOptions) {309 return router.backward(pageEl, Utils.extend(options, newOptions));310 }311 function reject() {312 router.allowPageChange = true;313 return router;314 }315 if (url || templateUrl || componentUrl) {316 router.allowPageChange = false;317 }318 /β/β Proceed319 if (content) {320 router.backward(router.getPageEl(content), options);321 } else if (template || templateUrl) {322 /β/β Parse template and send page element323 try {324 router.pageTemplateLoader(template, templateUrl, options, resolve, reject);325 } catch (err) {326 router.allowPageChange = true;327 throw err;328 }329 } else if (el) {330 /β/β Load page from specified HTMLElement or by page name in pages container331 router.backward(router.getPageEl(el), options);332 } else if (pageName) {333 /β/β Load page by page name in pages container334 router.backward(router.$el.children(`.page[data-name="${pageName}"]`).eq(0), options);335 } else if (component || componentUrl) {336 /β/β Load from component (F7/βVue/βReact/β...)337 try {338 router.pageComponentLoader(router.el, component, componentUrl, options, resolve, reject);339 } catch (err) {340 router.allowPageChange = true;341 throw err;342 }343 } else if (url) {344 /β/β Load using XHR345 if (router.xhr) {346 router.xhr.abort();347 router.xhr = false;348 }349 router.xhrRequest(url, options)350 .then((pageContent) => {351 router.backward(router.getPageEl(pageContent), options);352 })353 .catch(() => {354 router.allowPageChange = true;355 });356 }357 return router;358}359function back(...args) {360 const router = this;361 if (router.swipeBackActive) return router;362 let navigateUrl;363 let navigateOptions;364 let route;365 if (typeof args[0] === 'object') {366 navigateOptions = args[0] || {};367 } else {368 navigateUrl = args[0];369 navigateOptions = args[1] || {};370 }371 const { name, params, query } = navigateOptions;372 if (name) {373 /β/β find route by name374 route = router.findRouteByKey('name', name);375 if (!route) {376 throw new Error(`Framework7: route with name "${name}" not found`);377 }378 navigateUrl = router.constructRouteUrl(route, { params, query });379 if (navigateUrl) {380 return router.back(navigateUrl, Utils.extend({}, navigateOptions, {381 name: null,382 params: null,383 query: null,384 }));385 }386 throw new Error(`Framework7: can't construct URL for route with name "${name}"`);387 }388 const app = router.app;389 if (!router.view) {390 app.views.main.router.back(...args);391 return router;392 }393 let currentRouteIsModal = router.currentRoute.modal;394 let modalType;395 if (!currentRouteIsModal) {396 ('popup popover sheet loginScreen actions customModal panel').split(' ').forEach((modalLoadProp) => {397 if (router.currentRoute.route[modalLoadProp]) {398 currentRouteIsModal = true;399 modalType = modalLoadProp;400 }401 });402 }403 if (currentRouteIsModal) {404 const modalToClose = router.currentRoute.modal405 || router.currentRoute.route.modalInstance406 || app[modalType].get();407 const previousUrl = router.history[router.history.length - 2];408 let previousRoute;409 /β/β check if previous route is modal too410 if (modalToClose && modalToClose.$el) {411 const prevOpenedModals = modalToClose.$el.prevAll('.modal-in');412 if (prevOpenedModals.length && prevOpenedModals[0].f7Modal) {413 previousRoute = prevOpenedModals[0].f7Modal.route;414 }415 }416 if (!previousRoute) {417 previousRoute = router.findMatchingRoute(previousUrl);418 }419 if (!previousRoute && previousUrl) {420 previousRoute = {421 url: previousUrl,422 path: previousUrl.split('?')[0],423 query: Utils.parseUrlQuery(previousUrl),424 route: {425 path: previousUrl.split('?')[0],426 url: previousUrl,427 },428 };429 }430 if (!previousRoute || !modalToClose) {431 return router;432 }433 if (router.params.pushState && navigateOptions.pushState !== false) {434 History.back();435 }436 router.currentRoute = previousRoute;437 router.history.pop();438 router.saveHistory();439 router.modalRemove(modalToClose);440 return router;441 }442 const $previousPage = router.$el.children('.page-current').prevAll('.page-previous').eq(0);443 if (!navigateOptions.force && $previousPage.length > 0) {444 if (router.params.pushState445 && $previousPage[0].f7Page446 && router.history[router.history.length - 2] !== $previousPage[0].f7Page.route.url447 ) {448 router.back(449 router.history[router.history.length - 2],450 Utils.extend(navigateOptions, { force: true })451 );452 return router;453 }454 const previousPageRoute = $previousPage[0].f7Page.route;455 processRouteQueue.call(456 router,457 previousPageRoute,458 router.currentRoute,459 () => {460 router.loadBack({ el: $previousPage }, Utils.extend(navigateOptions, {461 route: previousPageRoute,462 }));463 },464 () => {}465 );466 return router;467 }468 /β/β Navigate URL469 if (navigateUrl === '#') {470 navigateUrl = undefined;471 }472 if (navigateUrl && navigateUrl[0] !== '/β' && navigateUrl.indexOf('#') !== 0) {473 navigateUrl = ((router.path || '/β') + navigateUrl).replace('/β/β', '/β');474 }475 if (!navigateUrl && router.history.length > 1) {476 navigateUrl = router.history[router.history.length - 2];477 }478 /β/β Find route to load479 route = router.findMatchingRoute(navigateUrl);480 if (!route) {481 if (navigateUrl) {482 route = {483 url: navigateUrl,484 path: navigateUrl.split('?')[0],485 query: Utils.parseUrlQuery(navigateUrl),486 route: {487 path: navigateUrl.split('?')[0],488 url: navigateUrl,489 },490 };491 }492 }493 if (!route) {494 return router;495 }496 if (route.route.redirect) {497 return redirect.call(router, 'back', route, navigateOptions);498 }499 const options = {};500 if (route.route.options) {501 Utils.extend(options, route.route.options, navigateOptions, { route });502 } else {503 Utils.extend(options, navigateOptions, { route });504 }505 if (options && options.context) {506 route.context = options.context;507 options.route.context = options.context;508 }509 let backForceLoaded;510 if (options.force && router.params.stackPages) {511 router.$el.children('.page-previous.stacked').each((index, pageEl) => {512 if (pageEl.f7Page && pageEl.f7Page.route && pageEl.f7Page.route.url === route.url) {513 backForceLoaded = true;514 router.loadBack({ el: pageEl }, options);515 }516 });517 if (backForceLoaded) {518 return router;519 }520 }521 function resolve() {522 let routerLoaded = false;523 ('url content component pageName el componentUrl template templateUrl').split(' ').forEach((pageLoadProp) => {524 if (route.route[pageLoadProp] && !routerLoaded) {525 routerLoaded = true;526 router.loadBack({ [pageLoadProp]: route.route[pageLoadProp] }, options);527 }528 });529 if (routerLoaded) return;530 /β/β Async531 function asyncResolve(resolveParams, resolveOptions) {532 router.allowPageChange = false;533 if (resolveOptions && resolveOptions.context) {534 if (!route.context) route.context = resolveOptions.context;535 else route.context = Utils.extend({}, route.context, resolveOptions.context);536 options.route.context = route.context;537 }538 router.loadBack(resolveParams, Utils.extend(options, resolveOptions), true);539 }540 function asyncReject() {541 router.allowPageChange = true;542 }543 if (route.route.async) {544 router.allowPageChange = false;545 route.route.async.call(router, route, router.currentRoute, asyncResolve, asyncReject);546 }547 }548 function reject() {549 router.allowPageChange = true;550 }551 if (options.preload) {552 resolve();553 } else {554 processRouteQueue.call(555 router,556 route,557 router.currentRoute,558 () => {559 if (route.route.modules) {560 app561 .loadModules(Array.isArray(route.route.modules) ? route.route.modules : [route.route.modules])562 .then(() => {563 resolve();564 })565 .catch(() => {566 reject();567 });568 } else {569 resolve();570 }571 },572 () => {573 reject();574 },575 );576 }577 /β/β Return Router578 return router;579}...
app.js
Source: app.js
1var createError = require("http-errors");2var express = require("express");3var session = require("express-session");4var path = require("path");5var cookieParser = require("cookie-parser");6var logger = require("morgan");7/β/βWe are including mongoose in the program using require8/β* const mongoose = require("mongoose"); */β9var indexRouter = require("./βroutes/βindex");10var todosRouter = require("./βroutes/βtodos");11/β* var usersRouter = require("./βroutes/βusers"); */β12/β*var usersRouter = require("./βroutes/βusertable");13var productsRouter = require("./βroutes/βproducts");14var todosRouter = require("./βroutes/βtodos");15var forumsRouter = require("./βroutes/βforums");16var hobbiesRouter = require("./βroutes/βhobbies");17var twitterRouter = require("./βroutes/βtwitter");18var forumRouter = require("./βroutes/βforum");19var authorRouter = require("./βroutes/βauthor");20var bookRouter = require("./βroutes/βbook");21var categoryRouter = require("./βroutes/βcategory");22var productRouter = require("./βroutes/βproduct");23var userRouter = require("./βroutes/βuser");24var usernameRouter = require("./βroutes/βusername");25var mysqlRouter = require("./βroutes/βmysql");26var todomysqlRouter = require("./βroutes/βtodomysql");27var authormysqlRouter = require("./βroutes/βauthormysql");28var usermysqlRouter = require("./βroutes/βusermysql");29var cookieRouter = require("./βroutes/βcookie");30var citycookieRouter = require("./βroutes/βcitycookie");31var detailcookieRouter = require("./βroutes/βdetailcookie");32var dishesRouter = require("./βroutes/βdishes");33var carRouter = require("./βroutes/βcar");34var sessionRouter = require("./βroutes/βsession");35var usertableRouter = require("./βroutes/βusertable");36var userdetailsRouter = require("./βroutes/βuserdetails");37var fileRouter = require("./βroutes/βfile");38var createfileRouter = require("./βroutes/βcreatefile");39var createfolderRouter = require("./βroutes/βcreatefolder");40var foldercontentsRouter = require("./βroutes/βfoldercontents");41var modifyfileRouter = require("./βroutes/βmodifyfile");42var uploadsRouter = require("./βroutes/βuploads");43var userregistrationRouter = require("./βroutes/βuserregistration");44var usertablemysqlRouter = require("./βroutes/βusertablemysql"); */β45/β* var usersmysqlRouter = require("./βroutes/βusersmysql");46var loginsessionRouter = require("./βroutes/βloginsession"); */β47/β* var sqproductsRouter = require("./βroutes/βsqproducts");*/β48var app = express();49app.use(50 session({51 secret: "session_secret_key",52 resave: true,53 saveUnintialized: true,54 cookie: {55 secure: false,56 },57 })58);59/β* /β/βThis line will make all variables written in .env file into our application through process variable60require("dotenv").config();61/β/βWe are defining a connection string to connect to the mongodb62console.log(`The application name is ${process.env.appName}`);63/β/βWe are defining a connection string to connect to the mongodb64/β* let mongoConnUrl = "mongodb:/β/βlocalhost/βwestsidenode"; 65/β/βWe are connecting the mongodb66mongoose.connect(process.env.mongoConnUrl, { useNewUrlParser: true });67/β/βWe are getting the connection pointer68let db = mongoose.connection;69/β/βWe are now adding error event and it will run if there is any error in connecting to mongodb70db.on("error", function (error) {71 console.log("unable to connect");72 console.log(error);73});74/β/βWe are adding open event and responding in the call back function if connection is successful75db.on("open", function () {76 console.log("we are connected to the mongodb server via mongoose");77}); */β78/β/β view engine setup79app.set("views", path.join(__dirname, "views"));80app.set("view engine", "pug");81app.use(logger("dev"));82app.use(express.json());83app.use(express.urlencoded({ extended: false }));84app.use(cookieParser());85app.use(express.static(path.join(__dirname, "public")));86app.use("/β", indexRouter);87app.use("/βtodos", todosRouter);88/β* app.use("/βusers", usersRouter); */β89/β*app.use("/βproducts", productsRouter);90app.use("/βtodos", todosRouter);91app.use("/βforums", forumsRouter);92app.use("/βhobbies", hobbiesRouter);93app.use("/βtwitter", twitterRouter);94app.use("/βforum", forumRouter);95app.use("/βauthor", authorRouter);96app.use("/βbook", bookRouter);97app.use("/βcategory", categoryRouter);98app.use("/βproduct", productRouter);99app.use("/βuser", userRouter);100app.use("/βusername", usernameRouter);101app.use("/βmysql", mysqlRouter);102app.use("/βtodomysql", todomysqlRouter);103app.use("/βauthormysql", authormysqlRouter);104app.use("/βusermysql", usermysqlRouter);105app.use("/βcookie", cookieRouter);106app.use("/βcitycookie", citycookieRouter);107app.use("/βdetailcookie", detailcookieRouter);108app.use("/βdishes", dishesRouter);109app.use("/βcar", carRouter);110app.use("/βsession", sessionRouter);111app.use("/βusertable", usertableRouter);112app.use("/βuserdetails", userdetailsRouter);113app.use("/βfile", fileRouter);114app.use("/βcreatefile", createfileRouter);115app.use("/βcreatefolder", createfolderRouter);116app.use("/βfoldercontents", foldercontentsRouter);117app.use("/βmodifyfile", modifyfileRouter);118app.use("/βuploads", uploadsRouter);119app.use("/βuserregistration", userregistrationRouter);120app.use("/βusertablemysql", usertablemysqlRouter); 121app.use("/βusersmysql", usersmysqlRouter);122app.use("/βloginsession", loginsessionRouter);*/β123/β* app.use("/βsqproducts", sqproductsRouter); */β124/β/β catch 404 and forward to error handler125app.use(function (req, res, next) {126 next(createError(404));127});128/β/β error handler129app.use(function (err, req, res, next) {130 /β/β set locals, only providing error in development131 res.locals.message = err.message;132 res.locals.error = req.app.get("env") === "development" ? err : {};133 /β/β render the error page134 res.status(err.status || 500);135 res.render("error");136});...
admin.js
Source: admin.js
...13 router.post('/βupload/βsound', middlewares, controllers.admin.uploads.uploadSound);14 router.post('/βupload/βfile', middlewares, controllers.admin.uploads.uploadFile);15 router.post('/βuploadDefaultAvatar', middlewares, controllers.admin.uploads.uploadDefaultAvatar);16}17function adminRouter(middleware, controllers) {18 var router = express.Router();19 router.use(middleware.admin.buildHeader);20 addRoutes(router, middleware, controllers);21 return router;22}23function apiRouter(middleware, controllers) {24 var router = express.Router();25 addRoutes(router, middleware, controllers);26 apiRoutes(router, middleware, controllers);27 return router;28}29function addRoutes(router, middleware, controllers) {30 var middlewares = [middleware.pluginHooks];31 router.get('/β', middlewares, controllers.admin.dashboard.get);32 router.get('/βgeneral/βdashboard', middlewares, controllers.admin.dashboard.get);33 router.get('/βgeneral/βlanguages', middlewares, controllers.admin.languages.get);34 router.get('/βgeneral/βsounds', middlewares, controllers.admin.sounds.get);35 router.get('/βgeneral/βnavigation', middlewares, controllers.admin.navigation.get);36 router.get('/βgeneral/βhomepage', middlewares, controllers.admin.homepage.get);37 router.get('/βgeneral/βsocial', middlewares, controllers.admin.social.get);38 router.get('/βmanage/βcategories', middlewares, controllers.admin.categories.getAll);39 router.get('/βmanage/βcategories/β:category_id', middlewares, controllers.admin.categories.get);40 router.get('/βmanage/βcategories/β:category_id/βanalytics', middlewares, controllers.admin.categories.getAnalytics);41 router.get('/βmanage/βprivileges/β:cid?', middlewares, controllers.admin.privileges.get);42 router.get('/βmanage/βtags', middlewares, controllers.admin.tags.get);43 router.get('/βmanage/βpost-queue', middlewares, controllers.admin.postQueue.get);44 router.get('/βmanage/βip-blacklist', middlewares, controllers.admin.blacklist.get);45 router.get('/βmanage/βusers', middlewares, controllers.admin.users.sortByJoinDate);46 router.get('/βmanage/βusers/βsearch', middlewares, controllers.admin.users.search);47 router.get('/βmanage/βusers/βlatest', middlewares, controllers.admin.users.sortByJoinDate);48 router.get('/βmanage/βusers/βnot-validated', middlewares, controllers.admin.users.notValidated);49 router.get('/βmanage/βusers/βno-posts', middlewares, controllers.admin.users.noPosts);50 router.get('/βmanage/βusers/βtop-posters', middlewares, controllers.admin.users.topPosters);51 router.get('/βmanage/βusers/βmost-reputation', middlewares, controllers.admin.users.mostReputaion);52 router.get('/βmanage/βusers/βinactive', middlewares, controllers.admin.users.inactive);53 router.get('/βmanage/βusers/βflagged', middlewares, controllers.admin.users.flagged);54 router.get('/βmanage/βusers/βbanned', middlewares, controllers.admin.users.banned);55 router.get('/βmanage/βregistration', middlewares, controllers.admin.users.registrationQueue);56 router.get('/βmanage/βadmins-mods', middlewares, controllers.admin.adminsMods.get);57 router.get('/βmanage/βgroups', middlewares, controllers.admin.groups.list);58 router.get('/βmanage/βgroups/β:name', middlewares, controllers.admin.groups.get);59 router.get('/βmanage/βuploads', middlewares, controllers.admin.uploads.get);60 router.get('/βsettings/β:term?', middlewares, controllers.admin.settings.get);61 router.get('/βappearance/β:term?', middlewares, controllers.admin.appearance.get);62 router.get('/βextend/βplugins', middlewares, controllers.admin.plugins.get);63 router.get('/βextend/βwidgets', middlewares, controllers.admin.extend.widgets.get);64 router.get('/βextend/βrewards', middlewares, controllers.admin.extend.rewards.get);65 router.get('/βadvanced/βdatabase', middlewares, controllers.admin.database.get);66 router.get('/βadvanced/βevents', middlewares, controllers.admin.events.get);67 router.get('/βadvanced/βlogs', middlewares, controllers.admin.logs.get);68 router.get('/βadvanced/βerrors', middlewares, controllers.admin.errors.get);69 router.get('/βadvanced/βerrors/βexport', middlewares, controllers.admin.errors.export);70 router.get('/βadvanced/βcache', middlewares, controllers.admin.cache.get);71 router.get('/βdevelopment/βlogger', middlewares, controllers.admin.logger.get);72 router.get('/βdevelopment/βinfo', middlewares, controllers.admin.info.get);73}74module.exports = function (app, middleware, controllers) {75 app.use('/βadmin/β', adminRouter(middleware, controllers));76 app.use('/βapi/βadmin/β', apiRouter(middleware, controllers));...
routes.ts
Source: routes.ts
...18import authRouterV1 from "./βroutes/βv1/βauth.route";19import uploadsRouterV1 from "./βroutes/βv1/βuploads.route";20/β/β Router imports21/β/β End of router imports22const router = express.Router();23/β/β Route routers24/β/β End of routing routers25router.use("/βv1/βuploads", uploadsRouterV1);26router.use("/βv1/βauth", authRouterV1);27router.use("/βv1/βusers", usersRouterV1);28router.use("/βv1/βorders", ordersRouterV1);29router.use("/βv1/βmasterCustomers", customersRouterV1);30router.use("/βv1/βmasterBrokers", masterBrokersRouterV1);31router.use("/βv1/βrenders", rendersRouterV1);32router.use("/βv1/βcustomerStocks", customerStocksRouterV1);33router.use("/βv1/βmasterBanks", masterBanksRouterV1);34router.use("/βv1/βnews", newsRouterV1);35router.use("/βv1/βstatus", statusRouterV1);36router.use("/βv1/βcustomerService", customerServiceRouterV1);...
api.router.js
Source: api.router.js
...9const authRouter = require("./βauth/βauth.router");10const userRouter = require("./βuser/βuser.router");11const environmentRouter = require("./βenvironment/βenvironment.router");12const devRouter = require("./βdev/βdev.router");13const apiRouter = express.Router();14/β/β ROUTER TO ALL RESOURCES15apiRouter.use("/βendpoint", authenticateRequests, endpointRouter);16apiRouter.use("/βapisTree", authenticateRequests, apisTreeRouter);17apiRouter.use("/βschema", authenticateRequests, schemaRouter);18apiRouter.use("/βreadme", authenticateRequests, readmeRouter);19apiRouter.use("/βservice", authenticateRequests, serviceRouter);20apiRouter.use("/βauth", authRouter);21apiRouter.use("/βuser", authenticateRequests, userRouter);22apiRouter.use("/βenvironment", authenticateRequests, environmentRouter);23apiRouter.use("/βdev", devRouter);...
index.ts
Source: index.ts
...14 @inject(SharedRouter) sharedRouter: SharedRouter,15 @inject(ImportRouter) importRouter: ImportRouter,16 @inject(SessionRouter) sessionRouter: SessionRouter,17 ) {18 this._router = Router();19 this._router.use("/βtrigger", triggerRouter.router);20 this._router.use("/βevent", eventRouter.router);21 this._router.use("/βshared", sharedRouter.router);22 this._router.use("/βimport", importRouter.router);23 this._router.use("/βsession", sessionRouter.router);24 }25 get router(): Router {26 return this._router;27 }...
index.js
Source: index.js
1const express = require('express')2const router = express.Router()3const authRouter = require('./βauth.router')4/β/β const accountRouter = require('./βaccount.router');5const userRouter = require('./βuser.router')6/β/β const cashbackRouter = require('./βcashback.router');7/β/β const bonusRouter = require('./βbonus.router');8/β/β const payoutRouter = require('./βpayout.router');9/β/β const staticRouter = require('./βstatic.router');10const partnerRouter = require('./βpartner.router')11/β/β const rafRouter = require('./βraf.router');12const apiRouter = require('./βapi.router')13const activeUserRouter = require('./βactive-user-router')14const cashbackRouter = require('./βcashback-router')15/β/β routes16router.use('/βauth', authRouter)...
Using AI Code Generation
1import { Router } from 'storybook-react-router';2import { storiesOf } from '@storybook/βreact';3import { action } from '@storybook/βaddon-actions';4storiesOf('Button', module)5 .addDecorator(Router())6 .add('with text', () => <Button onClick={action('clicked')}>Hello Button</βButton>)7 .add('with some emoji', () => (8 <Button onClick={action('clicked')}>9 ));10import { Router } from 'storybook-react-router';11import { storiesOf } from '@storybook/βreact';12import { action } from '@storybook/βaddon-actions';13storiesOf('Button', module)14 .addDecorator(Router({15 }))16 .add('with text', () => <Button onClick={action('clicked')}>Hello Button</βButton>)17 .add('with some emoji', () => (18 <Button onClick={action('clicked')}>19 ));20MIT Β© [Rafael Miranda](
Using AI Code Generation
1import { Router } from 'storybook-react-router';2export const decorators = [Router];3export const parameters = {4 actions: { argTypesRegex: "^on[A-Z].*" },5 backgrounds: {6 {7 },8 {9 },10 },11};12import React from 'react';13import { MemoryRouter } from 'react-router-dom';14import YourComponent from '../βsrc/βYourComponent';15export default {16};17const Template = (args) => <YourComponent {...args} /β>;18export const Default = Template.bind({});19 (Story) => (20 <MemoryRouter initialEntries={['/β']}>21];22Default.args = {23};24import React from 'react';25import { MemoryRouter } from 'react-router-dom';26import YourComponent from '../βsrc/βYourComponent';27export default {28};29const Template = (args) => <YourComponent {...args} /β>;30export const Default = Template.bind({});31 (Story) => (32 <MemoryRouter initialEntries={['/β']}>33];34Default.args = {35};36import React from 'react';37import { MemoryRouter } from 'react-router-dom';38import YourComponent from '../βsrc/βYourComponent';39export default {40};41const Template = (args) => <YourComponent {...args} /β>;42export const Default = Template.bind({});43 (Story) => (44 <MemoryRouter initialEntries={['/β']}>45];46Default.args = {
Using AI Code Generation
1import { Router } from '@storybook/βreact-native';2import { storiesOf } from '@storybook/βreact-native';3import { action } from '@storybook/βaddon-actions';4import { linkTo } from '@storybook/βaddon-links';5import { withKnobs, text, boolean, number } from '@storybook/βaddon-knobs';6import { withNotes } from '@storybook/βaddon-notes';7import { withInfo } from '@storybook/βaddon-info';8import { withA11y } from '@storybook/βaddon-a11y';9import { withBackgrounds } from '@storybook/βaddon-backgrounds';10import { Button, Welcome } from '@storybook/βreact-native/βdemo';11storiesOf('Welcome', module).add('to Storybook', () => <Welcome showApp={linkTo('Button')} /β>);12storiesOf('Button', module)13 .addDecorator(withKnobs)14 .addDecorator(withNotes)15 .addDecorator(withInfo)16 .addDecorator(withA11y)17 .addDecorator(withBackgrounds)18 .add('with text', () => (19 <Button onPress={action('clicked-text')}>20 <Text>{text('Label', 'Hello Button')}</βText>21 .add('with some emoji', () => (22 <Button onPress={action('clicked-emoji')}>23 <Text>{text('Label', 'π π π π―')}</βText>24 .add('with some number', () => (25 <Button onPress={action('clicked-number')}>26 <Text>{number('Label', 100)}</βText>27 .add('with some boolean', () => (28 <Button onPress={action('clicked-boolean')}>29 <Text>{boolean('Label', true)}</βText>30 .add('with some emoji and action', () => (31 <Button onPress={action('clicked-emoji-and-action')}>32 <Text>{text('Label', 'π π π π―')}</βText>33 .add('with some emoji and linkTo', () => (34 <Button onPress={linkTo('Welcome', 'to Storybook')}>35 <Text>{text('Label', 'π π π π―')}</βText>36 ));37import React, { Component } from 'react';
Using AI Code Generation
1export const parameters = {2 actions: { argTypesRegex: "^on[A-Z].*" },3 controls: {4 },5 backgrounds: {6 {7 },8 {9 },10 },11}
Using AI Code Generation
1import { Router } from 'storybook-router';2import { storiesOf } from '@storybook/βreact';3import React from 'react';4import { Button } from 'antd';5import { Link } from 'react-router-dom';6storiesOf('Button', module)7 .addDecorator(Router())8 .add('with text', () => <Button>Click Here</βButton>)9 .add('with Link', () => (10 ));11import { configure } from '@storybook/βreact';12const req = require.context('../βsrc', true, /β.stories.js$/β);13function loadStories() {14 req.keys().forEach(filename => req(filename));15}16configure(loadStories, module);17const path = require('path');18module.exports = (baseConfig, env, config) => {19 config.module.rules.push({20 include: path.resolve(__dirname, '../β'),21 });22 return config;23};24import React from 'react';25import ReactDOM from 'react-dom';26import { BrowserRouter as Router } from 'react-router-dom';27import App from './βApp';28ReactDOM.render(29 document.getElementById('root')30);31import React from 'react';32import { Button } from 'antd';33import { Link } from 'react-router-dom';34function App() {35 return (36 );37}38export default App;39import React from 'react';40import { Button } from 'antd';41import { Link } from 'react-router-dom';42function Somewhere() {43 return (44 );45}46export default Somewhere;47import React from 'react';48import { storiesOf } from '@storybook/βreact
Using AI Code Generation
1import { Router } from 'storybook-router';2import { storiesOf } from '@storybook/βreact';3storiesOf('Test', module)4 .addDecorator(Router())5 .add('Test', () => <div>Test</βdiv>);6import { Router } from 'storybook-router';7import { storiesOf } from '@storybook/βreact';8storiesOf('Test', module)9 .addDecorator(Router({10 }))11 .add('Test', () => <div>Test</βdiv>);12MIT Β© [siddharthkp](
Using AI Code Generation
1import { Router } from 'storybook-router';2storiesOf('MyComponent', module)3 .addDecorator(Router())4 .add('with some emoji', () => (5 ));6import { configure, addDecorator } from '@storybook/βreact';7import { Router } from 'storybook-router';8addDecorator(Router());9function loadStories() {10 require('../βstories');11}12configure(loadStories, module);13module.exports = ({ config }) => {14 config.module.rules.push({15 {16 options: {17 ['env', {18 targets: {19 },20 }],21 },22 },23 include: path.resolve(__dirname, '../β'),24 });25 return config;26};27import 'storybook-router/βregister';28import { Router } from 'storybook-router';29addDecorator(Router());30### Router(options)31Default: `{}`32[MIT](
Using AI Code Generation
1import { Router } from 'storybook-router';2import { withRouter } from 'react-router-dom';3const StoryRouter = withRouter(Router);4addDecorator(story => <StoryRouter>{story()}</βStoryRouter>);5addDecorator(withRouter);6import { Router } from 'storybook-router';7import { withRouter } from 'react-router-dom';8const StoryRouter = withRouter(Router);9addDecorator(story => <StoryRouter>{story()}</βStoryRouter>);10import { Router } from 'storybook-router';11addDecorator(story => <Router>{story()}</βRouter>);12import { Router } from 'storybook-router';13addDecorator(story => <Router>{story()}</βRouter>);14import { Router } from 'storybook-router';15addDecorator(story => <Router>{story()}</βRouter>);16| initialEntries | array | | An array of locations (see history docs) that the router will start with |17import React from 'react';18import { storiesOf } from '@storybook/βreact';19import { Router } from 'storybook-router';20import { Link } from 'react-router-dom';21const StoryRouter = withRouter(Router);22storiesOf('Test', module).add('Test', () => (23 <StoryRouter initialEntries={['/β']}>
Check out the latest blogs from LambdaTest on this topic:
In 2007, Steve Jobs launched the first iPhone, which revolutionized the world. But because of that, many businesses dealt with the problem of changing the layout of websites from desktop to mobile by delivering completely different mobile-compatible websites under the subdomain of βmβ (e.g., https://m.facebook.com). And we were all trying to figure out how to work in this new world of contending with mobile and desktop screen sizes.
One of the essential parts when performing automated UI testing, whether using Selenium or another framework, is identifying the correct web elements the tests will interact with. However, if the web elements are not located correctly, you might get NoSuchElementException in Selenium. This would cause a false negative result because we wonβt get to the actual functionality check. Instead, our test will fail simply because it failed to interact with the correct element.
When working on web automation with Selenium, I encountered scenarios where I needed to refresh pages from time to time. When does this happen? One scenario is that I needed to refresh the page to check that the data I expected to see was still available even after refreshing. Another possibility is to clear form data without going through each input individually.
When most firms employed a waterfall development model, it was widely joked about in the industry that Google kept its products in beta forever. Google has been a pioneer in making the case for in-production testing. Traditionally, before a build could go live, a tester was responsible for testing all scenarios, both defined and extempore, in a testing environment. However, this concept is evolving on multiple fronts today. For example, the tester is no longer testing alone. Developers, designers, build engineers, other stakeholders, and end users, both inside and outside the product team, are testing the product and providing feedback.
Have you ever visited a website that only has plain text and images? Most probably, no. Itβs because such websites do not exist now. But there was a time when websites only had plain text and images with almost no styling. For the longest time, websites did not focus on user experience. For instance, this is how eBayβs homepage looked in 1999.
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!!