vue_crud 0.1.10.1 → 0.1.10.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/.DS_Store +0 -0
  3. data/lib/.DS_Store +0 -0
  4. data/lib/generators/.DS_Store +0 -0
  5. data/lib/generators/vue_crud/.DS_Store +0 -0
  6. data/lib/generators/vue_crud/codemirror_generator.rb +11 -0
  7. data/lib/generators/vue_crud/example_generator.rb +1 -1
  8. data/lib/generators/vue_crud/fa_generator.rb +11 -0
  9. data/lib/generators/vue_crud/froala_generator.rb +1 -1
  10. data/lib/generators/vue_crud/install_generator.rb +28 -6
  11. data/lib/generators/vue_crud/pace_generator.rb +1 -1
  12. data/lib/generators/vue_crud/sortable_generator.rb +1 -1
  13. data/lib/generators/vue_crud/template_generator.rb +10 -0
  14. data/lib/generators/vue_crud/templates/.DS_Store +0 -0
  15. data/lib/generators/vue_crud/templates/assets/.DS_Store +0 -0
  16. data/lib/generators/vue_crud/templates/assets/fonts/fa/FontAwesome.otf +0 -0
  17. data/lib/generators/vue_crud/templates/assets/fonts/fa/fontawesome-webfont.eot +0 -0
  18. data/lib/generators/vue_crud/templates/assets/fonts/fa/fontawesome-webfont.svg +2671 -0
  19. data/lib/generators/vue_crud/templates/assets/fonts/fa/fontawesome-webfont.ttf +0 -0
  20. data/lib/generators/vue_crud/templates/assets/fonts/fa/fontawesome-webfont.woff +0 -0
  21. data/lib/generators/vue_crud/templates/assets/fonts/fa/fontawesome-webfont.woff2 +0 -0
  22. data/lib/generators/vue_crud/templates/assets/javascripts/codemirror.js +9096 -0
  23. data/lib/generators/vue_crud/templates/assets/stylesheets/.DS_Store +0 -0
  24. data/lib/generators/vue_crud/templates/assets/stylesheets/codemirror.css +341 -0
  25. data/lib/generators/vue_crud/templates/assets/stylesheets/fa/_animated.scss +34 -0
  26. data/lib/generators/vue_crud/templates/assets/stylesheets/fa/_bordered-pulled.scss +25 -0
  27. data/lib/generators/vue_crud/templates/assets/stylesheets/fa/_core.scss +12 -0
  28. data/lib/generators/vue_crud/templates/assets/stylesheets/fa/_fixed-width.scss +6 -0
  29. data/lib/generators/vue_crud/templates/assets/stylesheets/fa/_icons.scss +789 -0
  30. data/lib/generators/vue_crud/templates/assets/stylesheets/fa/_larger.scss +13 -0
  31. data/lib/generators/vue_crud/templates/assets/stylesheets/fa/_list.scss +19 -0
  32. data/lib/generators/vue_crud/templates/assets/stylesheets/fa/_mixins.scss +60 -0
  33. data/lib/generators/vue_crud/templates/assets/stylesheets/fa/_path.scss +15 -0
  34. data/lib/generators/vue_crud/templates/assets/stylesheets/fa/_rotated-flipped.scss +20 -0
  35. data/lib/generators/vue_crud/templates/assets/stylesheets/fa/_screen-reader.scss +5 -0
  36. data/lib/generators/vue_crud/templates/assets/stylesheets/fa/_stacked.scss +20 -0
  37. data/lib/generators/vue_crud/templates/assets/stylesheets/fa/_variables.scss +800 -0
  38. data/lib/generators/vue_crud/templates/assets/stylesheets/fa/font-awesome.scss +18 -0
  39. data/lib/generators/vue_crud/templates/vue_crud.html +0 -15
  40. data/lib/generators/vue_crud/vuejs_generator.rb +1 -1
  41. data/lib/vue_crud/version.rb +1 -1
  42. data/vendor/assets/javascripts/vue_crud.js +27 -31
  43. metadata +31 -2
