Best JavaScript code snippet using storybook-root
index.ts
Source:index.ts
1import {IGeesomeApp} from "../../interface";2import IGeesomeAutoActionsModule, {IAutoAction} from "./interface";3const Op = require("sequelize").Op;4const pIteration = require("p-iteration");5const some = require("lodash/some");6const commonHelpers = require('geesome-libs/src/common');7const orderBy = require("lodash/orderBy");8const reverse = require("lodash/reverse");9module.exports = async (app: IGeesomeApp) => {10 const models = await require("./models")();11 const module = await getModule(app, models);12 require('./api')(app, module);13 require('./cron')(app, module);14 return module;15}16function getModule(app: IGeesomeApp, models) {17 class AutoActionsModule implements IGeesomeAutoActionsModule {18 async addAutoAction(userId, autoAction) {19 const nextActions = await this.getNextActionsToStore(userId, autoAction.nextActions);20 await this.encryptAutoActionIfNecessary(autoAction);21 const res = await models.AutoAction.create({...autoAction, userId});22 return this.setNextActions(res, nextActions).then(() => this.getAutoAction(res.id)) as IAutoAction;23 }24 async encryptAutoActionIfNecessary(autoAction) {25 if (autoAction.isEncrypted && autoAction.funcArgs) {26 autoAction.funcArgsEncrypted = await app.encryptTextWithAppPass(autoAction.funcArgs);27 autoAction.funcArgs = "";28 }29 return autoAction;30 }31 async decryptAutoActionIfNecessary(autoAction) {32 if (autoAction.isEncrypted && autoAction.funcArgsEncrypted) {33 autoAction.funcArgs = await app.decryptTextWithAppPass(autoAction.funcArgsEncrypted);34 }35 return autoAction;36 }37 async addSerialAutoActions(userId, autoActions) {38 const resAutoActions = reverse(await pIteration.map(autoActions, (a) => this.addAutoAction(userId, a)));39 console.log('resAutoActions', resAutoActions.map(a => ({id: a.id, moduleName: a.moduleName, executeOn: a.executeOn})));40 let nextAction;41 await pIteration.forEachSeries(resAutoActions, async (a) => {42 if (nextAction) {43 await this.updateAutoAction(userId, a.id, { nextActions: [nextAction] })44 }45 nextAction = a;46 });47 return resAutoActions;48 }49 async getNextActionsToStore(userId, _nextActions) {50 let resNextActions;51 if (_nextActions) {52 resNextActions = await models.AutoAction.findAll({ where: {id: {[Op.in]: _nextActions.map(a => a.id)} }});53 if (some(resNextActions, a => a.userId !== userId)) {54 throw new Error("next_action_user_dont_match");55 }56 }57 return resNextActions;58 }59 async setNextActions(action, nextActions) {60 if (!nextActions) {61 return null;62 }63 return action.setNextActions(await pIteration.map(nextActions, async (action, position) => {64 action.nextActions = {position};65 return action;66 }));67 }68 async updateAutoAction(userId, id, autoAction) {69 let nextActions;70 if (autoAction.nextActions) {71 nextActions = await this.getNextActionsToStore(userId, autoAction.nextActions)72 }73 const existAction = await models.AutoAction.findOne({where: {id}});74 if (existAction.userId !== userId) {75 throw new Error("userId_dont_match");76 }77 await this.encryptAutoActionIfNecessary(autoAction);78 await existAction.update({ ...autoAction, userId });79 if (nextActions) {80 return this.setNextActions(existAction, nextActions).then(() => this.getAutoAction(id)) as IAutoAction;81 } else {82 return this.getAutoAction(id);83 }84 }85 async getAutoAction(id) {86 return models.AutoAction.findOne({ where: { id }, include: [ {association: 'nextActions'} ] }).then(a => this.decryptAutoActionIfNecessary(a));87 }88 async getUserActions(userId, params = {}) {89 return {90 list: await models.AutoAction.findAll({ where: { ...params, userId }, include: [ {association: 'nextActions'}, {association: 'baseActions'} ] }).then(as => pIteration.map(as, a => this.decryptAutoActionIfNecessary(a)))91 }92 }93 async getAutoActionsToExecute() {94 return models.AutoAction.findAll({where: { executeOn: {[Op.lte]: new Date()}, isActive: true} }).then((actions) => pIteration.map(actions, a => this.decryptAutoActionIfNecessary(a)));95 }96 async getNextActionsById(userId, id) {97 const baseAction = await models.AutoAction.findOne({where: {id}});98 const nextActions = orderBy(99 await baseAction.getNextActions().then((actions) => pIteration.map(actions, a => this.decryptAutoActionIfNecessary(a))),100 [a => a.nextActionsPivot.position],101 ['asc']102 );103 console.log('getNextActionsById', id, 'nextActions.length', nextActions.length);104 return nextActions.map(a => {105 if (a.userId !== userId) {106 throw new Error("userId_dont_match");107 }108 return a;109 });110 }111 async updateAutoActionExecuteOn(userId, id, extendData: IAutoAction = {}) {112 const existAction = await models.AutoAction.findOne({where: {id}});113 if (!existAction || !existAction.executePeriod || !existAction.isActive) {114 return; // nothing to update115 }116 if (existAction.userId !== userId) {117 throw new Error("userId_dont_match");118 }119 await existAction.update({120 ...extendData,121 executeOn: commonHelpers.moveDate(existAction.executePeriod, 'seconds')122 });123 }124 async deactivateAutoActionWithError(_userId, _actionId, _error, _rootActionId?) {125 let {userId} = await models.AutoAction.findOne({where: {id: _actionId}});126 if (_userId !== userId) {127 throw new Error("userId_dont_match");128 }129 await models.AutoActionLog.create({130 userId,131 isFailed: true,132 actionId: _actionId,133 rootActionId: _rootActionId,134 error: JSON.stringify(_error.message.toString())135 });136 return this.updateAutoActionExecuteOn(userId, _actionId, { isActive: false });137 }138 async handleAutoActionSuccessfulExecution(_userId, _actionId, _response, _rootActionId?) {139 let {totalExecuteAttempts, userId} = await models.AutoAction.findOne({where: {id: _actionId}});140 if (_userId !== userId) {141 throw new Error("userId_dont_match");142 }143 await models.AutoActionLog.create({144 userId,145 actionId: _actionId,146 rootActionId: _rootActionId,147 response: JSON.stringify(_response)148 });149 return this.updateAutoActionExecuteOn(userId, _actionId, {150 currentExecuteAttempts: totalExecuteAttempts151 })152 }153 async handleAutoActionFailedExecution(_userId, _actionId, _error, _rootActionId?) {154 let {currentExecuteAttempts, userId} = await models.AutoAction.findOne({where: {id: _actionId}});155 if (_userId !== userId) {156 throw new Error("userId_dont_match");157 }158 await models.AutoActionLog.create({159 userId,160 isFailed: true,161 actionId: _actionId,162 rootActionId: _rootActionId,163 error: JSON.stringify(_error.message.toString())164 });165 currentExecuteAttempts--;166 if (currentExecuteAttempts > 0) {167 return this.updateAutoActionExecuteOn(userId, _actionId, { currentExecuteAttempts });168 } else {169 return this.updateAutoAction(userId, _actionId, { currentExecuteAttempts, isActive: false });170 }171 }172 async flushDatabase() {173 await pIteration.forEachSeries(['NextActionsPivot', 'AutoActionLog', 'AutoAction'], (modelName) => {174 return models[modelName].destroy({where: {}});175 });176 }177 }178 return new AutoActionsModule();...
main.js
Source:main.js
1/*2Crea un array composto da 10 automobili.3Ogni oggetto automobile avrà le seguenti proprietà : marca, modello e alimentazione (benzina, diesel, gpl, elettrico, metano).4Dividi le automobili in 3 array separati: nel primo array solo le auto a benzina, nel secondo solo le auto a diesel, nel terzo il resto delle auto.5Infine stampa separatamente i 3 array.6*/7//creazione array 8const auto = [9 {10 marca : "fiat",11 modello : "panda",12 alimentazione : "benzina"13 },14 {15 marca : "Opel",16 modello : "astra",17 alimentazione : "Diesel"18 },19 {20 marca : "Mercedes",21 modello : "Classe A",22 alimentazione : "Diesel"23 },24 {25 marca : "Chevrolet",26 modello : "Matiz",27 alimentazione : "GPL"28 },29 {30 marca : "Audi",31 modello : "Q5",32 alimentazione : "benzina"33 },34 {35 marca : "Fiat",36 modello : "Multipla",37 alimentazione : "Metano"38 },39 {40 marca : "Ford",41 modello : "Kuga",42 alimentazione : "Diesel"43 },44 {45 marca : "Ford",46 modello : "Mustang",47 alimentazione : "benzina"48 },49 {50 marca : "Nissan",51 modello : "Micra",52 alimentazione : "Diesel"53 },54 {55 marca : "Renoult",56 modello : "CLio",57 alimentazione : "Diesel"58 }59]60// for(let i = 0; i<auto.length; i++){61// console.log(`marca: ${auto[i].marca} modello : ${auto[i].modello}, alimentazione : ${auto[i].alimentazione}`)62// }63/*64Dividi le automobili in 3 array separati: nel primo array solo le auto a benzina, nel secondo solo le auto a diesel, nel terzo il resto delle auto.65Infine stampa separatamente i 3 array.66*/67// implementazione tramite il metodo filter68//auto benzina69console.log("**** AUTO BENZINA***");70let auto_benzina = auto.filter((auto)=>{71 return (auto.alimentazione == "benzina");72})73for(let i = 0; i<auto_benzina.length; i++){74 console.log(`Le auto a benzina sono le seguenti: ${auto_benzina[i].marca}, ${auto_benzina[i].modello}, ${auto_benzina[i].alimentazione}`);75}76console.log("*** AUTO DIESEL ***")77let auto_diesel = auto.filter((auto)=>{78 return(auto.alimentazione == "Diesel");79})80for(let i = 0; i<auto_diesel.length; i++){81 console.log(`Le auto a diesel sono le seguenti: ${auto_diesel[i].marca}, ${auto_diesel[i].modello}, ${auto_diesel[i].alimentazione}`);82}83console.log("*** AUTO RIMANENTI ***");84let auto_rimanenti = auto.filter((auto)=>{85 return(auto.alimentazione == "GPL" || auto.alimentazione == "Metano");86})87for(let i = 0; i<auto_rimanenti.length; i++){88 console.log(`Le auto a diesel sono le seguenti: ${auto_rimanenti[i].marca}, ${auto_rimanenti[i].modello}, ${auto_rimanenti[i].alimentazione}`);...
bootstrap-table-auto-refresh.js
Source:bootstrap-table-auto-refresh.js
1/**2 * @author: Alec Fenichel3 * @webSite: https://fenichelar.com4 * @version: v1.0.05 */6(function ($) {7 'use strict';8 $.extend($.fn.bootstrapTable.defaults, {9 autoRefresh: false,10 autoRefreshInterval: 60,11 autoRefreshSilent: true,12 autoRefreshStatus: true,13 autoRefreshFunction: null14 });15 $.extend($.fn.bootstrapTable.defaults.icons, {16 autoRefresh: 'glyphicon-time icon-time'17 });18 $.extend($.fn.bootstrapTable.locales, {19 formatAutoRefresh: function() {20 return 'Auto Refresh';21 }22 });23 $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales);24 var BootstrapTable = $.fn.bootstrapTable.Constructor;25 var _init = BootstrapTable.prototype.init;26 var _initToolbar = BootstrapTable.prototype.initToolbar;27 var sprintf = $.fn.bootstrapTable.utils.sprintf;28 BootstrapTable.prototype.init = function () {29 _init.apply(this, Array.prototype.slice.apply(arguments));30 if (this.options.autoRefresh && this.options.autoRefreshStatus) {31 var that = this;32 this.options.autoRefreshFunction = setInterval(function () {33 that.refresh({silent: that.options.autoRefreshSilent});34 }, this.options.autoRefreshInterval*1000);35 }36 };37 BootstrapTable.prototype.initToolbar = function() {38 _initToolbar.apply(this, Array.prototype.slice.apply(arguments));39 if (this.options.autoRefresh) {40 var $btnGroup = this.$toolbar.find('>.btn-group');41 var $btnAutoRefresh = $btnGroup.find('.auto-refresh');42 if (!$btnAutoRefresh.length) {43 $btnAutoRefresh = $([44 sprintf('<button class="btn btn-default auto-refresh %s" ', this.options.autoRefreshStatus ? 'enabled' : ''),45 'type="button" ',46 sprintf('title="%s">', this.options.formatAutoRefresh()),47 sprintf('<i class="%s %s"></i>', this.options.iconsPrefix, this.options.icons.autoRefresh),48 '</button>'49 ].join('')).appendTo($btnGroup);50 $btnAutoRefresh.on('click', $.proxy(this.toggleAutoRefresh, this));51 }52 }53 };54 BootstrapTable.prototype.toggleAutoRefresh = function() {55 if (this.options.autoRefresh) {56 if (this.options.autoRefreshStatus) {57 clearInterval(this.options.autoRefreshFunction);58 this.$toolbar.find('>.btn-group').find('.auto-refresh').removeClass('enabled');59 } else {60 var that = this;61 this.options.autoRefreshFunction = setInterval(function () {62 that.refresh({silent: that.options.autoRefreshSilent});63 }, this.options.autoRefreshInterval*1000);64 this.$toolbar.find('>.btn-group').find('.auto-refresh').addClass('enabled');65 }66 this.options.autoRefreshStatus = !this.options.autoRefreshStatus;67 }68 };...
Using AI Code Generation
1import { Auto } from 'storybook-root';2import { storiesOf, action } from '@kadira/storybook';3storiesOf('Auto', module)4 .add('Auto', () => (5 ));6import { Auto } from 'storybook-root';7import { storiesOf, action } from '@kadira/storybook';8storiesOf('Auto', module)9 .add('Auto', () => (10 ));11import { Auto } from 'storybook-root';12import { storiesOf, action } from '@kadira/storybook';13storiesOf('Auto', module)14 .add('Auto', () => (15 ));16import { Auto } from 'storybook-root';17import { storiesOf, action } from '@kadira/storybook';18storiesOf('Auto', module)19 .add('Auto', () => (20 ));21import { Auto } from 'storybook-root';22import { storiesOf, action } from '@kadira/storybook';23storiesOf('Auto', module)24 .add('Auto', () => (25 ));26import { Auto } from 'storybook-root';27import { storiesOf, action } from '@kadira/storybook';28storiesOf('Auto', module)29 .add('Auto', () => (30 ));31import { Auto } from 'storybook-root';32import { storiesOf, action } from '@kadira/storybook';33storiesOf('Auto', module)34 .add('Auto', () => (35 ));36import { Auto } from 'storybook-root';37import { storiesOf, action } from '@kadira/storybook';38storiesOf('Auto', module)39 .add('Auto', () => (40 ));
Using AI Code Generation
1import { Auto } from 'storybook-root';2import { storiesOf } from '@storybook/react';3import Test from './Test';4Auto(storiesOf, Test);5import React from 'react';6import { storiesOf } from '@storybook/react';7export default class Test extends React.Component {8 render() {9 return <div>Test</div>;10 }11}12import React from 'react';13import Test from './Test';14describe('Test', () => {15 it('should render', () => {16 const wrapper = shallow(<Test />);17 expect(wrapper).toHaveLength(1);18 });19});20import React from 'react';21import { storiesOf } from '@storybook/react';22import Test from './Test';23storiesOf('Test', module).add('Test', () => <Test />);24import React from 'react';25import Test from './Test';26describe('Test', () => {27 it('should render', () => {28 const wrapper = shallow(<Test />);29 expect(wrapper).toHaveLength(1);30 });31});32import { Auto } from 'storybook-root';33import { storiesOf } from '@storybook/react';34import Test from './Test';35Auto(storiesOf, Test);36import React from 'react';37import Test from './Test';38describe('Test', () => {39 it('should render', () => {40 const wrapper = shallow(<Test />);41 expect(wrapper).toHaveLength(1);42 });43});44import React from 'react';45import Test from './Test';46describe('Test', () => {47 it('should render', () => {48 const wrapper = shallow(<Test />);49 expect(wrapper).toHaveLength(1);50 });51});52import React from 'react';53import Test from './Test';54describe('Test', () => {55 it('should render', () => {56 const wrapper = shallow(<Test />);57 expect(wrapper).toHaveLength(1);58 });59});60import React from 'react';61import Test from './Test';62describe('Test', () => {63 it('should render', () => {64 const wrapper = shallow(<Test />);65 expect(wrapper).toHaveLength(
Using AI Code Generation
1const rootRequire = require('storybook-root-require');2const test = rootRequire('test.js');3const test = require('storybook-root-require/test.js');4const test = require('storybook-root-require')('test.js');5const rootRequire = require('storybook-root-require');6const test = rootRequire('test.js');7const test = require('storybook-root-require/test.js');8const test = require('storybook-root-require')('test.js');9const rootRequire = require('storybook-root-require');10const test = rootRequire('test.js');11const test = require('storybook-root-require/test.js');12const test = require('storybook-root-require')('test.js');13const rootRequire = require('storybook-root-require');14const test = rootRequire('test.js');15const test = require('storybook-root-require/test.js');16const test = require('storybook-root-require')('test.js');17const rootRequire = require('storybook-root-require');18const test = rootRequire('test.js');19const test = require('storybook-root-require/test.js');20const test = require('storybook-root-require')('test.js');21const rootRequire = require('storybook-root-require');22const test = rootRequire('
Using AI Code Generation
1const path = require('path');2const root = require('storybook-root-require').root;3const storybookRoot = root();4module.exports = {5 entry: path.resolve(storybookRoot, 'src', 'index.js'),6 output: {7 path: path.resolve(storybookRoot, 'dist'),8 },9};10import React from 'react';11import ReactDOM from 'react-dom';12import App from './App';13ReactDOM.render(<App />, document.getElementById('root'));14import React from 'react';15const App = () => <div>Hello, world!</div>;16export default App;17import { configure } from '@storybook/react';18configure(require.context('../src', true, /\.stories\.js$/), module);
Using AI Code Generation
1import { Auto } from 'storybook-root';2import React from 'react';3import ReactDOM from 'react-dom';4ReactDOM.render(5 stories={[6 {7 component: () => <div>test</div>,8 },9 ]}10 document.getElementById('root')11);12import { Auto } from 'storybook-root';13import React from 'react';14import ReactDOM from 'react-dom';15ReactDOM.render(16 stories={[17 {18 component: () => <div>test</div>,19 },20 ]}21 document.getElementById('root')22);23import { Auto } from 'storybook-root';24import React from 'react';25import ReactDOM from 'react-dom';26ReactDOM.render(27 stories={[28 {29 component: () => <div>test</div>,30 },31 ]}32 document.getElementById('root')33);34import { Auto } from 'storybook-root';35import React from 'react';36import ReactDOM from 'react-dom';37ReactDOM.render(38 stories={[39 {40 component: () => <div>test</div>,41 },42 ]}43 document.getElementById('root')44);45import { Auto } from 'storybook-root';46import React from 'react';47import ReactDOM from 'react-dom';48ReactDOM.render(49 stories={[50 {51 component: () => <div>test</div>,52 },53 ]}54 document.getElementById('root')55);56import { Auto } from 'storybook-root';57import React from 'react';58import ReactDOM from 'react-dom';59ReactDOM.render(60 stories={[61 {62 component: () => <div>test</div>,63 },64 ]}65 document.getElementById('root')66);67import { Auto } from 'storybook
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!!