toastr_rails 2.1.0.2 → 2.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c02a2c12132edb3c866e76958400fb0b42e6c723
4
- data.tar.gz: 023d38c6a128ae4721e8808c7be7314c26143245
3
+ metadata.gz: 1bf8f3a01444cf5214e3656292a96fbbba87997f
4
+ data.tar.gz: df7297b743446c4e66575a5bbe04be1e9625ecec
5
5
  SHA512:
6
- metadata.gz: 38a90a2a7ecb1cb88f971629ecd1a91c4c00777be2ecd510df7ed161920c0f1cf5a9d339bd8db6ec27c2fedd9803ae8b570cc75848226a02c175bc35894434dd
7
- data.tar.gz: b6f5a3e86ed90ba12ee6aa10b5c0df080f90ed75ce248968d4bbebfdbeb3e39a81b6df4eb329e5cfffc41b50312b7585f5885f29f5f0701ef74b8720b4693996
6
+ metadata.gz: 0f7e33ed01201f093a098bc49d657fc954ed443420e4a76a16210e5a2ab36699d8859ca8048306343aaa79fa572b15a13d4d20c645d9f6b47abd5eaf7b727699
7
+ data.tar.gz: 84d5f7edbac6a9db494fea6a964373619b6190e74d6019074cb1f7ac616b23ba472e3bfd6806239487008314ac6d75f41f8c9b55bd86c96b9955656e8f4f4581
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * Toastr
3
- * Copyright 2012-2014
3
+ * Copyright 2012-2015
4
4
  * Authors: John Papa, Hans Fjällemark, and Tim Ferrell.
5
5
  * All Rights Reserved.
6
6
  * Use, reproduction, distribution, and modification of this code is subject to the terms and
@@ -10,6 +10,7 @@
10
10
  *
11
11
  * Project: https://github.com/CodeSeven/toastr
12
12
  */
