Outputs a javascript library hover event

@param string $element
@param string $over code for mouse over
@param string $out code for mouse out
@return string
544614
public function hover($element='this', $over, $out) {
		return $this->js->_hover($element, $over, $out);
	}
336650
private static function _handleNormalOutput($data, $mark = true, $outString = ''): string
    {
        $html = 'htmlspecialchars';
        $ucfirst = 'ucfirst';
        $jsClass = self::$controlClass;//' class="js-print-showOrHide"';
        $usualString = "<dt><div class=\"array-value\">\n%s</div></dt>\n";
        $outString .= '<dl>' . PHP_EOL;
        $dataType = \gettype($data);

        if (\is_array($data)) {
            $count = 'count';
            if ($mark) {
                $outString = sprintf(
                    "<dt>\n<div class=\"%s\" style=\"%s\"><b class=\"general-print-color-dg\">%s</b>(size:<b>%d</b>)<b>(</b></div><span class=\"print-icon icon-hide\"></span>\n</dt>",
                    $jsClass, 'width:98%', ucfirst($dataType), count($data)
                );
            }
            $outString .= '<!-- .general-print-ar-content -->' . PHP_EOL . '<dd class="general-print-ar-content">';

            foreach ($data as $k => $v) {
                $k = \is_int($k) ? $k : "'{$html($k,ENT_QUOTES)}'";
                $vType = \gettype($v);
                $outString .= PHP_EOL . "<dl>\n<dt><div class=\"array-key\">\t$k</div>";

                if (\is_array($v) || \is_object($v) || \is_resource($v)) {
                    $outString .= "<div class=\"array-value {$jsClass}\"> &rArr; <strong class=\"general-print-color-dg\">{$ucfirst($vType)}</strong>(size:";

                    if (empty($v)) {
                        $outString .= '0)<strong>()</strong> </div><span class="print-icon icon-hide"></span></dt>';
                        continue;
                    }

                    $outString .= "<strong>{$count((array)$v)}</strong>)<strong>(</strong></div><span class=\"print-icon icon-hide\"></span>\n</dt>" . PHP_EOL;
                    $outString .= ltrim(self::_handleNormalOutput($v, false), '<dl>');
                } else {
                    $v = PrintHelper::getTypeString($v);
                    $outString .= "<div class=\"array-value\"> &rArr; <span class=\"general-print-color-r\">{$v}</span> </div></dt>\n</dl>";
                }

            }//--endforeach--

            $outString .= PHP_EOL . '</dd><!-- /.general-print-ar-content -->' . PHP_EOL . '</dl>' . PHP_EOL . '<dl><dt><strong>)</strong></dt>';
        } else if (is_object($data)) {
            $outString .= PrintHelper::getSystemPrintData($data, 0);
        } else if (is_resource($data)) {
            if (($type = get_resource_type($data)) === 'stream' && $meta = stream_get_meta_data($data)) {

                if (isset($meta['uri'])) {
                    $file = $meta['uri'];
                    $resourceString = "resource ({$type}) {$html( $file, ENT_QUOTES )}";
                } else {
                    $resourceString = "resource ({$type})";
                }

            } else {
                $resourceString = "resource ({$type})";
            }

            $outString .= sprintf($usualString, $resourceString);
        } else {
            $data = PrintHelper::getTypeString($data);
            $outString .= '<span class=\"general-print-color-r\">' . sprintf($usualString, $data) . '</span>';
        }

        return $outString . '</dl>' . PHP_EOL;
    }
46391
function (event, template) {
            // this.moduleCtrl.clearHighlight();
            this.data.overModuleCtrl = null;
            this.mouseOut(event);
            this._refreshModulesDisplay();
            // prevent propagation
            event.stopPropagation();
        }
813709
def close_hover(self, element, use_js=False):
        
        try:
            if use_js:
                self._js_hover('mouseout', element)
            else:
                actions = ActionChains(self.driver)
                actions.move_to_element_with_offset(element, -100, -100)
                actions.reset_actions()
        except (StaleElementReferenceException, MoveTargetOutOfBoundsException):
            return True
1178804
function (out) {
            var waiAria = this._cfg.waiAria;
            if (waiAria) {
                var content = ['<span tabindex="', this._calculateTabIndex(), '" class="xTabPanelZone"'];
                var labelId = this._getLabelId();
                if (labelId) {
                    content.push(' aria-labelledby="', ariaUtilsString.escapeForHTML(labelId), '"');
                }
                content.push('></span>');
                out.write(content.join(""));
            }
            this._frame.writeMarkupBegin(out);
            out.beginSection({
                id : this._getSectionId(),
                macro : this._cfg.macro
            });
            out.endSection();
            this._frame.writeMarkupEnd(out);
        }
