vue_crud 0.1.10.1 → 0.1.10.2
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 +4 -4
- data/.DS_Store +0 -0
- data/lib/.DS_Store +0 -0
- data/lib/generators/.DS_Store +0 -0
- data/lib/generators/vue_crud/.DS_Store +0 -0
- data/lib/generators/vue_crud/codemirror_generator.rb +11 -0
- data/lib/generators/vue_crud/example_generator.rb +1 -1
- data/lib/generators/vue_crud/fa_generator.rb +11 -0
- data/lib/generators/vue_crud/froala_generator.rb +1 -1
- data/lib/generators/vue_crud/install_generator.rb +28 -6
- data/lib/generators/vue_crud/pace_generator.rb +1 -1
- data/lib/generators/vue_crud/sortable_generator.rb +1 -1
- data/lib/generators/vue_crud/template_generator.rb +10 -0
- data/lib/generators/vue_crud/templates/.DS_Store +0 -0
- data/lib/generators/vue_crud/templates/assets/.DS_Store +0 -0
- data/lib/generators/vue_crud/templates/assets/fonts/fa/FontAwesome.otf +0 -0
- data/lib/generators/vue_crud/templates/assets/fonts/fa/fontawesome-webfont.eot +0 -0
- data/lib/generators/vue_crud/templates/assets/fonts/fa/fontawesome-webfont.svg +2671 -0
- data/lib/generators/vue_crud/templates/assets/fonts/fa/fontawesome-webfont.ttf +0 -0
- data/lib/generators/vue_crud/templates/assets/fonts/fa/fontawesome-webfont.woff +0 -0
- data/lib/generators/vue_crud/templates/assets/fonts/fa/fontawesome-webfont.woff2 +0 -0
- data/lib/generators/vue_crud/templates/assets/javascripts/codemirror.js +9096 -0
- data/lib/generators/vue_crud/templates/assets/stylesheets/.DS_Store +0 -0
- data/lib/generators/vue_crud/templates/assets/stylesheets/codemirror.css +341 -0
- data/lib/generators/vue_crud/templates/assets/stylesheets/fa/_animated.scss +34 -0
- data/lib/generators/vue_crud/templates/assets/stylesheets/fa/_bordered-pulled.scss +25 -0
- data/lib/generators/vue_crud/templates/assets/stylesheets/fa/_core.scss +12 -0
- data/lib/generators/vue_crud/templates/assets/stylesheets/fa/_fixed-width.scss +6 -0
- data/lib/generators/vue_crud/templates/assets/stylesheets/fa/_icons.scss +789 -0
- data/lib/generators/vue_crud/templates/assets/stylesheets/fa/_larger.scss +13 -0
- data/lib/generators/vue_crud/templates/assets/stylesheets/fa/_list.scss +19 -0
- data/lib/generators/vue_crud/templates/assets/stylesheets/fa/_mixins.scss +60 -0
- data/lib/generators/vue_crud/templates/assets/stylesheets/fa/_path.scss +15 -0
- data/lib/generators/vue_crud/templates/assets/stylesheets/fa/_rotated-flipped.scss +20 -0
- data/lib/generators/vue_crud/templates/assets/stylesheets/fa/_screen-reader.scss +5 -0
- data/lib/generators/vue_crud/templates/assets/stylesheets/fa/_stacked.scss +20 -0
- data/lib/generators/vue_crud/templates/assets/stylesheets/fa/_variables.scss +800 -0
- data/lib/generators/vue_crud/templates/assets/stylesheets/fa/font-awesome.scss +18 -0
- data/lib/generators/vue_crud/templates/vue_crud.html +0 -15
- data/lib/generators/vue_crud/vuejs_generator.rb +1 -1
- data/lib/vue_crud/version.rb +1 -1
- data/vendor/assets/javascripts/vue_crud.js +27 -31
- 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
|
-
-->
|
data/lib/vue_crud/version.rb
CHANGED
@@ -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
|
-
|
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.
|
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
|
-
|
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
|
-
|
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:
|
364
|
+
url: options.info_url,
|
358
365
|
success: function(res) {
|
359
366
|
that.info = res;
|
360
|
-
that.model =
|
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
|
-
|
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 =
|
493
|
+
that.model = {};
|
498
494
|
that.models.push(res);
|
499
495
|
},
|
500
496
|
error: function(res) {
|
501
|
-
|
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.
|
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-
|
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
|