cpee-model-management 1.2.8 β 1.2.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/LICENSE +668 -159
- data/README.md +1 -1
- data/cpee-model-management.gemspec +2 -2
- data/lib/cpee-model-management/implementation.rb +45 -33
- data/lib/cpee-model-management/implementation.xml +6 -1
- data/ui/css/moma.css +20 -2
- data/ui/css/stats.css +10 -1
- data/ui/index.html +8 -22
- data/ui/instances.html +0 -17
- data/ui/instances_view.html +0 -17
- data/ui/js/moma.js +79 -41
- data/ui/resources.html +0 -18
- metadata +2 -2
data/README.md
CHANGED
|
@@ -12,7 +12,7 @@ The service is running under port 9316. If this port has to be changed (or the
|
|
|
12
12
|
host, or local-only access, ...), modify the file moma.conf and change:
|
|
13
13
|
|
|
14
14
|
```yaml
|
|
15
|
-
:port:
|
|
15
|
+
:port: 9316
|
|
16
16
|
```
|
|
17
17
|
|
|
18
18
|
You may also change the directory where the models are saved:
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
Gem::Specification.new do |s|
|
|
2
2
|
s.name = "cpee-model-management"
|
|
3
|
-
s.version = "1.2.
|
|
3
|
+
s.version = "1.2.10"
|
|
4
4
|
s.platform = Gem::Platform::RUBY
|
|
5
|
-
s.license = "
|
|
5
|
+
s.license = "GPL-3.0-or-later"
|
|
6
6
|
s.summary = "(Lifecycle) manage your process models in a directory or git repo."
|
|
7
7
|
|
|
8
8
|
s.description = "see http://cpee.org"
|
|
@@ -156,7 +156,7 @@ module CPEE
|
|
|
156
156
|
{ 'GN' => 'Christine', 'SN' => 'Ashcreek' }
|
|
157
157
|
end
|
|
158
158
|
end #}}}
|
|
159
|
-
def self::notify(conns,op,models,f,s=nil) #{{{
|
|
159
|
+
def self::notify(conns,op,models,f,default,s=nil) #{{{
|
|
160
160
|
what = if f =~ /\.dir$/
|
|
161
161
|
if op == 'delete'
|
|
162
162
|
{ :op => op, :type => :dir, :name => File.basename(f) }
|
|
@@ -169,7 +169,7 @@ module CPEE
|
|
|
169
169
|
{ :op => op, :type => :file, :name => f.sub(Regexp.compile(File.join(models,'/')),'') }
|
|
170
170
|
else
|
|
171
171
|
attrs = JSON::load File.open(f + '.attrs')
|
|
172
|
-
fstage = attrs['design_stage'] rescue
|
|
172
|
+
fstage = attrs['design_stage'] rescue default
|
|
173
173
|
{ :op => op, :type => :file, :name => f.sub(Regexp.compile(File.join(models,'/')),''), :creator => attrs['creator'], :author => attrs['author'], :stage => fstage, :date => File.mtime(f).xmlschema }
|
|
174
174
|
end
|
|
175
175
|
end
|
|
@@ -194,7 +194,7 @@ module CPEE
|
|
|
194
194
|
{ :type => :dir, :name => File.basename(f), :creator => attrs['creator'], :date => File.mtime(f).xmlschema }
|
|
195
195
|
end.compact.uniq.sort_by{ |e| e[:name] } + Dir.glob(File.join(models,where,'*.xml')).map do |f|
|
|
196
196
|
attrs = JSON::load File.open(f + '.attrs')
|
|
197
|
-
fstage = attrs['design_stage'] rescue
|
|
197
|
+
fstage = attrs['design_stage'] rescue default_view
|
|
198
198
|
{ :type => :file, :name => File.basename(f), :creator => attrs['creator'], :author => attrs['author'], :guarded => attrs['guarded'], :guarded_id => attrs['guarded_id'], :stage => fstage, :date => File.mtime(f).xmlschema } if stage.include?(fstage)
|
|
199
199
|
end.compact.uniq.sort_by{ |e| e[:name] }
|
|
200
200
|
|
|
@@ -218,7 +218,7 @@ module CPEE
|
|
|
218
218
|
{ :type => :file, :name => File.join(File.basename(File.dirname(f)),File.basename(f)), :creator => attrs['creator'], :date => File.mtime(f).xmlschema }
|
|
219
219
|
end.compact.uniq.sort_by{ |e| e[:name] } + Dir.glob(File.join(models,'*.xml')).map do |f|
|
|
220
220
|
attrs = JSON::load File.open(f + '.attrs')
|
|
221
|
-
fstage = attrs['design_stage'] rescue
|
|
221
|
+
fstage = attrs['design_stage'] rescue default_view
|
|
222
222
|
{ :type => :file, :name => File.basename(f), :creator => attrs['creator'], :author => attrs['author'], :guarded => attrs['guarded'], :guarded_id => attrs['guarded_id'], :stage => fstage, :date => File.mtime(f).xmlschema } if stage.include?(fstage)
|
|
223
223
|
end.compact.uniq.sort_by{ |e| e[:name] }
|
|
224
224
|
|
|
@@ -228,7 +228,12 @@ module CPEE
|
|
|
228
228
|
class GetStages < Riddl::Implementation #{{{
|
|
229
229
|
def response
|
|
230
230
|
themes = @a[0]
|
|
231
|
-
|
|
231
|
+
default_view = @a[1]
|
|
232
|
+
if @p[0].value == 'all'
|
|
233
|
+
Riddl::Parameter::Complex.new('list','application/json',JSON::pretty_generate(themes&.keys || []))
|
|
234
|
+
else
|
|
235
|
+
Riddl::Parameter::Complex.new('list','application/json',JSON::pretty_generate([default_view]))
|
|
236
|
+
end
|
|
232
237
|
end
|
|
233
238
|
end #}}}
|
|
234
239
|
|
|
@@ -265,7 +270,7 @@ module CPEE
|
|
|
265
270
|
File.write(fname + '.attrs',JSON::pretty_generate(attrs))
|
|
266
271
|
|
|
267
272
|
CPEE::ModelManagement::op author, 'shift', models, File.join('.', where, name + '.xml'), File.join('.', where, name + '.xml')
|
|
268
|
-
CPEE::ModelManagement::notify conns, 'shift', models, fname, fname
|
|
273
|
+
CPEE::ModelManagement::notify conns, 'shift', models, fname, default_view, fname
|
|
269
274
|
nil
|
|
270
275
|
end
|
|
271
276
|
end #}}}
|
|
@@ -279,8 +284,8 @@ module CPEE
|
|
|
279
284
|
nname = @p[0].value
|
|
280
285
|
fname = File.join(models,where,name + '.xml')
|
|
281
286
|
fnname = File.join(models,where,nname + '.xml')
|
|
287
|
+
default_view = @a[3]
|
|
282
288
|
counter = 0
|
|
283
|
-
stage = 'draft'
|
|
284
289
|
while File.exist?(fnname)
|
|
285
290
|
counter += 1
|
|
286
291
|
fnname = File.join(models,where,nname + counter.to_s + '.xml')
|
|
@@ -305,7 +310,7 @@ module CPEE
|
|
|
305
310
|
File.write(fname + '.attrs',JSON::pretty_generate(attrs))
|
|
306
311
|
|
|
307
312
|
CPEE::ModelManagement::op author, 'mv', models, File.join('.', where, File.basename(fnname)), File.join('.', where, name + '.xml')
|
|
308
|
-
CPEE::ModelManagement::notify conns, 'rename', models, fnname, fname
|
|
313
|
+
CPEE::ModelManagement::notify conns, 'rename', models, fnname, default_view, fname
|
|
309
314
|
nil
|
|
310
315
|
end
|
|
311
316
|
end #}}}
|
|
@@ -314,6 +319,7 @@ module CPEE
|
|
|
314
319
|
where = @r[0..-2].map{ |d| Riddl::Protocols::Utils::unescape(d) }.join('/')
|
|
315
320
|
conns = @a[0]
|
|
316
321
|
models = @a[1]
|
|
322
|
+
default_view = @a[2]
|
|
317
323
|
name = File.join(where,File.basename(@r.last,'.dir'))
|
|
318
324
|
nname = File.join(where,@p[0].value)
|
|
319
325
|
fname = File.join(models,name + '.dir')
|
|
@@ -345,7 +351,7 @@ module CPEE
|
|
|
345
351
|
end
|
|
346
352
|
|
|
347
353
|
CPEE::ModelManagement::op author, 'mv', models, File.basename(fnname), name + '.dir'
|
|
348
|
-
CPEE::ModelManagement::notify conns, 'rename', models, fnname, fname
|
|
354
|
+
CPEE::ModelManagement::notify conns, 'rename', models, fnname, default_view, fname
|
|
349
355
|
nil
|
|
350
356
|
end
|
|
351
357
|
end #}}}
|
|
@@ -356,6 +362,7 @@ module CPEE
|
|
|
356
362
|
name = @p[0].value
|
|
357
363
|
conns = @a[1]
|
|
358
364
|
models = @a[2]
|
|
365
|
+
default_view = @a[3]
|
|
359
366
|
|
|
360
367
|
fname = File.join(models,where,name + '.dir')
|
|
361
368
|
counter = 0
|
|
@@ -376,7 +383,7 @@ module CPEE
|
|
|
376
383
|
File.write(fname + '.attrs',JSON::pretty_generate(attrs))
|
|
377
384
|
|
|
378
385
|
CPEE::ModelManagement::op creator, 'add', models, name + '.dir'
|
|
379
|
-
CPEE::ModelManagement::notify conns, 'create', models, fname
|
|
386
|
+
CPEE::ModelManagement::notify conns, 'create', models, fname, default_view
|
|
380
387
|
nil
|
|
381
388
|
end
|
|
382
389
|
end #}}}
|
|
@@ -450,7 +457,7 @@ module CPEE
|
|
|
450
457
|
File.write(fname + '.attrs',JSON::pretty_generate(attrs))
|
|
451
458
|
|
|
452
459
|
CPEE::ModelManagement::op creator, 'add', models, File.join('.', where, name + '.xml')
|
|
453
|
-
CPEE::ModelManagement::notify conns, 'create', models, fname
|
|
460
|
+
CPEE::ModelManagement::notify conns, 'create', models, fname, default_view
|
|
454
461
|
nil
|
|
455
462
|
end
|
|
456
463
|
end #}}}
|
|
@@ -555,6 +562,7 @@ module CPEE
|
|
|
555
562
|
where = @a[0] == :main ? '' : @r[0..-2].map{ |d| Riddl::Protocols::Utils::unescape(d) }.join('/')
|
|
556
563
|
conns = @a[1]
|
|
557
564
|
models = @a[2]
|
|
565
|
+
default_view = @a[3]
|
|
558
566
|
|
|
559
567
|
name = File.basename(@r.last,'.xml')
|
|
560
568
|
to = @p[0].value
|
|
@@ -576,7 +584,7 @@ module CPEE
|
|
|
576
584
|
File.write(fname + '.attrs',JSON::pretty_generate(attrs))
|
|
577
585
|
|
|
578
586
|
CPEE::ModelManagement::op author, 'mv', models, File.join('.', to, name + '.xml'), File.join('.', where, name + '.xml')
|
|
579
|
-
CPEE::ModelManagement::notify conns, 'move', models, File.join(models,to,name + '.xml'), fname
|
|
587
|
+
CPEE::ModelManagement::notify conns, 'move', models, File.join(models,to,name + '.xml'), default_view, fname
|
|
580
588
|
end
|
|
581
589
|
end
|
|
582
590
|
end #}}}
|
|
@@ -585,14 +593,13 @@ module CPEE
|
|
|
585
593
|
where = @a[0] == :main ? '' : @r[0..-2].map{ |d| Riddl::Protocols::Utils::unescape(d) }.join('/')
|
|
586
594
|
conns = @a[1]
|
|
587
595
|
models = @a[2]
|
|
596
|
+
default_view = @a[3]
|
|
588
597
|
name = File.basename(@r.last,'.xml')
|
|
589
598
|
cont = @p[0].value.read
|
|
590
599
|
dn = CPEE::ModelManagement::get_dn @h['DN']
|
|
591
600
|
|
|
592
601
|
fname = File.join(models,where,name + '.xml')
|
|
593
602
|
|
|
594
|
-
p fname
|
|
595
|
-
|
|
596
603
|
if File.exist?(fname)
|
|
597
604
|
author = dn['GN'] + ' ' + dn['SN']
|
|
598
605
|
attrs = {}
|
|
@@ -602,10 +609,10 @@ module CPEE
|
|
|
602
609
|
ele.text = dn['GN'] + ' ' + dn['SN']
|
|
603
610
|
end
|
|
604
611
|
if doc.find('/p:testset/p:attributes/p:design_stage').empty?
|
|
605
|
-
doc.find('/p:testset/p:attributes').first.add('p:design_stage',
|
|
612
|
+
doc.find('/p:testset/p:attributes').first.add('p:design_stage',default_view)
|
|
606
613
|
else
|
|
607
614
|
doc.find('/p:testset/p:attributes/p:design_stage').each do |ele|
|
|
608
|
-
ele.text =
|
|
615
|
+
ele.text = default_view if ele.text.strip == ''
|
|
609
616
|
end
|
|
610
617
|
end
|
|
611
618
|
attrs = doc.find('/p:testset/p:attributes/*').map do |e|
|
|
@@ -615,7 +622,7 @@ module CPEE
|
|
|
615
622
|
end
|
|
616
623
|
File.write(fname + '.attrs',JSON::pretty_generate(attrs))
|
|
617
624
|
CPEE::ModelManagement::op author, 'add', models, File.join('.', where, name + '.xml')
|
|
618
|
-
CPEE::ModelManagement::notify conns, 'put', models, fname
|
|
625
|
+
CPEE::ModelManagement::notify conns, 'put', models, fname, default_view
|
|
619
626
|
else
|
|
620
627
|
@status = 400
|
|
621
628
|
end
|
|
@@ -626,6 +633,7 @@ module CPEE
|
|
|
626
633
|
where = @a[0] == :main ? '' : @r[0..-2].map{ |d| Riddl::Protocols::Utils::unescape(d) }.join('/')
|
|
627
634
|
conns = @a[1]
|
|
628
635
|
models = @a[2]
|
|
636
|
+
default_view = @a[3]
|
|
629
637
|
name = File.basename(@r.last,'.xml')
|
|
630
638
|
fname = File.join(models,where,name + '.xml')
|
|
631
639
|
|
|
@@ -633,7 +641,7 @@ module CPEE
|
|
|
633
641
|
author = dn['GN'] + ' ' + dn['SN']
|
|
634
642
|
|
|
635
643
|
CPEE::ModelManagement::op author, 'rm', models, File.join('.', where, name + '.xml')
|
|
636
|
-
CPEE::ModelManagement::notify conns, 'delete', models, fname
|
|
644
|
+
CPEE::ModelManagement::notify conns, 'delete', models, fname, default_view
|
|
637
645
|
end
|
|
638
646
|
end #}}}
|
|
639
647
|
class DeleteDir < Riddl::Implementation #{{{
|
|
@@ -641,6 +649,7 @@ module CPEE
|
|
|
641
649
|
where = @r[0..-2].map{ |d| Riddl::Protocols::Utils::unescape(d) }.join('/')
|
|
642
650
|
conns = @a[0]
|
|
643
651
|
models = @a[1]
|
|
652
|
+
default_view = @a[2]
|
|
644
653
|
name = File.basename(@r.last,'.dir')
|
|
645
654
|
fname = File.join(models,where,name + '.dir')
|
|
646
655
|
|
|
@@ -648,7 +657,7 @@ module CPEE
|
|
|
648
657
|
author = dn['GN'] + ' ' + dn['SN']
|
|
649
658
|
|
|
650
659
|
CPEE::ModelManagement::op author, 'rm', models, File.join(where,name + '.dir')
|
|
651
|
-
CPEE::ModelManagement::notify conns, 'delete', models, fname
|
|
660
|
+
CPEE::ModelManagement::notify conns, 'delete', models, fname, default_view
|
|
652
661
|
end
|
|
653
662
|
end #}}}
|
|
654
663
|
|
|
@@ -910,6 +919,9 @@ module CPEE
|
|
|
910
919
|
opts[:sse_keepalive_frequency] ||= 10
|
|
911
920
|
|
|
912
921
|
CPEE::redis_connect opts, 'Server Main'
|
|
922
|
+
|
|
923
|
+
opts[:default_view] ||= opts[:themes]&.first&.first || 'undefined'
|
|
924
|
+
|
|
913
925
|
Proc.new do
|
|
914
926
|
|
|
915
927
|
parallel do
|
|
@@ -936,24 +948,24 @@ module CPEE
|
|
|
936
948
|
on resource do
|
|
937
949
|
run GetList, :main, opts[:views], opts[:models], opts[:templates], opts[:default_view] if get 'stage'
|
|
938
950
|
run GetListFull, opts[:views], opts[:models], opts[:templates], opts[:default_view] if get 'full'
|
|
939
|
-
run GetStages, opts[:themes] if get 'stages'
|
|
951
|
+
run GetStages, opts[:themes], opts[:default_view] if get 'stages'
|
|
940
952
|
run Create, :main, opts[:views], opts[:management_receivers], opts[:templates], opts[:models], opts[:default_view] if post 'item'
|
|
941
|
-
run CreateDir, :main, opts[:management_receivers], opts[:models] if post 'dir'
|
|
953
|
+
run CreateDir, :main, opts[:management_receivers], opts[:models], opts[:default_view] if post 'dir'
|
|
942
954
|
on resource 'management' do
|
|
943
955
|
run ManagementSend, opts[:management_receivers] if sse
|
|
944
956
|
end
|
|
945
957
|
on resource '[a-zA-Z0-9âÀüΓΓΓ _-]+\.dir' do
|
|
946
958
|
run GetList, :sub, opts[:views], opts[:models], opts[:templates], opts[:default_view] if get 'stage'
|
|
947
|
-
run Create, :sub, opts[:views], opts[:management_receivers], opts[:templates], opts[:models], opts[:default_view]if post 'item'
|
|
948
|
-
run DeleteDir, opts[:management_receivers], opts[:models] if delete
|
|
949
|
-
run RenameDir, opts[:management_receivers], opts[:models] if put 'name'
|
|
950
|
-
run CreateDir, :sub, opts[:management_receivers], opts[:models] if post 'dir'
|
|
959
|
+
run Create, :sub, opts[:views], opts[:management_receivers], opts[:templates], opts[:models], opts[:default_view] if post 'item'
|
|
960
|
+
run DeleteDir, opts[:management_receivers], opts[:models], opts[:default_view] if delete
|
|
961
|
+
run RenameDir, opts[:management_receivers], opts[:models], opts[:default_view] if put 'name'
|
|
962
|
+
run CreateDir, :sub, opts[:management_receivers], opts[:models], opts[:default_view] if post 'dir'
|
|
951
963
|
on resource '[a-zA-Z0-9âÀüΓΓΓ _-]+\.xml' do
|
|
952
|
-
run DeleteItem, :sub, opts[:management_receivers], opts[:models] if delete
|
|
964
|
+
run DeleteItem, :sub, opts[:management_receivers], opts[:models], opts[:default_view] if delete
|
|
953
965
|
run GetItem, :sub, opts[:models] if get
|
|
954
|
-
run PutItem, :sub, opts[:management_receivers], opts[:models] if put 'content'
|
|
955
|
-
run RenameItem, :sub, opts[:management_receivers], opts[:models] if put 'name'
|
|
956
|
-
run MoveItem, :sub, opts[:management_receivers], opts[:models] if put 'movedir'
|
|
966
|
+
run PutItem, :sub, opts[:management_receivers], opts[:models], opts[:default_view] if put 'content'
|
|
967
|
+
run RenameItem, :sub, opts[:management_receivers], opts[:models], opts[:default_view] if put 'name'
|
|
968
|
+
run MoveItem, :sub, opts[:management_receivers], opts[:models], opts[:default_view] if put 'movedir'
|
|
957
969
|
run Create, :sub, opts[:views], opts[:management_receivers], opts[:templates], opts[:models], opts[:default_view]if put 'dupdir'
|
|
958
970
|
run ShiftItem, :sub, opts[:management_receivers], opts[:themes], opts[:models], opts[:default_view] if put 'newstage'
|
|
959
971
|
on resource 'open' do
|
|
@@ -965,11 +977,11 @@ module CPEE
|
|
|
965
977
|
end
|
|
966
978
|
end
|
|
967
979
|
on resource '[a-zA-Z0-9âÀüΓΓΓ _-]+\.xml' do
|
|
968
|
-
run DeleteItem, :main, opts[:management_receivers], opts[:models] if delete
|
|
980
|
+
run DeleteItem, :main, opts[:management_receivers], opts[:models], opts[:default_view] if delete
|
|
969
981
|
run GetItem, :main, opts[:models] if get
|
|
970
|
-
run PutItem, :main, opts[:management_receivers], opts[:models] if put 'content'
|
|
971
|
-
run RenameItem, :main, opts[:management_receivers], opts[:models] if put 'name'
|
|
972
|
-
run MoveItem, :main, opts[:management_receivers], opts[:models] if put 'movedir'
|
|
982
|
+
run PutItem, :main, opts[:management_receivers], opts[:models], opts[:default_view] if put 'content'
|
|
983
|
+
run RenameItem, :main, opts[:management_receivers], opts[:models], opts[:default_view] if put 'name'
|
|
984
|
+
run MoveItem, :main, opts[:management_receivers], opts[:models], opts[:default_view] if put 'movedir'
|
|
973
985
|
run Create, :main, opts[:views], opts[:management_receivers], opts[:templates], opts[:models], opts[:default_view]if put 'dupdir'
|
|
974
986
|
run ShiftItem, :main, opts[:management_receivers], opts[:themes], opts[:models], opts[:default_view] if put 'newstage'
|
|
975
987
|
on resource 'open' do
|
|
@@ -46,7 +46,12 @@
|
|
|
46
46
|
</optional >
|
|
47
47
|
</message>
|
|
48
48
|
<message name="stages">
|
|
49
|
-
<parameter name="stages" type="string"
|
|
49
|
+
<parameter name="stages" type="string">
|
|
50
|
+
<choice>
|
|
51
|
+
<value>all</value>
|
|
52
|
+
<value>default</value>
|
|
53
|
+
</choice>
|
|
54
|
+
</parameter>
|
|
50
55
|
</message>
|
|
51
56
|
<message name="newstage">
|
|
52
57
|
<parameter name="stage" type="string"/>
|
data/ui/css/moma.css
CHANGED
|
@@ -39,6 +39,9 @@
|
|
|
39
39
|
td.selected {
|
|
40
40
|
background-color: var(--x-ui-selection-background) !important;
|
|
41
41
|
}
|
|
42
|
+
td.selected i.uidash-icon-checkox:before {
|
|
43
|
+
content: "\f11d"; /* uidash-icon-checkox-checked */
|
|
44
|
+
}
|
|
42
45
|
|
|
43
46
|
div.fixed {
|
|
44
47
|
position: sticky;
|
|
@@ -92,16 +95,19 @@ ui-behind span {
|
|
|
92
95
|
[is="x-ui-"] table.ui-table tbody tr:nth-child(odd) td {
|
|
93
96
|
background-color: var(--x-ui-content-light-background);
|
|
94
97
|
}
|
|
95
|
-
[is="x-ui-"] table.ui-table tbody tr:hover td
|
|
98
|
+
[is="x-ui-"] table.ui-table tbody tr:hover td,
|
|
99
|
+
[is="x-ui-"] table.ui-table tbody tr.active td {
|
|
96
100
|
background-color: var(--x-ui-content-hover-background);
|
|
97
101
|
}
|
|
98
102
|
[is="x-ui-"] table.ui-table tbody td[data-class=ops] {
|
|
103
|
+
font-size: 1.4em;
|
|
99
104
|
text-align: center;
|
|
100
105
|
}
|
|
101
106
|
[is="x-ui-"] table.ui-table tbody tr:nth-child(odd) td[data-class=ops] {
|
|
102
107
|
background-color: #d0d0d0;
|
|
103
108
|
}
|
|
104
|
-
[is="x-ui-"] table.ui-table tbody tr:hover td[data-class=ops]
|
|
109
|
+
[is="x-ui-"] table.ui-table tbody tr:hover td[data-class=ops],
|
|
110
|
+
[is="x-ui-"] table.ui-table tbody tr.active td[data-class=ops] {
|
|
105
111
|
background-color: #99cee6b0;
|
|
106
112
|
}
|
|
107
113
|
|
|
@@ -112,3 +118,15 @@ ui-behind span {
|
|
|
112
118
|
tr.contextmenuitem .capitalized {
|
|
113
119
|
text-transform: capitalize;
|
|
114
120
|
}
|
|
121
|
+
tr.contextmenuitem > .contextmenuicon {
|
|
122
|
+
vertical-align: middle;
|
|
123
|
+
}
|
|
124
|
+
tr.contextmenuitem > .contextmenuicon div {
|
|
125
|
+
display: flex;
|
|
126
|
+
align-items: center;
|
|
127
|
+
justify-content: center;
|
|
128
|
+
height: auto;
|
|
129
|
+
}
|
|
130
|
+
tr.contextmenuitem > .contextmenuicon i.uidash-icon {
|
|
131
|
+
font-size: 1.2em;
|
|
132
|
+
}
|
data/ui/css/stats.css
CHANGED
|
@@ -46,7 +46,16 @@
|
|
|
46
46
|
margin-left: 0.8em;
|
|
47
47
|
}
|
|
48
48
|
.instances .sub table > tr.text > td:first-child::before {
|
|
49
|
-
|
|
49
|
+
font-family: uidash-icons !important;
|
|
50
|
+
font-style: normal;
|
|
51
|
+
font-weight: normal !important;
|
|
52
|
+
font-variant: normal;
|
|
53
|
+
text-transform: none;
|
|
54
|
+
line-height: 1;
|
|
55
|
+
-webkit-font-smoothing: antialiased;
|
|
56
|
+
-moz-osx-font-smoothing: grayscale;
|
|
57
|
+
|
|
58
|
+
content: "\f12d";
|
|
50
59
|
margin-right: 0.5em;
|
|
51
60
|
}
|
|
52
61
|
|
data/ui/index.html
CHANGED
|
@@ -26,22 +26,10 @@
|
|
|
26
26
|
<!-- libs, do not modify. When local than load local libs. -->
|
|
27
27
|
<script type="text/javascript" src="/js_libs/jquery.min.js"></script>
|
|
28
28
|
<script type="text/javascript" src="/js_libs/jquery.browser.js"></script>
|
|
29
|
-
<script type="text/javascript" src="/js_libs/jquery.svg.min.js"></script>
|
|
30
|
-
<script type="text/javascript" src="/js_libs/jquery.svgdom.min.js"></script>
|
|
31
|
-
<script type="text/javascript" src="/js_libs/vkbeautify.js"></script>
|
|
32
|
-
<script type="text/javascript" src="/js_libs/util.js"></script>
|
|
33
29
|
<script type="text/javascript" src="/js_libs/printf.js"></script>
|
|
34
30
|
<script type="text/javascript" src="/js_libs/strftime.min.js"></script>
|
|
35
|
-
<script type="text/javascript" src="/js_libs/parsequery.js"></script>
|
|
36
|
-
<script type="text/javascript" src="/js_libs/underscore.min.js"></script>
|
|
37
|
-
<script type="text/javascript" src="/js_libs/jquery.caret.min.js"></script>
|
|
38
|
-
<script type="text/javascript" src="/js_libs/jquery.cookie.js"></script>
|
|
39
31
|
<script type="text/javascript" src="/js_libs/plotly.min.js"></script>
|
|
40
32
|
|
|
41
|
-
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery.qrcode/1.0/jquery.qrcode.min.js"></script>
|
|
42
|
-
|
|
43
|
-
<script type="text/javascript" src="/js_libs/relaxngui.js"></script>
|
|
44
|
-
|
|
45
33
|
<script type="text/javascript" src="/js_libs/uidash.js"></script>
|
|
46
34
|
<script type="text/javascript" src="/js_libs/custommenu.js"></script>
|
|
47
35
|
|
|
@@ -50,8 +38,6 @@
|
|
|
50
38
|
|
|
51
39
|
<link rel="stylesheet" href="/global_ui/ui.css" type="text/css"/>
|
|
52
40
|
|
|
53
|
-
<link rel="stylesheet" href="/js_libs/relaxngui.css" type="text/css"/>
|
|
54
|
-
|
|
55
41
|
<!-- custom stuff, play arround -->
|
|
56
42
|
<link rel="stylesheet" href="css/moma.css" type="text/css"/>
|
|
57
43
|
<link rel="stylesheet" href="css/stats.css" type="text/css"/>
|
|
@@ -75,11 +61,11 @@
|
|
|
75
61
|
<ui-area data-belongs-to-tab="models">
|
|
76
62
|
<div class="fixed">
|
|
77
63
|
<div class="text">Your Models are saved/versioned in <a target='_blank' href='https://git-scm.com/'>GIT</a>. So fret not. Just send an email to <a href="mail:helpdesk@cpee.org">helpdesk@cpee.org</a> if you are lost. Click on <strong>Icons</strong> of directory entries, to mark them. Then change to a different directory and move/copy them there. And as always: <a target='_blank' href='https://www.youtube.com/watch?v=kkxj5xVLyj0&feature=youtu.be&t=56'>get dressed for success</a>.</div>
|
|
78
|
-
<div class="breadcrumb"><span class="crumb" onclick=""
|
|
64
|
+
<div class="breadcrumb"><span class="crumb" onclick=""><i class="uidash-icon uidash-text uidash-icon-home"></i> Home</span></div>
|
|
79
65
|
</div>
|
|
80
66
|
<table id="models" class='ui-table'>
|
|
81
67
|
<thead>
|
|
82
|
-
<th data-class='special' class='invisible' title='click for operations'
|
|
68
|
+
<th data-class='special' class='invisible' title='click for operations'><i class="uidash-icon uidash-icon-operations"></i></th>
|
|
83
69
|
<th>Name</th>
|
|
84
70
|
<th><abbr title='force new instance'>F</abbr></th>
|
|
85
71
|
<th><abbr title='link to model source'>M</abbr></th>
|
|
@@ -91,7 +77,7 @@
|
|
|
91
77
|
</thead>
|
|
92
78
|
<template id="folder">
|
|
93
79
|
<tr>
|
|
94
|
-
<td data-class='folder' class="noselect" title='click to mark'
|
|
80
|
+
<td data-class='folder' class="noselect" title='click to mark'><i class="uidash-icon uidash-icon-folder"></i></td>
|
|
95
81
|
<td data-class='name' data-full-name=''><a href=''></a></td>
|
|
96
82
|
<td></td>
|
|
97
83
|
<td></td>
|
|
@@ -99,12 +85,12 @@
|
|
|
99
85
|
<td></td>
|
|
100
86
|
<td></td>
|
|
101
87
|
<td data-class='date'></td>
|
|
102
|
-
<td data-class='ops' class="noselect" title='click for operations'><span
|
|
88
|
+
<td data-class='ops' class="noselect" title='click for operations'><span><i class="uidash-icon uidash-icon-operations"></i></span></td>
|
|
103
89
|
</tr>
|
|
104
90
|
</template>
|
|
105
91
|
<template id="model">
|
|
106
92
|
<tr>
|
|
107
|
-
<td data-class='model' class="noselect" title='click to mark'
|
|
93
|
+
<td data-class='model' class="noselect" title='click to mark'><i class="uidash-icon uidash-icon-checkox"></i></td>
|
|
108
94
|
<td data-class='name' data-full-name=''><a target='_blank' href=''></a></td>
|
|
109
95
|
<td data-class='force'>[<a target='_blank' href='' title='force new instance'>F</a>]</td>
|
|
110
96
|
<td data-class='raw'>[<a target='_blank' href='' title='link to model source'>M</a>]</td>
|
|
@@ -112,7 +98,7 @@
|
|
|
112
98
|
<td data-class='guarded'><abbr title=''></abbr></td>
|
|
113
99
|
<td data-class='resource'></td>
|
|
114
100
|
<td data-class='date'></td>
|
|
115
|
-
<td data-class='ops' class="noselect" title='click for operations'><span
|
|
101
|
+
<td data-class='ops' class="noselect" title='click for operations'><span><i class="uidash-icon uidash-icon-operations"></i></span></td>
|
|
116
102
|
</tr>
|
|
117
103
|
</template>
|
|
118
104
|
<tbody>
|
|
@@ -127,7 +113,7 @@
|
|
|
127
113
|
getting confused and shooting yourself in the foot in your little
|
|
128
114
|
modelling world we allow only unique names. Better safe than sorry.
|
|
129
115
|
</div>
|
|
130
|
-
<div class="breadcrumb"><span class="crumb" onclick=""
|
|
116
|
+
<div class="breadcrumb"><span class="crumb" onclick=""><i class="uidash-icon uidash-icon-home"></i> Home</span></div>
|
|
131
117
|
<form id="newmod">
|
|
132
118
|
<p>
|
|
133
119
|
<input type="text" name="new" required pattern="^[a-zA-Z0-9âÀüΓΓΓ _\-]+" placeholder="Filename (no extension necessary). Only use characters, spaces, underlines and dashes."/>
|
|
@@ -142,7 +128,7 @@
|
|
|
142
128
|
Create an empty directory. Beware, if a directory of the same name
|
|
143
129
|
already exists it can not be created.
|
|
144
130
|
</div>
|
|
145
|
-
<div class="breadcrumb"><span class="crumb" onclick=""
|
|
131
|
+
<div class="breadcrumb"><span class="crumb" onclick=""><i class="uidash-icon uidash-icon-home"></i> Home</span></div>
|
|
146
132
|
<form id="newdir">
|
|
147
133
|
<p>
|
|
148
134
|
<input type="text" name="newdir" required pattern="^[a-zA-Z0-9âÀüΓΓΓ _\-]+" placeholder="Directory name. Only use characters, spaces, underlines and dashes."/>
|
data/ui/instances.html
CHANGED
|
@@ -26,32 +26,15 @@
|
|
|
26
26
|
<!-- libs, do not modify. When local than load local libs. -->
|
|
27
27
|
<script type="text/javascript" src="/js_libs/jquery.min.js"></script>
|
|
28
28
|
<script type="text/javascript" src="/js_libs/jquery.browser.js"></script>
|
|
29
|
-
<script type="text/javascript" src="/js_libs/jquery.svg.min.js"></script>
|
|
30
|
-
<script type="text/javascript" src="/js_libs/jquery.svgdom.min.js"></script>
|
|
31
|
-
<script type="text/javascript" src="/js_libs/vkbeautify.js"></script>
|
|
32
|
-
<script type="text/javascript" src="/js_libs/util.js"></script>
|
|
33
29
|
<script type="text/javascript" src="/js_libs/printf.js"></script>
|
|
34
30
|
<script type="text/javascript" src="/js_libs/strftime.min.js"></script>
|
|
35
|
-
<script type="text/javascript" src="/js_libs/parsequery.js"></script>
|
|
36
|
-
<script type="text/javascript" src="/js_libs/underscore.min.js"></script>
|
|
37
|
-
<script type="text/javascript" src="/js_libs/jquery.caret.min.js"></script>
|
|
38
|
-
<script type="text/javascript" src="/js_libs/jquery.cookie.js"></script>
|
|
39
|
-
<script type="text/javascript" src="/js_libs/plotly.min.js"></script>
|
|
40
|
-
|
|
41
|
-
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery.qrcode/1.0/jquery.qrcode.min.js"></script>
|
|
42
|
-
|
|
43
|
-
<script type="text/javascript" src="/js_libs/relaxngui.js"></script>
|
|
44
31
|
|
|
45
32
|
<script type="text/javascript" src="/js_libs/uidash.js"></script>
|
|
46
|
-
<script type="text/javascript" src="/js_libs/custommenu.js"></script>
|
|
47
33
|
|
|
48
|
-
<link rel="stylesheet" href="/js_libs/custommenu.css" type="text/css"/>
|
|
49
34
|
<link rel="stylesheet" href="/js_libs/uidash.css" type="text/css"/>
|
|
50
35
|
|
|
51
36
|
<link rel="stylesheet" href="/global_ui/ui.css" type="text/css"/>
|
|
52
37
|
|
|
53
|
-
<link rel="stylesheet" href="/js_libs/relaxngui.css" type="text/css"/>
|
|
54
|
-
|
|
55
38
|
<!-- custom stuff, play arround -->
|
|
56
39
|
<link rel="stylesheet" href="css/moma.css" type="text/css"/>
|
|
57
40
|
<link rel="stylesheet" href="css/stats.css" type="text/css"/>
|
data/ui/instances_view.html
CHANGED
|
@@ -26,32 +26,15 @@
|
|
|
26
26
|
<!-- libs, do not modify. When local than load local libs. -->
|
|
27
27
|
<script type="text/javascript" src="/js_libs/jquery.min.js"></script>
|
|
28
28
|
<script type="text/javascript" src="/js_libs/jquery.browser.js"></script>
|
|
29
|
-
<script type="text/javascript" src="/js_libs/jquery.svg.min.js"></script>
|
|
30
|
-
<script type="text/javascript" src="/js_libs/jquery.svgdom.min.js"></script>
|
|
31
|
-
<script type="text/javascript" src="/js_libs/vkbeautify.js"></script>
|
|
32
|
-
<script type="text/javascript" src="/js_libs/util.js"></script>
|
|
33
29
|
<script type="text/javascript" src="/js_libs/printf.js"></script>
|
|
34
30
|
<script type="text/javascript" src="/js_libs/strftime.min.js"></script>
|
|
35
|
-
<script type="text/javascript" src="/js_libs/parsequery.js"></script>
|
|
36
|
-
<script type="text/javascript" src="/js_libs/underscore.min.js"></script>
|
|
37
|
-
<script type="text/javascript" src="/js_libs/jquery.caret.min.js"></script>
|
|
38
|
-
<script type="text/javascript" src="/js_libs/jquery.cookie.js"></script>
|
|
39
|
-
<script type="text/javascript" src="/js_libs/plotly.min.js"></script>
|
|
40
|
-
|
|
41
|
-
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery.qrcode/1.0/jquery.qrcode.min.js"></script>
|
|
42
|
-
|
|
43
|
-
<script type="text/javascript" src="/js_libs/relaxngui.js"></script>
|
|
44
31
|
|
|
45
32
|
<script type="text/javascript" src="/js_libs/uidash.js"></script>
|
|
46
|
-
<script type="text/javascript" src="/js_libs/custommenu.js"></script>
|
|
47
33
|
|
|
48
|
-
<link rel="stylesheet" href="/js_libs/custommenu.css" type="text/css"/>
|
|
49
34
|
<link rel="stylesheet" href="/js_libs/uidash.css" type="text/css"/>
|
|
50
35
|
|
|
51
36
|
<link rel="stylesheet" href="/global_ui/ui.css" type="text/css"/>
|
|
52
37
|
|
|
53
|
-
<link rel="stylesheet" href="/js_libs/relaxngui.css" type="text/css"/>
|
|
54
|
-
|
|
55
38
|
<!-- custom stuff, play arround -->
|
|
56
39
|
<link rel="stylesheet" href="css/moma.css" type="text/css"/>
|
|
57
40
|
<link rel="stylesheet" href="css/stats.css" type="text/css"/>
|