Best JavaScript code snippet using wpt
wizard.js
Source:wizard.js  
1$.widget("metro.wizard", {2    version: "3.0.0",3    options: {4        stepper: true,5        stepperType: 'default',6        stepperClickable: false,7        startPage: 'default',8        finishStep: 'default',9        locale: window.METRO_CURRENT_LOCALE,10        buttons: {11            cancel: true,12            help: true,13            prior: true,14            next: true,15            finish: true16        },17        onCancel: function(page, wiz){},18        onHelp: function(page, wiz){},19        onPrior: function(page, wiz){return true;},20        onNext: function(page, wiz){return true;},21        onFinish: function(page, wiz){},22        onPage: function(page, wiz){},23        onStepClick: function(step){}24    },25    _stepper: undefined,26    _currentStep: 0,27    _steps: undefined,28    _create: function(){29        var that = this,30            element = this.element,31            o = this.options,32            steps = element.find(".step");33        $.each(element.data(), function(key, value){34            if (key in o) {35                try {36                    o[key] = $.parseJSON(value);37                } catch (e) {38                    o[key] = value;39                }40            }41        });42        this._steps = steps;43        if (o.stepper) {44            this._stepper = this._createStepper(steps.length)45                .insertBefore(element.find('.steps'))46                .stepper({47                    clickable: o.stepperClickable48                }).on('stepclick', function(e, s){49                    that.stepTo(s);50                    if (typeof o.onStepClick === 'function') {51                        o.onStepClick(s);52                    } else {53                        if (typeof window[o.onStepClick] === 'function') {54                            window[o.onStepClick](s);55                        } else {56                            var result = eval("(function(){"+o.onStepClick+"})");57                            result.call(s);58                        }59                    }60                });61        }62        if (element.data('locale') !== undefined) {o.locale = element.data('locale');}63        this._createEvents();64        var sp = (o.startPage !== 'default' && parseInt(o.startPage) > 1) ? o.startPage : 1;65        this.stepTo(sp);66        if (typeof o.onPage === 'string') {67            window[o.onPage](this._currentStep + 1, element);68        } else {69            o.onPage(this._currentStep + 1, element);70        }71        element.data('wizard', this);72    },73    _createStepper: function(steps){74        var stepper, o = this.options;75        stepper = $("<div/>").addClass("stepper")76            .attr("data-role", "stepper")77            .attr("data-steps", steps);78        if (o.stepperType !== 'default') {79            stepper.addClass(o.stepperType);80        }81        return stepper;82    },83    _createEvents: function(){84        var that = this, element = this.element, o = this.options;85        if (o.buttons) {86            var actions = $("<div/>").addClass("actions").appendTo(element);87            var group_left = $("<div/>").addClass("group-left").appendTo(actions);88            var group_right = $("<div/>").addClass("group-right").appendTo(actions);89            var cancel_button, help_button, prior_button, next_button, finish_button;90            if (o.buttons.cancel) {91                cancel_button = $("<button type='button'/>").addClass("btn-cancel").html(window.METRO_LOCALES[o.locale].buttons[2]);92                if (typeof o.buttons.cancel === "boolean") {93                    cancel_button.appendTo(group_left);94                } else {95                    if (o.buttons.cancel.title) {96                        cancel_button.html(o.buttons.cancel.title);97                    }98                    if (o.buttons.cancel.cls) {99                        cancel_button.addClass(o.buttons.cancel.cls);100                    }101                    if (o.buttons.cancel.group && o.buttons.cancel.group !== "left") {102                        cancel_button.appendTo(group_right);103                    } else {104                        cancel_button.appendTo(group_left);105                    }106                }107                cancel_button.on('click', function(){108                    if (typeof o.onCancel === 'function') {109                        o.onCancel(that._currentStep+1, element);110                    } else {111                        if (typeof window[o.onCancel] === 'function') {112                            window[o.onCancel](that._currentStep+1, element);113                        } else {114                            var result = eval("(function(){"+o.onCancel+"})");115                            result.call(that._currentStep+1, element);116                        }117                    }118                });119            }120            if (o.buttons.help) {121                help_button = $("<button type='button'/>").addClass("btn-help").html(window.METRO_LOCALES[o.locale].buttons[3]);122                if (typeof o.buttons.help === "boolean") {123                    help_button.appendTo(group_right);124                } else {125                    if (o.buttons.help.title) {126                        help_button.html(o.buttons.help.title);127                    }128                    if (o.buttons.help.cls) {129                        help_button.addClass(o.buttons.help.cls);130                    }131                    if (o.buttons.help.group && o.buttons.help.group !== "left") {132                        help_button.appendTo(group_right);133                    } else {134                        help_button.appendTo(group_left);135                    }136                }137                help_button.on('click', function(){138                    if (typeof o.onHelp === 'function') {139                        o.onHelp(that._currentStep+1, element);140                    } else {141                        if (typeof window[o.onHelp] === 'function') {142                            window[o.onHelp](that._currentStep+1, element);143                        } else {144                            var result = eval("(function(){"+o.onHelp+"})");145                            result.call(that._currentStep+1, element);146                        }147                    }148                });149            }150            if (o.buttons.prior) {151                prior_button = $("<button type='button'/>").addClass("btn-prior").html(window.METRO_LOCALES[o.locale].buttons[4]);152                if (typeof o.buttons.prior === "boolean") {153                    prior_button.appendTo(group_right);154                } else {155                    if (o.buttons.prior.title) {156                        prior_button.html(o.buttons.prior.title);157                    }158                    if (o.buttons.prior.cls) {159                        prior_button.addClass(o.buttons.prior.cls);160                    }161                    if (o.buttons.prior.group && o.buttons.prior.group !== "left") {162                        prior_button.appendTo(group_right);163                    } else {164                        prior_button.appendTo(group_left);165                    }166                }167                prior_button.on('click', function(){168                    if (typeof o.onPrior === 'function') {169                        if (o.onPrior(that._currentStep+1, element)) {that.prior();}170                    } else {171                        if (typeof window[o.onPrior] === 'function') {172                            if (window[o.onPrior](that._currentStep+1, element)) {that.prior();}173                        } else {174                            var result = eval("(function(){"+o.onPrior+"})");175                            if (result.call(that._currentStep+1, element)) {that.prior();}176                        }177                    }178                });179            }180            if (o.buttons.next) {181                next_button = $("<button type='button'/>").addClass("btn-next").html(window.METRO_LOCALES[o.locale].buttons[5]);182                if (typeof o.buttons.next === "boolean") {183                    next_button.appendTo(group_right);184                } else {185                    if (o.buttons.next.title) {186                        next_button.html(o.buttons.next.title);187                    }188                    if (o.buttons.next.cls) {189                        next_button.addClass(o.buttons.next.cls);190                    }191                    if (o.buttons.next.group && o.buttons.next.group !== "left") {192                        next_button.appendTo(group_right);193                    } else {194                        next_button.appendTo(group_left);195                    }196                }197                next_button.on('click', function(){198                    if (typeof o.onNext === 'function') {199                        if (o.onNext(that._currentStep+1, element)) {that.next();}200                    } else {201                        if (typeof window[o.onNext] === 'function') {202                            if (window[o.onNext](that._currentStep+1, element)) {that.next();}203                        } else {204                            var result = eval("(function(){"+o.onNext+"})");205                            if (result.call(that._currentStep+1, element)) {that.next();}206                        }207                    }208                });209            }210            if (o.buttons.finish) {211                finish_button = $("<button type='button'/>").addClass("btn-finish").html(window.METRO_LOCALES[o.locale].buttons[6]);212                if (typeof o.buttons.finish === "boolean") {213                    finish_button.appendTo(group_right);214                } else {215                    if (o.buttons.finish.title) {216                        finish_button.html(o.buttons.finish.title);217                    }218                    if (o.buttons.finish.cls) {219                        finish_button.addClass(o.buttons.finish.cls);220                    }221                    if (o.buttons.finish.group && o.buttons.finish.group !== "left") {222                        finish_button.appendTo(group_right);223                    } else {224                        finish_button.appendTo(group_left);225                    }226                }227                finish_button.on('click', function(){228                    if (typeof o.onFinish === 'function') {229                        o.onFinish(that._currentStep+1, element);230                    } else {231                        if (typeof window[o.onFinish] === 'function') {232                            window[o.onFinish](that._currentStep+1, element);233                        } else {234                            var result = eval("(function(){"+o.onFinish+"})");235                            result.call(that._currentStep+1, element);236                        }237                    }238                });239            }240        }241    },242    next: function(){243        var element = this.element, that = this, o = this.options;244        var new_step = this._currentStep + 1;245        if (new_step === this._steps.length) {return false;}246        this._currentStep = new_step;247        this._steps.hide();248        $(this._steps[new_step]).show();249        if (typeof o.onPage === 'function') {250            o.onPage(that._currentStep+1, element);251        } else {252            if (typeof window[o.onPage] === 'function') {253                window[o.onPage](that._currentStep+1, element);254            } else {255                var result = eval("(function(){"+o.onPage+"})");256                result.call(that._currentStep+1, element);257            }258        }259        if (this._stepper !== undefined) {this._stepper.stepper('stepTo', this._currentStep + 1);}260        var finish = o.finishStep === 'default' ? this._steps.length - 1 : o.finishStep;261        if (new_step === finish) {262            this.element.find('.btn-finish').attr('disabled', false);263        } else {264            this.element.find('.btn-finish').attr('disabled', true);265        }266        if (new_step === this._steps.length - 1) {267            this.element.find('.btn-next').attr('disabled', true);268        } else {269            this.element.find('.btn-next').attr('disabled', false);270        }271        if (new_step > 0) {272            this.element.find('.btn-prior').attr('disabled', false);273        }274        return true;275    },276    prior: function(){277        var element = this.element, that = this, new_step = this._currentStep - 1;278        var o = this.options;279        if (new_step < 0) {return false;}280        this._currentStep = new_step;281        this._steps.hide();282        $(this._steps[new_step]).show();283        if (typeof o.onPage === 'function') {284            o.onPage(that._currentStep+1, element);285        } else {286            if (typeof window[o.onPage] === 'function') {287                window[o.onPage](that._currentStep+1, element);288            } else {289                var result = eval("(function(){"+o.onPage+"})");290                result.call(that._currentStep+1, element);291            }292        }293        if (this._stepper !== undefined) {this._stepper.stepper('stepTo', this._currentStep + 1);}294        var finish = o.finishStep === 'default' ? this._steps.length - 1 : o.finishStep;295        if (new_step === finish) {296            this.element.find('.btn-finish').attr('disabled', false);297        } else {298            this.element.find('.btn-finish').attr('disabled', true);299        }300        if (new_step === 0) {301            this.element.find('.btn-prior').attr('disabled', true);302        } else {303            this.element.find('.btn-prior').attr('disabled', false);304        }305        if (new_step < finish) {306            this.element.find('.btn-next').attr('disabled', false);307        }308        return true;309    },310    stepTo: function(step){311        var element = this.element, that = this, new_step = step - 1;312        var o = this.options;313        if (new_step < 0) {return false;}314        this._currentStep = new_step;315        this._steps.hide();316        $(this._steps[new_step]).show();317        if (typeof o.onPage === 'function') {318            o.onPage(that._currentStep+1, element);319        } else {320            if (typeof window[o.onPage] === 'function') {321                window[o.onPage](that._currentStep+1, element);322            } else {323                var result = eval("(function(){"+o.onPage+"})");324                result.call(that._currentStep+1, element);325            }326        }327        if (this._stepper !== undefined) {this._stepper.stepper('stepTo', step);}328        var finish = (o.finishStep === 'default' ? this._steps.length - 1 : o.finishStep);329        if (new_step === finish) {330            this.element.find('.btn-finish').attr('disabled', false);331        } else {332            this.element.find('.btn-finish').attr('disabled', true);333        }334        this.element.find('.btn-next').attr('disabled', (new_step >= finish));335        this.element.find('.btn-prior').attr('disabled', (new_step <= 0));336        return true;337    },338    stepper: function(){339        return this._stepper;340    },341    _destroy: function(){342    },343    _setOption: function(key, value){344        this._super('_setOption', key, value);345    }...StepHandler.js
Source:StepHandler.js  
1import StepDirection from "./StepDirection";2class StepHandler {3  constructor({4    listSize = 0,5    currentStep = 0,6    direction = StepDirection.forward,7    cyclic = true,8  }) {9    this._direction = direction;10    this._currentStep = currentStep;11    this._listSize = listSize;12    this._cyclic = cyclic;13  }14  _walkForward() {15    if (this._currentStep < this._listSize - 1) {16      this._currentStep += 1;17    } else if (this._cyclic) {18      this._currentStep = 0;19    }20    return this._currentStep;21  }22  _walkBackwards() {23    if (this._currentStep > 0) {24      this._currentStep -= 1;25    } else if (this._cyclic) {26      this._currentStep = this._listSize - 1;27    }28    return this._currentStep;29  }30  isWalkingForward() {31    return this._direction === StepDirection.forward;32  }33  isWalkingBackwards() {34    return this._direction === StepDirection.backwards;35  }36  next() {37    if (this.isWalkingForward()) {38      return this._walkForward();39    }40    return this._walkBackwards();41  }42  switchToWalkForward() {43    this._direction = StepDirection.forward;44  }45  switchToWalkBackwards() {46    this._direction = StepDirection.backwards;47  }48  get currentStep() {49    return this._currentStep;50  }51  jumpToStep(newStep) {52    if (newStep >= 0 && newStep <= this._listSize - 1) {53      this._currentStep = newStep;54    }55    return newStep;56  }57}...Using AI Code Generation
1var wptDriver = require('wptdriver');2wptDriver._currentStep('step1');3wptDriver._currentStep('step2');4var wptDriver = require('wptdriver');5wptDriver._currentStep('step1');6wptDriver._currentStep('step2');7var wptDriver = require('wptdriver');8wptDriver._currentStep('step1');9wptDriver._currentStep('step2');10var wptDriver = require('wptdriver');11wptDriver._currentStep('step1');12wptDriver._currentStep('step2');13var wptDriver = require('wptdriver');14wptDriver._currentStep('step1');15wptDriver._currentStep('step2');16var wptDriver = require('wptdriver');17wptDriver._currentStep('step1');18wptDriver._currentStep('step2');19var wptDriver = require('wptdriver');20wptDriver._currentStep('step1');21wptDriver._currentStep('step2');22var wptDriver = require('wptdriver');23wptDriver._currentStep('step1');24wptDriver._currentStep('step2');25var wptDriver = require('wptdriver');26wptDriver._currentStep('step1');27wptDriver._currentStep('step2');28var wptDriver = require('wptdriver');29wptDriver._currentStep('step1');30wptDriver._currentStep('step2');Using AI Code Generation
1var WPT = require('wpt-api');2var wpt = new WPT('API_KEY');3  if (err) throw err;4  wpt._currentStep(data.data.testId, function(err, data) {5    if (err) throw err;6    console.log(data);7  });8});9var WPT = require('wpt-api');10var wpt = new WPT('API_KEY');11  if (err) throw err;12  wpt._testResults(data.data.testId, function(err, data) {13    if (err) throw err;14    console.log(data);15  });16});17var WPT = require('wpt-api');18var wpt = new WPT('API_KEY');19  if (err) throw err;20  wpt._testStatus(data.data.testId, function(err, data) {21    if (err) throw err;22    console.log(data);23  });24});25var WPT = require('wpt-api');26var wpt = new WPT('API_KEY');27  if (err) throw err;28  wpt._testResults(data.data.testId, function(err, data) {29    if (err) throw err;30    console.log(data);31  });32});Using AI Code Generation
1var wpt = require('wptdriver');2var wpt = require('wptdriver');3var _currentStep = 0;4wpt._currentStep = function(step) {5    if (step) {6        _currentStep = step;7    }8    return _currentStep;9};10var wpt = require('wptdriver');11var _currentStep = 0;12wpt._currentStep = function(step) {13    if (step) {14        _currentStep = step;15    }16    return _currentStep;17};18var wpt = require('wptdriver');19var wpt = require('wptdriver');20var _currentStep = 0;21wpt._currentStep = function(step) {22    if (step) {23        _currentStep = step;24    }25    return _currentStep;26};27var wpt = require('wptdriver');28var _currentStep = 0;29wpt._currentStep = function(step) {30    if (step) {31        _currentStep = step;32    }33    return _currentStep;34};35var wpt = require('wptdriver');36var wpt = require('wptdriver');37var _currentStep = 0;38wpt._currentStep = function(step) {39    if (step) {40        _currentStep = step;41    }42    return _currentStep;43};Using AI Code Generation
1function _currentStep() {2	return 2;3}4function _currentStep() {5	return 3;6}7function _currentStep() {8	return 4;9}10function _currentStep() {11	return 5;12}13function _currentStep() {14	return 6;15}16function _currentStep() {17	return 7;18}19function _currentStep() {20	return 8;21}22function _currentStep() {23	return 9;24}25function _currentStep() {26	return 10;27}28function _currentStep() {29	return 11;30}31function _currentStep() {32	return 12;33}34function _currentStep() {35	return 13;36}37function _currentStep() {38	return 14;39}40function _currentStep() {41	return 15;42}43function _currentStep() {44	return 16;45}46function _currentStep() {47	return 17;48}Using AI Code Generation
1var wpt = require('webpagetest');2var wptInstance = wpt('API_KEY');3wptInstance._currentStep('TEST_ID', function(err, data) {4    console.log(data);5});6var wpt = require('webpagetest');7var wptInstance = wpt('API_KEY');8wptInstance._getStepResult('TEST_ID', function(err, data) {9    console.log(data);10});11var wpt = require('webpagetest');12var wptInstance = wpt('API_KEY');13wptInstance._testStatus('TEST_ID', function(err, data) {14    console.log(data);15});16var wpt = require('webpagetest');17var wptInstance = wpt('API_KEY');18wptInstance._testResults('TEST_ID', function(err, data) {19    console.log(data);20});21var wpt = require('webpagetest');22var wptInstance = wpt('API_KEY');23wptInstance._testResults('TEST_ID', function(err, data) {24    console.log(data);25});26var wpt = require('webpagetest');27var wptInstance = wpt('API_KEY');28wptInstance._testResults('TEST_ID', function(err, data) {29    console.log(data);30});31var wpt = require('webpagetest');Using AI Code Generation
1var wptDriver = require('wptdriver');2var step = wptDriver._currentStep;3var url = step.url;4var label = step.label;5var result = step.result;6var run = step.run;7var stepResult = step.stepResult;8var wptDriver = require('wptdriver');9var step = wptDriver._currentStep;10var url = step.url;11var label = step.label;12var result = step.result;13var run = step.run;14var stepResult = step.stepResult;15var wptDriver = require('wptdriver');16var step = wptDriver._currentStep;17var url = step.url;18var label = step.label;19var result = step.result;20var run = step.run;21var stepResult = step.stepResult;22var wptDriver = require('wptdriver');23var step = wptDriver._currentStep;24var url = step.url;25var label = step.label;26var result = step.result;27var run = step.run;28var stepResult = step.stepResult;29var wptDriver = require('wptdriver');30var step = wptDriver._currentStep;31var url = step.url;32var label = step.label;33var result = step.result;34var run = step.run;35var stepResult = step.stepResult;36var wptDriver = require('wptdriver');37var step = wptDriver._currentStep;38var url = step.url;39var label = step.label;40var result = step.result;41var run = step.run;42var stepResult = step.stepResult;43var wptDriver = require('wptdriver');44var step = wptDriver._currentStep;45var url = step.url;46var label = step.label;47var result = step.result;48var run = step.run;49var stepResult = step.stepResult;50var wptDriver = require('wptdriver');51var step = wptDriver._currentStep;52var url = step.url;53var label = step.label;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!!
