friendly_extensions 0.0.65 → 0.0.66
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: beaab51fa38a34324b21d2870403e656aac2cb7b
|
4
|
+
data.tar.gz: 678e03682c2a930971c13bb10719e5ee8cc64255
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e125164853958b09b6be5ee0018aad8dfc6bd3c0f9f2e25fe23a495a7b1b9324195f9fa18d1badf903c3a10b698f789e9f01323c103d39398f410ba653d3c750
|
7
|
+
data.tar.gz: 3454e702a99f234eb593ad977c10e6c91389b86db06905e81617e4b478d2f57a66b6154b4ebf8114affb4128f978dc9aba0b59c4de2931d757d5bbbe5a21250c
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module FriendsFormsHelper
|
2
|
+
|
3
|
+
def fieldset(title, options = {}, &block)
|
4
|
+
if options[:if].nil? || options[:if] == true
|
5
|
+
data_string = " "
|
6
|
+
if options[:data]
|
7
|
+
options[:data].each {|d,v| data_string << "#{d}='v' "}
|
8
|
+
end
|
9
|
+
concat raw("<fieldset id='#{options[:id]}' #{data_string} class='shadow #{options[:mainclass]}' #{("style='height: %spx'" % options[:height]) if options[:height]} style='#{options[:mainstyle]}'>")
|
10
|
+
concat raw("<legend class='#{options[:class]}' style='#{options[:style]}'>#{title}</legend><div class='fieldset-content'>")
|
11
|
+
yield
|
12
|
+
concat raw("</div></fieldset>")
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def tooltip_box(tooltip)
|
17
|
+
"<span class='label-tooltip' title='#{tooltip}'> </span>".html_safe
|
18
|
+
end
|
19
|
+
|
20
|
+
def tooltip_content_box(name, options = {}, &block)
|
21
|
+
options[:default_class] ||= "icon-clue"
|
22
|
+
html = "<div class='tooltip-box'><div class='tooltip-box-label #{options[:default_class]}'>"
|
23
|
+
html << "#{name}<div class='tooltip-box-content #{options[:css]} box rounded shadow'>#{capture(&block)}</div></div></div>"
|
24
|
+
concat(html.html_safe)
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
@@ -0,0 +1,124 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
module FriendsLabeledFormHelper
|
3
|
+
|
4
|
+
def self.included(arg)
|
5
|
+
ActionView::Helpers::FormBuilder.send(:include, FriendsLabeledFormBuilder)
|
6
|
+
end
|
7
|
+
|
8
|
+
def label_tag_for(object_name, method, options = {})
|
9
|
+
label_name = (options[:label].blank? ? method.to_label : options[:label])
|
10
|
+
|
11
|
+
label_name += options[:append] unless options[:append].nil?
|
12
|
+
|
13
|
+
label_text = "<span class='label-text'>#{label_name}</span>"
|
14
|
+
|
15
|
+
if options[:errors]
|
16
|
+
label_text << tooltip_box(options[:errors].to_text)
|
17
|
+
elsif ((options[:label].blank? && options[:tooltip].blank?) || !options[:tooltip].blank?) && options[:tooltip] != false
|
18
|
+
tooltip = (options[:tooltip] || method.to_label(:show_tooltip => true))
|
19
|
+
if !tooltip.blank? && options[:hide_tooltip] != true
|
20
|
+
# Setting Tooltip format for display in Browsertooltip
|
21
|
+
# line breaks in unicode
|
22
|
+
tooltip = tooltip.gsub(/\n|\<br(\ )?(\/)?\>/, "
")
|
23
|
+
# single to double quotes
|
24
|
+
tooltip = tooltip.gsub("'", '"')
|
25
|
+
label_text << tooltip_box(tooltip)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
|
30
|
+
label_options = {}
|
31
|
+
label_options.merge!(:class => options[:class]) unless options[:class].blank?
|
32
|
+
label_options.merge!(:for => options[:for]) unless options[:for].blank?
|
33
|
+
label_options.merge!(:id => options[:id]) unless options[:id].blank?
|
34
|
+
|
35
|
+
return label(object_name, method, label_text.html_safe, label_options).html_safe
|
36
|
+
end
|
37
|
+
|
38
|
+
def labeled_text_field(object_name, method, options={})
|
39
|
+
|
40
|
+
if options[:id]
|
41
|
+
label_options = options.merge(:id => "label-#{options[:id]}")
|
42
|
+
else
|
43
|
+
label_options = options
|
44
|
+
end
|
45
|
+
|
46
|
+
html = label_tag_for(object_name, method, label_options)
|
47
|
+
if options[:password] && options.delete(:password)
|
48
|
+
html += password_field(object_name, method, options)
|
49
|
+
else
|
50
|
+
html += text_field(object_name, method, options)
|
51
|
+
end
|
52
|
+
return html.html_safe
|
53
|
+
end
|
54
|
+
|
55
|
+
def labeled_check_box(object_name, method, options={}, checked_value=1, unchecked_value=0)
|
56
|
+
method = method.to_s.to_sym
|
57
|
+
box_id = object_name.to_s+"_"+method.to_s
|
58
|
+
|
59
|
+
html = "<div class='cf labeled-check-box'>"
|
60
|
+
html += "<div class='checkbox-container'>#{check_box(object_name, method, options.merge!(:id => box_id), checked_value, unchecked_value)}</div>"
|
61
|
+
html += "<div class='checkbox-label-container'>#{label_tag_for(object_name, method, :label => options[:label], :tooltip => options[:tooltip], :class => "checkbox-label", :for => box_id, :errors => options[:errors])}</div>"
|
62
|
+
html += "</div>"
|
63
|
+
|
64
|
+
return html.html_safe
|
65
|
+
end
|
66
|
+
|
67
|
+
|
68
|
+
|
69
|
+
def labeled_radio_button(object_name, method, value, options = {})
|
70
|
+
options[:id] ||= "radio-#{method.to_s}-#{value.inspect}"
|
71
|
+
options[:label] ||= method.to_label
|
72
|
+
html = "<div class='cf labeled-radio-button'>"
|
73
|
+
html << radio_button(object_name, method, value, options.except(:label, :errors))
|
74
|
+
html << " "
|
75
|
+
html << label_tag_for(object_name, method, {:label => options[:label], :for => options[:id]})
|
76
|
+
html << "</div>"
|
77
|
+
return raw(html)
|
78
|
+
end
|
79
|
+
|
80
|
+
end
|
81
|
+
|
82
|
+
module FriendsLabeledFormBuilder
|
83
|
+
|
84
|
+
def label_tag_for(method, options = {})
|
85
|
+
@template.label_tag_for(@object_name, method, options)
|
86
|
+
end
|
87
|
+
|
88
|
+
|
89
|
+
def labeled_radio_button(method, value, options ={})
|
90
|
+
options[:checked] = (object.send(method) == value) if options[:checked].nil?
|
91
|
+
|
92
|
+
options[:class] ||= ""
|
93
|
+
options[:class] << " error" if ((!object.errors[method.to_sym].empty? && !object.new_record?) rescue false )
|
94
|
+
options[:errors] = ((object.errors[method.to_sym].empty? ? nil : object.errors[method.to_sym]) rescue false )
|
95
|
+
|
96
|
+
@template.labeled_radio_button(@object_name, method, value, options)
|
97
|
+
end
|
98
|
+
|
99
|
+
|
100
|
+
def labeled_check_box(method, options = {}, checked_value=1, unchecked_value=0)
|
101
|
+
|
102
|
+
options[:class] ||= ""
|
103
|
+
options[:class] << " error" if ((!object.errors[method.to_sym].empty? && !object.new_record?) rescue false )
|
104
|
+
options[:errors] = ((object.errors[method.to_sym].empty? ? nil : object.errors[method.to_sym]) rescue false )
|
105
|
+
|
106
|
+
options[:checked] ||= ((object.send(method) rescue false) || options[:checked])
|
107
|
+
@template.labeled_check_box(@object_name, method, options, checked_value, unchecked_value)
|
108
|
+
end
|
109
|
+
|
110
|
+
|
111
|
+
def labeled_text_field(method, options = {})
|
112
|
+
|
113
|
+
options[:value] ||= (object.send(method) rescue nil )
|
114
|
+
options[:class] ||= ""
|
115
|
+
options[:class] << " error" if ((!object.errors[method.to_sym].empty? && !object.new_record?) rescue false )
|
116
|
+
|
117
|
+
options[:errors] = ((object.errors[method.to_sym].empty? ? nil : object.errors[method.to_sym]) rescue false )
|
118
|
+
|
119
|
+
@template.labeled_text_field(@object_name, method, options)
|
120
|
+
end
|
121
|
+
|
122
|
+
end
|
123
|
+
|
124
|
+
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
class FriendsLabel < ActiveRecord::Base
|
3
|
+
|
4
|
+
validates_uniqueness_of :attribute_name
|
5
|
+
|
6
|
+
|
7
|
+
|
8
|
+
labels = {}
|
9
|
+
|
10
|
+
if self.table_exists?
|
11
|
+
concept_labels = FriendsLabel.all
|
12
|
+
concept_labels.each {|l| labels.merge!(l.attribute_name => {:label => l.label, :tooltip => l.tooltip, :docu_tooltip => l.tooltip_docu})}
|
13
|
+
end
|
14
|
+
|
15
|
+
LABELS = labels
|
16
|
+
|
17
|
+
|
18
|
+
def is_unset?
|
19
|
+
return (!(self.attribute_name == self.label)).to_s
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
states = [
|
2
|
+
"Baden-Württemberg" ,
|
3
|
+
"Bayern" ,
|
4
|
+
"Berlin " ,
|
5
|
+
"Brandenburg" ,
|
6
|
+
"Bremen " ,
|
7
|
+
"Hamburg " ,
|
8
|
+
"Hessen" ,
|
9
|
+
"Mecklenburg-Vorpommern",
|
10
|
+
"Niedersachsen" ,
|
11
|
+
"Nordrhein-Westfalen" ,
|
12
|
+
"Rheinland-Pfalz" ,
|
13
|
+
"Saarland" ,
|
14
|
+
"Sachsen" ,
|
15
|
+
"Sachsen-Anhalt" ,
|
16
|
+
"Schleswig-Holstein" ,
|
17
|
+
"Thüringen"
|
18
|
+
]
|
19
|
+
|
20
|
+
GERMAN_STATES = states.map {|s| [s, states.index(s)+1]}
|
21
|
+
german_states_hash = {}
|
22
|
+
GERMAN_STATES.each {|s| german_states_hash.merge!(s[1] => s[0])}
|
23
|
+
|
24
|
+
GERMAN_STATES_HASH = german_states_hash
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: friendly_extensions
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.66
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Florian Eck
|
@@ -31,6 +31,11 @@ executables: []
|
|
31
31
|
extensions: []
|
32
32
|
extra_rdoc_files: []
|
33
33
|
files:
|
34
|
+
- app/helpers/friends_forms_helper.rb
|
35
|
+
- app/helpers/friends_labeled_form_helper.rb
|
36
|
+
- app/models/friends_label.rb
|
37
|
+
- config/initializers/values.rb
|
38
|
+
- db/migrate/20140326005600_create_labels.rb
|
34
39
|
- lib/alphanumeric.rb
|
35
40
|
- lib/array.rb
|
36
41
|
- lib/boolean.rb
|