4 if (typeof define ===
'function' && define.amd) {
6 define(
'pnotify.buttons', [
'jquery',
'pnotify'], factory);
9 factory(jQuery, PNotify);
11 }(
function($, PNotify){
12 PNotify.prototype.options.buttons = {
27 PNotify.prototype.modules.buttons = {
34 init:
function(notice, options){
36 this.myOptions = options;
38 "mouseenter":
function(e){
40 if (that.myOptions.sticker && !(notice.options.nonblock && notice.options.nonblock.nonblock)) that.sticker.trigger(
"pnotify_icon").css(
"visibility",
"visible");
41 if (that.myOptions.closer && !(notice.options.nonblock && notice.options.nonblock.nonblock)) that.closer.css(
"visibility",
"visible");
43 "mouseleave":
function(e){
45 if (that.myOptions.sticker_hover)
46 that.sticker.css(
"visibility",
"hidden");
47 if (that.myOptions.closer_hover)
48 that.closer.css(
"visibility",
"hidden");
53 this.sticker = $(
"<div />", {
54 "class":
"ui-pnotify-sticker",
55 "css": {
"cursor":
"pointer",
"visibility": options.sticker_hover ?
"hidden" :
"visible"},
57 notice.options.hide = !notice.options.hide;
58 if (notice.options.hide)
61 notice.cancelRemove();
62 $(
this).trigger(
"pnotify_icon");
65 .bind(
"pnotify_icon",
function(){
66 $(
this).children().removeClass(notice.styles.pin_up+
" "+notice.styles.pin_down).addClass(notice.options.hide ? notice.styles.pin_up : notice.styles.pin_down);
68 .append($(
"<span />", {
"class": notice.styles.pin_up,
"title": options.labels.stick}))
69 .prependTo(notice.container);
70 if (!options.sticker || (notice.options.nonblock && notice.options.nonblock.nonblock))
71 this.sticker.css(
"display",
"none");
74 this.closer = $(
"<div />", {
75 "class":
"ui-pnotify-closer",
76 "css": {
"cursor":
"pointer",
"visibility": options.closer_hover ?
"hidden" :
"visible"},
79 that.sticker.css(
"visibility",
"hidden");
80 that.closer.css(
"visibility",
"hidden");
83 .append($(
"<span />", {
"class": notice.styles.closer,
"title": options.labels.close}))
84 .prependTo(notice.container);
85 if (!options.closer || (notice.options.nonblock && notice.options.nonblock.nonblock))
86 this.closer.css(
"display",
"none");
88 update:
function(notice, options){
89 this.myOptions = options;
91 if (!options.closer || (notice.options.nonblock && notice.options.nonblock.nonblock))
92 this.closer.css(
"display",
"none");
93 else if (options.closer)
94 this.closer.css(
"display",
"block");
95 if (!options.sticker || (notice.options.nonblock && notice.options.nonblock.nonblock))
96 this.sticker.css(
"display",
"none");
97 else if (options.sticker)
98 this.sticker.css(
"display",
"block");
100 this.sticker.trigger(
"pnotify_icon");
102 if (options.sticker_hover)
103 this.sticker.css(
"visibility",
"hidden");
104 else if (!(notice.options.nonblock && notice.options.nonblock.nonblock))
105 this.sticker.css(
"visibility",
"visible");
106 if (options.closer_hover)
107 this.closer.css(
"visibility",
"hidden");
108 else if (!(notice.options.nonblock && notice.options.nonblock.nonblock))
109 this.closer.css(
"visibility",
"visible");
112 $.extend(PNotify.styling.jqueryui, {
113 closer:
"ui-icon ui-icon-close",
114 pin_up:
"ui-icon ui-icon-pin-w",
115 pin_down:
"ui-icon ui-icon-pin-s"
117 $.extend(PNotify.styling.bootstrap2, {
118 closer:
"icon-remove",
119 pin_up:
"icon-pause",
120 pin_down:
"icon-play"
122 $.extend(PNotify.styling.bootstrap3, {
123 closer:
"glyphicon glyphicon-remove",
124 pin_up:
"glyphicon glyphicon-pause",
125 pin_down:
"glyphicon glyphicon-play"
127 $.extend(PNotify.styling.fontawesome, {
128 closer:
"fa fa-times",
129 pin_up:
"fa fa-pause",
130 pin_down:
"fa fa-play"