551897
function($scope, element, attrs, ctrl) {
                $scope.popoverClass = attrs.popoverClass;
                $scope.dropDirection = attrs.direction || 'bottom';
                var left, top;
                var trigger = document.querySelector('#'+$scope.trigger);
                var target = document.querySelector('.ng-popover[trigger="'+$scope.trigger+'"]');

                // Add click event listener to trigger
                trigger.addEventListener('click', function(ev){
                    var left, top;
                    var trigger = this; //get trigger element 
                    var target =  document.querySelector('.ng-popover[trigger="'+$scope.trigger+'"]'); //get triger's target popover
                    ev.preventDefault();
                    calcPopoverPosition(trigger, target); //calculate the position of the popover
                   hideAllPopovers(trigger);
                    target.classList.toggle('hide'); //toggle display of target popover
                    // if target popover is visible then add click listener to body and call the open popover callback
                    if(!target.classList.contains('hide')){
                        ctrl.registerBodyListener();
                        $scope.onOpen();
                        $scope.$apply();
                    }
                    //else remove click listener from body and call close popover callback
                    else{
                        ctrl.unregisterBodyListener();
                        $scope.onClose();
                        $scope.$apply();
                    }
                });

                var getTriggerOffset = function(){
                    var triggerRect = trigger.getBoundingClientRect();
                    var bodyRect = document.body.getBoundingClientRect();
                    return {
                        top: triggerRect.top + document.body.scrollTop,
                        left: triggerRect.left + document.body.scrollLeft
                    }
                };

                // calculates the position of the popover
                var calcPopoverPosition = function(trigger, target){
                    target.classList.toggle('hide');
                    var targetWidth = target.offsetWidth;
                    var targetHeight = target.offsetHeight;
                    target.classList.toggle('hide');
                    var triggerWidth = trigger.offsetWidth;
                    var triggerHeight = trigger.offsetHeight;
                    switch($scope.dropDirection){
                        case 'left': {
                            left = getTriggerOffset().left - targetWidth - 10 + 'px';
                            top = getTriggerOffset().top + 'px';
                            break;
                        }

                        case 'right':{
                            left = getTriggerOffset().left + triggerWidth + 10 + 'px';
                            top = getTriggerOffset().top + 'px';
                            break;
                        } 

                        case'top':{
                            left = getTriggerOffset().left + 'px';
                            top = getTriggerOffset().top - targetHeight - 10 + 'px';
                            break;
                        }

                        default:{
                            left = getTriggerOffset().left +'px';
                            top = getTriggerOffset().top + triggerHeight + 10 + 'px'
                        }
                    }
                    target.style.position = 'absolute';
                    target.style.left = left;
                    target.style.top = top;
                }
                calcPopoverPosition(trigger, target);
            }
392198
function (out) {
            var cfg = this._cfg;
            var tabString = (cfg.tabIndex != null ? ' tabindex="' + this._calculateTabIndex() + '" ' : ' ');
            out.write(['<a', Aria.testMode ? ' id="' + this._domId + '_link"' : '',
                    ' class="sortIndicatorLink" href="#"' + tabString + this._getWaiAriaMarkup() + '>' + ariaUtilsString.escapeHTML(cfg.label)].join(""));
            this._icon.writeMarkup(out);
            out.write('</a>');
        }
