-
Notifications
You must be signed in to change notification settings - Fork 13
/
Button.js
57 lines (42 loc) · 1.36 KB
/
Button.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
"use strict";
/* jshint multistr: true */
/* jshint newcap: false */
/**
* Représente un bouton de SpawnKill, options possibles :
* tooltip : {
text: Texte de la tooltip
class: class de la tooltip
position: placement de la tooltip ("top", "bottom" ou "right")
}
* wrapper : otpions du wrapper
* + autres options d'un objet jQuery
*/
SK.Button = function(options) {
//On récupère l'éventuelle tooltip
var tooltip = options.tooltip;
delete options.tooltip;
var wrapperOptions = options.wrapper || {};
delete options.wrapper;
//On crée le bouton avec les options
var $button = $("<div>", wrapperOptions);
$button.addClass("sk-button");
var $buttonContent = $("<a>", options);
$buttonContent.addClass("sk-button-content");
$button.append($buttonContent);
if(typeof tooltip !== "undefined") {
tooltip.position = tooltip.position || "top";
var $tooltip = $("<div>", {
class: "tooltip " + tooltip.position,
text: tooltip.text
});
if(tooltip.class !== "undefined") {
$tooltip.addClass(tooltip.class);
}
//On ajoute la tooltip dans le vide et on calcule sa taille
$("#footer").append($tooltip);
$button.append($tooltip.css({
width: $tooltip.width() + 20
}));
}
return $button;
};