rao-service_chain 0.0.35.pre → 0.0.36.pre
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a484aa3db5835d220e458a08a54de6e6566f022827584726849d886a5af62564
|
4
|
+
data.tar.gz: 3ff63bd8df3c8488d6d66ed7466ab4281911fb466f6701f184a7d3b28827ace3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3f517402d68b47f6e06ad4638abceec5dfe2e5294b51c9ead78311c103951a6e26b8af0b4a5dc4d8588e667d75f43602d687979be93b9638445979a3f1f5933c
|
7
|
+
data.tar.gz: 499bfbbc30874d793a892005039de3ae0fba012dc467cfb14c036fd3a4d8c65810219b9ac31da8c516d831e20f7bae7ff578fe0c96c5f547f35fd81d6c6daf4f
|
@@ -23,7 +23,11 @@ module Rao
|
|
23
23
|
raise "Child class responsiblity"
|
24
24
|
end
|
25
25
|
|
26
|
-
def
|
26
|
+
def step_index(step)
|
27
|
+
self.steps.map(&:service).index(step.try(:service))
|
28
|
+
end
|
29
|
+
|
30
|
+
def actual_step_index
|
27
31
|
self.steps.map(&:service).index(self.actual_step.try(:service))
|
28
32
|
end
|
29
33
|
|
@@ -45,12 +49,23 @@ module Rao
|
|
45
49
|
self.steps[self.actual_step_index - 1]
|
46
50
|
end
|
47
51
|
|
52
|
+
def previous_steps
|
53
|
+
return [] if self.actual_step_index.nil?
|
54
|
+
return [] if self.actual_step_index == 0
|
55
|
+
self.steps[0..(self.actual_step_index - 1)]
|
56
|
+
end
|
57
|
+
|
48
58
|
def next_step
|
49
59
|
return nil if self.actual_step_index.nil?
|
50
60
|
return nil if self.actual_step_index + 1 >= self.step_count
|
51
61
|
self.steps[self.actual_step_index + 1]
|
52
62
|
end
|
53
63
|
|
64
|
+
def next_steps
|
65
|
+
return [] if self.actual_step_index.nil?
|
66
|
+
self.steps[(self.actual_step_index + 1)..-1]
|
67
|
+
end
|
68
|
+
|
54
69
|
def next_step?
|
55
70
|
!!next_step
|
56
71
|
end
|
@@ -69,10 +84,10 @@ module Rao
|
|
69
84
|
end
|
70
85
|
|
71
86
|
def to_hash(context = nil)
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
87
|
+
{
|
88
|
+
actual_step: self.actual_step.to_hash(context),
|
89
|
+
steps: self.steps.map { |s| s.to_hash(context) }
|
90
|
+
}
|
76
91
|
end
|
77
92
|
|
78
93
|
def completed_steps
|
@@ -83,6 +98,18 @@ module Rao
|
|
83
98
|
self.steps.collect { |s| s.pending? ? s : nil }.compact
|
84
99
|
end
|
85
100
|
|
101
|
+
def before_actual?(step)
|
102
|
+
return false if self.actual_step.nil?
|
103
|
+
return false if (si = step_index(wrap(step))).nil?
|
104
|
+
self.actual_step_index > si
|
105
|
+
end
|
106
|
+
|
107
|
+
def after_actual?(step)
|
108
|
+
return false if self.actual_step.nil?
|
109
|
+
return false if (si = step_index(wrap(step))).nil?
|
110
|
+
self.actual_step_index < si
|
111
|
+
end
|
112
|
+
|
86
113
|
private
|
87
114
|
|
88
115
|
def wrap(service, options = {})
|
@@ -19,9 +19,17 @@ module Rao
|
|
19
19
|
# = service_chain_helper(self).render_progress(@service_chain)
|
20
20
|
#
|
21
21
|
def render_progress(service_chain, options = {})
|
22
|
-
|
22
|
+
return if service_chain.nil?
|
23
|
+
|
24
|
+
options.reverse_merge!(
|
25
|
+
theme: :bootstrap4,
|
26
|
+
link_next_steps: true,
|
27
|
+
link_actual_step: false,
|
28
|
+
link_previous_steps: true
|
29
|
+
)
|
23
30
|
theme = options.delete(:theme)
|
24
|
-
|
31
|
+
|
32
|
+
c.render partial: "rao/service_chain/application_view_helper/render_progress/#{theme}", locals: { service_chain: service_chain, options: options }
|
25
33
|
end
|
26
34
|
end
|
27
35
|
end
|
data/app/views/rao/service_chain/application_view_helper/render_progress/_bootstrap4.html.haml
CHANGED
@@ -7,7 +7,11 @@
|
|
7
7
|
- if step.actual?
|
8
8
|
%span.wizard-step-marker.rounded-circle.bg-primary.text-white
|
9
9
|
%i.fas.fa-play
|
10
|
-
|
10
|
+
%span.wizard-step-label
|
11
|
+
- if options[:link_actual_step]
|
12
|
+
= link_to(step.label, step.url(self))
|
13
|
+
- else
|
14
|
+
= step.label
|
11
15
|
- else
|
12
16
|
- if step.completed?
|
13
17
|
%span.wizard-step-marker.rounded-circle.bg-success.text-white
|
@@ -15,4 +19,8 @@
|
|
15
19
|
- else
|
16
20
|
%span.wizard-step-marker.rounded-circle.bg-secondary.text-white
|
17
21
|
%i.fas.fa-circle
|
18
|
-
|
22
|
+
%span.wizard-step-label
|
23
|
+
- if (service_chain.before_actual?(step) && options[:link_previous_steps]) || (service_chain.after_actual?(step) && options[:link_next_steps])
|
24
|
+
= link_to(step.label, step.url(self))
|
25
|
+
- else
|
26
|
+
= step.label
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rao-service_chain
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.36.pre
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Roberto Vasquez Angel
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-12-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|