alertifyjs-rails 0.1.4 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/README.md +1 -1
- data/alertifyjs-rails.gemspec +2 -2
- data/lib/alertifyjs/rails/version.rb +2 -2
- data/vendor/assets/javascripts/alertify.js +264 -94
- data/vendor/assets/stylesheets/alertify.css +31 -1
- data/vendor/assets/stylesheets/alertify.rtl.css +31 -1
- data/vendor/assets/stylesheets/alertify/bootstrap.css +21 -0
- data/vendor/assets/stylesheets/alertify/bootstrap.rtl.css +21 -0
- data/vendor/assets/stylesheets/alertify/semantic.css +21 -0
- data/vendor/assets/stylesheets/alertify/semantic.rtl.css +21 -0
- metadata +12 -12
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 7ca53d8a430d1a6482ff288e1b3c4bbe083c348b
|
4
|
+
data.tar.gz: cdf819e7fec0e42d62e3e892fcfc03842c8c263c
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 5dfc7777cc4d2b89478c5d9257e69409ddb0b0b07cbe6009e975ef42a0203fa7850b217a869a1014b1f3817f43c6142e093d31f9069318d3ca7894ad4e966f0d
|
7
|
+
data.tar.gz: f83c19d29a5bc9b0460fa754ee8d9f93fe68bf3655c13ba1824314d3cdeebf6866bcd75188ccd44864ca83d101aba2ab4a267c20c3cf7834485a8afac324957b
|
data/README.md
CHANGED
data/alertifyjs-rails.gemspec
CHANGED
@@ -7,11 +7,11 @@ Gem::Specification.new do |gem|
|
|
7
7
|
gem.name = "alertifyjs-rails"
|
8
8
|
gem.version = Alertifyjs::Rails::VERSION
|
9
9
|
gem.authors = ["mkhairi"]
|
10
|
-
|
10
|
+
gem.email = ["khairi@labs.my"]
|
11
11
|
gem.description = %q{Use Alertify.js (alertifyjs.com) with Rails 3 and 4}
|
12
12
|
gem.summary = %q{This gem provides the Alertify.js (alertifyjs.com) for Rails applications}
|
13
13
|
gem.homepage = "https://github.com/mkhairi/alertifyjs-rails.git"
|
14
|
-
|
14
|
+
gem.license = "MIT"
|
15
15
|
gem.files = `git ls-files`.split($/)
|
16
16
|
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
17
17
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
@@ -7,7 +7,7 @@
|
|
7
7
|
* @license MIT <http://opensource.org/licenses/mit-license.php>
|
8
8
|
* @link http://alertifyjs.com
|
9
9
|
* @module AlertifyJS
|
10
|
-
* @version 0.
|
10
|
+
* @version 0.10.2
|
11
11
|
*/
|
12
12
|
( function ( window ) {
|
13
13
|
'use strict';
|
@@ -20,7 +20,9 @@
|
|
20
20
|
ENTER: 13,
|
21
21
|
ESC: 27,
|
22
22
|
F1: 112,
|
23
|
-
F12: 123
|
23
|
+
F12: 123,
|
24
|
+
LEFT: 37,
|
25
|
+
RIGHT: 39
|
24
26
|
};
|
25
27
|
/**
|
26
28
|
* Default options
|
@@ -28,10 +30,13 @@
|
|
28
30
|
*/
|
29
31
|
var defaults = {
|
30
32
|
modal:true,
|
33
|
+
basic:false,
|
34
|
+
frameless:false,
|
31
35
|
movable:true,
|
32
36
|
resizable:true,
|
33
37
|
closable:true,
|
34
38
|
maximizable:true,
|
39
|
+
startMaximized:false,
|
35
40
|
pinnable:true,
|
36
41
|
pinned:true,
|
37
42
|
padding: true,
|
@@ -254,7 +259,7 @@
|
|
254
259
|
/*tab index required to fire click event before body focus*/
|
255
260
|
modal: '<div class="ajs-modal" tabindex="0"></div>',
|
256
261
|
dialog: '<div class="ajs-dialog" tabindex="0"></div>',
|
257
|
-
reset: '<
|
262
|
+
reset: '<button class="ajs-reset"></button>',
|
258
263
|
commands: '<div class="ajs-commands"><button class="ajs-pin"></button><button class="ajs-maximize"></button><button class="ajs-close"></button></div>',
|
259
264
|
header: '<div class="ajs-header"></div>',
|
260
265
|
body: '<div class="ajs-body"></div>',
|
@@ -286,7 +291,9 @@
|
|
286
291
|
maximized: 'ajs-maximized',
|
287
292
|
animationIn: 'ajs-in',
|
288
293
|
animationOut: 'ajs-out',
|
289
|
-
shake:'ajs-shake'
|
294
|
+
shake:'ajs-shake',
|
295
|
+
basic:'ajs-basic',
|
296
|
+
frameless:'ajs-frameless'
|
290
297
|
};
|
291
298
|
|
292
299
|
/**
|
@@ -344,16 +351,19 @@
|
|
344
351
|
activeElement:document.body,
|
345
352
|
timerIn:undefined,
|
346
353
|
timerOut:undefined,
|
347
|
-
buttons: setup.buttons,
|
354
|
+
buttons: setup.buttons || [],
|
348
355
|
focus: setup.focus,
|
349
356
|
options: {
|
350
357
|
title: undefined,
|
351
358
|
modal: undefined,
|
359
|
+
basic:undefined,
|
360
|
+
frameless:undefined,
|
352
361
|
pinned: undefined,
|
353
362
|
movable: undefined,
|
354
363
|
resizable: undefined,
|
355
364
|
closable: undefined,
|
356
365
|
maximizable: undefined,
|
366
|
+
startMaximized: undefined,
|
357
367
|
pinnable: undefined,
|
358
368
|
transition: undefined,
|
359
369
|
padding:undefined,
|
@@ -389,7 +399,7 @@
|
|
389
399
|
elements.modal = elements.root.lastChild;
|
390
400
|
elements.modal.innerHTML = templates.dialog;
|
391
401
|
elements.dialog = elements.modal.firstChild;
|
392
|
-
elements.dialog.innerHTML = templates.reset + templates.commands + templates.header + templates.body + templates.footer + templates.reset;
|
402
|
+
elements.dialog.innerHTML = templates.reset + templates.commands + templates.header + templates.body + templates.footer + templates.resizeHandle + templates.reset;
|
393
403
|
|
394
404
|
//reset links
|
395
405
|
elements.reset = [];
|
@@ -413,8 +423,10 @@
|
|
413
423
|
|
414
424
|
//footer
|
415
425
|
elements.footer = elements.body.nextSibling;
|
416
|
-
elements.footer.innerHTML = templates.buttons.auxiliary + templates.buttons.primary
|
417
|
-
|
426
|
+
elements.footer.innerHTML = templates.buttons.auxiliary + templates.buttons.primary;
|
427
|
+
|
428
|
+
//resize handle
|
429
|
+
elements.resizeHandle = elements.footer.nextSibling;
|
418
430
|
|
419
431
|
//buttons
|
420
432
|
elements.buttons = {};
|
@@ -465,23 +477,26 @@
|
|
465
477
|
|
466
478
|
|
467
479
|
//settings
|
468
|
-
instance.
|
480
|
+
instance.set('title', setup.options.title === undefined ? alertify.defaults.glossary.title : setup.options.title);
|
469
481
|
|
470
|
-
instance.
|
482
|
+
instance.set('modal', setup.options.modal === undefined ? alertify.defaults.modal : setup.options.modal);
|
483
|
+
instance.set('basic', setup.options.basic === undefined ? alertify.defaults.basic : setup.options.basic);
|
484
|
+
instance.set('frameless', setup.options.frameless === undefined ? alertify.defaults.frameless : setup.options.frameless);
|
471
485
|
|
472
|
-
instance.
|
473
|
-
instance.
|
486
|
+
instance.set('movable', setup.options.movable === undefined ? alertify.defaults.movable : setup.options.movable);
|
487
|
+
instance.set('resizable', setup.options.resizable === undefined ? alertify.defaults.resizable : setup.options.resizable);
|
474
488
|
|
475
|
-
instance.
|
476
|
-
instance.
|
489
|
+
instance.set('closable', setup.options.closable === undefined ? alertify.defaults.closable : setup.options.closable);
|
490
|
+
instance.set('maximizable', setup.options.maximizable === undefined ? alertify.defaults.maximizable : setup.options.maximizable);
|
491
|
+
instance.set('startMaximized', setup.options.startMaximized === undefined ? alertify.defaults.startMaximized : setup.options.startMaximized);
|
477
492
|
|
478
|
-
instance.
|
479
|
-
instance.
|
493
|
+
instance.set('pinnable', setup.options.pinnable === undefined ? alertify.defaults.pinnable : setup.options.pinnable);
|
494
|
+
instance.set('pinned', setup.options.pinned === undefined ? alertify.defaults.pinned : setup.options.pinned);
|
480
495
|
|
481
|
-
instance.
|
496
|
+
instance.set('transition', setup.options.transition === undefined ? alertify.defaults.transition : setup.options.transition);
|
482
497
|
|
483
|
-
instance.
|
484
|
-
instance.
|
498
|
+
instance.set('padding', setup.options.padding === undefined ? alertify.defaults.padding : setup.options.padding);
|
499
|
+
instance.set('overflow', setup.options.overflow === undefined ? alertify.defaults.overflow : setup.options.overflow);
|
485
500
|
|
486
501
|
|
487
502
|
// allow dom customization
|
@@ -533,12 +548,11 @@
|
|
533
548
|
* Toggles the dialog display mode
|
534
549
|
*
|
535
550
|
* @param {Object} instance The dilog instance.
|
536
|
-
* @param {Boolean} on True to make it modal, false otherwise.
|
537
551
|
*
|
538
552
|
* @return {undefined}
|
539
553
|
*/
|
540
554
|
function updateDisplayMode(instance){
|
541
|
-
if(instance.
|
555
|
+
if(instance.get('modal')){
|
542
556
|
|
543
557
|
//make modal
|
544
558
|
removeClass(instance.elements.root, classes.modeless);
|
@@ -567,6 +581,40 @@
|
|
567
581
|
}
|
568
582
|
}
|
569
583
|
}
|
584
|
+
|
585
|
+
/**
|
586
|
+
* Toggles the dialog basic view mode
|
587
|
+
*
|
588
|
+
* @param {Object} instance The dilog instance.
|
589
|
+
*
|
590
|
+
* @return {undefined}
|
591
|
+
*/
|
592
|
+
function updateBasicMode(instance){
|
593
|
+
if (instance.get('basic')) {
|
594
|
+
// add class
|
595
|
+
addClass(instance.elements.root, classes.basic);
|
596
|
+
} else {
|
597
|
+
// remove class
|
598
|
+
removeClass(instance.elements.root, classes.basic);
|
599
|
+
}
|
600
|
+
}
|
601
|
+
|
602
|
+
/**
|
603
|
+
* Toggles the dialog frameless view mode
|
604
|
+
*
|
605
|
+
* @param {Object} instance The dilog instance.
|
606
|
+
*
|
607
|
+
* @return {undefined}
|
608
|
+
*/
|
609
|
+
function updateFramelessMode(instance){
|
610
|
+
if (instance.get('frameless')) {
|
611
|
+
// add class
|
612
|
+
addClass(instance.elements.root, classes.frameless);
|
613
|
+
} else {
|
614
|
+
// remove class
|
615
|
+
removeClass(instance.elements.root, classes.frameless);
|
616
|
+
}
|
617
|
+
}
|
570
618
|
|
571
619
|
/**
|
572
620
|
* Helper: Brings the modeless dialog to front, attached to modeless dialogs.
|
@@ -614,6 +662,12 @@
|
|
614
662
|
case 'modal':
|
615
663
|
updateDisplayMode(instance);
|
616
664
|
break;
|
665
|
+
case 'basic':
|
666
|
+
updateBasicMode(instance);
|
667
|
+
break;
|
668
|
+
case 'frameless':
|
669
|
+
updateFramelessMode(instance);
|
670
|
+
break;
|
617
671
|
case 'pinned':
|
618
672
|
updatePinned(instance);
|
619
673
|
break;
|
@@ -792,7 +846,7 @@
|
|
792
846
|
*/
|
793
847
|
function pin(instance) {
|
794
848
|
//pin the dialog
|
795
|
-
instance.
|
849
|
+
instance.set('pinned', true);
|
796
850
|
}
|
797
851
|
|
798
852
|
/**
|
@@ -804,7 +858,7 @@
|
|
804
858
|
*/
|
805
859
|
function unpin(instance) {
|
806
860
|
//unpin the dialog
|
807
|
-
instance.
|
861
|
+
instance.set('pinned', false);
|
808
862
|
}
|
809
863
|
|
810
864
|
|
@@ -847,7 +901,7 @@
|
|
847
901
|
* @return {undefined}
|
848
902
|
*/
|
849
903
|
function updatePinnable(instance) {
|
850
|
-
if (instance.
|
904
|
+
if (instance.get('pinnable')) {
|
851
905
|
// add class
|
852
906
|
addClass(instance.elements.root, classes.pinnable);
|
853
907
|
} else {
|
@@ -908,7 +962,7 @@
|
|
908
962
|
*/
|
909
963
|
function updateAbsPositionFix(instance) {
|
910
964
|
// if modeless and unpinned add fix
|
911
|
-
if (!instance.
|
965
|
+
if (!instance.get('modal') && !instance.get('pinned')) {
|
912
966
|
addAbsPositionFix(instance);
|
913
967
|
} else {
|
914
968
|
removeAbsPositionFix(instance);
|
@@ -923,7 +977,7 @@
|
|
923
977
|
* @return {undefined}
|
924
978
|
*/
|
925
979
|
function updatePinned(instance) {
|
926
|
-
if (instance.
|
980
|
+
if (instance.get('pinned')) {
|
927
981
|
removeClass(instance.elements.root, classes.unpinned);
|
928
982
|
if (instance.isOpen()) {
|
929
983
|
removeAbsPositionFix(instance);
|
@@ -945,7 +999,7 @@
|
|
945
999
|
* @return {undefined}
|
946
1000
|
*/
|
947
1001
|
function updateMaximizable(instance) {
|
948
|
-
if (instance.
|
1002
|
+
if (instance.get('maximizable')) {
|
949
1003
|
// add class
|
950
1004
|
addClass(instance.elements.root, classes.maximizable);
|
951
1005
|
} else {
|
@@ -963,7 +1017,7 @@
|
|
963
1017
|
* @return {undefined}
|
964
1018
|
*/
|
965
1019
|
function updateClosable(instance) {
|
966
|
-
if (instance.
|
1020
|
+
if (instance.get('closable')) {
|
967
1021
|
// add class
|
968
1022
|
addClass(instance.elements.root, classes.closable);
|
969
1023
|
bindClosableEvents(instance);
|
@@ -1054,7 +1108,10 @@
|
|
1054
1108
|
}
|
1055
1109
|
var instance = openDialogs[openDialogs.length - 1];
|
1056
1110
|
var keyCode = event.keyCode;
|
1057
|
-
if (
|
1111
|
+
if (instance.__internal.buttons.length === 0 && keyCode === keys.ESC && instance.get('closable') === true) {
|
1112
|
+
triggerClose(instance);
|
1113
|
+
return false;
|
1114
|
+
}else if (usedKeys.indexOf(keyCode) > -1) {
|
1058
1115
|
triggerCallback(instance, function (button) {
|
1059
1116
|
return button.key === keyCode;
|
1060
1117
|
});
|
@@ -1072,7 +1129,21 @@
|
|
1072
1129
|
function keydownHandler(event) {
|
1073
1130
|
var instance = openDialogs[openDialogs.length - 1];
|
1074
1131
|
var keyCode = event.keyCode;
|
1075
|
-
if (keyCode
|
1132
|
+
if (keyCode === keys.LEFT || keyCode === keys.RIGHT) {
|
1133
|
+
var buttons = instance.__internal.buttons;
|
1134
|
+
for (var x = 0; x < buttons.length; x += 1) {
|
1135
|
+
if (document.activeElement === buttons[x].element) {
|
1136
|
+
switch (keyCode) {
|
1137
|
+
case keys.LEFT:
|
1138
|
+
buttons[(x || buttons.length) - 1].element.focus();
|
1139
|
+
return;
|
1140
|
+
case keys.RIGHT:
|
1141
|
+
buttons[(x + 1) % buttons.length].element.focus();
|
1142
|
+
return;
|
1143
|
+
}
|
1144
|
+
}
|
1145
|
+
}
|
1146
|
+
}else if (keyCode < keys.F12 + 1 && keyCode > keys.F1 - 1 && usedKeys.indexOf(keyCode) > -1) {
|
1076
1147
|
event.preventDefault();
|
1077
1148
|
event.stopPropagation();
|
1078
1149
|
triggerCallback(instance, function (button) {
|
@@ -1100,9 +1171,32 @@
|
|
1100
1171
|
var focus = instance.__internal.focus;
|
1101
1172
|
// the focus element.
|
1102
1173
|
var element = focus.element;
|
1174
|
+
|
1175
|
+
switch (typeof focus.element) {
|
1103
1176
|
// a number means a button index
|
1104
|
-
|
1105
|
-
|
1177
|
+
case 'number':
|
1178
|
+
if (instance.__internal.buttons.length > focus.element) {
|
1179
|
+
//in basic view, skip focusing the buttons.
|
1180
|
+
if (instance.get('basic') === true) {
|
1181
|
+
element = instance.elements.reset[0];
|
1182
|
+
} else {
|
1183
|
+
element = instance.__internal.buttons[focus.element].element;
|
1184
|
+
}
|
1185
|
+
}
|
1186
|
+
break;
|
1187
|
+
// a string means querySelector to select from dialog body contents.
|
1188
|
+
case 'string':
|
1189
|
+
element = instance.elements.body.querySelector(focus.element);
|
1190
|
+
break;
|
1191
|
+
// a function should return the focus element.
|
1192
|
+
case 'function':
|
1193
|
+
element = focus.element.call(instance);
|
1194
|
+
break;
|
1195
|
+
}
|
1196
|
+
|
1197
|
+
// if no focus element, default to first reset element.
|
1198
|
+
if ((typeof element === 'undefined' || element === null) && instance.__internal.buttons.length === 0) {
|
1199
|
+
element = instance.elements.reset[0];
|
1106
1200
|
}
|
1107
1201
|
// focus
|
1108
1202
|
if (element && element.focus) {
|
@@ -1139,13 +1233,13 @@
|
|
1139
1233
|
if (instance && instance.isModal()) {
|
1140
1234
|
// determine reset target to enable forward/backward tab cycle.
|
1141
1235
|
var resetTarget, target = event.srcElement || event.target;
|
1142
|
-
var
|
1236
|
+
var lastResetElement = target === instance.elements.reset[1] || (instance.__internal.buttons.length === 0 && target === document.body);
|
1143
1237
|
|
1144
1238
|
// if last reset link, then go to maximize or close
|
1145
|
-
if (
|
1146
|
-
if (instance.
|
1239
|
+
if (lastResetElement) {
|
1240
|
+
if (instance.get('maximizable')) {
|
1147
1241
|
resetTarget = instance.elements.commands.maximize;
|
1148
|
-
} else if (instance.
|
1242
|
+
} else if (instance.get('closable')) {
|
1149
1243
|
resetTarget = instance.elements.commands.close;
|
1150
1244
|
}
|
1151
1245
|
}
|
@@ -1155,7 +1249,7 @@
|
|
1155
1249
|
// button focus element, go to first available button
|
1156
1250
|
if (target === instance.elements.reset[0]) {
|
1157
1251
|
resetTarget = instance.elements.buttons.auxiliary.firstChild || instance.elements.buttons.primary.firstChild;
|
1158
|
-
} else if (
|
1252
|
+
} else if (lastResetElement) {
|
1159
1253
|
//restart the cycle by going to first reset link
|
1160
1254
|
resetTarget = instance.elements.reset[0];
|
1161
1255
|
}
|
@@ -1190,8 +1284,8 @@
|
|
1190
1284
|
cancelKeyup = false;
|
1191
1285
|
|
1192
1286
|
// allow custom `onfocus` method
|
1193
|
-
if (typeof instance.
|
1194
|
-
instance.
|
1287
|
+
if (typeof instance.get('onfocus') === 'function') {
|
1288
|
+
instance.get('onfocus')();
|
1195
1289
|
}
|
1196
1290
|
|
1197
1291
|
// unbind the event
|
@@ -1220,7 +1314,7 @@
|
|
1220
1314
|
resetResize(instance);
|
1221
1315
|
|
1222
1316
|
// restore if maximized
|
1223
|
-
if (instance.isMaximized()) {
|
1317
|
+
if (instance.isMaximized() && !instance.get('startMaximized')) {
|
1224
1318
|
restore(instance);
|
1225
1319
|
}
|
1226
1320
|
|
@@ -1264,7 +1358,7 @@
|
|
1264
1358
|
* @return {Boolean} false
|
1265
1359
|
*/
|
1266
1360
|
function beginMove(event, instance) {
|
1267
|
-
if (resizable === null && !instance.isMaximized() && instance.
|
1361
|
+
if (resizable === null && !instance.isMaximized() && instance.get('movable')) {
|
1268
1362
|
var eventSrc;
|
1269
1363
|
if (event.type === 'touchstart') {
|
1270
1364
|
event.preventDefault();
|
@@ -1355,7 +1449,7 @@
|
|
1355
1449
|
* @return {undefined}
|
1356
1450
|
*/
|
1357
1451
|
function updateMovable(instance) {
|
1358
|
-
if (instance.
|
1452
|
+
if (instance.get('movable')) {
|
1359
1453
|
// add class
|
1360
1454
|
addClass(instance.elements.root, classes.movable);
|
1361
1455
|
if (instance.isOpen()) {
|
@@ -1504,7 +1598,7 @@
|
|
1504
1598
|
eventSrc = event;
|
1505
1599
|
}
|
1506
1600
|
if (eventSrc) {
|
1507
|
-
resizeElement(eventSrc, resizable.elements.dialog, !resizable.
|
1601
|
+
resizeElement(eventSrc, resizable.elements.dialog, !resizable.get('modal') && !resizable.get('pinned'));
|
1508
1602
|
}
|
1509
1603
|
}
|
1510
1604
|
}
|
@@ -1552,7 +1646,7 @@
|
|
1552
1646
|
* @return {undefined}
|
1553
1647
|
*/
|
1554
1648
|
function updateResizable(instance) {
|
1555
|
-
if (instance.
|
1649
|
+
if (instance.get('resizable')) {
|
1556
1650
|
// add class
|
1557
1651
|
addClass(instance.elements.root, classes.resizable);
|
1558
1652
|
if (instance.isOpen()) {
|
@@ -1591,7 +1685,7 @@
|
|
1591
1685
|
* @return {undefined}
|
1592
1686
|
*/
|
1593
1687
|
function bindEvents(instance) {
|
1594
|
-
// if first dialog, hook
|
1688
|
+
// if first dialog, hook global handlers
|
1595
1689
|
if (openDialogs.length === 1) {
|
1596
1690
|
//global
|
1597
1691
|
on(window, 'resize', windowResize);
|
@@ -1600,15 +1694,15 @@
|
|
1600
1694
|
on(document.body, 'focus', onReset);
|
1601
1695
|
|
1602
1696
|
//move
|
1603
|
-
on(document.
|
1604
|
-
on(document.
|
1605
|
-
on(document.
|
1606
|
-
on(document.
|
1697
|
+
on(document.documentElement, 'mousemove', move);
|
1698
|
+
on(document.documentElement, 'touchmove', move);
|
1699
|
+
on(document.documentElement, 'mouseup', endMove);
|
1700
|
+
on(document.documentElement, 'touchend', endMove);
|
1607
1701
|
//resize
|
1608
|
-
on(document.
|
1609
|
-
on(document.
|
1610
|
-
on(document.
|
1611
|
-
on(document.
|
1702
|
+
on(document.documentElement, 'mousemove', resize);
|
1703
|
+
on(document.documentElement, 'touchmove', resize);
|
1704
|
+
on(document.documentElement, 'mouseup', endResize);
|
1705
|
+
on(document.documentElement, 'touchend', endResize);
|
1612
1706
|
}
|
1613
1707
|
|
1614
1708
|
// common events
|
@@ -1623,17 +1717,17 @@
|
|
1623
1717
|
on(instance.elements.dialog, transition.type, instance.__internal.transitionInHandler);
|
1624
1718
|
|
1625
1719
|
// modelss only events
|
1626
|
-
if (!instance.
|
1720
|
+
if (!instance.get('modal')) {
|
1627
1721
|
bindModelessEvents(instance);
|
1628
1722
|
}
|
1629
1723
|
|
1630
1724
|
// resizable
|
1631
|
-
if (instance.
|
1725
|
+
if (instance.get('resizable')) {
|
1632
1726
|
bindResizableEvents(instance);
|
1633
1727
|
}
|
1634
1728
|
|
1635
1729
|
// movable
|
1636
|
-
if (instance.
|
1730
|
+
if (instance.get('movable')) {
|
1637
1731
|
bindMovableEvents(instance);
|
1638
1732
|
}
|
1639
1733
|
}
|
@@ -1646,7 +1740,7 @@
|
|
1646
1740
|
* @return {undefined}
|
1647
1741
|
*/
|
1648
1742
|
function unbindEvents(instance) {
|
1649
|
-
// if last dialog, remove
|
1743
|
+
// if last dialog, remove global handlers
|
1650
1744
|
if (openDialogs.length === 1) {
|
1651
1745
|
//global
|
1652
1746
|
off(window, 'resize', windowResize);
|
@@ -1654,11 +1748,11 @@
|
|
1654
1748
|
off(document.body, 'keydown', keydownHandler);
|
1655
1749
|
off(document.body, 'focus', onReset);
|
1656
1750
|
//move
|
1657
|
-
off(document.
|
1658
|
-
off(document.
|
1751
|
+
off(document.documentElement, 'mousemove', move);
|
1752
|
+
off(document.documentElement, 'mouseup', endMove);
|
1659
1753
|
//resize
|
1660
|
-
off(document.
|
1661
|
-
off(document.
|
1754
|
+
off(document.documentElement, 'mousemove', resize);
|
1755
|
+
off(document.documentElement, 'mouseup', endResize);
|
1662
1756
|
}
|
1663
1757
|
|
1664
1758
|
// common events
|
@@ -1671,17 +1765,17 @@
|
|
1671
1765
|
on(instance.elements.dialog, transition.type, instance.__internal.transitionOutHandler);
|
1672
1766
|
|
1673
1767
|
// modelss only events
|
1674
|
-
if (!instance.
|
1768
|
+
if (!instance.get('modal')) {
|
1675
1769
|
unbindModelessEvents(instance);
|
1676
1770
|
}
|
1677
1771
|
|
1678
1772
|
// movable
|
1679
|
-
if (instance.
|
1773
|
+
if (instance.get('movable')) {
|
1680
1774
|
unbindMovableEvents(instance);
|
1681
1775
|
}
|
1682
1776
|
|
1683
1777
|
// resizable
|
1684
|
-
if (instance.
|
1778
|
+
if (instance.get('resizable')) {
|
1685
1779
|
unbindResizableEvents(instance);
|
1686
1780
|
}
|
1687
1781
|
|
@@ -1826,6 +1920,73 @@
|
|
1826
1920
|
}
|
1827
1921
|
return this;
|
1828
1922
|
},
|
1923
|
+
/**
|
1924
|
+
* Move the dialog to a specific x/y coordinates
|
1925
|
+
*
|
1926
|
+
* @param {Number} x The new dialog x coordinate in pixels.
|
1927
|
+
* @param {Number} y The new dialog y coordinate in pixels.
|
1928
|
+
*
|
1929
|
+
* @return {Object} The dialog instance.
|
1930
|
+
*/
|
1931
|
+
moveTo:function(x,y){
|
1932
|
+
if(!isNaN(x) && !isNaN(y)){
|
1933
|
+
var element = this.elements.dialog,
|
1934
|
+
current = element,
|
1935
|
+
offsetLeft = 0,
|
1936
|
+
offsetTop = 0;
|
1937
|
+
|
1938
|
+
//subtract existing left,top
|
1939
|
+
if (element.style.left) {
|
1940
|
+
offsetLeft -= parseInt(element.style.left, 10);
|
1941
|
+
}
|
1942
|
+
if (element.style.top) {
|
1943
|
+
offsetTop -= parseInt(element.style.top, 10);
|
1944
|
+
}
|
1945
|
+
//calc offset
|
1946
|
+
do {
|
1947
|
+
offsetLeft += current.offsetLeft;
|
1948
|
+
offsetTop += current.offsetTop;
|
1949
|
+
} while (current = current.offsetParent);
|
1950
|
+
|
1951
|
+
//calc left, top
|
1952
|
+
var left = (x - offsetLeft);
|
1953
|
+
var top = (y - offsetTop);
|
1954
|
+
|
1955
|
+
//// rtl handling
|
1956
|
+
if (isRightToLeft()) {
|
1957
|
+
left *= -1;
|
1958
|
+
}
|
1959
|
+
|
1960
|
+
element.style.left = left + 'px';
|
1961
|
+
element.style.top = top + 'px';
|
1962
|
+
}
|
1963
|
+
return this;
|
1964
|
+
},
|
1965
|
+
/**
|
1966
|
+
* Resize the dialog to a specific width/height (the dialog must be 'resizable').
|
1967
|
+
* The dialog can be resized to:
|
1968
|
+
* A minimum width equal to the initial display width
|
1969
|
+
* A minimum height equal to the sum of header/footer heights.
|
1970
|
+
*
|
1971
|
+
*
|
1972
|
+
* @param {Number} width The new dialog width in pixels.
|
1973
|
+
* @param {Number} height The new dialog height in pixels.
|
1974
|
+
*
|
1975
|
+
* @return {Object} The dialog instance.
|
1976
|
+
*/
|
1977
|
+
resizeTo:function(width,height){
|
1978
|
+
if(!isNaN(width) && !isNaN(height) && this.get('resizable') === true){
|
1979
|
+
var element = this.elements.dialog;
|
1980
|
+
if (element.style.maxWidth !== 'none') {
|
1981
|
+
element.style.minWidth = (minWidth = element.offsetWidth) + 'px';
|
1982
|
+
}
|
1983
|
+
element.style.maxWidth = 'none';
|
1984
|
+
element.style.minHeight = this.elements.header.offsetHeight + this.elements.footer.offsetHeight + 'px';
|
1985
|
+
element.style.width = width + 'px';
|
1986
|
+
element.style.height = height + 'px';
|
1987
|
+
}
|
1988
|
+
return this;
|
1989
|
+
},
|
1829
1990
|
/**
|
1830
1991
|
* Gets or Sets dialog settings/options
|
1831
1992
|
*
|
@@ -1938,7 +2099,7 @@
|
|
1938
2099
|
bindEvents(this);
|
1939
2100
|
|
1940
2101
|
if(modal !== undefined){
|
1941
|
-
this.
|
2102
|
+
this.set('modal', modal);
|
1942
2103
|
}
|
1943
2104
|
|
1944
2105
|
ensureNoOverflow();
|
@@ -1948,6 +2109,13 @@
|
|
1948
2109
|
this.__internal.className = className;
|
1949
2110
|
addClass(this.elements.root, className);
|
1950
2111
|
}
|
2112
|
+
|
2113
|
+
// maximize if start maximized
|
2114
|
+
if ( this.get('startMaximized')) {
|
2115
|
+
this.maximize();
|
2116
|
+
}else if(this.isMaximized()){
|
2117
|
+
restore(this);
|
2118
|
+
}
|
1951
2119
|
|
1952
2120
|
updateAbsPositionFix(this);
|
1953
2121
|
|
@@ -1972,9 +2140,10 @@
|
|
1972
2140
|
removeClass(this.elements.root, classes.hidden);
|
1973
2141
|
|
1974
2142
|
// allow custom `onshow` method
|
1975
|
-
if ( typeof this.
|
1976
|
-
this.
|
2143
|
+
if ( typeof this.get('onshow') === 'function' ) {
|
2144
|
+
this.get('onshow')();
|
1977
2145
|
}
|
2146
|
+
|
1978
2147
|
}else{
|
1979
2148
|
// reset move updates
|
1980
2149
|
resetMove(this);
|
@@ -1992,7 +2161,7 @@
|
|
1992
2161
|
/**
|
1993
2162
|
* Close the dialog
|
1994
2163
|
*
|
1995
|
-
* @return {
|
2164
|
+
* @return {Object} The dialog instance
|
1996
2165
|
*/
|
1997
2166
|
close: function () {
|
1998
2167
|
if (this.__internal.isOpen ) {
|
@@ -2016,8 +2185,8 @@
|
|
2016
2185
|
}
|
2017
2186
|
|
2018
2187
|
// allow custom `onclose` method
|
2019
|
-
if ( typeof this.
|
2020
|
-
this.
|
2188
|
+
if ( typeof this.get('onclose') === 'function' ) {
|
2189
|
+
this.get('onclose')();
|
2021
2190
|
}
|
2022
2191
|
|
2023
2192
|
//remove from open dialogs
|
@@ -2649,9 +2818,9 @@
|
|
2649
2818
|
onok = _onok;
|
2650
2819
|
break;
|
2651
2820
|
}
|
2652
|
-
this.
|
2653
|
-
this.
|
2654
|
-
this.
|
2821
|
+
this.set('title', title);
|
2822
|
+
this.set('message', message);
|
2823
|
+
this.set('onok', onok);
|
2655
2824
|
return this;
|
2656
2825
|
},
|
2657
2826
|
setup: function () {
|
@@ -2701,8 +2870,8 @@
|
|
2701
2870
|
}
|
2702
2871
|
},
|
2703
2872
|
callback: function (closeEvent) {
|
2704
|
-
if (typeof this.
|
2705
|
-
var returnValue = this.
|
2873
|
+
if (typeof this.get('onok') === 'function') {
|
2874
|
+
var returnValue = this.get('onok').call(undefined, closeEvent);
|
2706
2875
|
if (typeof returnValue !== 'undefined') {
|
2707
2876
|
closeEvent.cancel = !returnValue;
|
2708
2877
|
}
|
@@ -2789,10 +2958,10 @@
|
|
2789
2958
|
oncancel = _oncancel;
|
2790
2959
|
break;
|
2791
2960
|
}
|
2792
|
-
this.
|
2793
|
-
this.
|
2794
|
-
this.
|
2795
|
-
this.
|
2961
|
+
this.set('title', title);
|
2962
|
+
this.set('message', message);
|
2963
|
+
this.set('onok', onok);
|
2964
|
+
this.set('oncancel', oncancel);
|
2796
2965
|
return this;
|
2797
2966
|
},
|
2798
2967
|
setup: function () {
|
@@ -2869,16 +3038,16 @@
|
|
2869
3038
|
var returnValue;
|
2870
3039
|
switch (closeEvent.index) {
|
2871
3040
|
case 0:
|
2872
|
-
if (typeof this.
|
2873
|
-
returnValue = this.
|
3041
|
+
if (typeof this.get('onok') === 'function') {
|
3042
|
+
returnValue = this.get('onok').call(undefined, closeEvent);
|
2874
3043
|
if (typeof returnValue !== 'undefined') {
|
2875
3044
|
closeEvent.cancel = !returnValue;
|
2876
3045
|
}
|
2877
3046
|
}
|
2878
3047
|
break;
|
2879
3048
|
case 1:
|
2880
|
-
if (typeof this.
|
2881
|
-
returnValue = this.
|
3049
|
+
if (typeof this.get('oncancel') === 'function') {
|
3050
|
+
returnValue = this.get('oncancel').call(undefined, closeEvent);
|
2882
3051
|
if (typeof returnValue !== 'undefined') {
|
2883
3052
|
closeEvent.cancel = !returnValue;
|
2884
3053
|
}
|
@@ -2931,7 +3100,7 @@
|
|
2931
3100
|
onok = _value;
|
2932
3101
|
oncancel = _onok;
|
2933
3102
|
break;
|
2934
|
-
case
|
3103
|
+
case 5:
|
2935
3104
|
title = _title;
|
2936
3105
|
message = _message;
|
2937
3106
|
value = _value;
|
@@ -2939,11 +3108,11 @@
|
|
2939
3108
|
oncancel = _oncancel;
|
2940
3109
|
break;
|
2941
3110
|
}
|
2942
|
-
this.
|
2943
|
-
this.
|
2944
|
-
this.
|
2945
|
-
this.
|
2946
|
-
this.
|
3111
|
+
this.set('title', title);
|
3112
|
+
this.set('message', message);
|
3113
|
+
this.set('value', value);
|
3114
|
+
this.set('onok', onok);
|
3115
|
+
this.set('oncancel', oncancel);
|
2947
3116
|
return this;
|
2948
3117
|
},
|
2949
3118
|
setup: function () {
|
@@ -2974,7 +3143,7 @@
|
|
2974
3143
|
build: function () {
|
2975
3144
|
input.className = alertify.defaults.theme.input;
|
2976
3145
|
input.setAttribute('type', 'text');
|
2977
|
-
input.value = this.
|
3146
|
+
input.value = this.get('value');
|
2978
3147
|
this.elements.content.appendChild(p);
|
2979
3148
|
this.elements.content.appendChild(input);
|
2980
3149
|
},
|
@@ -3027,16 +3196,16 @@
|
|
3027
3196
|
switch (closeEvent.index) {
|
3028
3197
|
case 0:
|
3029
3198
|
this.value = input.value;
|
3030
|
-
if (typeof this.
|
3031
|
-
returnValue = this.
|
3199
|
+
if (typeof this.get('onok') === 'function') {
|
3200
|
+
returnValue = this.get('onok').call(undefined, closeEvent, this.value);
|
3032
3201
|
if (typeof returnValue !== 'undefined') {
|
3033
3202
|
closeEvent.cancel = !returnValue;
|
3034
3203
|
}
|
3035
3204
|
}
|
3036
3205
|
break;
|
3037
3206
|
case 1:
|
3038
|
-
if (typeof this.
|
3039
|
-
returnValue = this.
|
3207
|
+
if (typeof this.get('oncancel') === 'function') {
|
3208
|
+
returnValue = this.get('oncancel').call(undefined, closeEvent);
|
3040
3209
|
if (typeof returnValue !== 'undefined') {
|
3041
3210
|
closeEvent.cancel = !returnValue;
|
3042
3211
|
}
|
@@ -3046,6 +3215,7 @@
|
|
3046
3215
|
}
|
3047
3216
|
};
|
3048
3217
|
});
|
3218
|
+
|
3049
3219
|
// AMD and window support
|
3050
3220
|
if ( typeof define === 'function' ) {
|
3051
3221
|
define( [], function () {
|
@@ -74,6 +74,7 @@
|
|
74
74
|
padding: 4px;
|
75
75
|
margin-left: -24px;
|
76
76
|
margin-right: -24px;
|
77
|
+
min-height: 43px;
|
77
78
|
}
|
78
79
|
.alertify .ajs-footer .ajs-buttons.ajs-primary {
|
79
80
|
text-align: right;
|
@@ -93,7 +94,7 @@
|
|
93
94
|
min-width: 88px;
|
94
95
|
min-height: 35px;
|
95
96
|
}
|
96
|
-
.alertify .ajs-
|
97
|
+
.alertify .ajs-handle {
|
97
98
|
position: absolute;
|
98
99
|
display: none;
|
99
100
|
width: 10px;
|
@@ -219,6 +220,29 @@
|
|
219
220
|
max-height: 500px;
|
220
221
|
overflow: auto;
|
221
222
|
}
|
223
|
+
.alertify.ajs-basic .ajs-header {
|
224
|
+
opacity: 0;
|
225
|
+
}
|
226
|
+
.alertify.ajs-basic .ajs-footer {
|
227
|
+
visibility: hidden;
|
228
|
+
}
|
229
|
+
.alertify.ajs-frameless .ajs-header,
|
230
|
+
.alertify.ajs-frameless .ajs-footer {
|
231
|
+
display: none;
|
232
|
+
}
|
233
|
+
.alertify.ajs-frameless .ajs-body .ajs-content {
|
234
|
+
position: absolute;
|
235
|
+
top: 0;
|
236
|
+
right: 0;
|
237
|
+
bottom: 0;
|
238
|
+
left: 0;
|
239
|
+
}
|
240
|
+
.alertify.ajs-frameless:not(.ajs-resizable) .ajs-dialog {
|
241
|
+
padding-top: 0;
|
242
|
+
}
|
243
|
+
.alertify.ajs-frameless:not(.ajs-resizable) .ajs-dialog .ajs-commands {
|
244
|
+
margin-top: 0;
|
245
|
+
}
|
222
246
|
.ajs-no-overflow {
|
223
247
|
overflow: hidden !important;
|
224
248
|
outline: none;
|
@@ -239,6 +263,12 @@
|
|
239
263
|
}
|
240
264
|
.alertify:not(.ajs-maximized).ajs-resizable .ajs-dialog {
|
241
265
|
min-width: initial;
|
266
|
+
min-width: auto /*IE fallback*/;
|
267
|
+
}
|
268
|
+
}
|
269
|
+
@-moz-document url-prefix() {
|
270
|
+
.alertify button:focus {
|
271
|
+
outline: 1px dotted #3593D2;
|
242
272
|
}
|
243
273
|
}
|
244
274
|
.alertify .ajs-dimmer,
|
@@ -74,6 +74,7 @@
|
|
74
74
|
padding: 4px;
|
75
75
|
margin-right: -24px;
|
76
76
|
margin-left: -24px;
|
77
|
+
min-height: 43px;
|
77
78
|
}
|
78
79
|
.alertify .ajs-footer .ajs-buttons.ajs-primary {
|
79
80
|
text-align: left;
|
@@ -93,7 +94,7 @@
|
|
93
94
|
min-width: 88px;
|
94
95
|
min-height: 35px;
|
95
96
|
}
|
96
|
-
.alertify .ajs-
|
97
|
+
.alertify .ajs-handle {
|
97
98
|
position: absolute;
|
98
99
|
display: none;
|
99
100
|
width: 10px;
|
@@ -219,6 +220,29 @@
|
|
219
220
|
max-height: 500px;
|
220
221
|
overflow: auto;
|
221
222
|
}
|
223
|
+
.alertify.ajs-basic .ajs-header {
|
224
|
+
opacity: 0;
|
225
|
+
}
|
226
|
+
.alertify.ajs-basic .ajs-footer {
|
227
|
+
visibility: hidden;
|
228
|
+
}
|
229
|
+
.alertify.ajs-frameless .ajs-header,
|
230
|
+
.alertify.ajs-frameless .ajs-footer {
|
231
|
+
display: none;
|
232
|
+
}
|
233
|
+
.alertify.ajs-frameless .ajs-body .ajs-content {
|
234
|
+
position: absolute;
|
235
|
+
top: 0;
|
236
|
+
left: 0;
|
237
|
+
bottom: 0;
|
238
|
+
right: 0;
|
239
|
+
}
|
240
|
+
.alertify.ajs-frameless:not(.ajs-resizable) .ajs-dialog {
|
241
|
+
padding-top: 0;
|
242
|
+
}
|
243
|
+
.alertify.ajs-frameless:not(.ajs-resizable) .ajs-dialog .ajs-commands {
|
244
|
+
margin-top: 0;
|
245
|
+
}
|
222
246
|
.ajs-no-overflow {
|
223
247
|
overflow: hidden !important;
|
224
248
|
outline: none;
|
@@ -239,6 +263,12 @@
|
|
239
263
|
}
|
240
264
|
.alertify:not(.ajs-maximized).ajs-resizable .ajs-dialog {
|
241
265
|
min-width: initial;
|
266
|
+
min-width: auto /*IE fallback*/;
|
267
|
+
}
|
268
|
+
}
|
269
|
+
@-moz-document url-prefix() {
|
270
|
+
.alertify button:focus {
|
271
|
+
outline: 1px dotted #3593D2;
|
242
272
|
}
|
243
273
|
}
|
244
274
|
.alertify .ajs-dimmer,
|
@@ -32,3 +32,24 @@
|
|
32
32
|
border-top: 1px solid #e5e5e5;
|
33
33
|
border-radius: 0 0 6px 6px;
|
34
34
|
}
|
35
|
+
.alertify-notifier .ajs-message {
|
36
|
+
background: rgba(255, 255, 255, 0.95);
|
37
|
+
color: #000;
|
38
|
+
text-align: center;
|
39
|
+
border: solid 1px #ddd;
|
40
|
+
border-radius: 2px;
|
41
|
+
}
|
42
|
+
.alertify-notifier .ajs-message.ajs-success {
|
43
|
+
color: #fff;
|
44
|
+
background: rgba(91, 189, 114, 0.95);
|
45
|
+
text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.5);
|
46
|
+
}
|
47
|
+
.alertify-notifier .ajs-message.ajs-error {
|
48
|
+
color: #fff;
|
49
|
+
background: rgba(217, 92, 92, 0.95);
|
50
|
+
text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.5);
|
51
|
+
}
|
52
|
+
.alertify-notifier .ajs-message.ajs-warning {
|
53
|
+
background: rgba(252, 248, 215, 0.95);
|
54
|
+
border-color: #999;
|
55
|
+
}
|
@@ -32,3 +32,24 @@
|
|
32
32
|
border-top: 1px solid #e5e5e5;
|
33
33
|
border-radius: 0 0 6px 6px;
|
34
34
|
}
|
35
|
+
.alertify-notifier .ajs-message {
|
36
|
+
background: rgba(255, 255, 255, 0.95);
|
37
|
+
color: #000;
|
38
|
+
text-align: center;
|
39
|
+
border: solid 1px #ddd;
|
40
|
+
border-radius: 2px;
|
41
|
+
}
|
42
|
+
.alertify-notifier .ajs-message.ajs-success {
|
43
|
+
color: #fff;
|
44
|
+
background: rgba(91, 189, 114, 0.95);
|
45
|
+
text-shadow: 1px -1px 0 rgba(0, 0, 0, 0.5);
|
46
|
+
}
|
47
|
+
.alertify-notifier .ajs-message.ajs-error {
|
48
|
+
color: #fff;
|
49
|
+
background: rgba(217, 92, 92, 0.95);
|
50
|
+
text-shadow: 1px -1px 0 rgba(0, 0, 0, 0.5);
|
51
|
+
}
|
52
|
+
.alertify-notifier .ajs-message.ajs-warning {
|
53
|
+
background: rgba(252, 248, 215, 0.95);
|
54
|
+
border-color: #999;
|
55
|
+
}
|
@@ -57,3 +57,24 @@
|
|
57
57
|
border-top: none;
|
58
58
|
border-radius: 0 0 5px 5px;
|
59
59
|
}
|
60
|
+
.alertify-notifier .ajs-message {
|
61
|
+
background: rgba(255, 255, 255, 0.95);
|
62
|
+
color: #000;
|
63
|
+
text-align: center;
|
64
|
+
border: solid 1px #ddd;
|
65
|
+
border-radius: 2px;
|
66
|
+
}
|
67
|
+
.alertify-notifier .ajs-message.ajs-success {
|
68
|
+
color: #fff;
|
69
|
+
background: rgba(91, 189, 114, 0.95);
|
70
|
+
text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.5);
|
71
|
+
}
|
72
|
+
.alertify-notifier .ajs-message.ajs-error {
|
73
|
+
color: #fff;
|
74
|
+
background: rgba(217, 92, 92, 0.95);
|
75
|
+
text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.5);
|
76
|
+
}
|
77
|
+
.alertify-notifier .ajs-message.ajs-warning {
|
78
|
+
background: rgba(252, 248, 215, 0.95);
|
79
|
+
border-color: #999;
|
80
|
+
}
|
@@ -57,3 +57,24 @@
|
|
57
57
|
border-top: none;
|
58
58
|
border-radius: 0 0 5px 5px;
|
59
59
|
}
|
60
|
+
.alertify-notifier .ajs-message {
|
61
|
+
background: rgba(255, 255, 255, 0.95);
|
62
|
+
color: #000;
|
63
|
+
text-align: center;
|
64
|
+
border: solid 1px #ddd;
|
65
|
+
border-radius: 2px;
|
66
|
+
}
|
67
|
+
.alertify-notifier .ajs-message.ajs-success {
|
68
|
+
color: #fff;
|
69
|
+
background: rgba(91, 189, 114, 0.95);
|
70
|
+
text-shadow: 1px -1px 0 rgba(0, 0, 0, 0.5);
|
71
|
+
}
|
72
|
+
.alertify-notifier .ajs-message.ajs-error {
|
73
|
+
color: #fff;
|
74
|
+
background: rgba(217, 92, 92, 0.95);
|
75
|
+
text-shadow: 1px -1px 0 rgba(0, 0, 0, 0.5);
|
76
|
+
}
|
77
|
+
.alertify-notifier .ajs-message.ajs-warning {
|
78
|
+
background: rgba(252, 248, 215, 0.95);
|
79
|
+
border-color: #999;
|
80
|
+
}
|
metadata
CHANGED
@@ -1,23 +1,23 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: alertifyjs-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
5
|
-
prerelease:
|
4
|
+
version: 0.1.5
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- mkhairi
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2014-
|
11
|
+
date: 2014-12-02 00:00:00.000000000 Z
|
13
12
|
dependencies: []
|
14
13
|
description: Use Alertify.js (alertifyjs.com) with Rails 3 and 4
|
15
|
-
email:
|
14
|
+
email:
|
15
|
+
- khairi@labs.my
|
16
16
|
executables: []
|
17
17
|
extensions: []
|
18
18
|
extra_rdoc_files: []
|
19
19
|
files:
|
20
|
-
- .gitignore
|
20
|
+
- ".gitignore"
|
21
21
|
- Gemfile
|
22
22
|
- LICENSE.txt
|
23
23
|
- README.md
|
@@ -40,27 +40,27 @@ files:
|
|
40
40
|
- vendor/assets/stylesheets/alertify/semantic.css
|
41
41
|
- vendor/assets/stylesheets/alertify/semantic.rtl.css
|
42
42
|
homepage: https://github.com/mkhairi/alertifyjs-rails.git
|
43
|
-
licenses:
|
43
|
+
licenses:
|
44
|
+
- MIT
|
45
|
+
metadata: {}
|
44
46
|
post_install_message:
|
45
47
|
rdoc_options: []
|
46
48
|
require_paths:
|
47
49
|
- lib
|
48
50
|
required_ruby_version: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
51
|
requirements:
|
51
|
-
- -
|
52
|
+
- - ">="
|
52
53
|
- !ruby/object:Gem::Version
|
53
54
|
version: '0'
|
54
55
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
55
|
-
none: false
|
56
56
|
requirements:
|
57
|
-
- -
|
57
|
+
- - ">="
|
58
58
|
- !ruby/object:Gem::Version
|
59
59
|
version: '0'
|
60
60
|
requirements: []
|
61
61
|
rubyforge_project:
|
62
|
-
rubygems_version:
|
62
|
+
rubygems_version: 2.4.4
|
63
63
|
signing_key:
|
64
|
-
specification_version:
|
64
|
+
specification_version: 4
|
65
65
|
summary: This gem provides the Alertify.js (alertifyjs.com) for Rails applications
|
66
66
|
test_files: []
|