sinatra-hexacta 0.8.7 → 0.9.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ad4cb12cd628024ed6e4e738e18c9f436d6ad725ce069f0cf9711a2ff8dcadcb
4
- data.tar.gz: 682a9a782840a2a23f265a93a8417240d3fab31a8fbffb20cb53260966545412
3
+ metadata.gz: 0b63ced983a9ed988a44fc0d9372b974311c161e6a62eda6c86c522ea57c65cd
4
+ data.tar.gz: c5b3afa56953ffcd4b32470a33f795e8b5f288aefec1c4e266153619c53b2fea
5
5
  SHA512:
6
- metadata.gz: fc836bea599b405ff3107e60050be60af7be679d267060795e9e62631b4a5770a58ee073b69e3e5e35ba6274cc26d1ecfd2cee46b8b2f967d9346996ab04dfea
7
- data.tar.gz: 4b04d40911507e384c655b0a21f89f87bbe02c48ae7a71c9fd15dd27a7a0ecb93b6cdaf60f360d50b6e5dec048cf4b78c5afc362bf0f8c3273cbc6f976e3ec27
6
+ metadata.gz: 348e7dea6a1134c12bab47fa82e791b04b1943e26c9e87dc9c5f047a717af822b9e2dcda51d754bae367b3d1d8d44d058d7e223714c1818d44e6488836111bf2
7
+ data.tar.gz: bdb1f871698710ce3d72028c5b197538adf5779b88de7d111af9ff38755cdee9cb853e1ebc1796f1d2eb3c1e7239d55272a10f60a9e59a814433441d6b9b2c40
@@ -7,3 +7,4 @@ require_relative 'mail'
7
7
  require_relative 'generalmail'
8
8
  require_relative 'mailbuilder'
9
9
  require_relative 'processmanager'
10
+ require_relative 'menu'
@@ -0,0 +1,27 @@
1
+ # encoding: utf-8
2
+ class MenuBuilder
3
+
4
+ def initialize
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 => 'link' , :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
@@ -6,3 +6,4 @@ require_relative 'cas'
6
6
  require_relative 'schedule'
7
7
  require_relative 'alerts'
8
8
  require_relative 'reports'
9
+ require_relative 'menu'
@@ -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
@@ -13894,6 +13894,22 @@ fieldset[disabled] .btn-inverse:active {
13894
13894
  bottom: 340px;
13895
13895
  }
13896
13896
 
