X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=afb-client%2Fapp%2FFrontend%2Fservices%2FJQueryEmu.js;h=6d6e338750e89b8827a8e0b0a2aaaaab4e58a941;hb=3bf628fdeb100be35a579f362b86b38125ecf272;hp=511205219caf2e9cc28c5996b11ba86558b27e24;hpb=475508baa9f0b21087eb85048d51af342aa09692;p=src%2Fapp-framework-demo.git diff --git a/afb-client/app/Frontend/services/JQueryEmu.js b/afb-client/app/Frontend/services/JQueryEmu.js index 5112052..6d6e338 100644 --- a/afb-client/app/Frontend/services/JQueryEmu.js +++ b/afb-client/app/Frontend/services/JQueryEmu.js @@ -1,14 +1,39 @@ +/* + * Copyright (C) 2015 "IoT.bzh" + * Author "Fulup Ar Foll" + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * Usage: + * + * // mouse event probably point on icon and not on button div + * ... ng-click="LockChannel($event) + var target= angular.element(event.currentTarget); + var button= JQemu.FindInParent (target, 'div'); + * + */ + + (function () { 'use strict'; + + // _all modules only reference dependencies angular.module('JQueryEmu', []) // Factory is a singleton and share its context within all instances. .factory('JQemu', function () { - // JQueryLight cannot search a tag within ancestrors - var parent = function (element, selector) { + var FindInParent = function (element, selector) { var parent = element; var search = selector.toUpperCase(); while (parent[0]) { @@ -19,12 +44,23 @@ } }; - // JQueryLight cannot search by type - var findByType= function (element, selector) { + var FindByTag= function (element, tag, selector) { + var search = selector.toLowerCase(); + var type = tag.toLowerCase()+ "Name"; + var children = element.children(); + while (children[0]) { + if (search === children[0][type]) { + return children; + } // HTMLDivElement properties + children = children.next(); + } + }; + + var FindByClass= function (element, selector) { var search = selector.toLowerCase(); var children = element.children(); while (children[0]) { - if (search === children[0].type) { + if (children.hasClass(search)) { return children; } // HTMLDivElement properties children = children.next(); @@ -32,8 +68,9 @@ }; var myMethods = { - parent: parent, - findByType: findByType + FindInParent: FindInParent, + FindByTag: FindByTag, + FindByClass: FindByClass }; return myMethods;