graphdb-workbench 10.0.0-M2-1 → 10.5.1
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 +10 -2
- package/dist/0.f8448f998a59db17e94e.bundle.js +25 -0
- package/dist/1.46d9ecd4119bac145f3b.bundle.js +81 -0
- package/dist/10.a26ae97905866618b14e.bundle.js +7 -0
- package/dist/100.aef098a33fbb925e0d2d.bundle.js +1 -0
- package/dist/101.42eacc63e0fb5834b78a.bundle.js +1 -0
- package/dist/102.4f78eeab62aac245879e.bundle.js +1 -0
- package/dist/103.f38f3cd69ff610955aaf.bundle.js +1 -0
- package/dist/104.2e21f1462021dca17db1.bundle.js +1 -0
- package/dist/105.76381cb7984bcbc9ba9a.bundle.js +1 -0
- package/dist/106.23e14c6b280756d04533.bundle.js +1 -0
- package/dist/107.75e40619cb45972dc39f.bundle.js +1 -0
- package/dist/108.f09444e990531d27e0be.bundle.js +1 -0
- package/dist/109.ef97393181ee534042d8.bundle.js +1 -0
- package/dist/11.0fc995ac096734b915c6.bundle.js +1 -0
- package/dist/110.d59b8565d2255a282669.bundle.js +1 -0
- package/dist/111.fff9f089f65f01013923.bundle.js +1 -0
- package/dist/112.5bd3fcd7c37f1024fe26.bundle.js +1 -0
- package/dist/113.2fa29eca15d32deb3320.bundle.js +1 -0
- package/dist/114.d78615087abe68db7b2f.bundle.js +1 -0
- package/dist/115.558ce3da00d3be87d18a.bundle.js +1 -0
- package/dist/116.577aab1d9bafd0053623.bundle.js +1 -0
- package/dist/117.c20f037799328c931eba.bundle.js +1 -0
- package/dist/118.39c8b47405ab93c40847.bundle.js +1 -0
- package/dist/119.19ee7b3ae143f817c5b1.bundle.js +1 -0
- package/dist/12.7877dd6008df9acf44e1.bundle.js +1 -0
- package/dist/120.b944d5e63424d4307fc8.bundle.js +1 -0
- package/dist/121.3a8954e4c885c56a9817.bundle.js +1 -0
- package/dist/122.71a8cf0330504672fffc.bundle.js +1 -0
- package/dist/123.c6957ecb441d8a09932a.bundle.js +1 -0
- package/dist/124.27e85a0284e2ebeb7d6e.bundle.js +1 -0
- package/dist/125.9e925ae0dd1217d81d89.bundle.js +1 -0
- package/dist/126.a32b57d6108545746ed3.bundle.js +1 -0
- package/dist/127.90d1975083eef3d4a715.bundle.js +1 -0
- package/dist/128.544f1a82e19dd245c7de.bundle.js +1 -0
- package/dist/129.64ec11449e0c734500c2.bundle.js +1 -0
- package/dist/13.fe78f15334507bcc08ae.bundle.js +1 -0
- package/dist/130.f8e68ac86e17b3622d40.bundle.js +1 -0
- package/dist/131.4868fc3a837277c30273.bundle.js +1 -0
- package/dist/132.7815ab1168a254cb0d47.bundle.js +1 -0
- package/dist/133.f87e1685dd5ed920f9b5.bundle.js +1 -0
- package/dist/134.8998ff724a077ecff2ce.bundle.js +1 -0
- package/dist/135.c07268699f76ef7a02ff.bundle.js +1 -0
- package/dist/136.908f1f6fe3054f99b560.bundle.js +1 -0
- package/dist/137.8262ca9736e9818284cd.bundle.js +1 -0
- package/dist/138.8c149cad49010a65b3ca.bundle.js +1 -0
- package/dist/139.97ee12e7a3c05be03456.bundle.js +1 -0
- package/dist/14.0bb211bcdc29c6d8b3b5.bundle.js +29 -0
- package/dist/140.6b3c57ffec700081328b.bundle.js +1 -0
- package/dist/141.4981056237955a34b2e2.bundle.js +1 -0
- package/dist/142.4d60c1795eed3a9570f9.bundle.js +1 -0
- package/dist/143.b7057852f7859cf39e75.bundle.js +1 -0
- package/dist/144.3f85f8eacae521d52355.bundle.js +1 -0
- package/dist/145.9281069e9e77978b640a.bundle.js +1 -0
- package/dist/146.51d2987de4defe7df7c7.bundle.js +1 -0
- package/dist/147.54016549674d35bc2869.bundle.js +1 -0
- package/dist/148.ad95b30f508a0bd02970.bundle.js +1 -0
- package/dist/149.8dd1281617389f8c189b.bundle.js +1 -0
- package/dist/15.6a74adbd30b4d2930e10.bundle.js +1 -0
- package/dist/150.5e0ee4350f8edd0e7b9a.bundle.js +1 -0
- package/dist/151.6b81c99a1ec1b184b82d.bundle.js +1 -0
- package/dist/152.2e1aa910a68f0086825b.bundle.js +1 -0
- package/dist/153.7a64973115bdaec26406.bundle.js +1 -0
- package/dist/154.5938248b52830d0a80a2.bundle.js +1 -0
- package/dist/155.a4511849c1001c5f2ba6.bundle.js +1 -0
- package/dist/156.bbcaf52acb0cecbc6257.bundle.js +1 -0
- package/dist/157.51181d03518519f84b5e.bundle.js +1 -0
- package/dist/158.640e412f6002ee1d7341.bundle.js +1 -0
- package/dist/159.10457cbb053c1315d93a.bundle.js +1 -0
- package/dist/16.2f60fbeaccd97aefaae2.bundle.js +1 -0
- package/dist/160.c46bfdf09357a4c62a53.bundle.js +1 -0
- package/dist/{103.05b86c1b360c05133b49.bundle.js → 161.0f35ee11981f0ea0455f.bundle.js} +1 -2
- package/dist/{104.089568ff7c49a29de892.bundle.js → 162.fef28120701e7d200b01.bundle.js} +1 -2
- package/dist/{105.81b74220f7fa646e719b.bundle.js → 163.38565d40ac5f71d1c875.bundle.js} +1 -2
- package/dist/164.b2116f472aa847618aee.bundle.js +1 -0
- package/dist/168.2d4b5a75da5430c73efc.bundle.js +1 -0
- package/dist/169.6897f56896e3664e8b53.bundle.js +1 -0
- package/dist/17.2bff7856b13fd72e2db4.bundle.js +1 -0
- package/dist/170.d5c0d475c5b6ad84ef77.bundle.js +1 -0
- package/dist/171.60cdc91b2bf682a20911.bundle.js +1 -0
- package/dist/172.1fb9ead3e508a7cfa5f3.bundle.js +1 -0
- package/dist/173.95602c81a2692624a015.bundle.js +1 -0
- package/dist/174.aac1982e67b5ca1731c1.bundle.js +1 -0
- package/dist/175.5e49a28397900168f816.bundle.js +1 -0
- package/dist/176.2e6d1a9f4eac4fdd8422.bundle.js +1 -0
- package/dist/177.3b6aabf3c4db8519ea74.bundle.js +1 -0
- package/dist/178.e10370553beb5c6bb839.bundle.js +1 -0
- package/dist/179.784cbd536b8e636c1272.bundle.js +1 -0
- package/dist/18.d6be3e6583bf3dacd54f.bundle.js +2 -0
- package/dist/180.d37db50f3ce1b3a04a65.bundle.js +1 -0
- package/dist/181.f307cabdc4ed7a10ff64.bundle.js +1 -0
- package/dist/182.e8fe148e90fcd334b9b9.bundle.js +1 -0
- package/dist/183.a086e00d4dc3c7855611.bundle.js +1 -0
- package/dist/184.ff8a39692d0ff666c9e6.bundle.js +1 -0
- package/dist/185.8b9f0b866e848f8a1aac.bundle.js +1 -0
- package/dist/186.798880846274da7033da.bundle.js +1 -0
- package/dist/{120.3b0b67fbfa81ec95e044.bundle.js → 187.eb92a35d38294bc21703.bundle.js} +1 -2
- package/dist/{121.ff452d05188836228deb.bundle.js → 188.641582484af80415d29a.bundle.js} +1 -2
- package/dist/189.7ccbb0ef67513ae7001a.bundle.js +1 -0
- package/dist/19.c2a5c3e7a49a4acba486.bundle.js +2 -0
- package/dist/{123.289bb9a87ce416004c0a.bundle.js → 190.a3609218c5d8e873a46f.bundle.js} +1 -2
- package/dist/191.4c817606bf66c16d9ad1.bundle.js +1 -0
- package/dist/{125.51ff26fe7687752811e4.bundle.js → 192.21f366a1ea7e6905f120.bundle.js} +1 -2
- package/dist/193.4d40b788bd7ddcf16788.bundle.js +1 -0
- package/dist/{127.4d0a2164fb95df43ea22.bundle.js → 194.0170093f1daf20e82b5f.bundle.js} +1 -2
- package/dist/{128.c7a3530622ede2f34e72.bundle.js → 195.d7d8af61458f9416878f.bundle.js} +1 -2
- package/dist/{129.2d32313059ae96dba010.bundle.js → 196.6e6b7589cd1342a0b2b5.bundle.js} +1 -2
- package/dist/{130.7302112cf14a10bd1306.bundle.js → 197.c071fa1fe9e081a3b053.bundle.js} +1 -2
- package/dist/{131.eb262b5100305bdc23ee.bundle.js → 198.3c5ca9ac5a745b4b23a1.bundle.js} +1 -2
- package/dist/199.00ac5221a334189ea09a.bundle.js +1 -0
- package/dist/2.78b4e53269171c9c08a5.bundle.js +1 -0
- package/dist/20.8fd969e3860ddffedcc3.bundle.js +1 -0
- package/dist/{133.f855496341ba657eb673.bundle.js → 200.aa3f4dcf9cf98409dbf5.bundle.js} +1 -2
- package/dist/201.a1b147e78f43a3bc99c3.bundle.js +1 -0
- package/dist/202.20e71b18f57e7d234ff0.bundle.js +1 -0
- package/dist/{136.74f131c98a163b48e3df.bundle.js → 203.0219c2ba2d4fe4881af2.bundle.js} +1 -2
- package/dist/204.cc169603e18b84e7e65b.bundle.js +1 -0
- package/dist/{138.9111fe731587313e4574.bundle.js → 205.99fb3c89cd9b9183ddbf.bundle.js} +1 -2
- package/dist/206.43b04d2170165e13353c.bundle.js +1 -0
- package/dist/207.798c195e1d7d3f301131.bundle.js +1 -0
- package/dist/208.34f042066a757f4fd8c0.bundle.js +1 -0
- package/dist/{142.5ced0a8e7a08aea7988f.bundle.js → 209.288844c6a42ff4d5685a.bundle.js} +1 -2
- package/dist/21.c981976c6528073c0a2f.bundle.js +1 -0
- package/dist/210.1ac38e393ca959703d4b.bundle.js +1 -0
- package/dist/211.d2721b9785e609e2f817.bundle.js +1 -0
- package/dist/212.b6b19c939f21132b451c.bundle.js +1 -0
- package/dist/213.5a5116f764e6357e53ab.bundle.js +1 -0
- package/dist/{147.f6bd445276a200981cff.bundle.js → 214.a2640be51c42d820bb83.bundle.js} +1 -2
- package/dist/215.209396a71f130477e2b3.bundle.js +1 -0
- package/dist/216.16e2e982acc750b4045a.bundle.js +1 -0
- package/dist/217.8540eb1d1a0946e72dbf.bundle.js +1 -0
- package/dist/218.ef33580c82d20f39f75f.bundle.js +1 -0
- package/dist/219.1652bc940cdd0088dc18.bundle.js +1 -0
- package/dist/22.9d339503774f4f6c0a8b.bundle.js +1 -0
- package/dist/{153.ebc378a7a60222b69484.bundle.js → 220.f8f9c348b1fc0cc72bd6.bundle.js} +1 -2
- package/dist/221.b18a92f0ba880edaebbf.bundle.js +1 -0
- package/dist/222.a52ebecd1d5201437ebe.bundle.js +1 -0
- package/dist/23.87ca8226d464e3699b8e.bundle.js +3 -0
- package/dist/24.9076b75f45ce0579f7be.bundle.js +1 -0
- package/dist/25.073791b8dd02c5b31183.bundle.js +1 -0
- package/dist/26.6e06be7172a866ad45f9.bundle.js +2 -0
- package/dist/27.5152c2a1f3b1369e21b0.bundle.js +1 -0
- package/dist/28.90b784e728e3d5e4c6aa.bundle.js +1 -0
- package/dist/29.e2309b858706718f1732.bundle.js +1 -0
- package/dist/3.cf89087c137e759ecd19.bundle.js +27 -0
- package/dist/30.32fb84930c42bae43a74.bundle.js +1 -0
- package/dist/31.31b7b4bd073b82c09fda.bundle.js +1 -0
- package/dist/32.6725d94946764db833b8.bundle.js +1 -0
- package/dist/33.fa9f0e662060f2e97267.bundle.js +1 -0
- package/dist/34.af22bc6d5ed2bcb72a09.bundle.js +1 -0
- package/dist/35.e601e19e63c6ddaf2484.bundle.js +1 -0
- package/dist/36.df47a70d8efbf1cd033b.bundle.js +1 -0
- package/dist/37.085cdb373f74d55eee07.bundle.js +2 -0
- package/dist/38.fc172c7b0d24ab0f8a35.bundle.js +1 -0
- package/dist/39.5ca9fa51ec3c63459317.bundle.js +1 -0
- package/dist/4.851f9ade6202116ecfb9.bundle.js +1 -0
- package/dist/40.309ec5212fd53fe696bb.bundle.js +1 -0
- package/dist/41.3870740f1d24570cb415.bundle.js +1 -0
- package/dist/42.b926c2c8620df5c7ed6d.bundle.js +1 -0
- package/dist/43.d4551e1f6cac0a1a77e5.bundle.js +1 -0
- package/dist/44.46c9e2d54a9f07d78368.bundle.js +1 -0
- package/dist/45.a916daee1f0c6873c890.bundle.js +1 -0
- package/dist/46.4f57238bd032edc81d6d.bundle.js +1 -0
- package/dist/47.4fbfdaa63628c501a30c.bundle.js +1 -0
- package/dist/48.3fbd50adcb0c7dd7ec60.bundle.js +1 -0
- package/dist/49.0707795b3b6e40387da8.bundle.js +1 -0
- package/dist/5.7cfbc07050f137932ffe.bundle.js +1 -0
- package/dist/50.8f6cc698b42c96f2b41f.bundle.js +1 -0
- package/dist/51.514a339efd6cd11db0f8.bundle.js +1 -0
- package/dist/52.410a7d8b4cb433fb24ca.bundle.js +1 -0
- package/dist/53.174d18435f7bf3bf05a0.bundle.js +1 -0
- package/dist/54.7cb3bd3ae8055e350629.bundle.js +1 -0
- package/dist/55.f0762e755ba58cbaac26.bundle.js +1 -0
- package/dist/56.3b0312e77f8607a4d957.bundle.js +1 -0
- package/dist/57.dfb7a710da8ca09c725b.bundle.js +1 -0
- package/dist/58.ac0fa95bbbe4b2dfb0fc.bundle.js +1 -0
- package/dist/59.273ffcd48e856d2752ff.bundle.js +1 -0
- package/dist/6.c5eea752e1f541f494e8.bundle.js +1 -0
- package/dist/60.00a29320ea162becd718.bundle.js +1 -0
- package/dist/61.3794de8b6d022738bafa.bundle.js +1 -0
- package/dist/62.cf39ad55adb1616560ec.bundle.js +1 -0
- package/dist/63.8880f667c958d12b338b.bundle.js +1 -0
- package/dist/64.fdd90fedc8a5dc3cacaf.bundle.js +1 -0
- package/dist/65.cdc961a8042c385c49c6.bundle.js +1 -0
- package/dist/66.c3b906de2fcf69089b7b.bundle.js +1 -0
- package/dist/67.9c851e5930459a5f5903.bundle.js +1 -0
- package/dist/68.05bba948c414a1e21c8f.bundle.js +1 -0
- package/dist/69.c5561c83fe410ea9a908.bundle.js +1 -0
- package/dist/7.14f008aaac190939acd3.bundle.js +7 -0
- package/dist/70.f2557c225be5923bab24.bundle.js +1 -0
- package/dist/71.e9c3c5ccc70f443c97cf.bundle.js +1 -0
- package/dist/72.0780a8424293909f94a4.bundle.js +1 -0
- package/dist/73.57e88cee0af3f67aee77.bundle.js +1 -0
- package/dist/74.48e90caf0b5ecd351f1d.bundle.js +1 -0
- package/dist/75.c75a824264d0e67421ed.bundle.js +1 -0
- package/dist/76.2ad0f5373462bc70bebf.bundle.js +1 -0
- package/dist/77.303a075d21928354102c.bundle.js +1 -0
- package/dist/78.66f3e9630550f20287ff.bundle.js +1 -0
- package/dist/79.29d39a29721f936ae688.bundle.js +1 -0
- package/dist/8.b5e29f80f8a5766d70d5.bundle.js +2 -0
- package/dist/80.8af0388db859fcc9fbf3.bundle.js +1 -0
- package/dist/{47.686e599732ae6f41120c.bundle.js → 81.2ff1f5047ab4e0591585.bundle.js} +1 -2
- package/dist/82.27bb51dfeb4898504e96.bundle.js +1 -0
- package/dist/83.a59d34bc50cf323af43d.bundle.js +1 -0
- package/dist/84.a4ee7bb5d3ed2e6ead5e.bundle.js +1 -0
- package/dist/{51.895a3dacdc3a8eaee275.bundle.js → 85.1f1b07562fbf97ab3e11.bundle.js} +1 -2
- package/dist/86.637667a4555ae621aff0.bundle.js +1 -0
- package/dist/87.b76338a62297ad83960b.bundle.js +1 -0
- package/dist/88.532e7295b49b1071d45c.bundle.js +1 -0
- package/dist/89.90bb1cf65f183ecce47c.bundle.js +1 -0
- package/dist/9.610b595b60a0fc51466a.bundle.js +1 -0
- package/dist/90.683c4d5b142356f274ef.bundle.js +1 -0
- package/dist/{56.91947e80d8e04223ac58.bundle.js → 91.2437dfc2ea1bc89f53f3.bundle.js} +1 -2
- package/dist/92.a12cfd3b602e98b344de.bundle.js +1 -0
- package/dist/93.a5cb6192d32cb016bb60.bundle.js +1 -0
- package/dist/94.f6a3e7628449796419b6.bundle.js +1 -0
- package/dist/95.15f0e472c49c81a68c3a.bundle.js +1 -0
- package/dist/96.2bf3b75fb0efb6b9e7e8.bundle.js +1 -0
- package/dist/97.bd1988af419f7373b569.bundle.js +1 -0
- package/dist/98.060c6842b3a8ed94dd20.bundle.js +1 -0
- package/dist/{64.ac922cb38c3ff6c431fb.bundle.js → 99.6360b70da56083cd76fe.bundle.js} +1 -2
- package/dist/bundle.39b836d40f0926aeec16.bundle.js +91 -0
- package/dist/css/aclmanagement.css +114 -0
- package/dist/css/angular-tooltips.css +144 -0
- package/dist/css/autocomplete-select.css +62 -0
- package/dist/css/backup-and-restore.css +7 -0
- package/dist/css/bootstrap-graphdb-theme-dark-auto.css +36 -0
- package/dist/css/bootstrap-graphdb-theme.css +514 -252
- package/dist/css/clustermanagement.css +145 -266
- package/dist/css/common.css +105 -0
- package/dist/css/dependencies.css +4 -4
- package/dist/css/domain-range-graph.css +3 -3
- package/dist/css/explore.css +7 -1
- package/dist/css/export.css +13 -9
- package/dist/css/find.css +2 -3
- package/dist/css/fonts/icons.eot +0 -0
- package/dist/css/fonts/icons.svg +14 -5
- package/dist/css/fonts/icons.ttf +0 -0
- package/dist/css/fonts/icons.woff +0 -0
- package/dist/css/fonts/jetbrains-mono-v12-vietnamese_latin-ext_latin_greek_cyrillic-ext_cyrillic-600.woff +0 -0
- package/dist/css/fonts/jetbrains-mono-v12-vietnamese_latin-ext_latin_greek_cyrillic-ext_cyrillic-600.woff2 +0 -0
- package/dist/css/fonts/jetbrains-mono-v12-vietnamese_latin-ext_latin_greek_cyrillic-ext_cyrillic-600italic.woff +0 -0
- package/dist/css/fonts/jetbrains-mono-v12-vietnamese_latin-ext_latin_greek_cyrillic-ext_cyrillic-600italic.woff2 +0 -0
- package/dist/css/fonts/jetbrains-mono-v12-vietnamese_latin-ext_latin_greek_cyrillic-ext_cyrillic-italic.woff +0 -0
- package/dist/css/fonts/jetbrains-mono-v12-vietnamese_latin-ext_latin_greek_cyrillic-ext_cyrillic-italic.woff2 +0 -0
- package/dist/css/fonts/jetbrains-mono-v12-vietnamese_latin-ext_latin_greek_cyrillic-ext_cyrillic-regular.woff +0 -0
- package/dist/css/fonts/jetbrains-mono-v12-vietnamese_latin-ext_latin_greek_cyrillic-ext_cyrillic-regular.woff2 +0 -0
- package/dist/css/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-300.woff +0 -0
- package/dist/css/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-300.woff2 +0 -0
- package/dist/css/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-300italic.woff +0 -0
- package/dist/css/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-300italic.woff2 +0 -0
- package/dist/css/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-500.woff +0 -0
- package/dist/css/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-500.woff2 +0 -0
- package/dist/css/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-500italic.woff +0 -0
- package/dist/css/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-500italic.woff2 +0 -0
- package/dist/css/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-italic.woff +0 -0
- package/dist/css/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-italic.woff2 +0 -0
- package/dist/css/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff +0 -0
- package/dist/css/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff2 +0 -0
- package/dist/css/graphs-config.css +4 -4
- package/dist/css/graphs-vizualizations.css +11 -10
- package/dist/css/guides.css +9 -0
- package/dist/css/jmx.css +22 -0
- package/dist/css/lib/angular-xeditable/xeditable.min.css +2 -2
- package/dist/css/new-sparql.css +68 -2
- package/dist/css/operations-statuses-monitor.css +111 -0
- package/dist/css/plugins.css +7 -18
- package/dist/css/rdf-class-hierarchy-labels.css +2 -2
- package/dist/css/rdf-class-hierarchy.css +3 -3
- package/dist/css/rdf-details-side-panel.css +8 -1
- package/dist/css/rdf-resource-search.css +5 -2
- package/dist/css/repositories.css +73 -31
- package/dist/css/repository.create.css +14 -4
- package/dist/css/shepherd-custom.css +80 -0
- package/dist/css/workbench-custom.css +54 -14
- package/dist/css/yasr.custom.css +28 -6
- package/dist/font/{icons.f404525bf0491c43fc1c35fc43fe14d8.eot → icons.23e96f215ba03e98233de883d2c30b60.eot} +0 -0
- package/dist/i18n/locale-en.json +488 -129
- package/dist/i18n/locale-fr.json +602 -261
- package/dist/icon.png +0 -0
- package/dist/img/{graphdb-logo-sq.75ddb875d9a986a6ac944450ae134725.svg → graphdb-logo-sq.3a5fb4b3f1e0e248dc308da1bf4de9f8.svg} +4 -4
- package/dist/img/{graphdb-logo.cb18d544b9cf2eb6062daa81bdb1f850.svg → graphdb-logo.741abf3e3881e1566e4504c9f00b91c0.svg} +3 -4
- package/dist/img/{graphdb-small.635110bdf15de2ad589b6e3fdaa75887.svg → graphdb-small.5f94ee13e65870be1db31bb89e6deded.svg} +6 -6
- package/dist/img/graphdb-splash.1ef2940889acddc03c7defb3f9f41f8d.svg +1 -0
- package/dist/img/{icons.2271b2cdd5a3d1037d80bf831f4918cc.svg → icons.ab6168834b8775f511d09c8fad540b27.svg} +14 -5
- package/dist/index.html +87 -85
- package/dist/js/angular/autocomplete/templates/modal/add-label.html +9 -8
- package/dist/js/angular/chatgpt/templates/chat.html +113 -0
- package/dist/js/angular/chatgpt/templates/chatInfo.html +11 -0
- package/dist/js/angular/chatgpt/templates/modal/settings.html +61 -0
- package/dist/js/angular/clustermanagement/templates/modal/add-nodes-dialog.html +67 -0
- package/dist/js/angular/clustermanagement/templates/modal/cluster-create-dialog.html +173 -0
- package/dist/js/angular/clustermanagement/templates/modal/cluster-delete-dialog.html +9 -14
- package/dist/js/angular/clustermanagement/templates/modal/cluster-edit-dialog.html +118 -0
- package/dist/js/angular/clustermanagement/templates/modal/remove-nodes-dialog.html +39 -0
- package/dist/js/angular/clustermanagement/templates/modal/replace-nodes-dialog.html +86 -0
- package/dist/js/angular/core/directives/autocomplete/templates/autocomplete.html +18 -0
- package/dist/js/angular/core/directives/languageselector/templates/languageSelector.html +9 -7
- package/dist/js/angular/core/directives/operations-statuses-monitor/templates/operations-statuses-monitor.html +57 -0
- package/dist/js/angular/core/directives/queryeditor/templates/query-editor.html +44 -56
- package/dist/js/angular/core/directives/queryeditor/templates/query-sample.html +11 -11
- package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +4 -6
- package/dist/js/angular/core/templates/core-errors.html +27 -18
- package/dist/js/angular/core/templates/inactive-plugin-warning-page.html +1 -2
- package/dist/js/angular/core/templates/modal/copy-to-clipboard-modal.html +9 -10
- package/dist/js/angular/core/templates/modal/modal-warning.html +1 -1
- package/dist/js/angular/core/templates/search-resource-input.html +9 -9
- package/dist/js/angular/externalsync/templates/deleteConnector.html +5 -5
- package/dist/js/angular/graphexplore/templates/modal/save-graph.html +10 -11
- package/dist/js/angular/graphexplore/templates/rdfsCommentLabelTemplate.html +4 -6
- package/dist/js/angular/graphexplore/templates/searchIconInputTemplate.html +5 -7
- package/dist/js/angular/import/templates/filesTable.html +15 -15
- package/dist/js/angular/import/templates/settingsModal.html +231 -231
- package/dist/js/angular/import/templates/textSnippet.html +4 -4
- package/dist/js/angular/import/templates/urlImport.html +7 -5
- package/dist/js/angular/repositories/templates/fedx-repo.html +53 -49
- package/dist/js/angular/repositories/templates/ontop-repo.html +191 -60
- package/dist/js/angular/security/templates/modal/default-authorities.html +12 -12
- package/dist/js/angular/security/templates/user.html +102 -41
- package/dist/js/angular/security/templates/users.html +24 -17
- package/dist/js/angular/settings/modal/location-settings.html +17 -18
- package/dist/js/angular/settings/modal/validate-license.html +19 -6
- package/dist/js/angular/templates/graphdb-small.svg +6 -6
- package/dist/js/angular/templates/modal/add-fedx-remote-repo.html +17 -15
- package/dist/js/angular/templates/modal/add-location.html +18 -22
- package/dist/js/angular/templates/modal/edit-location.html +11 -11
- package/dist/js/angular/templates/modal/editRepoFile.html +2 -2
- package/dist/js/angular/templates/modal/upload-repository-config.html +2 -2
- package/dist/js/angular/templates/repositorySize.html +7 -1
- package/dist/js/lib/angucomplete-alt/angucomplete-alt.css +2 -2
- package/dist/js/lib/rzslider/rzslider.min.css +1 -1
- package/dist/license-checker-static.json +128 -0
- package/dist/license-checker.json +872 -0
- package/dist/main.3ac2b4b19f56209c6467.css +1 -0
- package/dist/main.948c3b96766ce09e145b.bundle.js +1 -0
- package/dist/pages/aclmanagement.html +177 -0
- package/dist/pages/autocomplete.html +16 -12
- package/dist/pages/choose-repository-type.html +8 -8
- package/dist/pages/cluster-management/clusterInfo.html +160 -138
- package/dist/pages/connectorsInfo.html +23 -18
- package/dist/pages/create-index.html +18 -18
- package/dist/pages/createConnector.html +137 -137
- package/dist/pages/dependencies.html +23 -31
- package/dist/pages/domainRangeInfo.html +16 -19
- package/dist/pages/edit.html +15 -15
- package/dist/pages/explore.html +22 -25
- package/dist/pages/export.html +38 -39
- package/dist/pages/find.html +3 -3
- package/dist/pages/graph-config/saveGraphConfig.html +43 -43
- package/dist/pages/graphs-visualizations.html +71 -78
- package/dist/pages/guides.html +60 -0
- package/dist/pages/home.html +46 -28
- package/dist/pages/import.html +11 -10
- package/dist/pages/info.html +18 -18
- package/dist/pages/jdbc-create.html +48 -46
- package/dist/pages/jdbc.html +4 -4
- package/dist/pages/licenseInfo.html +66 -48
- package/dist/pages/login.html +5 -6
- package/dist/pages/monitor/backup-and-restore.html +80 -0
- package/dist/pages/monitor/queries.html +7 -8
- package/dist/pages/monitor/resources.html +213 -79
- package/dist/pages/namespaces.html +22 -21
- package/dist/pages/plugins.html +9 -10
- package/dist/pages/rdfClassHierarchyInfo.html +31 -35
- package/dist/pages/rdfrank.html +25 -27
- package/dist/pages/registerLicenseInfo.html +10 -12
- package/dist/pages/repositories.html +170 -193
- package/dist/pages/repository.html +124 -58
- package/dist/pages/similarity-indexes.html +18 -18
- package/dist/pages/sparql-template-create.html +30 -29
- package/dist/pages/sparql-templates.html +4 -4
- package/dist/pages/sparql.html +11 -11
- package/dist/pages/ux-test1.html +102 -0
- package/dist/pages/ux-test2.html +17 -0
- package/dist/pages/webapi.html +4 -4
- package/dist/plugin-registry.js +14 -0
- package/dist/plugins.js +1967 -84
- package/dist/res/sparql/keyboard-shortcuts.html +7 -1
- package/dist/res/swagger/css/onto-theme.css +8 -0
- package/dist/res/swagger/css/reset.css +1 -2
- package/dist/res/swagger/css/screen.css +6 -15
- package/dist/res/swagger/fonts/icons.woff +0 -0
- package/dist/res/swagger/fonts/jetbrains-mono-v12-vietnamese_latin-ext_latin_greek_cyrillic-ext_cyrillic-600.woff +0 -0
- package/dist/res/swagger/fonts/jetbrains-mono-v12-vietnamese_latin-ext_latin_greek_cyrillic-ext_cyrillic-600.woff2 +0 -0
- package/dist/res/swagger/fonts/jetbrains-mono-v12-vietnamese_latin-ext_latin_greek_cyrillic-ext_cyrillic-600italic.woff +0 -0
- package/dist/res/swagger/fonts/jetbrains-mono-v12-vietnamese_latin-ext_latin_greek_cyrillic-ext_cyrillic-600italic.woff2 +0 -0
- package/dist/res/swagger/fonts/jetbrains-mono-v12-vietnamese_latin-ext_latin_greek_cyrillic-ext_cyrillic-italic.woff +0 -0
- package/dist/res/swagger/fonts/jetbrains-mono-v12-vietnamese_latin-ext_latin_greek_cyrillic-ext_cyrillic-italic.woff2 +0 -0
- package/dist/res/swagger/fonts/jetbrains-mono-v12-vietnamese_latin-ext_latin_greek_cyrillic-ext_cyrillic-regular.woff +0 -0
- package/dist/res/swagger/fonts/jetbrains-mono-v12-vietnamese_latin-ext_latin_greek_cyrillic-ext_cyrillic-regular.woff2 +0 -0
- package/dist/res/swagger/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-300.woff +0 -0
- package/dist/res/swagger/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-300.woff2 +0 -0
- package/dist/res/swagger/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-300italic.woff +0 -0
- package/dist/res/swagger/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-300italic.woff2 +0 -0
- package/dist/res/swagger/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-500.woff +0 -0
- package/dist/res/swagger/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-500.woff2 +0 -0
- package/dist/res/swagger/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-500italic.woff +0 -0
- package/dist/res/swagger/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-500italic.woff2 +0 -0
- package/dist/res/swagger/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-italic.woff +0 -0
- package/dist/res/swagger/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-italic.woff2 +0 -0
- package/dist/res/swagger/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff +0 -0
- package/dist/res/swagger/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff2 +0 -0
- package/dist/res/swagger/fonts/rubik-italic.woff +0 -0
- package/dist/res/swagger/fonts/rubik-italic.woff2 +0 -0
- package/dist/res/swagger/fonts/rubik-light.woff +0 -0
- package/dist/res/swagger/fonts/rubik-light.woff2 +0 -0
- package/dist/res/swagger/fonts/rubik-lightitalic.woff +0 -0
- package/dist/res/swagger/fonts/rubik-lightitalic.woff2 +0 -0
- package/dist/res/swagger/fonts/rubik-medium.woff +0 -0
- package/dist/res/swagger/fonts/rubik-medium.woff2 +0 -0
- package/dist/res/swagger/fonts/rubik-mediumitalic.woff +0 -0
- package/dist/res/swagger/fonts/rubik-mediumitalic.woff2 +0 -0
- package/dist/res/swagger/fonts/rubik-regular.woff +0 -0
- package/dist/res/swagger/fonts/rubik-regular.woff2 +0 -0
- package/dist/res/swagger/index.html +27 -25
- package/dist/vendor.7b6ede99ef82acd3dcf5.bundle.js +27 -0
- package/dist/{vendor.4ba46e62f4d43dab5e82.css → vendor.d1c629ceaacea40a5f4a.css} +1 -1
- package/package.json +13 -9
- package/dist/0.32d0f91ca9c8d09fb6f1.bundle.js +0 -82
- package/dist/0.32d0f91ca9c8d09fb6f1.bundle.js.map +0 -1
- package/dist/1.6300131e72a9f28f9df3.bundle.js +0 -27
- package/dist/1.6300131e72a9f28f9df3.bundle.js.map +0 -1
- package/dist/10.bb0713b18c3e55445fa7.bundle.js +0 -2
- package/dist/10.bb0713b18c3e55445fa7.bundle.js.map +0 -1
- package/dist/100.acbece8e389effbcfa2e.bundle.js +0 -2
- package/dist/100.acbece8e389effbcfa2e.bundle.js.map +0 -1
- package/dist/101.abc28aeafc8c037b80dc.bundle.js +0 -2
- package/dist/101.abc28aeafc8c037b80dc.bundle.js.map +0 -1
- package/dist/102.236df15ec49946c8799a.bundle.js +0 -2
- package/dist/102.236df15ec49946c8799a.bundle.js.map +0 -1
- package/dist/103.05b86c1b360c05133b49.bundle.js.map +0 -1
- package/dist/104.089568ff7c49a29de892.bundle.js.map +0 -1
- package/dist/105.81b74220f7fa646e719b.bundle.js.map +0 -1
- package/dist/106.5de7943f8a3adda97372.bundle.js +0 -2
- package/dist/106.5de7943f8a3adda97372.bundle.js.map +0 -1
- package/dist/11.288d37db1902f00f7c8e.bundle.js +0 -2
- package/dist/11.288d37db1902f00f7c8e.bundle.js.map +0 -1
- package/dist/110.5a553b21d45a64e7e321.bundle.js +0 -2
- package/dist/110.5a553b21d45a64e7e321.bundle.js.map +0 -1
- package/dist/111.04e34833a2c4fc227899.bundle.js +0 -2
- package/dist/111.04e34833a2c4fc227899.bundle.js.map +0 -1
- package/dist/112.b2bdfd64c50509d05503.bundle.js +0 -2
- package/dist/112.b2bdfd64c50509d05503.bundle.js.map +0 -1
- package/dist/113.b386b036c2a3d9077f64.bundle.js +0 -2
- package/dist/113.b386b036c2a3d9077f64.bundle.js.map +0 -1
- package/dist/114.0768e042a8e6ec856942.bundle.js +0 -2
- package/dist/114.0768e042a8e6ec856942.bundle.js.map +0 -1
- package/dist/115.374b221f284e8755ef31.bundle.js +0 -2
- package/dist/115.374b221f284e8755ef31.bundle.js.map +0 -1
- package/dist/116.ca9d40889c222f47c45f.bundle.js +0 -2
- package/dist/116.ca9d40889c222f47c45f.bundle.js.map +0 -1
- package/dist/117.92f7630bfb95444a87e8.bundle.js +0 -2
- package/dist/117.92f7630bfb95444a87e8.bundle.js.map +0 -1
- package/dist/118.7e28dcfd80b93a705d71.bundle.js +0 -2
- package/dist/118.7e28dcfd80b93a705d71.bundle.js.map +0 -1
- package/dist/119.e3a038ffb960ed3661fe.bundle.js +0 -2
- package/dist/119.e3a038ffb960ed3661fe.bundle.js.map +0 -1
- package/dist/12.9004ab127289745129a4.bundle.js +0 -4
- package/dist/12.9004ab127289745129a4.bundle.js.map +0 -1
- package/dist/120.3b0b67fbfa81ec95e044.bundle.js.map +0 -1
- package/dist/121.ff452d05188836228deb.bundle.js.map +0 -1
- package/dist/122.1b8056c745358fa2f6cb.bundle.js +0 -2
- package/dist/122.1b8056c745358fa2f6cb.bundle.js.map +0 -1
- package/dist/123.289bb9a87ce416004c0a.bundle.js.map +0 -1
- package/dist/124.75965fcb93d0fe988609.bundle.js +0 -2
- package/dist/124.75965fcb93d0fe988609.bundle.js.map +0 -1
- package/dist/125.51ff26fe7687752811e4.bundle.js.map +0 -1
- package/dist/126.b89a0728154793be4eb9.bundle.js +0 -2
- package/dist/126.b89a0728154793be4eb9.bundle.js.map +0 -1
- package/dist/127.4d0a2164fb95df43ea22.bundle.js.map +0 -1
- package/dist/128.c7a3530622ede2f34e72.bundle.js.map +0 -1
- package/dist/129.2d32313059ae96dba010.bundle.js.map +0 -1
- package/dist/13.897f9af290de9fbd43bb.bundle.js +0 -16
- package/dist/13.897f9af290de9fbd43bb.bundle.js.map +0 -1
- package/dist/130.7302112cf14a10bd1306.bundle.js.map +0 -1
- package/dist/131.eb262b5100305bdc23ee.bundle.js.map +0 -1
- package/dist/132.264b9ebf860e308417ad.bundle.js +0 -2
- package/dist/132.264b9ebf860e308417ad.bundle.js.map +0 -1
- package/dist/133.f855496341ba657eb673.bundle.js.map +0 -1
- package/dist/134.91de2ab11c49967200ad.bundle.js +0 -2
- package/dist/134.91de2ab11c49967200ad.bundle.js.map +0 -1
- package/dist/135.82e48e81e60b2ab89e04.bundle.js +0 -2
- package/dist/135.82e48e81e60b2ab89e04.bundle.js.map +0 -1
- package/dist/136.74f131c98a163b48e3df.bundle.js.map +0 -1
- package/dist/137.89253235e0e48f86534b.bundle.js +0 -2
- package/dist/137.89253235e0e48f86534b.bundle.js.map +0 -1
- package/dist/138.9111fe731587313e4574.bundle.js.map +0 -1
- package/dist/139.642cab70149cdfc8c034.bundle.js +0 -2
- package/dist/139.642cab70149cdfc8c034.bundle.js.map +0 -1
- package/dist/14.3c22be70e13b5347940a.bundle.js +0 -3
- package/dist/14.3c22be70e13b5347940a.bundle.js.map +0 -1
- package/dist/140.8fcbd3b16a54b9ca5d80.bundle.js +0 -2
- package/dist/140.8fcbd3b16a54b9ca5d80.bundle.js.map +0 -1
- package/dist/141.09939d5f25d69d9e1bdd.bundle.js +0 -2
- package/dist/141.09939d5f25d69d9e1bdd.bundle.js.map +0 -1
- package/dist/142.5ced0a8e7a08aea7988f.bundle.js.map +0 -1
- package/dist/143.1bd6e2941d5c9fdc9e77.bundle.js +0 -2
- package/dist/143.1bd6e2941d5c9fdc9e77.bundle.js.map +0 -1
- package/dist/144.34dd1b710f93da283e39.bundle.js +0 -2
- package/dist/144.34dd1b710f93da283e39.bundle.js.map +0 -1
- package/dist/145.832e90a54396296da91b.bundle.js +0 -2
- package/dist/145.832e90a54396296da91b.bundle.js.map +0 -1
- package/dist/146.a4ab1f2f5177d9e27861.bundle.js +0 -2
- package/dist/146.a4ab1f2f5177d9e27861.bundle.js.map +0 -1
- package/dist/147.f6bd445276a200981cff.bundle.js.map +0 -1
- package/dist/148.1c23268b87514b7220b3.bundle.js +0 -2
- package/dist/148.1c23268b87514b7220b3.bundle.js.map +0 -1
- package/dist/149.82fc16905f1377c6610a.bundle.js +0 -2
- package/dist/149.82fc16905f1377c6610a.bundle.js.map +0 -1
- package/dist/15.ba4fe6f57951d2f73adc.bundle.js +0 -2
- package/dist/15.ba4fe6f57951d2f73adc.bundle.js.map +0 -1
- package/dist/150.6d8e3bb0cbc5774322d9.bundle.js +0 -2
- package/dist/150.6d8e3bb0cbc5774322d9.bundle.js.map +0 -1
- package/dist/151.c752cbb4d5f9299df813.bundle.js +0 -2
- package/dist/151.c752cbb4d5f9299df813.bundle.js.map +0 -1
- package/dist/152.78d7840c4b8f93748bfe.bundle.js +0 -2
- package/dist/152.78d7840c4b8f93748bfe.bundle.js.map +0 -1
- package/dist/153.ebc378a7a60222b69484.bundle.js.map +0 -1
- package/dist/154.4452ad65074e44967389.bundle.js +0 -2
- package/dist/154.4452ad65074e44967389.bundle.js.map +0 -1
- package/dist/155.12819130f26753e109ad.bundle.js +0 -2
- package/dist/155.12819130f26753e109ad.bundle.js.map +0 -1
- package/dist/16.a236b38d63123b1a3c61.bundle.js +0 -4
- package/dist/16.a236b38d63123b1a3c61.bundle.js.map +0 -1
- package/dist/17.d8d59fa7fbb3b422fdf8.bundle.js +0 -2
- package/dist/17.d8d59fa7fbb3b422fdf8.bundle.js.map +0 -1
- package/dist/18.bc2da9ff57be136ef082.bundle.js +0 -2
- package/dist/18.bc2da9ff57be136ef082.bundle.js.map +0 -1
- package/dist/19.19811699b6e54f19f71e.bundle.js +0 -3
- package/dist/19.19811699b6e54f19f71e.bundle.js.map +0 -1
- package/dist/2.fb2f97f5c543a24296f6.bundle.js +0 -2
- package/dist/2.fb2f97f5c543a24296f6.bundle.js.map +0 -1
- package/dist/20.df3652981fc73c6a8b8c.bundle.js +0 -2
- package/dist/20.df3652981fc73c6a8b8c.bundle.js.map +0 -1
- package/dist/21.b7fbdf3c3b22b578928c.bundle.js +0 -2
- package/dist/21.b7fbdf3c3b22b578928c.bundle.js.map +0 -1
- package/dist/22.2da0e8ec2ac2048ecd60.bundle.js +0 -3
- package/dist/22.2da0e8ec2ac2048ecd60.bundle.js.map +0 -1
- package/dist/23.4140c4c20347efc963a4.bundle.js +0 -2
- package/dist/23.4140c4c20347efc963a4.bundle.js.map +0 -1
- package/dist/24.219ce55f8f6a5bd02dad.bundle.js +0 -2
- package/dist/24.219ce55f8f6a5bd02dad.bundle.js.map +0 -1
- package/dist/25.e79de2370b1ee4072e19.bundle.js +0 -2
- package/dist/25.e79de2370b1ee4072e19.bundle.js.map +0 -1
- package/dist/26.c1619706b8cbb1ab23cb.bundle.js +0 -2
- package/dist/26.c1619706b8cbb1ab23cb.bundle.js.map +0 -1
- package/dist/27.350dba622e243e1ab5fb.bundle.js +0 -2
- package/dist/27.350dba622e243e1ab5fb.bundle.js.map +0 -1
- package/dist/28.e687c87a5f1dc8a30fd0.bundle.js +0 -2
- package/dist/28.e687c87a5f1dc8a30fd0.bundle.js.map +0 -1
- package/dist/29.34a4af65623cd4af6899.bundle.js +0 -2
- package/dist/29.34a4af65623cd4af6899.bundle.js.map +0 -1
- package/dist/3.dfa66b44200c3fca24a2.bundle.js +0 -2
- package/dist/3.dfa66b44200c3fca24a2.bundle.js.map +0 -1
- package/dist/30.f4738c7c2d74f00f2e5f.bundle.js +0 -2
- package/dist/30.f4738c7c2d74f00f2e5f.bundle.js.map +0 -1
- package/dist/31.ab8f2e70841221e1d427.bundle.js +0 -2
- package/dist/31.ab8f2e70841221e1d427.bundle.js.map +0 -1
- package/dist/32.3210a7952ffcb57daa1a.bundle.js +0 -2
- package/dist/32.3210a7952ffcb57daa1a.bundle.js.map +0 -1
- package/dist/33.fcf9c56901b5590bd603.bundle.js +0 -2
- package/dist/33.fcf9c56901b5590bd603.bundle.js.map +0 -1
- package/dist/34.2c344c05bfc4048c3d53.bundle.js +0 -2
- package/dist/34.2c344c05bfc4048c3d53.bundle.js.map +0 -1
- package/dist/35.423c4a91e80adf5d97c8.bundle.js +0 -2
- package/dist/35.423c4a91e80adf5d97c8.bundle.js.map +0 -1
- package/dist/36.247686b6d65de11ec10d.bundle.js +0 -2
- package/dist/36.247686b6d65de11ec10d.bundle.js.map +0 -1
- package/dist/37.5f6089a939b59309cc82.bundle.js +0 -2
- package/dist/37.5f6089a939b59309cc82.bundle.js.map +0 -1
- package/dist/38.9e79a9ec2f9d5af38692.bundle.js +0 -2
- package/dist/38.9e79a9ec2f9d5af38692.bundle.js.map +0 -1
- package/dist/39.b64ae969a5f5fea4504c.bundle.js +0 -2
- package/dist/39.b64ae969a5f5fea4504c.bundle.js.map +0 -1
- package/dist/4.188966396c80909f58cd.bundle.js +0 -2
- package/dist/4.188966396c80909f58cd.bundle.js.map +0 -1
- package/dist/40.1303e99feecbba2614a7.bundle.js +0 -2
- package/dist/40.1303e99feecbba2614a7.bundle.js.map +0 -1
- package/dist/41.687956ca2240355a838f.bundle.js +0 -2
- package/dist/41.687956ca2240355a838f.bundle.js.map +0 -1
- package/dist/42.78e0302e87b9d244a1d7.bundle.js +0 -2
- package/dist/42.78e0302e87b9d244a1d7.bundle.js.map +0 -1
- package/dist/43.ee0de548c525f8e422ba.bundle.js +0 -2
- package/dist/43.ee0de548c525f8e422ba.bundle.js.map +0 -1
- package/dist/44.38b4979d4b201ae1fffb.bundle.js +0 -2
- package/dist/44.38b4979d4b201ae1fffb.bundle.js.map +0 -1
- package/dist/45.8a0ab002ad0f614964e5.bundle.js +0 -2
- package/dist/45.8a0ab002ad0f614964e5.bundle.js.map +0 -1
- package/dist/46.720c0f65b93f4fe01a7c.bundle.js +0 -2
- package/dist/46.720c0f65b93f4fe01a7c.bundle.js.map +0 -1
- package/dist/47.686e599732ae6f41120c.bundle.js.map +0 -1
- package/dist/48.bdb51ad865126b918831.bundle.js +0 -2
- package/dist/48.bdb51ad865126b918831.bundle.js.map +0 -1
- package/dist/49.74a24e08097ef1f6fcd2.bundle.js +0 -2
- package/dist/49.74a24e08097ef1f6fcd2.bundle.js.map +0 -1
- package/dist/5.9bbd38317d375cd02da2.bundle.js +0 -8
- package/dist/5.9bbd38317d375cd02da2.bundle.js.map +0 -1
- package/dist/50.313e315d4c339ad1bcdd.bundle.js +0 -2
- package/dist/50.313e315d4c339ad1bcdd.bundle.js.map +0 -1
- package/dist/51.895a3dacdc3a8eaee275.bundle.js.map +0 -1
- package/dist/52.1f6bc47f1c9abcc79e8d.bundle.js +0 -2
- package/dist/52.1f6bc47f1c9abcc79e8d.bundle.js.map +0 -1
- package/dist/53.f6c19075252833268cca.bundle.js +0 -2
- package/dist/53.f6c19075252833268cca.bundle.js.map +0 -1
- package/dist/54.599ca3ae32ee1fb5f937.bundle.js +0 -2
- package/dist/54.599ca3ae32ee1fb5f937.bundle.js.map +0 -1
- package/dist/55.c20a51cb1d894f9113b4.bundle.js +0 -2
- package/dist/55.c20a51cb1d894f9113b4.bundle.js.map +0 -1
- package/dist/56.91947e80d8e04223ac58.bundle.js.map +0 -1
- package/dist/57.ab4ee313c9d6c7e29384.bundle.js +0 -2
- package/dist/57.ab4ee313c9d6c7e29384.bundle.js.map +0 -1
- package/dist/58.99c83a8dac31c1b681df.bundle.js +0 -2
- package/dist/58.99c83a8dac31c1b681df.bundle.js.map +0 -1
- package/dist/59.99da52e1d8946ac0f601.bundle.js +0 -2
- package/dist/59.99da52e1d8946ac0f601.bundle.js.map +0 -1
- package/dist/6.6c67a1bcf82bb335b0c4.bundle.js +0 -2
- package/dist/6.6c67a1bcf82bb335b0c4.bundle.js.map +0 -1
- package/dist/60.92b9758945e497e52bac.bundle.js +0 -2
- package/dist/60.92b9758945e497e52bac.bundle.js.map +0 -1
- package/dist/61.42887fbc87f941cf7c81.bundle.js +0 -2
- package/dist/61.42887fbc87f941cf7c81.bundle.js.map +0 -1
- package/dist/62.c21410d6e123395d3920.bundle.js +0 -2
- package/dist/62.c21410d6e123395d3920.bundle.js.map +0 -1
- package/dist/63.1ab0c580ba57aee5479c.bundle.js +0 -2
- package/dist/63.1ab0c580ba57aee5479c.bundle.js.map +0 -1
- package/dist/64.ac922cb38c3ff6c431fb.bundle.js.map +0 -1
- package/dist/65.9fcde753699dc94bea1d.bundle.js +0 -2
- package/dist/65.9fcde753699dc94bea1d.bundle.js.map +0 -1
- package/dist/66.8213a0430e7543b6d7f7.bundle.js +0 -2
- package/dist/66.8213a0430e7543b6d7f7.bundle.js.map +0 -1
- package/dist/67.320a484bc979f5076d8c.bundle.js +0 -2
- package/dist/67.320a484bc979f5076d8c.bundle.js.map +0 -1
- package/dist/68.a69e9e22327878f44dbd.bundle.js +0 -2
- package/dist/68.a69e9e22327878f44dbd.bundle.js.map +0 -1
- package/dist/69.be786580c66ac4ee18cb.bundle.js +0 -2
- package/dist/69.be786580c66ac4ee18cb.bundle.js.map +0 -1
- package/dist/7.0fd9bc389f42820382e4.bundle.js +0 -3
- package/dist/7.0fd9bc389f42820382e4.bundle.js.map +0 -1
- package/dist/70.93cfa1f02948e8276451.bundle.js +0 -2
- package/dist/70.93cfa1f02948e8276451.bundle.js.map +0 -1
- package/dist/71.6b8c8bce52a95f2da242.bundle.js +0 -2
- package/dist/71.6b8c8bce52a95f2da242.bundle.js.map +0 -1
- package/dist/72.6cbb41a38d917191c660.bundle.js +0 -2
- package/dist/72.6cbb41a38d917191c660.bundle.js.map +0 -1
- package/dist/73.801e05b4acc74a3e268c.bundle.js +0 -2
- package/dist/73.801e05b4acc74a3e268c.bundle.js.map +0 -1
- package/dist/74.1c6322e5f93d5376fd76.bundle.js +0 -2
- package/dist/74.1c6322e5f93d5376fd76.bundle.js.map +0 -1
- package/dist/75.c95c9015a30a98acb353.bundle.js +0 -2
- package/dist/75.c95c9015a30a98acb353.bundle.js.map +0 -1
- package/dist/76.29111b9618d43a0dd149.bundle.js +0 -2
- package/dist/76.29111b9618d43a0dd149.bundle.js.map +0 -1
- package/dist/77.6ced6f6e26dfe1c4e00f.bundle.js +0 -2
- package/dist/77.6ced6f6e26dfe1c4e00f.bundle.js.map +0 -1
- package/dist/78.7c7d2a0d9e7c2d2483e6.bundle.js +0 -2
- package/dist/78.7c7d2a0d9e7c2d2483e6.bundle.js.map +0 -1
- package/dist/79.696045e048461f420813.bundle.js +0 -2
- package/dist/79.696045e048461f420813.bundle.js.map +0 -1
- package/dist/8.22695f5c20dcddc1c7f9.bundle.js +0 -2
- package/dist/8.22695f5c20dcddc1c7f9.bundle.js.map +0 -1
- package/dist/80.b5e832779f88ebe839e2.bundle.js +0 -2
- package/dist/80.b5e832779f88ebe839e2.bundle.js.map +0 -1
- package/dist/81.5a0776b89463df60bd1a.bundle.js +0 -2
- package/dist/81.5a0776b89463df60bd1a.bundle.js.map +0 -1
- package/dist/82.0a98b482c7c37a9812fc.bundle.js +0 -2
- package/dist/82.0a98b482c7c37a9812fc.bundle.js.map +0 -1
- package/dist/83.8beeb651df72c23d53ac.bundle.js +0 -2
- package/dist/83.8beeb651df72c23d53ac.bundle.js.map +0 -1
- package/dist/84.6f35fe422db61d53ae3e.bundle.js +0 -2
- package/dist/84.6f35fe422db61d53ae3e.bundle.js.map +0 -1
- package/dist/85.2d1142fcbdf4c9868e94.bundle.js +0 -2
- package/dist/85.2d1142fcbdf4c9868e94.bundle.js.map +0 -1
- package/dist/86.ce91cb69963c2b84e551.bundle.js +0 -2
- package/dist/86.ce91cb69963c2b84e551.bundle.js.map +0 -1
- package/dist/87.d4aa485128cd374a11c7.bundle.js +0 -2
- package/dist/87.d4aa485128cd374a11c7.bundle.js.map +0 -1
- package/dist/88.b4cd8e99a6af1abea692.bundle.js +0 -2
- package/dist/88.b4cd8e99a6af1abea692.bundle.js.map +0 -1
- package/dist/89.8ce40cc9d5fe2596fdf9.bundle.js +0 -2
- package/dist/89.8ce40cc9d5fe2596fdf9.bundle.js.map +0 -1
- package/dist/9.d94f24c12177433d455a.bundle.js +0 -2
- package/dist/9.d94f24c12177433d455a.bundle.js.map +0 -1
- package/dist/90.94988124ca51fa46932e.bundle.js +0 -2
- package/dist/90.94988124ca51fa46932e.bundle.js.map +0 -1
- package/dist/91.bfbbacbaea095478d82e.bundle.js +0 -2
- package/dist/91.bfbbacbaea095478d82e.bundle.js.map +0 -1
- package/dist/92.791121a262e5f42a2ba2.bundle.js +0 -2
- package/dist/92.791121a262e5f42a2ba2.bundle.js.map +0 -1
- package/dist/93.7da268902b8515abecf6.bundle.js +0 -2
- package/dist/93.7da268902b8515abecf6.bundle.js.map +0 -1
- package/dist/94.88f1bd8fa645739c4f30.bundle.js +0 -2
- package/dist/94.88f1bd8fa645739c4f30.bundle.js.map +0 -1
- package/dist/95.bbd1b757de3af20f2ac1.bundle.js +0 -2
- package/dist/95.bbd1b757de3af20f2ac1.bundle.js.map +0 -1
- package/dist/96.38e7df277c99946f9a20.bundle.js +0 -2
- package/dist/96.38e7df277c99946f9a20.bundle.js.map +0 -1
- package/dist/97.1818744137f2fb66596a.bundle.js +0 -2
- package/dist/97.1818744137f2fb66596a.bundle.js.map +0 -1
- package/dist/98.1a14af46a31cf35db0e5.bundle.js +0 -2
- package/dist/98.1a14af46a31cf35db0e5.bundle.js.map +0 -1
- package/dist/99.bd486f7d738e281a0752.bundle.js +0 -2
- package/dist/99.bd486f7d738e281a0752.bundle.js.map +0 -1
- package/dist/bundle.5eeff901b77240e58d27.bundle.js +0 -89
- package/dist/bundle.5eeff901b77240e58d27.bundle.js.map +0 -1
- package/dist/css/fonts/rubik-italic.woff +0 -0
- package/dist/css/fonts/rubik-italic.woff2 +0 -0
- package/dist/css/fonts/rubik-light.woff +0 -0
- package/dist/css/fonts/rubik-light.woff2 +0 -0
- package/dist/css/fonts/rubik-lightitalic.woff +0 -0
- package/dist/css/fonts/rubik-lightitalic.woff2 +0 -0
- package/dist/css/fonts/rubik-medium.woff +0 -0
- package/dist/css/fonts/rubik-medium.woff2 +0 -0
- package/dist/css/fonts/rubik-mediumitalic.woff +0 -0
- package/dist/css/fonts/rubik-mediumitalic.woff2 +0 -0
- package/dist/css/fonts/rubik-regular.woff +0 -0
- package/dist/css/fonts/rubik-regular.woff2 +0 -0
- package/dist/css/lib/bootstrap-switch/bootstrap-switch.min.css +0 -10
- package/dist/img/graphdb-splash.2eb3f7f02aa7e25a2545459e096f3738.svg +0 -141
- package/dist/js/angular/clustermanagement/templates/modal/clone-modal.html +0 -27
- package/dist/js/lib/nvd3/nv.d3.css +0 -755
- package/dist/main.e5d47f1d0bcd23074c38.css +0 -1
- package/dist/main.f10730ef6eebe969b494.bundle.js +0 -2
- package/dist/main.f10730ef6eebe969b494.bundle.js.map +0 -1
- package/dist/pages/cluster-management/cluster-configuration.html +0 -183
- package/dist/res/swagger/css/style.css +0 -250
- package/dist/res/swagger/css/typography.css +0 -60
- package/dist/vendor.327ffd7c7997ca288654.bundle.js +0 -50
- package/dist/vendor.327ffd7c7997ca288654.bundle.js.map +0 -1
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{215:function(e,t,n){"use strict";var r=r||{};r.Text=function(){function e(e,t,n,r){n=n||10;var i=t/3;return"string"==typeof e?(i*=10/(e.substring(0,t/3).length+1.5),i+=1,e.match(/[\u0900-\u0DFF\u1100-\u11FF\u2E80-\u2EFF\u3000-\u9FFF]/)&&(i*=.6),i<n&&(i=n),Math.round(i)):(i<n&&(i=n),Math.round(i))}return{calcFontSizeRaw:e,calcFontSize:function(t,n,r,i){return e(t,n,r)+"px"},getTextWithElipsisIfNeeded:function(e,t){return"string"==typeof e&&e.length>t?e.substring(0,t-3)+"...":e}}}(),r.Transition={fadeIn:function(e,t){e.style("opacity",0).transition().duration(t).style("opacity",1)},fadeOut:function(e,t){e.style("opacity",1).transition().duration(t).style("opacity",0)}},r.Click={delayDblClick:function(){var e=d3.dispatch("click","dblclick");return d3.rebind((function(t){var n,r=null;t.on("mousedown",(function(){n=d3.mouse(document.body),new Date})),t.on("mouseup",(function(t){var i,a;i=n,a=d3.mouse(document.body),Math.sqrt(Math.pow(i[0]-a[0],2),Math.pow(i[1]-a[1],2))>5||(r?(window.clearTimeout(r),r=null,e.dblclick(t)):r=window.setTimeout((d3.event,function(){e.click(t),r=null}),250))}))}),e,"on")}},t.a=r},216:function(e,t,n){"use strict";var r=r||{};r.Export={getCSSRules:function(e){var t=$('link[href="'+e+'"]')[0].sheet.rules,n="";return _.each(t,(function(e){n+=e.cssText})),n},generateBase64ImageSource:function(){var e=d3.selectAll("svg").attr({version:"1.1",xmlns:"http://www.w3.org/2000/svg"}).node().parentNode.innerHTML;return"data:image/svg+xml;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(e)))}},t.a=r},217:function(e,t,n){var r,i,a;i=[],void 0===(a="function"==typeof(r=function(){return function(){var e=function(){return"n"},t=function(){return[0,0]},n=function(){return" "},r=u(),i=null,a=null,o=null,s=null;function l(e){var t;i="svg"===(t=(t=e).node()).tagName.toLowerCase()?t:t.ownerSVGElement,a=i.createSVGPoint(),document.body.appendChild(r)}l.show=function(){var r=Array.prototype.slice.call(arguments);r[r.length-1]instanceof SVGElement&&(o=r.pop());var i,a=n.apply(this,r),u=t.apply(this,r),h=e.apply(this,r),p=f(),v=d.length,y=document.documentElement.scrollTop||document.body.scrollTop,g=document.documentElement.scrollLeft||document.body.scrollLeft,m=s.apply(this,r);for(p.html(a).style({opacity:1,"pointer-events":"all"});v--;)p.classed(d[v],!1);return i=c.get(h).apply(this),m?p.style(m):p.classed(h,!0).style({top:i.top+u[0]+y+"px",left:i.left+u[1]+g+"px"}),l},l.hide=function(){return f().style({opacity:0,"pointer-events":"none"}),l},l.attr=function(e,t){if(arguments.length<2&&"string"==typeof e)return f().attr(e);var n=Array.prototype.slice.call(arguments);return d3.selection.prototype.attr.apply(f(),n),l},l.style=function(e,t){if(arguments.length<2&&"string"==typeof e)return f().style(e);var n=Array.prototype.slice.call(arguments);return d3.selection.prototype.style.apply(f(),n),l},l.direction=function(t){return arguments.length?(e=null==t?t:d3.functor(t),l):e},l.offset=function(e){return arguments.length?(t=null==e?e:d3.functor(e),l):t},l.html=function(e){return arguments.length?(n=null==e?e:d3.functor(e),l):n},l.customPosition=function(e){return arguments.length?(s=null==e?e:d3.functor(e),l):s},l.destroy=function(){return r&&(f().remove(),r=null),l};var c=d3.map({n:function(){var e=h();return{top:e.n.y-r.offsetHeight,left:e.n.x-r.offsetWidth/2}},s:function(){var e=h();return{top:e.s.y,left:e.s.x-r.offsetWidth/2}},e:function(){var e=h();return{top:e.e.y-r.offsetHeight/2,left:e.e.x}},w:function(){var e=h();return{top:e.w.y-r.offsetHeight/2,left:e.w.x-r.offsetWidth}},nw:function(){var e=h();return{top:e.nw.y-r.offsetHeight,left:e.nw.x-r.offsetWidth}},ne:function(){var e=h();return{top:e.ne.y-r.offsetHeight,left:e.ne.x}},sw:function(){var e=h();return{top:e.sw.y,left:e.sw.x-r.offsetWidth}},se:function(){var e=h();return{top:e.se.y,left:e.e.x}}}),d=c.keys();function u(){var e=d3.select(document.createElement("div"));return e.style({position:"absolute",top:0,opacity:0,"pointer-events":"none","box-sizing":"border-box"}),e.node()}function f(){return null===r&&(r=u(),document.body.appendChild(r)),d3.select(r)}function h(){for(var e=o||d3.event.target;void 0===e.getScreenCTM&&"undefined"===e.parentNode;)e=e.parentNode;var t={},n=e.getScreenCTM(),r=e.getBBox(),i=r.width,s=r.height,l=r.x,c=r.y;return a.x=l,a.y=c,t.nw=a.matrixTransform(n),a.x+=i,t.ne=a.matrixTransform(n),a.y+=s,t.se=a.matrixTransform(n),a.x-=i,t.sw=a.matrixTransform(n),a.y-=s/2,t.w=a.matrixTransform(n),a.x+=i,t.e=a.matrixTransform(n),a.x-=i/2,a.y-=s/2,t.n=a.matrixTransform(n),a.y+=s,t.s=a.matrixTransform(n),t}return l}})?r.apply(t,i):r)||(e.exports=a)},223:function(e,t,n){"use strict";var r=r||{};r.SingleChild={addPlaceholders:function e(t,n){if(t.children){for(var r=0;r<t.children.length;r++)e(t.children[r]);if(1===t.children.length){var i=1.2*t.size;n&&(i=.1*t.children[0].size),t.children.push({name:"placeholder",size:i})}}},removePlaceholders:function e(t){for(var n=t.length-1;n>=0;n--){var r=t[n];"placeholder"===r.name?t.splice(n,1):r.children&&e(r.children)}},centerNodes:function(e){for(var t=0;t<e.length;t++){var n=e[t];if(n.children&&1===n.children.length){var r=n.x-n.children[0].x;n.children[0].x+=r,i(n.children[0],r)}}function i(e,t){if(e.children)for(var n=0;n<e.children.length;n++)e.children[n].x+=t,i(e.children[n],t)}},makePositionsRelativeToZero:function(e){for(var t=e[0].x,n=e[0].y,r=0;r<e.length;r++){var i=e[r];i.x-=t,i.y-=n}}},t.a=r},64:function(e,t,n){"use strict";n.r(t);var r=n(217),i=n.n(r),a=n(223),o=n(215),s=n(216);n(4);function l(e,t,n,r,l,c,d,u,f,h,p,v,y){return{restrict:"AE",template:'<div id="classChart"></div>',scope:{classHierarchyData:"=",flattenedClassNames:"=",selectedClass:"=",currentSliderValue:"=",showClassInfoPanel:"=",showExternalElements:"=",hidePrefixes:"=",currentBrowserLimit:"="},link:function(d,g,m){!function(d,g){var m=800,x=800,w=x,S=20,C=d3.layout.pack().size([w-S,w-S]).value((function(e){return e.size})),E=d3.scale.linear().domain([0,4]).range(["hsl(19, 70%, 90%)","hsl(19, 70%, 50%)"]).interpolate(d3.interpolateHcl),T=d3.select("#classChart").insert("svg:svg","h2").attr("viewBox","0 0 "+m+" "+x).attr("preserveAspectRatio","xMidYMid meet").on("dblclick.zoom",null);function R(){return T.append("svg:g").attr({id:"main-group",transform:"translate("+m/2+","+x/2+")"})}function A(){return"true"===p.get(v.CLASS_HIERARCHY_HIDE_PREFIXES)}function H(){var e=s.a.Export.getCSSRules("css/rdf-class-hierarchy-labels.css?v=10.0.0-M2-1");d3.selectAll("#main-group").append("defs"),$("defs").append('<style type="text/css"><![CDATA['+e+"]]></style>"),d3.selectAll("g").style("opacity",1);var t=s.a.Export.generateBase64ImageSource();d3.select(this).attr({href:t,download:"class-hierarchy-"+c.getActiveRepository()+".svg"})}d.hidePrefixes=A();var P,I,b=R();if(!d.classHierarchyData.classCount&&c.getActiveRepository()&&!c.isSystemRepository()){e.loader=!0,e.hierarchyError=!1;const t=p.get(`classHierarchy-selectedGraph-${c.getActiveRepository()}`);n.getClassHierarchyData(null!==t?t.contextID.uri:"").success((function(t,n,r){e.loader=!1,207===n&&u.warning(y.instant("graphexplore.update.diagram"),y.instant("graphexplore.repository.data.changed")),d.classHierarchyData=t,d3.select("#download-svg").on("mouseover",H)})).error((function(t){e.loader=!1,e.hierarchyError=getError(t),u.error(y.instant("graphexplore.error.request.failed",{name:h,error:getError(t)}))}))}var k,F,L,D,N,z,O,U,M={};function V(n,s,c,u){L&&L(),D&&D(),d3.selectAll("#main-group").remove(),b=R(),a.a.SingleChild.addPlaceholders(n,!0),F=c||n;var p,v=C.nodes(n);F.isInFocusTransitive=!0,a.a.SingleChild.removePlaceholders(v),a.a.SingleChild.centerNodes(v),a.a.SingleChild.makePositionsRelativeToZero(v);var y=i()().attr("class","d3-tip").customPosition((function(e){return{top:"inherit",bottom:r.innerHeight-d3.event.clientY+"px",right:r.innerWidth-d3.event.clientX+"px"}})).html((function(e){return e.name}));T.call(y);var g=b.selectAll("circle").data(v).enter().append("g");s.doFade&&g.each((function(e){o.a.Transition.fadeIn(d3.select(this),550)}));var m,x=[],A=g.append("circle").attr("class",(function(e){return e.role})).style("fill",(function(e){return e.children?E(e.depth):"#E0D0D0"})).each((function(e){if(e.circle=d3.select(this),e.name!==h){var t=e.name;x.push({name:t}),M[[t]]=e,e.circle.classed("rdf-class",!0),e.circle.on("mouseover",(function(){s.noPrefixes?y.show(e):e.textHidden?y.show(e):y.hide(e)})),e.circle.on("mouseout",y.hide)}}));function H(e){d3.selectAll(".selected").classed("selected",e.selected=!1),e.circle.classed("selected",e.selected=!0),m=e}function N(){d.showClassInfoPanel=!1}x&&(x=_.uniqBy(x,"name"),d.flattenedClassNames=x);var $=o.a.Click.delayDblClick();d3.selectAll(".parent, .topLevelParent, .child, .root").call($);I=function(e){Z(e),e.name===h?(N(),d3.selectAll(".selected").classed("selected",!1)):(H(e),d.selectedClass=m,d.showClassInfoPanel=!0,d.$on("sidePanelClosed",(function(t){d3.selectAll(".selected").classed("selected",e.selected=!1)})))},$.on("click",(function(e){e.id&&r.history.pushState({id:e.id},"classHierarchyPage"+e.id,"hierarchy#"+e.id),y.hide(),I(e)})),$.on("dblclick",(function(t){t!==n&&(y.hide(),H(t),e.$broadcast("goToDomainRangeGraphView",m,F),d3.event.stopPropagation())}));var z=0;T.on("wheel",(function(){y.hide();var e=d3.event;e.preventDefault(),e.stopPropagation();var t=(new Date).getTime();if(t-z>100){z=t;var n="";e.deltaY<=-1?n="in":e.deltaY>=1&&(n="out");var i=e.target.__data__;if(i||(i=F),"in"===n){if(i!==F){for(;i.parent&&!i.parent.isInFocusTransitive;)i=i.parent;i.depth<F.depth&&(i=F)}if(i===F&&i.children){for(var a=i.children[0],o=1;o<i.children.length;o++)i.children[o].sortingRank>a.sortingRank&&(a=i.children[o]);i=a}Z(i,!0)}else"out"===n&&(i=F.parent)&&Z(i,!0);F.name===h&&r.history.replaceState({id:1},"classHierarchyPage1","hierarchy#1"),W()}}));var O=b.selectAll("text").data(v).enter().append("text").attr("class",(function(e){return e.children&&e.children.length?"label":"label child-label"})).each((function(e){e.textSel=d3.select(this)}));s.noPrefixes?(k!==n&&(O.each((function(e){var t=e.name.indexOf(":");e.name.indexOf("http://")>-1?e.noPrefixName=e.name:t>-1&&(e.noPrefixName=e.name.substring(t+1))})),k=n),O.style("font-size",(function(e){return o.a.Text.calcFontSize(e.noPrefixName,e.r)})).text((function(e){return o.a.Text.getTextWithElipsisIfNeeded(e.noPrefixName,e.r/3)}))):O.style("font-size",(function(e){return o.a.Text.calcFontSize(e.name,e.r)})).text((function(e){return o.a.Text.getTextWithElipsisIfNeeded(e.name,e.r/3)})),O.style("display",(function(e){return e.parent===n?(e.textHidden=this.textContent.indexOf("...")+3===this.textContent.length,null):(e.textHidden=!0,"none")})),s.doFade&&!s.keepPrevState&&O.each((function(e){o.a.Transition.fadeIn(d3.select(this),550)})),P=function(){function e(e){e&&A.each((function(t){e==t.id&&I(t)}))}var n=t.hash();r.onpopstate=function(t){t.state&&e(t.state.id)},e(n)};var U=b.selectAll("circle, text");function V(e,t){var n=w/e[2];p=e,U.attr("transform",(function(t){return"translate("+(t.x-e[0])*n+","+(t.y-e[1])*n+")"})),A.attr("r",(function(e){return e.r*n})),t&&O.each((function(e){e.fullName!==F.topLevelParentUri&&F.topLevelParentUri!==h||(e.textSel.style("display","none"),F.children&&F.children.length?_.each(F.children,(function(e){e.textSel.style("display","inline")})):F.textSel.style("display","inline"),F.parent&&_.each(F.parent.children,(function(e){e.name!==F.name&&e.textSel.style("display","inline")})))})),O.style("font-size",(function(e){return s.noPrefixes?o.a.Text.calcFontSize(e.noPrefixName,e.r*n):o.a.Text.calcFontSize(e.name,e.r*n)})).text((function(e){return s.noPrefixes?o.a.Text.getTextWithElipsisIfNeeded(e.noPrefixName,e.r*n/3):o.a.Text.getTextWithElipsisIfNeeded(e.name,e.r*n/3)}))}function Y(e){var t=2*e+S;return 2*e/t<.3&&(t=2*e+2),t}function B(e){!e.isInFocusTransitive&&e.parent&&e.parent.isInFocusTransitive||(e.textHidden=!0,this.style.display="none")}function G(e){!e.isInFocusTransitive&&e.parent&&e.parent.isInFocusTransitive&&(e.textHidden=this.textContent.indexOf("...")+3===this.textContent.length,this.style.display="")}function Z(e,t){if(l((function(){d.showExternalElements=e.name===h})),e.id&&r.history.replaceState({id:e.id},"classHierarchyPage"+e.id,"hierarchy#"+e.id),F!==e){if(t&&(N(),d3.selectAll(".selected").classed("selected",!1)),F.parent)for(var n=F;n;)n.isInFocusTransitive=!1,n=n.parent;for(n=e;n;)n.isInFocusTransitive=n.children,n=n.parent;if(2*(F=e).r/(2*F.r+S)<.3||d.currentSliderValue>d.currentBrowserLimit)V([F.x,F.y,Y(F.r)]),O.each((function(e){B.call(this,e),G.call(this,e)}));else d3.transition().duration(f).tween("zoom",(function(e){var t=d3.interpolateZoom(p,[F.x,F.y,Y(F.r)]);return function(e){V(t(e))}})).selectAll("text").each("start",B).each("end",G)}}V([F.x,F.y,Y(F.r)],u),L=d.$on("rootFocus",(function(){r.history.pushState({id:1},"classHierarchyPage1","hierarchy#1"),I(n)})),D=d.$on("classSearch",(function(e){I(e)}))}function W(){var t=d.classHierarchyData.classCount;let n=p.get(v.CLASS_HIERARCHY_CURRENT_SLIDER_VALUE);(!n||n>t)&&(n=t,p.set(v.CLASS_HIERARCHY_CURRENT_SLIDER_VALUE,n)),e.$broadcast("classCount",t,n)}window.addEventListener("resize",W),window.addEventListener("beforeunload",(function e(){window.removeEventListener("resize",W),window.removeEventListener("beforeunload",e)})),d.$watch("classHierarchyData",(function(){N&&N(),z&&z(),O&&O(),U&&U();var e=A();if(d.classHierarchyData.classCount){W();var t=angular.copy(d.classHierarchyData);var n,r,i=function(e){return C.nodes(e).sort((function(e,t){return e.sortingRank>t.sortingRank?-1:e.sortingRank<t.sortingRank?1:e.depth>t.depth?1:e.depth<t.depth?-1:0}))}(t);function a(e,t){var i={keepPrevState:!0,noPrefixes:A()};r=i.noPrefixes,V(n||e,i,F,!0),l((function(){p.set(v.CLASS_HIERARCHY_SWITCH_PREFIXES,t),P()}),70)}function o(e,i,o){if(e){p.set(v.CLASS_HIERARCHY_CURRENT_SLIDER_VALUE,e),n={name:h,children:[]};for(var s=new Set,l=1;l<=e;l++)s.add(i[l].id),i[l].parent===i[0]&&n.children.push(i[l]);if(function e(t){if(t.children){for(var n=[],r=0;r<t.children.length;r++)s.has(t.children[r].id)&&n.push($.extend({},t.children[r]));t.children=n;for(r=0;r<t.children.length;r++)e(t.children[r])}}(n),o)r=angular.isUndefined(r)?A():r,V(n,{noPrefixes:r});else a(t)}}var s,c=p.get(v.CLASS_HIERARCHY_CURRENT_SLIDER_VALUE);if(c)o(c,i);else{var u={doFade:!0,keepPrevState:!0,noPrefixes:A()};V(t,u),P()}N=d.$watch("hidePrefixes",(function(n){angular.isUndefined(n)||e?e=void 0:l((function(){!function(e){angular.isUndefined(e)||p.set(v.CLASS_HIERARCHY_HIDE_PREFIXES,e)}(n),a(t,!0)}),50)}),!0),z=d.$watch("currentSliderValue",(function(e){o(e,i,!0)}),!0),U=d.$on("onEnterKeypressSearchAction",(function(e){s&&I(s)})),O=d.$on("searchedClass",(function(e,t){(s=M[t.name])&&I(s)}))}}),!0)}(d)}}}angular.module("graphdb.framework.graphexplore.directives.class",["graphdb.framework.graphexplore.controllers.class","graphdb.framework.utils.localstorageadapter"]).constant("ZOOM_DURATION",500).constant("ROOT_OBJ_NAME","RDF Class Hierarchy").directive("rdfClassHierarchy",l),l.$inject=["$rootScope","$location","GraphDataRestService","$window","$timeout","$repositories","$licenseService","toastr","ZOOM_DURATION","ROOT_OBJ_NAME","LocalStorageAdapter","LSKeys","$translate"]}}]);
|
|
2
|
-
//# sourceMappingURL=20.df3652981fc73c6a8b8c.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///./src/js/lib/common/d3-utils.js","webpack:///./src/js/lib/common/svg-export.js","webpack:///./src/js/lib/d3-tip/d3-tip-patch.js","webpack:///./src/js/lib/common/circle-packing.js","webpack:///./src/js/angular/graphexplore/directives/rdf-class-hierarchy.directive.js"],"names":["D3","Text","calcFontSizeRaw","text","radius","minimumSize","isMultiline","textSize","substring","length","match","Math","round","calcFontSize","getTextWithElipsisIfNeeded","str","threshold","Transition","fadeIn","sel","duration","style","transition","fadeOut","Click","delayDblClick","event","d3","dispatch","rebind","selection","down","wait","on","mouse","document","body","Date","d","a","b","sqrt","pow","window","clearTimeout","dblclick","setTimeout","click","SVG","Export","getCSSRules","cssSourceFilePath","cssRules","$","sheet","rules","cssStr","_","each","value","cssText","generateBase64ImageSource","exportSvg","selectAll","attr","version","xmlns","node","parentNode","innerHTML","btoa","unescape","encodeURIComponent","direction","offset","html","initNode","svg","point","target","customPosition","tip","vis","el","tagName","toLowerCase","ownerSVGElement","createSVGPoint","appendChild","show","args","Array","prototype","slice","call","arguments","SVGElement","pop","coords","content","apply","this","poffset","dir","nodel","getNodeEl","i","directions","scrollTop","documentElement","scrollLeft","customPos","opacity","classed","direction_callbacks","get","top","left","hide","n","v","functor","destroy","remove","map","bbox","getScreenBBox","y","offsetHeight","x","offsetWidth","s","e","w","nw","ne","sw","se","keys","select","createElement","position","targetel","getScreenCTM","matrix","tbbox","getBBox","width","height","matrixTransform","CirclePacking","SingleChild","addPlaceholders","first","children","placeholderSize","size","push","name","removePlaceholders","nodes","splice","centerNodes","reposition","makePositionsRelativeToZero","offsetX","offsetY","classHierarchyDirective","$rootScope","$location","GraphDataRestService","$window","$timeout","$repositories","$licenseService","toastr","ZOOM_DURATION","ROOT_OBJ_NAME","LocalStorageAdapter","LSKeys","$translate","restrict","template","scope","classHierarchyData","flattenedClassNames","selectedClass","currentSliderValue","showClassInfoPanel","showExternalElements","hidePrefixes","currentBrowserLimit","link","element","attrs","diameter","margin","pack","layout","color","scale","linear","domain","range","interpolate","interpolateHcl","insert","appendMainGroup","append","id","transform","getPrefixesState","CLASS_HIERARCHY_HIDE_PREFIXES","prepareForSVGImageExport","imgSrc","href","download","getActiveRepository","autoZoomToPreviousState","doFocus","g","classCount","isSystemRepository","loader","hierarchyError","selGraphFromCache","getClassHierarchyData","contextID","uri","success","response","status","headers","warning","instant","error","getError","oldRoot","focus","rootFocusEvent","classSearchEvent","prefixesWatch","currentClassCountWatch","searchedClassBroadcast","onEnterClassSearchBroadcast","flattenedClassData","drawDiagram","root","config","newFocus","switchPrefixes","view","isInFocusTransitive","bottom","innerHeight","clientY","right","innerWidth","clientX","circleGroup","data","enter","doFade","circle","role","depth","key","noPrefixes","textHidden","getCurrentClassDataAndMarkSelected","obj","selected","closeClassInfoPanel","uniqBy","clickCancel","zoom","$on","history","pushState","$broadcast","stopPropagation","lastTimeWheel","preventDefault","now","getTime","deltaY","__data__","parent","newobj","sortingRank","replaceState","sendSliderData","textSel","idx","indexOf","noPrefixName","r","textContent","keepPrevState","focusOnCurrentClass","focusHistoryId","hash","onpopstate","state","zoomTo","k","fullName","topLevelParentUri","c","adjustRadius","newr","textUpdateStart","display","textUpdateEnd","shouldClosePanel","p","tween","interpolateZoom","t","currentClassCount","CLASS_HIERARCHY_CURRENT_SLIDER_VALUE","set","addEventListener","removeResizeListener","removeEventListener","$watch","initialPrefixesState","angular","copy","newRoot","noPrefixesGlobal","sorted","sort","sortRoot","restoreDiagramState","currentRoot","prefixesConfig","CLASS_HIERARCHY_SWITCH_PREFIXES","redrawFilteredDiagram","sortedRoot","useSlider","addedIds","Set","add","fixChildren","newChildren","has","extend","isUndefined","currentSearchedClass","basicConfig","undefined","savePrefixesState","searchedClass","renderCirclePacking","module","constant","directive","$inject"],"mappings":"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","file":"20.df3652981fc73c6a8b8c.bundle.js","sourcesContent":["var D3 = D3 || {};\n\nD3.Text = function () {\n function calcFontSizeRaw(text, radius, minimumSize, isMultiline) {\n minimumSize = minimumSize || 10;\n\n var textSize = radius / 3;\n if (typeof text === \"string\") {\n var len = text.substring(0, radius / 3).length + 1.5;\n textSize *= 10 / len;\n textSize += 1;\n // experimental alternative method:\n // var textSize = 3.3 * radius / text.length;\n\n // Tweak for Indian scripts and CJK ones\n if (text.match(/[\\u0900-\\u0DFF\\u1100-\\u11FF\\u2E80-\\u2EFF\\u3000-\\u9FFF]/)) {\n textSize *= 0.6;\n }\n\n if (textSize < minimumSize) {\n textSize = minimumSize;\n }\n\n /* Disabled for the time being, better without this\n if (isMultiline) {\n var numWords = text.split(/\\s+/).length;\n if (numWords > 1) {\n if (numWords > 4) {\n numWords = 4;\n }\n textSize += textSize * (4 - numWords) * 0.1;\n }\n }\n */\n\n return Math.round(textSize);\n }\n\n if (textSize < minimumSize) {\n textSize = minimumSize;\n }\n\n return Math.round(textSize);\n }\n\n function calcFontSize(text, radius, minimumSize, isMultiline) {\n return calcFontSizeRaw(text, radius, minimumSize, isMultiline) + 'px';\n }\n\n function getTextWithElipsisIfNeeded(str, threshold) {\n if (typeof str === \"string\") {\n if (str.length > threshold) {\n return str.substring(0, threshold - 3) + \"...\";\n }\n }\n return str;\n }\n\n return {\n calcFontSizeRaw: calcFontSizeRaw,\n calcFontSize: calcFontSize,\n getTextWithElipsisIfNeeded: getTextWithElipsisIfNeeded\n };\n}();\n\nD3.Transition = function () {\n function fadeIn(sel, duration) {\n sel.style(\"opacity\", 0.0)\n .transition()\n .duration(duration)\n .style(\"opacity\", 1.0);\n }\n\n function fadeOut(sel, duration) {\n sel.style(\"opacity\", 1.0)\n .transition()\n .duration(duration)\n .style(\"opacity\", 0.0);\n }\n\n return {\n fadeIn: fadeIn,\n fadeOut: fadeOut\n };\n}();\n\nD3.Click = function () {\n function delayDblClick() {\n var event = d3.dispatch('click', 'dblclick');\n\n function cc(selection) {\n var down,\n tolerance = 5,\n last,\n wait = null;\n\n // euclidean distance\n function dist(a, b) {\n return Math.sqrt(Math.pow(a[0] - b[0], 2), Math.pow(a[1] - b[1], 2));\n }\n\n selection.on('mousedown', function () {\n down = d3.mouse(document.body);\n last = +new Date();\n });\n selection.on('mouseup', function (d) {\n if (dist(down, d3.mouse(document.body)) > tolerance) {\n return;\n } else {\n if (wait) {\n window.clearTimeout(wait);\n wait = null;\n event.dblclick(d);\n } else {\n wait = window.setTimeout((function (e) {\n return function () {\n event.click(d);\n wait = null;\n };\n })(d3.event), 250);\n }\n }\n });\n }\n\n return d3.rebind(cc, event, 'on');\n }\n\n return {\n delayDblClick: delayDblClick\n };\n}();\n\nexport default D3;\n","var SVG = SVG || {};\n\nSVG.Export = function () {\n function getCSSRules(cssSourceFilePath) {\n var cssRules = $('link[href=\"' + cssSourceFilePath + '\"]')[0].sheet.rules;\n var cssStr = \"\";\n _.each(cssRules, function (value) {\n cssStr += value.cssText;\n });\n return cssStr;\n }\n\n function generateBase64ImageSource() {\n // add needed xml namespace\n var exportSvg = d3.selectAll(\"svg\")\n .attr({\n version: \"1.1\",\n xmlns: \"http://www.w3.org/2000/svg\"\n })\n .node().parentNode.innerHTML;\n\n // convert selected html to base64\n return \"data:image/svg+xml;charset=utf-8;base64,\" + btoa(unescape(encodeURIComponent(exportSvg)));\n }\n\n return {\n getCSSRules: getCSSRules,\n generateBase64ImageSource: generateBase64ImageSource\n };\n}();\n\nexport default SVG;\n","// d3.tip\n// Copyright (c) 2013 Justin Palmer\n//\n// Tooltips for d3.js SVG visualizations\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module with d3 as a dependency.\n define([], factory)\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS\n module.exports = function(d3) {\n d3.tip = factory(d3)\n return d3.tip\n }\n } else {\n // Browser global.\n root.d3.tip = factory(root.d3)\n }\n}(this, function () {\n // Public - contructs a new tooltip\n //\n // Returns a tip\n return function() {\n var direction = d3_tip_direction,\n offset = d3_tip_offset,\n html = d3_tip_html,\n node = initNode(),\n svg = null,\n point = null,\n target = null,\n customPosition = null\n\n function tip(vis) {\n svg = getSVGNode(vis)\n point = svg.createSVGPoint()\n document.body.appendChild(node)\n }\n\n // Public - show the tooltip on the screen\n //\n // Returns a tip\n tip.show = function() {\n var args = Array.prototype.slice.call(arguments)\n if(args[args.length - 1] instanceof SVGElement) target = args.pop()\n\n var content = html.apply(this, args),\n poffset = offset.apply(this, args),\n dir = direction.apply(this, args),\n nodel = getNodeEl(),\n i = directions.length,\n coords,\n scrollTop = document.documentElement.scrollTop || document.body.scrollTop,\n scrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft,\n customPos = customPosition.apply(this, args)\n\n nodel.html(content)\n .style({ opacity: 1, 'pointer-events': 'all' })\n\n while(i--) nodel.classed(directions[i], false)\n coords = direction_callbacks.get(dir).apply(this)\n\n if (customPos) {\n nodel.style(customPos)\n } else {\n nodel.classed(dir, true).style({\n top: (coords.top + poffset[0]) + scrollTop + 'px',\n left: (coords.left + poffset[1]) + scrollLeft + 'px'\n })\n }\n\n return tip\n }\n\n // Public - hide the tooltip\n //\n // Returns a tip\n tip.hide = function() {\n var nodel = getNodeEl()\n nodel.style({ opacity: 0, 'pointer-events': 'none' })\n return tip\n }\n\n // Public: Proxy attr calls to the d3 tip container. Sets or gets attribute value.\n //\n // n - name of the attribute\n // v - value of the attribute\n //\n // Returns tip or attribute value\n tip.attr = function(n, v) {\n if (arguments.length < 2 && typeof n === 'string') {\n return getNodeEl().attr(n)\n } else {\n var args = Array.prototype.slice.call(arguments)\n d3.selection.prototype.attr.apply(getNodeEl(), args)\n }\n\n return tip\n }\n\n // Public: Proxy style calls to the d3 tip container. Sets or gets a style value.\n //\n // n - name of the property\n // v - value of the property\n //\n // Returns tip or style property value\n tip.style = function(n, v) {\n if (arguments.length < 2 && typeof n === 'string') {\n return getNodeEl().style(n)\n } else {\n var args = Array.prototype.slice.call(arguments)\n d3.selection.prototype.style.apply(getNodeEl(), args)\n }\n\n return tip\n }\n\n // Public: Set or get the direction of the tooltip\n //\n // v - One of n(north), s(south), e(east), or w(west), nw(northwest),\n // sw(southwest), ne(northeast) or se(southeast)\n //\n // Returns tip or direction\n tip.direction = function(v) {\n if (!arguments.length) return direction\n direction = v == null ? v : d3.functor(v)\n\n return tip\n }\n\n // Public: Sets or gets the offset of the tip\n //\n // v - Array of [x, y] offset\n //\n // Returns offset or\n tip.offset = function(v) {\n if (!arguments.length) return offset\n offset = v == null ? v : d3.functor(v)\n\n return tip\n }\n\n // Public: sets or gets the html value of the tooltip\n //\n // v - String value of the tip\n //\n // Returns html value or tip\n tip.html = function(v) {\n if (!arguments.length) return html\n html = v == null ? v : d3.functor(v)\n\n return tip\n }\n\n tip.customPosition = function(v) {\n if (!arguments.length) return customPosition\n customPosition = v == null ? v : d3.functor(v)\n\n return tip\n }\n\n // Public: destroys the tooltip and removes it from the DOM\n //\n // Returns a tip\n tip.destroy = function() {\n if(node) {\n getNodeEl().remove();\n node = null;\n }\n return tip;\n }\n\n function d3_tip_direction() { return 'n' }\n function d3_tip_offset() { return [0, 0] }\n function d3_tip_html() { return ' ' }\n\n var direction_callbacks = d3.map({\n n: direction_n,\n s: direction_s,\n e: direction_e,\n w: direction_w,\n nw: direction_nw,\n ne: direction_ne,\n sw: direction_sw,\n se: direction_se\n }),\n\n directions = direction_callbacks.keys()\n\n function direction_n() {\n var bbox = getScreenBBox()\n return {\n top: bbox.n.y - node.offsetHeight,\n left: bbox.n.x - node.offsetWidth / 2\n }\n }\n\n function direction_s() {\n var bbox = getScreenBBox()\n return {\n top: bbox.s.y,\n left: bbox.s.x - node.offsetWidth / 2\n }\n }\n\n function direction_e() {\n var bbox = getScreenBBox()\n return {\n top: bbox.e.y - node.offsetHeight / 2,\n left: bbox.e.x\n }\n }\n\n function direction_w() {\n var bbox = getScreenBBox()\n return {\n top: bbox.w.y - node.offsetHeight / 2,\n left: bbox.w.x - node.offsetWidth\n }\n }\n\n function direction_nw() {\n var bbox = getScreenBBox()\n return {\n top: bbox.nw.y - node.offsetHeight,\n left: bbox.nw.x - node.offsetWidth\n }\n }\n\n function direction_ne() {\n var bbox = getScreenBBox()\n return {\n top: bbox.ne.y - node.offsetHeight,\n left: bbox.ne.x\n }\n }\n\n function direction_sw() {\n var bbox = getScreenBBox()\n return {\n top: bbox.sw.y,\n left: bbox.sw.x - node.offsetWidth\n }\n }\n\n function direction_se() {\n var bbox = getScreenBBox()\n return {\n top: bbox.se.y,\n left: bbox.e.x\n }\n }\n\n function initNode() {\n var node = d3.select(document.createElement('div'))\n node.style({\n position: 'absolute',\n top: 0,\n opacity: 0,\n 'pointer-events': 'none',\n 'box-sizing': 'border-box'\n })\n\n return node.node()\n }\n\n function getSVGNode(el) {\n el = el.node()\n if(el.tagName.toLowerCase() === 'svg')\n return el\n\n return el.ownerSVGElement\n }\n\n function getNodeEl() {\n if(node === null) {\n node = initNode();\n // re-add node to DOM\n document.body.appendChild(node);\n };\n return d3.select(node);\n }\n\n // Private - gets the screen coordinates of a shape\n //\n // Given a shape on the screen, will return an SVGPoint for the directions\n // n(north), s(south), e(east), w(west), ne(northeast), se(southeast), nw(northwest),\n // sw(southwest).\n //\n // +-+-+\n // | |\n // + +\n // | |\n // +-+-+\n //\n // Returns an Object {n, s, e, w, nw, sw, ne, se}\n function getScreenBBox() {\n var targetel = target || d3.event.target;\n\n while ('undefined' === typeof targetel.getScreenCTM && 'undefined' === targetel.parentNode) {\n targetel = targetel.parentNode;\n }\n\n var bbox = {},\n matrix = targetel.getScreenCTM(),\n tbbox = targetel.getBBox(),\n width = tbbox.width,\n height = tbbox.height,\n x = tbbox.x,\n y = tbbox.y\n\n point.x = x\n point.y = y\n bbox.nw = point.matrixTransform(matrix)\n point.x += width\n bbox.ne = point.matrixTransform(matrix)\n point.y += height\n bbox.se = point.matrixTransform(matrix)\n point.x -= width\n bbox.sw = point.matrixTransform(matrix)\n point.y -= height / 2\n bbox.w = point.matrixTransform(matrix)\n point.x += width\n bbox.e = point.matrixTransform(matrix)\n point.x -= width / 2\n point.y -= height / 2\n bbox.n = point.matrixTransform(matrix)\n point.y += height\n bbox.s = point.matrixTransform(matrix)\n\n return bbox\n }\n\n return tip\n };\n\n}));","var CirclePacking = CirclePacking || {};\n\nCirclePacking.SingleChild = function () {\n /*\n Functions that enable single child circles to display properly, see\n http://stackoverflow.com/questions/22307486/d3-js-packed-circle-layout-how-to-adjust-child-radius\n */\n function addPlaceholders(node, first) {\n if (node.children) {\n for (var i = 0; i < node.children.length; i++) {\n var child = node.children[i];\n addPlaceholders(child);\n }\n\n if (node.children.length === 1) {\n var placeholderSize = node.size * 1.2;\n if (first) {\n placeholderSize = node.children[0].size * 0.1;\n }\n node.children.push({\n name: 'placeholder', size: placeholderSize,\n // children: []\n });\n }\n }\n }\n\n function removePlaceholders(nodes) {\n for (var i = nodes.length - 1; i >= 0; i--) {\n var node = nodes[i];\n\n if (node.name === 'placeholder') {\n nodes.splice(i, 1);\n } else {\n if (node.children) {\n removePlaceholders(node.children);\n }\n }\n }\n }\n\n function centerNodes(nodes) {\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n\n if (node.children) {\n if (node.children.length === 1) {\n var offset = node.x - node.children[0].x;\n node.children[0].x += offset;\n reposition(node.children[0], offset);\n }\n }\n }\n\n function reposition(node, offset) {\n if (node.children) {\n for (var i = 0; i < node.children.length; i++) {\n node.children[i].x += offset;\n reposition(node.children[i], offset);\n }\n }\n }\n }\n\n function makePositionsRelativeToZero(nodes) {\n //use this to have vis centered at 0,0,0 (easier for positioning)\n var offsetX = nodes[0].x;\n var offsetY = nodes[0].y;\n\n for (var i = 0; i < nodes.length; i++) {\n\n var node = nodes[i];\n\n node.x -= offsetX;\n node.y -= offsetY;\n }\n }\n\n return {\n addPlaceholders: addPlaceholders,\n removePlaceholders: removePlaceholders,\n centerNodes: centerNodes,\n makePositionsRelativeToZero: makePositionsRelativeToZero\n }\n}();\n\nexport default CirclePacking;\n","import d3tip from 'lib/d3-tip/d3-tip-patch';\nimport CirclePacking from 'lib/common/circle-packing';\nimport D3 from 'lib/common/d3-utils';\nimport SVG from 'lib/common/svg-export';\nimport 'angular/utils/local-storage-adapter';\n\nangular\n .module('graphdb.framework.graphexplore.directives.class', [\n 'graphdb.framework.graphexplore.controllers.class',\n 'graphdb.framework.utils.localstorageadapter'\n ])\n .constant(\"ZOOM_DURATION\", 500)\n .constant(\"ROOT_OBJ_NAME\", \"RDF Class Hierarchy\")\n .directive('rdfClassHierarchy', classHierarchyDirective);\n\nclassHierarchyDirective.$inject = ['$rootScope', '$location', 'GraphDataRestService', '$window', '$timeout', '$repositories', '$licenseService', 'toastr', 'ZOOM_DURATION', 'ROOT_OBJ_NAME', 'LocalStorageAdapter', 'LSKeys', '$translate'];\n\nfunction classHierarchyDirective($rootScope, $location, GraphDataRestService, $window, $timeout, $repositories, $licenseService, toastr, ZOOM_DURATION, ROOT_OBJ_NAME, LocalStorageAdapter, LSKeys, $translate) {\n return {\n restrict: 'AE',\n template: '<div id=\"classChart\"></div>',\n scope: {\n classHierarchyData: '=',\n flattenedClassNames: '=',\n selectedClass: '=',\n currentSliderValue: '=',\n showClassInfoPanel: '=',\n showExternalElements: '=',\n hidePrefixes: '=',\n currentBrowserLimit: '='\n },\n link: linkFunc\n };\n\n function linkFunc(scope, element, attrs) {\n renderCirclePacking(scope, element);\n }\n\n function renderCirclePacking(scope, element) {\n\n var width = 800,\n height = 800,\n diameter = height,\n margin = 20,\n node,\n root;\n\n var pack = d3.layout.pack()\n .size([diameter - margin, diameter - margin])\n .value(function (d) {\n return d.size;\n });\n\n var colors = [\n \"hsl(33, 75%, 75%)\",\n \"hsl(213, 75%, 75%)\",\n \"hsl(333, 75%, 75%)\",\n \"hsl(153, 75%, 75%)\",\n \"hsl(273, 75%, 75%)\",\n \"hsl(93, 75%, 75%)\"\n ];\n\n var color = d3.scale.linear()\n .domain([0, 4])\n .range([\"hsl(19, 70%, 90%)\", \"hsl(19, 70%, 50%)\"])\n .interpolate(d3.interpolateHcl);\n\n var svg = d3.select(\"#classChart\")\n .insert(\"svg:svg\", \"h2\")\n .attr(\"viewBox\", \"0 0 \" + width + \" \" + height)\n .attr(\"preserveAspectRatio\", \"xMidYMid meet\")\n .on(\"dblclick.zoom\", null);\n\n function appendMainGroup() {\n return svg.append(\"svg:g\")\n .attr({\n id: \"main-group\",\n transform: \"translate(\" + width / 2 + \",\" + height / 2 + \")\"\n });\n }\n\n function savePrefixesState(hidePrefixes) {\n if (!angular.isUndefined(hidePrefixes)) {\n LocalStorageAdapter.set(LSKeys.CLASS_HIERARCHY_HIDE_PREFIXES, hidePrefixes);\n }\n }\n\n function getPrefixesState() {\n return LocalStorageAdapter.get(LSKeys.CLASS_HIERARCHY_HIDE_PREFIXES) === \"true\";\n }\n\n /*\n * Prepares SVG document image export by adding xml namespaces and\n * additional style information\n */\n function prepareForSVGImageExport() {\n // get css rules for the diagram\n var cssRules = SVG.Export.getCSSRules(\"css/rdf-class-hierarchy-labels.css?v=10.0.0-M2-1\");\n // inline css rules in a defs tag\n d3.selectAll(\"#main-group\")\n .append(\"defs\");\n $(\"defs\").append('<style type=\"text/css\"><![CDATA[' + cssRules + ']]></style>');\n\n // switch opacity to visible\n d3.selectAll(\"g\")\n .style(\"opacity\", 1);\n\n // convert selected html to base64\n var imgSrc = SVG.Export.generateBase64ImageSource();\n\n // set the binary image and a name for the downloadable file on the export button\n d3.select(this).attr({\n href: imgSrc,\n download: \"class-hierarchy-\" + $repositories.getActiveRepository() + \".svg\"\n });\n }\n\n scope.hidePrefixes = getPrefixesState();\n\n var g = appendMainGroup();\n\n if (!scope.classHierarchyData.classCount && $repositories.getActiveRepository() && !$repositories.isSystemRepository()) {\n $rootScope.loader = true;\n $rootScope.hierarchyError = false;\n const selGraphFromCache = LocalStorageAdapter.get(`classHierarchy-selectedGraph-${$repositories.getActiveRepository()}`);\n GraphDataRestService.getClassHierarchyData(selGraphFromCache !== null ? selGraphFromCache.contextID.uri : \"\")\n .success(function (response, status, headers) {\n $rootScope.loader = false;\n if (status === 207) {\n toastr.warning($translate.instant('graphexplore.update.diagram'), $translate.instant('graphexplore.repository.data.changed'));\n }\n scope.classHierarchyData = response;\n\n d3.select(\"#download-svg\")\n .on(\"mouseover\", prepareForSVGImageExport);\n\n }).error(function (response) {\n $rootScope.loader = false;\n $rootScope.hierarchyError = getError(response);\n toastr.error($translate.instant('graphexplore.error.request.failed', {name: ROOT_OBJ_NAME, error: getError(response)}));\n });\n }\n\n\n var autoZoomToPreviousState,\n doFocus;\n\n var oldRoot,\n focus,\n rootFocusEvent,\n classSearchEvent,\n flattenedClassData = {};\n\n function drawDiagram(root, config, newFocus, switchPrefixes) {\n if (rootFocusEvent) rootFocusEvent();\n if (classSearchEvent) classSearchEvent();\n // remove old group tag containing the diagram\n d3.selectAll(\"#main-group\").remove();\n\n // append new empty group tag in order to rerender new diagram\n g = appendMainGroup();\n\n // fix for single child classes\n CirclePacking.SingleChild.addPlaceholders(root, true);\n focus = newFocus ? newFocus : root;\n\n var nodes = pack.nodes(root),\n view;\n\n focus.isInFocusTransitive = true;\n\n // fixes for single child classes\n CirclePacking.SingleChild.removePlaceholders(nodes);\n CirclePacking.SingleChild.centerNodes(nodes);\n CirclePacking.SingleChild.makePositionsRelativeToZero(nodes);\n\n var tip = d3tip()\n .attr('class', 'd3-tip')\n //.offset([-10, 0])\n .customPosition(function (d) {\n return {\n top: 'inherit',\n bottom: ($window.innerHeight - d3.event.clientY) + 'px',\n right: ($window.innerWidth - d3.event.clientX) + 'px'\n };\n })\n .html(function (d) {\n return d.name;\n });\n\n svg.call(tip);\n\n var circleGroup = g.selectAll(\"circle\")\n .data(nodes)\n .enter().append(\"g\");\n\n if (config.doFade) {\n circleGroup.each(function (d) {\n D3.Transition.fadeIn(d3.select(this), 550);\n });\n }\n\n var flattenedClassNames = [];\n\n var circle = circleGroup\n .append(\"circle\")\n .attr(\"class\", function (d) {\n return d.role;\n })\n .style(\"fill\", function (d) {\n //return colors[d.depth % 6];\n return d.children ? color(d.depth) : \"#E0D0D0\";\n })\n .each(function (d) {\n d.circle = d3.select(this);\n if (d.name !== ROOT_OBJ_NAME) {\n var key = d.name;\n flattenedClassNames.push({name: key});\n flattenedClassData[[key]] = d;\n\n d.circle.classed(\"rdf-class\", true);\n d.circle.on('mouseover', function () {\n if (config.noPrefixes) {\n tip.show(d);\n } else if (!d.textHidden) {\n tip.hide(d);\n } else {\n tip.show(d);\n }\n });\n d.circle.on('mouseout', tip.hide);\n }\n });\n\n if (flattenedClassNames) {\n flattenedClassNames = _.uniqBy(flattenedClassNames, 'name');\n scope.flattenedClassNames = flattenedClassNames;\n }\n\n var selectedClass;\n\n function getCurrentClassDataAndMarkSelected(obj) {\n d3.selectAll(\".selected\").classed(\"selected\", obj.selected = false);\n obj.circle.classed(\"selected\", obj.selected = true);\n selectedClass = obj;\n }\n\n function showClassInfoPanel() {\n scope.selectedClass = selectedClass;\n scope.showClassInfoPanel = true;\n }\n\n function closeClassInfoPanel() {\n scope.showClassInfoPanel = false;\n }\n\n function goToDomainRangeGraphView() {\n $rootScope.$broadcast('goToDomainRangeGraphView', selectedClass, focus);\n }\n\n var clickCancel = D3.Click.delayDblClick();\n var parentCircles = d3.selectAll(\".parent, .topLevelParent, .child, .root\")\n .call(clickCancel);\n\n doFocus = function (obj) {\n zoom(obj);\n\n if (obj.name === ROOT_OBJ_NAME) {\n closeClassInfoPanel();\n d3.selectAll(\".selected\").classed(\"selected\", false);\n } else {\n getCurrentClassDataAndMarkSelected(obj);\n showClassInfoPanel();\n\n // FIXME: is it ok to bind this event handler every time and not just once?\n scope.$on('sidePanelClosed', function (event) {\n d3.selectAll(\".selected\").classed(\"selected\", obj.selected = false);\n });\n }\n\n\n //do not stop event propagation here\n };\n\n clickCancel.on(\"click\", function (obj) {\n // add clicked class to browser history\n if (obj.id) {\n $window.history.pushState({id: obj.id}, \"classHierarchyPage\" + obj.id, \"hierarchy#\" + obj.id);\n }\n\n //hide current d3-tip tooltip\n tip.hide();\n\n doFocus(obj);\n });\n\n clickCancel.on(\"dblclick\", function (obj) {\n if (obj === root) {\n return;\n }\n // hide current d3-tip tooltip in order not to appear in the next view\n tip.hide();\n getCurrentClassDataAndMarkSelected(obj);\n goToDomainRangeGraphView();\n\n d3.event.stopPropagation();\n });\n\n var lastTimeWheel = 0;\n svg.on('wheel', function () {\n // hide current d3-tip tooltip\n tip.hide();\n\n var e = d3.event;\n e.preventDefault();\n e.stopPropagation();\n\n // at least 100ms must have passed since last time we updated\n var now = new Date().getTime();\n if (now - lastTimeWheel > 100) {\n lastTimeWheel = now;\n } else {\n return;\n }\n\n var direction = '';\n if (e.deltaY <= -1) {\n direction = 'in';\n } else if (e.deltaY >= 1) {\n direction = 'out';\n }\n\n var obj = e.target.__data__;\n\n if (!obj) {\n // scroll outside the big circle\n obj = focus;\n }\n\n if (direction === 'in') {\n // determine object to zoom to\n\n if (obj !== focus) {\n // consider the object on which the scroll event occurred\n // and find the furthest parent that has no focused children\n while (obj.parent && !obj.parent.isInFocusTransitive) {\n obj = obj.parent;\n }\n if (obj.depth < focus.depth) {\n // however if that parent is of lower depth than the focus we ignore it\n obj = focus;\n }\n }\n\n if (obj === focus && obj.children) {\n // if object is in focus and it has children we zoom to its biggest child\n // TODO: sort children on backend\n var newobj = obj.children[0];\n for (var i = 1; i < obj.children.length; i++) {\n if (obj.children[i].sortingRank > newobj.sortingRank) {\n newobj = obj.children[i];\n }\n }\n obj = newobj;\n }\n\n zoom(obj, true);\n } else if (direction === 'out') {\n // zooming out simply goes one parent up\n obj = focus.parent;\n if (obj) {\n zoom(obj, true);\n }\n }\n\n if (focus.name === ROOT_OBJ_NAME) {\n $window.history.replaceState({id: 1}, \"classHierarchyPage1\", \"hierarchy#1\");\n }\n\n // redraw slider on zoom out\n sendSliderData();\n });\n\n var text = g.selectAll(\"text\")\n .data(nodes)\n .enter().append(\"text\")\n .attr(\"class\", function (d) {\n return d.children && d.children.length ? \"label\" : \"label child-label\";\n })\n .each(function (d) {\n d.textSel = d3.select(this);\n });\n\n function trimPrefixes(d) {\n var idx = d.name.indexOf(\":\");\n var absUriIdx = d.name.indexOf(\"http://\");\n if (absUriIdx > -1) {\n // if we have no prefix available ignore\n d.noPrefixName = d.name;\n } else if (idx > -1) {\n d.noPrefixName = d.name.substring(idx + 1);\n }\n }\n\n if (config.noPrefixes) {\n if (oldRoot !== root) {\n text.each(trimPrefixes);\n oldRoot = root;\n }\n\n text\n .style(\"font-size\", function (d) {\n return D3.Text.calcFontSize(d.noPrefixName, d.r);\n })\n .text(function (d) {\n return D3.Text.getTextWithElipsisIfNeeded(d.noPrefixName, d.r / 3);\n });\n } else {\n text\n .style(\"font-size\", function (d) {\n return D3.Text.calcFontSize(d.name, d.r);\n })\n .text(function (d) {\n return D3.Text.getTextWithElipsisIfNeeded(d.name, d.r / 3);\n })\n }\n\n // TODO: make this use the full version (same as zoom)\n text.style(\"display\", function (d) {\n if (d.parent === root) {\n d.textHidden = this.textContent.indexOf(\"...\") + 3 === this.textContent.length;\n return null;\n } else {\n d.textHidden = true;\n return \"none\";\n }\n });\n\n if (config.doFade && !config.keepPrevState) {\n text.each(function (d) {\n D3.Transition.fadeIn(d3.select(this), 550);\n });\n }\n\n autoZoomToPreviousState = function () {\n function focusOnCurrentClass(focusHistoryId) {\n if (focusHistoryId) {\n circle.each(function (d) {\n if (focusHistoryId == d.id) {\n doFocus(d);\n }\n });\n }\n }\n\n var focusHistoryId = $location.hash();\n\n $window.onpopstate = function (event) {\n if (event.state) {\n var focusHistoryId = event.state.id;\n focusOnCurrentClass(focusHistoryId);\n }\n };\n\n focusOnCurrentClass(focusHistoryId);\n };\n\n var node = g.selectAll(\"circle, text\");\n\n function zoomTo(v, switchPrefixes) {\n var k = diameter / v[2];\n view = v;\n\n node.attr(\"transform\", function (d) {\n return \"translate(\" + (d.x - v[0]) * k + \",\" + (d.y - v[1]) * k + \")\";\n });\n\n circle.attr(\"r\", function (d) {\n return d.r * k;\n });\n\n function switchPrefixesInPlace(d) {\n // if uris match with the topLevelParentUri of the focused element\n // or your focus is a top level parent hide its label and if it is not\n // a child element show all of its child labels. If it is a child element\n // only show its label.\n if (d.fullName === focus.topLevelParentUri || focus.topLevelParentUri === ROOT_OBJ_NAME) {\n d.textSel.style(\"display\", \"none\");\n if (focus.children && focus.children.length) {\n _.each(focus.children, function (c) {\n c.textSel.style(\"display\", \"inline\");\n });\n } else {\n focus.textSel.style(\"display\", \"inline\");\n }\n\n // in order to show prefixes of siblings check if the focused\n // element has a parent and show all of its children except\n // for the name of the focused element because you need to see\n // its children\n if (focus.parent) {\n _.each(focus.parent.children, function (c) {\n if (c.name !== focus.name) {\n c.textSel.style(\"display\", \"inline\");\n }\n });\n }\n }\n }\n\n if (switchPrefixes) {\n text.each(switchPrefixesInPlace);\n }\n\n text\n .style(\"font-size\", function (d) {\n if (config.noPrefixes) {\n return D3.Text.calcFontSize(d.noPrefixName, d.r * k);\n }\n return D3.Text.calcFontSize(d.name, d.r * k);\n })\n .text(function (d) {\n if (config.noPrefixes) {\n return D3.Text.getTextWithElipsisIfNeeded(d.noPrefixName, d.r * k / 3);\n }\n return D3.Text.getTextWithElipsisIfNeeded(d.name, d.r * k / 3);\n });\n }\n\n\n function adjustRadius(r) {\n var newr = r * 2 + margin;\n if (r * 2 / newr < 0.3) {\n // for very small circles we need to adjust\n newr = r * 2 + 2;\n }\n return newr;\n }\n\n zoomTo([focus.x, focus.y, adjustRadius(focus.r)], switchPrefixes);\n\n function textUpdateStart(d) {\n if (d.isInFocusTransitive || !(d.parent && d.parent.isInFocusTransitive)) {\n // hide labels of classes that are in focus (including children) OR whose parents aren't in focus\n d.textHidden = true;\n this.style.display = \"none\";\n }\n }\n\n function textUpdateEnd(d) {\n if (d.isInFocusTransitive || !(d.parent && d.parent.isInFocusTransitive)) {\n // hide labels of classes that are in focus (including children) OR whose parents aren't in focus\n // this.style.display = \"none\";\n } else {\n // show all other labels\n d.textHidden = this.textContent.indexOf(\"...\") + 3 === this.textContent.length;\n this.style.display = \"\";\n }\n }\n\n function zoom(d, shouldClosePanel) {\n // use empty timeout to force the following code to be executed on the next $digest cycle\n // in order to avoid '$digest in progress' error\n $timeout(function () {\n scope.showExternalElements = (d.name === ROOT_OBJ_NAME);\n });\n\n if (d.id) {\n $window.history.replaceState({id: d.id}, \"classHierarchyPage\" + d.id, \"hierarchy#\" + d.id);\n }\n\n if (focus === d) {\n return;\n }\n\n if (shouldClosePanel) {\n closeClassInfoPanel();\n d3.selectAll(\".selected\").classed(\"selected\", false);\n }\n\n if (focus.parent) {\n var p = focus;\n while (p) {\n p.isInFocusTransitive = false;\n p = p.parent;\n }\n }\n\n var p = d;\n while (p) {\n p.isInFocusTransitive = p.children;\n p = p.parent;\n }\n\n focus = d;\n\n var isVerySmallCircle = focus.r * 2 / (focus.r * 2 + margin) < 0.3;\n\n if (isVerySmallCircle || scope.currentSliderValue > scope.currentBrowserLimit) {\n // no fancy animation for slower browsers if above the limit or if zooming to a very small circle\n zoomTo([focus.x, focus.y, adjustRadius(focus.r)]);\n\n text.each(function (d) {\n textUpdateStart.call(this, d);\n textUpdateEnd.call(this, d);\n });\n } else {\n // the fancy version for faster browsers\n var transition = d3.transition()\n .duration(ZOOM_DURATION)\n .tween(\"zoom\", function (d) {\n var i = d3.interpolateZoom(view, [focus.x, focus.y, adjustRadius(focus.r)]);\n return function (t) {\n zoomTo(i(t));\n };\n });\n\n transition.selectAll(\"text\")\n // Experimental: hide texts to be hidden on \"start\", show texts to be shown on \"end\"\n .each(\"start\", textUpdateStart)\n .each(\"end\", textUpdateEnd);\n }\n }\n\n rootFocusEvent = scope.$on('rootFocus', function () {\n $window.history.pushState({id: 1}, \"classHierarchyPage1\", \"hierarchy#1\");\n doFocus(root);\n });\n\n classSearchEvent = scope.$on('classSearch', function (selectedClass) {\n doFocus(selectedClass);\n });\n }\n\n function sendSliderData() {\n var currentClassCount = scope.classHierarchyData.classCount;\n let currentSliderValue = LocalStorageAdapter.get(LSKeys.CLASS_HIERARCHY_CURRENT_SLIDER_VALUE);\n\n if (!currentSliderValue || currentSliderValue > currentClassCount) {\n currentSliderValue = currentClassCount;\n LocalStorageAdapter.set(LSKeys.CLASS_HIERARCHY_CURRENT_SLIDER_VALUE, currentSliderValue);\n }\n\n $rootScope.$broadcast(\"classCount\", currentClassCount, currentSliderValue);\n }\n\n window.addEventListener('resize', sendSliderData);\n\n window.addEventListener('beforeunload', removeResizeListener);\n\n function removeResizeListener() {\n window.removeEventListener('resize', sendSliderData);\n window.removeEventListener('beforeunload', removeResizeListener);\n }\n\n var prefixesWatch,\n currentClassCountWatch,\n searchedClassBroadcast,\n onEnterClassSearchBroadcast;\n\n scope.$watch('classHierarchyData', function () {\n // when data changes unregister watchers by calling them\n if (prefixesWatch) prefixesWatch();\n if (currentClassCountWatch) currentClassCountWatch();\n if (searchedClassBroadcast) searchedClassBroadcast();\n if (onEnterClassSearchBroadcast) onEnterClassSearchBroadcast();\n\n // get initial state of prefixes (hidden or not) when changing repositories\n // in order to avoid triggering an unwanted prefixes watch\n var initialPrefixesState = getPrefixesState();\n\n if (scope.classHierarchyData.classCount) {\n sendSliderData();\n\n var root = angular.copy(scope.classHierarchyData);\n\n function sortRoot(root) {\n // add all classes to a flat array, add parent information\n // and sort according to instancesCount DESC, depth ASC\n return pack\n .nodes(root)\n .sort(function (a, b) {\n if (a.sortingRank > b.sortingRank) {\n return -1;\n } else if (a.sortingRank < b.sortingRank) {\n return 1;\n } else if (a.depth > b.depth) {\n return 1;\n } else if (a.depth < b.depth) {\n return -1;\n } else {\n return 0;\n }\n });\n }\n\n var sorted = sortRoot(root);\n\n // we start with an empty new root\n var newRoot;\n var noPrefixesGlobal;\n\n\n function restoreDiagramState(currentRoot, switchPrefixes) {\n var prefixesConfig = {\n keepPrevState: true,\n noPrefixes: getPrefixesState()\n };\n\n // get noPrefixes flag from drawDiagram configuration params\n noPrefixesGlobal = prefixesConfig.noPrefixes;\n\n if (newRoot) {\n drawDiagram(newRoot, prefixesConfig, focus, true);\n } else {\n drawDiagram(currentRoot, prefixesConfig, focus, true);\n }\n\n $timeout(function () {\n LocalStorageAdapter.set(LSKeys.CLASS_HIERARCHY_SWITCH_PREFIXES, switchPrefixes);\n autoZoomToPreviousState();\n }, 70);\n }\n\n function redrawFilteredDiagram(currentSliderValue, sortedRoot, useSlider) {\n if (!currentSliderValue) {\n return;\n }\n\n LocalStorageAdapter.set(LSKeys.CLASS_HIERARCHY_CURRENT_SLIDER_VALUE, currentSliderValue);\n\n newRoot = {\n name: ROOT_OBJ_NAME,\n children: []\n };\n\n // walk through the given count of (sorted) classes\n // - record the id of each class we've seen\n // - add the root level classes to the new root\n var addedIds = new Set();\n for (var k = 1; k <= currentSliderValue; k++) {\n addedIds.add(sortedRoot[k].id);\n if (sortedRoot[k].parent === sortedRoot[0]) { // i.e. the parent is the \"class hierarchy\"\n newRoot.children.push(sortedRoot[k]);\n }\n }\n\n // walk through all the classes in the new root and only keep those that have an \"added id\"\n // we create separate copies of the arrays in order not to contaminate the original data\n // we also copy each class's object ($.extend ...) for the same reason\n function fixChildren(node) {\n if (!node.children) {\n return;\n }\n var newChildren = [];\n for (var i = 0; i < node.children.length; i++) {\n if (addedIds.has(node.children[i].id)) {\n newChildren.push($.extend({}, node.children[i]));\n }\n }\n node.children = newChildren;\n for (var i = 0; i < node.children.length; i++) {\n fixChildren(node.children[i]);\n }\n }\n\n fixChildren(newRoot);\n\n if (useSlider) {\n // redraw diagram when slider value changes and persist current state\n // in local storage\n noPrefixesGlobal = angular.isUndefined(noPrefixesGlobal) ? getPrefixesState() : noPrefixesGlobal;\n var redrawConfig = {\n noPrefixes: noPrefixesGlobal\n };\n drawDiagram(newRoot, redrawConfig);\n } else {\n // if the user returns to the diagram with back browser button\n // read the saved state (show/hide prefixes, current slider value)\n // from local storage and render the diagram according to the saved metrics\n restoreDiagramState(root);\n }\n }\n\n var currentSliderValue = LocalStorageAdapter.get(LSKeys.CLASS_HIERARCHY_CURRENT_SLIDER_VALUE);\n if (currentSliderValue) {\n redrawFilteredDiagram(currentSliderValue, sorted);\n } else {\n var basicConfig = {\n doFade: true,\n keepPrevState: true,\n noPrefixes: getPrefixesState()\n };\n drawDiagram(root, basicConfig);\n autoZoomToPreviousState();\n }\n\n prefixesWatch = scope.$watch('hidePrefixes', function (hidePrefixes) {\n if (angular.isUndefined(hidePrefixes) || initialPrefixesState) {\n initialPrefixesState = undefined;\n return;\n }\n // if digest overflows a possible fix might be wrapping this in $timeout\n $timeout(function () {\n savePrefixesState(hidePrefixes);\n restoreDiagramState(root, true);\n }, 50);\n }, true);\n\n currentClassCountWatch = scope.$watch('currentSliderValue', function (currentSliderValue) {\n redrawFilteredDiagram(currentSliderValue, sorted, true);\n }, true);\n\n // we handle this event for the cases where we already have searched for a given class and\n // hit enter again on the already selected class in order again react and zoom to it again\n // if we are not at the moment\n var currentSearchedClass;\n onEnterClassSearchBroadcast = scope.$on('onEnterKeypressSearchAction', function (event) {\n if (currentSearchedClass) {\n doFocus(currentSearchedClass);\n }\n });\n\n searchedClassBroadcast = scope.$on('searchedClass', function (event, searchedClass) {\n currentSearchedClass = flattenedClassData[searchedClass.name];\n if (currentSearchedClass) {\n doFocus(currentSearchedClass);\n }\n });\n }\n }, true);\n }\n}\n"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[21,42,79,80,95],{117:function(e,r,o){"use strict";o.r(r);o(3),o(9),o(14),o(47),o(79),o(80),o(8),o(81),o(29),o(30);angular.module("graphdb.framework.repositories",["ui.bootstrap","toastr","ngCookies","ngRoute","graphdb.framework.repositories.controllers","graphdb.framework.repositories.ontop-repo.directive","graphdb.framework.repositories.fedx-repo.directive","graphdb.framework.core.services.repositories","graphdb.framework.core.directives","graphdb.framework.core.controllers","graphdb.framework.settings"])},45:function(e,r,o){"use strict";o.r(r);o(3),o(10);function t(e,r,o,t,i){e.supportsStatistics=!0,e.settings={statistics:!1},e.getSettings=function(){e.loader=!0,t.getStatistics().then((function(r){e.settings.statistics="true"===r.data,e.supportsStatistics=!0}),(function(o){if(404===o.status)e.supportsStatistics=!1;else{const e=getError(o.data);r.error(e,i.instant("error.getting.settings"))}}))},e.getSettings(),e.setSettings=function(){e.loader=!0,t.toggleStatistics(e.settings.statistics).then((function(){o.close(),r.success(i.instant("saving.settings.success"))}),(function(e){const o=getError(e.data);r.error(o,i.instant("saving.settings.error"))}))},e.submitForm=function(){e.setSettings()},e.cancel=function(){o.dismiss("cancel")}}function i(e,r,o,t,i,s,n){e.loadingLicense=function(){return o.loadingLicense},o.checkLicenseStatus(),e.revertToFree=function(){s.openSimpleModal({title:n.instant("confirm.operation"),message:n.instant("revert.to.free.warning.msg"),warning:!0}).result.then((function(){r.unregisterLicense().success((function(){o.checkLicenseStatus()}))}))}}function s(e,r,o,t,i,s,n,a){e.$on("securityInit",(function(){n.isAdmin()||o.path("/license")})),e.sendLicenseToValidateAndActivate=l;const c=$(".license-textarea");function l(e){r.sendLicenseToValidate(e).success((function(o){"Invalid"!==o.licensee?(c.val(e),function(e,o){t.open({templateUrl:"js/angular/settings/modal/validate-license.html",controller:"ValidateLicenseModalCtrl",size:"lg",resolve:{license:function(){return e}}}).result.then((function(){!function(e){e||(e=c.val());if(e){const o=atob(e.replace(/\s/g,""));r.registerLicense(o).success((function(){s.history.back()})).error((function(){i.error(a.instant("license.register.error"))}))}else i.error(a.instant("no.license.code.error"))}(o)}))}(o,e)):(c.val(""),i.error(o.message))})).error((function(){i.error(a.instant("invalid.license"))}))}e.$watch("currentFile",(function(){if(e.currentFile){const o=e.currentFile;r.extractFromLicenseFile(o).success((function(e){l(e)})).error((function(){i.error(a.instant("could.not.upload.file.error"))}))}})),e.getBackToPreviousPage=function(){s.history.back()}}function n(e,r,o){e.ok=function(){r.close()},e.cancel=function(){r.dismiss("cancel")},e.license=o}function a(e){e.loader=!0,e.setLoader=function(r){e.loader=r}}angular.module("graphdb.framework.settings.controllers",["ngCookies","ui.bootstrap","graphdb.framework.core.services.jwtauth","toastr"]).controller("ActiveLocationSettingsCtrl",t).controller("ValidateLicenseModalCtrl",n).controller("LicenseCtrl",i).controller("RegisterLicenseCtrl",s).controller("LoaderSamplesCtrl",a),t.$inject=["$scope","toastr","$modalInstance","LicenseRestService","$translate"],i.$inject=["$scope","LicenseRestService","$licenseService","toastr","$rootScope","ModalService","$translate"],s.$inject=["$scope","LicenseRestService","$location","$modal","toastr","$window","$jwtAuth","$translate"],n.$inject=["$scope","$modalInstance","license"],a.$inject=["$scope"]},79:function(e,r,o){"use strict";o.r(r);var t=o(47);function i(e,r,o,i,s){return{restrict:"E",scope:!1,templateUrl:"js/angular/repositories/templates/ontop-repo.html",link:function(n){n.selectedDriver={driverType:"generic",driverName:"Generic JDBC Driver",jdbc:{hostName:"",port:"",databaseName:"",userName:"",password:"",driverClass:"",url:""},urlTemplate:"",downloadDriverUrl:""},n.ontopRepoFileNames={},n.supportedDriversData=[],n.ontopRepoFileLabels={propertiesFile:"JDBC properties",obdaFile:"OBDA or R2RML",owlFile:"ontology file",constraintFile:"constraint file",dbMetadataFile:"DB metadata file"},n.ontopRepoFiles=Object.keys(n.ontopRepoFileLabels),n.ontopRepoFiles.forEach((function(e){n.repositoryInfo.params[e]&&(n.ontopRepoFileNames[e]=Object(t.getFileName)(n.repositoryInfo.params[e].value))})),n.supportedDriverLabels={hostName:"Hostname",port:"Port",databaseName:"Database name",userName:"Username",password:"Password",driverClass:"Driver class",url:"URL"},n.propertiesFileParams=Object.keys(n.supportedDriverLabels),n.classAvailable=!1,n.genericDriverType="generic",n.propertiesFile="propertiesFile";const a=[n.propertiesFile,"obdaFile"],c=["hostName","databaseName","userName"];function l(){return n.selectedDriver.driverType!==n.genericDriverType?c.filter((function(e){return!n.selectedDriver.jdbc[e]})).length>0&&(o.error(s.instant("missing.required.field.error")),1)?Promise.reject(s.instant("missing.required.field.error")):(n.uploadFileLoader=!0,r.updatePropertiesFile(n.repositoryInfo.params[n.propertiesFile].value,n.selectedDriver.jdbc).success((function(e){n.ontopRepoFileNames[n.propertiesFile]=Object(t.getFileName)(e.fileLocation),n.repositoryInfo.params[n.propertiesFile].value=e.fileLocation,n.uploadFileLoader=!1})).error((function(e){p(s.instant("common.error"),e),n.uploadFileLoader=!1}))):Promise.resolve()}function p(e,r){const t=getError(r);o.error(t,e)}n.loadDriverByClass=function(e){const r=n.supportedDriversData.find(r=>r.driverClass===e);return r&&n.copyDriverProperties(r),r},n.selectDriverByType=function(e){n.copyDriverProperties(n.supportedDriversData.find(r=>r.driverType===e)),n.concatURL("hostName",n)},n.copyDriverProperties=function(e){n.selectedDriver.driverType=e.driverType,n.selectedDriver.jdbc.driverClass=e.driverClass,n.selectedDriver.jdbc.url=e.urlTemplate,n.selectedDriver.urlTemplate=e.urlTemplate,n.selectedDriver.downloadDriverUrl=e.downloadDriverUrl,n.selectedDriver.portRequired=e.portRequired,n.classAvailable=e.classAvailable},n.isReadOnly=function(e){return"driverClass"===e||"url"===e},n.editFile=function(o){e.open({templateUrl:"js/angular/templates/modal/editRepoFile.html",controller:"EditRepositoryFileCtrl",resolve:{file:function(){return n.repositoryInfo.params[o]?n.repositoryInfo.params[o].value:""}}}).result.then((function(e){r.updateRepositoryFileContent(e.fileLocation,e.content).success((function(e){n.ontopRepoFileNames[o]=Object(t.getFileName)(e.fileLocation),n.repositoryInfo.params[o].value=e.fileLocation})).error((function(e){p(s.instant("common.error"),e)}))}))},n.uploadOntopRepoFile=function(e,r){e&&e.length&&(n.uploadFile=e[0],n.uploadFileLoader=!0,i.upload({url:"rest/repositories/uploadFile",data:{uploadFile:n.uploadFile}}).success((function(e){e.success?(n.ontopRepoFileNames[r]=n.uploadFile.name,n.repositoryInfo.params[r].value=e.fileLocation):o.error(e.errorMessage),n.uploadFileLoader=!1})).error((function(e){p(s.instant("common.error"),e),n.uploadFile="",n.uploadFileLoader=!1})))},n.concatURL=function(e){if("hostName"===e||"port"===e||"databaseName"===e){let e=n.selectedDriver.urlTemplate;n.selectedDriver.jdbc.hostName&&(e=n.selectedDriver.jdbc.port?e.replace("{hostport}",`${n.selectedDriver.jdbc.hostName}:${n.selectedDriver.jdbc.port}`):e.replace("{hostport}",n.selectedDriver.jdbc.hostName)),n.selectedDriver.jdbc.databaseName&&(e=e.replace("{database}",n.selectedDriver.jdbc.databaseName)),n.selectedDriver.jdbc.url=e}},n.getInputType=function(e){switch(e){case"password":return"password";case"port":return"number";default:return"text"}},n.checkForRequiredOntopFiles=function(){return l().then((function(){return a.filter((function(e){return!n.repositoryInfo.params[e].value})).length>0?(o.error(s.instant("ontop.repo.missing.required.file.error")),Promise.reject(s.instant("ontop.repo.missing.required.file.error"))):Promise.resolve()}))},n.validateOntopPropertiesConnection=function(){l().then((function(){r.validateOntopPropertiesConnection(n.repositoryInfo.params.propertiesFile).success((function(){o.success(s.instant("ontop.repo.successful.connection.msg"))})).error((function(e){p(s.instant("ontop.repo.failed.to.connect"),e)}))}))},n.isOntopRepoFileUploaded=function(){return n.repositoryInfo.params.propertiesFile&&n.repositoryInfo.params.propertiesFile.value.length>0},n.isRequiredOntopRepoFile=function(e){return a.indexOf(e)>-1},n.isRequiredField=function(e){return c.indexOf(e)>-1||"port"===e&&n.selectedDriver.portRequired},n.getFieldTooltip=function(e){return"port"===e&&n.selectedDriver.portRequired&&(e="portIfRequired"),n.repoTooltips.ontop[e]},n.editOntopRepo=function(){n.checkForRequiredOntopFiles().then((function(){n.editRepository()})).catch((function(e){}))},n.createOntopRepo=function(){n.repositoryInfo.id?n.checkForRequiredOntopFiles().then((function(){n.createRepo()})).catch((function(e){})):o.error(s.instant("empty.repoid.warning"))},n.goBackToPrevious=function(){n.goBackToPreviousLocation()},r.getSupportedDriversData().success((function(e){n.supportedDriversData=e})).error((function(e){p(s.instant("common.error"),e)})).then((function(){n.editRepoPage&&r.loadPropertiesFile(n.repositoryInfo.params[n.propertiesFile].value).success((function(e){n.loadDriverByClass(e.driverClass)&&(n.selectedDriver.jdbc.hostName=e.hostName,n.selectedDriver.jdbc.port=parseInt(e.port),n.selectedDriver.jdbc.databaseName=e.databaseName,n.selectedDriver.jdbc.userName=e.userName,n.selectedDriver.jdbc.password=e.password,n.selectedDriver.jdbc.url=e.url)})).error((function(e){p(s.instant("common.error"),e),n.uploadFileLoader=!1}))}))}}}angular.module("graphdb.framework.repositories.ontop-repo.directive",[]).directive("ontopRepo",i),i.$inject=["$modal","RepositoriesRestService","toastr","Upload","$translate"]},80:function(e,r){function o(e,r,o,t,i,s){return{restrict:"E",scope:!1,templateUrl:"js/angular/repositories/templates/fedx-repo.html",link:function(t){const n="ResolvableRepository";function a(){for(const e of t.fedxMembers)t.knownRepos=t.knownRepos.filter((function(r){return e.repositoryServer?r.id!==e.repositoryName||r.location!==e.repositoryServer:r.id!==e.repositoryName||!r.local}))}function c(){return r.getRepositories().success((function(e){t.allLocalRepos=e.slice()})).error((function(e){const r=getError(e);o.error(r,"Error")})).then((function(){i.getLocations().success((function(e){t.locations=e.slice()})).error((function(e){const r=getError(e);o.error(r,s.instant("common.error"))})).then((function(){t.locations.forEach(e=>(function(e){return r.getRepositoriesFromKnownLocation(e).success((function(e){t.knownRepos=t.allLocalRepos.filter(e=>-1!==t.knownRepos.indexOf(e));for(const r of e)t.allAttachedRepos=t.allAttachedRepos.filter(e=>e.id!==r.id||e.location!==r.location);t.allAttachedRepos=t.allAttachedRepos.concat(e.slice()),t.knownRepos=t.knownRepos.concat(t.allAttachedRepos)})).error((function(e){const r=getError(e);o.error(r,s.instant("common.error"))}))})(e.uri).then((function(){t.editRepoPage&&(t.fedxMembers=t.repositoryInfo.params.member.value.slice()),a()})))}))}))}t.fedxMembers=[],t.knownRepos=[],t.allLocalRepos=[],t.allAttachedRepos=[],t.locations=[],t.setWritableRepo=function(e){let r=t.fedxMembers.find(e=>"true"===e.writable);r&&((r.store!==n||e.store===n&&r.repositoryName===e.repositoryName)&&("RemoteRepository"!==r.store||"RemoteRepository"===e.store&&r.repositoryName===e.repositoryName&&r.repositoryServer===e.repositoryServer)||(r.writable="false")),e.writable=JSON.stringify("false"===e.writable)},t.getActiveClass=function(e){return"true"===e.writable?" active":""},t.checkIfRepoExist=function(e){return e.store===n?t.allLocalRepos.find(r=>r.id===e.repositoryName):"RemoteRepository"!==e.store||(r=e,!t.locations.find(e=>e.uri===r.repositoryServer))||t.allAttachedRepos.find(r=>r.id===e.repositoryName&&r.location===e.repositoryServer);var r},t.getRepositoryServer=function(e){return e.local?"Local":e.location};const l=setInterval((function(){c()}),5e3);function p(e){t.fedxMembers.push(e),t.repositoryInfo.params.member.value=t.fedxMembers}function d(e){return"/"===e.slice(-1)?e.slice(0,-1):e}function u(){return t.editRepoPage&&!t.editRepoPage||!t.model.editMode}t.$on("$destroy",(function(){clearInterval(l)})),t.addMember=function(e){if("Local"===t.getRepositoryServer(e))t.addLocalMember(e);else{let r={store:"RemoteRepository",repositoryName:e.id,repositoryServer:e.location,username:"",password:"",supportsASKQueries:"true",writable:"false"};t.knownRepos=t.knownRepos.filter((function(e){return r.repositoryServer?e.id!==r.repositoryName||e.location!==r.repositoryServer:e.id!==r.repositoryName||!e.local})),p(r)}},t.addLocalMember=function(e){let r={store:n,repositoryName:e.id,repoType:e.type,respectRights:"true",writable:"false"};t.knownRepos=t.knownRepos.filter((function(e){return r.repositoryServer?e.id!==r.repositoryName||e.location!==r.repositoryServer:e.id!==r.repositoryName||!e.local})),p(r)},t.removeMember=function(e){e.store&&e.store===n?(t.fedxMembers=t.fedxMembers.filter(r=>r.repositoryName!==e.repositoryName||r.store!==e.store),t.allLocalRepos=[],c()):e.store&&"SPARQLEndpoint"===e.store?t.fedxMembers=t.fedxMembers.filter(r=>r.endpoint!==e.endpoint):e.store&&"NativeStore"===e.store?t.fedxMembers=t.fedxMembers.filter(r=>r.repositoryLocation!==e.repositoryLocation):e.store&&"RemoteRepository"===e.store&&(t.fedxMembers=t.fedxMembers.filter(r=>r.repositoryName!==e.repositoryName||r.repositoryServer!==e.repositoryServer||r.store!==e.store),t.allAttachedRepos=[],c()),t.repositoryInfo.params.member.value=t.fedxMembers},t.addRemoteMember=function(){t.mode="remote",t.model={editMode:!1,store:"RemoteRepository",repositoryName:"",repositoryServer:"",sparqlEndpoint:"",username:"",password:"",supportsASKQueries:"true",writable:"false"},t.$modalInstance=e.open({templateUrl:"js/angular/templates/modal/add-fedx-remote-repo.html",scope:t})},t.getMemberIcon=function(e){return e.repoType?"icon-repo-"+e.repoType:"NativeStore"===e.store?"icon-warning":"icon-link"},t.editFedXRepository=function(r){r.store===n?(t.mode="local",t.model={editMode:!0,store:r.store,respectRights:r.respectRights,repositoryName:r.repositoryName,repoType:r.repoType,writable:r.writable}):(t.mode="remote",t.model={editMode:!0,store:r.store,repositoryName:r.repositoryName,repositoryServer:r.repositoryServer,sparqlEndpoint:"SPARQLEndpoint"===r.store?r.endpoint:r.repositoryLocation,username:r.username,password:r.password,supportsASKQueries:r.supportsASKQueries,writable:r.writable}),t.$modalInstance=e.open({templateUrl:"js/angular/templates/modal/add-fedx-remote-repo.html",scope:t})},t.resolveName=function(e){switch(e.store){case n:return e.repositoryName;case"RemoteRepository":return e.repositoryName+"@"+e.repositoryServer;case"SPARQLEndpoint":return e.endpoint;case"NativeStore":return e.repositoryLocation;default:return""}},t.cancel=function(){t.$modalInstance.dismiss("cancel")},t.ok=function(){let e;if(t.model.repositoryName&&t.model.store===n)e={store:n,repositoryName:t.model.repositoryName,repoType:t.model.repoType,respectRights:t.model.respectRights,writable:t.model.writable},t.fedxMembers=t.fedxMembers.filter(r=>r.repositoryName!==e.repositoryName||r.store!==e.store);else if(t.model.repositoryName&&"RemoteRepository"===t.model.store){if(e={store:"RemoteRepository",repositoryName:t.model.repositoryName,repositoryServer:d(t.model.repositoryServer),username:t.model.username,password:t.model.password,writable:t.model.writable},u()&&t.fedxMembers.find(r=>r.repositoryName===e.repositoryName&&r.repositoryServer===e.repositoryServer)){let r=t.resolveName(e);return o.error(s.instant("fedx.repo.already.added.member.error",{name:r})),void t.$modalInstance.close()}t.fedxMembers=t.fedxMembers.filter(r=>r.repositoryName!==e.repositoryName||r.repositoryServer!==e.repositoryServer)}else{if(e={store:"SPARQLEndpoint",endpoint:d(t.model.sparqlEndpoint),username:t.model.username,password:t.model.password,supportsASKQueries:t.model.supportsASKQueries,writable:t.model.writable},u()&&t.fedxMembers.find(r=>r.endpoint===e.endpoint)){let r=t.resolveName(e);return o.error(s.instant("fedx.repo.already.added.sparql.endpoint.error",{name:r})),void t.$modalInstance.close()}t.fedxMembers=t.fedxMembers.filter(r=>r.endpoint!==e.endpoint)}p(e),a(),t.$modalInstance.close()},c()}}}angular.module("graphdb.framework.repositories.fedx-repo.directive",[]).directive("fedxRepo",o),o.$inject=["$modal","RepositoriesRestService","toastr","$timeout","LocationsRestService","$translate"]},81:function(e,r,o){"use strict";o.r(r);o(3),o(9),o(6),o(45),o(17),o(10),o(29),o(30);function t(e){e.interceptors.push("$unauthorizedInterceptor")}function i(e,r,o){e.$on("$locationChangeStart",(function(){o.isLicenseHardcoded&&"/license/register"===r.url()&&r.path("license")}))}angular.module("graphdb.framework.settings",["toastr","ui.bootstrap","graphdb.framework.rest.license.service","graphdb.framework.settings.controllers","graphdb.framework.core.interceptors.unauthorized","graphdb.framework.core.services.jwtauth"]).config(t).run(i),t.$inject=["$httpProvider","$routeProvider"],i.$inject=["$rootScope","$location","$licenseService"]}}]);
|
|
2
|
-
//# sourceMappingURL=21.b7fbdf3c3b22b578928c.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///./src/js/angular/repositories/app.js","webpack:///./src/js/angular/settings/controllers.js","webpack:///./src/js/angular/repositories/ontop-repo.directive.js","webpack:///./src/js/angular/repositories/fedx-repo.directive.js","webpack:///./src/js/angular/settings/app.js"],"names":["angular","module","ActiveLocationSettingsCtrl","$scope","toastr","$modalInstance","LicenseRestService","$translate","supportsStatistics","settings","statistics","getSettings","loader","getStatistics","then","response","data","status","msg","getError","error","instant","setSettings","toggleStatistics","close","success","submitForm","cancel","dismiss","LicenseCtrl","$licenseService","$rootScope","ModalService","loadingLicense","checkLicenseStatus","revertToFree","openSimpleModal","title","message","warning","result","unregisterLicense","RegisterLicenseCtrl","$location","$modal","$window","$jwtAuth","$on","isAdmin","path","sendLicenseToValidateAndActivate","textAreaSel","$","licenseCode","sendLicenseToValidate","validatedLicense","licensee","val","license","open","templateUrl","controller","size","resolve","decodedLicense","atob","replace","registerLicense","history","back","confirmWantedNewLicenseDetails","$watch","currentFile","file","extractFromLicenseFile","getBackToPreviousPage","ValidateLicenseModalCtrl","ok","LoaderSamplesCtrl","setLoader","$inject","ontopRepoDirective","RepositoriesRestService","Upload","restrict","scope","link","selectedDriver","driverType","driverName","jdbc","hostName","port","databaseName","userName","password","driverClass","url","urlTemplate","downloadDriverUrl","ontopRepoFileNames","supportedDriversData","ontopRepoFileLabels","propertiesFile","obdaFile","owlFile","constraintFile","dbMetadataFile","ontopRepoFiles","Object","keys","forEach","key","repositoryInfo","params","value","supportedDriverLabels","propertiesFileParams","classAvailable","genericDriverType","REQUIRED_ONTOP_REPO_PARAMS","REQUIRED_PROPERTIES_FIELD_PARAMS","updateProperties","filter","requiredField","length","Promise","reject","uploadFileLoader","updatePropertiesFile","fileLocation","showErrorMsg","loadDriverByClass","foundDriver","find","driver","copyDriverProperties","selectDriverByType","concatURL","portRequired","isReadOnly","labelName","editFile","updateRepositoryFileContent","content","uploadOntopRepoFile","files","param","uploadFile","upload","name","errorMessage","getInputType","checkForRequiredOntopFiles","requiredFile","validateOntopPropertiesConnection","isOntopRepoFileUploaded","isRequiredOntopRepoFile","indexOf","isRequiredField","field","getFieldTooltip","repoTooltips","ontop","editOntopRepo","editRepository","catch","err","createOntopRepo","id","createRepo","goBackToPrevious","goBackToPreviousLocation","getSupportedDriversData","editRepoPage","loadPropertiesFile","driverData","parseInt","directive","fedxRepoDirective","$timeout","LocationsRestService","LOCAL_REPO_STORE","populateKnownRepos","member","fedxMembers","knownRepos","repo","repositoryServer","repositoryName","location","local","getKnownRepos","getRepositories","allLocalRepos","slice","getLocations","locations","l","getRepositoriesFromKnownLocation","el","allAttachedRepos","concat","getRepositoriesFromLocation","uri","setWritableRepo","currentWritable","writable","store","JSON","stringify","getActiveClass","checkIfRepoExist","getRepositoryServer","localReposTimer","setInterval","updateMembers","push","removeEndingSlash","checkEditMode","model","editMode","clearInterval","addMember","repository","addLocalMember","username","supportsASKQueries","repoType","type","respectRights","removeMember","endpoint","repositoryLocation","addRemoteMember","mode","sparqlEndpoint","getMemberIcon","editFedXRepository","resolveName","resolvedName","config","$httpProvider","interceptors","run","isLicenseHardcoded"],"mappings":"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","file":"21.b7fbdf3c3b22b578928c.bundle.js","sourcesContent":["import 'angular/core/services';\nimport 'angular/core/directives';\nimport 'angular/core/controllers';\nimport 'angular/repositories/controllers';\nimport 'angular/repositories/ontop-repo.directive';\nimport 'angular/repositories/fedx-repo.directive';\nimport 'angular/core/services/repositories.service';\nimport 'angular/settings/app';\nimport 'ng-file-upload/dist/ng-file-upload.min';\nimport 'ng-file-upload/dist/ng-file-upload-shim.min';\n\nconst modules = [\n 'ui.bootstrap',\n 'toastr',\n 'ngCookies',\n 'ngRoute',\n 'graphdb.framework.repositories.controllers',\n 'graphdb.framework.repositories.ontop-repo.directive',\n 'graphdb.framework.repositories.fedx-repo.directive',\n 'graphdb.framework.core.services.repositories',\n 'graphdb.framework.core.directives',\n 'graphdb.framework.core.controllers',\n 'graphdb.framework.settings'\n];\n\nangular.module('graphdb.framework.repositories', modules);\n","import 'angular/core/services';\nimport 'angular/core/services/jwt-auth.service';\n\nangular\n .module('graphdb.framework.settings.controllers', [\n 'ngCookies',\n 'ui.bootstrap',\n 'graphdb.framework.core.services.jwtauth',\n 'toastr'\n ])\n .controller('ActiveLocationSettingsCtrl', ActiveLocationSettingsCtrl)\n .controller('ValidateLicenseModalCtrl', ValidateLicenseModalCtrl)\n .controller('LicenseCtrl', LicenseCtrl)\n .controller('RegisterLicenseCtrl', RegisterLicenseCtrl)\n .controller('LoaderSamplesCtrl', LoaderSamplesCtrl);\n\nActiveLocationSettingsCtrl.$inject = ['$scope', 'toastr', '$modalInstance', 'LicenseRestService', '$translate'];\n\nfunction ActiveLocationSettingsCtrl($scope, toastr, $modalInstance, LicenseRestService, $translate) {\n $scope.supportsStatistics = true;\n $scope.settings = {statistics: false};\n $scope.getSettings = getSettings;\n\n function getSettings() {\n $scope.loader = true;\n LicenseRestService.getStatistics().then(function (response) {\n $scope.settings.statistics = response.data === 'true';\n $scope.supportsStatistics = true;\n }, function (response) {\n if (response.status === 404) {\n $scope.supportsStatistics = false;\n } else {\n const msg = getError(response.data);\n toastr.error(msg, $translate.instant('error.getting.settings'));\n }\n });\n }\n\n $scope.getSettings();\n\n $scope.setSettings = function () {\n $scope.loader = true;\n LicenseRestService.toggleStatistics($scope.settings.statistics).then(function () {\n $modalInstance.close();\n toastr.success($translate.instant('saving.settings.success'));\n }, function (response) {\n const msg = getError(response.data);\n toastr.error(msg, $translate.instant('saving.settings.error'));\n });\n };\n\n $scope.submitForm = function () {\n $scope.setSettings();\n };\n\n $scope.cancel = function () {\n $modalInstance.dismiss('cancel');\n };\n}\n\nLicenseCtrl.$inject = ['$scope', 'LicenseRestService', '$licenseService', 'toastr', '$rootScope', 'ModalService', '$translate'];\n\nfunction LicenseCtrl($scope, LicenseRestService, $licenseService, toastr, $rootScope, ModalService, $translate) {\n\n $scope.loadingLicense = function() {\n return $licenseService.loadingLicense;\n };\n\n $licenseService.checkLicenseStatus();\n\n $scope.revertToFree = function () {\n ModalService.openSimpleModal({\n title: $translate.instant('confirm.operation'),\n message: $translate.instant(\"revert.to.free.warning.msg\"),\n warning: true\n }).result\n .then(function () {\n LicenseRestService.unregisterLicense()\n .success(function () {\n $licenseService.checkLicenseStatus();\n });\n });\n };\n}\n\nRegisterLicenseCtrl.$inject = ['$scope', 'LicenseRestService', '$location', '$modal', 'toastr', '$window', '$jwtAuth', '$translate'];\n\nfunction RegisterLicenseCtrl($scope, LicenseRestService, $location, $modal, toastr, $window, $jwtAuth, $translate) {\n $scope.$on('securityInit', function () {\n if (!$jwtAuth.isAdmin()) {\n $location.path('/license');\n }\n });\n\n $scope.sendLicenseToValidateAndActivate = sendLicenseToValidateAndActivate;\n\n const textAreaSel = $('.license-textarea');\n\n // watch for uploaded license file\n $scope.$watch('currentFile', function () {\n if ($scope.currentFile) {\n const file = $scope.currentFile;\n LicenseRestService.extractFromLicenseFile(file)\n .success(function (licenseCode) {\n sendLicenseToValidateAndActivate(licenseCode);\n }).error(function () {\n toastr.error($translate.instant('could.not.upload.file.error'));\n });\n }\n });\n\n $scope.getBackToPreviousPage = function () {\n $window.history.back();\n };\n\n // send license code for validation and activation\n function sendLicenseToValidateAndActivate(licenseCode) {\n LicenseRestService.sendLicenseToValidate(licenseCode)\n .success(function (validatedLicense) {\n if (validatedLicense.licensee !== 'Invalid') {\n // write code to textarea\n textAreaSel.val(licenseCode);\n // pop dialog for license details confirmation\n confirmWantedNewLicenseDetails(validatedLicense, licenseCode);\n } else {\n // clear textarea on invalid license\n textAreaSel.val('');\n // show error\n toastr.error(validatedLicense.message);\n }\n })\n .error(function () {\n toastr.error($translate.instant('invalid.license'));\n });\n }\n\n\n // pops a modal dialog which asks you if your expected license details are correct\n // and sends license to GraphDB upon confirmation\n function confirmWantedNewLicenseDetails(license, licenseCode) {\n const modalInstance = $modal.open({\n templateUrl: 'js/angular/settings/modal/validate-license.html',\n controller: 'ValidateLicenseModalCtrl',\n size: 'lg',\n resolve: {\n license: function () {\n return license;\n }\n }\n });\n\n modalInstance.result.then(function () {\n registerLicense(licenseCode);\n });\n }\n\n // send license code to GraphDB for activation\n function registerLicense(licenseCode) {\n if (!licenseCode) {\n licenseCode = textAreaSel.val();\n }\n\n if (licenseCode) {\n // replacing whitespace makes this work on Safari too,\n // whereas other browser happily ignore the whitespace\n const decodedLicense = atob(licenseCode.replace(/\\s/g, ''));\n LicenseRestService.registerLicense(decodedLicense)\n .success(function () {\n $window.history.back();\n }).error(function () {\n toastr.error($translate.instant('license.register.error'));\n });\n } else {\n toastr.error($translate.instant('no.license.code.error'));\n }\n }\n}\n\nValidateLicenseModalCtrl.$inject = ['$scope', '$modalInstance', 'license'];\n\nfunction ValidateLicenseModalCtrl($scope, $modalInstance, license) {\n $scope.ok = ok;\n $scope.cancel = cancel;\n $scope.license = license;\n\n function ok() {\n $modalInstance.close();\n }\n\n function cancel() {\n $modalInstance.dismiss('cancel');\n }\n}\n\nLoaderSamplesCtrl.$inject = ['$scope'];\n\nfunction LoaderSamplesCtrl($scope) {\n $scope.loader = true;\n $scope.setLoader = function (loader) {\n $scope.loader = loader;\n };\n}\n","import {getFileName} from \"./controllers\";\n\nangular\n .module('graphdb.framework.repositories.ontop-repo.directive', [])\n .directive('ontopRepo', ontopRepoDirective);\n\nontopRepoDirective.$inject = ['$modal', 'RepositoriesRestService', 'toastr', 'Upload', '$translate'];\n\nfunction ontopRepoDirective($modal, RepositoriesRestService, toastr, Upload, $translate) {\n return {\n restrict: 'E',\n scope: false,\n templateUrl: 'js/angular/repositories/templates/ontop-repo.html',\n\n link: linkFunc\n };\n\n function linkFunc($scope) {\n\n $scope.selectedDriver = {\n driverType: \"generic\",\n driverName: \"Generic JDBC Driver\",\n jdbc: {\n hostName: \"\",\n port: \"\",\n databaseName: \"\",\n userName: \"\",\n password: \"\",\n driverClass: \"\",\n url: \"\"\n },\n urlTemplate: \"\",\n downloadDriverUrl: \"\"\n };\n $scope.ontopRepoFileNames = {};\n $scope.supportedDriversData = [];\n $scope.ontopRepoFileLabels =\n {propertiesFile: 'JDBC properties', obdaFile: 'OBDA or R2RML', owlFile: 'ontology file',\n constraintFile: 'constraint file', dbMetadataFile: 'DB metadata file'};\n $scope.ontopRepoFiles = Object.keys($scope.ontopRepoFileLabels);\n $scope.ontopRepoFiles.forEach(function(key) {\n if ($scope.repositoryInfo.params[key]) {\n $scope.ontopRepoFileNames[key] = getFileName($scope.repositoryInfo.params[key].value);\n }\n });\n $scope.supportedDriverLabels = {hostName: 'Hostname', port: \"Port\", databaseName: 'Database name',\n userName: 'Username', password: 'Password', driverClass: 'Driver class', url: 'URL'};\n $scope.propertiesFileParams = Object.keys($scope.supportedDriverLabels);\n $scope.classAvailable = false;\n $scope.genericDriverType = 'generic';\n $scope.propertiesFile = 'propertiesFile';\n\n const REQUIRED_ONTOP_REPO_PARAMS = [$scope.propertiesFile, 'obdaFile'];\n const REQUIRED_PROPERTIES_FIELD_PARAMS = ['hostName', 'databaseName', 'userName'];\n\n function getSupportedDriversData() {\n return RepositoriesRestService.getSupportedDriversData()\n .success(function (response) {\n $scope.supportedDriversData = response;\n }).error(function (response) {\n showErrorMsg($translate.instant('common.error'), response);\n });\n }\n\n $scope.loadDriverByClass = function (driverClass) {\n const foundDriver = $scope.supportedDriversData\n .find((driver) => driver.driverClass === driverClass);\n if (foundDriver) {\n $scope.copyDriverProperties(foundDriver);\n }\n return foundDriver;\n };\n\n $scope.selectDriverByType = function (driverType) {\n $scope.copyDriverProperties($scope.supportedDriversData\n .find((driver) => driver.driverType === driverType));\n // Call concatURL with proper labelName to apply changes to url field\n $scope.concatURL('hostName', $scope);\n };\n\n $scope.copyDriverProperties = function (driver) {\n $scope.selectedDriver.driverType = driver.driverType;\n $scope.selectedDriver.jdbc.driverClass = driver.driverClass;\n $scope.selectedDriver.jdbc.url = driver.urlTemplate;\n $scope.selectedDriver.urlTemplate = driver.urlTemplate;\n $scope.selectedDriver.downloadDriverUrl = driver.downloadDriverUrl;\n $scope.selectedDriver.portRequired = driver.portRequired;\n $scope.classAvailable = driver.classAvailable;\n };\n\n $scope.isReadOnly = function (labelName) {\n return labelName === 'driverClass' || labelName === 'url';\n }\n\n $scope.editFile = function(file) {\n const modalInstance = $modal.open({\n templateUrl: 'js/angular/templates/modal/editRepoFile.html',\n controller: 'EditRepositoryFileCtrl',\n resolve: {\n file: function () {\n return $scope.repositoryInfo.params[file] ? $scope.repositoryInfo.params[file].value : '';\n }\n }\n });\n\n modalInstance.result.then(function (data) {\n // send data to backend\n RepositoriesRestService.updateRepositoryFileContent(data.fileLocation, data.content).success(function(result) {\n $scope.ontopRepoFileNames[file] = getFileName(result.fileLocation);\n $scope.repositoryInfo.params[file].value = result.fileLocation;\n }).error(function (error) {\n showErrorMsg($translate.instant('common.error'), error);\n })\n });\n }\n\n $scope.uploadOntopRepoFile = function(files, param) {\n if (files && files.length) {\n $scope.uploadFile = files[0];\n $scope.uploadFileLoader = true;\n Upload.upload({\n url: 'rest/repositories/uploadFile',\n data: {uploadFile: $scope.uploadFile}\n })\n .success(function (data) {\n if (!data.success) {\n toastr.error(data.errorMessage);\n } else {\n $scope.ontopRepoFileNames[param] = $scope.uploadFile.name;\n $scope.repositoryInfo.params[param].value = data.fileLocation;\n }\n $scope.uploadFileLoader = false;\n }).error(function (data) {\n showErrorMsg($translate.instant('common.error'), data);\n $scope.uploadFile = '';\n $scope.uploadFileLoader = false;\n });\n }\n }\n\n $scope.concatURL = function(labelName) {\n if (labelName === 'hostName' || labelName === 'port' || labelName === 'databaseName') {\n let result = $scope.selectedDriver.urlTemplate;\n if ($scope.selectedDriver.jdbc.hostName) {\n if ($scope.selectedDriver.jdbc.port) {\n result = result.replace('{hostport}',\n `${$scope.selectedDriver.jdbc.hostName}:${$scope.selectedDriver.jdbc.port}`);\n } else {\n result = result.replace('{hostport}', $scope.selectedDriver.jdbc.hostName);\n }\n }\n\n if ($scope.selectedDriver.jdbc.databaseName) {\n result = result.replace('{database}', $scope.selectedDriver.jdbc.databaseName);\n }\n\n $scope.selectedDriver.jdbc.url = result;\n }\n }\n\n $scope.getInputType = function (labelName) {\n switch (labelName) {\n case 'password':\n return 'password';\n case 'port':\n return 'number';\n default:\n return 'text';\n }\n }\n\n $scope.checkForRequiredOntopFiles = function () {\n // Should guarantee that code will be executed in sequential manner,\n // because properties file is not created yet\n return updateProperties()\n .then(function () {\n const missingRequired = REQUIRED_ONTOP_REPO_PARAMS.filter(function (requiredFile) {\n return !$scope.repositoryInfo.params[requiredFile].value;\n });\n if (missingRequired.length > 0) {\n toastr.error($translate.instant('ontop.repo.missing.required.file.error'));\n return Promise.reject($translate.instant('ontop.repo.missing.required.file.error'));\n }\n return Promise.resolve();\n });\n }\n\n function loadPropertiesFile() {\n RepositoriesRestService.loadPropertiesFile($scope.repositoryInfo.params[$scope.propertiesFile].value)\n .success(function (driverData) {\n const driver = $scope.loadDriverByClass(driverData.driverClass);\n // If driver class is not found means that the selected driver is a GENERIC ONE\n if (driver) {\n $scope.selectedDriver.jdbc.hostName = driverData.hostName;\n $scope.selectedDriver.jdbc.port = parseInt(driverData.port);\n $scope.selectedDriver.jdbc.databaseName = driverData.databaseName;\n $scope.selectedDriver.jdbc.userName = driverData.userName;\n $scope.selectedDriver.jdbc.password = driverData.password;\n $scope.selectedDriver.jdbc.url = driverData.url;\n }\n }).error(function (data) {\n showErrorMsg($translate.instant('common.error'), data);\n $scope.uploadFileLoader = false;\n });\n }\n\n $scope.validateOntopPropertiesConnection = function () {\n updateProperties()\n .then(function () {\n RepositoriesRestService.validateOntopPropertiesConnection($scope.repositoryInfo.params.propertiesFile)\n .success(function () {\n toastr.success($translate.instant('ontop.repo.successful.connection.msg'));\n }).error(function (data) {\n showErrorMsg($translate.instant('ontop.repo.failed.to.connect'), data);\n });\n });\n }\n\n $scope.isOntopRepoFileUploaded = function() {\n return $scope.repositoryInfo.params.propertiesFile &&\n $scope.repositoryInfo.params.propertiesFile.value.length > 0\n };\n\n function missingRequiredField() {\n const missing = REQUIRED_PROPERTIES_FIELD_PARAMS\n .filter(function (requiredField) {\n return !$scope.selectedDriver.jdbc[requiredField]\n });\n if (missing.length > 0) {\n toastr.error($translate.instant('missing.required.field.error'));\n return true;\n }\n return false;\n }\n\n function updateProperties() {\n if ($scope.selectedDriver.driverType !== $scope.genericDriverType) {\n if (missingRequiredField()) {\n return Promise.reject($translate.instant('missing.required.field.error'));\n }\n return updatePropertiesFile();\n }\n return Promise.resolve();\n }\n\n function updatePropertiesFile() {\n $scope.uploadFileLoader = true;\n return RepositoriesRestService\n .updatePropertiesFile($scope.repositoryInfo.params[$scope.propertiesFile].value, $scope.selectedDriver.jdbc)\n .success(function (data) {\n $scope.ontopRepoFileNames[$scope.propertiesFile] = getFileName(data.fileLocation);\n $scope.repositoryInfo.params[$scope.propertiesFile].value = data.fileLocation;\n $scope.uploadFileLoader = false;\n }).error(function (data) {\n showErrorMsg($translate.instant('common.error'), data);\n $scope.uploadFileLoader = false;\n });\n }\n\n $scope.isRequiredOntopRepoFile = function(file) {\n return REQUIRED_ONTOP_REPO_PARAMS.indexOf(file) > -1;\n };\n\n $scope.isRequiredField = function (field) {\n return REQUIRED_PROPERTIES_FIELD_PARAMS.indexOf(field) > -1\n || field === 'port' && $scope.selectedDriver.portRequired;\n };\n\n $scope.getFieldTooltip = function (field) {\n if (field === 'port' && $scope.selectedDriver.portRequired) {\n field = 'portIfRequired';\n }\n return $scope.repoTooltips.ontop[field];\n };\n\n $scope.editOntopRepo = function () {\n $scope.checkForRequiredOntopFiles()\n .then(function () {\n $scope.editRepository();\n }).catch(function (err) {\n // The catch block is empty, because error is handled in promise\n });\n }\n\n $scope.createOntopRepo = function () {\n if (!$scope.repositoryInfo.id) {\n toastr.error($translate.instant('empty.repoid.warning'));\n return;\n }\n\n $scope.checkForRequiredOntopFiles()\n .then(function () {\n $scope.createRepo();\n }).catch(function (err) {\n // The catch block is empty, because error is handled in promise\n });\n };\n\n $scope.goBackToPrevious = function () {\n $scope.goBackToPreviousLocation();\n }\n\n function showErrorMsg (title, data) {\n const msg = getError(data);\n toastr.error(msg, title);\n }\n\n getSupportedDriversData()\n .then(function () {\n if ($scope.editRepoPage) {\n loadPropertiesFile();\n }\n });\n }\n}\n","angular\n .module('graphdb.framework.repositories.fedx-repo.directive', [])\n .directive('fedxRepo', fedxRepoDirective);\n\nfedxRepoDirective.$inject = ['$modal', 'RepositoriesRestService', 'toastr', '$timeout', 'LocationsRestService', '$translate'];\n\nfunction fedxRepoDirective($modal, RepositoriesRestService, toastr, $timeout, LocationsRestService, $translate) {\n return {\n restrict: 'E',\n scope: false,\n templateUrl: 'js/angular/repositories/templates/fedx-repo.html',\n\n link: linkFunc\n };\n\n function linkFunc($scope) {\n\n const LOCAL_REPO_STORE = 'ResolvableRepository';\n const REMOTE_REPO_STORE = 'RemoteRepository';\n const SPARQL_ENDPOINT_STORE = 'SPARQLEndpoint';\n const NATIVE_STORE = 'NativeStore';\n\n $scope.fedxMembers = [];\n $scope.knownRepos = [];\n $scope.allLocalRepos = [];\n $scope.allAttachedRepos = [];\n $scope.locations = [];\n\n function getRepositories() {\n return RepositoriesRestService.getRepositories()\n .success(function (response) {\n $scope.allLocalRepos = response.slice();\n }).error(function (response) {\n const msg = getError(response);\n toastr.error(msg, 'Error');\n });\n }\n\n function getRepositoriesFromLocation(location) {\n return RepositoriesRestService.getRepositoriesFromKnownLocation(location)\n .success(function (response) {\n $scope.knownRepos = $scope.allLocalRepos.filter(el => $scope.knownRepos.indexOf(el) !== -1);\n for (const member of response) {\n $scope.allAttachedRepos = $scope.allAttachedRepos.filter(repo => repo.id !== member.id || repo.location !== member.location);\n }\n $scope.allAttachedRepos = $scope.allAttachedRepos.concat(response.slice());\n $scope.knownRepos = $scope.knownRepos.concat($scope.allAttachedRepos);\n }).error(function (response) {\n const msg = getError(response);\n toastr.error(msg, $translate.instant('common.error'));\n });\n }\n\n function populateKnownRepos() {\n for (const member of $scope.fedxMembers) {\n $scope.knownRepos = $scope.knownRepos.filter(function (repo) {\n if (member.repositoryServer) {\n // if the member is a remote attached member\n return repo.id !== member.repositoryName || repo.location !== member.repositoryServer;\n } else {\n // if the member is a local one\n return repo.id !== member.repositoryName || !repo.local;\n }\n });\n }\n }\n\n $scope.setWritableRepo = function (member) {\n let currentWritable = getWritableRepo();\n if (currentWritable) {\n if (currentWritable.store === LOCAL_REPO_STORE && (member.store !== LOCAL_REPO_STORE || currentWritable.repositoryName !== member.repositoryName) ) {\n currentWritable.writable = 'false';\n } else if (currentWritable.store === REMOTE_REPO_STORE && (member.store !== REMOTE_REPO_STORE || currentWritable.repositoryName !== member.repositoryName || currentWritable.repositoryServer !== member.repositoryServer)) {\n currentWritable.writable = 'false';\n }\n }\n member.writable = JSON.stringify(member.writable === 'false');\n }\n\n $scope.getActiveClass = function (member) {\n return member.writable === 'true' ? ' active' : '';\n }\n\n function getWritableRepo() {\n return $scope.fedxMembers.find(member => member.writable === \"true\");\n }\n\n function getKnownRepos() {\n return getRepositories()\n .then(function () {\n getAttachedRepositories();\n });\n }\n\n function getLocations() {\n return LocationsRestService.getLocations()\n .success(function(response) {\n $scope.locations = response.slice();\n }).error(function (response) {\n const msg = getError(response);\n toastr.error(msg, $translate.instant('common.error'));\n });\n }\n\n function getAttachedRepositories() {\n return getLocations()\n .then(function() {\n $scope.locations.forEach(l => getRepositoriesFromLocation(l.uri)\n .then(function () {\n if ($scope.editRepoPage) {\n $scope.fedxMembers = $scope.repositoryInfo.params.member.value.slice();\n }\n populateKnownRepos();\n }))\n });\n }\n\n $scope.checkIfRepoExist = function (member) {\n if (member.store === LOCAL_REPO_STORE) {\n return $scope.allLocalRepos.find(repo => repo.id === member.repositoryName);\n } else if (member.store === REMOTE_REPO_STORE && checkIfLocationIsAttached(member)) {\n return $scope.allAttachedRepos.find(repo => repo.id === member.repositoryName && repo.location === member.repositoryServer);\n } else {\n return true;\n }\n }\n\n function checkIfLocationIsAttached(repo) {\n return $scope.locations.find(el => el.uri === repo.repositoryServer);\n }\n\n $scope.getRepositoryServer = function (repo) {\n if (repo.local) {\n return \"Local\";\n } else {\n return repo.location;\n }\n }\n\n const localReposTimer = setInterval(function () {\n getKnownRepos();\n }, 5000);\n\n $scope.$on('$destroy', function () {\n clearInterval(localReposTimer);\n });\n\n $scope.addMember = function(repository) {\n if ($scope.getRepositoryServer(repository) === \"Local\") {\n $scope.addLocalMember(repository);\n } else {\n let member = {\n store: REMOTE_REPO_STORE,\n repositoryName: repository.id,\n repositoryServer: repository.location,\n username: '',\n password: '',\n supportsASKQueries: \"true\",\n writable: \"false\"\n }\n $scope.knownRepos = $scope.knownRepos.filter(function (repo) {\n if (member.repositoryServer) {\n return repo.id !== member.repositoryName || repo.location !== member.repositoryServer;\n } else {\n return repo.id !== member.repositoryName || !repo.local;\n }\n });\n updateMembers(member);\n }\n }\n\n $scope.addLocalMember = function (repository) {\n let member = {\n store: LOCAL_REPO_STORE,\n repositoryName: repository.id,\n repoType: repository.type,\n respectRights: \"true\",\n writable: \"false\"\n };\n\n $scope.knownRepos = $scope.knownRepos.filter(function (repo) {\n if (member.repositoryServer) {\n return repo.id !== member.repositoryName || repo.location !== member.repositoryServer;\n } else {\n return repo.id !== member.repositoryName || !repo.local;\n }\n }); updateMembers(member);\n }\n\n $scope.removeMember = function (member) {\n if (member.store && member.store === LOCAL_REPO_STORE) {\n $scope.fedxMembers = $scope.fedxMembers.filter(el => el.repositoryName !== member.repositoryName || el.store !== member.store);\n $scope.allLocalRepos = [];\n getKnownRepos();\n } else if (member.store && member.store === SPARQL_ENDPOINT_STORE) {\n $scope.fedxMembers = $scope.fedxMembers.filter(el => el.endpoint !== member.endpoint);\n } else if (member.store && member.store === NATIVE_STORE) {\n $scope.fedxMembers = $scope.fedxMembers.filter(el => el.repositoryLocation !== member.repositoryLocation);\n } else if (member.store && member.store === REMOTE_REPO_STORE) {\n $scope.fedxMembers = $scope.fedxMembers.filter(el => el.repositoryName !== member.repositoryName\n || el.repositoryServer !== member.repositoryServer || el.store !== member.store);\n $scope.allAttachedRepos = []\n getKnownRepos();\n }\n $scope.repositoryInfo.params['member'].value = $scope.fedxMembers;\n }\n\n $scope.addRemoteMember = function () {\n $scope.mode = 'remote';\n $scope.model = {\n editMode: false,\n store: REMOTE_REPO_STORE,\n repositoryName: '',\n repositoryServer: '',\n sparqlEndpoint: '',\n username: '',\n password: '',\n supportsASKQueries: \"true\",\n writable: \"false\"\n }\n\n $scope.$modalInstance = $modal.open({\n templateUrl: 'js/angular/templates/modal/add-fedx-remote-repo.html',\n scope: $scope,\n });\n };\n\n $scope.getMemberIcon = function (member) {\n if (member.repoType) {\n return 'icon-repo-' + member.repoType;\n } else if (member.store === NATIVE_STORE) {\n return 'icon-warning';\n } else {\n return 'icon-link';\n }\n }\n\n $scope.editFedXRepository = function (member) {\n if (member.store === LOCAL_REPO_STORE) {\n $scope.mode = 'local';\n $scope.model = {\n editMode: true,\n store: member.store,\n respectRights: member.respectRights,\n repositoryName: member.repositoryName,\n repoType: member.repoType,\n writable: member.writable\n }\n } else {\n $scope.mode = 'remote';\n $scope.model = {\n editMode: true,\n store: member.store,\n repositoryName: member.repositoryName,\n repositoryServer: member.repositoryServer,\n sparqlEndpoint: member.store === SPARQL_ENDPOINT_STORE ? member.endpoint : member.repositoryLocation,\n username: member.username,\n password: member.password,\n supportsASKQueries: member.supportsASKQueries,\n writable: member.writable\n }\n }\n\n $scope.$modalInstance = $modal.open({\n templateUrl: 'js/angular/templates/modal/add-fedx-remote-repo.html',\n scope: $scope\n });\n };\n\n $scope.resolveName = function (member) {\n switch (member.store) {\n case LOCAL_REPO_STORE : {\n return member.repositoryName;\n }\n case REMOTE_REPO_STORE : {\n return member.repositoryName + '@' + member.repositoryServer;\n }\n case SPARQL_ENDPOINT_STORE : {\n return member.endpoint;\n }\n case NATIVE_STORE : {\n return member.repositoryLocation;\n }\n default :\n return \"\";\n }\n }\n\n $scope.cancel = function () {\n $scope.$modalInstance.dismiss('cancel');\n };\n\n function updateMembers(member) {\n $scope.fedxMembers.push(member);\n $scope.repositoryInfo.params['member'].value = $scope.fedxMembers;\n }\n\n function removeEndingSlash(url) {\n return url.slice(-1) === '/' ? url.slice(0, -1) : url\n }\n\n function checkEditMode() {\n return $scope.editRepoPage && !$scope.editRepoPage || !$scope.model.editMode;\n }\n\n $scope.ok = function () {\n let member;\n if ($scope.model.repositoryName && $scope.model.store === LOCAL_REPO_STORE) {\n member = {\n store: LOCAL_REPO_STORE,\n repositoryName: $scope.model.repositoryName,\n repoType: $scope.model.repoType,\n respectRights: $scope.model.respectRights,\n writable: $scope.model.writable\n }\n $scope.fedxMembers = $scope.fedxMembers.filter(el => el.repositoryName !== member.repositoryName || el.store !== member.store );\n } else if ($scope.model.repositoryName && $scope.model.store === REMOTE_REPO_STORE) {\n member = {\n store: REMOTE_REPO_STORE,\n repositoryName: $scope.model.repositoryName,\n repositoryServer: removeEndingSlash($scope.model.repositoryServer),\n username: $scope.model.username,\n password: $scope.model.password,\n writable: $scope.model.writable\n };\n if (checkEditMode() && $scope.fedxMembers.find(el => el.repositoryName === member.repositoryName\n && el.repositoryServer === member.repositoryServer)) {\n let resolvedName = $scope.resolveName(member);\n toastr.error($translate.instant('fedx.repo.already.added.member.error', {name: resolvedName}));\n $scope.$modalInstance.close();\n return;\n }\n $scope.fedxMembers = $scope.fedxMembers.filter(el => el.repositoryName !== member.repositoryName\n || el.repositoryServer !== member.repositoryServer);\n } else {\n member = {\n store: SPARQL_ENDPOINT_STORE,\n endpoint: removeEndingSlash($scope.model.sparqlEndpoint),\n username: $scope.model.username,\n password: $scope.model.password,\n supportsASKQueries: $scope.model.supportsASKQueries,\n writable: $scope.model.writable\n };\n\n if (checkEditMode() && $scope.fedxMembers.find(el => el.endpoint === member.endpoint)) {\n let resolvedName = $scope.resolveName(member);\n toastr.error($translate.instant('fedx.repo.already.added.sparql.endpoint.error', {name: resolvedName}));\n $scope.$modalInstance.close();\n return;\n }\n\n $scope.fedxMembers = $scope.fedxMembers.filter(el => el.endpoint !== member.endpoint);\n }\n\n updateMembers(member);\n populateKnownRepos();\n $scope.$modalInstance.close();\n };\n\n getKnownRepos();\n }\n}\n","import 'angular/core/services';\nimport 'angular/core/directives';\nimport 'angular/rest/license.rest.service';\nimport 'angular/settings/controllers';\nimport 'angular/core/interceptors/unauthorized.interceptor';\nimport 'angular/core/services/jwt-auth.service';\nimport 'ng-file-upload/dist/ng-file-upload.min';\nimport 'ng-file-upload/dist/ng-file-upload-shim.min';\n\nangular.module('graphdb.framework.settings', [\n 'toastr',\n 'ui.bootstrap',\n 'graphdb.framework.rest.license.service',\n 'graphdb.framework.settings.controllers',\n 'graphdb.framework.core.interceptors.unauthorized',\n 'graphdb.framework.core.services.jwtauth'\n])\n .config(config)\n .run(run);\n\nconfig.$inject = ['$httpProvider', '$routeProvider'];\n\nfunction config($httpProvider) {\n $httpProvider.interceptors.push('$unauthorizedInterceptor');\n}\n\nrun.$inject = ['$rootScope', '$location', '$licenseService'];\n\nfunction run($rootScope, $location, $licenseService) {\n $rootScope.$on('$locationChangeStart', function () {\n if ($licenseService.isLicenseHardcoded && $location.url() === '/license/register') {\n $location.path('license');\n }\n });\n}\n"],"sourceRoot":""}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[22,89,106],{115:function(e,t,n){"use strict";n.r(t);n(3),n(9),n(33),n(78),n(226);angular.module("graphdb.framework.rdfrank",["ngRoute","ngTagsInput","graphdb.framework.utils.uriutils","graphdb.framework.rest.rdfrank.service"]).controller("RDFRankCtrl",["$scope","$interval","toastr","$repositories","$licenseService","$timeout","ClassInstanceDetailsService","UriUtils","RDF4JRepositoriesRestService","RdfRankRestService","$translate",function(e,t,n,u,i,r,a,o,s,c,l){let F;function g(){F&&t.cancel(F)}e.pluginName="rdfrank",e.setPluginIsActive=function(t){e.pluginIsActive=t};const d=function(){c.getStatus().success((function(t){e.currentRankStatus=t})).error((function(e){n.error(getError(e))}))};e.checkForPlugin=function(){e.pluginFound=!1,e.setLoader(!0),c.checkRdfRankPluginEnabled().success((function(t){e.pluginFound=!0===t,e.pluginFound?(s.getNamespaces(e.getActiveRepository()).success((function(t){const n=_.map(t.results.bindings,(function(e){return{uri:e.namespace.value,prefix:e.prefix.value}}));e.namespaces=_.sortBy(n,(function(e){return e.uri.length}))})).error((function(e){n.error(l.instant("get.namespaces.error.msg",{error:getError(e)}))})),d(),f(),p()):e.loading=!1})).error((function(e){n.error(getError(e))})).finally((function(){e.setLoader(!1)}))};const f=function(){c.checkFilteringEnabled().success((function(t){e.filteringEnabled=t})).error((function(e){n.error(getError(e))}))},p=function(){Object.values(e.filterLists).forEach((function(t){c.filter(t.predicate).success((function(n){t.elements=n,t.elements=t.elements.map((function(t){return function(e,t){const n=a.getLocalName(e),u=e.replace(new RegExp(n+"$","i"),""),i=a.getNamespacePrefixForUri(t,u);return""===i?e:i+":"+n}(t,e.namespaces)}))})).error((function(e){n.error(getError(e))}))})),c.includeExplicit().success((function(t){e.includeExplicit=t})).error((function(e){n.error(getError(e))})),c.includeImplicit().success((function(t){e.includeImplicit=t})).error((function(e){n.error(getError(e))}))};e.rdfStatus={CANCELED:"CANCELED",COMPUTED:"COMPUTED",COMPUTING:"COMPUTING",EMPTY:"EMPTY",ERROR:"ERROR",OUTDATED:"OUTDATED",CONFIG_CHANGED:"CONFIG_CHANGED"},e.filterLists={INCLUDED_PREDICATES:{name:"Included Predicates",predicate:"includedPredicates"},INCLUDED_GRAPHS:{name:"Included Graphs",predicate:"includedGraphs"},EXCLUDED_PREDICATES:{name:"Excluded Predicates",predicate:"excludedPredicates"},EXCLUDED_GRAPHS:{name:"Excluded Graphs",predicate:"excludedGraphs"}},e.setLoader=function(t,n){r.cancel(e.loaderTimeout),t?e.loaderTimeout=r((function(){e.loader=t,e.loaderMessage=n}),300):e.loader=!1},e.getLoaderMessage=function(){return e.loaderMessage||l.instant("common.loading")},e.computeRank=function(){e.setLoader(!0,l.instant("rdfrank.full.computation")),c.compute().success((function(){e.currentRankStatus=e.rdfStatus.COMPUTING})).error((function(e){n.error(getError(e))})).finally((function(){e.setLoader(!1)}))},e.computeIncrementalRank=function(){e.setLoader(!0,l.instant("rdfrank.incremental.computation")),c.computeIncremental().success((function(){e.currentRankStatus=e.rdfStatus.COMPUTING})).error((function(e){n.error(getError(e))})).finally((function(){e.setLoader(!1)}))},e.interruptComputation=function(){e.setLoader(!0,l.instant("index.interrupt")),c.interrupt().success((function(){d()})).error((function(e){n.error(getError(e))})).finally((function(){e.setLoader(!1)}))},e.getDegradedReason=function(){return u.getDegradedReason()},e.$on("repositoryIsSet",(function(){g(),i.isLicenseValid()&&u.getActiveRepository()&&!u.isActiveRepoOntopType()&&!u.isActiveRepoFedXType()&&(e.checkForPlugin(),m())})),e.toggleFiltering=function(){c.toggleFiltering(!e.filteringEnabled).success((function(){d(),f(),p()})).error((function(e){n.error(getError(e))})).finally((function(){e.setLoader(!1)}))},e.toggleIncludeExplicit=function(){c.toggleIncludeExplicit(!e.includeExplicit).success((function(){d(),p()})).error((function(e){n.error(getError(e))})).finally((function(){e.setLoader(!1)}))},e.toggleIncludeImplicit=function(){c.toggleIncludeImplicit(!e.includeImplicit).success((function(){d(),p()})).error((function(e){n.error(getError(e))})).finally((function(){e.setLoader(!1)}))};e.addToList=function(t,u){o.isValidIri(u.text)?function(e,t){const u={iri:t};c.updateFilter(e.predicate,u).success((function(){d(),p()})).error((function(e){n.error(getError(e)),p()}))}(t,D(u.text,e.namespaces)):(p(),n.error(l.instant("not.valid.iri",{value:u.text})))};e.deleteFromList=function(t,u){!function(e,t){const u={iri:t};c.deleteFilter(e.predicate,u).success((function(){d(),p()})).error((function(e){n.error(getError(e))}))}(t,D(u.text,e.namespaces))};const m=function(){F=t((function(){e.$broadcast("checkIsActive"),e.pluginFound&&d()}),5e3)};function D(e,t){if(!/^<?(http|urn).*>?/.test(e)){const n=e.split(":"),u=n[0],i=n[1];if(!angular.isUndefined(i)){const e=a.getNamespaceUriForPrefix(t,u);if(e)return e+i}}return e}e.$on("$destroy",(function(){g()}));i.isLicenseValid()&&u.getActiveRepository()&&!u.isActiveRepoOntopType()&&!u.isActiveRepoFedXType()&&(e.checkForPlugin(),m())}])},226:function(e,t){
|
|
2
|
-
/*! ngTagsInput v3.2.0 License: MIT */!function(){"use strict";var e=8,t=9,n=13,u=27,i=32,r=38,a=40,o=37,s=39,c=46,l=188,F=9007199254740991,g=["text","email","url"],d=angular.module("ngTagsInput",[]);d.directive("tagsInput",["$timeout","$document","$window","$q","tagsInputConfig","tiUtil",function(t,u,r,a,d,f){function p(e,t,n,u){var i,r,o,s,c={};return i=function(t){return f.safeToString(t[e.displayProperty])},r=function(t,n){t[e.displayProperty]=n},o=function(t){var u=i(t),r=u&&u.length>=e.minLength&&u.length<=e.maxLength&&e.allowedTagsPattern.test(u)&&!f.findInObjectArray(c.items,t,e.keyProperty||e.displayProperty);return a.when(r&&n({$tag:t})).then(f.promisifyValue)},s=function(e){return a.when(u({$tag:e})).then(f.promisifyValue)},c.items=[],c.addText=function(e){var t={};return r(t,e),c.add(t)},c.add=function(n){var u=i(n);return e.replaceSpacesWithDashes&&(u=f.replaceSpacesWithDashes(u)),r(n,u),o(n).then((function(){c.items.push(n),t.trigger("tag-added",{$tag:n})})).catch((function(){u&&t.trigger("invalid-tag",{$tag:n})}))},c.remove=function(e){var n=c.items[e];return s(n).then((function(){return c.items.splice(e,1),c.clearSelection(),t.trigger("tag-removed",{$tag:n}),n}))},c.select=function(e){0>e?e=c.items.length-1:e>=c.items.length&&(e=0),c.index=e,c.selected=c.items[e]},c.selectPrior=function(){c.select(--c.index)},c.selectNext=function(){c.select(++c.index)},c.removeSelected=function(){return c.remove(c.index)},c.clearSelection=function(){c.selected=null,c.index=-1},c.getItems=function(){return e.useStrings?c.items.map(i):c.items},c.clearSelection(),c}function m(e){return-1!==g.indexOf(e)}return{restrict:"E",require:"ngModel",scope:{tags:"=ngModel",text:"=?",templateScope:"=?",tagClass:"&",onTagAdding:"&",onTagAdded:"&",onInvalidTag:"&",onTagRemoving:"&",onTagRemoved:"&",onTagClicked:"&"},replace:!1,transclude:!0,templateUrl:"ngTagsInput/tags-input.html",controller:["$scope","$attrs","$element",function(e,t,n){e.events=f.simplePubSub(),d.load("tagsInput",e,t,{template:[String,"ngTagsInput/tag-item.html"],type:[String,"text",m],placeholder:[String,"Add a tag"],tabindex:[Number,null],removeTagSymbol:[String,String.fromCharCode(215)],replaceSpacesWithDashes:[Boolean,!0],minLength:[Number,3],maxLength:[Number,F],addOnEnter:[Boolean,!0],addOnSpace:[Boolean,!1],addOnComma:[Boolean,!0],addOnBlur:[Boolean,!0],addOnPaste:[Boolean,!1],pasteSplitPattern:[RegExp,/,/],allowedTagsPattern:[RegExp,/.+/],enableEditingLastTag:[Boolean,!1],minTags:[Number,0],maxTags:[Number,F],displayProperty:[String,"text"],keyProperty:[String,""],allowLeftoverText:[Boolean,!1],addFromAutocompleteOnly:[Boolean,!1],spellcheck:[Boolean,!0],useStrings:[Boolean,!1]}),e.tagList=new p(e.options,e.events,f.handleUndefinedResult(e.onTagAdding,!0),f.handleUndefinedResult(e.onTagRemoving,!0)),this.registerAutocomplete=function(){return n.find("input"),{addTag:function(t){return e.tagList.add(t)},getTags:function(){return e.tagList.items},getCurrentTagText:function(){return e.newTag.text()},getOptions:function(){return e.options},getTemplateScope:function(){return e.templateScope},on:function(t,n){return e.events.on(t,n,!0),this}}},this.registerTagItem=function(){return{getOptions:function(){return e.options},removeTag:function(t){e.disabled||e.tagList.remove(t)}}}}],link:function(a,F,g,d){var p,m,D=[n,l,i,e,c,o,s],h=a.tagList,v=a.events,T=a.options,$=F.find("input"),x=["minTags","maxTags","allowLeftoverText"];p=function(){d.$setValidity("maxTags",h.items.length<=T.maxTags),d.$setValidity("minTags",h.items.length>=T.minTags),d.$setValidity("leftoverText",!(!a.hasFocus&&!T.allowLeftoverText)||!a.newTag.text())},m=function(){t((function(){$[0].focus()}))},d.$isEmpty=function(e){return!e||!e.length},a.newTag={text:function(e){return angular.isDefined(e)?(a.text=e,void v.trigger("input-change",e)):a.text||""},invalid:null},a.track=function(e){return e[T.keyProperty||T.displayProperty]},a.getTagClass=function(e,t){var n=e===h.selected;return[a.tagClass({$tag:e,$index:t,$selected:n}),{selected:n}]},a.$watch("tags",(function(e){if(e){if(h.items=f.makeObjectArray(e,T.displayProperty),T.useStrings)return;a.tags=h.items}else h.items=[]})),a.$watch("tags.length",(function(){p(),d.$validate()})),g.$observe("disabled",(function(e){a.disabled=e})),a.eventHandlers={input:{keydown:function(e){v.trigger("input-keydown",e)},focus:function(){a.hasFocus||(a.hasFocus=!0,v.trigger("input-focus"))},blur:function(){t((function(){var e=u.prop("activeElement"),t=e===$[0],n=F[0].contains(e);(t||!n)&&(a.hasFocus=!1,v.trigger("input-blur"))}))},paste:function(e){e.getTextData=function(){var t=e.clipboardData||e.originalEvent&&e.originalEvent.clipboardData;return t?t.getData("text/plain"):r.clipboardData.getData("Text")},v.trigger("input-paste",e)}},host:{click:function(){a.disabled||m()}},tag:{click:function(e){v.trigger("tag-clicked",{$tag:e})}}},v.on("tag-added",a.onTagAdded).on("invalid-tag",a.onInvalidTag).on("tag-removed",a.onTagRemoved).on("tag-clicked",a.onTagClicked).on("tag-added",(function(){a.newTag.text("")})).on("tag-added tag-removed",(function(){a.tags=h.getItems(),d.$setDirty(),m()})).on("invalid-tag",(function(){a.newTag.invalid=!0})).on("option-change",(function(e){-1!==x.indexOf(e.name)&&p()})).on("input-change",(function(){h.clearSelection(),a.newTag.invalid=null})).on("input-focus",(function(){F.triggerHandler("focus"),d.$setValidity("leftoverText",!0)})).on("input-blur",(function(){T.addOnBlur&&!T.addFromAutocompleteOnly&&h.addText(a.newTag.text()),F.triggerHandler("blur"),p()})).on("input-keydown",(function(t){var u,r,F,g,d=t.keyCode,p={};f.isModifierOn(t)||-1===D.indexOf(d)||(p[n]=T.addOnEnter,p[l]=T.addOnComma,p[i]=T.addOnSpace,u=!T.addFromAutocompleteOnly&&p[d],r=(d===e||d===c)&&h.selected,g=d===e&&0===a.newTag.text().length&&T.enableEditingLastTag,F=(d===e||d===o||d===s)&&0===a.newTag.text().length&&!T.enableEditingLastTag,u?h.addText(a.newTag.text()):g?(h.selectPrior(),h.removeSelected().then((function(e){e&&a.newTag.text(e[T.displayProperty])}))):r?h.removeSelected():F&&(d===o||d===e?h.selectPrior():d===s&&h.selectNext()),(u||F||r||g)&&t.preventDefault())})).on("input-paste",(function(e){if(T.addOnPaste){var t=e.getTextData().split(T.pasteSplitPattern);t.length>1&&(t.forEach((function(e){h.addText(e)})),e.preventDefault())}}))}}}]),d.directive("tiTagItem",["tiUtil",function(e){return{restrict:"E",require:"^tagsInput",template:'<ng-include src="$$template"></ng-include>',scope:{$scope:"=scope",data:"="},link:function(t,n,u,i){var r=i.registerTagItem(),a=r.getOptions();t.$$template=a.template,t.$$removeTagSymbol=a.removeTagSymbol,t.$getDisplayText=function(){return e.safeToString(t.data[a.displayProperty])},t.$removeTag=function(){r.removeTag(t.$index)},t.$watch("$parent.$index",(function(e){t.$index=e}))}}}]),d.directive("autoComplete",["$document","$timeout","$sce","$q","tagsInputConfig","tiUtil",function(e,i,o,s,c,l){function F(e,t,n){var u,i,r,a={};return r=function(){return t.tagsInput.keyProperty||t.tagsInput.displayProperty},u=function(e,n){return e.filter((function(e){return!l.findInObjectArray(n,e,r(),(function(e,n){return t.tagsInput.replaceSpacesWithDashes&&(e=l.replaceSpacesWithDashes(e),n=l.replaceSpacesWithDashes(n)),l.defaultComparer(e,n)}))}))},a.reset=function(){i=null,a.items=[],a.visible=!1,a.index=-1,a.selected=null,a.query=null},a.show=function(){t.selectFirstMatch?a.select(0):a.selected=null,a.visible=!0},a.load=l.debounce((function(n,o){a.query=n;var c=s.when(e({$query:n}));i=c,c.then((function(e){c===i&&(e=l.makeObjectArray(e.data||e,r()),e=u(e,o),a.items=e.slice(0,t.maxResultsToShow),a.items.length>0?a.show():a.reset())}))}),t.debounceDelay),a.selectNext=function(){a.select(++a.index)},a.selectPrior=function(){a.select(--a.index)},a.select=function(e){0>e?e=a.items.length-1:e>=a.items.length&&(e=0),a.index=e,a.selected=a.items[e],n.trigger("suggestion-selected",e)},a.reset(),a}return{restrict:"E",require:"^tagsInput",scope:{source:"&",matchClass:"&"},templateUrl:"ngTagsInput/auto-complete.html",controller:["$scope","$element","$attrs",function(e,t,n){e.events=l.simplePubSub(),c.load("autoComplete",e,n,{template:[String,"ngTagsInput/auto-complete-match.html"],debounceDelay:[Number,100],minLength:[Number,3],highlightMatchedText:[Boolean,!0],maxResultsToShow:[Number,10],loadOnDownArrow:[Boolean,!1],loadOnEmpty:[Boolean,!1],loadOnFocus:[Boolean,!1],selectFirstMatch:[Boolean,!0],displayProperty:[String,""]}),e.suggestionList=new F(e.source,e.options,e.events),this.registerAutocompleteMatch=function(){return{getOptions:function(){return e.options},getQuery:function(){return e.suggestionList.query}}}}],link:function(e,i,o,s){var c,F=[n,t,u,r,a],g=e.suggestionList,d=s.registerAutocomplete(),f=e.options,p=e.events;f.tagsInput=d.getOptions(),c=function(e){return e&&e.length>=f.minLength||!e&&f.loadOnEmpty},e.templateScope=d.getTemplateScope(),e.addSuggestionByIndex=function(t){g.select(t),e.addSuggestion()},e.addSuggestion=function(){var e=!1;return g.selected&&(d.addTag(angular.copy(g.selected)),g.reset(),e=!0),e},e.track=function(e){return e[f.tagsInput.keyProperty||f.tagsInput.displayProperty]},e.getSuggestionClass=function(t,n){var u=t===g.selected;return[e.matchClass({$match:t,$index:n,$selected:u}),{selected:u}]},d.on("tag-added tag-removed invalid-tag input-blur",(function(){g.reset()})).on("input-change",(function(e){c(e)?g.load(e,d.getTags()):g.reset()})).on("input-focus",(function(){var e=d.getCurrentTagText();f.loadOnFocus&&c(e)&&g.load(e,d.getTags())})).on("input-keydown",(function(i){var o=i.keyCode,s=!1;if(!l.isModifierOn(i)&&-1!==F.indexOf(o))return g.visible?o===a?(g.selectNext(),s=!0):o===r?(g.selectPrior(),s=!0):o===u?(g.reset(),s=!0):(o===n||o===t)&&(s=e.addSuggestion()):o===a&&e.options.loadOnDownArrow&&(g.load(d.getCurrentTagText(),d.getTags()),s=!0),s?(i.preventDefault(),i.stopImmediatePropagation(),!1):void 0})),p.on("suggestion-selected",(function(e){!function(e,t){var n=e.find("li").eq(t),u=n.parent(),i=n.prop("offsetTop"),r=n.prop("offsetHeight"),a=u.prop("clientHeight"),o=u.prop("scrollTop");o>i?u.prop("scrollTop",i):i+r>a+o&&u.prop("scrollTop",i+r-a)}(i,e)}))}}}]),d.directive("tiAutocompleteMatch",["$sce","tiUtil",function(e,t){return{restrict:"E",require:"^autoComplete",template:'<ng-include src="$$template"></ng-include>',scope:{$scope:"=scope",data:"="},link:function(n,u,i,r){var a=r.registerAutocompleteMatch(),o=a.getOptions();n.$$template=o.template,n.$index=n.$parent.$index,n.$highlight=function(n){return o.highlightMatchedText&&(n=t.safeHighlight(n,a.getQuery())),e.trustAsHtml(n)},n.$getDisplayText=function(){return t.safeToString(n.data[o.displayProperty||o.tagsInput.displayProperty])}}}}]),d.directive("tiTranscludeAppend",(function(){return function(e,t,n,u,i){i((function(e){t.append(e)}))}})),d.directive("tiAutosize",["tagsInputConfig",function(e){return{restrict:"A",require:"ngModel",link:function(t,n,u,i){var r,a,o=e.getTextAutosizeThreshold();(r=angular.element('<span class="input"></span>')).css("display","none").css("visibility","hidden").css("width","auto").css("white-space","pre"),n.parent().append(r),a=function(e){var t,i=e;return angular.isString(i)&&0===i.length&&(i=u.placeholder),i&&(r.text(i),r.css("display",""),t=r.prop("offsetWidth"),r.css("display","none")),n.css("width",t?t+o+"px":""),e},i.$parsers.unshift(a),i.$formatters.unshift(a),u.$observe("placeholder",(function(e){i.$modelValue||a(e)}))}}}]),d.directive("tiBindAttrs",(function(){return function(e,t,n){e.$watch(n.tiBindAttrs,(function(e){angular.forEach(e,(function(e,t){n.$set(t,e)}))}),!0)}})),d.provider("tagsInputConfig",(function(){var e={},t={},n=3;this.setDefaults=function(t,n){return e[t]=n,this},this.setActiveInterpolation=function(e,n){return t[e]=n,this},this.setTextAutosizeThreshold=function(e){return n=e,this},this.$get=["$interpolate",function(u){var i={};return i[String]=function(e){return e},i[Number]=function(e){return parseInt(e,10)},i[Boolean]=function(e){return"true"===e.toLowerCase()},i[RegExp]=function(e){return new RegExp(e)},{load:function(n,r,a,o){var s=function(){return!0};r.options={},angular.forEach(o,(function(o,c){var l,F,g,d,f,p;l=o[0],F=o[1],g=o[2]||s,d=i[l],f=function(){var t=e[n]&&e[n][c];return angular.isDefined(t)?t:F},p=function(e){r.options[c]=e&&g(e)?d(e):f()},t[n]&&t[n][c]?a.$observe(c,(function(e){p(e),r.events.trigger("option-change",{name:c,newValue:e})})):p(a[c]&&u(a[c])(r.$parent))}))},getTextAutosizeThreshold:function(){return n}}}]})),d.factory("tiUtil",["$timeout","$q",function(e,t){var n={debounce:function(t,n){var u;return function(){var i=arguments;e.cancel(u),u=e((function(){t.apply(null,i)}),n)}},makeObjectArray:function(e,t){if(!angular.isArray(e)||0===e.length||angular.isObject(e[0]))return e;var n=[];return e.forEach((function(e){var u={};u[t]=e,n.push(u)})),n},findInObjectArray:function(e,t,u,i){var r=null;return i=i||n.defaultComparer,e.some((function(e){return i(e[u],t[u])?(r=e,!0):void 0})),r},defaultComparer:function(e,t){return n.safeToString(e).toLowerCase()===n.safeToString(t).toLowerCase()},safeHighlight:function(e,t){if(e=n.encodeHTML(e),!(t=n.encodeHTML(t)))return e;var u=new RegExp("&[^;]+;|"+function(e){return e.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}(t),"gi");return e.replace(u,(function(e){return e.toLowerCase()===t.toLowerCase()?"<em>"+e+"</em>":e}))},safeToString:function(e){return angular.isUndefined(e)||null==e?"":e.toString().trim()},encodeHTML:function(e){return n.safeToString(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")},handleUndefinedResult:function(e,t){return function(){var n=e.apply(null,arguments);return angular.isUndefined(n)?t:n}},replaceSpacesWithDashes:function(e){return n.safeToString(e).replace(/\s/g,"-")},isModifierOn:function(e){return e.shiftKey||e.ctrlKey||e.altKey||e.metaKey},promisifyValue:function(e){return e=!!angular.isUndefined(e)||e,t[e?"when":"reject"]()},simplePubSub:function(){var e={};return{on:function(t,n,u){return t.split(" ").forEach((function(t){e[t]||(e[t]=[]),(u?[].unshift:[].push).call(e[t],n)})),this},trigger:function(t,u){return(e[t]||[]).every((function(e){return n.handleUndefinedResult(e,!0)(u)})),this}}}};return n}]),d.run(["$templateCache",function(e){e.put("ngTagsInput/tags-input.html",'<div class="host" tabindex="-1" ng-click="eventHandlers.host.click()" ti-transclude-append><div class="tags" ng-class="{focused: hasFocus}"><ul class="tag-list"><li class="tag-item" ng-repeat="tag in tagList.items track by track(tag)" ng-class="getTagClass(tag, $index)" ng-click="eventHandlers.tag.click(tag)"><ti-tag-item scope="templateScope" data="::tag"></ti-tag-item></li></ul><input class="input" autocomplete="off" ng-model="newTag.text" ng-model-options="{getterSetter: true}" ng-keydown="eventHandlers.input.keydown($event)" ng-focus="eventHandlers.input.focus($event)" ng-blur="eventHandlers.input.blur($event)" ng-paste="eventHandlers.input.paste($event)" ng-trim="false" ng-class="{\'invalid-tag\': newTag.invalid}" ng-disabled="disabled" ti-bind-attrs="{type: options.type, placeholder: options.placeholder, tabindex: options.tabindex, spellcheck: options.spellcheck}" ti-autosize></div></div>'),e.put("ngTagsInput/tag-item.html",'<span ng-bind="$getDisplayText()"></span> <a class="remove-button" ng-click="$removeTag()" ng-bind="::$$removeTagSymbol"></a>'),e.put("ngTagsInput/auto-complete.html",'<div class="autocomplete" ng-if="suggestionList.visible"><ul class="suggestion-list"><li class="suggestion-item" ng-repeat="item in suggestionList.items track by track(item)" ng-class="getSuggestionClass(item, $index)" ng-click="addSuggestionByIndex($index)" ng-mouseenter="suggestionList.select($index)"><ti-autocomplete-match scope="templateScope" data="::item"></ti-autocomplete-match></li></ul></div>'),e.put("ngTagsInput/auto-complete-match.html",'<span ng-bind-html="$highlight($getDisplayText())"></span>')}])}()},33:function(e,t){let n;angular.module("graphdb.framework.utils.uriutils",[]).factory("UriUtils",(function(){return{isValidIri:function(e){return void 0!==e&&!!e.match(n)},validateRdfUri:function(e){const t=e.indexOf("<")>=0&&e.indexOf(">")>=0,n=-1===e.indexOf("<")&&-1===e.lastIndexOf(">"),u=/^<?(http|urn).*>?/.test(e)&&(t||n);let i=!1;if(u)if(e.indexOf("http")>=0){const t=e.indexOf("//");i=t>4&&e.substring(t+2).length>0}else e.indexOf("urn")>=0&&(i=e.substring(4).length>0);return u&&i}}}));try{n=new RegExp("^[a-z](?:[-a-z0-9\\+\\.])*:(?:\\/\\/(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\._~\\u{A0}-\\u{D7FF}\\u{F900}-\\u{FDCF}\\u{FDF0}-\\u{FFEF}\\u{10000}-\\u{1FFFD}\\u{20000}-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}\\u{50000}-\\u{5FFFD}\\u{60000}-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}\\u{90000}-\\u{9FFFD}\\u{A0000}-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}\\u{D0000}-\\u{DFFFD}\\u{E1000}-\\u{EFFFD}!\\$&'\\(\\)\\*\\+,;=:])*@)?(?:\\[(?:(?:(?:[0-9a-f]{1,4}:){6}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|::(?:[0-9a-f]{1,4}:){5}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:[0-9a-f]{1,4}:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|v[0-9a-f]+[-a-z0-9\\._~!\\$&'\\(\\)\\*\\+,;=:]+)\\]|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}|(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\._~\\u{A0}-\\u{D7FF}\\u{F900}-\\u{FDCF}\\u{FDF0}-\\u{FFEF}\\u{10000}-\\u{1FFFD}\\u{20000}-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}\\u{50000}-\\u{5FFFD}\\u{60000}-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}\\u{90000}-\\u{9FFFD}\\u{A0000}-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}\\u{D0000}-\\u{DFFFD}\\u{E1000}-\\u{EFFFD}!\\$&'\\(\\)\\*\\+,;=@])*)(?::[0-9]*)?(?:\\/(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\._~\\u{A0}-\\u{D7FF}\\u{F900}-\\u{FDCF}\\u{FDF0}-\\u{FFEF}\\u{10000}-\\u{1FFFD}\\u{20000}-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}\\u{50000}-\\u{5FFFD}\\u{60000}-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}\\u{90000}-\\u{9FFFD}\\u{A0000}-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}\\u{D0000}-\\u{DFFFD}\\u{E1000}-\\u{EFFFD}!\\$&'\\(\\)\\*\\+,;=:@]))*)*|\\/(?:(?:(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\._~\\u{A0}-\\u{D7FF}\\u{F900}-\\u{FDCF}\\u{FDF0}-\\u{FFEF}\\u{10000}-\\u{1FFFD}\\u{20000}-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}\\u{50000}-\\u{5FFFD}\\u{60000}-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}\\u{90000}-\\u{9FFFD}\\u{A0000}-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}\\u{D0000}-\\u{DFFFD}\\u{E1000}-\\u{EFFFD}!\\$&'\\(\\)\\*\\+,;=:@]))+)(?:\\/(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\._~\\u{A0}-\\u{D7FF}\\u{F900}-\\u{FDCF}\\u{FDF0}-\\u{FFEF}\\u{10000}-\\u{1FFFD}\\u{20000}-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}\\u{50000}-\\u{5FFFD}\\u{60000}-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}\\u{90000}-\\u{9FFFD}\\u{A0000}-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}\\u{D0000}-\\u{DFFFD}\\u{E1000}-\\u{EFFFD}!\\$&'\\(\\)\\*\\+,;=:@]))*)*)?|(?:(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\._~\\u{A0}-\\u{D7FF}\\u{F900}-\\u{FDCF}\\u{FDF0}-\\u{FFEF}\\u{10000}-\\u{1FFFD}\\u{20000}-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}\\u{50000}-\\u{5FFFD}\\u{60000}-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}\\u{90000}-\\u{9FFFD}\\u{A0000}-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}\\u{D0000}-\\u{DFFFD}\\u{E1000}-\\u{EFFFD}!\\$&'\\(\\)\\*\\+,;=:@]))+)(?:\\/(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\._~\\u{A0}-\\u{D7FF}\\u{F900}-\\u{FDCF}\\u{FDF0}-\\u{FFEF}\\u{10000}-\\u{1FFFD}\\u{20000}-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}\\u{50000}-\\u{5FFFD}\\u{60000}-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}\\u{90000}-\\u{9FFFD}\\u{A0000}-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}\\u{D0000}-\\u{DFFFD}\\u{E1000}-\\u{EFFFD}!\\$&'\\(\\)\\*\\+,;=:@]))*)*|(?!(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\._~\\u{A0}-\\u{D7FF}\\u{F900}-\\u{FDCF}\\u{FDF0}-\\u{FFEF}\\u{10000}-\\u{1FFFD}\\u{20000}-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}\\u{50000}-\\u{5FFFD}\\u{60000}-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}\\u{90000}-\\u{9FFFD}\\u{A0000}-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}\\u{D0000}-\\u{DFFFD}\\u{E1000}-\\u{EFFFD}!\\$&'\\(\\)\\*\\+,;=:@])))(?:\\?(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\._~\\u{A0}-\\u{D7FF}\\u{F900}-\\u{FDCF}\\u{FDF0}-\\u{FFEF}\\u{10000}-\\u{1FFFD}\\u{20000}-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}\\u{50000}-\\u{5FFFD}\\u{60000}-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}\\u{90000}-\\u{9FFFD}\\u{A0000}-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}\\u{D0000}-\\u{DFFFD}\\u{E1000}-\\u{EFFFD}!\\$&'\\(\\)\\*\\+,;=:@])|[\\u{E000}-\\u{F8FF}\\u{F0000}-\\u{FFFFD}\\u{100000}-\\u{10FFFD}\\/\\?])*)?(?:#(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\._~\\u{A0}-\\u{D7FF}\\u{F900}-\\u{FDCF}\\u{FDF0}-\\u{FFEF}\\u{10000}-\\u{1FFFD}\\u{20000}-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}\\u{50000}-\\u{5FFFD}\\u{60000}-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}\\u{90000}-\\u{9FFFD}\\u{A0000}-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}\\u{D0000}-\\u{DFFFD}\\u{E1000}-\\u{EFFFD}!\\$&'\\(\\)\\*\\+,;=:@])|[\\/\\?])*)?$","ui")}catch(e){n=new RegExp("^[a-z](?:[-a-z0-9\\+\\.])*:","i")}},78:function(e,t){angular.module("graphdb.framework.rest.rdfrank.service",[]).factory("RdfRankRestService",i);const n="rest/rdfrank",u=`${n}/filtering`;function i(e){return{getStatus:function(){return e.get(`${n}/status`)},checkRdfRankPluginEnabled:function(){return e.get(`${n}/pluginFound`)},checkFilteringEnabled:function(){return e.get(u)},toggleFiltering:function(t){return e.post(`${u}?enabled=${t}`)},filter:function(t){return e.get(`${u}/${t}`)},updateFilter:function(t,n){return e.put(`${u}/${t}`,n)},deleteFilter:function(t,n){return e.delete(`${u}/${t}`,{data:n,headers:{"Content-Type":"application/json;charset=utf-8"}})},includeExplicit:function(){return e.get(`${n}/includeExplicit`)},toggleIncludeExplicit:function(t){return e.post(`${n}/includeExplicit?enabled=`+t)},includeImplicit:function(){return e.get(`${n}/includeImplicit`)},toggleIncludeImplicit:function(t){return e.post(`${n}/includeImplicit?enabled=`+t)},compute:function(){return e.post(`${n}/compute`)},computeIncremental:function(){return e.post(`${n}/computeIncremental`)},interrupt:function(){return e.post(`${n}/interrupt`)}}}i.$inject=["$http"]}}]);
|
|
3
|
-
//# sourceMappingURL=22.2da0e8ec2ac2048ecd60.bundle.js.map
|