sinatra-hexacta 0.3.16 → 0.4.2

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: 2addd64e7ebac42c4aeccc65414240b0ffb714dd94ac81630c5741c0d5ec6a57
4
- data.tar.gz: 86adc8490e9cca2edc1e46140ae7a7caed7f8af4fa849ccfb17eceb5a7fddd5f
3
+ metadata.gz: 728aa24903dfacd5848f5cf2fc1f88927f658951a69a5f92ef691851c42cd856
4
+ data.tar.gz: e80174daa95bb53cd75ad0478d96fde0ebbbb7616e2da79a6b52ec04378be60e
5
5
  SHA512:
6
- metadata.gz: 71e3834fe92195381910b5ced4353737e0a889730d04776b8a9a5db24035103f33441f1c4107ff73efb83a58917e10d8a64805e222160d71d47c5e66ddf154d0
7
- data.tar.gz: 46b458692b2ea24a3892b3f3c25e4402c28bb56bdc88171ddbcac83cc836c0282b2cfcc7d3ba762f03b27f58dc24cff5fa7ea86c4aefd33566715c96663668c0
6
+ metadata.gz: 6ad49dbe7dcf2d8b4863455ba676313a8963b5569a322e73e5e1401db20d4a8b537b32827ede670c228673a10a4d2c50e703d60e785f79b76dcdb3c3effb043d
7
+ data.tar.gz: 5d9a06abb2fce33e637f5a9b436139d6c466e6992ad6aa937ff5fc90025e567581db96000e5a6dab8ae264c48135619a51e20e41e343b49f2b9058e9bf1df8b4
@@ -10,17 +10,24 @@ module Sinatra
10
10
  error_template(404)
11
11
  error_template(403)
12
12
  error_template(500)
13
+ error_template(Sequel::DatabaseDisconnectError)
14
+ error_template(Sequel::DatabaseConnectionError)
13
15
  end
14
16
 
15
17
  def error_template(code)
16
- ErrorHandler.copy_file("/lib/sinatra/views/errors/#{code}.slim","/app/views/#{Hexacta::GEM_FILE_DIR}/errors/#{code}.slim")
18
+ if code.is_a? Numeric
19
+ template_code = code
20
+ else
21
+ template_code = code.to_s.split('::').last
22
+ end
23
+ ErrorHandler.copy_file("/lib/sinatra/views/errors/#{template_code}.slim","/app/views/#{Hexacta::GEM_FILE_DIR}/errors/#{template_code}.slim")
17
24
  error code do
18
25
  if code == 500
19
26
  title = env['sinatra.error'].message.split(':')[0].gsub('#<','');
20
27
  message = (["in #{request.url}"] + env['sinatra.error'].backtrace).join(',');
21
28
  NotificationSender.instance.send_error(authenticated(User),title,message)
22
29
  end
23
- slim "#{Hexacta::GEM_FILE_DIR}/errors/#{code}".to_sym, locals: { :params => params }
30
+ slim "#{Hexacta::GEM_FILE_DIR}/errors/#{template_code}".to_sym, locals: { :params => params }
24
31
  end
25
32
  end
26
33
 
@@ -11247,10 +11247,6 @@ body:not(.sw-toggled) #sidebar {
11247
11247
  }
11248
11248
  }
11249
11249
 
