linny-r 1.4.3 → 1.4.5
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.
- package/README.md +102 -48
- package/package.json +1 -1
- package/server.js +31 -6
- package/static/images/check-off-not-same-changed.png +0 -0
- package/static/images/check-off-not-same-not-changed.png +0 -0
- package/static/images/check-off-same-changed.png +0 -0
- package/static/images/check-off-same-not-changed.png +0 -0
- package/static/images/check-on-not-same-changed.png +0 -0
- package/static/images/check-on-not-same-not-changed.png +0 -0
- package/static/images/check-on-same-changed.png +0 -0
- package/static/images/check-on-same-not-changed.png +0 -0
- package/static/images/eq-not-same-changed.png +0 -0
- package/static/images/eq-not-same-not-changed.png +0 -0
- package/static/images/eq-same-changed.png +0 -0
- package/static/images/eq-same-not-changed.png +0 -0
- package/static/images/ne-not-same-changed.png +0 -0
- package/static/images/ne-not-same-not-changed.png +0 -0
- package/static/images/ne-same-changed.png +0 -0
- package/static/images/ne-same-not-changed.png +0 -0
- package/static/images/sort-asc-lead.png +0 -0
- package/static/images/sort-asc.png +0 -0
- package/static/images/sort-desc-lead.png +0 -0
- package/static/images/sort-desc.png +0 -0
- package/static/images/sort-not.png +0 -0
- package/static/index.html +51 -35
- package/static/linny-r.css +167 -53
- package/static/scripts/linny-r-gui-actor-manager.js +340 -0
- package/static/scripts/linny-r-gui-chart-manager.js +944 -0
- package/static/scripts/linny-r-gui-constraint-editor.js +681 -0
- package/static/scripts/linny-r-gui-controller.js +4005 -0
- package/static/scripts/linny-r-gui-dataset-manager.js +1176 -0
- package/static/scripts/linny-r-gui-documentation-manager.js +739 -0
- package/static/scripts/linny-r-gui-equation-manager.js +307 -0
- package/static/scripts/linny-r-gui-experiment-manager.js +1944 -0
- package/static/scripts/linny-r-gui-expression-editor.js +450 -0
- package/static/scripts/linny-r-gui-file-manager.js +392 -0
- package/static/scripts/linny-r-gui-finder.js +727 -0
- package/static/scripts/linny-r-gui-model-autosaver.js +230 -0
- package/static/scripts/linny-r-gui-monitor.js +448 -0
- package/static/scripts/linny-r-gui-paper.js +2789 -0
- package/static/scripts/linny-r-gui-receiver.js +323 -0
- package/static/scripts/linny-r-gui-repository-browser.js +819 -0
- package/static/scripts/linny-r-gui-scale-unit-manager.js +244 -0
- package/static/scripts/linny-r-gui-sensitivity-analysis.js +778 -0
- package/static/scripts/linny-r-gui-undo-redo.js +560 -0
- package/static/scripts/linny-r-model.js +34 -15
- package/static/scripts/linny-r-utils.js +11 -1
- package/static/scripts/linny-r-vm.js +21 -12
- package/static/scripts/linny-r-gui.js +0 -16908
package/static/linny-r.css
CHANGED
@@ -313,42 +313,59 @@ img.sbtn.senab:hover {
|
|
313
313
|
filter: brightness(150%);
|
314
314
|
}
|
315
315
|
|
316
|
-
|
317
|
-
|
316
|
+
/* Bounds button indicates whether LB = UB */
|
317
|
+
div.bbtn {
|
318
318
|
background-size: contain;
|
319
319
|
background-repeat: no-repeat;
|
320
320
|
cursor: pointer;
|
321
321
|
}
|
322
322
|
|
323
|
-
div.
|
324
|
-
|
323
|
+
div.bbtn.eq {
|
324
|
+
background-image: url('images/eq.png');
|
325
|
+
}
|
326
|
+
|
327
|
+
div.bbtn.eq:hover {
|
325
328
|
filter: brightness(120%);
|
326
329
|
}
|
327
330
|
|
328
|
-
div.
|
331
|
+
div.bbtn.eq.same-changed {
|
332
|
+
background-image: url('images/eq-same-changed.png');
|
333
|
+
}
|
334
|
+
|
335
|
+
div.bbtn.eq.same-not-changed {
|
336
|
+
background-image: url('images/eq-same-not-changed.png');
|
337
|
+
}
|
338
|
+
|
339
|
+
div.bbtn.eq.not-same-changed {
|
340
|
+
background-image: url('images/eq-not-same-changed.png');
|
341
|
+
}
|
342
|
+
|
343
|
+
div.bbtn.eq.not-same-not-changed {
|
344
|
+
background-image: url('images/eq-not-same-not-changed.png');
|
345
|
+
}
|
346
|
+
|
347
|
+
div.bbtn.ne {
|
329
348
|
background-image: url('images/ne.png');
|
330
|
-
background-size: contain;
|
331
|
-
background-repeat: no-repeat;
|
332
|
-
cursor: pointer;
|
333
349
|
}
|
334
350
|
|
335
|
-
div.
|
336
|
-
div.contbtn:hover {
|
351
|
+
div.bbtn.ne:hover {
|
337
352
|
filter: brightness(110%);
|
338
353
|
}
|
339
354
|
|
340
|
-
div.
|
341
|
-
background-image: url('images/
|
342
|
-
background-size: contain;
|
343
|
-
background-repeat: no-repeat;
|
344
|
-
cursor: pointer;
|
355
|
+
div.bbtn.ne.same-changed {
|
356
|
+
background-image: url('images/ne-same-changed.png');
|
345
357
|
}
|
346
358
|
|
347
|
-
div.
|
348
|
-
background-image: url('images/
|
349
|
-
|
350
|
-
|
351
|
-
|
359
|
+
div.bbtn.ne.same-not-changed {
|
360
|
+
background-image: url('images/ne-same-not-changed.png');
|
361
|
+
}
|
362
|
+
|
363
|
+
div.bbtn.ne.not-same-changed {
|
364
|
+
background-image: url('images/ne-not-same-changed.png');
|
365
|
+
}
|
366
|
+
|
367
|
+
div.bbtn.ne.not-same-not-changed {
|
368
|
+
background-image: url('images/ne-not-same-not-changed.png');
|
352
369
|
}
|
353
370
|
|
354
371
|
input {
|
@@ -366,7 +383,44 @@ input[type="password"] {
|
|
366
383
|
}
|
367
384
|
|
368
385
|
input[type="text"]:disabled {
|
369
|
-
|
386
|
+
color: gray;
|
387
|
+
background-color: #f4f0f2;
|
388
|
+
}
|
389
|
+
|
390
|
+
input[type="text"].same-not-changed {
|
391
|
+
color: #5060b0;
|
392
|
+
background-color: #f4f8ff;
|
393
|
+
}
|
394
|
+
|
395
|
+
input[type="text"].not-same-not-changed {
|
396
|
+
color: #b06050;
|
397
|
+
background-color: #fff6f4;
|
398
|
+
}
|
399
|
+
|
400
|
+
input[type="text"].same-changed {
|
401
|
+
color: #0000e0;
|
402
|
+
background-color: #c0e0ff;
|
403
|
+
}
|
404
|
+
|
405
|
+
input[type="text"].not-same-changed {
|
406
|
+
color: #e00000;
|
407
|
+
background-color: #ffd0c0;
|
408
|
+
}
|
409
|
+
|
410
|
+
select.same-not-changed {
|
411
|
+
color: #5060b0;
|
412
|
+
}
|
413
|
+
|
414
|
+
select.not-same-not-changed {
|
415
|
+
color: #b06050;
|
416
|
+
}
|
417
|
+
|
418
|
+
select.same-changed {
|
419
|
+
color: #0000e0;
|
420
|
+
}
|
421
|
+
|
422
|
+
select.not-same-changed {
|
423
|
+
color: #e00000;
|
370
424
|
}
|
371
425
|
|
372
426
|
textarea {
|
@@ -619,6 +673,21 @@ img.inline-cancel-btn:hover {
|
|
619
673
|
filter: brightness(120%);
|
620
674
|
}
|
621
675
|
|
676
|
+
#actor-group,
|
677
|
+
#constraint-group,
|
678
|
+
#cluster-group,
|
679
|
+
#link-group,
|
680
|
+
#process-group,
|
681
|
+
#product-group {
|
682
|
+
position: absolute;
|
683
|
+
right: 45px;
|
684
|
+
top: 5px;
|
685
|
+
font-size: 10px;
|
686
|
+
color: #8000a0;
|
687
|
+
background-color: inherit;
|
688
|
+
animation: blink 1s step-start 0s infinite;
|
689
|
+
}
|
690
|
+
|
622
691
|
/* CHECK BOX styles
|
623
692
|
NOTE: separate style names `abox` and `vbox` so that different events can be
|
624
693
|
bound dynamically to actor check boxes */
|
@@ -640,26 +709,59 @@ div.vbox:hover {
|
|
640
709
|
filter: brightness(105%);
|
641
710
|
}
|
642
711
|
|
712
|
+
div.crossed {
|
713
|
+
background-size: contain;
|
714
|
+
background-image: url('images/check-x.png');
|
715
|
+
}
|
716
|
+
|
717
|
+
div.disab {
|
718
|
+
background-size: contain;
|
719
|
+
background-image: url('images/check-disab.png');
|
720
|
+
}
|
721
|
+
|
643
722
|
div.clear {
|
644
723
|
background-size: contain;
|
645
724
|
background-image: url('images/check-off.png');
|
646
725
|
}
|
647
726
|
|
727
|
+
div.clear.same-changed {
|
728
|
+
background-image: url('images/check-off-same-changed.png');
|
729
|
+
}
|
730
|
+
|
731
|
+
div.clear.same-not-changed {
|
732
|
+
background-image: url('images/check-off-same-not-changed.png');
|
733
|
+
}
|
734
|
+
|
735
|
+
div.clear.not-same-changed {
|
736
|
+
background-image: url('images/check-off-not-same-changed.png');
|
737
|
+
}
|
738
|
+
|
739
|
+
div.clear.not-same-not-changed {
|
740
|
+
background-image: url('images/check-off-not-same-not-changed.png');
|
741
|
+
}
|
742
|
+
|
648
743
|
div.checked {
|
649
744
|
background-size: contain;
|
650
745
|
background-image: url('images/check-on.png');
|
651
746
|
}
|
652
747
|
|
653
|
-
div.
|
654
|
-
background-
|
655
|
-
background-image: url('images/check-x.png');
|
748
|
+
div.checked.same-changed {
|
749
|
+
background-image: url('images/check-on-same-changed.png');
|
656
750
|
}
|
657
751
|
|
658
|
-
div.
|
659
|
-
background-
|
660
|
-
background-image: url('images/check-disab.png');
|
752
|
+
div.checked.same-not-changed {
|
753
|
+
background-image: url('images/check-on-same-not-changed.png');
|
661
754
|
}
|
662
755
|
|
756
|
+
div.checked.not-same-changed {
|
757
|
+
background-image: url('images/check-on-not-same-changed.png');
|
758
|
+
}
|
759
|
+
|
760
|
+
div.checked.not-same-not-changed {
|
761
|
+
background-image: url('images/check-on-not-same-not-changed.png');
|
762
|
+
}
|
763
|
+
|
764
|
+
|
663
765
|
/* NOTE: the name of the focal cluster is displayed to the right of
|
664
766
|
the top bar buttons */
|
665
767
|
#focal-cluster {
|
@@ -1293,11 +1395,11 @@ td.export {
|
|
1293
1395
|
white-space: nowrap;
|
1294
1396
|
}
|
1295
1397
|
|
1296
|
-
#process-
|
1398
|
+
#process-LCF {
|
1297
1399
|
width: 77px;
|
1298
1400
|
}
|
1299
1401
|
|
1300
|
-
#process-
|
1402
|
+
#process-LCF-x {
|
1301
1403
|
margin-bottom: 5px;
|
1302
1404
|
}
|
1303
1405
|
|
@@ -1592,12 +1694,24 @@ td.export {
|
|
1592
1694
|
height: min-content;
|
1593
1695
|
}
|
1594
1696
|
|
1697
|
+
#link-x-y {
|
1698
|
+
display: inline-block;
|
1699
|
+
white-space: nowrap;
|
1700
|
+
margin-right: 3px;
|
1701
|
+
}
|
1702
|
+
|
1703
|
+
#link-arrow-1 {
|
1704
|
+
padding: 0 1px;
|
1705
|
+
}
|
1706
|
+
|
1707
|
+
#link-arrow-2 {
|
1708
|
+
padding: 0 2px;
|
1709
|
+
}
|
1710
|
+
|
1595
1711
|
#link-from-name,
|
1596
1712
|
#link-to-name {
|
1597
1713
|
display: inline-block;
|
1598
|
-
max-width:
|
1599
|
-
margin-left: 2px;
|
1600
|
-
margin-right: 2px;
|
1714
|
+
max-width: 135px;
|
1601
1715
|
white-space: nowrap;
|
1602
1716
|
overflow: hidden;
|
1603
1717
|
text-overflow: ellipsis;
|
@@ -1759,18 +1873,18 @@ div.menu-item:hover {
|
|
1759
1873
|
height: 436px;
|
1760
1874
|
}
|
1761
1875
|
|
1762
|
-
#
|
1876
|
+
#constraint-button-bar {
|
1763
1877
|
margin-top: 1px;
|
1764
1878
|
margin-left: 2px;
|
1765
1879
|
}
|
1766
1880
|
|
1767
|
-
#
|
1881
|
+
#constraint-container {
|
1768
1882
|
position: absolute;
|
1769
1883
|
top: 45px;
|
1770
1884
|
left: 20px;
|
1771
1885
|
}
|
1772
1886
|
|
1773
|
-
#
|
1887
|
+
#constraint-y-label {
|
1774
1888
|
position: absolute;
|
1775
1889
|
bottom: 75px;
|
1776
1890
|
left: 8px;
|
@@ -1783,7 +1897,7 @@ div.menu-item:hover {
|
|
1783
1897
|
white-space: nowrap;
|
1784
1898
|
}
|
1785
1899
|
|
1786
|
-
#
|
1900
|
+
#constraint-x-label {
|
1787
1901
|
position: absolute;
|
1788
1902
|
top: 374px;
|
1789
1903
|
left: 45px;
|
@@ -1791,21 +1905,21 @@ div.menu-item:hover {
|
|
1791
1905
|
text-align: center;
|
1792
1906
|
}
|
1793
1907
|
|
1794
|
-
#
|
1908
|
+
#constraint-pos-x {
|
1795
1909
|
position: absolute;
|
1796
1910
|
top: 393px;
|
1797
1911
|
left: 4px;
|
1798
1912
|
width: 54px;
|
1799
1913
|
}
|
1800
1914
|
|
1801
|
-
#
|
1915
|
+
#constraint-pos-y {
|
1802
1916
|
position: absolute;
|
1803
1917
|
top: 393px;
|
1804
1918
|
left: 55px;
|
1805
1919
|
width: 54px;
|
1806
1920
|
}
|
1807
1921
|
|
1808
|
-
#
|
1922
|
+
#constraint-point {
|
1809
1923
|
position: absolute;
|
1810
1924
|
top: 393px;
|
1811
1925
|
left: 160px;
|
@@ -1813,7 +1927,7 @@ div.menu-item:hover {
|
|
1813
1927
|
text-align: center;
|
1814
1928
|
}
|
1815
1929
|
|
1816
|
-
#
|
1930
|
+
#constraint-equation {
|
1817
1931
|
position: absolute;
|
1818
1932
|
top: 393px;
|
1819
1933
|
right: 4px;
|
@@ -1821,14 +1935,14 @@ div.menu-item:hover {
|
|
1821
1935
|
text-align: right;
|
1822
1936
|
}
|
1823
1937
|
|
1824
|
-
#
|
1938
|
+
#constraint {
|
1825
1939
|
width: 330px;
|
1826
1940
|
height: 320px;
|
1827
1941
|
transform-origin: top left;
|
1828
1942
|
}
|
1829
1943
|
|
1830
|
-
#
|
1831
|
-
#
|
1944
|
+
#constraint-from-name,
|
1945
|
+
#constraint-to-name {
|
1832
1946
|
display: inline-block;
|
1833
1947
|
max-width: 190px;
|
1834
1948
|
white-space: nowrap;
|
@@ -1837,7 +1951,7 @@ div.menu-item:hover {
|
|
1837
1951
|
font-weight: 700;
|
1838
1952
|
}
|
1839
1953
|
|
1840
|
-
#
|
1954
|
+
#constraint-from-name {
|
1841
1955
|
vertical-align: bottom;
|
1842
1956
|
}
|
1843
1957
|
|
@@ -1857,7 +1971,7 @@ div.menu-item:hover {
|
|
1857
1971
|
width: 126px;
|
1858
1972
|
}
|
1859
1973
|
|
1860
|
-
#
|
1974
|
+
#constraint-bottom-div {
|
1861
1975
|
position: absolute;
|
1862
1976
|
bottom: 4px;
|
1863
1977
|
left: 4px;
|
@@ -1866,31 +1980,31 @@ div.menu-item:hover {
|
|
1866
1980
|
border-top: 1px solid silver;
|
1867
1981
|
}
|
1868
1982
|
|
1869
|
-
#
|
1983
|
+
#constraint-no-slack-div {
|
1870
1984
|
position: absolute;
|
1871
1985
|
left: -2px;
|
1872
1986
|
bottom: -1px;
|
1873
1987
|
width: 100px;
|
1874
1988
|
}
|
1875
1989
|
|
1876
|
-
#
|
1990
|
+
#constraint-no-slack-lbl {
|
1877
1991
|
display: inline-block;
|
1878
1992
|
vertical-align: top;
|
1879
1993
|
padding-top: 4px;
|
1880
1994
|
}
|
1881
1995
|
|
1882
|
-
#
|
1996
|
+
#constraint-soc-direct {
|
1883
1997
|
height: 19px;
|
1884
1998
|
font-size: 12px;
|
1885
1999
|
}
|
1886
2000
|
|
1887
|
-
#
|
2001
|
+
#constraint-share-of-cost {
|
1888
2002
|
width: 45px;
|
1889
2003
|
max-height: 18px;
|
1890
2004
|
margin: 3px 1px 0 3px;
|
1891
2005
|
}
|
1892
2006
|
|
1893
|
-
#
|
2007
|
+
#constraint-soc {
|
1894
2008
|
position: absolute;
|
1895
2009
|
right: 0px;
|
1896
2010
|
}
|
@@ -2647,7 +2761,7 @@ td.equation-expression {
|
|
2647
2761
|
position: absolute;
|
2648
2762
|
top: 113px;
|
2649
2763
|
width: 200px;
|
2650
|
-
height: calc(100% -
|
2764
|
+
height: calc(100% - 117px);
|
2651
2765
|
overflow-y: auto;
|
2652
2766
|
}
|
2653
2767
|
|
@@ -4750,7 +4864,7 @@ div.call-stack-expr {
|
|
4750
4864
|
overflow: auto;
|
4751
4865
|
}
|
4752
4866
|
|
4753
|
-
#
|
4867
|
+
#move-buttons,
|
4754
4868
|
#confirm-load-from-repo-buttons,
|
4755
4869
|
#confirm-delete-from-repo-buttons,
|
4756
4870
|
#check-update-buttons {
|
@@ -4761,7 +4875,7 @@ div.call-stack-expr {
|
|
4761
4875
|
white-space: nowrap;
|
4762
4876
|
}
|
4763
4877
|
|
4764
|
-
#
|
4878
|
+
#move-buttons > img,
|
4765
4879
|
#confirm-load-from-repo-buttons > img,
|
4766
4880
|
#confirm-delete-from-repo-buttons > img,
|
4767
4881
|
#check-update-buttons > img {
|