cpee-worklist 1.0.11 → 1.0.13

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: 803b1b014fedfd15a18792b7d8bd8ae44b8ca3f0f9c9e73ee3bce147c079fe66
4
- data.tar.gz: 0a5faa9d0a7a044a450b17dcf2d30b98774800b5e3cf5d5c1e4e8dc535512d9f
3
+ metadata.gz: b72225ecc2d91fbb34ad5b7d9200629253f98fb5491d12530616a8df09274212
4
+ data.tar.gz: ef302a65ff231f1a1fb76ccdddb7b75fc7ec0d115423ff5f57b8c76eb3d16d6f
5
5
  SHA512:
6
- metadata.gz: 5cd26a575083104789de654796f57ef5f403e7ee03fc4c0f79b16c0f0ee7225ef904c992eb71760e571c2d536e29bbcec46336baae02375c2e1ff4adf315212f
7
- data.tar.gz: 60353fd3d43a1419b4633c26dd17aa5da78b350e907a684f3a64618df3055d177ae32cc0a63fc97a6fe8b20db67ac251a04df345e6248d5be82d4642907ca28c
6
+ metadata.gz: 8dee9ecaf43bced78032731890e5469b80e193af2fefb8a5a397101ad5d902a5fa7e972f165b4a08bdaa5f11c9c706b21fdb5003a0bac0a7096946cf50d0b0ea
7
+ data.tar.gz: ffe193949bb0c140d2e5eef84c2b3a09dee2385b73ca92898bbab7f54902c41a67ec19cf4a63aec6488c3f7bb8b9d3e57f9eb43509763aa340a202b43ff83dbd
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "cpee-worklist"
3
- s.version = "1.0.11"
3
+ s.version = "1.0.13"
4
4
  s.platform = Gem::Platform::RUBY
5
5
  s.license = "LGPL-3.0-or-later"
6
6
  s.summary = "Worklist for the cloud process execution engine (cpee.org)"
@@ -86,6 +86,14 @@ module CPEE
86
86
  activity['restrictions'] = []
87
87
  rests = JSON::parse(@p.shift.value) rescue nil
88
88
  activity['restrictions'] << rests unless rests.nil?
89
+ if @p.first.name == 'prioritization'
90
+ val = @p.shift.value
91
+ activity['prioritization'] = (JSON::parse(val) rescue val.gsub(/[\[\]()<>"']/,'').split(/\s*[,;]\s*/))
92
+ else
93
+ activity['prioritization'] = []
94
+ end
95
+ activity['label_extension'] = @p.first.name == 'label' ? @p.shift.value.to_s : nil
96
+ activity['label_extension_details'] = @p.first.name == 'label_details' ? @p.shift.value.to_s : nil
89
97
  activity['parameters'] = JSON::parse(@p.shift.value) rescue {}
90
98
  status, content, headers = Riddl::Client.new(activity['orgmodel']).get
91
99
  if status == 200
@@ -236,6 +244,9 @@ module CPEE
236
244
  tasks["#{activity['id']}"] = { :all => activity.has_key?('collect') && !activity['collect'].nil?, :uid => @r[-2], :priority => activity['priority'], :label => activity['process'] + ': ' + activity['label'] }
237
245
  tasks["#{activity['id']}"][:own] = activity['user'].include?(@r[-2])
238
246
  tasks["#{activity['id']}"][:deadline] = activity['deadline'] if activity['deadline']
247
+ tasks["#{activity['id']}"][:prioritization] = activity['prioritization']&.join(', ') || ''
248
+ tasks["#{activity['id']}"][:label_extension] = activity['label_extension'] if activity['label_extension']
249
+ tasks["#{activity['id']}"][:label_extension_details] = activity['label_extension_details'] if activity['label_extension_details']
239
250
  end
240
251
  end
241
252
  end
@@ -254,7 +265,7 @@ module CPEE
254
265
  index = @a[0].activities.index{ |c| c["id"] == @r.last }
255
266
  if index
256
267
  activity = @a[0].activities[index]
257
- activity['user'].push @r[-3]if CPEE::Worklist::User::ok?(@a[0].opts,activity,@r[-3])
268
+ activity['user'].push @r[-3]if CPEE::Worklist::User::ok?(@a[0].opts,activity,@r[-3]) && !activity['user'].include?(@r[-3])
258
269
  info = CPEE::Worklist::User::info(@a[0].opts,activity,@r[-3])
259
270
  @a[0].activities.serialize
260
271
  @a[0].notify('user/take', :user => @r[-3], :callback_id => activity['id'], :cpee_callback => activity['url'], :cpee_instance => activity['cpee_instance'],:instance_uuid => activity['uuid'], :cpee_base => activity['cpee_base'], :cpee_label => activity['label'], :cpee_activity => activity['cpee_activity_id'], :orgmodel => activity['orgmodel'], :organisation => info)
@@ -311,7 +322,7 @@ module CPEE
311
322
  end
312
323
  end #}}}
313
324
 
314
- class AssignTask < Riddl::Implementation #{{{
325
+ class AssignTask < Riddl::Implementation #{{{
315
326
  def response
316
327
  index = @a[0].activities.index{ |c| c["id"] == @r.last }
317
328
  if index
@@ -0,0 +1 @@
1
+ 551411
@@ -0,0 +1 @@
1
+ 551417
@@ -0,0 +1 @@
1
+ 551423
@@ -0,0 +1 @@
1
+ 551429
@@ -38,6 +38,15 @@
38
38
  <parameter name="deadline" type="string"/>
39
39
  </optional>
40
40
  <parameter name="restrictions" type="string"/>
41
+ <optional>
42
+ <parameter name="prioritization" type="string"/>
43
+ </optional>
44
+ <optional>
45
+ <parameter name="label" type="string"/>
46
+ </optional>
47
+ <optional>
48
+ <parameter name="label_details" type="string"/>
49
+ </optional>
41
50
  <parameter name="data" type="string"/>
42
51
  </message> <!--}}}-->
43
52
 
data/ui/container.html CHANGED
@@ -1,16 +1,16 @@
1
1
  <!--
2
- This file is part of CPEE.
2
+ This file is part of CPEE-WORKLIST.
3
3
 
4
- CPEE is free software: you can redistribute it and/or modify it under the terms
4
+ CPEE-WORKLIST is free software: you can redistribute it and/or modify it under the terms
5
5
  of the GNU General Public License as published by the Free Software Foundation,
6
6
  either version 3 of the License, or (at your option) any later version.