170056
function PopoverController($scope) {
  /**
   * The state of the popover (displayed or not)
   * @type {boolean}
   */
  this.shown = false;

  /**
   * @type {?JQuery}
   */
  this.anchorElm = null;

  /**
   * @type {?JQuery}
   */
  this.bodyElm = null;

  const clickHandler = (clickEvent) => {
    if (!this.anchorElm) {
      throw new Error('Missing anchorElm');
    }
    if (!this.bodyElm) {
      throw new Error('Missing bodyElm');
    }
    if (this.anchorElm[0] !== clickEvent.target &&
      this.bodyElm.parent()[0] !== clickEvent.target &&
      this.bodyElm.parent().find(clickEvent.target).length === 0 && this.shown) {
      this.dismissPopover();
    }
  };

  document.body.addEventListener('click', clickHandler);

  $scope.$on('$destroy', () => {
    document.body.removeEventListener('click', clickHandler);
  });
}
558429
function (out) {
            var cfg = this._cfg, cssPrefix = this._cssPrefix; // , state = cfg.stateObject;
            var frameContainerClass = (cfg.block !== true) ? ' ' : 'class="xBlock"';
            var sizeInfo = {
                style : '',
                /*
                 * TODO: the CSS class cssClass should not define any padding, margin or border for the frame to be
                 * correctly displayed
                 */
                className : 'xFrameContent ' + cssPrefix + 'c ' + cfg.cssClass
            };
            this._appendInnerSizeInfo(sizeInfo);
            var displayInline = "";

            if (this._inlineBlock) {
                displayInline = "vertical-align: middle;display: inline";
                displayInline += (ariaCoreBrowser.isIE7) ? ";zoom:1" : "-block;";
            }

            out.write(['<table cellspacing="0" cellpadding="0" style="position: relative;' + displayInline + '"',
                    frameContainerClass, '><tbody isFrame="1">', '<tr>', '<td class="', cssPrefix, 'tlc ', cssPrefix,
                    'bkgA"></td>', '<td class="', cssPrefix, 'ts ', cssPrefix,
                    'bkgB">' + this.__addFrameIcon(cfg, cssPrefix, 'top') + '</td>', '<td class="', cssPrefix, 'trc ',
                    cssPrefix, 'bkgA"></td>', '</tr>', '<tr>', '<td class="', cssPrefix, 'ls ', cssPrefix,
                    'bkgC"></td>', '<td class="', cssPrefix, 'm">', '<span ',
                    Aria.testMode && this._baseId ? ' id="' + this._baseId + '"' : '',
                    (sizeInfo.style ? 'style="' + sizeInfo.style + '"' : ''), ' class="', sizeInfo.className, '">'].join(''));
        }
1265047
function(element) {
    var $el = $(element);
    //send online and offline events for every element

    // THIS ARE EVENTS GENERATED BY THE AGENT 
    // (BROWSER OR WEB VIEW IN PHONEGAP)
    $myelements.on("offline", function onElementOffline() {
      $el.trigger("offline");
    });
    $myelements.on("online", function onElementOnline() {
      $el.trigger("online");
    });

    // THIS ARE EVENTS GENERATED BY SOCKET.IO.

    // Fired upon a disconnection.
    $myelements.socket.on("disconnect", function onDisconnect() {
      $el.trigger("disconnect");
    });
    // send socket connect events
    $myelements.socket.on("connect", function onConnect() {
      $el.trigger("connect");
    });
    // Fired upon a successful reconnection.
    $myelements.socket.on("reconnect", function onReconnect() {
      $el.trigger("reconnect");
    });
    // Fired upon an attempt to reconnect.
    $myelements.socket.on("reconnecting", function onReconnecting() {
      $el.trigger("reconnecting");
    });
    //Fired upon a reconnection attempt error.
    $myelements.socket.on("reconnect_error", function onReconnectError() {
      $el.trigger("reconnect_error");
    });
    //Fired when couldn’t reconnect within reconnectionAttempts
    $myelements.socket.on("reconnect_failed", function onReconnectFailed() {
      $el.trigger("reconnect_failed");
    });

    // Trigger userinput event on automatic formsubmit event.
    $el.on("formsubmit", function onFormSubmit(ev, data) {
      $el.trigger("userinput", data);
    });
  }
309026
private function renderElements(
        FieldsetInterface $elements, $formClass, $output, $submitElements, $offset = 2
    ) {
        foreach ($elements as $element) {
            if ($element instanceof FieldsetInterface) {
                list($output, $submitElements) = $this->renderElements(
                    $element, $formClass, $output, $submitElements
                );
            } elseif ($element instanceof Submit
                || $element instanceof Button
            ) {
                $submitElements[] = $element;
            } elseif (
                $element instanceof Csrf || $element instanceof Hidden
            ) {
                $output .= $this->getView()->formElement($element);
            } elseif ($element instanceof Checkbox) {
                $viewModel = new ViewModel();
                $viewModel->setVariable('element', $element);
                $viewModel->setVariable('offset', $offset);
                $viewModel->setTemplate(
                    'travello-view-helper/widget/bootstrap-form-checkbox'
                );

                $output .= $this->getView()->render($viewModel);
            } else {
                if ($element instanceof File) {
                    $element->setAttributes(
                        ['class' => 'form-control-static']
                    );
                } else {
                    $element->setAttributes(['class' => 'form-control']);
                }

                if ($formClass == 'form-inline') {
                    $element->setLabelAttributes(
                        ['class' => 'control-label']
                    );

                    $template = 'bootstrap-form-group-inline';
                } else {
                    $element->setLabelAttributes(
                        ['class' => 'col-sm-' . $offset . ' control-label']
                    );

                    $template = 'bootstrap-form-group';
                }

                $viewModel = new ViewModel();
                $viewModel->setVariable('element', $element);
                $viewModel->setVariable('offset', $offset);
                $viewModel->setTemplate(
                    'travello-view-helper/widget/' . $template
                );

                $output .= $this->getView()->render($viewModel);
            }
        }

        return [$output, $submitElements];
    }
