romo 0.0.1 → 0.1.0

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.
Files changed (46) hide show
  1. data/.gitignore +2 -0
  2. data/Gemfile +9 -1
  3. data/README.md +1 -1
  4. data/assets/css/romo/_mixins.scss +486 -0
  5. data/assets/css/romo/_vars.scss +159 -0
  6. data/assets/css/romo/base.scss +454 -0
  7. data/assets/css/romo/buttons.scss +211 -0
  8. data/assets/css/romo/datepicker.scss +73 -0
  9. data/assets/css/romo/dropdown.scss +33 -0
  10. data/assets/css/romo/forms.scss +193 -0
  11. data/assets/css/romo/grid.scss +271 -0
  12. data/assets/css/romo/grid_table.scss +129 -0
  13. data/assets/css/romo/labels.scss +41 -0
  14. data/assets/css/romo/lists.scss +37 -0
  15. data/assets/css/romo/modal.scss +32 -0
  16. data/assets/css/romo/normalize.scss +425 -0
  17. data/assets/css/romo/select.scss +89 -0
  18. data/assets/css/romo/sortable.scss +14 -0
  19. data/assets/css/romo/table.scss +99 -0
  20. data/assets/css/romo/tabs.scss +71 -0
  21. data/assets/css/romo/tooltip.scss +89 -0
  22. data/assets/css/romo/z_index.scss +26 -0
  23. data/assets/js/romo/base.js +177 -0
  24. data/assets/js/romo/datepicker.js +541 -0
  25. data/assets/js/romo/dropdown.js +309 -0
  26. data/assets/js/romo/dropdown_form.js +92 -0
  27. data/assets/js/romo/form.js +182 -0
  28. data/assets/js/romo/indicator.js +88 -0
  29. data/assets/js/romo/inline.js +77 -0
  30. data/assets/js/romo/inline_form.js +86 -0
  31. data/assets/js/romo/invoke.js +87 -0
  32. data/assets/js/romo/modal.js +311 -0
  33. data/assets/js/romo/modal_form.js +101 -0
  34. data/assets/js/romo/select.js +139 -0
  35. data/assets/js/romo/select_dropdown.js +325 -0
  36. data/assets/js/romo/sortable.js +201 -0
  37. data/assets/js/romo/tooltip.js +258 -0
  38. data/lib/romo/dassets.rb +64 -0
  39. data/lib/romo/version.rb +1 -1
  40. data/lib/romo.rb +9 -0
  41. data/romo.gemspec +4 -2
  42. data/test/support/.gitkeep +0 -0
  43. data/test/system/.gitkeep +0 -0
  44. data/test/unit/dassets_tests.rb +67 -0
  45. data/test/unit/romo_tests.rb +21 -0
  46. metadata +53 -10
