sinatra-hexacta 0.8.8 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/sinatra/extensions/init.rb +1 -0
- data/lib/sinatra/extensions/menu.rb +27 -0
- data/lib/sinatra/helpers/init.rb +1 -0
- data/lib/sinatra/helpers/menu.rb +15 -0
- data/lib/sinatra/views/menu/menu.slim +42 -0
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6884934e4cc519d87597493303f9a125118d60297589eb52a70f12a17646a83d
|
4
|
+
data.tar.gz: aa29474ab59cac85241982115645260e091cae81d1a26478d6b7b09e928978a9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 39d714392cac7c9f2b0502530aa1041c7a8b6b1d7f41c7adcf574e7f96c3195f96159d3f539bcdcb0bbd5309a3a737324660ba5002892b0d59556b9aef59ce8d
|
7
|
+
data.tar.gz: 97812801c6f809c9265092fc445c79f6fa577adef853da00704647af74749e79daa941a217160c07797ab0d1f3456254c39351e1fd368fee77145971195d6ed5
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
class MenuBuilder
|
3
|
+
|
4
|
+
def new
|
5
|
+
@elements = []
|
6
|
+
end
|
7
|
+
|
8
|
+
def dropdown(text,icon,submenu)
|
9
|
+
@elements << { :type => 'dropdown' , :text => text, :icon => icon, :link => submenu }
|
10
|
+
return self
|
11
|
+
end
|
12
|
+
|
13
|
+
def link(text,icon,link,target)
|
14
|
+
@elements << { :type => 'dropdown' , :text => text, :icon => icon, :link => link, :target => target }
|
15
|
+
return self
|
16
|
+
end
|
17
|
+
|
18
|
+
def modal(text,icon,link)
|
19
|
+
@elements << { :type => 'modal' , :text => text, :icon => icon, :link => link }
|
20
|
+
return self
|
21
|
+
end
|
22
|
+
|
23
|
+
def build
|
24
|
+
@elements
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
data/lib/sinatra/helpers/init.rb
CHANGED
@@ -0,0 +1,15 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
module Sinatra
|
3
|
+
module MenuHelper
|
4
|
+
extend Hexacta
|
5
|
+
|
6
|
+
def menu(option_hash)
|
7
|
+
slim "#{Hexacta::GEM_FILE_DIR}/menu/menu".to_sym, locals: option_hash
|
8
|
+
end
|
9
|
+
|
10
|
+
setup_dir("/app/views/#{Hexacta::GEM_FILE_DIR}/menu")
|
11
|
+
copy_all_files("/lib/sinatra/views/menu","/app/views/#{Hexacta::GEM_FILE_DIR}/menu")
|
12
|
+
end
|
13
|
+
|
14
|
+
helpers MenuHelper
|
15
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
.actions-menu.m-b-20
|
2
|
+
.btn-group.p-fixed style="border-radius: 5px;z-index:5;"
|
3
|
+
-for item in menu
|
4
|
+
-if item[:type] == 'dropdown'
|
5
|
+
.btn-group
|
6
|
+
a.btn.btn-default.dropdown-toggle.waves-effect.btn-icon-text aria-expanded="true" data-toggle="dropdown" type="button"
|
7
|
+
i.zmdi class="zmdi-#{item[:icon]}"
|
8
|
+
| #{item[:text]}
|
9
|
+
|
10
|
+
ul.dropdown-menu role="menu" style="border-radius: 5px;"
|
11
|
+
-for subitem in item[:link]
|
12
|
+
-if subitem[:type] == 'link'
|
13
|
+
li
|
14
|
+
a.btn-icon-text href="#{subitem[:link]}" target="#{subitem[:target]}"
|
15
|
+
i.zmdi class="zmdi-#{subitem[:icon]}"
|
16
|
+
| #{subitem[:text]}
|
17
|
+
|
18
|
+
-if item[:type] == 'link'
|
19
|
+
a.btn.btn-default.waves-effect.btn-icon-text type="button" href="#{item[:link]}" target="#{item[:target]}"
|
20
|
+
i.zmdi class="zmdi-#{item[:icon]}"
|
21
|
+
| #{item[:text]}
|
22
|
+
|
23
|
+
-if item[:type] == 'modal'
|
24
|
+
a.btn.btn-default.waves-effect.btn-icon-text type="button" data-toggle="modal" data-target="#{item[:link]}"
|
25
|
+
i.zmdi class="zmdi-#{item[:icon]}"
|
26
|
+
| #{item[:text]}
|
27
|
+
|
28
|
+
|
29
|
+
css:
|
30
|
+
.actions-menu {
|
31
|
+
height: 38px;
|
32
|
+
}
|
33
|
+
.actions-menu a.btn {
|
34
|
+
padding: 10px;
|
35
|
+
border-radius: 5px;
|
36
|
+
border-left: 1px solid #eee;
|
37
|
+
}
|
38
|
+
|
39
|
+
.actions-menu a:hover {
|
40
|
+
background: #2196f3 !important;
|
41
|
+
color: white !important;
|
42
|
+
}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sinatra-hexacta
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marco Zanger
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-09-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sucker_punch
|
@@ -80,6 +80,7 @@ files:
|
|
80
80
|
- lib/sinatra/extensions/mail.rb
|
81
81
|
- lib/sinatra/extensions/mailbuilder.rb
|
82
82
|
- lib/sinatra/extensions/mailsender.rb
|
83
|
+
- lib/sinatra/extensions/menu.rb
|
83
84
|
- lib/sinatra/extensions/notification.rb
|
84
85
|
- lib/sinatra/extensions/processmanager.rb
|
85
86
|
- lib/sinatra/handlers/errors.rb
|
@@ -94,6 +95,7 @@ files:
|
|
94
95
|
- lib/sinatra/helpers/init.rb
|
95
96
|
- lib/sinatra/helpers/inputs.rb
|
96
97
|
- lib/sinatra/helpers/libraries.rb
|
98
|
+
- lib/sinatra/helpers/menu.rb
|
97
99
|
- lib/sinatra/helpers/reports.rb
|
98
100
|
- lib/sinatra/helpers/schedule.rb
|
99
101
|
- lib/sinatra/hexacta.rb
|
@@ -203,6 +205,7 @@ files:
|
|
203
205
|
- lib/sinatra/views/libraries/include_css.slim
|
204
206
|
- lib/sinatra/views/libraries/include_js_after.slim
|
205
207
|
- lib/sinatra/views/libraries/include_js_before.slim
|
208
|
+
- lib/sinatra/views/menu/menu.slim
|
206
209
|
- lib/sinatra/views/notifications.slim
|
207
210
|
- lib/sinatra/views/notifications/form.slim
|
208
211
|
- lib/sinatra/views/notifications/item.slim
|