kablam 0.3.2 → 0.3.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/kablam/forms.js +3 -2
- data/app/views/kablam_forms/_form_generator.html.erb +2 -1
- data/app/views/kablam_forms/_kablam_form.html.erb +1 -1
- data/app/views/kablam_forms/fields/_datetime.html.erb +10 -0
- data/kablam.gemspec +1 -1
- data/lib/generators/kablam/forms_generator.rb +1 -1
- data/lib/generators/kablam/templates/kablam.rb +8 -3
- data/lib/kablam.rb +1 -0
- data/lib/kablam/kablam_record.rb +11 -2
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 84d991bbff91946fb3cecd7525ad6daf7677bd4f3a7179d5ca2eee8e00fb769f
|
4
|
+
data.tar.gz: 409bdd54c5f61ce048bb41b177ba043de88168f19e83cb38cc666e42c37dd4f5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1ef896aff4f28a7762f449775b61075c400e6cf9a7f303c06e43f27d03c2ffc39a7aba8f4dc7bbeae4b9d97a50fd3a547e9001cbcfc1c895b73e3cc279f65f9f
|
7
|
+
data.tar.gz: 487dee532507b0325726c8944e4e5dbc20e5c3d23dcd463fe5dceef5f4f5275e27e75c5ade57472c7e5e41377d3609220b5c065bc41ff84a62eb5d72607bee56
|
@@ -50,6 +50,8 @@ function initFileUploads(opt) {
|
|
50
50
|
fakeFileUpload.className = 'kablam_fakefile';
|
51
51
|
var upload_icon = document.createElement('i');
|
52
52
|
upload_icon.className = opt['icon'];
|
53
|
+
upload_icon.innerText = "Upload file here..."
|
54
|
+
|
53
55
|
var input = document.createElement('input');
|
54
56
|
input.type = "text";
|
55
57
|
input.className = opt['class'];
|
@@ -66,7 +68,6 @@ function initFileUploads(opt) {
|
|
66
68
|
var clone = fakeFileUpload.cloneNode(true);
|
67
69
|
x[i].parentElement.appendChild(clone);
|
68
70
|
x[i].relatedElement = clone.getElementsByTagName('input')[0];
|
69
|
-
|
70
71
|
x[i].onchange = x[i].onmouseout = function () {
|
71
72
|
path = this.value
|
72
73
|
path = path.replace( /fakepath\\/, '...' );
|
@@ -137,7 +138,7 @@ function submitRemove(form_id){
|
|
137
138
|
});
|
138
139
|
}
|
139
140
|
|
140
|
-
function
|
141
|
+
function submitRedirect(form_id){
|
141
142
|
var form = document.getElementById(form_id),
|
142
143
|
path = document.getElementById(form_id+'_redirect').value;
|
143
144
|
form.addEventListener("ajax:success", function(e) {
|
@@ -26,8 +26,9 @@
|
|
26
26
|
<% classyy = @model.prep_form_field[field] %>
|
27
27
|
<% next if classyy == :exclude %>
|
28
28
|
<% input = obj.input(field) %>
|
29
|
+
<% opt = obj.opt_for(field) %>
|
29
30
|
<%= (render "kablam_forms/fields/pretext", classes: classes, input: input) if input[:pretext].present? %>
|
30
|
-
<%= render "kablam_forms/fields/#{classyy.to_s}", classes: classes, input: input, f: f %>
|
31
|
+
<%= render "kablam_forms/fields/#{classyy.to_s}", classes: classes, input: input, f: f, opt: opt %>
|
31
32
|
<% end %>
|
32
33
|
<%= f.submit(
|
33
34
|
data: { disable_with: 'Submitting' },
|
@@ -11,7 +11,7 @@
|
|
11
11
|
scrolltop = scrolltop || false
|
12
12
|
%>
|
13
13
|
|
14
|
-
<%= render "kablam_forms/form_generator", classes: classes, obj: obj, target: target, hidden: hidden, ajax_remove: ajax_remove, redirect: redirect, scrolltop: scrolltop
|
14
|
+
<%= render "kablam_forms/form_generator", classes: classes, obj: obj, target: target, hidden: hidden, ajax_remove: ajax_remove, redirect: redirect, scrolltop: scrolltop %>
|
15
15
|
|
16
16
|
|
17
17
|
|
@@ -0,0 +1,10 @@
|
|
1
|
+
<div class="<%= classes[:form_group] %>">
|
2
|
+
<label for="<%= input[:name] %>" class="<%= classes[:field_label] %>"><%= raw input[:label] %></label>
|
3
|
+
<small id="<%= input[:name] %>-desc" class="<%= classes[:field_hint] %>"><%= raw input[:hint] %></small>
|
4
|
+
<% case Kablam.datetime_handler %>
|
5
|
+
<% when "stimulus-flatpickr" %>
|
6
|
+
<%= f.text_field input[:field], placeholder: input[:placeholder], class: classes[:input] || "", id: input[:id] || "", data: {controller: "flatpickr"}.merge((opt[:data]||{})) %>
|
7
|
+
<% else %>
|
8
|
+
<input id="<%= input[:id] if input[:id].present? %>" name="<%= input[:name] %>" class="<%= classes[:input] %>" type="datetime-local" value="<%= input[:value] %>" style="box-sizing: border-box;">
|
9
|
+
<% end %>
|
10
|
+
</div>
|
data/kablam.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'kablam'
|
3
|
-
s.version = '0.3.
|
3
|
+
s.version = '0.3.3'
|
4
4
|
s.date = Time.now.strftime("%Y-%m-%d")
|
5
5
|
s.summary = "Kablam! All the things you hate. But Faster."
|
6
6
|
s.description = "Gem to make development of everything in rails faster. Form creation & styling, all the resource routes, even actioncable messaging!\n {NOTE: In Development. NOT READY FOR TESTING.}"
|
@@ -7,9 +7,13 @@ Kablam.setup do |config|
|
|
7
7
|
# _ _ ____ ___ _ ____ _ _
|
8
8
|
# |_/ |__| |__] | |__| |\/|
|
9
9
|
# | \_ | | |__] |___ | | | |
|
10
|
-
#
|
11
|
-
#
|
12
|
-
#
|
10
|
+
# ===========================================================
|
11
|
+
# The configurations below are primarily classes. Except
|
12
|
+
# for the datetime_handler.
|
13
|
+
# ===========================================================
|
14
|
+
# .___
|
15
|
+
# [__ _ ._.._ _ Classes &
|
16
|
+
# | (_)[ [ | ) Handlers
|
13
17
|
# ===========================================================
|
14
18
|
|
15
19
|
# These classes are used for the labels/group-wrappers, etc.
|
@@ -27,6 +31,7 @@ Kablam.setup do |config|
|
|
27
31
|
config.dropdown_select = "ba bg-white b--black-20 pa2 mb2 db w-100"
|
28
32
|
config.file_upload = "ba b--black-20 pa5 mb2 db w-100 b--dashed b--red"
|
29
33
|
config.file_upload_icon = "fa fa-upload absolute left-0 right-0 ml-auto mr-auto top-2 mt3 f1 black-05"
|
34
|
+
config.datetime_handler = nil
|
30
35
|
|
31
36
|
# Checkbox Classes
|
32
37
|
config.checkbox_group_wrapper = "" # Wrapper around all checkboxes
|
data/lib/kablam.rb
CHANGED
data/lib/kablam/kablam_record.rb
CHANGED
@@ -20,12 +20,14 @@ module Kablam
|
|
20
20
|
kablam_scope = "kablam_forms.#{self.class.table_name}.#{field}"
|
21
21
|
{
|
22
22
|
name: "#{form_name}[#{field}]",
|
23
|
+
field: field.to_sym,
|
23
24
|
value: send(field),
|
24
25
|
label: I18n.translate(:label, scope: kablam_scope, default: ""),
|
25
26
|
pretext: I18n.translate(:pretext, scope: kablam_scope, default: ""),
|
26
27
|
placeholder: I18n.translate(:placeholder, scope: kablam_scope, default: ""),
|
27
28
|
hint: I18n.translate(:hint, scope: kablam_scope, default: ""),
|
28
|
-
choices: self.class.choices(field, I18n.locale)
|
29
|
+
choices: self.class.choices(field, I18n.locale),
|
30
|
+
onchange: I18n.translate(:onchange, scope: kablam_scope, default: "")
|
29
31
|
}
|
30
32
|
end
|
31
33
|
|
@@ -33,6 +35,13 @@ module Kablam
|
|
33
35
|
nil
|
34
36
|
end
|
35
37
|
|
38
|
+
def opt_for(field)
|
39
|
+
Hash[self.class.attribute_names.map{|x| [x,{}]}].merge(self.kablam_options)[field]
|
40
|
+
end
|
41
|
+
|
42
|
+
def kablam_options
|
43
|
+
{}
|
44
|
+
end
|
36
45
|
|
37
46
|
def slack_message
|
38
47
|
puts "You have not setup slack message for this model.\nto prepare a slack_message, please add method 'slack_message'\nwith content of a hash with keys [:create, :update, :destroy].\n\nFor each key, prepare a value hash like this:\n ...\n create: {\n pretext: 'some text',\n author: 'some name',\n title: 'some title',\n text: ''\n },\n ...\n\nHope this helps!!"
|
@@ -77,7 +86,7 @@ module Kablam
|
|
77
86
|
end
|
78
87
|
|
79
88
|
def self.fields
|
80
|
-
result = self.attribute_names - ["id", "created_at", "updated_at"]
|
89
|
+
result = self.attribute_names - ["id", "created_at", "updated_at", "destroyed_at"]
|
81
90
|
end
|
82
91
|
|
83
92
|
def self.field_set
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kablam
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sergio Rivas
|
@@ -88,6 +88,7 @@ files:
|
|
88
88
|
- app/views/kablam_forms/fields/.DS_Store
|
89
89
|
- app/views/kablam_forms/fields/_checkbox_array.html.erb
|
90
90
|
- app/views/kablam_forms/fields/_checkbox_boolean.html.erb
|
91
|
+
- app/views/kablam_forms/fields/_datetime.html.erb
|
91
92
|
- app/views/kablam_forms/fields/_file_upload.html.erb
|
92
93
|
- app/views/kablam_forms/fields/_hidden.html.erb
|
93
94
|
- app/views/kablam_forms/fields/_input.html.erb
|