@@ -0,0 +1,18 @@
1
+ /*!
2
+ * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
3
+ * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
4
+ */
5
+
6
+ @import "variables";
7
+ @import "mixins";
8
+ @import "path";
9
+ @import "core";
10
+ @import "larger";
11
+ @import "fixed-width";
12
+ @import "list";
13
+ @import "bordered-pulled";
14
+ @import "animated";
15
+ @import "rotated-flipped";
16
+ @import "stacked";
17
+ @import "icons";
18
+ @import "screen-reader";
@@ -16,9 +16,6 @@ $(document).ready(function() {
16
16
  models.find('.custom_action').html(
17
17
  $('#custom_action').html()
18
18
  );
19
- // models.find('.vue_form_for_edit').html(
20
- // $('#vue_form').html()
21
- // );
22
19
  modal.find('.custom_modal_body').html(
23
20
  $('#custom_modal_body').html()
24
21
  );
@@ -338,15 +335,3 @@ $(document).ready(function() {
338
335
  </div>
339
336
  </form>
340
337
  </script>
341
- <!-- NOTE: memo-->
342
- <!-- <div class="row well well-sm">
343
- <models v-for="model in models" :model="model"></models>
344
- </div> -->
345
- <!-- ┌───────────────────────────────────────┐ -->
346
- <!-- │ ↓ -->
347
- <!-- v-for model in models 這個 model 會透過 :model="model" 傳值到 template,無法直接使用 v-for 迴圈出來的 model -->
348
- <!-- │
349
- In models component props: { ↓
350
- model: Object
351
- }
352
- -->
@@ -3,7 +3,7 @@ module VueCrud
3
3
  class VuejsGenerator < Rails::Generators::Base
4
4
  source_root File.expand_path("../templates/assets", __FILE__)
5
5
 
6
- def copy_template_file
6
+ def copy_vuejs
7
7
  copy_file "javascripts/vue.js", "app/assets/javascripts/vue.js"
8
8
  end
9
9
  end
@@ -1,3 +1,3 @@
1
1
  module VueCrud
2
- VERSION = "0.1.10.1"
2
+ VERSION = "0.1.10.2"
3
3
  end
@@ -1,3 +1,9 @@
1
+ $.FE.prototype.reset = function () {
2
+ this.$el.html('');
3
+ }
4
+ $.FE.prototype.refresh = function () {
5
+ this.$el.html(this.$oel.val());
6
+ }
1
7
  $(document).ajaxStart(function() { Pace.restart(); });
2
8
  Vue.config.devtools = true;
3
9
  Pace.on('done', function() {
@@ -5,7 +11,7 @@ Pace.on('done', function() {
5
11
  });
6
12
  var event_hub = new Vue();
7
13
  function sleep(time) {
8
- return new Promise((resolve) => setTimeout(resolve, time));
14
+ return new Promise((resolve) => setTimeout(resolve, time));
9
15
  }
10
16
  function obj_to_json(obj) {
11
17
  return JSON.parse(JSON.stringify(obj));
@@ -66,7 +72,8 @@ function vueCRUD_init(params = {}) {
66
72
  suffix: '.json',
67
73
  column_type: 'card',
68
74
  countOfPage: 9,
69
- sortable: false
75
+ sortable: false,
76
+ info_url: window.location.pathname + '/info.json'
70
77
  }
71
78
  var options = $.extend(true, {}, default_options, params)
72
79
  Vue.directive('froala', {
@@ -109,6 +116,9 @@ function vueCRUD_init(params = {}) {
109
116
  }
110
117
  },
111
118
  mounted: function() {
119
+ event_hub.$on('update_error', function(error) {
120
+ this.error = error;
121
+ }.bind(this));
112
122
  event_hub.$on('update_action_name', function(action_name) {
113
123
  this.action_name = action_name;
114
124
  }.bind(this));
@@ -167,13 +177,13 @@ function vueCRUD_init(params = {}) {
167
177
  observeChanges: true,
168
178
  transition: 'fade down',
169
179
  onShow: function() {
170
- $('.needRefresh').froalaEditor('reset');
180
+ // $('.needRefresh').froalaEditor('reset');
171
181
  $(this).find('select.ui.dropdown').dropdown();
172
182
  $(this).find('.ui.checkbox').checkbox();
173
183
  if(typeof modalOpen !== "undefined") modalOpen(this);
174
184
  },
175
185
  onVisible: function() {
176
- $('.needRefresh').froalaEditor('refresh');
186
+ // $('.needRefresh').froalaEditor('refresh');
177
187
  },
178
188
  onHide: function() {
179
189
  event_hub.$emit('cancel_customMode');
@@ -267,7 +277,7 @@ function vueCRUD_init(params = {}) {
267
277
  if(confirm("Are you sure?") == true) {
268
278
  $.ajax({
269
279
  method: 'DELETE',
270
- url: that.info.url_prefix + '/' + that.model.id + options.suffix + location.search,
280
+ url: that.info.url_prefix + '/' + that.model.ID + options.suffix + location.search,
271
281
  success: function(res) {
272
282
  that.is_deleted = true;
273
283
  event_hub.$on('toggleRestoreSuccess', function() {
@@ -297,11 +307,10 @@ function vueCRUD_init(params = {}) {
297
307
  var that = this;
298
308
  $.ajax({
299
309
  method: 'PATCH',
300
- data: {
301
- model: that.model,
302
- },
303
- url: that.info.url_prefix + '/' + that.model.id + options.suffix + location.search,
310
+ data: JSON.stringify(that.model),
311
+ url: that.info.url_prefix + '/' + that.model.ID + options.suffix + location.search,
304
312
  beforeSend: function() {
313
+ console.log(JSON.stringify(that.model));
305
314
  event_hub.$emit('dimmerOn');
306
315
  $('.progress-bar').css('width', '0');
307
316
  },
@@ -316,7 +325,7 @@ function vueCRUD_init(params = {}) {
316
325
  });
317
326
  },
318
327
  error: function(res) {
319
- that.errors = res.responseJSON.errors;
328
+ event_hub.$emit('update_error', res.responseJSON.errors);
320
329
  event_hub.$emit('dimmerOff');
321
330
  }
322
331
  });
@@ -336,7 +345,6 @@ function vueCRUD_init(params = {}) {
336
345
  info: {
337
346
  url_prefix: '',
338
347
  titles: {},
339
- structure: {},
340
348
  model_attributes: []
341
349
  },
342
350
  errors: {},
@@ -346,7 +354,6 @@ function vueCRUD_init(params = {}) {
346
354
  searchQuery: getParameterByName("q"),
347
355
  filteredModelCount: null,
348
356
  is_calculating: false,
349
- model_prefix: getParameterByName("mp"),
350
357
  selected_attribute: getParameterByName("sa"),
351
358
  selected_text: getParameterByName("st")
352
359
  }
@@ -354,10 +361,10 @@ function vueCRUD_init(params = {}) {
354
361
  mounted: function() {
355
362
  var that = this;
356
363
  $.ajax({
357
- url: window.location.pathname + '/info' + options.suffix,
364
+ url: options.info_url,
358
365
  success: function(res) {
359
366
  that.info = res;
360
- that.model = obj_to_json(that.info.structure);
367
+ that.model = {};
361
368
  var default_url = that.info.url_prefix + location.search;
362
369
  default_url = removeParam("p", default_url);
363
370
  default_url = removeParam("q", default_url);
@@ -384,13 +391,10 @@ function vueCRUD_init(params = {}) {
384
391
  event_hub.$emit('update_progress', $(this).val());
385
392
  });
386
393
  $(document).delegate('.attribute_option', 'click', function(event) {
387
- var model_prefix = $('.attribute_select').find('.item.selected').attr('model_prefix');
388
394
  var selected_attribute = $('.attribute_select').find('.item.selected').attr('target') || "Attribute";
389
395
  var selected_text = $('.attribute_select').find('.item.selected').attr('target_text') || "欄位";
390
- that.model_prefix = model_prefix;
391
396
  that.selected_attribute = selected_attribute;
392
397
  that.selected_text = selected_text;
393
- updateQueryStringParam('mp', that.model_prefix);
394
398
  updateQueryStringParam('sa', that.selected_attribute);
395
399
  updateQueryStringParam('st', that.selected_text);
396
400
  });
@@ -420,12 +424,7 @@ function vueCRUD_init(params = {}) {
420
424
  var that = this;
421
425
  that.is_calculating = true;
422
426
  var result = that.models.filter(function (model) {
423
- if(that.model_prefix.length > 0) {
424
- return String(model[that.model_prefix][that.selected_attribute]).indexOf(that.searchQuery) !== -1;
425
- }
426
- else {
427
- return String(model[that.selected_attribute]).indexOf(that.searchQuery) !== -1;
428
- }
427
+ return String(model[that.selected_attribute]).indexOf(that.searchQuery) !== -1;
429
428
  });
430
429
 
431
430
  that.filteredModelCount = result.length
@@ -466,9 +465,7 @@ function vueCRUD_init(params = {}) {
466
465
  var that = this;
467
466
  $.ajax({
468
467
  method: 'POST',
469
- data: {
470
- model: that.model,
471
- },
468
+ data: JSON.stringify(that.model),
472
469
  url: that.info.url_prefix + options.suffix + location.search,
473
470
  success: function(res) {
474
471
  event_hub.$emit('toggleRestoreSuccess');
@@ -482,11 +479,10 @@ function vueCRUD_init(params = {}) {
482
479
  var that = this;
483
480
  $.ajax({
484
481
  method: 'POST',
485
- data: {
486
- model: that.model,
487
- },
482
+ data: JSON.stringify(that.model),
488
483
  url: that.info.url_prefix + options.suffix + location.search,
489
484
  beforeSend: function() {
485
+ console.log(JSON.stringify(that.model));
490
486
  event_hub.$emit('dimmerOn');
491
487
  $('.progress-bar').css('width', '0');
492
488
  },
@@ -494,11 +490,11 @@ function vueCRUD_init(params = {}) {
494
490
  event_hub.$emit('closeModal');
495
491
  event_hub.$emit('dimmerOff');
496
492
  that.errors = {};
497
- that.model = obj_to_json(that.info.structure);
493
+ that.model = {};
498
494
  that.models.push(res);
499
495
  },
500
496
  error: function(res) {
501
- that.errors = res.responseJSON.errors;
497
+ event_hub.$emit('update_error', res.responseJSON.errors);
502
498
  event_hub.$emit('dimmerOff');
503
499
  }
504
500
  });
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vue_crud
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.10.1
4
+ version: 0.1.10.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Donald Chiang
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-11-15 00:00:00.000000000 Z
11
+ date: 2016-11-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -69,14 +69,27 @@ files:
69
69
  - bin/setup
70
70
  - lib/.DS_Store
71
71
  - lib/generators/.DS_Store
72
+ - lib/generators/vue_crud/.DS_Store
73
+ - lib/generators/vue_crud/codemirror_generator.rb
72
74
  - lib/generators/vue_crud/example_generator.rb
75
+ - lib/generators/vue_crud/fa_generator.rb
73
76
  - lib/generators/vue_crud/froala_generator.rb
74
77
  - lib/generators/vue_crud/install_generator.rb
75
78
  - lib/generators/vue_crud/pace_generator.rb
76
79
  - lib/generators/vue_crud/semantic_generator.rb
77
80
  - lib/generators/vue_crud/sortable_generator.rb
81
+ - lib/generators/vue_crud/template_generator.rb
82
+ - lib/generators/vue_crud/templates/.DS_Store
83
+ - lib/generators/vue_crud/templates/assets/.DS_Store
84
+ - lib/generators/vue_crud/templates/assets/fonts/fa/FontAwesome.otf
85
+ - lib/generators/vue_crud/templates/assets/fonts/fa/fontawesome-webfont.eot
86
+ - lib/generators/vue_crud/templates/assets/fonts/fa/fontawesome-webfont.svg
87
+ - lib/generators/vue_crud/templates/assets/fonts/fa/fontawesome-webfont.ttf
88
+ - lib/generators/vue_crud/templates/assets/fonts/fa/fontawesome-webfont.woff
89
+ - lib/generators/vue_crud/templates/assets/fonts/fa/fontawesome-webfont.woff2
78
90
  - lib/generators/vue_crud/templates/assets/images/froala_editor/color_picker.png
79
91
  - lib/generators/vue_crud/templates/assets/images/semantic-ui/flags.png
92
+ - lib/generators/vue_crud/templates/assets/javascripts/codemirror.js
80
93
  - lib/generators/vue_crud/templates/assets/javascripts/froala_editor/froala_editor.js
81
94
  - lib/generators/vue_crud/templates/assets/javascripts/froala_editor/languages/en_gb.js
82
95
  - lib/generators/vue_crud/templates/assets/javascripts/froala_editor/languages/zh_cn.js
@@ -117,6 +130,22 @@ files:
117
130
  - lib/generators/vue_crud/templates/assets/javascripts/semantic-ui/transition.js
118
131
  - lib/generators/vue_crud/templates/assets/javascripts/sortable.js
119
132
  - lib/generators/vue_crud/templates/assets/javascripts/vue.js
133
+ - lib/generators/vue_crud/templates/assets/stylesheets/.DS_Store
134
+ - lib/generators/vue_crud/templates/assets/stylesheets/codemirror.css
135
+ - lib/generators/vue_crud/templates/assets/stylesheets/fa/_animated.scss
136
+ - lib/generators/vue_crud/templates/assets/stylesheets/fa/_bordered-pulled.scss
137
+ - lib/generators/vue_crud/templates/assets/stylesheets/fa/_core.scss
138
+ - lib/generators/vue_crud/templates/assets/stylesheets/fa/_fixed-width.scss
139
+ - lib/generators/vue_crud/templates/assets/stylesheets/fa/_icons.scss
140
+ - lib/generators/vue_crud/templates/assets/stylesheets/fa/_larger.scss
141
+ - lib/generators/vue_crud/templates/assets/stylesheets/fa/_list.scss
142
+ - lib/generators/vue_crud/templates/assets/stylesheets/fa/_mixins.scss
143
+ - lib/generators/vue_crud/templates/assets/stylesheets/fa/_path.scss
144
+ - lib/generators/vue_crud/templates/assets/stylesheets/fa/_rotated-flipped.scss
145
+ - lib/generators/vue_crud/templates/assets/stylesheets/fa/_screen-reader.scss
146
+ - lib/generators/vue_crud/templates/assets/stylesheets/fa/_stacked.scss
147
+ - lib/generators/vue_crud/templates/assets/stylesheets/fa/_variables.scss
148
+ - lib/generators/vue_crud/templates/assets/stylesheets/fa/font-awesome.scss
120
149
  - lib/generators/vue_crud/templates/assets/stylesheets/froala_editor/froala_editor.scss
121
150
  - lib/generators/vue_crud/templates/assets/stylesheets/froala_editor/froala_style.scss
122
151
  - lib/generators/vue_crud/templates/assets/stylesheets/froala_editor/plugins/char_counter.scss