Best JavaScript code snippet using best
graph.js
Source:graph.js  
1/*2 * Licensed under the Apache License, Version 2.0 (the "License");3 * you may not use this file except in compliance with the License.4 * You may obtain a copy of the License at5 *6 *     http://www.apache.org/licenses/LICENSE-2.07 *8 * Unless required by applicable law or agreed to in writing, software9 * distributed under the License is distributed on an "AS IS" BASIS,10 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.11 * See the License for the specific language governing permissions and12 * limitations under the License.13 **/14require.config({15    paths: {16        "jquery": "https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min",17        "ZoomdataSDK": "https://sdk.zoomdata.com:8443/zoomdata/sdk/zoomdata-client.min",18        "jQueryConfirm": "https://cdnjs.cloudflare.com/ajax/libs/jquery-confirm/2.5.1/jquery-confirm.min",19        "lodash":"https://cdn.jsdelivr.net/lodash/4.14.1/lodash.min",20        "bootstrap": "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min"21    },22   shim:{23       "jQueryConfirm":{24           deps:["jquery"]25       },26       "bootstrap":{27           deps:["jquery"]28       }29   }30});31require(["ZoomdataSDK", "jquery","jQueryConfirm", "lodash", "bootstrap"], function(ZoomdataSDK, jquery, jQueryConfirm, lodash, bootstrap) {32    //Functions33    __FUNCTIONS__34    //Initial variables declaration35    __VARIABLES__36    //Main selectors37    var dimensionSelect = ""38    var trendSelect = ""39    var metricSelect = ""40    //The label for the volume may change41    var volumeLabel= "Count"42    //Operation for Metric selectors43    funcs = ["Sum","Avg","Min","Max"]44    var funcOpt = ""45    for(op in funcs){46        funcOpt += buildHTML("option", funcs[op], {value: funcs[op].toLowerCase()})47    }48    var funcSelect = buildHTML("select", funcOpt, {id: "func", class:"pickers"})49    //Sort direction selector50    sortOpt = buildHTML("option", "ASC", {value: "asc"})51    sortOpt += buildHTML("option", "DESC", {value: "desc"})52    var sortSelect = buildHTML("select", sortOpt , {id: "sort", class:"pickers"})53    //Chronological and reverse chronological order  for time attributes (trend charts)54    cronOpt= buildHTML("option", "Chronological", {value: "asc"})55    cronOpt += buildHTML("option", "Reverse chronological", {value: "desc"})56    var cronSelect = buildHTML("select", cronOpt , {id: "sort", class:"pickers"})57    //Bars settings for histogram chart58    barsOpt = buildHTML("option", "Auto", {value: "histogram"})59    barsOpt += buildHTML("option", "Limit to", {value: "histogram_by_count"})60    barsOpt += buildHTML("option", "Interval", {value: "histogram_by_size"})61    var barsSelect  = buildHTML("select", barsOpt, {id: "func", class:"pickers"})62    //Unit time selector63    granularities= ["MINUTE","HOUR","DAY","WEEK","MONTH","YEAR"]64    var timeOpt = ""65    for(g in granularities){66        timeOpt += buildHTML("option", granularities[g], {value:granularities[g]})67    }68    timeSelect = buildHTML("select", timeOpt , {id: "time", class:"pickers"})69    //This is to validate correct pickers field names/labels specified by the user in graph()70    var metricFields = {fields:[], labels:[], types:[]}71    var dimensionFields = {fields:[], labels:[], types:[]}72    var fusionFields = false73    //Start the visualization74    ZoomdataSDK.createClient({75        "credentials": v_credentials,76        "application": {77            "port": v_conf["port"],78            "path": v_conf["path"],79            "host": v_conf["host"],80            "secure": v_conf["secure"]81        }82    }).then(function(client) {83        window.client = client;84        return (client)85    }).then(function(client) {86        console.log("Requesting visualization...");87        client.visualize({88            "source": {89                "name": v_source90            },91            "visualization": v_chart,92            "config": {93                "filters": v_filters,94                "time": v_time,95                "tz": "UTC"96            },97            "variables": v_vars,98            "element": v_divLocation99        }).done(function(result) {100            window.viz = result;101            console.log("Result",result);102            //Set the colors if specified103            for(acc in v_colors){104                window.viz.dataAccessors[acc].setColorSet(v_colors[acc])105            }106            //Get the correct label for the volume107            volumeLabel = window.viz.source.volumeMetric.label108            //Fill and create the selectors with the source fields109            var dimOpt = buildHTML("option","Select attribute", {value:""})110            var metOpt = buildHTML("option","Select metric", {value:""})111                metOpt += buildHTML("option", volumeLabel, {value:"count"})112            var trendOpt = buildHTML("option","Select attribute ", {value:""})113            //Check for fusion sources and get the fused attributes114            fusedAttrs = window.viz.source.fusedAttributes115            if(fusedAttrs){116                forms = function(c){117                    fields = _.map(c.forms, "form")118                    labels = _.map(c.forms, "label")119                    return {name:c.name, label: c.label, fields: fields, labels: labels}120                }121                fusionFields = _.map(fusedAttrs, forms)122                //Add the fusion fields to the picker 123                _.map(fusionFields,function(f){124                    for(i in f.fields){125                        dimOpt += buildHTML("option", f.label+":"+f.labels[i], {value: f.fields[i]})126                    }127                })128            }129            var multiMetricTable = []130            checkbox = buildHTML("input", "", {value: "count", type:"checkbox", id: "count", name:"multi-metrics"})131            label = buildHTML("label", volumeLabel, {for: "count"})132            hidden = buildHTML("input", "", {data: "count", type:"hidden"}) //This is a hack for the setPickers function133            multiMetricTable.push([checkbox, label, hidden])134            $.each(window.viz.source.objectFields, function() {135                if (this.visible) {136                    if (this.type == "NUMBER" || this.type == "MONEY" || this.type == "INTEGER") {137                        //Save the metric field and label138                        metricFields.fields.push(this.name)139                        metricFields.labels.push(this.label)140                        metricFields.types.push(this.type)141                        //Create the select142                        metOpt += buildHTML("option", this.label, {value: this.name})143                        //Multiple-metrics144                        checkbox = buildHTML("input", "", {value: this.name, type:"checkbox", id: this.name, name:"multi-metrics"})145                        label = buildHTML("label", this.label, {for: this.name})146                        funcSel = buildHTML("select", funcOpt, { id: this.name, class: "pickers" })147                        multiMetricTable.push([checkbox, label, funcSel])148                    } 149                    else if (this.type == "ATTRIBUTE") {150                        dimensionFields.fields.push(this.name)151                        dimensionFields.labels.push(this.label)152                        dimensionFields.types.push(this.type)153                        dimOpt += buildHTML("option", this.label, {value: this.name})154                    }155                    else if (this.type == "TIME") {156                        dimensionFields.fields.push(this.name)157                        dimensionFields.labels.push(this.label)158                        dimensionFields.types.push(this.type)159                        trendOpt += buildHTML("option", this.label, {value: this.name})160                    }161                }162            });163            dimensionSelect = buildHTML("select", dimOpt, {id: "dimension", class:"pickers"})164            trendSelect  = buildHTML("select", trendOpt, {id: "dimension", class:"pickers"})165            metricSelect = buildHTML("select", metOpt, {id: "metric", class:"pickers"})166            multiMetric = buildHTML("div", makeTable(multiMetricTable, {class:"multi"}), { id: "multimetric", class:"multimetric" })167            //Load the values that comes from the visualization definition168            v_pickersValues = loadDefinitionPickers() 169            //Set the pickers specified by the user (if any) in graph()170            if(v_defPicker) loadUserPickers()171            console.log("Pickers",v_pickersValues)172            173            //Set the dimension & metric pickers buttons in the DOM174            if (v_showPickers) { //If the user wants to see the pickers175                pickers = ""176                for (acc in v_pickersValues) {177                    id = acc.toLowerCase().replace(/ /g, "-")178                    text = acc179                    vals = v_pickersValues[acc]180                    if (vals.type == "ATTRIBUTE" || vals.type == "TIME") {181                        label = dimensionFields.labels[dimensionFields.fields.indexOf(vals.name)]182                        //If no attr label found is a fusion source183                        if(label == undefined) label = getFusionLabel(vals.form)184                        text = acc + ": <b>" + label + "</b>"185                        if (vals.func != null && !v_isHistogram) text += "<b> (" + vals.func + ")</b>"186                        pickers += "<button id=\"" + id + "\" class=\"btn-dimension btnp\" data-name=\"" + acc + "\">" + text + "</button>"187                        pickers += " "188                    } else {189                        label = (vals.name == "count") ? volumeLabel : metricFields.labels[metricFields.fields.indexOf(vals.name)]190                        if (!v_isHistogram){191                            if (vals.length == undefined) {192                                text = acc + ": <b>" + label + "</b>"193                                if (vals.func != null) text += "<b> (" + vals.func + ")</b>"194                                pickers += "<button id=\"" + id + "\" class=\"btn-metric btnp\" data-name=\"" + acc + "\">" + text + "</button>"195                                pickers += " "196                            } else { //A multi-metric chart197                                if (acc.indexOf("Color") == -1) { //Do not show Bar Color metric for Bars: Multiple Metrics198                                    text = acc + ": <b> (" + vals.length.toString() + " selected)</b>"199                                    if (vals.func != null) text += "<b> (" + vals.func + ")</b>"200                                    pickers += "<button id=\"" + id + "\" class=\"btn-multi-metric btnp\" data-name=\"" + acc + "\">" + text + "</button>"201                                    pickers += " "202                                }203                            }204                        }205                        else{ //A histogram bar206                                label = metricFields.labels[metricFields.fields.indexOf(vals.name)]207                                text = "Histogram: <b>" + label + "</b>"208                                pickers += "<button id=\"" + id + "\" class=\"btn-histogram btnp\" data-name=\"" + acc + "\">" + text + "</button>"209                                pickers += " "210                        }211                    }212                }213                $("div#pickers").html(pickers)214            }215            //Remove the loading message216            $("#load-message").html("");217        }); //done 218    }); //then219    //Pickers handlers220    __PICKERS__...gulpfile.js
Source:gulpfile.js  
1'use strict';2global.$ = {3    gulp: require('gulp'),4    //gulp-load-plugins init5    gp: require('gulp-load-plugins') ({6        //need to work plugin - "del"7        pattern: ['*', '!gulp'],8        //need to work all this plugin9        rename: {10            'gulp-remove-html': 'gulpRemoveHtml',11            'gulp-group-css-media-queries': 'gcmq',12            'vinyl-ftp': 'ftp',13            'browser-sync': 'browserSync',14            'imagemin-pngquant': 'pngquant',15            'gulp-html-prettify': 'htmlbeautify',16            'gulp-tinypng-nokey': 'tingpng',17            'babel':'gulp-babel',18            'eslint':'gulp-eslint'19        },20    }),21    config: {22        configInit: require('./gulp-task/config/config.js'),23    },24    pathObject: {25        pathVar: require('./gulp-task/config/path-var.js'),26    },27    passObject: {28        passVar: require('./pass.js'),29    },30};31//CYCLE for all tasks32$.config.configInit.forEach(function (taskPath) {33    require(taskPath)();34});35//----------#BUILD FOLDER36//build task build folder TASK ---- gulp build37$.gulp.task('build', [38    'html:build',39    //'pug:build',40    'pageList:build',41    'js:build',42    'jsPages:build',43    'inline-configs:build',44    'load-configs:build',45    'load-config-shorthands:build',46    'cssPages:build',47    'css:build',48    'fonts:build',49    'vendors:build',50    'image:build',51    'images:build',52], () => {53	console.log('All tasks completed successfully.');54});55//task to all task build folder TASK ---- gulp56$.gulp.task('default', ['clean'], function () {57    $.gulp.start('build', 'jsLibs:build', 'watch', 'webserver');58});59//----------#HTML FOLDER60//build task html folder TASK ---- gulp buildHtml61$.gulp.task('buildHtml', [62    'html:buildHtml',63    //'pug:buildHtml',64    'pageList:buildHtml',65    'jsPages:buildHtml',66    'js:buildHtml',67    'inline-configs:buildHtml',68    'load-configs:buildHtml',69    'load-config-shorthands:buildHtml',70    'cssPages:buildHtml',71    'css:buildHtml',72    'fonts:buildHtml',73    'vendors:buildHtml',74    'image:buildHtml',75    'images:buildHtml',76], () => {77	console.log('All tasks completed successfully.');78});79//task to all task html folder TASK ---- gulp html80$.gulp.task('html', ['cleanHtml', 'sprite'], function () {81    $.gulp.start('cleancache', 'buildHtml', 'jsLibs:buildHtml', 'webserverHtml');82});...Using AI Code Generation
1var BestBuy = require('./BestBuy.js');2var bb = new BestBuy();3bb.buildHtml();4var Walmart = require('./Walmart.js');5var wm = new Walmart();6wm.buildHtml();7var Target = require('./Target.js');8var tg = new Target();9tg.buildHtml();10var Amazon = require('./Amazon.js');11var am = new Amazon();12am.buildHtml();13var Ebay = require('./Ebay.js');14var eb = new Ebay();15eb.buildHtml();16var Newegg = require('./Newegg.js');17var ne = new Newegg();18ne.buildHtml();19var Staples = require('./Staples.js');20var sp = new Staples();21sp.buildHtml();22var OfficeDepot = require('./OfficeDepot.js');23var od = new OfficeDepot();24od.buildHtml();25var OfficeMax = require('./OfficeMax.js');26var om = new OfficeMax();27om.buildHtml();28var Costco = require('./Costco.js');29var cs = new Costco();30cs.buildHtml();31var Kohls = require('./Kohls.js');32var kl = new Kohls();33kl.buildHtml();34var Sears = require('./Sears.js');35var sr = new Sears();36sr.buildHtml();37var Macys = require('./Macys.js');38var mc = new Macys();39mc.buildHtml();40var JcPenney = require('./JcPenney.js');41var jp = new JcPenney();42jp.buildHtml();43var Nordstrom = require('./Nordstrom.js');44var nr = new Nordstrom();45nr.buildHtml();46var HomeDepot = require('./HomeUsing AI Code Generation
1var BestBuy = require('./BestBuy.js');2var bestBuy = new BestBuy();3var html = bestBuy.buildHtml();4console.log(html);5var BestBuy = function() {6    this.buildHtml = function() {7        return 'html';8    }9}10module.exports = BestBuy;11    module.exports = BestBuy;12    module.exports = BestBuy;13    module.exports = new BestBuy();14    module.exports = BestBuy;Using AI Code Generation
1var BestBuy = require("./bestbuy");2var bestBuy = new BestBuy();3bestBuy.buildHtml();4var fs = require('fs');5var BestBuy = function () {6};7BestBuy.prototype.buildHtml = function () {8    var html = "<html><body>Test</body></html>";9    fs.writeFile("test.html", html, function (err) {10        if (err) {11            return console.log(err);12        }13        console.log("The file was saved!");14    });15};16You should use the require() function to load the module, not the new operator. That is, you should change the code in test.js to this:17var BestBuy = require("./bestbuy");18var bestBuy = new BestBuy();19bestBuy.buildHtml();Using AI Code Generation
1var bestBuy = new BestBuy();2var products = bestBuy.getProducts();3var html = bestBuy.buildHtml(products);4console.log(html);5var bestBuy = new BestBuy();6var products = bestBuy.getProducts();7var html = bestBuy.buildHtml(products);8console.log(html);Using AI Code Generation
1var BestBuy = require('./bestbuy.js');2var bb = new BestBuy();3var html = bb.buildHtml();4console.log(html);5function BestBuy() {6    this.name = 'Best Buy';7}8BestBuy.prototype.buildHtml = function() {9    return '<a href="' + this.url + '">' + this.name + '</a>';10};11module.exports = BestBuy;12The require function is used to import modules into a Node.js application. The module.exports property isUsing AI Code Generation
1var BestBuyApi = require('./bestBuyApi');2var HtmlBuilder = require('./htmlBuilder');3var bestBuyApi = new BestBuyApi();4var htmlBuilder = new HtmlBuilder();5var products = bestBuyApi.getProducts();6var html = htmlBuilder.buildHtml(products);7console.log(html);8var BestBuyApi = function() {9  this.getProducts = function() {10    return products;11  }12};13module.exports = BestBuyApi;14var HtmlBuilder = function() {15  this.buildHtml = function(products) {16    return html;17  }18};19module.exports = HtmlBuilder;20var BestBuyApi = require('./bestBuyApi');21var HtmlBuilder = require('./htmlBuilder');22var bestBuyApi = new BestBuyApi();23var htmlBuilder = new HtmlBuilder();24var products = bestBuyApi.getProducts();25var html = htmlBuilder.buildHtml(products);26console.log(html);27var BestBuyApi = function() {28  this.getProducts = function() {29    return products;30  }31};32module.exports = BestBuyApi;33var HtmlBuilder = function() {34  this.buildHtml = function(products) {35    return html;36  }37};38module.exports = HtmlBuilder;39var BestBuyApi = require('./bestBuyApi');40var HtmlBuilder = require('./htmlBuilder');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!!