11250
- .listview.lv-lg .lv-item:hover {
11251
- background-color: #FFFFDB;
11252
- }
11253
-
11254
11250
  .listview .lv-item {
11255
11251
  position: relative;
11256
11252
  display: block;
@@ -16359,4 +16355,35 @@ svg.ct-chart-bar, svg.ct-chart-line{
16359
16355
  .ct-legend .ct-series-14:before {
16360
16356
  background-color: #a748ca;
16361
16357
  border-color: #a748ca;
16362
- }
16358
+ }
16359
+
16360
+ /* HEADER RESULTS */
16361
+
16362
+ #header .results {
16363
+ display:block;
16364
+ position: absolute;
16365
+ width: 500px;
16366
+ background: white;
16367
+ margin-left: 20px;
16368
+ margin-top: 5px;
16369
+ border-radius: 2px;
16370
+ overflow: auto;
16371
+ max-height: 0px;
16372
+ opacity: 0;
16373
+ -webkit-transition: all 0.2s ease-in-out;
16374
+ -o-transition: all 0.2s ease-in-out;
16375
+ transition: all 0.2s ease-in-out;
16376
+ }
16377
+ #header .results.toggled {
16378
+ opacity: 1;
16379
+ max-height: 400px;
16380
+ }
16381
+
16382
+ .progressive {
16383
+ animation: load 5s cubic-bezier(0.165, 0.840, 0.440, 1.000) forwards;
16384
+ }
16385
+
16386
+ @keyframes load {
16387
+ 0% { width: 0; }
16388
+ 100% { width: 100%; }
16389
+ }
@@ -0,0 +1,79 @@
1
+ class Finder {
2
+
3
+ static find(query){
4
+ $.ajax({
5
+ url: "/find",
6
+ type: 'GET',
7
+ data: { query: query }
8
+ }).done(function(result) {
9
+ $("#header .results").html(result);
10
+ });
11
+ }
12
+
13
+ static do_find(url,query,html){
14
+ $.ajax({
15
+ url: url,
16
+ type: 'GET',
17
+ data: { query: query }
18
+ }).done(function(result) {
19
+ $(html).html(result);
20
+ });
21
+ }
22
+ }
23
+
24
+ var last_query = null;
25
+ var header_input_timeout = null;
26
+ $.xhrPool = [];
27
+
28
+ $.xhrPool.abortAll = function() {
29
+ $(this).each(function(idx, jqXHR) {
30
+ jqXHR.abort();
31
+ });
32
+ $(this).each(function(idx, jqXHR) {
33
+ var index = $.inArray(jqXHR, $.xhrPool);
34
+ if (index > -1) {
35
+ $.xhrPool.splice(index, 1);
36
+ }
37
+ });
38
+ };
39
+
40
+ $.ajaxSetup({
41
+ beforeSend: function(jqXHR) {
42
+ $.xhrPool.push(jqXHR);
43
+ },
44
+ complete: function(jqXHR) {
45
+ var index = $.inArray(jqXHR, $.xhrPool);
46
+ if (index > -1) {
47
+ $.xhrPool.splice(index, 1);
48
+ }
49
+ }
50
+ });
51
+
52
+ $(document).ready(function(){
53
+
54
+ $("#header input").focusin(function() {
55
+ $("#header .results").addClass("toggled");
56
+ })
57
+ $("#header input").focusout(function() {
58
+ $("#header .results").removeClass("toggled");
59
+ })
60
+ $('#header .results').click(function() {
61
+ $("#header input").focus();
62
+ });
63
+ $('#header input').keyup(function() {
64
+ clearTimeout(header_input_timeout);
65
+
66
+ if($('#header input').val().length > 2 && $.trim($('#header input').val())) {
67
+ header_input_timeout = setTimeout(function() {
68
+ $.xhrPool.abortAll();
69
+ if (last_query != $.trim($('#header input').val())) {
70
+ last_query = $.trim($('#header input').val());
71
+ console.log(last_query);
72
+ if (last_query.length > 2) {
73
+ Finder.find(last_query);
74
+ }
75
+ }
76
+ }, 1000);
77
+ }
78
+ });
79
+ });
@@ -0,0 +1,27 @@
1
+ .row
2
+ .col-xs-12
3
+ .progress.progress-striped.active.bgm-red style="height:80px;"
4
+ .progress-bar.progress-bar-danger 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-cloud-off.c-white
9
+ .media-body
10
+ .lv-title.c-white Error de conexión con la base de datos
11
+ small.lv-small.c-white Espera unos segundos mientras se reestablece la conexión.
12
+
13
+
14
+ javascript:
15
+ $(document).ready(function() {
16
+ setTimeout(function(){
17
+ window.location.reload(1);
18
+ }, 5000);
19
+
20
+ update_progress();
21
+
22
+ function update_progress() {
23
+ var current = $(".progress-bar").width() / $('.progress-bar').parent().width() * 100;
24
+ $(".progress-bar").width( current + 10 + "%");
25
+ setTimeout(update_progress, 100);
26
+ }
27
+ });
@@ -0,0 +1,29 @@
1
+ .row
2
+ .col-xs-12
3
+ .progress.progress-striped.active.bgm-orange style="height:80px;"
4
+ .progress-bar.progress-bar-warning 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-cloud-off.c-white
9
+ .media-body
10
+ .lv-title.c-white Conexión con la base de datos
11
+ small.lv-small.c-white Espera unos segundos mientras se reestablece la conexión.
12
+
13
+
14
+
15
+ javascript:
16
+ $(document).ready(function() {
17
+ setTimeout(function(){
18
+ window.location.reload(1);
19
+ }, 5000);
20
+
21
+ update_progress();
22
+
23
+ function update_progress() {
24
+ var current = $(".progress-bar").width() / $('.progress-bar').parent().width() * 100;
25
+ $(".progress-bar").width( current + 10 + "%");
26
+ setTimeout(update_progress, 100);
27
+ }
28
+ });
29
+
@@ -6,3 +6,4 @@ script src="/sinatra-hexacta/vendors/chartist/chartist.min.js"
6
6
  script src="/sinatra-hexacta/vendors/chartist/chartist-plugin-legend.js"
