Version 1
[yaffs-website] / vendor / jcalderonzumba / gastonjs / src / Browser / BrowserMouseEventTrait.php
diff --git a/vendor/jcalderonzumba/gastonjs/src/Browser/BrowserMouseEventTrait.php b/vendor/jcalderonzumba/gastonjs/src/Browser/BrowserMouseEventTrait.php
new file mode 100644 (file)
index 0000000..38ec5a6
--- /dev/null
@@ -0,0 +1,69 @@
+<?php
+
+namespace Zumba\GastonJS\Browser;
+
+/**
+ * Trait BrowserMouseEventTrait
+ * @package Zumba\GastonJS\Browser
+ */
+trait BrowserMouseEventTrait {
+  /**
+   * Click on a given page and element
+   * @param $pageId
+   * @param $elementId
+   * @return mixed
+   */
+  public function click($pageId, $elementId) {
+    return $this->command('click', $pageId, $elementId);
+  }
+
+  /**
+   * Triggers a right click on a page an element
+   * @param $pageId
+   * @param $elementId
+   * @return mixed
+   */
+  public function rightClick($pageId, $elementId) {
+    return $this->command('right_click', $pageId, $elementId);
+  }
+
+  /**
+   * Triggers a double click in a given page and element
+   * @param $pageId
+   * @param $elementId
+   * @return mixed
+   */
+  public function doubleClick($pageId, $elementId) {
+    return $this->command('double_click', $pageId, $elementId);
+  }
+
+  /**
+   * Hovers over an element in a given page
+   * @param $pageId
+   * @param $elementId
+   * @return mixed
+   */
+  public function hover($pageId, $elementId) {
+    return $this->command('hover', $pageId, $elementId);
+  }
+
+  /**
+   * Click on given coordinates, THIS DOES NOT depend on the page, it just clicks on where we are right now
+   * @param $coordX
+   * @param $coordY
+   * @return mixed
+   */
+  public function clickCoordinates($coordX, $coordY) {
+    return $this->command('click_coordinates', $coordX, $coordY);
+  }
+
+  /**
+   * Scrolls the page by a given left and top coordinates
+   * @param $left
+   * @param $top
+   * @return mixed
+   */
+  public function scrollTo($left, $top) {
+    return $this->command('scroll_to', $left, $top);
+  }
+}