sinatra-hexacta 0.8.0 → 0.8.6

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: cf7bd04016342bd07385c0cf5563cedf741872fdc2a039bfff20fc79732b4c4a
4
- data.tar.gz: 49b06e855602b5adeb9388d70e68069b0e4224de01479fe90bb88c20589dde42
3
+ metadata.gz: 94878352931180fed716175089275de8178feddbfd3d967864ff1781e6d6ef69
4
+ data.tar.gz: 8b51e6e2a13b4f90c56af20b7d35f4928556ad98e29b062ef0e5a78bd67f947b
5
5
  SHA512:
6
- metadata.gz: 64fce926468323720435353eb1f08f95740a82fc38d277cd94a8b3e78e1099e110144a4c56140fea01a6daa05ef63cdd8752b5e586a469c62de93cb52eeeac17
7
- data.tar.gz: 48970007cb884898fa670d3e5ce984b2867570b0142c033df85e1919a850f9e0368bfe51d393d45e59a97f1bcc0e3c43193d51b7b3f35c55599727097f27435b
6
+ metadata.gz: 81abe6f03be0934d7b718e1d952c9bbdfa44f1a35306b8c7fad085d1173e390830f3931de9f143d9a7b2569c224e54818392cc4878cf613e27c5c48109ae5d7d
7
+ data.tar.gz: 806507f14e95da83d1e69fa514966c83e92c5cc8d217a1965c44136a923d823070e2901e70ed2c57dca1daefa33f9fd58bb20331f56309cdb6515b813a4be0d0
@@ -93,14 +93,14 @@ class ProcessManager
93
93
  end
94
94
 
95
95
  def clean(clazz)
96
- @handlers.select { |handler| !handler.running? }.each do |handler|
96
+ @handlers.select { |handler| handler.clazz == clazz }.each do |handler|
97
97
  handler.interrupt
98
98
  self.finish(handler)
99
99
  end
100
100
  end
101
101
 
102
102
  def running?(clazz)
103
- !@handlers.select { |handler| handler.clazz == clazz }.empty?;
103
+ !@handlers.select { |handler| handler.clazz == clazz }.empty?
104
104
  end
105
105
 
106
106
  end
@@ -9,16 +9,17 @@ module Sinatra
9
9
  get '/processes' do
10
10
  return "" if ProcessManager.instance.find(params[:class]).nil?
11
11
  content_type :json
12
- return { "progress" => ProcessManager.instance.find(params[:class]).progress }.to_json
12
+ return { 'name' => ProcessManager.instance.find(params[:class]).name, 'progress' => ProcessManager.instance.find(params[:class]).progress }.to_json
13
13
  end
14
14
 
15
- post '/processes/:id' do |id|
16
- ProcessManager.instance.interrupt(id)
15
+ post '/processes/:clazz' do |clazz|
16
+ ProcessManager.instance.clean(clazz)
17
+ 200
17
18
  end
18
19
 
19
20
  post '/process' do
20
21
  klass = Object.const_get("#{params[:class]}")
21
- a_handler = ProcessManager.instance.run(klass)
22
+ a_handler = ProcessManager.instance.run(klass,params)
22
23
  a_handler.to_json
23
24
  end
24
25
  end
@@ -23,6 +23,10 @@ module Sinatra
23
23
  slim "#{Hexacta::GEM_FILE_DIR}/alerts/error".to_sym, locals: option_hash
24
24
  end
25
25
 
26
+ def process_alert(option_hash)
27
+ slim "#{Hexacta::GEM_FILE_DIR}/alerts/process".to_sym, locals: option_hash
28
+ end
29
+
26
30
  setup_dir("/app/views/#{Hexacta::GEM_FILE_DIR}/alerts")
27
31
  copy_all_files("/lib/sinatra/views/alerts","/app/views/#{Hexacta::GEM_FILE_DIR}/alerts")
28
32
  end
