How to use copy method in Cypress

Best JavaScript code snippet using cypress

CollisionHelper.js

Source:CollisionHelper.js Github

copy

Full Screen

...33			gravityFactor: 0,34		};3536		return function(oldPos, newPos, gravityFactor, ellipsoid, triangleIterator, stopOnFirstHit, horizontalOnly) {37			p.ellipsoidSpace.copy(ellipsoid);38			p.worldPosition.copy(oldPos);39			p.worldVelocity.subVectors(newPos, oldPos);4041			p.foundCollision = false;42			p.nearestDistance = 0;43			p.collisionRecursionDepth = 0;44			p.stopOnFirstHit = stopOnFirstHit;45			p.gravityFactor = gravityFactor;4647			var result = this.collisionSlide(p, triangleIterator);48			newPos.copy(result.pos);4950			return result;51		}52	}(),5354	collisionSlide: function(p, triangleIterator) {55		p.lspVelocity.copy(p.worldVelocity).divide(p.ellipsoidSpace);56		p.lspPosition.copy(p.worldPosition).divide(p.ellipsoidSpace);57		var oldY = p.lspPosition.y;5859		p.collisionRecursionDepth = 0;60		var finalPosition = this.collideWithWorld(p, triangleIterator);61		var climbing = (oldY < finalPosition.y);6263		if (p.gravityFactor !== 0 && !climbing && !p.horizontalOnly) {64			p.lspVelocity.copy(this.gravity);65			p.lspVelocity.y *= p.gravityFactor;66			p.lspVelocity.divide(p.ellipsoidSpace);67			p.lspPosition.copy(finalPosition);68			p.collisionRecursionDepth = 0;69			finalPosition = this.collideWithWorld(p, triangleIterator);70		}7172		finalPosition.multiply(p.ellipsoidSpace);7374		if (p.horizontalOnly) {75			finalPosition.y = p.originalHeight;76		}7778		var result = { 79			pos: finalPosition,80			climbing: climbing,81			foundCollision: p.foundCollision,82			gridObject: p.gridObject,83			normal: p.normal,84		};8586		return result;87	},8889	collideWithWorld: function() {90		var normal = new THREE.Vector3();91		var aux = new THREE.Vector3();92		var result = new THREE.Vector3();93		var destinationPoint = new THREE.Vector3();94		var newPosition = new THREE.Vector3();95		var slidePlaneOrigin = new THREE.Vector3();96		var slidePlaneNormal = new THREE.Vector3();97		var newDestinationPoint = new THREE.Vector3();98		var newVelocityVector = new THREE.Vector3();99		var v0 = new THREE.Vector3();100		var v1 = new THREE.Vector3();101		var v2 = new THREE.Vector3();102103		return function(p, triangleIterator) {104			var that = this;105106			var unitScale = this.unitsPerMeter / 100;107			var veryCloseDistance = 0.005 * unitScale;108109			if (p.collisionRecursionDepth > 5) {110				return p.lspPosition;111			}112113			p.lspNormalizedVelocity.copy(p.lspVelocity).normalize();114115			p.foundCollision = false;116			p.nearestDistance = 0;117118			triangleIterator(function(gridObject, t0, t1, t2, triangleOffset) {119				GAME.grid.totalSphereTriangleChecks++;120				121				v0.copy(t0).divide(p.ellipsoidSpace);122				v1.copy(t1).divide(p.ellipsoidSpace);123				v2.copy(t2).divide(p.ellipsoidSpace);124125				aux.subVectors(v2, v0);126				normal.copy(v1).sub(v0).cross(aux).normalize();127128				that.sphereCollidingWithTriangle(gridObject, p, v0, v1, v2, normal);129			});130131			if (!p.foundCollision) {132				result.copy(p.lspPosition).add(p.lspVelocity);133				return result;134			}135136			destinationPoint.copy(p.lspPosition).add(p.lspVelocity);137			newPosition.copy(p.lspPosition);138139			if (p.nearestDistance >= veryCloseDistance) {140				aux.copy(p.lspVelocity).normalize();141				aux.multiplyScalar(p.nearestDistance - veryCloseDistance);142				newPosition.copy(p.lspPosition).add(aux);143144				aux.normalize().multiplyScalar(veryCloseDistance);145				p.intersectionPoint.sub(aux);146			}147148			if (!p.stopOnFirstHit) {149				slidePlaneOrigin.copy(p.intersectionPoint);150				slidePlaneNormal.copy(newPosition).sub(p.intersectionPoint).normalize();151152				var x = slidePlaneOrigin.x;153				var y = slidePlaneOrigin.y;154				var z = slidePlaneOrigin.z;155156				var A = slidePlaneNormal.x;157				var B = slidePlaneNormal.y;158				var C = slidePlaneNormal.z;159				var D = -((A * x) + (B * y) + (C * z));160161				var planeConstant = D;162163				var signedDistFromDestPointToSlidingPlane = slidePlaneNormal.dot(destinationPoint) + planeConstant;164165				aux.copy(slidePlaneNormal).multiplyScalar(signedDistFromDestPointToSlidingPlane);166				newDestinationPoint.copy(destinationPoint).sub(aux);167				newVelocityVector.copy(newDestinationPoint).sub(p.intersectionPoint);168169				if (newVelocityVector.length() < veryCloseDistance) {170					return newPosition;171				}172173				p.collisionRecursionDepth++;174				p.lspPosition.copy(newPosition);175				p.lspVelocity.copy(newVelocityVector);176177				return this.collideWithWorld(p, triangleIterator);178			} else {179				p.lspPosition.copy(newPosition);180				return p.lspPosition;181			}182		}183	}(),184185	sphereCollidingWithTriangle: function() {186		var velocity = new THREE.Vector3();187		var position = new THREE.Vector3();188		var aux = new THREE.Vector3();189		var planeIntersectionPoint = new THREE.Vector3();190		var collisionPoint = new THREE.Vector3();191		var edge = new THREE.Vector3();192		var spherePositionToVertex = new THREE.Vector3();193194		return function(gridObject, p, v0, v1, v2, normal) {195			var facing = normal.dot(p.lspNormalizedVelocity);			196			if (facing <= 0) {197				velocity.copy(p.lspVelocity);198				position.copy(p.lspPosition);199200				var t0, t1;201				var sphereInPlane = false;202203				var A = normal.x;204				var B = normal.y;205				var C = normal.z;206				var D = -((A * v0.x) + (B * v0.y) + (C * v0.z));207208				var planeConstant = D;209210				var signedDistFromPositionToTriPlane = position.dot(normal) + planeConstant;211				var planeNormalDotVelocity = normal.dot(velocity);212213				if (planeNormalDotVelocity === 0) {214					if (Math.abs(signedDistFromPositionToTriPlane) >= 1) {215						return false;216					} else {217						sphereInPlane = true;218					}219				} else {220					t0 = (1 - signedDistFromPositionToTriPlane) / planeNormalDotVelocity;221					t1 = (-1 - signedDistFromPositionToTriPlane) / planeNormalDotVelocity;222223					if (t0 > t1) {224						var temp = t0;225						t0 = t1;226						t1 = temp;227					}228229					if (t0 > 1 || t1 < 0) {230						return false;231					}232233					if (t0 < 0) {234						t0 = 0;235					}236					if (t1 > 1) {237						t1 = 1;238					}239				}240241				var collidingWithTri = false;242				var t = 1;243244				if (!sphereInPlane) {245					aux.copy(velocity).multiplyScalar(t0);246					planeIntersectionPoint.copy(position).add(aux).sub(normal);247248					if (this.checkPointInTriangle(planeIntersectionPoint, v0, v1, v2)) {249						collidingWithTri = true;250						t = t0;251						collisionPoint.copy(planeIntersectionPoint);252					}253				}254255				if (!collidingWithTri) {256					var a, b, c;257					var velocityLengthSquared = velocity.lengthSq();258					a = velocityLengthSquared;259					var result = {};260261					aux.copy(position).sub(v0);262					b = 2 * velocity.dot(aux);263					aux.copy(v0).sub(position);264					c = aux.length();265					c = c * c - 1;266					if (this.getLowestRoot(a, b, c, t, result)) {267						t = result.root;268						collidingWithTri = true;269						collisionPoint.copy(v0);270					}271272					aux.copy(position).sub(v1);273					b = 2 * velocity.dot(aux);274					aux.copy(v1).sub(position);275					c = aux.length();276					c = c * c - 1;277					if (this.getLowestRoot(a, b, c, t, result)) {278						t = result.root;279						collidingWithTri = true;280						collisionPoint.copy(v1);281					}282283					aux.copy(position).sub(v2);284					b = 2 * velocity.dot(aux);285					aux.copy(v2).sub(position);286					c = aux.length();287					c = c * c - 1;288					if (this.getLowestRoot(a, b, c, t, result)) {289						t = result.root;290						collidingWithTri = true;291						collisionPoint.copy(v2);292					}293294					edge.copy(v1).sub(v0);295					spherePositionToVertex.copy(v0).sub(position);296					var edgeLengthSquared = edge.lengthSq();297					var edgeDotVelocity = edge.dot(velocity);298					var edgeDotSpherePositionToVertex = edge.dot(spherePositionToVertex);299					var spherePositionToVertexLengthSquared = spherePositionToVertex.lengthSq();300301					a = edgeLengthSquared * -velocityLengthSquared + (edgeDotVelocity * edgeDotVelocity);302					b = edgeLengthSquared * 2 * velocity.dot(spherePositionToVertex) - 2 * edgeDotVelocity * edgeDotSpherePositionToVertex;303					c = edgeLengthSquared * (1 - spherePositionToVertexLengthSquared) + 304						(edgeDotSpherePositionToVertex * edgeDotSpherePositionToVertex);305306					if (this.getLowestRoot(a, b, c, t, result)) {307						var f = (edgeDotVelocity * result.root - edgeDotSpherePositionToVertex) / edgeLengthSquared;308						if (f >= 0 && f <= 1) {309							t = result.root;310							collidingWithTri = true;311							edge.multiplyScalar(f);312							collisionPoint.copy(v0).add(edge);313						}314					}315316					edge.copy(v2).sub(v1);317					spherePositionToVertex.copy(v1).sub(position);318					edgeLengthSquared = edge.lengthSq();319					edgeDotVelocity = edge.dot(velocity);320					edgeDotSpherePositionToVertex = edge.dot(spherePositionToVertex);321					spherePositionToVertexLengthSquared = spherePositionToVertex.lengthSq();322323					a = edgeLengthSquared * -velocityLengthSquared + (edgeDotVelocity * edgeDotVelocity);324					b = edgeLengthSquared * 2 * velocity.dot(spherePositionToVertex) - 2 * edgeDotVelocity * edgeDotSpherePositionToVertex;325					c = edgeLengthSquared * (1 - spherePositionToVertexLengthSquared) + 326						(edgeDotSpherePositionToVertex * edgeDotSpherePositionToVertex);327328					if (this.getLowestRoot(a, b, c, t, result)) {329						var f = (edgeDotVelocity * result.root - edgeDotSpherePositionToVertex) / edgeLengthSquared;330						if (f >= 0 && f <= 1) {331							t = result.root;332							collidingWithTri = true;333							edge.multiplyScalar(f);334							collisionPoint.copy(v1).add(edge);335						}336					}337338					edge.copy(v0).sub(v2);339					spherePositionToVertex.copy(v2).sub(position);340					edgeLengthSquared = edge.lengthSq();341					edgeDotVelocity = edge.dot(velocity);342					edgeDotSpherePositionToVertex = edge.dot(spherePositionToVertex);343					spherePositionToVertexLengthSquared = spherePositionToVertex.lengthSq();344345					a = edgeLengthSquared * -velocityLengthSquared + (edgeDotVelocity * edgeDotVelocity);346					b = edgeLengthSquared * 2 * velocity.dot(spherePositionToVertex) - 2 * edgeDotVelocity * edgeDotSpherePositionToVertex;347					c = edgeLengthSquared * (1 - spherePositionToVertexLengthSquared) + 348						(edgeDotSpherePositionToVertex * edgeDotSpherePositionToVertex);349350					if (this.getLowestRoot(a, b, c, t, result)) {351						var f = (edgeDotVelocity * result.root - edgeDotSpherePositionToVertex) / edgeLengthSquared;352						if (f >= 0 && f <= 1) {353							t = result.root;354							collidingWithTri = true;355							edge.multiplyScalar(f);356							collisionPoint.copy(v2).add(edge);357						}358					}359				}360361				if (collidingWithTri) {362					var distToCollision = t * velocity.length();363					if (!p.foundCollision || distToCollision < p.nearestDistance) {364						p.nearestDistance = distToCollision;365						p.intersectionPoint.copy(collisionPoint);366						p.foundCollision = true;367						p.normal.copy(normal);368						p.gridObject = gridObject;369370						return true;371					}372				}373			}374375			return false;376		}377	}(),378379	checkPointInTriangle: function() {380		var cp1 = new THREE.Vector3();381		var cp2 = new THREE.Vector3();382		var aux = new THREE.Vector3();383		var aux2 = new THREE.Vector3();384385		return function(point, v1, v2, v3) {386			aux.copy(v3).sub(v2);387			aux2.copy(point).sub(v2);388			cp1.crossVectors(aux, aux2);389390			aux.copy(v3).sub(v2);391			aux2.copy(v1).sub(v2);392			cp2.crossVectors(aux, aux2);393394			if (cp1.dot(cp2) >= 0) {395				aux.copy(v3).sub(v1);396				aux2.copy(point).sub(v1);397				cp1.crossVectors(aux, aux2);398399				aux.copy(v3).sub(v1);400				aux2.copy(v2).sub(v1);401				cp2.crossVectors(aux, aux2);402403				if (cp1.dot(cp2) >= 0) {404					aux.copy(v2).sub(v1);405					aux2.copy(point).sub(v1);406					cp1.crossVectors(aux, aux2);407408					aux.copy(v2).sub(v1);409					aux2.copy(v3).sub(v1);410					cp2.crossVectors(aux, aux2);411412					if (cp1.dot(cp2) >= 0) {413						return true;414					}415				}416			}417		}418	}(),419420	getLowestRoot: function(a, b, c, maxR, result) {421		var determinant = b * b - 4 * a * c;422		if (determinant < 0) {423			return false;
...

Full Screen

Full Screen

Manager.js

Source:Manager.js Github

copy

Full Screen

1define([2	"../_base/array",  "../_base/declare", "../_base/lang", "../_base/window",3	"../dom-class", "../Evented", "../has", "../keys", "../on", "../topic", "../touch",4	"./common", "./autoscroll", "./Avatar"5], function(array, declare, lang, win, domClass, Evented, has, keys, on, topic, touch,6	dnd, autoscroll, Avatar){7// module:8//		dojo/dnd/Manager9var Manager = declare("dojo.dnd.Manager", [Evented], {10	// summary:11	//		the manager of DnD operations (usually a singleton)12	constructor: function(){13		this.avatar  = null;14		this.source = null;15		this.nodes = [];16		this.copy  = true;17		this.target = null;18		this.canDropFlag = false;19		this.events = [];20	},21	// avatar's offset from the mouse22	OFFSET_X: has("touch") ? 0 : 16,23	OFFSET_Y: has("touch") ? -64 : 16,24	// methods25	overSource: function(source){26		// summary:27		//		called when a source detected a mouse-over condition28		// source: Object29		//		the reporter30		if(this.avatar){31			this.target = (source && source.targetState != "Disabled") ? source : null;32			this.canDropFlag = Boolean(this.target);33			this.avatar.update();34		}35		topic.publish("/dnd/source/over", source);36	},37	outSource: function(source){38		// summary:39		//		called when a source detected a mouse-out condition40		// source: Object41		//		the reporter42		if(this.avatar){43			if(this.target == source){44				this.target = null;45				this.canDropFlag = false;46				this.avatar.update();47				topic.publish("/dnd/source/over", null);48			}49		}else{50			topic.publish("/dnd/source/over", null);51		}52	},53	startDrag: function(source, nodes, copy){54		// summary:55		//		called to initiate the DnD operation56		// source: Object57		//		the source which provides items58		// nodes: Array59		//		the list of transferred items60		// copy: Boolean61		//		copy items, if true, move items otherwise62		// Tell autoscroll that a drag is starting63		autoscroll.autoScrollStart(win.doc);64		this.source = source;65		this.nodes  = nodes;66		this.copy   = Boolean(copy); // normalizing to true boolean67		this.avatar = this.makeAvatar();68		win.body().appendChild(this.avatar.node);69		topic.publish("/dnd/start", source, nodes, this.copy);70		function stopEvent(e){71			e.preventDefault();72			e.stopPropagation();73		}74		this.events = [75			on(win.doc, touch.move, lang.hitch(this, "onMouseMove")),76			on(win.doc, touch.release,   lang.hitch(this, "onMouseUp")),77			on(win.doc, "keydown",   lang.hitch(this, "onKeyDown")),78			on(win.doc, "keyup",     lang.hitch(this, "onKeyUp")),79			// cancel text selection and text dragging80			on(win.doc, "dragstart",   stopEvent),81			on(win.body(), "selectstart", stopEvent)82		];83		var c = "dojoDnd" + (copy ? "Copy" : "Move");84		domClass.add(win.body(), c);85	},86	canDrop: function(flag){87		// summary:88		//		called to notify if the current target can accept items89		var canDropFlag = Boolean(this.target && flag);90		if(this.canDropFlag != canDropFlag){91			this.canDropFlag = canDropFlag;92			this.avatar.update();93		}94	},95	stopDrag: function(){96		// summary:97		//		stop the DnD in progress98		domClass.remove(win.body(), ["dojoDndCopy", "dojoDndMove"]);99		array.forEach(this.events, function(handle){ handle.remove(); });100		this.events = [];101		this.avatar.destroy();102		this.avatar = null;103		this.source = this.target = null;104		this.nodes = [];105	},106	makeAvatar: function(){107		// summary:108		//		makes the avatar; it is separate to be overwritten dynamically, if needed109		return new Avatar(this);110	},111	updateAvatar: function(){112		// summary:113		//		updates the avatar; it is separate to be overwritten dynamically, if needed114		this.avatar.update();115	},116	// mouse event processors117	onMouseMove: function(e){118		// summary:119		//		event processor for onmousemove120		// e: Event121		//		mouse event122		var a = this.avatar;123		if(a){124			autoscroll.autoScrollNodes(e);125			//autoscroll.autoScroll(e);126			var s = a.node.style;127			s.left = (e.pageX + this.OFFSET_X) + "px";128			s.top  = (e.pageY + this.OFFSET_Y) + "px";129			var copy = Boolean(this.source.copyState(dnd.getCopyKeyState(e)));130			if(this.copy != copy){131				this._setCopyStatus(copy);132			}133		}134		if(has("touch")){135			// Prevent page from scrolling so that user can drag instead.136			e.preventDefault();137		}138	},139	onMouseUp: function(e){140		// summary:141		//		event processor for onmouseup142		// e: Event143		//		mouse event144		if(this.avatar){145			if(this.target && this.canDropFlag){146				var copy = Boolean(this.source.copyState(dnd.getCopyKeyState(e)));147				topic.publish("/dnd/drop/before", this.source, this.nodes, copy, this.target, e);148				topic.publish("/dnd/drop", this.source, this.nodes, copy, this.target, e);149			}else{150				topic.publish("/dnd/cancel");151			}152			this.stopDrag();153		}154	},155	// keyboard event processors156	onKeyDown: function(e){157		// summary:158		//		event processor for onkeydown:159		//		watching for CTRL for copy/move status, watching for ESCAPE to cancel the drag160		// e: Event161		//		keyboard event162		if(this.avatar){163			switch(e.keyCode){164				case keys.CTRL:165					var copy = Boolean(this.source.copyState(true));166					if(this.copy != copy){167						this._setCopyStatus(copy);168					}169					break;170				case keys.ESCAPE:171					topic.publish("/dnd/cancel");172					this.stopDrag();173					break;174			}175		}176	},177	onKeyUp: function(e){178		// summary:179		//		event processor for onkeyup, watching for CTRL for copy/move status180		// e: Event181		//		keyboard event182		if(this.avatar && e.keyCode == keys.CTRL){183			var copy = Boolean(this.source.copyState(false));184			if(this.copy != copy){185				this._setCopyStatus(copy);186			}187		}188	},189	// utilities190	_setCopyStatus: function(copy){191		// summary:192		//		changes the copy status193		// copy: Boolean194		//		the copy status195		this.copy = copy;196		this.source._markDndStatus(this.copy);197		this.updateAvatar();198		domClass.replace(win.body(),199			"dojoDnd" + (this.copy ? "Copy" : "Move"),200			"dojoDnd" + (this.copy ? "Move" : "Copy"));201	}202});203// dnd._manager:204//		The manager singleton variable. Can be overwritten if needed.205dnd._manager = null;206Manager.manager = dnd.manager = function(){207	// summary:208	//		Returns the current DnD manager.  Creates one if it is not created yet.209	if(!dnd._manager){210		dnd._manager = new Manager();211	}212	return dnd._manager;	// Object213};214// TODO: for 2.0, store _manager and manager in Manager only.   Don't access dnd or dojo.dnd.215return Manager;...

Full Screen

Full Screen

copybutton.js

Source:copybutton.js Github

copy

Full Screen

1// Localization support2const messages = {3  'en': {4    'copy': 'Copy',5    'copy_to_clipboard': 'Copy to clipboard',6    'copy_success': 'Copied!',7    'copy_failure': 'Failed to copy',8  },9  'es' : {10    'copy': 'Copiar',11    'copy_to_clipboard': 'Copiar al portapapeles',12    'copy_success': '¡Copiado!',13    'copy_failure': 'Error al copiar',14  },15  'de' : {16    'copy': 'Kopieren',17    'copy_to_clipboard': 'In die Zwischenablage kopieren',18    'copy_success': 'Kopiert!',19    'copy_failure': 'Fehler beim Kopieren',20  }21}22let locale = 'en'23if( document.documentElement.lang !== undefined24    && messages[document.documentElement.lang] !== undefined ) {25  locale = document.documentElement.lang26}27/**28 * Set up copy/paste for code blocks29 */30const runWhenDOMLoaded = cb => {31  if (document.readyState != 'loading') {32    cb()33  } else if (document.addEventListener) {34    document.addEventListener('DOMContentLoaded', cb)35  } else {36    document.attachEvent('onreadystatechange', function() {37      if (document.readyState == 'complete') cb()38    })39  }40}41const codeCellId = index => `codecell${index}`42// Clears selected text since ClipboardJS will select the text when copying43const clearSelection = () => {44  if (window.getSelection) {45    window.getSelection().removeAllRanges()46  } else if (document.selection) {47    document.selection.empty()48  }49}50// Changes tooltip text for two seconds, then changes it back51const temporarilyChangeTooltip = (el, newText) => {52  const oldText = el.getAttribute('data-tooltip')53  el.setAttribute('data-tooltip', newText)54  setTimeout(() => el.setAttribute('data-tooltip', oldText), 2000)55}56const addCopyButtonToCodeCells = () => {57  // If ClipboardJS hasn't loaded, wait a bit and try again. This58  // happens because we load ClipboardJS asynchronously.59  if (window.ClipboardJS === undefined) {60    setTimeout(addCopyButtonToCodeCells, 250)61    return62  }63  // Add copybuttons to all of our code cells64  const codeCells = document.querySelectorAll('div.highlight pre')65  codeCells.forEach((codeCell, index) => {66    const id = codeCellId(index)67    codeCell.setAttribute('id', id)68    const pre_bg = getComputedStyle(codeCell).backgroundColor;69    const clipboardButton = id =>70    `<a class="copybtn o-tooltip--left" style="background-color: ${pre_bg}" data-tooltip="${messages[locale]['copy']}" data-clipboard-target="#${id}">71      <img src="${DOCUMENTATION_OPTIONS.URL_ROOT}_static/copy-button.svg" alt="${messages[locale]['copy_to_clipboard']}">72    </a>`73    codeCell.insertAdjacentHTML('afterend', clipboardButton(id))74  })75function escapeRegExp(string) {76    return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string77}78// Callback when a copy button is clicked. Will be passed the node that was clicked79// should then grab the text and replace pieces of text that shouldn't be used in output80function formatCopyText(textContent, copybuttonPromptText, isRegexp = false, onlyCopyPromptLines = true, removePrompts = true) {81    var regexp;82    var match;83    // create regexp to capture prompt and remaining line84    if (isRegexp) {85        regexp = new RegExp('^(' + copybuttonPromptText + ')(.*)')86    } else {87        regexp = new RegExp('^(' + escapeRegExp(copybuttonPromptText) + ')(.*)')88    }89    const outputLines = [];90    var promptFound = false;91    for (const line of textContent.split('\n')) {92        match = line.match(regexp)93        if (match) {94            promptFound = true95            if (removePrompts) {96                outputLines.push(match[2])97            } else {98                outputLines.push(line)99            }100        } else {101            if (!onlyCopyPromptLines) {102                outputLines.push(line)103            }104        }105    }106    // If no lines with the prompt were found then just use original lines107    if (promptFound) {108        textContent = outputLines.join('\n');109    }110    // Remove a trailing newline to avoid auto-running when pasting111    if (textContent.endsWith("\n")) {112        textContent = textContent.slice(0, -1)113    }114    return textContent115}116var copyTargetText = (trigger) => {117  var target = document.querySelector(trigger.attributes['data-clipboard-target'].value);118  return formatCopyText(target.innerText, '', false, true,  true)119}120  // Initialize with a callback so we can modify the text before copy121  const clipboard = new ClipboardJS('.copybtn', {text: copyTargetText})122  // Update UI with error/success messages123  clipboard.on('success', event => {124    clearSelection()125    temporarilyChangeTooltip(event.trigger, messages[locale]['copy_success'])126  })127  clipboard.on('error', event => {128    temporarilyChangeTooltip(event.trigger, messages[locale]['copy_failure'])129  })130}...

Full Screen

Full Screen

bootstrap-table-copy-rows.js

Source:bootstrap-table-copy-rows.js Github

copy

Full Screen

1/**2 * @author Homer Glascock <HopGlascock@gmail.com>3 * @version: v1.0.04 */5 !function ($) {6    "use strict";7    var calculateObjectValue = $.fn.bootstrapTable.utils.calculateObjectValue,8        sprintf = $.fn.bootstrapTable.utils.sprintf;9    var copytext = function (text) {10        var textField = document.createElement('textarea');11        $(textField).html(text);12        document.body.appendChild(textField);13        textField.select();14        try {15            document.execCommand('copy');16        }17        catch (e) {18            console.log("Oops, unable to copy");19        }20        $(textField).remove();21    };22    $.extend($.fn.bootstrapTable.defaults, {23        copyBtn: false,24        copyWHiddenBtn: false,25        copyDelemeter: ", "26    });27    $.fn.bootstrapTable.methods.push('copyColumnsToClipboard', 'copyColumnsToClipboardWithHidden');28    var BootstrapTable = $.fn.bootstrapTable.Constructor,29        _initToolbar = BootstrapTable.prototype.initToolbar;30    BootstrapTable.prototype.initToolbar = function () {31        _initToolbar.apply(this, Array.prototype.slice.apply(arguments));32        var that = this,33            $btnGroup = this.$toolbar.find('>.btn-group');34        if (this.options.clickToSelect || this.options.singleSelect) {35            if (this.options.copyBtn) {36                var copybtn = "<button class='btn btn-default' id='copyBtn'><span class='glyphicon glyphicon-copy icon-pencil'></span></button>";37                $btnGroup.append(copybtn);38                $btnGroup.find('#copyBtn').click(function () { that.copyColumnsToClipboard(); });39            }40            if (this.options.copyWHiddenBtn) {41                var copyhiddenbtn = "<button class='btn btn-default' id='copyWHiddenBtn'><span class='badge'><span class='glyphicon glyphicon-copy icon-pencil'></span></span></button>";42                $btnGroup.append(copyhiddenbtn);43                $btnGroup.find('#copyWHiddenBtn').click(function () { that.copyColumnsToClipboardWithHidden(); });44            }45        }46    };47    BootstrapTable.prototype.copyColumnsToClipboard = function () {48        var that = this,49            ret = "",50            delimet = this.options.copyDelemeter;51        $.each(that.getSelections(), function (index, row) {52            $.each(that.options.columns[0], function (indy, column) {53                if (column.field !== "state" && column.field !== "RowNumber" && column.visible) {54                    if (row[column.field] !== null) {55                        ret += calculateObjectValue(column, that.header.formatters[indy], [row[column.field], row, index], row[column.field]);56                    }57                    ret += delimet;58                }59            });60            ret += "\r\n";61        });62        copytext(ret);63    };64    BootstrapTable.prototype.copyColumnsToClipboardWithHidden = function () {65        var that = this,66            ret = "",67            delimet = this.options.copyDelemeter;68        $.each(that.getSelections(), function (index, row) {69            $.each(that.options.columns[0], function (indy, column) {70                if (column.field != "state" && column.field !== "RowNumber") {71                    if (row[column.field] !== null) {72                        ret += calculateObjectValue(column, that.header.formatters[indy], [row[column.field], row, index], row[column.field]);73                    }74                    ret += delimet;75                }76            });77            ret += "\r\n";78        });79        copytext(ret);80    };...

Full Screen

Full Screen

HtmlDragCopy.js

Source:HtmlDragCopy.js Github

copy

Full Screen

1/*2	Copyright (c) 2004-2006, The Dojo Foundation3	All Rights Reserved.4	Licensed under the Academic Free License version 2.1 or above OR the5	modified BSD license. For more information on Dojo licensing, see:6		http://dojotoolkit.org/community/licensing.shtml7*/8dojo.provide("dojo.dnd.HtmlDragCopy");9dojo.require("dojo.dnd.*");10dojo.declare("dojo.dnd.HtmlDragCopySource", dojo.dnd.HtmlDragSource,11function(node, type, copyOnce){12		this.copyOnce = copyOnce;13		this.makeCopy = true;14},15{16	onDragStart: function(){17		var dragObj = new dojo.dnd.HtmlDragCopyObject(this.dragObject, this.type, this);18		if(this.dragClass) { dragObj.dragClass = this.dragClass; }19		if (this.constrainToContainer) {20			dragObj.constrainTo(this.constrainingContainer || this.domNode.parentNode);21		}22		return dragObj;23	},24	onSelected: function() {25		for (var i=0; i<this.dragObjects.length; i++) {26			dojo.dnd.dragManager.selectedSources.push(new dojo.dnd.HtmlDragCopySource(this.dragObjects[i]));27		}28	}29});30dojo.declare("dojo.dnd.HtmlDragCopyObject", dojo.dnd.HtmlDragObject,31function(dragObject, type, source){32		this.copySource = source;33},34{35	onDragStart: function(e) {36		dojo.dnd.HtmlDragCopyObject.superclass.onDragStart.apply(this, arguments);37		if(this.copySource.makeCopy) {38			this.sourceNode = this.domNode;39			this.domNode    = this.domNode.cloneNode(true);40		}41	},42	onDragEnd: function(e){43		switch(e.dragStatus){44			case "dropFailure": // slide back to the start45				var startCoords = dojo.html.getAbsolutePosition(this.dragClone, true);46				// offset the end so the effect can be seen47				var endCoords = { left: this.dragStartPosition.x + 1,48					top: this.dragStartPosition.y + 1};49				// animate50				var anim = dojo.lfx.slideTo(this.dragClone, endCoords, 500, dojo.lfx.easeOut);51				var dragObject = this;52				dojo.event.connect(anim, "onEnd", function (e) {53					// pause for a second (not literally) and disappear54					dojo.lang.setTimeout(function() {55							dojo.html.removeNode(dragObject.dragClone);56							dragObject.dragClone = null;57							if(dragObject.copySource.makeCopy) {58								dojo.html.removeNode(dragObject.domNode);59								dragObject.domNode = dragObject.sourceNode;60								dragObject.sourceNode = null;61							}62						},63						200);64				});65				anim.play();66				dojo.event.topic.publish('dragEnd', { source: this } );67				return;68		}69		dojo.dnd.HtmlDragCopyObject.superclass.onDragEnd.apply(this, arguments);70		this.copySource.dragObject = this.domNode;71		if(this.copySource.copyOnce){72			this.copySource.makeCopy = false;73		}74		new dojo.dnd.HtmlDragCopySource(this.sourceNode, this.type, this.copySource.copyOnce);75		this.sourceNode = null;76	}...

Full Screen

Full Screen

index.js

Source:index.js Github

copy

Full Screen

1// @flow2import React, { Component } from 'react';3import Clipboard from 'clipboard';4import { COLORS } from 'shared/constants/tetromino';5import Button from '../Button';6type Props = {7  disabled: boolean,8  copyText: string,9  defaultLabel: string,10  successLabel: string,11  errorLabel: string12};13type LocalState = {14  copyStatus: null | 'success' | 'error'15};16export default class CopyButton extends Component<Props, LocalState> {17  clipboard: ?typeof Clipboard;18  state = {19    copyStatus: null20  };21  componentWillUnmount() {22    if (this.clipboard) {23      this.clipboard.destroy();24    }25  }26  handleCopyBtnRef = (node: ?HTMLElement) => {27    if (node) {28      const clipboard = new Clipboard(node);29      clipboard.on('success', this.handleCopySuccess);30      clipboard.on('error', this.handleCopyError);31      this.clipboard = clipboard;32    }33  };34  handleCopySuccess = () => {35    this.setState({36      copyStatus: 'success'37    });38  };39  handleCopyError = () => {40    this.setState({41      copyStatus: 'error'42    });43  };44  render() {45    const {46      disabled,47      copyText,48      defaultLabel,49      successLabel,50      errorLabel51    } = this.props;52    const { copyStatus } = this.state;53    let bgColor;54    switch (copyStatus) {55      case 'success':56        bgColor = COLORS.S;57        break;58      case 'error':59        bgColor = COLORS.Z;60        break;61      default:62        bgColor = COLORS.J;63    }64    return !disabled ? (65      <div ref={this.handleCopyBtnRef} data-clipboard-text={copyText}>66        <Button bgColor={bgColor} color="#fff">67          {!copyStatus && defaultLabel}68          {copyStatus === 'success' && successLabel}69          {copyStatus === 'error' && errorLabel}70        </Button>71      </div>72    ) : (73      <div>74        <Button disabled bgColor={bgColor} color="#fff">75          {defaultLabel}76        </Button>77      </div>78    );79  }...

Full Screen

Full Screen

index.fixture.js

Source:index.fixture.js Github

copy

Full Screen

1// @flow2import React from 'react';3import { StateMock } from '@react-mock/state';4import CopyButton from '.';5export default {6  default: (7    <CopyButton8      disabled={false}9      copyText="I made you copy me!"10      defaultLabel="Copy link"11      successLabel="Link copied!"12      errorLabel="Copy failed :("13    />14  ),15  disabled: (16    <CopyButton17      disabled={true}18      copyText="I made you copy me!"19      defaultLabel="Copy link"20      successLabel="Link copied!"21      errorLabel="Copy failed :("22    />23  ),24  'copy success': (25    <StateMock state={{ copyStatus: 'success' }}>26      <CopyButton27        disabled={false}28        copyText="I made you copy me!"29        defaultLabel="Copy link"30        successLabel="Link copied!"31        errorLabel="Copy failed :("32      />33    </StateMock>34  ),35  'copy error': (36    <StateMock state={{ copyStatus: 'error' }}>37      <CopyButton38        disabled={false}39        copyText="I made you copy me!"40        defaultLabel="Copy link"41        successLabel="Link copied!"42        errorLabel="Copy failed :("43      />44    </StateMock>45  )...

Full Screen

Full Screen

copy-clipboard.js

Source:copy-clipboard.js Github

copy

Full Screen

1$(function () {2  $(".js-copy-icon").on("click", function () {3    if (copyText(String($(this).prev(".postbox-url__url").text()))) {4      $('head').append('<style>.postbox-url__description:after { content: "copied!!"; } </style>');5    }6  });7  $(".js-copy-icon").mouseover(function (e) {8    $('head').append('<style>.postbox-url__description:after { content: "click to copy"; } </style>');9  });10  $(".js-copy-icon").mouseout(function (e) {11    $('head').append('<style>.postbox-url__description:after { content: "click to copy"; } </style>');12  });13  function copyText(copyText) {14    const copyFrom = document.createElement("textarea");15    copyFrom.textContent = copyText;16    const bodyElm = document.getElementsByTagName("body")[0];17    bodyElm.appendChild(copyFrom);18    copyFrom.select();19    const retVal = document.execCommand('copy');20    bodyElm.removeChild(copyFrom);21    return retVal;22  }...

Full Screen

Full Screen

Using AI Code Generation

copy

Full Screen

1describe('My First Test', () => {2  it('Does not do much!', () => {3    cy.contains('type').click()4    cy.url().should('include', '/commands/actions')5    cy.get('.action-email')6      .type('

Full Screen

Using AI Code Generation

copy

Full Screen

1cy.get('#source').click()2cy.get('#source').trigger('mousedown', { which: 1 })3cy.get('#target').trigger('mousemove')4cy.get('#target').trigger('mouseup', { force: true })5cy.get('#source').trigger('dragstart')6cy.get('#target').trigger('drop')

Full Screen

Using AI Code Generation

copy

Full Screen

1cy.get('.btn').click()2cy.get('#name').type('Rahul')3cy.get('#alertbtn').click()4cy.on('window:alert', (str) => {5    expect(str).to.equal('Hello Rahul, share this practice page and share your knowledge')6})7cy.get('.btn').click()8cy.get('#name').type('Rahul')9cy.get('#alertbtn').invoke('show')10cy.on('window:alert', (str) => {11    expect(str).to.equal('Hello Rahul, share this practice page and share your knowledge')12})13cy.get('.btn').click()14cy.get('#name').type('Rahul')15cy.get('#alertbtn').then(function(el){16    return el.show()17}).then(function(el){18    cy.wrap(el).click()19})20cy.on('window:alert', (str) => {21    expect(str).to.equal('Hello Rahul, share this practice page and share your knowledge')22})23cy.get('.btn').click()24cy.get('#name').type('Rahul')25cy.get('#alertbtn').trigger('mouseover')26cy.on('window:alert', (str) => {27    expect(str).to.equal('Hello Rahul, share this practice page and share your knowledge')28})29cy.get('.btn').click()30cy.get('#name').type('Rahul')31cy.get('#alertbtn').click()32cy.on('window:alert', (str) => {33    expect(str).to.equal('Hello Rahul, share this practice page and share your knowledge')34}).log('Alert message verified')35cy.get('.btn').click()36cy.get('#name').type('Rahul')37cy.get('#alertbtn').then(function(el){38    return el.show()39}).then(function(el){40    cy.wrap(el).click()41})42cy.on('window:alert', (str) => {43    expect(str).to.equal('Hello Rahul, share this practice page and share your knowledge')44}).log('Alert message verified')45cy.get('.btn').click()46cy.get('#name

Full Screen

Using AI Code Generation

copy

Full Screen

1describe("Testing Cypress", function () {2  it("Cypress test", function () {3    cy.get(".gLFyf").type("cypress");4    cy.get(".FPdoLc > center > .gNO89b").click();5    cy.get(".LC20lb").click();6    cy.get(".sidebar > :nth-child(1) > :nth-child(1)").click();7    cy.get(".sidebar > :nth-child(1) > :nth-child(1)").copy();8    cy.get(".sidebar > :nth-child(1) > :nth-child(2)").click();9    cy.get(".sidebar > :nth-child(1) > :nth-child(2)").paste();10    cy.get(".sidebar > :nth-child(1) > :nth-child(3)").click();11    cy.get(".sidebar > :nth-child(1) > :nth-child(3)").copy();12    cy.get(".sidebar > :nth-child(1) > :nth-child(4)").click();13    cy.get(".sidebar > :nth-child(1) > :nth-child(4)").paste();14    cy.get(".sidebar > :nth-child(1) > :nth-child(5)").click();15    cy.get(".sidebar > :nth-child(1) > :nth-child(5)").copy();16    cy.get(".sidebar > :nth-child(1) > :nth-child(6)").click();17    cy.get(".sidebar > :nth-child(1) > :nth-child(6)").paste();18    cy.get(".sidebar > :nth-child(1) > :nth-child(7)").click();19    cy.get(".sidebar > :nth-child(1) > :nth-child(7)").copy();20    cy.get(".sidebar > :nth-child(1) > :nth-child(8)").click();21    cy.get(".sidebar > :nth-child(1) > :nth-child(8)").paste();22    cy.get(".sidebar > :nth-child(1) > :nth-child(9)").click();23    cy.get(".sidebar > :nth-child(1) > :nth-child(9)").copy();24    cy.get(".sidebar > :nth-child(1) > :nth-child(10)").click();25    cy.get(".sidebar > :nth-child(1) > :nth-child(10)").paste();26    cy.get(".sidebar > :nth

Full Screen

Using AI Code Generation

copy

Full Screen

1function copyToClipboard(text) {2  var input = document.body.appendChild(document.createElement("input"));3  input.value = text;4  input.focus();5  input.select();6  document.execCommand('copy');7  input.parentNode.removeChild(input);8}9function copyToClipboard(text) {10  var input = document.body.appendChild(document.createElement("input"));11  input.value = text;12  input.focus();13  input.select();14  document.execCommand('copy');15  input.parentNode.removeChild(input);16}17function copyToClipboard(text) {18  var input = document.body.appendChild(document.createElement("input"));19  input.value = text;20  input.focus();21  input.select();22  document.execCommand('copy');23  input.parentNode.removeChild(input);24}25function copyToClipboard(text) {26  var input = document.body.appendChild(document.createElement("input"));27  input.value = text;28  input.focus();29  input.select();30  document.execCommand('copy');31  input.parentNode.removeChild(input);32}33function copyToClipboard(text) {34  var input = document.body.appendChild(document.createElement("input"));35  input.value = text;36  input.focus();37  input.select();38  document.execCommand('copy');39  input.parentNode.removeChild(input);40}41function copyToClipboard(text) {42  var input = document.body.appendChild(document.createElement("input"));43  input.value = text;44  input.focus();45  input.select();46  document.execCommand('copy');47  input.parentNode.removeChild(input);48}49function copyToClipboard(text) {50  var input = document.body.appendChild(document.createElement("input"));51  input.value = text;52  input.focus();53  input.select();54  document.execCommand('copy');55  input.parentNode.removeChild(input);56}

Full Screen

Cypress Tutorial

Cypress is a renowned Javascript-based open-source, easy-to-use end-to-end testing framework primarily used for testing web applications. Cypress is a relatively new player in the automation testing space and has been gaining much traction lately, as evidenced by the number of Forks (2.7K) and Stars (42.1K) for the project. LambdaTest’s Cypress Tutorial covers step-by-step guides that will help you learn from the basics till you run automation tests on LambdaTest.

Chapters:

  1. What is Cypress? -
  2. Why Cypress? - Learn why Cypress might be a good choice for testing your web applications.
  3. Features of Cypress Testing - Learn about features that make Cypress a powerful and flexible tool for testing web applications.
  4. Cypress Drawbacks - Although Cypress has many strengths, it has a few limitations that you should be aware of.
  5. Cypress Architecture - Learn more about Cypress architecture and how it is designed to be run directly in the browser, i.e., it does not have any additional servers.
  6. Browsers Supported by Cypress - Cypress is built on top of the Electron browser, supporting all modern web browsers. Learn browsers that support Cypress.
  7. Selenium vs Cypress: A Detailed Comparison - Compare and explore some key differences in terms of their design and features.
  8. Cypress Learning: Best Practices - Take a deep dive into some of the best practices you should use to avoid anti-patterns in your automation tests.
  9. How To Run Cypress Tests on LambdaTest? - Set up a LambdaTest account, and now you are all set to learn how to run Cypress tests.

Certification

You can elevate your expertise with end-to-end testing using the Cypress automation framework and stay one step ahead in your career by earning a Cypress certification. Check out our Cypress 101 Certification.

YouTube

Watch this 3 hours of complete tutorial to learn the basics of Cypress and various Cypress commands with the Cypress testing at LambdaTest.

Run Cypress automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful