kablam 0.0.4 → 0.0.8
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/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
|