marxjs-rails 0.2.2 → 0.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6b523f2834228073197ca46459233cef8df24fb9
4
- data.tar.gz: 71a718fe44ada1b38ca575837bfae1a790efcbdd
3
+ metadata.gz: 8d3f8be1d5067aa18f227e452adc8ee4247cde1e
4
+ data.tar.gz: b5d1539c035c75feb6e341add95f509b655a6ffe
5
5
  SHA512:
6
- metadata.gz: bdba4c2138fae9d68cf28315d971394d482f6f42a369b834cade1d8ca08aa41df4b68377322b26e534426afd579eb11407bf815299eb02fd07f8afc587eb96b1
7
- data.tar.gz: aed5180e84c387b76572566e315559276000f16076c27f35b1175564e97a0985ffd047395a65355466c17f27f54e19b03b7106381ab5968c141fe9a566af18c5
6
+ metadata.gz: d06fb3e3f34f2532b967d7943d27776388a60bfa5cc0310cfb1b976652b210970c77a1b3ce03ba51c7bd4794b3bf1aa313a2e7d67db6c9aa6a8ae29da5c2148f
7
+ data.tar.gz: 23f1bd39d6675faba49704206f547c5c24d3ea9de0f7c161fd982598fb901f039754646fa87cc07a59ce2e3ad9e740a36de7ff4b8000a207d808bdfdf3faea1a
@@ -1,6 +1,7 @@
1
1
  window.Marx = function(options) {
2
2
  var _this = this;
3
- return $.getJSON("http://marxjs.com/characters", function(data) {
3
+ this._url = "http://marxjs.com";
4
+ return $.getJSON("" + this._url + "/characters", function(data) {
4
5
  _this.marx_json = data;
5
6
  return _this.initialize(options);
6
7
  });
@@ -34,9 +35,9 @@ $.extend(Marx.prototype, {
34
35
  create_controls: function() {
35
36
  var open_controls,
36
37
  _this = this;
37
- $('body').append("<div class=\"marx-js-controls " + this.settings.position + "\">\n <link rel=\"stylesheet\" href=\"http://marxjs.com/marx.css\">\n</div>");
38
+ $('body').append("<div class=\"marx-js-controls " + this.settings.position + "\">\n <link rel=\"stylesheet\" href=\"" + this._url + "/marx.css\">\n</div>");
38
39
  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
+ open_controls = this.settings.controls !== 'toggle-all' ? "<a href='#open-controls' class='open-controls'>Marx.js</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=\"quick-populate\" title=\"Populate Whole Form\">Marx.js</a>\n</div>";
40
41
  this.$el.append(open_controls);
41
42
  this.$el.addClass('marx-js-collapsed');
42
43
  switch (this.settings.controls) {
@@ -60,16 +61,18 @@ $.extend(Marx.prototype, {
60
61
  this.add_standard_controls();
61
62
  this.add_advanced_controls();
62
63
  this.$('a.standard-controls').click(function(e) {
64
+ $('p.marx-notification').remove();
63
65
  _this.$('.marx-standard-controls').toggle();
64
66
  _this.$('.marx-advanced-controls').hide();
65
67
  return false;
66
68
  });
67
69
  this.$('a.advanced-controls').click(function(e) {
70
+ $('p.marx-notification').remove();
68
71
  _this.$('.marx-advanced-controls').toggle();
69
72
  _this.$('.marx-standard-controls').hide();
70
73
  return false;
71
74
  });
72
- return this.$('a.populate-whole-form').click(function(e) {
75
+ return this.$('a.quick-populate').click(function(e) {
73
76
  _this.$('.marx-standard-controls').hide();
74
77
  _this.$('.marx-advanced-controls').hide();
75
78
  return _this.populate_whole_form(e);
@@ -118,10 +121,7 @@ $.extend(Marx.prototype, {
118
121
  this.$('.marx-advanced-controls').hide();
119
122
  this.$('.marx-standard-controls').append("<a href='#advanced' class='marx-toggle-advanced'>&laquo; Advanced</a>");
120
123
  return this.$('a.marx-toggle-advanced').click(function(e) {
121
- var txt;
122
- txt = $(e.target).hasClass('opened') ? "&laquo; Advanced" : "Close &raquo;";
123
- _this.$(e.target).toggleClass('opened').html(txt);
124
- return _this.$('.marx-advanced-controls').toggle();
124
+ return _this.toggle_advanced($(e.target));
125
125
  });
126
126
  },
127
127
  /*=========================
@@ -141,11 +141,8 @@ $.extend(Marx.prototype, {
141
141
  var _this = this;
142
142
  this.effected.inputs = 0;
143
143
  return $.each($("" + this.settings.form + " input"), function(i, input) {
144
- var brother, movie, obj, strings, value;
144
+ var brother, movie, obj, rand, str, strings, value, year;
145
145
  if (!($(input).val() !== "" || $(input).hasClass('no-populate'))) {
146
- if (['checkbox', 'radio', 'hidden'].indexOf($(input).attr('type') < 0)) {
147
- _this.effected.inputs += 1;
148
- }
149
146
  obj = _this.get_random();
150
147
  brother = JSON.parse(obj.brother);
151
148
  movie = JSON.parse(obj.movie);
@@ -161,22 +158,32 @@ $.extend(Marx.prototype, {
161
158
  case 'url':
162
159
  return "http://" + (movie.name.toLowerCase().replace(/\s/g, '')) + ".com";
163
160
  case 'date':
164
- return "" + movie.year + "-01-01";
161
+ rand = Math.random();
162
+ year = movie.year.toString();
163
+ return "" + year + "-0" + (year.substr(Math.floor(rand * 4), 1)) + "-2" + (year.substr(Math.floor(rand * 4), 1));
165
164
  default:
166
- return strings[Math.floor(Math.random() * strings.length)];
165
+ str = strings[Math.floor(Math.random() * strings.length)];
166
+ if ((str == null) || str === "") {
167
+ return "Marx";
168
+ } else {
169
+ return str;
170
+ }
167
171
  }
168
172
  })();
169
- return $(input).attr('data-marx-d', true).val(value);
173
+ if (['checkbox', 'radio', 'hidden'].indexOf($(input).attr('type') < 0)) {
174
+ $(input).attr('data-marx-d', true).val(value).trigger('change').trigger('blur');
175
+ return _this.effected.inputs += 1;
176
+ }
170
177
  }
171
178
  });
172
179
  },
173
180
  populate_textareas: function() {
174
181
  var _this = this;
175
182
  this.effected.textareas = 0;
176
- return $.getJSON("http://marxjs.com/quotes", function(data) {
183
+ return $.getJSON("" + this._url + "/quotes", function(data) {
177
184
  return $.each($("" + _this.settings.form + " textarea"), function(i, input) {
178
185
  _this.effected.textareas += 1;
179
- return $(input).attr('data-marx-d', true).val(data[Math.floor(Math.random() * data.length)].body);
186
+ return $(input).attr('data-marx-d', true).val(data[Math.floor(Math.random() * data.length)].body).trigger('change').trigger('blur');
180
187
  });
181
188
  });
182
189
  },
@@ -194,7 +201,7 @@ $.extend(Marx.prototype, {
194
201
  var checked, clean_name;
195
202
  checked = Math.floor(Math.random() * 2) === 1 ? true : false;
196
203
  clean_name = name.replace(/\[/g, '\\[').replace(/\]/g, '\\]');
197
- $("" + _this.settings.form + " input[name=" + clean_name + "]").attr('data-marx-d', true).attr('checked', checked);
204
+ $("" + _this.settings.form + " input[name=" + clean_name + "]").attr('data-marx-d', true).attr('checked', checked).trigger('change').trigger('blur');
198
205
  if (checked) {
199
206
  return _this.effected.check_boxes += 1;
200
207
  }
@@ -214,7 +221,7 @@ $.extend(Marx.prototype, {
214
221
  var clean_name, total;
215
222
  clean_name = name.replace(/\[/g, '\\[').replace(/\]/g, '\\]');
216
223
  total = $("" + _this.settings.form + " input[name=" + clean_name + "]").length;
217
- $("" + _this.settings.form + " input[name=" + name + "]:eq(" + (Math.floor(Math.random() * total)) + ")").attr('data-marx-d', true).attr('checked', true);
224
+ $("" + _this.settings.form + " input[name=" + name + "]:eq(" + (Math.floor(Math.random() * total)) + ")").attr('data-marx-d', true).attr('checked', true).trigger('change').trigger('blur');
218
225
  return _this.effected.radio_buttons += 1;
219
226
  });
220
227
  },
@@ -228,10 +235,11 @@ $.extend(Marx.prototype, {
228
235
  rand = Math.floor(Math.random() * total);
229
236
  $opt = $(select).find("option:eq(" + rand + ")");
230
237
  if (($opt.attr('value') != null) && $opt.attr('value') !== "") {
231
- return $opt.attr('selected', true);
238
+ $opt.attr('selected', true);
232
239
  } else {
233
- return $opt.next('option').attr('selected', true);
240
+ $opt.next('option').attr('selected', true);
234
241
  }
242
+ return $(select).trigger('change').trigger('blur');
235
243
  });
236
244
  },
237
245
  toggle_hidden_fields: function() {
@@ -283,7 +291,7 @@ $.extend(Marx.prototype, {
283
291
  num = this.$('.ipsum input').val();
284
292
  $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='marx-container'></div>\n</div>");
285
293
  $('body').append($ipsum);
286
- return $.getJSON("http://marxjs.com/monologues", function(data) {
294
+ return $.getJSON("" + this._url + "/monologues", function(data) {
287
295
  var i, max, monologues, _i;
288
296
  max = num > data.length ? data.length - 1 : num;
289
297
  monologues = data.sort(function() {
@@ -307,7 +315,20 @@ $.extend(Marx.prototype, {
307
315
  */
308
316
 
309
317
  toggle_controls: function(e) {
318
+ $('p.marx-notification').remove();
310
319
  this.$el.toggleClass('marx-js-collapsed');
320
+ if (this.settings.controls === 'toggle-advanced' && this.$el.hasClass('marx-js-collapsed')) {
321
+ if ($('.marx-advanced-controls').is(':visible')) {
322
+ this.toggle_advanced($('a.marx-toggle-advanced'));
323
+ }
324
+ }
325
+ return false;
326
+ },
327
+ toggle_advanced: function($link) {
328
+ var txt;
329
+ txt = $link.hasClass('opened') ? "&laquo; Advanced" : "Close &raquo;";
330
+ $link.toggleClass('opened').html(txt);
331
+ this.$('.marx-advanced-controls').toggle();
311
332
  return false;
312
333
  },
313
334
  popluate_selected_fields: function(e) {
@@ -370,7 +391,7 @@ $.extend(Marx.prototype, {
370
391
  });
371
392
  break;
372
393
  case 'random-image':
373
- window.location = "http://marxjs.com/get-image";
394
+ window.location = "" + this._url + "/get-image";
374
395
  break;
375
396
  case 'generate-ipsum':
376
397
  this.generate_ipsum();
@@ -10,6 +10,7 @@
10
10
 
11
11
  .marx-js-controls {
12
12
  position: fixed;
13
+ z-index: 2000;
13
14
  background: #f6f6f6;
14
15
  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.7);
15
16
  -moz-box-shadow: 0 0 8px rgba(0, 0, 0, 0.7);
@@ -96,14 +97,14 @@
96
97
  background-size: 32px 32px;
97
98
  color: #333;
98
99
  text-align: right; }
99
- .marx-js-controls .open-controls a.populate-whole-form {
100
+ .marx-js-controls .open-controls a.quick-populate {
100
101
  padding: 10px; }
101
- .marx-js-controls .open-controls a.populate-whole-form,
102
+ .marx-js-controls .open-controls a.quick-populate,
102
103
  .marx-js-controls .open-controls a.standard-controls, .marx-js-controls .open-controls a.advanced-controls {
103
104
  display: block;
104
105
  float: right;
105
106
  background-color: transparent; }
106
- .marx-js-controls .open-controls a.populate-whole-form:hover,
107
+ .marx-js-controls .open-controls a.quick-populate:hover,
107
108
  .marx-js-controls .open-controls a.standard-controls:hover, .marx-js-controls .open-controls a.advanced-controls:hover {
108
109
  background-color: #ccc; }
109
110
  .marx-js-controls .open-controls a.standard-controls, .marx-js-controls .open-controls a.advanced-controls {
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "mappings": "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",
4
+ "sources": ["../scss/marx.scss","../scss/mixins.scss"],
5
+ "names": [],
6
+ "file": "marx.css"
7
+ }
@@ -1,5 +1,5 @@
1
1
  module Marxjs
2
2
  module Rails
3
- VERSION = "0.2.2"
3
+ VERSION = "0.3.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: marxjs-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Keith Raymond
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-27 00:00:00.000000000 Z
11
+ date: 2014-12-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -69,6 +69,7 @@ files:
69
69
  - app/assets/images/standard.png
70
70
  - app/assets/javascripts/marx.js
71
71
  - app/assets/stylesheets/marx.css
72
+ - app/assets/stylesheets/marx.css.map
72
73
  - lib/marxjs/rails.rb
73
74
  - lib/marxjs/rails/version.rb
74
75
  homepage: https://github.com/Sparkmasterflex/marxjs-rails