Skip to content
This repository was archived by the owner on Nov 17, 2025. It is now read-only.

Commit ade3ade

Browse files
committed
Merge pull request #6 from KynoYang/for-beary
add class scope, re-init before showing, rich triangle
2 parents 73e4f09 + a8020df commit ade3ade

File tree

2 files changed

+66
-18
lines changed

2 files changed

+66
-18
lines changed

src/css/angular-tooltips.css

Lines changed: 59 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -36,44 +36,87 @@
3636
transition: opacity 0.2s linear;
3737
opacity: 1;
3838
}
39+
._720kb-tooltip-caret:before {
40+
content:'';
41+
position: absolute;
42+
width: 0;
43+
height: 0;
44+
border: 6px solid rgba(0, 0, 0, 0.8);
45+
}
3946
._720kb-tooltip-caret:after {
4047
content:'';
4148
position: absolute;
4249
width: 0;
4350
height: 0;
51+
border: 5px solid transparent;
4452
}
45-
._720kb-tooltip-left ._720kb-tooltip-caret:after {
53+
._720kb-tooltip-left ._720kb-tooltip-caret:before {
4654
top: 50%;
4755
left: 100%;
4856
margin-left:0;
4957
margin-top: -6px;
50-
border-left: 6px solid rgba(0, 0, 0, 0.8);
51-
border-top: 6px solid transparent;
52-
border-bottom: 6px solid transparent;
58+
border-top-color: transparent;
59+
border-bottom-color: transparent;
60+
border-right-width: 0;
5361
}
54-
._720kb-tooltip-right ._720kb-tooltip-caret:after {
62+
._720kb-tooltip-left ._720kb-tooltip-caret:after {
63+
top: 50%;
64+
left: 100%;
65+
margin-left:0;
66+
margin-top: -5px;
67+
border-top-color: transparent;
68+
border-bottom-color: transparent;
69+
border-right-width: 0;
70+
}
71+
._720kb-tooltip-right ._720kb-tooltip-caret:before {
5572
top: 50%;
5673
left:0;
5774
margin-left:-6px;
5875
margin-top: -6px;
59-
border-right: 6px solid rgba(0, 0, 0, 0.8);
60-
border-top: 6px solid transparent;
61-
border-bottom: 6px solid transparent;
76+
border-top-color: transparent;
77+
border-bottom-color: transparent;
78+
border-left-width: 0;
6279
}
63-
._720kb-tooltip-top ._720kb-tooltip-caret:after {
80+
._720kb-tooltip-right ._720kb-tooltip-caret:after {
81+
top: 50%;
82+
left:0;
83+
margin-left:-5px;
84+
margin-top: -5px;
85+
border-top-color: transparent;
86+
border-bottom-color: transparent;
87+
border-left-width: 0;
88+
}
89+
._720kb-tooltip-top ._720kb-tooltip-caret:before {
6490
top: 100%;
6591
left: 50%;
6692
margin-left: -6px;
6793
margin-bottom:-6px;
68-
border-top: 6px solid rgba(0, 0, 0, 0.8);
69-
border-right: 6px solid transparent;
70-
border-left: 6px solid transparent;
94+
border-right-color: transparent;
95+
border-left-color: transparent;
96+
border-bottom-width: 0;
7197
}
72-
._720kb-tooltip-bottom ._720kb-tooltip-caret:after {
98+
._720kb-tooltip-top ._720kb-tooltip-caret:after {
99+
top: 100%;
100+
left: 50%;
101+
margin-left: -5px;
102+
margin-bottom:-5px;
103+
border-right-color: transparent;
104+
border-left-color: transparent;
105+
border-bottom-width: 0;
106+
}
107+
._720kb-tooltip-bottom ._720kb-tooltip-caret:before {
73108
bottom: 100%;
74109
left: 50%;
75110
margin-left: -6px;
76-
border-bottom: 6px solid rgba(0, 0, 0, 0.8);
77-
border-right: 6px solid transparent;
78-
border-left: 6px solid transparent;
111+
border-right-color: transparent;
112+
border-left-color: transparent;
113+
border-top-width: 0;
114+
}
115+
._720kb-tooltip-bottom ._720kb-tooltip-caret:after {
116+
bottom: 100%;
117+
left: 50%;
118+
margin-left: -5px;
119+
border-right-color: transparent;
120+
border-left-color: transparent;
121+
border-top-width: 0;
79122
}

src/js/angular-tooltips.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,20 +26,25 @@
2626
, width
2727
, offsetTop
2828
, offsetLeft
29-
, title = attr.title || ''
29+
, title = attr.tooltipTitle || attr.title || ''
3030
, content = attr.tooltipContent || ''
3131
, showTriggers = attr.tooltipShowTrigger || 'mouseenter mouseover'
3232
, hideTriggers = attr.tooltipHideTrigger || 'mouseleave mouseout'
3333
, side = attr.tooltipSide || 'top'
3434
, size = attr.tooltipSize || 'medium'
3535
, tryPosition = attr.tooltipTry || 1 // If set into 0 , the auto-position method will not call
36+
, className = attr.tooltipClass || ''
37+
, lazyMode = $scope.$eval(attr.tooltipLazy || true)
3638
, htmlTemplate = '<div class="_720kb-tooltip _720kb-tooltip-' + side + ' _720kb-tooltip-' + size + '">' +
3739
'<div class="_720kb-tooltip-title"> ' + title + '</div>' +
3840
content + ' <span class="_720kb-tooltip-caret"></span>' +
3941
'</div>';
4042

4143
//create the tooltip
4244
theTooltip = $compile(htmlTemplate)($scope);
45+
46+
theTooltip.addClass(className);
47+
4348
body.append(theTooltip);
4449

4550
$scope.initTooltip = function getInfos (tooltipSide) {
@@ -77,7 +82,7 @@
7782

7883
thisElement.bind(showTriggers, function onMouseEnterAndMouseOver() {
7984

80-
if (!initialized) {
85+
if (!lazyMode || !initialized) {
8186

8287
initialized = true;
8388
$scope.initTooltip(side);

0 commit comments

Comments
 (0)