summaryrefslogtreecommitdiffstats
path: root/afb-client/bower_components/tether/coffee/abutment.coffee
diff options
context:
space:
mode:
authorFulup Ar Foll <fulup@iot.bzh>2016-02-09 18:40:49 +0100
committerFulup Ar Foll <fulup@iot.bzh>2016-02-09 18:40:49 +0100
commit3d2fda7dd39e2363682f1fa353c951ab0d44ddfa (patch)
treeaf968a8ac5d4fde1f3cebcec5fb0973eb2bfb2cb /afb-client/bower_components/tether/coffee/abutment.coffee
parent12a3520ba440316c76b95d92a684666f03f7b47d (diff)
Implemented URL query parsing for initial token /opa/?token=abcde
Diffstat (limited to 'afb-client/bower_components/tether/coffee/abutment.coffee')
-rw-r--r--afb-client/bower_components/tether/coffee/abutment.coffee40
1 files changed, 40 insertions, 0 deletions
diff --git a/afb-client/bower_components/tether/coffee/abutment.coffee b/afb-client/bower_components/tether/coffee/abutment.coffee
new file mode 100644
index 0000000..5f331e4
--- /dev/null
+++ b/afb-client/bower_components/tether/coffee/abutment.coffee
@@ -0,0 +1,40 @@
+{getBounds, updateClasses, defer} = @Tether.Utils
+
+@Tether.modules.push
+ position: ({top, left}) ->
+ {height, width} = @cache 'element-bounds', => getBounds @element
+
+ targetPos = @getTargetBounds()
+
+ bottom = top + height
+ right = left + width
+
+ abutted = []
+ if top <= targetPos.bottom and bottom >= targetPos.top
+ for side in ['left', 'right']
+ if targetPos[side] in [left, right]
+ abutted.push side
+
+ if left <= targetPos.right and right >= targetPos.left
+ for side in ['top', 'bottom']
+ if targetPos[side] in [top, bottom]
+ abutted.push side
+
+ allClasses = []
+ addClasses = []
+
+ sides = ['left', 'top', 'right', 'bottom']
+ allClasses.push @getClass('abutted')
+ for side in sides
+ allClasses.push "#{ @getClass('abutted') }-#{ side }"
+
+ if abutted.length
+ addClasses.push @getClass('abutted')
+ for side in abutted
+ addClasses.push "#{ @getClass('abutted') }-#{ side }"
+
+ defer =>
+ updateClasses @target, addClasses, allClasses
+ updateClasses @element, addClasses, allClasses
+
+ true