fuelux-rails 2.1.3 → 2.2.0.beta.1
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.
- data/COPYING +28 -0
- data/README.md +59 -0
- data/THIRD-PARTY +25 -0
- data/lib/fuelux-rails/version.rb +1 -1
- data/vendor/assets/images/form.png +0 -0
- data/vendor/assets/javascripts/fuelux/checkbox.js +106 -0
- data/vendor/assets/javascripts/fuelux/combobox.js +122 -11
- data/vendor/assets/javascripts/fuelux/datagrid.js +7 -3
- data/vendor/assets/javascripts/fuelux/loader.js +1045 -43
- data/vendor/assets/javascripts/fuelux/pillbox.js +2 -1
- data/vendor/assets/javascripts/fuelux/radio.js +106 -0
- data/vendor/assets/javascripts/fuelux/search.js +1 -2
- data/vendor/assets/javascripts/fuelux/select.js +166 -0
- data/vendor/assets/javascripts/fuelux/spinner.js +2 -3
- data/vendor/assets/javascripts/fuelux/tree.js +166 -0
- data/vendor/assets/javascripts/fuelux/util.js +26 -0
- data/vendor/assets/javascripts/fuelux/wizard.js +154 -0
- data/vendor/assets/javascripts/fuelux.js +6 -0
- data/vendor/toolkit/fuelux/checkbox.less +52 -0
- data/vendor/toolkit/fuelux/combobox.less +0 -0
- data/vendor/toolkit/fuelux/datagrid.less +0 -0
- data/vendor/toolkit/fuelux/pillbox.less +0 -0
- data/vendor/toolkit/fuelux/radio.less +52 -0
- data/vendor/toolkit/fuelux/select.less +17 -0
- data/vendor/toolkit/fuelux/spinner.less +0 -0
- data/vendor/toolkit/fuelux/tree.less +97 -0
- data/vendor/toolkit/fuelux/wizard.less +147 -0
- data/vendor/toolkit/fuelux.less +7 -0
- metadata +20 -7
- data/MIT-LICENSE +0 -20
- data/README.rdoc +0 -3
@@ -344,7 +344,7 @@ define("almond", function(){});
|
|
344
344
|
(function (root) { var amdExports; define('bootstrap/bootstrap-transition',['jquery'], function () { (function () {
|
345
345
|
|
346
346
|
/* ===================================================
|
347
|
-
* bootstrap-transition.js v2.2.
|
347
|
+
* bootstrap-transition.js v2.2.2
|
348
348
|
* http://twitter.github.com/bootstrap/javascript.html#transitions
|
349
349
|
* ===================================================
|
350
350
|
* Copyright 2012 Twitter, Inc.
|
@@ -413,7 +413,7 @@ define("almond", function(){});
|
|
413
413
|
(function (root) { var amdExports; define('bootstrap/bootstrap-affix',['bootstrap/bootstrap-transition'], function () { (function () {
|
414
414
|
|
415
415
|
/* ==========================================================
|
416
|
-
* bootstrap-affix.js v2.2.
|
416
|
+
* bootstrap-affix.js v2.2.2
|
417
417
|
* http://twitter.github.com/bootstrap/javascript.html#affix
|
418
418
|
* ==========================================================
|
419
419
|
* Copyright 2012 Twitter, Inc.
|
@@ -482,6 +482,8 @@ define("almond", function(){});
|
|
482
482
|
/* AFFIX PLUGIN DEFINITION
|
483
483
|
* ======================= */
|
484
484
|
|
485
|
+
var old = $.fn.affix
|
486
|
+
|
485
487
|
$.fn.affix = function (option) {
|
486
488
|
return this.each(function () {
|
487
489
|
var $this = $(this)
|
@@ -499,6 +501,15 @@ define("almond", function(){});
|
|
499
501
|
}
|
500
502
|
|
501
503
|
|
504
|
+
/* AFFIX NO CONFLICT
|
505
|
+
* ================= */
|
506
|
+
|
507
|
+
$.fn.affix.noConflict = function () {
|
508
|
+
$.fn.affix = old
|
509
|
+
return this
|
510
|
+
}
|
511
|
+
|
512
|
+
|
502
513
|
/* AFFIX DATA-API
|
503
514
|
* ============== */
|
504
515
|
|
@@ -528,7 +539,7 @@ define("almond", function(){});
|
|
528
539
|
(function (root) { var amdExports; define('bootstrap/bootstrap-alert',['bootstrap/bootstrap-transition'], function () { (function () {
|
529
540
|
|
530
541
|
/* ==========================================================
|
531
|
-
* bootstrap-alert.js v2.2.
|
542
|
+
* bootstrap-alert.js v2.2.2
|
532
543
|
* http://twitter.github.com/bootstrap/javascript.html#alerts
|
533
544
|
* ==========================================================
|
534
545
|
* Copyright 2012 Twitter, Inc.
|
@@ -597,6 +608,8 @@ define("almond", function(){});
|
|
597
608
|
/* ALERT PLUGIN DEFINITION
|
598
609
|
* ======================= */
|
599
610
|
|
611
|
+
var old = $.fn.alert
|
612
|
+
|
600
613
|
$.fn.alert = function (option) {
|
601
614
|
return this.each(function () {
|
602
615
|
var $this = $(this)
|
@@ -609,6 +622,15 @@ define("almond", function(){});
|
|
609
622
|
$.fn.alert.Constructor = Alert
|
610
623
|
|
611
624
|
|
625
|
+
/* ALERT NO CONFLICT
|
626
|
+
* ================= */
|
627
|
+
|
628
|
+
$.fn.alert.noConflict = function () {
|
629
|
+
$.fn.alert = old
|
630
|
+
return this
|
631
|
+
}
|
632
|
+
|
633
|
+
|
612
634
|
/* ALERT DATA-API
|
613
635
|
* ============== */
|
614
636
|
|
@@ -625,7 +647,7 @@ define("almond", function(){});
|
|
625
647
|
(function (root) { var amdExports; define('bootstrap/bootstrap-button',['bootstrap/bootstrap-transition'], function () { (function () {
|
626
648
|
|
627
649
|
/* ============================================================
|
628
|
-
* bootstrap-button.js v2.2.
|
650
|
+
* bootstrap-button.js v2.2.2
|
629
651
|
* http://twitter.github.com/bootstrap/javascript.html#buttons
|
630
652
|
* ============================================================
|
631
653
|
* Copyright 2012 Twitter, Inc.
|
@@ -690,6 +712,8 @@ define("almond", function(){});
|
|
690
712
|
/* BUTTON PLUGIN DEFINITION
|
691
713
|
* ======================== */
|
692
714
|
|
715
|
+
var old = $.fn.button
|
716
|
+
|
693
717
|
$.fn.button = function (option) {
|
694
718
|
return this.each(function () {
|
695
719
|
var $this = $(this)
|
@@ -708,6 +732,15 @@ define("almond", function(){});
|
|
708
732
|
$.fn.button.Constructor = Button
|
709
733
|
|
710
734
|
|
735
|
+
/* BUTTON NO CONFLICT
|
736
|
+
* ================== */
|
737
|
+
|
738
|
+
$.fn.button.noConflict = function () {
|
739
|
+
$.fn.button = old
|
740
|
+
return this
|
741
|
+
}
|
742
|
+
|
743
|
+
|
711
744
|
/* BUTTON DATA-API
|
712
745
|
* =============== */
|
713
746
|
|
@@ -728,7 +761,7 @@ define("almond", function(){});
|
|
728
761
|
(function (root) { var amdExports; define('bootstrap/bootstrap-carousel',['bootstrap/bootstrap-transition'], function () { (function () {
|
729
762
|
|
730
763
|
/* ==========================================================
|
731
|
-
* bootstrap-carousel.js v2.2.
|
764
|
+
* bootstrap-carousel.js v2.2.2
|
732
765
|
* http://twitter.github.com/bootstrap/javascript.html#carousel
|
733
766
|
* ==========================================================
|
734
767
|
* Copyright 2012 Twitter, Inc.
|
@@ -758,7 +791,6 @@ define("almond", function(){});
|
|
758
791
|
var Carousel = function (element, options) {
|
759
792
|
this.$element = $(element)
|
760
793
|
this.options = options
|
761
|
-
this.options.slide && this.slide(this.options.slide)
|
762
794
|
this.options.pause == 'hover' && this.$element
|
763
795
|
.on('mouseenter', $.proxy(this.pause, this))
|
764
796
|
.on('mouseleave', $.proxy(this.cycle, this))
|
@@ -870,6 +902,8 @@ define("almond", function(){});
|
|
870
902
|
/* CAROUSEL PLUGIN DEFINITION
|
871
903
|
* ========================== */
|
872
904
|
|
905
|
+
var old = $.fn.carousel
|
906
|
+
|
873
907
|
$.fn.carousel = function (option) {
|
874
908
|
return this.each(function () {
|
875
909
|
var $this = $(this)
|
@@ -891,6 +925,14 @@ define("almond", function(){});
|
|
891
925
|
$.fn.carousel.Constructor = Carousel
|
892
926
|
|
893
927
|
|
928
|
+
/* CAROUSEL NO CONFLICT
|
929
|
+
* ==================== */
|
930
|
+
|
931
|
+
$.fn.carousel.noConflict = function () {
|
932
|
+
$.fn.carousel = old
|
933
|
+
return this
|
934
|
+
}
|
935
|
+
|
894
936
|
/* CAROUSEL DATA-API
|
895
937
|
* ================= */
|
896
938
|
|
@@ -913,7 +955,7 @@ define("almond", function(){});
|
|
913
955
|
(function (root) { var amdExports; define('bootstrap/bootstrap-collapse',['bootstrap/bootstrap-transition'], function () { (function () {
|
914
956
|
|
915
957
|
/* =============================================================
|
916
|
-
* bootstrap-collapse.js v2.2.
|
958
|
+
* bootstrap-collapse.js v2.2.2
|
917
959
|
* http://twitter.github.com/bootstrap/javascript.html#collapse
|
918
960
|
* =============================================================
|
919
961
|
* Copyright 2012 Twitter, Inc.
|
@@ -1034,8 +1076,10 @@ define("almond", function(){});
|
|
1034
1076
|
}
|
1035
1077
|
|
1036
1078
|
|
1037
|
-
/*
|
1038
|
-
*
|
1079
|
+
/* COLLAPSE PLUGIN DEFINITION
|
1080
|
+
* ========================== */
|
1081
|
+
|
1082
|
+
var old = $.fn.collapse
|
1039
1083
|
|
1040
1084
|
$.fn.collapse = function (option) {
|
1041
1085
|
return this.each(function () {
|
@@ -1054,9 +1098,18 @@ define("almond", function(){});
|
|
1054
1098
|
$.fn.collapse.Constructor = Collapse
|
1055
1099
|
|
1056
1100
|
|
1057
|
-
/*
|
1101
|
+
/* COLLAPSE NO CONFLICT
|
1058
1102
|
* ==================== */
|
1059
1103
|
|
1104
|
+
$.fn.collapse.noConflict = function () {
|
1105
|
+
$.fn.collapse = old
|
1106
|
+
return this
|
1107
|
+
}
|
1108
|
+
|
1109
|
+
|
1110
|
+
/* COLLAPSE DATA-API
|
1111
|
+
* ================= */
|
1112
|
+
|
1060
1113
|
$(document).on('click.collapse.data-api', '[data-toggle=collapse]', function (e) {
|
1061
1114
|
var $this = $(this), href
|
1062
1115
|
, target = $this.attr('data-target')
|
@@ -1078,7 +1131,7 @@ define("almond", function(){});
|
|
1078
1131
|
(function (root) { var amdExports; define('bootstrap/bootstrap-dropdown',['bootstrap/bootstrap-transition'], function () { (function () {
|
1079
1132
|
|
1080
1133
|
/* ============================================================
|
1081
|
-
* bootstrap-dropdown.js v2.2.
|
1134
|
+
* bootstrap-dropdown.js v2.2.2
|
1082
1135
|
* http://twitter.github.com/bootstrap/javascript.html#dropdowns
|
1083
1136
|
* ============================================================
|
1084
1137
|
* Copyright 2012 Twitter, Inc.
|
@@ -1132,9 +1185,10 @@ define("almond", function(){});
|
|
1132
1185
|
|
1133
1186
|
if (!isActive) {
|
1134
1187
|
$parent.toggleClass('open')
|
1135
|
-
$this.focus()
|
1136
1188
|
}
|
1137
1189
|
|
1190
|
+
$this.focus()
|
1191
|
+
|
1138
1192
|
return false
|
1139
1193
|
}
|
1140
1194
|
|
@@ -1161,7 +1215,7 @@ define("almond", function(){});
|
|
1161
1215
|
|
1162
1216
|
if (!isActive || (isActive && e.keyCode == 27)) return $this.click()
|
1163
1217
|
|
1164
|
-
$items = $('[role=menu] li:not(.divider) a', $parent)
|
1218
|
+
$items = $('[role=menu] li:not(.divider):visible a', $parent)
|
1165
1219
|
|
1166
1220
|
if (!$items.length) return
|
1167
1221
|
|
@@ -1203,6 +1257,8 @@ define("almond", function(){});
|
|
1203
1257
|
/* DROPDOWN PLUGIN DEFINITION
|
1204
1258
|
* ========================== */
|
1205
1259
|
|
1260
|
+
var old = $.fn.dropdown
|
1261
|
+
|
1206
1262
|
$.fn.dropdown = function (option) {
|
1207
1263
|
return this.each(function () {
|
1208
1264
|
var $this = $(this)
|
@@ -1215,12 +1271,22 @@ define("almond", function(){});
|
|
1215
1271
|
$.fn.dropdown.Constructor = Dropdown
|
1216
1272
|
|
1217
1273
|
|
1274
|
+
/* DROPDOWN NO CONFLICT
|
1275
|
+
* ==================== */
|
1276
|
+
|
1277
|
+
$.fn.dropdown.noConflict = function () {
|
1278
|
+
$.fn.dropdown = old
|
1279
|
+
return this
|
1280
|
+
}
|
1281
|
+
|
1282
|
+
|
1218
1283
|
/* APPLY TO STANDARD DROPDOWN ELEMENTS
|
1219
1284
|
* =================================== */
|
1220
1285
|
|
1221
1286
|
$(document)
|
1222
1287
|
.on('click.dropdown.data-api touchstart.dropdown.data-api', clearMenus)
|
1223
1288
|
.on('click.dropdown touchstart.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
|
1289
|
+
.on('touchstart.dropdown.data-api', '.dropdown-menu', function (e) { e.stopPropagation() })
|
1224
1290
|
.on('click.dropdown.data-api touchstart.dropdown.data-api' , toggle, Dropdown.prototype.toggle)
|
1225
1291
|
.on('keydown.dropdown.data-api touchstart.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
|
1226
1292
|
|
@@ -1235,7 +1301,7 @@ define("almond", function(){});
|
|
1235
1301
|
(function (root) { var amdExports; define('bootstrap/bootstrap-modal',['bootstrap/bootstrap-transition'], function () { (function () {
|
1236
1302
|
|
1237
1303
|
/* =========================================================
|
1238
|
-
* bootstrap-modal.js v2.2.
|
1304
|
+
* bootstrap-modal.js v2.2.2
|
1239
1305
|
* http://twitter.github.com/bootstrap/javascript.html#modals
|
1240
1306
|
* =========================================================
|
1241
1307
|
* Copyright 2012 Twitter, Inc.
|
@@ -1429,6 +1495,8 @@ define("almond", function(){});
|
|
1429
1495
|
/* MODAL PLUGIN DEFINITION
|
1430
1496
|
* ======================= */
|
1431
1497
|
|
1498
|
+
var old = $.fn.modal
|
1499
|
+
|
1432
1500
|
$.fn.modal = function (option) {
|
1433
1501
|
return this.each(function () {
|
1434
1502
|
var $this = $(this)
|
@@ -1449,6 +1517,15 @@ define("almond", function(){});
|
|
1449
1517
|
$.fn.modal.Constructor = Modal
|
1450
1518
|
|
1451
1519
|
|
1520
|
+
/* MODAL NO CONFLICT
|
1521
|
+
* ================= */
|
1522
|
+
|
1523
|
+
$.fn.modal.noConflict = function () {
|
1524
|
+
$.fn.modal = old
|
1525
|
+
return this
|
1526
|
+
}
|
1527
|
+
|
1528
|
+
|
1452
1529
|
/* MODAL DATA-API
|
1453
1530
|
* ============== */
|
1454
1531
|
|
@@ -1479,7 +1556,7 @@ define("almond", function(){});
|
|
1479
1556
|
(function (root) { var amdExports; define('bootstrap/bootstrap-tooltip',['bootstrap/bootstrap-transition'], function () { (function () {
|
1480
1557
|
|
1481
1558
|
/* ===========================================================
|
1482
|
-
* bootstrap-tooltip.js v2.2.
|
1559
|
+
* bootstrap-tooltip.js v2.2.2
|
1483
1560
|
* http://twitter.github.com/bootstrap/javascript.html#tooltips
|
1484
1561
|
* Inspired by the original jQuery.tipsy by Jason Frame
|
1485
1562
|
* ===========================================================
|
@@ -1730,6 +1807,8 @@ define("almond", function(){});
|
|
1730
1807
|
/* TOOLTIP PLUGIN DEFINITION
|
1731
1808
|
* ========================= */
|
1732
1809
|
|
1810
|
+
var old = $.fn.tooltip
|
1811
|
+
|
1733
1812
|
$.fn.tooltip = function ( option ) {
|
1734
1813
|
return this.each(function () {
|
1735
1814
|
var $this = $(this)
|
@@ -1753,6 +1832,15 @@ define("almond", function(){});
|
|
1753
1832
|
, html: false
|
1754
1833
|
}
|
1755
1834
|
|
1835
|
+
|
1836
|
+
/* TOOLTIP NO CONFLICT
|
1837
|
+
* =================== */
|
1838
|
+
|
1839
|
+
$.fn.tooltip.noConflict = function () {
|
1840
|
+
$.fn.tooltip = old
|
1841
|
+
return this
|
1842
|
+
}
|
1843
|
+
|
1756
1844
|
}(window.jQuery);
|
1757
1845
|
|
1758
1846
|
|
@@ -1764,7 +1852,7 @@ define("almond", function(){});
|
|
1764
1852
|
(function (root) { var amdExports; define('bootstrap/bootstrap-popover',['bootstrap/bootstrap-transition','bootstrap/bootstrap-tooltip'], function () { (function () {
|
1765
1853
|
|
1766
1854
|
/* ===========================================================
|
1767
|
-
* bootstrap-popover.js v2.2.
|
1855
|
+
* bootstrap-popover.js v2.2.2
|
1768
1856
|
* http://twitter.github.com/bootstrap/javascript.html#popovers
|
1769
1857
|
* ===========================================================
|
1770
1858
|
* Copyright 2012 Twitter, Inc.
|
@@ -1809,7 +1897,7 @@ define("almond", function(){});
|
|
1809
1897
|
, content = this.getContent()
|
1810
1898
|
|
1811
1899
|
$tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
|
1812
|
-
$tip.find('.popover-content
|
1900
|
+
$tip.find('.popover-content')[this.options.html ? 'html' : 'text'](content)
|
1813
1901
|
|
1814
1902
|
$tip.removeClass('fade top bottom left right in')
|
1815
1903
|
}
|
@@ -1846,6 +1934,8 @@ define("almond", function(){});
|
|
1846
1934
|
/* POPOVER PLUGIN DEFINITION
|
1847
1935
|
* ======================= */
|
1848
1936
|
|
1937
|
+
var old = $.fn.popover
|
1938
|
+
|
1849
1939
|
$.fn.popover = function (option) {
|
1850
1940
|
return this.each(function () {
|
1851
1941
|
var $this = $(this)
|
@@ -1862,9 +1952,18 @@ define("almond", function(){});
|
|
1862
1952
|
placement: 'right'
|
1863
1953
|
, trigger: 'click'
|
1864
1954
|
, content: ''
|
1865
|
-
, template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"
|
1955
|
+
, template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"></div></div></div>'
|
1866
1956
|
})
|
1867
1957
|
|
1958
|
+
|
1959
|
+
/* POPOVER NO CONFLICT
|
1960
|
+
* =================== */
|
1961
|
+
|
1962
|
+
$.fn.popover.noConflict = function () {
|
1963
|
+
$.fn.popover = old
|
1964
|
+
return this
|
1965
|
+
}
|
1966
|
+
|
1868
1967
|
}(window.jQuery);
|
1869
1968
|
|
1870
1969
|
|
@@ -1876,7 +1975,7 @@ define("almond", function(){});
|
|
1876
1975
|
(function (root) { var amdExports; define('bootstrap/bootstrap-scrollspy',['bootstrap/bootstrap-transition'], function () { (function () {
|
1877
1976
|
|
1878
1977
|
/* =============================================================
|
1879
|
-
* bootstrap-scrollspy.js v2.2.
|
1978
|
+
* bootstrap-scrollspy.js v2.2.2
|
1880
1979
|
* http://twitter.github.com/bootstrap/javascript.html#scrollspy
|
1881
1980
|
* =============================================================
|
1882
1981
|
* Copyright 2012 Twitter, Inc.
|
@@ -1936,7 +2035,7 @@ define("almond", function(){});
|
|
1936
2035
|
, $href = /^#\w/.test(href) && $(href)
|
1937
2036
|
return ( $href
|
1938
2037
|
&& $href.length
|
1939
|
-
&& [[ $href.position().top, href ]] ) || null
|
2038
|
+
&& [[ $href.position().top + self.$scrollElement.scrollTop(), href ]] ) || null
|
1940
2039
|
})
|
1941
2040
|
.sort(function (a, b) { return a[0] - b[0] })
|
1942
2041
|
.each(function () {
|
@@ -1998,6 +2097,8 @@ define("almond", function(){});
|
|
1998
2097
|
/* SCROLLSPY PLUGIN DEFINITION
|
1999
2098
|
* =========================== */
|
2000
2099
|
|
2100
|
+
var old = $.fn.scrollspy
|
2101
|
+
|
2001
2102
|
$.fn.scrollspy = function (option) {
|
2002
2103
|
return this.each(function () {
|
2003
2104
|
var $this = $(this)
|
@@ -2015,6 +2116,15 @@ define("almond", function(){});
|
|
2015
2116
|
}
|
2016
2117
|
|
2017
2118
|
|
2119
|
+
/* SCROLLSPY NO CONFLICT
|
2120
|
+
* ===================== */
|
2121
|
+
|
2122
|
+
$.fn.scrollspy.noConflict = function () {
|
2123
|
+
$.fn.scrollspy = old
|
2124
|
+
return this
|
2125
|
+
}
|
2126
|
+
|
2127
|
+
|
2018
2128
|
/* SCROLLSPY DATA-API
|
2019
2129
|
* ================== */
|
2020
2130
|
|
@@ -2036,7 +2146,7 @@ define("almond", function(){});
|
|
2036
2146
|
(function (root) { var amdExports; define('bootstrap/bootstrap-tab',['bootstrap/bootstrap-transition'], function () { (function () {
|
2037
2147
|
|
2038
2148
|
/* ========================================================
|
2039
|
-
* bootstrap-tab.js v2.2.
|
2149
|
+
* bootstrap-tab.js v2.2.2
|
2040
2150
|
* http://twitter.github.com/bootstrap/javascript.html#tabs
|
2041
2151
|
* ========================================================
|
2042
2152
|
* Copyright 2012 Twitter, Inc.
|
@@ -2147,6 +2257,8 @@ define("almond", function(){});
|
|
2147
2257
|
/* TAB PLUGIN DEFINITION
|
2148
2258
|
* ===================== */
|
2149
2259
|
|
2260
|
+
var old = $.fn.tab
|
2261
|
+
|
2150
2262
|
$.fn.tab = function ( option ) {
|
2151
2263
|
return this.each(function () {
|
2152
2264
|
var $this = $(this)
|
@@ -2159,6 +2271,15 @@ define("almond", function(){});
|
|
2159
2271
|
$.fn.tab.Constructor = Tab
|
2160
2272
|
|
2161
2273
|
|
2274
|
+
/* TAB NO CONFLICT
|
2275
|
+
* =============== */
|
2276
|
+
|
2277
|
+
$.fn.tab.noConflict = function () {
|
2278
|
+
$.fn.tab = old
|
2279
|
+
return this
|
2280
|
+
}
|
2281
|
+
|
2282
|
+
|
2162
2283
|
/* TAB DATA-API
|
2163
2284
|
* ============ */
|
2164
2285
|
|
@@ -2178,7 +2299,7 @@ define("almond", function(){});
|
|
2178
2299
|
(function (root) { var amdExports; define('bootstrap/bootstrap-typeahead',['bootstrap/bootstrap-transition'], function () { (function () {
|
2179
2300
|
|
2180
2301
|
/* =============================================================
|
2181
|
-
* bootstrap-typeahead.js v2.2.
|
2302
|
+
* bootstrap-typeahead.js v2.2.2
|
2182
2303
|
* http://twitter.github.com/bootstrap/javascript.html#typeahead
|
2183
2304
|
* =============================================================
|
2184
2305
|
* Copyright 2012 Twitter, Inc.
|
@@ -2212,8 +2333,8 @@ define("almond", function(){});
|
|
2212
2333
|
this.sorter = this.options.sorter || this.sorter
|
2213
2334
|
this.highlighter = this.options.highlighter || this.highlighter
|
2214
2335
|
this.updater = this.options.updater || this.updater
|
2215
|
-
this.$menu = $(this.options.menu).appendTo('body')
|
2216
2336
|
this.source = this.options.source
|
2337
|
+
this.$menu = $(this.options.menu)
|
2217
2338
|
this.shown = false
|
2218
2339
|
this.listen()
|
2219
2340
|
}
|
@@ -2235,16 +2356,18 @@ define("almond", function(){});
|
|
2235
2356
|
}
|
2236
2357
|
|
2237
2358
|
, show: function () {
|
2238
|
-
var pos = $.extend({}, this.$element.
|
2359
|
+
var pos = $.extend({}, this.$element.position(), {
|
2239
2360
|
height: this.$element[0].offsetHeight
|
2240
2361
|
})
|
2241
2362
|
|
2242
|
-
this.$menu
|
2243
|
-
|
2244
|
-
|
2245
|
-
|
2363
|
+
this.$menu
|
2364
|
+
.insertAfter(this.$element)
|
2365
|
+
.css({
|
2366
|
+
top: pos.top + pos.height
|
2367
|
+
, left: pos.left
|
2368
|
+
})
|
2369
|
+
.show()
|
2246
2370
|
|
2247
|
-
this.$menu.show()
|
2248
2371
|
this.shown = true
|
2249
2372
|
return this
|
2250
2373
|
}
|
@@ -2396,7 +2519,7 @@ define("almond", function(){});
|
|
2396
2519
|
}
|
2397
2520
|
|
2398
2521
|
, keydown: function (e) {
|
2399
|
-
this.suppressKeyPressRepeat =
|
2522
|
+
this.suppressKeyPressRepeat = ~$.inArray(e.keyCode, [40,38,9,13,27])
|
2400
2523
|
this.move(e)
|
2401
2524
|
}
|
2402
2525
|
|
@@ -2455,6 +2578,8 @@ define("almond", function(){});
|
|
2455
2578
|
/* TYPEAHEAD PLUGIN DEFINITION
|
2456
2579
|
* =========================== */
|
2457
2580
|
|
2581
|
+
var old = $.fn.typeahead
|
2582
|
+
|
2458
2583
|
$.fn.typeahead = function (option) {
|
2459
2584
|
return this.each(function () {
|
2460
2585
|
var $this = $(this)
|
@@ -2476,7 +2601,16 @@ define("almond", function(){});
|
|
2476
2601
|
$.fn.typeahead.Constructor = Typeahead
|
2477
2602
|
|
2478
2603
|
|
2479
|
-
/*
|
2604
|
+
/* TYPEAHEAD NO CONFLICT
|
2605
|
+
* =================== */
|
2606
|
+
|
2607
|
+
$.fn.typeahead.noConflict = function () {
|
2608
|
+
$.fn.typeahead = old
|
2609
|
+
return this
|
2610
|
+
}
|
2611
|
+
|
2612
|
+
|
2613
|
+
/* TYPEAHEAD DATA-API
|
2480
2614
|
* ================== */
|
2481
2615
|
|
2482
2616
|
$(document).on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) {
|
@@ -2495,40 +2629,277 @@ define("almond", function(){});
|
|
2495
2629
|
}); }(this));
|
2496
2630
|
|
2497
2631
|
/*
|
2498
|
-
* Fuel UX
|
2632
|
+
* Fuel UX Checkbox
|
2499
2633
|
* https://github.com/ExactTarget/fuelux
|
2500
2634
|
*
|
2501
2635
|
* Copyright (c) 2012 ExactTarget
|
2502
2636
|
* Licensed under the MIT license.
|
2503
2637
|
*/
|
2504
2638
|
|
2505
|
-
define('fuelux/
|
2506
|
-
|
2639
|
+
define('fuelux/checkbox',['require','jquery'],function (require) {
|
2640
|
+
|
2507
2641
|
var $ = require('jquery');
|
2508
2642
|
|
2509
2643
|
|
2644
|
+
// CHECKBOX CONSTRUCTOR AND PROTOTYPE
|
2645
|
+
|
2646
|
+
var Checkbox = function (element, options) {
|
2647
|
+
|
2648
|
+
this.$element = $(element);
|
2649
|
+
this.options = $.extend({}, $.fn.checkbox.defaults, options);
|
2650
|
+
|
2651
|
+
// cache elements
|
2652
|
+
this.$label = this.$element.parent();
|
2653
|
+
this.$icon = this.$label.find('i');
|
2654
|
+
this.$chk = this.$label.find('input[type=checkbox]');
|
2655
|
+
|
2656
|
+
// set default state
|
2657
|
+
this.setState(this.$chk);
|
2658
|
+
|
2659
|
+
// handle events
|
2660
|
+
this.$chk.on('change', $.proxy(this.itemchecked, this));
|
2661
|
+
};
|
2662
|
+
|
2663
|
+
Checkbox.prototype = {
|
2664
|
+
|
2665
|
+
constructor: Checkbox,
|
2666
|
+
|
2667
|
+
setState: function ($chk) {
|
2668
|
+
var checked = $chk.is(':checked');
|
2669
|
+
var disabled = $chk.is(':disabled');
|
2670
|
+
|
2671
|
+
// reset classes
|
2672
|
+
this.$icon.removeClass('checked').removeClass('disabled');
|
2673
|
+
|
2674
|
+
// set state of checkbox
|
2675
|
+
if (checked === true) {
|
2676
|
+
this.$icon.addClass('checked');
|
2677
|
+
}
|
2678
|
+
if (disabled === true) {
|
2679
|
+
this.$icon.addClass('disabled');
|
2680
|
+
}
|
2681
|
+
},
|
2682
|
+
|
2683
|
+
enable: function () {
|
2684
|
+
this.$chk.attr('disabled', false);
|
2685
|
+
this.$icon.removeClass('disabled');
|
2686
|
+
},
|
2687
|
+
|
2688
|
+
disable: function () {
|
2689
|
+
this.$chk.attr('disabled', true);
|
2690
|
+
this.$icon.addClass('disabled');
|
2691
|
+
},
|
2692
|
+
|
2693
|
+
toggle: function () {
|
2694
|
+
this.$chk.click();
|
2695
|
+
},
|
2696
|
+
|
2697
|
+
itemchecked: function (e) {
|
2698
|
+
var chk = $(e.target);
|
2699
|
+
this.setState(chk);
|
2700
|
+
}
|
2701
|
+
};
|
2702
|
+
|
2703
|
+
|
2704
|
+
// CHECKBOX PLUGIN DEFINITION
|
2705
|
+
|
2706
|
+
$.fn.checkbox = function (option, value) {
|
2707
|
+
var methodReturn;
|
2708
|
+
|
2709
|
+
var $set = this.each(function () {
|
2710
|
+
var $this = $(this);
|
2711
|
+
var data = $this.data('checkbox');
|
2712
|
+
var options = typeof option === 'object' && option;
|
2713
|
+
|
2714
|
+
if (!data) $this.data('checkbox', (data = new Checkbox(this, options)));
|
2715
|
+
if (typeof option === 'string') methodReturn = data[option](value);
|
2716
|
+
});
|
2717
|
+
|
2718
|
+
return (methodReturn === undefined) ? $set : methodReturn;
|
2719
|
+
};
|
2720
|
+
|
2721
|
+
$.fn.checkbox.defaults = {};
|
2722
|
+
|
2723
|
+
$.fn.checkbox.Constructor = Checkbox;
|
2724
|
+
|
2725
|
+
|
2726
|
+
// CHECKBOX DATA-API
|
2727
|
+
|
2728
|
+
$(function () {
|
2729
|
+
$(window).on('load', function () {
|
2730
|
+
//$('i.checkbox').each(function () {
|
2731
|
+
$('.checkbox-custom > input[type=checkbox]').each(function () {
|
2732
|
+
var $this = $(this);
|
2733
|
+
if ($this.data('checkbox')) return;
|
2734
|
+
$this.checkbox($this.data());
|
2735
|
+
});
|
2736
|
+
});
|
2737
|
+
});
|
2738
|
+
|
2739
|
+
});
|
2740
|
+
|
2741
|
+
/*
|
2742
|
+
* Fuel UX Utilities
|
2743
|
+
* https://github.com/ExactTarget/fuelux
|
2744
|
+
*
|
2745
|
+
* Copyright (c) 2012 ExactTarget
|
2746
|
+
* Licensed under the MIT license.
|
2747
|
+
*/
|
2748
|
+
|
2749
|
+
define('fuelux/util',['require','jquery'],function (require) {
|
2750
|
+
|
2751
|
+
var $ = require('jquery');
|
2752
|
+
|
2753
|
+
// custom case-insensitive match expression
|
2754
|
+
function fuelTextExactCI(elem, text) {
|
2755
|
+
return (elem.textContent || elem.innerText || $(elem).text() || '').toLowerCase() === (text || '').toLowerCase();
|
2756
|
+
}
|
2757
|
+
|
2758
|
+
$.expr[':'].fuelTextExactCI = $.expr.createPseudo ?
|
2759
|
+
$.expr.createPseudo(function (text) {
|
2760
|
+
return function (elem) {
|
2761
|
+
return fuelTextExactCI(elem, text);
|
2762
|
+
};
|
2763
|
+
}) :
|
2764
|
+
function (elem, i, match) {
|
2765
|
+
return fuelTextExactCI(elem, match[3]);
|
2766
|
+
};
|
2767
|
+
|
2768
|
+
});
|
2769
|
+
/*
|
2770
|
+
* Fuel UX Combobox
|
2771
|
+
* https://github.com/ExactTarget/fuelux
|
2772
|
+
*
|
2773
|
+
* Copyright (c) 2012 ExactTarget
|
2774
|
+
* Licensed under the MIT license.
|
2775
|
+
*/
|
2776
|
+
|
2777
|
+
define('fuelux/combobox',['require','jquery','./util'],function (require) {
|
2778
|
+
|
2779
|
+
var $ = require('jquery');
|
2780
|
+
require('./util');
|
2781
|
+
|
2510
2782
|
// COMBOBOX CONSTRUCTOR AND PROTOTYPE
|
2511
2783
|
|
2512
2784
|
var Combobox = function (element, options) {
|
2513
2785
|
this.$element = $(element);
|
2514
2786
|
this.options = $.extend({}, $.fn.combobox.defaults, options);
|
2515
2787
|
this.$element.on('click', 'a', $.proxy(this.itemclicked, this));
|
2788
|
+
this.$element.on('change', 'input', $.proxy(this.inputchanged, this));
|
2516
2789
|
this.$input = this.$element.find('input');
|
2790
|
+
this.$button = this.$element.find('.btn');
|
2791
|
+
|
2792
|
+
// set default selection
|
2793
|
+
this.setDefaultSelection();
|
2517
2794
|
};
|
2518
2795
|
|
2519
2796
|
Combobox.prototype = {
|
2520
2797
|
|
2521
2798
|
constructor: Combobox,
|
2522
2799
|
|
2523
|
-
|
2524
|
-
this.$
|
2525
|
-
|
2800
|
+
selectedItem: function () {
|
2801
|
+
var item = this.$selectedItem;
|
2802
|
+
var data = {};
|
2803
|
+
|
2804
|
+
if (item) {
|
2805
|
+
var txt = this.$selectedItem.text();
|
2806
|
+
data = $.extend({ text: txt }, this.$selectedItem.data());
|
2807
|
+
}
|
2808
|
+
else {
|
2809
|
+
data = { text: this.$input.val()};
|
2810
|
+
}
|
2811
|
+
|
2812
|
+
return data;
|
2813
|
+
},
|
2814
|
+
|
2815
|
+
selectByText: function (text) {
|
2816
|
+
var selector = 'li:fuelTextExactCI(' + text + ')';
|
2817
|
+
this.selectBySelector(selector);
|
2818
|
+
},
|
2819
|
+
|
2820
|
+
selectByValue: function (value) {
|
2821
|
+
var selector = 'li[data-value=' + value + ']';
|
2822
|
+
this.selectBySelector(selector);
|
2823
|
+
},
|
2824
|
+
|
2825
|
+
selectByIndex: function (index) {
|
2826
|
+
// zero-based index
|
2827
|
+
var selector = 'li:eq(' + index + ')';
|
2828
|
+
this.selectBySelector(selector);
|
2829
|
+
},
|
2830
|
+
|
2831
|
+
selectBySelector: function (selector) {
|
2832
|
+
var $item = this.$element.find(selector);
|
2833
|
+
|
2834
|
+
if (typeof $item[0] !== 'undefined') {
|
2835
|
+
this.$selectedItem = $item;
|
2836
|
+
this.$input.val(this.$selectedItem.text());
|
2837
|
+
}
|
2838
|
+
else {
|
2839
|
+
this.$selectedItem = null;
|
2840
|
+
}
|
2841
|
+
},
|
2842
|
+
|
2843
|
+
setDefaultSelection: function () {
|
2844
|
+
var selector = 'li[data-selected=true]:first';
|
2845
|
+
var item = this.$element.find(selector);
|
2846
|
+
if (item.length === 0) {
|
2847
|
+
// select first item
|
2848
|
+
this.selectByIndex(0);
|
2849
|
+
}
|
2850
|
+
else {
|
2851
|
+
// select by data-attribute
|
2852
|
+
this.selectBySelector(selector);
|
2853
|
+
item.removeData('selected');
|
2854
|
+
item.removeAttr('data-selected');
|
2855
|
+
}
|
2856
|
+
},
|
2857
|
+
|
2858
|
+
enable: function () {
|
2859
|
+
this.$input.removeAttr('disabled');
|
2860
|
+
this.$button.removeClass('disabled');
|
2861
|
+
},
|
2862
|
+
|
2863
|
+
disable: function () {
|
2864
|
+
this.$input.attr('disabled', true);
|
2865
|
+
this.$button.addClass('disabled');
|
2526
2866
|
},
|
2527
2867
|
|
2528
2868
|
itemclicked: function (e) {
|
2529
|
-
this
|
2530
|
-
|
2869
|
+
this.$selectedItem = $(e.target).parent();
|
2870
|
+
|
2871
|
+
// set input text and trigger input change event marked as synthetic
|
2872
|
+
this.$input.val(this.$selectedItem.text()).trigger('change', { synthetic: true });
|
2873
|
+
|
2874
|
+
// pass object including text and any data-attributes
|
2875
|
+
// to onchange event
|
2876
|
+
var data = this.selectedItem();
|
2877
|
+
|
2878
|
+
// trigger changed event
|
2879
|
+
this.$element.trigger('changed', data);
|
2880
|
+
|
2531
2881
|
e.preventDefault();
|
2882
|
+
},
|
2883
|
+
|
2884
|
+
inputchanged: function (e, extra) {
|
2885
|
+
|
2886
|
+
// skip processing for internally-generated synthetic event
|
2887
|
+
// to avoid double processing
|
2888
|
+
if (extra && extra.synthetic) return;
|
2889
|
+
|
2890
|
+
var val = $(e.target).val();
|
2891
|
+
this.selectByText(val);
|
2892
|
+
|
2893
|
+
// find match based on input
|
2894
|
+
// if no match, pass the input value
|
2895
|
+
var data = this.selectedItem();
|
2896
|
+
if (data.text.length === 0) {
|
2897
|
+
data = { text: val };
|
2898
|
+
}
|
2899
|
+
|
2900
|
+
// trigger changed event
|
2901
|
+
this.$element.trigger('changed', data);
|
2902
|
+
|
2532
2903
|
}
|
2533
2904
|
|
2534
2905
|
};
|
@@ -2536,15 +2907,19 @@ define('fuelux/combobox',['require','jquery'],function(require) {
|
|
2536
2907
|
|
2537
2908
|
// COMBOBOX PLUGIN DEFINITION
|
2538
2909
|
|
2539
|
-
$.fn.combobox = function (option) {
|
2540
|
-
|
2910
|
+
$.fn.combobox = function (option, value) {
|
2911
|
+
var methodReturn;
|
2912
|
+
|
2913
|
+
var $set = this.each(function () {
|
2541
2914
|
var $this = $(this);
|
2542
2915
|
var data = $this.data('combobox');
|
2543
2916
|
var options = typeof option === 'object' && option;
|
2544
2917
|
|
2545
2918
|
if (!data) $this.data('combobox', (data = new Combobox(this, options)));
|
2546
|
-
if (typeof option === 'string') data[option]();
|
2919
|
+
if (typeof option === 'string') methodReturn = data[option](value);
|
2547
2920
|
});
|
2921
|
+
|
2922
|
+
return (methodReturn === undefined) ? $set : methodReturn;
|
2548
2923
|
};
|
2549
2924
|
|
2550
2925
|
$.fn.combobox.defaults = {};
|
@@ -2555,6 +2930,15 @@ define('fuelux/combobox',['require','jquery'],function(require) {
|
|
2555
2930
|
// COMBOBOX DATA-API
|
2556
2931
|
|
2557
2932
|
$(function () {
|
2933
|
+
|
2934
|
+
$(window).on('load', function () {
|
2935
|
+
$('.combobox').each(function () {
|
2936
|
+
var $this = $(this);
|
2937
|
+
if ($this.data('combobox')) return;
|
2938
|
+
$this.combobox($this.data());
|
2939
|
+
});
|
2940
|
+
});
|
2941
|
+
|
2558
2942
|
$('body').on('mousedown.combobox.data-api', '.combobox', function (e) {
|
2559
2943
|
var $this = $(this);
|
2560
2944
|
if ($this.data('combobox')) return;
|
@@ -2754,6 +3138,11 @@ define('fuelux/datagrid',['require','jquery'],function(require) {
|
|
2754
3138
|
next: function () {
|
2755
3139
|
this.options.dataOptions.pageIndex++;
|
2756
3140
|
this.renderData();
|
3141
|
+
},
|
3142
|
+
|
3143
|
+
reload: function () {
|
3144
|
+
this.options.dataOptions.pageIndex = 0;
|
3145
|
+
this.renderData();
|
2757
3146
|
}
|
2758
3147
|
|
2759
3148
|
};
|
@@ -2855,6 +3244,116 @@ define('fuelux/pillbox',['require','jquery'],function(require) {
|
|
2855
3244
|
});
|
2856
3245
|
|
2857
3246
|
|
3247
|
+
/*
|
3248
|
+
* Fuel UX Radio
|
3249
|
+
* https://github.com/ExactTarget/fuelux
|
3250
|
+
*
|
3251
|
+
* Copyright (c) 2012 ExactTarget
|
3252
|
+
* Licensed under the MIT license.
|
3253
|
+
*/
|
3254
|
+
|
3255
|
+
define('fuelux/radio',['require','jquery'],function (require) {
|
3256
|
+
|
3257
|
+
var $ = require('jquery');
|
3258
|
+
|
3259
|
+
|
3260
|
+
// RADIO CONSTRUCTOR AND PROTOTYPE
|
3261
|
+
|
3262
|
+
var Radio = function (element, options) {
|
3263
|
+
this.$element = $(element);
|
3264
|
+
this.options = $.extend({}, $.fn.radio.defaults, options);
|
3265
|
+
|
3266
|
+
// cache elements
|
3267
|
+
this.$label = this.$element.parent();
|
3268
|
+
this.$icon = this.$label.find('i');
|
3269
|
+
this.$radio = this.$label.find('input[type=radio]');
|
3270
|
+
this.groupName = this.$radio.attr('name');
|
3271
|
+
|
3272
|
+
// set default state
|
3273
|
+
this.setState(this.$radio);
|
3274
|
+
|
3275
|
+
// handle events
|
3276
|
+
this.$radio.on('change', $.proxy(this.itemchecked, this));
|
3277
|
+
};
|
3278
|
+
|
3279
|
+
Radio.prototype = {
|
3280
|
+
|
3281
|
+
constructor: Radio,
|
3282
|
+
|
3283
|
+
setState: function ($radio, resetGroupState) {
|
3284
|
+
var checked = $radio.is(':checked');
|
3285
|
+
var disabled = $radio.is(':disabled');
|
3286
|
+
|
3287
|
+
// set state of radio
|
3288
|
+
if (checked === true) {
|
3289
|
+
this.$icon.addClass('checked');
|
3290
|
+
}
|
3291
|
+
if (disabled === true) {
|
3292
|
+
this.$icon.addClass('disabled');
|
3293
|
+
}
|
3294
|
+
},
|
3295
|
+
|
3296
|
+
resetGroup: function () {
|
3297
|
+
// reset all radio buttons in group
|
3298
|
+
$('input[name=' + this.groupName + ']').next().removeClass('checked');
|
3299
|
+
},
|
3300
|
+
|
3301
|
+
enable: function () {
|
3302
|
+
this.$radio.attr('disabled', false);
|
3303
|
+
this.$icon.removeClass('disabled');
|
3304
|
+
},
|
3305
|
+
|
3306
|
+
disable: function () {
|
3307
|
+
this.$radio.attr('disabled', true);
|
3308
|
+
this.$icon.addClass('disabled');
|
3309
|
+
},
|
3310
|
+
|
3311
|
+
itemchecked: function (e) {
|
3312
|
+
var radio = $(e.target);
|
3313
|
+
|
3314
|
+
this.resetGroup();
|
3315
|
+
this.setState(radio);
|
3316
|
+
}
|
3317
|
+
};
|
3318
|
+
|
3319
|
+
|
3320
|
+
// RADIO PLUGIN DEFINITION
|
3321
|
+
|
3322
|
+
$.fn.radio = function (option, value) {
|
3323
|
+
var methodReturn;
|
3324
|
+
|
3325
|
+
var $set = this.each(function () {
|
3326
|
+
var $this = $(this);
|
3327
|
+
var data = $this.data('radio');
|
3328
|
+
var options = typeof option === 'object' && option;
|
3329
|
+
|
3330
|
+
if (!data) $this.data('radio', (data = new Radio(this, options)));
|
3331
|
+
if (typeof option === 'string') methodReturn = data[option](value);
|
3332
|
+
});
|
3333
|
+
|
3334
|
+
return (methodReturn === undefined) ? $set : methodReturn;
|
3335
|
+
};
|
3336
|
+
|
3337
|
+
$.fn.radio.defaults = {};
|
3338
|
+
|
3339
|
+
$.fn.radio.Constructor = Radio;
|
3340
|
+
|
3341
|
+
|
3342
|
+
// RADIO DATA-API
|
3343
|
+
|
3344
|
+
$(function () {
|
3345
|
+
$(window).on('load', function () {
|
3346
|
+
//$('i.radio').each(function () {
|
3347
|
+
$('.radio-custom > input[type=radio]').each(function () {
|
3348
|
+
var $this = $(this);
|
3349
|
+
if ($this.data('radio')) return;
|
3350
|
+
$this.radio($this.data());
|
3351
|
+
});
|
3352
|
+
});
|
3353
|
+
});
|
3354
|
+
|
3355
|
+
});
|
3356
|
+
|
2858
3357
|
/*
|
2859
3358
|
* Fuel UX Search
|
2860
3359
|
* https://github.com/ExactTarget/fuelux
|
@@ -3151,6 +3650,504 @@ define('fuelux/spinner',['require','jquery'],function(require) {
|
|
3151
3650
|
});
|
3152
3651
|
|
3153
3652
|
});
|
3653
|
+
/*
|
3654
|
+
* Fuel UX Select
|
3655
|
+
* https://github.com/ExactTarget/fuelux
|
3656
|
+
*
|
3657
|
+
* Copyright (c) 2012 ExactTarget
|
3658
|
+
* Licensed under the MIT license.
|
3659
|
+
*/
|
3660
|
+
|
3661
|
+
define('fuelux/select',['require','jquery','./util'],function(require) {
|
3662
|
+
|
3663
|
+
var $ = require('jquery');
|
3664
|
+
require('./util');
|
3665
|
+
|
3666
|
+
// SELECT CONSTRUCTOR AND PROTOTYPE
|
3667
|
+
|
3668
|
+
var Select = function (element, options) {
|
3669
|
+
this.$element = $(element);
|
3670
|
+
this.options = $.extend({}, $.fn.select.defaults, options);
|
3671
|
+
this.$element.on('click', 'a', $.proxy(this.itemclicked, this));
|
3672
|
+
this.$button = this.$element.find('.btn');
|
3673
|
+
this.$label = this.$element.find('.dropdown-label');
|
3674
|
+
this.setDefaultSelection();
|
3675
|
+
|
3676
|
+
if (options.resize === 'auto') {
|
3677
|
+
this.resize();
|
3678
|
+
}
|
3679
|
+
};
|
3680
|
+
|
3681
|
+
Select.prototype = {
|
3682
|
+
|
3683
|
+
constructor: Select,
|
3684
|
+
|
3685
|
+
itemclicked: function (e) {
|
3686
|
+
this.$selectedItem = $(e.target).parent();
|
3687
|
+
this.$label.text(this.$selectedItem.text());
|
3688
|
+
|
3689
|
+
// pass object including text and any data-attributes
|
3690
|
+
// to onchange event
|
3691
|
+
var data = this.selectedItem();
|
3692
|
+
|
3693
|
+
// trigger changed event
|
3694
|
+
this.$element.trigger('changed', data);
|
3695
|
+
|
3696
|
+
e.preventDefault();
|
3697
|
+
},
|
3698
|
+
|
3699
|
+
resize: function() {
|
3700
|
+
var el = $('#selectTextSize')[0];
|
3701
|
+
|
3702
|
+
// create element if it doesn't exist
|
3703
|
+
// used to calculate the length of the longest string
|
3704
|
+
if(!el) {
|
3705
|
+
$('<div/>').attr({id:'selectTextSize'}).appendTo('body');
|
3706
|
+
}
|
3707
|
+
|
3708
|
+
var width = 0;
|
3709
|
+
var newWidth = 0;
|
3710
|
+
|
3711
|
+
// iterate through each item to find longest string
|
3712
|
+
this.$element.find('a').each(function () {
|
3713
|
+
var $this = $(this);
|
3714
|
+
var txt = $this.text();
|
3715
|
+
var $txtSize = $('#selectTextSize');
|
3716
|
+
$txtSize.text(txt);
|
3717
|
+
newWidth = $txtSize.outerWidth();
|
3718
|
+
if(newWidth > width) {
|
3719
|
+
width = newWidth;
|
3720
|
+
}
|
3721
|
+
});
|
3722
|
+
|
3723
|
+
this.$label.width(width);
|
3724
|
+
},
|
3725
|
+
|
3726
|
+
selectedItem: function() {
|
3727
|
+
var txt = this.$selectedItem.text();
|
3728
|
+
return $.extend({ text: txt }, this.$selectedItem.data());
|
3729
|
+
},
|
3730
|
+
|
3731
|
+
selectByText: function(text) {
|
3732
|
+
var selector = 'li a:fuelTextExactCI(' + text + ')';
|
3733
|
+
this.selectBySelector(selector);
|
3734
|
+
},
|
3735
|
+
|
3736
|
+
selectByValue: function(value) {
|
3737
|
+
var selector = 'li[data-value=' + value + ']';
|
3738
|
+
this.selectBySelector(selector);
|
3739
|
+
},
|
3740
|
+
|
3741
|
+
selectByIndex: function(index) {
|
3742
|
+
// zero-based index
|
3743
|
+
var selector = 'li:eq(' + index + ')';
|
3744
|
+
this.selectBySelector(selector);
|
3745
|
+
},
|
3746
|
+
|
3747
|
+
selectBySelector: function(selector) {
|
3748
|
+
var item = this.$element.find(selector);
|
3749
|
+
|
3750
|
+
this.$selectedItem = item;
|
3751
|
+
this.$label.text(this.$selectedItem.text());
|
3752
|
+
},
|
3753
|
+
|
3754
|
+
setDefaultSelection: function() {
|
3755
|
+
var selector = 'li[data-selected=true]:first';
|
3756
|
+
var item = this.$element.find(selector);
|
3757
|
+
if(item.length === 0) {
|
3758
|
+
// select first item
|
3759
|
+
this.selectByIndex(0);
|
3760
|
+
}
|
3761
|
+
else {
|
3762
|
+
// select by data-attribute
|
3763
|
+
this.selectBySelector(selector);
|
3764
|
+
item.removeData('selected');
|
3765
|
+
item.removeAttr('data-selected');
|
3766
|
+
}
|
3767
|
+
},
|
3768
|
+
|
3769
|
+
enable: function() {
|
3770
|
+
this.$button.removeClass('disabled');
|
3771
|
+
},
|
3772
|
+
|
3773
|
+
disable: function() {
|
3774
|
+
this.$button.addClass('disabled');
|
3775
|
+
}
|
3776
|
+
|
3777
|
+
};
|
3778
|
+
|
3779
|
+
|
3780
|
+
// SELECT PLUGIN DEFINITION
|
3781
|
+
|
3782
|
+
$.fn.select = function (option,value) {
|
3783
|
+
var methodReturn;
|
3784
|
+
|
3785
|
+
var $set = this.each(function () {
|
3786
|
+
var $this = $(this);
|
3787
|
+
var data = $this.data('select');
|
3788
|
+
var options = typeof option === 'object' && option;
|
3789
|
+
|
3790
|
+
if (!data) $this.data('select', (data = new Select(this, options)));
|
3791
|
+
if (typeof option === 'string') methodReturn = data[option](value);
|
3792
|
+
});
|
3793
|
+
|
3794
|
+
return (methodReturn === undefined) ? $set : methodReturn;
|
3795
|
+
};
|
3796
|
+
|
3797
|
+
$.fn.select.defaults = {};
|
3798
|
+
|
3799
|
+
$.fn.select.Constructor = Select;
|
3800
|
+
|
3801
|
+
|
3802
|
+
// SELECT DATA-API
|
3803
|
+
|
3804
|
+
$(function () {
|
3805
|
+
|
3806
|
+
$(window).on('load', function () {
|
3807
|
+
$('.select').each(function () {
|
3808
|
+
var $this = $(this);
|
3809
|
+
if ($this.data('select')) return;
|
3810
|
+
$this.select($this.data());
|
3811
|
+
});
|
3812
|
+
});
|
3813
|
+
|
3814
|
+
$('body').on('mousedown.select.data-api', '.select', function (e) {
|
3815
|
+
var $this = $(this);
|
3816
|
+
if ($this.data('select')) return;
|
3817
|
+
$this.select($this.data());
|
3818
|
+
});
|
3819
|
+
});
|
3820
|
+
|
3821
|
+
});
|
3822
|
+
|
3823
|
+
/*
|
3824
|
+
* Fuel UX Tree
|
3825
|
+
* https://github.com/ExactTarget/fuelux
|
3826
|
+
*
|
3827
|
+
* Copyright (c) 2012 ExactTarget
|
3828
|
+
* Licensed under the MIT license.
|
3829
|
+
*/
|
3830
|
+
|
3831
|
+
define('fuelux/tree',['require','jquery'],function(require) {
|
3832
|
+
|
3833
|
+
var $ = require('jquery');
|
3834
|
+
|
3835
|
+
|
3836
|
+
// TREE CONSTRUCTOR AND PROTOTYPE
|
3837
|
+
|
3838
|
+
var Tree = function (element, options) {
|
3839
|
+
this.$element = $(element);
|
3840
|
+
this.options = $.extend({}, $.fn.tree.defaults, options);
|
3841
|
+
|
3842
|
+
this.$element.on('click', '.tree-item', $.proxy( function(ev) { this.selectItem(ev.currentTarget); } ,this));
|
3843
|
+
this.$element.on('click', '.tree-folder-header', $.proxy( function(ev) { this.selectFolder(ev.currentTarget); }, this));
|
3844
|
+
|
3845
|
+
this.render();
|
3846
|
+
};
|
3847
|
+
|
3848
|
+
Tree.prototype = {
|
3849
|
+
constructor: Tree,
|
3850
|
+
|
3851
|
+
render: function () {
|
3852
|
+
this.populate(this.$element);
|
3853
|
+
},
|
3854
|
+
|
3855
|
+
populate: function ($el) {
|
3856
|
+
var self = this;
|
3857
|
+
var loader = $el.parent().find('.tree-loader:eq(0)');
|
3858
|
+
|
3859
|
+
loader.show();
|
3860
|
+
this.options.dataSource.data($el.data(), function (items) {
|
3861
|
+
loader.hide();
|
3862
|
+
|
3863
|
+
$.each( items.data, function(index, value) {
|
3864
|
+
var $entity;
|
3865
|
+
|
3866
|
+
if(value.type === "folder") {
|
3867
|
+
$entity = self.$element.find('.tree-folder:eq(0)').clone().show();
|
3868
|
+
$entity.find('.tree-folder-name').html(value.name);
|
3869
|
+
$entity.find('.tree-loader').html(self.options.loadingHTML);
|
3870
|
+
$entity.find('.tree-folder-header').data(value);
|
3871
|
+
} else if (value.type === "item") {
|
3872
|
+
$entity = self.$element.find('.tree-item:eq(0)').clone().show();
|
3873
|
+
$entity.find('.tree-item-name').html(value.name);
|
3874
|
+
$entity.data(value);
|
3875
|
+
}
|
3876
|
+
|
3877
|
+
if($el.hasClass('tree-folder-header')) {
|
3878
|
+
$el.parent().find('.tree-folder-content:eq(0)').append($entity);
|
3879
|
+
} else {
|
3880
|
+
$el.append($entity);
|
3881
|
+
}
|
3882
|
+
});
|
3883
|
+
|
3884
|
+
self.$element.trigger('loaded');
|
3885
|
+
});
|
3886
|
+
},
|
3887
|
+
|
3888
|
+
selectItem: function (el) {
|
3889
|
+
var $el = $(el);
|
3890
|
+
var $all = this.$element.find('.tree-selected');
|
3891
|
+
var data = [];
|
3892
|
+
|
3893
|
+
if (this.options.multiSelect) {
|
3894
|
+
$.each($all, function(index, value) {
|
3895
|
+
var $val = $(value);
|
3896
|
+
if($val[0] !== $el[0]) {
|
3897
|
+
data.push( $(value).data() );
|
3898
|
+
}
|
3899
|
+
});
|
3900
|
+
} else if ($all[0] !== $el[0]) {
|
3901
|
+
$all.removeClass('tree-selected')
|
3902
|
+
.find('i').removeClass('icon-ok').addClass('tree-dot');
|
3903
|
+
data.push($el.data());
|
3904
|
+
}
|
3905
|
+
|
3906
|
+
if($el.hasClass('tree-selected')) {
|
3907
|
+
$el.removeClass('tree-selected');
|
3908
|
+
$el.find('i').removeClass('icon-ok').addClass('tree-dot');
|
3909
|
+
} else {
|
3910
|
+
$el.addClass ('tree-selected');
|
3911
|
+
$el.find('i').removeClass('tree-dot').addClass('icon-ok');
|
3912
|
+
if (this.options.multiSelect) {
|
3913
|
+
data.push( $el.data() );
|
3914
|
+
}
|
3915
|
+
}
|
3916
|
+
|
3917
|
+
if(data.length) {
|
3918
|
+
this.$element.trigger('selected', {info: data});
|
3919
|
+
}
|
3920
|
+
|
3921
|
+
},
|
3922
|
+
|
3923
|
+
selectFolder: function (el) {
|
3924
|
+
var $el = $(el);
|
3925
|
+
var $par = $el.parent();
|
3926
|
+
|
3927
|
+
if($el.find('.icon-folder-close').length) {
|
3928
|
+
if ($par.find('.tree-folder-content').children().length) {
|
3929
|
+
$par.find('.tree-folder-content:eq(0)').show();
|
3930
|
+
} else {
|
3931
|
+
this.populate( $el );
|
3932
|
+
}
|
3933
|
+
|
3934
|
+
$par.find('.icon-folder-close:eq(0)')
|
3935
|
+
.removeClass('icon-folder-close')
|
3936
|
+
.addClass('icon-folder-open');
|
3937
|
+
|
3938
|
+
this.$element.trigger('opened', $el.data());
|
3939
|
+
} else {
|
3940
|
+
if(this.options.cacheItems) {
|
3941
|
+
$par.find('.tree-folder-content:eq(0)').hide();
|
3942
|
+
} else {
|
3943
|
+
$par.find('.tree-folder-content:eq(0)').empty();
|
3944
|
+
}
|
3945
|
+
|
3946
|
+
$par.find('.icon-folder-open:eq(0)')
|
3947
|
+
.removeClass('icon-folder-open')
|
3948
|
+
.addClass('icon-folder-close');
|
3949
|
+
|
3950
|
+
this.$element.trigger('closed', $el.data());
|
3951
|
+
}
|
3952
|
+
},
|
3953
|
+
|
3954
|
+
selectedItems: function () {
|
3955
|
+
var $sel = this.$element.find('.tree-selected');
|
3956
|
+
var data = [];
|
3957
|
+
|
3958
|
+
$.each($sel, function (index, value) {
|
3959
|
+
data.push($(value).data());
|
3960
|
+
});
|
3961
|
+
return data;
|
3962
|
+
}
|
3963
|
+
};
|
3964
|
+
|
3965
|
+
|
3966
|
+
// TREE PLUGIN DEFINITION
|
3967
|
+
|
3968
|
+
$.fn.tree = function (option, value) {
|
3969
|
+
var methodReturn;
|
3970
|
+
|
3971
|
+
var $set = this.each(function () {
|
3972
|
+
var $this = $(this);
|
3973
|
+
var data = $this.data('tree');
|
3974
|
+
var options = typeof option === 'object' && option;
|
3975
|
+
|
3976
|
+
if (!data) $this.data('tree', (data = new Tree(this, options)));
|
3977
|
+
if (typeof option === 'string') methodReturn = data[option](value);
|
3978
|
+
});
|
3979
|
+
|
3980
|
+
return (methodReturn === undefined) ? $set : methodReturn;
|
3981
|
+
};
|
3982
|
+
|
3983
|
+
$.fn.tree.defaults = {
|
3984
|
+
multiSelect: false,
|
3985
|
+
loadingHTML: '<div>Loading...</div>',
|
3986
|
+
cacheItems: true
|
3987
|
+
};
|
3988
|
+
|
3989
|
+
$.fn.tree.Constructor = Tree;
|
3990
|
+
|
3991
|
+
});
|
3992
|
+
|
3993
|
+
/*
|
3994
|
+
* Fuel UX Wizard
|
3995
|
+
* https://github.com/ExactTarget/fuelux
|
3996
|
+
*
|
3997
|
+
* Copyright (c) 2012 ExactTarget
|
3998
|
+
* Licensed under the MIT license.
|
3999
|
+
*/
|
4000
|
+
|
4001
|
+
define('fuelux/wizard',['require','jquery'],function(require) {
|
4002
|
+
|
4003
|
+
var $ = require('jquery');
|
4004
|
+
|
4005
|
+
|
4006
|
+
// WIZARD CONSTRUCTOR AND PROTOTYPE
|
4007
|
+
|
4008
|
+
var Wizard = function (element, options) {
|
4009
|
+
this.$element = $(element);
|
4010
|
+
this.options = $.extend({}, $.fn.wizard.defaults, options);
|
4011
|
+
this.currentStep = 1;
|
4012
|
+
this.numSteps = this.$element.find('li').length;
|
4013
|
+
this.$prevBtn = this.$element.find('button.btn-prev');
|
4014
|
+
this.$nextBtn = this.$element.find('button.btn-next');
|
4015
|
+
this.nextText = this.$nextBtn.text();
|
4016
|
+
|
4017
|
+
// handle events
|
4018
|
+
this.$prevBtn.on('click', $.proxy(this.previous, this));
|
4019
|
+
this.$nextBtn.on('click', $.proxy(this.next, this));
|
4020
|
+
this.$element.on('click', 'li.complete', $.proxy(this.stepclicked, this));
|
4021
|
+
};
|
4022
|
+
|
4023
|
+
Wizard.prototype = {
|
4024
|
+
|
4025
|
+
constructor: Wizard,
|
4026
|
+
|
4027
|
+
setState: function() {
|
4028
|
+
var canMoveNext = (this.currentStep + 1 <= this.numSteps);
|
4029
|
+
var lastStep = (this.currentStep === this.numSteps);
|
4030
|
+
var canMovePrev = (this.currentStep > 1);
|
4031
|
+
var firstStep = (this.currentStep === 1);
|
4032
|
+
|
4033
|
+
// disable buttons based on current step
|
4034
|
+
this.$prevBtn.attr('disabled', (firstStep === true || canMovePrev === false));
|
4035
|
+
this.$nextBtn.attr('disabled', (lastStep === true || canMoveNext === false));
|
4036
|
+
|
4037
|
+
// change button text of last step, if specified
|
4038
|
+
var data = this.$nextBtn.data();
|
4039
|
+
if(data && data.last) {
|
4040
|
+
this.lastText = data.last;
|
4041
|
+
if(typeof this.lastText !== 'undefined') {
|
4042
|
+
var text = (lastStep !== true) ? this.nextText : this.lastText;
|
4043
|
+
this.$nextBtn
|
4044
|
+
.contents()
|
4045
|
+
.filter(function() {
|
4046
|
+
return this.nodeType === 3;
|
4047
|
+
}).replaceWith(text);
|
4048
|
+
}
|
4049
|
+
}
|
4050
|
+
|
4051
|
+
// reset classes for all steps
|
4052
|
+
var $steps = this.$element.find('li');
|
4053
|
+
$steps.removeClass('active').removeClass('complete');
|
4054
|
+
$steps.find('span.badge').removeClass('badge-info').removeClass('badge-success');
|
4055
|
+
|
4056
|
+
// set class for all previous steps
|
4057
|
+
var prevSelector = 'li:lt(' + (this.currentStep - 1) + ')';
|
4058
|
+
var $prevSteps = this.$element.find(prevSelector);
|
4059
|
+
$prevSteps.addClass('complete');
|
4060
|
+
$prevSteps.find('span.badge').addClass('badge-success');
|
4061
|
+
|
4062
|
+
// set class for current step
|
4063
|
+
var currentSelector = 'li:eq(' + (this.currentStep - 1) + ')';
|
4064
|
+
var $currentStep = this.$element.find(currentSelector);
|
4065
|
+
$currentStep.addClass('active');
|
4066
|
+
$currentStep.find('span.badge').addClass('badge-info');
|
4067
|
+
|
4068
|
+
// set display of target element
|
4069
|
+
var target = $currentStep.data().target;
|
4070
|
+
$('.step-pane').removeClass('active');
|
4071
|
+
$(target).addClass('active');
|
4072
|
+
|
4073
|
+
this.$element.trigger('changed');
|
4074
|
+
},
|
4075
|
+
|
4076
|
+
stepclicked: function(e) {
|
4077
|
+
var li = $(e.currentTarget);
|
4078
|
+
|
4079
|
+
var index = $('.steps li').index(li);
|
4080
|
+
this.currentStep = (index + 1);
|
4081
|
+
this.setState();
|
4082
|
+
},
|
4083
|
+
|
4084
|
+
previous: function() {
|
4085
|
+
var canMovePrev = (this.currentStep > 1);
|
4086
|
+
if(canMovePrev) {
|
4087
|
+
var e = $.Event('change');
|
4088
|
+
this.$element.trigger(e, {step:this.currentStep, direction:'previous'});
|
4089
|
+
if (e.isDefaultPrevented()) return;
|
4090
|
+
|
4091
|
+
this.currentStep -= 1;
|
4092
|
+
this.setState();
|
4093
|
+
}
|
4094
|
+
},
|
4095
|
+
|
4096
|
+
next: function() {
|
4097
|
+
var canMoveNext = (this.currentStep + 1 <= this.numSteps);
|
4098
|
+
if(canMoveNext) {
|
4099
|
+
var e = $.Event('change');
|
4100
|
+
this.$element.trigger(e, {step:this.currentStep, direction:'next'});
|
4101
|
+
|
4102
|
+
if (e.isDefaultPrevented()) return;
|
4103
|
+
|
4104
|
+
this.currentStep += 1;
|
4105
|
+
this.setState();
|
4106
|
+
}
|
4107
|
+
},
|
4108
|
+
|
4109
|
+
selectedItem: function(val) {
|
4110
|
+
return {
|
4111
|
+
step: this.currentStep
|
4112
|
+
};
|
4113
|
+
}
|
4114
|
+
};
|
4115
|
+
|
4116
|
+
|
4117
|
+
// WIZARD PLUGIN DEFINITION
|
4118
|
+
|
4119
|
+
$.fn.wizard = function (option,value) {
|
4120
|
+
var methodReturn;
|
4121
|
+
|
4122
|
+
var $set = this.each(function () {
|
4123
|
+
var $this = $(this);
|
4124
|
+
var data = $this.data('wizard');
|
4125
|
+
var options = typeof option === 'object' && option;
|
4126
|
+
|
4127
|
+
if (!data) $this.data('wizard', (data = new Wizard(this, options)));
|
4128
|
+
if (typeof option === 'string') methodReturn = data[option](value);
|
4129
|
+
});
|
4130
|
+
|
4131
|
+
return (methodReturn === undefined) ? $set : methodReturn;
|
4132
|
+
};
|
4133
|
+
|
4134
|
+
$.fn.wizard.defaults = {};
|
4135
|
+
|
4136
|
+
$.fn.wizard.Constructor = Wizard;
|
4137
|
+
|
4138
|
+
|
4139
|
+
// WIZARD DATA-API
|
4140
|
+
|
4141
|
+
$(function () {
|
4142
|
+
$('body').on('mousedown.wizard.data-api', '.wizard', function () {
|
4143
|
+
var $this = $(this);
|
4144
|
+
if ($this.data('wizard')) return;
|
4145
|
+
$this.wizard($this.data());
|
4146
|
+
});
|
4147
|
+
});
|
4148
|
+
|
4149
|
+
});
|
4150
|
+
|
3154
4151
|
/*
|
3155
4152
|
* Fuel UX
|
3156
4153
|
* https://github.com/ExactTarget/fuelux
|
@@ -3159,7 +4156,7 @@ define('fuelux/spinner',['require','jquery'],function(require) {
|
|
3159
4156
|
* Licensed under the MIT license.
|
3160
4157
|
*/
|
3161
4158
|
|
3162
|
-
define('fuelux/all',['require','jquery','bootstrap/bootstrap-affix','bootstrap/bootstrap-alert','bootstrap/bootstrap-button','bootstrap/bootstrap-carousel','bootstrap/bootstrap-collapse','bootstrap/bootstrap-dropdown','bootstrap/bootstrap-modal','bootstrap/bootstrap-popover','bootstrap/bootstrap-scrollspy','bootstrap/bootstrap-tab','bootstrap/bootstrap-tooltip','bootstrap/bootstrap-transition','bootstrap/bootstrap-typeahead','fuelux/combobox','fuelux/datagrid','fuelux/pillbox','fuelux/search','fuelux/spinner'],function (require) {
|
4159
|
+
define('fuelux/all',['require','jquery','bootstrap/bootstrap-affix','bootstrap/bootstrap-alert','bootstrap/bootstrap-button','bootstrap/bootstrap-carousel','bootstrap/bootstrap-collapse','bootstrap/bootstrap-dropdown','bootstrap/bootstrap-modal','bootstrap/bootstrap-popover','bootstrap/bootstrap-scrollspy','bootstrap/bootstrap-tab','bootstrap/bootstrap-tooltip','bootstrap/bootstrap-transition','bootstrap/bootstrap-typeahead','fuelux/checkbox','fuelux/combobox','fuelux/datagrid','fuelux/pillbox','fuelux/radio','fuelux/search','fuelux/spinner','fuelux/select','fuelux/tree','fuelux/wizard'],function (require) {
|
3163
4160
|
require('jquery');
|
3164
4161
|
require('bootstrap/bootstrap-affix');
|
3165
4162
|
require('bootstrap/bootstrap-alert');
|
@@ -3174,11 +4171,16 @@ define('fuelux/all',['require','jquery','bootstrap/bootstrap-affix','bootstrap/b
|
|
3174
4171
|
require('bootstrap/bootstrap-tooltip');
|
3175
4172
|
require('bootstrap/bootstrap-transition');
|
3176
4173
|
require('bootstrap/bootstrap-typeahead');
|
4174
|
+
require('fuelux/checkbox');
|
3177
4175
|
require('fuelux/combobox');
|
3178
4176
|
require('fuelux/datagrid');
|
3179
4177
|
require('fuelux/pillbox');
|
4178
|
+
require('fuelux/radio');
|
3180
4179
|
require('fuelux/search');
|
3181
4180
|
require('fuelux/spinner');
|
4181
|
+
require('fuelux/select');
|
4182
|
+
require('fuelux/tree');
|
4183
|
+
require('fuelux/wizard');
|
3182
4184
|
});
|
3183
4185
|
|
3184
4186
|
/*
|