graphdb-workbench 2.1.1-TR3 → 2.1.1-TR4
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.cabc799d9aabc46e7be7.bundle.js +2 -0
- package/dist/10.cabc799d9aabc46e7be7.bundle.js.map +1 -0
- package/dist/{105.65711fa9d6de57d190f9.bundle.js → 105.2131aef847d9db645b1a.bundle.js} +2 -2
- package/dist/{105.65711fa9d6de57d190f9.bundle.js.map → 105.2131aef847d9db645b1a.bundle.js.map} +1 -1
- package/dist/{106.e7c5e11358f6938931d9.bundle.js → 106.d8e91ce7c4e16ae96137.bundle.js} +2 -2
- package/dist/{106.e7c5e11358f6938931d9.bundle.js.map → 106.d8e91ce7c4e16ae96137.bundle.js.map} +1 -1
- package/dist/{108.8d296d8910c98a05757b.bundle.js → 108.ff55b38321cd246e0f10.bundle.js} +2 -2
- package/dist/{108.8d296d8910c98a05757b.bundle.js.map → 108.ff55b38321cd246e0f10.bundle.js.map} +1 -1
- package/dist/{109.fd11f34786d805c279cd.bundle.js → 109.3683904d9ad66df4fe4d.bundle.js} +2 -2
- package/dist/{109.fd11f34786d805c279cd.bundle.js.map → 109.3683904d9ad66df4fe4d.bundle.js.map} +1 -1
- package/dist/{10.0de26dd0c213dafee946.bundle.js → 11.b2fd98471071348c3964.bundle.js} +2 -2
- package/dist/{10.0de26dd0c213dafee946.bundle.js.map → 11.b2fd98471071348c3964.bundle.js.map} +1 -1
- package/dist/{114.6d54e7d1c547bf1ac768.bundle.js → 114.ed2c2d1606cd75dbd7c6.bundle.js} +2 -2
- package/dist/{114.6d54e7d1c547bf1ac768.bundle.js.map → 114.ed2c2d1606cd75dbd7c6.bundle.js.map} +1 -1
- package/dist/{11.af5499ccbb5c1b7d37d0.bundle.js → 12.cf2225402504b37eb28e.bundle.js} +3 -3
- package/dist/12.cf2225402504b37eb28e.bundle.js.map +1 -0
- package/dist/{12.d9f7654c2a2bf64acb1d.bundle.js → 13.9b9388352980715b16bb.bundle.js} +2 -2
- package/dist/{12.d9f7654c2a2bf64acb1d.bundle.js.map → 13.9b9388352980715b16bb.bundle.js.map} +1 -1
- package/dist/136.3199d393576be61f53fd.bundle.js +1 -1
- package/dist/136.3199d393576be61f53fd.bundle.js.map +1 -1
- package/dist/{13.7f2846cd1d80e418d29f.bundle.js → 14.c512cd1282fe7dec36bf.bundle.js} +2 -2
- package/dist/{13.7f2846cd1d80e418d29f.bundle.js.map → 14.c512cd1282fe7dec36bf.bundle.js.map} +1 -1
- package/dist/{14.6c814a96b94a6cc03b41.bundle.js → 15.e870cbcf6346cc68bd66.bundle.js} +2 -2
- package/dist/{14.6c814a96b94a6cc03b41.bundle.js.map → 15.e870cbcf6346cc68bd66.bundle.js.map} +1 -1
- package/dist/{15.516b0302360113a02b82.bundle.js → 16.23e12f234078c8777ed0.bundle.js} +2 -2
- package/dist/{15.516b0302360113a02b82.bundle.js.map → 16.23e12f234078c8777ed0.bundle.js.map} +1 -1
- package/dist/{16.7b34aea1e49787127422.bundle.js → 17.d1ac5f88f9ef9ee1c789.bundle.js} +2 -2
- package/dist/{16.7b34aea1e49787127422.bundle.js.map → 17.d1ac5f88f9ef9ee1c789.bundle.js.map} +1 -1
- package/dist/{17.1e93fec0b014a1048269.bundle.js → 18.63478730d60e02069d90.bundle.js} +2 -2
- package/dist/{17.1e93fec0b014a1048269.bundle.js.map → 18.63478730d60e02069d90.bundle.js.map} +1 -1
- package/dist/{18.c6c9a8738ed0556139c5.bundle.js → 19.b5b3699a309774176fc3.bundle.js} +2 -2
- package/dist/{18.c6c9a8738ed0556139c5.bundle.js.map → 19.b5b3699a309774176fc3.bundle.js.map} +1 -1
- package/dist/{2.1624e5bea1a914b95ebb.bundle.js → 2.a574cb520c748d9f8d48.bundle.js} +3 -3
- package/dist/2.a574cb520c748d9f8d48.bundle.js.map +1 -0
- package/dist/{19.dcaf58a9b5defe59bc31.bundle.js → 20.d707dfb57f695469ffaa.bundle.js} +2 -2
- package/dist/{19.dcaf58a9b5defe59bc31.bundle.js.map → 20.d707dfb57f695469ffaa.bundle.js.map} +1 -1
- package/dist/{20.b15f2511253f8338e0fe.bundle.js → 21.d5214e697ec9f78652d2.bundle.js} +2 -2
- package/dist/{20.b15f2511253f8338e0fe.bundle.js.map → 21.d5214e697ec9f78652d2.bundle.js.map} +1 -1
- package/dist/{21.4a6eb31c92aa54ce7ce1.bundle.js → 22.e1562d53daf95dd1fdca.bundle.js} +2 -2
- package/dist/{21.4a6eb31c92aa54ce7ce1.bundle.js.map → 22.e1562d53daf95dd1fdca.bundle.js.map} +1 -1
- package/dist/{22.4d9fa14231cd2732427b.bundle.js → 23.c1b822e6ccc61632355b.bundle.js} +2 -2
- package/dist/{22.4d9fa14231cd2732427b.bundle.js.map → 23.c1b822e6ccc61632355b.bundle.js.map} +1 -1
- package/dist/{23.9e3968b629f8405f0f54.bundle.js → 24.740f8b8ec6dd9bb85f67.bundle.js} +3 -3
- package/dist/24.740f8b8ec6dd9bb85f67.bundle.js.map +1 -0
- package/dist/{24.bae404a70ae31386741b.bundle.js → 25.8c30b7bafb4875a3cc51.bundle.js} +2 -2
- package/dist/{24.bae404a70ae31386741b.bundle.js.map → 25.8c30b7bafb4875a3cc51.bundle.js.map} +1 -1
- package/dist/{25.0597669f1a183645c772.bundle.js → 26.176ffe2071a8d5d382b6.bundle.js} +2 -2
- package/dist/{25.0597669f1a183645c772.bundle.js.map → 26.176ffe2071a8d5d382b6.bundle.js.map} +1 -1
- package/dist/{26.5e86db82dcf098c6f274.bundle.js → 27.be71055c959c1ac75177.bundle.js} +3 -3
- package/dist/{26.5e86db82dcf098c6f274.bundle.js.map → 27.be71055c959c1ac75177.bundle.js.map} +1 -1
- package/dist/{27.90a28f377aa2351a97a6.bundle.js → 28.af25c8fe6f70c61986cc.bundle.js} +2 -2
- package/dist/{27.90a28f377aa2351a97a6.bundle.js.map → 28.af25c8fe6f70c61986cc.bundle.js.map} +1 -1
- package/dist/{28.dcbb911abdaaf770369b.bundle.js → 29.54cbff989a44a0f71dfd.bundle.js} +2 -2
- package/dist/{28.dcbb911abdaaf770369b.bundle.js.map → 29.54cbff989a44a0f71dfd.bundle.js.map} +1 -1
- package/dist/{29.e56776b72f96806592f9.bundle.js → 30.238b3282d752df6de2d5.bundle.js} +2 -2
- package/dist/{29.e56776b72f96806592f9.bundle.js.map → 30.238b3282d752df6de2d5.bundle.js.map} +1 -1
- package/dist/{30.2493a3ab4e5005163a33.bundle.js → 31.4ecdb66b2c224a63525e.bundle.js} +2 -2
- package/dist/{30.2493a3ab4e5005163a33.bundle.js.map → 31.4ecdb66b2c224a63525e.bundle.js.map} +1 -1
- package/dist/{32.692379fd859322e24a6a.bundle.js → 32.2582e2eccf29e8d5ec80.bundle.js} +2 -2
- package/dist/{32.692379fd859322e24a6a.bundle.js.map → 32.2582e2eccf29e8d5ec80.bundle.js.map} +1 -1
- package/dist/{33.2b08fc5cf42609b8a1a9.bundle.js → 33.04790d6b317f0eade307.bundle.js} +2 -2
- package/dist/{33.2b08fc5cf42609b8a1a9.bundle.js.map → 33.04790d6b317f0eade307.bundle.js.map} +1 -1
- package/dist/37.ef412d4cbc60967faa5e.bundle.js +2 -0
- package/dist/37.ef412d4cbc60967faa5e.bundle.js.map +1 -0
- package/dist/{37.66cc1fa41455fde1c201.bundle.js → 38.7deea9e0319084f9f852.bundle.js} +2 -2
- package/dist/{37.66cc1fa41455fde1c201.bundle.js.map → 38.7deea9e0319084f9f852.bundle.js.map} +1 -1
- package/dist/39.be2d8c75e4ab391ba984.bundle.js +2 -0
- package/dist/39.be2d8c75e4ab391ba984.bundle.js.map +1 -0
- package/dist/{39.ec29479e3f0c23b626f6.bundle.js → 40.9272ebe1d2246ae3054f.bundle.js} +2 -2
- package/dist/{39.ec29479e3f0c23b626f6.bundle.js.map → 40.9272ebe1d2246ae3054f.bundle.js.map} +1 -1
- package/dist/{40.1e2b5ccb3dcdee5e6b81.bundle.js → 41.f69dd805b7e51756518f.bundle.js} +2 -2
- package/dist/{40.1e2b5ccb3dcdee5e6b81.bundle.js.map → 41.f69dd805b7e51756518f.bundle.js.map} +1 -1
- package/dist/{41.297f8392dafa2af5e874.bundle.js → 42.16be14526c7bf039754b.bundle.js} +2 -2
- package/dist/{41.297f8392dafa2af5e874.bundle.js.map → 42.16be14526c7bf039754b.bundle.js.map} +1 -1
- package/dist/{42.9a13772d165bfabbf5ac.bundle.js → 43.f76be157f75bc7b3ea68.bundle.js} +2 -2
- package/dist/{42.9a13772d165bfabbf5ac.bundle.js.map → 43.f76be157f75bc7b3ea68.bundle.js.map} +1 -1
- package/dist/{43.c67da41a52ba9b0eb508.bundle.js → 44.ccd45256fba55ce28d80.bundle.js} +2 -2
- package/dist/{43.c67da41a52ba9b0eb508.bundle.js.map → 44.ccd45256fba55ce28d80.bundle.js.map} +1 -1
- package/dist/{44.6d8cff7a83daeb5ef962.bundle.js → 45.f1cb114b656ef4af2bc5.bundle.js} +2 -2
- package/dist/{44.6d8cff7a83daeb5ef962.bundle.js.map → 45.f1cb114b656ef4af2bc5.bundle.js.map} +1 -1
- package/dist/{45.aaec72bd569ec7e51094.bundle.js → 46.a9d1c07290ab98930744.bundle.js} +2 -2
- package/dist/{45.aaec72bd569ec7e51094.bundle.js.map → 46.a9d1c07290ab98930744.bundle.js.map} +1 -1
- package/dist/{46.923c5b8312749b3e3bb6.bundle.js → 47.e3d0e12eb54f0ea80c7b.bundle.js} +2 -2
- package/dist/{46.923c5b8312749b3e3bb6.bundle.js.map → 47.e3d0e12eb54f0ea80c7b.bundle.js.map} +1 -1
- package/dist/{47.244ee9d7807bc1103d77.bundle.js → 48.3c8d17c03f3fc081be89.bundle.js} +2 -2
- package/dist/{47.244ee9d7807bc1103d77.bundle.js.map → 48.3c8d17c03f3fc081be89.bundle.js.map} +1 -1
- package/dist/{48.8f1d7872a0efc5293c0e.bundle.js → 49.b4fe44e1a4aeeeb8a39e.bundle.js} +2 -2
- package/dist/{48.8f1d7872a0efc5293c0e.bundle.js.map → 49.b4fe44e1a4aeeeb8a39e.bundle.js.map} +1 -1
- package/dist/{49.1bb5a5fc03aab1cb710e.bundle.js → 50.6e68d9b649f03d5744b9.bundle.js} +2 -2
- package/dist/{49.1bb5a5fc03aab1cb710e.bundle.js.map → 50.6e68d9b649f03d5744b9.bundle.js.map} +1 -1
- package/dist/{50.f43de5b83f3fe0f1d4bd.bundle.js → 51.d023fa9b3d250baf210b.bundle.js} +2 -2
- package/dist/{50.f43de5b83f3fe0f1d4bd.bundle.js.map → 51.d023fa9b3d250baf210b.bundle.js.map} +1 -1
- package/dist/{51.8e4867cdb91b3a714b7c.bundle.js → 52.d84c24bdb469228ecf87.bundle.js} +2 -2
- package/dist/{51.8e4867cdb91b3a714b7c.bundle.js.map → 52.d84c24bdb469228ecf87.bundle.js.map} +1 -1
- package/dist/{52.87e251b63ec08a4fb27d.bundle.js → 53.8cf4f5609ed4e19b7426.bundle.js} +2 -2
- package/dist/{52.87e251b63ec08a4fb27d.bundle.js.map → 53.8cf4f5609ed4e19b7426.bundle.js.map} +1 -1
- package/dist/{53.40c4a95f13039c58e79b.bundle.js → 54.b7813e67817fea3ffff5.bundle.js} +2 -2
- package/dist/{53.40c4a95f13039c58e79b.bundle.js.map → 54.b7813e67817fea3ffff5.bundle.js.map} +1 -1
- package/dist/{54.20cfbf8ce92320d392c6.bundle.js → 55.10bb020070b8c5910e4c.bundle.js} +2 -2
- package/dist/{54.20cfbf8ce92320d392c6.bundle.js.map → 55.10bb020070b8c5910e4c.bundle.js.map} +1 -1
- package/dist/{55.81121264a9d4f0c993c0.bundle.js → 56.f7576b85862142bb7673.bundle.js} +2 -2
- package/dist/{55.81121264a9d4f0c993c0.bundle.js.map → 56.f7576b85862142bb7673.bundle.js.map} +1 -1
- package/dist/{56.3b6df77c3c43dc974a2a.bundle.js → 57.f432e4a7f6dbf5fa9e6e.bundle.js} +2 -2
- package/dist/{56.3b6df77c3c43dc974a2a.bundle.js.map → 57.f432e4a7f6dbf5fa9e6e.bundle.js.map} +1 -1
- package/dist/{57.da9c7da4dfcc8dc08eef.bundle.js → 58.4666a30220eb06c98de3.bundle.js} +2 -2
- package/dist/{57.da9c7da4dfcc8dc08eef.bundle.js.map → 58.4666a30220eb06c98de3.bundle.js.map} +1 -1
- package/dist/{58.78114ab4366f7a58909f.bundle.js → 59.feebf4602360cb8257bb.bundle.js} +2 -2
- package/dist/{58.78114ab4366f7a58909f.bundle.js.map → 59.feebf4602360cb8257bb.bundle.js.map} +1 -1
- package/dist/{59.52e5b2cfc641339e3c2f.bundle.js → 60.4c94265e0d3417d76f01.bundle.js} +2 -2
- package/dist/{59.52e5b2cfc641339e3c2f.bundle.js.map → 60.4c94265e0d3417d76f01.bundle.js.map} +1 -1
- package/dist/{60.25abbcbe64af8c67d9e0.bundle.js → 61.119fc16a46b4ac7fb477.bundle.js} +2 -2
- package/dist/{60.25abbcbe64af8c67d9e0.bundle.js.map → 61.119fc16a46b4ac7fb477.bundle.js.map} +1 -1
- package/dist/{61.d1c037716803baa45b56.bundle.js → 62.41c0ac4da8e49e4d4dd3.bundle.js} +2 -2
- package/dist/{61.d1c037716803baa45b56.bundle.js.map → 62.41c0ac4da8e49e4d4dd3.bundle.js.map} +1 -1
- package/dist/{62.48bd33d36bdf26cc7407.bundle.js → 63.8a51fd07dd8d92177b89.bundle.js} +2 -2
- package/dist/{62.48bd33d36bdf26cc7407.bundle.js.map → 63.8a51fd07dd8d92177b89.bundle.js.map} +1 -1
- package/dist/{63.3830d630aa0165983e01.bundle.js → 64.acc32081892f499d8ff3.bundle.js} +2 -2
- package/dist/{63.3830d630aa0165983e01.bundle.js.map → 64.acc32081892f499d8ff3.bundle.js.map} +1 -1
- package/dist/{64.04e416af3fb797ddf3f0.bundle.js → 65.75e5679260f79e06a315.bundle.js} +2 -2
- package/dist/{64.04e416af3fb797ddf3f0.bundle.js.map → 65.75e5679260f79e06a315.bundle.js.map} +1 -1
- package/dist/{65.cf91619343091aaf1c9e.bundle.js → 66.d0ee50381c28966b1105.bundle.js} +2 -2
- package/dist/{65.cf91619343091aaf1c9e.bundle.js.map → 66.d0ee50381c28966b1105.bundle.js.map} +1 -1
- package/dist/{66.c9f09ca9a81991f230ce.bundle.js → 67.58d8539fcac19288b820.bundle.js} +2 -2
- package/dist/{66.c9f09ca9a81991f230ce.bundle.js.map → 67.58d8539fcac19288b820.bundle.js.map} +1 -1
- package/dist/{67.ae87bcfb95e94702a27f.bundle.js → 68.9428f49abea727e95256.bundle.js} +2 -2
- package/dist/{67.ae87bcfb95e94702a27f.bundle.js.map → 68.9428f49abea727e95256.bundle.js.map} +1 -1
- package/dist/{68.fc9ca88b3a5537d2e39e.bundle.js → 69.c88dd57b21890c058b3d.bundle.js} +2 -2
- package/dist/{68.fc9ca88b3a5537d2e39e.bundle.js.map → 69.c88dd57b21890c058b3d.bundle.js.map} +1 -1
- package/dist/{69.464963ff8d617bb6d9f3.bundle.js → 70.ede527b8438e19a67ebc.bundle.js} +2 -2
- package/dist/{69.464963ff8d617bb6d9f3.bundle.js.map → 70.ede527b8438e19a67ebc.bundle.js.map} +1 -1
- package/dist/{70.13469cc5b9db5e443fd2.bundle.js → 71.2ddcb945966fd051a3a1.bundle.js} +2 -2
- package/dist/{70.13469cc5b9db5e443fd2.bundle.js.map → 71.2ddcb945966fd051a3a1.bundle.js.map} +1 -1
- package/dist/{71.ea9b774fdae25b0ce480.bundle.js → 72.d2f8a53e83efcb8ab953.bundle.js} +2 -2
- package/dist/{71.ea9b774fdae25b0ce480.bundle.js.map → 72.d2f8a53e83efcb8ab953.bundle.js.map} +1 -1
- package/dist/{72.c6ef4e0cc60344aafaee.bundle.js → 73.c29f06e5825684d56a9c.bundle.js} +2 -2
- package/dist/{72.c6ef4e0cc60344aafaee.bundle.js.map → 73.c29f06e5825684d56a9c.bundle.js.map} +1 -1
- package/dist/{73.408f48d9db7bdc35bee0.bundle.js → 74.b50a23c1751e0fc30aec.bundle.js} +2 -2
- package/dist/{73.408f48d9db7bdc35bee0.bundle.js.map → 74.b50a23c1751e0fc30aec.bundle.js.map} +1 -1
- package/dist/75.4f9197361b6427d97b6c.bundle.js +2 -0
- package/dist/75.4f9197361b6427d97b6c.bundle.js.map +1 -0
- package/dist/{75.576b5409a001d5eb28dc.bundle.js → 76.467d072ae323ab41fd3d.bundle.js} +2 -2
- package/dist/{75.576b5409a001d5eb28dc.bundle.js.map → 76.467d072ae323ab41fd3d.bundle.js.map} +1 -1
- package/dist/{76.9e51826f348a4f327a83.bundle.js → 77.41a60a354d0fb3103b00.bundle.js} +2 -2
- package/dist/{76.9e51826f348a4f327a83.bundle.js.map → 77.41a60a354d0fb3103b00.bundle.js.map} +1 -1
- package/dist/{77.9fe36e72f7ebd901d664.bundle.js → 78.7de8a0f70f6dc1debd05.bundle.js} +2 -2
- package/dist/{77.9fe36e72f7ebd901d664.bundle.js.map → 78.7de8a0f70f6dc1debd05.bundle.js.map} +1 -1
- package/dist/{78.4f9916789294f1edda70.bundle.js → 79.2f8b2ebcbd07d466c913.bundle.js} +2 -2
- package/dist/{78.4f9916789294f1edda70.bundle.js.map → 79.2f8b2ebcbd07d466c913.bundle.js.map} +1 -1
- package/dist/{8.f134424f4bc45dea8f3d.bundle.js → 8.b21d6a5c1a9412deb34f.bundle.js} +2 -2
- package/dist/{8.f134424f4bc45dea8f3d.bundle.js.map → 8.b21d6a5c1a9412deb34f.bundle.js.map} +1 -1
- package/dist/{79.0e030dfb3c7cda26ea35.bundle.js → 80.8e71a1aaf3beb2320bf0.bundle.js} +2 -2
- package/dist/{79.0e030dfb3c7cda26ea35.bundle.js.map → 80.8e71a1aaf3beb2320bf0.bundle.js.map} +1 -1
- package/dist/{80.68dc4e725f568b80238f.bundle.js → 81.2939c5d2b47cf48be6d5.bundle.js} +2 -2
- package/dist/{80.68dc4e725f568b80238f.bundle.js.map → 81.2939c5d2b47cf48be6d5.bundle.js.map} +1 -1
- package/dist/{81.a845c0986e8e91ce96d6.bundle.js → 82.69913e9f45a1dd96c6be.bundle.js} +2 -2
- package/dist/{81.a845c0986e8e91ce96d6.bundle.js.map → 82.69913e9f45a1dd96c6be.bundle.js.map} +1 -1
- package/dist/{83.6591fdab4c8434a8e35a.bundle.js → 83.73515cde0a2215275d32.bundle.js} +2 -2
- package/dist/{83.6591fdab4c8434a8e35a.bundle.js.map → 83.73515cde0a2215275d32.bundle.js.map} +1 -1
- package/dist/{86.d93b7597d94aae9028e9.bundle.js → 86.4b571d114bba8ed6a350.bundle.js} +2 -2
- package/dist/{86.d93b7597d94aae9028e9.bundle.js.map → 86.4b571d114bba8ed6a350.bundle.js.map} +1 -1
- package/dist/{87.c6a2833b9670bddd66a8.bundle.js → 87.69eaa604c4d381ec2340.bundle.js} +2 -2
- package/dist/{87.c6a2833b9670bddd66a8.bundle.js.map → 87.69eaa604c4d381ec2340.bundle.js.map} +1 -1
- package/dist/91.8e7850e1155a0f57ff60.bundle.js +2 -0
- package/dist/91.8e7850e1155a0f57ff60.bundle.js.map +1 -0
- package/dist/{93.44ed0eab05b8b601b8a3.bundle.js → 93.d4fb5fe720a8d95b2b37.bundle.js} +2 -2
- package/dist/{93.44ed0eab05b8b601b8a3.bundle.js.map → 93.d4fb5fe720a8d95b2b37.bundle.js.map} +1 -1
- package/dist/{96.759140cd5fd055fd4657.bundle.js → 96.a4044cdbb3c9f43d86d3.bundle.js} +2 -2
- package/dist/{96.759140cd5fd055fd4657.bundle.js.map → 96.a4044cdbb3c9f43d86d3.bundle.js.map} +1 -1
- package/dist/{97.ee7b3025753059ceac78.bundle.js → 97.9c2220bd069a1fa37786.bundle.js} +2 -2
- package/dist/{97.ee7b3025753059ceac78.bundle.js.map → 97.9c2220bd069a1fa37786.bundle.js.map} +1 -1
- package/dist/{bundle.f1bb50b1cdb763d31063.bundle.js → bundle.e011c1d35dc9c7092fba.bundle.js} +19 -19
- package/dist/bundle.e011c1d35dc9c7092fba.bundle.js.map +1 -0
- package/dist/css/bootstrap-graphdb-theme.css +1 -0
- package/dist/css/plugins.css +7 -18
- package/dist/i18n/locale-en.json +2 -2
- package/dist/i18n/locale-fr.json +2 -2
- package/dist/index.html +4 -4
- package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +1 -1
- package/dist/{main.2642e50d9d3a370ced71.css → main.764d23be9469cc31aa65.css} +1 -1
- 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 +4 -4
- 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 +11 -11
- package/dist/pages/graphs-visualizations.html +7 -7
- package/dist/pages/guides.html +1 -1
- package/dist/pages/import.html +1 -1
- package/dist/pages/jdbc-create.html +5 -5
- package/dist/pages/monitor/queries.html +1 -1
- package/dist/pages/monitor/resources.html +2 -2
- package/dist/pages/namespaces.html +2 -2
- package/dist/pages/plugins.html +5 -6
- package/dist/pages/rdfClassHierarchyInfo.html +7 -7
- package/dist/pages/rdfrank.html +2 -2
- package/dist/pages/repositories.html +2 -2
- package/dist/pages/repository.html +5 -5
- package/dist/pages/similarity-indexes.html +1 -1
- package/dist/pages/sparql-template-create.html +5 -5
- package/dist/pages/sparql.html +3 -3
- package/dist/pages/webapi.html +2 -2
- package/dist/plugins.js +5 -16
- package/dist/res/swagger/index.html +27 -27
- package/dist/{vendor.abaa38fc9fe8e5441ac8.bundle.js → vendor.31cf390ca240d8cd1ef3.bundle.js} +1 -1
- package/dist/{vendor.abaa38fc9fe8e5441ac8.bundle.js.map → vendor.31cf390ca240d8cd1ef3.bundle.js.map} +1 -1
- package/package.json +1 -1
- package/dist/11.af5499ccbb5c1b7d37d0.bundle.js.map +0 -1
- package/dist/2.1624e5bea1a914b95ebb.bundle.js.map +0 -1
- package/dist/23.9e3968b629f8405f0f54.bundle.js.map +0 -1
- package/dist/31.6baef0f1d3aa7de28abd.bundle.js +0 -2
- package/dist/31.6baef0f1d3aa7de28abd.bundle.js.map +0 -1
- package/dist/38.d472c0044efa1f2cf10e.bundle.js +0 -2
- package/dist/38.d472c0044efa1f2cf10e.bundle.js.map +0 -1
- package/dist/74.570a5b71b06fb157f9b0.bundle.js +0 -2
- package/dist/74.570a5b71b06fb157f9b0.bundle.js.map +0 -1
- package/dist/82.8449a19aa4546aec8494.bundle.js +0 -2
- package/dist/82.8449a19aa4546aec8494.bundle.js.map +0 -1
- package/dist/91.7d22597bd507ab05d240.bundle.js +0 -2
- package/dist/91.7d22597bd507ab05d240.bundle.js.map +0 -1
- package/dist/bundle.f1bb50b1cdb763d31063.bundle.js.map +0 -1
package/dist/{10.0de26dd0c213dafee946.bundle.js.map → 11.b2fd98471071348c3964.bundle.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///./src/js/angular/security/controllers.js"],"names":["createUniqueKey","repository","location","id","securityCtrl","angular","module","parseAuthorities","authorities","userType","USER","grantedAuthorities","repositories","i","length","role","ROLE_ADMIN","ADMIN","ROLE_REPO_MANAGER","REPO_MANAGER","ROLE_USER","indexOf","index","op","substr","repo","read","write","userTypeDescription","getUserRoleName","controller","$scope","$http","toastr","$jwtAuth","$openIDAuth","$location","$rootScope","$translate","username","password","reinitializeSecurity","loginWithOpenID","loginOpenID","search","noaccess","error","instant","expired","isGDBLoginEnabled","passwordLoginEnabled","isOpenIDEnabled","openIDEnabled","login","method","url","data","success","status","headers","authenticate","then","returnToUrl","path","wrongCredentials","msg","getError","$modal","$window","$timeout","ModalService","SecurityRestService","loader","securityEnabled","isSecurityEnabled","hasExternalAuth","getAuthImplementation","freeAccessEnabled","isFreeAccessEnabled","getUsers","users","pa","$on","toggleSecurity","timer","reload","cancel","toggleFreeAccess","updateFreeAccess","getFreeAccess","res","appSettings","open","templateUrl","resolve","defaultAuthorities","repoIds","_","mapKeys","getRepositories","r","each","a","hasOwnProperty","result","editFreeAccess","removeUser","openSimpleModal","title","message","name","warning","deleteUser","encodeURIComponent","$modalInstance","hasActiveLocation","isEmpty","globalLocation","globalRepositories","ok","auth","repositoryCheckError","WRITE_REPO","push","READ_REPO","close","dismiss","passwordPlaceholder","isAdmin","hasRole","hasEditRestrictions","user","isOverrideAuth","isDefaultAuthEnabled","setGrantedAuthorities","pushAuthority","arguments","authority","hasReadPermission","uniqueKey","hasWritePermission","repoOrWildCard","readCheckDisabled","writeCheckDisabled","validatePassword","noPassword","passwordError","confirmPasswordError","confirmpassword","isLocalAuthentication","updateUser","validateForm","updateUserHttp","setNoPassword","shouldDisableSameAs","sameAsCheckbox","$","DEFAULT_INFERENCE","prop","DEFAULT_SAMEAS","$controller","extend","this","mode","saveButtonText","goBack","history","back","pageTitle","submit","createUser","createUserHttp","pass","usernameError","$routeParams","params","userId","defaultUserSettings","getUserData","getUser","userData","external","undefined","getPrincipal","principal","debugMapping","mapping","split","getRolesMapping","getRoles","roleMappings","roles","keys","mappings","permissionsCount","map","filter","reverse","orderBy","p","LocalStorageAdapter","LSKeys","$q","currentUserData","copy","redirectAdmin","initUserData","showWorkbenchSettings","updateCurrentUserData","when","assign","redirectToLogin","scope","updateUserData","set","WORKBENCH_SETTINGS","workbenchSettings","setWorkbenchTheme","rootElement","document","querySelector","theme","classList","add","remove","get"],"mappings":"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","file":"10.0de26dd0c213dafee946.bundle.js","sourcesContent":["import 'angular/core/services';\nimport 'angular/core/services/jwt-auth.service';\nimport 'angular/core/services/openid-auth.service';\nimport 'angular/rest/security.rest.service';\nimport {UserUtils, UserRole, UserType} from 'angular/utils/user-utils';\n\nconst SYSTEM_REPO = 'SYSTEM';\nconst READ_REPO = 'READ_REPO';\nconst READ_REPO_PREFIX = 'READ_REPO_';\nconst WRITE_REPO = 'WRITE_REPO';\nconst WRITE_REPO_PREFIX = 'WRITE_REPO_';\n\nconst modules = [\n 'ngCookies',\n 'ui.bootstrap',\n 'graphdb.framework.core.services.jwtauth',\n 'graphdb.framework.core.services.openIDService',\n 'graphdb.framework.rest.security.service',\n 'graphdb.framework.utils.localstorageadapter',\n 'toastr'\n];\n\nconst createUniqueKey = function (repository) {\n if (repository.location) {\n return `${repository.id}@${repository.location}`;\n }\n return repository.id;\n};\n\nconst securityCtrl = angular.module('graphdb.framework.security.controllers', modules);\n\nconst setGrantedAuthorities = function ($scope) {\n function pushAuthority() {\n for (let i = 0; i < arguments.length; i++) {\n const authority = arguments[i];\n if (_.indexOf($scope.user.grantedAuthorities, authority) < 0) {\n $scope.user.grantedAuthorities.push(authority);\n }\n }\n }\n\n $scope.user.grantedAuthorities = [];\n\n $scope.repositoryCheckError = true;\n if ($scope.userType === UserType.ADMIN) {\n $scope.repositoryCheckError = false;\n pushAuthority(UserRole.ROLE_ADMIN);\n } else if ($scope.userType === UserType.REPO_MANAGER) {\n $scope.repositoryCheckError = false;\n pushAuthority(UserRole.ROLE_REPO_MANAGER);\n } else {\n pushAuthority(UserRole.ROLE_USER);\n for (const index in $scope.grantedAuthorities.WRITE_REPO) {\n if ($scope.grantedAuthorities.WRITE_REPO[index]) {\n $scope.repositoryCheckError = false;\n pushAuthority(WRITE_REPO_PREFIX + index, READ_REPO_PREFIX + index);\n }\n }\n for (const index in $scope.grantedAuthorities.READ_REPO) {\n if ($scope.grantedAuthorities.READ_REPO[index]) {\n $scope.repositoryCheckError = false;\n pushAuthority(READ_REPO_PREFIX + index);\n }\n }\n }\n};\n\nconst parseAuthorities = function (authorities) {\n let userType = UserType.USER;\n const grantedAuthorities = {\n [READ_REPO]: {},\n [WRITE_REPO]: {}\n };\n const repositories = {};\n for (let i = 0; i < authorities.length; i++) {\n const role = authorities[i];\n if (role === UserRole.ROLE_ADMIN) {\n userType = UserType.ADMIN;\n } else if (role === UserRole.ROLE_REPO_MANAGER) {\n if (userType !== UserType.ADMIN) {\n userType = UserType.REPO_MANAGER;\n }\n } else if (role === UserRole.ROLE_USER) {\n userType = UserType.USER;\n } else if (role.indexOf('ROLE_') !== 0) {\n const index = role.indexOf('_', role.indexOf('_') + 1);\n const op = role.substr(0, index);\n const repo = role.substr(index + 1);\n grantedAuthorities[op][repo] = true;\n repositories[repo] = repositories[repo] || {};\n if (op === READ_REPO) {\n repositories[repo].read = true;\n } else if (op === WRITE_REPO) {\n repositories[repo].write = true;\n }\n }\n }\n\n return {\n userType: userType,\n userTypeDescription: UserUtils.getUserRoleName(userType),\n grantedAuthorities: grantedAuthorities,\n repositories: repositories\n };\n};\n\nsecurityCtrl.controller('LoginCtrl', ['$scope', '$http', 'toastr', '$jwtAuth', '$openIDAuth', '$location', '$rootScope', '$translate',\n function ($scope, $http, toastr, $jwtAuth, $openIDAuth, $location, $rootScope, $translate) {\n $scope.username = '';\n $scope.password = '';\n\n // Reinitialize security settings, if failed for some reason\n $jwtAuth.reinitializeSecurity();\n\n $scope.loginWithOpenID = function() {\n $jwtAuth.loginOpenID();\n };\n\n if ($location.search().noaccess) {\n toastr.error($translate.instant('security.no.rights.config.error'), $translate.instant('security.login.error'));\n } else if ($location.search().expired) {\n toastr.error($translate.instant('security.auth.token.expired'), $translate.instant('security.login.error'));\n }\n\n $scope.isGDBLoginEnabled = function() {\n return $jwtAuth.passwordLoginEnabled;\n };\n\n $scope.isOpenIDEnabled = function() {\n return $jwtAuth.openIDEnabled;\n };\n\n $scope.login = function () {\n return $http({\n method: 'POST',\n url: 'rest/login',\n data: {\n 'username': $scope.username,\n 'password': $scope.password\n }\n }).success(function (data, status, headers) {\n $jwtAuth.authenticate(data, headers('Authorization'))\n .then(() => {\n if ($rootScope.returnToUrl) {\n // go back to remembered url\n $location.url($rootScope.returnToUrl);\n } else {\n // don't have a remembered url, go home\n $location.path('/');\n }\n });\n }).error(function (data, status) {\n if (status === 401) {\n toastr.error($translate.instant('security.wrong.credentials'), $translate.instant('common.error'));\n $scope.wrongCredentials = true;\n $scope.username = '';\n $scope.password = '';\n } else {\n const msg = getError(data);\n toastr.error(msg, status);\n }\n });\n };\n }]);\n\nsecurityCtrl.controller('UsersCtrl', ['$scope', '$modal', 'toastr', '$window', '$jwtAuth', '$timeout', 'ModalService', 'SecurityRestService', '$translate',\n function ($scope, $modal, toastr, $window, $jwtAuth, $timeout, ModalService, SecurityRestService, $translate) {\n\n $scope.loader = true;\n $scope.securityEnabled = function () {\n return $jwtAuth.isSecurityEnabled();\n };\n $scope.hasExternalAuth = function () {\n return $jwtAuth.hasExternalAuth();\n };\n $scope.getAuthImplementation = function () {\n return $jwtAuth.getAuthImplementation();\n };\n $scope.freeAccessEnabled = function () {\n return $jwtAuth.isFreeAccessEnabled();\n };\n $scope.getUsers = function () {\n SecurityRestService.getUsers()\n .success(function (data) {\n $scope.users = data;\n for (let i = 0; i < $scope.users.length; i++) {\n const pa = parseAuthorities($scope.users[i].grantedAuthorities);\n $scope.users[i].userType = pa.userType;\n $scope.users[i].userTypeDescription = pa.userTypeDescription;\n $scope.users[i].repositories = pa.repositories;\n }\n $scope.loader = false;\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n $scope.loader = false;\n });\n };\n $scope.getUsers();\n\n $scope.$on('repositoryIsSet', function () {\n $scope.getUsers();\n });\n\n $scope.toggleSecurity = function () {\n $jwtAuth.toggleSecurity(!$jwtAuth.isSecurityEnabled());\n if ($jwtAuth.isSecurityEnabled()) {\n const timer = $timeout(function () {\n $window.location.reload();\n }, 500);\n $scope.$on('$destroy', function () {\n $timeout.cancel(timer);\n });\n }\n };\n\n $scope.toggleFreeAccess = function (updateFreeAccess) {\n if (!$jwtAuth.isFreeAccessEnabled() || ($jwtAuth.isFreeAccessEnabled() && updateFreeAccess)) {\n SecurityRestService.getFreeAccess().then(function (res) {\n let authorities = res.data.authorities;\n let appSettings = res.data.appSettings || {\n 'DEFAULT_SAMEAS': true,\n 'DEFAULT_INFERENCE': true,\n 'EXECUTE_COUNT': true,\n 'IGNORE_SHARED_QUERIES': false,\n 'DEFAULT_VIS_GRAPH_SCHEMA': true\n };\n const modalInstance = $modal.open({\n templateUrl: 'js/angular/security/templates/modal/default-authorities.html',\n controller: 'DefaultAuthoritiesCtrl',\n resolve: {\n data: function () {\n return {\n // converts the array rights to hash ones. why, oh, why do we have both formats?\n defaultAuthorities: function () {\n const defaultAuthorities = {\n [READ_REPO]: {},\n [WRITE_REPO]: {}\n };\n // We might have old (no longer existing) repositories so we have to check that\n const repoIds = _.mapKeys($scope.getRepositories(), function (r) {\n return createUniqueKey(r);\n });\n _.each(authorities, function (a) {\n // indexOf works in IE 11, startsWith doesn't\n if (a.indexOf(WRITE_REPO_PREFIX) === 0) {\n if (repoIds.hasOwnProperty(a.substr(11))) {\n defaultAuthorities[WRITE_REPO][a.substr(11)] = true;\n }\n } else if (a.indexOf(READ_REPO_PREFIX) === 0) {\n if (repoIds.hasOwnProperty(a.substr(10))) {\n defaultAuthorities[READ_REPO][a.substr(10)] = true;\n }\n }\n });\n return defaultAuthorities;\n },\n appSettings: appSettings\n };\n }\n }\n });\n modalInstance.result.then(function (data) {\n authorities = data.authorities;\n appSettings = data.appSettings;\n $jwtAuth.toggleFreeAccess(updateFreeAccess || !$jwtAuth.isFreeAccessEnabled(), authorities, appSettings, updateFreeAccess);\n });\n });\n } else {\n $jwtAuth.toggleFreeAccess(!$jwtAuth.isFreeAccessEnabled(), []);\n }\n };\n\n $scope.editFreeAccess = function () {\n $scope.toggleFreeAccess(true);\n };\n\n $scope.removeUser = function (username) {\n ModalService.openSimpleModal({\n title: $translate.instant('common.confirm.delete'),\n message: $translate.instant('security.confirm.delete.user', {name: username}),\n warning: true\n }).result.then(function () {\n $scope.loader = true;\n SecurityRestService.deleteUser(username).success(function () {\n $scope.getUsers();\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n\n $scope.loader = false;\n });\n\n });\n };\n\n // Should be able to send the original username to $routeParams\n $scope.encodeURIComponent = function (name) {\n return encodeURIComponent(name);\n };\n }]);\n\nsecurityCtrl.controller('DefaultAuthoritiesCtrl', ['$scope', '$http', '$modalInstance', 'data', '$rootScope',\n function ($scope, $http, $modalInstance, data, $rootScope) {\n $scope.grantedAuthorities = data.defaultAuthorities();\n $scope.appSettings = data.appSettings;\n\n $scope.hasActiveLocation = function () {\n // Hack to get this from root scope to avoid cyclic dependency\n return !_.isEmpty($rootScope.globalLocation);\n };\n\n $scope.getRepositories = function () {\n // Hack to get this from root scope to avoid cyclic dependency\n return $rootScope.globalRepositories;\n };\n\n $scope.ok = function () {\n const auth = [];\n $scope.repositoryCheckError = true;\n for (const index in $scope.grantedAuthorities.WRITE_REPO) {\n if ($scope.grantedAuthorities.WRITE_REPO[index]) {\n auth.push(WRITE_REPO_PREFIX + index);\n auth.push(READ_REPO_PREFIX + index);\n $scope.repositoryCheckError = false;\n }\n }\n for (const index in $scope.grantedAuthorities.READ_REPO) {\n if ($scope.grantedAuthorities.READ_REPO[index] && auth.indexOf(READ_REPO_PREFIX + index) === -1) {\n auth.push(READ_REPO_PREFIX + index);\n $scope.repositoryCheckError = false;\n }\n }\n if (!$scope.repositoryCheckError) {\n $modalInstance.close({authorities: auth, appSettings: $scope.appSettings});\n }\n };\n\n $scope.cancel = function () {\n $modalInstance.dismiss('cancel');\n };\n\n $scope.createUniqueKey = function (repository) {\n return createUniqueKey(repository);\n };\n }]);\n\nsecurityCtrl.controller('CommonUserCtrl', ['$rootScope', '$scope', '$http', 'toastr', '$window', '$timeout', '$location', '$jwtAuth', '$translate', 'passwordPlaceholder',\n function ($rootScope, $scope, $http, toastr, $window, $timeout, $location, $jwtAuth, $translate, passwordPlaceholder) {\n $rootScope.$on('$translateChangeSuccess', function () {\n $scope.passwordPlaceholder = $translate.instant(passwordPlaceholder);\n });\n $scope.isAdmin = function () {\n return $jwtAuth.hasRole(UserRole.ROLE_ADMIN);\n };\n $scope.hasExternalAuth = function () {\n return $jwtAuth.hasExternalAuth();\n };\n\n $scope.hasEditRestrictions = function () {\n return $scope.user && $scope.user.username === UserType.ADMIN;\n };\n\n $scope.isOverrideAuth = function () {\n return $jwtAuth.isDefaultAuthEnabled();\n };\n\n $scope.setGrantedAuthorities = function () {\n setGrantedAuthorities($scope);\n };\n\n $scope.hasReadPermission = function (repository) {\n const uniqueKey = createUniqueKey(repository);\n return $scope.userType === UserType.ADMIN || $scope.userType === UserType.REPO_MANAGER\n || repository.id !== SYSTEM_REPO\n && ($scope.grantedAuthorities.READ_REPO['*'] || $scope.grantedAuthorities.WRITE_REPO['*'])\n || $scope.grantedAuthorities.READ_REPO[uniqueKey]\n || $scope.grantedAuthorities.WRITE_REPO[uniqueKey];\n };\n\n $scope.hasWritePermission = function (repoOrWildCard) {\n const uniqueKey = createUniqueKey(repoOrWildCard);\n return $scope.userType === UserType.ADMIN || $scope.userType === UserType.REPO_MANAGER\n || repoOrWildCard.id !== SYSTEM_REPO && $scope.grantedAuthorities.WRITE_REPO['*']\n || $scope.grantedAuthorities.WRITE_REPO[uniqueKey];\n };\n\n $scope.readCheckDisabled = function (repoOrWildCard) {\n return $scope.hasWritePermission(repoOrWildCard)\n || repoOrWildCard.id !== SYSTEM_REPO && repoOrWildCard !== '*' && $scope.grantedAuthorities.READ_REPO['*']\n || $scope.hasEditRestrictions();\n };\n\n $scope.writeCheckDisabled = function (repoOrWildCard) {\n return $scope.userType === UserType.ADMIN || $scope.userType === UserType.REPO_MANAGER\n || repoOrWildCard.id !== SYSTEM_REPO && repoOrWildCard !== '*' && $scope.grantedAuthorities.WRITE_REPO['*']\n || $scope.hasEditRestrictions();\n };\n\n $scope.createUniqueKey = function (repository) {\n return createUniqueKey(repository);\n };\n\n $scope.userType = UserType.USER;\n $scope.grantedAuthorities = {\n [READ_REPO]: {},\n [WRITE_REPO]: {}\n };\n\n $scope.validatePassword = function() {\n if ($scope.noPassword) {\n $scope.passwordError = '';\n $scope.confirmPasswordError = '';\n return true;\n }\n if ($scope.user.password !== $scope.user.confirmpassword) {\n if (!$scope.user.password) {\n $scope.passwordError = $translate.instant('security.enter.password');\n $scope.confirmPasswordError = '';\n } else {\n $scope.passwordError = '';\n $scope.confirmPasswordError = $translate.instant('security.confirm.password');\n }\n return false;\n } else {\n $scope.passwordError = '';\n $scope.confirmPasswordError = '';\n }\n return true;\n };\n\n $scope.isLocalAuthentication = function() {\n return $jwtAuth.getAuthImplementation() === 'Local';\n };\n\n $scope.updateUser = function () {\n if (!$scope.validateForm()) {\n return false;\n }\n\n if ($scope.isLocalAuthentication()) {\n $scope.setGrantedAuthorities();\n }\n\n if (!$scope.repositoryCheckError) {\n $scope.updateUserHttp();\n }\n };\n\n $scope.setNoPassword = function() {\n if ($scope.noPassword) {\n $scope.user.password = '';\n $scope.user.confirmpassword = '';\n $scope.passwordError = '';\n $scope.confirmPasswordError = '';\n }\n };\n\n $scope.shouldDisableSameAs = function () {\n const sameAsCheckbox = $('#sameAsCheck');\n if ($scope.user && !$scope.user.appSettings.DEFAULT_INFERENCE && sameAsCheckbox.prop('checked')) {\n sameAsCheckbox.prop(\"checked\", false);\n $scope.user.appSettings.DEFAULT_SAMEAS = false;\n }\n\n return $scope.user && !$scope.user.appSettings.DEFAULT_INFERENCE;\n };\n }]);\n\nsecurityCtrl.controller('AddUserCtrl', ['$scope', '$http', 'toastr', '$window', '$timeout', '$location', '$jwtAuth', '$controller', 'SecurityRestService', 'ModalService', '$translate',\n function ($scope, $http, toastr, $window, $timeout, $location, $jwtAuth, $controller, SecurityRestService, ModalService, $translate) {\n\n angular.extend(this, $controller('CommonUserCtrl', {$scope: $scope, passwordPlaceholder: 'security.password.placeholder'}));\n\n $scope.mode = 'add';\n $scope.saveButtonText = $translate.instant('common.create.btn');\n $scope.goBack = function () {\n const timer = $timeout(function () {\n $window.history.back();\n }, 100);\n $scope.$on('$destroy', function () {\n $timeout.cancel(timer);\n });\n };\n $scope.pageTitle = $translate.instant('view.create.user.title');\n $scope.passwordPlaceholder = $translate.instant('security.password.placeholder');\n\n $scope.user = {\n 'username': '',\n 'password': '',\n 'confirmpassword': '',\n 'grantedAuthorities': [],\n 'appSettings': {\n 'DEFAULT_SAMEAS': true,\n 'DEFAULT_INFERENCE': true,\n 'EXECUTE_COUNT': true,\n 'IGNORE_SHARED_QUERIES': false,\n 'DEFAULT_VIS_GRAPH_SCHEMA': true\n }\n };\n\n $scope.submit = function () {\n if ($scope.noPassword && $scope.userType === UserType.ADMIN) {\n ModalService.openSimpleModal({\n title: $translate.instant('security.create.admin'),\n message: $translate.instant('security.admin.login.warning'),\n warning: true\n }).result.then(function () {\n $scope.createUser();\n });\n } else {\n $scope.createUser();\n }\n };\n\n $scope.createUserHttp = function () {\n $scope.loader = true;\n SecurityRestService.createUser({\n username: $scope.user.username,\n pass: $scope.user.password,\n appSettings: $scope.user.appSettings,\n grantedAuthorities: $scope.user.grantedAuthorities\n }).success(function () {\n toastr.success($translate.instant('security.user.created', {name: $scope.user.username}));\n const timer = $timeout(function () {\n $scope.loader = false;\n $window.history.back();\n }, 2000);\n $scope.$on('$destroy', function () {\n $timeout.cancel(timer);\n });\n }).error(function (data) {\n const msg = getError(data);\n $scope.loader = false;\n toastr.error(msg, $translate.instant('common.error'));\n });\n };\n\n $scope.createUser = function () {\n if ($scope.validateForm()) {\n $scope.setGrantedAuthorities();\n\n if (!$scope.repositoryCheckError) {\n $scope.createUserHttp();\n }\n }\n };\n\n $scope.validateForm = function () {\n let result = true;\n if (!$scope.user.username) {\n $scope.usernameError = $translate.instant('security.enter.username');\n result = false;\n } else {\n $scope.usernameError = '';\n }\n if ($scope.noPassword) {\n $scope.passwordError = '';\n $scope.confirmPasswordError = '';\n } else {\n if (!$scope.user.password) {\n $scope.passwordError = $translate.instant('security.enter.password');\n result = false;\n } else {\n $scope.passwordError = '';\n }\n if (!$scope.user.confirmpassword || $scope.user.password !== $scope.user.confirmpassword) {\n $scope.confirmPasswordError = $translate.instant('security.confirm.password');\n result = false;\n } else {\n $scope.confirmPasswordError = '';\n }\n }\n\n return result;\n };\n }]);\n\nsecurityCtrl.controller('EditUserCtrl', ['$scope', '$http', 'toastr', '$window', '$routeParams', '$timeout', '$location', '$jwtAuth', '$controller', 'SecurityRestService', 'ModalService', '$translate',\n function ($scope, $http, toastr, $window, $routeParams, $timeout, $location, $jwtAuth, $controller, SecurityRestService, ModalService, $translate) {\n\n angular.extend(this, $controller('CommonUserCtrl', {$scope: $scope, passwordPlaceholder: 'security.new.password'}));\n\n $scope.mode = 'edit';\n $scope.saveButtonText = $translate.instant('common.save.btn');\n $scope.goBack = function () {\n const timer = $timeout(function () {\n $window.history.back();\n }, 100);\n $scope.$on('$destroy', function () {\n $timeout.cancel(timer);\n });\n };\n $scope.params = $routeParams;\n $scope.pageTitle = $translate.instant('view.edit.user.title', {userId: $scope.params.userId});\n $scope.passwordPlaceholder = $translate.instant('security.new.password');\n $scope.userType = UserType.USER;\n const defaultUserSettings = {\n 'DEFAULT_SAMEAS': true,\n 'DEFAULT_INFERENCE': true,\n 'EXECUTE_COUNT': true,\n 'IGNORE_SHARED_QUERIES': false,\n 'DEFAULT_VIS_GRAPH_SCHEMA': true\n };\n\n if (!$jwtAuth.hasRole(UserRole.ROLE_ADMIN)) {\n $location.url('settings');\n }\n $scope.getUserData = function () {\n SecurityRestService.getUser($scope.params.userId).success(function (data) {\n $scope.userData = data;\n $scope.user = {username: $scope.userData.username};\n $scope.user.password = '';\n $scope.user.confirmpassword = '';\n $scope.user.external = $scope.userData.external;\n $scope.user.appSettings = data.appSettings || defaultUserSettings;\n $scope.userType = UserType.USER;\n const pa = parseAuthorities(data.grantedAuthorities);\n $scope.userType = pa.userType;\n $scope.grantedAuthorities = pa.grantedAuthorities;\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n });\n };\n\n $scope.getUserData();\n\n $scope.submit = function () {\n if ($scope.noPassword && $scope.userType === UserType.ADMIN) {\n ModalService.openSimpleModal({\n title: $translate.instant('security.save.admin.settings'),\n message: $translate.instant('security.admin.pass.unset'),\n warning: true\n }).result.then(function () {\n $scope.updateUser();\n });\n } else {\n $scope.updateUser();\n }\n };\n\n $scope.updateUserHttp = function () {\n $scope.loader = true;\n SecurityRestService.updateUser({\n username: $scope.user.username,\n pass: ($scope.noPassword) ? '' : $scope.user.password || undefined,\n appSettings: $scope.user.appSettings,\n grantedAuthorities: $scope.user.grantedAuthorities\n }).success(function () {\n toastr.success($translate.instant('security.user.updated', {name: $scope.user.username}));\n const timer = $timeout(function () {\n $scope.loader = false;\n $window.history.back();\n }, 2000);\n $scope.$on('$destroy', function () {\n $timeout.cancel(timer);\n });\n // if we update the settings of the currently logged user, update the principal\n $jwtAuth.getPrincipal().then((principal) => {\n if ($scope.user.username === principal.username) {\n principal.appSettings = $scope.user.appSettings;\n }\n });\n }).error(function (data) {\n const msg = getError(data);\n $scope.loader = false;\n toastr.error(msg, $translate.instant('common.error'));\n });\n };\n\n $scope.validateForm = function () {\n return $scope.validatePassword();\n };\n }]);\n\nsecurityCtrl.controller('RolesMappingController', ['$scope', 'toastr', 'SecurityRestService', '$translate',\n function ($scope, toastr, SecurityRestService, $translate) {\n\n $scope.debugMapping = function (role, mapping) {\n const method = mapping.split(':');\n SecurityRestService.getRolesMapping({\n role: role,\n method: method[1],\n mapping: method[0]\n });\n };\n\n const loadRoles = function () {\n SecurityRestService.getRoles()\n .success(function (data) {\n $scope.roleMappings = data;\n $scope.roles = _.keys($scope.roleMappings);\n $scope.mappings = _.keys($scope.roleMappings[$scope.roles[0]]);\n const permissionsCount = _.map($scope.roles, function (role) {\n return [role, _.filter($scope.roleMappings[role]).length];\n });\n $scope.roles = _.reverse(_.map(_.orderBy(permissionsCount, function (p) {\n return p[1];\n }), function (p) {\n return p[0];\n }));\n })\n .error(function (data) {\n const msg = getError(data);\n $scope.loader = false;\n toastr.error(msg, $translate.instant('common.error'));\n });\n };\n\n $scope.$on('repositoryIsSet', function () {\n loadRoles();\n });\n}]);\n\nsecurityCtrl.controller('ChangeUserPasswordSettingsCtrl', ['$scope', 'toastr', '$window', '$timeout', '$jwtAuth', '$rootScope', '$controller', 'SecurityRestService', 'ModalService', '$translate', 'LocalStorageAdapter', 'LSKeys', '$q',\n function ($scope, toastr, $window, $timeout, $jwtAuth, $rootScope, $controller, SecurityRestService, ModalService, $translate, LocalStorageAdapter, LSKeys, $q) {\n\n angular.extend(this, $controller('CommonUserCtrl', {$scope: $scope, passwordPlaceholder: 'security.new.password'}));\n\n $scope.mode = 'settings';\n $scope.hasEditRestrictions = function () {\n return true;\n };\n $scope.saveButtonText = $translate.instant('common.save.btn');\n $scope.goBack = function () {\n const timer = $timeout(function () {\n $window.history.back();\n }, 100);\n $scope.$on('$destroy', function () {\n $timeout.cancel(timer);\n });\n };\n // Wrapped in a scope function for ease of testing\n $scope.getPrincipal = function () {\n return $jwtAuth.getPrincipal()\n .then((principal) => {\n $scope.currentUserData = angular.copy(principal);\n });\n };\n\n $scope.getPrincipal().then(() => {\n $scope.redirectAdmin();\n initUserData($scope);\n });\n\n $scope.showWorkbenchSettings = true;\n\n $scope.updateCurrentUserData = function () {\n // Using $q.when to proper set values in view\n $q.when($jwtAuth.getPrincipal())\n .then((principal) => _.assign(principal, $scope.userData));\n };\n\n //call it as a function so I can make test on it\n $scope.redirectAdmin = function () {\n if (!$scope.currentUserData) {\n $rootScope.redirectToLogin();\n }\n };\n\n $scope.pageTitle = $translate.instant('view.settings.title');\n $scope.passwordPlaceholder = $translate.instant('security.new.password');\n $scope.grantedAuthorities = {\n [READ_REPO]: {},\n [WRITE_REPO]: {}\n };\n\n const initUserData = function (scope) {\n // Copy needed so that Cancel would work correctly, need to call updateCurrentUserData on OK\n scope.userData = angular.copy(scope.currentUserData);\n scope.user = {username: scope.userData.username};\n scope.user.password = '';\n scope.user.confirmpassword = '';\n scope.user.external = scope.userData.external;\n scope.user.appSettings = scope.userData.appSettings;\n // For backward compatibility\n if (scope.user.appSettings['DEFAULT_VIS_GRAPH_SCHEMA'] === undefined) {\n scope.user.appSettings['DEFAULT_VIS_GRAPH_SCHEMA'] = true;\n }\n\n const pa = parseAuthorities(scope.userData.authorities);\n $scope.userType = pa.userType;\n $scope.grantedAuthorities = pa.grantedAuthorities;\n };\n\n $scope.loader = false;\n\n $scope.submit = function () {\n if ($scope.noPassword && $scope.userType === UserType.ADMIN) {\n ModalService.openSimpleModal({\n title: $translate.instant('security.save.admin.settings'),\n message: $translate.instant('security.admin.pass.unset'),\n warning: true\n }).result.then(function () {\n $scope.updateUser();\n });\n } else {\n $scope.updateUser();\n }\n };\n\n $scope.updateUserHttp = function () {\n $scope.loader = true;\n SecurityRestService.updateUserData({\n username: $scope.user.username,\n pass: ($scope.noPassword) ? '' : $scope.user.password || undefined,\n appSettings: $scope.user.appSettings\n }).success(function () {\n $scope.updateCurrentUserData();\n toastr.success($translate.instant('security.user.updated', {name: $scope.user.username}));\n const timer = $timeout(function () {\n $scope.loader = false;\n $window.history.back();\n }, 2000);\n LocalStorageAdapter.set(LSKeys.WORKBENCH_SETTINGS, $scope.workbenchSettings);\n $scope.$on('$destroy', function () {\n $timeout.cancel(timer);\n });\n }).error(function (data) {\n const msg = getError(data);\n $scope.loader = false;\n toastr.error(msg, $translate.instant('common.error'));\n });\n };\n\n $scope.updateUser = function () {\n if (!$scope.validateForm()) {\n return false;\n }\n\n $scope.updateUserHttp();\n };\n\n $scope.validateForm = function () {\n return $scope.validatePassword();\n };\n\n $scope.setWorkbenchTheme = function () {\n const rootElement = document.querySelector(':root');\n if ($scope.workbenchSettings.theme === 'dark') {\n rootElement.classList.add(\"dark\");\n } else {\n rootElement.classList.remove(\"dark\");\n }\n };\n\n $scope.workbenchSettings = LocalStorageAdapter.get(LSKeys.WORKBENCH_SETTINGS);\n if (!$scope.workbenchSettings) {\n $scope.workbenchSettings = {\n theme: 'light'\n };\n }\n $scope.setWorkbenchTheme();\n\n $scope.$on(\"$destroy\", function () {\n const workbenchSettings = LocalStorageAdapter.get(LSKeys.WORKBENCH_SETTINGS);\n const rootElement = document.querySelector(':root');\n if (workbenchSettings && workbenchSettings.theme === 'dark') {\n rootElement.classList.add(\"dark\");\n } else {\n rootElement.classList.remove(\"dark\");\n }\n });\n }]);\n\nsecurityCtrl.controller('DeleteUserCtrl', ['$scope', '$modalInstance', 'username', function ($scope, $modalInstance, username) {\n $scope.username = username;\n\n $scope.ok = function () {\n $modalInstance.close();\n };\n\n $scope.cancel = function () {\n $modalInstance.dismiss('cancel');\n };\n}]);\n"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack:///./src/js/angular/security/controllers.js"],"names":["createUniqueKey","repository","location","id","securityCtrl","angular","module","parseAuthorities","authorities","userType","USER","grantedAuthorities","repositories","i","length","role","ROLE_ADMIN","ADMIN","ROLE_REPO_MANAGER","REPO_MANAGER","ROLE_USER","indexOf","index","op","substr","repo","read","write","userTypeDescription","getUserRoleName","controller","$scope","$http","toastr","$jwtAuth","$openIDAuth","$location","$rootScope","$translate","username","password","reinitializeSecurity","loginWithOpenID","loginOpenID","search","noaccess","error","instant","expired","isGDBLoginEnabled","passwordLoginEnabled","isOpenIDEnabled","openIDEnabled","login","method","url","data","success","status","headers","authenticate","then","returnToUrl","path","wrongCredentials","msg","getError","$modal","$window","$timeout","ModalService","SecurityRestService","loader","securityEnabled","isSecurityEnabled","hasExternalAuth","getAuthImplementation","freeAccessEnabled","isFreeAccessEnabled","getUsers","users","pa","$on","toggleSecurity","timer","reload","cancel","toggleFreeAccess","updateFreeAccess","getFreeAccess","res","appSettings","open","templateUrl","resolve","defaultAuthorities","repoIds","_","mapKeys","getRepositories","r","each","a","hasOwnProperty","result","editFreeAccess","removeUser","openSimpleModal","title","message","name","warning","deleteUser","encodeURIComponent","$modalInstance","hasActiveLocation","isEmpty","globalLocation","globalRepositories","ok","auth","repositoryCheckError","WRITE_REPO","push","READ_REPO","close","dismiss","passwordPlaceholder","isAdmin","hasRole","hasEditRestrictions","user","isOverrideAuth","isDefaultAuthEnabled","setGrantedAuthorities","pushAuthority","arguments","authority","hasReadPermission","uniqueKey","hasWritePermission","repoOrWildCard","readCheckDisabled","writeCheckDisabled","validatePassword","noPassword","passwordError","confirmPasswordError","confirmpassword","isLocalAuthentication","updateUser","validateForm","updateUserHttp","setNoPassword","shouldDisableSameAs","sameAsCheckbox","$","DEFAULT_INFERENCE","prop","DEFAULT_SAMEAS","$controller","extend","this","mode","saveButtonText","goBack","history","back","pageTitle","submit","createUser","createUserHttp","pass","usernameError","$routeParams","params","userId","defaultUserSettings","getUserData","getUser","userData","external","undefined","getPrincipal","principal","debugMapping","mapping","split","getRolesMapping","getRoles","roleMappings","roles","keys","mappings","permissionsCount","map","filter","reverse","orderBy","p","LocalStorageAdapter","LSKeys","$q","currentUserData","copy","redirectAdmin","initUserData","showWorkbenchSettings","updateCurrentUserData","when","assign","redirectToLogin","scope","updateUserData","set","WORKBENCH_SETTINGS","workbenchSettings","setWorkbenchTheme","rootElement","document","querySelector","theme","classList","add","remove","get"],"mappings":"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","file":"11.b2fd98471071348c3964.bundle.js","sourcesContent":["import 'angular/core/services';\nimport 'angular/core/services/jwt-auth.service';\nimport 'angular/core/services/openid-auth.service';\nimport 'angular/rest/security.rest.service';\nimport {UserUtils, UserRole, UserType} from 'angular/utils/user-utils';\n\nconst SYSTEM_REPO = 'SYSTEM';\nconst READ_REPO = 'READ_REPO';\nconst READ_REPO_PREFIX = 'READ_REPO_';\nconst WRITE_REPO = 'WRITE_REPO';\nconst WRITE_REPO_PREFIX = 'WRITE_REPO_';\n\nconst modules = [\n 'ngCookies',\n 'ui.bootstrap',\n 'graphdb.framework.core.services.jwtauth',\n 'graphdb.framework.core.services.openIDService',\n 'graphdb.framework.rest.security.service',\n 'graphdb.framework.utils.localstorageadapter',\n 'toastr'\n];\n\nconst createUniqueKey = function (repository) {\n if (repository.location) {\n return `${repository.id}@${repository.location}`;\n }\n return repository.id;\n};\n\nconst securityCtrl = angular.module('graphdb.framework.security.controllers', modules);\n\nconst setGrantedAuthorities = function ($scope) {\n function pushAuthority() {\n for (let i = 0; i < arguments.length; i++) {\n const authority = arguments[i];\n if (_.indexOf($scope.user.grantedAuthorities, authority) < 0) {\n $scope.user.grantedAuthorities.push(authority);\n }\n }\n }\n\n $scope.user.grantedAuthorities = [];\n\n $scope.repositoryCheckError = true;\n if ($scope.userType === UserType.ADMIN) {\n $scope.repositoryCheckError = false;\n pushAuthority(UserRole.ROLE_ADMIN);\n } else if ($scope.userType === UserType.REPO_MANAGER) {\n $scope.repositoryCheckError = false;\n pushAuthority(UserRole.ROLE_REPO_MANAGER);\n } else {\n pushAuthority(UserRole.ROLE_USER);\n for (const index in $scope.grantedAuthorities.WRITE_REPO) {\n if ($scope.grantedAuthorities.WRITE_REPO[index]) {\n $scope.repositoryCheckError = false;\n pushAuthority(WRITE_REPO_PREFIX + index, READ_REPO_PREFIX + index);\n }\n }\n for (const index in $scope.grantedAuthorities.READ_REPO) {\n if ($scope.grantedAuthorities.READ_REPO[index]) {\n $scope.repositoryCheckError = false;\n pushAuthority(READ_REPO_PREFIX + index);\n }\n }\n }\n};\n\nconst parseAuthorities = function (authorities) {\n let userType = UserType.USER;\n const grantedAuthorities = {\n [READ_REPO]: {},\n [WRITE_REPO]: {}\n };\n const repositories = {};\n for (let i = 0; i < authorities.length; i++) {\n const role = authorities[i];\n if (role === UserRole.ROLE_ADMIN) {\n userType = UserType.ADMIN;\n } else if (role === UserRole.ROLE_REPO_MANAGER) {\n if (userType !== UserType.ADMIN) {\n userType = UserType.REPO_MANAGER;\n }\n } else if (role === UserRole.ROLE_USER) {\n userType = UserType.USER;\n } else if (role.indexOf('ROLE_') !== 0) {\n const index = role.indexOf('_', role.indexOf('_') + 1);\n const op = role.substr(0, index);\n const repo = role.substr(index + 1);\n grantedAuthorities[op][repo] = true;\n repositories[repo] = repositories[repo] || {};\n if (op === READ_REPO) {\n repositories[repo].read = true;\n } else if (op === WRITE_REPO) {\n repositories[repo].write = true;\n }\n }\n }\n\n return {\n userType: userType,\n userTypeDescription: UserUtils.getUserRoleName(userType),\n grantedAuthorities: grantedAuthorities,\n repositories: repositories\n };\n};\n\nsecurityCtrl.controller('LoginCtrl', ['$scope', '$http', 'toastr', '$jwtAuth', '$openIDAuth', '$location', '$rootScope', '$translate',\n function ($scope, $http, toastr, $jwtAuth, $openIDAuth, $location, $rootScope, $translate) {\n $scope.username = '';\n $scope.password = '';\n\n // Reinitialize security settings, if failed for some reason\n $jwtAuth.reinitializeSecurity();\n\n $scope.loginWithOpenID = function() {\n $jwtAuth.loginOpenID();\n };\n\n if ($location.search().noaccess) {\n toastr.error($translate.instant('security.no.rights.config.error'), $translate.instant('security.login.error'));\n } else if ($location.search().expired) {\n toastr.error($translate.instant('security.auth.token.expired'), $translate.instant('security.login.error'));\n }\n\n $scope.isGDBLoginEnabled = function() {\n return $jwtAuth.passwordLoginEnabled;\n };\n\n $scope.isOpenIDEnabled = function() {\n return $jwtAuth.openIDEnabled;\n };\n\n $scope.login = function () {\n return $http({\n method: 'POST',\n url: 'rest/login',\n data: {\n 'username': $scope.username,\n 'password': $scope.password\n }\n }).success(function (data, status, headers) {\n $jwtAuth.authenticate(data, headers('Authorization'))\n .then(() => {\n if ($rootScope.returnToUrl) {\n // go back to remembered url\n $location.url($rootScope.returnToUrl);\n } else {\n // don't have a remembered url, go home\n $location.path('/');\n }\n });\n }).error(function (data, status) {\n if (status === 401) {\n toastr.error($translate.instant('security.wrong.credentials'), $translate.instant('common.error'));\n $scope.wrongCredentials = true;\n $scope.username = '';\n $scope.password = '';\n } else {\n const msg = getError(data);\n toastr.error(msg, status);\n }\n });\n };\n }]);\n\nsecurityCtrl.controller('UsersCtrl', ['$scope', '$modal', 'toastr', '$window', '$jwtAuth', '$timeout', 'ModalService', 'SecurityRestService', '$translate',\n function ($scope, $modal, toastr, $window, $jwtAuth, $timeout, ModalService, SecurityRestService, $translate) {\n\n $scope.loader = true;\n $scope.securityEnabled = function () {\n return $jwtAuth.isSecurityEnabled();\n };\n $scope.hasExternalAuth = function () {\n return $jwtAuth.hasExternalAuth();\n };\n $scope.getAuthImplementation = function () {\n return $jwtAuth.getAuthImplementation();\n };\n $scope.freeAccessEnabled = function () {\n return $jwtAuth.isFreeAccessEnabled();\n };\n $scope.getUsers = function () {\n SecurityRestService.getUsers()\n .success(function (data) {\n $scope.users = data;\n for (let i = 0; i < $scope.users.length; i++) {\n const pa = parseAuthorities($scope.users[i].grantedAuthorities);\n $scope.users[i].userType = pa.userType;\n $scope.users[i].userTypeDescription = pa.userTypeDescription;\n $scope.users[i].repositories = pa.repositories;\n }\n $scope.loader = false;\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n $scope.loader = false;\n });\n };\n $scope.getUsers();\n\n $scope.$on('repositoryIsSet', function () {\n $scope.getUsers();\n });\n\n $scope.toggleSecurity = function () {\n $jwtAuth.toggleSecurity(!$jwtAuth.isSecurityEnabled());\n if ($jwtAuth.isSecurityEnabled()) {\n const timer = $timeout(function () {\n $window.location.reload();\n }, 500);\n $scope.$on('$destroy', function () {\n $timeout.cancel(timer);\n });\n }\n };\n\n $scope.toggleFreeAccess = function (updateFreeAccess) {\n if (!$jwtAuth.isFreeAccessEnabled() || ($jwtAuth.isFreeAccessEnabled() && updateFreeAccess)) {\n SecurityRestService.getFreeAccess().then(function (res) {\n let authorities = res.data.authorities;\n let appSettings = res.data.appSettings || {\n 'DEFAULT_SAMEAS': true,\n 'DEFAULT_INFERENCE': true,\n 'EXECUTE_COUNT': true,\n 'IGNORE_SHARED_QUERIES': false,\n 'DEFAULT_VIS_GRAPH_SCHEMA': true\n };\n const modalInstance = $modal.open({\n templateUrl: 'js/angular/security/templates/modal/default-authorities.html',\n controller: 'DefaultAuthoritiesCtrl',\n resolve: {\n data: function () {\n return {\n // converts the array rights to hash ones. why, oh, why do we have both formats?\n defaultAuthorities: function () {\n const defaultAuthorities = {\n [READ_REPO]: {},\n [WRITE_REPO]: {}\n };\n // We might have old (no longer existing) repositories so we have to check that\n const repoIds = _.mapKeys($scope.getRepositories(), function (r) {\n return createUniqueKey(r);\n });\n _.each(authorities, function (a) {\n // indexOf works in IE 11, startsWith doesn't\n if (a.indexOf(WRITE_REPO_PREFIX) === 0) {\n if (repoIds.hasOwnProperty(a.substr(11))) {\n defaultAuthorities[WRITE_REPO][a.substr(11)] = true;\n }\n } else if (a.indexOf(READ_REPO_PREFIX) === 0) {\n if (repoIds.hasOwnProperty(a.substr(10))) {\n defaultAuthorities[READ_REPO][a.substr(10)] = true;\n }\n }\n });\n return defaultAuthorities;\n },\n appSettings: appSettings\n };\n }\n }\n });\n modalInstance.result.then(function (data) {\n authorities = data.authorities;\n appSettings = data.appSettings;\n $jwtAuth.toggleFreeAccess(updateFreeAccess || !$jwtAuth.isFreeAccessEnabled(), authorities, appSettings, updateFreeAccess);\n });\n });\n } else {\n $jwtAuth.toggleFreeAccess(!$jwtAuth.isFreeAccessEnabled(), []);\n }\n };\n\n $scope.editFreeAccess = function () {\n $scope.toggleFreeAccess(true);\n };\n\n $scope.removeUser = function (username) {\n ModalService.openSimpleModal({\n title: $translate.instant('common.confirm.delete'),\n message: $translate.instant('security.confirm.delete.user', {name: username}),\n warning: true\n }).result.then(function () {\n $scope.loader = true;\n SecurityRestService.deleteUser(username).success(function () {\n $scope.getUsers();\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n\n $scope.loader = false;\n });\n\n });\n };\n\n // Should be able to send the original username to $routeParams\n $scope.encodeURIComponent = function (name) {\n return encodeURIComponent(name);\n };\n }]);\n\nsecurityCtrl.controller('DefaultAuthoritiesCtrl', ['$scope', '$http', '$modalInstance', 'data', '$rootScope',\n function ($scope, $http, $modalInstance, data, $rootScope) {\n $scope.grantedAuthorities = data.defaultAuthorities();\n $scope.appSettings = data.appSettings;\n\n $scope.hasActiveLocation = function () {\n // Hack to get this from root scope to avoid cyclic dependency\n return !_.isEmpty($rootScope.globalLocation);\n };\n\n $scope.getRepositories = function () {\n // Hack to get this from root scope to avoid cyclic dependency\n return $rootScope.globalRepositories;\n };\n\n $scope.ok = function () {\n const auth = [];\n $scope.repositoryCheckError = true;\n for (const index in $scope.grantedAuthorities.WRITE_REPO) {\n if ($scope.grantedAuthorities.WRITE_REPO[index]) {\n auth.push(WRITE_REPO_PREFIX + index);\n auth.push(READ_REPO_PREFIX + index);\n $scope.repositoryCheckError = false;\n }\n }\n for (const index in $scope.grantedAuthorities.READ_REPO) {\n if ($scope.grantedAuthorities.READ_REPO[index] && auth.indexOf(READ_REPO_PREFIX + index) === -1) {\n auth.push(READ_REPO_PREFIX + index);\n $scope.repositoryCheckError = false;\n }\n }\n if (!$scope.repositoryCheckError) {\n $modalInstance.close({authorities: auth, appSettings: $scope.appSettings});\n }\n };\n\n $scope.cancel = function () {\n $modalInstance.dismiss('cancel');\n };\n\n $scope.createUniqueKey = function (repository) {\n return createUniqueKey(repository);\n };\n }]);\n\nsecurityCtrl.controller('CommonUserCtrl', ['$rootScope', '$scope', '$http', 'toastr', '$window', '$timeout', '$location', '$jwtAuth', '$translate', 'passwordPlaceholder',\n function ($rootScope, $scope, $http, toastr, $window, $timeout, $location, $jwtAuth, $translate, passwordPlaceholder) {\n $rootScope.$on('$translateChangeSuccess', function () {\n $scope.passwordPlaceholder = $translate.instant(passwordPlaceholder);\n });\n $scope.isAdmin = function () {\n return $jwtAuth.hasRole(UserRole.ROLE_ADMIN);\n };\n $scope.hasExternalAuth = function () {\n return $jwtAuth.hasExternalAuth();\n };\n\n $scope.hasEditRestrictions = function () {\n return $scope.user && $scope.user.username === UserType.ADMIN;\n };\n\n $scope.isOverrideAuth = function () {\n return $jwtAuth.isDefaultAuthEnabled();\n };\n\n $scope.setGrantedAuthorities = function () {\n setGrantedAuthorities($scope);\n };\n\n $scope.hasReadPermission = function (repository) {\n const uniqueKey = createUniqueKey(repository);\n return $scope.userType === UserType.ADMIN || $scope.userType === UserType.REPO_MANAGER\n || repository.id !== SYSTEM_REPO\n && ($scope.grantedAuthorities.READ_REPO['*'] || $scope.grantedAuthorities.WRITE_REPO['*'])\n || $scope.grantedAuthorities.READ_REPO[uniqueKey]\n || $scope.grantedAuthorities.WRITE_REPO[uniqueKey];\n };\n\n $scope.hasWritePermission = function (repoOrWildCard) {\n const uniqueKey = createUniqueKey(repoOrWildCard);\n return $scope.userType === UserType.ADMIN || $scope.userType === UserType.REPO_MANAGER\n || repoOrWildCard.id !== SYSTEM_REPO && $scope.grantedAuthorities.WRITE_REPO['*']\n || $scope.grantedAuthorities.WRITE_REPO[uniqueKey];\n };\n\n $scope.readCheckDisabled = function (repoOrWildCard) {\n return $scope.hasWritePermission(repoOrWildCard)\n || repoOrWildCard.id !== SYSTEM_REPO && repoOrWildCard !== '*' && $scope.grantedAuthorities.READ_REPO['*']\n || $scope.hasEditRestrictions();\n };\n\n $scope.writeCheckDisabled = function (repoOrWildCard) {\n return $scope.userType === UserType.ADMIN || $scope.userType === UserType.REPO_MANAGER\n || repoOrWildCard.id !== SYSTEM_REPO && repoOrWildCard !== '*' && $scope.grantedAuthorities.WRITE_REPO['*']\n || $scope.hasEditRestrictions();\n };\n\n $scope.createUniqueKey = function (repository) {\n return createUniqueKey(repository);\n };\n\n $scope.userType = UserType.USER;\n $scope.grantedAuthorities = {\n [READ_REPO]: {},\n [WRITE_REPO]: {}\n };\n\n $scope.validatePassword = function() {\n if ($scope.noPassword) {\n $scope.passwordError = '';\n $scope.confirmPasswordError = '';\n return true;\n }\n if ($scope.user.password !== $scope.user.confirmpassword) {\n if (!$scope.user.password) {\n $scope.passwordError = $translate.instant('security.enter.password');\n $scope.confirmPasswordError = '';\n } else {\n $scope.passwordError = '';\n $scope.confirmPasswordError = $translate.instant('security.confirm.password');\n }\n return false;\n } else {\n $scope.passwordError = '';\n $scope.confirmPasswordError = '';\n }\n return true;\n };\n\n $scope.isLocalAuthentication = function() {\n return $jwtAuth.getAuthImplementation() === 'Local';\n };\n\n $scope.updateUser = function () {\n if (!$scope.validateForm()) {\n return false;\n }\n\n if ($scope.isLocalAuthentication()) {\n $scope.setGrantedAuthorities();\n }\n\n if (!$scope.repositoryCheckError) {\n $scope.updateUserHttp();\n }\n };\n\n $scope.setNoPassword = function() {\n if ($scope.noPassword) {\n $scope.user.password = '';\n $scope.user.confirmpassword = '';\n $scope.passwordError = '';\n $scope.confirmPasswordError = '';\n }\n };\n\n $scope.shouldDisableSameAs = function () {\n const sameAsCheckbox = $('#sameAsCheck');\n if ($scope.user && !$scope.user.appSettings.DEFAULT_INFERENCE && sameAsCheckbox.prop('checked')) {\n sameAsCheckbox.prop(\"checked\", false);\n $scope.user.appSettings.DEFAULT_SAMEAS = false;\n }\n\n return $scope.user && !$scope.user.appSettings.DEFAULT_INFERENCE;\n };\n }]);\n\nsecurityCtrl.controller('AddUserCtrl', ['$scope', '$http', 'toastr', '$window', '$timeout', '$location', '$jwtAuth', '$controller', 'SecurityRestService', 'ModalService', '$translate',\n function ($scope, $http, toastr, $window, $timeout, $location, $jwtAuth, $controller, SecurityRestService, ModalService, $translate) {\n\n angular.extend(this, $controller('CommonUserCtrl', {$scope: $scope, passwordPlaceholder: 'security.password.placeholder'}));\n\n $scope.mode = 'add';\n $scope.saveButtonText = $translate.instant('common.create.btn');\n $scope.goBack = function () {\n const timer = $timeout(function () {\n $window.history.back();\n }, 100);\n $scope.$on('$destroy', function () {\n $timeout.cancel(timer);\n });\n };\n $scope.pageTitle = $translate.instant('view.create.user.title');\n $scope.passwordPlaceholder = $translate.instant('security.password.placeholder');\n\n $scope.user = {\n 'username': '',\n 'password': '',\n 'confirmpassword': '',\n 'grantedAuthorities': [],\n 'appSettings': {\n 'DEFAULT_SAMEAS': true,\n 'DEFAULT_INFERENCE': true,\n 'EXECUTE_COUNT': true,\n 'IGNORE_SHARED_QUERIES': false,\n 'DEFAULT_VIS_GRAPH_SCHEMA': true\n }\n };\n\n $scope.submit = function () {\n if ($scope.noPassword && $scope.userType === UserType.ADMIN) {\n ModalService.openSimpleModal({\n title: $translate.instant('security.create.admin'),\n message: $translate.instant('security.admin.login.warning'),\n warning: true\n }).result.then(function () {\n $scope.createUser();\n });\n } else {\n $scope.createUser();\n }\n };\n\n $scope.createUserHttp = function () {\n $scope.loader = true;\n SecurityRestService.createUser({\n username: $scope.user.username,\n pass: $scope.user.password,\n appSettings: $scope.user.appSettings,\n grantedAuthorities: $scope.user.grantedAuthorities\n }).success(function () {\n toastr.success($translate.instant('security.user.created', {name: $scope.user.username}));\n const timer = $timeout(function () {\n $scope.loader = false;\n $window.history.back();\n }, 2000);\n $scope.$on('$destroy', function () {\n $timeout.cancel(timer);\n });\n }).error(function (data) {\n const msg = getError(data);\n $scope.loader = false;\n toastr.error(msg, $translate.instant('common.error'));\n });\n };\n\n $scope.createUser = function () {\n if ($scope.validateForm()) {\n $scope.setGrantedAuthorities();\n\n if (!$scope.repositoryCheckError) {\n $scope.createUserHttp();\n }\n }\n };\n\n $scope.validateForm = function () {\n let result = true;\n if (!$scope.user.username) {\n $scope.usernameError = $translate.instant('security.enter.username');\n result = false;\n } else {\n $scope.usernameError = '';\n }\n if ($scope.noPassword) {\n $scope.passwordError = '';\n $scope.confirmPasswordError = '';\n } else {\n if (!$scope.user.password) {\n $scope.passwordError = $translate.instant('security.enter.password');\n result = false;\n } else {\n $scope.passwordError = '';\n }\n if (!$scope.user.confirmpassword || $scope.user.password !== $scope.user.confirmpassword) {\n $scope.confirmPasswordError = $translate.instant('security.confirm.password');\n result = false;\n } else {\n $scope.confirmPasswordError = '';\n }\n }\n\n return result;\n };\n }]);\n\nsecurityCtrl.controller('EditUserCtrl', ['$scope', '$http', 'toastr', '$window', '$routeParams', '$timeout', '$location', '$jwtAuth', '$controller', 'SecurityRestService', 'ModalService', '$translate',\n function ($scope, $http, toastr, $window, $routeParams, $timeout, $location, $jwtAuth, $controller, SecurityRestService, ModalService, $translate) {\n\n angular.extend(this, $controller('CommonUserCtrl', {$scope: $scope, passwordPlaceholder: 'security.new.password'}));\n\n $scope.mode = 'edit';\n $scope.saveButtonText = $translate.instant('common.save.btn');\n $scope.goBack = function () {\n const timer = $timeout(function () {\n $window.history.back();\n }, 100);\n $scope.$on('$destroy', function () {\n $timeout.cancel(timer);\n });\n };\n $scope.params = $routeParams;\n $scope.pageTitle = $translate.instant('view.edit.user.title', {userId: $scope.params.userId});\n $scope.passwordPlaceholder = $translate.instant('security.new.password');\n $scope.userType = UserType.USER;\n const defaultUserSettings = {\n 'DEFAULT_SAMEAS': true,\n 'DEFAULT_INFERENCE': true,\n 'EXECUTE_COUNT': true,\n 'IGNORE_SHARED_QUERIES': false,\n 'DEFAULT_VIS_GRAPH_SCHEMA': true\n };\n\n if (!$jwtAuth.hasRole(UserRole.ROLE_ADMIN)) {\n $location.url('settings');\n }\n $scope.getUserData = function () {\n SecurityRestService.getUser($scope.params.userId).success(function (data) {\n $scope.userData = data;\n $scope.user = {username: $scope.userData.username};\n $scope.user.password = '';\n $scope.user.confirmpassword = '';\n $scope.user.external = $scope.userData.external;\n $scope.user.appSettings = data.appSettings || defaultUserSettings;\n $scope.userType = UserType.USER;\n const pa = parseAuthorities(data.grantedAuthorities);\n $scope.userType = pa.userType;\n $scope.grantedAuthorities = pa.grantedAuthorities;\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n });\n };\n\n $scope.getUserData();\n\n $scope.submit = function () {\n if ($scope.noPassword && $scope.userType === UserType.ADMIN) {\n ModalService.openSimpleModal({\n title: $translate.instant('security.save.admin.settings'),\n message: $translate.instant('security.admin.pass.unset'),\n warning: true\n }).result.then(function () {\n $scope.updateUser();\n });\n } else {\n $scope.updateUser();\n }\n };\n\n $scope.updateUserHttp = function () {\n $scope.loader = true;\n SecurityRestService.updateUser({\n username: $scope.user.username,\n pass: ($scope.noPassword) ? '' : $scope.user.password || undefined,\n appSettings: $scope.user.appSettings,\n grantedAuthorities: $scope.user.grantedAuthorities\n }).success(function () {\n toastr.success($translate.instant('security.user.updated', {name: $scope.user.username}));\n const timer = $timeout(function () {\n $scope.loader = false;\n $window.history.back();\n }, 2000);\n $scope.$on('$destroy', function () {\n $timeout.cancel(timer);\n });\n // if we update the settings of the currently logged user, update the principal\n $jwtAuth.getPrincipal().then((principal) => {\n if ($scope.user.username === principal.username) {\n principal.appSettings = $scope.user.appSettings;\n }\n });\n }).error(function (data) {\n const msg = getError(data);\n $scope.loader = false;\n toastr.error(msg, $translate.instant('common.error'));\n });\n };\n\n $scope.validateForm = function () {\n return $scope.validatePassword();\n };\n }]);\n\nsecurityCtrl.controller('RolesMappingController', ['$scope', 'toastr', 'SecurityRestService', '$translate',\n function ($scope, toastr, SecurityRestService, $translate) {\n\n $scope.debugMapping = function (role, mapping) {\n const method = mapping.split(':');\n SecurityRestService.getRolesMapping({\n role: role,\n method: method[1],\n mapping: method[0]\n });\n };\n\n const loadRoles = function () {\n SecurityRestService.getRoles()\n .success(function (data) {\n $scope.roleMappings = data;\n $scope.roles = _.keys($scope.roleMappings);\n $scope.mappings = _.keys($scope.roleMappings[$scope.roles[0]]);\n const permissionsCount = _.map($scope.roles, function (role) {\n return [role, _.filter($scope.roleMappings[role]).length];\n });\n $scope.roles = _.reverse(_.map(_.orderBy(permissionsCount, function (p) {\n return p[1];\n }), function (p) {\n return p[0];\n }));\n })\n .error(function (data) {\n const msg = getError(data);\n $scope.loader = false;\n toastr.error(msg, $translate.instant('common.error'));\n });\n };\n\n $scope.$on('repositoryIsSet', function () {\n loadRoles();\n });\n}]);\n\nsecurityCtrl.controller('ChangeUserPasswordSettingsCtrl', ['$scope', 'toastr', '$window', '$timeout', '$jwtAuth', '$rootScope', '$controller', 'SecurityRestService', 'ModalService', '$translate', 'LocalStorageAdapter', 'LSKeys', '$q',\n function ($scope, toastr, $window, $timeout, $jwtAuth, $rootScope, $controller, SecurityRestService, ModalService, $translate, LocalStorageAdapter, LSKeys, $q) {\n\n angular.extend(this, $controller('CommonUserCtrl', {$scope: $scope, passwordPlaceholder: 'security.new.password'}));\n\n $scope.mode = 'settings';\n $scope.hasEditRestrictions = function () {\n return true;\n };\n $scope.saveButtonText = $translate.instant('common.save.btn');\n $scope.goBack = function () {\n const timer = $timeout(function () {\n $window.history.back();\n }, 100);\n $scope.$on('$destroy', function () {\n $timeout.cancel(timer);\n });\n };\n // Wrapped in a scope function for ease of testing\n $scope.getPrincipal = function () {\n return $jwtAuth.getPrincipal()\n .then((principal) => {\n $scope.currentUserData = angular.copy(principal);\n });\n };\n\n $scope.getPrincipal().then(() => {\n $scope.redirectAdmin();\n initUserData($scope);\n });\n\n $scope.showWorkbenchSettings = true;\n\n $scope.updateCurrentUserData = function () {\n // Using $q.when to proper set values in view\n $q.when($jwtAuth.getPrincipal())\n .then((principal) => _.assign(principal, $scope.userData));\n };\n\n //call it as a function so I can make test on it\n $scope.redirectAdmin = function () {\n if (!$scope.currentUserData) {\n $rootScope.redirectToLogin();\n }\n };\n\n $scope.pageTitle = $translate.instant('view.settings.title');\n $scope.passwordPlaceholder = $translate.instant('security.new.password');\n $scope.grantedAuthorities = {\n [READ_REPO]: {},\n [WRITE_REPO]: {}\n };\n\n const initUserData = function (scope) {\n // Copy needed so that Cancel would work correctly, need to call updateCurrentUserData on OK\n scope.userData = angular.copy(scope.currentUserData);\n scope.user = {username: scope.userData.username};\n scope.user.password = '';\n scope.user.confirmpassword = '';\n scope.user.external = scope.userData.external;\n scope.user.appSettings = scope.userData.appSettings;\n // For backward compatibility\n if (scope.user.appSettings['DEFAULT_VIS_GRAPH_SCHEMA'] === undefined) {\n scope.user.appSettings['DEFAULT_VIS_GRAPH_SCHEMA'] = true;\n }\n\n const pa = parseAuthorities(scope.userData.authorities);\n $scope.userType = pa.userType;\n $scope.grantedAuthorities = pa.grantedAuthorities;\n };\n\n $scope.loader = false;\n\n $scope.submit = function () {\n if ($scope.noPassword && $scope.userType === UserType.ADMIN) {\n ModalService.openSimpleModal({\n title: $translate.instant('security.save.admin.settings'),\n message: $translate.instant('security.admin.pass.unset'),\n warning: true\n }).result.then(function () {\n $scope.updateUser();\n });\n } else {\n $scope.updateUser();\n }\n };\n\n $scope.updateUserHttp = function () {\n $scope.loader = true;\n SecurityRestService.updateUserData({\n username: $scope.user.username,\n pass: ($scope.noPassword) ? '' : $scope.user.password || undefined,\n appSettings: $scope.user.appSettings\n }).success(function () {\n $scope.updateCurrentUserData();\n toastr.success($translate.instant('security.user.updated', {name: $scope.user.username}));\n const timer = $timeout(function () {\n $scope.loader = false;\n $window.history.back();\n }, 2000);\n LocalStorageAdapter.set(LSKeys.WORKBENCH_SETTINGS, $scope.workbenchSettings);\n $scope.$on('$destroy', function () {\n $timeout.cancel(timer);\n });\n }).error(function (data) {\n const msg = getError(data);\n $scope.loader = false;\n toastr.error(msg, $translate.instant('common.error'));\n });\n };\n\n $scope.updateUser = function () {\n if (!$scope.validateForm()) {\n return false;\n }\n\n $scope.updateUserHttp();\n };\n\n $scope.validateForm = function () {\n return $scope.validatePassword();\n };\n\n $scope.setWorkbenchTheme = function () {\n const rootElement = document.querySelector(':root');\n if ($scope.workbenchSettings.theme === 'dark') {\n rootElement.classList.add(\"dark\");\n } else {\n rootElement.classList.remove(\"dark\");\n }\n };\n\n $scope.workbenchSettings = LocalStorageAdapter.get(LSKeys.WORKBENCH_SETTINGS);\n if (!$scope.workbenchSettings) {\n $scope.workbenchSettings = {\n theme: 'light'\n };\n }\n $scope.setWorkbenchTheme();\n\n $scope.$on(\"$destroy\", function () {\n const workbenchSettings = LocalStorageAdapter.get(LSKeys.WORKBENCH_SETTINGS);\n const rootElement = document.querySelector(':root');\n if (workbenchSettings && workbenchSettings.theme === 'dark') {\n rootElement.classList.add(\"dark\");\n } else {\n rootElement.classList.remove(\"dark\");\n }\n });\n }]);\n\nsecurityCtrl.controller('DeleteUserCtrl', ['$scope', '$modalInstance', 'username', function ($scope, $modalInstance, username) {\n $scope.username = username;\n\n $scope.ok = function () {\n $modalInstance.close();\n };\n\n $scope.cancel = function () {\n $modalInstance.dismiss('cancel');\n };\n}]);\n"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[114],{
|
|
2
|
-
//# sourceMappingURL=114.
|
|
1
|
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[114],{92:function(e,t,r){"use strict";r.r(t);var i=r(245),n=r.n(i),s=r(0),a=r(45);function c(e,t,r,i,c,o,l,u,p,d,y,m){const h="http://www.ontotext.com/graphdb/similarity/",g="http://www.ontotext.com/graphdb/similarity/psi/",f=g+"any";e.pluginName="similarity",e.pluginIsActive=!0,e.setPluginIsActive=function(t){e.pluginIsActive=t};const S=function(e){return'"'+e+'"'},v=function(e){return void 0===e||e.startsWith("<<")&&e.endsWith(">>")?e:"<"+e+">"};function x(){return!e.getActiveRepository()||e.isActiveRepoFedXType()||e.isActiveRepoOntopType()}let b;function I(){c.isLicenseValid()&&(e.getAutocompletePromise=p.checkAutocompleteStatus())}e.info=d,e.getActiveRepository=function(){return i.getActiveRepository()},x()||u.getSearchQueries().success((function(t){e.searchQueries=t})).error((function(e){const t=getError(e);r.error(t,m.instant("similarity.could.not.get.search.queries.error"))})),e.encodeURIComponent=function(e){return encodeURIComponent(e)},e.getSimilarityIndexes=function(){!x()&&e.pluginIsActive&&u.getIndexes().success((function(t){e.similarityIndexes=t})).error((function(e){const t=getError(e);r.error(t,m.instant("similarity.could.not.get.indexes.error"))}))},e.pullList=function(){e.getSimilarityIndexes();const r=t((function(){e.$broadcast("checkIsActive"),"false"!==$("#indexes-table").attr("aria-expanded")&&e.getSimilarityIndexes()}),5e3);e.$on("$destroy",(function(){t.cancel(r)}))},e.getActiveRepository()&&c.isLicenseValid()&&e.pullList(),e.$watch((function(){return i.getActiveRepository()}),(function(){!e.getActiveRepository()||e.isActiveRepoOntopType()||e.isActiveRepoFedXType()||(e.getNamespacesPromise=y.getNamespaces(e.getActiveRepository()).success((function(t){I(),e.usedPrefixes={},t.results.bindings.forEach((function(t){e.usedPrefixes[t.prefix.value]=t.namespace.value})),e.$on("$destroy",(function(){b&&b.destroy()})),b=n()(document.getElementById("yasr"),{getUsedPrefixes:e.usedPrefixes,persistency:!1,hideHeader:!0,pluginsOptions:a.YasrUtils.getYasrConfiguration()})})).error((function(e){r.error(getError(e),m.instant("get.namespaces.error.msg"))})))})),e.$on("autocompleteStatus",(function(){I()})),e.loading=!1,e.selected=void 0,e.searchType="searchTerm",e.resultType="termResult",e.$watch("searchType",(function(){e.empty=!0})),e.goToSimilarityIndex=function(t){"BUILT"!==t.status&&"OUTDATED"!==t.status&&"REBUILDING"!==t.status||(e.empty=!0,e.selected!==t&&(e.lastSearch=void 0,e.selected=t),"text"===t.type?e.searchType="searchTerm":"predication"===t.type&&(e.searchType="searchEntity"),"text"!==t.type&&"predication"!==t.type||$("#indexes-table").collapse("hide"))};const w=function(t){const r=angular.element(document.getElementById("yasr-inner")),i=angular.element(document.getElementById("results-loader"));t?(e.loading=!0,r.addClass("opacity-hide"),i.removeClass("opacity-hide")):(e.loading=!1,r.removeClass("opacity-hide"),i.addClass("opacity-hide"))};e.performSearch=function(t,n,s,a,c){w(!0);let o=n;e.lastSearch={},e.lastSearch.type=s,"searchEntityPredicate"===s&&(o=e.psiSubject,e.lastSearch.predicate=n),o="searchTerm"===s?S(o):v(o),e.lastSearch.termOrSubject=o;let l;l="searchAnalogical"===s?e.selected.analogicalQuery?e.selected.analogicalQuery:e.searchQueries.analogical:e.selected.searchQuery?e.selected.searchQuery:e.searchQueries[e.selected.type];const u={query:l,$index:v("http://www.ontotext.com/graphdb/similarity/instance/"+t),$query:o,$searchType:v(("text"===e.selected.type?h:g)+("searchEntityPredicate"===s?"searchEntity":s)),$resultType:v("text"===e.selected.type?h+a:g+"entityResult"),$parameters:S(c)};"searchEntityPredicate"===s&&(u.$psiPredicate=e.lastSearch.predicate?v(e.lastSearch.predicate):v(f)),"searchAnalogical"===s&&(e.searchSubject=n,u.$givenSubject=v(e.analogicalSubject),u.$givenObject=v(e.analogicalObject),u.$searchSubject=v(n)),$.ajax({method:"GET",url:"repositories/"+i.getActiveRepository(),data:u,headers:{Accept:"application/x-sparqlstar-results+json, application/sparql-results+json;q=0.9, */*;q=0.8"}}).done((function(e,t,r){w(!1),b.setResponse(e,t,r)})).fail((function(e){r.error(getError(e),m.instant("similarity.get.resource.error")),w(!1)}))},e.viewSearchQuery=function(){let t;t="searchAnalogical"===e.lastSearch.type?e.selected.analogicalQuery?e.selected.analogicalQuery:e.searchQueries.analogical:e.selected.searchQuery?e.selected.searchQuery:e.searchQueries[e.selected.type];const r=t.replace("?index","inst:"+e.selected.name).replace("?query",e.lastSearch.termOrSubject).replace("?searchType",("text"===e.selected.type?":":"psi:")+("searchEntityPredicate"===e.lastSearch.type?"searchEntity":e.lastSearch.type)).replace("?resultType","text"===e.selected.type?":"+e.resultType:"psi:entityResult").replace("?parameters",S(e.searchParameters?e.searchParameters:"")).replace("?psiPredicate",e.lastSearch.predicate?v(e.lastSearch.predicate):v(f)).replace("?givenSubject",v(e.analogicalSubject)).replace("?givenObject",v(e.analogicalObject)).replace("?searchSubject",v(e.searchSubject));l.open({templateUrl:"pages/viewQuery.html",controller:"ViewQueryCtrl",resolve:{query:function(){return r}}})},e.deleteIndex=function(t){o.openSimpleModal({title:m.instant("common.confirm"),message:m.instant("similarity.delete.index.warning",{name:t.name}),warning:!0}).result.then((function(){u.deleteIndex(t).then((function(){e.getSimilarityIndexes()}),(function(e){r.error(getError(e))}))}))},e.viewCreateQuery=function(e){u.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((function(e){l.open({templateUrl:"pages/viewQuery.html",controller:"ViewQueryCtrl",resolve:{query:function(){return e}}})}))},e.rebuildIndex=function(t){t.searchQuery||(t.searchQuery=t.type?e.searchQueries[t.type]:e.searchQueries.text),o.openSimpleModal({title:m.instant("common.confirm"),message:Object(s.decodeHTML)(m.instant("similarity.rebuild.index.warning",{name:t.name})),warning:!0}).result.then((function(){t.status="REBUILDING",u.rebuildIndex(t).then((function(e){}),(function(e){r.error(getError(e))}))}))},e.copyToClipboardResult=function(e){o.openCopyToClipboardModal(e)},e.trimIRI=function(e){return _.trim(e,"<>")}}angular.module("graphdb.framework.similarity.controllers.list",[]).controller("SimilarityCtrl",c),c.$inject=["$scope","$interval","toastr","$repositories","$licenseService","ModalService","$modal","SimilarityRestService","AutocompleteRestService","productInfo","RDF4JRepositoriesRestService","$translate"]}}]);
|
|
2
|
+
//# sourceMappingURL=114.ed2c2d1606cd75dbd7c6.bundle.js.map
|
package/dist/{114.6d54e7d1c547bf1ac768.bundle.js.map → 114.ed2c2d1606cd75dbd7c6.bundle.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///./src/js/angular/similarity/controllers/similarity-list.controller.js"],"names":["SimilarityCtrl","$scope","$interval","toastr","$repositories","$licenseService","ModalService","$modal","SimilarityRestService","AutocompleteRestService","productInfo","RDF4JRepositoriesRestService","$translate","PREFIX","PREFIX_PREDICATION","ANY_PREDICATE","pluginName","pluginIsActive","setPluginIsActive","isPluginActive","literalForQuery","literal","iriForQuery","iri","undefined","startsWith","endsWith","shouldSkipCall","getActiveRepository","isActiveRepoFedXType","isActiveRepoOntopType","yasr","checkAutocompleteStatus","isLicenseValid","getAutocompletePromise","info","getSearchQueries","success","data","searchQueries","error","msg","getError","instant","encodeURIComponent","param","getSimilarityIndexes","getIndexes","similarityIndexes","pullList","timer","$broadcast","$","attr","$on","cancel","$watch","getNamespacesPromise","getNamespaces","usedPrefixes","results","bindings","forEach","e","prefix","value","namespace","destroy","document","getElementById","getUsedPrefixes","persistency","hideHeader","pluginsOptions","getYasrConfiguration","loading","selected","searchType","resultType","empty","goToSimilarityIndex","index","status","lastSearch","type","collapse","toggleOntoLoader","showLoader","yasrInnerContainer","angular","element","resultsLoader","addClass","removeClass","performSearch","uri","parameters","termOrSubject","psiSubject","predicate","sparqlQuery","analogicalQuery","searchQuery","sendData","query","$index","$query","$searchType","$resultType","$parameters","$psiPredicate","searchSubject","$givenSubject","analogicalSubject","$givenObject","analogicalObject","$searchSubject","ajax","method","url","headers","Accept","done","textStatus","jqXhrOrErrorString","setResponse","fail","viewSearchQuery","queryTemplate","replacedQuery","replace","name","searchParameters","open","templateUrl","controller","resolve","deleteIndex","openSimpleModal","title","message","warning","result","then","err","viewCreateQuery","getQuery","indexName","indexOptions","options","selectQuery","indexStopList","stopList","queryInference","infer","querySameAs","sameAs","viewType","indexAnalyzer","analyzer","rebuildIndex","text","res","copyToClipboardResult","openCopyToClipboardModal","trimIRI","_","trim","module","$inject"],"mappings":"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","file":"114.6d54e7d1c547bf1ac768.bundle.js","sourcesContent":["import YASR from 'lib/yasr.bundled';\nimport {decodeHTML} from \"../../../../app\";\nimport {YasrUtils} from \"../../utils/yasr-utils\";\n\nangular\n .module('graphdb.framework.similarity.controllers.list', [])\n .controller('SimilarityCtrl', SimilarityCtrl);\n\nSimilarityCtrl.$inject = ['$scope', '$interval', 'toastr', '$repositories', '$licenseService', 'ModalService', '$modal', 'SimilarityRestService', 'AutocompleteRestService', 'productInfo', 'RDF4JRepositoriesRestService', '$translate'];\n\nfunction SimilarityCtrl($scope, $interval, toastr, $repositories, $licenseService, ModalService, $modal, SimilarityRestService, AutocompleteRestService, productInfo, RDF4JRepositoriesRestService, $translate) {\n\n const PREFIX = 'http://www.ontotext.com/graphdb/similarity/';\n const PREFIX_PREDICATION = 'http://www.ontotext.com/graphdb/similarity/psi/';\n const PREFIX_INSTANCE = PREFIX + 'instance/';\n const ANY_PREDICATE = PREFIX_PREDICATION + 'any';\n $scope.pluginName = 'similarity';\n $scope.pluginIsActive = true;\n\n $scope.setPluginIsActive = function (isPluginActive) {\n $scope.pluginIsActive = isPluginActive;\n }\n\n const literalForQuery = function (literal) {\n return '\"' + literal + '\"';\n };\n\n // TODO: Fix cases when this function is called with undefined\n const iriForQuery = function (iri) {\n // Do not put brackets on nested triples\n if (iri === undefined || iri.startsWith(\"<<\") && iri.endsWith(\">>\")) {\n return iri;\n }\n return '<' + iri + '>';\n };\n\n $scope.info = productInfo;\n\n $scope.getActiveRepository = function () {\n return $repositories.getActiveRepository();\n };\n\n // Don't call functions if one of the following conditions are met\n function shouldSkipCall() {\n return !$scope.getActiveRepository() ||\n $scope.isActiveRepoFedXType() ||\n $scope.isActiveRepoOntopType();\n }\n\n if (!shouldSkipCall()) {\n SimilarityRestService.getSearchQueries().success(function (data) {\n $scope.searchQueries = data;\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('similarity.could.not.get.search.queries.error'));\n });\n }\n\n $scope.encodeURIComponent = function (param) {\n return encodeURIComponent(param);\n };\n\n // get similarity indexes\n $scope.getSimilarityIndexes = function () {\n if (shouldSkipCall() || !$scope.pluginIsActive) {\n return;\n }\n SimilarityRestService.getIndexes()\n .success(function (data) {\n $scope.similarityIndexes = data;\n })\n .error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('similarity.could.not.get.indexes.error'));\n });\n };\n\n $scope.pullList = function () {\n $scope.getSimilarityIndexes();\n const timer = $interval(function () {\n $scope.$broadcast('checkIsActive');\n if ($('#indexes-table').attr('aria-expanded') !== 'false') {\n $scope.getSimilarityIndexes();\n }\n }, 5000);\n $scope.$on('$destroy', function () {\n $interval.cancel(timer);\n });\n };\n\n if ($scope.getActiveRepository()) {\n if ($licenseService.isLicenseValid()) {\n $scope.pullList();\n }\n }\n\n let yasr;\n\n $scope.$watch(function () {\n return $repositories.getActiveRepository();\n }, function () {\n // Don't try to get namespaces for ontop or fedx repository\n if ($scope.getActiveRepository() && !$scope.isActiveRepoOntopType() && !$scope.isActiveRepoFedXType()) {\n $scope.getNamespacesPromise = RDF4JRepositoriesRestService.getNamespaces($scope.getActiveRepository())\n .success(function (data) {\n checkAutocompleteStatus();\n $scope.usedPrefixes = {};\n data.results.bindings.forEach(function (e) {\n $scope.usedPrefixes[e.prefix.value] = e.namespace.value;\n });\n $scope.$on('$destroy', function () {\n if (yasr) {\n yasr.destroy();\n }\n });\n yasr = YASR(document.getElementById('yasr'), { // eslint-disable-line new-cap\n //this way, the URLs in the results are prettified using the defined prefixes\n getUsedPrefixes: $scope.usedPrefixes,\n persistency: false,\n hideHeader: true,\n pluginsOptions: YasrUtils.getYasrConfiguration()\n });\n }).error(function (data) {\n toastr.error(getError(data), $translate.instant('get.namespaces.error.msg'));\n });\n }\n });\n\n function checkAutocompleteStatus() {\n if ($licenseService.isLicenseValid()) {\n $scope.getAutocompletePromise = AutocompleteRestService.checkAutocompleteStatus();\n }\n }\n\n $scope.$on('autocompleteStatus', function() {\n checkAutocompleteStatus();\n });\n\n $scope.loading = false;\n\n $scope.selected = undefined;\n $scope.searchType = 'searchTerm';\n $scope.resultType = 'termResult';\n\n $scope.$watch('searchType', function () {\n $scope.empty = true;\n });\n\n $scope.goToSimilarityIndex = function (index) {\n if (!('BUILT' === index.status || 'OUTDATED' === index.status || 'REBUILDING' === index.status)) {\n return;\n }\n $scope.empty = true;\n if ($scope.selected !== index) {\n $scope.lastSearch = undefined;\n $scope.selected = index;\n }\n if (index.type === 'text') {\n $scope.searchType = 'searchTerm';\n } else if (index.type === 'predication') {\n $scope.searchType = 'searchEntity';\n }\n if (index.type === 'text' || index.type === 'predication') {\n $('#indexes-table').collapse('hide');\n }\n };\n\n const toggleOntoLoader = function (showLoader) {\n const yasrInnerContainer = angular.element(document.getElementById('yasr-inner'));\n const resultsLoader = angular.element(document.getElementById('results-loader'));\n /* Angular b**it. For some reason the loader behaved strangely with ng-show not always showing */\n if (showLoader) {\n $scope.loading = true;\n yasrInnerContainer.addClass('opacity-hide');\n resultsLoader.removeClass('opacity-hide');\n } else {\n $scope.loading = false;\n yasrInnerContainer.removeClass('opacity-hide');\n resultsLoader.addClass('opacity-hide');\n }\n };\n\n $scope.performSearch = function (index, uri, searchType, resultType, parameters) {\n\n toggleOntoLoader(true);\n\n // this is either the search term or the iri for the subject\n let termOrSubject = uri;\n\n $scope.lastSearch = {};\n $scope.lastSearch.type = searchType;\n\n if (searchType === 'searchEntityPredicate') {\n termOrSubject = $scope.psiSubject;\n $scope.lastSearch.predicate = uri;\n }\n\n if (searchType === 'searchTerm') {\n termOrSubject = literalForQuery(termOrSubject);\n } else {\n termOrSubject = iriForQuery(termOrSubject);\n }\n\n $scope.lastSearch.termOrSubject = termOrSubject;\n\n const headers = {Accept: 'application/x-sparqlstar-results+json, application/sparql-results+json;q=0.9, */*;q=0.8'};\n let sparqlQuery;\n if (searchType === 'searchAnalogical') {\n sparqlQuery = ($scope.selected.analogicalQuery) ? $scope.selected.analogicalQuery : $scope.searchQueries['analogical'];\n } else {\n sparqlQuery = ($scope.selected.searchQuery) ? $scope.selected.searchQuery : $scope.searchQueries[$scope.selected.type];\n }\n const sendData = {\n query: sparqlQuery,\n $index: iriForQuery(PREFIX_INSTANCE + index),\n $query: termOrSubject,\n $searchType: iriForQuery(($scope.selected.type === 'text' ? PREFIX : PREFIX_PREDICATION) + (searchType === 'searchEntityPredicate' ? 'searchEntity' : searchType)),\n $resultType: iriForQuery($scope.selected.type === 'text' ? PREFIX + resultType : PREFIX_PREDICATION + 'entityResult'),\n $parameters: literalForQuery(parameters)\n };\n\n if (searchType === 'searchEntityPredicate') {\n sendData.$psiPredicate = $scope.lastSearch.predicate ? iriForQuery($scope.lastSearch.predicate) : iriForQuery(ANY_PREDICATE);\n }\n\n if (searchType === 'searchAnalogical') {\n $scope.searchSubject = uri;\n sendData.$givenSubject = iriForQuery($scope.analogicalSubject);\n sendData.$givenObject = iriForQuery($scope.analogicalObject);\n sendData.$searchSubject = iriForQuery(uri);\n }\n\n $.ajax({\n method: 'GET',\n url: 'repositories/' + $repositories.getActiveRepository(),\n data: sendData,\n headers: headers\n }).done(function (data, textStatus, jqXhrOrErrorString) {\n toggleOntoLoader(false);\n yasr.setResponse(data, textStatus, jqXhrOrErrorString);\n }).fail(function (data) {\n toastr.error(getError(data), $translate.instant('similarity.get.resource.error'));\n toggleOntoLoader(false);\n });\n };\n\n $scope.viewSearchQuery = function () {\n let queryTemplate;\n if ($scope.lastSearch.type === 'searchAnalogical') {\n queryTemplate = ($scope.selected.analogicalQuery) ? $scope.selected.analogicalQuery : $scope.searchQueries['analogical'];\n } else {\n queryTemplate = ($scope.selected.searchQuery) ? $scope.selected.searchQuery : $scope.searchQueries[$scope.selected.type];\n }\n const replacedQuery = queryTemplate\n .replace('?index', 'inst:' + $scope.selected.name)\n .replace('?query', $scope.lastSearch.termOrSubject)\n .replace('?searchType', ($scope.selected.type === 'text' ? ':' : 'psi:') + ($scope.lastSearch.type === 'searchEntityPredicate' ? 'searchEntity' : $scope.lastSearch.type))\n .replace('?resultType', $scope.selected.type === 'text' ? ':' + $scope.resultType : 'psi:entityResult')\n .replace('?parameters', literalForQuery((!$scope.searchParameters) ? '' : $scope.searchParameters))\n .replace('?psiPredicate', $scope.lastSearch.predicate ? iriForQuery($scope.lastSearch.predicate) : iriForQuery(ANY_PREDICATE))\n .replace('?givenSubject', iriForQuery($scope.analogicalSubject))\n .replace('?givenObject', iriForQuery($scope.analogicalObject))\n .replace('?searchSubject', iriForQuery($scope.searchSubject));\n\n $modal.open({\n templateUrl: 'pages/viewQuery.html',\n controller: 'ViewQueryCtrl',\n resolve: {\n query: function () {\n return replacedQuery;\n }\n }\n });\n };\n\n\n $scope.deleteIndex = function (index) {\n ModalService.openSimpleModal({\n title: $translate.instant('common.confirm'),\n message: $translate.instant('similarity.delete.index.warning', {name: index.name}),\n warning: true\n }).result\n .then(function () {\n SimilarityRestService.deleteIndex(index)\n .then(function () {\n $scope.getSimilarityIndexes();\n }, function (err) {\n toastr.error(getError(err));\n });\n });\n };\n\n $scope.viewCreateQuery = function (index) {\n SimilarityRestService.getQuery({\n indexName: index.name,\n indexOptions: index.options,\n query: index.selectQuery,\n indexStopList: index.stopList,\n queryInference: index.infer,\n querySameAs: index.sameAs,\n viewType: index.type,\n indexAnalyzer: index.analyzer\n }).success(function (query) {\n $modal.open({\n templateUrl: 'pages/viewQuery.html',\n controller: 'ViewQueryCtrl',\n resolve: {\n query: function () {\n return query;\n }\n }\n });\n });\n };\n\n $scope.rebuildIndex = function (index) {\n // Migration\n if (!index.searchQuery) {\n index.searchQuery = index.type ? $scope.searchQueries[index.type] : $scope.searchQueries.text;\n }\n ModalService.openSimpleModal({\n title: $translate.instant('common.confirm'),\n message: decodeHTML($translate.instant('similarity.rebuild.index.warning', {name: index.name})),\n warning: true\n }).result\n .then(function () {\n index.status = 'REBUILDING';\n SimilarityRestService.rebuildIndex(index)\n .then(function (res) {\n }, function (err) {\n toastr.error(getError(err));\n });\n });\n };\n\n $scope.copyToClipboardResult = function (uri) {\n ModalService.openCopyToClipboardModal(uri);\n };\n\n $scope.trimIRI = function (iri) {\n return _.trim(iri, \"<>\");\n };\n}\n"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack:///./src/js/angular/similarity/controllers/similarity-list.controller.js"],"names":["SimilarityCtrl","$scope","$interval","toastr","$repositories","$licenseService","ModalService","$modal","SimilarityRestService","AutocompleteRestService","productInfo","RDF4JRepositoriesRestService","$translate","PREFIX","PREFIX_PREDICATION","ANY_PREDICATE","pluginName","pluginIsActive","setPluginIsActive","isPluginActive","literalForQuery","literal","iriForQuery","iri","undefined","startsWith","endsWith","shouldSkipCall","getActiveRepository","isActiveRepoFedXType","isActiveRepoOntopType","yasr","checkAutocompleteStatus","isLicenseValid","getAutocompletePromise","info","getSearchQueries","success","data","searchQueries","error","msg","getError","instant","encodeURIComponent","param","getSimilarityIndexes","getIndexes","similarityIndexes","pullList","timer","$broadcast","$","attr","$on","cancel","$watch","getNamespacesPromise","getNamespaces","usedPrefixes","results","bindings","forEach","e","prefix","value","namespace","destroy","document","getElementById","getUsedPrefixes","persistency","hideHeader","pluginsOptions","getYasrConfiguration","loading","selected","searchType","resultType","empty","goToSimilarityIndex","index","status","lastSearch","type","collapse","toggleOntoLoader","showLoader","yasrInnerContainer","angular","element","resultsLoader","addClass","removeClass","performSearch","uri","parameters","termOrSubject","psiSubject","predicate","sparqlQuery","analogicalQuery","searchQuery","sendData","query","$index","$query","$searchType","$resultType","$parameters","$psiPredicate","searchSubject","$givenSubject","analogicalSubject","$givenObject","analogicalObject","$searchSubject","ajax","method","url","headers","Accept","done","textStatus","jqXhrOrErrorString","setResponse","fail","viewSearchQuery","queryTemplate","replacedQuery","replace","name","searchParameters","open","templateUrl","controller","resolve","deleteIndex","openSimpleModal","title","message","warning","result","then","err","viewCreateQuery","getQuery","indexName","indexOptions","options","selectQuery","indexStopList","stopList","queryInference","infer","querySameAs","sameAs","viewType","indexAnalyzer","analyzer","rebuildIndex","text","res","copyToClipboardResult","openCopyToClipboardModal","trimIRI","_","trim","module","$inject"],"mappings":"2FAAA,4CAUA,SAASA,EAAeC,EAAQC,EAAWC,EAAQC,EAAeC,EAAiBC,EAAcC,EAAQC,EAAuBC,EAAyBC,EAAaC,EAA8BC,GAEhM,MAAMC,EAAS,8CACTC,EAAqB,kDAErBC,EAAgBD,EAAqB,MAC3Cb,EAAOe,WAAa,aACpBf,EAAOgB,gBAAiB,EAExBhB,EAAOiB,kBAAoB,SAAUC,GACjClB,EAAOgB,eAAiBE,GAG5B,MAAMC,EAAkB,SAAUC,GAC9B,MAAO,IAAMA,EAAU,KAIrBC,EAAc,SAAUC,GAE1B,YAAYC,IAARD,GAAqBA,EAAIE,WAAW,OAASF,EAAIG,SAAS,MACnDH,EAEJ,IAAMA,EAAM,KAUvB,SAASI,IACL,OAAQ1B,EAAO2B,uBACH3B,EAAO4B,wBACF5B,EAAO6B,wBAkD5B,IAAIC,EAgCJ,SAASC,IACD3B,EAAgB4B,mBAChBhC,EAAOiC,uBAAyBzB,EAAwBuB,2BA9FhE/B,EAAOkC,KAAOzB,EAEdT,EAAO2B,oBAAsB,WACzB,OAAOxB,EAAcwB,uBAUpBD,KACDnB,EAAsB4B,mBAAmBC,SAAQ,SAAUC,GACvDrC,EAAOsC,cAAgBD,KACxBE,OAAM,SAAUF,GACf,MAAMG,EAAMC,SAASJ,GACrBnC,EAAOqC,MAAMC,EAAK7B,EAAW+B,QAAQ,qDAI7C1C,EAAO2C,mBAAqB,SAAUC,GAClC,OAAOD,mBAAmBC,IAI9B5C,EAAO6C,qBAAuB,YACtBnB,KAAqB1B,EAAOgB,gBAGhCT,EAAsBuC,aACjBV,SAAQ,SAAUC,GACfrC,EAAO+C,kBAAoBV,KAE9BE,OAAM,SAAUF,GACb,MAAMG,EAAMC,SAASJ,GACrBnC,EAAOqC,MAAMC,EAAK7B,EAAW+B,QAAQ,+CAIjD1C,EAAOgD,SAAW,WACdhD,EAAO6C,uBACP,MAAMI,EAAQhD,GAAU,WACpBD,EAAOkD,WAAW,iBACgC,UAA9CC,EAAE,kBAAkBC,KAAK,kBACzBpD,EAAO6C,yBAEZ,KACH7C,EAAOqD,IAAI,YAAY,WACnBpD,EAAUqD,OAAOL,OAIrBjD,EAAO2B,uBACHvB,EAAgB4B,kBAChBhC,EAAOgD,WAMfhD,EAAOuD,QAAO,WACV,OAAOpD,EAAcwB,yBACtB,YAEK3B,EAAO2B,uBAA0B3B,EAAO6B,yBAA4B7B,EAAO4B,yBAC3E5B,EAAOwD,qBAAuB9C,EAA6B+C,cAAczD,EAAO2B,uBAC3ES,SAAQ,SAAUC,GACfN,IACA/B,EAAO0D,aAAe,GACtBrB,EAAKsB,QAAQC,SAASC,SAAQ,SAAUC,GACpC9D,EAAO0D,aAAaI,EAAEC,OAAOC,OAASF,EAAEG,UAAUD,SAEtDhE,EAAOqD,IAAI,YAAY,WACfvB,GACAA,EAAKoC,aAGbpC,EAAO,IAAKqC,SAASC,eAAe,QAAS,CAEzCC,gBAAiBrE,EAAO0D,aACxBY,aAAa,EACbC,YAAY,EACZC,eAAgB,YAAUC,4BAE/BlC,OAAM,SAAUF,GACfnC,EAAOqC,MAAME,SAASJ,GAAO1B,EAAW+B,QAAQ,oCAWhE1C,EAAOqD,IAAI,sBAAsB,WAC7BtB,OAGJ/B,EAAO0E,SAAU,EAEjB1E,EAAO2E,cAAWpD,EAClBvB,EAAO4E,WAAa,aACpB5E,EAAO6E,WAAa,aAEpB7E,EAAOuD,OAAO,cAAc,WACxBvD,EAAO8E,OAAQ,KAGnB9E,EAAO+E,oBAAsB,SAAUC,GAC7B,UAAYA,EAAMC,QAAU,aAAeD,EAAMC,QAAU,eAAiBD,EAAMC,SAGxFjF,EAAO8E,OAAQ,EACX9E,EAAO2E,WAAaK,IACpBhF,EAAOkF,gBAAa3D,EACpBvB,EAAO2E,SAAWK,GAEH,SAAfA,EAAMG,KACNnF,EAAO4E,WAAa,aACE,gBAAfI,EAAMG,OACbnF,EAAO4E,WAAa,gBAEL,SAAfI,EAAMG,MAAkC,gBAAfH,EAAMG,MAC/BhC,EAAE,kBAAkBiC,SAAS,UAIrC,MAAMC,EAAmB,SAAUC,GAC/B,MAAMC,EAAqBC,QAAQC,QAAQtB,SAASC,eAAe,eAC7DsB,EAAgBF,QAAQC,QAAQtB,SAASC,eAAe,mBAE1DkB,GACAtF,EAAO0E,SAAU,EACjBa,EAAmBI,SAAS,gBAC5BD,EAAcE,YAAY,kBAE1B5F,EAAO0E,SAAU,EACjBa,EAAmBK,YAAY,gBAC/BF,EAAcC,SAAS,kBAI/B3F,EAAO6F,cAAgB,SAAUb,EAAOc,EAAKlB,EAAYC,EAAYkB,GAEjEV,GAAiB,GAGjB,IAAIW,EAAgBF,EAEpB9F,EAAOkF,WAAa,GACpBlF,EAAOkF,WAAWC,KAAOP,EAEN,0BAAfA,IACAoB,EAAgBhG,EAAOiG,WACvBjG,EAAOkF,WAAWgB,UAAYJ,GAI9BE,EADe,eAAfpB,EACgBzD,EAAgB6E,GAEhB3E,EAAY2E,GAGhChG,EAAOkF,WAAWc,cAAgBA,EAGlC,IAAIG,EAEAA,EADe,qBAAfvB,EACe5E,EAAO2E,SAAwB,gBAAI3E,EAAO2E,SAASyB,gBAAkBpG,EAAOsC,cAA0B,WAEtGtC,EAAO2E,SAAoB,YAAI3E,EAAO2E,SAAS0B,YAAcrG,EAAOsC,cAActC,EAAO2E,SAASQ,MAErH,MAAMmB,EAAW,CACbC,MAAOJ,EACPK,OAAQnF,EAxMQT,uDAwMsBoE,GACtCyB,OAAQT,EACRU,YAAarF,GAAsC,SAAzBrB,EAAO2E,SAASQ,KAAkBvE,EAASC,IAAsC,0BAAf+D,EAAyC,eAAiBA,IACtJ+B,YAAatF,EAAqC,SAAzBrB,EAAO2E,SAASQ,KAAkBvE,EAASiE,EAAahE,EAAqB,gBACtG+F,YAAazF,EAAgB4E,IAGd,0BAAfnB,IACA0B,EAASO,cAAgB7G,EAAOkF,WAAWgB,UAAY7E,EAAYrB,EAAOkF,WAAWgB,WAAa7E,EAAYP,IAG/F,qBAAf8D,IACA5E,EAAO8G,cAAgBhB,EACvBQ,EAASS,cAAgB1F,EAAYrB,EAAOgH,mBAC5CV,EAASW,aAAe5F,EAAYrB,EAAOkH,kBAC3CZ,EAASa,eAAiB9F,EAAYyE,IAG1C3C,EAAEiE,KAAK,CACHC,OAAQ,MACRC,IAAK,gBAAkBnH,EAAcwB,sBACrCU,KAAMiE,EACNiB,QA/BY,CAACC,OAAQ,6FAgCtBC,MAAK,SAAUpF,EAAMqF,EAAYC,GAChCtC,GAAiB,GACjBvD,EAAK8F,YAAYvF,EAAMqF,EAAYC,MACpCE,MAAK,SAAUxF,GACdnC,EAAOqC,MAAME,SAASJ,GAAO1B,EAAW+B,QAAQ,kCAChD2C,GAAiB,OAIzBrF,EAAO8H,gBAAkB,WACrB,IAAIC,EAEAA,EAD2B,qBAA3B/H,EAAOkF,WAAWC,KACDnF,EAAO2E,SAAwB,gBAAI3E,EAAO2E,SAASyB,gBAAkBpG,EAAOsC,cAA0B,WAEtGtC,EAAO2E,SAAoB,YAAI3E,EAAO2E,SAAS0B,YAAcrG,EAAOsC,cAActC,EAAO2E,SAASQ,MAEvH,MAAM6C,EAAgBD,EACjBE,QAAQ,SAAU,QAAUjI,EAAO2E,SAASuD,MAC5CD,QAAQ,SAAUjI,EAAOkF,WAAWc,eACpCiC,QAAQ,eAAyC,SAAzBjI,EAAO2E,SAASQ,KAAkB,IAAM,SAAsC,0BAA3BnF,EAAOkF,WAAWC,KAAmC,eAAiBnF,EAAOkF,WAAWC,OACnK8C,QAAQ,cAAwC,SAAzBjI,EAAO2E,SAASQ,KAAkB,IAAMnF,EAAO6E,WAAa,oBACnFoD,QAAQ,cAAe9G,EAAkBnB,EAAOmI,iBAAyBnI,EAAOmI,iBAAZ,KACpEF,QAAQ,gBAAiBjI,EAAOkF,WAAWgB,UAAY7E,EAAYrB,EAAOkF,WAAWgB,WAAa7E,EAAYP,IAC9GmH,QAAQ,gBAAiB5G,EAAYrB,EAAOgH,oBAC5CiB,QAAQ,eAAgB5G,EAAYrB,EAAOkH,mBAC3Ce,QAAQ,iBAAkB5G,EAAYrB,EAAO8G,gBAElDxG,EAAO8H,KAAK,CACRC,YAAa,uBACbC,WAAY,gBACZC,QAAS,CACLhC,MAAO,WACH,OAAOyB,OAOvBhI,EAAOwI,YAAc,SAAUxD,GAC3B3E,EAAaoI,gBAAgB,CACzBC,MAAO/H,EAAW+B,QAAQ,kBAC1BiG,QAAShI,EAAW+B,QAAQ,kCAAmC,CAACwF,KAAMlD,EAAMkD,OAC5EU,SAAS,IACVC,OACEC,MAAK,WACFvI,EAAsBiI,YAAYxD,GAC7B8D,MAAK,WACF9I,EAAO6C,0BACR,SAAUkG,GACT7I,EAAOqC,MAAME,SAASsG,WAK1C/I,EAAOgJ,gBAAkB,SAAUhE,GAC/BzE,EAAsB0I,SAAS,CAC3BC,UAAWlE,EAAMkD,KACjBiB,aAAcnE,EAAMoE,QACpB7C,MAAOvB,EAAMqE,YACbC,cAAetE,EAAMuE,SACrBC,eAAgBxE,EAAMyE,MACtBC,YAAa1E,EAAM2E,OACnBC,SAAU5E,EAAMG,KAChB0E,cAAe7E,EAAM8E,WACtB1H,SAAQ,SAAUmE,GACjBjG,EAAO8H,KAAK,CACRC,YAAa,uBACbC,WAAY,gBACZC,QAAS,CACLhC,MAAO,WACH,OAAOA,UAO3BvG,EAAO+J,aAAe,SAAU/E,GAEvBA,EAAMqB,cACPrB,EAAMqB,YAAcrB,EAAMG,KAAOnF,EAAOsC,cAAc0C,EAAMG,MAAQnF,EAAOsC,cAAc0H,MAE7F3J,EAAaoI,gBAAgB,CACzBC,MAAO/H,EAAW+B,QAAQ,kBAC1BiG,QAAS,qBAAWhI,EAAW+B,QAAQ,mCAAoC,CAACwF,KAAMlD,EAAMkD,QACxFU,SAAS,IACVC,OACEC,MAAK,WACF9D,EAAMC,OAAS,aACf1E,EAAsBwJ,aAAa/E,GAC9B8D,MAAK,SAAUmB,OACb,SAAUlB,GACT7I,EAAOqC,MAAME,SAASsG,WAK1C/I,EAAOkK,sBAAwB,SAAUpE,GACrCzF,EAAa8J,yBAAyBrE,IAG1C9F,EAAOoK,QAAU,SAAU9I,GACvB,OAAO+I,EAAEC,KAAKhJ,EAAK,OAhV3BkE,QACK+E,OAAO,gDAAiD,IACxDjC,WAAW,iBAAkBvI,GAElCA,EAAeyK,QAAU,CAAC,SAAU,YAAa,SAAU,gBAAiB,kBAAmB,eAAgB,SAAU,wBAAyB,0BAA2B,cAAe,+BAAgC","file":"114.ed2c2d1606cd75dbd7c6.bundle.js","sourcesContent":["import YASR from 'lib/yasr.bundled';\nimport {decodeHTML} from \"../../../../app\";\nimport {YasrUtils} from \"../../utils/yasr-utils\";\n\nangular\n .module('graphdb.framework.similarity.controllers.list', [])\n .controller('SimilarityCtrl', SimilarityCtrl);\n\nSimilarityCtrl.$inject = ['$scope', '$interval', 'toastr', '$repositories', '$licenseService', 'ModalService', '$modal', 'SimilarityRestService', 'AutocompleteRestService', 'productInfo', 'RDF4JRepositoriesRestService', '$translate'];\n\nfunction SimilarityCtrl($scope, $interval, toastr, $repositories, $licenseService, ModalService, $modal, SimilarityRestService, AutocompleteRestService, productInfo, RDF4JRepositoriesRestService, $translate) {\n\n const PREFIX = 'http://www.ontotext.com/graphdb/similarity/';\n const PREFIX_PREDICATION = 'http://www.ontotext.com/graphdb/similarity/psi/';\n const PREFIX_INSTANCE = PREFIX + 'instance/';\n const ANY_PREDICATE = PREFIX_PREDICATION + 'any';\n $scope.pluginName = 'similarity';\n $scope.pluginIsActive = true;\n\n $scope.setPluginIsActive = function (isPluginActive) {\n $scope.pluginIsActive = isPluginActive;\n }\n\n const literalForQuery = function (literal) {\n return '\"' + literal + '\"';\n };\n\n // TODO: Fix cases when this function is called with undefined\n const iriForQuery = function (iri) {\n // Do not put brackets on nested triples\n if (iri === undefined || iri.startsWith(\"<<\") && iri.endsWith(\">>\")) {\n return iri;\n }\n return '<' + iri + '>';\n };\n\n $scope.info = productInfo;\n\n $scope.getActiveRepository = function () {\n return $repositories.getActiveRepository();\n };\n\n // Don't call functions if one of the following conditions are met\n function shouldSkipCall() {\n return !$scope.getActiveRepository() ||\n $scope.isActiveRepoFedXType() ||\n $scope.isActiveRepoOntopType();\n }\n\n if (!shouldSkipCall()) {\n SimilarityRestService.getSearchQueries().success(function (data) {\n $scope.searchQueries = data;\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('similarity.could.not.get.search.queries.error'));\n });\n }\n\n $scope.encodeURIComponent = function (param) {\n return encodeURIComponent(param);\n };\n\n // get similarity indexes\n $scope.getSimilarityIndexes = function () {\n if (shouldSkipCall() || !$scope.pluginIsActive) {\n return;\n }\n SimilarityRestService.getIndexes()\n .success(function (data) {\n $scope.similarityIndexes = data;\n })\n .error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('similarity.could.not.get.indexes.error'));\n });\n };\n\n $scope.pullList = function () {\n $scope.getSimilarityIndexes();\n const timer = $interval(function () {\n $scope.$broadcast('checkIsActive');\n if ($('#indexes-table').attr('aria-expanded') !== 'false') {\n $scope.getSimilarityIndexes();\n }\n }, 5000);\n $scope.$on('$destroy', function () {\n $interval.cancel(timer);\n });\n };\n\n if ($scope.getActiveRepository()) {\n if ($licenseService.isLicenseValid()) {\n $scope.pullList();\n }\n }\n\n let yasr;\n\n $scope.$watch(function () {\n return $repositories.getActiveRepository();\n }, function () {\n // Don't try to get namespaces for ontop or fedx repository\n if ($scope.getActiveRepository() && !$scope.isActiveRepoOntopType() && !$scope.isActiveRepoFedXType()) {\n $scope.getNamespacesPromise = RDF4JRepositoriesRestService.getNamespaces($scope.getActiveRepository())\n .success(function (data) {\n checkAutocompleteStatus();\n $scope.usedPrefixes = {};\n data.results.bindings.forEach(function (e) {\n $scope.usedPrefixes[e.prefix.value] = e.namespace.value;\n });\n $scope.$on('$destroy', function () {\n if (yasr) {\n yasr.destroy();\n }\n });\n yasr = YASR(document.getElementById('yasr'), { // eslint-disable-line new-cap\n //this way, the URLs in the results are prettified using the defined prefixes\n getUsedPrefixes: $scope.usedPrefixes,\n persistency: false,\n hideHeader: true,\n pluginsOptions: YasrUtils.getYasrConfiguration()\n });\n }).error(function (data) {\n toastr.error(getError(data), $translate.instant('get.namespaces.error.msg'));\n });\n }\n });\n\n function checkAutocompleteStatus() {\n if ($licenseService.isLicenseValid()) {\n $scope.getAutocompletePromise = AutocompleteRestService.checkAutocompleteStatus();\n }\n }\n\n $scope.$on('autocompleteStatus', function() {\n checkAutocompleteStatus();\n });\n\n $scope.loading = false;\n\n $scope.selected = undefined;\n $scope.searchType = 'searchTerm';\n $scope.resultType = 'termResult';\n\n $scope.$watch('searchType', function () {\n $scope.empty = true;\n });\n\n $scope.goToSimilarityIndex = function (index) {\n if (!('BUILT' === index.status || 'OUTDATED' === index.status || 'REBUILDING' === index.status)) {\n return;\n }\n $scope.empty = true;\n if ($scope.selected !== index) {\n $scope.lastSearch = undefined;\n $scope.selected = index;\n }\n if (index.type === 'text') {\n $scope.searchType = 'searchTerm';\n } else if (index.type === 'predication') {\n $scope.searchType = 'searchEntity';\n }\n if (index.type === 'text' || index.type === 'predication') {\n $('#indexes-table').collapse('hide');\n }\n };\n\n const toggleOntoLoader = function (showLoader) {\n const yasrInnerContainer = angular.element(document.getElementById('yasr-inner'));\n const resultsLoader = angular.element(document.getElementById('results-loader'));\n /* Angular b**it. For some reason the loader behaved strangely with ng-show not always showing */\n if (showLoader) {\n $scope.loading = true;\n yasrInnerContainer.addClass('opacity-hide');\n resultsLoader.removeClass('opacity-hide');\n } else {\n $scope.loading = false;\n yasrInnerContainer.removeClass('opacity-hide');\n resultsLoader.addClass('opacity-hide');\n }\n };\n\n $scope.performSearch = function (index, uri, searchType, resultType, parameters) {\n\n toggleOntoLoader(true);\n\n // this is either the search term or the iri for the subject\n let termOrSubject = uri;\n\n $scope.lastSearch = {};\n $scope.lastSearch.type = searchType;\n\n if (searchType === 'searchEntityPredicate') {\n termOrSubject = $scope.psiSubject;\n $scope.lastSearch.predicate = uri;\n }\n\n if (searchType === 'searchTerm') {\n termOrSubject = literalForQuery(termOrSubject);\n } else {\n termOrSubject = iriForQuery(termOrSubject);\n }\n\n $scope.lastSearch.termOrSubject = termOrSubject;\n\n const headers = {Accept: 'application/x-sparqlstar-results+json, application/sparql-results+json;q=0.9, */*;q=0.8'};\n let sparqlQuery;\n if (searchType === 'searchAnalogical') {\n sparqlQuery = ($scope.selected.analogicalQuery) ? $scope.selected.analogicalQuery : $scope.searchQueries['analogical'];\n } else {\n sparqlQuery = ($scope.selected.searchQuery) ? $scope.selected.searchQuery : $scope.searchQueries[$scope.selected.type];\n }\n const sendData = {\n query: sparqlQuery,\n $index: iriForQuery(PREFIX_INSTANCE + index),\n $query: termOrSubject,\n $searchType: iriForQuery(($scope.selected.type === 'text' ? PREFIX : PREFIX_PREDICATION) + (searchType === 'searchEntityPredicate' ? 'searchEntity' : searchType)),\n $resultType: iriForQuery($scope.selected.type === 'text' ? PREFIX + resultType : PREFIX_PREDICATION + 'entityResult'),\n $parameters: literalForQuery(parameters)\n };\n\n if (searchType === 'searchEntityPredicate') {\n sendData.$psiPredicate = $scope.lastSearch.predicate ? iriForQuery($scope.lastSearch.predicate) : iriForQuery(ANY_PREDICATE);\n }\n\n if (searchType === 'searchAnalogical') {\n $scope.searchSubject = uri;\n sendData.$givenSubject = iriForQuery($scope.analogicalSubject);\n sendData.$givenObject = iriForQuery($scope.analogicalObject);\n sendData.$searchSubject = iriForQuery(uri);\n }\n\n $.ajax({\n method: 'GET',\n url: 'repositories/' + $repositories.getActiveRepository(),\n data: sendData,\n headers: headers\n }).done(function (data, textStatus, jqXhrOrErrorString) {\n toggleOntoLoader(false);\n yasr.setResponse(data, textStatus, jqXhrOrErrorString);\n }).fail(function (data) {\n toastr.error(getError(data), $translate.instant('similarity.get.resource.error'));\n toggleOntoLoader(false);\n });\n };\n\n $scope.viewSearchQuery = function () {\n let queryTemplate;\n if ($scope.lastSearch.type === 'searchAnalogical') {\n queryTemplate = ($scope.selected.analogicalQuery) ? $scope.selected.analogicalQuery : $scope.searchQueries['analogical'];\n } else {\n queryTemplate = ($scope.selected.searchQuery) ? $scope.selected.searchQuery : $scope.searchQueries[$scope.selected.type];\n }\n const replacedQuery = queryTemplate\n .replace('?index', 'inst:' + $scope.selected.name)\n .replace('?query', $scope.lastSearch.termOrSubject)\n .replace('?searchType', ($scope.selected.type === 'text' ? ':' : 'psi:') + ($scope.lastSearch.type === 'searchEntityPredicate' ? 'searchEntity' : $scope.lastSearch.type))\n .replace('?resultType', $scope.selected.type === 'text' ? ':' + $scope.resultType : 'psi:entityResult')\n .replace('?parameters', literalForQuery((!$scope.searchParameters) ? '' : $scope.searchParameters))\n .replace('?psiPredicate', $scope.lastSearch.predicate ? iriForQuery($scope.lastSearch.predicate) : iriForQuery(ANY_PREDICATE))\n .replace('?givenSubject', iriForQuery($scope.analogicalSubject))\n .replace('?givenObject', iriForQuery($scope.analogicalObject))\n .replace('?searchSubject', iriForQuery($scope.searchSubject));\n\n $modal.open({\n templateUrl: 'pages/viewQuery.html',\n controller: 'ViewQueryCtrl',\n resolve: {\n query: function () {\n return replacedQuery;\n }\n }\n });\n };\n\n\n $scope.deleteIndex = function (index) {\n ModalService.openSimpleModal({\n title: $translate.instant('common.confirm'),\n message: $translate.instant('similarity.delete.index.warning', {name: index.name}),\n warning: true\n }).result\n .then(function () {\n SimilarityRestService.deleteIndex(index)\n .then(function () {\n $scope.getSimilarityIndexes();\n }, function (err) {\n toastr.error(getError(err));\n });\n });\n };\n\n $scope.viewCreateQuery = function (index) {\n SimilarityRestService.getQuery({\n indexName: index.name,\n indexOptions: index.options,\n query: index.selectQuery,\n indexStopList: index.stopList,\n queryInference: index.infer,\n querySameAs: index.sameAs,\n viewType: index.type,\n indexAnalyzer: index.analyzer\n }).success(function (query) {\n $modal.open({\n templateUrl: 'pages/viewQuery.html',\n controller: 'ViewQueryCtrl',\n resolve: {\n query: function () {\n return query;\n }\n }\n });\n });\n };\n\n $scope.rebuildIndex = function (index) {\n // Migration\n if (!index.searchQuery) {\n index.searchQuery = index.type ? $scope.searchQueries[index.type] : $scope.searchQueries.text;\n }\n ModalService.openSimpleModal({\n title: $translate.instant('common.confirm'),\n message: decodeHTML($translate.instant('similarity.rebuild.index.warning', {name: index.name})),\n warning: true\n }).result\n .then(function () {\n index.status = 'REBUILDING';\n SimilarityRestService.rebuildIndex(index)\n .then(function (res) {\n }, function (err) {\n toastr.error(getError(err));\n });\n });\n };\n\n $scope.copyToClipboardResult = function (uri) {\n ModalService.openCopyToClipboardModal(uri);\n };\n\n $scope.trimIRI = function (iri) {\n return _.trim(iri, \"<>\");\n };\n}\n"],"sourceRoot":""}
|