7
7
 
8
- CPEE is distributed in the hope that it will be useful, but WITHOUT ANY
8
+ CPEE-WORKLIST is distributed in the hope that it will be useful, but WITHOUT ANY
9
9
  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
10
10
  PARTICULAR PURPOSE. See the GNU General Public License for more details.
11
11
 
12
12
  You should have received a copy of the GNU General Public License along with
13
- CPEE (file COPYING in the main directory). If not, see
13
+ CPEE-WORKLIST (file LICENSE in the main directory). If not, see
14
14
  <http://www.gnu.org/licenses/>.
15
15
  -->
16
16
 
@@ -34,7 +34,8 @@
34
34
  <script type="text/javascript" src="/js_libs/jquery.caret.min.js"></script>
35
35
  <script type="text/javascript" src="/js_libs/jquery.cookie.js"></script>
36
36
  <script type="text/javascript" src="/js_libs/marked.min.js"></script>
37
+
38
+ <link rel="stylesheet" href="css/container.css" type="text/css"/>
37
39
  </head>
38
- <body>
39
- </body>
40
+ <body is='x-ui-'></body>
40
41
  </html>
@@ -0,0 +1,76 @@
1
+ /*
2
+ This file is part of CPEE-WORKLIST.
3
+
4
+ CPEE-WORKLIST is free software: you can redistribute it and/or modify it
5
+ under the terms of the GNU General Public License as published by the Free
6
+ Software Foundation, either version 3 of the License, or (at your option) any
7
+ later version.
8
+
9
+ CPEE-WORKLIST is distributed in the hope that it will be useful, but WITHOUT ANY
10
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
11
+ PARTICULAR PURPOSE. See the GNU General Public License for more details.
12
+
13
+ You should have received a copy of the GNU General Public License along with
14
+ CPEE-WORKLIST (file LICENSE in the main directory). If not, see
15
+ <http://www.gnu.org/licenses/>.
16
+ */
17
+
18
+ :root {
19
+ --x-ui-border-color: #a1a1a1;
20
+ --x-ui-outside-color: #ffffff;
21
+ --x-ui-background-color: #ffffff;
22
+ --x-ui-light-text-color: #333;
23
+ --x-ui-light-back-color: #e8e8e8;
24
+ --x-ui-link-color: #425d73;
25
+ --x-ui-content-border-color: #ffed00;
26
+ --x-ui-content-light-background: #f0f0f0;
27
+ --x-ui-content-hover-background: #99cce660;
28
+ }
29
+
30
+ body {
31
+ -webkit-user-select: none;
32
+ -moz-user-select: -moz-none;
33
+ -ms-user-select: none;
34
+ user-select: none;
35
+ font-family: sans-serif;
36
+ font-size: 1em;
37
+ margin: 1em;
38
+ }
39
+
40
+ input { font-family: sans-serif; font-size: 1em; }
41
+
42
+ textarea, input, select, button {
43
+ font-family: Verdana, Helvetica, sans-serif;
44
+ font-size: 1em;
45
+ resize: none;
46
+ }
47
+
48
+ button, select {
49
+ padding: .1em .2em;
50
+ border: 1pt solid var(--x-ui-border-color);
51
+ border-radius: 0.2em;
52
+ margin: 0;
53
+ font-size: 0.9em;
54
+ background: var(--x-ui-light-back-color);
55
+ background: -webkit-gradient(linear, left top, left bottom, from(white), to(var(--x-ui-light-back-color)));
56
+ background: -moz-linear-gradient(top, white, var(--x-ui-light-back-color));
57
+ cursor: pointer;
58
+ }
59
+ button::-moz-focus-inner {
60
+ border: 0 none;
61
+ padding: 0;
62
+ margin: 0;
63
+ }
64
+ button.highlight {
65
+ background: -webkit-gradient(linear, left top, left bottom, from(white), to(Highlight));
66
+ background: -moz-linear-gradient(top, white, Highlight);
67
+ }
68
+
69
+ input { font-family: sans-serif; font-size: 1em; }
70
+ input::-webkit-input-placeholder { color: red; }
71
+ input:-moz-placeholder { color: red; }
72
+
73
+ a:link { color:var(--x-ui-link-color); text-decoration:none; }
74
+ a:visited { color:var(--x-ui-link-color); text-decoration:none; }
75
+ a:hover { color:var(--x-ui-light-text-color); text-decoration:underline; }
76
+ a:active { color:var(--x-ui-light-text-color); text-decoration:underline; }
data/ui/css/ui.css CHANGED
@@ -1,3 +1,20 @@
1
+ /*
2
+ This file is part of CPEE-WORKLIST.
3
+
4
+ CPEE-WORKLIST is free software: you can redistribute it and/or modify it
5
+ under the terms of the GNU General Public License as published by the Free
6
+ Software Foundation, either version 3 of the License, or (at your option) any
7
+ later version.
8
+
9
+ CPEE-WORKLIST is distributed in the hope that it will be useful, but WITHOUT ANY
10
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
11
+ PARTICULAR PURPOSE. See the GNU General Public License for more details.
12
+
13
+ You should have received a copy of the GNU General Public License along with
14
+ CPEE-WORKLIST (file LICENSE in the main directory). If not, see
15
+ <http://www.gnu.org/licenses/>.
16
+ */
17
+
1
18
  body {
2
19
  -webkit-user-select: none;
3
20
  -moz-user-select: -moz-none;
@@ -93,6 +110,19 @@ button.highlight { background-color: #cc0000; }
93
110
  #dat_tasks tr:nth-child(odd) { background-color: ButtonFace; color: ButtonText; }
94
111
  #dat_tasks tr:nth-child(odd) input { background-color: ButtonFace; }
95
112
 
113
+ #areatasklist .dat_heading {
114
+ border: 1em solid white;
115
+ border-left: 0;
116
+ border-bottom: 0;
117
+ white-space: nowrap;
118
+ }
119
+ #areatasklist .dat_heading span {
120
+ font-weight: bold;
121
+ font-size: 1.2em;
122
+ }
123
+
124
+ .permahidden { display: none; }
125
+
96
126
  span.active {
97
127
  font-weight: bold;
98
128
  color: #cc0000;
@@ -146,19 +176,41 @@ ui-area > form {
146
176
  display: block;
147
177
  }
148
178
 
149
- #dat_tasks tr.priority_1:nth-child(even) { background-color: #dc8add30; color: ButtonText; }
150
- #dat_tasks tr.priority_1:nth-child(even) input { background-color: #dc8add30; }
151
- #dat_tasks tr.priority_1:nth-child(odd) { background-color: #dc8add80; color: ButtonText; }
152
- #dat_tasks tr.priority_1:nth-child(odd) input { background-color: #dc8add80; }
179
+ .dat_outer_table { margin-left: 1em; margin-top: 1em; margin-right: 1em; }
153
180
 
154
- #dat_tasks tr.priority_1 td:first-child::before {
155
- content: !
156
- }
181
+ .dat_table { margin-left: 1em; margin-top: 1em; margin-right: 1em; }
182
+ .dat_table:last-child { margin-bottom: 1em; }
183
+ .dat_table tr { white-space: nowrap; }
184
+
185
+ thead td { margin: 0; padding: 0; }
186
+ tbody.dat_table.dat_tasks_priority_high tr td:first-child { border-left: 0em solid transparent; }
187
+ tbody.dat_table tr td:first-child { border-left: 1em solid transparent; }
188
+
189
+ .dat_indent_table { margin-left: 1.5em; margin-top: 0; }
190
+
191
+ .dat_table tr:nth-child(even) { background-color: #dedddaff; color: ButtonText; }
192
+ .dat_table tr:nth-child(even) input { background-color: #dedddaff; }
193
+ .dat_table tr:nth-child(odd) { background-color: #f6f5f4ff; color: ButtonText; }
194
+ .dat_table tr:nth-child(odd) input { background-color: #f6f5f4ff; }
157
195
 
158
- #dat_tasks tr.priority_42:nth-child(even) { background-color: #99c1f130; color: ButtonText; }
159
- #dat_tasks tr.priority_42:nth-child(even) input { background-color: #99c1f130; }
160
- #dat_tasks tr.priority_42:nth-child(odd) { background-color: #99c1f180; color: ButtonText; }
161
- #dat_tasks tr.priority_42:nth-child(odd) input { background-color: #99c1f180; }
196
+ .dat_table tr.priority_1:nth-child(even) { background-color: #dc8add30; color: ButtonText; }
197
+ .dat_table tr.priority_1:nth-child(even) input { background-color: #dc8add30; }
198
+ .dat_table tr.priority_1:nth-child(odd) { background-color: #dc8add80; color: ButtonText; }
199
+ .dat_table tr.priority_1:nth-child(odd) input { background-color: #dc8add80; }
200
+
201
+ .dat_table tr.priority_42:nth-child(even) { background-color: #99c1f130; color: ButtonText; }
202
+ .dat_table tr.priority_42:nth-child(even) input { background-color: #99c1f130; }
203
+ .dat_table tr.priority_42:nth-child(odd) { background-color: #99c1f180; color: ButtonText; }
204
+ .dat_table tr.priority_42:nth-child(odd) input { background-color: #99c1f180; }
205
+
206
+ .dat_table tr td.buttons {
207
+ padding-left: 0.5em;
208
+ padding-right: 0.5em;
209
+ }
210
+ .dat_table tr td.name {
211
+ padding-left: 0.5em;
212
+ padding-right: 0.5em;
213
+ }
162
214
 
163
215
  .pulseit{
164
216
  animation: pulse linear 2s 3;
@@ -171,4 +223,37 @@ ui-area > form {
171
223
  100% { background-color: #ebdef0; }
172
224
  }
173
225
 
226
+ ui-resizehandle {
227
+ border-left: 1px solid var(--x-ui-border-color);
228
+ }
229
+ #detailcolumn {
230
+ min-width: 2.5em;
231
+ }
232
+ #detailcolumn iframe {
233
+ width: 100%;
234
+ height: 100%;
235
+ border: 0 none;
236
+ border-left: 1em solid white;
237
+ margin: 0;
238
+ padding: 0;
239
+ box-sizing: border-box;
240
+ display: block;
241
+ }
242
+
243
+ body.drag-in-progress #detailcolumn iframe {
244
+ pointer-events: none;
245
+ }
246
+
247
+ .extension.clickable {
248
+ cursor: pointer;
249
+ color:var(--x-ui-link-color);
250
+ text-decoration:none;
251
+ }
252
+ .extension.clickable:hover {
253
+ color:var(--x-ui-light-text-color);
254
+ text-decoration:underline;
255
+ }
174
256
 
257
+ .filler {
258
+ width: 100%;
259
+ }
data/ui/direct.html CHANGED
@@ -1,16 +1,17 @@
1
+ <td class='filler'></td>
1
2
  <!--
2
- This file is part of CPEE.
3
+ This file is part of CPEE-WORKLIST.
3
4
 
4
- CPEE is free software: you can redistribute it and/or modify it under the terms
5
+ CPEE-WORKLIST is free software: you can redistribute it and/or modify it under the terms
5
6
  of the GNU General Public License as published by the Free Software Foundation,
6
7
  either version 3 of the License, or (at your option) any later version.
7
8
 
8
- CPEE is distributed in the hope that it will be useful, but WITHOUT ANY
9
+ CPEE-WORKLIST is distributed in the hope that it will be useful, but WITHOUT ANY
9
10
  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
10
11
  PARTICULAR PURPOSE. See the GNU General Public License for more details.
11
12
 
12
13
  You should have received a copy of the GNU General Public License along with
13
- CPEE (file COPYING in the main directory). If not, see
14
+ CPEE-WORKLIST (file LICENSE in the main directory). If not, see
14
15
  <http://www.gnu.org/licenses/>.
15
16
  -->
16
17
 
@@ -33,6 +34,7 @@
33
34
  <script type="text/javascript" src="/js_libs/underscore.min.js"></script>
34
35
  <script type="text/javascript" src="/js_libs/jquery.caret.min.js"></script>
35
36
  <script type="text/javascript" src="/js_libs/jquery.cookie.js"></script>
37
+ <script type="text/javascript" src="/js_libs/marked.min.js"></script>
36
38
 
37
39
  <script type="text/javascript" src="/js_libs/relaxngui.js"></script>
38
40
 
@@ -46,32 +48,29 @@
46
48
  <link rel="stylesheet" href="/global_ui/uicpee.css" type="text/css"/>
47
49
 
48
50
  <!-- Flos Stuff -->
49
- <script type="text/javascript" src="js/worklist.js"></script>
51
+ <script type="text/javascript" src="js/structured.js"></script>
50
52
  </head>
51
- <body data-defaultport="9398" is='x-ui-'>
53
+ <body data-defaultconfig='index.json' is='x-ui-'>
52
54
  <!-- The following are templates that get used during ui generation, change them carefully -->
53
- <template id="dat_template_tasks_single">
54
- <tr class="task"> <!--{{{-->
55
+ <template id="dat_template_tasks_single"><!--{{{-->
56
+ <tr class="task">
55
57
  <td class='name'></td>
56
- <td class='sep'>⇒</td>
57
- <td class='deadline'><em>No deadline.</em></td>
58
58
  <td class='buttons'>
59
- <button class='task_take' value=''>Take</button>
60
- <button class='task_giveback' value=''>Give Back</button>
59
+ <button class='task_continue' value=''>Continue ...</button>
61
60
  <button class='task_do' value=''>Do it!</button>
61
+ <button class='task_giveback' value=''>Others should do it!</button>
62
62
  </td>
63
+ <td class='filler'></td>
63
64
  </tr>
64
65
  </template> <!--}}}-->
65
66
  <template id="dat_template_tasks_multi"> <!--{{{-->
66
67
  <tr class="task">
67
68
  <td class='name'></td>
68
- <td class='sep'>⇒</td>
69
- <td class='deadline'><em>No Deadline.</em></td>
70
69
  <td class='buttons'>
71
- <button class='task_take' value='' style="visibility: hidden">Take</button>
72
- <button class='task_giveback' value='' style="visibility: hidden">Give Back</button>
70
+ <button class='task_continue' value=''>Continue ...</button>
73
71
  <button class='task_do' value=''>Do it!</button>
74
72
  </td>
73
+ <td class='deadline filler'><em>(until <span></span></em>)</td>
75
74
  </tr>
76
75
  </template> <!--}}}-->
77
76
  <template id="dat_template_orgmodels"> <!--{{{-->
@@ -132,8 +131,7 @@
132
131
  </ui-tabbar>
133
132
  <ui-content>
134
133
  <ui-area data-belongs-to-tab="task" id="areatasklist"> <!--{{{-->
135
- <div id="dat_message" style="display: none;">Currently no tasks available.</div>
136
- <table id="dat_tasks" class="layout"></table>
134
+ <table class="dat_tasks_priority_high dat_tasks_own dat_tasks_priority dat_tasks_others dat_tasks_others_work dat_table"></table>
137
135
  </ui-area> <!--}}}-->
138
136
  </ui-content>
139
137
  </ui-rest>
data/ui/index.html CHANGED
@@ -1,16 +1,16 @@
1
1
  <!--
2
- This file is part of CPEE.
2
+ This file is part of CPEE-WORKLIST.
3
3
 
4
- CPEE is free software: you can redistribute it and/or modify it under the terms
4
+ CPEE-WORKLIST is free software: you can redistribute it and/or modify it under the terms
5
5
  of the GNU General Public License as published by the Free Software Foundation,
6
6
  either version 3 of the License, or (at your option) any later version.
7
7
 
8
- CPEE is distributed in the hope that it will be useful, but WITHOUT ANY
8
+ CPEE-WORKLIST is distributed in the hope that it will be useful, but WITHOUT ANY
9
9
  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
10
10
  PARTICULAR PURPOSE. See the GNU General Public License for more details.
11
11
 
12
12
  You should have received a copy of the GNU General Public License along with
13
- CPEE (file COPYING in the main directory). If not, see
13
+ CPEE-WORKLIST (file LICENSE in the main directory). If not, see
14
14
  <http://www.gnu.org/licenses/>.
15
15
  -->
16
16
 
@@ -47,32 +47,29 @@
47
47
  <link rel="stylesheet" href="/global_ui/uicpee.css" type="text/css"/>
48
48
 
49
49
  <!-- Flos Stuff -->
50
- <script type="text/javascript" src="js/worklist.js"></script>
50
+ <script type="text/javascript" src="js/structured.js"></script>
51
51
  </head>
52
- <body data-defaultport="9398" is='x-ui-'>
52
+ <body data-defaultconfig='index.json' is='x-ui-'>
53
53
  <!-- The following are templates that get used during ui generation, change them carefully -->
54
- <template id="dat_template_tasks_single">
55
- <tr class="task"> <!--{{{-->
54
+ <template id="dat_template_tasks_single"><!--{{{-->
55
+ <tr class="task">
56
56
  <td class='name'></td>
57
- <td class='sep'>⇒</td>
58
- <td class='deadline'><em>No deadline.</em></td>
59
57
  <td class='buttons'>
60
- <button class='task_take' value=''>Take</button>
61
- <button class='task_giveback' value=''>Give Back</button>
58
+ <button class='task_continue' value=''>Continue ...</button>
62
59
  <button class='task_do' value=''>Do it!</button>
60
+ <button class='task_giveback' value=''>Others should do it!</button>
63
61
  </td>
62
+ <td class='filler'></td>
64
63
  </tr>
65
64
  </template> <!--}}}-->
66
65
  <template id="dat_template_tasks_multi"> <!--{{{-->
67
66
  <tr class="task">
68
67
  <td class='name'></td>
69
- <td class='sep'>⇒</td>
70
- <td class='deadline'><em>No Deadline.</em></td>
71
68
  <td class='buttons'>
72
- <button class='task_take' value='' style="visibility: hidden">Take</button>
73
- <button class='task_giveback' value='' style="visibility: hidden">Give Back</button>
69
+ <button class='task_continue' value=''>Continue ...</button>
74
70
  <button class='task_do' value=''>Do it!</button>
75
71
  </td>
72
+ <td class='deadline filler'><em>(until <span></span></em>)</td>
76
73
  </tr>
77
74
  </template> <!--}}}-->
78
75
  <template id="dat_template_orgmodels"> <!--{{{-->
@@ -127,14 +124,13 @@
127
124
 
128
125
  <ui-rest class="hidden" id='main'>
129
126
  <ui-tabbar>
130
- <ui-before ></ui-before>
131
- <ui-tab class="default" data-tab="task" id="tabtask">Tasks</ui-tab>
132
- <ui-behind ></ui-behind>
127
+ <ui-before ></ui-before>
128
+ <ui-tab class="default" data-tab="task" id="tabtask">Tasks</ui-tab>
129
+ <ui-behind ></ui-behind>
133
130
  </ui-tabbar>
134
131
  <ui-content>
135
132
  <ui-area data-belongs-to-tab="task" id="areatasklist"> <!--{{{-->
136
- <div id="dat_message" style="display: none;">Currently no tasks available.</div>
137
- <table id="dat_tasks" class="layout"></table>
133
+ <table class="dat_tasks_priority_high dat_tasks_own dat_tasks_priority dat_tasks_others dat_tasks_others_work dat_table"></table>
138
134
  </ui-area> <!--}}}-->
139
135
  </ui-content>
140
136
  </ui-rest>
data/ui/index.json ADDED
@@ -0,0 +1,3 @@
1
+ {
2
+ "names": 3
3
+ }
@@ -1,3 +1,20 @@
1
+ /*
2
+ This file is part of CPEE-WORKLIST.
3
+
4
+ CPEE-WORKLIST is free software: you can redistribute it and/or modify it
5
+ under the terms of the GNU General Public License as published by the Free
6
+ Software Foundation, either version 3 of the License, or (at your option) any
7
+ later version.
8
+
9
+ CPEE-WORKLIST is distributed in the hope that it will be useful, but WITHOUT ANY
10
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
11
+ PARTICULAR PURPOSE. See the GNU General Public License for more details.
12
+
13
+ You should have received a copy of the GNU General Public License along with
14
+ CPEE-WORKLIST (file LICENSE in the main directory). If not, see
15
+ <http://www.gnu.org/licenses/>.
16
+ */
17
+
1
18
  function toggle_message(message=undefined) { //{{{
2
19
  var url =$("input[name=base-url]").val()+'/'+$("input[name=user-name]").val()+'/';
3
20
  if ($("#dat_tasks tr").length == 0) {
@@ -19,21 +36,49 @@ function toggle_message(message=undefined) { //{{{
19
36
  }
20
37
  } //}}}
21
38
 
39
+ function config_defaults() { //{{{
40
+ var default_values = {};
41
+ if (location.protocol.match(/^file/)) {
42
+ default_values['base-url'] = 'http://localhost:9298/';
43
+ } else {
44
+ default_values['base-url'] = location.protocol + "//" + location.hostname + '/worklist/server';
45
+ }
46
+ default_values['names'] = 2;
47
+ return default_values;
48
+ } //}}}
49
+
22
50
  $(document).ready(function() {// {{{
23
- $("input[name=base-url]").val(location.protocol + "//" + location.host + '/worklist/server');
51
+ var q = $.parseQuerySimple();
52
+ $.ajax({
53
+ url: $('body').attr('data-defaultconfig'),
54
+ success: function(res){
55
+ var res_def = config_defaults();
56
+ if (res['base-url']) { res_def['base-url'] = res['base-url']; }
57
+ if (res['names']) { res_def['names'] = res['names']; }
58
+
59
+ $('body').attr('data-names', res_def['names']);
60
+ $('input[name=base-url]').val(res_def['base-url']);
61
+
62
+ if (q.user) {
63
+ $("input[name=user-name]").val(q.user);
64
+ uidash_toggle_vis_tab($("#worklist .switch"));
65
+ get_worklist();
66
+ subscribe_worklist();
67
+ }
68
+ },
69
+ error: function(){
70
+ var res = config_defaults();
71
+ $('body').attr('data-names', res_def['names']);
72
+ $('input[name=base-url]').val(res_def['base-url']);
73
+ }
74
+ });
75
+
24
76
  $("#arealogin > form").submit(function(event){
25
77
  get_worklist();
26
78
  subscribe_worklist();
27
79
  uidash_toggle_vis_tab($("#worklist .switch"));
28
80
  event.preventDefault();
29
81
  });
30
- var q = $.parseQuerySimple();
31
- if (q.user) {
32
- $("input[name=user-name]").val(q.user);
33
- uidash_toggle_vis_tab($("#worklist .switch"));
34
- get_worklist();
35
- subscribe_worklist();
36
- }
37
82
  $(document).on('click','.orgmodeltab',function(event){
38
83
  var id = $(this).attr('data-tab');
39
84
  uidash_empty_tab_contents(id);
@@ -51,23 +96,66 @@ $(document).ready(function() {// {{{
51
96
  var url =$("input[name=user-url]").val()+'/tasks';
52
97
  var taskid = $(this).parents('tr').attr('data-id');
53
98
  var taskidurl = url + '/' + taskid;
54
- take_work(taskidurl,$('.task_take',$(this).parent()),$('.task_giveback',$(this).parent()),1);
99
+ take_work(taskidurl,$(this).parents('tr'),1);
100
+ do_work(taskid,taskidurl);
101
+ });
102
+ $(document).on('click','.task_continue',function(){
103
+ var url =$("input[name=user-url]").val()+'/tasks';
104
+ var taskid = $(this).parents('tr').attr('data-id');
105
+ var taskidurl = url + '/' + taskid;
55
106
  do_work(taskid,taskidurl);
56
107
  });
57
108
  $(document).on('click','.task_take',function(){
58
109
  var url =$("input[name=user-url]").val()+'/tasks';
59
110
  var taskid = $(this).parents('tr').attr('data-id');
60
111
  var taskidurl = url + '/' + taskid;
61
- take_work(taskidurl,$('.task_take',$(this).parent()),$('.task_giveback',$(this).parent()),1);
112
+ take_work(taskidurl,$(this).parents('tr'),1);
62
113
  });
63
114
  $(document).on('click','.task_giveback',function(){
64
115
  var url =$("input[name=user-url]").val()+'/tasks';
65
116
  var taskid = $(this).parents('tr').attr('data-id');
66
117
  var taskidurl = url + '/' + taskid;
67
- take_work(taskidurl,$('.task_giveback',$(this).parent()),$('.task_take',$(this).parent()),0);
118
+ take_work(taskidurl,$(this).parents('tr'),0);
68
119
  });
69
120
 
70
121
  });// }}}
122
+ function place_worklist_item(node,own) {
123
+ let prio = node.attr('data-priority');
124
+ let prioz = node.attr('data-prioritization');
125
+
126
+ if (own == 'true') {
127
+ $('.task_do',node).addClass('hidden');
128
+ $('.task_continue',node).removeClass('hidden');
129
+ $('.task_giveback',node).removeClass('hidden');
130
+ } else {
131
+ $('.task_do',node).removeClass('hidden');
132
+ $('.task_continue',node).addClass('hidden');
133
+ $('.task_giveback',node).addClass('hidden');
134
+ }
135
+
136
+ let ctv;
137
+ if (prio == 1) {
138
+ ctv = $(".dat_tasks_priority_high");
139
+ } else {
140
+ if (own == 'true') {
141
+ ctv = $(".dat_tasks_own");
142
+ } else {
143
+ if (prioz == '' || prioz.match($("input[name=user-name]").val())) {
144
+ ctv = $(".dat_tasks_priority");
145
+ } else {
146
+ ctv = $(".dat_tasks_others");
147
+ }
148
+ }
149
+ }
150
+ if (!ctv.is(node.parent())) {
151
+ ctv.append(node);
152
+ }
153
+ if (!$('.dat_tasks_priority_high').is(':empty')) { $('.dat_tasks_priority_high_head').removeClass('hidden'); } else { $('.dat_tasks_priority_high_head').addClass('hidden'); }
154
+ if (!$('.dat_tasks_priority').is(':empty')) { $('.dat_tasks_priority_head').removeClass('hidden'); } else { $('.dat_tasks_priority_head').addClass('hidden'); }
155
+ if (!$('.dat_tasks_own').is(':empty')) { $('.dat_tasks_own_head').removeClass('hidden'); } else { $('.dat_tasks_own_head').addClass('hidden'); }
156
+ if (!$('.dat_tasks_others').is(':empty')) { $('.dat_tasks_others_head').removeClass('hidden'); } else { $('.dat_tasks_others_head').addClass('hidden'); }
157
+ if (!$('.dat_tasks_others_work').is(':empty')) { $('.dat_tasks_others_work_head').removeClass('hidden'); } else { $('.dat_tasks_others_work_head').addClass('hidden'); }
158
+ }
71
159
 
72
160
  function get_worklist() {// {{{
73
161
  $("input[name=user-url]").val($("input[name=base-url]").val()+'/'+$("input[name=user-name]").val());
@@ -76,6 +164,10 @@ function get_worklist() {// {{{
76
164
  // Set url (no more cookie nonsense!)
77
165
  history.replaceState({}, '', '?user='+encodeURIComponent($("input[name=user-name]").val()));
78
166
 
167
+ $('#detailcolumn').addClass('hidden');
168
+ $('#detailcolumnresizer').addClass('hidden');
169
+ $('#detailcolumn iframe').attr('src','');
170
+
79
171
  $.ajax({
80
172
  type: "GET",
81
173
  url: url,
@@ -101,27 +193,62 @@ function get_worklist() {// {{{
101
193
  }
102
194
  });
103
195
  $("#main").removeClass("hidden");
104
- var ctv = $("#dat_tasks");
105
- ctv.empty();
196
+
197
+ $('.dat_tasks_priority_high').empty();
198
+ $('.dat_tasks_priority').empty();
199
+ $('.dat_tasks_own').empty();
200
+ $('.dat_tasks_others').empty();
201
+ $('.dat_tasks_others_work').empty();
202
+
203
+ $('.dat_tasks_priority_high_head').addClass('hidden');
204
+ $('.dat_tasks_priority_head').addClass('hidden');
205
+ $('.dat_tasks_own_head').addClass('hidden');
206
+ $('.dat_tasks_others_head').addClass('hidden');
207
+ $('.dat_tasks_others_work_head').addClass('hidden');
208
+
106
209
  $(res).find('task').each(function(){
107
210
  if ($(this).attr('all') == "true") {
108
211
  var node = $($("#dat_template_tasks_multi")[0].content.cloneNode(true));
109
- $('.deadline',node).text($(this).attr('deadline'));
212
+ $('.deadline span',node).text($(this).attr('deadline'));
110
213
  } else {
111
214
  var node = $($("#dat_template_tasks_single")[0].content.cloneNode(true));
112
215
  }
113
- var taskidurl = $(this).attr('id');
114
- var tasklabel = $(this).attr('label');
115
- node.find('tr').attr('data-id',taskidurl);
116
- node.find('tr').attr('data-label',tasklabel);
117
- node.find('tr').addClass('priority_' + $(this).attr('priority'));
118
- $('.name',node).text(tasklabel);
119
- if ($(this).attr('own')=='true') {
120
- $('.task_take',node).prop('disabled', true);
121
- } else {
122
- $('.task_giveback',node).prop('disabled', true);
216
+ let nam = $('.name',node)[0];
217
+ for (let i = 0; i < $('body').attr('data-names') - 1; i++) {
218
+ let n = nam.cloneNode(true);
219
+ $(nam).after(n);
123
220
  }
124
- ctv.append(node);
221
+ node.find('tr').attr('data-id',$(this).attr('id'));
222
+ node.find('tr').attr('data-label',$(this).attr('label'));
223
+ node.find('tr').attr('data-priority',$(this).attr('priority'));
224
+ node.find('tr').attr('data-prioritization',$(this).attr('prioritization'));
225
+ node.find('tr').addClass('priority_' + $(this).attr('priority'));
226
+
227
+ let i = 1;
228
+ $(this).attr('label').split(':').forEach( e => {
229
+ $('.name:nth-child(' + i + ')',node).text(e);
230
+ i++;
231
+ });
232
+ let lex = $('.name:nth-child(' + i + ')',node);
233
+ lex.text($(this).attr('label_extension'));
234
+ lex.addClass('extension');
235
+ if ($(this).attr('label_extension_details')) {
236
+ lex.addClass('clickable');
237
+ lex.click((ele)=>{
238
+ let hl = $(this).attr('label_extension_details').match(/highlight=(a\d+,)+([a-z0-9]{6,8})$/);
239
+ if (hl && hl.length >= 3) {
240
+ $('.highlight_active').removeAttr('style');
241
+ $('.highlight_active').removeClass('highlight_active');
242
+ $(ele.target).parent().css('background-color', '#' + hl.slice(-1)[0]);
243
+ $(ele.target).parent().addClass('highlight_active');
244
+ }
245
+ $('#detailcolumn').removeClass('hidden');
246
+ $('#detailcolumnresizer').removeClass('hidden');
247
+ $('#detailcolumn iframe').attr('src','');
248
+ $('#detailcolumn iframe').attr('src',$(this).attr('label_extension_details'));
249
+ });
250
+ }
251
+ place_worklist_item(node.find('tr'),$(this).attr('own'));
125
252
  });
126
253
  toggle_message();
127
254
  },
@@ -131,16 +258,18 @@ function get_worklist() {// {{{
131
258
  });
132
259
  }// }}}
133
260
 
134
- function take_work(url,butt,butt2,give_or_take){ //{{{
261
+ function take_work(url,node,give_or_take){ //{{{
135
262
  var op = give_or_take == 1 ? "take" : "giveback";
136
263
  $.ajax({
137
264
  type: "PUT",
138
265
  url: url,
139
266
  data:"operation="+op ,
140
267
  success: function(){
141
- $(butt).prop('disabled','true');
142
- $(butt2).prop('disabled','false');
143
- $(butt2).removeAttr('disabled');
268
+ if (op == "take") {
269
+ place_worklist_item(node,'true');
270
+ } else if (op == "giveback") {
271
+ place_worklist_item(node,'false');
272
+ }
144
273
  },
145
274
  error: function(a,b,c){
146
275
  alert("Put didn't work");
@@ -203,7 +332,7 @@ function do_work(taskid,taskidurl) { //{{{
203
332
  }
204
333
  }
205
334
 
206
- let worklist_form = $("<form id='worklist-form'></form></div>");
335
+ let worklist_form = $("<form id='worklist-form'></form>");
207
336
 
208
337
  let data;
209
338
  try { data = res.parameters; } catch (e) { data = {}; }
@@ -212,9 +341,13 @@ function do_work(taskid,taskidurl) { //{{{
212
341
  iframe.onload = () => {
213
342
  $(iframe.contentDocument.body).append(worklist_form);
214
343
  $(iframe.contentDocument.body).append(iform);
344
+
215
345
  iframe.contentWindow.data = data;
216
346
  iframe.contentWindow.form = $(iframe.contentDocument.body);
217
- iframe.contentWindow.eval(evaltext); // investigate indirect eval and strict
347
+
348
+ // investigate indirect eval and strict
349
+ iframe.contentWindow.eval(evaltext),
350
+
218
351
  $("#worklist-form",iframe.contentWindow.form).on('submit',function(e){
219
352
 
220
353
  let scount = 0;
@@ -0,0 +1,174 @@
1
+ <!--
2
+ This file is part of CPEE-WORKLIST.
3
+
4
+ CPEE-WORKLIST is free software: you can redistribute it and/or modify it under the terms
5
+ of the GNU General Public License as published by the Free Software Foundation,
6
+ either version 3 of the License, or (at your option) any later version.
7
+
8
+ CPEE-WORKLIST is distributed in the hope that it will be useful, but WITHOUT ANY
9
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
10
+ PARTICULAR PURPOSE. See the GNU General Public License for more details.
11
+
12
+ You should have received a copy of the GNU General Public License along with
13
+ CPEE-WORKLIST (file LICENSE in the main directory). If not, see
14
+ <http://www.gnu.org/licenses/>.
15
+ -->
16
+
17
+ <!DOCTYPE html>
18
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
19
+ <head>
20
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
21
+ <title>Worklist</title>
22
+
23
+ <!-- libs, do not modify. When local than load local libs. -->
24
+ <script type="text/javascript" src="/js_libs/jquery.min.js"></script>
25
+ <script type="text/javascript" src="/js_libs/jquery.browser.js"></script>
26
+ <script type="text/javascript" src="/js_libs/jquery.svg.min.js"></script>
27
+ <script type="text/javascript" src="/js_libs/jquery.svgdom.min.js"></script>
28
+ <script type="text/javascript" src="/js_libs/vkbeautify.js"></script>
29
+ <script type="text/javascript" src="/js_libs/util.js"></script>
30
+ <script type="text/javascript" src="/js_libs/printf.js"></script>
31
+ <script type="text/javascript" src="/js_libs/strftime.min.js"></script>
32
+ <script type="text/javascript" src="/js_libs/parsequery.js"></script>
33
+ <script type="text/javascript" src="/js_libs/underscore.min.js"></script>
34
+ <script type="text/javascript" src="/js_libs/jquery.caret.min.js"></script>
35
+ <script type="text/javascript" src="/js_libs/jquery.cookie.js"></script>
36
+ <script type="text/javascript" src="/js_libs/marked.min.js"></script>
37
+
38
+ <script type="text/javascript" src="/js_libs/relaxngui.js"></script>
39
+
40
+ <script type="text/javascript" src="/js_libs/uidash.js"></script>
41
+ <link rel="stylesheet" href="/js_libs/uidash.css" type="text/css"/>
42
+
43
+ <link rel="stylesheet" href="/js_libs/relaxngui.css" type="text/css"/>
44
+
45
+ <!-- custom stuff, play arround -->
46
+ <link rel="stylesheet" href="css/ui.css" type="text/css"/>
47
+ <link rel="stylesheet" href="/global_ui/uicpee.css" type="text/css"/>
48
+
49
+ <!-- Flos Stuff -->
50
+ <script type="text/javascript" src="js/structured.js"></script>
51
+ </head>
52
+ <body data-defaultconfig='structured.json' is='x-ui-'>
53
+ <!-- The following are templates that get used during ui generation, change them carefully -->
54
+ <template id="dat_template_tasks_single"><!--{{{-->
55
+ <tr class="task">
56
+ <td class='name'></td>
57
+ <td class='buttons'>
58
+ <button class='task_continue' value=''>Continue ...</button>
59
+ <button class='task_do' value=''>Do it!</button>
60
+ <button class='task_giveback' value=''>Others should do it!</button>
61
+ </td>
62
+ <td class='filler'></td>
63
+ </tr>
64
+ </template> <!--}}}-->
65
+ <template id="dat_template_tasks_multi"> <!--{{{-->
66
+ <tr class="task">
67
+ <td class='name'></td>
68
+ <td class='buttons'>
69
+ <button class='task_continue' value=''>Continue ...</button>
70
+ <button class='task_do' value=''>Do it!</button>
71
+ </td>
72
+ <td class='deadline filler'><em>(until <span></span></em>)</td>
73
+ </tr>
74
+ </template> <!--}}}-->
75
+ <template id="dat_template_orgmodels"> <!--{{{-->
76
+ <li class="orgmodel"><a class='link' href=""></a> ⇒ [<a class='model' href="">View Model</a>]</li>
77
+ </template> <!--}}}-->
78
+
79
+ <ui-tabbed id="worklist">
80
+ <ui-tabbar>
81
+ <ui-tab class="switch" ></ui-tab>
82
+ <ui-tab class="" data-tab="login" id="tablogin" >Login</ui-tab>
83
+ <ui-tab class="inactive hidden" data-tab="organisation" id="taborganisation">Organisation</ui-tab>
84
+ <ui-tab class="inactive " data-tab="configure" id="tabconfigure" >Configure</ui-tab>
85
+ <ui-behind><input name="current-instance" type="text" value="" readonly='readonly' style='display:none'/><a id='current-instance'></a></ui-behind>
86
+ <ui-last><a class="logo" href=".."></a></ui-last>
87
+ </ui-tabbar>
88
+ <ui-content>
89
+ <ui-area data-belongs-to-tab="login" id="arealogin"> <!--{ {{-->
90
+ <form>
91
+ <table class='layout'>
92
+ <tr>
93
+ <td>User Name:</td>
94
+ <td><input name="user-name" type="text" value=""/></td>
95
+ </tr>
96
+ <tr>
97
+ <td>Password:</td>
98
+ <td><input name="pass" disabled="disabled" type="text" value="Not necessary in this demo."/></td>
99
+ <td><input name="getListBt" type="submit" value="get Worklist"/></td>
100
+ </tr>
101
+ </table>
102
+ </form>
103
+ </ui-area> <!--}}}-->
104
+
105
+ <ui-area data-belongs-to-tab="organisation" id="areaorganisation" class="inactive"> <!--{{{-->
106
+ <ul id="orgmodels">
107
+ </ul>
108
+ </ui-area> <!--}}}-->
109
+
110
+ <ui-area data-belongs-to-tab="configure" id="areaconfigure" class="inactive"> <!--{{{-->
111
+ <table class='layout'>
112
+ <tr>
113
+ <td>Base URL:</td>
114
+ <td><input name="base-url" type="text" value=""/></td>
115
+ </tr>
116
+ <tr>
117
+ <td>User URL:</td>
118
+ <td><input name="user-url" type="text" value="" readonly='readonly'/></td>
119
+ </tr>
120
+ </table>
121
+ </ui-area> <!--}}}-->
122
+ </ui-content>
123
+ </ui-tabbed>
124
+
125
+ <ui-rest class="hidden" id='main'>
126
+ <ui-tabbar>
127
+ <ui-before ></ui-before>
128
+ <ui-tab class="default" data-tab="task" id="tabtask">Tasks</ui-tab>
129
+ <ui-behind ></ui-behind>
130
+ </ui-tabbar>
131
+ <ui-content>
132
+ <ui-area data-belongs-to-tab="task" id="areatasklist"> <!--{{{-->
133
+ <table class="dat_outer_table">
134
+ <thead>
135
+ <tr><td colspan="42">
136
+ <div class="dat_tasks_priority_high_head dat_heading permahidden"></div>
137
+ </td></tr>
138
+ </thead>
139
+ <tbody class="dat_tasks_priority_high dat_table dat_indent_table"></tbody>
140
+ <thead>
141
+ <tr><td colspan="42">
142
+ <div class="dat_tasks_own_head dat_heading hidden"><span>Tasks I currently work on ...</span></div>
143
+ </td></tr>
144
+ </thead>
145
+ <tbody class="dat_tasks_own dat_table dat_indent_table"></tbody>
146
+ <thead>
147
+ <tr><td colspan="42">
148
+ <div class="dat_tasks_priority_head dat_heading hidden"><span>Tasks initiated by me ...</span></div>
149
+ </td></tr>
150
+ </thead>
151
+ <tbody class="dat_tasks_priority dat_table dat_indent_table"></tbody>
152
+ <thead>
153
+ <tr><td colspan="42">
154
+ <div class="dat_tasks_others_head dat_heading hidden"><span>Tasks initiated by others ... (but I can do them as well)</span></div>
155
+ </td></tr>
156
+ </thead>
157
+ <tbody class="dat_tasks_others dat_table dat_indent_table"></tbody>
158
+ <thead>
159
+ <tr><td colspan="42">
160
+ <div class="dat_tasks_others_work_head dat_heading hidden"><span>Tasks others currently work on ...</span></div>
161
+ </td></tr>
162
+ </thead>
163
+ <tbody class="dat_tasks_others_work dat_table dat_indent_table"></tbody>
164
+ </table>
165
+ </ui-area> <!--}}}-->
166
+ <ui-resizehandle data-belongs-to-tab="task" id="detailcolumnresizer" data-label="drag to resize" class="hidden"></ui-resizehandle>
167
+ <ui-area data-belongs-to-tab="task" id="detailcolumn" class="hidden">
168
+ <iframe src=""></iframe>
169
+ </ui-area>
170
+ </ui-content>
171
+ </ui-rest>
172
+
173
+ </body>
174
+ </html>
@@ -0,0 +1,3 @@
1
+ {
2
+ "names": 4
3
+ }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cpee-worklist
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.11
4
+ version: 1.0.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juergen eTM Mangler
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: tools
12
12
  cert_chain: []
13
- date: 2024-07-15 00:00:00.000000000 Z
13
+ date: 2024-11-26 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: riddl
@@ -98,9 +98,13 @@ files:
98
98
  - lib/cpee-worklist/implementation.rb
99
99
  - lib/cpee-worklist/implementation.xml
100
100
  - lib/cpee-worklist/organisation.rng
101
+ - lib/cpee-worklist/routing/end.pid
101
102
  - lib/cpee-worklist/routing/end.rb
103
+ - lib/cpee-worklist/routing/forward-events.pid
102
104
  - lib/cpee-worklist/routing/forward-events.rb
105
+ - lib/cpee-worklist/routing/forward-votes.pid
103
106
  - lib/cpee-worklist/routing/forward-votes.rb
107
+ - lib/cpee-worklist/routing/persist.pid
104
108
  - lib/cpee-worklist/routing/persist.rb
105
109
  - lib/cpee-worklist/topics.xml
106
110
  - lib/cpee-worklist/user.rb
@@ -110,10 +114,14 @@ files:
110
114
  - server/worklist.conf
111
115
  - tools/cpee-worklist
112
116
  - ui/container.html
117
+ - ui/css/container.css
113
118
  - ui/css/ui.css
114
119
  - ui/direct.html
115
120
  - ui/index.html
116
- - ui/js/worklist.js
121
+ - ui/index.json
122
+ - ui/js/structured.js
123
+ - ui/structured.html
124
+ - ui/structured.json
117
125
  homepage: http://cpee.org/
118
126
  licenses:
119
127
  - LGPL-3.0-or-later
@@ -133,7 +141,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
133
141
  - !ruby/object:Gem::Version
134
142
  version: '0'
135
143
  requirements: []
136
- rubygems_version: 3.5.9
144
+ rubygems_version: 3.5.16
137
145
  signing_key:
138
146
  specification_version: 4
139
147
  summary: Worklist for the cloud process execution engine (cpee.org)