sinatra-hexacta 1.2.6 → 1.3.0

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: 45d80ce0e0132669ec6d45b9c750216f0e7c8155e012b991a66761880ff6ca8d
4
- data.tar.gz: 575459075130c4f03a2c11483006aed700af6ba1c7d52e8c97cb1e0438e75669
3
+ metadata.gz: 2f0b5543f96de1b88e37c6eaf7bc8cfcf61a3419fda741a9597f333a49f4ec1b
4
+ data.tar.gz: 4224a9d29c78106f70fcef411891a9d54efbe62025becd73201d0740198e4d20
5
5
  SHA512:
6
- metadata.gz: c2a4b2e7bfdac4c828e286ddfba6736604513a84eddcf32082a02f552fd3de0e60f7009d68393bc5ce0c1313625fe0b617dffebccc0f0426d7cb7e22e62bd5a4
7
- data.tar.gz: d1101956aea331d5ef3e41898332939aa21670211bf7c146ccd36ca24ab75e1f844c879d34e825adf77a55eb1481a84ecd8b036db930882441a28eb9c1238878
6
+ metadata.gz: e22aa655547b0c55ab14163e7043dbf4e4fee7d321d51e99ccc7823dff01cda2139df7fd7fc7b68d51f999453239fc199d7af663109ab32283d5069e1c1ab473
7
+ data.tar.gz: 885f0a1b6b4d3324217067cee4e976b25a967e7888b8ce5404c9a46c80c3e1faef444462bc409f1b85836f598d877b491633f1443cedca776858a47a3bd26d52
@@ -5,6 +5,52 @@ module Sinatra
5
5
 
6
6
  def enable_reports
7
7
  p "Enabling reports..."
8
+
9
+ #In order to enable file streaming
10
+ helpers do
11
+ def slim(template, options = {}, locals = {}, &block)
12
+ # Slim calls the option :streaming, but Sinatra has a #stream method
13
+ # so we also support the :stream option.
14
+ options[:streaming] ||= options.delete(:stream)
15
+
16
+ # We are not streaming. Call super implementation and
17
+ # just ensure that the @_out_buf is restored afterwards.
18
+ unless options[:streaming]
19
+ old = @_out_buf
20
+ begin
21
+ return super
22
+ ensure
23
+ @_out_buf = old
24
+ end
25
+ end
26
+
27
+ # We use the Temple generator without preamble and postamble
28
+ # which is suitable for streaming.
29
+ options[:generator] = Temple::Generator
30
+
31
+ # We are already streaming, continue!
32
+ return super if @_out_buf.is_a? Sinatra::Helpers::Stream
33
+
34
+ # Create a new stream
35
+ stream do |out|
36
+ @_out_buf = out
37
+
38
+ if options[:layout] == false
39
+ # No layout given, start rendering template
40
+ super
41
+ else
42
+ # Layout given
43
+ layout = options[:layout] == nil || options[:layout] == true ? :layout : options[:layout]
44
+
45
+ # Invert layout and template rendering order
46
+ super layout, options.merge(layout: false), locals do
47
+ super(template, options.merge(layout: false), locals, &block)
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+
8
54
  before '/reports/*' do
9
55
  error(403) if authenticated(User).permissions.empty?
10
56
  end
@@ -18,7 +64,7 @@ module Sinatra
18
64
  date ||= Date.today
19
65
  headers "Content-Disposition" => "attachment;filename=#{report_name}.#{date}.xls",
20
66
  "Content-Type" => "application/octet-stream"
21
- slim "reports/#{report_name}".to_sym, locals: { :date => date }, :layout => false
67
+ slim "reports/#{report_name}".to_sym, locals: { :date => date }, :stream => true, :layout => false
22
68
  end
23
69
  end
24
70
 
@@ -11,7 +11,7 @@ body.darkmode #header {
11
11
  background-color: rgba(40,40,40,0.9) !important;
12
12
  }
13
13
 
14
- #header .top-menu > li > a {
14
+ #header .top-menu > li > a, .actions > li > a > i, .actions > a > i {
15
15
  color: #047bf8;
16
16
  }
17
17
 
@@ -122,13 +122,8 @@ body {
122
122
  position: absolute;
123
123
  top: 0px;
124
124
  min-height: 700px;
125
- margin-top: 76px;
126
- width: 150px;
127
- -webkit-transform: translate3d(0, 0, 0);
128
- transform: translate3d(0, 0, 0);
129
- opacity: 1;
130
- filter: alpha(opacity=100);
131
- box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
125
+ margin-top: 75px;
126
+ width: 200px;
132
127
  }
133
128
 
134
129
  .container .block-header h2 {
@@ -285,7 +280,7 @@ body {
285
280
  .footer-text .text, .actions > li > a:before,
286
281
  .actions > a:before, .pagination > li > a, .pagination > li > span,
287
282
  #header input[type="text"], #header .results, .dropdown.open .dropdown-menu,
288
- .modal .modal-content, .profile-view .pv-header > .pv-main, .pt-inner .pti-header, .ptih-title,
283
+ .modal .modal-content, .pt-inner .pti-header, .ptih-title,
289
284
  .card .tab-nav, .dash-widget-item {
290
285
  border-radius: 6px;
291
286
  }
@@ -338,33 +333,6 @@ t-view:after {
338
333
  border-bottom: 0px !important;
339
334
  }
340
335
 
341
- @media (min-width: 1200px) {
342
- body #content {
343
- padding-left: 150px;
344
- }
345
- }
346
-
347
- @media (min-width: 1200px) {
348
- body #content > .container {
349
- width: calc(100% - 30px);
350
- }
351
- }
352
-
353
- @media (min-width: 1200px) {
354
- #header {
355
- padding-left: 15px;
356
- }
357
-
358
- #menu-trigger {
359
- display: none;
360
- }
361
- }
362
-
363
- body:not(.sw-toggled) #sidebar {
364
- box-shadow: none;
365
- }
366
-
367
-
368
336
  .lv-item span, .pt-inner .pti-header > h2 {
369
337
  color: #334152;
370
338
  font-weight: 700;
@@ -395,17 +363,57 @@ body:not(.sw-toggled) #sidebar {
395
363
  background-size: 100% 70%;
396
364
  }
