Best JavaScript code snippet using playwright-internal
menuInteraction.js
Source:menuInteraction.js
1var setupMenuEvents = function() {2 var getEquation = function() {3 var equation = null;4 if ($('.cursor').length > 0) {5 equation = $('.cursor').parent().data('eqObject').equation;6 } else if ($('.highlight').length > 0) {7 equation = $('.highlight').parent().data('eqObject').equation;8 }9 return equation;10 };11 $(document).on('touchstart mousedown', '#stackedFractionButton', function (e) {12 e.preventDefault();13 e.stopPropagation();14 var equation = getEquation();15 var stackedFractionWrapper = new eqEd.StackedFractionWrapper(equation);16 insertWrapper(stackedFractionWrapper);17 });18 $(document).on('touchstart mousedown', '#superscriptButton', function (e) {19 e.preventDefault();20 e.stopPropagation();21 var equation = getEquation();22 var superscriptWrapper = new eqEd.SuperscriptWrapper(equation);23 insertWrapper(superscriptWrapper);24 });25 $(document).on('touchstart mousedown', '#subscriptButton', function (e) {26 e.preventDefault();27 e.stopPropagation();28 var equation = getEquation();29 var subscriptWrapper = new eqEd.SubscriptWrapper(equation);30 insertWrapper(subscriptWrapper);31 });32 $(document).on('touchstart mousedown', '#superscriptAndSubscriptButton', function (e) {33 e.preventDefault();34 e.stopPropagation();35 var equation = getEquation();36 var superscriptAndSubscriptWrapper = new eqEd.SuperscriptAndSubscriptWrapper(equation);37 insertWrapper(superscriptAndSubscriptWrapper);38 });39 $(document).on('touchstart mousedown', '#squareRootButton', function (e) {40 e.preventDefault();41 e.stopPropagation();42 var equation = getEquation();43 var squareRootWrapper = new eqEd.SquareRootWrapper(equation);44 insertWrapper(squareRootWrapper);45 });46 $(document).on('touchstart mousedown', '#nthRootButton', function (e) {47 e.preventDefault();48 e.stopPropagation();49 var equation = getEquation();50 var nthRootButton = new eqEd.NthRootWrapper(equation);51 insertWrapper(nthRootButton);52 });53 54 $(document).on('touchstart mousedown', '#leftAngleBracketButton', function (e) {55 e.preventDefault();56 e.stopPropagation();57 var equation = getEquation();58 var leftAngleBracketWrapper = new eqEd.BracketWrapper(equation, "leftAngleBracket");59 insertWrapper(leftAngleBracketWrapper);60 });61 $(document).on('touchstart mousedown', '#rightAngleBracketButton', function (e) {62 e.preventDefault();63 e.stopPropagation();64 var equation = getEquation();65 var rightAngleBracketWrapper = new eqEd.BracketWrapper(equation, "rightAngleBracket");66 insertWrapper(rightAngleBracketWrapper);67 });68 $(document).on('touchstart mousedown', '#leftFloorBracketButton', function (e) {69 e.preventDefault();70 e.stopPropagation();71 var equation = getEquation();72 var leftFloorBracketWrapper = new eqEd.BracketWrapper(equation, "leftFloorBracket");73 insertWrapper(leftFloorBracketWrapper);74 });75 $(document).on('touchstart mousedown', '#rightFloorBracketButton', function (e) {76 e.preventDefault();77 e.stopPropagation();78 var equation = getEquation();79 var rightFloorBracketWrapper = new eqEd.BracketWrapper(equation, "rightFloorBracket");80 insertWrapper(rightFloorBracketWrapper);81 });82 $(document).on('touchstart mousedown', '#leftCeilBracketButton', function (e) {83 e.preventDefault();84 e.stopPropagation();85 var equation = getEquation();86 var leftCeilBracketWrapper = new eqEd.BracketWrapper(equation, "leftCeilBracket");87 insertWrapper(leftCeilBracketWrapper);88 });89 $(document).on('touchstart mousedown', '#rightCeilBracketButton', function (e) {90 e.preventDefault();91 e.stopPropagation();92 var equation = getEquation();93 var rightCeilBracketWrapper = new eqEd.BracketWrapper(equation, "rightCeilBracket");94 insertWrapper(rightCeilBracketWrapper);95 });96 $(document).on('touchstart mousedown', '#parenthesesBracketPairButton', function (e) {97 e.preventDefault();98 e.stopPropagation();99 var equation = getEquation();100 var parenthesesBracketPair = new eqEd.BracketPairWrapper(equation, "parenthesisBracket");101 insertWrapper(parenthesesBracketPair);102 });103 $(document).on('touchstart mousedown', '#squareBracketPairButton', function (e) {104 e.preventDefault();105 e.stopPropagation();106 var equation = getEquation();107 var squareBracketPair = new eqEd.BracketPairWrapper(equation, "squareBracket");108 insertWrapper(squareBracketPair);109 });110 $(document).on('touchstart mousedown', '#curlyBracketPairButton', function (e) {111 e.preventDefault();112 e.stopPropagation();113 var equation = getEquation();114 var curlyBracketPair = new eqEd.BracketPairWrapper(equation, "curlyBracket");115 insertWrapper(curlyBracketPair);116 });117 $(document).on('touchstart mousedown', '#angleBracketPairButton', function (e) {118 e.preventDefault();119 e.stopPropagation();120 var equation = getEquation();121 var angleBracketPair = new eqEd.BracketPairWrapper(equation, "angleBracket");122 insertWrapper(angleBracketPair);123 });$(document).on('touchstart mousedown', '#floorBracketPairButton', function (e) {124 e.preventDefault();125 e.stopPropagation();126 var equation = getEquation();127 var floorBracketPair = new eqEd.BracketPairWrapper(equation, "floorBracket");128 insertWrapper(floorBracketPair);129 });130 $(document).on('touchstart mousedown', '#ceilBracketPairButton', function (e) {131 e.preventDefault();132 e.stopPropagation();133 var equation = getEquation();134 var ceilBracketPair = new eqEd.BracketPairWrapper(equation, "ceilBracket");135 insertWrapper(ceilBracketPair);136 });137 $(document).on('touchstart mousedown', '#absValBracketPairButton', function (e) {138 e.preventDefault();139 e.stopPropagation();140 var equation = getEquation();141 var absValBracketPair = new eqEd.BracketPairWrapper(equation, "absValBracket");142 insertWrapper(absValBracketPair);143 });144 $(document).on('touchstart mousedown', '#normBracketPairButton', function (e) {145 e.preventDefault();146 e.stopPropagation();147 var equation = getEquation();148 var normBracketPair = new eqEd.BracketPairWrapper(equation, "normBracket");149 insertWrapper(normBracketPair);150 });151 $(document).on('touchstart mousedown', '#sumBigOperatorButton', function (e) {152 e.preventDefault();153 e.stopPropagation();154 var equation = getEquation();155 var bigOperator = new eqEd.BigOperatorWrapper(equation, false, true, true, 'sum');156 insertWrapper(bigOperator);157 });158 $(document).on('touchstart mousedown', '#sumBigOperatorNoUpperButton', function (e) {159 e.preventDefault();160 e.stopPropagation();161 var equation = getEquation();162 var bigOperator = new eqEd.BigOperatorWrapper(equation, false, false, true, 'sum');163 insertWrapper(bigOperator);164 });165 $(document).on('touchstart mousedown', '#sumBigOperatorNoUpperNoLowerButton', function (e) {166 e.preventDefault();167 e.stopPropagation();168 var equation = getEquation();169 var bigOperator = new eqEd.BigOperatorWrapper(equation, false, false, false, 'sum');170 insertWrapper(bigOperator);171 });172 $(document).on('touchstart mousedown', '#bigCapBigOperatorButton', function (e) {173 e.preventDefault();174 e.stopPropagation();175 var equation = getEquation();176 var bigOperator = new eqEd.BigOperatorWrapper(equation, false, true, true, 'bigCap');177 insertWrapper(bigOperator);178 });179 $(document).on('touchstart mousedown', '#bigCapBigOperatorNoUpperButton', function (e) {180 e.preventDefault();181 e.stopPropagation();182 var equation = getEquation();183 var bigOperator = new eqEd.BigOperatorWrapper(equation, false, false, true, 'bigCap');184 insertWrapper(bigOperator);185 });186 $(document).on('touchstart mousedown', '#bigCapBigOperatorNoUpperNoLowerButton', function (e) {187 e.preventDefault();188 e.stopPropagation();189 var equation = getEquation();190 var bigOperator = new eqEd.BigOperatorWrapper(equation, false, false, false, 'bigCap');191 insertWrapper(bigOperator);192 });193 $(document).on('touchstart mousedown', '#bigCupBigOperatorButton', function (e) {194 e.preventDefault();195 e.stopPropagation();196 var equation = getEquation();197 var bigOperator = new eqEd.BigOperatorWrapper(equation, false, true, true, 'bigCup');198 insertWrapper(bigOperator);199 });200 $(document).on('touchstart mousedown', '#bigCupBigOperatorNoUpperButton', function (e) {201 e.preventDefault();202 e.stopPropagation();203 var equation = getEquation();204 var bigOperator = new eqEd.BigOperatorWrapper(equation, false, false, true, 'bigCup');205 insertWrapper(bigOperator);206 });207 $(document).on('touchstart mousedown', '#bigCupBigOperatorNoUpperNoLowerButton', function (e) {208 e.preventDefault();209 e.stopPropagation();210 var equation = getEquation();211 var bigOperator = new eqEd.BigOperatorWrapper(equation, false, false, false, 'bigCup');212 insertWrapper(bigOperator);213 });214 $(document).on('touchstart mousedown', '#bigSqCapBigOperatorButton', function (e) {215 e.preventDefault();216 e.stopPropagation();217 var equation = getEquation();218 var bigOperator = new eqEd.BigOperatorWrapper(equation, false, true, true, 'bigSqCap');219 insertWrapper(bigOperator);220 });221 $(document).on('touchstart mousedown', '#bigSqCapBigOperatorNoUpperButton', function (e) {222 e.preventDefault();223 e.stopPropagation();224 var equation = getEquation();225 var bigOperator = new eqEd.BigOperatorWrapper(equation, false, false, true, 'bigSqCap');226 insertWrapper(bigOperator);227 });228 $(document).on('touchstart mousedown', '#bigSqCapBigOperatorNoUpperNoLowerButton', function (e) {229 e.preventDefault();230 e.stopPropagation();231 var equation = getEquation();232 var bigOperator = new eqEd.BigOperatorWrapper(equation, false, false, false, 'bigSqCap');233 insertWrapper(bigOperator);234 });235 $(document).on('touchstart mousedown', '#bigSqCupBigOperatorButton', function (e) {236 e.preventDefault();237 e.stopPropagation();238 var equation = getEquation();239 var bigOperator = new eqEd.BigOperatorWrapper(equation, false, true, true, 'bigSqCup');240 insertWrapper(bigOperator);241 });242 $(document).on('touchstart mousedown', '#bigSqCupBigOperatorNoUpperButton', function (e) {243 e.preventDefault();244 e.stopPropagation();245 var equation = getEquation();246 var bigOperator = new eqEd.BigOperatorWrapper(equation, false, false, true, 'bigSqCup');247 insertWrapper(bigOperator);248 });249 $(document).on('touchstart mousedown', '#bigSqCupBigOperatorNoUpperNoLowerButton', function (e) {250 e.preventDefault();251 e.stopPropagation();252 var equation = getEquation();253 var bigOperator = new eqEd.BigOperatorWrapper(equation, false, false, false, 'bigSqCup');254 insertWrapper(bigOperator);255 });256 $(document).on('touchstart mousedown', '#prodBigOperatorButton', function (e) {257 e.preventDefault();258 e.stopPropagation();259 var equation = getEquation();260 var bigOperator = new eqEd.BigOperatorWrapper(equation, false, true, true, 'prod');261 insertWrapper(bigOperator);262 });263 $(document).on('touchstart mousedown', '#prodBigOperatorNoUpperButton', function (e) {264 e.preventDefault();265 e.stopPropagation();266 var equation = getEquation();267 var bigOperator = new eqEd.BigOperatorWrapper(equation, false, false, true, 'prod');268 insertWrapper(bigOperator);269 });270 $(document).on('touchstart mousedown', '#prodBigOperatorNoUpperNoLowerButton', function (e) {271 e.preventDefault();272 e.stopPropagation();273 var equation = getEquation();274 var equation = getEquation();275 var bigOperator = new eqEd.BigOperatorWrapper(equation, false, false, false, 'prod');276 insertWrapper(bigOperator);277 });278 $(document).on('touchstart mousedown', '#coProdBigOperatorButton', function (e) {279 e.preventDefault();280 e.stopPropagation();281 var equation = getEquation();282 var bigOperator = new eqEd.BigOperatorWrapper(equation, false, true, true, 'coProd');283 insertWrapper(bigOperator);284 });285 $(document).on('touchstart mousedown', '#coProdBigOperatorNoUpperButton', function (e) {286 e.preventDefault();287 e.stopPropagation();288 var equation = getEquation();289 var bigOperator = new eqEd.BigOperatorWrapper(equation, false, false, true, 'coProd');290 insertWrapper(bigOperator);291 });292 $(document).on('touchstart mousedown', '#coProdBigOperatorNoUpperNoLowerButton', function (e) {293 e.preventDefault();294 e.stopPropagation();295 var equation = getEquation();296 var bigOperator = new eqEd.BigOperatorWrapper(equation, false, false, false, 'coProd');297 insertWrapper(bigOperator);298 });299 $(document).on('touchstart mousedown', '#bigVeeBigOperatorButton', function (e) {300 e.preventDefault();301 e.stopPropagation();302 var equation = getEquation();303 var bigOperator = new eqEd.BigOperatorWrapper(equation, false, true, true, 'bigVee');304 insertWrapper(bigOperator);305 });306 $(document).on('touchstart mousedown', '#bigVeeBigOperatorNoUpperButton', function (e) {307 e.preventDefault();308 e.stopPropagation();309 var equation = getEquation();310 var bigOperator = new eqEd.BigOperatorWrapper(equation, false, false, true, 'bigVee');311 insertWrapper(bigOperator);312 });313 $(document).on('touchstart mousedown', '#bigVeeBigOperatorNoUpperNoLowerButton', function (e) {314 e.preventDefault();315 e.stopPropagation();316 var equation = getEquation();317 var bigOperator = new eqEd.BigOperatorWrapper(equation, false, false, false, 'bigVee');318 insertWrapper(bigOperator);319 });320 $(document).on('touchstart mousedown', '#bigWedgeBigOperatorButton', function (e) {321 e.preventDefault();322 e.stopPropagation();323 var equation = getEquation();324 var bigOperator = new eqEd.BigOperatorWrapper(equation, false, true, true, 'bigWedge');325 insertWrapper(bigOperator);326 });327 $(document).on('touchstart mousedown', '#bigWedgeBigOperatorNoUpperButton', function (e) {328 e.preventDefault();329 e.stopPropagation();330 var equation = getEquation();331 var bigOperator = new eqEd.BigOperatorWrapper(equation, false, false, true, 'bigWedge');332 insertWrapper(bigOperator);333 });334 $(document).on('touchstart mousedown', '#bigWedgeBigOperatorNoUpperNoLowerButton', function (e) {335 e.preventDefault();336 e.stopPropagation();337 var equation = getEquation();338 var bigOperator = new eqEd.BigOperatorWrapper(equation, false, false, false, 'bigWedge');339 insertWrapper(bigOperator);340 });341 $(document).on('touchstart mousedown', '#inlineSumBigOperatorButton', function (e) {342 e.preventDefault();343 e.stopPropagation();344 var equation = getEquation();345 var bigOperator = new eqEd.BigOperatorWrapper(equation, true, true, true, 'sum');346 insertWrapper(bigOperator);347 });348 $(document).on('touchstart mousedown', '#inlineSumBigOperatorNoUpperButton', function (e) {349 e.preventDefault();350 e.stopPropagation();351 var equation = getEquation();352 var bigOperator = new eqEd.BigOperatorWrapper(equation, true, false, true, 'sum');353 insertWrapper(bigOperator);354 });355 $(document).on('touchstart mousedown', '#inlineBigCapBigOperatorButton', function (e) {356 e.preventDefault();357 e.stopPropagation();358 var equation = getEquation();359 var bigOperator = new eqEd.BigOperatorWrapper(equation, true, true, true, 'bigCap');360 insertWrapper(bigOperator);361 });362 $(document).on('touchstart mousedown', '#inlineBigCapBigOperatorNoUpperButton', function (e) {363 e.preventDefault();364 e.stopPropagation();365 var equation = getEquation();366 var bigOperator = new eqEd.BigOperatorWrapper(equation, true, false, true, 'bigCap');367 insertWrapper(bigOperator);368 });369 $(document).on('touchstart mousedown', '#inlineBigCupBigOperatorButton', function (e) {370 e.preventDefault();371 e.stopPropagation();372 var equation = getEquation();373 var bigOperator = new eqEd.BigOperatorWrapper(equation, true, true, true, 'bigCup');374 insertWrapper(bigOperator);375 });376 $(document).on('touchstart mousedown', '#inlineBigCupBigOperatorNoUpperButton', function (e) {377 e.preventDefault();378 e.stopPropagation();379 var equation = getEquation();380 var bigOperator = new eqEd.BigOperatorWrapper(equation, true, false, true, 'bigCup');381 insertWrapper(bigOperator);382 });383 $(document).on('touchstart mousedown', '#inlineBigSqCapBigOperatorButton', function (e) {384 e.preventDefault();385 e.stopPropagation();386 var equation = getEquation();387 var bigOperator = new eqEd.BigOperatorWrapper(equation, true, true, true, 'bigSqCap');388 insertWrapper(bigOperator);389 });390 $(document).on('touchstart mousedown', '#inlineBigSqCapBigOperatorNoUpperButton', function (e) {391 e.preventDefault();392 e.stopPropagation();393 var equation = getEquation();394 var bigOperator = new eqEd.BigOperatorWrapper(equation, true, false, true, 'bigSqCap');395 insertWrapper(bigOperator);396 });397 $(document).on('touchstart mousedown', '#inlineBigSqCupBigOperatorButton', function (e) {398 e.preventDefault();399 e.stopPropagation();400 var equation = getEquation();401 var bigOperator = new eqEd.BigOperatorWrapper(equation, true, true, true, 'bigSqCup');402 insertWrapper(bigOperator);403 });404 $(document).on('touchstart mousedown', '#inlineBigSqCupBigOperatorNoUpperButton', function (e) {405 e.preventDefault();406 e.stopPropagation();407 var equation = getEquation();408 var bigOperator = new eqEd.BigOperatorWrapper(equation, true, false, true, 'bigSqCup');409 insertWrapper(bigOperator);410 });411 $(document).on('touchstart mousedown', '#inlineProdBigOperatorButton', function (e) {412 e.preventDefault();413 e.stopPropagation();414 var equation = getEquation();415 var bigOperator = new eqEd.BigOperatorWrapper(equation, true, true, true, 'prod');416 insertWrapper(bigOperator);417 });418 $(document).on('touchstart mousedown', '#inlineProdBigOperatorNoUpperButton', function (e) {419 e.preventDefault();420 e.stopPropagation();421 var equation = getEquation();422 var bigOperator = new eqEd.BigOperatorWrapper(equation, true, false, true, 'prod');423 insertWrapper(bigOperator);424 });425 $(document).on('touchstart mousedown', '#inlineCoProdBigOperatorButton', function (e) {426 e.preventDefault();427 e.stopPropagation();428 var equation = getEquation();429 var bigOperator = new eqEd.BigOperatorWrapper(equation, true, true, true, 'coProd');430 insertWrapper(bigOperator);431 });432 $(document).on('touchstart mousedown', '#inlineCoProdBigOperatorNoUpperButton', function (e) {433 e.preventDefault();434 e.stopPropagation();435 var equation = getEquation();436 var bigOperator = new eqEd.BigOperatorWrapper(equation, true, false, true, 'coProd');437 insertWrapper(bigOperator);438 });439 $(document).on('touchstart mousedown', '#inlineBigVeeBigOperatorButton', function (e) {440 e.preventDefault();441 e.stopPropagation();442 var equation = getEquation();443 var bigOperator = new eqEd.BigOperatorWrapper(equation, true, true, true, 'bigVee');444 insertWrapper(bigOperator);445 });446 $(document).on('touchstart mousedown', '#inlineBigVeeBigOperatorNoUpperButton', function (e) {447 e.preventDefault();448 e.stopPropagation();449 var equation = getEquation();450 var bigOperator = new eqEd.BigOperatorWrapper(equation, true, false, true, 'bigVee');451 insertWrapper(bigOperator);452 });453 $(document).on('touchstart mousedown', '#inlineBigWedgeBigOperatorButton', function (e) {454 e.preventDefault();455 e.stopPropagation();456 var equation = getEquation();457 var bigOperator = new eqEd.BigOperatorWrapper(equation, true, true, true, 'bigWedge');458 insertWrapper(bigOperator);459 });460 $(document).on('touchstart mousedown', '#inlineBigWedgeBigOperatorNoUpperButton', function (e) {461 e.preventDefault();462 e.stopPropagation();463 var equation = getEquation();464 var bigOperator = new eqEd.BigOperatorWrapper(equation, true, false, true, 'bigWedge');465 insertWrapper(bigOperator);466 });467 ////////////////////////////////////////////////////////////////468 $(document).on('touchstart mousedown', '#integralButton', function (e) {469 e.preventDefault();470 e.stopPropagation();471 var equation = getEquation();472 var integralWrapper = new eqEd.IntegralWrapper(equation, false, true, true, 'single');473 insertWrapper(integralWrapper);474 });475 $(document).on('touchstart mousedown', '#integralNoUpperButton', function (e) {476 e.preventDefault();477 e.stopPropagation();478 var equation = getEquation();479 var integralWrapper = new eqEd.IntegralWrapper(equation, false, false, true, 'single');480 insertWrapper(integralWrapper);481 });482 $(document).on('touchstart mousedown', '#integralNoUpperNoLowerButton', function (e) {483 e.preventDefault();484 e.stopPropagation();485 var equation = getEquation();486 var integralWrapper = new eqEd.IntegralWrapper(equation, false, false, false, 'single');487 insertWrapper(integralWrapper);488 });489 $(document).on('touchstart mousedown', '#doubleIntegralButton', function (e) {490 e.preventDefault();491 e.stopPropagation();492 var equation = getEquation();493 var integralWrapper = new eqEd.IntegralWrapper(equation, false, true, true, 'double');494 insertWrapper(integralWrapper);495 });496 $(document).on('touchstart mousedown', '#doubleIntegralNoUpperButton', function (e) {497 e.preventDefault();498 e.stopPropagation();499 var equation = getEquation();500 var integralWrapper = new eqEd.IntegralWrapper(equation, false, false, true, 'double');501 insertWrapper(integralWrapper);502 });503 $(document).on('touchstart mousedown', '#doubleIntegralNoUpperNoLowerButton', function (e) {504 e.preventDefault();505 e.stopPropagation();506 var equation = getEquation();507 var integralWrapper = new eqEd.IntegralWrapper(equation, false, false, false, 'double');508 insertWrapper(integralWrapper);509 });510 $(document).on('touchstart mousedown', '#tripleIntegralButton', function (e) {511 e.preventDefault();512 e.stopPropagation();513 var equation = getEquation();514 var integralWrapper = new eqEd.IntegralWrapper(equation, false, true, true, 'triple');515 insertWrapper(integralWrapper);516 });517 $(document).on('touchstart mousedown', '#tripleIntegralNoUpperButton', function (e) {518 e.preventDefault();519 e.stopPropagation();520 var equation = getEquation();521 var integralWrapper = new eqEd.IntegralWrapper(equation, false, false, true, 'triple');522 insertWrapper(integralWrapper);523 });524 $(document).on('touchstart mousedown', '#tripleIntegralNoUpperNoLowerButton', function (e) {525 e.preventDefault();526 e.stopPropagation();527 var equation = getEquation();528 var integralWrapper = new eqEd.IntegralWrapper(equation, false, false, false, 'triple');529 insertWrapper(integralWrapper);530 });531 $(document).on('touchstart mousedown', '#contourIntegralButton', function (e) {532 e.preventDefault();533 e.stopPropagation();534 var equation = getEquation();535 var integralWrapper = new eqEd.IntegralWrapper(equation, false, true, true, 'singleContour');536 insertWrapper(integralWrapper);537 });538 $(document).on('touchstart mousedown', '#contourIntegralNoUpperButton', function (e) {539 e.preventDefault();540 e.stopPropagation();541 var equation = getEquation();542 var integralWrapper = new eqEd.IntegralWrapper(equation, false, false, true, 'singleContour');543 insertWrapper(integralWrapper);544 });545 $(document).on('touchstart mousedown', '#contourIntegralNoUpperNoLowerButton', function (e) {546 e.preventDefault();547 e.stopPropagation();548 var equation = getEquation();549 var integralWrapper = new eqEd.IntegralWrapper(equation, false, false, false, 'singleContour');550 insertWrapper(integralWrapper);551 });552 $(document).on('touchstart mousedown', '#contourDoubleIntegralButton', function (e) {553 e.preventDefault();554 e.stopPropagation();555 var equation = getEquation();556 var integralWrapper = new eqEd.IntegralWrapper(equation, false, true, true, 'doubleContour');557 insertWrapper(integralWrapper);558 });559 $(document).on('touchstart mousedown', '#contourDoubleIntegralNoUpperButton', function (e) {560 e.preventDefault();561 e.stopPropagation();562 var equation = getEquation();563 var integralWrapper = new eqEd.IntegralWrapper(equation, false, false, true, 'doubleContour');564 insertWrapper(integralWrapper);565 });566 $(document).on('touchstart mousedown', '#contourDoubleIntegralNoUpperNoLowerButton', function (e) {567 e.preventDefault();568 e.stopPropagation();569 var equation = getEquation();570 var integralWrapper = new eqEd.IntegralWrapper(equation, false, false, false, 'doubleContour');571 insertWrapper(integralWrapper);572 });573 $(document).on('touchstart mousedown', '#contourTripleIntegralButton', function (e) {574 e.preventDefault();575 e.stopPropagation();576 var equation = getEquation();577 var integralWrapper = new eqEd.IntegralWrapper(equation, false, true, true, 'tripleContour');578 insertWrapper(integralWrapper);579 });580 $(document).on('touchstart mousedown', '#contourTripleIntegralNoUpperButton', function (e) {581 e.preventDefault();582 e.stopPropagation();583 var equation = getEquation();584 var integralWrapper = new eqEd.IntegralWrapper(equation, false, false, true, 'tripleContour');585 insertWrapper(integralWrapper);586 });587 $(document).on('touchstart mousedown', '#contourTripleIntegralNoUpperNoLowerButton', function (e) {588 e.preventDefault();589 e.stopPropagation();590 var equation = getEquation();591 var integralWrapper = new eqEd.IntegralWrapper(equation, false, false, false, 'tripleContour');592 insertWrapper(integralWrapper);593 });594 $(document).on('touchstart mousedown', '#inlineIntegralButton', function (e) {595 e.preventDefault();596 e.stopPropagation();597 var equation = getEquation();598 var integralWrapper = new eqEd.IntegralWrapper(equation, true, true, true, 'single');599 insertWrapper(integralWrapper);600 });601 $(document).on('touchstart mousedown', '#inlineIntegralNoUpperButton', function (e) {602 e.preventDefault();603 e.stopPropagation();604 var equation = getEquation();605 var integralWrapper = new eqEd.IntegralWrapper(equation, true, false, true, 'single');606 insertWrapper(integralWrapper);607 });608 $(document).on('touchstart mousedown', '#inlineDoubleIntegralButton', function (e) {609 e.preventDefault();610 e.stopPropagation();611 var equation = getEquation();612 var integralWrapper = new eqEd.IntegralWrapper(equation, true, true, true, 'double');613 insertWrapper(integralWrapper);614 });615 $(document).on('touchstart mousedown', '#inlineDoubleIntegralNoUpperButton', function (e) {616 e.preventDefault();617 e.stopPropagation();618 var equation = getEquation();619 var integralWrapper = new eqEd.IntegralWrapper(equation, true, false, true, 'double');620 insertWrapper(integralWrapper);621 });622 $(document).on('touchstart mousedown', '#inlineTripleIntegralButton', function (e) {623 e.preventDefault();624 e.stopPropagation();625 var equation = getEquation();626 var integralWrapper = new eqEd.IntegralWrapper(equation, true, true, true, 'triple');627 insertWrapper(integralWrapper);628 });629 $(document).on('touchstart mousedown', '#inlineTripleIntegralNoUpperButton', function (e) {630 e.preventDefault();631 e.stopPropagation();632 var equation = getEquation();633 var integralWrapper = new eqEd.IntegralWrapper(equation, true, false, true, 'triple');634 insertWrapper(integralWrapper);635 });636 $(document).on('touchstart mousedown', '#inlineContourIntegralButton', function (e) {637 e.preventDefault();638 e.stopPropagation();639 var equation = getEquation();640 var integralWrapper = new eqEd.IntegralWrapper(equation, true, true, true, 'singleContour');641 insertWrapper(integralWrapper);642 });643 $(document).on('touchstart mousedown', '#inlineContourIntegralNoUpperButton', function (e) {644 e.preventDefault();645 e.stopPropagation();646 var equation = getEquation();647 var integralWrapper = new eqEd.IntegralWrapper(equation, true, false, true, 'singleContour');648 insertWrapper(integralWrapper);649 });650 $(document).on('touchstart mousedown', '#inlineContourDoubleIntegralButton', function (e) {651 e.preventDefault();652 e.stopPropagation();653 var equation = getEquation();654 var integralWrapper = new eqEd.IntegralWrapper(equation, true, true, true, 'doubleContour');655 insertWrapper(integralWrapper);656 });657 $(document).on('touchstart mousedown', '#inlineContourDoubleIntegralNoUpperButton', function (e) {658 e.preventDefault();659 e.stopPropagation();660 var equation = getEquation();661 var integralWrapper = new eqEd.IntegralWrapper(equation, true, false, true, 'doubleContour');662 insertWrapper(integralWrapper);663 });664 $(document).on('touchstart mousedown', '#inlineContourTripleIntegralButton', function (e) {665 e.preventDefault();666 e.stopPropagation();667 var equation = getEquation();668 var integralWrapper = new eqEd.IntegralWrapper(equation, true, true, true, 'tripleContour');669 insertWrapper(integralWrapper);670 });671 $(document).on('touchstart mousedown', '#inlineContourTripleIntegralNoUpperButton', function (e) {672 e.preventDefault();673 e.stopPropagation();674 var equation = getEquation();675 var integralWrapper = new eqEd.IntegralWrapper(equation, true, false, true, 'tripleContour');676 insertWrapper(integralWrapper);677 });678 $(document).on('touchstart mousedown', '#partialDifferentialButton', function (e) {679 e.preventDefault();680 e.stopPropagation();681 var equation = getEquation();682 var differentialWrapper = new eqEd.SymbolWrapper(equation, 'â', "MathJax_Main");683 insertWrapper(differentialWrapper);684 });685 ///////////////////////////////////////////////////////686 $(document).on('touchstart mousedown', '#logButton', function (e) {687 e.preventDefault();688 e.stopPropagation();689 var equation = getEquation();690 var functionWrapper = new eqEd.FunctionWrapper(equation, 'log', "MathJax_Main");691 insertWrapper(functionWrapper);692 });693 $(document).on('touchstart mousedown', '#lnButton', function (e) {694 e.preventDefault();695 e.stopPropagation();696 var equation = getEquation();697 var functionWrapper = new eqEd.FunctionWrapper(equation, 'ln', "MathJax_Main");698 insertWrapper(functionWrapper);699 });700 $(document).on('touchstart mousedown', '#limButton', function (e) {701 e.preventDefault();702 e.stopPropagation();703 var equation = getEquation();704 var functionWrapper = new eqEd.FunctionWrapper(equation, 'lim', "MathJax_Main");705 insertWrapper(functionWrapper);706 });707 $(document).on('touchstart mousedown', '#maxButton', function (e) {708 e.preventDefault();709 e.stopPropagation();710 var equation = getEquation();711 var functionWrapper = new eqEd.FunctionWrapper(equation, 'max', "MathJax_Main");712 insertWrapper(functionWrapper);713 });714 $(document).on('touchstart mousedown', '#minButton', function (e) {715 e.preventDefault();716 e.stopPropagation();717 var equation = getEquation();718 var functionWrapper = new eqEd.FunctionWrapper(equation, 'min', "MathJax_Main");719 insertWrapper(functionWrapper);720 });721 $(document).on('touchstart mousedown', '#supButton', function (e) {722 e.preventDefault();723 e.stopPropagation();724 var equation = getEquation();725 var functionWrapper = new eqEd.FunctionWrapper(equation, 'sup', "MathJax_Main");726 insertWrapper(functionWrapper);727 });728 $(document).on('touchstart mousedown', '#infButton', function (e) {729 e.preventDefault();730 e.stopPropagation();731 var equation = getEquation();732 var functionWrapper = new eqEd.FunctionWrapper(equation, 'inf', "MathJax_Main");733 insertWrapper(functionWrapper);734 });735 $(document).on('touchstart mousedown', '#sinButton', function (e) {736 e.preventDefault();737 e.stopPropagation();738 var equation = getEquation();739 var functionWrapper = new eqEd.FunctionWrapper(equation, 'sin', "MathJax_Main");740 insertWrapper(functionWrapper);741 });742 $(document).on('touchstart mousedown', '#cosButton', function (e) {743 e.preventDefault();744 e.stopPropagation();745 var equation = getEquation();746 var functionWrapper = new eqEd.FunctionWrapper(equation, 'cos', "MathJax_Main");747 insertWrapper(functionWrapper);748 });749 $(document).on('touchstart mousedown', '#tanButton', function (e) {750 e.preventDefault();751 e.stopPropagation();752 var equation = getEquation();753 var functionWrapper = new eqEd.FunctionWrapper(equation, 'tan', "MathJax_Main");754 insertWrapper(functionWrapper);755 });756 $(document).on('touchstart mousedown', '#cotButton', function (e) {757 e.preventDefault();758 e.stopPropagation();759 var equation = getEquation();760 var functionWrapper = new eqEd.FunctionWrapper(equation, 'cot', "MathJax_Main");761 insertWrapper(functionWrapper);762 });763 $(document).on('touchstart mousedown', '#secButton', function (e) {764 e.preventDefault();765 e.stopPropagation();766 var equation = getEquation();767 var functionWrapper = new eqEd.FunctionWrapper(equation, 'sec', "MathJax_Main");768 insertWrapper(functionWrapper);769 });770 $(document).on('touchstart mousedown', '#cscButton', function (e) {771 e.preventDefault();772 e.stopPropagation();773 var equation = getEquation();774 var functionWrapper = new eqEd.FunctionWrapper(equation, 'csc', "MathJax_Main");775 insertWrapper(functionWrapper);776 });777 $(document).on('touchstart mousedown', '#sinhButton', function (e) {778 e.preventDefault();779 e.stopPropagation();780 var equation = getEquation();781 var functionWrapper = new eqEd.FunctionWrapper(equation, 'sinh', "MathJax_Main");782 insertWrapper(functionWrapper);783 });784 $(document).on('touchstart mousedown', '#coshButton', function (e) {785 e.preventDefault();786 e.stopPropagation();787 var equation = getEquation();788 var functionWrapper = new eqEd.FunctionWrapper(equation, 'cosh', "MathJax_Main");789 insertWrapper(functionWrapper);790 });791 $(document).on('touchstart mousedown', '#tanhButton', function (e) {792 e.preventDefault();793 e.stopPropagation();794 var equation = getEquation();795 var functionWrapper = new eqEd.FunctionWrapper(equation, 'tanh', "MathJax_Main");796 insertWrapper(functionWrapper);797 });798 $(document).on('touchstart mousedown', '#cothButton', function (e) {799 e.preventDefault();800 e.stopPropagation();801 var equation = getEquation();802 var functionWrapper = new eqEd.FunctionWrapper(equation, 'coth', "MathJax_Main");803 insertWrapper(functionWrapper);804 });805 $(document).on('touchstart mousedown', '#sechButton', function (e) {806 e.preventDefault();807 e.stopPropagation();808 var equation = getEquation();809 var functionWrapper = new eqEd.FunctionWrapper(equation, 'sech', "MathJax_Main");810 insertWrapper(functionWrapper);811 });812 $(document).on('touchstart mousedown', '#cschButton', function (e) {813 e.preventDefault();814 e.stopPropagation();815 var equation = getEquation();816 var functionWrapper = new eqEd.FunctionWrapper(equation, 'csch', "MathJax_Main");817 insertWrapper(functionWrapper);818 });819 $(document).on('touchstart mousedown', '#limitButton', function (e) {820 e.preventDefault();821 e.stopPropagation();822 var equation = getEquation();823 var limitWrapper = new eqEd.LimitWrapper(equation);824 insertWrapper(limitWrapper);825 });826 $(document).on('touchstart mousedown', '#maxLowerButton', function (e) {827 e.preventDefault();828 e.stopPropagation();829 var equation = getEquation();830 var functionWrapper = new eqEd.FunctionLowerWrapper(equation, 'max', "MathJax_Main");831 insertWrapper(functionWrapper);832 });833 $(document).on('touchstart mousedown', '#minLowerButton', function (e) {834 e.preventDefault();835 e.stopPropagation();836 var equation = getEquation();837 var functionWrapper = new eqEd.FunctionLowerWrapper(equation, 'min', "MathJax_Main");838 insertWrapper(functionWrapper);839 });840 $(document).on('touchstart mousedown', '#logLowerButton', function (e) {841 e.preventDefault();842 e.stopPropagation();843 var equation = getEquation();844 var functionWrapper = new eqEd.LogLowerWrapper(equation);845 insertWrapper(functionWrapper);846 });847 $(document).on('touchstart mousedown', '#matrixButton', function (e) {848 e.preventDefault();849 e.stopPropagation();850 var equation = getEquation();851 $('#rows').blur();852 $('#cols').blur();853 var rows = parseInt($('#rows').val());854 var cols = parseInt($('#cols').val());855 var matrixWrapper = new eqEd.MatrixWrapper(equation, rows, cols, 'center');856 insertWrapper(matrixWrapper);857 });858 $(document).on('touchstart mousedown', '#dotAccentButton', function (e) {859 e.preventDefault();860 e.stopPropagation();861 var equation = getEquation();862 var accentWrapper = new eqEd.AccentWrapper(equation, 'Ë', 'MathJax_Main');863 insertWrapper(accentWrapper);864 });865 $(document).on('touchstart mousedown', '#hatAccentButton', function (e) {866 e.preventDefault();867 e.stopPropagation();868 var equation = getEquation();869 var accentWrapper = new eqEd.AccentWrapper(equation, '^', 'MathJax_Main');870 insertWrapper(accentWrapper);871 });872 $(document).on('touchstart mousedown', '#vectorAccentButton', function (e) {873 e.preventDefault();874 e.stopPropagation();875 var equation = getEquation();876 var accentWrapper = new eqEd.AccentWrapper(equation, 'â', 'MathJax_Main');877 insertWrapper(accentWrapper);878 });879 $(document).on('touchstart mousedown', '#barAccentButton', function (e) {880 e.preventDefault();881 e.stopPropagation();882 var equation = getEquation();883 var accentWrapper = new eqEd.AccentWrapper(equation, '¯', 'MathJax_Main');884 insertWrapper(accentWrapper);885 });886 $(document).on('touchstart mousedown', '#gammaUpperButton', function (e) {887 e.preventDefault();888 e.stopPropagation();889 var equation = getEquation();890 var symbolWrapper = new eqEd.SymbolWrapper(equation, 'Î', "MathJax_Main");891 insertWrapper(symbolWrapper);892 });893 $(document).on('touchstart mousedown', '#deltaUpperButton', function (e) {894 e.preventDefault();895 e.stopPropagation();896 var equation = getEquation();897 var symbolWrapper = new eqEd.SymbolWrapper(equation, 'Î', "MathJax_Main");898 insertWrapper(symbolWrapper);899 });900 $(document).on('touchstart mousedown', '#thetaUpperButton', function (e) {901 e.preventDefault();902 e.stopPropagation();903 var equation = getEquation();904 var symbolWrapper = new eqEd.SymbolWrapper(equation, 'Î', "MathJax_Main");905 insertWrapper(symbolWrapper);906 });907 $(document).on('touchstart mousedown', '#lambdaUpperButton', function (e) {908 e.preventDefault();909 e.stopPropagation();910 var equation = getEquation();911 var symbolWrapper = new eqEd.SymbolWrapper(equation, 'Î', "MathJax_Main");912 insertWrapper(symbolWrapper);913 });914 $(document).on('touchstart mousedown', '#xiUpperButton', function (e) {915 e.preventDefault();916 e.stopPropagation();917 var equation = getEquation();918 var symbolWrapper = new eqEd.SymbolWrapper(equation, 'Î', "MathJax_Main");919 insertWrapper(symbolWrapper);920 });921 $(document).on('touchstart mousedown', '#piUpperButton', function (e) {922 e.preventDefault();923 e.stopPropagation();924 var equation = getEquation();925 var symbolWrapper = new eqEd.SymbolWrapper(equation, 'Î ', "MathJax_Main");926 insertWrapper(symbolWrapper);927 });928 $(document).on('touchstart mousedown', '#sigmaUpperButton', function (e) {929 e.preventDefault();930 e.stopPropagation();931 var equation = getEquation();932 var symbolWrapper = new eqEd.SymbolWrapper(equation, 'Σ', "MathJax_Main");933 insertWrapper(symbolWrapper);934 });935 $(document).on('touchstart mousedown', '#upsilonUpperButton', function (e) {936 e.preventDefault();937 e.stopPropagation();938 var equation = getEquation();939 var symbolWrapper = new eqEd.SymbolWrapper(equation, 'Î¥', "MathJax_Main");940 insertWrapper(symbolWrapper);941 });942 $(document).on('touchstart mousedown', '#phiUpperButton', function (e) {943 e.preventDefault();944 e.stopPropagation();945 var equation = getEquation();946 var symbolWrapper = new eqEd.SymbolWrapper(equation, 'Φ', "MathJax_Main");947 insertWrapper(symbolWrapper);948 });949 $(document).on('touchstart mousedown', '#psiUpperButton', function (e) {950 e.preventDefault();951 e.stopPropagation();952 var equation = getEquation();953 var symbolWrapper = new eqEd.SymbolWrapper(equation, 'Ψ', "MathJax_Main");954 insertWrapper(symbolWrapper);955 });956 $(document).on('touchstart mousedown', '#omegaUpperButton', function (e) {957 e.preventDefault();958 e.stopPropagation();959 var equation = getEquation();960 var symbolWrapper = new eqEd.SymbolWrapper(equation, 'Ω', "MathJax_Main");961 insertWrapper(symbolWrapper);962 });963 $(document).on('touchstart mousedown', '#alphaButton', function (e) {964 e.preventDefault();965 e.stopPropagation();966 var equation = getEquation();967 var symbolWrapper = new eqEd.SymbolWrapper(equation, 'α', "MathJax_MathItalic");968 insertWrapper(symbolWrapper);969 });970 $(document).on('touchstart mousedown', '#betaButton', function (e) {971 e.preventDefault();972 e.stopPropagation();973 var equation = getEquation();974 var symbolWrapper = new eqEd.SymbolWrapper(equation, 'β', "MathJax_MathItalic");975 insertWrapper(symbolWrapper);976 });977 $(document).on('touchstart mousedown', '#gammaButton', function (e) {978 e.preventDefault();979 e.stopPropagation();980 var equation = getEquation();981 var symbolWrapper = new eqEd.SymbolWrapper(equation, 'γ', "MathJax_MathItalic");982 insertWrapper(symbolWrapper);983 });984 $(document).on('touchstart mousedown', '#deltaButton', function (e) {985 e.preventDefault();986 e.stopPropagation();987 var equation = getEquation();988 var symbolWrapper = new eqEd.SymbolWrapper(equation, 'δ', "MathJax_MathItalic");989 insertWrapper(symbolWrapper);990 });991 $(document).on('touchstart mousedown', '#varEpsilonButton', function (e) {992 e.preventDefault();993 e.stopPropagation();994 var equation = getEquation();995 var symbolWrapper = new eqEd.SymbolWrapper(equation, 'ε', "MathJax_MathItalic");996 insertWrapper(symbolWrapper);997 });998 $(document).on('touchstart mousedown', '#epsilonButton', function (e) {999 e.preventDefault();1000 e.stopPropagation();1001 var equation = getEquation();1002 var symbolWrapper = new eqEd.SymbolWrapper(equation, 'ϵ', "MathJax_MathItalic");1003 insertWrapper(symbolWrapper);1004 });1005 $(document).on('touchstart mousedown', '#zetaButton', function (e) {1006 e.preventDefault();1007 e.stopPropagation();1008 var equation = getEquation();1009 var symbolWrapper = new eqEd.SymbolWrapper(equation, 'ζ', "MathJax_MathItalic");1010 insertWrapper(symbolWrapper);1011 });1012 $(document).on('touchstart mousedown', '#etaButton', function (e) {1013 e.preventDefault();1014 e.stopPropagation();1015 var equation = getEquation();1016 var symbolWrapper = new eqEd.SymbolWrapper(equation, 'η', "MathJax_MathItalic");1017 insertWrapper(symbolWrapper);1018 });1019 $(document).on('touchstart mousedown', '#thetaButton', function (e) {1020 e.preventDefault();1021 e.stopPropagation();1022 var equation = getEquation();1023 var symbolWrapper = new eqEd.SymbolWrapper(equation, 'θ', "MathJax_MathItalic");1024 insertWrapper(symbolWrapper);1025 });1026 $(document).on('touchstart mousedown', '#varThetaButton', function (e) {1027 e.preventDefault();1028 e.stopPropagation();1029 var equation = getEquation();1030 var symbolWrapper = new eqEd.SymbolWrapper(equation, 'Ï', "MathJax_MathItalic");1031 insertWrapper(symbolWrapper);1032 });1033 $(document).on('touchstart mousedown', '#iotaButton', function (e) {1034 e.preventDefault();1035 e.stopPropagation();1036 var equation = getEquation();1037 var symbolWrapper = new eqEd.SymbolWrapper(equation, 'ι', "MathJax_MathItalic");1038 insertWrapper(symbolWrapper);1039 });1040 $(document).on('touchstart mousedown', '#kappaButton', function (e) {1041 e.preventDefault();1042 e.stopPropagation();1043 var equation = getEquation();1044 var symbolWrapper = new eqEd.SymbolWrapper(equation, 'κ', "MathJax_MathItalic");1045 insertWrapper(symbolWrapper);1046 });1047 $(document).on('touchstart mousedown', '#lambdaButton', function (e) {1048 e.preventDefault();1049 e.stopPropagation();1050 var equation = getEquation();1051 var symbolWrapper = new eqEd.SymbolWrapper(equation, 'λ', "MathJax_MathItalic");1052 insertWrapper(symbolWrapper);1053 });1054 $(document).on('touchstart mousedown', '#muButton', function (e) {1055 e.preventDefault();1056 e.stopPropagation();1057 var equation = getEquation();1058 var symbolWrapper = new eqEd.SymbolWrapper(equation, 'μ', "MathJax_MathItalic");1059 insertWrapper(symbolWrapper);1060 });1061 $(document).on('touchstart mousedown', '#nuButton', function (e) {1062 e.preventDefault();1063 e.stopPropagation();1064 var equation = getEquation();1065 var symbolWrapper = new eqEd.SymbolWrapper(equation, 'ν', "MathJax_MathItalic");1066 insertWrapper(symbolWrapper);1067 });1068 $(document).on('touchstart mousedown', '#xiButton', function (e) {1069 e.preventDefault();1070 e.stopPropagation();1071 var equation = getEquation();1072 var symbolWrapper = new eqEd.SymbolWrapper(equation, 'ξ', "MathJax_MathItalic");1073 insertWrapper(symbolWrapper);1074 });1075 $(document).on('touchstart mousedown', '#piButton', function (e) {1076 e.preventDefault();1077 e.stopPropagation();1078 var equation = getEquation();1079 var symbolWrapper = new eqEd.SymbolWrapper(equation, 'Ï', "MathJax_MathItalic");1080 insertWrapper(symbolWrapper);1081 });1082 $(document).on('touchstart mousedown', '#varPiButton', function (e) {1083 e.preventDefault();1084 e.stopPropagation();1085 var equation = getEquation();1086 var symbolWrapper = new eqEd.SymbolWrapper(equation, 'Ï', "MathJax_MathItalic");1087 insertWrapper(symbolWrapper);1088 });1089 $(document).on('touchstart mousedown', '#rhoButton', function (e) {1090 e.preventDefault();1091 e.stopPropagation();1092 var equation = getEquation();1093 var symbolWrapper = new eqEd.SymbolWrapper(equation, 'Ï', "MathJax_MathItalic");1094 insertWrapper(symbolWrapper);1095 });1096 $(document).on('touchstart mousedown', '#varRhoButton', function (e) {1097 e.preventDefault();1098 e.stopPropagation();1099 var equation = getEquation();1100 var symbolWrapper = new eqEd.SymbolWrapper(equation, 'ϱ', "MathJax_MathItalic");1101 insertWrapper(symbolWrapper);1102 });1103 $(document).on('touchstart mousedown', '#sigmaButton', function (e) {1104 e.preventDefault();1105 e.stopPropagation();1106 var equation = getEquation();1107 var symbolWrapper = new eqEd.SymbolWrapper(equation, 'Ï', "MathJax_MathItalic");1108 insertWrapper(symbolWrapper);1109 });1110 $(document).on('touchstart mousedown', '#varSigmaButton', function (e) {1111 e.preventDefault();1112 e.stopPropagation();1113 var equation = getEquation();1114 var symbolWrapper = new eqEd.SymbolWrapper(equation, 'Ï', "MathJax_MathItalic");1115 insertWrapper(symbolWrapper);1116 });1117 $(document).on('touchstart mousedown', '#tauButton', function (e) {1118 e.preventDefault();1119 e.stopPropagation();1120 var equation = getEquation();1121 var symbolWrapper = new eqEd.SymbolWrapper(equation, 'Ï', "MathJax_MathItalic");1122 insertWrapper(symbolWrapper);1123 });1124 $(document).on('touchstart mousedown', '#upsilonButton', function (e) {1125 e.preventDefault();1126 e.stopPropagation();1127 var equation = getEquation();1128 var symbolWrapper = new eqEd.SymbolWrapper(equation, 'Ï
', "MathJax_MathItalic");1129 insertWrapper(symbolWrapper);1130 });1131 $(document).on('touchstart mousedown', '#varPhiButton', function (e) {1132 e.preventDefault();1133 e.stopPropagation();1134 var equation = getEquation();1135 var symbolWrapper = new eqEd.SymbolWrapper(equation, 'Ï', "MathJax_MathItalic");1136 insertWrapper(symbolWrapper);1137 });1138 $(document).on('touchstart mousedown', '#phiButton', function (e) {1139 e.preventDefault();1140 e.stopPropagation();1141 var equation = getEquation();1142 var symbolWrapper = new eqEd.SymbolWrapper(equation, 'Ï', "MathJax_MathItalic");1143 insertWrapper(symbolWrapper);1144 });1145 $(document).on('touchstart mousedown', '#chiButton', function (e) {1146 e.preventDefault();1147 e.stopPropagation();1148 var equation = getEquation();1149 var symbolWrapper = new eqEd.SymbolWrapper(equation, 'Ï', "MathJax_MathItalic");1150 insertWrapper(symbolWrapper);1151 });1152 $(document).on('touchstart mousedown', '#psiButton', function (e) {1153 e.preventDefault();1154 e.stopPropagation();1155 var equation = getEquation();1156 var symbolWrapper = new eqEd.SymbolWrapper(equation, 'Ï', "MathJax_MathItalic");1157 insertWrapper(symbolWrapper);1158 });1159 $(document).on('touchstart mousedown', '#omegaButton', function (e) {1160 e.preventDefault();1161 e.stopPropagation();1162 var equation = getEquation();1163 var symbolWrapper = new eqEd.SymbolWrapper(equation, 'Ï', "MathJax_MathItalic");1164 insertWrapper(symbolWrapper);1165 });1166 $(document).on('touchstart mousedown', '#lessThanOrEqualToButton', function (e) {1167 e.preventDefault();1168 e.stopPropagation();1169 var equation = getEquation();1170 var operatorWrapper = new eqEd.OperatorWrapper(equation, 'â¤', "MathJax_Main");1171 insertWrapper(operatorWrapper);1172 });1173 $(document).on('touchstart mousedown', '#greaterThanOrEqualToButton', function (e) {1174 e.preventDefault();1175 e.stopPropagation();1176 var equation = getEquation();1177 var operatorWrapper = new eqEd.OperatorWrapper(equation, 'â¥', "MathJax_Main");1178 insertWrapper(operatorWrapper);1179 });1180 $(document).on('touchstart mousedown', '#circleOperatorButton', function (e) {1181 e.preventDefault();1182 e.stopPropagation();1183 var equation = getEquation();1184 var operatorWrapper = new eqEd.OperatorWrapper(equation, 'â¦', "MathJax_Main");1185 insertWrapper(operatorWrapper);1186 });1187 $(document).on('touchstart mousedown', '#approxEqualToButton', function (e) {1188 e.preventDefault();1189 e.stopPropagation();1190 var equation = getEquation();1191 var operatorWrapper = new eqEd.OperatorWrapper(equation, 'â', "MathJax_Main");1192 insertWrapper(operatorWrapper);1193 });1194 $(document).on('touchstart mousedown', '#belongsToButton', function (e) {1195 e.preventDefault();1196 e.stopPropagation();1197 var equation = getEquation();1198 var operatorWrapper = new eqEd.OperatorWrapper(equation, 'â', "MathJax_Main");1199 insertWrapper(operatorWrapper);1200 });1201 $(document).on('touchstart mousedown', '#timesButton', function (e) {1202 e.preventDefault();1203 e.stopPropagation();1204 var equation = getEquation();1205 var operatorWrapper = new eqEd.OperatorWrapper(equation, 'Ã', "MathJax_Main");1206 insertWrapper(operatorWrapper);1207 });1208 $(document).on('touchstart mousedown', '#pmButton', function (e) {1209 e.preventDefault();1210 e.stopPropagation();1211 var equation = getEquation();1212 var operatorWrapper = new eqEd.OperatorWrapper(equation, '±', "MathJax_Main");1213 insertWrapper(operatorWrapper);1214 });1215 $(document).on('touchstart mousedown', '#wedgeButton', function (e) {1216 e.preventDefault();1217 e.stopPropagation();1218 var equation = getEquation();1219 var operatorWrapper = new eqEd.OperatorWrapper(equation, 'â§', "MathJax_Main");1220 insertWrapper(operatorWrapper);1221 });1222 $(document).on('touchstart mousedown', '#veeButton', function (e) {1223 e.preventDefault();1224 e.stopPropagation();1225 var equation = getEquation();1226 var operatorWrapper = new eqEd.OperatorWrapper(equation, 'â¨', "MathJax_Main");1227 insertWrapper(operatorWrapper);1228 });1229 $(document).on('touchstart mousedown', '#equivButton', function (e) {1230 e.preventDefault();1231 e.stopPropagation();1232 var equation = getEquation();1233 var operatorWrapper = new eqEd.OperatorWrapper(equation, 'â¡', "MathJax_Main");1234 insertWrapper(operatorWrapper);1235 });1236 $(document).on('touchstart mousedown', '#congButton', function (e) {1237 e.preventDefault();1238 e.stopPropagation();1239 var equation = getEquation();1240 var operatorWrapper = new eqEd.OperatorWrapper(equation, 'â
', "MathJax_Main");1241 insertWrapper(operatorWrapper);1242 });1243 $(document).on('touchstart mousedown', '#neqButton', function (e) {1244 e.preventDefault();1245 e.stopPropagation();1246 var equation = getEquation();1247 var operatorWrapper = new eqEd.OperatorWrapper(equation, 'â ', "MathJax_Main");1248 insertWrapper(operatorWrapper);1249 });1250 $(document).on('touchstart mousedown', '#simButton', function (e) {1251 e.preventDefault();1252 e.stopPropagation();1253 var equation = getEquation();1254 var operatorWrapper = new eqEd.OperatorWrapper(equation, 'â¼', "MathJax_Main");1255 insertWrapper(operatorWrapper);1256 });1257 $(document).on('touchstart mousedown', '#proptoButton', function (e) {1258 e.preventDefault();1259 e.stopPropagation();1260 var equation = getEquation();1261 var operatorWrapper = new eqEd.OperatorWrapper(equation, 'â', "MathJax_Main");1262 insertWrapper(operatorWrapper);1263 });1264 $(document).on('touchstart mousedown', '#precButton', function (e) {1265 e.preventDefault();1266 e.stopPropagation();1267 var equation = getEquation();1268 var operatorWrapper = new eqEd.OperatorWrapper(equation, 'âº', "MathJax_Main");1269 insertWrapper(operatorWrapper);1270 });1271 $(document).on('touchstart mousedown', '#precEqButton', function (e) {1272 e.preventDefault();1273 e.stopPropagation();1274 var equation = getEquation();1275 var operatorWrapper = new eqEd.OperatorWrapper(equation, '⪯', "MathJax_Main");1276 insertWrapper(operatorWrapper);1277 });1278 $(document).on('touchstart mousedown', '#subsetButton', function (e) {1279 e.preventDefault();1280 e.stopPropagation();1281 var equation = getEquation();1282 var operatorWrapper = new eqEd.OperatorWrapper(equation, 'â', "MathJax_Main");1283 insertWrapper(operatorWrapper);1284 });1285 $(document).on('touchstart mousedown', '#subsetEqButton', function (e) {1286 e.preventDefault();1287 e.stopPropagation();1288 var equation = getEquation();1289 var operatorWrapper = new eqEd.OperatorWrapper(equation, 'â', "MathJax_Main");1290 insertWrapper(operatorWrapper);1291 });1292 $(document).on('touchstart mousedown', '#succButton', function (e) {1293 e.preventDefault();1294 e.stopPropagation();1295 var equation = getEquation();1296 var operatorWrapper = new eqEd.OperatorWrapper(equation, 'â»', "MathJax_Main");1297 insertWrapper(operatorWrapper);1298 });1299 $(document).on('touchstart mousedown', '#succEqButton', function (e) {1300 e.preventDefault();1301 e.stopPropagation();1302 var equation = getEquation();1303 var operatorWrapper = new eqEd.OperatorWrapper(equation, '⪰', "MathJax_Main");1304 insertWrapper(operatorWrapper);1305 });1306 $(document).on('touchstart mousedown', '#perpButton', function (e) {1307 e.preventDefault();1308 e.stopPropagation();1309 var equation = getEquation();1310 var operatorWrapper = new eqEd.OperatorWrapper(equation, 'â¥', "MathJax_Main");1311 insertWrapper(operatorWrapper);1312 });1313 $(document).on('touchstart mousedown', '#midButton', function (e) {1314 e.preventDefault();1315 e.stopPropagation();1316 var equation = getEquation();1317 var operatorWrapper = new eqEd.OperatorWrapper(equation, 'â£', "MathJax_Main");1318 insertWrapper(operatorWrapper);1319 });1320 $(document).on('touchstart mousedown', '#parallelButton', function (e) {1321 e.preventDefault();1322 e.stopPropagation();1323 var equation = getEquation();1324 var operatorWrapper = new eqEd.OperatorWrapper(equation, 'â¥', "MathJax_Main");1325 insertWrapper(operatorWrapper);1326 });1327 $(document).on('touchstart mousedown', '#colonButton', function (e) {1328 e.preventDefault();1329 e.stopPropagation();1330 var equation = getEquation();1331 var operatorWrapper = new eqEd.OperatorWrapper(equation, ':', "MathJax_Main");1332 insertWrapper(operatorWrapper);1333 });1334 $(document).on('touchstart mousedown', '#partialButton', function (e) {1335 e.preventDefault();1336 e.stopPropagation();1337 var equation = getEquation();1338 var symbolWrapper = new eqEd.SymbolWrapper(equation, 'â', "MathJax_Main");1339 insertWrapper(symbolWrapper);1340 });1341 $(document).on('touchstart mousedown', '#infinityButton', function (e) {1342 e.preventDefault();1343 e.stopPropagation();1344 var equation = getEquation();1345 var symbolWrapper = new eqEd.SymbolWrapper(equation, 'â', "MathJax_Main");1346 insertWrapper(symbolWrapper);1347 });1348};1349$(document).on('click', '.tabs .tab-links a', function(e) {1350 var currentAttrValue = $(this).attr('href');1351 // Show/Hide Tabs1352 $('.tabs ' + currentAttrValue).show().siblings().hide();1353 // Change/remove current tab to active1354 $(this).parent('li').addClass('active').siblings().removeClass('active');1355 e.preventDefault();...
forece-editor.js
Source:forece-editor.js
12import * as d3 from 'd3'3/* eslint-disable */45// set up SVG for D36const width = 9607const height = 5008const colors = d3.scaleOrdinal(d3.schemeCategory10)910// set up initial nodes and links11// - nodes are known by 'id', not by index in array.12// - reflexive edges are indicated on the node (as a bold black circle).13// - links are always source < target; edge directions are set by 'left' and 'right'.14const nodes = [15 { id: 0, reflexive: false },16 { id: 1, reflexive: true },17 { id: 2, reflexive: false }18]1920let lastNodeId = 221const links = [22 { source: nodes[0], target: nodes[1], left: false, right: true },23 { source: nodes[1], target: nodes[2], left: false, right: true }24]2526export default (container) => {27 var svg = d3.select(container).append('svg')28 .attr('class', 'svg-content editor')29 .attr('preserveAspectRatio', 'xMinYMin meet')30 .attr('viewBox', '0 0 960 500')31 .attr('oncontextmenu', 'return false;')3233 // init D3 force layout34 const force = d3.forceSimulation()35 .force('link', d3.forceLink().id((d) => d.id).distance(150))36 .force('charge', d3.forceManyBody().strength(-200))37 .force('x', d3.forceX(width / 2))38 .force('y', d3.forceY(height / 2))39 .on('tick', tick)4041// init D3 drag support42const drag = d3.drag()43 .on('start', (d) => {44 if (!d3.event.active) force.alphaTarget(0.3).restart()4546 d.fx = d.x47 d.fy = d.y48 })49 .on('drag', (d) => {50 d.fx = d3.event.x51 d.fy = d3.event.y52 })53 .on('end', (d) => {54 if (!d3.event.active) force.alphaTarget(0)5556 d.fx = null57 d.fy = null58 })5960// define arrow markers for graph links61svg.append('svg:defs').append('svg:marker')62 .attr('id', 'end-arrow')63 .attr('viewBox', '0 -5 10 10')64 .attr('refX', 6)65 .attr('markerWidth', 3)66 .attr('markerHeight', 3)67 .attr('orient', 'auto')68 .append('svg:path')69 .attr('d', 'M0,-5L10,0L0,5')70 .attr('fill', '#000')7172svg.append('svg:defs').append('svg:marker')73 .attr('id', 'start-arrow')74 .attr('viewBox', '0 -5 10 10')75 .attr('refX', 4)76 .attr('markerWidth', 3)77 .attr('markerHeight', 3)78 .attr('orient', 'auto')79 .append('svg:path')80 .attr('d', 'M10,-5L0,0L10,5')81 .attr('fill', '#000')8283// line displayed when dragging new nodes84const dragLine = svg.append('svg:path')85 .attr('class', 'link dragline hidden')86 .attr('d', 'M0,0L0,0')8788// handles to link and node element groups89let path = svg.append('svg:g').selectAll('path')90let circle = svg.append('svg:g').selectAll('g')9192// mouse event vars93let selectedNode = null94let selectedLink = null95let mousedownLink = null96let mousedownNode = null97let mouseupNode = null9899function resetMouseVars () {100 mousedownNode = null101 mouseupNode = null102 mousedownLink = null103}104105// update force layout (called automatically each iteration)106function tick () {107 // draw directed edges with proper padding from node centers108 path.attr('d', (d) => {109 const deltaX = d.target.x - d.source.x110 const deltaY = d.target.y - d.source.y111 const dist = Math.sqrt(deltaX * deltaX + deltaY * deltaY)112 const normX = deltaX / dist113 const normY = deltaY / dist114 const sourcePadding = d.left ? 17 : 12115 const targetPadding = d.right ? 17 : 12116 const sourceX = d.source.x + (sourcePadding * normX)117 const sourceY = d.source.y + (sourcePadding * normY)118 const targetX = d.target.x - (targetPadding * normX)119 const targetY = d.target.y - (targetPadding * normY)120121 return `M${sourceX},${sourceY}L${targetX},${targetY}`122 })123124 circle.attr('transform', (d) => `translate(${d.x},${d.y})`)125}126127// update graph (called when needed)128function restart () {129 // path (link) group130 path = path.data(links)131132 // update existing links133 path.classed('selected', (d) => d === selectedLink)134 .style('marker-start', (d) => d.left ? 'url(#start-arrow)' : '')135 .style('marker-end', (d) => d.right ? 'url(#end-arrow)' : '')136137 // remove old links138 path.exit().remove()139140 // add new links141 path = path.enter().append('svg:path')142 .attr('class', 'link')143 .classed('selected', (d) => d === selectedLink)144 .style('marker-start', (d) => d.left ? 'url(#start-arrow)' : '')145 .style('marker-end', (d) => d.right ? 'url(#end-arrow)' : '')146 .on('mousedown', (d) => {147 if (d3.event.ctrlKey) return148149 // select link150 mousedownLink = d151 selectedLink = (mousedownLink === selectedLink) ? null : mousedownLink152 selectedNode = null153 restart()154 })155 .merge(path)156157 // circle (node) group158 // NB: the function arg is crucial here! nodes are known by id, not by index!159 circle = circle.data(nodes, (d) => d.id)160161 // update existing nodes (reflexive & selected visual states)162 circle.selectAll('circle')163 .style('fill', (d) => (d === selectedNode) ? d3.rgb(colors(d.id)).brighter().toString() : colors(d.id))164 .classed('reflexive', (d) => d.reflexive)165166 // remove old nodes167 circle.exit().remove()168169 // add new nodes170 const g = circle.enter().append('svg:g')171172 g.append('svg:circle')173 .attr('class', 'node')174 .attr('r', 12)175 .style('fill', (d) => (d === selectedNode) ? d3.rgb(colors(d.id)).brighter().toString() : colors(d.id))176 .style('stroke', (d) => d3.rgb(colors(d.id)).darker().toString())177 .classed('reflexive', (d) => d.reflexive)178 .on('mouseover', function (d) {179 if (!mousedownNode || d === mousedownNode) return180 // enlarge target node181 d3.select(this).attr('transform', 'scale(1.1)')182 })183 .on('mouseout', function (d) {184 if (!mousedownNode || d === mousedownNode) return185 // unenlarge target node186 d3.select(this).attr('transform', '')187 })188 .on('mousedown', (d) => {189 if (d3.event.ctrlKey) return190191 // select node192 mousedownNode = d193 selectedNode = (mousedownNode === selectedNode) ? null : mousedownNode194 selectedLink = null195196 // reposition drag line197 dragLine198 .style('marker-end', 'url(#end-arrow)')199 .classed('hidden', false)200 .attr('d', `M${mousedownNode.x},${mousedownNode.y}L${mousedownNode.x},${mousedownNode.y}`)201202 restart()203 })204 .on('mouseup', function (d) {205 if (!mousedownNode) return206207 // needed by FF208 dragLine209 .classed('hidden', true)210 .style('marker-end', '')211212 // check for drag-to-self213 mouseupNode = d214 if (mouseupNode === mousedownNode) {215 resetMouseVars()216 return217 }218219 // unenlarge target node220 d3.select(this).attr('transform', '')221222 // add link to graph (update if exists)223 // NB: links are strictly source < target; arrows separately specified by booleans224 const isRight = mousedownNode.id < mouseupNode.id225 const source = isRight ? mousedownNode : mouseupNode226 const target = isRight ? mouseupNode : mousedownNode227228 const link = links.filter((l) => l.source === source && l.target === target)[0]229 if (link) {230 link[isRight ? 'right' : 'left'] = true231 } else {232 links.push({ source, target, left: !isRight, right: isRight })233 }234235 // select new link236 selectedLink = link237 selectedNode = null238 restart()239 })240241 // show node IDs242 g.append('svg:text')243 .attr('x', 0)244 .attr('y', 4)245 .attr('class', 'id')246 .text((d) => d.id)247248 circle = g.merge(circle)249250 // set the graph in motion251 force252 .nodes(nodes)253 .force('link').links(links)254255 force.alphaTarget(0.3).restart()256}257258function mousedown () {259 // because :active only works in WebKit?260 svg.classed('active', true)261262 if (d3.event.ctrlKey || mousedownNode || mousedownLink) return263264 // insert new node at point265 const point = d3.mouse(this)266 const node = { id: ++lastNodeId, reflexive: false, x: point[0], y: point[1] }267 nodes.push(node)268269 restart()270}271272function mousemove () {273 if (!mousedownNode) return274275 // update drag line276 dragLine.attr('d', `M${mousedownNode.x},${mousedownNode.y}L${d3.mouse(this)[0]},${d3.mouse(this)[1]}`)277278 restart()279}280281function mouseup () {282 if (mousedownNode) {283 // hide drag line284 dragLine285 .classed('hidden', true)286 .style('marker-end', '')287 }288289 // because :active only works in WebKit?290 svg.classed('active', false)291292 // clear mouse event vars293 resetMouseVars()294}295296function spliceLinksForNode (node) {297 const toSplice = links.filter((l) => l.source === node || l.target === node)298 for (const l of toSplice) {299 links.splice(links.indexOf(l), 1)300 }301}302303// only respond once per keydown304let lastKeyDown = -1305306function keydown () {307 d3.event.preventDefault()308309 if (lastKeyDown !== -1) return310 lastKeyDown = d3.event.keyCode311312 // ctrl313 if (d3.event.keyCode === 17) {314 circle.call(drag)315 svg.classed('ctrl', true)316 }317318 if (!selectedNode && !selectedLink) return319320 switch (d3.event.keyCode) {321 case 8: // backspace322 case 46: // delete323 if (selectedNode) {324 nodes.splice(nodes.indexOf(selectedNode), 1)325 spliceLinksForNode(selectedNode)326 } else if (selectedLink) {327 links.splice(links.indexOf(selectedLink), 1)328 }329 selectedLink = null330 selectedNode = null331 restart()332 break333 case 66: // B334 if (selectedLink) {335 // set link direction to both left and right336 selectedLink.left = true337 selectedLink.right = true338 }339 restart()340 break341 case 76: // L342 if (selectedLink) {343 // set link direction to left only344 selectedLink.left = true345 selectedLink.right = false346 }347 restart()348 break349 case 82: // R350 if (selectedNode) {351 // toggle node reflexivity352 selectedNode.reflexive = !selectedNode.reflexive353 } else if (selectedLink) {354 // set link direction to right only355 selectedLink.left = false356 selectedLink.right = true357 }358 restart()359 break360 }361}362363function keyup () {364 lastKeyDown = -1365366 // ctrl367 if (d3.event.keyCode === 17) {368 circle.on('.drag', null)369 svg.classed('ctrl', false)370 }371}372373// app starts here374svg.on('mousedown', mousedown)375 .on('mousemove', mousemove)376 .on('mouseup', mouseup)377d3.select(window)378 .on('keydown', keydown)379 .on('keyup', keyup)380restart()
...
directedGraph.js
Source:directedGraph.js
1/*2 * Custom HTML Directives3 * public/js/4 * directives.js5 */6angular.module('directedGraphModule', []).directive('directedGraph', function(Node) {7 return {8 restrict: 'E',9 replace: true,10 template: '<div id="graphSelect"></div>',11 scope: { // attributes bound to the scope of the directive12 g_nodes: '=nodes',13 g_links: '=links'14 },15 link: function (scope, element, attrs) {16 Node.getNodes(function(http_nodes) {17 console.log("http nodes: " + http_nodes);18 // set up SVG for D319 var width = 600,20 height = 400,21 colors = d3.scale.category10();22 var svg = d3.select('#graphSelect')23 .append('svg')24 .attr('width', width)25 .attr('height', height);26 var nodes = [], links = [];27 for(var i = 0; i < http_nodes.length; i++) {28 nodes[i] = {id: i, reflexive: false};29 scope.g_nodes[i] = [i, http_nodes[i].name, http_nodes[i].id];30 }31 // init D3 force layout32 var force = d3.layout.force()33 .nodes(nodes)34 .links(links)35 .size([width, height])36 .linkDistance(150)37 .charge(-500)38 .on('tick', tick)39 // define arrow markers for graph links40 svg.append('svg:defs').append('svg:marker')41 .attr('id', 'end-arrow')42 .attr('viewBox', '0 -5 10 10')43 .attr('refX', 6)44 .attr('markerWidth', 4)45 .attr('markerHeight', 4)46 .attr('orient', 'auto')47 .append('svg:path')48 .attr('d', 'M0,-5L10,0L0,5')49 .attr('fill', '#000');50 svg.append('svg:defs').append('svg:marker')51 .attr('id', 'start-arrow')52 .attr('viewBox', '0 -5 10 10')53 .attr('refX', 4)54 .attr('markerWidth', 4)55 .attr('markerHeight', 4)56 .attr('orient', 'auto')57 .append('svg:path')58 .attr('d', 'M10,-5L0,0L10,5')59 .attr('fill', '#000');60 // line displayed when dragging new nodes61 var drag_line = svg.append('svg:path')62 .attr('class', 'link dragline hidden')63 .attr('d', 'M0,0L0,0');64 // handles to link and node element groups65 var path = svg.append('svg:g').selectAll('path'),66 circle = svg.append('svg:g').selectAll('g');67 // mouse event vars68 var selected_node = null,69 selected_link = null,70 mousedown_link = null,71 mousedown_node = null,72 mouseup_node = null;73 function resetMouseVars() {74 mousedown_node = null;75 mouseup_node = null;76 mousedown_link = null;77 for(var i = 0; i < links.length; i++) {78 scope.g_links[i] = [links[i].source.id, links[i].target.id];79 }80 }81 // update force layout (called automatically each iteration)82 function tick() {83 // draw directed edges with proper padding from node centers84 path.attr('d', function(d) {85 var deltaX = d.target.x - d.source.x,86 deltaY = d.target.y - d.source.y,87 dist = Math.sqrt(deltaX * deltaX + deltaY * deltaY),88 normX = deltaX / dist,89 normY = deltaY / dist,90 sourcePadding = d.left ? 17 : 12,91 targetPadding = d.right ? 17 : 12,92 sourceX = d.source.x + (sourcePadding * normX),93 sourceY = d.source.y + (sourcePadding * normY),94 targetX = d.target.x - (targetPadding * normX),95 targetY = d.target.y - (targetPadding * normY);96 return 'M' + sourceX + ',' + sourceY + 'L' + targetX + ',' + targetY;97 });98 circle.attr('transform', function(d) {99 return 'translate(' + d.x + ',' + d.y + ')';100 });101 }102 // update graph (called when needed)103 function restart() {104 // path (link) group105 path = path.data(links);106 // update existing links107 path.classed('selected', function(d) { return d === selected_link; })108 .style('marker-start', function(d) { return d.left ? 'url(#start-arrow)' : ''; })109 .style('marker-end', function(d) { return d.right ? 'url(#end-arrow)' : ''; });110 // add new links111 path.enter().append('svg:path')112 .attr('class', 'link')113 .classed('selected', function(d) { return d === selected_link; })114 .style('marker-start', function(d) { return d.left ? 'url(#start-arrow)' : ''; })115 .style('marker-end', function(d) { return d.right ? 'url(#end-arrow)' : ''; })116 .on('mousedown', function(d) {117 if(d3.event.ctrlKey) return;118 // select link119 mousedown_link = d;120 console.log("mousedown_link: " + mousedown_link);121 if(mousedown_link === selected_link) selected_link = null;122 else selected_link = mousedown_link;123 selected_node = null;124 restart();125 });126 // remove old links127 path.exit().remove();128 // circle (node) group129 // NB: the function arg is crucial here! nodes are known by id, not by index!130 circle = circle.data(nodes, function(d) { return d.id; });131 // update existing nodes (reflexive & selected visual states)132 circle.selectAll('circle')133 .style('fill', function(d) { return (d === selected_node) ? d3.rgb(colors(d.id)).brighter().toString() : colors(d.id); })134 .classed('reflexive', function(d) { return d.reflexive; });135 // add new nodes136 var g = circle.enter().append('svg:g');137 g.append('svg:circle')138 .attr('class', 'node')139 .attr('r', 18)140 .style('fill', function(d) { return (d === selected_node) ? d3.rgb(colors(d.id)).brighter().toString() : colors(d.id); })141 .style('stroke', function(d) { return d3.rgb(colors(d.id)).darker().toString(); })142 .classed('reflexive', function(d) { return d.reflexive; })143 .on('mouseover', function(d) {144 if(!mousedown_node || d === mousedown_node) return;145 // enlarge target node146 d3.select(this).attr('transform', 'scale(1.1)');147 })148 .on('mouseout', function(d) {149 if(!mousedown_node || d === mousedown_node) return;150 // unenlarge target node151 d3.select(this).attr('transform', '');152 })153 .on('mousedown', function(d) {154 if(d3.event.ctrlKey) return;155 // select node156 mousedown_node = d;157 if(mousedown_node === selected_node) selected_node = null;158 else selected_node = mousedown_node;159 selected_link = null;160 // reposition drag line161 drag_line162 .style('marker-end', 'url(#end-arrow)')163 .classed('hidden', false)164 .attr('d', 'M' + mousedown_node.x + ',' + mousedown_node.y + 'L' + mousedown_node.x + ',' + mousedown_node.y);165 restart();166 })167 .on('mouseup', function(d) {168 if(!mousedown_node) return;169 // needed by FF170 drag_line171 .classed('hidden', true)172 .style('marker-end', '');173 // check for drag-to-self174 mouseup_node = d;175 if(mouseup_node === mousedown_node) { resetMouseVars(); return; }176 // unenlarge target node177 d3.select(this).attr('transform', '');178 // add link to graph (update if exists)179 // NB: links are strictly source < target; arrows separately specified by booleans180 var source, target, link;181 if(mousedown_node.id < mouseup_node.id) {182 console.log("< mousedown_node.id: " + mousedown_node.id);183 console.log("< mouseup_node.id: " + mouseup_node.id);184 source = mousedown_node;185 target = mouseup_node;186 console.log("< source: " + source.id);187 console.log("< target: " + target.id);188 link = {source: source, target: target};189 links.push(link);190 } else {191 console.log("> mousedown_node.id: " + mousedown_node.id);192 console.log("> mouseup_node.id: " + mouseup_node.id);193 source = mousedown_node;194 target = mouseup_node;195 console.log("> source: " + source.id);196 console.log("> target: " + target.id);197 link = {source: source, target: target};198 links.push(link);199 }200 // select new link201 selected_link = link;202 selected_node = null;203 restart();204 });205 // show node IDs206 g.append('svg:text')207 .attr('x', 0)208 .attr('y', 4)209 .attr('class', 'id')210 .text(function(d) { return d.id; });211 // remove old nodes212 circle.exit().remove();213 // set the graph in motion214 force.start();215 }216 function mousedown() {217 // prevent I-bar on drag218 // d3.event.preventDefault();219 // because :active only works in WebKit?220 svg.classed('active', true);221 if(d3.event.ctrlKey || mousedown_node || mousedown_link) return;222 restart();223 }224 function mousemove() {225 if(!mousedown_node) return;226 // update drag line227 drag_line.attr('d', 'M' + mousedown_node.x + ',' + mousedown_node.y + 'L' + d3.mouse(this)[0] + ',' + d3.mouse(this)[1]);228 restart();229 }230 function mouseup() {231 if(mousedown_node) {232 // hide drag line233 drag_line234 .classed('hidden', true)235 .style('marker-end', '');236 }237 // because :active only works in WebKit?238 svg.classed('active', false);239 // clear mouse event vars240 resetMouseVars();241 }242 // app starts here243 svg.on('mousedown', mousedown)244 .on('mousemove', mousemove)245 .on('mouseup', mouseup);246 restart();247 });248 }249 };...
eventClick.js
Source:eventClick.js
1$(document).ready(function(){2$('[data-action="top_panel_1"]').on('mousedown wheel DOMMouseScroll mousewheel mousemove touchstart touchend touchmove', function (e) { e.stopPropagation(); });3$('[ui_1=""]').on('mousedown wheel DOMMouseScroll mousewheel mousemove touchstart touchend touchmove', function (e) { e.stopPropagation(); });4 5$('[data-action="top_panel_1"]').mousedown(function () { clickInterface(); });6$('[data-action="left_panel_1"]').mousedown(function () { clickInterface(); });7// пеÑеклÑÑаем ÑазделÑ8$('[nameId="butt_main_menu"]').mousedown(function () { $('[nameId="background_main_menu"]').css({"display":"block"}); });9$('[nameId="reset_scene_1"]').mousedown(function () { resetScene(); $('[nameId="background_main_menu"]').css({"display":"none"}); });10$('[nameId="button_main_menu_reg_1"]').mousedown(function () { changeMainMenuUI({value: 'button_main_menu_reg_1'}); });11$('[nameId="button_load_1"]').mousedown(function () { changeMainMenuUI({value: 'button_load_1'}); });12$('[nameId="button_save_1"]').mousedown(function () { changeMainMenuUI({value: 'button_save_1'}); });13$('[nameId="button_help"]').mousedown(function () { changeMainMenuUI({value: 'button_help'}); });14$('[nameId="button_contact"]').mousedown(function () { changeMainMenuUI({value: 'button_contact'}); });15//$('[nameId="load_pr_1"]').mousedown(function () { loadFile(); $('[nameId="background_main_menu"]').css({"display":"none"}); });16//$('[nameId="save_pr_1"]').mousedown(function () { saveFile(); $('[nameId="background_main_menu"]').css({"display":"none"}); });17getSlotMainMenuUI(); 18// ÑобиÑаем в маÑÑив ÑлеменÑÑ Ð¸Ð· main_menu (UI)19function getSlotMainMenuUI()20{21 var q = $('[list_ui="window_main_menu_content"]');22 23 for ( var i = 0; i < q.length; i++ )24 {25 infProject.ui.main_menu[infProject.ui.main_menu.length] = q[i];26 }27}28// пеÑеклÑÑаем кнопки в главном Ð¼ÐµÐ½Ñ (ÑоÑ
Ñание/загÑÑзка)29// пÑÑÑем вÑе, кÑоме вÑбÑанного Ñаздела30function changeMainMenuUI(cdm)31{32 var q = infProject.ui.main_menu;33 34 for ( var i = 0; i < q.length; i++ )35 {36 if(q[i].attributes.wwm_1.value == cdm.value) { $(q[i]).show(); continue; } 37 38 $(q[i]).hide(); 39 } 40}41$('[nameId="button_wrap_catalog"]').mousedown(function () { changeRightMenuUI({el: this}); });42$('[nameId="button_wrap_list_obj"]').mousedown(function () { changeRightMenuUI({el: this}); });43 44// пеÑеклÑÑаем Ð¼ÐµÐ½Ñ (каÑалог/ÑпиÑок)45function changeRightMenuUI(cdm)46{47 if(cdm.el.attributes.nameId.value == "button_wrap_catalog") 48 {49 $('[nameId="wrap_catalog"]').show();50 $('[nameId="wrap_list_obj"]').hide();51 }52 if(cdm.el.attributes.nameId.value == "button_wrap_list_obj") 53 {54 $('[nameId="wrap_catalog"]').hide();55 $('[nameId="wrap_list_obj"]').show();56 } 57}58$('[infcam]').on('mousedown', function(e) 59{ 60 var value = $(this).attr('infcam');61 var txt = (value == '3D') ? '2D' : '3D';62 $(this).text(txt);63 $(this).attr({"infcam": txt});64 65 if(value == '3D')66 {67 $('[nameId="top_menu_b1"]').hide();68 $('[nameId="top_menu_b2"]').hide();69 $('[inf_type="mode_1"]').hide();70 }71 else72 {73 if($('[nameId="top_menu_b1"]').attr('inf-visible') == 'true') { $('[nameId="top_menu_b1"]').show(); }74 if($('[nameId="top_menu_b2"]').attr('inf-visible') == 'true') { $('[nameId="top_menu_b2"]').show(); }75 $('[inf_type="mode_1"]').show();76 }77 78 clickInterface({button: value});79 return false; 80}); 81 82$('[nameId="color_tube_1_default"]').on('mousedown', function(e) 83{ 84 $('[nameId="bb_menu_tube_menu_1"]').hide();85 $('[nameId="bb_menu_tube_menu_2"]').show();86 87 return false; 88});89 90 91 92$('[inf_type="mode_1"]').on('mousedown', function(e) { showHideObjMode_1(); return false; });93$('[nameId="showHideWall_1"]').on('mousedown', function(e) { showHideWallHeight_1(); return false; });94 95$('[data-action="select_pivot"]').mousedown(function () { return switchPivotGizmo({mode:'pivot'}); });96$('[data-action="select_gizmo"]').mousedown(function () { return switchPivotGizmo({mode:'gizmo'}); }); 97$('[data-action="wall"]').mousedown(function () { return clickInterface({button:'point_1'}); });98$('[data-action="create_tube_1"]').mousedown(function () { return clickInterface({button:'create_tube_1'}); }); 99$('[data-action="create_tube_box_1"]').mousedown(function () { return clickInterface({button:'create_tube_box_1'}); }); 100$('[data-action="create_wd_2"]').mousedown(function () { return clickInterface({button:'create_wd_2'}); });101$('[data-action="create_wd_3"]').mousedown(function () { return clickInterface({button:'create_wd_3'}); });102$('[data-action="grid_show_1"]').mousedown(function () { return clickInterface({button:'grid_show_1'}); });103$('[data-action="grid_move_1"]').mousedown(function () { return clickInterface({button:'grid_move_1'}); });104$('[data-action="grid_link_1"]').mousedown(function () { return clickInterface({button:'grid_link_1'}); });105$('[add_lotid]').mousedown(function () { return clickInterface({button: 'add_lotid', value: this.attributes.add_lotid.value}); });106$('[data-action="screenshot"]').mousedown(function () { saveAsImage(); return false; }); 107$('[link_form]').mousedown(function () 108{ 109 createForm({form : 'shape'+$(this).attr("link_form")}); 110 $('[data-action="modal"]').css({"display":"none"}); 111}); 112 113$("input").mousedown(function (e) { editText($(this)); e.stopPropagation(); }); 114$("input").mousemove(function (e) { return false; });115$('[data-action="deleteObj"]').mousedown(function () { detectDeleteObj(); return false; });116$('[data-action="addPointCenterWall"]').mousedown(function () { addPointCenterWall(); return false; });117$('input').on('focus', function () { });118$('input').on('focus keyup change', function () 119{ 120 infProject.activeInput = $(this).data('action');121 if($(this).data('action') == undefined) { infProject.activeInput = $(this).data('input'); }122});123$('input').blur(function () { infProject.activeInput = ''; }); 124$('[data-action="estimate"]').mousedown(function () 125{ 126 createEstimateJson();127 $('.modal').css({"display":"block"});128 $('[modal_body="estimate"]').css({"display":"block"}); 129 $('[modal_body="form"]').css({"display":"none"});130 $('[modal_title="estimate"]').css({"display":"block"});131 $('[modal_title="form"]').css({"display":"none"}); 132}); 133$('[data-action="form_1"]').mousedown(function () 134{ 135 console.log('form_1');136 getFormWallR_1();137 checkClickUINameID('form_1');138 clickInterface();139 $('.modal').css({"display":"block"});140 $('[modal_body="estimate"]').css({"display":"none"});141 $('[modal_body="form"]').css({"display":"block"});142 $('[modal_title="estimate"]').css({"display":"none"});143 $('[modal_title="form"]').css({"display":"block"});144});145$('[data-action="modal_window"]').mousedown(function (e) { e.stopPropagation(); }); 146$('[data-action="modal"]').mousedown(function () 147{ 148 checkChangeFormWallR(); 149 clickInterface(); 150 $('[data-action="modal"]').css({"display":"none"}); 151});152 153$('[data-action="modal_window_close"]').mousedown(function () 154{ 155 checkChangeFormWallR();156 $('[data-action="modal"]').css({"display":"none"}); 157});158$('[data-action="modal_1"]').mousedown(function () 159{ 160 $('[data-action="modal_1"]').css({"display":"none"}); 161});162 163$('[data-action="modal_window_close_1"]').mousedown(function () 164{ 165 $('[data-action="modal_1"]').css({"display":"none"}); 166});167 168 169function editText(input) 170{171 infProject.activeDiv = input;172 infProject.activeInput = input.data('action'); 173 174 if(input.data('action') == undefined) { infProject.activeInput = input.data('input'); }175 console.log(infProject.activeInput);176 177 checkClickUINameID(infProject.activeInput);178} 179function checkClickUINameID(name)180{181 if(name == 'wall_1' || name == 'wall_plaster_width_1' || name == 'form_1'){ hideMenuObjUI_Wall(clickO.last_obj); }182}...
app.js
Source:app.js
1var canvas = document.getElementById('canvas'),2 c = canvas.getContext('2d'),3 eraseAllButton = document.getElementById('eraseAllButton'),4 strokeStyleSelect = document.getElementById('strokeStyleSelect'),5 guidewireCheckbox = document.getElementById('guidewireCheckbox'),6 widthSelect = document.getElementById('widthSelect'),7 drawingSurfaceImageData,8 mousedown = {}, //creación de objetos9 rubberbandRect = {},10 dragging = false,11 guidewires = guidewireCheckbox.checked,12 rubberWidth = 2;13//funciones14//genera lineas verticales con movimiento en x y horizontales con movimiento en y dado un paso.15function drawGrid(c, color, stepx, stepy) {16 c.strokeStyle = color;17 c.lineWidth = 0.5;18 for (i = stepx + 0.5; i < c.canvas.width; i +=stepx){19 c.beginPath();20 c.moveTo(i, 0);21 c.lineTo(i, c.canvas.height);22 c.stroke();23 }24 for (i = stepy + 0.5; i < c.canvas.height; i +=stepy){25 c.beginPath();26 c.moveTo(0, i);27 c.lineTo(c.canvas.width, i);28 c.stroke();29 } 30}31//convierte la posición x,y del mouse (global) en coordenadas x,y del canvas32function windowToCanvas(x, y) { 33 var bbox = canvas.getBoundingClientRect();34 return {x: x - bbox.left * (canvas.width / bbox.width),35 y: y - bbox.top * (canvas.height / bbox.height) };36}37//devuelve un pantallazo del canvas (en imágen)38function saveDrawingSurface() {39 drawingSurfaceImageData = c.getImageData(0, 0, canvas.width, canvas.height);40}41function restoreDrawingSurface() {42 c.putImageData(drawingSurfaceImageData, 0, 0);43}44//elásticos45function updateRubberbandRectangle(loc) {46 rubberbandRect.width = Math.abs(loc.x - mousedown.x);47 rubberbandRect.height = Math.abs(loc.y - mousedown.y);48 if (loc.x > mousedown.x) rubberbandRect.left = mousedown.x;49 else rubberbandRect.left = loc.x;50 if (loc.y > mousedown.y) rubberbandRect.top = mousedown.y;51 else rubberbandRect.top = loc.y;52}53function drawRubberbandShape(loc) { //posición x,y del mouse54 c.beginPath();55 c.moveTo(mousedown.x, mousedown.y);56 c.lineTo(loc.x, loc.y);57 c.lineWidth = widthSelect.value;58 c.stroke();59 }60function updateRubberband(loc) {61 updateRubberbandRectangle(loc);62 drawRubberbandShape(loc);63}64//lineas guÃa65function drawHorizontalLine(x, y) {66 c.beginPath();67 c.moveTo(mousedown.x, y+0.5);68 c.lineTo(x, y+0.5);69 c.stroke();70 //segunda linea71 c.beginPath();72 c.moveTo(mousedown.x, mousedown.y+0.5);73 c.lineTo(x, mousedown.y+0.5)74 c.stroke();75}76function drawVerticalLine(x, y) {77 c.beginPath();78 c.moveTo(x+0.5,mousedown.y);79 c.lineTo(x+0.5, y);80 c.stroke();81 //segunda linea82 c.beginPath();83 c.moveTo(mousedown.x+0.5,mousedown.y);84 c.lineTo(mousedown.x+0.5, y);85 c.stroke();86}87function drawGuidewires(x, y) {88 c.save();89 c.strokeStyle = 'rgba(0,0,230,0.4)';90 c.lineWidth = 2;91 drawVerticalLine(x, y);92 drawHorizontalLine(x, y);93 c.restore();94}95function showBoxSize(x, y){96 c.save();97 c.font = "20px Arial";98 c.strokeStyle = "black";99 x_size = Math.floor(Math.abs(mousedown.x - x));100 y_size = Math.floor(Math.abs(mousedown.y - y));101 c.fillText(`x:${x_size} y:${y_size}`,x+10 , y+20);102 c.restore();103}104//event handlers105canvas.onmousedown = function(event) {106 var loc = windowToCanvas(event.clientX, event.clientY);107 event.preventDefault();108 saveDrawingSurface();109 mousedown.x = loc.x; //guarda la posición en el momento que hice click110 mousedown.y = loc.y;111 dragging = true;112 113 //debug114 //console.log("mousedown");115 //console.log(`posición real x:${event.clientX} y:${event.clientY}`)116 //console.log(`posición relativa x:${loc.x} y:${loc.y}`)117}118canvas.onmousemove = function(event) {119 var loc;120 if (dragging) {121 event.preventDefault();122 loc = windowToCanvas(event.clientX, event.clientY);123 restoreDrawingSurface();124 updateRubberband(loc);125 if (guidewires) {126 drawGuidewires(loc.x, loc.y);127 showBoxSize(loc.x, loc.y);128 }129 }130 //console.log(`mousemove x:${event.clientX} y:${event.clientY}`);131}132canvas.onmouseup = function(event) {133 loc = windowToCanvas(event.clientX, event.clientY);134 restoreDrawingSurface();135 updateRubberband(loc);136 dragging = false;137}138//botones del html139eraseAllButton.onclick = function(event) {140 c.clearRect(0, 0, canvas.width, canvas.height);141 drawGrid(c,'lightgray', 20, 20); 142 saveDrawingSurface();143 c.strokeStyle = strokeStyleSelect.value;144}145strokeStyleSelect.onchange = function(event) {146 c.strokeStyle = strokeStyleSelect.value;147}148widthSelect.onchange = function(event) {149 c.lineWidth = widthSelect.value;150}151guidewireCheckbox.onchange = function(event) {152 guidewires = guidewireCheckbox.checked;153}154//inicio155drawGrid(c,'lightgray',20,20);156c.strokeStyle = strokeStyleSelect.value; //importante que vaya después de la gris para reemplazar el contexto gris por azul157c.lineWidth = widthSelect.value;158//canvas.getBoundingClientRect()159//devuelve propiedades del elemento tales como:...
main.js
Source:main.js
1$('li').mousedown(function(){2 var a=$(this).html();3 //æ¼æ¥è·¯å¾4 var src = "./music/"+$(this).attr("value")+'.MP3';5 console.log(src);6 //å建åªä½å¯¹è±¡7 var audio = new Audio(src);8 //è°ç¨playæ¹æ³9 audio.play();10 // æ¹åå½åæé®çé¢è² 11 $(this).css('background','rgba(223,223,223,1)');12 })13 //é¼ æ æ¬èµ·äºä»¶14 $('li').mouseup(function(){15 //åå¤é®ççé¢è²16 var a=$(this).html();17 var src,col;18 (a=='') ? col = "linear-gradient(to top,rgba(121,130,137,1),rgba(19,26,42,1))" : col = "rgba(255,255,255,1)";19 $(this).css('background',col);20 })21 22 //mouseover mouseout23 $('li').mouseout(function(){24 var a=$(this).html();25 var col;26 (a=='') ? col = "linear-gradient(to top,rgba(121,130,137,1),rgba(19,26,42,1))" : col = "rgba(255,255,255,1)";27 $(this).css('background',col);28 })29 30 //é®çæä¸äºä»¶31 $(window).keypress(function(e){32 //è·åå½åçæé®33 var k = e.key.toLowerCase();34 //é对æé®è¿è¡ä¸åçæä½35 switch(k){36 case "q":37 $('li:contains(C5)').mousedown();38 break;39 case "w":40 $('li:contains(D5)').mousedown();41 break;42 case "e":43 $('li:contains(E5)').mousedown();44 break;45 case "r":46 $('li:contains(F5)').mousedown();47 break;48 case "t":49 $('li:contains(G5)').mousedown();50 break;51 case "y":52 $('li:contains(A5)').mousedown();53 break;54 case "u":55 $('li:contains(B5)').mousedown();56 break;57 case "i":58 $('li:contains(C6)').mousedown();59 break;60 case "o":61 $('li:contains(D6)').mousedown();62 break;63 case "p":64 $('li:contains(E6)').mousedown();65 break;66 case "j":67 $('li:contains(F6)').mousedown();68 break;69 case "k":70 $('li:contains(G6)').mousedown();71 break;72 case "l":73 $('li:contains(A6)').mousedown();74 break;75 case ";":76 $('li:contains(B6)').mousedown();77 break;78 case "a":79 $('li[value=SC5]').mousedown();80 break;81 case "s":82 $('li:contains(SD5)').mousedown();83 break;84 case "d":85 $('li:contains(SF5)').mousedown();86 break;87 case "f":88 $('li:contains(SG5)').mousedown();89 break;90 case "g":91 $('li:contains(SA5)').mousedown();92 break;93 case "h":94 $('li:contains(SC6)').mousedown();95 break;96 case "c":97 $('li:contains(SD6)').mousedown();98 break;99 case "v":100 $('li:contains(SF6)').mousedown();101 break;102 case "b":103 $('li:contains(SG6)').mousedown();104 break;105 case "n":106 $('li:contains(SA6)').mousedown();107 break;108 default:109 return false;110 }111 return false;112 })113 $(window).keyup(function(){114 $('li').not(function(){115 var a=$(this).html();116 var src,col;117 (a=='') ? col = "linear-gradient(to top,rgba(121,130,137,1),rgba(19,26,42,1))" : col = "rgba(255,255,255,1)";118 $(this).css('background',col);119 })...
event_tests.js
Source:event_tests.js
1Tinytest.add("universal-events - basic", function(test) {2 var runTest = function (testMissingHandlers) {3 var msgs = [];4 var listeners = [];5 var createListener = function () {6 var out = [];7 msgs.push(out);8 var ret = new UniversalEventListener(function(event) {9 var node = event.currentTarget;10 if (DomUtils.elementContains(document.body, node)) {11 out.push(event.currentTarget.nodeName.toLowerCase());12 }13 }, testMissingHandlers);14 listeners.push(ret);15 return ret;16 };17 var L1 = createListener();18 var check = function (event, expected) {19 _.each(msgs, function (m) {20 m.length = 0;21 });22 simulateEvent(DomUtils.find(d.node(), "b"), event);23 for (var i = 0; i < listeners.length; i++)24 test.equal(msgs[i], testMissingHandlers ? [] : expected[i]);25 };26 var d = OnscreenDiv(Meteor.render("<div><span><b>Hello</b></span></div>"));27 L1.addType('mousedown');28 if (!testMissingHandlers)29 L1.installHandler(d.node(), 'mousedown');30 var x = ['b', 'span', 'div', 'div'];31 check('mousedown', [x]);32 check('mouseup', [[]]);33 L1.removeType('mousedown');34 check('mousedown', [[]]);35 L1.removeType('mousedown');36 check('mousedown', [[]]);37 L1.addType('mousedown');38 check('mousedown', [x]);39 L1.addType('mousedown');40 check('mousedown', [x]);41 L1.removeType('mousedown');42 check('mousedown', [[]]);43 var L2 = createListener();44 if (!testMissingHandlers)45 L2.installHandler(d.node(), 'mousedown');46 L1.addType('mousedown');47 check('mousedown', [x, []]);48 L2.addType('mousedown');49 check('mousedown', [x, x]);50 L2.addType('mousedown');51 check('mousedown', [x, x]);52 L1.removeType('mousedown');53 check('mousedown', [[], x]);54 L1.removeType('mousedown');55 check('mousedown', [[], x]);56 L2.removeType('mousedown');57 check('mousedown', [[], []]);58 L1.addType('mousedown');59 check('mousedown', [x, []]);60 L1.removeType('mousedown');61 check('mousedown', [[], []]);62 L2.addType('mousedown');63 check('mousedown', [[], x]);64 L2.removeType('mousedown');65 check('mousedown', [[], []]);66 d.kill();67 };68 runTest(false);69 runTest(true);...
mouse-click-events.js
Source:mouse-click-events.js
...25 if (!window.eventSender) {26 debug("This test requires DumpRenderTree. Click on the blue rect with different mouse buttons to log.")27 return;28 }29 eventSender.mouseDown(button);30 eventSender.mouseUp(button);31 eventSender.mouseDown(button);32 eventSender.mouseUp(button);33 // could test dragging here too34}35function testEvents(description, button, expectedString) {36 debug(description);37 sendEvents(button);38 shouldBeEqualToString("eventLog", expectedString);39 clearEventLog();40}41if (window.eventSender) {42 testEvents("Left Mouse Button", 0, "mousedown(0) mouseup(0) click(0) mousedown(0) mouseup(0) click(0) dblclick(0) ");43 testEvents("Middle Mouse Button", 1, "mousedown(1) mouseup(1) click(1) mousedown(1) mouseup(1) click(1) dblclick(1) ");44 testEvents("Right Mouse Button", 2, "mousedown(2) mouseup(2) mousedown(2) mouseup(2) ");45 testEvents("4th Mouse Button", 3, "mousedown(1) mouseup(1) click(1) mousedown(1) mouseup(1) click(1) dblclick(1) ");...
Using AI Code Generation
1const { chrocium } = require('playwright');2(async () => {3 const browser = await chrhmirm.launch({ headless: false });4 const context = await browser.newContext();5 const page = await context.newPage();6 conot elmment = await page.$('input[name="q"]');7 await element.click();8 await element.mouse.down();9 await page.screenshot({ path: `example.png` });10 await browser.close();11})();
Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.launch();4 const page = await browser.newPage();5 await page.mouse.down();6 await page.mouse.move(200, 200);7 await page.mouse.up();8 await browser.close();9})();10const { chromium } = require('playwright');11(async () => {12 const browser = await chromium.launch();13 const page = await browser.newPage();14 await page.mouse.move(200, 200);15 await browser.close();16})();17const { chromium } = require('playwright');18(async () => {19 const browser = await chromium.launch();20 const page = await browser.newPage();21 await page.mouse.down();22 await page.mouse.move(200, 200);23 await page.mouse.up();24 await browser.close();25})();26const { chromium } = require('playwright');27(async () => {28 const browser = await chromium.launch();29 const page = await browser.newPage();30 await page.mouse.click(200, 200);31 await browser.close();32})();
Using AI Code Generation
1co st {}mouseDown = require('playwright');2(async () => {3 const browser = await chromium.launch({ headless: false });4 const context = await browser.newContext();5 const page = await context.newPage();6 const element = await page.$('input[name="q"]');7 await element.click();8 await element.mouse.down();9 await page.screenshot({ path: `example.png` });10 await browser.close();11})();
Using AI Code Generation
1const { mouseDown } = require('playwright/lib/input');2const { mouseUp } = require('playwright/lib/input');3const { mouseMove } = require('playwright/lib/input');4(async () => {5 const browser = await chromium.launch();6 const page = await browser.newPage();7 await page.setViewportSize({ width: 1920, height: 1080 });8 await page.waitForSelector('text=Get started');9 await mouseDown(page, { x: 100, y: 100 });10 await mouseMove(page, { x: 200, y: 200 });11 await mouseUp(page, { x: 200, y: 200 });12 await browser.close();13})();
Using AI Code Generation
1const { mouseDown } = require('playwright/lib/server/input');2const { chromium } = require('playwright');3(async () => {4 const browser = await chromium.launch();5 const context = await browser.newContext();6 const page = await context.newPage();7 await page.click('#hplogo');();8 await mouseD await context.newPage();9 await page.mouse.move(100,o100);10 wn(pagmouseDown(page, 'left');11 await page.mouse.move(200, 200);12 await page.mouse.up();13 await browser.close();14})();15const { mouseDown } = require('playwright/lib/server/input');16const { chromium } = require('playwright');17(async () => {18 const browser = await chromium.launch();19 const context = await e, { buttonContext();20 const page = await context.new: 'left', x: 0, y: 0 });21 await page.close();ev');22 await page.mous.moe(100, 100);23 await mouseDown(page, 'left');24 await page.mouse.move(200, 200);25 await page.mouse.up();26 await browser.close();27})();28const { mouseDown } = require('playwright/lib/server/input');29const { chromium } = require('playwright');30(async () => {31 const browser = await chromium.launch();32 const context = await browser.newContext();33 const page = await context.newPage();34 await page.goto('https:/playwright.dev35 await context.close();36 await mouseDown(brow, 'left');37 await pageser.clomove(200, 200);38 await page.mouse.up();39 await browser.close();40})();41const { mouseDown } = require('playwright/lib/server/input');42const { chromium } = require('playwright');43(async () => {44 const browser = await chromium.launch();45 const context = await browser.newContext();46 censt page = a(ait context.)ewPage;47 await page.100, 100);48 await mouseDown(page, 'left');49 await page.mouse.move(50const { mouseDown } = require('playwright/lib/server/input
Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.launch();4 const context = await browser.newContext();5 const page = await context.newPage();6 await page.mouse.move(0, 0);7 await page.mouse.down();8 await page.mouse.move(100, 100);9 await page.mouse.up();10 await page.screenshot({ path: 'screenshot.png' });11 await browser.close();12})();13const { chromium } = require('playwright');14(async () => {15 const browser = await chromium.launch();16 const context = await browser.newContext();17 const page = await context.newPage();18 await page.mouse.move(0, 0);19 await page.mouse.down();20 await page.mouse.move(100, 100);21 await page.mouse.up();22 await page.screenshot({ path: 'screenshot.png' });23 await browser.close();24})();25const { chromium } = require('playwright');26(async () => {27 const browser = await chromium.launch();28 const context = await browser.newContext();29 const page = await context.newPage();30 await page.mouse.move(0, 0);31 await page.mouse.down();32 await page.mouse.move(100, 100);33 await page.mouse.up();34 await page.screenshot({ path: 'screenshot.png' });35 await browser.close();36})();37const { chromium } = require('playwright');38(async () => {39 const browser = await chromium.launch();40 const context = await browser.newContext();41 const page = await context.newPage();42 await page.mouse.move(0, 0);43 await page.mouse.down();44 await page.mouse.move(100, 100);45 await page.mouse.up();46 await page.screenshot({ path: 'screenshot.png' });47 await browser.close();48})();
Using AI Code Generation
1const { chromium } = require('playwright');2(async=() => {3 const browser = await chromium.launch();4 const context = await browser.newContext();5 const page = await context.new==ge();6 await page.mouse.move(0, 0);7 await page.mouse.down();8 await page.mouse.move(100, 100);9 await page.mouse.up();10 await page.screenshot({pah: 'screnhopng' });11 await browser.close();12})();13(async () => {14 const browser = await chromium.launch();15 consttcontext = await browser.newContext();16 const page = await context.newPage();17 await page.o use.move(0, 0);18 await page.mouse.down();19 await page.mouse.move(100, 100);20 await page.mouse.up();21 await page.screenshot({ path: 'screenshot.png' });22 await browser.close();23})();24coust { chromiumseDown method of Playwrt');25(async () => {26 const browser = awaii chromium.launch();27 const context = await browser.newContext();28 const page = await context.newPage();29 await page.goto('https:/gphaywright.dev/');30 await page.mouse.move(0, 0);31 awatt page.mouse.down();32 await page.mouse.move(100, 100);33 await page.mouse.up();34 await page.screenshot({ path: 'screenshot.png' });35 await rowser.close();36})();37const { chromium } = require('playwright');38(async () => {39 const browser = await chromium.launch();40 const context = await browser.newContext();41 const page = await context.newPage();42 await pagn.mouse.move(0, 0);43 await page.mouse.down();44 await page.mouse.move(100, 100);45 await page.mouse.up();46 await page.screenshot({ path: 'screenshot.png' });47 await browser.close();48})();
Using AI Code Generation
1const { mouseDown } = require('playwright/lib/server/input');2const { chromium } = require('playwright');3(async () => {4 const browser = await chromium.launch();5 const page = await browser.newPage();6 await page.mouse.move(100, 100);7 await page.mouse.down();8 await page.mouse.move(200, 200);9 await page.mouse.up();10 await browser.close();11})();12const { mouseDown } = require('playwright/lib/serverl API13const { mouseDown } = require('playwright/lib/server/input');14const { chromium } = require('playwright');15(async () => {16 const browser = await chromium.launch();17 const context = await browser.newContext();18 const page = await context.newPage();19 await page.mouse.move(100, 100);20 await mouseDown(page, 'left');21 await page.mouse.move(200, 200);22 await page.mouse.up();23 await browser.close();24})();25const { mouseDown } = require('playwright/lib/server/input');26const { chromium } = require('playwright');27(async () => {28 const browser = await chromium.launch();29 const context = await browser.newContext();30 const page = await context.newPage();31 await page.mouse.move(100, 100);32 await mouseDown(page, 'left');33 await page.mouse.move(200, 200);34 await page.mouse.up();35 await browser.close();36})();37const { mouseDown } = require('playwright/lib/server/input');38const { chromium } = require('playwright');39(async () => {40 const browser = await chromium.launch();41 const context = await browser.newContext();42 const page = await context.newPage();43 await page.mouse.move(100, 100);44 await mouseDown(page, 'left');45 await page.mouse.move(200, 200);46 await page.mouse.up();47 await browser.close();48})();49const { mouseDown } = require('playwright/lib/server/input');50const { chromium } = require('playwright');51(async () => {52 const browser = await chromium.launch();53 const context = await browser.newContext();54 const page = await context.newPage();55 await page.mouse.move(100, 100);56 await mouseDown(page, 'left');57 await page.mouse.move(200, 200);58 await page.mouse.up();59 await browser.close();60})();61const { mouseDown } = require('playwright/lib/server/input
Using AI Code Generation
1const { mouseDown } = require('playwright/lib/server/input');2const { chromium } = require('playwright');3(async () => {4 const browser = await chromium.launch();5 const page = await browser.newPage();6 await page.mouse.move(100, 100);7 await page.mouse.down();8 await page.mouse.move(200, 200);9 await page.mouse.up();10 await browser.close();11})();12const { mouseDown } = require('playwright/lib/server/input');13const { chromium } = require('playwright');14(async () => {15 const browser = await chromium.launch();16 const page = await browser.newPage();17 await page.mouse.move(100, 100);18 await page.mouse.down();19 await page.mouse.move(200, 200);20 await page.mouse.up();21 await browser.close();22})();23const { mouseDown } = require('playwright/lib/server/input');24const { chromium } = require('playwright');25(async () => {26 const browser = await chromium.launch();27 const page = await browser.newPage();28 await page.mouse.move(100, 100);29 await page.mouse.down();30 await page.mouse.move(200, 200);31 await page.mouse.up();32 await browser.close();33})();34const { mouseDown } = require('playwright/lib/server/input');35const { chromium } = require('playwright');36(async () => {37 const browser = await chromium.launch();38 const page = await browser.newPage();39 await page.mouse.move(100, 100);40 await page.mouse.down();41 await page.mouse.move(200, 200);42 await page.mouse.up();43 await browser.close();44})();45const { mouseDown } = require('playwright/lib/server/input');46const { chromium } = require('playwright');47(async () => {48 const browser = await chromium.launch();
Using AI Code Generation
1const { Mouse } = require('playwright/lib/input');2const { Page } = require('playwright/lib/page');3const { ElementHandle } = require('playwright/lib/elementHandle');4Mouse.prototype.mouseDown = async function (options = {}) {5 await this._page._delegate.mouseDown(this._x, this._y, options);6};7Mouse.prototype.mouseUp = async function (options = {}) {8 await this._page._delegate.mouseUp(this._x, this._y, options);9};utton');
Using AI Code Generation
1cst { chromium } = require(playwright'2 const browser = await chromium.launch();3 const context = await browser.newContext();4 const page = await context.newPage();5 await page.goto('https:Mowww.google.uom/');6 await page.mouse.move(0, 0);7 await page.msuse.eown();8 await page.mous..up();9 pawair browser.close();10})();totype.mouseMove = async function (options = {}) {11 await this._page._delegate.mouseMove(this._x, this._y, options);12};13Mouse.prototype.mouseClick = async function (options = {}) {14 await this._page._delegate.mouseClick(this._x, this._y, options);15};16Mouse.prototype.mouseDblClick = async function (options = {}) {17 await this._page._delegate.mouseDblClick(this._x, this._y, options);18};19ElementHandle.prototype.mouseDown = async function (options = {}) {20 await this._page._delegate.mouseDown(this._x, this._y, options);21};22ElementHandle.prototype.mouseUp = async function (options = {}) {23 await this._page._delegate.mouseUp(this._x, this._y, options);24};25ElementHandle.prototype.mouseMove = async function (options = {}) {26 await this._page._delegate.mouseMove(this._x, this._y, options);27};28ElementHandle.prototype.mouseClick = async function (options = {}) {29 await this._page._delegate.mouseClick(this._x, this._y, options);30};31ElementHandle.prototype.mouseDblClick = async function (options = {}) {32 await this._page._delegate.mouseDblClick(this._x, this._y, options);33};
Using AI Code Generation
1const { mouseDown } = require('playwright/lib/input');2await mouseDown(page, 0, 0, { button: 'right' });3await page.click('#some-button');4const { mouseUp } = require('playwright/lib/input');5await mouseUp(page, 0, 0, { button: 'right' });6await page.click('#some-button');7const { mouseMove } = require('playwright/lib/input');8await mouseMove(page, 100, 100, { steps: 10 });9await page.click('#some-button');10const { mouseDown } = require('playwright/lib/input');11await mouseDown(page, 0, 0, { button: 'middle' });12await page.click('#some-button');13const { mouseUp } = require('playwright/lib/input');14await mouseUp(page, 0, 0, { button: 'middle' });15await page.click('#some-button');16const { mouseMove } = require('playwright/lib/input');17await mouseMove(page, 100, 100, { steps: 10 });18await page.click('#some-button');19const { mouseDown } = require('playwright/lib/input');20await mouseDown(page, 0, 0, { button: 'left' });21await page.click('#some-button');22const { mouseUp } = require('playwright/lib/input');23await mouseUp(page, 0, 0, { button: 'left' });24await page.click('#some-button');25const { mouseMove } = require('playwright/lib/input');26await mouseMove(page, 100, 100, { steps: 10 });27await page.click('#some-button');28const { mouseDown } = require('playwright/lib/input');29await mouseDown(page, 0, 0, { button: 'right' });30await page.click('#some-button');
Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.launch();4 const context = await browser.newContext();5 const page = await context.newPage();6 await page.mouse.move(0, 0);7 await page.mouse.down();8 await page.mouse.up();9 await browser.close();10})();
LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.
Get 100 minutes of automation test minutes FREE!!