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 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///./src/js/angular/settings/controllers.js","webpack:///./src/js/angular/settings/app.js"],"names":["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","angular","module","$inject","config","$httpProvider","interceptors","push","run","isLicenseHardcoded","url"],"mappings":"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","file":"42.78e0302e87b9d244a1d7.bundle.js","sourcesContent":["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 '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,2 +0,0 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[43,105],{34:function(e,n){function t(e,n){return{showToastMessageWithDelay:function(t){return new Promise(r=>{e.success(n.instant(t)),setTimeout(r,200)})}}}angular.module("graphdb.framework.utils.notifications",[]).factory("Notifications",t),t.$inject=["toastr","$translate"]},85:function(e,n,t){"use strict";t.r(n);t(34),t(4);function r(e,n,t,r,i,a,o,s,u,c,d,l,y){const g=o.search().type;void 0===g||g.startsWith("text")?e.viewType="text":e.viewType=g;e.newIndex={},e.info=s,e.page=1;const w={id:"1",name:"",query:"",inference:!0,sameAs:!0};const f=function(){var t;if(e.editSearchQuery=o.search().editSearchQuery,e.page=e.editSearchQuery?2:1,e.newIndex.name=(t=o.search().name)?1!==e.page?t:"Copy_of_"+t:"",e.newIndex.options=o.search().options?o.search().options:"text"===e.viewType?"-termweight idf":"",e.searchQueries&&(e.newIndex.searchQuery=o.search().searchQuery?o.search().searchQuery:e.searchQueries[e.viewType],"predication"===e.viewType&&(e.newIndex.analogicalQuery=o.search().analogicalQuery?o.search().analogicalQuery:e.searchQueries.analogical)),e.editSearchQuery)e.currentQuery.query=e.newIndex.searchQuery,e.notoolbarInference=!0,e.notoolbarSameAs=!0,window.editor&&e.setQuery(e.newIndex.searchQuery);else{if("text"===e.viewType&&e.allSamples){e.samples=e.allSamples.text,e.newIndex.stopList=o.search().stopList?o.search().stopList:void 0,e.newIndex.analyzer=o.search().analyzer?o.search().analyzer:"org.apache.lucene.analysis.en.EnglishAnalyzer";const n=h("-literal_index");void 0!==n&&(e.newIndex.isLiteralIndex=n),window.editor&&e.setQuery(e.samples.literals)}"predication"===e.viewType&&e.allSamples&&(i.getIndexes().success((function(n){if(e.literalIndexes=["no-index"].concat(n.filter((function(e){return"textLiteral"===e.type&&("BUILT"===e.status||"OUTDATED"===e.status)})).map((function(e){return e.name}))),void 0===e.newIndex.inputIndex){const n=h("-input_index");if(void 0!==n)for(let t=0;t<e.literalIndexes.length;t++)n===e.literalIndexes[t]&&(e.newIndex.inputIndex=e.literalIndexes[t])}void 0===e.newIndex.inputIndex&&(e.newIndex.inputIndex=e.literalIndexes[0])})).error((function(e){const t=getError(e);n.error(t,y.instant("similarity.could.not.get.indexes.error"))})),e.samples=e.allSamples.predication,window.editor&&e.setQuery(e.samples.predication))}},p=new RegExp("^[a-zA-Z0-9-_]+$"),m=function(){return e.invalidIndexName=!1,e.saveQueries(),e.newIndex.name?p.test(e.newIndex.name)?e.newIndex.query?e.newIndex.searchQuery?"predication"!==e.viewType||e.newIndex.analogicalQuery?"SELECT"===window.editor.getQueryType()||void n.error(y.instant("similarity.index.select.queries.constraint")):(n.error(y.instant("similarity.empty.analogical.query.error")),!1):(n.error(y.instant("similarity.empty.search.query.error")),!1):(n.error(y.instant("similarity.empty.select.query.error")),!1):(e.invalidIndexName=y.instant("similarity.index.name.constraint"),!1):(e.invalidIndexName=y.instant("similarity.empty.index.name.error"),!1)},x=function(n,t){e.newIndex.options=e.newIndex.options+(""===e.newIndex.options?"":" ")+n+" "+t};function h(n){const t=e.newIndex.options.split(" ");for(let r=0;r<t.length;r++)if(t[r]===n&&r+1<t.length){const n=t[r+1];return delete t[r],delete t[r+1],e.newIndex.options=t.join(" "),n}}function I(e){}function Q(n,t,r){const i=angular.element(document.getElementById("yasr-inner"));e.queryIsRunning=n,n?(e.queryStartTime=Date.now(),e.countTimeouted=!1,e.progressMessage=t,e.extraMessage=r,i.addClass("hide")):(e.progressMessage="",e.extraMessage="",i.removeClass("hide")),null===e.$$phase&&e.$apply()}function T(n){function t(){return window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight||0}const i=n;if(e.orientationViewMode){if("yasr"===e.viewMode){let e=t()-document.querySelector(".CodeMirror-wrap").getBoundingClientRect().top;e-=40,document.querySelector(".CodeMirror-wrap").style.height=e+"px"}else e.noPadding={},document.querySelector(".CodeMirror-wrap").style.height="";document.getElementById("yasr").style.minHeight=""}else if(e.noPadding={paddingRight:15,paddingLeft:0},window.editor&&document.querySelector(".CodeMirror-wrap")){let e=t()-document.querySelector(".CodeMirror-wrap").getBoundingClientRect().top;e-=40,document.querySelector(".CodeMirror-wrap").style.height=e+"px",document.getElementById("yasr").style.minHeight=e+"px"}else{let n;n=r(i?function(){e.fixSizesOnHorizontalViewModeSwitch(i)}:e.fixSizesOnHorizontalViewModeSwitch,100),e.$on("$destroy",(function(){r.cancel(n)}))}window.yasr&&window.yasr.container&&r((function(){window.yasr.container.resize()}),100)}function S(){T(!0)}function v(e){r((function(){$('a[data-id = "'+e+'"]').tab("show")}),0)}function b(t,r){e.executedQueryTab=e.currentQuery,"SELECT"===window.editor.getQueryType()?r&&"SELECT"!==window.editor.getQueryType()?n.warning(y.instant("similarity.explain.select.queries.constraint")):"update"!==window.editor.getQueryMode()?(e.explainRequested=r,e.queryIsRunning||(t?e.currentTabConfig.resultsCount=0:e.resetCurrentTabConfig(),e.viewMode="editor",e.orientationViewMode&&e.fixSizesOnHorizontalViewModeSwitch(),Q(!0,y.instant("evaluating.query.msg")),window.editor.query())):n.warning(y.instant("cannot.execute.update.error")):n.error(y.instant("similarity.indexes.select.queries.constraint"))}function q(){Q(!0,y.instant("common.refreshing.namespaces"),y.instant("common.extra.message")),c.getRepositoryNamespaces().success((function(n){const t={};n.results.bindings.forEach((function(e){t[e.prefix.value]=e.namespace.value})),e.namespaces=t})).error((function(n){e.repositoryError=getError(n)})).finally((function(){Q(!1)}))}function C(){a.addKnownPrefixes(JSON.stringify(window.editor.getValue())).success((function(e){angular.isDefined(window.editor)&&angular.isDefined(e)&&e!==window.editor.getValue()&&window.editor.setValue(e)})).error((function(e){const t=getError(e);return n.error(t,y.instant("common.add.known.prefixes.error")),!0}))}function E(n){let t=void 0;return angular.forEach(e.tabsData,(function(e){if(e.name===n.name&&e.query===n.body)return t=e.id,e})),t}function M(){e.tabsData=[e.currentQuery];const n=e.currentQuery;null===e.currentQuery.query||""===e.currentQuery.query?window.editor.setValue(" "):window.editor.setValue(e.currentQuery.query||" "),r((function(){e.currentTabConfig={},e.currentTabConfig.queryType=n.queryType,e.currentTabConfig.resultsCount=n.resultsCount,e.currentTabConfig.offset=n.offset,e.currentTabConfig.allResultsCount=n.allResultsCount,e.currentTabConfig.page=n.page,e.currentTabConfig.pageSize=n.pageSize,e.currentTabConfig.timeFinished=n.timeFinished,e.currentTabConfig.timeTook=n.timeTook,e.currentTabConfig.sizeDelta=n.sizeDelta,e.$apply()}),0),$("#yasr").css("padding","0")}function L(e){return $(e).attr("data-id")}i.getSearchQueries().success((function(n){e.searchQueries=n,i.getSamples().success((function(n){w.query=o.search().selectQuery?o.search().selectQuery:n.text.literals,w.inference=!("false"===o.search().infer),w.sameAs=!("false"===o.search().sameAs),e.tabsData=e.tabs=[w],e.currentQuery=angular.copy(w),e.allSamples=n,f()}))})).error((function(e){const t=getError(e);n.error(t,y.instant("similarity.could.not.get.search.queries.error"))})),e.$watch("viewType",(function(){f()})),e.helpHidden=1===d.get(l.HIDE_SIMILARITY_HELP),e.toggleHelp=function(n){void 0===n&&(n=d.get(l.HIDE_SIMILARITY_HELP)),1!==n?(d.set(l.HIDE_SIMILARITY_HELP,1),e.helpHidden=!0):(d.set(l.HIDE_SIMILARITY_HELP,0),e.helpHidden=!1)},e.viewQuery=function(){m()&&i.getQuery({indexName:e.newIndex.name,indexOptions:e.newIndex.options,query:e.currentQuery.query,indexStopList:e.newIndex.stopList,queryInference:e.currentQuery.inference,querySameAs:e.currentQuery.sameAs,viewType:e.viewType,indexAnalyzer:e.newIndex.analyzer}).success((function(e){e&&t.open({templateUrl:"pages/viewQuery.html",controller:"ViewQueryCtrl",resolve:{query:function(){return e}}})}))},e.$watch("newIndex.name",(function(){e.isInvalidIndexName=!1,e.isEmptyIndexName=!1})),e.saveQueries=function(){const n=window.editor.getValue().trim();1===e.page?e.newIndex.query=n:2===e.page?e.newIndex.searchQuery=n:3===e.page&&(e.newIndex.analogicalQuery=n)},e.goToPage=function(n){1!==n&&"yasr"!==e.viewMode&&(e.showEditor(),r((function(){2===n&&(e.currentQuery.query=e.newIndex.searchQuery),3===n&&(e.currentQuery.query=e.newIndex.analogicalQuery),window.editor.setValue(e.currentQuery.query||" ")}))),e.saveQueries(),1===n?e.currentQuery.query=e.newIndex.query:2===n?e.currentQuery.query=e.newIndex.searchQuery:3===n&&(e.currentQuery.query=e.newIndex.analogicalQuery),M(),e.notoolbar=1!==n,e.page=n},e.createIndex=function(){m()&&i.getIndexes().success((function(t){if(t.forEach((function(n){n.name===e.newIndex.name&&(e.invalidIndexName=y.instant("similarity.existing.index.name.error"))})),!e.invalidIndexName){let t=e.viewType;if(void 0!==e.literalIndexes){const n=e.newIndex.inputIndex;n!==e.literalIndexes[0]&&x("-input_index",n)}"true"===e.newIndex.isLiteralIndex&&(x("-literal_index","true"),t="textLiteral"),i.createIndex("POST",e.newIndex.name,e.newIndex.options,e.newIndex.query,e.newIndex.searchQuery,e.newIndex.analogicalQuery,e.newIndex.stopList,e.currentQuery.inference,e.currentQuery.sameAs,t,e.newIndex.analyzer).error((function(e){n.error(getError(e),y.instant("similarity.create.index.error"))})),o.url("similarity")}})).error((function(e){const t=getError(e);n.error(t,y.instant("similarity.could.not.get.indexes.error"))}))},e.setQuery=function(e){window.editor.setValue(e||" ")},e.showEditor=function(){window.editor.xhr&&window.editor.xhr.abort(),e.viewMode="yasr"},e.showPreview=function(){e.currentQuery.outputType="table",e.runQuery()},e.resetCurrentTabConfig=function(){e.currentTabConfig={pageSize:100,page:1,allResultsCount:0,resultsCount:0}},e.queryExists=!1,e.resetCurrentTabConfig(),e.tabsData=e.tabs=[w],e.saveTab=function(n){const t=function(n){for(let t=0;t<e.tabsData.length;t++){if(e.tabsData[t].id===n)return t}}(n);if(void 0===t)return{};const r=e.tabsData[t];return e.saveQueryToLocal(r),r},e.loadTab=M,e.addNewTab=function(e,n,t){},e.runQuery=b,e.getNamespaces=q,e.changePagination=function(){b(!0,e.explainRequested)},e.toggleSampleQueries=function(){},e.addKnownPrefixes=C,e.getExistingTabId=E,e.querySelected=function(n){const t=E(n);e.toggleSampleQueries(),angular.isDefined(t)?v(t):e.addNewTab(null,n.name,n.body)},e.saveQueryToLocal=I,e.setLoader=Q,e.getLoaderMessage=function(){const n=(Date.now()-e.queryStartTime)/1e3,t=e.getHumanReadableSeconds(n);let r="";r=e.progressMessage?e.progressMessage+"... "+t:y.instant("common.running.operation",{timeHuman:t});e.extraMessage&&n>10&&(r+="\n"+e.extraMessage);return r},e.fixSizesOnHorizontalViewModeSwitch=T,e.changeViewMode=function(n){e.viewMode="none",e.orientationViewMode=!e.orientationViewMode,T(),$(".dataTables_filter").remove(),$(".resultsTable").remove(),r((function(){M(),v(n)}),100)},e.showHideEditor=S,e.focusQueryEditor=function(){angular.element(document).find(".editable-input").is(":focus")||angular.element(document).find(".CodeMirror textarea:first-child").focus()},e.orientationViewMode=!0,e.getActiveRepository(),e.orientationViewMode||S(),e.getActiveRepository()&&q(),e.$on("$destroy",(function(){window.editor=null,window.yasr=null})),$("textarea").on("paste",(function(){r((function(){C()}),0)})),e.$watchCollection("[currentQuery.inference, currentQuery.sameAs]",(function(){e.currentQuery})),e.$on("tabAction",(function(n,t){t.relatedTarget&&e.saveTab(L(t.relatedTarget)),e.loadTab(L(t.target))})),e.$on("deleteAllexeptSelected",(function(n,t){e.tabsData=t,e.tabs=t})),e.currentQuery=angular.copy(w),e.showSampleQueries=!1,e.savedQuery={},e.sampleQueries={},e.getResultsDescription=function(){},e.getUpdateDescription=function(){},e.getStaleWarningMessage=function(){},e.saveSearchQuery=function(){if("SELECT"!==window.editor.getQueryType())return void n.error(y.instant("similarity.index.select.queries.constraint"));let t={name:e.newIndex.name,changedQuery:e.currentQuery.query,isSearchQuery:2===e.page};return i.saveSearchQuery(JSON.stringify(t)).then((async function(){await u.showToastMessageWithDelay(2===e.page?"similarity.changed.search.query.msg":"similarity.changed.analogical.query.msg"),o.url("similarity")}),(function(e){n.error(getError(e),y.instant("similarity.change.query.error"))}))},e.getCloseBtnMsg=function(){let n=e.editSearchQuery?y.instant("similarity.query.edition.msg"):y.instant("similarity.index.creation.msg");return y.instant("similarity.close.btn.msg",{operation:n})}}angular.module("graphdb.framework.similarity.controllers.create",["graphdb.framework.utils.notifications","graphdb.framework.utils.localstorageadapter"]).controller("CreateSimilarityIdxCtrl",r),r.$inject=["$scope","toastr","$modal","$timeout","SimilarityRestService","SparqlRestService","$location","productInfo","Notifications","RDF4JRepositoriesRestService","LocalStorageAdapter","LSKeys","$translate"]}}]);
|
|
2
|
-
//# sourceMappingURL=43.ee0de548c525f8e422ba.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///./src/js/angular/utils/notifications.js","webpack:///./src/js/angular/similarity/controllers/create-index.controller.js"],"names":["Notifications","toastr","$translate","showToastMessageWithDelay","message","Promise","r","success","instant","setTimeout","angular","module","factory","$inject","CreateSimilarityIdxCtrl","$scope","$modal","$timeout","SimilarityRestService","SparqlRestService","$location","productInfo","RDF4JRepositoriesRestService","LocalStorageAdapter","LSKeys","indexType","search","type","undefined","startsWith","viewType","newIndex","info","page","defaultTabConfig","id","name","query","inference","sameAs","initForViewType","indexNameFromLocation","editSearchQuery","options","searchQueries","searchQuery","analogicalQuery","currentQuery","notoolbarInference","notoolbarSameAs","window","editor","setQuery","allSamples","samples","stopList","analyzer","isLiteralIndex","getAndRemoveOption","getIndexes","data","literalIndexes","concat","filter","idx","status","map","inputIndex","desiredIdx","j","length","error","msg","getError","filenamePattern","RegExp","validateIndex","invalidIndexName","saveQueries","test","getQueryType","appendOption","option","value","key","optArr","split","i","join","saveQueryToLocal","currentQueryTab","setLoader","isRunning","progressMessage","extraMessage","yasrInnerContainer","element","document","getElementById","queryIsRunning","queryStartTime","Date","now","countTimeouted","addClass","removeClass","$$phase","$apply","fixSizesOnHorizontalViewModeSwitch","verticalViewParam","visibleWindowHeight","innerHeight","documentElement","clientHeight","body","verticalView","orientationViewMode","viewMode","newHeight","querySelector","getBoundingClientRect","style","height","noPadding","minHeight","paddingRight","paddingLeft","timer","$on","cancel","yasr","container","resize","showHideEditor","selectTab","$","tab","runQuery","changePage","explain","executedQueryTab","warning","getQueryMode","explainRequested","currentTabConfig","resultsCount","resetCurrentTabConfig","getNamespaces","getRepositoryNamespaces","usedPrefixes","results","bindings","forEach","e","prefix","namespace","namespaces","repositoryError","finally","addKnownPrefixes","JSON","stringify","getValue","isDefined","setValue","getExistingTabId","existingTabId","tabsData","item","loadTab","queryType","offset","allResultsCount","pageSize","timeFinished","timeTook","sizeDelta","css","getQueryID","attr","getSearchQueries","getSamples","selectQuery","infer","tabs","copy","$watch","helpHidden","get","HIDE_SIMILARITY_HELP","toggleHelp","set","viewQuery","getQuery","indexName","indexOptions","indexStopList","queryInference","querySameAs","indexAnalyzer","open","templateUrl","controller","resolve","isInvalidIndexName","isEmptyIndexName","trim","goToPage","showEditor","notoolbar","createIndex","index","err","url","xhr","abort","showPreview","outputType","queryExists","saveTab","findTabIndexByID","addNewTab","callback","tabName","savedQuery","changePagination","toggleSampleQueries","querySelected","tabId","getLoaderMessage","timeSeconds","timeHuman","getHumanReadableSeconds","changeViewMode","tabID","remove","focusQueryEditor","find","is","focus","getActiveRepository","on","$watchCollection","tabEvent","relatedTarget","target","showSampleQueries","sampleQueries","getResultsDescription","getUpdateDescription","getStaleWarningMessage","saveSearchQuery","changedQuery","isSearchQuery","then","async","response","getCloseBtnMsg","operationType","operation"],"mappings":"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","file":"43.ee0de548c525f8e422ba.bundle.js","sourcesContent":["angular\n .module('graphdb.framework.utils.notifications', [])\n .factory('Notifications', Notifications);\n\nNotifications.$inject = ['toastr', '$translate'];\n\nfunction Notifications(toastr, $translate) {\n return {\n showToastMessageWithDelay\n };\n\n /**\n * This method will show message with tiny delay and only after completion\n * of latter redirection to \"graphs-visualizations\" page will happen.\n * @param {string} message The message to be displayed.\n * @return {Promise<any>}\n */\n function showToastMessageWithDelay(message) {\n return new Promise((r) => {\n toastr.success($translate.instant(message));\n setTimeout(r, 200);\n });\n }\n}\n","import 'angular/utils/notifications';\nimport 'angular/utils/local-storage-adapter';\n\nangular\n .module('graphdb.framework.similarity.controllers.create', [\n 'graphdb.framework.utils.notifications',\n 'graphdb.framework.utils.localstorageadapter'\n ])\n .controller('CreateSimilarityIdxCtrl', CreateSimilarityIdxCtrl);\n\nCreateSimilarityIdxCtrl.$inject = ['$scope', 'toastr', '$modal', '$timeout', 'SimilarityRestService', 'SparqlRestService', '$location', 'productInfo', 'Notifications', 'RDF4JRepositoriesRestService', 'LocalStorageAdapter', 'LSKeys', '$translate'];\n\nfunction CreateSimilarityIdxCtrl($scope, toastr, $modal, $timeout, SimilarityRestService, SparqlRestService, $location, productInfo, Notifications, RDF4JRepositoriesRestService, LocalStorageAdapter, LSKeys, $translate) {\n\n const indexType = $location.search().type;\n if (indexType === undefined || indexType.startsWith('text')) {\n $scope.viewType = 'text';\n } else {\n $scope.viewType = indexType;\n }\n\n const textDefaultOptions = '-termweight idf';\n const predDefaultOptions = '';\n $scope.newIndex = {};\n\n $scope.info = productInfo;\n $scope.page = 1;\n\n const defaultTabConfig = {\n id: '1',\n name: '',\n query: '',\n inference: true,\n sameAs: true\n };\n\n let getNewIndexName = function (indexNameFromLocation) {\n if (indexNameFromLocation) {\n if ($scope.page !== 1) {\n return indexNameFromLocation;\n } else {\n return 'Copy_of_' + indexNameFromLocation;\n }\n }\n return '';\n };\n\n const initForViewType = function () {\n $scope.editSearchQuery = $location.search().editSearchQuery;\n $scope.page = $scope.editSearchQuery ? 2 : 1;\n $scope.newIndex.name = getNewIndexName($location.search().name);\n $scope.newIndex.options = ($location.search().options ? $location.search().options : ($scope.viewType === \"text\") ? textDefaultOptions : predDefaultOptions);\n\n if ($scope.searchQueries) {\n $scope.newIndex.searchQuery = $location.search().searchQuery ? $location.search().searchQuery : $scope.searchQueries[$scope.viewType];\n if ($scope.viewType === 'predication') {\n $scope.newIndex.analogicalQuery = $location.search().analogicalQuery ? $location.search().analogicalQuery : $scope.searchQueries['analogical'];\n }\n }\n\n if ($scope.editSearchQuery) {\n // Default will be opened search query tab for edition\n $scope.currentQuery.query = $scope.newIndex.searchQuery;\n $scope.notoolbarInference = true;\n $scope.notoolbarSameAs = true;\n if (window.editor) {\n $scope.setQuery($scope.newIndex.searchQuery);\n }\n } else {\n if ($scope.viewType === 'text' && $scope.allSamples) {\n $scope.samples = $scope.allSamples['text'];\n $scope.newIndex.stopList = ($location.search().stopList ? $location.search().stopList : undefined);\n $scope.newIndex.analyzer = ($location.search().analyzer ? $location.search().analyzer : 'org.apache.lucene.analysis.en.EnglishAnalyzer');\n const isLiteralIndex = getAndRemoveOption('-literal_index');\n if (isLiteralIndex !== undefined) {\n $scope.newIndex.isLiteralIndex = isLiteralIndex;\n }\n if (window.editor) {\n $scope.setQuery($scope.samples['literals']);\n }\n }\n if ($scope.viewType === 'predication' && $scope.allSamples) {\n SimilarityRestService.getIndexes()\n .success(function (data) {\n $scope.literalIndexes = ['no-index'].concat(data\n .filter(function (idx) {\n return idx.type === 'textLiteral' && (idx.status === 'BUILT' || idx.status === 'OUTDATED')\n })\n .map(function (idx) {\n return idx.name;\n }));\n\n if ($scope.newIndex.inputIndex === undefined) {\n const desiredIdx = getAndRemoveOption('-input_index');\n if (desiredIdx !== undefined) {\n for (let j = 0; j < $scope.literalIndexes.length; j++) {\n if (desiredIdx === $scope.literalIndexes[j]) {\n $scope.newIndex.inputIndex = $scope.literalIndexes[j];\n }\n }\n }\n }\n if ($scope.newIndex.inputIndex === undefined) {\n $scope.newIndex.inputIndex = $scope.literalIndexes[0];\n }\n })\n .error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('similarity.could.not.get.indexes.error'));\n });\n\n $scope.samples = $scope.allSamples['predication'];\n if (window.editor) {\n $scope.setQuery($scope.samples['predication']);\n }\n }\n }\n };\n\n const filenamePattern = new RegExp('^[a-zA-Z0-9-_]+$');\n\n const validateIndex = function () {\n $scope.invalidIndexName = false;\n $scope.saveQueries();\n if (!$scope.newIndex.name) {\n $scope.invalidIndexName = $translate.instant('similarity.empty.index.name.error');\n return false;\n }\n if (!filenamePattern.test($scope.newIndex.name)) {\n $scope.invalidIndexName = $translate.instant('similarity.index.name.constraint');\n return false;\n }\n\n if (!$scope.newIndex.query) {\n toastr.error($translate.instant('similarity.empty.select.query.error'));\n return false;\n }\n\n if (!$scope.newIndex.searchQuery) {\n toastr.error($translate.instant('similarity.empty.search.query.error'));\n return false;\n }\n\n if ($scope.viewType === 'predication' && !$scope.newIndex.analogicalQuery) {\n toastr.error($translate.instant('similarity.empty.analogical.query.error'));\n return false;\n }\n\n if (window.editor.getQueryType() !== 'SELECT') {\n toastr.error($translate.instant('similarity.index.select.queries.constraint'));\n return;\n }\n\n return true;\n };\n\n const appendOption = function (option, value) {\n $scope.newIndex.options = $scope.newIndex.options + ($scope.newIndex.options === '' ? '' : ' ') + option + ' ' + value;\n };\n\n SimilarityRestService.getSearchQueries().success(function (data) {\n $scope.searchQueries = data;\n SimilarityRestService.getSamples().success(function (samples) {\n defaultTabConfig.query = $location.search().selectQuery ? $location.search().selectQuery : samples['text']['literals'];\n defaultTabConfig.inference = !($location.search().infer === 'false');\n defaultTabConfig.sameAs = !($location.search().sameAs === 'false');\n $scope.tabsData = $scope.tabs = [defaultTabConfig];\n $scope.currentQuery = angular.copy(defaultTabConfig);\n $scope.allSamples = samples;\n initForViewType();\n });\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('similarity.could.not.get.search.queries.error'));\n });\n\n $scope.$watch('viewType', function () {\n initForViewType();\n });\n\n $scope.helpHidden = LocalStorageAdapter.get(LSKeys.HIDE_SIMILARITY_HELP) === 1;\n $scope.toggleHelp = function (value) {\n if (value === undefined) {\n value = LocalStorageAdapter.get(LSKeys.HIDE_SIMILARITY_HELP);\n }\n if (value !== 1) {\n LocalStorageAdapter.set(LSKeys.HIDE_SIMILARITY_HELP, 1);\n $scope.helpHidden = true;\n } else {\n LocalStorageAdapter.set(LSKeys.HIDE_SIMILARITY_HELP, 0);\n $scope.helpHidden = false;\n }\n };\n\n $scope.viewQuery = function () {\n if (!validateIndex()) {\n return;\n }\n\n SimilarityRestService.getQuery({\n indexName: $scope.newIndex.name,\n indexOptions: $scope.newIndex.options,\n query: $scope.currentQuery.query,\n indexStopList: $scope.newIndex.stopList,\n queryInference: $scope.currentQuery.inference,\n querySameAs: $scope.currentQuery.sameAs,\n viewType: $scope.viewType,\n indexAnalyzer: $scope.newIndex.analyzer\n }).success(function (query) {\n if (query) {\n $modal.open({\n templateUrl: 'pages/viewQuery.html',\n controller: 'ViewQueryCtrl',\n resolve: {\n query: function () {\n return query;\n }\n }\n });\n }\n });\n };\n\n $scope.$watch('newIndex.name', function () {\n $scope.isInvalidIndexName = false;\n $scope.isEmptyIndexName = false;\n });\n\n $scope.saveQueries = function () {\n // save the current query\n const query = window.editor.getValue().trim();\n if ($scope.page === 1) {\n $scope.newIndex.query = query;\n } else if ($scope.page === 2) {\n $scope.newIndex.searchQuery = query;\n } else if ($scope.page === 3) {\n $scope.newIndex.analogicalQuery = query;\n }\n };\n\n $scope.goToPage = function (page) {\n // ugly fix for GDB-3099\n if (page !== 1 && $scope.viewMode !== 'yasr') {\n $scope.showEditor();\n $timeout(function () {\n if (page === 2) {\n $scope.currentQuery.query = $scope.newIndex.searchQuery;\n }\n if (page === 3) {\n $scope.currentQuery.query = $scope.newIndex.analogicalQuery;\n }\n\n window.editor.setValue($scope.currentQuery.query || ' ');\n });\n }\n\n $scope.saveQueries();\n // get the saved query\n if (page === 1) {\n $scope.currentQuery.query = $scope.newIndex.query;\n } else if (page === 2) {\n $scope.currentQuery.query = $scope.newIndex.searchQuery;\n } else if (page === 3) {\n $scope.currentQuery.query = $scope.newIndex.analogicalQuery;\n }\n\n loadTab();\n $scope.notoolbar = page !== 1;\n\n $scope.page = page;\n };\n\n $scope.createIndex = function () {\n if (!validateIndex()) {\n return;\n }\n // Check existing indexes\n SimilarityRestService.getIndexes()\n .success(function (data) {\n data.forEach(function (index) {\n if (index.name === $scope.newIndex.name) {\n $scope.invalidIndexName = $translate.instant('similarity.existing.index.name.error');\n }\n });\n if (!$scope.invalidIndexName) {\n let indexType = $scope.viewType;\n\n if ($scope.literalIndexes !== undefined) {\n const inputIndex = $scope.newIndex.inputIndex;\n if (inputIndex !== $scope.literalIndexes[0]) {\n appendOption('-input_index', inputIndex);\n }\n }\n if ($scope.newIndex.isLiteralIndex === 'true') {\n appendOption('-literal_index', 'true');\n indexType = 'textLiteral';\n }\n\n SimilarityRestService.createIndex('POST',\n $scope.newIndex.name,\n $scope.newIndex.options,\n $scope.newIndex.query,\n $scope.newIndex.searchQuery,\n $scope.newIndex.analogicalQuery,\n $scope.newIndex.stopList,\n $scope.currentQuery.inference,\n $scope.currentQuery.sameAs,\n indexType,\n $scope.newIndex.analyzer)\n .error(function (err) {\n toastr.error(getError(err), $translate.instant('similarity.create.index.error'));\n });\n $location.url('similarity');\n }\n\n })\n .error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('similarity.could.not.get.indexes.error'));\n });\n };\n\n // Called when user clicks on a sample query\n $scope.setQuery = function (query) {\n // Hack for YASQE bug\n window.editor.setValue(query ? query : ' ');\n };\n\n // TODO don't copy paste each time, this is the same as in the graph config\n // DOWN HERE WE KEEP EVERYTHING PURELY QUERY EDITOR (MOSTLY BORROWED FROM query-editor.controller.js)\n\n $scope.showEditor = function () {\n if (window.editor.xhr) {\n window.editor.xhr.abort();\n }\n $scope.viewMode = 'yasr';\n };\n\n $scope.showPreview = function () {\n // For some reason YASR gets confused and sets this to rawResponse\n // if we execute a CONSTRUCT and then a SELECT. This makes sure it's always table.\n $scope.currentQuery.outputType = 'table';\n $scope.runQuery();\n };\n\n $scope.resetCurrentTabConfig = function () {\n $scope.currentTabConfig = {\n pageSize: 100, // page limit 100 as this is only used for preview\n page: 1,\n allResultsCount: 0,\n resultsCount: 0\n };\n };\n\n $scope.queryExists = false;\n\n $scope.resetCurrentTabConfig();\n\n $scope.tabsData = $scope.tabs = [defaultTabConfig];\n\n // query tab operations\n $scope.saveTab = saveTab;\n $scope.loadTab = loadTab;\n $scope.addNewTab = addNewTab;\n\n // query operations\n $scope.runQuery = runQuery;\n $scope.getNamespaces = getNamespaces;\n $scope.changePagination = changePagination;\n $scope.toggleSampleQueries = toggleSampleQueries;\n $scope.addKnownPrefixes = addKnownPrefixes;\n $scope.getExistingTabId = getExistingTabId;\n $scope.querySelected = querySelected;\n $scope.saveQueryToLocal = saveQueryToLocal;\n\n $scope.setLoader = setLoader;\n $scope.getLoaderMessage = getLoaderMessage;\n\n // query editor and results orientation\n $scope.fixSizesOnHorizontalViewModeSwitch = fixSizesOnHorizontalViewModeSwitch;\n $scope.changeViewMode = changeViewMode;\n $scope.showHideEditor = showHideEditor;\n $scope.focusQueryEditor = focusQueryEditor;\n $scope.orientationViewMode = true;\n\n // start of repository actions\n $scope.getActiveRepository();\n\n function getAndRemoveOption(key) {\n const optArr = $scope.newIndex.options.split(' ');\n for (let i = 0; i < optArr.length; i++) {\n if (optArr[i] === key && i + 1 < optArr.length) {\n const value = optArr[i + 1];\n\n delete optArr[i];\n delete optArr[i + 1];\n $scope.newIndex.options = optArr.join(' ');\n\n return value;\n }\n }\n return undefined;\n }\n\n function saveQueryToLocal(currentQueryTab) {\n }\n\n function setLoader(isRunning, progressMessage, extraMessage) {\n const yasrInnerContainer = angular.element(document.getElementById('yasr-inner'));\n $scope.queryIsRunning = isRunning;\n if (isRunning) {\n $scope.queryStartTime = Date.now();\n $scope.countTimeouted = false;\n $scope.progressMessage = progressMessage;\n $scope.extraMessage = extraMessage;\n yasrInnerContainer.addClass('hide');\n } else {\n $scope.progressMessage = '';\n $scope.extraMessage = '';\n yasrInnerContainer.removeClass('hide');\n }\n // We might call this from angular or outside angular so take care of applying the scope.\n if ($scope.$$phase === null) {\n $scope.$apply();\n }\n }\n\n function getLoaderMessage() {\n const timeSeconds = (Date.now() - $scope.queryStartTime) / 1000;\n const timeHuman = $scope.getHumanReadableSeconds(timeSeconds);\n let message = '';\n\n if ($scope.progressMessage) {\n message = $scope.progressMessage + '... ' + timeHuman;\n } else {\n message = $translate.instant('common.running.operation', {timeHuman: timeHuman});\n }\n if ($scope.extraMessage && timeSeconds > 10) {\n message += '\\n' + $scope.extraMessage;\n }\n\n return message;\n }\n\n // start of query editor results orientation operations\n function fixSizesOnHorizontalViewModeSwitch(verticalViewParam) {\n function visibleWindowHeight() {\n return window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight || 0;\n }\n\n const verticalView = verticalViewParam;\n if (!$scope.orientationViewMode) {\n $scope.noPadding = {paddingRight: 15, paddingLeft: 0};\n\n // window.editor is undefined if no repo is selected\n if (window.editor && document.querySelector('.CodeMirror-wrap')) {\n let newHeight = visibleWindowHeight() - (document.querySelector('.CodeMirror-wrap').getBoundingClientRect().top);\n newHeight -= 40;\n document.querySelector('.CodeMirror-wrap').style.height = newHeight + 'px';\n document.getElementById('yasr').style.minHeight = newHeight + 'px';\n //window.editor.refresh();\n } else {\n let timer;\n if (verticalView) {\n timer = $timeout(function () {\n $scope.fixSizesOnHorizontalViewModeSwitch(verticalView);\n }, 100);\n } else {\n timer = $timeout($scope.fixSizesOnHorizontalViewModeSwitch, 100);\n }\n\n $scope.$on('$destroy', function () {\n $timeout.cancel(timer);\n });\n }\n } else {\n if ($scope.viewMode === 'yasr') {\n let newHeight = visibleWindowHeight() - (document.querySelector('.CodeMirror-wrap').getBoundingClientRect().top);\n newHeight -= 40;\n document.querySelector('.CodeMirror-wrap').style.height = newHeight + 'px';\n } else {\n $scope.noPadding = {};\n document.querySelector('.CodeMirror-wrap').style.height = '';\n }\n document.getElementById('yasr').style.minHeight = '';\n }\n if (window.yasr && window.yasr.container) {\n $timeout(function () {\n window.yasr.container.resize();\n }, 100);\n }\n }\n\n if (!$scope.orientationViewMode) {\n showHideEditor();\n }\n\n function changeViewMode(tabID) {\n $scope.viewMode = 'none';\n $scope.orientationViewMode = !$scope.orientationViewMode;\n fixSizesOnHorizontalViewModeSwitch();\n $('.dataTables_filter').remove();\n $('.resultsTable').remove();\n $timeout(function () {\n loadTab();\n selectTab(tabID);\n }, 100);\n }\n\n function showHideEditor() {\n fixSizesOnHorizontalViewModeSwitch(true);\n }\n\n function focusQueryEditor() {\n if (!angular.element(document).find('.editable-input').is(':focus')) {\n angular.element(document).find('.CodeMirror textarea:first-child').focus();\n }\n }\n\n // end of query editor results orientation operations\n\n function selectTab(id) {\n $timeout(function () {\n $('a[data-id = \"' + id + '\"]').tab('show');\n }, 0);\n }\n\n // start of query operations\n function runQuery(changePage, explain) {\n $scope.executedQueryTab = $scope.currentQuery;\n if (window.editor.getQueryType() !== 'SELECT') {\n toastr.error($translate.instant('similarity.indexes.select.queries.constraint'));\n return;\n }\n if (explain && window.editor.getQueryType() !== 'SELECT') {\n toastr.warning($translate.instant('similarity.explain.select.queries.constraint'));\n return;\n }\n\n if (window.editor.getQueryMode() === 'update') {\n toastr.warning($translate.instant('cannot.execute.update.error'));\n return;\n }\n\n $scope.explainRequested = explain;\n if (!$scope.queryIsRunning) {\n if (changePage) {\n $scope.currentTabConfig.resultsCount = 0;\n } else {\n $scope.resetCurrentTabConfig();\n }\n\n // Hides the editor and shows the yasr results\n $scope.viewMode = 'editor';\n if ($scope.orientationViewMode) {\n $scope.fixSizesOnHorizontalViewModeSwitch();\n }\n\n setLoader(true, $translate.instant('evaluating.query.msg'));\n window.editor.query();\n }\n }\n\n // FIXME: this is copy-pasted in graphs-config.controller.js and query-editor.controller.js. Find a way to avoid duplications\n function getNamespaces() {\n // Signals the namespaces are to be fetched => loader will be shown\n setLoader(true, $translate.instant('common.refreshing.namespaces'), $translate.instant('common.extra.message'));\n RDF4JRepositoriesRestService.getRepositoryNamespaces()\n .success(function (data) {\n const usedPrefixes = {};\n data.results.bindings.forEach(function (e) {\n usedPrefixes[e.prefix.value] = e.namespace.value;\n });\n $scope.namespaces = usedPrefixes;\n })\n .error(function (data) {\n $scope.repositoryError = getError(data);\n })\n .finally(function () {\n // Signals namespaces were fetched => loader will be hidden\n setLoader(false);\n });\n }\n\n function changePagination() {\n runQuery(true, $scope.explainRequested);\n }\n\n if ($scope.getActiveRepository()) {\n getNamespaces();\n }\n\n $scope.$on('$destroy', function () {\n window.editor = null;\n window.yasr = null;\n });\n\n function toggleSampleQueries() {\n }\n\n // Add known prefixes\n function addKnownPrefixes() {\n SparqlRestService.addKnownPrefixes(JSON.stringify(window.editor.getValue()))\n .success(function (data) {\n if (angular.isDefined(window.editor) && angular.isDefined(data) && data !== window.editor.getValue()) {\n window.editor.setValue(data);\n }\n })\n .error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.add.known.prefixes.error'));\n return true;\n });\n }\n\n $('textarea').on('paste', function () {\n $timeout(function () {\n addKnownPrefixes();\n }, 0);\n });\n\n function querySelected(query) {\n const tabId = getExistingTabId(query);\n $scope.toggleSampleQueries();\n if (!angular.isDefined(tabId)) {\n $scope.addNewTab(null, query.name, query.body);\n } else {\n selectTab(tabId);\n }\n }\n\n function getExistingTabId(query) {\n let existingTabId = undefined;\n angular.forEach($scope.tabsData, function (item) {\n if (item.name === query.name && item.query === query.body) {\n existingTabId = item.id;\n return item;\n }\n });\n\n return existingTabId;\n }\n\n\n // end of query operations\n\n // start of query tab operations\n function findTabIndexByID(id) {\n for (let i = 0; i < $scope.tabsData.length; i++) {\n const tab = $scope.tabsData[i];\n if (tab.id === id) {\n return i;\n }\n }\n }\n\n $scope.$watchCollection('[currentQuery.inference, currentQuery.sameAs]', function () {\n saveQueryToLocal($scope.currentQuery);\n });\n\n function saveTab(id) {\n const idx = findTabIndexByID(id);\n // Tab was deleted, don't try to save it's state\n if (idx === undefined) {\n return {};\n }\n const tab = $scope.tabsData[idx];\n //tab.query = window.editor.getValue();\n $scope.saveQueryToLocal(tab);\n return tab;\n }\n\n function addNewTab(callback, tabName, savedQuery) {\n }\n\n function loadTab() {\n $scope.tabsData = [$scope.currentQuery];\n\n const tab = $scope.currentQuery;\n\n if ($scope.currentQuery.query === null || $scope.currentQuery.query === '') {\n // hack for YASQE bug\n window.editor.setValue(' ');\n } else {\n window.editor.setValue($scope.currentQuery.query || ' ');\n }\n\n $timeout(function () {\n $scope.currentTabConfig = {};\n $scope.currentTabConfig.queryType = tab.queryType;\n $scope.currentTabConfig.resultsCount = tab.resultsCount;\n\n $scope.currentTabConfig.offset = tab.offset;\n $scope.currentTabConfig.allResultsCount = tab.allResultsCount;\n $scope.currentTabConfig.page = tab.page;\n $scope.currentTabConfig.pageSize = tab.pageSize;\n\n $scope.currentTabConfig.timeFinished = tab.timeFinished;\n $scope.currentTabConfig.timeTook = tab.timeTook;\n $scope.currentTabConfig.sizeDelta = tab.sizeDelta;\n $scope.$apply();\n }, 0);\n\n //Remove paddign of yasr so it will be aligned with sparql editor\n $('#yasr').css('padding', '0');\n }\n\n function getQueryID(element) {\n return $(element).attr('data-id');\n }\n\n $scope.$on('tabAction', function (e, tabEvent) {\n if (tabEvent.relatedTarget) {\n $scope.saveTab(getQueryID(tabEvent.relatedTarget));\n }\n $scope.loadTab(getQueryID(tabEvent.target));\n });\n\n $scope.$on('deleteAllexeptSelected', function (e, tabs) {\n $scope.tabsData = tabs;\n $scope.tabs = tabs;\n });\n // end of query tab operations\n\n $scope.currentQuery = angular.copy(defaultTabConfig);\n // $scope.state = {};\n $scope.showSampleQueries = false;\n $scope.savedQuery = {};\n $scope.sampleQueries = {};\n\n $scope.getResultsDescription = function () {\n };\n\n $scope.getUpdateDescription = function () {\n };\n\n $scope.getStaleWarningMessage = function () {\n };\n\n $scope.saveSearchQuery = function () {\n // Should validate that query is SELECT\n if (window.editor.getQueryType() !== 'SELECT') {\n toastr.error($translate.instant('similarity.index.select.queries.constraint'));\n return;\n }\n let data = {\n name: $scope.newIndex.name,\n changedQuery: $scope.currentQuery.query,\n isSearchQuery: $scope.page === 2\n };\n\n return SimilarityRestService.saveSearchQuery(JSON.stringify(data))\n .then(async function () {\n await Notifications.showToastMessageWithDelay($scope.page === 2 ? 'similarity.changed.search.query.msg' : 'similarity.changed.analogical.query.msg');\n $location.url('similarity');\n }, function (response) {\n toastr.error(getError(response), $translate.instant('similarity.change.query.error'));\n });\n };\n\n $scope.getCloseBtnMsg = function () {\n let operationType = $scope.editSearchQuery ? $translate.instant('similarity.query.edition.msg') : $translate.instant('similarity.index.creation.msg');\n return $translate.instant('similarity.close.btn.msg', {operation: operationType});\n }\n}\n"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[44],{48:function(e,t,o){"use strict";o.r(t);o(15);function n(e,t,o,n,r,c,i,u,a,s){let l;function d(){l&&t.cancel(l)}e.pluginName="autocomplete",e.setPluginIsActive=function(t){e.pluginIsActive=t};const f=function(){u.checkAutocompleteStatus().success((function(t){e.autocompleteEnabled=t,a.setAutocompleteStatus(t)})).error((function(e){o.error(getError(e))}))},p=function(){u.refreshIndexIRIs().success((function(t){e.shouldIndexIRIs=t})).error((function(e){o.error(getError(e))}))},g=function(){u.refreshIndexStatus().success((function(t){e.indexStatus=t})).error((function(e){o.error(getError(e))}))},m=function(){u.refreshLabelConfig().success((function(t){e.labelConfig=t})).error((function(e){o.error(getError(e))}))};e.checkForPlugin=function(){e.pluginFound=!1,e.setLoader(!0),u.checkForPlugin().success((function(t){e.pluginFound=!0===t,e.pluginFound?(f(),p(),g(),m()):(e.autocompleteEnabled=!1,e.loading=!1)})).error((function(e){o.error(getError(e))})).finally((function(){e.setLoader(!1)}))};const b=function(){l=t((function(){e.$broadcast("checkIsActive"),e.autocompleteEnabled&&g()}),5e3)};e.$on("$destroy",(function(){d()}));e.setLoader=function(t,o){i.cancel(e.loaderTimeout),t?e.loaderTimeout=i((function(){e.loader=t,e.loaderMessage=o}),300):e.loader=!1},e.getLoaderMessage=function(){return e.loaderMessage||s.instant("common.loading")},e.toggleAutocomplete=function(){const t=!e.autocompleteEnabled;e.setLoader(!0,t?s.instant("autocomplete.enabling"):s.instant("autocomplete.disabling")),u.toggleAutocomplete(t).success((function(){f(),g()})).error((function(e){o.error(getError(e))})).finally((function(){e.setLoader(!1)}))},e.toggleIndexIRIs=function(){e.setLoader(!0,s.instant("autocomplete.index.iri")),u.toggleIndexIRIs(!e.shouldIndexIRIs).success((function(){p(),g()})).error((function(e){o.error(getError(e))})).finally((function(){e.setLoader(!1)}))},e.buildIndex=function(){e.setLoader(!0,s.instant("autocomplete.index.build")),u.buildIndex().success((function(){e.indexStatus="BUILDING"})).error((function(e){o.error(getError(e))})).finally((function(){e.setLoader(!1)}))},e.interruptIndexing=function(){e.setLoader(!0,s.instant("index.interrupt")),u.interruptIndexing().success((function(){g()})).error((function(e){o.error(getError(e))})).finally((function(){e.setLoader(!1)}))},e.getDegradedReason=function(){return n.getDegradedReason()},e.addLabel=function(){e.editLabel({labelIri:"",languages:""},!0)},e.editLabel=function(t,n){c.open({templateUrl:"js/angular/autocomplete/templates/modal/add-label.html",controller:"AddLabelCtrl",resolve:{data:function(){return{label:t,isNew:n}}}}).result.then((function(t){!function(t){e.setLoader(!0,s.instant("autocomplete.update")),u.addLabelConfig(t).success((function(){m(),g()})).error((function(e){o.error(getError(e))})).finally((function(){e.setLoader(!1)}))}(t)}))},e.removeLabel=function(t){!function(t){e.setLoader(!0,s.instant("autocomplete.update")),u.removeLabelConfig(t).success((function(){m(),g()})).error((function(e){o.error(getError(e))})).finally((function(){e.setLoader(!1)}))}(t)},e.$on("repositoryIsSet",(function(){d(),r.isLicenseValid()&&n.getActiveRepository()&&!n.isActiveRepoOntopType()&&!n.isActiveRepoFedXType()&&(e.checkForPlugin(),b())})),r.isLicenseValid()&&n.getActiveRepository()&&!n.isActiveRepoOntopType()&&!n.isActiveRepoFedXType()&&(e.checkForPlugin(),b())}function r(e,t,o,n){e.label=angular.copy(n.label),e.isNew=n.isNew,e.ok=function(){e.form.$valid&&t.close(e.label)},e.cancel=function(){t.dismiss("cancel")},e.setTemplate=function(t){e.label.labelIri=t,o((function(){$("#wb-autocomplete-languages").focus()}),0)}}angular.module("graphdb.framework.autocomplete.controllers",["toastr","graphdb.framework.rest.autocomplete.service"]).controller("AutocompleteCtrl",n).controller("AddLabelCtrl",r),n.$inject=["$scope","$interval","toastr","$repositories","$licenseService","$modal","$timeout","AutocompleteRestService","$autocompleteStatus","$translate"],r.$inject=["$scope","$modalInstance","$timeout","data"]}}]);
|
|
2
|
-
//# sourceMappingURL=44.38b4979d4b201ae1fffb.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///./src/js/angular/autocomplete/controllers.js"],"names":["AutocompleteCtrl","$scope","$interval","toastr","$repositories","$licenseService","$modal","$timeout","AutocompleteRestService","$autocompleteStatus","$translate","timer","cancelTimer","cancel","pluginName","setPluginIsActive","isPluginActive","pluginIsActive","refreshEnabledStatus","checkAutocompleteStatus","success","data","autocompleteEnabled","setAutocompleteStatus","error","getError","refreshIndexIRIs","shouldIndexIRIs","refreshIndexStatus","indexStatus","refreshLabelConfig","labelConfig","checkForPlugin","pluginFound","setLoader","loading","finally","pullStatus","$broadcast","$on","loader","message","loaderTimeout","loaderMessage","getLoaderMessage","instant","toggleAutocomplete","newValue","toggleIndexIRIs","buildIndex","interruptIndexing","getDegradedReason","addLabel","editLabel","labelIri","languages","label","isNew","open","templateUrl","controller","resolve","result","then","addLabelConfig","removeLabel","removeLabelConfig","isLicenseValid","getActiveRepository","isActiveRepoOntopType","isActiveRepoFedXType","AddLabelCtrl","$modalInstance","angular","copy","ok","form","$valid","close","dismiss","setTemplate","iri","$","focus","module","$inject"],"mappings":"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","file":"44.38b4979d4b201ae1fffb.bundle.js","sourcesContent":["import 'angular/rest/autocomplete.rest.service';\n\nconst modules = [\n 'toastr',\n 'graphdb.framework.rest.autocomplete.service'\n];\n\nangular\n .module('graphdb.framework.autocomplete.controllers', modules)\n .controller('AutocompleteCtrl', AutocompleteCtrl)\n .controller('AddLabelCtrl', AddLabelCtrl);\n\nAutocompleteCtrl.$inject = ['$scope', '$interval', 'toastr', '$repositories', '$licenseService', '$modal', '$timeout', 'AutocompleteRestService', '$autocompleteStatus', '$translate'];\n\nfunction AutocompleteCtrl($scope, $interval, toastr, $repositories, $licenseService, $modal, $timeout, AutocompleteRestService, $autocompleteStatus, $translate) {\n\n let timer;\n\n function cancelTimer() {\n if (timer) {\n $interval.cancel(timer);\n }\n }\n\n $scope.pluginName = 'autocomplete';\n\n $scope.setPluginIsActive = function (isPluginActive) {\n $scope.pluginIsActive = isPluginActive;\n };\n\n const refreshEnabledStatus = function () {\n AutocompleteRestService.checkAutocompleteStatus()\n .success(function (data) {\n $scope.autocompleteEnabled = data;\n $autocompleteStatus.setAutocompleteStatus(data);\n }).error(function (data) {\n toastr.error(getError(data));\n });\n };\n\n const refreshIndexIRIs = function () {\n AutocompleteRestService.refreshIndexIRIs()\n .success(function (data) {\n $scope.shouldIndexIRIs = data;\n }).error(function (data) {\n toastr.error(getError(data));\n });\n };\n\n const refreshIndexStatus = function () {\n AutocompleteRestService.refreshIndexStatus()\n .success(function (data) {\n $scope.indexStatus = data;\n })\n .error(function (data) {\n toastr.error(getError(data));\n });\n };\n\n const refreshLabelConfig = function () {\n AutocompleteRestService.refreshLabelConfig()\n .success(function (data) {\n $scope.labelConfig = data;\n }).error(function (data) {\n toastr.error(getError(data));\n });\n };\n\n const addLabelConfig = function (label) {\n $scope.setLoader(true, $translate.instant('autocomplete.update'));\n\n\n AutocompleteRestService.addLabelConfig(label)\n .success(function () {\n refreshLabelConfig();\n refreshIndexStatus();\n }).error(function (data) {\n toastr.error(getError(data));\n }).finally(function () {\n $scope.setLoader(false);\n });\n };\n\n const removeLabelConfig = function (label) {\n $scope.setLoader(true, $translate.instant('autocomplete.update'));\n\n AutocompleteRestService.removeLabelConfig(label)\n .success(function () {\n refreshLabelConfig();\n refreshIndexStatus();\n }).error(function (data) {\n toastr.error(getError(data));\n }).finally(function () {\n $scope.setLoader(false);\n });\n };\n\n $scope.checkForPlugin = function () {\n $scope.pluginFound = false;\n\n $scope.setLoader(true);\n\n AutocompleteRestService.checkForPlugin()\n .success(function (data) {\n $scope.pluginFound = data === true;\n if ($scope.pluginFound) {\n refreshEnabledStatus();\n refreshIndexIRIs();\n refreshIndexStatus();\n refreshLabelConfig();\n } else {\n $scope.autocompleteEnabled = false;\n $scope.loading = false;\n }\n }).error(function (data) {\n toastr.error(getError(data));\n }).finally(function () {\n $scope.setLoader(false);\n });\n };\n\n const pullStatus = function () {\n timer = $interval(function () {\n $scope.$broadcast('checkIsActive');\n if ($scope.autocompleteEnabled) {\n refreshIndexStatus();\n }\n }, 5000);\n };\n\n $scope.$on(\"$destroy\", function () {\n cancelTimer();\n });\n\n const init = function() {\n if (!$licenseService.isLicenseValid() ||\n !$repositories.getActiveRepository() ||\n $repositories.isActiveRepoOntopType() ||\n $repositories.isActiveRepoFedXType()) {\n return;\n }\n $scope.checkForPlugin();\n pullStatus();\n };\n\n $scope.setLoader = function (loader, message) {\n $timeout.cancel($scope.loaderTimeout);\n if (loader) {\n $scope.loaderTimeout = $timeout(function () {\n $scope.loader = loader;\n $scope.loaderMessage = message;\n }, 300);\n } else {\n $scope.loader = false;\n }\n };\n\n $scope.getLoaderMessage = function () {\n return $scope.loaderMessage || $translate.instant('common.loading');\n };\n\n $scope.toggleAutocomplete = function () {\n const newValue = !$scope.autocompleteEnabled;\n $scope.setLoader(true, newValue ? $translate.instant('autocomplete.enabling') : $translate.instant('autocomplete.disabling'));\n\n AutocompleteRestService.toggleAutocomplete(newValue)\n .success(function () {\n refreshEnabledStatus();\n refreshIndexStatus();\n }).error(function (data) {\n toastr.error(getError(data));\n }).finally(function () {\n $scope.setLoader(false);\n });\n };\n\n $scope.toggleIndexIRIs = function () {\n $scope.setLoader(true, ($translate.instant('autocomplete.index.iri')));\n\n AutocompleteRestService.toggleIndexIRIs(!$scope.shouldIndexIRIs)\n .success(function () {\n refreshIndexIRIs();\n refreshIndexStatus();\n }).error(function (data) {\n toastr.error(getError(data));\n }).finally(function () {\n $scope.setLoader(false);\n });\n };\n\n $scope.buildIndex = function () {\n $scope.setLoader(true, $translate.instant('autocomplete.index.build'));\n\n AutocompleteRestService.buildIndex()\n .success(function () {\n $scope.indexStatus = 'BUILDING';\n }).error(function (data) {\n toastr.error(getError(data));\n }).finally(function () {\n $scope.setLoader(false);\n });\n };\n\n $scope.interruptIndexing = function () {\n $scope.setLoader(true, $translate.instant('index.interrupt'));\n\n AutocompleteRestService.interruptIndexing()\n .success(function () {\n refreshIndexStatus();\n }).error(function (data) {\n toastr.error(getError(data));\n }).finally(function () {\n $scope.setLoader(false);\n });\n };\n\n $scope.getDegradedReason = function () {\n return $repositories.getDegradedReason();\n };\n\n $scope.addLabel = function () {\n $scope.editLabel({labelIri: '', languages: ''}, true);\n };\n\n $scope.editLabel = function (label, isNew) {\n const modalInstance = $modal.open({\n templateUrl: 'js/angular/autocomplete/templates/modal/add-label.html',\n controller: 'AddLabelCtrl',\n resolve: {\n data: function () {\n return {\n label: label,\n isNew: isNew\n };\n }\n }\n });\n\n modalInstance.result.then(function (label) {\n addLabelConfig(label);\n });\n };\n\n $scope.removeLabel = function (label) {\n removeLabelConfig(label);\n };\n\n $scope.$on('repositoryIsSet', function () {\n cancelTimer();\n if (!$licenseService.isLicenseValid() ||\n !$repositories.getActiveRepository() ||\n $repositories.isActiveRepoOntopType() ||\n $repositories.isActiveRepoFedXType()) {\n return;\n }\n $scope.checkForPlugin();\n pullStatus();\n });\n\n init();\n}\n\nAddLabelCtrl.$inject = ['$scope', '$modalInstance', '$timeout', 'data'];\n\nfunction AddLabelCtrl($scope, $modalInstance, $timeout, data) {\n $scope.label = angular.copy(data.label);\n $scope.isNew = data.isNew;\n\n $scope.ok = function () {\n if ($scope.form.$valid) {\n $modalInstance.close($scope.label);\n }\n };\n\n $scope.cancel = function () {\n $modalInstance.dismiss('cancel');\n };\n\n $scope.setTemplate = function (iri) {\n $scope.label.labelIri = iri;\n $timeout(function () {\n $('#wb-autocomplete-languages').focus();\n }, 0);\n };\n}\n"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[45],{92:function(e,t){PluginRegistry.add("route",{url:"/autocomplete",module:"graphdb.framework.autocomplete",path:"autocomplete/app",chunk:"autocomplete",controller:"AutocompleteCtrl",templateUrl:"pages/autocomplete.html",title:"view.autocomplete.title",helpInfo:"view.autocomplete.helpInfo"}),PluginRegistry.add("main.menu",{items:[{label:"Setup",labelKey:"menu.setup.label",href:"#",order:5,role:"IS_AUTHENTICATED_FULLY",icon:"icon-settings"},{label:"Autocomplete",labelKey:"menu.autocomplete.label",href:"autocomplete",order:40,parent:"Setup",role:"IS_AUTHENTICATED_FULLY"}]})}}]);
|
|
2
|
-
//# sourceMappingURL=45.8a0ab002ad0f614964e5.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///./src/js/angular/autocomplete/plugin.js"],"names":["PluginRegistry","add","label","labelKey","href","order","role","icon","parent"],"mappings":"2EAAAA,eAAeC,IAAI,QAAS,CACxB,IAAO,gBACP,OAAU,iCACV,KAAQ,mBACR,MAAS,eACT,WAAc,mBACd,YAAe,0BACf,MAAS,0BACT,SAAY,+BAGhBD,eAAeC,IAAI,YAAa,CAC5B,MAAS,CACL,CAACC,MAAO,QAASC,SAAU,mBAAoBC,KAAM,IAAKC,MAAO,EAAGC,KAAM,yBAA0BC,KAAM,iBAC1G,CAACL,MAAO,eAAgBC,SAAU,0BAA2BC,KAAM,eAAgBC,MAAO,GAAIG,OAAQ,QAASF,KAAM","file":"45.8a0ab002ad0f614964e5.bundle.js","sourcesContent":["PluginRegistry.add('route', {\n 'url': '/autocomplete',\n 'module': 'graphdb.framework.autocomplete',\n 'path': 'autocomplete/app',\n 'chunk': 'autocomplete',\n 'controller': 'AutocompleteCtrl',\n 'templateUrl': 'pages/autocomplete.html',\n 'title': 'view.autocomplete.title',\n 'helpInfo': 'view.autocomplete.helpInfo'\n});\n\nPluginRegistry.add('main.menu', {\n 'items': [\n {label: 'Setup', labelKey: 'menu.setup.label', href: '#', order: 5, role: 'IS_AUTHENTICATED_FULLY', icon: \"icon-settings\"},\n {label: 'Autocomplete', labelKey: 'menu.autocomplete.label', href: 'autocomplete', order: 40, parent: 'Setup', role: \"IS_AUTHENTICATED_FULLY\"}\n ]\n});\n"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[46],{94:function(e,t){PluginRegistry.add("route",[{url:"/cluster",module:"graphdb.framework.clustermanagement",chunk:"clustermanagement",path:"clustermanagement/app",controller:"ClusterManagementCtrl",templateUrl:"pages/cluster-management/clusterInfo.html",helpInfo:"view.clusterManagement.helpInfo",title:"view.clusterManagement.title"},{url:"/cluster/create",module:"graphdb.framework.clustermanagement",path:"clustermanagement/app",chunk:"clustermanagement",controller:"CreateClusterCtrl",templateUrl:"pages/cluster-management/cluster-configuration.html",title:"view.clusterManagement.create.title"}]),PluginRegistry.add("main.menu",{items:[{label:"Cluster",labelKey:"menu.cluster.label",href:"cluster",order:20,role:"ROLE_ADMIN",parent:"Setup",children:[{href:"cluster/create",children:[]}]}]})}}]);
|
|
2
|
-
//# sourceMappingURL=46.720c0f65b93f4fe01a7c.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///./src/js/angular/clustermanagement/plugin.js"],"names":["PluginRegistry","add","label","labelKey","href","order","role","parent","children"],"mappings":"2EAAAA,eAAeC,IAAI,QAAS,CACxB,CACI,IAAO,WACP,OAAU,sCACV,MAAS,oBACT,KAAQ,wBACR,WAAc,wBACd,YAAe,4CACf,SAAY,kCACZ,MAAS,gCACV,CACC,IAAO,kBACP,OAAU,sCACV,KAAQ,wBACR,MAAS,oBACT,WAAc,oBACd,YAAe,sDACf,MAAS,yCAIjBD,eAAeC,IAAI,YAAa,CAC5B,MAAS,CAAC,CACNC,MAAO,UACPC,SAAU,qBACVC,KAAM,UACNC,MAAO,GACPC,KAAM,aACNC,OAAQ,QACRC,SAAU,CAAC,CACPJ,KAAM,iBACNI,SAAU","file":"46.720c0f65b93f4fe01a7c.bundle.js","sourcesContent":["PluginRegistry.add('route', [\n {\n 'url': '/cluster',\n 'module': 'graphdb.framework.clustermanagement',\n 'chunk': 'clustermanagement',\n 'path': 'clustermanagement/app',\n 'controller': 'ClusterManagementCtrl',\n 'templateUrl': 'pages/cluster-management/clusterInfo.html',\n 'helpInfo': 'view.clusterManagement.helpInfo',\n 'title': 'view.clusterManagement.title'\n }, {\n 'url': '/cluster/create',\n 'module': 'graphdb.framework.clustermanagement',\n 'path': 'clustermanagement/app',\n 'chunk': 'clustermanagement',\n 'controller': 'CreateClusterCtrl',\n 'templateUrl': 'pages/cluster-management/cluster-configuration.html',\n 'title': 'view.clusterManagement.create.title'\n }\n]);\n\nPluginRegistry.add('main.menu', {\n 'items': [{\n label: 'Cluster',\n labelKey: 'menu.cluster.label',\n href: 'cluster',\n order: 20,\n role: 'ROLE_ADMIN',\n parent: 'Setup',\n children: [{\n href: 'cluster/create',\n children: []\n }]\n }]\n});\n\n"],"sourceRoot":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///./src/js/angular/core/directives/fit-text.directive.js"],"names":["fitTextDirective","$timeout","restrict","scope","min","max","link","element","attrs","config","_","debounce","fitTextMin","fitTextMax","parent","domElem","domElemStyle","style","computed","window","getComputedStyle","newlines","children","length","lines","minFontSize","maxFontSize","lineHeight","display","resizePromise","calculate","ratio","calcSize","offsetWidth","Math","paddingLeft","parseFloat","paddingRight","compressor","getMaxFontSize","resizer","cancel","offsetHeight","fontSize","loadDelay","$watch","join","$","on","$apply","delay","$on","off","angular","module","directive","$inject"],"mappings":"2EAOA,SAASA,EAAiBC,GACtB,MAAO,CACHC,SAAU,IACVC,MAAO,CACHC,IAAK,IACLC,IAAK,KAETC,KAAM,SAAUH,EAAOI,EAASC,GAE5B,MAAMC,EAAS,CACX,SAAYC,EAAEC,SACd,MAAS,IACT,UAAa,GACb,WAAc,EACd,IAAOH,EAAMI,YAAc,UAC3B,IAAOJ,EAAMK,YAAc,UAC3B,SAAY,GACZ,MAAS,GAGPC,EAASP,EAAQO,SACjBC,EAAUR,EAAQ,GAClBS,EAAeD,EAAQE,MACvBC,EAAWC,OAAOC,iBAAiBb,EAAQ,GAAI,MAC/Cc,EAAWd,EAAQe,WAAWC,QAAUd,EAAOe,MAC/CC,EAA6B,YAAfhB,EAAOL,IAAoBc,EAAS,aAAeT,EAAOL,IACxEsB,EAA6B,YAAfjB,EAAOJ,IAAoBa,EAAS,aAAeT,EAAOJ,IACxEsB,EAAaT,EAAS,eACtBU,EAAUV,EAAkB,QAClC,IAAIW,EAEJ,SAASC,IACL,MAAMC,EAAStB,EAAOuB,SAAWX,EAAYN,EAAQkB,YAAcZ,EACnE,OAAOa,KAAK7B,IAAI6B,KAAK9B,IAGzB,SAAwB2B,GACpB,MAAMI,EAAcC,WAAWhB,iBAAiBN,EAAO,IAAIqB,aACrDE,EAAeD,WAAWhB,iBAAiBN,EAAO,IAAIuB,cAE5D,OAAQvB,EAAO,GAAGmB,aAAeE,EAAcE,IAAiBN,EAAQtB,EAAO6B,WAPtDC,CAAeR,GAAQK,WAAWV,IAAeU,WAAWX,IA0BzF,SAASe,IACDX,GACA5B,EAASwC,OAAOZ,GAGpBA,EAAgB5B,GAAS,WApBrBc,EAAQ2B,aAAe3B,EAAQkB,aAAgB,IAKnDjB,EAAa2B,SAAWlC,EAAOuB,SAAW,KAC1ChB,EAAaW,WAAa,IAC1BX,EAAaY,QAAU,eAGvBZ,EAAa2B,SAAWb,IAAc,KACtCd,EAAaW,WAAaA,EAC1BX,EAAaY,QAAUA,KAUpBnB,EAAOmC,WAGdzC,EAAM0C,QAAO,WACT,MAAO,CACH/B,EAAO,GAAGmB,YACV1B,EAAQ,GAAG0B,aACba,KAAK,QACR,WACCN,OAGJO,EAAE5B,QAAQ6B,GAAG,SAAUvC,EAAOE,UAAS,WACnCR,EAAM8C,OAAOT,KACd/B,EAAOyC,QAEV/C,EAAMgD,IAAI,YAAY,WACdtB,GACA5B,EAASwC,OAAOZ,GAEpBkB,EAAE5B,QAAQiC,IAAI,eA5F9BC,QACKC,OAAO,4CAA6C,IACpDC,UAAU,UAAWvD,GAE1BA,EAAiBwD,QAAU,CAAC","file":"47.686e599732ae6f41120c.bundle.js","sourcesContent":["// This is a rework of the ng-FitText.js which can be found here https://github.com/patrickmarabeas/ng-FitText.js\nangular\n .module('graphdb.framework.core.directives.fittext', [])\n .directive('fitText', fitTextDirective);\n\nfitTextDirective.$inject = ['$timeout'];\n\nfunction fitTextDirective($timeout) {\n return {\n restrict: 'A',\n scope: {\n min: '=',\n max: '='\n },\n link: function (scope, element, attrs) {\n\n const config = {\n 'debounce': _.debounce,\n 'delay': 100,\n 'loadDelay': 10,\n 'compressor': 1,\n 'min': attrs.fitTextMin || 'inherit',\n 'max': attrs.fitTextMax || 'inherit',\n 'calcSize': 10,\n 'lines': 1\n };\n\n const parent = element.parent();\n const domElem = element[0];\n const domElemStyle = domElem.style;\n const computed = window.getComputedStyle(element[0], null);\n const newlines = element.children().length || config.lines;\n const minFontSize = config.min === 'inherit' ? computed['font-size'] : config.min;\n const maxFontSize = config.max === 'inherit' ? computed['font-size'] : config.max;\n const lineHeight = computed['line-height'];\n const display = computed['display'];\n let resizePromise;\n\n function calculate() {\n const ratio = (config.calcSize * newlines) / domElem.offsetWidth / newlines;\n return Math.max(Math.min(getMaxFontSize(ratio), parseFloat(maxFontSize)), parseFloat(minFontSize));\n }\n\n function getMaxFontSize(ratio) {\n const paddingLeft = parseFloat(getComputedStyle(parent[0]).paddingLeft);\n const paddingRight = parseFloat(getComputedStyle(parent[0]).paddingRight);\n\n return (parent[0].offsetWidth - (paddingLeft + paddingRight)) * ratio * config.compressor;\n }\n\n function resize() {\n if (domElem.offsetHeight * domElem.offsetWidth === 0) {\n return;\n }\n\n // Preset standard values for making the size calculation\n domElemStyle.fontSize = config.calcSize + 'px';\n domElemStyle.lineHeight = '1';\n domElemStyle.display = 'inline-block';\n\n // Set usage values\n domElemStyle.fontSize = calculate() + 'px';\n domElemStyle.lineHeight = lineHeight;\n domElemStyle.display = display;\n }\n\n function resizer() {\n if (resizePromise) {\n $timeout.cancel(resizePromise);\n }\n\n resizePromise = $timeout(function () {\n resize();\n }, config.loadDelay);\n }\n\n scope.$watch(function () {\n return [\n parent[0].offsetWidth,\n element[0].offsetWidth\n ].join('_');\n }, function () {\n resizer();\n });\n\n $(window).on('resize', config.debounce(function () {\n scope.$apply(resizer)\n }, config.delay));\n\n scope.$on('$destroy', function () {\n if (resizePromise) {\n $timeout.cancel(resizePromise);\n }\n $(window).off('resize');\n });\n }\n };\n}\n"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[48],{43:function(a,e){angular.module("graphdb.framework.core.directives.paginations",[]).directive("paginations",(function(){return{template:'<pagination class="nav navbar-right" total-items="matchedElements.length" items-per-page="pageSize" ng-model="page" ng-change="changePagination()" direction-links="false" boundary-links="true" max-size="5" rotate="true"></pagination>'}}))}}]);
|
|
2
|
-
//# sourceMappingURL=48.bdb51ad865126b918831.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///./src/js/angular/core/directives/paginations.js"],"names":["angular","module","directive","template"],"mappings":"2EAAAA,QAAQC,OAAO,gDAAiD,IAC3DC,UAAU,eAAe,WACtB,MAAO,CACHC,SAAU","file":"48.bdb51ad865126b918831.bundle.js","sourcesContent":["angular.module('graphdb.framework.core.directives.paginations', [])\n .directive('paginations', function () {\n return {\n template: '<pagination class=\"nav navbar-right\" total-items=\"matchedElements.length\" items-per-page=\"pageSize\" ng-model=\"page\" ng-change=\"changePagination()\" direction-links=\"false\" boundary-links=\"true\" max-size=\"5\" rotate=\"true\"></pagination>',\n };\n });\n"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[49,10],{35:function(e,t,n){"use strict";n.r(t);n(4),n(12);var r=n(0);function i(e,t,n,i,o,a,s,u,c,d,l,g,y,f,p){const m={id:"1",name:"",query:"select * where { \n\t?s ?p ?o .\n} limit 100 \n",inference:!0,sameAs:!0};let h,T=d.getPrincipal();function w(e,t){m.inference=t.appSettings.DEFAULT_INFERENCE,m.sameAs=t.appSettings.DEFAULT_SAMEAS,e.skipCountQuery=!t.appSettings.EXECUTE_COUNT,e.ignoreSharedQueries=t.appSettings.IGNORE_SHARED_QUERIES,e.tabsData=e.tabs=y.get(f.TABS_STATE)||[m],e.$watchCollection("[currentQuery.inference, currentQuery.sameAs]",(function(e,t,n){b(n.currentQuery)})),e.$on("repositoryIsSet",q)}function b(t){!function(){if(i.isActiveRepoOntopType())return;const t=document.getElementById("sameAs");!t||e.currentQuery.inference||t.disabled?e.currentQuery.inference&&t.disabled&&(t.removeAttribute("disabled"),e.currentQuery.sameAs=T.appSettings.DEFAULT_SAMEAS):(t.disabled=!0,e.currentQuery.sameAs=!1)}(),e.tabs.forEach((function(n,r){n.id===t.id&&(e.tabs[r].query=t.query,i.isActiveRepoOntopType()||(e.tabs[r].inference=t.inference,e.tabs[r].sameAs=t.sameAs))})),y.set(f.TABS_STATE,e.tabs)}function C(t,n,r,i){const o=angular.element(document.getElementById("yasr-inner"));e.queryIsRunning=t,t?(e.queryStartTime=Date.now(),e.countTimeouted=!1,e.progressMessage=n,e.extraMessage=r,e.noLoaderTimer=i,o.addClass("hide")):(e.progressMessage="",e.extraMessage="",e.noLoaderTimer=!1,e.currentTrackAlias=null,e.abortRequested=!1,o.removeClass("hide")),null===e.$$phase&&e.$apply()}function S(n){function r(){return window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight||0}if(e.orientationViewMode){if("yasr"===e.viewMode){let e=r()-document.querySelector(".CodeMirror-wrap").getBoundingClientRect().top;e-=40,document.querySelector(".CodeMirror-wrap").style.height=e+"px"}else e.noPadding={},document.querySelector(".CodeMirror-wrap").style.height="";document.getElementById("yasr").style.minHeight=""}else if(e.noPadding={paddingRight:15,paddingLeft:0},window.editor&&document.querySelector(".CodeMirror-wrap")){let e=r()-document.querySelector(".CodeMirror-wrap").getBoundingClientRect().top;e-=40,document.querySelector(".CodeMirror-wrap").style.height=e+"px",document.getElementById("yasr").style.minHeight=e+"px"}else{let r;r=t(n?function(){e.fixSizesOnHorizontalViewModeSwitch(n)}:e.fixSizesOnHorizontalViewModeSwitch,100),e.$on("$destroy",(function(){t.cancel(r)}))}window.yasr&&window.yasr.container&&t((function(){window.yasr.container.resize()}),100)}function E(){S(!0)}function q(t,n){n.newRepo&&(e.tabsData=y.get(f.TABS_STATE),e.tabsData.forEach((function(e){e.yasrData=void 0,e.queryType=void 0,e.resultsCount=0,e.allResultsCount=0,e.sizeDelta=void 0})),y.set(f.TABS_STATE,e.tabsData),e.tabs=e.tabsData,e.currentQuery={},e.errorMessage=null,e.repositoryError=null)}function v(e){t((function(){$('a[data-id = "'+e+'"]').tab("show")}),0)}function Q(r,o){if(e.executedQueryTab=e.currentQuery,o){if("SELECT"!==window.editor.getQueryType()&&"CONSTRUCT"!==window.editor.getQueryType())return void n.warning(p.instant("query.editor.warning.msg"));if(i.isActiveRepoOntopType())return void n.warning(p.instant("query.editor.virtual.repo.warning.msg"))}if(e.explainRequested=o,!e.queryIsRunning){if(r?e.currentTabConfig.resultsCount=0:e.resetCurrentTabConfig(),e.lastRunQueryMode=window.editor.getQueryMode(),"update"===e.lastRunQueryMode&&i.isActiveRepoOntopType())return void n.warning(p.instant("query.editor.virtual.repo.update.warning.msg"));if(C(!0,"update"===e.lastRunQueryMode?"Executing update":"Evaluating query"),"none"!==e.viewMode){e.viewMode="none",e.orientationViewMode&&e.fixSizesOnHorizontalViewModeSwitch();const n=t(window.editor.query,500);e.$on("$destroy",(function(){t.cancel(n)}))}else window.editor.query()}}function M(){e.showSampleQueries=!e.showSampleQueries,e.showSampleQueries?s.getSavedQueries().success((function(t){e.sampleQueries=t,$("#sampleQueriesCollapse").collapse("show").width("300px")})).error((function(e){const t=getError(e);n.error(t,p.instant("query.editor.get.saved.queries.error"))})):$("#sampleQueriesCollapse").collapse("hide")}function A(t){let n=void 0;return e.tabsData.forEach((function(e){if(e.name===t.name&&e.query===t.body)return n=e.id,e})),n}function D(t){return function(n,r,i){e.savedQuery={name:n,query:r||window.editor.getValue(),shared:i},$(t).modal("show")}}function x(t){for(let n=0;n<e.tabsData.length;n++){if(e.tabsData[n].id===t)return n}}T?w(e,T):e.$on("securityInit",(function(e){T=d.getPrincipal(),w(e.currentScope,T)})),this.hint=document.createElement("span"),this.hint.innerHTML=p.instant("query.editor.autocomplete.hint"),this.hint.style.fontSize="12px",this.hint.style.color="gray",this.hint.style.backgroundColor="white",this.hint.style.position="absolute",this.hint.style.zIndex="3",this.hint.style.paddingLeft="12px",e.$watch((function(){return angular.element(".CodeMirror-hints").length}),e=>{if(e){const e=angular.element(".CodeMirror-hints")[0].getBoundingClientRect();document.body.appendChild(this.hint),this.hint.style.top=e.top-20+"px",this.hint.style.left=e.right-this.hint.offsetWidth-12+"px"}else this.hint&&this.hint.parentNode&&this.hint.parentNode.removeChild(this.hint)}),e.resetCurrentTabConfig=function(){e.currentTabConfig={pageSize:1e3,page:1,allResultsCount:0,resultsCount:0}},e.queryExists=!1,e.resetCurrentTabConfig(),e.saveTab=function(t){const n=x(t);if(void 0===n)return{};const r=e.tabsData[n];return e.saveQueryToLocal(r),r},e.loadTab=function(n){e.tabsData=y.get(f.TABS_STATE)||[m];const r=x(n),o=e.tabsData[r];o.yasrData&&C(!0,p.instant("query.editor.render.results.msg"),null,!0);t((function(){""===e.currentQuery.query&&(e.currentQuery.query=" "),t((function(){window.editor.setValue(e.currentQuery.query),e.yasr.updateDownloadDropdown(),e.$broadcast("tabLoaded",e.currentQuery.id),e.yasr.options.output=o.outputType,o.yasrData&&(o.yasrData.customError?(e.yasr.results={getException:function(){return o.yasrData.customError}},C(!1)):t((function(){e.setYasrResponse(o.yasrData,o.textStatus,o.jqXhrOrErrorString),C(!1),$(".yasr_btnGroup li:nth-child(2)").hasClass("active")&&t((function(){$(".yasr_btnGroup li:nth-child(2) a").get(0).click()}),0)}),0))}),0)}),0),y.set(f.TABS_STATE_CURRENT_ID,n),e.currentQuery=o,t((function(){e.currentTabConfig={},e.currentTabConfig.queryType=o.queryType,e.currentTabConfig.resultsCount=o.resultsCount,e.currentTabConfig.offset=o.offset,e.currentTabConfig.allResultsCount=o.allResultsCount,e.currentTabConfig.allResultsCountExact=o.allResultsCountExact,e.currentTabConfig.page=o.page,e.currentTabConfig.pageSize=o.pageSize,e.currentTabConfig.timeFinished=o.timeFinished,e.currentTabConfig.timeTook=o.timeTook,e.currentTabConfig.sizeDelta=o.sizeDelta,e.currentTabConfig.customUpdateMessage=o.customUpdateMessage,e.currentTabConfig.errorMessage=o.errorMessage,e.currentTabConfig.warningMessage=o.warningMessage,e.$apply()}),0),$("#yasr").css("padding","0"),h||(h=setInterval(z,200));!function(){const t=i.isActiveRepoOntopType(),n=i.isActiveRepoFedXType();(function(e){const t=document.getElementById("sameAs"),n=document.getElementById("inference");t&&(t.disabled=!!e);n&&(n.disabled=!!e)})(t),e.nocount=!(!t&&!n)||!T.appSettings.EXECUTE_COUNT,t&&(e.currentQuery.inference=!0,e.currentQuery.sameAs=!0)}()},e.addNewTab=function(n,r,i){if(!I(!0))return;let o;o=r||i?{id:"1",name:r,query:i,inference:T.appSettings.DEFAULT_INFERENCE,sameAs:T.appSettings.DEFAULT_SAMEAS}:{id:"1",name:"",query:"select * where { \n\t?s ?p ?o .\n} limit 100 \n",inference:T.appSettings.DEFAULT_INFERENCE,sameAs:T.appSettings.DEFAULT_SAMEAS};R++;const a=""+R;e.tabsData=e.tabs;const s=o;s.id=a,e.tabsData.push(s),y.set(f.TABS_STATE_MAXID,R),y.set(f.TABS_STATE,e.tabsData);const u=Array.prototype.slice.call(arguments,1);t((function(){e.$apply(),v(a),n&&n.apply(this,u)}),0),e.tabs=e.tabsData},e.isTabChangeOk=I,e.runQuery=Q,e.abortCurrentQuery=function(){g.abortQueryByAlias(e.currentTrackAlias).success((function(){e.abortRequested=!0}))},e.editQuery=function(t){o.open({templateUrl:"js/angular/core/directives/queryeditor/templates/query-sample.html",controller:"QuerySampleModalCtrl",resolve:{data:function(){return{title:p.instant("query.editor.edit.saved.query",{name:t.name}),query:t,edit:!0,okButtonText:p.instant("common.save.btn")}}}}).result.then((function(r){const i={name:r.name,body:r.body,shared:r.shared};t.name!==r.name?s.addNewSavedQuery(i).success((function(){e.deleteQueryHttp(t.name,!0)})).error((function(e){const t=getError(e);n.error(t,p.instant("query.editor.edit.saved.query.error"))})):s.editSavedQuery(i).success((function(){$("#editQueryContainer").modal("hide"),e.toggleSampleQueries(),n.success(p.instant("query.editor.edit.saved.query.success.msg",{name:t.name}))})).error((function(e){const t=getError(e);n.error(t,p.instant("query.editor.edit.saved.query.error"))}))}))},e.getNamespaces=function(){C(!0,p.instant("common.refreshing.namespaces"),p.instant("common.extra.message")),e.namespacesLoading=!0,l.getRepositoryNamespaces().success((function(t){const n={};t.results.bindings.forEach((function(e){n[e.prefix.value]=e.namespace.value})),e.namespaces=n})).error((function(t){e.repositoryError=getError(t)})).finally((function(){C(!1),e.namespacesLoading=!1}))},e.changePagination=function(){Q(!0,e.explainRequested)},e.toggleSampleQueries=M,e.addKnownPrefixes=function(){s.addKnownPrefixes(JSON.stringify(window.editor.getValue())).success((function(e){angular.isDefined(window.editor)&&angular.isDefined(e)&&e!==window.editor.getValue()&&window.editor.setValue(e)})).error((function(e){const t=getError(e);return n.error(t,p.instant("common.add.known.prefixes.error")),!0}))},e.getExistingTabId=A,e.querySelected=function(t){const n=A(t);e.toggleSampleQueries(),e.isTabChangeOk(!1)&&(e.highlightNextTabChange=!0,angular.isDefined(n)?v(n):e.addNewTab(null,t.name,t.body))},e.deleteQuery=function(t){a.openSimpleModal({title:p.instant("common.confirm"),message:p.instant("query.editor.delete.saved.query.warning.msg",{savedQueryName:t}),warning:!0}).result.then((function(){e.deleteQueryHttp(t)}))},e.deleteQueryHttp=function(t,r){s.deleteSavedQuery(t).success((function(){e.toggleSampleQueries(),r||n.success(p.instant("query.editor.delete.saved.query.success.msg",{savedQueryName:t}))})).error((function(e){const t=getError(e);n.error(t,p.instant("query.editor.delete.saved.query.error"))}))},e.saveQuery=function(t,n){o.open({templateUrl:"js/angular/core/directives/queryeditor/templates/query-sample.html",controller:"QuerySampleModalCtrl",resolve:{data:function(){return{title:p.instant("query.editor.create.saved.query.msg"),query:{name:t.name,body:t.query,shared:t.shared},edit:!1,okButtonText:p.instant("common.create.btn"),queryExists:n,existingQueryErrMsg:Object(r.decodeHTML)(p.instant("query.sample.existing.query.warning",{name:t.name}))}}}}).result.then((function(t){e.saveQueryHttp(t)}),(function(){}))},e.saveQueryHttp=function(t){s.addNewSavedQuery(t).success((function(){n.success(p.instant("query.editor.save.saved.query.success.msg",{name:t.name}))})).error((function(r){let i=getError(r);if(n.error(i,p.instant("query.editor.create.saved.query.error")),i="Query '"+t.name+"' already exists!"){t.query=t.body;const n=!0;e.saveQuery(t,n)}}))},e.saveQueryToLocal=b,e.setLoader=C,e.getLoaderMessage=function(){const t=(Date.now()-e.queryStartTime)/1e3;let n="",r="";e.noLoaderTimer||(n=e.getHumanReadableSeconds(t));r=e.progressMessage?p.instant("query.editor.progress.msg",{progressMessage:e.progressMessage,timeHuman:n}):p.instant("common.running.operation",{timeHuman:n});e.extraMessage&&t>10&&(r+=p.instant("query.editor.extra.msg",{extraMessage:e.extraMessage}));return r},e.fixSizesOnHorizontalViewModeSwitch=S,e.changeViewMode=function(){e.viewMode="none",e.orientationViewMode=!e.orientationViewMode,y.set(f.VIEW_MODE,e.orientationViewMode),S()},e.showHideEditor=E,e.focusQueryEditor=function(){angular.element(document).find(".editable-input").is(":focus")||angular.element(document).find(".CodeMirror textarea:first-child").focus()},e.orientationViewMode=!y.get(f.VIEW_MODE)||"true"===y.get(f.VIEW_MODE),e.viewMode="none",e.getActiveRepository=function(){return i.getActiveRepository()},e.getActiveRepositoryNoError=function(){if(!e.repositoryError)return i.getActiveRepository()},e.orientationViewMode||E(),window.onbeforeunload=function(){e.currentQuery&&e.saveTab(e.currentQuery.id),y.set(f.TABS_STATE,e.tabs)},e.$on("$destroy",(function(){e.currentQuery&&e.saveTab(e.currentQuery.id),y.set(f.TABS_STATE,e.tabs),clearInterval(h)})),e.$on("$destroy",(function(){clearInterval(h),window.editor=null,window.yasr=null})),$(document).mouseup((function(t){const n=$("#sampleQueriesCollapse");!n.is(t.target)&&0===n.has(t.target).length&&e.showSampleQueries&&M()}));let R=y.get(f.TABS_STATE_MAXID)||1;function _(e){return $(e).attr("data-id")}function z(){if(e.currentTabConfig.resultsCount>=0){const e=$(".saveAsDropDown");e.length>0&&!window.editor.queryValid?yasr.header.find(".saveAsDropDown").remove():0===e.length&&window.editor.queryValid&&yasr.updateDownloadDropdown()}}function I(t){return!(e.queryIsRunning&&!e.namespacesLoading)||(t?n.info(p.instant("query.editor.new.tab.running.query.warning.msg")):n.info(p.instant("query.editor.tab.switching.running.query.warning.msg")),!1)}e.highlightNextTabChange=!1,e.$on("tabAction",(function(n,r){r.relatedTarget&&(t.cancel(r.relatedTarget.timer),$(r.relatedTarget).css("color",""),e.saveTab(_(r.relatedTarget))),e.loadTab(_(r.target));const i=["#ED4F2F","","#ED4F2F"],o=[400,400,400];if(e.highlightNextTabChange){e.highlightNextTabChange=!1;let n=0;$(r.target).css("color",i[n]);const a=function(){n++,n<i.length?($(r.target).css("color",i[n]),r.target.timer=t(a,o[n])):$(r.target).css("color","")};t(a,o[n])}})),e.$on("deleteAllexeptSelected",(function(t,n){e.tabsData=n,e.tabs=n})),e.currentQuery={},e.showSampleQueries=!1,e.savedQuery={},e.sampleQueries={},e.editQueryModal=D("#editQueryContainer"),e.deleteQueryModal=D("#confirmDeleteContainer"),e.saveQueryModal=D("#saveQueryContainer"),e.getResultsDescription=function(){let t;if(0===e.currentTabConfig.resultsCount)t="No results.";else{const n=(e.currentTabConfig.page-1)*e.currentTabConfig.pageSize+Math.min(e.currentTabConfig.resultsCount,e.currentTabConfig.pageSize);t=p.instant("query.editor.showing.results.from.msg")+u("currency")(e.currentTabConfig.offset,"",0)+p.instant("query.editor.to")+u("currency")(n,"",0),e.currentTabConfig.allResultsCount>0&&(t+=p.instant(e.currentTabConfig.allResultsCountExact?"query.editor.of":"query.editor.of.at.least"),t+=u("currency")(e.currentTabConfig.allResultsCount,"",0)),t+="."}return t},e.getUpdateDescription=function(){return e.currentTabConfig.customUpdateMessage?e.currentTabConfig.customUpdateMessage:void 0===e.currentTabConfig.sizeDelta?"":e.currentTabConfig.sizeDelta<0?p.instant("yasr.removed.statements.result.msg",{sizeDelta:Math.abs(e.currentTabConfig.sizeDelta)}):e.currentTabConfig.sizeDelta>0?p.instant("yasr.added.statements.result.msg",{sizeDelta:e.currentTabConfig.sizeDelta}):p.instant("yasr.statements.no.change.msg")},e.getStaleWarningMessage=function(){const t=60*Math.round((Date.now()-e.currentTabConfig.timeFinished)/6e4);if(t>=3600)return p.instant("yasr.stale.result.msg",{secondsAgo:e.getHumanReadableSeconds(t)})};const N=function(){};angular.element(c).bind("resize",N),e.$on("$destroy",(function(){angular.element(c).unbind("resize",N)}))}function o(e,t,n,r){n.queryExists&&(e.queryExists=!0),e.query=angular.copy(n.query),e.title=n.title,e.edit=n.edit,e.okButtonText=n.okButtonText,e.existingQueryErrMsg=r.trustAsHtml(n.existingQueryErrMsg),e.ok=function(){e.form.$valid&&t.close(e.query)},e.cancel=function(){t.dismiss("cancel")}}angular.module("graphdb.framework.core.directives.queryeditor.controllers",["graphdb.framework.utils.localstorageadapter","graphdb.framework.rest.sparql.service"]).controller("QueryEditorCtrl",i).controller("QuerySampleModalCtrl",o),i.$inject=["$scope","$timeout","toastr","$repositories","$modal","ModalService","SparqlRestService","$filter","$window","$jwtAuth","RDF4JRepositoriesRestService","MonitoringRestService","LocalStorageAdapter","LSKeys","$translate"],o.$inject=["$scope","$modalInstance","data","$sce"]}}]);
|
|
2
|
-
//# sourceMappingURL=49.74a24e08097ef1f6fcd2.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///./src/js/angular/core/directives/queryeditor/query-editor.controller.js"],"names":["QueryEditorCtrl","$scope","$timeout","toastr","$repositories","$modal","ModalService","SparqlRestService","$filter","$window","$jwtAuth","RDF4JRepositoriesRestService","MonitoringRestService","LocalStorageAdapter","LSKeys","$translate","defaultTabConfig","id","name","query","inference","sameAs","checkQueryIntervalId","principal","getPrincipal","initTabs","scope","appSettings","DEFAULT_INFERENCE","DEFAULT_SAMEAS","skipCountQuery","EXECUTE_COUNT","ignoreSharedQueries","IGNORE_SHARED_QUERIES","tabsData","tabs","get","TABS_STATE","$watchCollection","newVal","oldVal","saveQueryToLocal","currentQuery","$on","deleteCachedSparqlResults","currentQueryTab","isActiveRepoOntopType","sameAsBtn","document","getElementById","disabled","removeAttribute","shouldDisableSameAs","forEach","tab","index","set","setLoader","isRunning","progressMessage","extraMessage","noTimer","yasrInnerContainer","angular","element","queryIsRunning","queryStartTime","Date","now","countTimeouted","noLoaderTimer","addClass","currentTrackAlias","abortRequested","removeClass","$$phase","$apply","fixSizesOnHorizontalViewModeSwitch","verticalView","visibleWindowHeight","window","innerHeight","documentElement","clientHeight","body","orientationViewMode","viewMode","newHeight","querySelector","getBoundingClientRect","style","height","noPadding","minHeight","paddingRight","paddingLeft","editor","timer","cancel","yasr","container","resize","showHideEditor","foo","params","newRepo","item","yasrData","undefined","queryType","resultsCount","allResultsCount","sizeDelta","errorMessage","repositoryError","selectTab","$","runQuery","changePage","explain","executedQueryTab","getQueryType","warning","instant","explainRequested","currentTabConfig","resetCurrentTabConfig","lastRunQueryMode","getQueryMode","toggleSampleQueries","showSampleQueries","getSavedQueries","success","data","sampleQueries","collapse","width","error","msg","getError","getExistingTabId","existingTabId","showModal","modalSelector","shared","savedQuery","getValue","modal","findTabIndexByID","i","length","currentScope","this","hint","createElement","innerHTML","fontSize","color","backgroundColor","position","zIndex","$watch","newValue","elRect","appendChild","top","left","right","offsetWidth","parentNode","removeChild","pageSize","page","queryExists","saveTab","idx","loadTab","setValue","updateDownloadDropdown","$broadcast","options","output","outputType","customError","results","getException","setYasrResponse","textStatus","jqXhrOrErrorString","hasClass","click","TABS_STATE_CURRENT_ID","offset","allResultsCountExact","timeFinished","timeTook","customUpdateMessage","warningMessage","css","setInterval","showOrHideSaveAsDropDown","isOntop","isFedX","isActiveRepoFedXType","inferenceBtn","handleSameAsAndInferenceBtns","nocount","overrideSameAsInferenceAndNoCountIfNeeded","addNewTab","callback","tabName","isTabChangeOk","maxID","newID","newTab","push","TABS_STATE_MAXID","callbackArgs","Array","prototype","slice","call","arguments","apply","abortCurrentQuery","abortQueryByAlias","editQuery","open","templateUrl","controller","resolve","title","edit","okButtonText","result","then","queryModal","addNewSavedQuery","deleteQueryHttp","editSavedQuery","getNamespaces","namespacesLoading","getRepositoryNamespaces","usedPrefixes","bindings","e","prefix","value","namespace","namespaces","finally","changePagination","addKnownPrefixes","JSON","stringify","isDefined","querySelected","tabId","highlightNextTabChange","deleteQuery","savedQueryName","openSimpleModal","message","deleteSavedQuery","saveQuery","existingQueryErrMsg","saveQueryHttp","getLoaderMessage","timeSeconds","timeHuman","getHumanReadableSeconds","changeViewMode","VIEW_MODE","focusQueryEditor","find","is","focus","getActiveRepository","getActiveRepositoryNoError","onbeforeunload","clearInterval","mouseup","event","target","has","getQueryID","attr","$saveAsDropDown","queryValid","header","remove","isNew","info","tabEvent","relatedTarget","colors","times","highlightFun","editQueryModal","deleteQueryModal","saveQueryModal","getResultsDescription","desc","currentPageEnd","Math","min","getUpdateDescription","abs","getStaleWarningMessage","secondsAgo","round","bind","unbind","QuerySampleModalCtrl","$modalInstance","$sce","copy","trustAsHtml","ok","form","$valid","close","dismiss","module","$inject"],"mappings":"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","file":"49.74a24e08097ef1f6fcd2.bundle.js","sourcesContent":["import 'angular/utils/local-storage-adapter';\nimport 'angular/rest/sparql.rest.service';\nimport {decodeHTML} from \"../../../../../app\";\n\nangular\n .module('graphdb.framework.core.directives.queryeditor.controllers', [\n 'graphdb.framework.utils.localstorageadapter',\n 'graphdb.framework.rest.sparql.service'\n ])\n .controller('QueryEditorCtrl', QueryEditorCtrl)\n .controller('QuerySampleModalCtrl', QuerySampleModalCtrl);\n\nQueryEditorCtrl.$inject = ['$scope', '$timeout', 'toastr', '$repositories', '$modal', 'ModalService', 'SparqlRestService', '$filter', '$window', '$jwtAuth', 'RDF4JRepositoriesRestService', 'MonitoringRestService', 'LocalStorageAdapter', 'LSKeys', '$translate'];\n\nfunction QueryEditorCtrl($scope, $timeout, toastr, $repositories, $modal, ModalService, SparqlRestService, $filter, $window, $jwtAuth, RDF4JRepositoriesRestService, MonitoringRestService, LocalStorageAdapter, LSKeys, $translate) {\n const defaultTabConfig = {\n id: \"1\",\n name: '',\n query: 'select * where { \\n' +\n '\\t?s ?p ?o .\\n' +\n '} limit 100 \\n',\n inference: true,\n sameAs: true\n };\n\n let principal = $jwtAuth.getPrincipal();\n let checkQueryIntervalId;\n if (principal) {\n initTabs($scope, principal);\n // principal is not yet set, wait for its initialization\n } else {\n $scope.$on('securityInit', function (scope) {\n principal = $jwtAuth.getPrincipal();\n initTabs(scope.currentScope, principal);\n });\n }\n\n function initTabs(scope, principal) {\n defaultTabConfig.inference = principal.appSettings.DEFAULT_INFERENCE;\n defaultTabConfig.sameAs = principal.appSettings.DEFAULT_SAMEAS;\n\n scope.skipCountQuery = !principal.appSettings.EXECUTE_COUNT;\n scope.ignoreSharedQueries = principal.appSettings.IGNORE_SHARED_QUERIES;\n scope.tabsData = scope.tabs = LocalStorageAdapter.get(LSKeys.TABS_STATE) || [defaultTabConfig];\n\n scope.$watchCollection('[currentQuery.inference, currentQuery.sameAs]', function (newVal, oldVal, scope) {\n saveQueryToLocal(scope.currentQuery);\n });\n\n scope.$on('repositoryIsSet', deleteCachedSparqlResults);\n }\n\n this.hint = document.createElement(\"span\");\n this.hint.innerHTML = $translate.instant('query.editor.autocomplete.hint');\n this.hint.style.fontSize = \"12px\";\n this.hint.style.color = \"gray\";\n this.hint.style.backgroundColor = \"white\";\n this.hint.style.position = \"absolute\";\n this.hint.style.zIndex = \"3\";\n this.hint.style.paddingLeft = 12 + \"px\";\n\n $scope.$watch(function() {\n return angular.element('.CodeMirror-hints').length;\n }, (newValue) => {\n if (newValue) {\n const elRect = angular.element('.CodeMirror-hints')[0].getBoundingClientRect();\n document.body.appendChild(this.hint);\n this.hint.style.top = elRect.top - 20 + \"px\";\n this.hint.style.left = elRect.right - this.hint.offsetWidth - 12 + \"px\";\n } else {\n this.hint && this.hint.parentNode && this.hint.parentNode.removeChild(this.hint);\n }\n });\n\n $scope.resetCurrentTabConfig = function () {\n $scope.currentTabConfig = {\n pageSize: 1000,\n page: 1,\n allResultsCount: 0,\n resultsCount: 0\n };\n };\n\n $scope.queryExists = false;\n\n $scope.resetCurrentTabConfig();\n\n // query tab operations\n $scope.saveTab = saveTab;\n $scope.loadTab = loadTab;\n $scope.addNewTab = addNewTab;\n $scope.isTabChangeOk = isTabChangeOk;\n\n // query operations\n $scope.runQuery = runQuery;\n $scope.abortCurrentQuery = abortCurrentQuery;\n $scope.editQuery = editQuery;\n $scope.getNamespaces = getNamespaces;\n $scope.changePagination = changePagination;\n $scope.toggleSampleQueries = toggleSampleQueries;\n $scope.addKnownPrefixes = addKnownPrefixes;\n $scope.getExistingTabId = getExistingTabId;\n $scope.querySelected = querySelected;\n $scope.deleteQuery = deleteQuery;\n $scope.deleteQueryHttp = deleteQueryHttp;\n $scope.saveQuery = saveQuery;\n $scope.saveQueryHttp = saveQueryHttp;\n $scope.saveQueryToLocal = saveQueryToLocal;\n\n $scope.setLoader = setLoader;\n $scope.getLoaderMessage = getLoaderMessage;\n\n // query editor and results orientation\n $scope.fixSizesOnHorizontalViewModeSwitch = fixSizesOnHorizontalViewModeSwitch;\n $scope.changeViewMode = changeViewMode;\n $scope.showHideEditor = showHideEditor;\n $scope.focusQueryEditor = focusQueryEditor;\n $scope.orientationViewMode = LocalStorageAdapter.get(LSKeys.VIEW_MODE) ? LocalStorageAdapter.get(LSKeys.VIEW_MODE) === \"true\" : true;\n $scope.viewMode = 'none';\n\n // start of repository actions\n // FIXME: do we need this??\n // $scope.getActiveRepository();\n $scope.getActiveRepository = function () {\n // same as getActiveRepository() but takes into account repo errors\n return $repositories.getActiveRepository();\n };\n\n $scope.getActiveRepositoryNoError = function () {\n if (!$scope.repositoryError) {\n return $repositories.getActiveRepository();\n }\n };\n\n function saveQueryToLocal(currentQueryTab) {\n shouldDisableSameAs();\n $scope.tabs.forEach(function (tab, index) {\n if (tab.id === currentQueryTab.id) {\n $scope.tabs[index].query = currentQueryTab.query;\n // Don't store inference and sameAs values for Ontop repository,\n // because they are overridden afterwards to true\n if (!$repositories.isActiveRepoOntopType()) {\n $scope.tabs[index].inference = currentQueryTab.inference;\n $scope.tabs[index].sameAs = currentQueryTab.sameAs;\n }\n }\n });\n LocalStorageAdapter.set(LSKeys.TABS_STATE, $scope.tabs);\n }\n\n function setLoader(isRunning, progressMessage, extraMessage, noTimer) {\n const yasrInnerContainer = angular.element(document.getElementById(\"yasr-inner\"));\n $scope.queryIsRunning = isRunning;\n if (isRunning) {\n $scope.queryStartTime = Date.now();\n $scope.countTimeouted = false;\n $scope.progressMessage = progressMessage;\n $scope.extraMessage = extraMessage;\n $scope.noLoaderTimer = noTimer;\n yasrInnerContainer.addClass(\"hide\");\n } else {\n $scope.progressMessage = \"\";\n $scope.extraMessage = \"\";\n $scope.noLoaderTimer = false;\n $scope.currentTrackAlias = null;\n $scope.abortRequested = false;\n yasrInnerContainer.removeClass(\"hide\");\n }\n // We might call this from angular or outside angular so take care of applying the scope.\n if ($scope.$$phase === null) {\n $scope.$apply();\n }\n }\n\n function getLoaderMessage() {\n const timeSeconds = (Date.now() - $scope.queryStartTime) / 1000;\n let timeHuman = \"\";\n let message = \"\";\n\n if (!$scope.noLoaderTimer) {\n timeHuman = $scope.getHumanReadableSeconds(timeSeconds);\n }\n\n if ($scope.progressMessage) {\n message = $translate.instant('query.editor.progress.msg', {progressMessage: $scope.progressMessage, timeHuman: timeHuman});\n } else {\n message = $translate.instant('common.running.operation', {timeHuman: timeHuman});\n }\n if ($scope.extraMessage && timeSeconds > 10) {\n message += $translate.instant('query.editor.extra.msg', {extraMessage: $scope.extraMessage});\n }\n\n return message;\n }\n\n // start of query editor results orientation operations\n function fixSizesOnHorizontalViewModeSwitch(verticalView) {\n function visibleWindowHeight() {\n return window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight || 0;\n }\n\n if (!$scope.orientationViewMode) {\n $scope.noPadding = {paddingRight: 15, paddingLeft: 0};\n\n // window.editor is undefined if no repo is selected\n if (window.editor && document.querySelector('.CodeMirror-wrap')) {\n let newHeight = visibleWindowHeight() - (document.querySelector('.CodeMirror-wrap').getBoundingClientRect().top);\n newHeight -= 40;\n document.querySelector('.CodeMirror-wrap').style.height = newHeight + 'px';\n document.getElementById('yasr').style.minHeight = newHeight + 'px';\n //window.editor.refresh();\n } else {\n let timer;\n if (verticalView) {\n timer = $timeout(function () {\n $scope.fixSizesOnHorizontalViewModeSwitch(verticalView);\n }, 100);\n } else {\n timer = $timeout($scope.fixSizesOnHorizontalViewModeSwitch, 100);\n }\n\n $scope.$on(\"$destroy\", function () {\n $timeout.cancel(timer);\n });\n }\n } else {\n if ($scope.viewMode === 'yasr') {\n let newHeight = visibleWindowHeight() - (document.querySelector('.CodeMirror-wrap').getBoundingClientRect().top);\n newHeight -= 40;\n document.querySelector('.CodeMirror-wrap').style.height = newHeight + 'px';\n //window.editor.refresh();\n } else {\n $scope.noPadding = {};\n document.querySelector('.CodeMirror-wrap').style.height = '';\n //window.editor.refresh();\n }\n document.getElementById('yasr').style.minHeight = '';\n }\n if (window.yasr && window.yasr.container) {\n $timeout(function () {\n window.yasr.container.resize();\n }, 100);\n }\n }\n\n if (!$scope.orientationViewMode) {\n showHideEditor();\n }\n\n function changeViewMode() {\n $scope.viewMode = 'none';\n $scope.orientationViewMode = !$scope.orientationViewMode;\n LocalStorageAdapter.set(LSKeys.VIEW_MODE, $scope.orientationViewMode);\n fixSizesOnHorizontalViewModeSwitch();\n }\n\n function showHideEditor() {\n fixSizesOnHorizontalViewModeSwitch(true);\n }\n\n function focusQueryEditor() {\n if (!angular.element(document).find('.editable-input').is(\":focus\")) {\n angular.element(document).find('.CodeMirror textarea:first-child').focus();\n }\n }\n\n // end of query editor results orientation operations\n\n function deleteCachedSparqlResults(foo, params) {\n if (params.newRepo) {\n $scope.tabsData = LocalStorageAdapter.get(LSKeys.TABS_STATE);\n $scope.tabsData.forEach(function (item) {\n item.yasrData = undefined;\n item.queryType = undefined;\n item.resultsCount = 0;\n item.allResultsCount = 0;\n item.sizeDelta = undefined;\n });\n\n LocalStorageAdapter.set(LSKeys.TABS_STATE, $scope.tabsData);\n $scope.tabs = $scope.tabsData;\n\n // The repository is changed. Remove error messages as well, if any\n $scope.currentQuery = {};\n $scope.errorMessage = null;\n $scope.repositoryError = null;\n }\n }\n\n function selectTab(id) {\n $timeout(function () {\n $('a[data-id = \"' + id + '\"]').tab('show');\n }, 0);\n }\n\n window.onbeforeunload = function () {\n if ($scope.currentQuery) {\n $scope.saveTab($scope.currentQuery.id);\n }\n LocalStorageAdapter.set(LSKeys.TABS_STATE, $scope.tabs);\n };\n\n $scope.$on('$destroy', function () {\n if ($scope.currentQuery) {\n $scope.saveTab($scope.currentQuery.id);\n }\n LocalStorageAdapter.set(LSKeys.TABS_STATE, $scope.tabs);\n clearInterval(checkQueryIntervalId);\n });\n\n // start of query operations\n function runQuery(changePage, explain) {\n $scope.executedQueryTab = $scope.currentQuery ;\n if (explain) {\n if (!(window.editor.getQueryType() === 'SELECT' || window.editor.getQueryType() === 'CONSTRUCT')) {\n toastr.warning($translate.instant('query.editor.warning.msg'));\n return;\n }\n\n if ($repositories.isActiveRepoOntopType()) {\n toastr.warning($translate.instant('query.editor.virtual.repo.warning.msg'));\n return;\n }\n }\n\n $scope.explainRequested = explain;\n if (!$scope.queryIsRunning) {\n if (changePage) {\n $scope.currentTabConfig.resultsCount = 0;\n } else {\n $scope.resetCurrentTabConfig();\n }\n\n $scope.lastRunQueryMode = window.editor.getQueryMode();\n\n if ($scope.lastRunQueryMode === 'update' && $repositories.isActiveRepoOntopType()) {\n toastr.warning($translate.instant('query.editor.virtual.repo.update.warning.msg'));\n return;\n }\n\n setLoader(true, $scope.lastRunQueryMode === 'update' ? 'Executing update' : 'Evaluating query');\n if ($scope.viewMode !== 'none') {\n $scope.viewMode = 'none';\n if ($scope.orientationViewMode) {\n $scope.fixSizesOnHorizontalViewModeSwitch();\n }\n const timer = $timeout(window.editor.query, 500);\n $scope.$on('$destroy', function () {\n $timeout.cancel(timer);\n });\n } else {\n window.editor.query();\n }\n }\n }\n\n function abortCurrentQuery() {\n MonitoringRestService.abortQueryByAlias($scope.currentTrackAlias)\n .success(function () {\n $scope.abortRequested = true;\n });\n }\n\n function getNamespaces() {\n // Signals the namespaces are to be fetched => loader will be shown\n setLoader(true, $translate.instant('common.refreshing.namespaces'), $translate.instant('common.extra.message'));\n $scope.namespacesLoading = true;\n\n RDF4JRepositoriesRestService.getRepositoryNamespaces()\n .success(function (data) {\n const usedPrefixes = {};\n data.results.bindings.forEach(function (e) {\n usedPrefixes[e.prefix.value] = e.namespace.value;\n });\n $scope.namespaces = usedPrefixes;\n })\n .error(function (data) {\n $scope.repositoryError = getError(data);\n })\n .finally(function () {\n // Signals namespaces were fetched => loader will be hidden\n setLoader(false);\n $scope.namespacesLoading = false;\n });\n }\n\n function changePagination() {\n runQuery(true, $scope.explainRequested);\n }\n\n $scope.$on(\"$destroy\", function () {\n clearInterval(checkQueryIntervalId);\n window.editor = null;\n window.yasr = null;\n });\n\n function toggleSampleQueries() {\n $scope.showSampleQueries = !$scope.showSampleQueries;\n if ($scope.showSampleQueries) {\n SparqlRestService.getSavedQueries()\n .success(function (data) {\n $scope.sampleQueries = data;\n $('#sampleQueriesCollapse').collapse('show').width('300px');\n })\n .error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('query.editor.get.saved.queries.error'));\n });\n } else {\n $('#sampleQueriesCollapse').collapse('hide');\n }\n }\n\n // Hide the sample queries when the user clicks somewhere else in the UI.\n $(document).mouseup(function (event) {\n const container = $('#sampleQueriesCollapse');\n if (!container.is(event.target) // if the target of the click isn't the container..\n && container.has(event.target).length === 0 //... nor a descendant of the container\n && $scope.showSampleQueries) {\n toggleSampleQueries();\n }\n });\n\n // Add known prefixes\n function addKnownPrefixes() {\n SparqlRestService.addKnownPrefixes(JSON.stringify(window.editor.getValue()))\n .success(function (data) {\n if (angular.isDefined(window.editor) && angular.isDefined(data) && data !== window.editor.getValue()) {\n window.editor.setValue(data);\n }\n })\n .error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.add.known.prefixes.error'));\n return true;\n });\n }\n\n function querySelected(query) {\n const tabId = getExistingTabId(query);\n $scope.toggleSampleQueries();\n\n if ($scope.isTabChangeOk(false)) {\n $scope.highlightNextTabChange = true;\n if (!angular.isDefined(tabId)) {\n $scope.addNewTab(null, query.name, query.body);\n } else {\n selectTab(tabId);\n }\n }\n }\n\n function getExistingTabId(query) {\n let existingTabId = undefined;\n $scope.tabsData.forEach(function (item) {\n if (item.name === query.name && item.query === query.body) {\n existingTabId = item.id;\n return item;\n }\n });\n return existingTabId;\n }\n\n function editQuery(query) {\n const modalInstance = $modal.open({\n templateUrl: 'js/angular/core/directives/queryeditor/templates/query-sample.html',\n controller: 'QuerySampleModalCtrl',\n resolve: {\n data: function () {\n return {\n title: $translate.instant('query.editor.edit.saved.query', {name: query.name}),\n query: query,\n edit: true,\n okButtonText: $translate.instant('common.save.btn')\n };\n }\n }\n });\n\n modalInstance.result.then(function (queryModal) {\n const data = {\n name: queryModal.name,\n body: queryModal.body,\n shared: queryModal.shared\n };\n if (query.name !== queryModal.name) {\n SparqlRestService.addNewSavedQuery(data)\n .success(function () {\n $scope.deleteQueryHttp(query.name, true);\n })\n .error(function (error) {\n const msg = getError(error);\n toastr.error(msg, $translate.instant('query.editor.edit.saved.query.error'));\n });\n } else {\n SparqlRestService.editSavedQuery(data)\n .success(function () {\n $('#editQueryContainer').modal('hide');\n $scope.toggleSampleQueries();\n toastr.success($translate.instant('query.editor.edit.saved.query.success.msg', {name: query.name}));\n })\n .error(function (error) {\n const msg = getError(error);\n toastr.error(msg, $translate.instant('query.editor.edit.saved.query.error'));\n });\n }\n });\n }\n\n function deleteQueryHttp(savedQueryName, edit) {\n SparqlRestService.deleteSavedQuery(savedQueryName)\n .success(function () {\n $scope.toggleSampleQueries();\n if (!edit) {\n toastr.success($translate.instant('query.editor.delete.saved.query.success.msg', {savedQueryName: savedQueryName}));\n }\n })\n .error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('query.editor.delete.saved.query.error'));\n });\n }\n\n function deleteQuery(savedQueryName) {\n ModalService.openSimpleModal({\n title: $translate.instant('common.confirm'),\n message: $translate.instant('query.editor.delete.saved.query.warning.msg', {savedQueryName: savedQueryName}),\n warning: true\n }).result\n .then(function () {\n $scope.deleteQueryHttp(savedQueryName);\n });\n }\n\n function saveQueryHttp(query) {\n SparqlRestService.addNewSavedQuery(query)\n .success(function () {\n toastr.success($translate.instant('query.editor.save.saved.query.success.msg', {name: query.name}));\n })\n .error(function (data) {\n let msg = getError(data);\n toastr.error(msg, $translate.instant('query.editor.create.saved.query.error'));\n // TODO: This condition will always be true\n if (msg = \"Query '\" + query.name + \"' already exists!\") {\n query.query = query.body;\n const queryExists = true;\n $scope.saveQuery(query, queryExists);\n }\n });\n }\n\n function saveQuery(query, queryExists) {\n const modalInstance = $modal.open({\n templateUrl: 'js/angular/core/directives/queryeditor/templates/query-sample.html',\n controller: 'QuerySampleModalCtrl',\n resolve: {\n data: function () {\n return {\n title: $translate.instant('query.editor.create.saved.query.msg'),\n query: {name: query.name, body: query.query, shared: query.shared},\n edit: false,\n okButtonText: $translate.instant('common.create.btn'),\n queryExists: queryExists,\n existingQueryErrMsg: decodeHTML($translate.instant('query.sample.existing.query.warning', {name: query.name}))\n };\n }\n }\n });\n\n modalInstance.result.then(function (query) {\n $scope.saveQueryHttp(query);\n }, function () {\n });\n }\n\n // end of query operations\n\n function showModal(modalSelector) {\n return function (name, query, shared) {\n $scope.savedQuery = {\n name: name,\n query: query || window.editor.getValue(),\n shared: shared\n };\n $(modalSelector).modal('show');\n };\n }\n\n\n // start of query tab operations\n function findTabIndexByID(id) {\n for (let i = 0; i < $scope.tabsData.length; i++) {\n const tab = $scope.tabsData[i];\n if (tab.id === id) {\n return i;\n }\n }\n }\n\n function saveTab(id) {\n const idx = findTabIndexByID(id);\n // Tab was deleted, don't try to save it's state\n if (idx === undefined) {\n return {};\n }\n const tab = $scope.tabsData[idx];\n //tab.query = window.editor.getValue();\n $scope.saveQueryToLocal(tab);\n return tab;\n }\n\n let maxID = LocalStorageAdapter.get(LSKeys.TABS_STATE_MAXID) || 1;\n\n function addNewTab(callback, tabName, savedQuery) { // optional callback to call after tab has been added\n if (!isTabChangeOk(true)) {\n return;\n }\n let defaultTabConfig;\n if (tabName || savedQuery) {\n defaultTabConfig = {\n id: \"1\",\n name: tabName,\n query: savedQuery,\n inference: principal.appSettings.DEFAULT_INFERENCE,\n sameAs: principal.appSettings.DEFAULT_SAMEAS\n };\n } else {\n defaultTabConfig = {\n id: \"1\",\n name: '',\n query: 'select * where { \\n' +\n '\\t?s ?p ?o .\\n' +\n '} limit 100 \\n',\n inference: principal.appSettings.DEFAULT_INFERENCE,\n sameAs: principal.appSettings.DEFAULT_SAMEAS\n };\n }\n\n maxID++;\n const newID = '' + maxID;\n $scope.tabsData = $scope.tabs;\n\n const newTab = defaultTabConfig;\n newTab.id = newID;\n\n $scope.tabsData.push(newTab);\n\n LocalStorageAdapter.set(LSKeys.TABS_STATE_MAXID, maxID);\n LocalStorageAdapter.set(LSKeys.TABS_STATE, $scope.tabsData);\n const callbackArgs = Array.prototype.slice.call(arguments, 1); // skip one argument, i.e. the callback itself\n $timeout(function () {\n $scope.$apply();\n selectTab(newID);\n if (callback) {\n callback.apply(this, callbackArgs);\n }\n }, 0);\n $scope.tabs = $scope.tabsData;\n }\n\n function loadTab(id) {\n $scope.tabsData = LocalStorageAdapter.get(LSKeys.TABS_STATE) || [defaultTabConfig];\n\n // find available tab\n const idx = findTabIndexByID(id);\n const tab = $scope.tabsData[idx];\n\n if (tab.yasrData) {\n setLoader(true, $translate.instant('query.editor.render.results.msg'), null, true);\n }\n\n // set query in editor available on the current tab\n $timeout(function () {\n if ($scope.currentQuery.query === '') {\n $scope.currentQuery.query = \" \";\n }\n $timeout(function () {\n window.editor.setValue($scope.currentQuery.query);\n $scope.yasr.updateDownloadDropdown();\n $scope.$broadcast('tabLoaded', $scope.currentQuery.id);\n\n // set query results in query results sections after\n // previous query execution. Yasr response rendering depends on the\n // query type of window.editor!\n $scope.yasr.options.output = tab.outputType; // this may be undefined, that's fine!\n if (tab.yasrData) {\n if (tab.yasrData.customError) {\n // Our injected custom (not real HTTP) error\n $scope.yasr.results = {\n getException: function () {\n return tab.yasrData.customError;\n }\n };\n setLoader(false);\n } else {\n // Real YASR result\n $timeout(function () {\n $scope.setYasrResponse(tab.yasrData, tab.textStatus, tab.jqXhrOrErrorString);\n setLoader(false);\n if ($('.yasr_btnGroup li:nth-child(2)').hasClass(\"active\")) {\n $timeout(function () {\n $('.yasr_btnGroup li:nth-child(2) a').get(0).click();\n }, 0);\n }\n }, 0);\n }\n }\n }, 0);\n }, 0);\n\n\n // persist current tab id in local storage\n LocalStorageAdapter.set(LSKeys.TABS_STATE_CURRENT_ID, id);\n\n $scope.currentQuery = tab;\n\n $timeout(function () {\n $scope.currentTabConfig = {};\n $scope.currentTabConfig.queryType = tab.queryType;\n $scope.currentTabConfig.resultsCount = tab.resultsCount;\n\n $scope.currentTabConfig.offset = tab.offset;\n $scope.currentTabConfig.allResultsCount = tab.allResultsCount;\n $scope.currentTabConfig.allResultsCountExact = tab.allResultsCountExact;\n $scope.currentTabConfig.page = tab.page;\n $scope.currentTabConfig.pageSize = tab.pageSize;\n\n $scope.currentTabConfig.timeFinished = tab.timeFinished;\n $scope.currentTabConfig.timeTook = tab.timeTook;\n $scope.currentTabConfig.sizeDelta = tab.sizeDelta;\n $scope.currentTabConfig.customUpdateMessage = tab.customUpdateMessage;\n $scope.currentTabConfig.errorMessage = tab.errorMessage;\n $scope.currentTabConfig.warningMessage = tab.warningMessage;\n\n $scope.$apply();\n }, 0);\n\n //Remove paddign of yasr so it will be aligned with sparql editor\n $('#yasr').css('padding', '0');\n\n if (!checkQueryIntervalId) {\n checkQueryIntervalId = setInterval(showOrHideSaveAsDropDown, 200);\n }\n overrideSameAsInferenceAndNoCountIfNeeded();\n }\n\n function getQueryID(element) {\n return $(element).attr('data-id');\n }\n\n function showOrHideSaveAsDropDown() {\n // If selected tab has results and query in editor controller is invalid save as\n // dropdown menu will be removed and on fixing query latter will be added\n if ($scope.currentTabConfig.resultsCount >= 0) {\n const $saveAsDropDown = $('.saveAsDropDown');\n if ($saveAsDropDown.length > 0 && !window.editor.queryValid) {\n yasr.header.find('.saveAsDropDown').remove();\n } else if ($saveAsDropDown.length === 0 && window.editor.queryValid) {\n yasr.updateDownloadDropdown();\n }\n }\n }\n\n function isTabChangeOk(isNew) {\n if ($scope.queryIsRunning && !$scope.namespacesLoading) {\n if (isNew) {\n toastr.info($translate.instant('query.editor.new.tab.running.query.warning.msg'));\n } else {\n toastr.info($translate.instant('query.editor.tab.switching.running.query.warning.msg'));\n }\n\n return false;\n }\n\n return true;\n }\n\n // Raise this flag to provide visual feedback to the user the next time a tab changes\n // (either manually or by the system). See GDB-1983.\n $scope.highlightNextTabChange = false;\n $scope.$on('tabAction', function (e, tabEvent) {\n if (tabEvent.relatedTarget) {\n // Cancel any highlight timer that might have been left by the last highlight\n $timeout.cancel(tabEvent.relatedTarget.timer);\n $(tabEvent.relatedTarget).css('color', '');\n\n $scope.saveTab(getQueryID(tabEvent.relatedTarget));\n }\n\n $scope.loadTab(getQueryID(tabEvent.target));\n\n // These arrays define how the tab change will be visually enhanced.\n // colors contains the colors to set to the tab name,\n // while times defines the times in milliseconds to keep each color.\n // Once we cycle through the arrays we restore the default color.\n const colors = ['#ED4F2F', '', '#ED4F2F'];\n const times = [400, 400, 400];\n if ($scope.highlightNextTabChange) {\n $scope.highlightNextTabChange = false;\n let index = 0;\n $(tabEvent.target).css('color', colors[index]);\n const highlightFun = function () {\n index++;\n if (index < colors.length) {\n $(tabEvent.target).css('color', colors[index]);\n tabEvent.target.timer = $timeout(highlightFun, times[index]);\n } else {\n $(tabEvent.target).css('color', '');\n }\n };\n $timeout(highlightFun, times[index]);\n }\n });\n\n $scope.$on('deleteAllexeptSelected', function (e, tabs) {\n $scope.tabsData = tabs;\n $scope.tabs = tabs;\n });\n // end of query tab operations\n\n $scope.currentQuery = {};\n // $scope.state = {};\n $scope.showSampleQueries = false;\n $scope.savedQuery = {};\n $scope.sampleQueries = {};\n $scope.editQueryModal = showModal('#editQueryContainer');\n $scope.deleteQueryModal = showModal('#confirmDeleteContainer');\n $scope.saveQueryModal = showModal('#saveQueryContainer');\n\n $scope.getResultsDescription = function () {\n let desc;\n if ($scope.currentTabConfig.resultsCount === 0) {\n desc = \"No results.\";\n } else {\n const currentPageEnd = ($scope.currentTabConfig.page - 1) * $scope.currentTabConfig.pageSize\n + Math.min($scope.currentTabConfig.resultsCount, $scope.currentTabConfig.pageSize);\n desc = $translate.instant('query.editor.showing.results.from.msg') + $filter('currency')($scope.currentTabConfig.offset, '', 0)\n + $translate.instant('query.editor.to') + $filter('currency')(currentPageEnd, '', 0);\n if ($scope.currentTabConfig.allResultsCount > 0) {\n // Unsure total results count \"of at least\" happens if counting timed out or\n // counting was disabled and we got at least $pageSize + 1 results for the current page.\n // It may reset become exact when we navigate and reach the end of results.\n desc += $translate.instant(($scope.currentTabConfig.allResultsCountExact\n ? 'query.editor.of' : 'query.editor.of.at.least'));\n desc += $filter('currency')($scope.currentTabConfig.allResultsCount, '', 0);\n }\n desc += \".\";\n }\n\n return desc;\n };\n\n $scope.getUpdateDescription = function () {\n if ($scope.currentTabConfig.customUpdateMessage) {\n return $scope.currentTabConfig.customUpdateMessage;\n } else if ($scope.currentTabConfig.sizeDelta === undefined) {\n return '';\n } else if ($scope.currentTabConfig.sizeDelta < 0) {\n return $translate.instant('yasr.removed.statements.result.msg', {sizeDelta: Math.abs($scope.currentTabConfig.sizeDelta)});\n } else if ($scope.currentTabConfig.sizeDelta > 0) {\n return $translate.instant('yasr.added.statements.result.msg', {sizeDelta: $scope.currentTabConfig.sizeDelta});\n } else {\n return $translate.instant('yasr.statements.no.change.msg');\n }\n };\n\n $scope.getStaleWarningMessage = function () {\n const secondsAgo = Math.round((Date.now() - $scope.currentTabConfig.timeFinished) / 60000) * 60;\n if (secondsAgo >= 3600) { // must be at least an hour\n return $translate.instant('yasr.stale.result.msg', {secondsAgo: $scope.getHumanReadableSeconds(secondsAgo)});\n }\n };\n\n const resize = function () {\n // $scope.fixSizesOnHorizontalViewModeSwitch();\n };\n\n angular.element($window).bind('resize', resize);\n\n $scope.$on('$destroy', function () {\n angular.element($window).unbind('resize', resize);\n });\n\n /**\n * In case of Ontop repository, sameAs, inference and nocount are\n * overridden to true and #sameAs and #inference buttons are disabled, In case of FedX repo nocount is overridden\n */\n function overrideSameAsInferenceAndNoCountIfNeeded() {\n const isOntop = $repositories.isActiveRepoOntopType();\n const isFedX = $repositories.isActiveRepoFedXType();\n handleSameAsAndInferenceBtns(isOntop);\n\n $scope.nocount = (isOntop || isFedX) ? true : !principal.appSettings.EXECUTE_COUNT;\n if (isOntop) {\n $scope.currentQuery.inference = true;\n $scope.currentQuery.sameAs = true;\n }\n }\n\n function handleSameAsAndInferenceBtns(isOntop) {\n const sameAsBtn = document.getElementById('sameAs');\n const inferenceBtn = document.getElementById('inference');\n\n if (sameAsBtn) {\n sameAsBtn.disabled = !!isOntop;\n }\n\n if (inferenceBtn) {\n inferenceBtn.disabled = !!isOntop;\n }\n }\n\n // The sameAs is meaningless without inference.\n // Set its value to false and disable button\n function shouldDisableSameAs() {\n // don't try to override sameAs if repository is Ontop type\n if ($repositories.isActiveRepoOntopType()) {\n return;\n }\n const sameAsBtn = document.getElementById('sameAs');\n if (sameAsBtn && !$scope.currentQuery.inference && !sameAsBtn.disabled) {\n sameAsBtn.disabled = true;\n $scope.currentQuery.sameAs = false;\n } else if ($scope.currentQuery.inference && sameAsBtn.disabled) {\n sameAsBtn.removeAttribute('disabled');\n $scope.currentQuery.sameAs = principal.appSettings.DEFAULT_SAMEAS;\n }\n }\n}\n\nQuerySampleModalCtrl.$inject = ['$scope', '$modalInstance', 'data', '$sce'];\n\nfunction QuerySampleModalCtrl($scope, $modalInstance, data, $sce) {\n if (data.queryExists) {\n $scope.queryExists = true;\n }\n $scope.query = angular.copy(data.query);\n $scope.title = data.title;\n $scope.edit = data.edit;\n $scope.okButtonText = data.okButtonText;\n $scope.existingQueryErrMsg = $sce.trustAsHtml(data.existingQueryErrMsg);\n $scope.ok = function () {\n if ($scope.form.$valid) {\n $modalInstance.close($scope.query);\n }\n };\n\n $scope.cancel = function () {\n $modalInstance.dismiss('cancel');\n };\n}\n"],"sourceRoot":""}
|