442919
def hover(self, element):
        
        javascript = """var evObj = document.createEvent('MouseEvents');
                        evObj.initMouseEvent(\"mouseover\", true, false, window, 0, 0, 0, 0, 0, \
                        false, false, false, false, 0, null);
                        arguments[0].dispatchEvent(evObj);"""

        if self.driver.selenium is not None:
            self.driver.selenium.execute_script(javascript, element)
1220220
function (out) {
            var cfg = this._cfg;
            this._frame = ariaWidgetsFramesFrameWithIcons.createFrame({
                sclass : cfg.sclass,
                id : this._domId,
                skinnableClass : this._skinnableClass,
                width : this._inputMarkupWidth,
                state : this._state,
                scrollBarX : false,
                scrollBarY : false,
                iconsAttributes : this._iconsAttributes,
                iconsWaiLabel : this._iconsWaiLabel,
                hideIconNames : this._hideIconNames,
                inlineBlock : true,
                // used for table frame, defaults to false
                height : this._inputMarkupHeight,
                fullWidth : this._fullWidth
            });
            this._frame.$on({
                "*" : this._frame_events,
                scope : this
            });

            this._frame.writeMarkupBegin(out);
            this._inputWithFrameMarkup(out);
            this._frame.writeMarkupEnd(out);
        }
86150
public static void showOverlay(Element element, boolean show) {

        if (show) {
            element.removeClassName(I_CmsLayoutBundle.INSTANCE.generalCss().hideOverlay());
        } else {
            element.addClassName(I_CmsLayoutBundle.INSTANCE.generalCss().hideOverlay());
        }
    }
278054
function makeHoverEvent($el, options) {
  let timeout = null;
  let active = false;
  let wasTriggeredByMouse = false;

  $el.on('mouseover', () => {
    if (options.preventMouseover && options.preventMouseover()) return;
    clearTimeout(timeout);
    timeout = delay(() => {
      if (active) return;
      options.enter();
      wasTriggeredByMouse = true;
      active = true;
    }, options.delay);
  });

  $el.on('mouseout', () => {
    if (!wasTriggeredByMouse) return;
    clearTimeout(timeout);
    timeout = delay(() => {
      if (!active) return;
      if (options.exit) options.exit();
      active = false;
    }, options.delay);
  });

  const $clickTarget = options.$clickTarget || $el;
  $clickTarget.on('click', () => {
    if (active && (!wasTriggeredByMouse)) {
      if (options.exit) options.exit();
      active = false;
    } else if (!active) {
      options.enter();
      wasTriggeredByMouse = false;
      active = true;
    }
  });

  $el.on('clickOutside', () => {
    if (!active) return;
    if (options.exit) options.exit();
    active = false;
  });
}
702001
function (out) {
            var cfg = this._cfg, cssPrefix = this._cssPrefix; // sclass = cfg.sclass
            out.write(['</span></td>', '<td class="', cssPrefix, 'rs ', cssPrefix, 'bkgC"></td>', '</tr>', '<tr>',
                    '<td class="', cssPrefix, 'blc ', cssPrefix, 'bkgA"></td>', '<td class="', cssPrefix, 'bs ',
                    cssPrefix, 'bkgB">', this.__addFrameIcon(cfg, cssPrefix, 'bottom'), '</td>', '<td class="',
                    cssPrefix, 'brc ', cssPrefix, 'bkgA"></td>', '</tr>', '</tbody></table>'].join(''));

        }
1030274
public function parseSelector($buffer, &$out)
    {
        $this->count           = 0;
        $this->env             = null;
        $this->inParens        = false;
        $this->eatWhiteDefault = true;
        $this->buffer          = (string) $buffer;

        $this->saveEncoding();

        $selector = $this->selectors($out);

        $this->restoreEncoding();

        return $selector;
    }