7
7
 
8
8
  script src="/sinatra-hexacta/js/app.js?ver=#{settings.version}" type='text/javascript'
9
+ script src="/sinatra-hexacta/js/finder.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.3.16
4
+ version: 0.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marco Zanger
@@ -110,10 +110,11 @@ files:
110
110
  - lib/sinatra/public/fonts/roboto/Roboto-Thin-webfont.svg
111
111
  - lib/sinatra/public/fonts/roboto/Roboto-Thin-webfont.ttf
112
112
  - lib/sinatra/public/fonts/roboto/Roboto-Thin-webfont.woff
113
+ - lib/sinatra/public/img/finder.jpg
113
114
  - lib/sinatra/public/img/select.png
114
115
  - lib/sinatra/public/img/select@2x.png
115
116
  - lib/sinatra/public/js/app.js
116
- - lib/sinatra/public/js/form_validator.js
117
+ - lib/sinatra/public/js/finder.js
117
118
  - lib/sinatra/public/vendors/animate.css/animate.min.css
118
119
  - lib/sinatra/public/vendors/bootstrap-validator/validator.js
119
120
  - lib/sinatra/public/vendors/bootstrap/bootstrap.min.js
@@ -157,6 +158,8 @@ files:
157
158
  - lib/sinatra/views/errors/403.slim
158
159
  - lib/sinatra/views/errors/404.slim
159
160
  - lib/sinatra/views/errors/500.slim
161
+ - lib/sinatra/views/errors/DatabaseConnectionError.slim
162
+ - lib/sinatra/views/errors/DatabaseDisconnectError.slim
160
163
  - lib/sinatra/views/inputs/date.slim
161
164
  - lib/sinatra/views/inputs/input.slim
162
165
  - lib/sinatra/views/inputs/month.slim
@@ -1,29 +0,0 @@
1
-
2
- $(':input[required]').each(function() {
3
- console.log($(this).val());
4
- if ($(this).val() == "" || $(this).val() == null) {
5
- $(this).parent().removeClass("has-success");
6
- $(this).parent().addClass("has-error");
7
- } else {
8
- $(this).parent().removeClass("has-error");
9
- $(this).parent().addClass("has-success");
10
- }
11
- })
12
-
13
-
14
- $(function() { //shorthand document.ready function
15
- $('form').on('submit', function(e) { //use on if jQuery 1.7+
16
- $(this).find(':input[required]').each(function() {
17
- if ($(this).val() == "" || $(this).val() == null) {
18
- $(this).parent().removeClass("success");
19
- $(this).parent().addClass("error");
20
- } else {
21
- $(this).parent().removeClass("error");
22
- $(this).parent().addClass("success");
23
- }
24
- })
25
- if ($(this).find(':input[required]').length > 0) {
26
- e.preventDefault();
27
- }
28
- });
29
- });