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('./Home
Using 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 is
Using 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!!