@@ -16387,3 +16387,39 @@ svg.ct-chart-bar, svg.ct-chart-line{
16387
16387
  0% { width: 0; }
16388
16388
  100% { width: 100%; }
16389
16389
  }
16390
+
16391
+ @-webkit-keyframes rotating /* Safari and Chrome */ {
16392
+ from {
16393
+ -webkit-transform: rotate(0deg);
16394
+ -o-transform: rotate(0deg);
16395
+ transform: rotate(0deg);
16396
+ }
16397
+ to {
16398
+ -webkit-transform: rotate(360deg);
16399
+ -o-transform: rotate(360deg);
16400
+ transform: rotate(360deg);
16401
+ }
16402
+ }
16403
+ @keyframes rotating {
16404
+ from {
16405
+ -ms-transform: rotate(0deg);
16406
+ -moz-transform: rotate(0deg);
16407
+ -webkit-transform: rotate(0deg);
16408
+ -o-transform: rotate(0deg);
16409
+ transform: rotate(0deg);
16410
+ }
16411
+ to {
16412
+ -ms-transform: rotate(360deg);
16413
+ -moz-transform: rotate(360deg);
16414
+ -webkit-transform: rotate(360deg);
16415
+ -o-transform: rotate(360deg);
16416
+ transform: rotate(360deg);
16417
+ }
16418
+ }
16419
+ .rotating {
16420
+ -webkit-animation: rotating 2s linear infinite;
16421
+ -moz-animation: rotating 2s linear infinite;
16422
+ -ms-animation: rotating 2s linear infinite;
16423
+ -o-animation: rotating 2s linear infinite;
16424
+ animation: rotating 2s linear infinite;
16425
+ }
@@ -0,0 +1,87 @@
1
+ class ProcessManager {
2
+
3
+ static show(clazz) {
4
+ $("#processes").css("height","80px");
5
+ $("#processes .title").html(clazz);
6
+ }
7
+
8
+ static hide() {
9
+ $("#processes").css("height","0px");
10
+ }
11
+
12
+ static update(progress) {
13
+ $("#processes .progress-bar").css("width",progress + "%");
14
+ }
15
+
16
+ static complete() {
17
+ $("#processes .progress-bar").css("width","100%");
18
+ $("#processes .rotating").removeClass("rotating");
19
+ $("#processes .zmdi").removeClass("zmdi-settings").addClass("zmdi-check-circle");
20
+ $("#processes .progress").removeClass("active");
21
+ $("#processes .progress-bar").addClass("progress-bar-success");
22
+ $("#processes .detail").html("Completado. Refresca la pantalla para actualizar la información.");
23
+ }
24
+
25
+ static start(clazz) {
26
+ $.ajax({
27
+ url: "/process",
28
+ type: 'POST',
29
+ data: { class : clazz },
30
+ success: function(result) {
31
+ ProcessManager.show('Cargando...');
32
+ ProcessManager.update(0);
33
+ },
34
+ error: function(error) {
35
+ }
36
+ });
37
+ }
38
+
39
+ static start_with_map(clazz,map) {
40
+ map['class'] = clazz;
41
+ $.ajax({
42
+ url: "/process",
43
+ type: 'POST',
44
+ data: map,
45
+ success: function(result) {
46
+ ProcessManager.show('Cargando...');
47
+ ProcessManager.update(0);
48
+ },
49
+ error: function(error) {
50
+ }
51
+ });
52
+ }
53
+
54
+ static getProcesses(clazz) {
55
+ $.ajax({
56
+ url: "/processes",
57
+ type: 'GET',
58
+ data: { class : clazz },
59
+ success: function(result) {
60
+ if (result != "") {
61
+ if (result.progress >= 100.0) {
62
+ //ProcessManager.hide();
63
+ ProcessManager.complete()
64
+ ProcessManager.cleanProcess(clazz);
65
+ } else {
66
+ ProcessManager.show(result.name);
67
+ }
68
+ ProcessManager.update(result.progress);
69
+
70
+ }
71
+ },
72
+ error: function(error) {
73
+ }
74
+ });
75
+ }
76
+
77
+ static cleanProcess(clazz) {
78
+ $.ajax({
79
+ url: "/processes/" + clazz,
80
+ type: 'POST',
81
+ success: function(result) {
82
+ },
83
+ error: function(error) {
84
+ }
85
+ });
86
+ }
87
+ }
@@ -0,0 +1,11 @@
1
+ .row#processes style="height:0px;overflow: hidden;-webkit-transition: all 0.5s ease-in-out;-o-transition: all 0.5s ease-in-out;transition: all 0.5s ease-in-out;"
2
+ .col-xs-12
3
+ .progress.progress-striped.active style="height:80px;"
4
+ .progress-bar aria-valuemax="100" aria-valuemin="0" aria-valuenow="0" role="progressbar" style="width: 0%;text-align:left;"
5
+ .lv-item.p-20.p-fixed
6
+ .media
7
+ .pull-left
8
+ i.zmdi.zmdi-hc-3x.zmdi-settings.c-white.rotating
9
+ .media-body
10
+ .lv-title.c-white.title
11
+ small.lv-small.c-white.detail Espera por favor...
@@ -29,7 +29,7 @@ link href="/sinatra-hexacta/vendors/daterangepicker/daterangepicker.css" rel="st
29
29
  link href="/sinatra-hexacta/vendors/fullcalendar/main.min.css" rel="stylesheet"