@@ -0,0 +1,89 @@
1
+ @import 'css/romo/vars';
2
+ @import 'css/romo/mixins';
3
+
4
+ .romo-select-dropdown-options-parent {
5
+ display: none;
6
+ }
7
+
8
+ .romo-select-wrapper {
9
+ display: inline-block;
10
+ text-align: left;
11
+ text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
12
+ cursor: pointer;
13
+ @include user-select(none);
14
+ position: relative;
15
+ }
16
+
17
+ .romo-select {
18
+ min-width: 50px;
19
+ font-weight: normal;
20
+ text-align: left;
21
+ padding-left: 6px;
22
+ padding-right: 6px;
23
+ }
24
+
25
+ .romo-select:focus{ @include input-focus; }
26
+
27
+ .romo-select:active,
28
+ .romo-select.active {
29
+ background-image: none;
30
+ outline: 0;
31
+ @include box-shadow((inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)));
32
+ }
33
+
34
+ .romo-select-text {
35
+ white-space: nowrap;
36
+ overflow: hidden;
37
+ display: inline-block;
38
+ width: 100%;
39
+ }
40
+ .romo-select-caret {
41
+ position: absolute;
42
+ right: 6px;
43
+ vertical-align: middle;
44
+ }
45
+
46
+ .romo-select-option-list {
47
+ cursor: pointer;
48
+ font-weight: normal;
49
+ padding: 4px 0;
50
+ @include user-select(none);
51
+
52
+ background-color: $inputBackground;
53
+ color: $inputColor;
54
+ }
55
+
56
+ .romo-select-option-list UL {
57
+ list-style: none outside none;
58
+ margin: 0;
59
+ padding: 0;
60
+ white-space: nowrap;
61
+ overflow: hidden;
62
+ }
63
+
64
+ .romo-select-option-list UL.romo-select-optgroup LI {
65
+ padding-left: $spacingSize1;
66
+ }
67
+
68
+ .romo-select-option-list LI {
69
+ @include select-option;
70
+ }
71
+
72
+ .romo-select-option-list LI[data-romo-select-item="optgroup"] {
73
+ @include select-optgroup;
74
+ }
75
+
76
+ .romo-select-option-list LI.romo-select-highlight {
77
+ background-color: $inputHighlightBackround;
78
+ color: $inputBackground;
79
+ }
80
+
81
+ .romo-select-option-list LI.disabled {
82
+ cursor: $notAllowedCursor;
83
+ }
84
+
85
+ .romo-select-option-list LI.disabled,
86
+ .romo-select-option-list LI.disabled.romo-select-highlight {
87
+ background-color: $inputBackground;
88
+ color: $disabledColor;
89
+ }
@@ -0,0 +1,14 @@
1
+ @import 'css/romo/mixins';
2
+
3
+ [data-romo-sortable-item="true"] {
4
+ @include user-select(text);
5
+ }
6
+
7
+ .romo-sortable-grab {
8
+ @include cursor-grab;
9
+ @include user-select(none);
10
+ }
11
+
12
+ .romo-sortable-grabbing {
13
+ @include cursor-grabbing;
14
+ }
@@ -0,0 +1,99 @@
1
+ @import 'css/romo/vars';
2
+ @import 'css/romo/mixins';
3
+
4
+ .romo-table { width: 100%; }
5
+
6
+ .romo-table th,
7
+ .romo-table td {
8
+ @include rm-pad;
9
+ @include align-left;
10
+ @include align-middle;
11
+ @include border1-bottom;
12
+ }
13
+
14
+ .romo-table th { @include font-weight(bold); }
15
+ .romo-table thead th { @include align-bottom; }
16
+
17
+ .romo-table-alt { @include bg-alt; }
18
+
19
+ .romo-table-striped tbody > tr:nth-child(odd) { @include bg-striped; }
20
+ .romo-table-striped.romo-table-striped-alt tbody > tr:nth-child(odd) { @include bg-base; }
21
+ .romo-table-striped.romo-table-striped-alt { @include bg-striped; }
22
+
23
+ .romo-table tr.romo-muted { @include bg-muted; }
24
+ .romo-table tr.romo-warning { @include bg-warning; }
25
+ .romo-table tr.romo-error { @include bg-error; }
26
+ .romo-table tr.romo-info { @include bg-info; }
27
+ .romo-table tr.romo-success { @include bg-success; }
28
+ .romo-table tr.romo-inverse { @include bg-inverse; }
29
+
30
+ .romo-table-hover tbody tr:hover,
31
+ .romo-table-hover.romo-table-alt tbody tr:hover { @include bg-hover; }
32
+
33
+ .romo-table-hover tbody tr.romo-muted:hover { @include bg-muted-hover; }
34
+ .romo-table-hover tbody tr.romo-warning:hover { @include bg-warning-hover; }
35
+ .romo-table-hover tbody tr.romo-error:hover { @include bg-error-hover; }
36
+ .romo-table-hover tbody tr.romo-info:hover { @include bg-info-hover; }
37
+ .romo-table-hover tbody tr.romo-success:hover { @include bg-success-hover; }
38
+ .romo-table-hover tbody tr.romo-inverse:hover { @include bg-inverse-hover; }
39
+
40
+ .romo-table-border,
41
+ .romo-table-border0,
42
+ .romo-table-border1,
43
+ .romo-table-border2 { border-collapse: collapse; *border-collapse: collapse; }
44
+
45
+ .romo-table-border,
46
+ .romo-table-border1 { @include border1-top; @include border1-left; }
47
+ .romo-table-border0 { @include border0-top; @include border0-left; }
48
+ .romo-table-border2 { @include border2-top; @include border2-left; }
49
+
50
+ .romo-table-border th, .romo-table-border td,
51
+ .romo-table-border1 th, .romo-table-border1 td { @include border1-bottom; @include border1-right; }
52
+ .romo-table-border0 th, .romo-table-border0 td { @include border0-bottom; @include border0-right; }
53
+ .romo-table-border2 th, .romo-table-border2 td { @include border2-bottom; @include border2-right; }
54
+
55
+ .romo-table-border-muted { @include border-muted; }
56
+ .romo-table-border-warning { @include border-warning; }
57
+ .romo-table-border-error { @include border-error; }
58
+ .romo-table-border-info { @include border-info; }
59
+ .romo-table-border-success { @include border-success; }
60
+ .romo-table-border-inverse { @include border-inverse; }
61
+ .romo-table-border-alt { @include border-alt; }
62
+
63
+ .romo-table-border-muted th, .romo-table-border-muted td { @include border-muted; }
64
+ .romo-table-border-warning th, .romo-table-border-warning td { @include border-warning; }
65
+ .romo-table-border-error th, .romo-table-border-error td { @include border-error; }
66
+ .romo-table-border-info th, .romo-table-border-info td { @include border-info; }
67
+ .romo-table-border-success th, .romo-table-border-success td { @include border-success; }
68
+ .romo-table-border-inverse th, .romo-table-border-inverse td { @include border-inverse; }
69
+ .romo-table-border-alt th, .romo-table-border-alt td { @include border-alt; }
70
+
71
+ .romo-table-pad th, .romo-table-pad td,
72
+ .romo-table-pad1 th, .romo-table-pad1 td { @include pad1; }
73
+ .romo-table-pad0 th, .romo-table-pad0 td { @include pad0; }
74
+ .romo-table-pad2 th, .romo-table-pad2 td { @include pad2; }
75
+ .romo-table-rm-pad th, .romo-table-rm-pad td { @include rm-pad; }
76
+
77
+ .romo-table-pad-top th, .romo-table-pad-top td,
78
+ .romo-table-pad1-top th, .romo-table-pad1-top td { @include pad1-top; }
79
+ .romo-table-pad0-top th, .romo-table-pad0-top td { @include pad0-top; }
80
+ .romo-table-pad2-top th, .romo-table-pad2-top td { @include pad2-top; }
81
+ .romo-table-rm-pad-top th, .romo-table-rm-pad-top td { @include rm-pad-top; }
82
+
83
+ .romo-table-pad-right th, .romo-table-pad-right td,
84
+ .romo-table-pad1-right th, .romo-table-pad1-right td { @include pad1-right; }
85
+ .romo-table-pad0-right th, .romo-table-pad0-right td { @include pad0-right; }
86
+ .romo-table-pad2-right th, .romo-table-pad2-right td { @include pad2-right; }
87
+ .romo-table-rm-pad-right th, .romo-table-rm-pad-right td { @include rm-pad-right; }
88
+
89
+ .romo-table-pad-bottom th, .romo-table-pad-bottom td,
90
+ .romo-table-pad1-bottom th, .romo-table-pad1-bottom td { @include pad1-bottom; }
91
+ .romo-table-pad0-bottom th, .romo-table-pad0-bottom td { @include pad0-bottom; }
92
+ .romo-table-pad2-bottom th, .romo-table-pad2-bottom td { @include pad2-bottom; }
93
+ .romo-table-rm-pad-bottom th, .romo-table-rm-pad-bottom td { @include rm-pad-bottom; }
94
+
95
+ .romo-table-pad-left th, .romo-table-pad-left td,
96
+ .romo-table-pad1-left th, .romo-table-pad1-left td { @include pad1-left; }
97
+ .romo-table-pad0-left th, .romo-table-pad0-left td { @include pad0-left; }
98
+ .romo-table-pad2-left th, .romo-table-pad2-left td { @include pad2-left; }
99
+ .romo-table-rm-pad-left th, .romo-table-rm-pad-left td { @include rm-pad-left; }
@@ -0,0 +1,71 @@
1
+ @import 'css/romo/vars';
2
+ @import 'css/romo/mixins';
3
+
4
+ /* tabs */
5
+
6
+ .romo-tabs {
7
+ display: block;
8
+ @include list-unstyled;
9
+ @include clearfix;
10
+
11
+ border-bottom: $tabDividerSize solid $tabBackgroundActive;
12
+ }
13
+
14
+ .romo-tabs > li {
15
+ float: left;
16
+ @include rm-push;
17
+ @include rm-pad;
18
+ }
19
+
20
+ .romo-tabs-pull-left > li { float: left; }
21
+ .romo-tabs-pull-right > li { float: right; }
22
+
23
+ .romo-tabs > li > a {
24
+ display: block;
25
+ cursor: pointer;
26
+
27
+ @include border1;
28
+ background-color: $tabBackground;
29
+ border-color: $tabBackground;
30
+ color: $tabColor;
31
+
32
+ &:hover,
33
+ &:focus {
34
+ outline: 0;
35
+ text-decoration: none;
36
+ background-color: $tabBackgroundHover;
37
+ border-color: $tabBackgroundHover;
38
+ }
39
+ }
40
+
41
+ .romo-tabs > li.active > a {
42
+ background-color: $tabBackgroundActive;
43
+ border-color: $tabBackgroundActive;
44
+ color: $tabColorActive;
45
+ }
46
+
47
+ .romo-tabs > li.disabled a,
48
+ .romo-tabs > li:disabled a {
49
+ color: $tabColorDisabled;
50
+ cursor: $notAllowedCursor;
51
+
52
+ &:hover,
53
+ &:focus {
54
+ background-color: $tabBackground;
55
+ border-color: $tabBackgroundHover;
56
+ }
57
+ }
58
+
59
+ .romo-tabs.romo-tabs-small > li > a,
60
+ .romo-tabs.romo-tabs0 > li > a { @include font-size0; @include font-weight0; @include line-height0; @include button-pad0; }
61
+ .romo-tabs > li > a,
62
+ .romo-tabs.romo-tabs1 > li > a { @include font-size1; @include font-weight1; @include line-height1; @include button-pad1; }
63
+ .romo-tabs.romo-tabs-large > li > a,
64
+ .romo-tabs.romo-tabs2 > li > a { @include font-size2; @include font-weight2; @include line-height2; @include button-pad2; }
65
+ .romo-tabs.romo-tabs3 > li > a { @include font-size3; @include font-weight3; @include line-height3; @include button-pad3; }
66
+
67
+ .romo-tabs.romo-tabs-stacked { @include rm-border; }
68
+ .romo-tabs.romo-tabs-stacked > li { float: none; }
69
+ .romo-tabs.romo-tabs-stacked > li > a { @include border1; border-color: $baseBorderColor; }
70
+ .romo-tabs.romo-tabs-stacked > li.active > a { border-color: $tabBackgroundActive; }
71
+ .romo-tabs.romo-tabs-stacked > li:not(:last-child) > a { @include rm-border-bottom; }
@@ -0,0 +1,89 @@
1
+ @import 'css/romo/vars';
2
+ @import 'css/romo/mixins';
3
+
4
+ .romo-tooltip {
5
+ cursor: pointer;
6
+ }
7
+
8
+ .romo-tooltip-popup {
9
+ position: absolute;
10
+ float: left;
11
+ @include border1-radius;
12
+
13
+ white-space: normal;
14
+ text-align: center;
15
+
16
+ font-size: 11px;
17
+ line-height: 1.4;
18
+ font-weight: 300;
19
+ }
20
+
21
+ .romo-tooltip-popup:not([class*="romo-tooltip-open"]) {
22
+ display: none;
23
+ }
24
+
25
+ .romo-tooltip-arrow {
26
+ position: absolute;
27
+ width: 0;
28
+ height: 0;
29
+ border-color: transparent;
30
+ border-style: solid;
31
+ }
32
+
33
+ .romo-tooltip-popup[data-romo-tooltip-position="top"] .romo-tooltip-arrow {
34
+ border-width: 6px 6px 0;
35
+ bottom: -6px;
36
+ left: 50%;
37
+ margin-left: -6px;
38
+ }
39
+
40
+ .romo-tooltip-popup[data-romo-tooltip-position="right"] .romo-tooltip-arrow {
41
+ border-width: 6px 6px 6px 0;
42
+ left: -6px;
43
+ top: 50%;
44
+ margin-top: -6px;
45
+ }
46
+
47
+ .romo-tooltip-popup[data-romo-tooltip-position="bottom"] .romo-tooltip-arrow {
48
+ border-width: 0 6px 6px;
49
+ top: -6px;
50
+ left: 50%;
51
+ margin-left: -6px;
52
+ }
53
+
54
+ .romo-tooltip-popup[data-romo-tooltip-position="left"] .romo-tooltip-arrow {
55
+ border-width: 6px 0 6px 6px;
56
+ right: -6px;
57
+ top: 50%;
58
+ margin-top: -6px;
59
+ }
60
+
61
+ .romo-tooltip-popup[data-romo-tooltip-alignment="left"] { @include align-left; }
62
+ .romo-tooltip-popup[data-romo-tooltip-alignment="center"] { @include align-center; }
63
+ .romo-tooltip-popup[data-romo-tooltip-alignment="right"] { @include align-right; }
64
+
65
+ .romo-tooltip-body {
66
+ padding: 6px 8px;
67
+ overflow: hidden;
68
+ }
69
+
70
+
71
+ /* theme */
72
+
73
+ .romo-tooltip-popup {
74
+ background-color: $tooltipBackground;
75
+ color: $tooltipColor;
76
+ }
77
+
78
+ .romo-tooltip-popup[data-romo-tooltip-position="top"] .romo-tooltip-arrow {
79
+ border-top-color: $tooltipBackground;
80
+ }
81
+ .romo-tooltip-popup[data-romo-tooltip-position="right"] .romo-tooltip-arrow {
82
+ border-right-color: $tooltipBackground;
83
+ }
84
+ .romo-tooltip-popup[data-romo-tooltip-position="bottom"] .romo-tooltip-arrow {
85
+ border-bottom-color: $tooltipBackground;
86
+ }
87
+ .romo-tooltip-popup[data-romo-tooltip-position="left"] .romo-tooltip-arrow {
88
+ border-left-color: $tooltipBackground;
89
+ }
@@ -0,0 +1,26 @@
1
+ @import 'css/romo/vars';
2
+ @import 'css/romo/mixins';
3
+
4
+ .romo-tooltip-popup {
5
+ z-index: $tooltipZIndex;
6
+ }
7
+ .romo-tooltip-popup * {
8
+ z-index: inherit;
9
+ }
10
+
11
+ .romo-dropdown-popup {
12
+ z-index: $dropdownZIndex;
13
+ }
14
+ .romo-dropdown-popup * {
15
+ z-index: inherit;
16
+ }
17
+
18
+ // 1300 is reserved for app specific things like nav bars, etc
19
+ // modals should appear on top of everything though
20
+
21
+ .romo-modal-popup {
22
+ z-index: $modalZIndex;
23
+ }
24
+ .romo-modal-popup * {
25
+ z-index: inherit;
26
+ }
@@ -0,0 +1,177 @@
1
+ (function() {
2
+ var Romo = function() {
3
+ this._eventCallbacks = [];
4
+ }
5
+
6
+ Romo.prototype.doInit = function() {
7
+ $.each(this._eventCallbacks, function(idx, eventCallback) {
8
+ $('body').on(eventCallback.eventName, eventCallback.callback);
9
+ });
10
+
11
+ this.triggerInitUI($('body'));
12
+ }
13
+
14
+ // init UI
15
+
16
+ Romo.prototype.onInitUI = function(callback) {
17
+ this._addEventCallback('romo:initUI', callback);
18
+ }
19
+
20
+ Romo.prototype.triggerInitUI = function(elems) {
21
+ elems.trigger('romo:initUI');
22
+ }
23
+
24
+ Romo.prototype.initUIElems = function(e, selector) {
25
+ var elems = $(e.target).find(selector).get();
26
+ if ($(e.target).is(selector)) {
27
+ elems.push(e.target)
28
+ }
29
+ return $(elems);
30
+ }
31
+
32
+ Romo.prototype.initHtml = function(elem, data) {
33
+ var htmlElems = $(data)
34
+ elem.html(htmlElems);
35
+ this.triggerInitUI(htmlElems);
36
+ return htmlElems;
37
+ }
38
+
39
+ Romo.prototype.initReplace = function(elem, data) {
40
+ var replacementElem = $(data);
41
+ elem.replaceWith(replacementElem);
42
+ this.triggerInitUI(replacementElem);
43
+ return replacementElem;
44
+ }
45
+
46
+ Romo.prototype.initPrepend = function(elem, data) {
47
+ var prependedElem = $(data);
48
+ elem.prepend(prependedElem);
49
+ this.triggerInitUI(prependedElem);
50
+ return prependedElem;
51
+ }
52
+
53
+ Romo.prototype.initAppend = function(elem, data) {
54
+ var appendedElem = $(data);
55
+ elem.append(appendedElem);
56
+ this.triggerInitUI(appendedElem);
57
+ return appendedElem;
58
+ }
59
+
60
+ Romo.prototype.initBefore = function(elem, data) {
61
+ var insertedElem = $(data);
62
+ elem.before(insertedElem);
63
+ this.triggerInitUI(insertedElem);
64
+ return insertedElem;
65
+ }
66
+
67
+ Romo.prototype.initAfter = function(elem, data) {
68
+ var insertedElem = $(data);
69
+ elem.after(insertedElem);
70
+ this.triggerInitUI(insertedElem);
71
+ return insertedElem;
72
+ }
73
+
74
+ // page handling
75
+
76
+ Romo.prototype.reloadPage = function() {
77
+ window.location = window.location;
78
+ }
79
+
80
+ Romo.prototype.redirectPage = function(redirectUrl) {
81
+ window.location = redirectUrl;
82
+ }
83
+
84
+ // param serialization
85
+
86
+ Romo.prototype.param = function(data, opts) {
87
+ var paramData = $.extend({}, data);
88
+
89
+ if (opts && opts.removeEmpty) {
90
+ $.each(paramData, function(key, value) {
91
+ if (value === '') {
92
+ delete paramData[key];
93
+ }
94
+ })
95
+ }
96
+
97
+ var paramString = $.param(paramData);
98
+
99
+ if (opts && opts.decodeValues) {
100
+ paramString = this.decodeParam(paramString);
101
+ }
102
+
103
+ return paramString;
104
+ }
105
+
106
+ Romo.prototype.decodeParam = function(string) {
107
+ return this.decodeParamMap.reduce(function(prev, curr) {
108
+ return prev.replace(curr[0], curr[1]);
109
+ }, string);
110
+ }
111
+
112
+ Romo.prototype.decodeParamMap = [
113
+ [/%20/g, '+'],
114
+ [/%21/g, '!'],
115
+ [/%24/g, '$'],
116
+ [/%28/g, '('],
117
+ [/%29/g, ')'],
118
+ [/%2A/g, '*'],
119
+ [/%2B/g, '+'],
120
+ [/%2C/g, ','],
121
+ [/%2D/g, '-'],
122
+ [/%2E/g, '.'],
123
+ [/%2F/g, '/'],
124
+ [/%5B/g, '['],
125
+ [/%5C/g, '\\'],
126
+ [/%5D/g, ']'],
127
+ [/%3A/g, ':'],
128
+ [/%3C/g, '<'],
129
+ [/%3E/g, '>'],
130
+ [/%3F/g, '?'],
131
+ [/%40/g, '@'],
132
+ [/%5E/g, '^'],
133
+ [/%5F/g, '_'],
134
+ [/%60/g, '`'],
135
+ [/%7B/g, '{'],
136
+ [/%7C/g, '|'],
137
+ [/%7D/g, '}'],
138
+ [/%7E/g, '~']
139
+ ];
140
+
141
+ // style handling
142
+
143
+ Romo.prototype.parseZIndex = function(elem) {
144
+ // for the case where the browser doesn't suck and can read inherited z-index
145
+ var val = parseInt(elem.css('z-index'));
146
+ if (!isNaN(val)) {
147
+ return val;
148
+ }
149
+
150
+ // for the case where the browser sucks and can't read inherited z-index - we'll do it for you!
151
+ var parentIndexes = $.map(elem.parents(), function(item) {
152
+ return item; // converts the collection to an array
153
+ }).reduce($.proxy(function(prev, curr) {
154
+ var pval = parseInt($(curr).css('z-index'));
155
+ if (!isNaN(pval)) {
156
+ prev.push(pval);
157
+ }
158
+ return prev;
159
+ }, this), []);
160
+ parentIndexes.push(0); // in case z-index is 'auto' all the way up
161
+ return parentIndexes[0];
162
+ }
163
+
164
+ // private
165
+
166
+ Romo.prototype._addEventCallback = function(name, callback) {
167
+ this._eventCallbacks.push({ eventName: name, callback: callback });
168
+ }
169
+
170
+ window.Romo = new Romo();
171
+ })();
172
+
173
+ $(function() {
174
+
175
+ Romo.doInit();
176
+
177
+ })