graphdb-workbench 2.8.8 → 2.8.9-RC1
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/dist/{10.5ddeb0c3a1fe59eae189.bundle.js → 10.d8d48ce0ca42085e7864.bundle.js} +1 -1
- package/dist/100.bf4a4f519b81c43fafc1.bundle.js +1 -0
- package/dist/{100.39911dc242bc083427b5.bundle.js → 101.444ee8c4ad450a80c227.bundle.js} +1 -1
- package/dist/{101.3c81e5463ac7bd87920b.bundle.js → 102.ec42287cf6022b9eb02f.bundle.js} +1 -1
- package/dist/{102.fe653ba57ff2b81cdf07.bundle.js → 103.82c4dfa967a6f2407f11.bundle.js} +1 -1
- package/dist/{103.663db6e061c3509a1f78.bundle.js → 104.cb138bb3b878e001e32f.bundle.js} +1 -1
- package/dist/{104.5bde157512536df59792.bundle.js → 105.8c2014a729e3e29b78ae.bundle.js} +1 -1
- package/dist/{105.af4d75298548559a6b91.bundle.js → 106.4aa823fde540a06e4083.bundle.js} +1 -1
- package/dist/{106.1c526cd8378b98858e06.bundle.js → 107.09c059b73119d06600c0.bundle.js} +1 -1
- package/dist/{107.4bf934d8a7d093ea4cd6.bundle.js → 108.3c5b6b3268b21218a7a5.bundle.js} +1 -1
- package/dist/{108.8ea1a51acbd345907740.bundle.js → 109.57128c0d6212e0a46ad3.bundle.js} +1 -1
- package/dist/{109.a71df4aa4e00b47f5616.bundle.js → 110.af42819ef3cf70e39b25.bundle.js} +1 -1
- package/dist/{110.94d5a65ffa5d8891406f.bundle.js → 111.f548b124aab10b4b1c9e.bundle.js} +1 -1
- package/dist/{111.a8212d3445aa614f99d9.bundle.js → 112.f754348fe5d0086f677e.bundle.js} +1 -1
- package/dist/{112.393b01f7630bb30617c9.bundle.js → 113.d7c1a18d18713eece29a.bundle.js} +1 -1
- package/dist/{113.cbdf7d68d2471ced1ef4.bundle.js → 114.f719039be05fc7b214c5.bundle.js} +1 -1
- package/dist/{114.85465110c4fbd79849c7.bundle.js → 115.8dab67853260483ced85.bundle.js} +1 -1
- package/dist/{115.a6c405de2fe018cc6033.bundle.js → 116.ed2bb3fba38737cd21a2.bundle.js} +1 -1
- package/dist/{116.227e24944ca1c987460c.bundle.js → 117.8dc1a253f70f4727c027.bundle.js} +1 -1
- package/dist/{117.125beedc641ab53f511f.bundle.js → 118.d197d3c97039ee68643d.bundle.js} +1 -1
- package/dist/{118.a6e09ae6273a9e7714ff.bundle.js → 119.ee1dd79fb171af44577c.bundle.js} +1 -1
- package/dist/{12.8078044ba9dc5aefb919.bundle.js → 12.ed4bc07d06db664a8a2c.bundle.js} +1 -1
- package/dist/{119.f672e5bd50a1a9476dcc.bundle.js → 120.e25b821b13d853a321b5.bundle.js} +1 -1
- package/dist/{120.8725206e84a9f2b1fc44.bundle.js → 121.45b40da06cc7a71ae79f.bundle.js} +1 -1
- package/dist/{121.787215b44b2f8f4d2850.bundle.js → 122.4e50eaaadaf3dd57b2b2.bundle.js} +1 -1
- package/dist/{122.39e92001e2f86ed551f4.bundle.js → 123.2cc29edc9b32fcc35a5c.bundle.js} +1 -1
- package/dist/{123.30b2e28436b10116e05a.bundle.js → 124.5bf5f52df172c58b05d0.bundle.js} +1 -1
- package/dist/{124.ff59b5de798cc188f089.bundle.js → 125.53a564a1540cfbe90d0a.bundle.js} +1 -1
- package/dist/{125.04369aedfa25c24c03cf.bundle.js → 126.dc613e6d7c178aa1f71d.bundle.js} +1 -1
- package/dist/{126.20cf9bbd99138d8275e9.bundle.js → 127.aef2e7fa7136b5fb20dc.bundle.js} +1 -1
- package/dist/{127.fa70afe0caa6a82a487d.bundle.js → 128.c47682ae8c6f4827775e.bundle.js} +1 -1
- package/dist/{128.d6242296779b40ceee78.bundle.js → 129.79a97fa0c54c52a26f86.bundle.js} +1 -1
- package/dist/{13.e28878c924d54fd6affc.bundle.js → 13.49bf149227b1a2f915a6.bundle.js} +1 -1
- package/dist/{136.7045cfc939cc42c457de.bundle.js → 136.3b7b30e23a57edaccaad.bundle.js} +1 -1
- package/dist/{140.20b791dd9206aec902c3.bundle.js → 140.0824cff78d35896e19a1.bundle.js} +1 -1
- package/dist/{146.725d89d31b4a9b742d3f.bundle.js → 146.a0a2b0a47fa6363c2be0.bundle.js} +1 -1
- package/dist/{15.7ee3e6ec073366903f69.bundle.js → 15.2eabfe524e0689eb26e9.bundle.js} +1 -1
- package/dist/{16.cfcb97f2798c0f998b6d.bundle.js → 16.0ead6802df331f763762.bundle.js} +1 -1
- package/dist/{160.09bb953d13e3d63eed4f.bundle.js → 160.9df03bd5ab91e27a7e3c.bundle.js} +1 -1
- package/dist/{17.330b4db61f4286346e1d.bundle.js → 17.bcc91ddb954e2e1ee5a2.bundle.js} +1 -1
- package/dist/{18.131accbaf7a1f9d61001.bundle.js → 18.a4b27592c1b39f2b754b.bundle.js} +1 -1
- package/dist/186.d2a7c6668b2f2198549a.bundle.js +1 -1
- package/dist/{19.417d4a0cb5047abff48e.bundle.js → 19.33b6dc6ba1cea3b94465.bundle.js} +1 -1
- package/dist/{192.2d6358f31811ab3464ba.bundle.js → 192.a238bb9bb9a833ef304b.bundle.js} +1 -1
- package/dist/{198.f34180ba04b8f2d651ab.bundle.js → 198.568088e342b26f534c8f.bundle.js} +1 -1
- package/dist/{2.6684bcc4e367bcb9e628.bundle.js → 2.3837bd63288e2a826720.bundle.js} +1 -1
- package/dist/{20.ee5088425c87c66ae8d0.bundle.js → 20.204efddc3b65e3417f98.bundle.js} +1 -1
- package/dist/{200.7ff10cae741e1382bcb3.bundle.js → 200.6eee537413665b02c23f.bundle.js} +1 -1
- package/dist/{206.750777aab552b2c97c68.bundle.js → 206.7f16c0fcd5d65d82f869.bundle.js} +1 -1
- package/dist/{21.7ad047ae5bb8c0a68163.bundle.js → 21.bf90c5dbc6751926b09f.bundle.js} +1 -1
- package/dist/{217.76f3e1cda60f9abe1701.bundle.js → 217.57a8407776a632ad45ff.bundle.js} +1 -1
- package/dist/{226.a3b6f063cd117f6809e5.bundle.js → 226.914d0a244a06d6eff230.bundle.js} +1 -1
- package/dist/23.b57e6b08f36eaa6cfa1c.bundle.js +3 -0
- package/dist/{234.a223a40490dbaf451cd7.bundle.js → 234.d92bb857de797a88568d.bundle.js} +1 -1
- package/dist/{235.2d41cfd545adcebf23d1.bundle.js → 235.1182f064fb17ad3f55d1.bundle.js} +1 -1
- package/dist/{24.0fee5a7050aa01c43593.bundle.js → 24.77404fb1a29f7448cfa9.bundle.js} +1 -1
- package/dist/{25.42411835319827f4bfc1.bundle.js → 25.fd2151cfa79bb46e568e.bundle.js} +1 -1
- package/dist/{250.f20ba52ca6ed81d5d179.bundle.js → 250.ad498a8076662df1ed87.bundle.js} +1 -1
- package/dist/{26.68da73b9eb0e20ef6a04.bundle.js → 26.b4cf5132c870052d06f3.bundle.js} +1 -1
- package/dist/{261.bb146605dd28d704aa16.bundle.js → 261.01d68aa8402ef6ac3a38.bundle.js} +1 -1
- package/dist/{266.929c96d6372d56668ae0.bundle.js → 266.6b132ba2f789d8526651.bundle.js} +1 -1
- package/dist/{27.9170cfa5bc0b60e51d82.bundle.js → 27.af756f3e9a79334cb6f9.bundle.js} +1 -1
- package/dist/{271.f51d241774a8df3f20c7.bundle.js → 271.57cac2aa90c6b4409f51.bundle.js} +1 -1
- package/dist/{273.235fcf7e993aace5557d.bundle.js → 273.532af8c0707be80576a4.bundle.js} +1 -1
- package/dist/{274.4489e0c0b2b5457a3513.bundle.js → 274.9e29d76ce7a1be779fe2.bundle.js} +1 -1
- package/dist/{28.decaa67e47ac79ba59a3.bundle.js → 28.f64cabb9e00e2f08ed6a.bundle.js} +1 -1
- package/dist/{288.b263f48bcaa5db590821.bundle.js → 288.942d138e6c489a3ff6df.bundle.js} +1 -1
- package/dist/{29.8b089f6adfabb19d8073.bundle.js → 29.073b9b1176718648e438.bundle.js} +1 -1
- package/dist/{293.88a6655ca50918b1edc4.bundle.js → 293.35cf89ffdbbcab6c39de.bundle.js} +1 -1
- package/dist/{3.31747e6f9dde0db936ea.bundle.js → 3.f26cefadb24ee2836b8a.bundle.js} +1 -1
- package/dist/{30.9345c96cc253adab0ae0.bundle.js → 30.3530af7acf6dd4af07b4.bundle.js} +1 -1
- package/dist/{302.2a26c6c4f78a037c6d3e.bundle.js → 302.9e008d753a24f66797ac.bundle.js} +1 -1
- package/dist/{307.d188e735148ef48fbe80.bundle.js → 307.99dec37cee341acf70d6.bundle.js} +1 -1
- package/dist/{31.614dbf7498a1552e355c.bundle.js → 31.19f116ce71f83ce6c3df.bundle.js} +1 -1
- package/dist/{319.53ee0f1a2a998747c6bd.bundle.js → 319.6ee5e4d0efbb256ad040.bundle.js} +1 -1
- package/dist/{32.a52b26adcd7755172626.bundle.js → 32.3649b0fc7e7136790d43.bundle.js} +1 -1
- package/dist/{320.80795d19cc7aa6ccaa28.bundle.js → 320.5cb0f10abd3ca266298e.bundle.js} +1 -1
- package/dist/{328.e966458d8c8ceca910de.bundle.js → 328.b769a2c7965fcc07d289.bundle.js} +1 -1
- package/dist/{33.db577a77e1237b4997ef.bundle.js → 33.d4864cfbed6bb7c30c95.bundle.js} +1 -1
- package/dist/{330.38fcfd70d382ec90607d.bundle.js → 330.f66ff693ab2f86440650.bundle.js} +1 -1
- package/dist/{34.12bd97ec9f0f5411ede8.bundle.js → 34.4a17e8b0f3f203963d5e.bundle.js} +1 -1
- package/dist/342.cead059cad2a860fb1db.bundle.js +1 -0
- package/dist/348.b09b5350639beca8034e.bundle.js +1 -1
- package/dist/{35.e22a1a214303b341a46d.bundle.js → 35.2920265e8348ab78e718.bundle.js} +1 -1
- package/dist/354.474aa50f195477e48af9.bundle.js +1 -1
- package/dist/357.603fceaaeb0992019407.bundle.js +1 -1
- package/dist/358.5398b6635b1fc42b581a.bundle.js +1 -1
- package/dist/359.a2f8d884c46015ae98ed.bundle.js +1 -1
- package/dist/{36.1092cd7bf5d220bb9063.bundle.js → 36.99a2c4a2393ff13ec514.bundle.js} +1 -1
- package/dist/360.40b2c9f3610b0f8dea80.bundle.js +1 -1
- package/dist/361.91ac80c8c5586b0546a5.bundle.js +1 -1
- package/dist/37.d519cb3af9d6205f0015.bundle.js +1 -0
- package/dist/{38.fb2659cad2c86b5ec58d.bundle.js → 38.23f902df4ed8fbfc7fcf.bundle.js} +1 -1
- package/dist/{39.96fb293a7ae3ef7a5ad9.bundle.js → 39.171886987f5ef7d17208.bundle.js} +1 -1
- package/dist/391.45bf699afe7aba531cd9.bundle.js +1 -1
- package/dist/{40.159ef797572a6c14eab5.bundle.js → 40.0937e585f9f5a7eaab82.bundle.js} +1 -1
- package/dist/403.61a61ce1c12385533859.bundle.js +1 -1
- package/dist/404.b53dc0ad0aaedcf3f809.bundle.js +1 -1
- package/dist/405.eb8906e00f241da08275.bundle.js +1 -1
- package/dist/406.48298a2b9c49b99170f8.bundle.js +1 -1
- package/dist/407.56a20539c08f5d616640.bundle.js +1 -1
- package/dist/409.72d548b44e2f1c414a24.bundle.js +1 -1
- package/dist/{41.8a09e7ba27f7614de053.bundle.js → 41.3b2afebd8ef778234327.bundle.js} +1 -1
- package/dist/410.df9406357dc52e98d0c4.bundle.js +1 -1
- package/dist/411.3a8907f7c02b1e9581e2.bundle.js +1 -1
- package/dist/412.5feece7f4c5164d2eadb.bundle.js +1 -1
- package/dist/42.51a2b146401e3d3c44fd.bundle.js +1 -0
- package/dist/43.c3b8fc48a5d69126ff55.bundle.js +1 -0
- package/dist/{44.582668c8e60673ee9a89.bundle.js → 44.0b6f6369f9c157f2243c.bundle.js} +1 -1
- package/dist/46.5baa02d0ce0f4e4bec79.bundle.js +1 -0
- package/dist/{47.a0af564fb81592c87a50.bundle.js → 47.c7898dbc38a6a6e9321b.bundle.js} +1 -1
- package/dist/{48.067da85ef40da92d258a.bundle.js → 48.4a5b02907ad2d1a2792f.bundle.js} +1 -1
- package/dist/{49.ca18c72cba3d68131fdb.bundle.js → 49.143329d875c1714aec89.bundle.js} +1 -1
- package/dist/{50.271eee82fbebc9d53f38.bundle.js → 50.385486fe0efbefd5dfa9.bundle.js} +1 -1
- package/dist/{51.4ac9662be57037924446.bundle.js → 51.9f3c96f8a93b54423852.bundle.js} +1 -1
- package/dist/{52.1470d5ed8b99f64d5ce2.bundle.js → 52.ff20925f8f7656382d7b.bundle.js} +1 -1
- package/dist/{53.f13a957ecbd28e1125c7.bundle.js → 53.e286cd8cfb636fcec996.bundle.js} +1 -1
- package/dist/{54.c875b7240154b221bebb.bundle.js → 54.326b8c0143c463fc8e2d.bundle.js} +1 -1
- package/dist/55.4009a0d60dea722c108d.bundle.js +1 -0
- package/dist/{55.49f77e42bc983dcbfacc.bundle.js → 56.a581f6f1ded6a4d3d08b.bundle.js} +1 -1
- package/dist/{56.5a4901fea60239d0b3e0.bundle.js → 57.aa39c7d23ece602d952f.bundle.js} +1 -1
- package/dist/{57.1bb4040e33a9a35f5b9f.bundle.js → 58.fad69b0e6153a06c83b7.bundle.js} +1 -1
- package/dist/{58.394c32af3b117b179610.bundle.js → 59.84e7285984168a313d36.bundle.js} +1 -1
- package/dist/{6.f8af74652bcab7953736.bundle.js → 6.73f6adae3ab11729ebf2.bundle.js} +1 -1
- package/dist/{59.e50dc5ce41dd02cf3b3d.bundle.js → 60.ad49b739e4b8f2cdbce7.bundle.js} +1 -1
- package/dist/{60.95c6753d580f3a716b22.bundle.js → 61.ee14d8cda3708fe9c287.bundle.js} +1 -1
- package/dist/62.092aacacd064526783c0.bundle.js +1 -0
- package/dist/{62.48b219154c6345908a80.bundle.js → 63.9537a1fd0366d5518114.bundle.js} +1 -1
- package/dist/64.1dd28ef2f60fe1ba23a5.bundle.js +1 -0
- package/dist/{64.04c60a42b228c234e2ad.bundle.js → 65.4c0218d3ba1faae1f6ad.bundle.js} +1 -1
- package/dist/{65.bb26ca0693ef27c414a7.bundle.js → 66.2a2d9bf0e595ca627c78.bundle.js} +1 -1
- package/dist/{66.f19c0287fadf05c84858.bundle.js → 67.a4e87ab3032de83a0d71.bundle.js} +1 -1
- package/dist/{67.6b37a09a02d11c37bcaa.bundle.js → 68.66efe1b03756e3052e35.bundle.js} +1 -1
- package/dist/{68.9ebaf6d51e22177c8ba2.bundle.js → 69.fd10e482a3491294f900.bundle.js} +1 -1
- package/dist/{7.e59eae3aa5e9e0ea5a0e.bundle.js → 7.c7a405d7dc99c9ebee48.bundle.js} +1 -1
- package/dist/70.38ae428de620fbf7602d.bundle.js +1 -0
- package/dist/{69.f3be67c2243892d32055.bundle.js → 71.e18795e8eaed8f747ce5.bundle.js} +1 -1
- package/dist/{70.415393ee813d58975172.bundle.js → 72.a53c1a358c3335c3eaa1.bundle.js} +1 -1
- package/dist/{71.e89efd706a10aea2074e.bundle.js → 73.d442bfb6f448e72c5bce.bundle.js} +1 -1
- package/dist/74.05569d4f46a43d6d56e4.bundle.js +1 -0
- package/dist/{73.53bbbd74f7de2913152b.bundle.js → 75.e226c0d22ed7ff1b57ee.bundle.js} +1 -1
- package/dist/{74.184ffc6fc6053f5c645d.bundle.js → 76.afa96077de497c981882.bundle.js} +1 -1
- package/dist/{75.441343592edbcf27a029.bundle.js → 77.9fa02265d836024fdf79.bundle.js} +1 -1
- package/dist/{76.055e216b311e1817484e.bundle.js → 78.9f81b2060ae650976ae7.bundle.js} +1 -1
- package/dist/{77.c75c1df7b8e2c4855b17.bundle.js → 79.3fc17aa270c5a6477e9c.bundle.js} +1 -1
- package/dist/{8.28f2c0d888f5e99cfbc9.bundle.js → 8.18ec3a5b3f95a7965e71.bundle.js} +1 -1
- package/dist/{78.bd5758f93518290f477f.bundle.js → 80.7de02802c242d6cf125c.bundle.js} +1 -1
- package/dist/{79.1d57915d970df0a37229.bundle.js → 81.66b9a961188d712b1d48.bundle.js} +1 -1
- package/dist/{80.c83c5d743d89a63e7437.bundle.js → 82.8c402a2cedd2441c3f3c.bundle.js} +1 -1
- package/dist/{81.d04604229fe4fdd02601.bundle.js → 83.15cd8f06607b23e5e901.bundle.js} +1 -1
- package/dist/{82.a8e009ab0c08b859d2ce.bundle.js → 84.825f8eaa43e71f73f25d.bundle.js} +1 -1
- package/dist/{83.80c0e99346b0e55b33a5.bundle.js → 85.00ce4d8f4433d87bf54e.bundle.js} +1 -1
- package/dist/{84.891be8b57abdab473123.bundle.js → 86.ffeb1acd50a34948e089.bundle.js} +1 -1
- package/dist/{86.33c18744f8b1ae858a66.bundle.js → 87.9ac37a1a4a11ef7dfbac.bundle.js} +1 -1
- package/dist/{87.a623d6e7d303f6f34851.bundle.js → 88.5b052707f2cd26eb7890.bundle.js} +1 -1
- package/dist/{88.11dcfbd80b70ce8140af.bundle.js → 89.76461444a1cb2b2e1114.bundle.js} +1 -1
- package/dist/{9.4b42fc29ab253cd7ad0d.bundle.js → 9.d57134d0b4eb2e6f4ee6.bundle.js} +1 -1
- package/dist/{89.2c22dfa2ddf7c65e8f07.bundle.js → 90.7934551daab93be805ba.bundle.js} +1 -1
- package/dist/{90.d64c9e9798606a8a2488.bundle.js → 91.de9fe730d2b00227b9d4.bundle.js} +1 -1
- package/dist/{91.53d392a817902243fd14.bundle.js → 92.f4a3984a912edbb06838.bundle.js} +1 -1
- package/dist/{92.4c7f6ae785e5c2726adf.bundle.js → 93.e22a88d63bd4fc5f616c.bundle.js} +1 -1
- package/dist/{93.44989fd952e4ee29a14d.bundle.js → 94.f731de3062bce3990e2f.bundle.js} +1 -1
- package/dist/{94.8f5fc9e6922907cdf8d0.bundle.js → 95.5fdf43bda2882304ace9.bundle.js} +1 -1
- package/dist/{95.7a98715e44233a65f0b6.bundle.js → 96.21c753d787869238e5ed.bundle.js} +1 -1
- package/dist/{96.b2a0154600564a0bf2c8.bundle.js → 97.13cd4feb8916c17b8b20.bundle.js} +1 -1
- package/dist/{97.19320ba399d9b0bc4a3d.bundle.js → 98.6379c1708e09a721cc36.bundle.js} +1 -1
- package/dist/{98.53c28cc4683594868437.bundle.js → 99.bfe2ea3e30bb6b0e9045.bundle.js} +1 -1
- package/dist/{bundle.8b5133c2bd45c3446e7b.bundle.js → bundle.f1f997c1b702d546a4e1.bundle.js} +5 -5
- package/dist/css/autocomplete.css +5 -0
- package/dist/css/rdf-class-hierarchy.css +1 -1
- package/dist/index.html +3 -3
- package/dist/js/angular/autocomplete/templates/modal/add-label.html +5 -2
- package/dist/js/angular/core/directives/autocomplete/templates/autocomplete.html +1 -1
- package/dist/js/angular/core/directives/operations-statuses-monitor/templates/operations-statuses-monitor.html +1 -1
- package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +1 -1
- package/dist/js/angular/core/directives/yasgui-component/templates/yasgui-component.html +1 -1
- package/dist/js/angular/core/templates/cookie-policy/cookie-consent.html +1 -1
- package/dist/js/angular/core/templates/cookie-policy/cookie-policy.html +1 -1
- package/dist/js/angular/security/templates/user.html +1 -1
- package/dist/js/angular/ttyg/templates/agent-list.html +1 -1
- package/dist/js/angular/ttyg/templates/agent-select-menu.html +1 -1
- package/dist/js/angular/ttyg/templates/chat-item-detail.html +1 -1
- package/dist/js/angular/ttyg/templates/chat-list.html +1 -1
- package/dist/js/angular/ttyg/templates/chat-panel.html +1 -1
- package/dist/js/angular/ttyg/templates/modal/agent-instructions-explain-modal.html +1 -1
- package/dist/js/angular/ttyg/templates/modal/agent-settings-modal.html +1 -1
- package/dist/js/angular/ttyg/templates/no-agents-view.html +1 -1
- package/dist/js/angular/ttyg/templates/ttyg.html +1 -1
- package/dist/license-checker.json +2 -2
- package/dist/pages/aclmanagement.html +2 -2
- package/dist/pages/autocomplete.html +1 -1
- package/dist/pages/choose-repository-type.html +1 -1
- package/dist/pages/cluster-management/clusterInfo.html +3 -3
- package/dist/pages/create-index.html +1 -1
- package/dist/pages/dependencies.html +1 -1
- package/dist/pages/domainRangeInfo.html +2 -2
- package/dist/pages/edit.html +1 -1
- package/dist/pages/explore.html +1 -1
- package/dist/pages/export.html +1 -1
- package/dist/pages/find.html +1 -1
- package/dist/pages/graph-config/saveGraphConfig.html +8 -8
- package/dist/pages/graphs-visualizations.html +7 -7
- package/dist/pages/guides.html +1 -1
- package/dist/pages/import.html +2 -2
- package/dist/pages/jdbc-create.html +1 -1
- package/dist/pages/monitor/backup-and-restore.html +1 -1
- package/dist/pages/monitor/queries.html +1 -1
- package/dist/pages/monitor/resources.html +1 -1
- package/dist/pages/namespaces.html +2 -2
- package/dist/pages/plugins.html +1 -1
- package/dist/pages/rdfClassHierarchyInfo.html +8 -10
- package/dist/pages/rdfrank.html +2 -2
- package/dist/pages/repositories.html +1 -1
- package/dist/pages/repository.html +1 -1
- package/dist/pages/similarity-indexes.html +1 -1
- package/dist/pages/sparql-editor.html +1 -1
- package/dist/pages/sparql-template-create.html +1 -1
- package/dist/pages/ux-test1.html +2 -2
- package/dist/pages/webapi.html +2 -2
- package/dist/res/swagger5/index.html +12 -12
- package/package.json +1 -1
- package/dist/129.e20705a1f5be2410d666.bundle.js +0 -1
- package/dist/23.56301f1a97cc94310f2d.bundle.js +0 -3
- package/dist/342.ca94acdc8de22e22241a.bundle.js +0 -1
- package/dist/37.fbd78997b9e6a3530e15.bundle.js +0 -1
- package/dist/42.68cf9fea9586d95c7ef2.bundle.js +0 -1
- package/dist/43.53bafbaf1332f99c7e74.bundle.js +0 -1
- package/dist/46.eb3af10b1fccbfa2f5bf.bundle.js +0 -1
- package/dist/61.f553a4c10a25b9af3cd7.bundle.js +0 -1
- package/dist/63.9c60525f7eed7756e83e.bundle.js +0 -1
- package/dist/72.6f58ccfef39ec2ee9614.bundle.js +0 -1
- package/dist/85.945ee0e14f628a4fa4a1.bundle.js +0 -1
- package/dist/99.bc85d568135caa51630f.bundle.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[39,210,211,212,236,244,326],{102:function(n,e){function t(n,e){return{showToastMessageWithDelay:function(t){return new Promise(o=>{n.success(e.instant(t)),setTimeout(o,200)})}}}angular.module("graphdb.framework.utils.notifications",[]).factory("Notifications",t),t.$inject=["toastr","$translate"]},181:function(n,e,t){"use strict";t.r(e),t.d(e,"DEFAULT_SPARQL_QUERY",(function(){return o})),t.d(e,"JdbcConfigurationInfo",(function(){return i}));const o="PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n\n# Selects two variables to use as columns\nSELECT ?id ?label {\n ?id rdfs:label ?label\n # The following placeholder must be present in the query\n #!filter\n}";class i{constructor(n=o,e=!0,t){this.query=n,this.jdbcConfigurationName=t,this.isNewJdbcConfiguration=e,this.isValidQuery=!0,this.isValidQueryType=!0,this.hasUndefinedColumns=!1,this.isColumnsEmpty=!1,this.columns=[]}}},182:function(n,e,t){"use strict";t.r(e),t.d(e,"JdbcConfigurationError",(function(){return o}));class o extends Error{constructor(n,e){super(n),this.jdbcConfigurationInfo=e}}},183:function(n,e,t){"use strict";t.r(e),t.d(e,"JdbcColumn",(function(){return o})),t.d(e,"toJDBCColumns",(function(){return i})),t.d(e,"updateColumn",(function(){return r}));class o{constructor(){this.column_name="",this.column_type="",this.sparql_type="",this.nullable=!0}}const i=(n=[],e)=>n.map(n=>({column_name:n,column_type:e[n].column_type,nullable:!0,sparql_type:e[n].sparql_type})),r=(n,e)=>{n.column_type=e[n.column_name].column_type,n.sparql_type=e[n.column_name].sparql_type}},292:function(n,e,t){"use strict";t.r(e);t(41),t(43),t(102),t(9),t(22);var o=t(181),i=t(97),r=t(182),s=t(90),a=t(183),c=t(19),u=t(0);function l(n,e,t,o,i,r){n.getSqlConfigurations=function(){!e.getActiveRepository()||e.isActiveRepoOntopType()||e.isActiveRepoFedXType()?n.jdbcConfigurations=[]:t.getJdbcConfigurations().success((function(e){n.jdbcConfigurations=e})).error((function(n){const e=getError(n);o.error(e,r.instant("jdbc.not.get.SQL.msg"))}))},n.$watch((function(){return e.getActiveRepository()}),(function(){n.getSqlConfigurations()})),n.deleteConfiguration=function(e){i.openSimpleModal({title:r.instant("common.warning"),message:r.instant("jdbc.delete.sql.table.warning.msg",{name:e}),warning:!0}).result.then((function(){t.deleteJdbcConfiguration(e).success((function(){n.getSqlConfigurations()})).error((function(n){o.error(getError(n),r.instant("jdbc.not.delete.sql.msg"))}))}))}}function g(n,e,t,l,g,d,f,m,b,p,C,y,h,j,w,v){e.emptySparqlResponse='{"head": {"vars": []},"results": {"bindings": []}}',e.getSuggestionSqlType="",e.sqlTypes=[],e.activeTab=1,e.jdbcConfigurationInfo=new o.JdbcConfigurationInfo,e.jdbcConfigurationInfo.jdbcConfigurationName=l.search().name||"",e.saveOrUpdateExecuted=!1,e.jdbcConfigurationInfo.isNewJdbcConfiguration=!e.jdbcConfigurationInfo.jdbcConfigurationName,e.language=w.getLanguage(),e.isDirty=!1,e.prefixes=[],e.loadingControllerResources=!1,e.isQueryRunning=!1,e.canEditActiveRepo=!1;let E=!0;e.saveJdbcConfiguration=()=>{if(e.saveOrUpdateExecuted=!0,!e.jdbcConfigurationInfo.jdbcConfigurationName)return;if(!e.isDirty)return void V();const n=e.jdbcConfigurationInfo.isNewJdbcConfiguration?S:T;N(e.jdbcConfigurationInfo).then(_).then(D).then(M).then(n).catch(n=>{if(!(n instanceof r.JdbcConfigurationError)){const e=getError(n);g.error(e,j.instant("jdbc.not.saved.configuration"))}})},e.getPreview=()=>{e.activeTab=1,e.isQueryRunning=!0,N(e.jdbcConfigurationInfo).then(_).then(D).then(M).then(n=>(A({render:s.RenderingMode.YASQE,initialQuery:n.query}),n)).then(q).then(([n,e])=>{const t=n&&n.results.bindings&&n.results.bindings.length>0;let o=s.RenderingMode.YASGUI;t||(o=s.RenderingMode.YASQE,g.info(j.instant("jdbc.table.definition"),j.instant("jdbc.preview.sql"))),A({render:o,sparqlResponse:n,initialQuery:e.query})}).catch(n=>{n instanceof r.JdbcConfigurationError?n.jdbcConfigurationInfo&&(n.jdbcConfigurationInfo.isColumnsEmpty||n.jdbcConfigurationInfo.hasUndefinedColumns)&&(P(),e.activeTab=2):g.error(getError(n,0,100),j.instant("jdbc.not.show.preview"))}).finally(()=>{e.isQueryRunning=!1})},e.setActiveTab=n=>{e.activeTab=n;const t=e.jdbcConfigurationInfo.columns;2!==e.activeTab||t&&0!==t.length||N(e.jdbcConfigurationInfo).then(_).then(()=>{e.getColumnsSuggestions()})},e.setDirty=()=>{e.isDirty=!0},e.getTypeLabel=n=>{switch(n){case"iri":return"VARCHAR: IRI";case"string":return"VARCHAR: String";default:return n.indexOf(" ")>0?n:n.toUpperCase()}},e.selectColumnType=(n,t)=>{e.setDirty();const o=e.jdbcConfigurationInfo.columns.find(e=>e.column_name===n);o.column_type===e.getSuggestionSqlType&&M(e.jdbcConfigurationInfo).then(e=>p.getColumnsTypeSuggestion(e.query,[n])).then(n=>n.data).then(n=>{Object(a.updateColumn)(o,n),I(o.column_type,t)}).catch(n=>{g.error(getError(n),j.instant("jdbc.not.suggest.column.type"))})},e.deleteColumn=function(n,t){h.openSimpleModal({title:j.instant("common.warning"),message:j.instant("jdbc.warning.delete.column.msg",{columnName:n}),warning:!0}).result.then((function(){e.jdbcConfigurationInfo.columns.splice(t,1),e.setDirty()}))},e.getColumnsSuggestions=()=>{e.jdbcConfigurationInfo.columns&&e.jdbcConfigurationInfo.columns.length>0?h.openSimpleModal({title:j.instant("common.warning"),message:j.instant("jdbc.warning.column.type.msg"),warning:!0}).result.then((function(){P()})):P()},e.hasPrecision=n=>"iri"===n||"string"===n||"decimal"===n,e.containsColumnsWithPrecision=n=>n&&n.some(n=>e.hasPrecision(n.column_type)),e.containsColumnsWithScale=n=>n&&n.some(n=>L(n.column_type)),e.isLiteral=n=>"iri"!==n&&"unknown"!==n,e.containsNonLiteralColumnsOnly=n=>n&&n.every(n=>!e.isLiteral(n.column_type));const q=n=>{if(e.canWriteActiveRepo){const t=JSON.stringify({name:e.jdbcConfigurationInfo.jdbcConfigurationName,query:e.jdbcConfigurationInfo.query,columns:e.jdbcConfigurationInfo.columns||[]});return Promise.all([p.getNewSqlTablePreview(t).then(n=>n.data),Promise.resolve(n)])}return Promise.all([p.getExistingSqlTablePreview(e.jdbcConfigurationInfo.jdbcConfigurationName).then(n=>n.data),Promise.resolve(n)])},I=(n,e)=>{n===e?g.info(Object(u.decodeHTML)(j.instant("jdbc.same.suggested.sql.type",{type:n})),j.instant("jdbc.suggest.sql.type"),{allowHtml:!0}):g.success(Object(u.decodeHTML)(j.instant("jdbc.suggested.sql.type",{type:n})),j.instant("jdbc.suggest.sql.type"),{allowHtml:!0})},R=(n,t=new o.JdbcConfigurationInfo)=>{e.jdbcConfigurationInfo.columns=t.columns,e.jdbcConfigurationInfo.query=t.query,e.jdbcConfigurationInfo.jdbcConfigurationName=l.search().name||"",e.jdbcConfigurationInfo.isNewJdbcConfiguration=!e.jdbcConfigurationInfo.jdbcConfigurationName,e.prefixes=n,A(),x()},S=n=>{const t={name:n.jdbcConfigurationName,query:n.query,columns:n.columns};return p.createNewJdbcConfiguration(t).then(()=>{e.isDirty=!1,e.jdbcConfigurationInfo.isNewConfiguration=!1,g.success(j.instant("jdbc.saved.configuration")),k()})},T=n=>{const t={name:n.jdbcConfigurationName,query:n.query,columns:n.columns};return p.updateJdbcConfiguration(t).then(()=>{e.isDirty=!1,e.jdbcConfigurationInfo.isNewConfiguration=!1,g.success(j.instant("jdbc.configuration.updated")),k()})},A=(n={})=>{const t={};angular.extend(t,e.yasguiConfig||J(),n),e.yasguiConfig=t},J=()=>({showEditorTabs:!1,showToolbar:!1,showResultTabs:!1,showQueryButton:!1,showResultInfo:!1,downloadAsOn:!1,showYasqeResizer:!1,initialQuery:e.jdbcConfigurationInfo.query,componentId:"jdbc-component",prefixes:e.prefixes,maxPersistentResponseSize:0,render:s.RenderingMode.YASQE,getCellContent:U,sparqlResponse:e.emptySparqlResponse,yasqeActionButtons:c.DISABLE_YASQE_BUTTONS_CONFIGURATION,yasqeMode:e.canEditActiveRepo?i.YasqeMode.WRITE:i.YasqeMode.PROTECTED}),N=n=>O().getQueryType().then(e=>(n.isValidQueryType="SELECT"===e,n.isValidQueryType?n:Promise.reject(new r.JdbcConfigurationError("Query type is not valid.")))),_=n=>O().isQueryValid().then(e=>(n.isValidQuery=e,n.isValidQuery?n:Promise.reject(new r.JdbcConfigurationError("Invalid query.")))),D=n=>{if(!n.columns||0===n.columns.length)return n.isColumnsEmpty=!0,g.error(j.instant("jdbc.warning.one.column.msg")),Promise.reject(new r.JdbcConfigurationError("There are not defined columns.",n));return e.jdbcConfigurationInfo.columns&&e.jdbcConfigurationInfo.columns.find(n=>"unknown"===n.column_type)?(n.hasUndefinedColumns=!0,Promise.reject(new r.JdbcConfigurationError("There are columns without defined type.",n))):Promise.resolve(n)},P=()=>{N(e.jdbcConfigurationInfo).then(_).then(M).then(Q).then($).then(n=>e.jdbcConfigurationInfo=n).catch(n=>{console.log(n)})},Q=n=>p.getColumnNames(n.query).then(e=>[n,e.data]).catch((function(n){g.error(getError(n),j.instant("jdbc.not.suggest.column.names"))})),$=([n,t])=>p.getColumnsTypeSuggestion(n.query,t).then((function(o){return n.columns=Object(a.toJDBCColumns)(t,o.data),n.isColumnsEmpty=n.columns.length,e.setDirty(),n})).catch((function(n){g.error(getError(n),j.instant("jdbc.not.suggest.column.types"))})),O=()=>c.YasguiComponentDirectiveUtil.getOntotextYasguiElement("#query-editor"),M=n=>O().getQuery().then(e=>(n.query=e,n)),L=n=>"decimal"===n,U=(n,e)=>{let t=n.value;t=t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");return"<div class = 'literal-cell'>"+("<p class='nonUri' style='border: none; background-color: transparent; padding: 0; margin: 0'>"+t+"</p>")+"</div>"},Y=(n,e,t,o)=>{h.openSimpleModal({title:n,message:e,warning:!0}).result.then((function(){angular.isFunction(t)&&t()}),(function(){angular.isFunction(o)&&o()}))},x=()=>{e.getSuggestionSqlType=j.instant("view.jdbc.create.get_suggestion_sql_type"),e.sqlTypes=["string","iri","boolean","byte","short","int","long","float","double","decimal","date","time","timestamp",e.getSuggestionSqlType]},k=()=>{setTimeout((function(){V()}),1e3)},V=()=>{l.url("/jdbc")},W=n=>{e.isDirty&&(n.returnValue=!0)},F=()=>{window.removeEventListener("beforeunload",W),B.forEach(n=>n())},B=[];B.push(t.$on("$translateChangeSuccess",()=>{e.language=w.getLanguage(),x()})),B.push(e.$on("$locationChangeStart",(n,t)=>{if(e.isDirty){n.preventDefault();const e=j.instant("common.confirm"),o=j.instant("jdbc.warning.unsaved.changes");Y(e,o,()=>{F();const n=l.absUrl().length-l.url().length,e=t.substring(n);l.path(e)})}else F()})),B.push(v.subscribe("repositoryWillChangeEvent",n=>new Promise((function(t){if(e.jdbcConfigurationInfo.isNewJdbcConfiguration)return void t(n);const o=()=>{e.isDirty=!1,V(),t(n)};if(e.isDirty){const e=()=>{n.cancel=!0,t(n)},i=j.instant("common.confirm"),r=j.instant("jdbc.warning.unsaved.changes");Y(i,r,o,e)}else o()})))),B.push(e.$on("$destroy",F)),window.addEventListener("beforeunload",W),B.push(e.$watch(e.getActiveRepositoryObject,n=>{n&&(e.canEditActiveRepo=e.canWriteActiveRepo(),E?((()=>{e.loadingControllerResources=!0;const n=d.getActiveRepository();e.jdbcConfigurationInfo.jdbcConfigurationName?Promise.all([d.getPrefixes(n),p.getJdbcConfiguration(e.jdbcConfigurationInfo.jdbcConfigurationName)]).then(([n,e])=>{R(n,e.data)}).finally(()=>e.loadingControllerResources=!1):d.getPrefixes(n).then(n=>R(n)).finally(()=>e.loadingControllerResources=!1)})(),E=!1):O().abortQuery().then(V))}))}angular.module("graphdb.framework.jdbc.controllers",["ui.bootstrap","graphdb.framework.core.services.repositories","graphdb.framework.rest.monitoring.service","toastr","graphdb.framework.utils.event-emitter-service"],["graphdb.framework.utils.notifications"]).controller("JdbcListCtrl",l).controller("JdbcCreateCtrl",g),l.$inject=["$scope","$repositories","JdbcRestService","toastr","ModalService","$translate"],g.$inject=["$q","$scope","$rootScope","$location","toastr","$repositories","$window","$timeout","$interval","JdbcRestService","RDF4JRepositoriesRestService","SparqlRestService","ModalService","$translate","$languageService","EventEmitterService"]},90:function(n,e,t){"use strict";t.r(e),t.d(e,"RenderingMode",(function(){return o}));const o={YASGUI:"mode-yasgui",YASQE:"mode-yasqe",YASR:"mode-yasr"}},97:function(n,e,t){"use strict";t.r(e),t.d(e,"YasqeMode",(function(){return o}));const o={WRITE:"WRITE",READ:"READ",PROTECTED:"PROTECTED"}}}]);
|
|
1
|
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[39,210,211,212,236,244,326],{102:function(n,e){function t(n,e){return{showToastMessageWithDelay:function(t){return new Promise(o=>{n.success(e.instant(t)),setTimeout(o,200)})}}}angular.module("graphdb.framework.utils.notifications",[]).factory("Notifications",t),t.$inject=["toastr","$translate"]},181:function(n,e,t){"use strict";t.r(e),t.d(e,"DEFAULT_SPARQL_QUERY",(function(){return o})),t.d(e,"JdbcConfigurationInfo",(function(){return i}));const o="PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n\n# Selects two variables to use as columns\nSELECT ?id ?label {\n ?id rdfs:label ?label\n # The following placeholder must be present in the query\n #!filter\n}";class i{constructor(n=o,e=!0,t){this.query=n,this.jdbcConfigurationName=t,this.isNewJdbcConfiguration=e,this.isValidQuery=!0,this.isValidQueryType=!0,this.hasUndefinedColumns=!1,this.isColumnsEmpty=!1,this.columns=[]}}},182:function(n,e,t){"use strict";t.r(e),t.d(e,"JdbcConfigurationError",(function(){return o}));class o extends Error{constructor(n,e){super(n),this.jdbcConfigurationInfo=e}}},183:function(n,e,t){"use strict";t.r(e),t.d(e,"JdbcColumn",(function(){return o})),t.d(e,"toJDBCColumns",(function(){return i})),t.d(e,"updateColumn",(function(){return r}));class o{constructor(){this.column_name="",this.column_type="",this.sparql_type="",this.nullable=!0}}const i=(n=[],e)=>n.map(n=>({column_name:n,column_type:e[n].column_type,nullable:!0,sparql_type:e[n].sparql_type})),r=(n,e)=>{n.column_type=e[n.column_name].column_type,n.sparql_type=e[n.column_name].sparql_type}},292:function(n,e,t){"use strict";t.r(e);t(41),t(43),t(102),t(9),t(22);var o=t(181),i=t(97),r=t(182),s=t(90),a=t(183),c=t(19),u=t(0);function l(n,e,t,o,i,r){n.getSqlConfigurations=function(){!e.getActiveRepository()||e.isActiveRepoOntopType()||e.isActiveRepoFedXType()?n.jdbcConfigurations=[]:t.getJdbcConfigurations().success((function(e){n.jdbcConfigurations=e})).error((function(n){const e=getError(n);o.error(e,r.instant("jdbc.not.get.SQL.msg"))}))},n.$watch((function(){return e.getActiveRepository()}),(function(){n.getSqlConfigurations()})),n.deleteConfiguration=function(e){i.openSimpleModal({title:r.instant("common.warning"),message:r.instant("jdbc.delete.sql.table.warning.msg",{name:e}),warning:!0}).result.then((function(){t.deleteJdbcConfiguration(e).success((function(){n.getSqlConfigurations()})).error((function(n){o.error(getError(n),r.instant("jdbc.not.delete.sql.msg"))}))}))}}function g(n,e,t,l,g,d,f,m,b,p,C,y,h,j,w,v){e.emptySparqlResponse='{"head": {"vars": []},"results": {"bindings": []}}',e.getSuggestionSqlType="",e.sqlTypes=[],e.activeTab=1,e.jdbcConfigurationInfo=new o.JdbcConfigurationInfo,e.jdbcConfigurationInfo.jdbcConfigurationName=l.search().name||"",e.saveOrUpdateExecuted=!1,e.jdbcConfigurationInfo.isNewJdbcConfiguration=!e.jdbcConfigurationInfo.jdbcConfigurationName,e.language=w.getLanguage(),e.isDirty=!1,e.prefixes=[],e.loadingControllerResources=!1,e.isQueryRunning=!1,e.canEditActiveRepo=!1;let q=!0;e.saveJdbcConfiguration=()=>{if(e.saveOrUpdateExecuted=!0,!e.jdbcConfigurationInfo.jdbcConfigurationName)return;if(!e.isDirty)return void V();const n=e.jdbcConfigurationInfo.isNewJdbcConfiguration?S:T;N(e.jdbcConfigurationInfo).then(_).then(D).then(O).then(n).catch(n=>{if(!(n instanceof r.JdbcConfigurationError)){const e=getError(n);g.error(e,j.instant("jdbc.not.saved.configuration"))}})},e.getPreview=()=>{e.activeTab=1,e.isQueryRunning=!0,N(e.jdbcConfigurationInfo).then(_).then(D).then(O).then(n=>(A({render:s.RenderingMode.YASQE,initialQuery:n.query}),n)).then(E).then(([n,e])=>{const t=n&&n.results.bindings&&n.results.bindings.length>0;let o=s.RenderingMode.YASGUI;t||(o=s.RenderingMode.YASQE,g.info(j.instant("jdbc.table.definition"),j.instant("jdbc.preview.sql"))),A({render:o,sparqlResponse:n,initialQuery:e.query})}).catch(n=>{n instanceof r.JdbcConfigurationError?n.jdbcConfigurationInfo&&(n.jdbcConfigurationInfo.isColumnsEmpty||n.jdbcConfigurationInfo.hasUndefinedColumns)&&(Q(),e.activeTab=2):g.error(getError(n,0,100),j.instant("jdbc.not.show.preview"))}).finally(()=>{e.isQueryRunning=!1})},e.setActiveTab=n=>{e.activeTab=n;const t=e.jdbcConfigurationInfo.columns;2!==e.activeTab||t&&0!==t.length||N(e.jdbcConfigurationInfo).then(_).then(()=>{e.getColumnsSuggestions()})},e.setDirty=()=>{e.isDirty=!0},e.getTypeLabel=n=>{switch(n){case"iri":return"VARCHAR: IRI";case"string":return"VARCHAR: String";default:return n.indexOf(" ")>0?n:n.toUpperCase()}},e.selectColumnType=(n,t)=>{e.setDirty();const o=e.jdbcConfigurationInfo.columns.find(e=>e.column_name===n);o.column_type===e.getSuggestionSqlType&&O(e.jdbcConfigurationInfo).then(e=>p.getColumnsTypeSuggestion(e.query,[n])).then(n=>n.data).then(n=>{Object(a.updateColumn)(o,n),I(o.column_type,t)}).catch(n=>{g.error(getError(n),j.instant("jdbc.not.suggest.column.type"))})},e.deleteColumn=function(n,t){h.openSimpleModal({title:j.instant("common.warning"),message:j.instant("jdbc.warning.delete.column.msg",{columnName:n}),warning:!0}).result.then((function(){e.jdbcConfigurationInfo.columns.splice(t,1),e.setDirty()}))},e.getColumnsSuggestions=()=>{e.jdbcConfigurationInfo.columns&&e.jdbcConfigurationInfo.columns.length>0?h.openSimpleModal({title:j.instant("common.warning"),message:j.instant("jdbc.warning.column.type.msg"),warning:!0}).result.then((function(){Q()})):Q()},e.hasPrecision=n=>"iri"===n||"string"===n||"decimal"===n,e.containsColumnsWithPrecision=n=>n&&n.some(n=>e.hasPrecision(n.column_type)),e.containsColumnsWithScale=n=>n&&n.some(n=>L(n.column_type)),e.isLiteral=n=>"iri"!==n&&"unknown"!==n,e.containsNonLiteralColumnsOnly=n=>n&&n.every(n=>!e.isLiteral(n.column_type));const E=n=>{if(e.canWriteActiveRepo){const t=JSON.stringify({name:e.jdbcConfigurationInfo.jdbcConfigurationName,query:e.jdbcConfigurationInfo.query,columns:e.jdbcConfigurationInfo.columns||[]});return Promise.all([p.getNewSqlTablePreview(t).then(n=>n.data),Promise.resolve(n)])}return Promise.all([p.getExistingSqlTablePreview(e.jdbcConfigurationInfo.jdbcConfigurationName).then(n=>n.data),Promise.resolve(n)])},I=(n,e)=>{n===e?g.info(Object(u.decodeHTML)(j.instant("jdbc.same.suggested.sql.type",{type:n})),j.instant("jdbc.suggest.sql.type"),{allowHtml:!0}):g.success(Object(u.decodeHTML)(j.instant("jdbc.suggested.sql.type",{type:n})),j.instant("jdbc.suggest.sql.type"),{allowHtml:!0})},R=(n,t=new o.JdbcConfigurationInfo)=>{e.jdbcConfigurationInfo.columns=t.columns,e.jdbcConfigurationInfo.query=t.query,e.jdbcConfigurationInfo.jdbcConfigurationName=l.search().name||"",e.jdbcConfigurationInfo.isNewJdbcConfiguration=!e.jdbcConfigurationInfo.jdbcConfigurationName,e.prefixes=n,A(),x()},S=n=>{const t={name:n.jdbcConfigurationName,query:n.query,columns:n.columns};return p.createNewJdbcConfiguration(t).then(()=>{e.isDirty=!1,e.jdbcConfigurationInfo.isNewConfiguration=!1,g.success(j.instant("jdbc.saved.configuration")),k()})},T=n=>{const t={name:n.jdbcConfigurationName,query:n.query,columns:n.columns};return p.updateJdbcConfiguration(t).then(()=>{e.isDirty=!1,e.jdbcConfigurationInfo.isNewConfiguration=!1,g.success(j.instant("jdbc.configuration.updated")),k()})},A=(n={})=>{const t={};angular.extend(t,e.yasguiConfig||J(),n),e.yasguiConfig=t},J=()=>({showEditorTabs:!1,showToolbar:!1,showResultTabs:!1,showQueryButton:!1,showResultInfo:!1,downloadAsOn:!1,showYasqeResizer:!1,initialQuery:e.jdbcConfigurationInfo.query,componentId:"jdbc-component",prefixes:e.prefixes,maxPersistentResponseSize:0,render:s.RenderingMode.YASQE,getCellContent:U,sparqlResponse:e.emptySparqlResponse,yasqeActionButtons:c.DISABLE_YASQE_BUTTONS_CONFIGURATION,yasqeMode:e.canEditActiveRepo?i.YasqeMode.WRITE:i.YasqeMode.READ}),N=n=>M().getQueryType().then(e=>(n.isValidQueryType="SELECT"===e,n.isValidQueryType?n:Promise.reject(new r.JdbcConfigurationError("Query type is not valid.")))),_=n=>M().isQueryValid().then(e=>(n.isValidQuery=e,n.isValidQuery?n:Promise.reject(new r.JdbcConfigurationError("Invalid query.")))),D=n=>{if(!n.columns||0===n.columns.length)return n.isColumnsEmpty=!0,g.error(j.instant("jdbc.warning.one.column.msg")),Promise.reject(new r.JdbcConfigurationError("There are not defined columns.",n));return e.jdbcConfigurationInfo.columns&&e.jdbcConfigurationInfo.columns.find(n=>"unknown"===n.column_type)?(n.hasUndefinedColumns=!0,Promise.reject(new r.JdbcConfigurationError("There are columns without defined type.",n))):Promise.resolve(n)},Q=()=>{N(e.jdbcConfigurationInfo).then(_).then(O).then(P).then($).then(n=>e.jdbcConfigurationInfo=n).catch(n=>{console.log(n)})},P=n=>p.getColumnNames(n.query).then(e=>[n,e.data]).catch((function(n){g.error(getError(n),j.instant("jdbc.not.suggest.column.names"))})),$=([n,t])=>p.getColumnsTypeSuggestion(n.query,t).then((function(o){return n.columns=Object(a.toJDBCColumns)(t,o.data),n.isColumnsEmpty=n.columns.length,e.setDirty(),n})).catch((function(n){g.error(getError(n),j.instant("jdbc.not.suggest.column.types"))})),M=()=>c.YasguiComponentDirectiveUtil.getOntotextYasguiElement("#query-editor"),O=n=>M().getQuery().then(e=>(n.query=e,n)),L=n=>"decimal"===n,U=(n,e)=>{let t=n.value;t=t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");return"<div class = 'literal-cell'>"+("<p class='nonUri' style='border: none; background-color: transparent; padding: 0; margin: 0'>"+t+"</p>")+"</div>"},Y=(n,e,t,o)=>{h.openSimpleModal({title:n,message:e,warning:!0}).result.then((function(){angular.isFunction(t)&&t()}),(function(){angular.isFunction(o)&&o()}))},x=()=>{e.getSuggestionSqlType=j.instant("view.jdbc.create.get_suggestion_sql_type"),e.sqlTypes=["string","iri","boolean","byte","short","int","long","float","double","decimal","date","time","timestamp",e.getSuggestionSqlType]},k=()=>{setTimeout((function(){V()}),1e3)},V=()=>{l.url("/jdbc")},W=n=>{e.isDirty&&(n.returnValue=!0)},F=()=>{window.removeEventListener("beforeunload",W),B.forEach(n=>n())},B=[];B.push(t.$on("$translateChangeSuccess",()=>{e.language=w.getLanguage(),x()})),B.push(e.$on("$locationChangeStart",(n,t)=>{if(e.isDirty){n.preventDefault();const e=j.instant("common.confirm"),o=j.instant("jdbc.warning.unsaved.changes");Y(e,o,()=>{F();const n=l.absUrl().length-l.url().length,e=t.substring(n);l.path(e)})}else F()})),B.push(v.subscribe("repositoryWillChangeEvent",n=>new Promise((function(t){if(e.jdbcConfigurationInfo.isNewJdbcConfiguration)return void t(n);const o=()=>{e.isDirty=!1,V(),t(n)};if(e.isDirty){const e=()=>{n.cancel=!0,t(n)},i=j.instant("common.confirm"),r=j.instant("jdbc.warning.unsaved.changes");Y(i,r,o,e)}else o()})))),B.push(e.$on("$destroy",F)),window.addEventListener("beforeunload",W),B.push(e.$watch(e.getActiveRepositoryObject,n=>{n&&(e.canEditActiveRepo=e.canWriteActiveRepo(),q?((()=>{e.loadingControllerResources=!0;const n=d.getActiveRepository();e.jdbcConfigurationInfo.jdbcConfigurationName?Promise.all([d.getPrefixes(n),p.getJdbcConfiguration(e.jdbcConfigurationInfo.jdbcConfigurationName)]).then(([n,e])=>{R(n,e.data)}).finally(()=>e.loadingControllerResources=!1):d.getPrefixes(n).then(n=>R(n)).finally(()=>e.loadingControllerResources=!1)})(),q=!1):M().abortQuery().then(V))}))}angular.module("graphdb.framework.jdbc.controllers",["ui.bootstrap","graphdb.framework.core.services.repositories","graphdb.framework.rest.monitoring.service","toastr","graphdb.framework.utils.event-emitter-service"],["graphdb.framework.utils.notifications"]).controller("JdbcListCtrl",l).controller("JdbcCreateCtrl",g),l.$inject=["$scope","$repositories","JdbcRestService","toastr","ModalService","$translate"],g.$inject=["$q","$scope","$rootScope","$location","toastr","$repositories","$window","$timeout","$interval","JdbcRestService","RDF4JRepositoriesRestService","SparqlRestService","ModalService","$translate","$languageService","EventEmitterService"]},90:function(n,e,t){"use strict";t.r(e),t.d(e,"RenderingMode",(function(){return o}));const o={YASGUI:"mode-yasgui",YASQE:"mode-yasqe",YASR:"mode-yasr"}},97:function(n,e,t){"use strict";t.r(e),t.d(e,"YasqeMode",(function(){return o}));const o={WRITE:"WRITE",READ:"READ",PROTECTED:"PROTECTED"}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[391],{511:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<script type="text/ng-template" id="popover-content-user.html">\n\t<h5>{{\'security.user.may\' | translate}}</h5>\n\t<ul>\n <li>{{\'security.use.gdb\' | translate}}</li>\n\t <li>{{\'security.grant.read.access\' | translate}}</li>\n\t\t<li>{{\'security.grant.read.write.access\' | translate}}</li>\n </ul>\n<\/script>\n\n<script type="text/ng-template" id="popover-content-repo-manager.html">\n\t<h5>{{\'security.repo.manager.may\' | translate}}</h5>\n\t<ul>\n\t\t<li>{{\'security.use.gdb\' | translate}}</li>\n\t\t<li>{{\'security.read.write.all.repos\' | translate}}</li>\n\t\t<li>{{\'security.create.edit.delete.repos\' | translate}}</li>\n\t\t<li>{{\'security.access.monitoring\' | translate}}</li>\n\t</ul>\n<\/script>\n\n<script type="text/ng-template" id="popover-content-admin.html">\n\t<h5>{{\'security.admin.may\' | translate}}</h5>\n\t<ul>\n\t\t<li>{{\'security.use.gdb\' | translate}}</li>\n\t\t<li>{{\'security.read.write.all.repos\' | translate}}</li>\n\t\t<li>{{\'security.create.edit.delete.repos\' | translate}}</li>\n\t\t<li>{{\'security.access.monitoring\' | translate}}</li>\n\t\t<li>{{\'security.attach.remote.locations\' | translate}}</li>\n\t\t<li>{{\'security.manage.users.access\' | translate}}</li>\n\t\t<li>{{\'security.manage.cluster\' | translate}}</li>\n\t\t<li>{{\'security.view.sys.info\' | translate}}</li>\n\t</ul>\n<\/script>\n\n<link href="css/lib/ng-tags-input/ng-tags-input.min.css?v=2.8.8" rel="stylesheet"/>\n\n<h1>\n {{pageTitle}}\n <page-info-tooltip></page-info-tooltip>\n</h1>\n\n<div id="wb-user" ng-hide="loader">\n\t<form name="form" class="form newUserForm userForm editUserContainer" ng-submit="submit()" novalidate>\n\t\t<div class="row">\n\t\t\t<div class="col-md-6 us-left-col">\n\t\t\t\t<div class="card login-credentials" ng-hide="isOverrideAuth() || !isLocalAuthentication()">\n\t\t\t\t\t<div class="card-block">\n\t\t\t\t\t\t<h3>{{\'view.login.title\' | translate}}</h3>\n\t\t\t\t\t\t<div class="form-group" ng-class="{\'has-danger\': usernameError}">\n\t\t\t\t\t\t\t<div class="input-group">\n\t\t\t\t\t\t\t\t<span class="input-group-addon" gdb-tooltip="{{\'security.table.username\' | translate}}"><em class="icon-user icon-2x text-muted"></em></span>\n\t\t\t\t\t\t\t\t<input id="wb-user-username" placeholder="{{\'security.table.username\' | translate}}" name="username" class="form-control form-control-lg" type="text" ng-model="user.username" ng-readonly="mode !== \'add\'">\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div ng-show="usernameError" class="form-control-feedback">{{usernameError}}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class="form-group" ng-class="{\'has-danger\': passwordError}">\n\t\t\t\t\t\t\t<div class="input-group">\n\t\t\t\t\t\t\t\t<span class="input-group-addon" gdb-tooltip="{{\'security.password.placeholder\' | translate}}"><em class="icon-lock icon-2x text-muted"></em></span>\n\t\t\t\t\t\t\t\t<input id="wb-user-password" placeholder="{{passwordPlaceholder | translate}}" name="password" class="form-control form-control-lg" type="password"\tng-model="user.password" ng-hide="user.external || hasExternalAuthUser()" ng-readonly="noPassword">\n\t\t\t\t\t\t\t\t<span ng-show="user.external || hasExternalAuthUser()">{{\'security.auth.from.external.module\' | translate}}</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div ng-show="passwordError" class="form-control-feedback">{{passwordError}}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class="form-group" ng-class="{\'has-danger\': confirmPasswordError}" ng-hide="user.external || hasExternalAuthUser()">\n\t\t\t\t\t\t\t<div class="input-group">\n\t\t\t\t\t\t\t\t<span class="input-group-addon" gdb-tooltip="{{\'security.password.confirm\' | translate}}"><em class="icon-lock icon-2x text-muted"></em></span>\n\t\t\t\t\t\t\t\t<input id="wb-user-confirmpassword" placeholder="{{\'security.password.confirm\' | translate}}" name="password_confirm" class="form-control form-control-lg" type="password" ng-model="user.confirmpassword" ng-readonly="noPassword">\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div ng-show="confirmPasswordError" class="form-control-feedback">{{confirmPasswordError}}</div>\n\t\t\t\t\t\t</div>\n <div>\n <label class="d-block">\n <input type="checkbox" id="noPassword" ng-model="noPassword" ng-change="setNoPassword()">\n <span ng-show="mode === \'add\'">{{\'security.dont.set.password\' | translate}} </span>\n <span ng-show="mode !== \'add\'">{{\'security.unset.password\' | translate}} </span>\n </label>\n </div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div class="card sparql-editor-settings" id="user-settings">\n\t\t\t\t\t<div class="card-block">\n\t\t\t\t\t\t<h3>{{\'security.user.settings\' | translate}}</h3>\n\n\t\t\t\t\t\t<div id="sameas-on" class="mb-1">\n\t\t\t\t\t\t\t<span class="sameas-label">\n\t\t\t\t\t\t\t\t{{\'security.expand.sameAs.is\' | translate}}\n\t\t\t\t\t\t\t\t<span class="tag {{user.appSettings.DEFAULT_SAMEAS ? \'tag-primary\' : \'tag-default\'}}">\n\t\t\t\t\t\t\t\t\t{{user.appSettings.DEFAULT_SAMEAS ? \'common.on.btn\' : \'common.off.btn\' | translate}}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span gdb-tooltip="{{shouldDisableSameAs() ? \'core.require.inferred\' : \'security.tooltip.click.me\' | translate}}" tooltip-placement="top"\n\t\t\t\t\t\t\t\t ng-click="user.appSettings.DEFAULT_SAMEAS = !user.appSettings.DEFAULT_SAMEAS"\n\t\t\t\t\t\t\t\t class="switch mr-0">\n\t\t\t\t\t\t\t\t<input id="sameAsCheck" type="checkbox" class="switch"\n ng-checked="user.appSettings.DEFAULT_SAMEAS"\n ng-disabled="shouldDisableSameAs()"/>\n\t\t\t\t\t\t\t\t<label for="sameas-on"></label>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t{{\'security.default.editor.graph\' | translate}}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div id="inference-on" class="mb-1">\n\t\t\t\t\t\t\t<span class="inference-label">\n\t\t\t\t\t\t\t\t{{\'security.inference.is\' | translate}}\n\t\t\t\t\t\t\t\t<span class="tag {{user.appSettings.DEFAULT_INFERENCE ? \'tag-primary\' : \'tag-default\'}}">\n\t\t\t\t\t\t\t\t\t{{user.appSettings.DEFAULT_INFERENCE ? \'common.on.btn\' : \'common.off.btn\' | translate}}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span gdb-tooltip="{{\'security.tooltip.click.me\' | translate}}" tooltip-placement="top"\n\t\t\t\t\t\t\t\t ng-click="user.appSettings.DEFAULT_INFERENCE = !user.appSettings.DEFAULT_INFERENCE"\n\t\t\t\t\t\t\t\t class="switch mr-0">\n\t\t\t\t\t\t\t\t<input type="checkbox" class="switch" ng-checked="user.appSettings.DEFAULT_INFERENCE"/>\n\t\t\t\t\t\t\t\t<label for="inference-on"></label>\n\t\t\t\t\t\t\t</span>\n {{\'security.default.editor.graph\' | translate}}\n\t\t\t\t\t\t</div>\n\n <div id="schema-on" class="mb-1">\n\t\t\t\t\t\t\t<span class="schema-label">\n\t\t\t\t\t\t\t\t{{\'security.show.schema\' | translate}}\n\t\t\t\t\t\t\t\t<span class="tag {{user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA ? \'tag-primary\' : \'tag-default\'}}">\n\t\t\t\t\t\t\t\t\t{{user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA ? \'common.on.btn\' : \'common.off.btn\' | translate}}\n\t\t\t\t\t\t\t\t</span>\n <span gdb-tooltip="{{\'security.tooltip.click.me\' | translate}}" tooltip-placement="top"\n ng-click="user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA = !user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA"\n class="switch mr-0">\n\t\t\t\t\t\t\t\t<input type="checkbox" class="switch" ng-checked="user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA"/>\n\t\t\t\t\t\t\t\t<label for="schema-on"></label>\n\t\t\t\t\t\t\t</span>\n {{\'security.default.visual.graph\' | translate}}\n\t\t\t\t\t\t\t</span>\n </div>\n\n\t\t\t\t\t\t<label class="d-block">\n\t\t\t\t\t\t\t<input type="checkbox" ng-model="user.appSettings.EXECUTE_COUNT" id="defaultCount" checked="appSettings.EXECUTE_COUNT">\n\t\t\t\t\t\t\t{{\'security.count.total.results\' | translate}}\n\t\t\t\t\t\t</label>\n\n\t\t\t\t\t\t<label class="d-block">\n\t\t\t\t\t\t\t<input type="checkbox" ng-model="user.appSettings.IGNORE_SHARED_QUERIES" id="ignore-shared" checked="appSettings.IGNORE_SHARED_QUERIES">\n\t\t\t\t\t\t\t{{\'security.ignore.shared.queries\' | translate}}\n\t\t\t\t\t\t</label>\n\n <label class="d-block" ng-if="showCookiePolicyLink">\n <button class="btn btn-secondary show-cookie-policy-btn" ng-click="showCookiePolicy($event)">{{\'cookie.cookie_policy_url_label\' | translate}}</button>\n </label>\n\n </div>\n\t\t\t\t</div>\n\n\t\t\t\t<div class="card" id="workbench-settings" ng-if="showWorkbenchSettings">\n\t\t\t\t\t<div class="card-block">\n\t\t\t\t\t\t<h3>{{\'security.workbench.settings.title\' | translate}}\n\t\t\t\t\t\t\t<em class="icon-info text-tertiary small" gdb-tooltip="{{\'security.workbench.settings.theme.tooltip\' | translate}}"></em></h3>\n\t\t\t\t\t\t<div>\n <div class="form-group">\n <label class="col-lg-2">{{\'security.workbench.settings.theme.label\' | translate}}</label>\n <div class="btn-group theme-selector-dropdown" uib-dropdown>\n <button type="button" class="btn btn-sm btn-secondary dropdown-toggle theme-selector-dropdown-btn" uib-dropdown-toggle>\n {{selectedTheme.label}}\n </button>\n <ul class="dropdown-menu" role="menu">\n <li ng-repeat="theme in themes">\n <a ng-click="setTheme(theme)" class="dropdown-item">{{theme.label}}</a>\n </li>\n </ul>\n </div>\n </div>\n\n <div class="form-group">\n <label class="col-lg-2">{{\'security.workbench.settings.theme.mode.label\' | translate}}</label>\n <div class="radio">\n <label class="px-1">\n <input type="radio" value="light" ng-model="workbenchSettings.mode" ng-change="setThemeMode()"/>\n {{\'security.workbench.settings.theme.mode.light\' | translate}}\n </label>\n <label class="px-1">\n <input type="radio" value="dark" ng-model="workbenchSettings.mode" ng-change="setThemeMode()"/>\n {{\'security.workbench.settings.theme.mode.dark\' | translate}}\n </label>\n </div>\n </div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div class="col-md-6 us-right-col" ng-hide="!isLocalAuthentication()">\n\t\t\t\t<div class="card user-role" id="user-roles">\n\t\t\t\t\t<div class="card-block">\n\t\t\t\t\t\t<h3>{{\'security.user.role\' | translate}}</h3>\n\t\t\t\t\t\t<label class="mr-1"\n\t\t\t\t\t\t\t uib-popover-template="\'popover-content-user.html\'"\n\t\t\t\t\t\t\t popover-trigger="mouseenter"\n\t\t\t\t\t\t\t popover-placement="bottom">\n\t\t\t\t\t\t\t<input type="radio" ng-model="userType" id="roleUser" value="user" ng-disabled="hasEditRestrictions()" >\n\t\t\t\t\t\t\t{{\'security.user.label\' | translate}}\n\t\t\t\t\t\t</label>\n\t\t\t\t\t\t<label class="mr-1"\n\t\t\t\t\t\t\t uib-popover-template="\'popover-content-repo-manager.html\'"\n\t\t\t\t\t\t\t popover-trigger="mouseenter"\n\t\t\t\t\t\t\t popover-placement="bottom">\n\t\t\t\t\t\t\t<input type="radio" ng-model="userType" id="roleRepoAdmin" value="repoManager" ng-disabled="hasEditRestrictions()">\n\t\t\t\t\t\t\t{{\'security.repo.manager.label\' | translate}}\n\t\t\t\t\t\t</label>\n\t\t\t\t\t\t<label uib-popover-template="\'popover-content-admin.html\'"\n\t\t\t\t\t\t\t popover-trigger="mouseenter"\n\t\t\t\t\t\t\t popover-placement="bottom">\n\t\t\t\t\t\t\t<input type="radio" ng-model="userType" id="roleAdmin" value="admin" ng-disabled="hasEditRestrictions()">\n\t\t\t\t\t\t\t{{\'security.admin.label\' | translate}}\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n <div class="card user-custom-roles" id="user-custom-roles">\n <div class="card-block">\n <h3>{{\'security.user.custom_role\' | translate}}</h3>\n <div class="input-group">\n <tags-input name="customRoleTag" class="wb-tags-input" ng-model="customRoles" min-length="1"\n ng-disabled="!isUser() || mode === \'settings\'"\n use-strings="true"\n add-on-space="true"\n add-on-comma="true"\n add-on-paste="true"\n replace-spaces-with-dashes="false"\n paste-split-pattern="[\\s+]"\n on-tag-adding="isCustomRoleValid($tag)"\n on-tag-added="addCustomRole($tag)"\n ng-keydown="checkUserInput($event)"\n ng-cut="removeErrorOnCut()"\n placeholder="{{\'security.user.add.custom_role.msg\' | translate}}"\n custom-prefix-tags-input></tags-input>\n <div class="small" ng-hide="isRoleValid">\n <small>{{\'security.user.role.too.short\' | translate}}</small>\n </div>\n <div class="small prefix-warning" ng-if="form.customRoleTag.$warning">\n <small>{{\'acl_management.rulestable.custom_prefix_warning.text\' | translate}}</small>\n </div>\n </div>\n </div>\n </div>\n\n\t\t\t\t<div id="user-repos" class="card user-repositories">\n\t\t\t\t\t<div class="card-block">\n\t\t\t\t\t\t<h3>{{\'security.repo.rights\' | translate}}</h3>\n\t\t\t\t\t\t<div class="has-danger">\n\t\t\t\t\t\t\t<p ng-show="repositoryCheckError" class="form-control-feedback">\n\t\t\t\t\t\t\t\t{{\'security.user.rights\' | translate}}\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</div>\n <div class="scrollable-table">\n <table class="table table-hover table-sm" aria-describedby="User rights table">\n <thead>\n <tr>\n <th id="repositoryIdColumn">{{\'security.repository.title\' | translate}}</th>\n <th id="readRightsColumn" class="text-xs-center"><em class="icon-eye icon-lg" gdb-tooltip="{{\'security.tooltip.read\' | translate}}"></em></th>\n <th id="writeRightColumn" class="text-xs-center"><em class="icon-edit icon-lg" gdb-tooltip="{{\'security.tooltip.write\' | translate}}"></em></th>\n </tr>\n <tr>\n <th>{{\'security.any.data.repo\' | translate}}\n <em class="icon-info text-tertiary" gdb-tooltip="{{\'security.data.repos\' | translate}}"></em>\n </th>\n <th class="text-xs-center">\n <input class="read" type="checkbox" ng-model="grantedAuthorities.READ_REPO[\'*\']" ng-checked="hasReadPermission(\'*\')" ng-disabled="readCheckDisabled(\'*\')" ng-click="setGrantedAuthorities()">\n </th>\n <th class="text-xs-center">\n <input class="write" type="checkbox" ng-model="grantedAuthorities.WRITE_REPO[\'*\']" ng-checked="hasWritePermission(\'*\')" ng-disabled="writeCheckDisabled(\'*\')" ng-click="setGrantedAuthorities()">\n </th>\n </tr>\n </thead>\n <tbody>\n <div>\n <tr ng-repeat="repository in getReadableRepositories() | orderBy: [\'location\', \'id\']">\n <td class="repository-name">{{repository.id}}<small> · {{repository.location ? repository.location : \'Local\'}}</small></td>\n <td class="text-xs-center read-rights"><input class="read" type="checkbox" ng-model="grantedAuthorities.READ_REPO[createUniqueKey(repository)]" ng-checked="hasReadPermission(repository)" ng-disabled="readCheckDisabled(repository)" ng-click="setGrantedAuthorities()"></td>\n <td class="text-xs-center write-rights"><input class="write" type="checkbox" ng-model="grantedAuthorities.WRITE_REPO[createUniqueKey(repository)]" ng-checked="hasWritePermission(repository)" ng-disabled="writeCheckDisabled(repository)" ng-click="setGrantedAuthorities()"></td>\n </tr>\n </div>\n </tbody>\n </table>\n </div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n </div>\n\t\t</div>\n\n\t\t<div class="text-right">\n <button id="wb-user-goBack" class="btn btn-secondary" type="button" ng-click="goBack()">{{\'common.cancel.btn\' | translate}}</button>\n <button id="wb-user-submit" class="btn btn-primary" type="submit" ng-disabled="!isRoleValid">{{saveButtonText}}</button>\n\t\t</div>\n\t</form>\n</div>\n<div class="ot-loader ot-main-loader" onto-loader size="50" ng-show="loader"></div>\n\n\n\n';return __p}}}]);
|
|
1
|
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[391],{511:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<script type="text/ng-template" id="popover-content-user.html">\n\t<h5>{{\'security.user.may\' | translate}}</h5>\n\t<ul>\n <li>{{\'security.use.gdb\' | translate}}</li>\n\t <li>{{\'security.grant.read.access\' | translate}}</li>\n\t\t<li>{{\'security.grant.read.write.access\' | translate}}</li>\n </ul>\n<\/script>\n\n<script type="text/ng-template" id="popover-content-repo-manager.html">\n\t<h5>{{\'security.repo.manager.may\' | translate}}</h5>\n\t<ul>\n\t\t<li>{{\'security.use.gdb\' | translate}}</li>\n\t\t<li>{{\'security.read.write.all.repos\' | translate}}</li>\n\t\t<li>{{\'security.create.edit.delete.repos\' | translate}}</li>\n\t\t<li>{{\'security.access.monitoring\' | translate}}</li>\n\t</ul>\n<\/script>\n\n<script type="text/ng-template" id="popover-content-admin.html">\n\t<h5>{{\'security.admin.may\' | translate}}</h5>\n\t<ul>\n\t\t<li>{{\'security.use.gdb\' | translate}}</li>\n\t\t<li>{{\'security.read.write.all.repos\' | translate}}</li>\n\t\t<li>{{\'security.create.edit.delete.repos\' | translate}}</li>\n\t\t<li>{{\'security.access.monitoring\' | translate}}</li>\n\t\t<li>{{\'security.attach.remote.locations\' | translate}}</li>\n\t\t<li>{{\'security.manage.users.access\' | translate}}</li>\n\t\t<li>{{\'security.manage.cluster\' | translate}}</li>\n\t\t<li>{{\'security.view.sys.info\' | translate}}</li>\n\t</ul>\n<\/script>\n\n<link href="css/lib/ng-tags-input/ng-tags-input.min.css?v=2.8.9-RC1" rel="stylesheet"/>\n\n<h1>\n {{pageTitle}}\n <page-info-tooltip></page-info-tooltip>\n</h1>\n\n<div id="wb-user" ng-hide="loader">\n\t<form name="form" class="form newUserForm userForm editUserContainer" ng-submit="submit()" novalidate>\n\t\t<div class="row">\n\t\t\t<div class="col-md-6 us-left-col">\n\t\t\t\t<div class="card login-credentials" ng-hide="isOverrideAuth() || !isLocalAuthentication()">\n\t\t\t\t\t<div class="card-block">\n\t\t\t\t\t\t<h3>{{\'view.login.title\' | translate}}</h3>\n\t\t\t\t\t\t<div class="form-group" ng-class="{\'has-danger\': usernameError}">\n\t\t\t\t\t\t\t<div class="input-group">\n\t\t\t\t\t\t\t\t<span class="input-group-addon" gdb-tooltip="{{\'security.table.username\' | translate}}"><em class="icon-user icon-2x text-muted"></em></span>\n\t\t\t\t\t\t\t\t<input id="wb-user-username" placeholder="{{\'security.table.username\' | translate}}" name="username" class="form-control form-control-lg" type="text" ng-model="user.username" ng-readonly="mode !== \'add\'">\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div ng-show="usernameError" class="form-control-feedback">{{usernameError}}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class="form-group" ng-class="{\'has-danger\': passwordError}">\n\t\t\t\t\t\t\t<div class="input-group">\n\t\t\t\t\t\t\t\t<span class="input-group-addon" gdb-tooltip="{{\'security.password.placeholder\' | translate}}"><em class="icon-lock icon-2x text-muted"></em></span>\n\t\t\t\t\t\t\t\t<input id="wb-user-password" placeholder="{{passwordPlaceholder | translate}}" name="password" class="form-control form-control-lg" type="password"\tng-model="user.password" ng-hide="user.external || hasExternalAuthUser()" ng-readonly="noPassword">\n\t\t\t\t\t\t\t\t<span ng-show="user.external || hasExternalAuthUser()">{{\'security.auth.from.external.module\' | translate}}</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div ng-show="passwordError" class="form-control-feedback">{{passwordError}}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class="form-group" ng-class="{\'has-danger\': confirmPasswordError}" ng-hide="user.external || hasExternalAuthUser()">\n\t\t\t\t\t\t\t<div class="input-group">\n\t\t\t\t\t\t\t\t<span class="input-group-addon" gdb-tooltip="{{\'security.password.confirm\' | translate}}"><em class="icon-lock icon-2x text-muted"></em></span>\n\t\t\t\t\t\t\t\t<input id="wb-user-confirmpassword" placeholder="{{\'security.password.confirm\' | translate}}" name="password_confirm" class="form-control form-control-lg" type="password" ng-model="user.confirmpassword" ng-readonly="noPassword">\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div ng-show="confirmPasswordError" class="form-control-feedback">{{confirmPasswordError}}</div>\n\t\t\t\t\t\t</div>\n <div>\n <label class="d-block">\n <input type="checkbox" id="noPassword" ng-model="noPassword" ng-change="setNoPassword()">\n <span ng-show="mode === \'add\'">{{\'security.dont.set.password\' | translate}} </span>\n <span ng-show="mode !== \'add\'">{{\'security.unset.password\' | translate}} </span>\n </label>\n </div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div class="card sparql-editor-settings" id="user-settings">\n\t\t\t\t\t<div class="card-block">\n\t\t\t\t\t\t<h3>{{\'security.user.settings\' | translate}}</h3>\n\n\t\t\t\t\t\t<div id="sameas-on" class="mb-1">\n\t\t\t\t\t\t\t<span class="sameas-label">\n\t\t\t\t\t\t\t\t{{\'security.expand.sameAs.is\' | translate}}\n\t\t\t\t\t\t\t\t<span class="tag {{user.appSettings.DEFAULT_SAMEAS ? \'tag-primary\' : \'tag-default\'}}">\n\t\t\t\t\t\t\t\t\t{{user.appSettings.DEFAULT_SAMEAS ? \'common.on.btn\' : \'common.off.btn\' | translate}}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span gdb-tooltip="{{shouldDisableSameAs() ? \'core.require.inferred\' : \'security.tooltip.click.me\' | translate}}" tooltip-placement="top"\n\t\t\t\t\t\t\t\t ng-click="user.appSettings.DEFAULT_SAMEAS = !user.appSettings.DEFAULT_SAMEAS"\n\t\t\t\t\t\t\t\t class="switch mr-0">\n\t\t\t\t\t\t\t\t<input id="sameAsCheck" type="checkbox" class="switch"\n ng-checked="user.appSettings.DEFAULT_SAMEAS"\n ng-disabled="shouldDisableSameAs()"/>\n\t\t\t\t\t\t\t\t<label for="sameas-on"></label>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t{{\'security.default.editor.graph\' | translate}}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div id="inference-on" class="mb-1">\n\t\t\t\t\t\t\t<span class="inference-label">\n\t\t\t\t\t\t\t\t{{\'security.inference.is\' | translate}}\n\t\t\t\t\t\t\t\t<span class="tag {{user.appSettings.DEFAULT_INFERENCE ? \'tag-primary\' : \'tag-default\'}}">\n\t\t\t\t\t\t\t\t\t{{user.appSettings.DEFAULT_INFERENCE ? \'common.on.btn\' : \'common.off.btn\' | translate}}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span gdb-tooltip="{{\'security.tooltip.click.me\' | translate}}" tooltip-placement="top"\n\t\t\t\t\t\t\t\t ng-click="user.appSettings.DEFAULT_INFERENCE = !user.appSettings.DEFAULT_INFERENCE"\n\t\t\t\t\t\t\t\t class="switch mr-0">\n\t\t\t\t\t\t\t\t<input type="checkbox" class="switch" ng-checked="user.appSettings.DEFAULT_INFERENCE"/>\n\t\t\t\t\t\t\t\t<label for="inference-on"></label>\n\t\t\t\t\t\t\t</span>\n {{\'security.default.editor.graph\' | translate}}\n\t\t\t\t\t\t</div>\n\n <div id="schema-on" class="mb-1">\n\t\t\t\t\t\t\t<span class="schema-label">\n\t\t\t\t\t\t\t\t{{\'security.show.schema\' | translate}}\n\t\t\t\t\t\t\t\t<span class="tag {{user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA ? \'tag-primary\' : \'tag-default\'}}">\n\t\t\t\t\t\t\t\t\t{{user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA ? \'common.on.btn\' : \'common.off.btn\' | translate}}\n\t\t\t\t\t\t\t\t</span>\n <span gdb-tooltip="{{\'security.tooltip.click.me\' | translate}}" tooltip-placement="top"\n ng-click="user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA = !user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA"\n class="switch mr-0">\n\t\t\t\t\t\t\t\t<input type="checkbox" class="switch" ng-checked="user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA"/>\n\t\t\t\t\t\t\t\t<label for="schema-on"></label>\n\t\t\t\t\t\t\t</span>\n {{\'security.default.visual.graph\' | translate}}\n\t\t\t\t\t\t\t</span>\n </div>\n\n\t\t\t\t\t\t<label class="d-block">\n\t\t\t\t\t\t\t<input type="checkbox" ng-model="user.appSettings.EXECUTE_COUNT" id="defaultCount" checked="appSettings.EXECUTE_COUNT">\n\t\t\t\t\t\t\t{{\'security.count.total.results\' | translate}}\n\t\t\t\t\t\t</label>\n\n\t\t\t\t\t\t<label class="d-block">\n\t\t\t\t\t\t\t<input type="checkbox" ng-model="user.appSettings.IGNORE_SHARED_QUERIES" id="ignore-shared" checked="appSettings.IGNORE_SHARED_QUERIES">\n\t\t\t\t\t\t\t{{\'security.ignore.shared.queries\' | translate}}\n\t\t\t\t\t\t</label>\n\n <label class="d-block" ng-if="showCookiePolicyLink">\n <button class="btn btn-secondary show-cookie-policy-btn" ng-click="showCookiePolicy($event)">{{\'cookie.cookie_policy_url_label\' | translate}}</button>\n </label>\n\n </div>\n\t\t\t\t</div>\n\n\t\t\t\t<div class="card" id="workbench-settings" ng-if="showWorkbenchSettings">\n\t\t\t\t\t<div class="card-block">\n\t\t\t\t\t\t<h3>{{\'security.workbench.settings.title\' | translate}}\n\t\t\t\t\t\t\t<em class="icon-info text-tertiary small" gdb-tooltip="{{\'security.workbench.settings.theme.tooltip\' | translate}}"></em></h3>\n\t\t\t\t\t\t<div>\n <div class="form-group">\n <label class="col-lg-2">{{\'security.workbench.settings.theme.label\' | translate}}</label>\n <div class="btn-group theme-selector-dropdown" uib-dropdown>\n <button type="button" class="btn btn-sm btn-secondary dropdown-toggle theme-selector-dropdown-btn" uib-dropdown-toggle>\n {{selectedTheme.label}}\n </button>\n <ul class="dropdown-menu" role="menu">\n <li ng-repeat="theme in themes">\n <a ng-click="setTheme(theme)" class="dropdown-item">{{theme.label}}</a>\n </li>\n </ul>\n </div>\n </div>\n\n <div class="form-group">\n <label class="col-lg-2">{{\'security.workbench.settings.theme.mode.label\' | translate}}</label>\n <div class="radio">\n <label class="px-1">\n <input type="radio" value="light" ng-model="workbenchSettings.mode" ng-change="setThemeMode()"/>\n {{\'security.workbench.settings.theme.mode.light\' | translate}}\n </label>\n <label class="px-1">\n <input type="radio" value="dark" ng-model="workbenchSettings.mode" ng-change="setThemeMode()"/>\n {{\'security.workbench.settings.theme.mode.dark\' | translate}}\n </label>\n </div>\n </div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div class="col-md-6 us-right-col" ng-hide="!isLocalAuthentication()">\n\t\t\t\t<div class="card user-role" id="user-roles">\n\t\t\t\t\t<div class="card-block">\n\t\t\t\t\t\t<h3>{{\'security.user.role\' | translate}}</h3>\n\t\t\t\t\t\t<label class="mr-1"\n\t\t\t\t\t\t\t uib-popover-template="\'popover-content-user.html\'"\n\t\t\t\t\t\t\t popover-trigger="mouseenter"\n\t\t\t\t\t\t\t popover-placement="bottom">\n\t\t\t\t\t\t\t<input type="radio" ng-model="userType" id="roleUser" value="user" ng-disabled="hasEditRestrictions()" >\n\t\t\t\t\t\t\t{{\'security.user.label\' | translate}}\n\t\t\t\t\t\t</label>\n\t\t\t\t\t\t<label class="mr-1"\n\t\t\t\t\t\t\t uib-popover-template="\'popover-content-repo-manager.html\'"\n\t\t\t\t\t\t\t popover-trigger="mouseenter"\n\t\t\t\t\t\t\t popover-placement="bottom">\n\t\t\t\t\t\t\t<input type="radio" ng-model="userType" id="roleRepoAdmin" value="repoManager" ng-disabled="hasEditRestrictions()">\n\t\t\t\t\t\t\t{{\'security.repo.manager.label\' | translate}}\n\t\t\t\t\t\t</label>\n\t\t\t\t\t\t<label uib-popover-template="\'popover-content-admin.html\'"\n\t\t\t\t\t\t\t popover-trigger="mouseenter"\n\t\t\t\t\t\t\t popover-placement="bottom">\n\t\t\t\t\t\t\t<input type="radio" ng-model="userType" id="roleAdmin" value="admin" ng-disabled="hasEditRestrictions()">\n\t\t\t\t\t\t\t{{\'security.admin.label\' | translate}}\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n <div class="card user-custom-roles" id="user-custom-roles">\n <div class="card-block">\n <h3>{{\'security.user.custom_role\' | translate}}</h3>\n <div class="input-group">\n <tags-input name="customRoleTag" class="wb-tags-input" ng-model="customRoles" min-length="1"\n ng-disabled="!isUser() || mode === \'settings\'"\n use-strings="true"\n add-on-space="true"\n add-on-comma="true"\n add-on-paste="true"\n replace-spaces-with-dashes="false"\n paste-split-pattern="[\\s+]"\n on-tag-adding="isCustomRoleValid($tag)"\n on-tag-added="addCustomRole($tag)"\n ng-keydown="checkUserInput($event)"\n ng-cut="removeErrorOnCut()"\n placeholder="{{\'security.user.add.custom_role.msg\' | translate}}"\n custom-prefix-tags-input></tags-input>\n <div class="small" ng-hide="isRoleValid">\n <small>{{\'security.user.role.too.short\' | translate}}</small>\n </div>\n <div class="small prefix-warning" ng-if="form.customRoleTag.$warning">\n <small>{{\'acl_management.rulestable.custom_prefix_warning.text\' | translate}}</small>\n </div>\n </div>\n </div>\n </div>\n\n\t\t\t\t<div id="user-repos" class="card user-repositories">\n\t\t\t\t\t<div class="card-block">\n\t\t\t\t\t\t<h3>{{\'security.repo.rights\' | translate}}</h3>\n\t\t\t\t\t\t<div class="has-danger">\n\t\t\t\t\t\t\t<p ng-show="repositoryCheckError" class="form-control-feedback">\n\t\t\t\t\t\t\t\t{{\'security.user.rights\' | translate}}\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</div>\n <div class="scrollable-table">\n <table class="table table-hover table-sm" aria-describedby="User rights table">\n <thead>\n <tr>\n <th id="repositoryIdColumn">{{\'security.repository.title\' | translate}}</th>\n <th id="readRightsColumn" class="text-xs-center"><em class="icon-eye icon-lg" gdb-tooltip="{{\'security.tooltip.read\' | translate}}"></em></th>\n <th id="writeRightColumn" class="text-xs-center"><em class="icon-edit icon-lg" gdb-tooltip="{{\'security.tooltip.write\' | translate}}"></em></th>\n </tr>\n <tr>\n <th>{{\'security.any.data.repo\' | translate}}\n <em class="icon-info text-tertiary" gdb-tooltip="{{\'security.data.repos\' | translate}}"></em>\n </th>\n <th class="text-xs-center">\n <input class="read" type="checkbox" ng-model="grantedAuthorities.READ_REPO[\'*\']" ng-checked="hasReadPermission(\'*\')" ng-disabled="readCheckDisabled(\'*\')" ng-click="setGrantedAuthorities()">\n </th>\n <th class="text-xs-center">\n <input class="write" type="checkbox" ng-model="grantedAuthorities.WRITE_REPO[\'*\']" ng-checked="hasWritePermission(\'*\')" ng-disabled="writeCheckDisabled(\'*\')" ng-click="setGrantedAuthorities()">\n </th>\n </tr>\n </thead>\n <tbody>\n <div>\n <tr ng-repeat="repository in getReadableRepositories() | orderBy: [\'location\', \'id\']">\n <td class="repository-name">{{repository.id}}<small> · {{repository.location ? repository.location : \'Local\'}}</small></td>\n <td class="text-xs-center read-rights"><input class="read" type="checkbox" ng-model="grantedAuthorities.READ_REPO[createUniqueKey(repository)]" ng-checked="hasReadPermission(repository)" ng-disabled="readCheckDisabled(repository)" ng-click="setGrantedAuthorities()"></td>\n <td class="text-xs-center write-rights"><input class="write" type="checkbox" ng-model="grantedAuthorities.WRITE_REPO[createUniqueKey(repository)]" ng-checked="hasWritePermission(repository)" ng-disabled="writeCheckDisabled(repository)" ng-click="setGrantedAuthorities()"></td>\n </tr>\n </div>\n </tbody>\n </table>\n </div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n </div>\n\t\t</div>\n\n\t\t<div class="text-right">\n <button id="wb-user-goBack" class="btn btn-secondary" type="button" ng-click="goBack()">{{\'common.cancel.btn\' | translate}}</button>\n <button id="wb-user-submit" class="btn btn-primary" type="submit" ng-disabled="!isRoleValid">{{saveButtonText}}</button>\n\t\t</div>\n\t</form>\n</div>\n<div class="ot-loader ot-main-loader" onto-loader size="50" ng-show="loader"></div>\n\n\n\n';return __p}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[40,100,217,218,219,220,221],{124:function(e,r,t){"use strict";t.r(r),t.d(r,"JdbcDriverType",(function(){return o}));const o={GENERIC:"generic",MY_SQL:"mySQL",POSTGRESS:"postgreSQL",ORACLE:"oracle",MS_SQL:"msSQL",DB2:"DB2",DREMIO:"dremio",DATABRICKS:"databricks",SNOWFLAKE:"snowflake"}},186:function(e,r,t){"use strict";t.r(r),t.d(r,"OntopConnectionInformation",(function(){return o}));class o{constructor(e="generic"){this.driverType=e,this.hostName="",this.port=void 0,this.databaseName="",this.username="",this.password="",this.driverClass="",this.url="",this.urlUserInput=""}}},187:function(e,r,t){"use strict";t.r(r),t.d(r,"OntopDriverData",(function(){return n}));var o=t(124);class n{constructor(){this.classAvailable=!1,this.downloadDriverUrl="",this.driverClass="",this.driverName="",this.driverType="",this.portRequired=!1,this.urlTemplate=""}static isGenericDriver(e){return e===o.JdbcDriverType.GENERIC}static isSnowflakeDriver(e){return e===o.JdbcDriverType.SNOWFLAKE}}},188:function(e,r,t){"use strict";t.r(r),t.d(r,"OntopFileInfo",(function(){return o}));class o{constructor(e,r=!1){this.type=e,this.fileName="",this.loading=!1,this.required=r}}},189:function(e,r,t){"use strict";t.r(r),t.d(r,"OntopFileType",(function(){return o}));const o={OBDA:"obdaFile",OWL:"owlFile",CONSTRAINT:"constraintFile",LENSES:"lensesFile",DB_METADATA:"dbMetadataFile"}},190:function(e,r,t){"use strict";t.r(r),t.d(r,"OntopRepositoryError",(function(){return o}));class o extends Error{}},305:function(e,r,t){"use strict";t.r(r);var o=t(156),n=t(189),a=t(186),i=t(188),s=t(190),p=t(187),c=t(124);function l(e,r,t,l,d){return{restrict:"E",scope:!1,templateUrl:"js/angular/repositories/templates/ontop-repo.html",link:function(m){m.isGenericDriver=!0,m.defaultUrlTemplate="jdbc:database://localhost:port/database_name",m.ontopProperiesLink="https://ontop-vkg.org/guide/advanced/configuration.html",m.ontopFileType=n.OntopFileType,m.selectedDriver=new p.OntopDriverData,m.supportedDriversData=[],m.formData={connectionInformation:new a.OntopConnectionInformation,settings:{additionalProperties:"",ontopFiles:[]}},m.selectDriver=e=>{m.selectedDriver=m.supportedDriversData.find(r=>r.driverType===e),m.isGenericDriver=p.OntopDriverData.isGenericDriver(m.selectedDriver.driverType),m.editRepoPage&&m.currentOntopRepoInfo&&m.currentOntopRepoInfo.connectionInformation.driverType===e?m.formData=_.cloneDeep(m.currentOntopRepoInfo):(w(),m.formData.connectionInformation.driverType=m.selectedDriver.driverType),m.formData.connectionInformation.driverClass=m.selectedDriver.driverClass,m.updateUrl()},m.getOntopFileInfo=e=>m.formData.settings.ontopFiles.find(r=>e===r.type),m.getHostNameLabel=()=>{const e=p.OntopDriverData.isSnowflakeDriver(m.selectedDriver.driverType)?"ontop.repo.database.snowflake.host_name":"ontop.repo.database.host_name";return d.instant(e)+"*"},m.getDatabaseNameLabel=()=>{let e="";switch(m.selectedDriver.driverType){case c.JdbcDriverType.SNOWFLAKE:e="ontop.repo.database.warehouse.database_name";break;case c.JdbcDriverType.DATABRICKS:e="ontop.repo.database.http_path.database_name";break;case c.JdbcDriverType.DREMIO:e="ontop.repo.database.schema.database_name";break;default:e="ontop.repo.database.database_name"}return d.instant(e)},m.updateUrl=()=>{const e=u()||"";m.formData.connectionInformation.url=e+m.formData.connectionInformation.urlUserInput},m.isTestConnectionDisabled=()=>{const e=m.formData.connectionInformation,r=m.selectedDriver;return!(e.driverClass&&e.url&&(!r.portRequired||e.port))||!(p.OntopDriverData.isGenericDriver(r.driverType)||e.hostName&&e.databaseName)},m.testConnection=()=>{b().then(R).then(O).then(g).then(N).then(h).then(()=>r.validateOntopPropertiesConnection(m.repositoryInfo)).then(()=>t.success(d.instant("ontop.repo.successful.connection.msg"))).catch(e=>{e instanceof s.OntopRepositoryError?t.error(e.message):I(d.instant("ontop.repo.failed.to.connect"),e)})},m.editFile=t=>{const n=m.repositoryInfo.params[t.type].label,a=d.instant("update.file.edit.content.header",{fileName:n});e.open({templateUrl:"js/angular/templates/modal/editRepoFile.html",controller:"EditRepositoryFileCtrl",windowClass:"update-ontop-repo-dialog",resolve:{file:()=>{const e=m.repositoryInfo.params[t.type];return e?e.value:""},dialogTitle:()=>a,location:()=>m.repositoryInfo.location}}).result.then(e=>{r.updateRepositoryFileContent(e.fileLocation,e.content,m.repositoryInfo.location).success(e=>{t.fileName=Object(o.getFileName)(e.fileLocation),m.repositoryInfo.params[t.type].value=e.fileLocation}).error(e=>{I(d.instant("common.error"),e)})})},m.uploadOntopFile=(e,r)=>{if(e&&e.length){const o=e[0];r.loading=!0;const n={url:"rest/repositories/file/upload",data:{file:o,location:m.repositoryInfo.location}};l.upload(n).success(e=>{e.success?(r.fileName=o.name,m.repositoryInfo.params[r.type].value=e.fileLocation):t.error(e.errorMessage)}).error(e=>{I(d.instant("common.error"),e),m.uploadFile=""}).finally(()=>{r.loading=!1})}},m.updateOntopRepo=()=>{const e=m.editRepoPage?m.editRepository:m.createRepo;T().then(b).then(R).then(O).then(g).then(N).then(F).then(h).then(e).catch(e=>{e instanceof s.OntopRepositoryError?t.error(e.message):console.log(e)})},m.onKeyDownInUrlInput=e=>{const r=e.keyCode;if(37===r||39===r||36===r||35===r)return;const t=u();if(!t)return;const o=e.ctrlKey||e.metaKey;if(o&&65===r||o&&67===r)return;const n=e.target.selectionStart;8===r&&n-1<t.length&&(e.preventDefault(),e.stopPropagation()),n<t.length&&(e.preventDefault(),e.stopPropagation())},m.onKeyUpInUrlInput=()=>{f()};const f=()=>{const e=u();e&&m.formData.connectionInformation.url.startsWith(e)?m.formData.connectionInformation.urlUserInput=m.formData.connectionInformation.url.substring(e.length):m.formData.connectionInformation.urlUserInput=m.formData.connectionInformation.url},u=()=>p.OntopDriverData.isSnowflakeDriver(m.selectedDriver.driverType)?D():v(),D=()=>{let e=m.selectedDriver.urlTemplate;const r=m.formData.connectionInformation;return r.hostName&&(e=e.replace("{identifier}",r.hostName)),r.port&&(e=e.replace(".snowflakecomputing.com/?",`.snowflakecomputing.com:${r.port}/?`)),r.databaseName&&(e=e.replace("{database}",r.databaseName)),e},v=()=>{let e=m.selectedDriver.urlTemplate;const r=m.formData.connectionInformation;return r.hostName&&(e=r.port?e.replace("{hostport}",`${r.hostName}:${r.port}`):e.replace("{hostport}",""+r.hostName)),r.databaseName&&(e=e.replace("{database}",r.databaseName)),e},y=e=>{m.formData.settings.ontopFiles.forEach(r=>{r.loading=e})},h=()=>{y(!0);const e=m.formData.connectionInformation,t={hostName:e.hostName,port:e.port,databaseName:e.databaseName,userName:e.username,password:e.password,driverClass:e.driverClass,url:e.url,additionalProperties:m.formData.settings.additionalProperties};return r.updatePropertiesFile(m.repositoryInfo.params.propertiesFile.value,t,m.repositoryInfo.location,m.selectedDriver.driverType).success(e=>{m.repositoryInfo.params.propertiesFile.value=e.fileLocation}).error(e=>{I(d.instant("common.error"),e)}).finally(()=>y(!1))},I=(e,r)=>{const o=getError(r);t.error(o,e)},b=()=>p.OntopDriverData.isGenericDriver(m.selectedDriver.driverType)||m.formData.connectionInformation.hostName?Promise.resolve():Promise.reject(new s.OntopRepositoryError(d.instant("missing.required.field",{fieldName:d.instant("ontop.repo.database.host_name")}))),O=()=>p.OntopDriverData.isGenericDriver(m.selectedDriver.driverType)||m.formData.connectionInformation.databaseName?Promise.resolve():Promise.reject(new s.OntopRepositoryError(d.instant("missing.required.field",{fieldName:d.instant("ontop.repo.database.database_name")}))),g=()=>m.formData.connectionInformation.driverClass?Promise.resolve():Promise.reject(new s.OntopRepositoryError(d.instant("missing.required.field",{fieldName:d.instant("ontop.repo.database.driver_class")}))),N=()=>m.formData.connectionInformation.url?Promise.resolve():Promise.reject(new s.OntopRepositoryError(d.instant("missing.required.field",{fieldName:d.instant("ontop.repo.database.url")}))),T=()=>m.repositoryInfo.id?Promise.resolve():Promise.reject(new s.OntopRepositoryError(d.instant("empty.repoid.warning"))),F=()=>m.getOntopFileInfo(n.OntopFileType.OBDA).fileName?Promise.resolve():Promise.reject(new s.OntopRepositoryError(d.instant("ontop.repo.missing.required.file",{fileName:m.repositoryInfo.params[n.OntopFileType.OBDA].label}))),R=()=>m.selectedDriver.portRequired&&!m.formData.connectionInformation.port?Promise.reject(new s.OntopRepositoryError(d.instant("missing.required.field",{fieldName:d.instant("ontop.repo.database.port")}))):Promise.resolve(),w=()=>{m.formData={connectionInformation:new a.OntopConnectionInformation,settings:{additionalProperties:"",ontopFiles:[]}},Object.values(n.OntopFileType).forEach(e=>{const r=new i.OntopFileInfo(e);m.formData.settings.ontopFiles.push(r)}),m.getOntopFileInfo(n.OntopFileType.OBDA).required=!0};r.getSupportedDriversData(m.repositoryInfo).success(e=>{m.supportedDriversData=e}).error(e=>{I(d.instant("common.error"),e)}).then(()=>{m.editRepoPage?(y(!0),r.loadPropertiesFile(m.repositoryInfo.params.propertiesFile.value,m.repositoryInfo.location,m.selectedDriver.driverType).success(e=>{let r=m.supportedDriversData.find(r=>r.driverClass===e.driverClass);r&&e.hostName||(r=m.supportedDriversData.find(e=>p.OntopDriverData.isGenericDriver(e.driverType))),m.selectDriver(r.driverType),m.formData.connectionInformation.driverType=r.driverType,m.formData.connectionInformation.driverClass=e.driverClass,m.formData.connectionInformation.password=e.password,m.formData.connectionInformation.username=e.userName,m.formData.connectionInformation.url=e.url,m.formData.settings.additionalProperties=e.additionalProperties,p.OntopDriverData.isGenericDriver(r.driverType)||(m.formData.connectionInformation.hostName=e.hostName,m.formData.connectionInformation.databaseName=e.databaseName,m.formData.connectionInformation.port=e.port?parseInt(e.port,10):void 0),f(),m.updateUrl(),Object.values(n.OntopFileType).forEach(e=>{const r=m.repositoryInfo.params[e],t=m.getOntopFileInfo(e);r&&(t.fileName=Object(o.getFileName)(r.value))}),m.currentOntopRepoInfo=_.cloneDeep(m.formData)}).error(e=>{I(d.instant("common.error"),e)}).finally(()=>{y(!1)})):m.selectDriver(c.JdbcDriverType.GENERIC)})}}}angular.module("graphdb.framework.repositories.ontop-repo.directive",[]).directive("ontopRepo",l),l.$inject=["$uibModal","RepositoriesRestService","toastr","Upload","$translate"]}}]);
|
|
1
|
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[40,101,217,218,219,220,221],{125:function(e,r,t){"use strict";t.r(r),t.d(r,"JdbcDriverType",(function(){return o}));const o={GENERIC:"generic",MY_SQL:"mySQL",POSTGRESS:"postgreSQL",ORACLE:"oracle",MS_SQL:"msSQL",DB2:"DB2",DREMIO:"dremio",DATABRICKS:"databricks",SNOWFLAKE:"snowflake"}},186:function(e,r,t){"use strict";t.r(r),t.d(r,"OntopConnectionInformation",(function(){return o}));class o{constructor(e="generic"){this.driverType=e,this.hostName="",this.port=void 0,this.databaseName="",this.username="",this.password="",this.driverClass="",this.url="",this.urlUserInput=""}}},187:function(e,r,t){"use strict";t.r(r),t.d(r,"OntopDriverData",(function(){return n}));var o=t(125);class n{constructor(){this.classAvailable=!1,this.downloadDriverUrl="",this.driverClass="",this.driverName="",this.driverType="",this.portRequired=!1,this.urlTemplate=""}static isGenericDriver(e){return e===o.JdbcDriverType.GENERIC}static isSnowflakeDriver(e){return e===o.JdbcDriverType.SNOWFLAKE}}},188:function(e,r,t){"use strict";t.r(r),t.d(r,"OntopFileInfo",(function(){return o}));class o{constructor(e,r=!1){this.type=e,this.fileName="",this.loading=!1,this.required=r}}},189:function(e,r,t){"use strict";t.r(r),t.d(r,"OntopFileType",(function(){return o}));const o={OBDA:"obdaFile",OWL:"owlFile",CONSTRAINT:"constraintFile",LENSES:"lensesFile",DB_METADATA:"dbMetadataFile"}},190:function(e,r,t){"use strict";t.r(r),t.d(r,"OntopRepositoryError",(function(){return o}));class o extends Error{}},305:function(e,r,t){"use strict";t.r(r);var o=t(156),n=t(189),a=t(186),i=t(188),s=t(190),p=t(187),c=t(125);function l(e,r,t,l,d){return{restrict:"E",scope:!1,templateUrl:"js/angular/repositories/templates/ontop-repo.html",link:function(m){m.isGenericDriver=!0,m.defaultUrlTemplate="jdbc:database://localhost:port/database_name",m.ontopProperiesLink="https://ontop-vkg.org/guide/advanced/configuration.html",m.ontopFileType=n.OntopFileType,m.selectedDriver=new p.OntopDriverData,m.supportedDriversData=[],m.formData={connectionInformation:new a.OntopConnectionInformation,settings:{additionalProperties:"",ontopFiles:[]}},m.selectDriver=e=>{m.selectedDriver=m.supportedDriversData.find(r=>r.driverType===e),m.isGenericDriver=p.OntopDriverData.isGenericDriver(m.selectedDriver.driverType),m.editRepoPage&&m.currentOntopRepoInfo&&m.currentOntopRepoInfo.connectionInformation.driverType===e?m.formData=_.cloneDeep(m.currentOntopRepoInfo):(w(),m.formData.connectionInformation.driverType=m.selectedDriver.driverType),m.formData.connectionInformation.driverClass=m.selectedDriver.driverClass,m.updateUrl()},m.getOntopFileInfo=e=>m.formData.settings.ontopFiles.find(r=>e===r.type),m.getHostNameLabel=()=>{const e=p.OntopDriverData.isSnowflakeDriver(m.selectedDriver.driverType)?"ontop.repo.database.snowflake.host_name":"ontop.repo.database.host_name";return d.instant(e)+"*"},m.getDatabaseNameLabel=()=>{let e="";switch(m.selectedDriver.driverType){case c.JdbcDriverType.SNOWFLAKE:e="ontop.repo.database.warehouse.database_name";break;case c.JdbcDriverType.DATABRICKS:e="ontop.repo.database.http_path.database_name";break;case c.JdbcDriverType.DREMIO:e="ontop.repo.database.schema.database_name";break;default:e="ontop.repo.database.database_name"}return d.instant(e)},m.updateUrl=()=>{const e=u()||"";m.formData.connectionInformation.url=e+m.formData.connectionInformation.urlUserInput},m.isTestConnectionDisabled=()=>{const e=m.formData.connectionInformation,r=m.selectedDriver;return!(e.driverClass&&e.url&&(!r.portRequired||e.port))||!(p.OntopDriverData.isGenericDriver(r.driverType)||e.hostName&&e.databaseName)},m.testConnection=()=>{b().then(R).then(O).then(g).then(N).then(h).then(()=>r.validateOntopPropertiesConnection(m.repositoryInfo)).then(()=>t.success(d.instant("ontop.repo.successful.connection.msg"))).catch(e=>{e instanceof s.OntopRepositoryError?t.error(e.message):I(d.instant("ontop.repo.failed.to.connect"),e)})},m.editFile=t=>{const n=m.repositoryInfo.params[t.type].label,a=d.instant("update.file.edit.content.header",{fileName:n});e.open({templateUrl:"js/angular/templates/modal/editRepoFile.html",controller:"EditRepositoryFileCtrl",windowClass:"update-ontop-repo-dialog",resolve:{file:()=>{const e=m.repositoryInfo.params[t.type];return e?e.value:""},dialogTitle:()=>a,location:()=>m.repositoryInfo.location}}).result.then(e=>{r.updateRepositoryFileContent(e.fileLocation,e.content,m.repositoryInfo.location).success(e=>{t.fileName=Object(o.getFileName)(e.fileLocation),m.repositoryInfo.params[t.type].value=e.fileLocation}).error(e=>{I(d.instant("common.error"),e)})})},m.uploadOntopFile=(e,r)=>{if(e&&e.length){const o=e[0];r.loading=!0;const n={url:"rest/repositories/file/upload",data:{file:o,location:m.repositoryInfo.location}};l.upload(n).success(e=>{e.success?(r.fileName=o.name,m.repositoryInfo.params[r.type].value=e.fileLocation):t.error(e.errorMessage)}).error(e=>{I(d.instant("common.error"),e),m.uploadFile=""}).finally(()=>{r.loading=!1})}},m.updateOntopRepo=()=>{const e=m.editRepoPage?m.editRepository:m.createRepo;T().then(b).then(R).then(O).then(g).then(N).then(F).then(h).then(e).catch(e=>{e instanceof s.OntopRepositoryError?t.error(e.message):console.log(e)})},m.onKeyDownInUrlInput=e=>{const r=e.keyCode;if(37===r||39===r||36===r||35===r)return;const t=u();if(!t)return;const o=e.ctrlKey||e.metaKey;if(o&&65===r||o&&67===r)return;const n=e.target.selectionStart;8===r&&n-1<t.length&&(e.preventDefault(),e.stopPropagation()),n<t.length&&(e.preventDefault(),e.stopPropagation())},m.onKeyUpInUrlInput=()=>{f()};const f=()=>{const e=u();e&&m.formData.connectionInformation.url.startsWith(e)?m.formData.connectionInformation.urlUserInput=m.formData.connectionInformation.url.substring(e.length):m.formData.connectionInformation.urlUserInput=m.formData.connectionInformation.url},u=()=>p.OntopDriverData.isSnowflakeDriver(m.selectedDriver.driverType)?D():v(),D=()=>{let e=m.selectedDriver.urlTemplate;const r=m.formData.connectionInformation;return r.hostName&&(e=e.replace("{identifier}",r.hostName)),r.port&&(e=e.replace(".snowflakecomputing.com/?",`.snowflakecomputing.com:${r.port}/?`)),r.databaseName&&(e=e.replace("{database}",r.databaseName)),e},v=()=>{let e=m.selectedDriver.urlTemplate;const r=m.formData.connectionInformation;return r.hostName&&(e=r.port?e.replace("{hostport}",`${r.hostName}:${r.port}`):e.replace("{hostport}",""+r.hostName)),r.databaseName&&(e=e.replace("{database}",r.databaseName)),e},y=e=>{m.formData.settings.ontopFiles.forEach(r=>{r.loading=e})},h=()=>{y(!0);const e=m.formData.connectionInformation,t={hostName:e.hostName,port:e.port,databaseName:e.databaseName,userName:e.username,password:e.password,driverClass:e.driverClass,url:e.url,additionalProperties:m.formData.settings.additionalProperties};return r.updatePropertiesFile(m.repositoryInfo.params.propertiesFile.value,t,m.repositoryInfo.location,m.selectedDriver.driverType).success(e=>{m.repositoryInfo.params.propertiesFile.value=e.fileLocation}).error(e=>{I(d.instant("common.error"),e)}).finally(()=>y(!1))},I=(e,r)=>{const o=getError(r);t.error(o,e)},b=()=>p.OntopDriverData.isGenericDriver(m.selectedDriver.driverType)||m.formData.connectionInformation.hostName?Promise.resolve():Promise.reject(new s.OntopRepositoryError(d.instant("missing.required.field",{fieldName:d.instant("ontop.repo.database.host_name")}))),O=()=>p.OntopDriverData.isGenericDriver(m.selectedDriver.driverType)||m.formData.connectionInformation.databaseName?Promise.resolve():Promise.reject(new s.OntopRepositoryError(d.instant("missing.required.field",{fieldName:d.instant("ontop.repo.database.database_name")}))),g=()=>m.formData.connectionInformation.driverClass?Promise.resolve():Promise.reject(new s.OntopRepositoryError(d.instant("missing.required.field",{fieldName:d.instant("ontop.repo.database.driver_class")}))),N=()=>m.formData.connectionInformation.url?Promise.resolve():Promise.reject(new s.OntopRepositoryError(d.instant("missing.required.field",{fieldName:d.instant("ontop.repo.database.url")}))),T=()=>m.repositoryInfo.id?Promise.resolve():Promise.reject(new s.OntopRepositoryError(d.instant("empty.repoid.warning"))),F=()=>m.getOntopFileInfo(n.OntopFileType.OBDA).fileName?Promise.resolve():Promise.reject(new s.OntopRepositoryError(d.instant("ontop.repo.missing.required.file",{fileName:m.repositoryInfo.params[n.OntopFileType.OBDA].label}))),R=()=>m.selectedDriver.portRequired&&!m.formData.connectionInformation.port?Promise.reject(new s.OntopRepositoryError(d.instant("missing.required.field",{fieldName:d.instant("ontop.repo.database.port")}))):Promise.resolve(),w=()=>{m.formData={connectionInformation:new a.OntopConnectionInformation,settings:{additionalProperties:"",ontopFiles:[]}},Object.values(n.OntopFileType).forEach(e=>{const r=new i.OntopFileInfo(e);m.formData.settings.ontopFiles.push(r)}),m.getOntopFileInfo(n.OntopFileType.OBDA).required=!0};r.getSupportedDriversData(m.repositoryInfo).success(e=>{m.supportedDriversData=e}).error(e=>{I(d.instant("common.error"),e)}).then(()=>{m.editRepoPage?(y(!0),r.loadPropertiesFile(m.repositoryInfo.params.propertiesFile.value,m.repositoryInfo.location,m.selectedDriver.driverType).success(e=>{let r=m.supportedDriversData.find(r=>r.driverClass===e.driverClass);r&&e.hostName||(r=m.supportedDriversData.find(e=>p.OntopDriverData.isGenericDriver(e.driverType))),m.selectDriver(r.driverType),m.formData.connectionInformation.driverType=r.driverType,m.formData.connectionInformation.driverClass=e.driverClass,m.formData.connectionInformation.password=e.password,m.formData.connectionInformation.username=e.userName,m.formData.connectionInformation.url=e.url,m.formData.settings.additionalProperties=e.additionalProperties,p.OntopDriverData.isGenericDriver(r.driverType)||(m.formData.connectionInformation.hostName=e.hostName,m.formData.connectionInformation.databaseName=e.databaseName,m.formData.connectionInformation.port=e.port?parseInt(e.port,10):void 0),f(),m.updateUrl(),Object.values(n.OntopFileType).forEach(e=>{const r=m.repositoryInfo.params[e],t=m.getOntopFileInfo(e);r&&(t.fileName=Object(o.getFileName)(r.value))}),m.currentOntopRepoInfo=_.cloneDeep(m.formData)}).error(e=>{I(d.instant("common.error"),e)}).finally(()=>{y(!1)})):m.selectDriver(c.JdbcDriverType.GENERIC)})}}}angular.module("graphdb.framework.repositories.ontop-repo.directive",[]).directive("ontopRepo",l),l.$inject=["$uibModal","RepositoriesRestService","toastr","Upload","$translate"]}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[403],{525:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/ttyg/agent-list.css?v=2.8.
|
|
1
|
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[403],{525:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/ttyg/agent-list.css?v=2.8.9-RC1" rel="stylesheet"/>\n\n<div class="agent-list-component">\n <div class="agents-filter-dropdown btn-group" uib-dropdown>\n <button type="button" uib-dropdown-toggle class="btn btn-outline-primary dropdown-toggle">\n <i class="fa-kit fa-gdb-repo-graphdb mr-1"></i>\n <span class="selected-filter">{{selectedAgentsFilter.label}}</span>\n <i class="fa fa-filter" gdb-tooltip="{{\'ttyg.agent.btn.filter.tooltip\' | translate}}"></i>\n </button>\n <ul class="dropdown-menu" role="menu">\n <li ng-repeat="filterModel in agentListFilterModel">\n <button type="button" class="dropdown-item" ng-click="onAgentsFilterChange(filterModel)"\n data-value="{{filterModel.label}}">\n {{filterModel.label}}\n </button>\n </li>\n </ul>\n </div>\n\n <div class="agent-list">\n <div ng-if="!agentList.agents.length" class="alert alert-warning">\n {{\'ttyg.agent.messages.no_agents\' | translate}}\n </div>\n\n <div ng-repeat="agent in agentList.filterableAgents">\n <div ng-if="!deletingAgent || deletingAgent.agentId !== agent.id" class="agent-item"\n ng-class="{\'selected\': agent.id === selectedAgent.id}">\n <div class="agent-info">\n <div class="agent-name">{{agent.name}}</div>\n <div class="related-repository">\n <i ng-if="!agent.isRepositoryDeleted" class="fa-kit fa-gdb-repo-graphdb"></i>\n <i ng-if="agent.isRepositoryDeleted"\n class="fa fa-triangle-exclamation text-warning agent-with-deleted-repository"\n gdb-tooltip="{{\'ttyg.agent.deleted_repository\' | translate}}">\n </i>\n {{agent.repositoryId}}\n </div>\n </div>\n <div class="btn-group">\n <button class="btn btn-link secondary btn-sm open-agent-actions-btn"\n data-toggle="dropdown" aria-expanded="false"\n ng-if="true"\n ng-click="openAgentActionMenu()"\n ng-disabled="false">\n <i class="fa fa-ellipsis"></i>\n </button>\n <div class="dropdown-menu dropdown-menu-right agent-actions-menu">\n <button class="dropdown-item edit-agent-btn" type="button" ng-click="onEditAgent(agent)">\n <i class="fa fa-gear"></i>\n <span>{{\'ttyg.agent.btn.edit_agent.label\' | translate}}</span>\n </button>\n <button class="dropdown-item clone-agent-btn" type="button" ng-click="onCloneAgent(agent)">\n <i class="fa fa-clone"></i>\n <span>{{\'ttyg.agent.btn.clone_agent.label\' | translate}}</span>\n </button>\n <div class="dropdown-divider"></div>\n <button class="dropdown-item delete-agent-btn" type="button" ng-click="onDeleteAgent(agent)">\n <i class="fa fa-trash-can"></i>\n <span>{{\'ttyg.agent.btn.delete_agent.label\' | translate}}</span>\n </button>\n </div>\n </div>\n </div>\n\n <div class="deleting-agent-loader" ng-if="deletingAgent.agentId === agent.id && deletingAgent.inProgress"\n onto-loader-fancy message="{{\'ttyg.agent.deleting_agent\' | translate}}"\n size="25"></div>\n </div>\n </div>\n</div>\n';return __p}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[404],{526:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/ttyg/agent-select-menu.css?v=2.8.
|
|
1
|
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[404],{526:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/ttyg/agent-select-menu.css?v=2.8.9-RC1" rel="stylesheet"/>\n\n<div class="btn-group agent-select-menu" uib-dropdown>\n <button type="button" class="btn dropdown-toggle-btn" uib-dropdown-toggle\n ng-attr-title="{{selectedAgent && !selectedAgent.isDeleted ? (selectedAgent.name + \' · \' + selectedAgent.repositoryId) : null}}">\n <span ng-if="!selectedAgent">{{\'ttyg.agent.agent_select_menu.no_selection_label\' | translate}}</span>\n <div ng-if="selectedAgent && !selectedAgent.isDeleted" class="selected-agent-option">\n <span class="agent-name">{{selectedAgent.name}}</span> ·\n <i ng-if="!selectedAgent.isRepositoryDeleted" class="fa-kit fa-gdb-repo-graphdb"></i>\n <i ng-if="selectedAgent.isRepositoryDeleted"\n class="fa fa-triangle-exclamation text-warning agent-with-deleted-repository"\n gdb-tooltip="{{\'ttyg.agent.deleted_repository\' | translate}}">\n </i>\n <span class="repository-id">{{selectedAgent.repositoryId}}</span>\n </div>\n <span ng-if="selectedAgent && selectedAgent.isDeleted" class="text-warning">\n <i class="fa fa-triangle-exclamation"></i>\n {{\'ttyg.agent.agent_select_menu.deleted_agent\' | translate}}\n </span>\n <span class="caret"></span>\n </button>\n <ul class="dropdown-menu" uib-dropdown-menu role="menu" aria-labelledby="single-button">\n <li ng-repeat="agentOption in agentOptionsList" role="menuitem" class="agent-menu-item"\n ng-class="{\'selected\': agentOption.selected}"\n ng-attr-title="{{agentOption.label}} · {{agentOption.data.agent.repositoryId}}">\n <a href="#"\n class="agent-option"\n ng-click="onAgentSelected(agentOption.data.agent)">\n <span class="agent-name">{{agentOption.label}}</span> ·\n <i ng-if="!agentOption.data.agent.isRepositoryDeleted" class="fa-kit fa-gdb-repo-graphdb"></i>\n <i ng-if="agentOption.data.agent.isRepositoryDeleted"\n class="fa fa-triangle-exclamation text-warning agent-with-deleted-repository"\n gdb-tooltip="{{\'ttyg.agent.deleted_repository\' | translate}}">\n </i>\n <span class="repository-id">{{agentOption.data.agent.repositoryId}}</span>\n </a>\n </li>\n </ul>\n</div>\n';return __p}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[405],{527:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/ttyg/chat-item-details.css?v=2.8.
|
|
1
|
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[405],{527:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/ttyg/chat-item-details.css?v=2.8.9-RC1" rel="stylesheet"/>\n\n<div class="chat-detail">\n <div class="user-message" ng-if="chatItemDetail.question">\n <div class="question alert-help"\n gdb-tooltip="{{ \'ttyg.chat_panel.labels.question_asked\' | translate : { date: getHumanReadableQuestionTimestamp(chatItemDetail.question.timestamp), time: (chatItemDetail.question.timestamp | date:\'HH:mm\') } }}">\n {{ chatItemDetail.question.message }}\n </div>\n </div>\n <div class="answers" ng-repeat="answer in chatItemDetail.answers">\n <div class="assistant">\n <div class="assistant-icon alert-help"\n gdb-tooltip="{{\'ttyg.chat_panel.labels.agent_name\' | translate : { agentName: agentNameByIdMap[chatItemDetail.agentId], date: getHumanReadableQuestionTimestamp(chatItemDetail.question.timestamp), time: (chatItemDetail.question.timestamp | date:\'HH:mm\') } }}">\n <i class="fa fa-lg fa-message-bot"></i>\n </div>\n <div class="assistant-message">\n <markdown-content class="answer" content="{{answer.message}}" options="markdownContentOptions"></markdown-content>\n <div class="actions" ng-class="{\'hidden-actions\': !explainResponseModel[answer.id].expanded && (!showActions || !$last)}">\n <button class="btn btn-link btn-sm regenerate-question-btn"\n ng-click="regenerateQuestion()"\n ng-disabled="disabled"\n gdb-tooltip="{{\'ttyg.chat_panel.btn.regenerate.tooltip\' | translate}}">\n <i class="fa fa-arrows-rotate"></i>\n </button>\n <copy-to-clipboard tooltip-text="ttyg.chat_panel.btn.copy_answer.tooltip"\n text-to-copy="{{answer.message}}"></copy-to-clipboard>\n <button class="btn btn-link btn-link-only-icons btn-sm explain-response-btn"\n ng-click="explainResponse(answer.id)"\n ng-disabled="disabled && !explainResponseModel[answer.id]"\n gdb-tooltip="{{\'ttyg.chat_panel.btn.explain_response.tooltip\' | translate}}">\n <i class="fa fa-wand-magic-sparkles"></i>\n <i class="fa fa-chevron-up toggle-explain-response-icon"\n ng-class="{expanded: explainResponseModel[answer.id] && explainResponseModel[answer.id].expanded}"></i>\n </button>\n </div>\n <div class="derived-answer-hint"\n ng-if="showActions && $last && explainResponseModel[answer.id].expanded">\n <div ng-bind-html="\'ttyg.chat_panel.btn.derive_answer.hint\' | translate | trustAsHtml"></div>\n <button class="btn btn-secondary deliver-answer-btn" ng-click="onAskHowAnswerWasDerived()">\n {{ \'ttyg.chat_panel.btn.derive_answer.label\' | translate }}\n </button>\n </div>\n <div ng-if="loadingExplainResponse[answer.id]" onto-loader-new size="40"></div>\n <div class="explain-responses" ng-if="explainResponseModel[answer.id] && explainResponseModel[answer.id].expanded">\n <div ng-if="!explainResponseModel[answer.id].queryMethods.items.length"\n class="explain-response">\n {{ \'ttyg.chat_panel.labels.explain_no_methods\' | translate }}\n </div>\n <div ng-if="explainResponseModel[answer.id].queryMethods.items"\n class="explain-response"\n ng-repeat="queryMethod in explainResponseModel[answer.id].queryMethods.items">\n <div class="explain-call">\n <div class="header" gdb-tooltip="">\n <div class="label">\n <span class="query-method" ng-bind-html="\'ttyg.chat_panel.labels.called\' | translate:{name: queryMethod.name} | trustAsHtml">\n </span>{{ \'ttyg.chat_panel.query_colon\' | translate }}\n <span class="query-method-details" ng-bind="(\'ttyg.chat_panel.query_desc.\' + queryMethod.name) | translate">\n </span>\n </div>\n <div ng-if="queryMethod.query" class="actions">\n <open-in-sparql-editor\n ng-if="queryMethod.queryType === ExplainQueryType.SPARQL"\n execute-query="{{!queryMethod.errorMessage}}"\n repository-id="{{repositoryId}}"\n query="{{queryMethod.query}}">\n </open-in-sparql-editor>\n <copy-to-clipboard tooltip-text="ttyg.chat_panel.btn.copy_{{ queryMethod.queryType }}.tooltip"\n text-to-copy="{{queryMethod.query}}"></copy-to-clipboard>\n </div>\n </div>\n <div class="query">\n <div ng-if="!queryMethod.query" class="mb-1">{{ \'ttyg.chat_panel.labels.no_query\' | translate }}</code></div>\n <pre ng-if="queryMethod.query"><code>{{queryMethod.query}}</code></pre>\n </div>\n <div ng-if="showRawQuery(queryMethod)" class="raw-query">\n <span class="label">{{\'ttyg.chat_panel.labels.raw_query\' | translate}}:</span>\n <span class="content">{{queryMethod.rawQuery}}</span>\n <copy-to-clipboard class="copy-to-clipboard-btn" tooltip-text="ttyg.chat_panel.btn.copy_raw_query.tooltip"\n text-to-copy="{{queryMethod.rawQuery}}"></copy-to-clipboard>\n </div>\n <div ng-if="queryMethod.errorMessage" class="alert no-icon alert-warning error-message">\n <div class="error-header">\n <div class="label">{{\'ttyg.chat_panel.labels.error_message\' | translate}}:</div>\n <copy-to-clipboard class="copy-to-clipboard-btn" tooltip-text="ttyg.chat_panel.btn.copy_error_message.tooltip"\n text-to-copy="{{queryMethod.errorMessage}}"></copy-to-clipboard>\n </div>\n <div class="error-content">{{queryMethod.errorMessage}}</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div ng-if="asking" onto-loader-new size="40"></div>\n</div>\n\n';return __p}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[406],{528:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/ttyg/chat-list.css?v=2.8.
|
|
1
|
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[406],{528:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/ttyg/chat-list.css?v=2.8.9-RC1" rel="stylesheet"/>\n\n<div class="chat-list-component">\n <div class="chat-list">\n <div ng-repeat="chatGroup in chatList.chatsByDay" class="chat-group">\n <label>{{ getHumanReadableChatGroupTimestamp(chatGroup.timestamp) }}</label>\n <ul>\n <li ng-repeat="chat in chatGroup.chats track by chat.hash" class="chat-item"\n ng-class="{\'selected\': chat.id === selectedChat.id, \'edited\': renamedChat && chat.id === renamedChat.id}">\n <div ng-if="!deletingChat || deletingChat.chatId !== chat.id" class="chat-detail">\n <div class="chat-name">\n <inline-editable-text\n field-name="name"\n source="chat"\n is-editing="chat.id && renamedChat && chat.id === renamedChat.id"\n on-save="onRenameChat(newText, source)"\n on-cancel="onCancelChatRenaming()"\n on-dblclick="onSelectChatForRenaming(chat)"\n on-click="onSelectChat(source)"\n title="{{chat.name}}"\n show-tooltip-on-overflow>\n </inline-editable-text>\n </div>\n <div ng-if="chat.id && (!renamedChat || chat.id !== renamedChat.id)" class="btn-group">\n <button class="btn btn-link secondary btn-sm open-chat-actions-btn"\n data-toggle="dropdown" aria-expanded="false"\n ng-if="true"\n ng-click="openChatActionMenu()"\n ng-disabled="false">\n <i class="fa fa-ellipsis"></i>\n </button>\n <div class="dropdown-menu dropdown-menu-right chat-actions-menu">\n <button class="dropdown-item export-chat-btn" type="button" ng-click="onExportChat(chat)">\n <i class="fa fa-arrow-down-to-line"></i>\n <span>{{\'ttyg.chat.btn.export_chat.label\' | translate}}</span>\n </button>\n <button class="dropdown-item rename-chat-btn" type="button" ng-click="onSelectChatForRenaming(chat)">\n <i class="fa fa-pen"></i>\n <span>{{\'ttyg.chat.btn.rename_chat.label\' | translate}}</span>\n </button>\n <div class="dropdown-divider"></div>\n <button class="dropdown-item delete-chat-btn" type="button" ng-click="onDeleteChat(chat)">\n <i class="fa fa-trash-can"></i>\n <span>{{\'ttyg.chat.btn.delete_chat.label\' | translate}}</span>\n </button>\n </div>\n </div>\n </div>\n\n <div class="deleting-chat-loader" ng-if="deletingChat && deletingChat.chatId === chat.id && deletingChat.inProgress"\n onto-loader-fancy message="{{\'ttyg.chat.deleting_chat\' | translate}}"\n size="25"></div>\n </li>\n </ul>\n </div>\n </div>\n</div>\n';return __p}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[407],{529:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/ttyg/chat-panel.css?v=2.8.
|
|
1
|
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[407],{529:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/ttyg/chat-panel.css?v=2.8.9-RC1" rel="stylesheet"/>\n\n<div class="chat-panel h-100" ng-class="chat.chatHistory.isEmpty() && !askingChatItem ? \'no-content\' : \'\'">\n\n <div class="chat-loading" ng-if="loadingChat" onto-loader-new size="40"></div>\n\n <div class="chat-details" ng-class="{\'hidden\': !chat}" ng-if="!loadingChat && !chat.chatHistory.isEmpty() || askingChatItem">\n <div ng-repeat="chatItemDetail in chat.chatHistory.items">\n\n \x3c!-- Before the first chat item is displayed, show the agent change info if the agent of the first response is different from the selected agent. --\x3e\n \x3c!-- <div class="alert alert-info agent-changed-info" ng-if="$first && selectedAgent && chatItemDetail.agentId !== selectedAgent.id"--\x3e\n \x3c!-- ng-bind-html="\'ttyg.chat_panel.messages.agent_changed_info\' | trnaslate: {agentName: getAgentName(chatItemDetail.agentId)} | trustAsHtml">--\x3e\n \x3c!-- </div>--\x3e\n\n \x3c!-- Before each chat item, except the first one, is displayed, show the agent change info if the currently used agent is different from the previous one. --\x3e\n <div class="alert alert-info agent-changed-info"\n ng-if="!$first && chatItemDetail.agentId !== chat.chatHistory.items[$index - 1].agentId"\n ng-bind-html="\'ttyg.chat_panel.messages.agent_changed_info\' | translate: {agentName: getAgentName(chatItemDetail.agentId)} | trustAsHtml">\n </div>\n\n <chat-item-detail\n chat-item-detail="chatItemDetail"\n show-actions="!waitingForLastMessage && $last"\n on-regenerate-question="regenerateQuestion(chatItem)"\n on-copy-answer-to-clipboard="copyAnswerToClipboard(chatItem)"\n on-ask-how-delivered-answer="onAskHowDeliveredAnswer(chatItem)"\n asking="!askingChatItem && waitingForLastMessage && $last"\n disabled="waitingForLastMessage">\n </chat-item-detail>\n </div>\n\n \x3c!-- After all chat items are displayed, show the agent change info if the selected agent is different from the one used in the last chat item. --\x3e\n <div class="alert alert-info agent-changed-info"\n ng-if="askingChatItem && selectedAgent && chat.chatHistory.items.length && chat.chatHistory.items[chat.chatHistory.items.length -1].agentId !== selectedAgent.id"\n ng-bind-html="\'ttyg.chat_panel.messages.agent_changed_info\' | translate: {agentName: getAgentName(selectedAgent.id)} | trustAsHtml">\n </div>\n <chat-item-detail ng-if="askingChatItem" chat-item-detail="askingChatItem"\n asking="!!askingChatItem"></chat-item-detail>\n </div>\n <div class="new-question mt-3 d-flex" ng-if="!loadingChat">\n <input class="form-control question-input" ng-model="chatItem.question.message" type="text"\n ng-disabled="waitingForLastMessage || loadingChat || !selectedAgent || selectedAgent.isDeleted"\n ng-keypress="onKeypressOnInput($event)">\n <button class="btn btn-primary ask-button"\n ng-disabled="!chatItem.question.message || !selectedAgent || selectedAgent.isDeleted || waitingForLastMessage || loadingChat"\n ng-click="ask()">\n <i class="fa fa-arrow-turn-left-up"></i>\n {{ \'ttyg.chat_panel.btn.ask.label \' | translate }}\n </button>\n </div>\n\n <div class="messages-hint text-muted" ng-if="!loadingChat && chat.chatHistory.isEmpty() && !waitingForLastMessage" ng-cloak>\n <div class="hint2" ng-bind="\'ttyg.chat_panel.hint2\' | translate"></div>\n <div class="hint1" ng-bind-html="\'ttyg.chat_panel.hint1\' | translate | trustAsHtml"></div>\n </div>\n</div>\n';return __p}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[409],{531:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/ttyg/agent-instructions-explain-modal.css?v=2.8.
|
|
1
|
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[409],{531:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/ttyg/agent-instructions-explain-modal.css?v=2.8.9-RC1" rel="stylesheet"/>\n\n<div class="modal-header">\n <button type="button" class="close" ng-click="close()"></button>\n <h4 class="modal-title">{{\'ttyg.agent.instructions_explain_modal.title\' | translate}}</h4>\n</div>\n\n<div class="modal-body">\n <div class="instructions-explain">\n <div ng-repeat="instruction in agentInstructionsExplain" class="instruction" ng-class="{\'mb-2\': !$last}">\n <h5 class="instruction-title mb-0">\n <span\n uib-popover="{{\'ttyg.agent.instructions_explain_modal.instructions.\' + instruction.type + \'.description\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.instructions_explain_modal.instructions.\' + instruction.type + \'.label\' | translate}}</span>\n </h5>\n <h7 class="text-muted d-block">({{instruction.size}} characters)</h7>\n <pre class="instruction-content">{{instruction.content}}</pre>\n </div>\n </div>\n</div>\n\n<div class="modal-footer">\n <button type="button" class="btn btn-secondary" ng-click="onCloseAgentInstructionsExplainModal()">\n {{\'ttyg.agent.instructions_explain_modal.btn.close.label\' | translate}}\n </button>\n</div>\n';return __p}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[41,98,200,236,244,326],{102:function(e,r){function t(e,r){return{showToastMessageWithDelay:function(t){return new Promise(s=>{e.success(r.instant(t)),setTimeout(s,200)})}}}angular.module("graphdb.framework.utils.notifications",[]).factory("Notifications",t),t.$inject=["toastr","$translate"]},112:function(e,r,t){"use strict";t.r(r),t.d(r,"StartMode",(function(){return s})),t.d(r,"GraphsConfig",(function(){return a}));const s={QUERY:"query",NODE:"node",SEARCH:"search"};class a{constructor(e,r,t=s.SEARCH,a,i=!0,n=!0,o,u,p,c,d,h,g,y,l,f,Q,w,m,I,C){this._id=e,this._name=r,this._startMode=t,this._owner=a,this._startQueryIncludeInferred=i,this._startQuerySameAs=n,this._startGraphQuery=o,this._startIRI=u,this._startIRILabel=p,this._expandQuery=c,this._resourceQuery=d,this._predicateLabelQuery=h,this._resourcePropertiesQuery=g,this._shared=y,this._description=l,this._hint=f,this._startGraphQueryDescription=Q,this._expandQueryDescription=w,this._resourceQueryDescription=m,this._predicateLabelQueryDescription=I,this._resourcePropertiesQueryDescription=C}isStartMode(e){return this.startMode===e}isDefaultGraph(){return"Minimal"===this.name||"Advanced"===this.name}getPropertyDescription(e){return this[e+"Description"]}getQueryType(e){let r;return this.isStartMode(s.QUERY)&&1===e?r=this.startGraphQuery:2===e?r=this.expandQuery:3===e?r=this.resourceQuery:4===e?r=this.predicateLabelQuery:5===e&&(r=this.resourcePropertiesQuery),r||""}updateModel(e,r){return this.isStartMode(s.QUERY)&&1===r?this.startGraphQuery=e:2===r?this.expandQuery=e:3===r?this.resourceQuery=e:4===r?this.predicateLabelQuery=e:5===r&&(this.resourcePropertiesQuery=e),this}toSavePayload(){return{id:this.id,name:this.name,startMode:this.startMode,owner:this.owner,startQueryIncludeInferred:this.startQueryIncludeInferred,startQuerySameAs:this.startQuerySameAs,startGraphQuery:this.startGraphQuery,startIRI:this.startIRI,startIRILabel:this.startIRILabel,expandQuery:this.expandQuery,resourceQuery:this.resourceQuery,predicateLabelQuery:this.predicateLabelQuery,resourcePropertiesQuery:this.resourcePropertiesQuery,shared:this.shared,description:this.description,hint:this.hint}}get id(){return this._id}set id(e){this._id=e}get name(){return this._name}set name(e){this._name=e}get startMode(){return this._startMode}set startMode(e){this._startMode=e}get owner(){return this._owner}set owner(e){this._owner=e}get startQueryIncludeInferred(){return this._startQueryIncludeInferred}set startQueryIncludeInferred(e){this._startQueryIncludeInferred=e}get startQuerySameAs(){return this._startQuerySameAs}set startQuerySameAs(e){this._startQuerySameAs=e}get startGraphQuery(){return this._startGraphQuery}set startGraphQuery(e){this._startGraphQuery=e}get startIRI(){return this._startIRI}set startIRI(e){this._startIRI=e}get startIRILabel(){return this._startIRILabel}set startIRILabel(e){this._startIRILabel=e}get expandQuery(){return this._expandQuery}set expandQuery(e){this._expandQuery=e}get resourceQuery(){return this._resourceQuery}set resourceQuery(e){this._resourceQuery=e}get predicateLabelQuery(){return this._predicateLabelQuery}set predicateLabelQuery(e){this._predicateLabelQuery=e}get resourcePropertiesQuery(){return this._resourcePropertiesQuery}set resourcePropertiesQuery(e){this._resourcePropertiesQuery=e}get shared(){return this._shared}set shared(e){this._shared=e}get description(){return this._description}set description(e){this._description=e}get hint(){return this._hint}set hint(e){this._hint=e}get startGraphQueryDescription(){return this._startGraphQueryDescription}set startGraphQueryDescription(e){this._startGraphQueryDescription=e}get expandQueryDescription(){return this._expandQueryDescription}set expandQueryDescription(e){this._expandQueryDescription=e}get resourceQueryDescription(){return this._resourceQueryDescription}set resourceQueryDescription(e){this._resourceQueryDescription=e}get predicateLabelQueryDescription(){return this._predicateLabelQueryDescription}set predicateLabelQueryDescription(e){this._predicateLabelQueryDescription=e}get resourcePropertiesQueryDescription(){return this._resourcePropertiesQueryDescription}set resourcePropertiesQueryDescription(e){this._resourcePropertiesQueryDescription=e}}},133:function(e,r,t){"use strict";t.r(r),t.d(r,"mapGraphsConfigResponseToModel",(function(){return a})),t.d(r,"mapGraphConfigSampleToGraphConfig",(function(){return i})),t.d(r,"mapGraphConfigSamplesToGraphConfigs",(function(){return n}));var s=t(112);const a=e=>new s.GraphsConfig(e.id,e.name,e.startMode,e.owner,e.startQueryIncludeInferred,e.startQuerySameAs,e.startGraphQuery,e.startIRI,e.startIRILabel,e.expandQuery,e.resourceQuery,e.predicateLabelQuery,e.resourcePropertiesQuery,e.shared,e.description,e.hint),i=e=>new s.GraphsConfig(e.id,e.name,e.startMode,e.owner,e.startQueryIncludeInferred,e.startQuerySameAs,e.startGraphQuery,e.startIRI,e.startIRILabel,e.expandQuery,e.resourceQuery,e.predicateLabelQuery,e.resourcePropertiesQuery,e.shared,e.description,e.hint,e.startGraphQueryDescription,e.expandQueryDescription,e.resourceQueryDescription,e.predicateLabelQueryDescription,e.resourcePropertiesQueryDescription),n=e=>e.map(e=>i(e))},257:function(e,r,t){"use strict";t.r(r);t(102),t(13),t(23);var s=t(97),a=t(90),i=t(19),n=t(112),o=t(133),u=t(8);function p(e,r,t,p,c,d,h,g,y,l,f,Q,w,m,I,C,R){let _;r.newConfig=new n.GraphsConfig,r.revertConfig=void 0,r.page=1,r.totalPages=5,r.helpHidden=1===Q.get(w.HIDE_GRAPH_CONFIG_HELP),r.isUpdate=!1,r.shared=!1,r.canEditActiveRepo=r.canWriteActiveRepo(),r.samples=[],r.tabConfig={inference:r.newConfig.startQueryIncludeInferred,sameAs:r.newConfig.startQuerySameAs},r.isAutocompleteEnabled=void 0,r.repositoryNamespaces=void 0,r.tabsViewModel=[];const b=l.configName,E=d.getActiveRepository();r.toggleHelp=e=>{void 0===e&&(e=Q.get(w.HIDE_GRAPH_CONFIG_HELP)),1!==e?(Q.set(w.HIDE_GRAPH_CONFIG_HELP,1),r.helpHidden=!0):(Q.set(w.HIDE_GRAPH_CONFIG_HELP,0),r.helpHidden=!1)},r.fixedVisualCallback=(e,t)=>{r.newConfig.startIRI=e,r.newConfig.startIRILabel=t,_=!0},r.isDefaultGraph=e=>e.isDefaultGraph(),r.isUserGraph=e=>!e.isDefaultGraph(),r.getSampleName=(e,r)=>{if(!e)return"";const t=e.getPropertyDescription(r);return t||(e.id?"Copy of "+e.name:e.name)},r.createGraphConfig=e=>{y.createGraphConfig(e).success((async function(){await f.showToastMessageWithDelay("graphexplore.saved.new.config"),p.url("graphs-visualizations")})).error((function(e){c.error(getError(e),m.instant("graphexplore.error.could.not.create"))}))},r.updateGraphConfig=e=>{y.updateGraphConfig(e).success((async function(){await f.showToastMessageWithDelay("graphexplore.saved.config"),p.url("graphs-visualizations")})).error((function(e){c.error(getError(e),m.instant("graphexplore.error.could.not.save"))}))},r.goToPage=e=>{r.page!==e&&P(()=>{r.showEditor(),r.page=e})},r.goToPreviousPage=()=>{r.page>1&&r.goToPage(r.page-1),q()&&(_=!1)},r.goToNextPage=()=>{N(),r.newConfig.isStartMode(n.StartMode.NODE)&&!_||r.goToPage(r.page+1)},r.saveGraphConfig=()=>{N(),q()&&!_||(r.newConfig.startQueryIncludeInferred=r.tabConfig.inference,r.newConfig.startQuerySameAs=r.tabConfig.sameAs,r.newConfig.name&&(r.newConfig.name=r.newConfig.name.replace(/\s+/g," ").trim()),P(()=>{r.newConfig.name?(r.queryEditorIsDirty=!1,r.isUpdate?r.updateGraphConfig(r.newConfig.toSavePayload()):r.createGraphConfig(r.newConfig.toSavePayload())):L(m.instant("graphexplore.provide.config.name"))}))},r.setQuery=async e=>{const t=e||" ";(await S()).setQuery(t),r.markDirty()},r.markDirty=async()=>{if(r.revertConfig){const e=r.revertConfig.getQueryType(r.page),t=await G();r.queryEditorIsDirty=e!==t}},r.showEditor=()=>{r.viewMode="yasr",A(),M()},r.showPreview=()=>{r.viewMode="editor",D()},r.revertEditor=()=>{r.setQuery(r.revertConfig.getQueryType(r.page)),r.queryEditorIsDirty=!1};const S=()=>i.YasguiComponentDirectiveUtil.getOntotextYasguiElementAsync("#query-editor"),D=async(e,t)=>{const s=await S(),a=await s.getQueryType();if(t&&"SELECT"!==a&&"CONSTRUCT"!==a&&"DESCRIBE"!==a)return void c.warning(m.instant("query.editor.warning.msg"));"update"!==await s.getQueryMode()?r.queryIsRunning||(r.viewMode="editor",v()):c.warning(m.instant("cannot.execute.update.error"))},v=async()=>{(await S()).query(a.RenderingMode.YASR)},M=async()=>(await S()).changeRenderMode(a.RenderingMode.YASQE),G=async()=>(await S()).getQuery(),A=async()=>(await S()).abortQuery(),P=async e=>{const t=await(async()=>{const e=await S();let t=await e.getQuery();return t=t.trim(),r.newConfig.updateModel(t,r.page)})();1===r.page?t.isStartMode(n.StartMode.NODE)&&!t.startIRI?L(m.instant("graphexplore.select.start.node")):t.isStartMode(n.StartMode.QUERY)&&!t.startGraphQuery?L(m.instant("graphexplore.provide.query")):t.isStartMode(n.StartMode.QUERY)?T(e,t.startGraphQuery,"graph"):e():2===r.page?T(e,t.expandQuery,"construct",["node"]):3===r.page?T(e,t.resourceQuery,"tuple",["node"],[],["type","label","comment","rank"]):4===r.page?T(e,t.predicateLabelQuery,"tuple",["edge"],["label"]):5===r.page&&T(e,t.resourcePropertiesQuery,"tuple",["node"],["property","value"])},x=()=>{r.tabConfig.inference=r.newConfig.startQueryIncludeInferred,r.tabConfig.sameAs=r.newConfig.startQuerySameAs,r.setQuery(r.newConfig.getQueryType(r.page))},L=e=>{c.warning(e)},T=(e,r,t,s,a,i)=>{r?y.validateQuery(r,t,s,a,i).success(()=>{e()}).error(e=>{L(getError(e))}):e()},N=()=>{q()&&r.$broadcast("addStartFixedNodeAutomatically",{startIRI:r.newConfig.startIRI})},q=()=>1===r.page&&r.newConfig.isStartMode(n.StartMode.NODE),Y=()=>{y.getGraphConfigSamples().success((function(e){r.samples=Object(o.mapGraphConfigSamplesToGraphConfigs)(e).filter(e=>!e.id||r.newConfig.id!==e.id||(r.revertConfig=e,!1))})).error((function(e){c.error(getError(e),m.instant("graphexplore.error.graph.configs"))}))},$={endpoint:()=>"repositories/"+d.getActiveRepository(),showEditorTabs:!1,showToolbar:!1,showResultTabs:!1,showYasqeActionButtons:!1,yasqeActionButtons:i.INFERRED_AND_SAME_AS_BUTTONS_CONFIGURATION,showQueryButton:!1,initialQuery:" ",componentId:"graphs-config",render:a.RenderingMode.YASQE,maxPersistentResponseSize:0,showYasqeResizer:!1,yasqeMode:s.YasqeMode.PROTECTED,infer:r.newConfig.startQueryIncludeInferred,sameAs:r.newConfig.startQuerySameAs},U=(e,t,s)=>{r.queryIsRunning=e},O=()=>{window.removeEventListener("beforeunload",H),F.forEach(e=>e())},H=e=>{r.queryEditorIsDirty&&(e.returnValue=!0)},k=()=>{r.tabsViewModel=[{page:1,label:m.instant("starting.point.label"),type:"startGraphQuery"},{page:2,label:m.instant("graph.expansion"),type:"expandQuery"},{page:3,label:m.instant("node.basics"),type:"resourceQuery"},{page:4,label:m.instant("edge.basics"),type:"predicateLabelQuery"},{page:5,label:m.instant("node.extra"),type:"resourcePropertiesQuery"}]},F=[];F.push(C.onSelectedRepositoryIdUpdated(e=>{e?R.getNamespaces(e).then(e=>{r.repositoryNamespaces=e}).catch(e=>{const r=getError(e);c.error(r,m.instant("error.getting.namespaces.for.repo"))}):r.repositoryNamespaces=new u.NamespacesListModel})),F.push(C.onAutocompleteEnabledUpdated(e=>{r.isAutocompleteEnabled=e})),F.push(r.$on("$locationChangeStart",(e,t)=>{if(r.queryEditorIsDirty){e.preventDefault();((e,r,t,s)=>{I.openSimpleModal({title:e,message:r,warning:!0}).result.then((function(){angular.isFunction(t)&&t()}),(function(){angular.isFunction(s)&&s()}))})(m.instant("common.confirm"),m.instant("visual.config.warning.unsaved.changes"),()=>{O();const e=p.absUrl().length-p.url().length,r=t.substring(e);p.path(r)})}else O()})),F.push(r.$on("$destroy",O)),F.push(r.$watch(r.getActiveRepositoryObject,()=>{(r.newConfig.isStartMode(n.StartMode.QUERY)||r.page>1)&&(r.viewMode="yasr",A().then(M))})),F.push(e.$on("$translateChangeSuccess",()=>{k()})),window.addEventListener("beforeunload",H),r.$watch("newConfig.startMode",e=>{e===n.StartMode.QUERY&&x()}),r.$watch("page",e=>{(r.newConfig.isStartMode(n.StartMode.QUERY)||e>1)&&(r.showEditor(),x())}),k(),d.getPrefixes(E).then(e=>(e=>{const t=r.$watch((function(){return r.getActiveRepositoryObject()}),(function(a){if(a){r.canEditActiveRepo=r.canWriteActiveRepo();const a=angular.extend({},$,{prefixes:e,yasqeMode:r.canWriteActiveRepo()?s.YasqeMode.WRITE:s.YasqeMode.PROTECTED});r.yasguiConfig=a,t()}}))})(e)).finally(()=>U(!1)),b?(r.isUpdate=!0,y.getConfig(b).then((function(e){r.newConfig=e,Y()})).catch(e=>{c.error(getError(e),m.instant("created.connector",{name:b}))})):(r.isUpdate=!1,Y()),r.getActiveRepository()&&(U(!0,m.instant("common.refreshing.namespaces"),m.instant("common.extra.message")),d.getPrefixes(d.getActiveRepository()).then(e=>{r.namespaces=e}).catch((function(e){r.repositoryError=getError(e)})).finally((function(){U(!1)})))}angular.module("graphdb.framework.graphexplore.controllers.graphviz.config",["graphdb.framework.utils.notifications","graphdb.framework.utils.localstorageadapter","graphdb.core.services.workbench-context","graphdb.framework.core.services.rdf4j.repositories"]).controller("GraphConfigCtrl",p),p.$inject=["$rootScope","$scope","$timeout","$location","toastr","$repositories","SparqlRestService","$filter","GraphConfigRestService","$routeParams","Notifications","LocalStorageAdapter","LSKeys","$translate","ModalService","WorkbenchContextService","RDF4JRepositoriesService"]},90:function(e,r,t){"use strict";t.r(r),t.d(r,"RenderingMode",(function(){return s}));const s={YASGUI:"mode-yasgui",YASQE:"mode-yasqe",YASR:"mode-yasr"}},97:function(e,r,t){"use strict";t.r(r),t.d(r,"YasqeMode",(function(){return s}));const s={WRITE:"WRITE",READ:"READ",PROTECTED:"PROTECTED"}}}]);
|
|
1
|
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[41,99,200,236,244,326],{102:function(e,r){function t(e,r){return{showToastMessageWithDelay:function(t){return new Promise(s=>{e.success(r.instant(t)),setTimeout(s,200)})}}}angular.module("graphdb.framework.utils.notifications",[]).factory("Notifications",t),t.$inject=["toastr","$translate"]},114:function(e,r,t){"use strict";t.r(r),t.d(r,"StartMode",(function(){return s})),t.d(r,"GraphsConfig",(function(){return a}));const s={QUERY:"query",NODE:"node",SEARCH:"search"};class a{constructor(e,r,t=s.SEARCH,a,i=!0,n=!0,o,u,p,c,d,h,g,y,l,f,Q,w,m,I,C){this._id=e,this._name=r,this._startMode=t,this._owner=a,this._startQueryIncludeInferred=i,this._startQuerySameAs=n,this._startGraphQuery=o,this._startIRI=u,this._startIRILabel=p,this._expandQuery=c,this._resourceQuery=d,this._predicateLabelQuery=h,this._resourcePropertiesQuery=g,this._shared=y,this._description=l,this._hint=f,this._startGraphQueryDescription=Q,this._expandQueryDescription=w,this._resourceQueryDescription=m,this._predicateLabelQueryDescription=I,this._resourcePropertiesQueryDescription=C}isStartMode(e){return this.startMode===e}isDefaultGraph(){return"Minimal"===this.name||"Advanced"===this.name}getPropertyDescription(e){return this[e+"Description"]}getQueryType(e){let r;return this.isStartMode(s.QUERY)&&1===e?r=this.startGraphQuery:2===e?r=this.expandQuery:3===e?r=this.resourceQuery:4===e?r=this.predicateLabelQuery:5===e&&(r=this.resourcePropertiesQuery),r||""}updateModel(e,r){return this.isStartMode(s.QUERY)&&1===r?this.startGraphQuery=e:2===r?this.expandQuery=e:3===r?this.resourceQuery=e:4===r?this.predicateLabelQuery=e:5===r&&(this.resourcePropertiesQuery=e),this}toSavePayload(){return{id:this.id,name:this.name,startMode:this.startMode,owner:this.owner,startQueryIncludeInferred:this.startQueryIncludeInferred,startQuerySameAs:this.startQuerySameAs,startGraphQuery:this.startGraphQuery,startIRI:this.startIRI,startIRILabel:this.startIRILabel,expandQuery:this.expandQuery,resourceQuery:this.resourceQuery,predicateLabelQuery:this.predicateLabelQuery,resourcePropertiesQuery:this.resourcePropertiesQuery,shared:this.shared,description:this.description,hint:this.hint}}get id(){return this._id}set id(e){this._id=e}get name(){return this._name}set name(e){this._name=e}get startMode(){return this._startMode}set startMode(e){this._startMode=e}get owner(){return this._owner}set owner(e){this._owner=e}get startQueryIncludeInferred(){return this._startQueryIncludeInferred}set startQueryIncludeInferred(e){this._startQueryIncludeInferred=e}get startQuerySameAs(){return this._startQuerySameAs}set startQuerySameAs(e){this._startQuerySameAs=e}get startGraphQuery(){return this._startGraphQuery}set startGraphQuery(e){this._startGraphQuery=e}get startIRI(){return this._startIRI}set startIRI(e){this._startIRI=e}get startIRILabel(){return this._startIRILabel}set startIRILabel(e){this._startIRILabel=e}get expandQuery(){return this._expandQuery}set expandQuery(e){this._expandQuery=e}get resourceQuery(){return this._resourceQuery}set resourceQuery(e){this._resourceQuery=e}get predicateLabelQuery(){return this._predicateLabelQuery}set predicateLabelQuery(e){this._predicateLabelQuery=e}get resourcePropertiesQuery(){return this._resourcePropertiesQuery}set resourcePropertiesQuery(e){this._resourcePropertiesQuery=e}get shared(){return this._shared}set shared(e){this._shared=e}get description(){return this._description}set description(e){this._description=e}get hint(){return this._hint}set hint(e){this._hint=e}get startGraphQueryDescription(){return this._startGraphQueryDescription}set startGraphQueryDescription(e){this._startGraphQueryDescription=e}get expandQueryDescription(){return this._expandQueryDescription}set expandQueryDescription(e){this._expandQueryDescription=e}get resourceQueryDescription(){return this._resourceQueryDescription}set resourceQueryDescription(e){this._resourceQueryDescription=e}get predicateLabelQueryDescription(){return this._predicateLabelQueryDescription}set predicateLabelQueryDescription(e){this._predicateLabelQueryDescription=e}get resourcePropertiesQueryDescription(){return this._resourcePropertiesQueryDescription}set resourcePropertiesQueryDescription(e){this._resourcePropertiesQueryDescription=e}}},134:function(e,r,t){"use strict";t.r(r),t.d(r,"mapGraphsConfigResponseToModel",(function(){return a})),t.d(r,"mapGraphConfigSampleToGraphConfig",(function(){return i})),t.d(r,"mapGraphConfigSamplesToGraphConfigs",(function(){return n}));var s=t(114);const a=e=>new s.GraphsConfig(e.id,e.name,e.startMode,e.owner,e.startQueryIncludeInferred,e.startQuerySameAs,e.startGraphQuery,e.startIRI,e.startIRILabel,e.expandQuery,e.resourceQuery,e.predicateLabelQuery,e.resourcePropertiesQuery,e.shared,e.description,e.hint),i=e=>new s.GraphsConfig(e.id,e.name,e.startMode,e.owner,e.startQueryIncludeInferred,e.startQuerySameAs,e.startGraphQuery,e.startIRI,e.startIRILabel,e.expandQuery,e.resourceQuery,e.predicateLabelQuery,e.resourcePropertiesQuery,e.shared,e.description,e.hint,e.startGraphQueryDescription,e.expandQueryDescription,e.resourceQueryDescription,e.predicateLabelQueryDescription,e.resourcePropertiesQueryDescription),n=e=>e.map(e=>i(e))},257:function(e,r,t){"use strict";t.r(r);t(102),t(13),t(23);var s=t(97),a=t(90),i=t(19),n=t(114),o=t(134),u=t(8);function p(e,r,t,p,c,d,h,g,y,l,f,Q,w,m,I,C,R){let _;r.newConfig=new n.GraphsConfig,r.revertConfig=void 0,r.page=1,r.totalPages=5,r.helpHidden=1===Q.get(w.HIDE_GRAPH_CONFIG_HELP),r.isUpdate=!1,r.shared=!1,r.canEditActiveRepo=r.canWriteActiveRepo(),r.samples=[],r.tabConfig={inference:r.newConfig.startQueryIncludeInferred,sameAs:r.newConfig.startQuerySameAs},r.isAutocompleteEnabled=void 0,r.repositoryNamespaces=void 0,r.tabsViewModel=[];const b=l.configName,E=d.getActiveRepository();r.toggleHelp=e=>{void 0===e&&(e=Q.get(w.HIDE_GRAPH_CONFIG_HELP)),1!==e?(Q.set(w.HIDE_GRAPH_CONFIG_HELP,1),r.helpHidden=!0):(Q.set(w.HIDE_GRAPH_CONFIG_HELP,0),r.helpHidden=!1)},r.fixedVisualCallback=(e,t)=>{r.newConfig.startIRI=e,r.newConfig.startIRILabel=t,_=!0},r.isDefaultGraph=e=>e.isDefaultGraph(),r.isUserGraph=e=>!e.isDefaultGraph(),r.getSampleName=(e,r)=>{if(!e)return"";const t=e.getPropertyDescription(r);return t||(e.id?"Copy of "+e.name:e.name)},r.createGraphConfig=e=>{y.createGraphConfig(e).success((async function(){await f.showToastMessageWithDelay("graphexplore.saved.new.config"),p.url("graphs-visualizations")})).error((function(e){c.error(getError(e),m.instant("graphexplore.error.could.not.create"))}))},r.updateGraphConfig=e=>{y.updateGraphConfig(e).success((async function(){await f.showToastMessageWithDelay("graphexplore.saved.config"),p.url("graphs-visualizations")})).error((function(e){c.error(getError(e),m.instant("graphexplore.error.could.not.save"))}))},r.goToPage=e=>{r.page!==e&&P(()=>{r.showEditor(),r.page=e})},r.goToPreviousPage=()=>{r.page>1&&r.goToPage(r.page-1),q()&&(_=!1)},r.goToNextPage=()=>{N(),r.newConfig.isStartMode(n.StartMode.NODE)&&!_||r.goToPage(r.page+1)},r.saveGraphConfig=()=>{N(),q()&&!_||(r.newConfig.startQueryIncludeInferred=r.tabConfig.inference,r.newConfig.startQuerySameAs=r.tabConfig.sameAs,r.newConfig.name&&(r.newConfig.name=r.newConfig.name.replace(/\s+/g," ").trim()),P(()=>{r.newConfig.name?(r.queryEditorIsDirty=!1,r.isUpdate?r.updateGraphConfig(r.newConfig.toSavePayload()):r.createGraphConfig(r.newConfig.toSavePayload())):L(m.instant("graphexplore.provide.config.name"))}))},r.setQuery=async e=>{const t=e||" ";(await S()).setQuery(t),r.markDirty()},r.markDirty=async()=>{if(r.revertConfig){const e=r.revertConfig.getQueryType(r.page),t=await A();r.queryEditorIsDirty=e!==t}},r.showEditor=()=>{r.viewMode="yasr",G(),M()},r.showPreview=()=>{r.viewMode="editor",D()},r.revertEditor=()=>{r.setQuery(r.revertConfig.getQueryType(r.page)),r.queryEditorIsDirty=!1};const S=()=>i.YasguiComponentDirectiveUtil.getOntotextYasguiElementAsync("#query-editor"),D=async(e,t)=>{const s=await S(),a=await s.getQueryType();if(t&&"SELECT"!==a&&"CONSTRUCT"!==a&&"DESCRIBE"!==a)return void c.warning(m.instant("query.editor.warning.msg"));"update"!==await s.getQueryMode()?r.queryIsRunning||(r.viewMode="editor",v()):c.warning(m.instant("cannot.execute.update.error"))},v=async()=>{(await S()).query(a.RenderingMode.YASR)},M=async()=>(await S()).changeRenderMode(a.RenderingMode.YASQE),A=async()=>(await S()).getQuery(),G=async()=>(await S()).abortQuery(),P=async e=>{const t=await(async()=>{const e=await S();let t=await e.getQuery();return t=t.trim(),r.newConfig.updateModel(t,r.page)})();1===r.page?t.isStartMode(n.StartMode.NODE)&&!t.startIRI?L(m.instant("graphexplore.select.start.node")):t.isStartMode(n.StartMode.QUERY)&&!t.startGraphQuery?L(m.instant("graphexplore.provide.query")):t.isStartMode(n.StartMode.QUERY)?T(e,t.startGraphQuery,"graph"):e():2===r.page?T(e,t.expandQuery,"construct",["node"]):3===r.page?T(e,t.resourceQuery,"tuple",["node"],[],["type","label","comment","rank"]):4===r.page?T(e,t.predicateLabelQuery,"tuple",["edge"],["label"]):5===r.page&&T(e,t.resourcePropertiesQuery,"tuple",["node"],["property","value"])},x=()=>{r.tabConfig.inference=r.newConfig.startQueryIncludeInferred,r.tabConfig.sameAs=r.newConfig.startQuerySameAs,r.setQuery(r.newConfig.getQueryType(r.page))},L=e=>{c.warning(e)},T=(e,r,t,s,a,i)=>{r?y.validateQuery(r,t,s,a,i).success(()=>{e()}).error(e=>{L(getError(e))}):e()},N=()=>{q()&&r.$broadcast("addStartFixedNodeAutomatically",{startIRI:r.newConfig.startIRI})},q=()=>1===r.page&&r.newConfig.isStartMode(n.StartMode.NODE),Y=()=>{y.getGraphConfigSamples().success((function(e){r.samples=Object(o.mapGraphConfigSamplesToGraphConfigs)(e).filter(e=>!e.id||r.newConfig.id!==e.id||(r.revertConfig=e,!1))})).error((function(e){c.error(getError(e),m.instant("graphexplore.error.graph.configs"))}))},$={endpoint:()=>"repositories/"+d.getActiveRepository(),showEditorTabs:!1,showToolbar:!1,showResultTabs:!1,showYasqeActionButtons:!1,yasqeActionButtons:i.INFERRED_AND_SAME_AS_BUTTONS_CONFIGURATION,showQueryButton:!1,initialQuery:" ",componentId:"graphs-config",render:a.RenderingMode.YASQE,maxPersistentResponseSize:0,showYasqeResizer:!1,yasqeMode:s.YasqeMode.READ,infer:r.newConfig.startQueryIncludeInferred,sameAs:r.newConfig.startQuerySameAs},U=(e,t,s)=>{r.queryIsRunning=e},H=()=>{window.removeEventListener("beforeunload",O),F.forEach(e=>e())},O=e=>{r.queryEditorIsDirty&&(e.returnValue=!0)},k=()=>{r.tabsViewModel=[{page:1,label:m.instant("starting.point.label"),type:"startGraphQuery"},{page:2,label:m.instant("graph.expansion"),type:"expandQuery"},{page:3,label:m.instant("node.basics"),type:"resourceQuery"},{page:4,label:m.instant("edge.basics"),type:"predicateLabelQuery"},{page:5,label:m.instant("node.extra"),type:"resourcePropertiesQuery"}]},F=[];F.push(C.onSelectedRepositoryIdUpdated(e=>{e?R.getNamespaces(e).then(e=>{r.repositoryNamespaces=e}).catch(e=>{const r=getError(e);c.error(r,m.instant("error.getting.namespaces.for.repo"))}):r.repositoryNamespaces=new u.NamespacesListModel})),F.push(C.onAutocompleteEnabledUpdated(e=>{r.isAutocompleteEnabled=e})),F.push(r.$on("$locationChangeStart",(e,t)=>{if(r.queryEditorIsDirty){e.preventDefault();((e,r,t,s)=>{I.openSimpleModal({title:e,message:r,warning:!0}).result.then((function(){angular.isFunction(t)&&t()}),(function(){angular.isFunction(s)&&s()}))})(m.instant("common.confirm"),m.instant("visual.config.warning.unsaved.changes"),()=>{H();const e=p.absUrl().length-p.url().length,r=t.substring(e);p.path(r)})}else H()})),F.push(r.$on("$destroy",H)),F.push(r.$watch(r.getActiveRepositoryObject,()=>{(r.newConfig.isStartMode(n.StartMode.QUERY)||r.page>1)&&(r.viewMode="yasr",G().then(M))})),F.push(e.$on("$translateChangeSuccess",()=>{k()})),window.addEventListener("beforeunload",O),r.$watch("newConfig.startMode",e=>{e===n.StartMode.QUERY&&x()}),r.$watch("page",e=>{(r.newConfig.isStartMode(n.StartMode.QUERY)||e>1)&&(r.showEditor(),x())}),k(),d.getPrefixes(E).then(e=>(e=>{const t=r.$watch((function(){return r.getActiveRepositoryObject()}),(function(a){if(a){r.canEditActiveRepo=r.canWriteActiveRepo();const a=angular.extend({},$,{prefixes:e,yasqeMode:r.canWriteActiveRepo()?s.YasqeMode.WRITE:s.YasqeMode.READ});r.yasguiConfig=a,t()}}))})(e)).finally(()=>U(!1)),b?(r.isUpdate=!0,y.getConfig(b).then((function(e){r.newConfig=e,Y()})).catch(e=>{c.error(getError(e),m.instant("created.connector",{name:b}))})):(r.isUpdate=!1,Y()),r.getActiveRepository()&&(U(!0,m.instant("common.refreshing.namespaces"),m.instant("common.extra.message")),d.getPrefixes(d.getActiveRepository()).then(e=>{r.namespaces=e}).catch((function(e){r.repositoryError=getError(e)})).finally((function(){U(!1)})))}angular.module("graphdb.framework.graphexplore.controllers.graphviz.config",["graphdb.framework.utils.notifications","graphdb.framework.utils.localstorageadapter","graphdb.core.services.workbench-context","graphdb.framework.core.services.rdf4j.repositories"]).controller("GraphConfigCtrl",p),p.$inject=["$rootScope","$scope","$timeout","$location","toastr","$repositories","SparqlRestService","$filter","GraphConfigRestService","$routeParams","Notifications","LocalStorageAdapter","LSKeys","$translate","ModalService","WorkbenchContextService","RDF4JRepositoriesService"]},90:function(e,r,t){"use strict";t.r(r),t.d(r,"RenderingMode",(function(){return s}));const s={YASGUI:"mode-yasgui",YASQE:"mode-yasqe",YASR:"mode-yasr"}},97:function(e,r,t){"use strict";t.r(r),t.d(r,"YasqeMode",(function(){return s}));const s={WRITE:"WRITE",READ:"READ",PROTECTED:"PROTECTED"}}}]);
|