13897
+ .footer-text :nth-child(7), .footer-btn :nth-child(7) {
13898
+ bottom: 400px;
13899
+ }
13900
+
13901
+ .footer-text :nth-child(8), .footer-btn :nth-child(8) {
13902
+ bottom: 460px;
13903
+ }
13904
+
13905
+ .footer-text :nth-child(9), .footer-btn :nth-child(9) {
13906
+ bottom: 520px;
13907
+ }
13908
+
13909
+ .footer-text :nth-child(10), .footer-btn :nth-child(10) {
13910
+ bottom: 580px;
13911
+ }
13912
+
13897
13913
  .footer-text .text {
13898
13914
  position: fixed;
13899
13915
  right: 100px;
@@ -55,6 +55,7 @@ class ProcessManager {
55
55
  }
56
56
 
57
57
  static start(clazz) {
58
+ ProcessManager.show(clazz);
58
59
  $.ajax({
59
60
  url: "/process",
60
61
  type: 'POST',
@@ -69,6 +70,7 @@ class ProcessManager {
69
70
  }
70
71
 
71
72
  static start_with_map(clazz,map) {
73
+ ProcessManager.show(clazz);
72
74
  map['class'] = clazz;
73
75
  $.ajax({
74
76
  url: "/process",
@@ -90,11 +92,9 @@ class ProcessManager {
90
92
  data: { class : clazz },
91
93
  success: function(result) {
92
94
  if (result != "") {
95
+ ProcessManager.show(result.name);
93
96
  if (result.progress >= 100.0) {
94
- ProcessManager.complete()
95
- ProcessManager.cleanProcess(clazz);
96
- } else {
97
- ProcessManager.show(result.name);
97
+ ProcessManager.completeProcess(clazz);
98
98
  }
99
99
  ProcessManager.update(result.progress);
100
100
  }
@@ -105,6 +105,19 @@ class ProcessManager {
105
105
  });
106
106
  }
107
107
 
108
+ static completeProcess(clazz) {
109
+ $.ajax({
110
+ url: "/processes/" + clazz,
111
+ type: 'POST',
112
+ success: function(result) {
113
+ ProcessManager.complete()
114
+ },
115
+ error: function(error) {
116
+ ProcessManager.error();
117
+ }
118
+ });
119
+ }
120
+
108
121
  static cleanProcess(clazz) {
109
122
  $.ajax({
110
123
  url: "/processes/" + clazz,
@@ -113,7 +126,7 @@ class ProcessManager {
113
126
  ProcessManager.cancel();
114
127
  },
115
128
  error: function(error) {
116
- ProcessManager.error();
129
+ ProcessManager.error();
117
130
  }
118
131
  });
119
132
  }
@@ -0,0 +1,68 @@
1
+ .footer-text
2
+ a.text.btn.bgm-white.c-gray onclick='toggle_menu()' Menu
3
+
4
+ .actions-menu.hidden
5
+ -for item in menu
6
+ -idx = menu.index(item)
7
+ -if item[:type] == 'link'
8
+ a.text.btn.bgm-white.c-gray type="button" href="#{item[:link]}" target="#{item[:target]}" style="bottom:#{50+idx*45}px;animation-duration: 0.#{idx+1}s" #{item[:text]}
9
+ -if item[:type] == 'modal'
10
+ a.text.btn.bgm-white.c-gray type="button" data-toggle="modal" data-target="#{item[:link]}" style="bottom:#{50+idx*45}px;animation-duration: 0.#{idx+1}s" #{item[:text]}
11
+
12
+ .footer-btn
13
+ a.btn.btn-float.bgm-blue.m-btn.waves-effect.waves-circle.waves-float onclick='toggle_menu()'
14
+ i.zmdi.zmdi-menu
15
+
16
+ .actions-menu.hidden
17
+ -for item in menu
18
+ -idx = menu.index(item)
19
+ -if item[:type] == 'link'
20
+ a.btn.btn-float.bgm-blue.m-btn.waves-effect.waves-circle.waves-float type="button" href="#{item[:link]}" target="#{item[:target]}" style="bottom:#{50+idx*45}px;animation-duration: 0.#{idx+1}s"
21
+ i.zmdi class="zmdi-#{item[:icon]}"
22
+
23
+ -if item[:type] == 'modal'
24
+ a.btn.btn-float.bgm-blue.m-btn.waves-effect.waves-circle.waves-float type="button" data-toggle="modal" data-target="#{item[:link]}" style="bottom:#{50+idx*45}px;animation-duration: 0.#{idx+1}s"
25
+ i.zmdi class="zmdi-#{item[:icon]}"
26
+
27
+
28
+ css:
29
+ .actions-menu .btn-float {
30
+ width: 40px;
31
+ height: 40px;
32
+ line-height : 30px !Important;
33
+ margin-right: 5px;
34
+ }
35
+
36
+ .actions-menu .btn-float i {
37
+ font-size: 17px;
38
+ }
39
+
40
+ .actions-menu .text {
41
+ position: fixed;
42
+ right: 100px;
43
+ margin-bottom: 6px;
44
+ border-radius: 20px;
45
+ font-size: 8pt;
46
+ z-index: 9;
47
+ }
48
+
49
+ javascript:
50
+ function toggle_menu() {
51
+ if ($(".actions-menu.hidden")[0]) {
52
+ show_menu();
53
+ } else {
54
+ hide_menu();
55
+ }
56
+ }
57
+ function hide_menu() {
58
+ $(".actions-menu a" ).removeClass('animated fadeInUp')
59
+ $(".actions-menu a" ).addClass('animated fadeOutDown');
60
+ setTimeout(function(){
61
+ $(".actions-menu" ).addClass("hidden");
62
+ }, 300);
63
+ }
64
+ function show_menu() {
65
+ $(".actions-menu a" ).removeClass('animated fadeOutDown')
66
+ $(".actions-menu a" ).addClass('animated fadeInUp');
67
+ $(".actions-menu" ).removeClass("hidden");
68
+ }
@@ -1,7 +1,7 @@
1
1
  a.lv-item style="padding:10px 15px;#{notification.pending?? 'background-color: #ECF9FF;' : ''}" role="button" onclick="#{notification.pending?? "read_notify(#{notification.id},'#{notification.link}');this.onclick=\'\'" : ''}" href="#{notification.pending?? '#' : notification.link}"
2
2
  .media
3
3
  .pull-left.text-center.p-r-15
4
- img.lv-img-sm alt="" src="#{Configuration::USER_PHOTO_URL}#{notification.creator.hxt_id}" title="#{notification.creator.full_name}"
4
+ img.lv-img-sm alt="" src="#{Configuration::USER_PHOTO_URL}#{notification.creator.hxt_id}" title="#{notification.creator.full_name}" onError="this.onerror=null;this.src='/sinatra-hexacta/img/noimage.jpg';"
5
5
  br
6
6
  -if notification.label == 'error'
7
7
  .btn.btn-link.bgm-red.btn-xs style="font-size:6pt" #{notification.label}
@@ -5,7 +5,7 @@
5
5
  .card-header
6
6
  .media
7
7
  .pull-left
8
- img.lv-img alt="" src="#{Configuration::USER_PHOTO_URL}#{notification.creator.hxt_id}" title="#{notification.creator.full_name}"
8
+ img.lv-img alt="" src="#{Configuration::USER_PHOTO_URL}#{notification.creator.hxt_id}" title="#{notification.creator.full_name}" onError="this.onerror=null;this.src='/sinatra-hexacta/img/noimage.jpg';"
9
9
  .media-body.m-t-5
10
10
  h2
11
11
  | #{notification.title}
@@ -10,7 +10,7 @@
10
10
  .col-xs-2
11
11
  .card.profile-view
12
12
  .pv-header.bgm-teal style="height:70px;"
13
- img.pv-main style="width: 100px;height: 100px;bottom: -50px;margin-left: -50px;" alt="" src="#{Configuration::USER_PHOTO_URL}#{user.hxt_id}"
13
+ img.pv-main style="width: 100px;height: 100px;bottom: -50px;margin-left: -50px;" alt="" src="#{Configuration::USER_PHOTO_URL}#{user.hxt_id}" onError="this.onerror=null;this.src='/sinatra-hexacta/img/noimage.jpg';"
14
14
  .pv-body style="padding: 0 20px 10px;"
15
15
  h2 style="font-size:14px;font-weight: 500;"
16
16
  | #{user.first_name}
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.8.7
4
+ version: 0.9.3
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-06-04 00:00:00.000000000 Z
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