13
+ /* global define */
13
14
  ; (function (define) {
14
15
  define(['jquery'], function ($) {
15
16
  return (function () {
@@ -32,7 +33,7 @@
32
33
  options: {},
33
34
  subscribe: subscribe,
34
35
  success: success,
35
- version: '2.1.0',
36
+ version: '2.1.1',
36
37
  warning: warning
37
38
  };
38
39
 
@@ -40,7 +41,8 @@
40
41
 
41
42
  return toastr;
42
43
 
43
- //#region Accessible Methods
44
+ ////////////////
45
+
44
46
  function error(message, title, optionsOverride) {
45
47
  return notify({
46
48
  type: toastType.error,
@@ -97,10 +99,10 @@
97
99
  });
98
100
  }
99
101
 
100
- function clear($toastElement) {
102
+ function clear($toastElement, clearOptions) {
101
103
  var options = getOptions();
102
104
  if (!$container) { getContainer(options); }
103
- if (!clearToast($toastElement, options)) {
105
+ if (!clearToast($toastElement, options, clearOptions)) {
104
106
  clearContainer(options);
105
107
  }
106
108
  }
@@ -116,9 +118,8 @@
116
118
  $container.remove();
117
119
  }
118
120
  }
119
- //#endregion
120
121
 
121
- //#region Internal Methods
122
+ // internal functions
122
123
 
123
124
  function clearContainer (options) {
124
125
  var toastsToClear = $container.children();
@@ -127,8 +128,9 @@
127
128
  }
128
129
  }
129
130
 
130
- function clearToast ($toastElement, options) {
131
- if ($toastElement && $(':focus', $toastElement).length === 0) {
131
+ function clearToast ($toastElement, options, clearOptions) {
132
+ var force = clearOptions && clearOptions.force ? clearOptions.force : false;
133
+ if ($toastElement && (force || $(':focus', $toastElement).length === 0)) {
132
134
  $toastElement[options.hideMethod]({
133
135
  duration: options.hideDuration,
134
136
  easing: options.hideEasing,
@@ -192,117 +194,156 @@
192
194
  }
193
195
 
194
196
  function notify(map) {
195
- var options = getOptions(),
196
- iconClass = map.iconClass || options.iconClass;
197
+ var options = getOptions();
198
+ var iconClass = map.iconClass || options.iconClass;
197
199
 
198
200
  if (typeof (map.optionsOverride) !== 'undefined') {
199
201
  options = $.extend(options, map.optionsOverride);
200
202
  iconClass = map.optionsOverride.iconClass || iconClass;
201
203
  }
202
-
203
- if (options.preventDuplicates) {
204
- if (map.message === previousToast) {
205
- return;
206
- } else {
207
- previousToast = map.message;
208
- }
209
- }
204
+
205
+ if (shouldExit(options, map)) { return; }
210
206
 
211
207
  toastId++;
212
208
 
213
209
  $container = getContainer(options, true);
214
- var intervalId = null,
215
- $toastElement = $('<div/>'),
216
- $titleElement = $('<div/>'),
217
- $messageElement = $('<div/>'),
218
- $progressElement = $('<div/>'),
219
- $closeElement = $(options.closeHtml),
220
- progressBar = {
221
- intervalId: null,
222
- hideEta: null,
223
- maxHideTime: null
224
- },
225
- response = {
226
- toastId: toastId,
227
- state: 'visible',
228
- startTime: new Date(),
229
- options: options,
230
- map: map
231
- };
232
-
233
- if (map.iconClass) {
234
- $toastElement.addClass(options.toastClass).addClass(iconClass);
235
- }
236
210
 
237
- if (map.title) {
238
- $titleElement.append(map.title).addClass(options.titleClass);
239
- $toastElement.append($titleElement);
240
- }
211
+ var intervalId = null;
212
+ var $toastElement = $('<div/>');
213
+ var $titleElement = $('<div/>');
214
+ var $messageElement = $('<div/>');
215
+ var $progressElement = $('<div/>');
216
+ var $closeElement = $(options.closeHtml);
217
+ var progressBar = {
218
+ intervalId: null,
219
+ hideEta: null,
220
+ maxHideTime: null
221
+ };
222
+ var response = {
223
+ toastId: toastId,
224
+ state: 'visible',
225
+ startTime: new Date(),
226
+ options: options,
227
+ map: map
228
+ };
229
+
230
+ personalizeToast();
241
231
 
242
- if (map.message) {
243
- $messageElement.append(map.message).addClass(options.messageClass);
244
- $toastElement.append($messageElement);
232
+ displayToast();
233
+
234
+ handleEvents();
235
+
236
+ publish(response);
237
+
238
+ if (options.debug && console) {
239
+ console.log(response);
245
240
  }
246
241
 
247
- if (options.closeButton) {
248
- $closeElement.addClass('toast-close-button').attr('role', 'button');
249
- $toastElement.prepend($closeElement);
242
+ return $toastElement;
243
+
244
+ function personalizeToast() {
245
+ setIcon();
246
+ setTitle();
247
+ setMessage();
248
+ setCloseButton();
249
+ setProgressBar();
250
+ setSequence();
250
251
  }
251
252
 
252
- if (options.progressBar) {
253
- $progressElement.addClass('toast-progress');
254
- $toastElement.prepend($progressElement);
253
+ function handleEvents() {
254
+ $toastElement.hover(stickAround, delayedHideToast);
255
+ if (!options.onclick && options.tapToDismiss) {
256
+ $toastElement.click(hideToast);
257
+ }
258
+
259
+ if (options.closeButton && $closeElement) {
260
+ $closeElement.click(function (event) {
261
+ if (event.stopPropagation) {
262
+ event.stopPropagation();
263
+ } else if (event.cancelBubble !== undefined && event.cancelBubble !== true) {
264
+ event.cancelBubble = true;
265
+ }
266
+ hideToast(true);
267
+ });
268
+ }
269
+
270
+ if (options.onclick) {
271
+ $toastElement.click(function () {
272
+ options.onclick();
273
+ hideToast();
274
+ });
275
+ }
255
276
  }
256
277
 
257
- $toastElement.hide();
258
- if (options.newestOnTop) {
259
- $container.prepend($toastElement);
260
- } else {
261
- $container.append($toastElement);
278
+ function displayToast() {
279
+ $toastElement.hide();
280
+
281
+ $toastElement[options.showMethod](
282
+ {duration: options.showDuration, easing: options.showEasing, complete: options.onShown}
283
+ );
284
+
285
+ if (options.timeOut > 0) {
286
+ intervalId = setTimeout(hideToast, options.timeOut);
287
+ progressBar.maxHideTime = parseFloat(options.timeOut);
288
+ progressBar.hideEta = new Date().getTime() + progressBar.maxHideTime;
289
+ if (options.progressBar) {
290
+ progressBar.intervalId = setInterval(updateProgress, 10);
291
+ }
292
+ }
262
293
  }
263
- $toastElement[options.showMethod](
264
- {duration: options.showDuration, easing: options.showEasing, complete: options.onShown}
265
- );
266
-
267
- if (options.timeOut > 0) {
268
- intervalId = setTimeout(hideToast, options.timeOut);
269
- progressBar.maxHideTime = parseFloat(options.timeOut);
270
- progressBar.hideEta = new Date().getTime() + progressBar.maxHideTime;
271
- if (options.progressBar) {
272
- progressBar.intervalId = setInterval(updateProgress, 10);
294
+
295
+ function setIcon() {
296
+ if (map.iconClass) {
297
+ $toastElement.addClass(options.toastClass).addClass(iconClass);
273
298
  }
274
299
  }
275
300
 
276
- $toastElement.hover(stickAround, delayedHideToast);
277
- if (!options.onclick && options.tapToDismiss) {
278
- $toastElement.click(hideToast);
301
+ function setSequence() {
302
+ if (options.newestOnTop) {
303
+ $container.prepend($toastElement);
304
+ } else {
305
+ $container.append($toastElement);
306
+ }
279
307
  }
280
308
 
281
- if (options.closeButton && $closeElement) {
282
- $closeElement.click(function (event) {
283
- if (event.stopPropagation) {
284
- event.stopPropagation();
285
- } else if (event.cancelBubble !== undefined && event.cancelBubble !== true) {
286
- event.cancelBubble = true;
287
- }
288
- hideToast(true);
289
- });
309
+ function setTitle() {
310
+ if (map.title) {
311
+ $titleElement.append(map.title).addClass(options.titleClass);
312
+ $toastElement.append($titleElement);
313
+ }
290
314
  }
291
315
 
292
- if (options.onclick) {
293
- $toastElement.click(function () {
294
- options.onclick();
295
- hideToast();
296
- });
316
+ function setMessage() {
317
+ if (map.message) {
318
+ $messageElement.append(map.message).addClass(options.messageClass);
319
+ $toastElement.append($messageElement);
320
+ }
297
321
  }
298
322
 
299
- publish(response);
323
+ function setCloseButton() {
324
+ if (options.closeButton) {
325
+ $closeElement.addClass('toast-close-button').attr('role', 'button');
326
+ $toastElement.prepend($closeElement);
327
+ }
328
+ }
300
329
 
301
- if (options.debug && console) {
302
- console.log(response);
330
+ function setProgressBar() {
331
+ if (options.progressBar) {
332
+ $progressElement.addClass('toast-progress');
333
+ $toastElement.prepend($progressElement);
334
+ }
303
335
  }
304
336
 
305
- return $toastElement;
337
+ function shouldExit(options, map) {
338
+ if (options.preventDuplicates) {
339
+ if (map.message === previousToast) {
340
+ return true;
341
+ } else {
342
+ previousToast = map.message;
343
+ }
344
+ }
345
+ return false;
346
+ }
306
347
 
307
348
  function hideToast(override) {
308
349
  if ($(':focus', $toastElement).length && !override) {
@@ -362,7 +403,6 @@
362
403
  previousToast = undefined;
363
404
  }
364
405
  }
365
- //#endregion
366
406
 
367
407
  })();
368
408
  });
@@ -25,6 +25,12 @@ var showToast = function(flash){
25
25
  warning: 'warning',
26
26
  info: 'info'
27
27
  };
28
- toastr[type[msg[0]]](msg[1]);
28
+ var options = {
29
+ notice: {},
30
+ alert: { "timeOut": "0", "extendedTimeOut": "0" },
31
+ warning: { "timeOut": "0", "extendedTimeOut": "0" },
32
+ info: {}
33
+ };
34
+ toastr[type[msg[0]]](msg[1], '', options[msg[0]]);
29
35
  }
30
36
  };
@@ -158,7 +158,6 @@ button.toast-close-button {
158
158
  .toast-warning {
159
159
  background-color: #f89406;
160
160
  }
161
-
162
161
  .toast-progress {
163
162
  position: absolute;
164
163
  left: 0;
@@ -169,7 +168,6 @@ button.toast-close-button {
169
168
  -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);
170
169
  filter: alpha(opacity=40);
171
170
  }
172
-
173
171
  /*Responsive Design*/
174
172
  @media all and (max-width: 240px) {
175
173
  #toast-container > div {
@@ -1,3 +1,3 @@
1
1
  module ToastrRails
2
- VERSION = '2.1.0.2'
2
+ VERSION = '2.1.1'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: toastr_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0.2
4
+ version: 2.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stjepan Hadjic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-28 00:00:00.000000000 Z
11
+ date: 2015-05-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -80,7 +80,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
80
80
  version: '0'
81
81
  requirements: []
82
82
  rubyforge_project:
83
- rubygems_version: 2.2.2
83
+ rubygems_version: 2.4.5
84
84
  signing_key:
85
85
  specification_version: 4
86
86
  summary: Opinionated toastr js asset gem.