marxjs-rails 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 23d5431b0b9af5680aa615b5425305973c5ae4e5
4
- data.tar.gz: bb5e7e7468e8b1af8044379ff88252dd0ebd108b
3
+ metadata.gz: 65723bad7dab05355d86345f2266b62d67094c61
4
+ data.tar.gz: 6eeca9bf25b28cd2fda2b1711131d5d061384abc
5
5
  SHA512:
6
- metadata.gz: c6b5d971442f371c117d4c0b61c83387f1db8642980633b37b31b506ae3f66b57fb51093a241cc90615a6a65f5931ad9cccfcb5260fe74d0b0d64a4ecca35d97
7
- data.tar.gz: 63da2c9058f12e2637285864a8458a095e4d3ee449a4aa8cc92df3c44d203784fdf466a94d00669a04210d0167e7347791943e74626f62a0c0f11fb1cee6436f
6
+ metadata.gz: d99db0819c191cf73ca7f60b8804a28da3fc227bc7dbff59c48aec0fc59d4f0d295878f45585e420fa815173225692d378f24a628cca9da52e11c6194ed4a7ab
7
+ data.tar.gz: fd84e317ac87aefac986fad944a623c40e7b175c2505288a86299ffdf4f71b7ea632fa45597be5224acb117eb9da7784ea0f72102b64f495428106de91ceb3b5
Binary file
Binary file
Binary file
@@ -0,0 +1,354 @@
1
+ window.Marx = function(options) {
2
+ var _this = this;
3
+ return $.getJSON("http://marxjs.sparkmasterflex.com:9292/quotes", function(data) {
4
+ _this.marx_json = data;
5
+ return _this.initialize(options);
6
+ });
7
+ };
8
+
9
+ $.extend(Marx.prototype, {
10
+ settings: {
11
+ controls: 'standard',
12
+ position: 'bottom-right',
13
+ form: "",
14
+ ipsum: 3,
15
+ max_ipsum: 10
16
+ },
17
+ effected: {
18
+ inputs: 0,
19
+ texareas: 0,
20
+ selects: 0,
21
+ check_boxes: 0,
22
+ radio_buttons: 0,
23
+ hidden_fields: 0
24
+ },
25
+ initialize: function(options) {
26
+ $.extend(this.settings, options);
27
+ return this.create_controls();
28
+ },
29
+ /*=========================
30
+ BUILD CONTROLS
31
+ =========================
32
+ */
33
+
34
+ create_controls: function() {
35
+ var open_controls,
36
+ _this = this;
37
+ $('body').append("<div class=\"marx-js-controls " + this.settings.position + "\">\n <link rel=\"stylesheet\" href=\"/assets/marx.css\">\n</div>");
38
+ this.$el = $('.marx-js-controls');
39
+ open_controls = this.settings.controls !== 'toggle-all' ? "<a href='#open-controls' class='open-controls'>MarxJS</a>" : "<div class=\"open-controls\">\n <a href=\"#advanced-controls\" class=\"advanced-controls\" title=\"Show Advanced Controls\">Advanced Controls</a>\n <a href=\"#standard-controls\" class=\"standard-controls\" title=\"Show Standard Controls\">Standard Controls</a>\n <a href=\"#populate-whole-form\" class=\"populate-whole-form\" title=\"Populate Whole Form\">MarxJS</a>\n</div>";
40
+ this.$el.append(open_controls);
41
+ this.$el.addClass('marx-js-collapsed');
42
+ switch (this.settings.controls) {
43
+ case 'standard':
44
+ this.add_standard_controls();
45
+ return this.$('a.open-controls').click(function(e) {
46
+ return _this.toggle_controls(e);
47
+ });
48
+ case 'advanced':
49
+ case 'toggle-advanced':
50
+ this.add_standard_controls();
51
+ this.add_advanced_controls();
52
+ return this.$('a.open-controls').click(function(e) {
53
+ return _this.toggle_controls(e);
54
+ });
55
+ case 'minimum':
56
+ return this.$('a.open-controls').click(function(e) {
57
+ return _this.populate_whole_form(e);
58
+ });
59
+ case 'toggle-all':
60
+ this.add_standard_controls();
61
+ this.add_advanced_controls();
62
+ this.$('a.standard-controls').click(function(e) {
63
+ _this.$('.marx-standard-controls').toggle();
64
+ _this.$('.marx-advanced-controls').hide();
65
+ return false;
66
+ });
67
+ this.$('a.advanced-controls').click(function(e) {
68
+ _this.$('.marx-advanced-controls').toggle();
69
+ _this.$('.marx-standard-controls').hide();
70
+ return false;
71
+ });
72
+ return this.$('a.populate-whole-form').click(function(e) {
73
+ _this.$('.marx-standard-controls').hide();
74
+ _this.$('.marx-advanced-controls').hide();
75
+ return _this.populate_whole_form(e);
76
+ });
77
+ }
78
+ },
79
+ $: function(el) {
80
+ return this.$el.find(el);
81
+ },
82
+ add_standard_controls: function() {
83
+ var standard,
84
+ _this = this;
85
+ standard = "<div class=\"marx-standard-controls\">\n <h4>Populate Form Fields</h4>\n <div class=\"marx-js-group\">\n <p>Populate whole form</p>\n <a class='populate-whole-form' href=\"#populate-whole-form\">Go</a>\n </div>\n <div class=\"marx-js-group\">\n <p>Populate TextAreas</p>\n <a href=\"#populate-textareas\" class=\"populate-textareas\">Go</a>\n </div>\n <div class=\"marx-js-group\">\n <p>Populate Inputs</p>\n <a href=\"#populate-inputs\" class=\"populate-inputs\">Go</a>\n </div>\n <div class=\"marx-js-group\">\n <p>Populate Check Boxes</p>\n <a href=\"#populate-checkboxes\" class=\"populate-checkboxes\">Go</a>\n </div>\n <div class=\"marx-js-group\">\n <p>Populate Radio Buttons</p>\n <a href=\"#populate-radios\" class=\"populate-radios\">Go</a>\n </div>\n <div class=\"marx-js-group\">\n <p>Populate Select Boxes</p>\n <a href=\"#populate-selects\" class=\"populate-selects\">Go</a>\n </div>\n</div>";
86
+ this.$('.open-controls').before(standard);
87
+ return this.$('.marx-standard-controls a').click(function(e) {
88
+ return _this.popluate_selected_fields(e);
89
+ });
90
+ },
91
+ add_advanced_controls: function() {
92
+ var advanced,
93
+ _this = this;
94
+ advanced = "<div class=\"marx-advanced-controls\">\n <h4>Advanced Options</h4>\n <div class=\"marx-js-group\">\n <p>Clear Form</p>\n <a href=\"#clear-form\" class=\"clear-form\">Go</a>\n </div>\n <div class=\"marx-js-group\">\n <p>Populate and Submit</p>\n <a href=\"#populate-submit\" class=\"populate-submit\">Go</a>\n </div>\n <div class=\"marx-js-group\">\n <p><span data-text=\"Hide\">Show</span> Hidden Fields</p>\n <a href=\"#show-hidden\" class=\"show-hidden\">Go</a>\n </div>\n <div class=\"marx-js-group\">\n <p><span data-text=\"Collapse\">Expand</span> Select Boxes</p>\n <a href=\"#expand-select\" class=\"expand-select\">Go</a>\n </div>\n <div class=\"marx-js-group ipsum\">\n <p>Generate Ipsum<br />\n <input min=\"1\" max=\"" + this.settings.max_ipsum + "\" type=\"number\" value='" + this.settings.ipsum + "' class=\"no-populate\" name=\"ipsum\" /> Paragraphs\n </p>\n <a href=\"#generate-ipsum\" class=\"generate-ipsum\">Go</a>\n </div>\n</div>";
95
+ this.$('.open-controls').before(advanced);
96
+ if (this.settings.controls === 'toggle-advanced') {
97
+ this.$('.marx-advanced-controls').hide();
98
+ this.$('.marx-standard-controls').append("<a href='#advanced' class='marx-toggle-advanced'>&laquo; Advanced</a>");
99
+ this.$('a.marx-toggle-advanced').click(function(e) {
100
+ var txt;
101
+ txt = $(e.target).hasClass('opened') ? "&laquo; Advanced" : "Close &raquo;";
102
+ _this.$(e.target).toggleClass('opened').html(txt);
103
+ return _this.$('.marx-advanced-controls').toggle();
104
+ });
105
+ }
106
+ return this.$('.marx-advanced-controls a').click(function(e) {
107
+ return _this.advanced_actions(e);
108
+ });
109
+ },
110
+ /*=========================
111
+ POPULATE FORM METHODS
112
+ =========================
113
+ */
114
+
115
+ populate_whole_form: function(e) {
116
+ this.populate_inputs();
117
+ this.populate_textareas();
118
+ this.populate_checkboxes();
119
+ this.populate_radios();
120
+ this.populate_selects();
121
+ return false;
122
+ },
123
+ populate_inputs: function() {
124
+ var _this = this;
125
+ this.effected.inputs = 0;
126
+ return $.each($("" + this.settings.form + " input"), function(i, input) {
127
+ var obj, val_arr;
128
+ if (!($(input).val() !== "" || $(input).hasClass('no-populate'))) {
129
+ if (['checkbox', 'radio', 'hidden'].indexOf($(input).attr('type') < 0)) {
130
+ _this.effected.inputs += 1;
131
+ }
132
+ obj = _this.marx_json[Math.floor(Math.random() * _this.marx_json.length)];
133
+ val_arr = [obj.brother, obj.movie_name];
134
+ if (obj.alt_brother != null) {
135
+ val_arr.push(obj.alt_brother);
136
+ }
137
+ if (['text', 'password'].indexOf($(input).attr('type') >= 0)) {
138
+ $(input).attr('data-marx-d', true).val(val_arr[Math.floor(Math.random() * val_arr.length)]);
139
+ }
140
+ if ($(input).attr('type') === 'number') {
141
+ $(input).attr('data-marx-d', true).val(obj.movie_year);
142
+ }
143
+ if ($(input).attr('type') === 'email') {
144
+ $(input).attr('data-marx-d', true).val("" + obj.brother + "@" + (obj.movie_name.toLowerCase().replace(/\s/g, '')) + ".com");
145
+ }
146
+ if ($(input).attr('type') === 'date') {
147
+ return $(input).attr('data-marx-d', true).val("" + obj.movie_year + "-01-01");
148
+ }
149
+ }
150
+ });
151
+ },
152
+ populate_textareas: function() {
153
+ var _this = this;
154
+ this.effected.textareas = 0;
155
+ return $.each($("" + this.settings.form + " textarea"), function(i, input) {
156
+ var obj;
157
+ _this.effected.textareas += 1;
158
+ obj = _this.marx_json[Math.floor(Math.random() * _this.marx_json.length)];
159
+ return $(input).attr('data-marx-d', true).val(obj.body);
160
+ });
161
+ },
162
+ populate_checkboxes: function() {
163
+ var names,
164
+ _this = this;
165
+ this.effected.check_boxes = 0;
166
+ names = [];
167
+ $.each($("" + this.settings.form + " input[type=checkbox]"), function(i, input) {
168
+ if (!(names.indexOf($(input).attr('name')) >= 0)) {
169
+ return names.push($(input).attr('name'));
170
+ }
171
+ });
172
+ return $.each(names, function(i, name) {
173
+ var checked, clean_name;
174
+ checked = Math.floor(Math.random() * 2) === 1 ? true : false;
175
+ clean_name = name.replace(/\[/g, '\\[').replace(/\]/g, '\\]');
176
+ $("" + _this.settings.form + " input[name=" + clean_name + "]").attr('data-marx-d', true).attr('checked', checked);
177
+ if (checked) {
178
+ return _this.effected.check_boxes += 1;
179
+ }
180
+ });
181
+ },
182
+ populate_radios: function() {
183
+ var names,
184
+ _this = this;
185
+ this.effected.radio_buttons = 0;
186
+ names = [];
187
+ $("" + this.settings.form + " input[type=radio]").each(function(i, input) {
188
+ if (!(names.indexOf($(input).attr('name')) >= 0)) {
189
+ return names.push($(input).attr('name'));
190
+ }
191
+ });
192
+ return $.each(names, function(i, name) {
193
+ var clean_name, total;
194
+ clean_name = name.replace(/\[/g, '\\[').replace(/\]/g, '\\]');
195
+ total = $("" + _this.settings.form + " input[name=" + clean_name + "]").length;
196
+ $("" + _this.settings.form + " input[name=" + name + "]:eq(" + (Math.floor(Math.random() * total)) + ")").attr('data-marx-d', true).attr('checked', true);
197
+ return _this.effected.radio_buttons += 1;
198
+ });
199
+ },
200
+ populate_selects: function() {
201
+ var _this = this;
202
+ this.effected.selects = 0;
203
+ return $("" + this.settings.form + " select").each(function(i, select) {
204
+ var $opt, rand, total;
205
+ _this.effected.selects += 1;
206
+ total = $(select).attr('data-marx-d', true).find('option').length;
207
+ rand = Math.floor(Math.random() * total);
208
+ $opt = $(select).find("option:eq(" + rand + ")");
209
+ if (($opt.attr('value') != null) && $opt.attr('value') !== "") {
210
+ return $opt.attr('selected', true);
211
+ } else {
212
+ return $opt.next('option').attr('selected', true);
213
+ }
214
+ });
215
+ },
216
+ toggle_hidden_fields: function() {
217
+ var _this = this;
218
+ this.effected.hidden_fields = 0;
219
+ $("" + this.settings.form + " input[data-marx-hidden=true]").each(function(i, input) {
220
+ var type;
221
+ type = $(input).attr('type') === 'hidden' ? 'text' : 'hidden';
222
+ $(input).attr('type', type);
223
+ return _this.effected.hidden_fields += 1;
224
+ });
225
+ return $("" + this.settings.form + " input[type=hidden]").each(function(i, hidden) {
226
+ if ($(hidden).data('marx-d') == null) {
227
+ _this.effected.hidden_fields += 1;
228
+ return $(hidden).attr('type', 'text').attr('data-marx-d', true).attr('data-marx-hidden', true);
229
+ }
230
+ });
231
+ },
232
+ trigger_notifications: function() {
233
+ var num,
234
+ _this = this;
235
+ num = 0;
236
+ return $.each(this.effected, function(key, val) {
237
+ var $note, el;
238
+ if (val !== 0) {
239
+ el = key.replace(/_/, ' ');
240
+ $note = $("<p class='marx-notification'>" + val + " " + el + " elements were altered</p>");
241
+ _this.$el.append($note);
242
+ $note.css('top', "" + (20 + (num * 50)) + "px").delay(5000 + (num * 50)).slideUp('fast', function() {
243
+ return $note.remove();
244
+ });
245
+ num += 1;
246
+ return _this.effected[key] = 0;
247
+ }
248
+ });
249
+ },
250
+ toggle_description: function($link) {
251
+ var $parent, $span, from, to;
252
+ $parent = $link.parent('.marx-js-group');
253
+ $span = $parent.find('p span');
254
+ to = $span.data('text');
255
+ from = $span.text();
256
+ return $span.text(to).data('text', from);
257
+ },
258
+ generate_ipsum: function() {
259
+ var $ipsum, num,
260
+ _this = this;
261
+ $('.marx-generated-ipsum').remove();
262
+ num = this.$('.ipsum input').val();
263
+ $ipsum = $("<div class='marx-generated-ipsum " + this.settings.position + "'>\n <h4>Marx Ipsum</h4>\n <a href='#close' class='marx-ipsum-close'>X</a>\n <div class='container'></div>\n</div>");
264
+ $('body').append($ipsum);
265
+ return $.getJSON("http://marxjs.sparkmasterflex.com:9292/monologues", function(data) {
266
+ var i, max, monologues, _i;
267
+ max = num > data.length ? data.length - 1 : num;
268
+ console.log("Generated the maximum amount of paragraphs available: " + data.length);
269
+ monologues = data.sort(function() {
270
+ return 0.5 - Math.random();
271
+ });
272
+ for (i = _i = 1; 1 <= max ? _i <= max : _i >= max; i = 1 <= max ? ++_i : --_i) {
273
+ $ipsum.find('.marx-container').append("<p>" + monologues[i].body + "</p>");
274
+ }
275
+ return $('a.marx-ipsum-close').click(function(e) {
276
+ $('.marx-generated-ipsum').slideUp('fast');
277
+ return false;
278
+ });
279
+ });
280
+ },
281
+ /*=====================
282
+ EVENTS
283
+ =====================
284
+ */
285
+
286
+ toggle_controls: function(e) {
287
+ this.$el.toggleClass('marx-js-collapsed');
288
+ return false;
289
+ },
290
+ popluate_selected_fields: function(e) {
291
+ switch ($(e.target).attr('class')) {
292
+ case 'populate-textareas':
293
+ this.populate_textareas();
294
+ break;
295
+ case 'populate-inputs':
296
+ this.populate_inputs();
297
+ break;
298
+ case 'populate-checkboxes':
299
+ this.populate_checkboxes();
300
+ break;
301
+ case 'populate-radios':
302
+ this.populate_radios();
303
+ break;
304
+ case 'populate-selects':
305
+ this.populate_selects();
306
+ break;
307
+ default:
308
+ this.populate_whole_form();
309
+ }
310
+ this.trigger_notifications();
311
+ return false;
312
+ },
313
+ advanced_actions: function(e) {
314
+ var _this = this;
315
+ switch ($(e.target).attr('class')) {
316
+ case 'clear-form':
317
+ $('input[data-marx-d=true], textarea[data-marx-d=true]').val("");
318
+ $('input[type=checkbox], input[type=radio]').each(function(i, cb) {
319
+ if (($(cb).data('marx-d') != null) === $(cb).data('marx-d') && true) {
320
+ return $(cb).removeAttr('checked');
321
+ }
322
+ });
323
+ $('select[data-marx-d=true] option:eq(0)').attr('selected', true);
324
+ break;
325
+ case 'populate-submit':
326
+ $.when(this.populate_inputs(), this.populate_textareas(), this.populate_checkboxes(), this.populate_radios(), this.populate_selects()).then(function() {
327
+ $(e.target).replace("<span class='spinner'>Loading</span>");
328
+ return setTimeout(function() {
329
+ return $('form').submit();
330
+ }, 500);
331
+ });
332
+ break;
333
+ case 'show-hidden':
334
+ this.toggle_description($(e.target));
335
+ $.when(this.toggle_hidden_fields()).then(function() {
336
+ return _this.trigger_notifications();
337
+ });
338
+ break;
339
+ case 'expand-select':
340
+ this.toggle_description($(e.target));
341
+ $('select').each(function(i, select) {
342
+ if ($(select).attr('size') != null) {
343
+ return $(select).removeAttr('size');
344
+ } else {
345
+ return $(select).attr('size', $(select).find('option').length);
346
+ }
347
+ });
348
+ break;
349
+ case 'generate-ipsum':
350
+ this.generate_ipsum();
351
+ }
352
+ return false;
353
+ }
354
+ });
@@ -0,0 +1,199 @@
1
+ .marx-js-controls p, .marx-js-controls a, .marx-js-controls li, .marx-js-controls label,
2
+ .marx-generated-ipsum p,
3
+ .marx-generated-ipsum a,
4
+ .marx-generated-ipsum li,
5
+ .marx-generated-ipsum label {
6
+ font-size: 16px;
7
+ font-family: Arial, sans-serif;
8
+ line-height: 1.5em;
9
+ color: #333; }
10
+
11
+ .marx-js-controls {
12
+ position: fixed;
13
+ background: #f6f6f6;
14
+ -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.7);
15
+ -moz-box-shadow: 0 0 8px rgba(0, 0, 0, 0.7);
16
+ -o-box-shadow: 0 0 8px rgba(0, 0, 0, 0.7);
17
+ box-shadow: 0 0 8px rgba(0, 0, 0, 0.7); }
18
+ .marx-js-controls p.marx-notification {
19
+ position: absolute;
20
+ z-index: 100;
21
+ left: -330px;
22
+ width: 300px;
23
+ padding: 3px 5px;
24
+ background-color: rgba(51, 51, 51, 0.8);
25
+ border: 1px solid #333;
26
+ color: #ddd;
27
+ -webkit-border-radius: 3px;
28
+ -moz-border-radius: 3px;
29
+ -o-border-radius: 3px;
30
+ border-radius: 3px; }
31
+ .marx-js-controls.marx-js-collapsed {
32
+ padding: 0; }
33
+ .marx-js-controls.marx-js-collapsed .marx-standard-controls,
34
+ .marx-js-controls.marx-js-collapsed .marx-advanced-controls {
35
+ display: none; }
36
+ .marx-js-controls a {
37
+ color: #333;
38
+ text-decoration: none;
39
+ background-color: #ddd; }
40
+ .marx-js-controls a:hover {
41
+ background-color: #ccc; }
42
+ .marx-js-controls a.marx-toggle-advanced {
43
+ background: transparent;
44
+ float: right;
45
+ margin: 5px 0; }
46
+ .marx-js-controls a.marx-toggle-advanced:hover {
47
+ background: transparent; }
48
+ .marx-js-controls h4 {
49
+ font-size: 24px;
50
+ margin-bottom: 15px; }
51
+ .marx-js-controls .marx-standard-controls,
52
+ .marx-js-controls .marx-advanced-controls {
53
+ float: left;
54
+ width: 310px;
55
+ padding: 20px; }
56
+ .marx-js-controls .marx-advanced-controls .ipsum input[type=number] {
57
+ font-size: 16px;
58
+ width: 30px;
59
+ padding: 2px 5px;
60
+ margin-right: 8px; }
61
+ .marx-js-controls .marx-js-group {
62
+ *zoom: 1;
63
+ margin: 5px 0;
64
+ padding: 5px 0;
65
+ border-bottom: 1px solid #ddd; }
66
+ .marx-js-controls .marx-js-group:before, .marx-js-controls .marx-js-group:after {
67
+ content: " ";
68
+ /* 1 */
69
+ display: table;
70
+ /* 2 */ }
71
+ .marx-js-controls .marx-js-group:after {
72
+ clear: both; }
73
+ .marx-js-controls .marx-js-group p {
74
+ width: 75%;
75
+ float: left; }
76
+ .marx-js-controls .marx-js-group a {
77
+ float: right;
78
+ padding: 2px 8px; }
79
+ .marx-js-controls a.open-controls {
80
+ width: 100px;
81
+ padding: 10px 10px 10px 0; }
82
+ .marx-js-controls a.open-controls:hover {
83
+ background-color: #ccc; }
84
+ .marx-js-controls .open-controls {
85
+ position: absolute;
86
+ display: block;
87
+ width: 195px;
88
+ background-image: url(groucho.png);
89
+ background-color: #ddd;
90
+ background-repeat: no-repeat;
91
+ background-position: 5px center;
92
+ -webkit-background-size: 32px 32px;
93
+ -moz-background-size: 32px 32px;
94
+ -ms-background-size: 32px 32px;
95
+ -o-background-size: 32px 32px;
96
+ background-size: 32px 32px;
97
+ color: #333;
98
+ text-align: right; }
99
+ .marx-js-controls .open-controls a.populate-whole-form {
100
+ padding: 10px; }
101
+ .marx-js-controls .open-controls a.populate-whole-form,
102
+ .marx-js-controls .open-controls a.standard-controls, .marx-js-controls .open-controls a.advanced-controls {
103
+ display: block;
104
+ float: right;
105
+ background-color: transparent; }
106
+ .marx-js-controls .open-controls a.populate-whole-form:hover,
107
+ .marx-js-controls .open-controls a.standard-controls:hover, .marx-js-controls .open-controls a.advanced-controls:hover {
108
+ background-color: #ccc; }
109
+ .marx-js-controls .open-controls a.standard-controls, .marx-js-controls .open-controls a.advanced-controls {
110
+ width: 40px;
111
+ padding: 10px 0;
112
+ text-indent: -9999px;
113
+ overflow: hidden;
114
+ background-repeat: no-repeat;
115
+ background-position: center center;
116
+ -webkit-background-size: 24px 24px;
117
+ -moz-background-size: 24px 24px;
118
+ -ms-background-size: 24px 24px;
119
+ -o-background-size: 24px 24px;
120
+ background-size: 24px 24px;
121
+ text-align: left; }
122
+ .marx-js-controls .open-controls a.standard-controls {
123
+ background-image: url(standard.png); }
124
+ .marx-js-controls .open-controls a.advanced-controls {
125
+ background-image: url(advanced.png); }
126
+
127
+ .bottom-right, .bottom-left {
128
+ bottom: 0;
129
+ padding-bottom: 40px;
130
+ border-top: 1px solid #ddd; }
131
+ .bottom-right .open-controls, .bottom-left .open-controls {
132
+ bottom: 0; }
133
+
134
+ .top-right, .top-left {
135
+ top: 0;
136
+ padding-top: 40px;
137
+ border-bottom: 1px solid #ddd; }
138
+ .top-right .open-controls, .top-left .open-controls {
139
+ top: 0; }
140
+
141
+ .top-right,
142
+ .bottom-right {
143
+ /*
144
+ * using the same class as marx-js-controls
145
+ * puts ipsum on opposite side
146
+ */ }
147
+ .top-right.marx-js-controls,
148
+ .bottom-right.marx-js-controls {
149
+ right: 0;
150
+ padding-bottom: 50px;
151
+ border-left: 1px solid #ddd; }
152
+ .top-right.marx-js-controls .open-controls,
153
+ .bottom-right.marx-js-controls .open-controls {
154
+ right: 0; }
155
+ .top-right.marx-generated-ipsum,
156
+ .bottom-right.marx-generated-ipsum {
157
+ left: 0;
158
+ border-right: 1px solid #ddd; }
159
+
160
+ .top-left.marx-js-controls,
161
+ .bottom-left.marx-js-controls {
162
+ left: 0;
163
+ border-right: 1px solid #ddd; }
164
+ .top-left.marx-js-controls .open-controls,
165
+ .bottom-left.marx-js-controls .open-controls {
166
+ left: 0; }
167
+ .top-left.marx-generated-ipsum,
168
+ .bottom-left.marx-generated-ipsum {
169
+ right: 0;
170
+ border-left: 1px solid #ddd; }
171
+
172
+ .marx-generated-ipsum {
173
+ position: fixed;
174
+ z-index: 1000;
175
+ width: 360px;
176
+ padding: 20px;
177
+ background: #f6f6f6;
178
+ -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.7);
179
+ -moz-box-shadow: 0 0 8px rgba(0, 0, 0, 0.7);
180
+ -o-box-shadow: 0 0 8px rgba(0, 0, 0, 0.7);
181
+ box-shadow: 0 0 8px rgba(0, 0, 0, 0.7); }
182
+ .marx-generated-ipsum .marx-container {
183
+ overflow-y: auto;
184
+ max-height: 360px;
185
+ margin-top: 30px; }
186
+ .marx-generated-ipsum p {
187
+ font-size: 14px;
188
+ margin-bottom: 15px; }
189
+ .marx-generated-ipsum a.marx-ipsum-close {
190
+ position: absolute;
191
+ top: 20px;
192
+ right: 20px;
193
+ display: block;
194
+ width: 30px;
195
+ padding: 3px 0;
196
+ color: #fff;
197
+ background-color: #333;
198
+ text-align: center;
199
+ text-decoration: none; }
@@ -1,5 +1,5 @@
1
1
  module Marxjs
2
2
  module Rails
3
- VERSION = "0.1.0"
3
+ VERSION = "0.1.1"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: marxjs-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Keith Raymond
@@ -64,6 +64,11 @@ extra_rdoc_files: []
64
64
  files:
65
65
  - lib/marxjs/rails/version.rb
66
66
  - lib/marxjs/rails.rb
67
+ - app/assets/images/advanced.png
68
+ - app/assets/images/groucho.png
69
+ - app/assets/images/standard.png
70
+ - app/assets/javascripts/marx.js
71
+ - app/assets/stylesheets/marx.css
67
72
  - MIT-LICENSE
68
73
  - README.md
69
74
  homepage: https://github.com/Sparkmasterflex/marxjs-rails