brad-rails 0.0.1

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.
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ ZGNjODEwYjdjNzVjMGRiNjBhODQzNjdmNzEyYWU1NTNlNjMzNGYzNg==
5
+ data.tar.gz: !binary |-
6
+ MjMxNTE2YTdhNzY4MzU3ODBiM2Y0MDFhYzcxZmZjNWI3MzM0NWRjNA==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ Yjk3ODExYjM2ZmMzYzIyY2RhZTllYjlkMDAwN2FlNGIyMDdiZTQxNDQ1M2U0
10
+ ODMyMzkxZmVmOGNkZjRiYjFhNzc5MTFkMjg3N2Y3ZGQ3MjgyZDNhOTgyOGQz
11
+ OWFlNzg0MDEyMmE2ZWMyOTc1MzFhODYwMDAwODNiYWQ3YmM3Y2Y=
12
+ data.tar.gz: !binary |-
13
+ NTgzYWUxNDE1OWE4NWI4NzIzNjNlYmJjMTk4MWU4OTU4ZDkxZDE4MjYzZDg3
14
+ OTQ4NjAyNjllZTk3M2EwNTIyODY2MTM4YWU5M2U3NjhiMDM2YjUyNDdjNDll
15
+ ZjZhNmUyNmFmYWMyNTIzZTc3M2IzZTgxNWQ5MTkxOGYxNTcxYjE=
@@ -0,0 +1,16 @@
1
+ $(function () {
2
+ $('[data-toggle="brad-popover"]')
3
+ .popover({
4
+ content: function(){
5
+ return $($(this).attr("data-target")).find(".content").html();
6
+ },
7
+ title: function(){
8
+ return $($(this).attr("data-target")).find(".title").html();
9
+ },
10
+ html: true
11
+ })
12
+ .on("click", function(e){
13
+ e.preventDefault();
14
+ });
15
+ })
16
+
@@ -0,0 +1,26 @@
1
+ h3.popover-title {
2
+ font-weight: bold;
3
+ }
4
+
5
+ .brad.popover {
6
+ max-width: 80%;
7
+ }
8
+
9
+ .help-trigger {
10
+ text-decoration: none;
11
+ }
12
+
13
+ .brad .popover-content {
14
+ width: 100%;
15
+ table {
16
+ width: 100%;
17
+ border-collapse: collapse;
18
+ td, th {
19
+ vertical-align: top;
20
+ padding: 3px;
21
+ }
22
+ }
23
+ table, th, td {
24
+ border: 1px solid black;
25
+ }
26
+ }
@@ -0,0 +1,45 @@
1
+ module BradHelper
2
+
3
+ DEFAULT_OPTIONS = {
4
+ placement: 'left',
5
+ trigger: 'focus',
6
+ toggle: 'brad-popover',
7
+ template: '<div class="brad popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
8
+ }
9
+
10
+ def help_me_brad(key, opts = {})
11
+ if (content = t(key, default: '')).present?
12
+ button(key, opts) if opts.delete(:help_button).present?
13
+ contents(key, content)
14
+ end
15
+ end
16
+
17
+ def brad_data_options(key, data_opts = {})
18
+ DEFAULT_OPTIONS.merge(data_opts).merge({target: "##{id_for(key)}"})
19
+ end
20
+
21
+ private
22
+
23
+ def id_for(key)
24
+ key.hash
25
+ end
26
+
27
+ def button(key, opts)
28
+ button_html = opts.delete(:button_html).presence
29
+
30
+ haml_tag("a", {role: "button", href: "#", data: brad_data_options(key, opts), class: opts.fetch(:class, "help-trigger")}) do
31
+ if button_html
32
+ haml_concat button_html
33
+ else
34
+ haml_tag :i, '', class: 'fa fa-question-circle fa-lg text-info'
35
+ end
36
+ end
37
+ end
38
+
39
+ def contents(key, content)
40
+ haml_tag("div", {role: "brad-content", id: id_for(key), class: "brad-content hide"}) do
41
+ haml_tag "div", content[:title_html], class: "title"
42
+ haml_tag "div", content[:text_html].html_safe , class: "content"
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,6 @@
1
+ require "brad/version"
2
+
3
+ module Brad
4
+ class Engine < ::Rails::Engine
5
+ end
6
+ end
@@ -0,0 +1,3 @@
1
+ module Brad
2
+ VERSION = "0.0.1"
3
+ end
metadata ADDED
@@ -0,0 +1,140 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: brad-rails
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Stefano Guglielmetti
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-12-11 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rake
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ! '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ! '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: '1.7'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: '1.7'
41
+ - !ruby/object:Gem::Dependency
42
+ name: railties
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'
55
+ - !ruby/object:Gem::Dependency
56
+ name: haml
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '3.1'
62
+ - - <
63
+ - !ruby/object:Gem::Version
64
+ version: '5.0'
65
+ type: :runtime
66
+ prerelease: false
67
+ version_requirements: !ruby/object:Gem::Requirement
68
+ requirements:
69
+ - - ! '>='
70
+ - !ruby/object:Gem::Version
71
+ version: '3.1'
72
+ - - <
73
+ - !ruby/object:Gem::Version
74
+ version: '5.0'
75
+ - !ruby/object:Gem::Dependency
76
+ name: i18n
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ! '>='
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ type: :runtime
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ! '>='
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ - !ruby/object:Gem::Dependency
90
+ name: less-rails
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ! '>='
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ type: :runtime
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ! '>='
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
103
+ description: Brad is a simple tool for generating help popovers based on Boostrap
104
+ 3 Popovers
105
+ email:
106
+ - s.guglielmetti@ifad.org
107
+ executables: []
108
+ extensions: []
109
+ extra_rdoc_files: []
110
+ files:
111
+ - app/assets/javascripts/brad.js
112
+ - app/assets/stylesheets/brad.css.less
113
+ - app/helpers/brad_helper.rb
114
+ - lib/brad/rails.rb
115
+ - lib/brad/version.rb
116
+ homepage: https://github.com/ifad/brad-rails
117
+ licenses:
118
+ - MIT
119
+ metadata: {}
120
+ post_install_message:
121
+ rdoc_options: []
122
+ require_paths:
123
+ - lib
124
+ required_ruby_version: !ruby/object:Gem::Requirement
125
+ requirements:
126
+ - - ! '>='
127
+ - !ruby/object:Gem::Version
128
+ version: '0'
129
+ required_rubygems_version: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - ! '>='
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
134
+ requirements: []
135
+ rubyforge_project:
136
+ rubygems_version: 2.2.2
137
+ signing_key:
138
+ specification_version: 4
139
+ summary: I'd rather sink than call Brad for help!
140
+ test_files: []