kablam 0.0.4 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.DS_Store +0 -0
- data/app/assets/javascripts/kablam/ajax.js +531 -0
- data/app/assets/javascripts/kablam/forms.js +167 -0
- data/app/assets/javascripts/kablam/messaging.js +95 -0
- data/app/assets/stylesheets/kablam.scss +25 -0
- data/app/channels/chat_channel.rb +12 -0
- data/app/controllers/concerns/api_settings.rb +41 -0
- data/app/controllers/data_controller.rb +133 -0
- data/app/views/data/create.js.erb +10 -0
- data/app/views/data/destroy.js.erb +12 -0
- data/app/views/data/form.html.erb +1 -0
- data/app/views/data/undo.js.erb +2 -0
- data/app/views/data/update.js.erb +9 -0
- data/app/views/kablam_forms/_form_generator.html.erb +1 -1
- data/app/views/kablam_forms/fields/_checkbox_array.html.erb +3 -3
- data/app/views/kablam_forms/fields/_checkbox_boolean.html.erb +3 -3
- data/app/views/kablam_forms/fields/_file_upload.html.erb +2 -2
- data/app/views/kablam_forms/fields/_input.html.erb +2 -2
- data/app/views/kablam_forms/fields/_multi_inputs.html.erb +2 -2
- data/app/views/kablam_forms/fields/_pretext.html.erb +1 -1
- data/app/views/kablam_forms/fields/_select.html.erb +3 -3
- data/app/views/kablam_forms/fields/_text.html.erb +3 -3
- data/kablam.gemspec +2 -1
- data/lib/generators/kablam/USAGE +5 -2
- data/lib/generators/kablam/install_generator.rb +37 -0
- data/lib/generators/kablam/messaging_generator.rb +40 -0
- data/lib/generators/kablam/templates/chat.rb +44 -0
- data/lib/generators/kablam/templates/kablam.rb +45 -0
- data/lib/generators/kablam/templates/message.rb +53 -0
- data/lib/kablam.rb +35 -0
- data/lib/kablam/forms.rb +26 -21
- data/lib/kablam/kablam_record.rb +61 -0
- metadata +32 -2
- data/lib/generators/kablam/kablam_generator.rb +0 -12
data/lib/kablam/forms.rb
CHANGED
@@ -2,29 +2,34 @@ module Kablam
|
|
2
2
|
class Forms
|
3
3
|
def self.default_classes
|
4
4
|
{
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
5
|
+
# Generally used classes for everything.
|
6
|
+
form_wrapper: Kablam.form_wrapper,
|
7
|
+
submit_button: Kablam.submit_button,
|
8
|
+
form_group: Kablam.form_group,
|
9
|
+
field_label: Kablam.field_label,
|
10
|
+
field_hint: Kablam.field_hint,
|
11
|
+
pretext_wrapper: Kablam.pretext_wrapper,
|
12
|
+
pretext: Kablam.pretext,
|
12
13
|
|
13
14
|
# Classes for the acutal from field input/select html items:
|
14
|
-
input:
|
15
|
-
textarea:
|
16
|
-
select:
|
17
|
-
file_upload:
|
18
|
-
file_upload_icon:
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
15
|
+
input: Kablam.input,
|
16
|
+
textarea: Kablam.textarea,
|
17
|
+
select: Kablam.dropdown_select,
|
18
|
+
file_upload: Kablam.file_upload,
|
19
|
+
file_upload_icon: Kablam.file_upload_icon,
|
20
|
+
|
21
|
+
# Classes for checkboxes
|
22
|
+
checkbox_group_wrapper: Kablam.checkbox_group_wrapper,
|
23
|
+
checkbox_wrapper: Kablam.checkbox_wrapper,
|
24
|
+
checkbox_label: Kablam.checkbox_label,
|
25
|
+
checkbox: Kablam.checkbox,
|
26
|
+
|
27
|
+
# Classes for Multi-Inputs
|
28
|
+
multi_input_group: Kablam.multi_input_group,
|
29
|
+
multi_add_button: Kablam.multi_add_button,
|
30
|
+
multi_remove_button: Kablam.multi_remove_button,
|
31
|
+
multi_add_icon: Kablam.multi_add_icon,
|
32
|
+
multi_remove_icon: Kablam.multi_remove_icon
|
28
33
|
}
|
29
34
|
end
|
30
35
|
end
|
data/lib/kablam/kablam_record.rb
CHANGED
@@ -2,6 +2,10 @@ module Kablam
|
|
2
2
|
class Kablam::KablamRecord < ActiveRecord::Base
|
3
3
|
self.abstract_class = true
|
4
4
|
|
5
|
+
def html_id
|
6
|
+
"#{model_name.singular}-#{id}"
|
7
|
+
end
|
8
|
+
|
5
9
|
def undoable?
|
6
10
|
attributes.include?("destroyed_at")
|
7
11
|
end
|
@@ -11,6 +15,63 @@ module Kablam
|
|
11
15
|
"updated_at").reject{|k,v|v.blank?}
|
12
16
|
end
|
13
17
|
|
18
|
+
def input(field)
|
19
|
+
form_name = self.class.to_s.underscore
|
20
|
+
kablam_scope = "kablam_forms.#{self.class.table_name}.#{field}"
|
21
|
+
{
|
22
|
+
name: "#{form_name}[#{field}]",
|
23
|
+
value: send(field),
|
24
|
+
label: I18n.translate(:label, scope: kablam_scope, default: ""),
|
25
|
+
pretext: I18n.translate(:pretext, scope: kablam_scope, default: ""),
|
26
|
+
placeholder: I18n.translate(:placeholder, scope: kablam_scope, default: ""),
|
27
|
+
hint: I18n.translate(:hint, scope: kablam_scope, default: ""),
|
28
|
+
choices: self.class.choices(field, I18n.locale)
|
29
|
+
}
|
30
|
+
end
|
31
|
+
|
32
|
+
def self.slack_hook
|
33
|
+
nil
|
34
|
+
end
|
35
|
+
|
36
|
+
|
37
|
+
def slack_message
|
38
|
+
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!!"
|
39
|
+
{create: {}, update: {}, destroy: {}}
|
40
|
+
end
|
41
|
+
|
42
|
+
def self.set_fields
|
43
|
+
puts "You haven't setup Kablam forms for #{self.to_s} yet!"
|
44
|
+
puts "create a method in your model called:"
|
45
|
+
puts ""
|
46
|
+
puts "def self.set_fields"
|
47
|
+
puts "# Then setup the roles of each column name"
|
48
|
+
puts "All the types: checkbox_array, checkbox_boolean, file_upload, hidden, input, multi_inputs, select, text, exclude"
|
49
|
+
puts "Example:"
|
50
|
+
puts "{"
|
51
|
+
puts " select: [\"role\", \"column_2\"],"
|
52
|
+
puts " file_upload: ['column_3'],"
|
53
|
+
puts " exclude: [\"id\", \"created_at\", \"user_id\", \"updated_at\"]"
|
54
|
+
puts "}"
|
55
|
+
|
56
|
+
{}
|
57
|
+
end
|
58
|
+
|
59
|
+
def self.form_choices
|
60
|
+
puts "For fields w/ choices (select, checkboxes, etc.)"
|
61
|
+
puts "You can setup the values/choices by creating a method:"
|
62
|
+
puts "def self.form_choices"
|
63
|
+
puts "example:"
|
64
|
+
puts "
|
65
|
+
{
|
66
|
+
\"field_name\" => [{value: \"value\",
|
67
|
+
label: {
|
68
|
+
\"locale\"=> \"locale_label\"
|
69
|
+
}
|
70
|
+
}]
|
71
|
+
}"
|
72
|
+
{}
|
73
|
+
end
|
74
|
+
|
14
75
|
def identifier
|
15
76
|
send(self.class.fields.first)
|
16
77
|
end
|
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.0.
|
4
|
+
version: 0.0.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sergio Rivas
|
@@ -38,6 +38,20 @@ dependencies:
|
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: 5.1.1
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: puma
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
41
55
|
description: Gem to make development of everything in rails even faster.
|
42
56
|
email: sergiorivas@163.com
|
43
57
|
executables: []
|
@@ -49,7 +63,19 @@ files:
|
|
49
63
|
- LICENSE
|
50
64
|
- README.md
|
51
65
|
- app/.DS_Store
|
66
|
+
- app/assets/javascripts/kablam/ajax.js
|
67
|
+
- app/assets/javascripts/kablam/forms.js
|
68
|
+
- app/assets/javascripts/kablam/messaging.js
|
69
|
+
- app/assets/stylesheets/kablam.scss
|
70
|
+
- app/channels/chat_channel.rb
|
71
|
+
- app/controllers/concerns/api_settings.rb
|
72
|
+
- app/controllers/data_controller.rb
|
52
73
|
- app/views/.DS_Store
|
74
|
+
- app/views/data/create.js.erb
|
75
|
+
- app/views/data/destroy.js.erb
|
76
|
+
- app/views/data/form.html.erb
|
77
|
+
- app/views/data/undo.js.erb
|
78
|
+
- app/views/data/update.js.erb
|
53
79
|
- app/views/kablam_forms/.DS_Store
|
54
80
|
- app/views/kablam_forms/_form_generator.html.erb
|
55
81
|
- app/views/kablam_forms/_kablam_form.html.erb
|
@@ -66,7 +92,11 @@ files:
|
|
66
92
|
- kablam.gemspec
|
67
93
|
- lib/generators/kablam/USAGE
|
68
94
|
- lib/generators/kablam/forms_generator.rb
|
69
|
-
- lib/generators/kablam/
|
95
|
+
- lib/generators/kablam/install_generator.rb
|
96
|
+
- lib/generators/kablam/messaging_generator.rb
|
97
|
+
- lib/generators/kablam/templates/chat.rb
|
98
|
+
- lib/generators/kablam/templates/kablam.rb
|
99
|
+
- lib/generators/kablam/templates/message.rb
|
70
100
|
- lib/generators/kablam/views_generator.rb
|
71
101
|
- lib/kablam.rb
|
72
102
|
- lib/kablam/engine.rb
|
@@ -1,12 +0,0 @@
|
|
1
|
-
require 'yaml'
|
2
|
-
|
3
|
-
module Kablam
|
4
|
-
module Generators
|
5
|
-
class KablamGenerator < Rails::Generators::NamedBase
|
6
|
-
include Rails::Generators::ResourceHelpers
|
7
|
-
namespace "kablam"
|
8
|
-
source_root File.expand_path('../templates', __FILE__)
|
9
|
-
# argument :name, :type => :string, :default => "en"
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|