30
30
 
31
31
  /year calendar
32
- link href="/vendors/bootstrap-year-calendar/bootstrap-year-calendar.min.css" rel="stylesheet"
32
+ link href="/sinatra-hexacta/vendors/bootstrap-year-calendar/bootstrap-year-calendar.min.css" rel="stylesheet"
33
33
 
34
34
  /general app
35
35
  link href="/sinatra-hexacta/css/app.min.1.css?version=#{settings.version}" rel="stylesheet"
@@ -8,3 +8,4 @@ script src="/sinatra-hexacta/vendors/chartist/chartist-plugin-legend.js"
8
8
 
9
9
  script src="/sinatra-hexacta/js/app.js?ver=#{settings.version}" type='text/javascript'
10
10
  script src="/sinatra-hexacta/js/finder.js?ver=#{settings.version}" type='text/javascript'
11
+ script src="/sinatra-hexacta/js/process.js?ver=#{settings.version}" type='text/javascript'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sinatra-hexacta
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.8.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marco Zanger
@@ -125,10 +125,12 @@ files:
125
125
  - lib/sinatra/public/fonts/roboto/Roboto-Thin-webfont.ttf
126
126
  - lib/sinatra/public/fonts/roboto/Roboto-Thin-webfont.woff
127
127
  - lib/sinatra/public/img/finder.jpg
128
+ - lib/sinatra/public/img/noimage.jpg
128
129
  - lib/sinatra/public/img/select.png
129
130
  - lib/sinatra/public/img/select@2x.png
130
131
  - lib/sinatra/public/js/app.js
131
132
  - lib/sinatra/public/js/finder.js
133
+ - lib/sinatra/public/js/process.js
132
134
  - lib/sinatra/public/vendors/animate.css/animate.min.css
133
135
  - lib/sinatra/public/vendors/bootstrap-validator/validator.js
134
136
  - lib/sinatra/public/vendors/bootstrap-year-calendar/bootstrap-year-calendar.es.js
@@ -174,6 +176,7 @@ files:
174
176
  - lib/sinatra/views/alerts/empty.slim
175
177
  - lib/sinatra/views/alerts/error.slim
176
178
  - lib/sinatra/views/alerts/info.slim
179
+ - lib/sinatra/views/alerts/process.slim
177
180
  - lib/sinatra/views/alerts/success.slim
178
181
  - lib/sinatra/views/alerts/warning.slim
179
182
  - lib/sinatra/views/charts/bar.slim