diff options
author | Romain Forlot <romain.forlot@iot.bzh> | 2017-05-02 19:47:36 +0200 |
---|---|---|
committer | Romain Forlot <romain.forlot@iot.bzh> | 2018-10-15 18:21:42 +0200 |
commit | b067c5854c76a96b949ff0c092f74649fbda44fc (patch) | |
tree | 3330910c57aaba13de322e6257739669c2174872 /examples/hybrid-html5/app/Frontend/services/JQueryEmu.js | |
parent | 44109a1ad1d92b0da2c88782217bbb8a1d1ff4aa (diff) |
Initial commit
Change-Id: I536251add63ef100b42a67e39a02fef117f2b414
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'examples/hybrid-html5/app/Frontend/services/JQueryEmu.js')
-rw-r--r-- | examples/hybrid-html5/app/Frontend/services/JQueryEmu.js | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/examples/hybrid-html5/app/Frontend/services/JQueryEmu.js b/examples/hybrid-html5/app/Frontend/services/JQueryEmu.js new file mode 100644 index 0000000..6d6e338 --- /dev/null +++ b/examples/hybrid-html5/app/Frontend/services/JQueryEmu.js @@ -0,0 +1,79 @@ +/* + * 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 () { + + var FindInParent = function (element, selector) { + var parent = element; + var search = selector.toUpperCase(); + while (parent[0]) { + if (search === parent[0].tagName) { + return parent; + } // HTMLDivElement properties + parent = parent.parent(); + } + }; + + 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 (children.hasClass(search)) { + return children; + } // HTMLDivElement properties + children = children.next(); + } + }; + + var myMethods = { + FindInParent: FindInParent, + FindByTag: FindByTag, + FindByClass: FindByClass + }; + + return myMethods; + }); + +})();
\ No newline at end of file |