graphdb-workbench 2.8.8 → 2.8.9-TR1
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.950a9b41883d874b0bb6.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([[330],{
|
|
1
|
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[330],{103:function(t,s,p){"use strict";p.r(s),p.d(s,"UrlUtils",(function(){return i}));const e=/^(h|ht|htt|http|https|http:|https:|http:\/|https:\/|http:\/\/|https:\/\/|https?:\/\/[\S]*)$/i,n=/^(f|ft|ftp|ftps|ftp:|ftps:|ftp:\/|ftps:\/|ftp:\/\/|ftps:\/\/[\S]*)$/i;class i{static isValidUrl(t){return e.test(t)||n.test(t)}static doesNotContain(t,s){return!new RegExp(s).test(t)}static doesNotUseProtocol(t,s){return!new RegExp("^("+s.join("|")+")://","i").test(t)}}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[34,50,88,135,136,141,144,192,195,196],{108:function(t,e,r){"use strict";r.r(e),r.d(e,"Location",(function(){return n})),r.d(e,"Node",(function(){return i})),r.d(e,"TopologyStatus",(function(){return s})),r.d(e,"Link",(function(){return o})),r.d(e,"ClusterModel",(function(){return a})),r.d(e,"ClusterViewModel",(function(){return l})),r.d(e,"ClusterItemViewModel",(function(){return u})),r.d(e,"ClusterConfiguration",(function(){return c}));class n{constructor(t,e=null,r=null,n=!1,i=!1){this._endpoint=t,this._rpcAddress=e,this._error=r,this._isAvailable=n,this._isLocal=i}get isLocal(){return this._isLocal}get endpoint(){return this._endpoint}get rpcAddress(){return this._rpcAddress}get error(){return this._error}get isAvailable(){return this._isAvailable}set endpoint(t){this._endpoint=t}set rpcAddress(t){this._rpcAddress=t}set error(t){this._error=t}set isAvailable(t){this._isAvailable=t}set isLocal(t){this._isLocal=t}static fromJSON({endpoint:t,rpcAddress:e,error:r=null,isAvailable:i=!1,isLocal:s=!1}){return new n(t,e,r,i,s)}}class i{constructor(t,e,r,n,i,o,a,l,u){this._address=t,this._nodeState=e,this._term=r,this._syncStatus=n,this._lastLogTerm=i,this._lastLogIndex=o,this._endpoint=a,this._recoveryStatus=l,this._topologyStatus=s.fromJSON(u)}get address(){return this._address}get nodeState(){return this._nodeState}get term(){return this._term}get syncStatus(){return this._syncStatus}get lastLogTerm(){return this._lastLogTerm}get lastLogIndex(){return this._lastLogIndex}get endpoint(){return this._endpoint}get recoveryStatus(){return this._recoveryStatus}set address(t){this._address=t}set nodeState(t){this._nodeState=t}set term(t){this._term=t}set syncStatus(t){this._syncStatus=t}set lastLogTerm(t){this._lastLogTerm=t}set lastLogIndex(t){this._lastLogIndex=t}set endpoint(t){this._endpoint=t}set recoveryStatus(t){this._recoveryStatus=t}get topologyStatus(){return this._topologyStatus}set topologyStatus(t){return this._topologyStatus=t}static fromJSON({address:t,nodeState:e,term:r,syncStatus:n,lastLogTerm:s,lastLogIndex:o,endpoint:a,recoveryStatus:l,topologyStatus:u}){return new i(t,e,r,n,s,o,a,l,u)}}class s{constructor(t,e=new Map,r,n){this._state=t,this._primaryTags=e,this._primaryIndex=r,this._primaryLeader=n}get state(){return this._state}get primaryTags(){return this._primaryTags}get primaryIndex(){return this._primaryIndex}get primaryLeader(){return this._primaryLeader}static fromJSON({state:t,primaryTags:e={},primaryIndex:r,primaryLeader:n}){const i=Object.entries(e);return new s(t,i,r,n)}}class o{constructor(t,e,r,n){this._id=t,this._source=e,this._target=r,this._status=n}static fromJSON({id:t,source:e,target:r,status:n}){return new o(t,e,r,n)}}class a{constructor(t,e,r,n){this._locations=t,this._hasCluster=e,this._nodes=r,this._links=n}get locations(){return this._locations}set locations(t){this._locations=t}get hasCluster(){return this._hasCluster}set hasCluster(t){this._hasCluster=t}get nodes(){return this._nodes}set nodes(t){this._nodes=t}get links(){return this._links}set links(t){this._links=t}static fromJSON(t){const e=t.locations.map(n.fromJSON),r=t.nodes.map(i.fromJSON),s=t.links.map(o.fromJSON);return new a(e,t.hasCluster,r,s)}}class l{constructor(t){this._clusterModel=a.fromJSON(t),this._addToCluster=new Map,this._deleteFromCluster=new Map,this._currentNodesCount=0,this._clusterConfiguration=new c,this._localNodeEndpoint=t.locations.find(t=>t.isLocal).endpoint,this.MINIMUM_NODES_REQUIRED=2}getAttached(){const t=this._clusterModel.nodes.concat(Array.from(this._addToCluster.values()));return this._currentNodesCount=t.filter(t=>!this._deleteFromCluster.has(t.endpoint)).length,t}getViewModel(){let t=0;return this.getAttached().map(e=>{const r=new u(e);return this._deleteFromCluster.has(e.endpoint)?r.isDeleted=!0:r.index=t++,this._localNodeEndpoint===e.endpoint&&(r.isLocal=!0),r})}getAvailable(t=!1){const e=this._clusterModel.nodes;return this._clusterModel.locations.filter(r=>{const n=!this.isPresentInList(e,r.endpoint),i=r.isAvailable,s=!this._addToCluster.has(r.endpoint),o=!!t||!this._deleteFromCluster.has(r.endpoint);return n&&i&&o&&s})}getAvailableNodeEndpoints(){return this.getAvailable().map(t=>t.endpoint)}getLocalNode(){return this._clusterModel.locations.find(t=>t.isLocal)}addToCluster(t){const e=t.endpoint;t.endpoint&&this.addToLocations(t),this._deleteFromCluster.has(e)?this._deleteFromCluster.delete(e):this._addToCluster.set(e,t)}addToLocations(t){const e=d.findIndexByEndpoint(this._clusterModel.locations,t.endpoint);-1===e?this._clusterModel.locations.push(t):this._clusterModel.locations.splice(e,1)}deleteFromCluster(t){const e=t.endpoint;this._addToCluster.has(e)?this._addToCluster.delete(e):this._deleteFromCluster.set(e,t)}getDeleteFromCluster(){return Array.from(this._deleteFromCluster.values())}getUpdateActions(){const t=Array.from(this._addToCluster.values()).map(t=>t.endpoint),e={addNodes:t,removeNodes:Array.from(this._deleteFromCluster.values()).map(t=>t.endpoint)},r=this.updateClusterConfiguration(t);return r&&(e.clusterConfiguration=r),e}updateClusterConfiguration(t){return this.hasCluster()?null:(this._clusterConfiguration.nodes=t,this._clusterConfiguration.toJSON())}getClusterConfiguration(){return this._clusterConfiguration}restoreFromDeletion(t){this._deleteFromCluster.delete(t.endpoint)}isChanged(){return this._addToCluster.size>0||this._deleteFromCluster.size>0}isPresentInList(t,e){return d.isPresentInList(t,e)}findByEndpoint(t,e){return d.findByEndpoint(t,e)}findIndexByEndpoint(t,e){return d.findIndexByEndpoint(t,e)}hasValidNodesCount(){return this._currentNodesCount>=this.MINIMUM_NODES_REQUIRED}canDeleteNode(){const t=Math.floor(this._clusterModel.nodes.length/2);return this._deleteFromCluster.size<t}hasCluster(){return this._clusterModel.hasCluster}}class u{constructor(t){this._item=t,this._endpoint=t.endpoint,this._isDeleted=!1,this._index=void 0,this._isLocal=!1}getEndPoint(){return this._item.endpoint}getAddress(){return void 0!==this._item._address?this._item._address:void 0!==this._item.rpcAddress?this._item.rpcAddress:null}isNode(){return void 0!==this._item._address}isLocation(){return void 0===this._item._address}getNodeState(){return this.isNode()?this._item._nodeState:null}getIsAvailable(){return this.isNode()?null:this._item.isAvailable}getTerm(){return this.isNode()?this._item.term:null}getSyncStatus(){return this.isNode()?this._item.syncStatus:null}getIsLocal(){return this.isNode()?null:this._item.isLocal}get item(){return this._item}get endpoint(){return this._endpoint}set endpoint(t){return this._endpoint=t}get isDeleted(){return this._isDeleted}set isDeleted(t){this._isDeleted=t}get index(){return this._index}set index(t){this._index=t}get isLocal(){return this._isLocal}set isLocal(t){this._isLocal=t}}class c{constructor({electionMinTimeout:t=8e3,electionRangeTimeout:e=6e3,heartbeatInterval:r=2e3,messageSizeKB:n=64,verificationTimeout:i=1500,transactionLogMaximumSizeGB:s=50,batchUpdateInterval:o=5e3,nodes:a=[],secondaryTag:l,primaryNodes:u}={}){this._electionMinTimeout=t,this._electionRangeTimeout=e,this._heartbeatInterval=r,this._messageSizeKB=n,this._verificationTimeout=i,this._transactionLogMaximumSizeGB=s,this._batchUpdateInterval=o,this._nodes=a,this._secondaryTag=l,this._primaryNodes=u}static fromJSON(t){return new c(t)}get electionMinTimeout(){return this._electionMinTimeout}set electionMinTimeout(t){this._electionMinTimeout=t}get electionRangeTimeout(){return this._electionRangeTimeout}set electionRangeTimeout(t){this._electionRangeTimeout=t}get heartbeatInterval(){return this._heartbeatInterval}set heartbeatInterval(t){this._heartbeatInterval=t}get messageSizeKB(){return this._messageSizeKB}set messageSizeKB(t){this._messageSizeKB=t}get verificationTimeout(){return this._verificationTimeout}set verificationTimeout(t){this._verificationTimeout=t}get transactionLogMaximumSizeGB(){return this._transactionLogMaximumSizeGB}set transactionLogMaximumSizeGB(t){this._transactionLogMaximumSizeGB=t}get nodes(){return this._nodes}set nodes(t){this._nodes=t}get batchUpdateInterval(){return this._batchUpdateInterval}set batchUpdateInterval(t){this._batchUpdateInterval=t}get secondaryTag(){return this._secondaryTag}set secondaryTag(t){this._secondaryTag=t}get primaryNodes(){return this._primaryNodes}set primaryNodes(t){this._primaryNodes=t}toJSON(){const t={electionMinTimeout:this._electionMinTimeout,electionRangeTimeout:this._electionRangeTimeout,heartbeatInterval:this._heartbeatInterval,messageSizeKB:this._messageSizeKB,verificationTimeout:this._verificationTimeout,transactionLogMaximumSizeGB:this._transactionLogMaximumSizeGB,batchUpdateInterval:this._batchUpdateInterval,nodes:this._nodes};return void 0!==this._secondaryTag&&(t.secondaryTag=this._secondaryTag),void 0!==this._primaryNodes&&(t.primaryNodes=this._primaryNodes),t}}class d{static isPresentInList(t,e){return t.some(t=>t.endpoint===e)}static findByEndpoint(t,e){return t.find(t=>t.endpoint===e)}static findIndexByEndpoint(t,e){return t.findIndex(t=>t.endpoint===e)}}},109:function(t,e,r){"use strict";r.r(e),r.d(e,"UPDATE_CLUSTER",(function(){return n})),r.d(e,"DELETE_CLUSTER",(function(){return i})),r.d(e,"CLICK_IN_VIEW",(function(){return s})),r.d(e,"NODE_SELECTED",(function(){return o})),r.d(e,"CREATE_CLUSTER",(function(){return a})),r.d(e,"MODEL_UPDATED",(function(){return l}));const n="updateCluster",i="deleteCluster",s="clickInView",o="nodeSelected",a="createCluster",l="modelUpdated"},136:function(t,e){angular.module("graphdb.framework.core.directives.ascii-validator",[]).directive("asciiValidator",(function(){return{restrict:"A",require:"ngModel",link:function(t,e,r,n){function i(t){const e=/^[\x21-\x7E]*$/.test(t);return n.$setValidity("asciiValidator",e),t}n.$parsers.push(i),n.$formatters.push(i)}}}))},137:function(t,e){angular.module("graphdb.framework.core.directives.length-validator",[]).directive("lengthValidator",(function(){return{restrict:"A",require:"ngModel",link:function(t,e,r,n){function i(t){const e=r.minLength?parseInt(r.minLength,10):0,i=r.maxLength?parseInt(r.maxLength,10):1/0,s=t&&t.length>=e&&t.length<=i;return n.$setValidity("lengthValidator",s),t}n.$parsers.push(i),n.$formatters.push(i)}}}))},158:function(t,e,r){"use strict";r.r(e);var n=r(109);function i(t,e){return{restrict:"E",templateUrl:"js/angular/clustermanagement/templates/cluster-configuration/cluster-properties.html",scope:{currentNode:"=",clusterModel:"=",clusterConfiguration:"="},link:r=>{r.isAdmin=!1,r.showEditConfigurationDialog=()=>{e.open({templateUrl:"js/angular/clustermanagement/templates/modal/cluster-edit-dialog.html",controller:"EditClusterCtrl",size:"lg",resolve:{data:()=>({clusterConfiguration:r.clusterConfiguration})}}).result.finally((function(){r.$emit(n.UPDATE_CLUSTER,{force:!0})}))},r.showDeleteDialog=()=>{e.open({templateUrl:"js/angular/clustermanagement/templates/modal/cluster-delete-dialog.html",controller:"DeleteClusterCtrl"}).result.then(t=>{r.$emit(n.DELETE_CLUSTER,{force:t})})};r.isAdmin=t.isAuthenticated()&&t.isAdmin()}}}angular.module("graphdb.framework.clustermanagement.directives.cluster-configuration.cluster-properties",[]).directive("clusterProperties",i),i.$inject=["$jwtAuth","$uibModal"]},159:function(t,e){function r(){return{restrict:"E",templateUrl:"js/angular/clustermanagement/templates/cluster-configuration/cluster-nodes.html",scope:{currentNode:"=",clusterModel:"="}}}angular.module("graphdb.framework.clustermanagement.directives.cluster-configuration.cluster-nodes",[]).directive("clusterNodes",r),r.$inject=[]},160:function(t,e,r){"use strict";r.r(e);r(136),r(137);var n=r(108),i=r(98);const s={minLen:"3",maxLen:"255"};function o(t,e,r,o,a,l,u){return{restrict:"E",templateUrl:"js/angular/clustermanagement/templates/cluster-configuration/multi-region.html",scope:{clusterModel:"=",clusterConfiguration:"="},link:c=>{const d=[];c.topology=void 0,c.TopologyState=i.TopologyState,c.isAdmin=!1,c.addingTag=!1,c.loaderTimeout=void 0,c.secondaryTag=void 0,c.TagLengthConstraints=s,c.add=()=>{c.addingTag=!0},c.cancel=()=>{c.addingTag=!1},c.createTag=t=>{const r={tag:t};return h(!0),l.addCusterTag(r).then(()=>{o.success(e.instant("cluster_management.cluster_configuration_multi_region.created_tag",{tag:t}))}).catch(t=>{const r=getError(t);o.error(r,e.instant("cluster_management.cluster_configuration_multi_region.error.creating"))}).finally(()=>{c.addingTag=!1,h(!1)})},c.deleteTag=t=>{a.openSimpleModal({title:e.instant("cluster_management.cluster_configuration_multi_region.confirm.delete",{tag:t}),message:e.instant("cluster_management.cluster_configuration_multi_region.confirm.warning"),warning:!0,backdrop:"static",stopPropagation:!0}).result.then(()=>(h(!0),l.deleteClusterTag(t))).then(()=>o.success(e.instant("cluster_management.cluster_configuration_multi_region.deleted_tag",{tag:t}))).catch(t=>{if("cancel"===t||"escape key press"===t)return;const r=getError(t);o.error(r,e.instant("cluster_management.cluster_configuration_multi_region.error.deleting"))}).finally(()=>h(!1))},c.enableSecondaryMode=()=>{c.addingTag=!1;const t={title:e.instant("cluster_management.cluster_configuration_multi_region.confirm.enable_secondary"),message:e.instant("cluster_management.cluster_configuration_multi_region.confirm.enable_secondary_warning"),warning:!0,backdrop:"static",confirmButtonKey:"common.ok.btn",stopPropagation:!0};a.openSimpleModal(t).result.then(()=>g()).then(t=>(h(!0),l.enableSecondaryMode(t))).then(()=>o.success(e.instant("cluster_management.cluster_configuration_multi_region.secondary_enabled"))).catch(t=>{if("cancel"===t||"escape key press"===t)return;const r=getError(t);o.error(r,e.instant("cluster_management.cluster_configuration_multi_region.error.secondary"))}).finally(()=>h(!1))},c.disableSecondaryMode=()=>{a.openSimpleModal({title:e.instant("cluster_management.cluster_configuration_multi_region.confirm.disable_secondary_mode"),message:e.instant("cluster_management.cluster_configuration_multi_region.confirm.disable_secondary_mode_warning"),warning:!0,backdrop:"static",stopPropagation:!0}).result.then(()=>(h(!0),l.disableSecondaryMode())).then(()=>o.success(e.instant("cluster_management.cluster_configuration_multi_region.disabled_secondary_mode"))).catch(t=>{if("cancel"===t||"escape key press"===t)return;const r=getError(t);o.error(r,e.instant("cluster_management.cluster_configuration_multi_region.error.disabling"))}).finally(()=>h(!1))};const g=()=>{const t={title:e.instant("cluster_management.cluster_configuration_multi_region.secondary_cluster_settings"),templateUrl:"js/angular/clustermanagement/templates/modal/secondary-mode-modal.html",controller:["$scope","$uibModalInstance","config",function(t,e,r){t.rpcAddress="",t.tag="",t.title=r.title,t.onClick=t=>t.stopPropagation(),t.ok=()=>{e.close({primaryNode:t.rpcAddress,tag:t.tag})},t.cancel=()=>{e.dismiss("cancel")}}],size:"lg",warning:!0,backdrop:"static"};return a.openCustomModal(t).result},_=t=>{h(!0),l.getClusterConfig().then(e=>{c.secondaryTag=n.ClusterConfiguration.fromJSON(e.data).secondaryTag,(t=>{const e=t.nodes.find(t=>t.nodeState===i.NodeState.LEADER);c.topology=e.topologyStatus})(n.ClusterModel.fromJSON(t))}).catch(t=>{const r=getError(t);o.error(r,e.instant("cluster_management.cluster_configuration_multi_region.error.disabling"))}).finally(()=>h(!1))},m=t=>{t||(c.addingTag=!1)},h=(t,e)=>{r.cancel(c.loaderTimeout),t?(c.loaderMessage=e,c.loaderTimeout=r(()=>{c.loader=t},150)):c.loader=!1};c.$on("$destroy",(function(){d.forEach(t=>t())}));c.isAdmin=t.isAuthenticated()&&t.isAdmin(),d.push(c.$watch("clusterModel",(function(t,e){t!==e&&_(t)}),!0)),d.push(u.onShowClusterConfigurationPanel(m)),_(c.clusterModel)}}}angular.module("graphdb.framework.clustermanagement.directives.cluster-configuration.multi-region",["graphdb.framework.core.directives.ascii-validator","graphdb.framework.core.directives.length-validator"]).directive("multiRegion",o),o.$inject=["$jwtAuth","$translate","$timeout","toastr","ModalService","ClusterRestService","ClusterViewContextService"]},227:function(t,e,r){"use strict";r.r(e);r(158),r(159),r(160);angular.module("graphdb.framework.clustermanagement.directives.cluster-configuration",["graphdb.framework.clustermanagement.directives.cluster-configuration.cluster-properties","graphdb.framework.clustermanagement.directives.cluster-configuration.cluster-nodes","graphdb.framework.clustermanagement.directives.cluster-configuration.multi-region"]).directive("clusterConfiguration",i),i.$inject=["$jwtAuth","$uibModal","$translate","toastr","ClusterViewContextService"];const n={PROPERTIES:"properties",NODES:"nodes",MULTI_REGION:"multi_region"};function i(t,e,r,i,s){return{restrict:"E",templateUrl:"js/angular/clustermanagement/templates/cluster-configuration/cluster-configuration.html",scope:{currentNode:"=",clusterModel:"=",clusterConfiguration:"="},link:t=>{const e=[];t.CONFIGURATION_TABS=n,t.activeTab=n.PROPERTIES,t.closeClusterConfigurationPanel=()=>{s.hideClusterConfigurationPanel()},t.switchTab=(e,r)=>{t.activeTab=r};t.$on("$destroy",(function(){e.forEach(t=>t()),t.closeClusterConfigurationPanel()}));e.push(s.onShowClusterConfigurationPanel(e=>{e||(t.activeTab=n.PROPERTIES)}))}}}},98:function(t,e,r){"use strict";r.r(e),r.d(e,"NodeState",(function(){return n})),r.d(e,"RecoveryState",(function(){return i})),r.d(e,"LinkState",(function(){return s})),r.d(e,"TopologyState",(function(){return o}));const n={LEADER:"LEADER",FOLLOWER:"FOLLOWER",CANDIDATE:"CANDIDATE",OUT_OF_SYNC:"OUT_OF_SYNC",NO_CONNECTION:"NO_CONNECTION",READ_ONLY:"READ_ONLY",RESTRICTED:"RESTRICTED",NO_CLUSTER:"NO_CLUSTER"},i={SEARCHING_FOR_NODE:"SEARCHING_FOR_NODE",WAITING_FOR_SNAPSHOT:"WAITING_FOR_SNAPSHOT",RECEIVING_SNAPSHOT:"RECEIVING_SNAPSHOT",APPLYING_SNAPSHOT:"APPLYING_SNAPSHOT",BUILDING_SNAPSHOT:"BUILDING_SNAPSHOT",SENDING_SNAPSHOT:"SENDING_SNAPSHOT",RECOVERY_OPERATION_FAILURE_WARNING:"RECOVERY_OPERATION_FAILURE_WARNING"},s={IN_SYNC:"IN_SYNC",OUT_OF_SYNC:"OUT_OF_SYNC",SYNCING:"SYNCING",NO_CONNECTION:"NO_CONNECTION",RECEIVING_SNAPSHOT:"RECEIVING_SNAPSHOT"},o={PRIMARY_NODE:"PRIMARY_NODE",SECONDARY_NODE:"SECONDARY_NODE"}}}]);
|
|
1
|
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[34,50,89,135,136,141,144,192,195,196],{110:function(t,e,r){"use strict";r.r(e),r.d(e,"Location",(function(){return n})),r.d(e,"Node",(function(){return i})),r.d(e,"TopologyStatus",(function(){return s})),r.d(e,"Link",(function(){return o})),r.d(e,"ClusterModel",(function(){return a})),r.d(e,"ClusterViewModel",(function(){return l})),r.d(e,"ClusterItemViewModel",(function(){return u})),r.d(e,"ClusterConfiguration",(function(){return c}));class n{constructor(t,e=null,r=null,n=!1,i=!1){this._endpoint=t,this._rpcAddress=e,this._error=r,this._isAvailable=n,this._isLocal=i}get isLocal(){return this._isLocal}get endpoint(){return this._endpoint}get rpcAddress(){return this._rpcAddress}get error(){return this._error}get isAvailable(){return this._isAvailable}set endpoint(t){this._endpoint=t}set rpcAddress(t){this._rpcAddress=t}set error(t){this._error=t}set isAvailable(t){this._isAvailable=t}set isLocal(t){this._isLocal=t}static fromJSON({endpoint:t,rpcAddress:e,error:r=null,isAvailable:i=!1,isLocal:s=!1}){return new n(t,e,r,i,s)}}class i{constructor(t,e,r,n,i,o,a,l,u){this._address=t,this._nodeState=e,this._term=r,this._syncStatus=n,this._lastLogTerm=i,this._lastLogIndex=o,this._endpoint=a,this._recoveryStatus=l,this._topologyStatus=s.fromJSON(u)}get address(){return this._address}get nodeState(){return this._nodeState}get term(){return this._term}get syncStatus(){return this._syncStatus}get lastLogTerm(){return this._lastLogTerm}get lastLogIndex(){return this._lastLogIndex}get endpoint(){return this._endpoint}get recoveryStatus(){return this._recoveryStatus}set address(t){this._address=t}set nodeState(t){this._nodeState=t}set term(t){this._term=t}set syncStatus(t){this._syncStatus=t}set lastLogTerm(t){this._lastLogTerm=t}set lastLogIndex(t){this._lastLogIndex=t}set endpoint(t){this._endpoint=t}set recoveryStatus(t){this._recoveryStatus=t}get topologyStatus(){return this._topologyStatus}set topologyStatus(t){return this._topologyStatus=t}static fromJSON({address:t,nodeState:e,term:r,syncStatus:n,lastLogTerm:s,lastLogIndex:o,endpoint:a,recoveryStatus:l,topologyStatus:u}){return new i(t,e,r,n,s,o,a,l,u)}}class s{constructor(t,e=new Map,r,n){this._state=t,this._primaryTags=e,this._primaryIndex=r,this._primaryLeader=n}get state(){return this._state}get primaryTags(){return this._primaryTags}get primaryIndex(){return this._primaryIndex}get primaryLeader(){return this._primaryLeader}static fromJSON({state:t,primaryTags:e={},primaryIndex:r,primaryLeader:n}){const i=Object.entries(e);return new s(t,i,r,n)}}class o{constructor(t,e,r,n){this._id=t,this._source=e,this._target=r,this._status=n}static fromJSON({id:t,source:e,target:r,status:n}){return new o(t,e,r,n)}}class a{constructor(t,e,r,n){this._locations=t,this._hasCluster=e,this._nodes=r,this._links=n}get locations(){return this._locations}set locations(t){this._locations=t}get hasCluster(){return this._hasCluster}set hasCluster(t){this._hasCluster=t}get nodes(){return this._nodes}set nodes(t){this._nodes=t}get links(){return this._links}set links(t){this._links=t}static fromJSON(t){const e=t.locations.map(n.fromJSON),r=t.nodes.map(i.fromJSON),s=t.links.map(o.fromJSON);return new a(e,t.hasCluster,r,s)}}class l{constructor(t){this._clusterModel=a.fromJSON(t),this._addToCluster=new Map,this._deleteFromCluster=new Map,this._currentNodesCount=0,this._clusterConfiguration=new c,this._localNodeEndpoint=t.locations.find(t=>t.isLocal).endpoint,this.MINIMUM_NODES_REQUIRED=2}getAttached(){const t=this._clusterModel.nodes.concat(Array.from(this._addToCluster.values()));return this._currentNodesCount=t.filter(t=>!this._deleteFromCluster.has(t.endpoint)).length,t}getViewModel(){let t=0;return this.getAttached().map(e=>{const r=new u(e);return this._deleteFromCluster.has(e.endpoint)?r.isDeleted=!0:r.index=t++,this._localNodeEndpoint===e.endpoint&&(r.isLocal=!0),r})}getAvailable(t=!1){const e=this._clusterModel.nodes;return this._clusterModel.locations.filter(r=>{const n=!this.isPresentInList(e,r.endpoint),i=r.isAvailable,s=!this._addToCluster.has(r.endpoint),o=!!t||!this._deleteFromCluster.has(r.endpoint);return n&&i&&o&&s})}getAvailableNodeEndpoints(){return this.getAvailable().map(t=>t.endpoint)}getLocalNode(){return this._clusterModel.locations.find(t=>t.isLocal)}addToCluster(t){const e=t.endpoint;t.endpoint&&this.addToLocations(t),this._deleteFromCluster.has(e)?this._deleteFromCluster.delete(e):this._addToCluster.set(e,t)}addToLocations(t){const e=d.findIndexByEndpoint(this._clusterModel.locations,t.endpoint);-1===e?this._clusterModel.locations.push(t):this._clusterModel.locations.splice(e,1)}deleteFromCluster(t){const e=t.endpoint;this._addToCluster.has(e)?this._addToCluster.delete(e):this._deleteFromCluster.set(e,t)}getDeleteFromCluster(){return Array.from(this._deleteFromCluster.values())}getUpdateActions(){const t=Array.from(this._addToCluster.values()).map(t=>t.endpoint),e={addNodes:t,removeNodes:Array.from(this._deleteFromCluster.values()).map(t=>t.endpoint)},r=this.updateClusterConfiguration(t);return r&&(e.clusterConfiguration=r),e}updateClusterConfiguration(t){return this.hasCluster()?null:(this._clusterConfiguration.nodes=t,this._clusterConfiguration.toJSON())}getClusterConfiguration(){return this._clusterConfiguration}restoreFromDeletion(t){this._deleteFromCluster.delete(t.endpoint)}isChanged(){return this._addToCluster.size>0||this._deleteFromCluster.size>0}isPresentInList(t,e){return d.isPresentInList(t,e)}findByEndpoint(t,e){return d.findByEndpoint(t,e)}findIndexByEndpoint(t,e){return d.findIndexByEndpoint(t,e)}hasValidNodesCount(){return this._currentNodesCount>=this.MINIMUM_NODES_REQUIRED}canDeleteNode(){const t=Math.floor(this._clusterModel.nodes.length/2);return this._deleteFromCluster.size<t}hasCluster(){return this._clusterModel.hasCluster}}class u{constructor(t){this._item=t,this._endpoint=t.endpoint,this._isDeleted=!1,this._index=void 0,this._isLocal=!1}getEndPoint(){return this._item.endpoint}getAddress(){return void 0!==this._item._address?this._item._address:void 0!==this._item.rpcAddress?this._item.rpcAddress:null}isNode(){return void 0!==this._item._address}isLocation(){return void 0===this._item._address}getNodeState(){return this.isNode()?this._item._nodeState:null}getIsAvailable(){return this.isNode()?null:this._item.isAvailable}getTerm(){return this.isNode()?this._item.term:null}getSyncStatus(){return this.isNode()?this._item.syncStatus:null}getIsLocal(){return this.isNode()?null:this._item.isLocal}get item(){return this._item}get endpoint(){return this._endpoint}set endpoint(t){return this._endpoint=t}get isDeleted(){return this._isDeleted}set isDeleted(t){this._isDeleted=t}get index(){return this._index}set index(t){this._index=t}get isLocal(){return this._isLocal}set isLocal(t){this._isLocal=t}}class c{constructor({electionMinTimeout:t=8e3,electionRangeTimeout:e=6e3,heartbeatInterval:r=2e3,messageSizeKB:n=64,verificationTimeout:i=1500,transactionLogMaximumSizeGB:s=50,batchUpdateInterval:o=5e3,nodes:a=[],secondaryTag:l,primaryNodes:u}={}){this._electionMinTimeout=t,this._electionRangeTimeout=e,this._heartbeatInterval=r,this._messageSizeKB=n,this._verificationTimeout=i,this._transactionLogMaximumSizeGB=s,this._batchUpdateInterval=o,this._nodes=a,this._secondaryTag=l,this._primaryNodes=u}static fromJSON(t){return new c(t)}get electionMinTimeout(){return this._electionMinTimeout}set electionMinTimeout(t){this._electionMinTimeout=t}get electionRangeTimeout(){return this._electionRangeTimeout}set electionRangeTimeout(t){this._electionRangeTimeout=t}get heartbeatInterval(){return this._heartbeatInterval}set heartbeatInterval(t){this._heartbeatInterval=t}get messageSizeKB(){return this._messageSizeKB}set messageSizeKB(t){this._messageSizeKB=t}get verificationTimeout(){return this._verificationTimeout}set verificationTimeout(t){this._verificationTimeout=t}get transactionLogMaximumSizeGB(){return this._transactionLogMaximumSizeGB}set transactionLogMaximumSizeGB(t){this._transactionLogMaximumSizeGB=t}get nodes(){return this._nodes}set nodes(t){this._nodes=t}get batchUpdateInterval(){return this._batchUpdateInterval}set batchUpdateInterval(t){this._batchUpdateInterval=t}get secondaryTag(){return this._secondaryTag}set secondaryTag(t){this._secondaryTag=t}get primaryNodes(){return this._primaryNodes}set primaryNodes(t){this._primaryNodes=t}toJSON(){const t={electionMinTimeout:this._electionMinTimeout,electionRangeTimeout:this._electionRangeTimeout,heartbeatInterval:this._heartbeatInterval,messageSizeKB:this._messageSizeKB,verificationTimeout:this._verificationTimeout,transactionLogMaximumSizeGB:this._transactionLogMaximumSizeGB,batchUpdateInterval:this._batchUpdateInterval,nodes:this._nodes};return void 0!==this._secondaryTag&&(t.secondaryTag=this._secondaryTag),void 0!==this._primaryNodes&&(t.primaryNodes=this._primaryNodes),t}}class d{static isPresentInList(t,e){return t.some(t=>t.endpoint===e)}static findByEndpoint(t,e){return t.find(t=>t.endpoint===e)}static findIndexByEndpoint(t,e){return t.findIndex(t=>t.endpoint===e)}}},111:function(t,e,r){"use strict";r.r(e),r.d(e,"UPDATE_CLUSTER",(function(){return n})),r.d(e,"DELETE_CLUSTER",(function(){return i})),r.d(e,"CLICK_IN_VIEW",(function(){return s})),r.d(e,"NODE_SELECTED",(function(){return o})),r.d(e,"CREATE_CLUSTER",(function(){return a})),r.d(e,"MODEL_UPDATED",(function(){return l}));const n="updateCluster",i="deleteCluster",s="clickInView",o="nodeSelected",a="createCluster",l="modelUpdated"},136:function(t,e){angular.module("graphdb.framework.core.directives.ascii-validator",[]).directive("asciiValidator",(function(){return{restrict:"A",require:"ngModel",link:function(t,e,r,n){function i(t){const e=/^[\x21-\x7E]*$/.test(t);return n.$setValidity("asciiValidator",e),t}n.$parsers.push(i),n.$formatters.push(i)}}}))},137:function(t,e){angular.module("graphdb.framework.core.directives.length-validator",[]).directive("lengthValidator",(function(){return{restrict:"A",require:"ngModel",link:function(t,e,r,n){function i(t){const e=r.minLength?parseInt(r.minLength,10):0,i=r.maxLength?parseInt(r.maxLength,10):1/0,s=t&&t.length>=e&&t.length<=i;return n.$setValidity("lengthValidator",s),t}n.$parsers.push(i),n.$formatters.push(i)}}}))},158:function(t,e,r){"use strict";r.r(e);var n=r(111);function i(t,e){return{restrict:"E",templateUrl:"js/angular/clustermanagement/templates/cluster-configuration/cluster-properties.html",scope:{currentNode:"=",clusterModel:"=",clusterConfiguration:"="},link:r=>{r.isAdmin=!1,r.showEditConfigurationDialog=()=>{e.open({templateUrl:"js/angular/clustermanagement/templates/modal/cluster-edit-dialog.html",controller:"EditClusterCtrl",size:"lg",resolve:{data:()=>({clusterConfiguration:r.clusterConfiguration})}}).result.finally((function(){r.$emit(n.UPDATE_CLUSTER,{force:!0})}))},r.showDeleteDialog=()=>{e.open({templateUrl:"js/angular/clustermanagement/templates/modal/cluster-delete-dialog.html",controller:"DeleteClusterCtrl"}).result.then(t=>{r.$emit(n.DELETE_CLUSTER,{force:t})})};r.isAdmin=t.isAuthenticated()&&t.isAdmin()}}}angular.module("graphdb.framework.clustermanagement.directives.cluster-configuration.cluster-properties",[]).directive("clusterProperties",i),i.$inject=["$jwtAuth","$uibModal"]},159:function(t,e){function r(){return{restrict:"E",templateUrl:"js/angular/clustermanagement/templates/cluster-configuration/cluster-nodes.html",scope:{currentNode:"=",clusterModel:"="}}}angular.module("graphdb.framework.clustermanagement.directives.cluster-configuration.cluster-nodes",[]).directive("clusterNodes",r),r.$inject=[]},160:function(t,e,r){"use strict";r.r(e);r(136),r(137);var n=r(110),i=r(98);const s={minLen:"3",maxLen:"255"};function o(t,e,r,o,a,l,u){return{restrict:"E",templateUrl:"js/angular/clustermanagement/templates/cluster-configuration/multi-region.html",scope:{clusterModel:"=",clusterConfiguration:"="},link:c=>{const d=[];c.topology=void 0,c.TopologyState=i.TopologyState,c.isAdmin=!1,c.addingTag=!1,c.loaderTimeout=void 0,c.secondaryTag=void 0,c.TagLengthConstraints=s,c.add=()=>{c.addingTag=!0},c.cancel=()=>{c.addingTag=!1},c.createTag=t=>{const r={tag:t};return h(!0),l.addCusterTag(r).then(()=>{o.success(e.instant("cluster_management.cluster_configuration_multi_region.created_tag",{tag:t}))}).catch(t=>{const r=getError(t);o.error(r,e.instant("cluster_management.cluster_configuration_multi_region.error.creating"))}).finally(()=>{c.addingTag=!1,h(!1)})},c.deleteTag=t=>{a.openSimpleModal({title:e.instant("cluster_management.cluster_configuration_multi_region.confirm.delete",{tag:t}),message:e.instant("cluster_management.cluster_configuration_multi_region.confirm.warning"),warning:!0,backdrop:"static",stopPropagation:!0}).result.then(()=>(h(!0),l.deleteClusterTag(t))).then(()=>o.success(e.instant("cluster_management.cluster_configuration_multi_region.deleted_tag",{tag:t}))).catch(t=>{if("cancel"===t||"escape key press"===t)return;const r=getError(t);o.error(r,e.instant("cluster_management.cluster_configuration_multi_region.error.deleting"))}).finally(()=>h(!1))},c.enableSecondaryMode=()=>{c.addingTag=!1;const t={title:e.instant("cluster_management.cluster_configuration_multi_region.confirm.enable_secondary"),message:e.instant("cluster_management.cluster_configuration_multi_region.confirm.enable_secondary_warning"),warning:!0,backdrop:"static",confirmButtonKey:"common.ok.btn",stopPropagation:!0};a.openSimpleModal(t).result.then(()=>g()).then(t=>(h(!0),l.enableSecondaryMode(t))).then(()=>o.success(e.instant("cluster_management.cluster_configuration_multi_region.secondary_enabled"))).catch(t=>{if("cancel"===t||"escape key press"===t)return;const r=getError(t);o.error(r,e.instant("cluster_management.cluster_configuration_multi_region.error.secondary"))}).finally(()=>h(!1))},c.disableSecondaryMode=()=>{a.openSimpleModal({title:e.instant("cluster_management.cluster_configuration_multi_region.confirm.disable_secondary_mode"),message:e.instant("cluster_management.cluster_configuration_multi_region.confirm.disable_secondary_mode_warning"),warning:!0,backdrop:"static",stopPropagation:!0}).result.then(()=>(h(!0),l.disableSecondaryMode())).then(()=>o.success(e.instant("cluster_management.cluster_configuration_multi_region.disabled_secondary_mode"))).catch(t=>{if("cancel"===t||"escape key press"===t)return;const r=getError(t);o.error(r,e.instant("cluster_management.cluster_configuration_multi_region.error.disabling"))}).finally(()=>h(!1))};const g=()=>{const t={title:e.instant("cluster_management.cluster_configuration_multi_region.secondary_cluster_settings"),templateUrl:"js/angular/clustermanagement/templates/modal/secondary-mode-modal.html",controller:["$scope","$uibModalInstance","config",function(t,e,r){t.rpcAddress="",t.tag="",t.title=r.title,t.onClick=t=>t.stopPropagation(),t.ok=()=>{e.close({primaryNode:t.rpcAddress,tag:t.tag})},t.cancel=()=>{e.dismiss("cancel")}}],size:"lg",warning:!0,backdrop:"static"};return a.openCustomModal(t).result},_=t=>{h(!0),l.getClusterConfig().then(e=>{c.secondaryTag=n.ClusterConfiguration.fromJSON(e.data).secondaryTag,(t=>{const e=t.nodes.find(t=>t.nodeState===i.NodeState.LEADER);c.topology=e.topologyStatus})(n.ClusterModel.fromJSON(t))}).catch(t=>{const r=getError(t);o.error(r,e.instant("cluster_management.cluster_configuration_multi_region.error.disabling"))}).finally(()=>h(!1))},m=t=>{t||(c.addingTag=!1)},h=(t,e)=>{r.cancel(c.loaderTimeout),t?(c.loaderMessage=e,c.loaderTimeout=r(()=>{c.loader=t},150)):c.loader=!1};c.$on("$destroy",(function(){d.forEach(t=>t())}));c.isAdmin=t.isAuthenticated()&&t.isAdmin(),d.push(c.$watch("clusterModel",(function(t,e){t!==e&&_(t)}),!0)),d.push(u.onShowClusterConfigurationPanel(m)),_(c.clusterModel)}}}angular.module("graphdb.framework.clustermanagement.directives.cluster-configuration.multi-region",["graphdb.framework.core.directives.ascii-validator","graphdb.framework.core.directives.length-validator"]).directive("multiRegion",o),o.$inject=["$jwtAuth","$translate","$timeout","toastr","ModalService","ClusterRestService","ClusterViewContextService"]},227:function(t,e,r){"use strict";r.r(e);r(158),r(159),r(160);angular.module("graphdb.framework.clustermanagement.directives.cluster-configuration",["graphdb.framework.clustermanagement.directives.cluster-configuration.cluster-properties","graphdb.framework.clustermanagement.directives.cluster-configuration.cluster-nodes","graphdb.framework.clustermanagement.directives.cluster-configuration.multi-region"]).directive("clusterConfiguration",i),i.$inject=["$jwtAuth","$uibModal","$translate","toastr","ClusterViewContextService"];const n={PROPERTIES:"properties",NODES:"nodes",MULTI_REGION:"multi_region"};function i(t,e,r,i,s){return{restrict:"E",templateUrl:"js/angular/clustermanagement/templates/cluster-configuration/cluster-configuration.html",scope:{currentNode:"=",clusterModel:"=",clusterConfiguration:"="},link:t=>{const e=[];t.CONFIGURATION_TABS=n,t.activeTab=n.PROPERTIES,t.closeClusterConfigurationPanel=()=>{s.hideClusterConfigurationPanel()},t.switchTab=(e,r)=>{t.activeTab=r};t.$on("$destroy",(function(){e.forEach(t=>t()),t.closeClusterConfigurationPanel()}));e.push(s.onShowClusterConfigurationPanel(e=>{e||(t.activeTab=n.PROPERTIES)}))}}}},98:function(t,e,r){"use strict";r.r(e),r.d(e,"NodeState",(function(){return n})),r.d(e,"RecoveryState",(function(){return i})),r.d(e,"LinkState",(function(){return s})),r.d(e,"TopologyState",(function(){return o}));const n={LEADER:"LEADER",FOLLOWER:"FOLLOWER",CANDIDATE:"CANDIDATE",OUT_OF_SYNC:"OUT_OF_SYNC",NO_CONNECTION:"NO_CONNECTION",READ_ONLY:"READ_ONLY",RESTRICTED:"RESTRICTED",NO_CLUSTER:"NO_CLUSTER"},i={SEARCHING_FOR_NODE:"SEARCHING_FOR_NODE",WAITING_FOR_SNAPSHOT:"WAITING_FOR_SNAPSHOT",RECEIVING_SNAPSHOT:"RECEIVING_SNAPSHOT",APPLYING_SNAPSHOT:"APPLYING_SNAPSHOT",BUILDING_SNAPSHOT:"BUILDING_SNAPSHOT",SENDING_SNAPSHOT:"SENDING_SNAPSHOT",RECOVERY_OPERATION_FAILURE_WARNING:"RECOVERY_OPERATION_FAILURE_WARNING"},s={IN_SYNC:"IN_SYNC",OUT_OF_SYNC:"OUT_OF_SYNC",SYNCING:"SYNCING",NO_CONNECTION:"NO_CONNECTION",RECEIVING_SNAPSHOT:"RECEIVING_SNAPSHOT"},o={PRIMARY_NODE:"PRIMARY_NODE",SECONDARY_NODE:"SECONDARY_NODE"}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[342],{462:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='\x3c!-- Start save graph modal --\x3e\n\n<div class="modal-header">\n <button type="button" class="close" ng-click="cancel()"></button>\n <h3 ng-if="isNew" class="modal-title">{{\'add.label.add.autocomplete\' | translate}}</h3>\n <h3 ng-if="!isNew" class="modal-title">{{\'add.label.edit.autocomplete\' | translate}}</h3>\n</div>\n<div class="modal-body">\n <form name="form" id="addLabelForm">\n\n <input id="wb-autocomplete-iri" name="autocompleteIri" required type="text" ng-model="label.labelIri" class="form-control" validate-url\n placeholder= "{{\'add.label.enter.iri\' | translate}}" autofocus/>\n <div ng-show="form.autocompleteIri.$error.validUrl" class="error-message">\n {{\'invalid.uri.msg\' | translate}}\n </div>\n\n <div class="mt-1 mb-2 templates">\n <span class="tag tag-default" ng-click="setTemplate(\'http://www.w3.org/2000/01/rdf-schema#label\')">rdfs:label</span>\n <span class="tag tag-default" ng-click="label.labelIri = \'http://www.w3.org/2004/02/skos/core#prefLabel\'; $(\'#wb-autocomplete-languages\').focus()">skos:prefLabel</span>\n <span class="tag tag-default" ng-click="label.labelIri = \'http://xmlns.com/foaf/0.1/name\'; $(\'#wb-autocomplete-languages\').focus()">foaf:name</span>\n </div>\n\n <input id="wb-autocomplete-languages" type="text" ng-model="label.languages" class="form-control"\n placeholder="{{\'add.label.enter.comma.separated\' | translate}}"/>\n </form>\n</div>\n<div class="modal-footer">\n <button type="button" class="btn btn-secondary" ng-click="cancel()">{{\'common.cancel.btn\' | translate}}</button>\n <button id="wb-autocomplete-savegraph-submit" form="addLabelForm" ng-disabled="form.autocompleteIri.$invalid" class="btn btn-primary" ng-click="ok()" type="submit">{{\'common.ok.btn\' | translate}}</button>\n</div>\n\n\x3c!-- End save graph modal --\x3e\n\n';return __p}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[348],{468:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/cluster-nodes-configuration.css?v=2.8.8" rel="stylesheet"/>\n\n<div onto-loader-new ng-if="loader" class="create-cluster-loader" message="getLoaderMessage" size="100"></div>\n<div class="add-node-wrapper pull-right mb-1">\n <button ng-click="addNode()" ng-disabled="editedNodeIndex !== undefined"\n class="btn btn-primary add-node-btn"\n gdb-tooltip="{{\'cluster_management.update_cluster_group_dialog.actions.add_node_tooltip\' | translate}}">\n <i class="fa fa-plus"></i> {{\'cluster_management.update_cluster_group_dialog.actions.add_node\' |\n translate}}\n </button>\n</div>\n<div class="table-responsive">\n <form name="form" id="updateClusterGroupForm">\n <table class="cluster-group table table-striped table-hover cluster-group-table" aria-describedby="cluster group table">\n <thead>\n <tr class="labels-row">\n <th scope="col" class="index-column">\n {{\'cluster_management.update_cluster_group_dialog.column.index\' | translate}}\n </th>\n <th scope="col" class="location-column">\n {{\'cluster_management.update_cluster_group_dialog.column.location\' | translate}}\n </th>\n <th scope="col" class="info-column">\n {{\'cluster_management.update_cluster_group_dialog.column.info\' | translate}}\n </th>\n <th scope="col" class="status-column">\n {{\'cluster_management.update_cluster_group_dialog.column.status\' | translate}}\n </th>\n <th scope="col" class="empty-column"></th>\n <th scope="col" class="actions-column"></th>\n </tr>\n </thead>\n <tbody>\n <tr ng-if="!viewModel.length">\n <td colspan="5" class="no-data">\n {{\'cluster_management.update_cluster_group_dialog.messages.no_cluster\' | translate}}\n </td>\n </tr>\n\n <tr ng-repeat-start="node in viewModel track by $index" ng-if="0"></tr>\n <tr ng-if="$index !== editedNodeIndex" class="node preview-node-row" data-endpoint="{{node.endpoint}}"\n capture-height="$index"\n ng-class="{\'selected\': $index === selectedNode || $index === editedNodeIndex}">\n <td class="index-cell"><span ng-if="!node.isDeleted">{{node.index + 1}}</span></td>\n <td class="location-cell data" ng-class="{\'deleting\': node.isDeleted, \'adding\': !node.item.address}">\n <div class="location-item">\n {{node.item.endpoint}}\n </div>\n </td>\n <td class="info-cell data">\n <span ng-if="node.isLocal">\n {{\'cluster_management.update_cluster_group_dialog.current_node\' | translate}}<span ng-if="node.item.nodeState">, </span>\n </span>\n\n <span ng-if="node.item.nodeState">\n {{ (\'cluster_management.update_cluster_group_dialog.\' + node.item.nodeState.toLowerCase()) |\n translate }}\n </span>\n </td>\n <td class="status-cell data">\n <div ng-if="!node.item.address" class="adding">\n <i class="fa fa-circle-check status-icon"></i>\n {{\'cluster_management.update_cluster_group_dialog.new_node\' | translate}}\n </div>\n <div ng-if="node.isDeleted" class="deleting">\n <i class="fa fa-xmark status-icon"></i>\n {{\'cluster_management.update_cluster_group_dialog.deleted_node\' | translate}}\n </div>\n </td>\n <td class="empty-cell"></td>\n <td class="actions-cell">\n <div ng-if="editedNodeIndex === undefined && !node.isDeleted" class="actions-group">\n <button ng-click="deleteNode($index, node)" ng-disabled="!canDeleteNode"\n class="btn btn-link delete-node-btn secondary"\n gdb-tooltip="{{ canDeleteNode ? (\'cluster_management.update_cluster_group_dialog.actions.delete_node\' | translate) : (\'cluster_management.update_cluster_group_dialog.actions.cannot_delete_node\' | translate) }}"\n title-class="delete-node-tooltip">\n <i class="fa fa-xmark"></i>\n </button>\n <button ng-click="replaceNode($index, node)" class="btn btn-link replace-node-btn"\n gdb-tooltip="{{\'cluster_management.update_cluster_group_dialog.actions.replace_node\' | translate}}">\n <i class="fa fa-arrow-right-arrow-left"></i>\n </button>\n </div>\n <div ng-if="editedNodeIndex === undefined && node.isDeleted" class="actions-group">\n <button ng-click="restoreNode(node)"\n class="btn btn-link restore-node-btn secondary"\n gdb-tooltip="{{\'cluster_management.update_cluster_group_dialog.actions.restore_node\' | translate}}">\n <i class="fa fa-rotate-left"></i>\n </button>\n </div>\n </td>\n </tr>\n <tr ng-if="$index === editedNodeIndex" class="node edit-node-row" data-endpoint="{{node.endpoint}}"\n style="{{getRowHeight}}"\n ng-class="{\'selected table-info\': $index === editedNodeIndex}">\n <td class="index-cell"><span ng-if="!node.isDeleted">{{node.index + 1}}</span></td>\n <td class="data location-cell">\n <div class="autocomplete-container">\n <textarea type="text" name="location" required\n ng-model="node.endpoint"\n ng-change="filterSuggestions(node)"\n ng-blur="hideSuggestions(node)"\n ng-click="filterSuggestions(node)"\n auto-grow\n validate-url exclude="/repositories" exclude-protocol="ftp,ftps"\n validate-duplicate-url excluded-urls="clusterNodesEndpoints"\n allow-empty="false"\n autocomplete="off"\n class="form-control form-control-sm textarea-edit"\n uib-tooltip="{{\'remote.location.enter.url.msg\' | translate}}"\n tooltip-placement="top"\n placeholder="{{\'cluster_management.update_cluster_group_dialog.field_placeholders.location\' | translate}}">\n </textarea>\n <ul ng-show="suggestions.length > 0 && showDropdown" class="autocomplete-dropdown">\n <li ng-repeat="suggestion in suggestions"\n ng-mouseup="selectSuggestion(node, suggestion)">\n {{ suggestion }}\n </li>\n </ul>\n </div>\n </td>\n <td class="info-cell data">\n <span ng-if="node.isLocal">\n {{\'cluster_management.update_cluster_group_dialog.current_node\' | translate}}<span ng-if="node.item.nodeState">, </span>\n </span>\n\n <span ng-if="node.item.nodeState">\n {{ (\'cluster_management.update_cluster_group_dialog.\' + node.item.nodeState.toLowerCase()) |\n translate }}\n </span>\n </td>\n <td class="status-cell"></td>\n <td class="empty-cell"></td>\n <td class="actions-cell">\n <div class="crud-actions-group">\n <button ng-click="cancel()"\n class="btn btn-link cancel-node-replace-btn secondary"\n gdb-tooltip="{{\'cluster_management.update_cluster_group_dialog.actions.cancel\' | translate}}">\n <i class="fa fa-xmark"></i>\n </button>\n <button ng-click="saveNode(node.endpoint)"\n class="btn btn-link save-rule-btn"\n ng-disabled="!form.location.$valid"\n gdb-tooltip="{{form.location.$valid ? \'cluster_management.update_cluster_group_dialog.actions.add_node\' : \'cluster_management.update_cluster_group_dialog.messages.invalid_form\' | translate}}">\n <i class="fa fa-check"></i>\n </button>\n </div>\n </td>\n </tr>\n <tr ng-repeat-end ng-if="0"></tr>\n <tr ng-if="addNewLocation" class="node edit-node-row">\n <td class="index-cell"></td>\n <td class="data location-cell">\n <div class="autocomplete-container">\n <textarea type="text" name="location" required\n ng-model="newLocation.endpoint"\n ng-change="filterSuggestions(newLocation)"\n ng-blur="hideSuggestions(newLocation)"\n ng-click="filterSuggestions(newLocation)"\n auto-grow\n validate-url exclude="/repositories" exclude-protocol="ftp,ftps"\n validate-duplicate-url excluded-urls="clusterNodesEndpoints"\n allow-empty="false"\n autocomplete="off"\n class="form-control form-control-sm textarea-edit"\n uib-tooltip="{{\'remote.location.enter.url.msg\' | translate}}"\n tooltip-placement="top"\n placeholder="{{\'cluster_management.update_cluster_group_dialog.field_placeholders.location\' | translate}}">\n </textarea>\n <ul ng-show="suggestions.length > 0 && showDropdown" class="autocomplete-dropdown">\n <li ng-repeat="suggestion in suggestions"\n ng-mouseup="selectSuggestion(newLocation, suggestion)">\n {{ suggestion }}\n </li>\n </ul>\n </div>\n </td>\n <td class="info-cell data"></td>\n <td class="status-cell"></td>\n <td class="empty-cell"></td>\n <td class="actions-cell">\n <div class="crud-actions-group">\n <button ng-click="cancel()"\n class="btn btn-link cancel-node-replace-btn secondary"\n gdb-tooltip="{{\'cluster_management.update_cluster_group_dialog.actions.cancel\' | translate}}">\n <i class="fa fa-xmark"></i>\n </button>\n <button ng-click="saveNode(newLocation.endpoint)"\n class="btn btn-link save-rule-btn"\n ng-disabled="!form.location.$valid"\n gdb-tooltip="{{form.location.$valid ? \'cluster_management.update_cluster_group_dialog.actions.add_node\' : \'cluster_management.update_cluster_group_dialog.messages.invalid_form\' | translate}}">\n <i class="fa fa-check"></i>\n </button>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n <div class="errors">\n <div class="error-message"\n ng-show="form.location.$error.validUrl && !form.location.$pristine">\n * {{\'valid.remote.location.warning\' | translate}} http://server.example.com:7200/.\n </div>\n <div class="error-message"\n ng-show="form.location.$error.duplicateUrl && !form.location.$pristine">\n * {{\'duplicate.remote.location.warning\' | translate}}\n </div>\n <div ng-repeat="error in errors" class="error-message">\n {{error}}\n </div>\n </div>\n <div class="form-horizontal" ng-if="!hasCluster">\n <div class="form-group">\n <div class="indented-div">\n <span class="padding-label wrapper-div"\n gdb-tooltip="{{\'cluster_management.cluster_page.advanced_options_tooltip\' | translate}}">\n <button type="button"\n class="text-btn advanced-options-btn text-left"\n data-toggle="collapse"\n data-target="#advancedOptions">\n <i class="{{getAdvancedOptionsClass()}} advanced-options-toggle" aria-hidden="true"></i>\n {{\'cluster_management.cluster_page.advanced_options\' | translate}}\n </button>\n </span>\n </div>\n\n <div id="advancedOptions" class="collapse pb-1 pl-2">\n <div class="form-group">\n <div class="input-group"\n ng-class="{\'has-danger\': clusterConfigurationForm.electionMinTimeout.$invalid}">\n <label for="election-minimum-timeout" class="col-xs-4 col-form-label">{{\'cluster_management.cluster_configuration_properties.election_min_timeout\'\n | translate}}*</label>\n <div class="col-xs-8"\n gdb-tooltip="{{\'cluster_management.cluster_configuration_properties.election_min_timeout_tooltip\' | translate}}">\n <input class="form-control" placeholder="{{\'required.field\' | translate}}"\n type="number" ng-model="clusterConfiguration.electionMinTimeout"\n required id="election-minimum-timeout" min="0" pattern="[0-9]+"\n name="electionMinTimeout">\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.electionMinTimeout.$error.required">\n {{\'required.field\' | translate}}\n </div>\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.electionMinTimeout.$error.pattern">\n {{\'cluster_management.cluster_page.errors.only_positive_integers\' | translate}}\n </div>\n </div>\n </div>\n </div>\n\n <div class="form-group">\n <div class="input-group"\n ng-class="{\'has-danger\': clusterConfigurationForm.electionRangeTimeout.$invalid}">\n <label for="election-range-timeout" class="col-xs-4 col-form-label">{{\'cluster_management.cluster_configuration_properties.election_range_timeout\'\n | translate}}*</label>\n <div class="col-xs-8"\n gdb-tooltip="{{\'cluster_management.cluster_configuration_properties.election_range_timeout_tooltip\' | translate}}">\n <input class="form-control" placeholder="{{\'required.field\' | translate}}"\n type="number" ng-model="clusterConfiguration.electionRangeTimeout"\n required id="election-range-timeout" min="0" pattern="[0-9]+"\n name="electionRangeTimeout">\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.electionRangeTimeout.$error.required">\n {{\'required.field\' | translate}}\n </div>\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.electionRangeTimeout.$error.pattern">\n {{\'cluster_management.cluster_page.errors.only_positive_integers\' | translate}}\n </div>\n </div>\n </div>\n </div>\n\n <div class="form-group">\n <div class="input-group"\n ng-class="{\'has-danger\': clusterConfigurationForm.heartbeatInterval.$invalid}">\n <label for="heartbeat-interval" class="col-xs-4 col-form-label">{{\'cluster_management.cluster_configuration_properties.heartbeat_interval\'\n | translate}}*</label>\n <div class="col-xs-8"\n gdb-tooltip="{{\'cluster_management.cluster_configuration_properties.heartbeat_interval_tooltip\' | translate}}">\n <input class="form-control" placeholder="{{\'required.field\' | translate}}"\n type="number" ng-model="clusterConfiguration.heartbeatInterval"\n required id="heartbeat-interval" min="0" pattern="[0-9]+"\n name="heartbeatInterval">\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.heartbeatInterval.$error.required">\n {{\'required.field\' | translate}}\n </div>\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.heartbeatInterval.$error.pattern">\n {{\'cluster_management.cluster_page.errors.only_positive_integers\' | translate}}\n </div>\n </div>\n </div>\n </div>\n\n <div class="form-group">\n <div class="input-group"\n ng-class="{\'has-danger\': clusterConfigurationForm.messageSizeKB.$invalid}">\n <label for="message-size" class="col-xs-4 col-form-label">{{\'cluster_management.cluster_configuration_properties.message_size_kb\'\n | translate}}*</label>\n <div class="col-xs-8"\n gdb-tooltip="{{\'cluster_management.cluster_configuration_properties.message_size_kb_tooltip\' | translate}}">\n <input class="form-control" placeholder="{{\'required.field\' | translate}}"\n type="number" ng-model="clusterConfiguration.messageSizeKB"\n required id="message-size" min="0" pattern="[0-9]+" name="messageSizeKB">\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.messageSizeKB.$error.required">\n {{\'required.field\' | translate}}\n </div>\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.messageSizeKB.$error.pattern">\n {{\'cluster_management.cluster_page.errors.only_positive_integers\' | translate}}\n </div>\n </div>\n </div>\n </div>\n\n <div class="form-group">\n <div class="input-group"\n ng-class="{\'has-danger\': clusterConfigurationForm.verificationTimeout.$invalid}">\n <label for="verification-timeout" class="col-xs-4 col-form-label">{{\'cluster_management.cluster_configuration_properties.verification_timeout\'\n | translate}}*</label>\n <div class="col-xs-8"\n gdb-tooltip="{{\'cluster_management.cluster_configuration_properties.verification_timeout_tooltip\' | translate}}">\n <input class="form-control" placeholder="{{\'required.field\' | translate}}"\n type="number" ng-model="clusterConfiguration.verificationTimeout"\n required id="verification-timeout" min="0" pattern="[0-9]+"\n name="verificationTimeout">\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.verificationTimeout.$error.required">\n {{\'required.field\' | translate}}\n </div>\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.verificationTimeout.$error.pattern">\n {{\'cluster_management.cluster_page.errors.only_positive_integers\' | translate}}\n </div>\n </div>\n </div>\n </div>\n <div class="form-group">\n <div class="input-group"\n ng-class="{\'has-danger\': clusterConfigurationForm.transactionLogMaximumSizeGB.$invalid}">\n <label for="verification-timeout" class="col-xs-4 col-form-label">{{\'cluster_management.cluster_configuration_properties.transaction_log_maximum_size_gb\'\n | translate}}*</label>\n <div class="col-xs-8"\n gdb-tooltip="{{\'cluster_management.cluster_configuration_properties.transaction_log_maximum_size_gb_tooltip\' | translate}}">\n <input class="form-control" placeholder="{{\'required.field\' | translate}}"\n type="number" ng-model="clusterConfiguration.transactionLogMaximumSizeGB"\n required id="transaction-log-maximum-size-gb"\n pattern="-?[1-9][0-9]*(\\.[0-9]+)?" name="transaction_log_maximum_size_gb">\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.transactionLogMaximumSizeGB.$error.required">\n {{\'required.field\' | translate}}\n </div>\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.transactionLogMaximumSizeGB.$error.pattern">\n {{\'cluster_management.cluster_page.errors.small_transaction_log_max_size\' |\n translate}}\n </div>\n </div>\n </div>\n </div>\n <div class="form-group">\n <div class="input-group" ng-class="{\'has-danger\': clusterConfigurationForm.batchUpdateInterval.$invalid}">\n <label for="batch-update-interval" class="col-xs-4 col-form-label">\n {{\'cluster_management.cluster_configuration_properties.batch_update_interval\' | translate}}*\n </label>\n <div class="col-xs-8" gdb-tooltip="{{\'cluster_management.cluster_configuration_properties.batch_update_interval_tooltip\' | translate}}">\n <input\n class="form-control"\n placeholder="{{\'required.field\' | translate}}"\n type="number"\n ng-model="clusterConfiguration.batchUpdateInterval"\n required\n id="batch-update-interval"\n min="0"\n name="batchUpdateInterval">\n <div class="form-control-feedback" ng-show="clusterConfigurationForm.batchUpdateInterval.$error.required">\n {{\'required.field\' | translate}}\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </form>\n</div>\n';return __p}}}]);
|
|
1
|
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[348],{468:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/cluster-nodes-configuration.css?v=2.8.9-TR1" rel="stylesheet"/>\n\n<div onto-loader-new ng-if="loader" class="create-cluster-loader" message="getLoaderMessage" size="100"></div>\n<div class="add-node-wrapper pull-right mb-1">\n <button ng-click="addNode()" ng-disabled="editedNodeIndex !== undefined"\n class="btn btn-primary add-node-btn"\n gdb-tooltip="{{\'cluster_management.update_cluster_group_dialog.actions.add_node_tooltip\' | translate}}">\n <i class="fa fa-plus"></i> {{\'cluster_management.update_cluster_group_dialog.actions.add_node\' |\n translate}}\n </button>\n</div>\n<div class="table-responsive">\n <form name="form" id="updateClusterGroupForm">\n <table class="cluster-group table table-striped table-hover cluster-group-table" aria-describedby="cluster group table">\n <thead>\n <tr class="labels-row">\n <th scope="col" class="index-column">\n {{\'cluster_management.update_cluster_group_dialog.column.index\' | translate}}\n </th>\n <th scope="col" class="location-column">\n {{\'cluster_management.update_cluster_group_dialog.column.location\' | translate}}\n </th>\n <th scope="col" class="info-column">\n {{\'cluster_management.update_cluster_group_dialog.column.info\' | translate}}\n </th>\n <th scope="col" class="status-column">\n {{\'cluster_management.update_cluster_group_dialog.column.status\' | translate}}\n </th>\n <th scope="col" class="empty-column"></th>\n <th scope="col" class="actions-column"></th>\n </tr>\n </thead>\n <tbody>\n <tr ng-if="!viewModel.length">\n <td colspan="5" class="no-data">\n {{\'cluster_management.update_cluster_group_dialog.messages.no_cluster\' | translate}}\n </td>\n </tr>\n\n <tr ng-repeat-start="node in viewModel track by $index" ng-if="0"></tr>\n <tr ng-if="$index !== editedNodeIndex" class="node preview-node-row" data-endpoint="{{node.endpoint}}"\n capture-height="$index"\n ng-class="{\'selected\': $index === selectedNode || $index === editedNodeIndex}">\n <td class="index-cell"><span ng-if="!node.isDeleted">{{node.index + 1}}</span></td>\n <td class="location-cell data" ng-class="{\'deleting\': node.isDeleted, \'adding\': !node.item.address}">\n <div class="location-item">\n {{node.item.endpoint}}\n </div>\n </td>\n <td class="info-cell data">\n <span ng-if="node.isLocal">\n {{\'cluster_management.update_cluster_group_dialog.current_node\' | translate}}<span ng-if="node.item.nodeState">, </span>\n </span>\n\n <span ng-if="node.item.nodeState">\n {{ (\'cluster_management.update_cluster_group_dialog.\' + node.item.nodeState.toLowerCase()) |\n translate }}\n </span>\n </td>\n <td class="status-cell data">\n <div ng-if="!node.item.address" class="adding">\n <i class="fa fa-circle-check status-icon"></i>\n {{\'cluster_management.update_cluster_group_dialog.new_node\' | translate}}\n </div>\n <div ng-if="node.isDeleted" class="deleting">\n <i class="fa fa-xmark status-icon"></i>\n {{\'cluster_management.update_cluster_group_dialog.deleted_node\' | translate}}\n </div>\n </td>\n <td class="empty-cell"></td>\n <td class="actions-cell">\n <div ng-if="editedNodeIndex === undefined && !node.isDeleted" class="actions-group">\n <button ng-click="deleteNode($index, node)" ng-disabled="!canDeleteNode"\n class="btn btn-link delete-node-btn secondary"\n gdb-tooltip="{{ canDeleteNode ? (\'cluster_management.update_cluster_group_dialog.actions.delete_node\' | translate) : (\'cluster_management.update_cluster_group_dialog.actions.cannot_delete_node\' | translate) }}"\n title-class="delete-node-tooltip">\n <i class="fa fa-xmark"></i>\n </button>\n <button ng-click="replaceNode($index, node)" class="btn btn-link replace-node-btn"\n gdb-tooltip="{{\'cluster_management.update_cluster_group_dialog.actions.replace_node\' | translate}}">\n <i class="fa fa-arrow-right-arrow-left"></i>\n </button>\n </div>\n <div ng-if="editedNodeIndex === undefined && node.isDeleted" class="actions-group">\n <button ng-click="restoreNode(node)"\n class="btn btn-link restore-node-btn secondary"\n gdb-tooltip="{{\'cluster_management.update_cluster_group_dialog.actions.restore_node\' | translate}}">\n <i class="fa fa-rotate-left"></i>\n </button>\n </div>\n </td>\n </tr>\n <tr ng-if="$index === editedNodeIndex" class="node edit-node-row" data-endpoint="{{node.endpoint}}"\n style="{{getRowHeight}}"\n ng-class="{\'selected table-info\': $index === editedNodeIndex}">\n <td class="index-cell"><span ng-if="!node.isDeleted">{{node.index + 1}}</span></td>\n <td class="data location-cell">\n <div class="autocomplete-container">\n <textarea type="text" name="location" required\n ng-model="node.endpoint"\n ng-change="filterSuggestions(node)"\n ng-blur="hideSuggestions(node)"\n ng-click="filterSuggestions(node)"\n auto-grow\n validate-url exclude="/repositories" exclude-protocol="ftp,ftps"\n validate-duplicate-url excluded-urls="clusterNodesEndpoints"\n allow-empty="false"\n autocomplete="off"\n class="form-control form-control-sm textarea-edit"\n uib-tooltip="{{\'remote.location.enter.url.msg\' | translate}}"\n tooltip-placement="top"\n placeholder="{{\'cluster_management.update_cluster_group_dialog.field_placeholders.location\' | translate}}">\n </textarea>\n <ul ng-show="suggestions.length > 0 && showDropdown" class="autocomplete-dropdown">\n <li ng-repeat="suggestion in suggestions"\n ng-mouseup="selectSuggestion(node, suggestion)">\n {{ suggestion }}\n </li>\n </ul>\n </div>\n </td>\n <td class="info-cell data">\n <span ng-if="node.isLocal">\n {{\'cluster_management.update_cluster_group_dialog.current_node\' | translate}}<span ng-if="node.item.nodeState">, </span>\n </span>\n\n <span ng-if="node.item.nodeState">\n {{ (\'cluster_management.update_cluster_group_dialog.\' + node.item.nodeState.toLowerCase()) |\n translate }}\n </span>\n </td>\n <td class="status-cell"></td>\n <td class="empty-cell"></td>\n <td class="actions-cell">\n <div class="crud-actions-group">\n <button ng-click="cancel()"\n class="btn btn-link cancel-node-replace-btn secondary"\n gdb-tooltip="{{\'cluster_management.update_cluster_group_dialog.actions.cancel\' | translate}}">\n <i class="fa fa-xmark"></i>\n </button>\n <button ng-click="saveNode(node.endpoint)"\n class="btn btn-link save-rule-btn"\n ng-disabled="!form.location.$valid"\n gdb-tooltip="{{form.location.$valid ? \'cluster_management.update_cluster_group_dialog.actions.add_node\' : \'cluster_management.update_cluster_group_dialog.messages.invalid_form\' | translate}}">\n <i class="fa fa-check"></i>\n </button>\n </div>\n </td>\n </tr>\n <tr ng-repeat-end ng-if="0"></tr>\n <tr ng-if="addNewLocation" class="node edit-node-row">\n <td class="index-cell"></td>\n <td class="data location-cell">\n <div class="autocomplete-container">\n <textarea type="text" name="location" required\n ng-model="newLocation.endpoint"\n ng-change="filterSuggestions(newLocation)"\n ng-blur="hideSuggestions(newLocation)"\n ng-click="filterSuggestions(newLocation)"\n auto-grow\n validate-url exclude="/repositories" exclude-protocol="ftp,ftps"\n validate-duplicate-url excluded-urls="clusterNodesEndpoints"\n allow-empty="false"\n autocomplete="off"\n class="form-control form-control-sm textarea-edit"\n uib-tooltip="{{\'remote.location.enter.url.msg\' | translate}}"\n tooltip-placement="top"\n placeholder="{{\'cluster_management.update_cluster_group_dialog.field_placeholders.location\' | translate}}">\n </textarea>\n <ul ng-show="suggestions.length > 0 && showDropdown" class="autocomplete-dropdown">\n <li ng-repeat="suggestion in suggestions"\n ng-mouseup="selectSuggestion(newLocation, suggestion)">\n {{ suggestion }}\n </li>\n </ul>\n </div>\n </td>\n <td class="info-cell data"></td>\n <td class="status-cell"></td>\n <td class="empty-cell"></td>\n <td class="actions-cell">\n <div class="crud-actions-group">\n <button ng-click="cancel()"\n class="btn btn-link cancel-node-replace-btn secondary"\n gdb-tooltip="{{\'cluster_management.update_cluster_group_dialog.actions.cancel\' | translate}}">\n <i class="fa fa-xmark"></i>\n </button>\n <button ng-click="saveNode(newLocation.endpoint)"\n class="btn btn-link save-rule-btn"\n ng-disabled="!form.location.$valid"\n gdb-tooltip="{{form.location.$valid ? \'cluster_management.update_cluster_group_dialog.actions.add_node\' : \'cluster_management.update_cluster_group_dialog.messages.invalid_form\' | translate}}">\n <i class="fa fa-check"></i>\n </button>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n <div class="errors">\n <div class="error-message"\n ng-show="form.location.$error.validUrl && !form.location.$pristine">\n * {{\'valid.remote.location.warning\' | translate}} http://server.example.com:7200/.\n </div>\n <div class="error-message"\n ng-show="form.location.$error.duplicateUrl && !form.location.$pristine">\n * {{\'duplicate.remote.location.warning\' | translate}}\n </div>\n <div ng-repeat="error in errors" class="error-message">\n {{error}}\n </div>\n </div>\n <div class="form-horizontal" ng-if="!hasCluster">\n <div class="form-group">\n <div class="indented-div">\n <span class="padding-label wrapper-div"\n gdb-tooltip="{{\'cluster_management.cluster_page.advanced_options_tooltip\' | translate}}">\n <button type="button"\n class="text-btn advanced-options-btn text-left"\n data-toggle="collapse"\n data-target="#advancedOptions">\n <i class="{{getAdvancedOptionsClass()}} advanced-options-toggle" aria-hidden="true"></i>\n {{\'cluster_management.cluster_page.advanced_options\' | translate}}\n </button>\n </span>\n </div>\n\n <div id="advancedOptions" class="collapse pb-1 pl-2">\n <div class="form-group">\n <div class="input-group"\n ng-class="{\'has-danger\': clusterConfigurationForm.electionMinTimeout.$invalid}">\n <label for="election-minimum-timeout" class="col-xs-4 col-form-label">{{\'cluster_management.cluster_configuration_properties.election_min_timeout\'\n | translate}}*</label>\n <div class="col-xs-8"\n gdb-tooltip="{{\'cluster_management.cluster_configuration_properties.election_min_timeout_tooltip\' | translate}}">\n <input class="form-control" placeholder="{{\'required.field\' | translate}}"\n type="number" ng-model="clusterConfiguration.electionMinTimeout"\n required id="election-minimum-timeout" min="0" pattern="[0-9]+"\n name="electionMinTimeout">\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.electionMinTimeout.$error.required">\n {{\'required.field\' | translate}}\n </div>\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.electionMinTimeout.$error.pattern">\n {{\'cluster_management.cluster_page.errors.only_positive_integers\' | translate}}\n </div>\n </div>\n </div>\n </div>\n\n <div class="form-group">\n <div class="input-group"\n ng-class="{\'has-danger\': clusterConfigurationForm.electionRangeTimeout.$invalid}">\n <label for="election-range-timeout" class="col-xs-4 col-form-label">{{\'cluster_management.cluster_configuration_properties.election_range_timeout\'\n | translate}}*</label>\n <div class="col-xs-8"\n gdb-tooltip="{{\'cluster_management.cluster_configuration_properties.election_range_timeout_tooltip\' | translate}}">\n <input class="form-control" placeholder="{{\'required.field\' | translate}}"\n type="number" ng-model="clusterConfiguration.electionRangeTimeout"\n required id="election-range-timeout" min="0" pattern="[0-9]+"\n name="electionRangeTimeout">\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.electionRangeTimeout.$error.required">\n {{\'required.field\' | translate}}\n </div>\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.electionRangeTimeout.$error.pattern">\n {{\'cluster_management.cluster_page.errors.only_positive_integers\' | translate}}\n </div>\n </div>\n </div>\n </div>\n\n <div class="form-group">\n <div class="input-group"\n ng-class="{\'has-danger\': clusterConfigurationForm.heartbeatInterval.$invalid}">\n <label for="heartbeat-interval" class="col-xs-4 col-form-label">{{\'cluster_management.cluster_configuration_properties.heartbeat_interval\'\n | translate}}*</label>\n <div class="col-xs-8"\n gdb-tooltip="{{\'cluster_management.cluster_configuration_properties.heartbeat_interval_tooltip\' | translate}}">\n <input class="form-control" placeholder="{{\'required.field\' | translate}}"\n type="number" ng-model="clusterConfiguration.heartbeatInterval"\n required id="heartbeat-interval" min="0" pattern="[0-9]+"\n name="heartbeatInterval">\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.heartbeatInterval.$error.required">\n {{\'required.field\' | translate}}\n </div>\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.heartbeatInterval.$error.pattern">\n {{\'cluster_management.cluster_page.errors.only_positive_integers\' | translate}}\n </div>\n </div>\n </div>\n </div>\n\n <div class="form-group">\n <div class="input-group"\n ng-class="{\'has-danger\': clusterConfigurationForm.messageSizeKB.$invalid}">\n <label for="message-size" class="col-xs-4 col-form-label">{{\'cluster_management.cluster_configuration_properties.message_size_kb\'\n | translate}}*</label>\n <div class="col-xs-8"\n gdb-tooltip="{{\'cluster_management.cluster_configuration_properties.message_size_kb_tooltip\' | translate}}">\n <input class="form-control" placeholder="{{\'required.field\' | translate}}"\n type="number" ng-model="clusterConfiguration.messageSizeKB"\n required id="message-size" min="0" pattern="[0-9]+" name="messageSizeKB">\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.messageSizeKB.$error.required">\n {{\'required.field\' | translate}}\n </div>\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.messageSizeKB.$error.pattern">\n {{\'cluster_management.cluster_page.errors.only_positive_integers\' | translate}}\n </div>\n </div>\n </div>\n </div>\n\n <div class="form-group">\n <div class="input-group"\n ng-class="{\'has-danger\': clusterConfigurationForm.verificationTimeout.$invalid}">\n <label for="verification-timeout" class="col-xs-4 col-form-label">{{\'cluster_management.cluster_configuration_properties.verification_timeout\'\n | translate}}*</label>\n <div class="col-xs-8"\n gdb-tooltip="{{\'cluster_management.cluster_configuration_properties.verification_timeout_tooltip\' | translate}}">\n <input class="form-control" placeholder="{{\'required.field\' | translate}}"\n type="number" ng-model="clusterConfiguration.verificationTimeout"\n required id="verification-timeout" min="0" pattern="[0-9]+"\n name="verificationTimeout">\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.verificationTimeout.$error.required">\n {{\'required.field\' | translate}}\n </div>\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.verificationTimeout.$error.pattern">\n {{\'cluster_management.cluster_page.errors.only_positive_integers\' | translate}}\n </div>\n </div>\n </div>\n </div>\n <div class="form-group">\n <div class="input-group"\n ng-class="{\'has-danger\': clusterConfigurationForm.transactionLogMaximumSizeGB.$invalid}">\n <label for="verification-timeout" class="col-xs-4 col-form-label">{{\'cluster_management.cluster_configuration_properties.transaction_log_maximum_size_gb\'\n | translate}}*</label>\n <div class="col-xs-8"\n gdb-tooltip="{{\'cluster_management.cluster_configuration_properties.transaction_log_maximum_size_gb_tooltip\' | translate}}">\n <input class="form-control" placeholder="{{\'required.field\' | translate}}"\n type="number" ng-model="clusterConfiguration.transactionLogMaximumSizeGB"\n required id="transaction-log-maximum-size-gb"\n pattern="-?[1-9][0-9]*(\\.[0-9]+)?" name="transaction_log_maximum_size_gb">\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.transactionLogMaximumSizeGB.$error.required">\n {{\'required.field\' | translate}}\n </div>\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.transactionLogMaximumSizeGB.$error.pattern">\n {{\'cluster_management.cluster_page.errors.small_transaction_log_max_size\' |\n translate}}\n </div>\n </div>\n </div>\n </div>\n <div class="form-group">\n <div class="input-group" ng-class="{\'has-danger\': clusterConfigurationForm.batchUpdateInterval.$invalid}">\n <label for="batch-update-interval" class="col-xs-4 col-form-label">\n {{\'cluster_management.cluster_configuration_properties.batch_update_interval\' | translate}}*\n </label>\n <div class="col-xs-8" gdb-tooltip="{{\'cluster_management.cluster_configuration_properties.batch_update_interval_tooltip\' | translate}}">\n <input\n class="form-control"\n placeholder="{{\'required.field\' | translate}}"\n type="number"\n ng-model="clusterConfiguration.batchUpdateInterval"\n required\n id="batch-update-interval"\n min="0"\n name="batchUpdateInterval">\n <div class="form-control-feedback" ng-show="clusterConfigurationForm.batchUpdateInterval.$error.required">\n {{\'required.field\' | translate}}\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </form>\n</div>\n';return __p}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[35,39,210,211,212,236,244,299,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 d(n,e,t,l,d,g,f,m,b,p,C,y,h,w,j,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=j.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?R:I;N(e.jdbcConfigurationInfo).then(P).then(_).then(k).then(n).catch(n=>{if(!(n instanceof r.JdbcConfigurationError)){const e=getError(n);d.error(e,w.instant("jdbc.not.saved.configuration"))}})},e.getPreview=()=>{e.activeTab=1,e.isQueryRunning=!0,N(e.jdbcConfigurationInfo).then(P).then(_).then(k).then(n=>(J({render:s.RenderingMode.YASQE,initialQuery:n.query}),n)).then(S).then(([n,e])=>{const t=n&&n.results.bindings&&n.results.bindings.length>0;let o=s.RenderingMode.YASGUI;t||(o=s.RenderingMode.YASQE,d.info(w.instant("jdbc.table.definition"),w.instant("jdbc.preview.sql"))),J({render:o,sparqlResponse:n,initialQuery:e.query})}).catch(n=>{n instanceof r.JdbcConfigurationError?n.jdbcConfigurationInfo&&(n.jdbcConfigurationInfo.isColumnsEmpty||n.jdbcConfigurationInfo.hasUndefinedColumns)&&($(),e.activeTab=2):d.error(getError(n,0,100),w.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(P).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&&k(e.jdbcConfigurationInfo).then(e=>p.getColumnsTypeSuggestion(e.query,[n])).then(n=>n.data).then(n=>{Object(a.updateColumn)(o,n),T(o.column_type,t)}).catch(n=>{d.error(getError(n),w.instant("jdbc.not.suggest.column.type"))})},e.deleteColumn=function(n,t){h.openSimpleModal({title:w.instant("common.warning"),message:w.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:w.instant("common.warning"),message:w.instant("jdbc.warning.column.type.msg"),warning:!0}).result.then((function(){$()})):$()},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=>M(n.column_type)),e.isLiteral=n=>"iri"!==n&&"unknown"!==n,e.containsNonLiteralColumnsOnly=n=>n&&n.every(n=>!e.isLiteral(n.column_type));const S=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)])},T=(n,e)=>{n===e?d.info(Object(u.decodeHTML)(w.instant("jdbc.same.suggested.sql.type",{type:n})),w.instant("jdbc.suggest.sql.type"),{allowHtml:!0}):d.success(Object(u.decodeHTML)(w.instant("jdbc.suggested.sql.type",{type:n})),w.instant("jdbc.suggest.sql.type"),{allowHtml:!0})},E=(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,J(),U()},R=n=>{const t={name:n.jdbcConfigurationName,query:n.query,columns:n.columns};return p.createNewJdbcConfiguration(t).then(()=>{e.isDirty=!1,e.jdbcConfigurationInfo.isNewConfiguration=!1,d.success(w.instant("jdbc.saved.configuration")),Y()})},I=n=>{const t={name:n.jdbcConfigurationName,query:n.query,columns:n.columns};return p.updateJdbcConfiguration(t).then(()=>{e.isDirty=!1,e.jdbcConfigurationInfo.isNewConfiguration=!1,d.success(w.instant("jdbc.configuration.updated")),Y()})},J=(n={})=>{const t={};angular.extend(t,e.yasguiConfig||A(),n),e.yasguiConfig=t},A=()=>({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:L,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.")))),P=n=>O().isQueryValid().then(e=>(n.isValidQuery=e,n.isValidQuery?n:Promise.reject(new r.JdbcConfigurationError("Invalid query.")))),_=n=>{if(!n.columns||0===n.columns.length)return n.isColumnsEmpty=!0,d.error(w.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)},$=()=>{N(e.jdbcConfigurationInfo).then(P).then(k).then(D).then(Q).then(n=>e.jdbcConfigurationInfo=n).catch(n=>{console.log(n)})},D=n=>p.getColumnNames(n.query).then(e=>[n,e.data]).catch((function(n){d.error(getError(n),w.instant("jdbc.not.suggest.column.names"))})),Q=([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){d.error(getError(n),w.instant("jdbc.not.suggest.column.types"))})),O=()=>c.YasguiComponentDirectiveUtil.getOntotextYasguiElement("#query-editor"),k=n=>O().getQuery().then(e=>(n.query=e,n)),M=n=>"decimal"===n,L=(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>"},x=(n,e,t,o)=>{h.openSimpleModal({title:n,message:e,warning:!0}).result.then((function(){angular.isFunction(t)&&t()}),(function(){angular.isFunction(o)&&o()}))},U=()=>{e.getSuggestionSqlType=w.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]},Y=()=>{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=j.getLanguage(),U()})),B.push(e.$on("$locationChangeStart",(n,t)=>{if(e.isDirty){n.preventDefault();const e=w.instant("common.confirm"),o=w.instant("jdbc.warning.unsaved.changes");x(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=w.instant("common.confirm"),r=w.instant("jdbc.warning.unsaved.changes");x(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=g.getActiveRepository();e.jdbcConfigurationInfo.jdbcConfigurationName?Promise.all([g.getPrefixes(n),p.getJdbcConfiguration(e.jdbcConfigurationInfo.jdbcConfigurationName)]).then(([n,e])=>{E(n,e.data)}).finally(()=>e.loadingControllerResources=!1):g.getPrefixes(n).then(n=>E(n)).finally(()=>e.loadingControllerResources=!1)})(),q=!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",d),l.$inject=["$scope","$repositories","JdbcRestService","toastr","ModalService","$translate"],d.$inject=["$q","$scope","$rootScope","$location","toastr","$repositories","$window","$timeout","$interval","JdbcRestService","RDF4JRepositoriesRestService","SparqlRestService","ModalService","$translate","$languageService","EventEmitterService"]},293:function(n,e){angular.module("graphdb.framework.rest.jdbc.service",[]).factory("JdbcRestService",t),t.$inject=["$http","$repositories","$translate"];function t(n,e){return{getJdbcConfigurations:function(){return n.get("rest/sql-views/tables")},getJdbcConfiguration:function(e){return n.get("rest/sql-views/tables/"+e)},createNewJdbcConfiguration:function(n){return t("POST","",n)},updateJdbcConfiguration:function(n){return t("PUT",n.name,n)},deleteJdbcConfiguration:function(e){return n.delete("rest/sql-views/tables/"+e)},getColumnNames:function(e){return n.post("rest/sql-views/columns",e,{headers:{Accept:"application/json","Content-Type":"text/plain"}})},getColumnsTypeSuggestion:function(t,o){if(!Array.isArray(o))throw new Error(e.instant("jdbc.column.names.constraint"));return n({method:"POST",url:"rest/sql-views/types",data:{query:t,column_names:o}})},getExistingSqlTablePreview:function(e,t){return n({method:"GET",url:"rest/sql-views/preview/"+e,params:{limit:t}})},getNewSqlTablePreview:function(e,t){return n({method:"POST",url:"rest/sql-views/preview",contentType:"application/json; charset=utf-8",dataType:"json",data:e,params:{limit:t},headers:{Accept:"application/sparql-results+json"}})}};function t(e,t,o){return n({method:e,url:"rest/sql-views/tables/"+t,noCancelOnRouteChange:!0,data:{name:o.name,query:o.query,columns:o.columns||[]}})}}},357:function(n,e,t){"use strict";t.r(e);t(9),t(40),t(209),t(41),t(292),t(293),t(141);angular.module("graphdb.framework.jdbc",["toastr","ui.bootstrap","graphdb.framework.jdbc.controllers","graphdb.framework.core.services.repositories","graphdb.framework.core.directives","graphdb.framework.rest.jdbc.service","graphdb.framework.core.directives.yasgui-component"])},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([[35,39,210,211,212,236,244,299,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 d(n,e,t,l,d,g,f,m,b,p,C,y,h,w,j,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=j.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?R:I;N(e.jdbcConfigurationInfo).then(P).then(_).then(k).then(n).catch(n=>{if(!(n instanceof r.JdbcConfigurationError)){const e=getError(n);d.error(e,w.instant("jdbc.not.saved.configuration"))}})},e.getPreview=()=>{e.activeTab=1,e.isQueryRunning=!0,N(e.jdbcConfigurationInfo).then(P).then(_).then(k).then(n=>(J({render:s.RenderingMode.YASQE,initialQuery:n.query}),n)).then(S).then(([n,e])=>{const t=n&&n.results.bindings&&n.results.bindings.length>0;let o=s.RenderingMode.YASGUI;t||(o=s.RenderingMode.YASQE,d.info(w.instant("jdbc.table.definition"),w.instant("jdbc.preview.sql"))),J({render:o,sparqlResponse:n,initialQuery:e.query})}).catch(n=>{n instanceof r.JdbcConfigurationError?n.jdbcConfigurationInfo&&(n.jdbcConfigurationInfo.isColumnsEmpty||n.jdbcConfigurationInfo.hasUndefinedColumns)&&($(),e.activeTab=2):d.error(getError(n,0,100),w.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(P).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&&k(e.jdbcConfigurationInfo).then(e=>p.getColumnsTypeSuggestion(e.query,[n])).then(n=>n.data).then(n=>{Object(a.updateColumn)(o,n),E(o.column_type,t)}).catch(n=>{d.error(getError(n),w.instant("jdbc.not.suggest.column.type"))})},e.deleteColumn=function(n,t){h.openSimpleModal({title:w.instant("common.warning"),message:w.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:w.instant("common.warning"),message:w.instant("jdbc.warning.column.type.msg"),warning:!0}).result.then((function(){$()})):$()},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=>M(n.column_type)),e.isLiteral=n=>"iri"!==n&&"unknown"!==n,e.containsNonLiteralColumnsOnly=n=>n&&n.every(n=>!e.isLiteral(n.column_type));const S=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)])},E=(n,e)=>{n===e?d.info(Object(u.decodeHTML)(w.instant("jdbc.same.suggested.sql.type",{type:n})),w.instant("jdbc.suggest.sql.type"),{allowHtml:!0}):d.success(Object(u.decodeHTML)(w.instant("jdbc.suggested.sql.type",{type:n})),w.instant("jdbc.suggest.sql.type"),{allowHtml:!0})},T=(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,J(),U()},R=n=>{const t={name:n.jdbcConfigurationName,query:n.query,columns:n.columns};return p.createNewJdbcConfiguration(t).then(()=>{e.isDirty=!1,e.jdbcConfigurationInfo.isNewConfiguration=!1,d.success(w.instant("jdbc.saved.configuration")),Y()})},I=n=>{const t={name:n.jdbcConfigurationName,query:n.query,columns:n.columns};return p.updateJdbcConfiguration(t).then(()=>{e.isDirty=!1,e.jdbcConfigurationInfo.isNewConfiguration=!1,d.success(w.instant("jdbc.configuration.updated")),Y()})},J=(n={})=>{const t={};angular.extend(t,e.yasguiConfig||A(),n),e.yasguiConfig=t},A=()=>({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:L,sparqlResponse:e.emptySparqlResponse,yasqeActionButtons:c.DISABLE_YASQE_BUTTONS_CONFIGURATION,yasqeMode:e.canEditActiveRepo?i.YasqeMode.WRITE:i.YasqeMode.READ}),N=n=>O().getQueryType().then(e=>(n.isValidQueryType="SELECT"===e,n.isValidQueryType?n:Promise.reject(new r.JdbcConfigurationError("Query type is not valid.")))),P=n=>O().isQueryValid().then(e=>(n.isValidQuery=e,n.isValidQuery?n:Promise.reject(new r.JdbcConfigurationError("Invalid query.")))),_=n=>{if(!n.columns||0===n.columns.length)return n.isColumnsEmpty=!0,d.error(w.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)},$=()=>{N(e.jdbcConfigurationInfo).then(P).then(k).then(D).then(Q).then(n=>e.jdbcConfigurationInfo=n).catch(n=>{console.log(n)})},D=n=>p.getColumnNames(n.query).then(e=>[n,e.data]).catch((function(n){d.error(getError(n),w.instant("jdbc.not.suggest.column.names"))})),Q=([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){d.error(getError(n),w.instant("jdbc.not.suggest.column.types"))})),O=()=>c.YasguiComponentDirectiveUtil.getOntotextYasguiElement("#query-editor"),k=n=>O().getQuery().then(e=>(n.query=e,n)),M=n=>"decimal"===n,L=(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>"},x=(n,e,t,o)=>{h.openSimpleModal({title:n,message:e,warning:!0}).result.then((function(){angular.isFunction(t)&&t()}),(function(){angular.isFunction(o)&&o()}))},U=()=>{e.getSuggestionSqlType=w.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]},Y=()=>{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=j.getLanguage(),U()})),B.push(e.$on("$locationChangeStart",(n,t)=>{if(e.isDirty){n.preventDefault();const e=w.instant("common.confirm"),o=w.instant("jdbc.warning.unsaved.changes");x(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=w.instant("common.confirm"),r=w.instant("jdbc.warning.unsaved.changes");x(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=g.getActiveRepository();e.jdbcConfigurationInfo.jdbcConfigurationName?Promise.all([g.getPrefixes(n),p.getJdbcConfiguration(e.jdbcConfigurationInfo.jdbcConfigurationName)]).then(([n,e])=>{T(n,e.data)}).finally(()=>e.loadingControllerResources=!1):g.getPrefixes(n).then(n=>T(n)).finally(()=>e.loadingControllerResources=!1)})(),q=!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",d),l.$inject=["$scope","$repositories","JdbcRestService","toastr","ModalService","$translate"],d.$inject=["$q","$scope","$rootScope","$location","toastr","$repositories","$window","$timeout","$interval","JdbcRestService","RDF4JRepositoriesRestService","SparqlRestService","ModalService","$translate","$languageService","EventEmitterService"]},293:function(n,e){angular.module("graphdb.framework.rest.jdbc.service",[]).factory("JdbcRestService",t),t.$inject=["$http","$repositories","$translate"];function t(n,e){return{getJdbcConfigurations:function(){return n.get("rest/sql-views/tables")},getJdbcConfiguration:function(e){return n.get("rest/sql-views/tables/"+e)},createNewJdbcConfiguration:function(n){return t("POST","",n)},updateJdbcConfiguration:function(n){return t("PUT",n.name,n)},deleteJdbcConfiguration:function(e){return n.delete("rest/sql-views/tables/"+e)},getColumnNames:function(e){return n.post("rest/sql-views/columns",e,{headers:{Accept:"application/json","Content-Type":"text/plain"}})},getColumnsTypeSuggestion:function(t,o){if(!Array.isArray(o))throw new Error(e.instant("jdbc.column.names.constraint"));return n({method:"POST",url:"rest/sql-views/types",data:{query:t,column_names:o}})},getExistingSqlTablePreview:function(e,t){return n({method:"GET",url:"rest/sql-views/preview/"+e,params:{limit:t}})},getNewSqlTablePreview:function(e,t){return n({method:"POST",url:"rest/sql-views/preview",contentType:"application/json; charset=utf-8",dataType:"json",data:e,params:{limit:t},headers:{Accept:"application/sparql-results+json"}})}};function t(e,t,o){return n({method:e,url:"rest/sql-views/tables/"+t,noCancelOnRouteChange:!0,data:{name:o.name,query:o.query,columns:o.columns||[]}})}}},357:function(n,e,t){"use strict";t.r(e);t(9),t(40),t(209),t(41),t(292),t(293),t(141);angular.module("graphdb.framework.jdbc",["toastr","ui.bootstrap","graphdb.framework.jdbc.controllers","graphdb.framework.core.services.repositories","graphdb.framework.core.directives","graphdb.framework.rest.jdbc.service","graphdb.framework.core.directives.yasgui-component"])},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([[354],{474:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/autocomplete-select.css?v=2.8.
|
|
1
|
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[354],{474:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/autocomplete-select.css?v=2.8.9-TR1" rel="stylesheet"/>\n\n<div class="autocomplete-select-wrapper">\n <div class="autocomplete-select">\n <div ng-hide="isMultiline">\n <input type="text" ng-model="searchInput" ng-change="onChange()" ng-keydown="onKeyDown($event)"\n ng-blur="onBlur()" ng-required="required"\n class="autocomplete-input autocomplete-editable" ng-class="styleClass" placeholder="{{placeholder}}">\n </div>\n <div ng-show="isMultiline">\n <textarea\n ng-model="searchInput"\n ng-change="onChange()"\n ng-keydown="onKeyDown($event)"\n ng-blur="onBlur()"\n ng-required="required"\n class="autocomplete-textarea autocomplete-editable" ng-class="styleClass"\n placeholder="{{placeholder}}"\n rows="{{initialRows}}">\n </textarea>\n </div>\n </div>\n <div class="autocomplete-results-wrapper card">\n <div ng-repeat="autoCompleteUriResult in autoCompleteUriResults track by $index"\n ng-click="selectResource(autoCompleteUriResult)"\n ng-mousemove="setActiveItemIndex($index)"\n ng-class="{active: activeSearchElm === $index, selected: selectedElementIndex === $index}"\n class="result-item">\n <p ng-bind-html="getResultItemHtml(autoCompleteUriResult)"></p>\n </div>\n </div>\n</div>\n';return __p}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[357],{477:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/operations-statuses-monitor.css?v=2.8.
|
|
1
|
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[357],{477:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/operations-statuses-monitor.css?v=2.8.9-TR1" rel="stylesheet"/>\n\n<div ng-if="activeOperations && activeOperations.operations && activeOperations.operations.length > 0"\n class="operations-statuses btn-group">\n <button type="button"\n class="btn btn-secondary operations-statuses-dropdown-toggle dropdown-toggle" data-toggle="dropdown"\n ng-if="operationsSummary && operationsSummary.length > 0"\n ng-class="{\n \'btn-fade-danger\': OPERATION_STATUS.CRITICAL === activeOperations.status,\n \'btn-fade-warning\': OPERATION_STATUS.WARNING === activeOperations.status\n }">\n <div class="operation-status-header" ng-repeat="operationGroup in operationsSummary">\n <div ng-class="{\n \'icon-import\': OPERATION_GROUP_TYPE.IMPORT_OPERATION === operationGroup.type,\n \'icon-exchange\': OPERATION_GROUP_TYPE.QUERIES_OPERATION === operationGroup.type,\n \'fa fa-archive\': OPERATION_GROUP_TYPE.BACKUP_AND_RESTORE_OPERATION === operationGroup.type,\n \'fa fa-sitemap\': OPERATION_GROUP_TYPE.CLUSTER_OPERATION === operationGroup.type,\n \'status-critical\': OPERATION_STATUS.CRITICAL === operationGroup.status,\n \'status-information\': OPERATION_STATUS.INFORMATION === operationGroup.status,\n \'status-warning\': OPERATION_STATUS.WARNING === operationGroup.status}">\n </div>\n <span ng-if="operationGroup.runningOperations" class="running-operation-count">\n <sup class="tag-info">{{operationGroup.runningOperations}}</sup>\n </span>\n </div>\n <span class="caret"></span>\n </button>\n <ul role="menu" class="dropdown-menu dropdown-menu-right">\n <div class="operations-statuses-content">\n <li ng-repeat="operationStatus in activeOperations.operations">\n <a class="operation-status-content btn btn-secondary row" target="_blank" ng-attr-href="{{operationStatus.monitoringViewUrl}}"\n ng-class="{\n \'status-critical\': OPERATION_STATUS.CRITICAL === operationStatus.status,\n \'status-information\': OPERATION_STATUS.INFORMATION === operationStatus.status,\n \'status-warning\': OPERATION_STATUS.WARNING === operationStatus.status\n }">\n <div class="operation-icon col-sm-1" ng-style="noPadding">\n <div ng-class="{\n \'icon-import\': OPERATION_TYPE.IMPORTS === operationStatus.type,\n \'icon-exchange\': OPERATION_TYPE.QUERIES === operationStatus.type || OPERATION_TYPE.UPDATES === operationStatus.type,\n \'fa fa-archive\': OPERATION_TYPE.BACKUP_RESTORE === operationStatus.type,\n \'fa fa-sitemap\': OPERATION_TYPE.CLUSTER_STATUS === operationStatus.type}">\n </div>\n </div>\n <div class="col-sm-8 operation-status-label">\n {{ \'global.operations_statuses.\' + operationStatus.titleLabelKey + \'.title\' | translate }}\n </div>\n <div class="operation-number col-sm-3">\n <div ng-if="operationStatus.runningOperationCount" class="operation-status-running-operation-count tag-info">\n {{operationStatus.runningOperationCount}}\n </div>\n </div>\n </a>\n </li>\n </div>\n </ul>\n</div>\n';return __p}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[358],{478:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/rdf-resource-search.css?v=2.8.
|
|
1
|
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[358],{478:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/rdf-resource-search.css?v=2.8.9-TR1" rel="stylesheet"/>\n\n<div ng-cloak>\n <div id="search-box"\n class="card search-rdf-input"\n ng-class="{\'show-rdf-search-box-visible\': showRdfSearchInput, \'show-rdf-search-box-invisible\': !showRdfSearchInput}"\n ng-keydown="onKeyDown($event)">\n <div class="card-block">\n <search-resource-input\n repository-namespaces="repositoryNamespaces"\n is-autocomplete-enabled="isAutocompleteEnabled"\n empty="empty"\n open-in-new-tab="true"\n preserve-search="true"\n radio-buttons="true"\n clear-input-icon="true">\n </search-resource-input>\n <button class="btn btn-link close-rdf-search-btn"\n gdb-tooltip="{{\'search.resource.close.msg\' | translate}}" tooltip-placement="bottom"\n ng-click="hideInput()">\n <i class="icon-close icon-2x" aria-hidden="true"></i>\n </button>\n </div>\n </div>\n <button class="btn btn-link search-rdf-btn"\n ng-if="!showRdfSearchInput"\n gdb-tooltip="{{\'search.resources.msg\' | translate}}"\n tooltip-placement="bottom"\n ng-click="showInput()">\n <i class="icon-search" aria-hidden="true"></i>\n </button>\n</div>\n';return __p}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[359],{479:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/lib/ontotext-yasgui-web-component.css?v=2.8.
|
|
1
|
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[359],{479:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/lib/ontotext-yasgui-web-component.css?v=2.8.9-TR1" rel="stylesheet">\n\n<ontotext-yasgui\n class="{{classToApply}}"\n ng-custom-element\n ngce-prop-config="ontotextYasguiConfig"\n ngce-prop-saved_query_config="savedQueryConfig"\n ngce-prop-language="language"\n ngce-on-create_saved_query="createSavedQuery($event)"\n ngce-on-update_saved_query="updateSavedQuery($event)"\n ngce-on-delete_saved_query="deleteSavedQuery($event)"\n ngce-on-share_saved_query="shareSavedQuery($event)"\n ngce-on-share_query="shareQuery($event)"\n ngce-on-query_share_link_copied="queryShareLinkCopied()"\n ngce-on-load_saved_queries="loadSavedQueries($event)"\n ngce-on-save_query_opened="saveQueryOpened($event)"\n ngce-on-output="output($event)">\n</ontotext-yasgui>\n';return __p}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[36,65,78,101,236,257,258,260,261],{125:function(e,t,i){"use strict";i.r(t),i.d(t,"SimilaritySearchType",(function(){return r}));const r={SEARCH_TERM:"searchTerm",SEARCH_ANALOGICAL:"searchAnalogical",SEARCH_ENTITY:"searchEntity",SEARCH_ENTITY_PREDICATE:"searchEntityPredicate",SEARCH_DOCUMENT:"searchDocumentID",isSearchTermType:e=>r.SEARCH_TERM===e,isSearchAnalogicalType:e=>r.SEARCH_ANALOGICAL===e,isSearchEntityType:e=>r.SEARCH_ENTITY===e,isSearchEntityPredicateType:e=>r.SEARCH_ENTITY_PREDICATE===e,isSearchDocumentType:e=>r.SEARCH_DOCUMENT===e}},192:function(e,t,i){"use strict";i.r(t),i.d(t,"SimilarityResultType",(function(){return r}));const r={TERM_RESULT:"termResult",DOCUMENT_RESULT:"documentResult",ENTITY_RESULT:"entityResult",isResultDocumentType:e=>r.DOCUMENT_RESULT===e,isResultTermType:e=>r.TERM_RESULT===e}},193:function(e,t,i){"use strict";i.r(t),i.d(t,"SimilaritySearch",(function(){return a}));var r=i(125);class a{constructor(){this.type=r.SimilaritySearchType.SEARCH_TERM,this.predicate="",this.termOrSubject=""}isSearchAnalogicalType(){return r.SimilaritySearchType.isSearchAnalogicalType(this.type)}isSearchTermType(){return r.SimilaritySearchType.isSearchTermType(this.type)}isSearchEntityType(){return r.SimilaritySearchType.isSearchEntityType(this.type)}isSearchEntityPredicateType(){return r.SimilaritySearchType.isSearchEntityPredicateType(this.type)}isSearchDocumentType(){return r.SimilaritySearchType.isSearchDocumentType(this.type)}}},311:function(e,t,i){"use strict";i.r(t);i(23),i(47);var r=i(0),a=i(125),s=i(192),n=i(94),c=i(92),l=i(99),o=i(193),y=i(90),p=i(8);function u(e,t,i,u,S,d,T,m,h,I,E,R,x,g,A,b){const v="http://www.ontotext.com/graphdb/similarity/",L="http://www.ontotext.com/graphdb/similarity/psi/",Q=L+"any";e.pluginName="similarity",e.pluginIsActive=!0,e.isLoading=!1,e.selectedSimilarityIndex=void 0,e.similarityIndexStatus=n.SimilarityIndexStatus,e.similarityIndexType=c.SimilarityIndexType,e.similaritySearchType=a.SimilaritySearchType,e.searchType=a.SimilaritySearchType.SEARCH_TERM,e.similarityResultType=s.SimilarityResultType,e.resultType=s.SimilarityResultType.TERM_RESULT,e.info=E,e.isGraphDBRepository=void 0,e.canEditRepo=e.canWriteActiveRepo(),e.loadSimilarityIndexesTimer=void 0,e.loadSimilarityIndexes=()=>{e.isGraphDBRepository&&e.pluginIsActive&&h.getIndexes().success(t=>e.similarityIndexes=Object(l.mapIndexesResponseToSimilarityIndex)(t)).error(e=>i.error(getError(e),x.instant("similarity.could.not.get.indexes.error")))},e.reloadSimilarityIndexes=()=>{e.loadSimilarityIndexes(),e.loadSimilarityIndexesTimer||(e.loadSimilarityIndexesTimer=t((function(){e.$broadcast("checkIsActive"),"false"!==$("#indexes-table").attr("aria-expanded")&&e.loadSimilarityIndexes()}),5e3))},e.goToSimilarityIndex=t=>{(t.isBuiltStatus()||t.isOutdatedStatus()||t.isRebuildingStatus())&&(e.empty=!0,e.selectedSimilarityIndex!==t&&(e.lastSearch=void 0,e.selectedSimilarityIndex=t),t.isTextType()?e.searchType=a.SimilaritySearchType.SEARCH_TERM:t.isPredicationType()&&(e.searchType=a.SimilaritySearchType.SEARCH_ENTITY),(t.isTextType()||t.isPredicationType())&&$("#indexes-table").collapse("hide"))},e.performSearch=(t,r,a,s,n)=>{e.isLoading=!0,M(a,r);const c=B(t,r,a,s,n);g.getQueryResult(u.getActiveRepository(),c,"application/x-sparqlstar-results+json, application/sparql-results+json;q=0.9, */*;q=0.8").then(e=>q(e)).catch(e=>i.error(getError(e.data),x.instant("similarity.get.resource.error"))).finally(()=>e.isLoading=!1)},e.viewSearchQuery=()=>{let t;t=e.lastSearch.isSearchAnalogicalType()?e.selectedSimilarityIndex.analogicalQuery?e.selectedSimilarityIndex.analogicalQuery:e.searchQueries.analogical:e.selectedSimilarityIndex.searchQuery?e.selectedSimilarityIndex.searchQuery:e.searchQueries[e.selectedSimilarityIndex.type];let i=[],r="";i=t.match(/[a-zA-Z0-9-]+:<http:\/\/www.ontotext.com\/graphdb\/similarity\/instance\/>/),r=null==i?"similarity-index":i[0].substring(0,i[0].indexOf(":"));const s=t.replace("?index",r+":"+e.selectedSimilarityIndex.name).replace("?query",e.lastSearch.termOrSubject).replace("?searchType",(e.selectedSimilarityIndex.isTextType()?":":"psi:")+(e.lastSearch.isSearchEntityPredicateType()?a.SimilaritySearchType.SEARCH_ENTITY:e.lastSearch.type)).replace("?resultType",e.selectedSimilarityIndex.isTextType()?":"+e.resultType:"psi:entityResult").replace("?parameters",O(e.searchParameters?e.searchParameters:"")).replace("?psiPredicate",e.lastSearch.predicate?D(e.lastSearch.predicate):D(Q)).replace("?givenSubject",D(e.analogicalSubject)).replace("?givenObject",D(e.analogicalObject)).replace("?searchSubject",D(e.searchSubject));m.open({templateUrl:"pages/viewQuery.html",controller:"ViewQueryCtrl",resolve:{query:()=>s}})},e.deleteSimilarityIndex=t=>{T.openSimpleModal({title:x.instant("common.confirm"),message:x.instant("similarity.delete.index.warning",{name:t.name}),warning:!0}).result.then((function(){h.deleteIndex(t).then(()=>e.loadSimilarityIndexes()).catch(e=>i.error(getError(e)))}))},e.viewCreateQuery=e=>{h.getQuery({indexName:e.name,indexOptions:e.options,query:e.selectQuery,indexStopList:e.stopList,queryInference:e.infer,querySameAs:e.sameAs,viewType:e.type,indexAnalyzer:e.analyzer}).success(e=>{m.open({templateUrl:"pages/viewQuery.html",controller:"ViewQueryCtrl",resolve:{query:()=>e}})})},e.rebuildIndex=t=>{t.searchQuery||(t.searchQuery=t.type?e.searchQueries[t.type]:e.searchQueries.text),T.openSimpleModal({title:x.instant("common.confirm"),message:Object(r.decodeHTML)(x.instant("similarity.rebuild.index.warning",{name:t.name})),warning:!0}).result.then(()=>{t.status=n.SimilarityIndexStatus.REBUILDING,h.rebuildIndex(t).catch(e=>i.error(getError(e)))})},e.setPluginIsActive=t=>{e.pluginIsActive=t},e.encodeURIComponent=e=>encodeURIComponent(e),e.copyToClipboardResult=e=>{T.openCopyToClipboardModal(e)},e.trimIRI=e=>_.trim(e,"<>"),e.updateSearchType=t=>{e.searchType=t},e.updateResultType=t=>{e.resultType=t},e.editSimilarityIndex=e=>{w(e)},e.cloneSimilataryIndex=e=>{w(e,!0)},e.setPsiSubject=t=>{e.psiSubject=t},e.setAnalogicalSubject=t=>{e.analogicalSubject=t},e.setAnalogicalObject=t=>{e.analogicalObject=t};const w=(e,t=!1)=>{const i={selectQuery:e.selectQuery,options:e.options,name:e.name,editSearchQuery:!t,infer:e.infer,sameAs:e.sameAs,stopList:e.stopList,type:e.type,analyzer:e.analyzer,searchQuery:e.searchQuery?e.searchQuery:"",analogicalQuery:e.analogicalQuery?e.analogicalQuery:""};d.path("similarity/index/create").search(i)},C=()=>{const t=e.getActiveRepository();t&&e.activeRepository!==t&&(e.canEditRepo=e.canWriteActiveRepo(),e.activeRepository=t,e.isGraphDBRepository=N(),e.isGraphDBRepository&&(S.isLicenseValid()&&e.reloadSimilarityIndexes(),f()))},f=()=>{h.getSearchQueries().success(t=>e.searchQueries=t).error(e=>i.error(getError(e),x.instant("similarity.could.not.get.search.queries.error")))},O=e=>'"'+e+'"',D=e=>void 0===e||e.startsWith("<<")&&e.endsWith(">>")?e:"<"+e+">",N=()=>e.getActiveRepository()&&!e.isActiveRepoOntopType()&&!e.isActiveRepoFedXType(),U=[];U.push(e.$on("repositoryIsSet",C));e.$on("$destroy",()=>{j(),e.loadSimilarityIndexesTimer&&t.cancel(e.loadSimilarityIndexesTimer)});const j=()=>{U.forEach(e=>e())};U.push(A.onAutocompleteEnabledUpdated(t=>{e.isAutocompleteEnabled=t})),U.push(A.onSelectedRepositoryIdUpdated(t=>{t?b.getNamespaces(t).then(t=>{e.repositoryNamespaces=t}).catch(e=>{const t=getError(e);i.error(t,x.instant("error.getting.namespaces.for.repo"))}):e.repositoryNamespaces=new p.NamespacesListModel}));U.push(e.$watch("searchType",()=>{e.empty=!0}));const P=e.$watch(e.getActiveRepositoryObject,e=>{e&&(C(),P())}),B=(t,i,r,n,c)=>{const l={query:G(e.lastSearch.type),$index:D("http://www.ontotext.com/graphdb/similarity/instance/"+t.name),$query:e.lastSearch.termOrSubject,$searchType:D((e.selectedSimilarityIndex.isTextType()?v:L)+(a.SimilaritySearchType.isSearchEntityPredicateType(r)?a.SimilaritySearchType.SEARCH_ENTITY:r)),$resultType:D(e.selectedSimilarityIndex.isTextType()?v+n:L+s.SimilarityResultType.ENTITY_RESULT),$parameters:O(c)};return a.SimilaritySearchType.isSearchEntityPredicateType(r)&&(l.$psiPredicate=e.lastSearch.predicate?D(e.lastSearch.predicate):D(Q)),a.SimilaritySearchType.isSearchAnalogicalType(r)&&(e.searchSubject=i,l.$givenSubject=D(e.analogicalSubject),l.$givenObject=D(e.analogicalObject),l.$searchSubject=D(i)),l},M=(t,i)=>{e.lastSearch=new o.SimilaritySearch,e.lastSearch.type=t,a.SimilaritySearchType.isSearchEntityPredicateType(t)&&(e.lastSearch.predicate=i),e.lastSearch.termOrSubject=H(e.lastSearch.type,i,e.psiSubject)},G=t=>{let i;return i=a.SimilaritySearchType.isSearchAnalogicalType(t)?e.selectedSimilarityIndex.analogicalQuery?e.selectedSimilarityIndex.analogicalQuery:e.searchQueries.analogical:e.selectedSimilarityIndex.searchQuery?e.selectedSimilarityIndex.searchQuery:e.searchQueries[e.selectedSimilarityIndex.type],i},H=(e,t,i)=>{let r=t;return a.SimilaritySearchType.isSearchEntityPredicateType(e)&&(r=i),r=a.SimilaritySearchType.isSearchTermType(e)?O(r):D(r),r},q=t=>{e.yasguiConfig={showEditorTabs:!1,showToolbar:!1,showResultTabs:!1,showQueryButton:!1,downloadAsOn:!1,showResultInfo:!1,componentId:"similarity-list-component",maxPersistentResponseSize:0,render:y.RenderingMode.YASR,sparqlResponse:t.data}}}angular.module("graphdb.framework.similarity.controllers.list",["graphdb.core.services.workbench-context","graphdb.framework.core.services.rdf4j.repositories"]).controller("SimilarityCtrl",u),u.$inject=["$scope","$interval","toastr","$repositories","$licenseService","$location","ModalService","$uibModal","SimilarityRestService","AutocompleteRestService","productInfo","RDF4JRepositoriesRestService","$translate","SparqlRestService","WorkbenchContextService","RDF4JRepositoriesService"]},90:function(e,t,i){"use strict";i.r(t),i.d(t,"RenderingMode",(function(){return r}));const r={YASGUI:"mode-yasgui",YASQE:"mode-yasqe",YASR:"mode-yasr"}},92:function(e,t,i){"use strict";i.r(t),i.d(t,"SimilarityIndexType",(function(){return r}));const r={TEXT:"text",TEXT_LITERAL:"textLiteral",PREDICATION:"predication",isTextType:e=>r.TEXT===e,isTextLiteralType:e=>r.TEXT_LITERAL===e,isPredicationType:e=>r.PREDICATION===e}},94:function(e,t,i){"use strict";i.r(t),i.d(t,"SimilarityIndexStatus",(function(){return r}));const r={CREATING:"CREATING",BUILDING:"BUILDING",BUILT:"BUILT",REBUILDING:"REBUILDING",OUTDATED:"OUTDATED",INTERRUPTED:"INTERRUPTED",OBSOLETE:"OBSOLETE",FAILED:"FAILED",isCreatingStatus:e=>r.CREATING===e,isBuildingStatus:e=>r.BUILDING===e,isBuiltStatus:e=>r.BUILT===e,isRebuildingStatus:e=>r.REBUILDING===e,isOutdatedStatus:e=>r.OUTDATED===e,isInterruptedStatus:e=>r.INTERRUPTED===e,isObsoleteStatus:e=>r.OBSOLETE===e,isFailedStatus:e=>r.FAILED===e}},95:function(e,t,i){"use strict";i.r(t),i.d(t,"SimilarityIndex",(function(){return s}));var r=i(92),a=i(94);class s{constructor(){this.analyzer="",this.infer=!0,this.options="",this.sameAs=!0,this.searchQuery="",this.selectQuery="",this.stopList=void 0,this.name="",this.type=r.SimilarityIndexType.TEXT,this.status=void 0,this.analogicalQuery=void 0,this.inputIndex=void 0,this.isLiteralIndex=""}isTextType(){return r.SimilarityIndexType.isTextType(this.type)}isTextLiteralType(){return r.SimilarityIndexType.isTextLiteralType(this.type)}isPredicationType(){return r.SimilarityIndexType.isPredicationType(this.type)}isCreatingStatus(){return a.SimilarityIndexStatus.isCreatingStatus(this.status)}isBuildingStatus(){return a.SimilarityIndexStatus.isBuildingStatus(this.status)}isBuiltStatus(){return a.SimilarityIndexStatus.isBuiltStatus(this.status)}isRebuildingStatus(){return a.SimilarityIndexStatus.isRebuildingStatus(this.status)}isOutdatedStatus(){return a.SimilarityIndexStatus.isOutdatedStatus(this.status)}isInterruptedStatus(){return a.SimilarityIndexStatus.isInterruptedStatus(this.status)}isObsoleteStatus(){return a.SimilarityIndexStatus.isObsoleteStatus(this.status)}isFailedStatus(){return a.SimilarityIndexStatus.isFailedStatus(this.status)}}},99:function(e,t,i){"use strict";i.r(t),i.d(t,"mapIndexesResponseToSimilarityIndex",(function(){return a}));var r=i(95);const a=e=>e.map(e=>{const t=new r.SimilarityIndex;return t.type=e.type,t.stopList=e.stopList,t.status=e.status,t.selectQuery=e.selectQuery,t.searchQuery=e.searchQuery,t.sameAs=e.sameAs,t.options=e.options,t.name=e.name,t.infer=e.infer,t.analyzer=e.analyzer,t.analogicalQuery=e.analogicalQuery,t})}}]);
|
|
1
|
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[36,66,80,102,236,257,258,260,261],{126:function(e,t,i){"use strict";i.r(t),i.d(t,"SimilaritySearchType",(function(){return r}));const r={SEARCH_TERM:"searchTerm",SEARCH_ANALOGICAL:"searchAnalogical",SEARCH_ENTITY:"searchEntity",SEARCH_ENTITY_PREDICATE:"searchEntityPredicate",SEARCH_DOCUMENT:"searchDocumentID",isSearchTermType:e=>r.SEARCH_TERM===e,isSearchAnalogicalType:e=>r.SEARCH_ANALOGICAL===e,isSearchEntityType:e=>r.SEARCH_ENTITY===e,isSearchEntityPredicateType:e=>r.SEARCH_ENTITY_PREDICATE===e,isSearchDocumentType:e=>r.SEARCH_DOCUMENT===e}},192:function(e,t,i){"use strict";i.r(t),i.d(t,"SimilarityResultType",(function(){return r}));const r={TERM_RESULT:"termResult",DOCUMENT_RESULT:"documentResult",ENTITY_RESULT:"entityResult",isResultDocumentType:e=>r.DOCUMENT_RESULT===e,isResultTermType:e=>r.TERM_RESULT===e}},193:function(e,t,i){"use strict";i.r(t),i.d(t,"SimilaritySearch",(function(){return a}));var r=i(126);class a{constructor(){this.type=r.SimilaritySearchType.SEARCH_TERM,this.predicate="",this.termOrSubject=""}isSearchAnalogicalType(){return r.SimilaritySearchType.isSearchAnalogicalType(this.type)}isSearchTermType(){return r.SimilaritySearchType.isSearchTermType(this.type)}isSearchEntityType(){return r.SimilaritySearchType.isSearchEntityType(this.type)}isSearchEntityPredicateType(){return r.SimilaritySearchType.isSearchEntityPredicateType(this.type)}isSearchDocumentType(){return r.SimilaritySearchType.isSearchDocumentType(this.type)}}},311:function(e,t,i){"use strict";i.r(t);i(23),i(47);var r=i(0),a=i(126),s=i(192),n=i(94),c=i(92),l=i(99),o=i(193),y=i(90),p=i(8);function u(e,t,i,u,S,d,T,m,h,I,E,R,x,g,A,b){const v="http://www.ontotext.com/graphdb/similarity/",L="http://www.ontotext.com/graphdb/similarity/psi/",Q=L+"any";e.pluginName="similarity",e.pluginIsActive=!0,e.isLoading=!1,e.selectedSimilarityIndex=void 0,e.similarityIndexStatus=n.SimilarityIndexStatus,e.similarityIndexType=c.SimilarityIndexType,e.similaritySearchType=a.SimilaritySearchType,e.searchType=a.SimilaritySearchType.SEARCH_TERM,e.similarityResultType=s.SimilarityResultType,e.resultType=s.SimilarityResultType.TERM_RESULT,e.info=E,e.isGraphDBRepository=void 0,e.canEditRepo=e.canWriteActiveRepo(),e.loadSimilarityIndexesTimer=void 0,e.loadSimilarityIndexes=()=>{e.isGraphDBRepository&&e.pluginIsActive&&h.getIndexes().success(t=>e.similarityIndexes=Object(l.mapIndexesResponseToSimilarityIndex)(t)).error(e=>i.error(getError(e),x.instant("similarity.could.not.get.indexes.error")))},e.reloadSimilarityIndexes=()=>{e.loadSimilarityIndexes(),e.loadSimilarityIndexesTimer||(e.loadSimilarityIndexesTimer=t((function(){e.$broadcast("checkIsActive"),"false"!==$("#indexes-table").attr("aria-expanded")&&e.loadSimilarityIndexes()}),5e3))},e.goToSimilarityIndex=t=>{(t.isBuiltStatus()||t.isOutdatedStatus()||t.isRebuildingStatus())&&(e.empty=!0,e.selectedSimilarityIndex!==t&&(e.lastSearch=void 0,e.selectedSimilarityIndex=t),t.isTextType()?e.searchType=a.SimilaritySearchType.SEARCH_TERM:t.isPredicationType()&&(e.searchType=a.SimilaritySearchType.SEARCH_ENTITY),(t.isTextType()||t.isPredicationType())&&$("#indexes-table").collapse("hide"))},e.performSearch=(t,r,a,s,n)=>{e.isLoading=!0,M(a,r);const c=B(t,r,a,s,n);g.getQueryResult(u.getActiveRepository(),c,"application/x-sparqlstar-results+json, application/sparql-results+json;q=0.9, */*;q=0.8").then(e=>q(e)).catch(e=>i.error(getError(e.data),x.instant("similarity.get.resource.error"))).finally(()=>e.isLoading=!1)},e.viewSearchQuery=()=>{let t;t=e.lastSearch.isSearchAnalogicalType()?e.selectedSimilarityIndex.analogicalQuery?e.selectedSimilarityIndex.analogicalQuery:e.searchQueries.analogical:e.selectedSimilarityIndex.searchQuery?e.selectedSimilarityIndex.searchQuery:e.searchQueries[e.selectedSimilarityIndex.type];let i=[],r="";i=t.match(/[a-zA-Z0-9-]+:<http:\/\/www.ontotext.com\/graphdb\/similarity\/instance\/>/),r=null==i?"similarity-index":i[0].substring(0,i[0].indexOf(":"));const s=t.replace("?index",r+":"+e.selectedSimilarityIndex.name).replace("?query",e.lastSearch.termOrSubject).replace("?searchType",(e.selectedSimilarityIndex.isTextType()?":":"psi:")+(e.lastSearch.isSearchEntityPredicateType()?a.SimilaritySearchType.SEARCH_ENTITY:e.lastSearch.type)).replace("?resultType",e.selectedSimilarityIndex.isTextType()?":"+e.resultType:"psi:entityResult").replace("?parameters",O(e.searchParameters?e.searchParameters:"")).replace("?psiPredicate",e.lastSearch.predicate?D(e.lastSearch.predicate):D(Q)).replace("?givenSubject",D(e.analogicalSubject)).replace("?givenObject",D(e.analogicalObject)).replace("?searchSubject",D(e.searchSubject));m.open({templateUrl:"pages/viewQuery.html",controller:"ViewQueryCtrl",resolve:{query:()=>s}})},e.deleteSimilarityIndex=t=>{T.openSimpleModal({title:x.instant("common.confirm"),message:x.instant("similarity.delete.index.warning",{name:t.name}),warning:!0}).result.then((function(){h.deleteIndex(t).then(()=>e.loadSimilarityIndexes()).catch(e=>i.error(getError(e)))}))},e.viewCreateQuery=e=>{h.getQuery({indexName:e.name,indexOptions:e.options,query:e.selectQuery,indexStopList:e.stopList,queryInference:e.infer,querySameAs:e.sameAs,viewType:e.type,indexAnalyzer:e.analyzer}).success(e=>{m.open({templateUrl:"pages/viewQuery.html",controller:"ViewQueryCtrl",resolve:{query:()=>e}})})},e.rebuildIndex=t=>{t.searchQuery||(t.searchQuery=t.type?e.searchQueries[t.type]:e.searchQueries.text),T.openSimpleModal({title:x.instant("common.confirm"),message:Object(r.decodeHTML)(x.instant("similarity.rebuild.index.warning",{name:t.name})),warning:!0}).result.then(()=>{t.status=n.SimilarityIndexStatus.REBUILDING,h.rebuildIndex(t).catch(e=>i.error(getError(e)))})},e.setPluginIsActive=t=>{e.pluginIsActive=t},e.encodeURIComponent=e=>encodeURIComponent(e),e.copyToClipboardResult=e=>{T.openCopyToClipboardModal(e)},e.trimIRI=e=>_.trim(e,"<>"),e.updateSearchType=t=>{e.searchType=t},e.updateResultType=t=>{e.resultType=t},e.editSimilarityIndex=e=>{w(e)},e.cloneSimilataryIndex=e=>{w(e,!0)},e.setPsiSubject=t=>{e.psiSubject=t},e.setAnalogicalSubject=t=>{e.analogicalSubject=t},e.setAnalogicalObject=t=>{e.analogicalObject=t};const w=(e,t=!1)=>{const i={selectQuery:e.selectQuery,options:e.options,name:e.name,editSearchQuery:!t,infer:e.infer,sameAs:e.sameAs,stopList:e.stopList,type:e.type,analyzer:e.analyzer,searchQuery:e.searchQuery?e.searchQuery:"",analogicalQuery:e.analogicalQuery?e.analogicalQuery:""};d.path("similarity/index/create").search(i)},C=()=>{const t=e.getActiveRepository();t&&e.activeRepository!==t&&(e.canEditRepo=e.canWriteActiveRepo(),e.activeRepository=t,e.isGraphDBRepository=N(),e.isGraphDBRepository&&(S.isLicenseValid()&&e.reloadSimilarityIndexes(),f()))},f=()=>{h.getSearchQueries().success(t=>e.searchQueries=t).error(e=>i.error(getError(e),x.instant("similarity.could.not.get.search.queries.error")))},O=e=>'"'+e+'"',D=e=>void 0===e||e.startsWith("<<")&&e.endsWith(">>")?e:"<"+e+">",N=()=>e.getActiveRepository()&&!e.isActiveRepoOntopType()&&!e.isActiveRepoFedXType(),U=[];U.push(e.$on("repositoryIsSet",C));e.$on("$destroy",()=>{j(),e.loadSimilarityIndexesTimer&&t.cancel(e.loadSimilarityIndexesTimer)});const j=()=>{U.forEach(e=>e())};U.push(A.onAutocompleteEnabledUpdated(t=>{e.isAutocompleteEnabled=t})),U.push(A.onSelectedRepositoryIdUpdated(t=>{t?b.getNamespaces(t).then(t=>{e.repositoryNamespaces=t}).catch(e=>{const t=getError(e);i.error(t,x.instant("error.getting.namespaces.for.repo"))}):e.repositoryNamespaces=new p.NamespacesListModel}));U.push(e.$watch("searchType",()=>{e.empty=!0}));const P=e.$watch(e.getActiveRepositoryObject,e=>{e&&(C(),P())}),B=(t,i,r,n,c)=>{const l={query:G(e.lastSearch.type),$index:D("http://www.ontotext.com/graphdb/similarity/instance/"+t.name),$query:e.lastSearch.termOrSubject,$searchType:D((e.selectedSimilarityIndex.isTextType()?v:L)+(a.SimilaritySearchType.isSearchEntityPredicateType(r)?a.SimilaritySearchType.SEARCH_ENTITY:r)),$resultType:D(e.selectedSimilarityIndex.isTextType()?v+n:L+s.SimilarityResultType.ENTITY_RESULT),$parameters:O(c)};return a.SimilaritySearchType.isSearchEntityPredicateType(r)&&(l.$psiPredicate=e.lastSearch.predicate?D(e.lastSearch.predicate):D(Q)),a.SimilaritySearchType.isSearchAnalogicalType(r)&&(e.searchSubject=i,l.$givenSubject=D(e.analogicalSubject),l.$givenObject=D(e.analogicalObject),l.$searchSubject=D(i)),l},M=(t,i)=>{e.lastSearch=new o.SimilaritySearch,e.lastSearch.type=t,a.SimilaritySearchType.isSearchEntityPredicateType(t)&&(e.lastSearch.predicate=i),e.lastSearch.termOrSubject=H(e.lastSearch.type,i,e.psiSubject)},G=t=>{let i;return i=a.SimilaritySearchType.isSearchAnalogicalType(t)?e.selectedSimilarityIndex.analogicalQuery?e.selectedSimilarityIndex.analogicalQuery:e.searchQueries.analogical:e.selectedSimilarityIndex.searchQuery?e.selectedSimilarityIndex.searchQuery:e.searchQueries[e.selectedSimilarityIndex.type],i},H=(e,t,i)=>{let r=t;return a.SimilaritySearchType.isSearchEntityPredicateType(e)&&(r=i),r=a.SimilaritySearchType.isSearchTermType(e)?O(r):D(r),r},q=t=>{e.yasguiConfig={showEditorTabs:!1,showToolbar:!1,showResultTabs:!1,showQueryButton:!1,downloadAsOn:!1,showResultInfo:!1,componentId:"similarity-list-component",maxPersistentResponseSize:0,render:y.RenderingMode.YASR,sparqlResponse:t.data}}}angular.module("graphdb.framework.similarity.controllers.list",["graphdb.core.services.workbench-context","graphdb.framework.core.services.rdf4j.repositories"]).controller("SimilarityCtrl",u),u.$inject=["$scope","$interval","toastr","$repositories","$licenseService","$location","ModalService","$uibModal","SimilarityRestService","AutocompleteRestService","productInfo","RDF4JRepositoriesRestService","$translate","SparqlRestService","WorkbenchContextService","RDF4JRepositoriesService"]},90:function(e,t,i){"use strict";i.r(t),i.d(t,"RenderingMode",(function(){return r}));const r={YASGUI:"mode-yasgui",YASQE:"mode-yasqe",YASR:"mode-yasr"}},92:function(e,t,i){"use strict";i.r(t),i.d(t,"SimilarityIndexType",(function(){return r}));const r={TEXT:"text",TEXT_LITERAL:"textLiteral",PREDICATION:"predication",isTextType:e=>r.TEXT===e,isTextLiteralType:e=>r.TEXT_LITERAL===e,isPredicationType:e=>r.PREDICATION===e}},94:function(e,t,i){"use strict";i.r(t),i.d(t,"SimilarityIndexStatus",(function(){return r}));const r={CREATING:"CREATING",BUILDING:"BUILDING",BUILT:"BUILT",REBUILDING:"REBUILDING",OUTDATED:"OUTDATED",INTERRUPTED:"INTERRUPTED",OBSOLETE:"OBSOLETE",FAILED:"FAILED",isCreatingStatus:e=>r.CREATING===e,isBuildingStatus:e=>r.BUILDING===e,isBuiltStatus:e=>r.BUILT===e,isRebuildingStatus:e=>r.REBUILDING===e,isOutdatedStatus:e=>r.OUTDATED===e,isInterruptedStatus:e=>r.INTERRUPTED===e,isObsoleteStatus:e=>r.OBSOLETE===e,isFailedStatus:e=>r.FAILED===e}},95:function(e,t,i){"use strict";i.r(t),i.d(t,"SimilarityIndex",(function(){return s}));var r=i(92),a=i(94);class s{constructor(){this.analyzer="",this.infer=!0,this.options="",this.sameAs=!0,this.searchQuery="",this.selectQuery="",this.stopList=void 0,this.name="",this.type=r.SimilarityIndexType.TEXT,this.status=void 0,this.analogicalQuery=void 0,this.inputIndex=void 0,this.isLiteralIndex=""}isTextType(){return r.SimilarityIndexType.isTextType(this.type)}isTextLiteralType(){return r.SimilarityIndexType.isTextLiteralType(this.type)}isPredicationType(){return r.SimilarityIndexType.isPredicationType(this.type)}isCreatingStatus(){return a.SimilarityIndexStatus.isCreatingStatus(this.status)}isBuildingStatus(){return a.SimilarityIndexStatus.isBuildingStatus(this.status)}isBuiltStatus(){return a.SimilarityIndexStatus.isBuiltStatus(this.status)}isRebuildingStatus(){return a.SimilarityIndexStatus.isRebuildingStatus(this.status)}isOutdatedStatus(){return a.SimilarityIndexStatus.isOutdatedStatus(this.status)}isInterruptedStatus(){return a.SimilarityIndexStatus.isInterruptedStatus(this.status)}isObsoleteStatus(){return a.SimilarityIndexStatus.isObsoleteStatus(this.status)}isFailedStatus(){return a.SimilarityIndexStatus.isFailedStatus(this.status)}}},99:function(e,t,i){"use strict";i.r(t),i.d(t,"mapIndexesResponseToSimilarityIndex",(function(){return a}));var r=i(95);const a=e=>e.map(e=>{const t=new r.SimilarityIndex;return t.type=e.type,t.stopList=e.stopList,t.status=e.status,t.selectQuery=e.selectQuery,t.searchQuery=e.searchQuery,t.sameAs=e.sameAs,t.options=e.options,t.name=e.name,t.infer=e.infer,t.analyzer=e.analyzer,t.analogicalQuery=e.analogicalQuery,t})}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[360],{480:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/cookie-policy.css?v=2.8.
|
|
1
|
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[360],{480:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/cookie-policy.css?v=2.8.9-TR1" rel="stylesheet"/>\n\n<div class="cookie-consent-modal" ng-show="showCookieConsent">\n <div class="cookie-consent-content">\n <span>{{\'cookie.cookie_consent\' | translate}} <a href="#" class="btn btn-link p-0"\n ng-click="showCookiePolicy()">{{\'cookie.cookie_policy_url_label\' | translate}}</a>.</span>\n <button class="btn btn-primary" ng-click="acceptConsent()">{{\'common.ok.btn\' | translate}}</button>\n </div>\n</div>\n';return __p}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[361],{481:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/cookie-policy.css?v=2.8.
|
|
1
|
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[361],{481:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/cookie-policy.css?v=2.8.9-TR1" rel="stylesheet"/>\n\n<div class="cookie-policy-modal">\n <div class="title">{{\'cookie.policy.title\' | translate}}</div>\n\n <div class="heading">{{\'cookie.policy.purpose_heading\' | translate}}</div>\n <div class="text">{{\'cookie.policy.purpose_text\' | translate}}</div>\n <div class="text mt-1">{{\'cookie.policy.purpose_enterprise_text\' | translate}}</div>\n\n <div class="heading">{{\'cookie.policy.privacy_commitment_heading\' | translate}}</div>\n <div class="text">{{\'cookie.policy.privacy_commitment_text\' | translate}}</div>\n <ul>\n <li>{{\'cookie.policy.privacy_commitment_1\' | translate}}</li>\n <li>{{\'cookie.policy.privacy_commitment_2\' | translate}}</li>\n </ul>\n\n <div class="heading">{{\'cookie.policy.cookies_heading\' | translate}}</div>\n <div class="text">{{\'cookie.policy.cookies_text\' | translate}}</div>\n\n <div class="heading">{{\'cookie.policy.manage_cookies_heading\' | translate}}</div>\n <div id="statistic-consent" class="toggle-group">\n <label><strong>{{\'cookie.policy.statistic_cookies\' | translate}}</strong></label>\n <span gdb-tooltip="{{\'cookie.policy.statistic_tooltip\' | translate}}" tooltip-placement="top"\n ng-click="toggleConsent(ConsentTypes.STATISTIC)"\n class="switch">\n <input type="checkbox" class="switch" ng-checked="cookieConsent.getStatisticConsent()"/>\n <label for="statistic-consent"></label>\n </span>\n </div>\n <div class="text">{{\'cookie.policy.statistic_text\' | translate}}</div>\n\n <div id="third-party-consent" class="toggle-group mt-1">\n <label><strong>{{\'cookie.policy.third_party_cookies\' | translate}}</strong></label>\n <span gdb-tooltip="{{\'cookie.policy.third_party_tooltip\' | translate}}" tooltip-placement="top"\n ng-click="toggleConsent(ConsentTypes.THIRD_PARTY)"\n class="switch">\n <input type="checkbox" class="switch" ng-checked="cookieConsent.thirdParty"/>\n <label for="third-party-consent"></label>\n </span>\n </div>\n <div class="text">{{\'cookie.policy.third_party_cookies_text\' | translate}}</div>\n\n <div class="text mt-1"><span>{{\'cookie.policy.change_cookies\' | translate}} <i>{{\'menu.setup.label\' | translate}} > {{\'menu.my.settings.label\' | translate}} > {{\'security.user.settings\' | translate}} > {{\'cookie.policy.change_cookies_location4\' | translate}}</i></span></div>\n\n <div class="text-right">\n <button class="btn btn-primary" ng-click="close()">{{\'common.close.btn\' | translate}}</button>\n </div>\n</div>\n';return __p}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[37,46,236,244,263,264,303,326],{102:function(e,t){function r(e,t){return{showToastMessageWithDelay:function(r){return new Promise(a=>{e.success(t.instant(r)),setTimeout(a,200)})}}}angular.module("graphdb.framework.utils.notifications",[]).factory("Notifications",r),r.$inject=["toastr","$translate"]},195:function(e,t,r){"use strict";r.r(t),r.d(t,"SparqlTemplateError",(function(){return a}));class a extends Error{}},196:function(e,t,r){"use strict";r.r(t),r.d(t,"DEFAULT_SPARQL_QUERY",(function(){return a})),r.d(t,"SparqlTemplateInfo",(function(){return n}));const a="PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>\nPREFIX ex: <http://example.com#>\nDELETE {\n ?subject ex:myPredicate ?oldValue .\n} INSERT {\n ?subject ex:myPredicate ?newValue .\n} WHERE {\n ?id rdf:type ex:MyType .\n ?subject ex:isRelatedTo ?id .\n}\n";class n{constructor(e=a,t=!0,r){this.query=e,this.templateID=r,this.isNewTemplate=t,this.templateExist=!1,this.isValidTemplateId=!0,this.isValidQuery=!0,this.isValidQueryMode=!0}}},309:function(e,t){angular.module("graphdb.framework.rest.sparql-templates.service",[]).factory("SparqlTemplatesRestService",r),r.$inject=["$http"];function r(e){return{getSparqlTemplates:function(t){return e.get(`rest/repositories/${t}/sparql-templates`)},getSparqlTemplate:function(t,r){return e.get(`rest/repositories/${r}/sparql-templates/configuration`,{params:{templateID:t}})},createSparqlTemplate:function(t,r){return e.post(`rest/repositories/${r}/sparql-templates`,{templateID:t.templateID,query:t.query})},updateSparqlTemplate:function(t,r){return e.put(`rest/repositories/${r}/sparql-templates`,t.query,{params:{templateID:t.templateID},headers:{"Content-Type":"text/plain"}})},deleteSparqlTemplate:function(t,r){return e.delete(`rest/repositories/${r}/sparql-templates`,{params:{templateID:t}})}}}},313:function(e,t,r){"use strict";r.r(t);r(9),r(41),r(43),r(102),r(44),r(22);var a=r(0),n=r(196),s=r(195),i=r(97),o=r(90),l=r(19);function p(e,t,r,a,n,s,i){e.pluginName="sparql-template",e.setPluginIsActive=function(t){e.pluginIsActive=t},e.getSparqlTemplates=function(){s.isLicenseValid()&&t.getActiveRepository()&&!t.isActiveRepoOntopType()&&!t.isActiveRepoFedXType()?r.getSparqlTemplates(t.getActiveRepository()).success((function(t){e.sparqlTemplateIds=t})).error((function(e){const t=getError(e);a.error(t,i.instant("sparql.template.get.templates.error"))})):e.sparqlTemplateIds=[]},e.$watch((function(){return t.getActiveRepository()}),(function(){e.getSparqlTemplates()})),e.deleteTemplate=function(s){n.openSimpleModal({title:i.instant("common.warning"),message:i.instant("sparql.template.delete.template.warning",{templateID:s}),warning:!0}).result.then((function(){r.deleteSparqlTemplate(s,t.getActiveRepository()).success((function(){a.success(s,i.instant("sparql.template.delete.template.success")),e.getSparqlTemplates()})).error((function(e){a.error(getError(e),i.instant("sparql.template.delete.template.failure",{templateID:s}))}))}))}}function c(e,t,r,p,c,m,u,d,f,g,q,T,h,I,y,w){e.initialQuery=n.DEFAULT_SPARQL_QUERY,e.sparqlTemplateInfo=new n.SparqlTemplateInfo(e.initialQuery),e.title="",e.saveOrUpdateExecuted=!1,e.isDirty=!1,e.language=w.getLanguage(),e.canEditActiveRepo=!1;let v=!0;e.saveTemplate=function(){e.saveOrUpdateExecuted=!0,A()||U();const t=e.sparqlTemplateInfo.isNewTemplate?S:P;x(e.sparqlTemplateInfo).then(Q).then(R).then(k).then(t).then(M).catch(e=>{e instanceof s.SparqlTemplateError||console.log(e)})},e.isTemplateIdValid=e=>q.isValidIri(e,e.toString()),e.markDirty=()=>{e.isDirty=!0},e.markPristine=()=>{e.isDirty=!1};const E=(t,r=n.DEFAULT_SPARQL_QUERY)=>{e.sparqlTemplateInfo.query=r,e.sparqlTemplateInfo.templateID=V(),e.sparqlTemplateInfo.isNewTemplate=!e.sparqlTemplateInfo.templateID,j(),e.yasguiConfig={showEditorTabs:!1,showToolbar:!1,showResultTabs:!1,showYasqeActionButtons:!1,showYasqeResizer:!1,yasqeActionButtons:l.DISABLE_YASQE_BUTTONS_CONFIGURATION,showQueryButton:!1,initialQuery:e.sparqlTemplateInfo.query,componentId:"sparql-template",prefixes:t,render:o.RenderingMode.YASQE,maxPersistentResponseSize:0,yasqeMode:e.canEditActiveRepo?i.YasqeMode.WRITE:i.YasqeMode.READ}},S=e=>D(e).then($).then(b),D=t=>f.getSparqlTemplates(c.getActiveRepository()).then((function(r){return t.templateExist=r.data.find(t=>t===e.sparqlTemplateInfo.templateID),t})).catch((function(e){const t=getError(e);return p.error(t,h.instant("sparql.template.get.templates.error")),Promise.reject(new s.SparqlTemplateError("Failed to retrieve sparql templates."))})),R=e=>L().isQueryValid().then(t=>(e.isValidQuery=t,e.isValidQuery?e:Promise.reject(new s.SparqlTemplateError("Invalid query.")))),A=()=>e.sparqlTemplateInfo.isNewTemplate||e.isDirty,$=e=>new Promise((t,r)=>{if(e.templateExist){const n=Object(a.decodeHTML)(h.instant("sparql.template.existing.template.error",{templateID:e.templateID})),i=h.instant("common.confirm.save");C(i,n,()=>t(e),()=>r(new s.SparqlTemplateError("Save not confirmed.")))}else t(e)});function b(t){return f.createSparqlTemplate(t,c.getActiveRepository()).then((function(){return t.isNewTemplate=!1,e.markPristine(),p.success(t.templateID,h.instant("save.sparql.template.success.msg")),t})).catch((function(e){const r=getError(e);return p.error(r,h.instant("save.sparql.template.failure.msg",{templateID:t.templateID})),Promise.reject(new s.SparqlTemplateError("Failed to save the new template: "+t.templateID))}))}const P=t=>f.updateSparqlTemplate(t,c.getActiveRepository()).then((function(){return t.isNewTemplate=!1,e.markPristine(),p.success(e.sparqlTemplateInfo.templateID,h.instant("update.sparql.template.success.msg")),t})).catch((function(e){const r=getError(e);return p.error(r,h.instant("save.sparql.template.failure.msg",{templateID:t.templateID})),Promise.reject(new s.SparqlTemplateError("Failed to update the template: "+t.templateID))})),Q=e=>L().getQuery().then(t=>(e.query=t,e)),k=e=>L().getQueryMode().then(t=>(e.isValidQueryMode="update"===t,e.isValidQueryMode?e:Promise.reject(new s.SparqlTemplateError("Query mode is not valid.")))),x=t=>new Promise((r,a)=>{t.templateID?(t.isValidTemplateId=e.isTemplateIdValid(t.templateID),t.isValidTemplateId?r(t):a(new s.SparqlTemplateError("Template identifier is not valid."))):a(new s.SparqlTemplateError("A required template identifier is missing."))}),M=()=>{setTimeout((function(){U()}),1e3)},V=()=>{const e=r.hash()||"";return(r.search().templateID||"")+(e?"#"+e:"")},j=()=>{e.title=(e.sparqlTemplateInfo.templateID?h.instant("edit"):h.instant("common.create.btn"))+" "+h.instant("view.sparql.template.title")},U=()=>{r.url("/sparql-templates")},Y=(t,r)=>{e.queryIsRunning=t,e.loaderMessage=e.queryIsRunning?r:""},L=()=>l.YasguiComponentDirectiveUtil.getOntotextYasguiElement("#query-editor"),C=(e,t,r,a)=>{T.openSimpleModal({title:e,message:t,warning:!0}).result.then((function(){angular.isFunction(r)&&r()}),(function(){angular.isFunction(a)&&a()}))},F=()=>{window.removeEventListener("beforeunload",N),O.forEach(e=>e())},N=t=>{e.isDirty&&(t.returnValue=!0)},O=[];O.push(e.$on("queryChanged",(t,r)=>{r.dirty?e.markDirty():e.markPristine()})),O.push(t.$on("$translateChangeSuccess",()=>{e.language=w.getLanguage(),j()})),O.push(e.$on("$locationChangeStart",(t,a)=>{if(e.isDirty){t.preventDefault();const e=h.instant("common.confirm"),n=h.instant("jdbc.warning.unsaved.changes");C(e,n,()=>{F();const e=r.absUrl().length-r.url().length,t=a.substring(e);r.path(t)})}else F()})),O.push(y.subscribe("repositoryWillChangeEvent",t=>new Promise((function(r){if(e.sparqlTemplateInfo.isNewTemplate)return void r(t);const a=()=>{e.isDirty=!1,U(),r(t)};if(e.isDirty){const e=()=>{t.cancel=!0,r(t)},n=h.instant("common.confirm"),s=h.instant("jdbc.warning.unsaved.changes");C(n,s,a,e)}else a()})))),O.push(e.$on("$destroy",F)),window.addEventListener("beforeunload",N);const _=()=>{const t=`${h.instant("common.refreshing.namespaces")}. ${h.instant("common.extra.message")}`;Y(!0,t),e.sparqlTemplateInfo.templateID=V();const r=c.getActiveRepository();e.sparqlTemplateInfo.templateID?Promise.all([c.getPrefixes(r),f.getSparqlTemplate(e.sparqlTemplateInfo.templateID,r)]).then(([e,t])=>E(e,t.data)).finally(()=>Y(!1)):c.getPrefixes(r).then(e=>E(e)).finally(()=>Y(!1))};O.push(e.$watch(e.getActiveRepositoryObject,t=>{t&&(e.canEditActiveRepo=e.canWriteActiveRepo(),v?(_(),v=!1):U())}))}angular.module("graphdb.framework.sparql-template.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("SparqlTemplatesCtrl",p).controller("SparqlTemplateCreateCtrl",c),p.$inject=["$scope","$repositories","SparqlTemplatesRestService","toastr","ModalService","$licenseService","$translate"],c.$inject=["$scope","$rootScope","$location","toastr","$repositories","$window","$timeout","$interval","SparqlTemplatesRestService","RDF4JRepositoriesRestService","UriUtils","ModalService","$translate","$q","EventEmitterService","$languageService"]},402:function(e,t,r){"use strict";r.r(t);r(9),r(40),r(209),r(41),r(313),r(309),r(44),r(141);angular.module("graphdb.framework.sparql-template",["toastr","ui.bootstrap","graphdb.framework.sparql-template.controllers","graphdb.framework.core.services.repositories","graphdb.framework.core.directives","graphdb.framework.rest.sparql-templates.service","graphdb.framework.utils.uriutils","graphdb.framework.core.directives.yasgui-component"])},90:function(e,t,r){"use strict";r.r(t),r.d(t,"RenderingMode",(function(){return a}));const a={YASGUI:"mode-yasgui",YASQE:"mode-yasqe",YASR:"mode-yasr"}},97:function(e,t,r){"use strict";r.r(t),r.d(t,"YasqeMode",(function(){return a}));const a={WRITE:"WRITE",READ:"READ",PROTECTED:"PROTECTED"}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[38,
|
|
1
|
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[38,66,80,199,257,258,302],{105:function(t,e){angular.module("graphdb.framework.rest.similarity.service",[]).factory("SimilarityRestService",i),i.$inject=["$http","$repositories"];function i(t){return{getIndexes:function(e,i){if(e)return t.get("rest/similarity",{headers:{"X-GraphDB-Repository":e,"X-GraphDB-Repository-Location":i}});return t.get("rest/similarity")},getSearchQueries:function(){return t.get("rest/similarity/config")},rebuildIndex:function(t){return e("PUT",t.name,t.options,t.selectQuery,t.searchQuery,t.analogicalQuery,t.stopList,t.infer,t.sameAs,t.type)},deleteIndex:function(e){return t.delete("rest/similarity?name="+e.name)},createIndex:e,getSamples:function(){return t.get("rest/similarity/samples")},getQuery:function(e){return t.get("rest/similarity/query",{params:{name:e.indexName,options:e.indexOptions,stopList:e.indexStopList,selectQuery:e.query,infer:e.queryInference,sameAs:e.querySameAs,type:e.viewType,analyzer:e.indexAnalyzer}})},saveSearchQuery:function(e){return t({method:"put",url:"rest/similarity/search-query",data:e})}};function e(e,i,s,a,r,n,u,l,o,d,c){return t({method:e,url:"rest/similarity",noCancelOnRouteChange:!0,data:{name:i,options:s,selectQuery:a,stopList:u,infer:l,sameAs:o,type:d,analyzer:c,searchQuery:r,analogicalQuery:n}})}}},107:function(t,e,i){"use strict";i.r(e);i(105);var s=i(99),a=i(93);function r(t){const e=(e,i)=>t.getIndexes(e,i).then(t=>Object(s.mapIndexesResponseToSimilarityIndex)(t.data));return{getIndexes:e,getIndexesAsMenuModel:(t,i)=>e(t,i).then(t=>t.map(t=>new a.SelectMenuOptionsModel({label:t.name,value:t.name})))}}angular.module("graphdb.framework.core.services.similarity",["graphdb.framework.rest.similarity.service"]).factory("SimilarityService",r),r.$inject=["SimilarityRestService"]},92:function(t,e,i){"use strict";i.r(e),i.d(e,"SimilarityIndexType",(function(){return s}));const s={TEXT:"text",TEXT_LITERAL:"textLiteral",PREDICATION:"predication",isTextType:t=>s.TEXT===t,isTextLiteralType:t=>s.TEXT_LITERAL===t,isPredicationType:t=>s.PREDICATION===t}},93:function(t,e,i){"use strict";i.r(e),i.d(e,"SelectMenuOptionsModel",(function(){return s})),i.d(e,"TextFieldModel",(function(){return a})),i.d(e,"NumericRangeModel",(function(){return r}));class s{constructor({label:t,value:e,selected:i=!1,data:s={}}){this._label=t,this._value=e,this._selected=i,this._data=s}get label(){return this._label}set label(t){this._label=t}get value(){return this._value}set value(t){this._value=t}get selected(){return this._selected}set selected(t){this._selected=t}get data(){return this._data}set data(t){this._data=t}}class a{constructor(t){this._value=t.value,this._minLength=t.minLength,this._maxLength=t.maxLength}get value(){return this._value}set value(t){this._value=t}get maxLength(){return this._maxLength}set maxLength(t){this._maxLength=t}get minLength(){return this._minLength}set minLength(t){this._minLength=t}}class r{constructor(t){this._value=t.value,this._minValue=t.minValue,this._maxValue=t.maxValue,this._step=t.step}get value(){return this._value}set value(t){this._value=t}get minValue(){return this._minValue}set minValue(t){this._minValue=t}get maxValue(){return this._maxValue}set maxValue(t){this._maxValue=t}get step(){return this._step}set step(t){this._step=t}}},94:function(t,e,i){"use strict";i.r(e),i.d(e,"SimilarityIndexStatus",(function(){return s}));const s={CREATING:"CREATING",BUILDING:"BUILDING",BUILT:"BUILT",REBUILDING:"REBUILDING",OUTDATED:"OUTDATED",INTERRUPTED:"INTERRUPTED",OBSOLETE:"OBSOLETE",FAILED:"FAILED",isCreatingStatus:t=>s.CREATING===t,isBuildingStatus:t=>s.BUILDING===t,isBuiltStatus:t=>s.BUILT===t,isRebuildingStatus:t=>s.REBUILDING===t,isOutdatedStatus:t=>s.OUTDATED===t,isInterruptedStatus:t=>s.INTERRUPTED===t,isObsoleteStatus:t=>s.OBSOLETE===t,isFailedStatus:t=>s.FAILED===t}},95:function(t,e,i){"use strict";i.r(e),i.d(e,"SimilarityIndex",(function(){return r}));var s=i(92),a=i(94);class r{constructor(){this.analyzer="",this.infer=!0,this.options="",this.sameAs=!0,this.searchQuery="",this.selectQuery="",this.stopList=void 0,this.name="",this.type=s.SimilarityIndexType.TEXT,this.status=void 0,this.analogicalQuery=void 0,this.inputIndex=void 0,this.isLiteralIndex=""}isTextType(){return s.SimilarityIndexType.isTextType(this.type)}isTextLiteralType(){return s.SimilarityIndexType.isTextLiteralType(this.type)}isPredicationType(){return s.SimilarityIndexType.isPredicationType(this.type)}isCreatingStatus(){return a.SimilarityIndexStatus.isCreatingStatus(this.status)}isBuildingStatus(){return a.SimilarityIndexStatus.isBuildingStatus(this.status)}isBuiltStatus(){return a.SimilarityIndexStatus.isBuiltStatus(this.status)}isRebuildingStatus(){return a.SimilarityIndexStatus.isRebuildingStatus(this.status)}isOutdatedStatus(){return a.SimilarityIndexStatus.isOutdatedStatus(this.status)}isInterruptedStatus(){return a.SimilarityIndexStatus.isInterruptedStatus(this.status)}isObsoleteStatus(){return a.SimilarityIndexStatus.isObsoleteStatus(this.status)}isFailedStatus(){return a.SimilarityIndexStatus.isFailedStatus(this.status)}}},99:function(t,e,i){"use strict";i.r(e),i.d(e,"mapIndexesResponseToSimilarityIndex",(function(){return a}));var s=i(95);const a=t=>t.map(t=>{const e=new s.SimilarityIndex;return e.type=t.type,e.stopList=t.stopList,e.status=t.status,e.selectQuery=t.selectQuery,e.searchQuery=t.searchQuery,e.sameAs=t.sameAs,e.options=t.options,e.name=t.name,e.infer=t.infer,e.analyzer=t.analyzer,e.analogicalQuery=t.analogicalQuery,e})}}]);
|