397
365
 
366
+ .modal .modal-footer .btn-link {
367
+ font-weight: 700 !important;
368
+ color: #047bf8;
369
+ }
370
+
371
+ .modal .modal-header {
372
+ padding: 23px 26px;
373
+ border-bottom: 0px;
374
+ margin-bottom: 0px;
375
+ }
376
+
377
+ .modal .modal-footer {
378
+ border-top: 1px solid rgba(0,0,0,0.05);
379
+ }
380
+
381
+ .modal .modal-content {
382
+ box-shadow: 0 25px 65px rgba(15,24,33,0.29);
383
+ }
384
+
385
+ .modal-title {
386
+ font-weight: 700 !important;
387
+ }
388
+
389
+ .modal-backdrop {
390
+ background-color:#235a94;
391
+ }
392
+
393
+ .modal.fade .modal-dialog
394
+ {
395
+ -moz-transition: none !important;
396
+ -o-transition: none !important;
397
+ -webkit-transition: none !important;
398
+ transition: none !important;
399
+
400
+ -moz-transform: none !important;
401
+ -ms-transform: none !important;
402
+ -o-transform: none !important;
403
+ -webkit-transform: none !important;
404
+ transform: none !important;
405
+ }
406
+
398
407
  .form-control {
399
408
  background: transparent;
400
409
  }
401
410
 
402
- .preloader {
411
+ #loader .preloader {
403
412
  background: rgba(255,255,255,0.5);
404
413
  border-radius: 100px;
405
- left: 8px !important;
414
+ left: 67px !important;
406
415
  top: 6px !important;
407
416
  }
408
-
409
417
  /* ----- Pegaso related ----- */
410
418
 
411
419
  .idx {
@@ -421,4 +429,5 @@ body:not(.sw-toggled) #sidebar {
421
429
  font-size: 14pt;
422
430
  height: 38px;
423
431
  border-radius: 100px;
424
- padding-top: 9px;}
432
+ padding-top: 9px;
433
+ }
@@ -257,10 +257,6 @@ body {
257
257
  .profile-view {
258
258
  }
259
259
 
260
- a {
261
- color: white !important;
262
- }
263
-
264
260
  .listview:not(.lv-lg):not(.lv-message) .lv-item {
265
261
  border-bottom: 0px !important;
266
262
  }
@@ -0,0 +1,15 @@
1
+ class View {
2
+
3
+ static get(url,params,destination){
4
+ $(destination).html('<div class="text-center" style="padding:100px;"><div class="preloader pls-teal bgm-none"><svg class="pl-circular" viewBox="25 25 50 50"><circle class="plc-path" cx="50" cy="50" r="20"></circle></svg></div><h5>Cargando...</h5></div>');
5
+ $.ajax({
6
+ url: url,
7
+ type: 'GET',
8
+ data: params
9
+ }).done(function(result) {
10
+ $(destination).html(result);
11
+ }).error(function(result) {
12
+ $(destination).html('<div class="lv-item p-20 bgm-red m-b-5 animated fadeIn"><div class="media"><div class="pull-left"><i class="zmdi zmdi-hc-3x zmdi-alert-octagon c-white"></i></div><div class="media-body"><div class="lv-title c-white">Algo salió mal</div><small class="lv-small c-white">Los administradores acaban de ser informados de este error, ni bien tengan una solución se te notificará. Disculpá las molestias.</small></div></div></div>');
13
+ });
14
+ }
15
+ }
@@ -8,7 +8,9 @@
8
8
  - chosen = nil
9
9
  - unless defined? clazz
10
10
  - clazz = nil
11
-
11
+ -unless defined? readonly
12
+ -readonly = false
13
+
12
14
  -if required
13
15
  .form-group.has-success
14
16
  label #{placeholder}
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: 1.2.6
4
+ version: 1.3.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-09-26 00:00:00.000000000 Z
11
+ date: 2021-03-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sucker_punch
@@ -134,6 +134,7 @@ files:
134
134
  - lib/sinatra/public/fonts/roboto/Roboto-Thin-webfont.ttf
135
135
  - lib/sinatra/public/fonts/roboto/Roboto-Thin-webfont.woff
136
136
  - lib/sinatra/public/img/finder.png
137
+ - lib/sinatra/public/img/lightadmin.white.png
137
138
  - lib/sinatra/public/img/metronic.jpg
138
139
  - lib/sinatra/public/img/noimage.jpg
139
140
  - lib/sinatra/public/img/select.png
@@ -142,6 +143,7 @@ files:
142
143
  - lib/sinatra/public/js/app.js
143
144
  - lib/sinatra/public/js/finder.js
144
145
  - lib/sinatra/public/js/process.js
146
+ - lib/sinatra/public/js/view.js
145
147
  - lib/sinatra/public/vendors/animate.css/animate.min.css
146
148
  - lib/sinatra/public/vendors/bootstrap-validator/validator.js
147
149
  - lib/sinatra/public/vendors/bootstrap-year-calendar/bootstrap-year-calendar.es.js