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
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[
|
|
1
|
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[16,49,54,56],{102:function(e,t,n){"use strict";n.r(t);n(4),n(11),n(58),n(95),n(59),n(253),n(258),n(57);angular.module("graphdb.framework.explore",["ngRoute","toastr","xeditable","angucomplete-alt-onto","graphdb.framework.explore.services","graphdb.framework.explore.controllers","graphdb.framework.explore.directives","graphdb.framework.core.directives.fittext"])},258:function(e,t){
|
|
2
2
|
/*! Copyright (c) 2014 Hidenari Nozaki and contributors | Licensed under the MIT license */
|
|
3
3
|
!function(e,t){"use strict";!function(e){e.module("angucomplete-alt-onto",[]).directive("angucompleteAltOnto",["$q","$parse","$http","$sce","$timeout","$templateCache","$interpolate","$rootScope",function(e,t,n,r,l,i,o,a){function u(t,i,o,a){var u,s,c,d,g,p,h=i.find("input"),f=3,m=null,w="autocomplete-required",v=null,b=null,x=i[0].querySelector(".angucomplete-dropdown"),y=!1,S=null;function C(e,n){e&&("object"==typeof e?(t.uri=R(e),M({originalObject:e})):"string"==typeof e&&e.length>0?t.uri=e:console&&console.error&&console.error("Tried to set "+(n?"initial":"")+" value of angucomplete to",e,"which is an invalid value"),F(!0))}function I(e){S=null,t.hideResults(e),document.body.removeEventListener("click",I)}function $(e){return e.which?e.which:e.keyCode}function M(e){"function"==typeof t.selectedObject?t.selectedObject(e):t.selectedObject=e,F(!!e)}function R(e){return t.titleField.split(",").map((function(t){return L(e,t)})).join(" ")}function L(e,t){var n,r;if(t){n=t.split("."),r=e;for(var l=0;l<n.length;l++)r=r[n[l]]}else r=e;return r}function D(e,n){var l,i,o;if(o=new RegExp(n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"i"),e)return e.match&&e.replace||(e=e.toString()),l=(i=e.match(o))?e.replace(o,'<span class="'+t.matchClass+'">'+i[0]+"</span>"):e,r.trustAsHtml(l)}function F(e){t.notEmpty=e,v=t.uri,t.fieldRequired&&a&&t.inputName&&a[t.inputName].$setValidity(w,e)}function j(e){!t.overrideSuggestions||t.selectedObject&&t.selectedObject.originalObject===t.uri||(e&&e.preventDefault(),l.cancel(m),H(),M({originalObject:t.uri}),t.clearSelected&&(t.uri=null),z())}function X(){return i[0].querySelectorAll(".angucomplete-row")[t.currentIndex]}function k(e){x.scrollTop=x.scrollTop+e}function U(){var e=t.results[t.currentIndex];if(t.matchClass){var n=R(e.originalObject);n=n.replace(/<b>|<\/b>/g,""),h.val(n)}else h.val(e.title)}function O(e){return function(n,r,l,i){r||l||i||!n.data||(n=n.data),t.searching=!1,B(L(s(n),t.remoteUrlDataField),e)}}function q(e,n,r,l){0!==n&&-1!==n&&(n||r||l||(n=e.status),t.remoteUrlErrorCallback?t.remoteUrlErrorCallback(e,n,r,l):console&&console.error&&console.error("http error"))}function H(){b&&b.resolve()}function T(r){var l={},i=t.remoteUrl+encodeuriComponent(r);t.remoteUrlRequestFormatter&&(l={params:t.remoteUrlRequestFormatter(r)},i=t.remoteUrl),t.remoteUrlRequestWithCredentials&&(l.withCredentials=!0),H(),b=e.defer(),l.timeout=b.promise,n.get(i,l).success(O(r)).error(q)}function N(n){H(),b=e.defer(),t.remoteApiHandler(n,b.promise).then(O(n)).catch(q)}function z(){t.showDropdown=!1,t.results=[],x&&(x.scrollTop=0)}function E(){t.showDropdown=d,t.currentIndex=t.focusFirst?0:-1,t.results=[]}function A(e){!e||e.length<f||(t.localData?t.$apply((function(){var n;n=void 0!==t.localSearch()?t.localSearch()(e):function(e){var n,r,l,i,o=t.searchFields.split(","),a=[];for(void 0!==t.parseInput()&&(e=t.parseInput()(e)),n=0;n<t.localData.length;n++){for(r=!1,l=0;l<o.length;l++)i=L(t.localData[n],o[l])||"",r=r||i.toString().toLowerCase().indexOf(e.toString().toLowerCase())>=0;r&&(a[a.length]=t.localData[n])}return a}(e),t.searching=!1,B(n,e)})):t.remoteApiHandler?N(e):T(e))}function B(e,n){var r,l,i,o,a,u;if(e&&e.length>0)for(t.results=[],r=0;r<e.length;r++)t.titleField&&""!==t.titleField&&(o=a=R(e[r])),l="",t.descriptionField&&(l=u=L(e[r],t.descriptionField)),i="",t.imageField&&(i=L(e[r],t.imageField)),t.matchClass&&(a=D(o,n),u=D(l,n)),t.results[t.results.length]={title:a,description:u,image:i,originalObject:e[r]};else t.results=[];t.autoMatch&&1===t.results.length&&function(e,n,r){if(!r)return!1;for(var l in n)if(n[l].toLowerCase()===r.toLowerCase())return t.selectResult(e),!0;return!1}(t.results[0],{title:o,desc:l||""},t.uri)?t.showDropdown=!1:0!==t.results.length||g?t.showDropdown=!0:t.showDropdown=!1}function V(){t.localData?B(t.localData,""):t.remoteApiHandler?N(""):T("")}i.on("mousedown",(function(e){e.target.id?(S=e.target.id)===t.id+"_dropdown"&&document.body.addEventListener("click",I):S=e.target.className})),t.currentIndex=t.focusFirst?0:null,t.searching=!1,c=t.$watch("initialValue",(function(e){e&&(c(),C(e,!0))})),t.$watch("fieldRequired",(function(e,n){e!==n&&(e?v&&-1!==t.currentIndex?F(!0):F(!1):a[t.inputName].$setValidity(w,!0))})),t.$on("angucomplete-alt:clearInput",(function(e,n){n&&n!==t.id||(t.uri=null,M(),F(!1),z())})),t.$on("angucomplete-alt:changeInput",(function(e,n,r){n&&n===t.id&&C(r)})),t.onFocusHandler=function(){t.focusIn&&t.focusIn(),0!==f||t.uri&&0!==t.uri.length||(t.currentIndex=t.focusFirst?0:t.currentIndex,t.showDropdown=!0,V())},t.hideResults=function(){S&&(S===t.id+"_dropdown"||S.indexOf("angucomplete")>=0)?S=null:(u=l((function(){z(),t.$apply((function(){t.uri&&t.uri.length>0&&h.val(t.uri)}))}),200),H(),t.focusOut&&t.focusOut(),t.overrideSuggestions&&t.uri&&t.uri.length>0&&-1===t.currentIndex&&j())},t.resetHideResults=function(){u&&l.cancel(u)},t.hoverRow=function(e){t.currentIndex=e},t.selectResult=function(e){t.matchClass&&(e.title=R(e.originalObject),"string"==typeof e.title&&(e.title=e.title.replace(/<b>|<\/b>/g,"")),e.description=L(e.originalObject,t.descriptionField)),t.clearSelected?t.uri=null:t.uri=e.title,M(e),z()},t.inputChangeHandler=function(e){return e.length<f?(H(),z()):0===e.length&&0===f&&(t.searching=!1,V()),t.inputChanged&&(e=t.inputChanged(e)),e},t.fieldRequiredClass&&""!==t.fieldRequiredClass&&(w=t.fieldRequiredClass),t.minlength&&""!==t.minlength&&(f=parseInt(t.minlength,10)),t.pause||(t.pause=500),t.clearSelected||(t.clearSelected=!1),t.overrideSuggestions||(t.overrideSuggestions=!1),t.fieldRequired&&a&&(t.initialValue?F(!0):F(!1)),t.inputType=o.type?o.type:"text",t.textSearching=o.textSearching?o.textSearching:"Searching...",t.textNoResults=o.textNoResults?o.textNoResults:"No results found",d="false"!==t.textSearching,g="false"!==t.textNoResults,t.maxlength=o.maxlength?o.maxlength:524288,h.on("keydown",(function(e){var n=$(e),r=null,l=null;13===n&&t.results?(t.currentIndex>=0&&t.currentIndex<t.results.length?(e.preventDefault(),t.selectResult(t.results[t.currentIndex])):(j(e),z()),t.$apply()):40===n&&t.results?(e.preventDefault(),t.currentIndex+1<t.results.length&&t.showDropdown&&(t.$apply((function(){t.currentIndex++,U()})),y&&(r=X(),x.getBoundingClientRect().top+parseInt(getComputedStyle(x).maxHeight,10)<r.getBoundingClientRect().bottom&&k(function(e){var t=getComputedStyle(e);return e.offsetHeight+parseInt(t.marginTop,10)+parseInt(t.marginBottom,10)}(r))))):38===n&&t.results?(e.preventDefault(),t.currentIndex>=1?(t.$apply((function(){t.currentIndex--,U()})),y&&(l=X().getBoundingClientRect().top-(x.getBoundingClientRect().top+parseInt(getComputedStyle(x).paddingTop,10)))<0&&k(l-1)):0===t.currentIndex&&t.$apply((function(){t.currentIndex=-1,h.val(t.uri)}))):9===n?t.results&&t.results.length>0&&t.showDropdown?-1===t.currentIndex&&t.overrideSuggestions?j():(-1===t.currentIndex&&(t.currentIndex=0),t.selectResult(t.results[t.currentIndex]),t.$digest()):t.uri&&t.uri.length>0&&j():27===n&&e.preventDefault()})),h.on("keyup",(function(e){var n=$(e);if(37!==n&&39!==n)if(38===n||13===n)e.preventDefault();else if(40===n)e.preventDefault(),!t.showDropdown&&t.uri&&t.uri.length>=f&&(E(),t.searching=!0,A(t.uri));else if(27===n)z(),t.$apply((function(){h.val(t.uri)}));else{if(0===f&&!t.uri)return;t.uri&&""!==t.uri?t.uri.length>=f&&(E(),m&&l.cancel(m),t.searching=!0,m=l((function(){A(t.uri)}),t.pause)):t.showDropdown=!1,v&&v!==t.uri&&!t.clearSelected&&t.$apply((function(){M()}))}})),p="remoteUrlResponseFormatter",s=function(e){return t[p]?t[p](e):e},l((function(){var e=getComputedStyle(x);y=e.maxHeight&&"auto"===e.overflowY}))}return i.put("/angucomplete-alt/index.html",'<div class="angucomplete-holder" ng-class="{\'angucomplete-dropdown-visible\': showDropdown}"> <input id="{{id}}_value" name="{{inputName}}" tabindex="{{fieldTabindex}}" ng-class="{\'angucomplete-input-not-empty\': notEmpty}" ng-model="uri" ng-disabled="disableInput" type="{{inputType}}" placeholder="{{placeholder}}" maxlength="{{maxlength}}" ng-focus="onFocusHandler()" class="{{inputClass}}" ng-focus="resetHideResults()" ng-blur="hideResults($event)" autocapitalize="off" autocorrect="off" autocomplete="off" ng-change="inputChangeHandler(uri)" style="overflow: hidden; padding-right: .5em;"/> <div id="{{id}}_dropdown" class="angucomplete-dropdown" ng-show="disableSuggestions && showDropdown"> <div class="angucomplete-searching" ng-show="searching" ng-bind="textSearching"></div> <div class="angucomplete-searching" ng-show="!searching && (!results || results.length == 0)" ng-bind="textNoResults"></div> <div class="angucomplete-row" ng-repeat="result in results" ng-click="selectResult(result)" ng-mouseenter="hoverRow($index)" ng-class="{\'angucomplete-selected-row\': $index == currentIndex}"> <div ng-if="imageField" class="angucomplete-image-holder"> <img ng-if="result.image && result.image != \'\'" ng-src="{{result.image}}" class="angucomplete-image"/> <div ng-if="!result.image && result.image != \'\'" class="angucomplete-image-default"></div> </div> <div class="angucomplete-title" ng-if="matchClass" ng-bind-html="result.title"></div> <div class="angucomplete-title" ng-if="!matchClass">{{ result.title }}</div> <div ng-if="matchClass && result.description && result.description != \'\'" class="angucomplete-description" ng-bind-html="result.description"></div> <div ng-if="!matchClass && result.description && result.description != \'\'" class="angucomplete-description">{{result.description}}</div> </div> </div></div>'),{restrict:"EA",require:"^?form",scope:{selectedObject:"=",disableInput:"=",disableSuggestions:"=",initialValue:"=",localData:"=",localSearch:"&",remoteUrlRequestFormatter:"=",remoteUrlRequestWithCredentials:"@",remoteUrlResponseFormatter:"=",remoteUrlErrorCallback:"=",remoteApiHandler:"=",id:"@",type:"@",placeholder:"@",remoteUrl:"@",remoteUrlDataField:"@",titleField:"@",descriptionField:"@",imageField:"@",inputClass:"@",pause:"@",searchFields:"@",minlength:"@",matchClass:"@",clearSelected:"@",overrideSuggestions:"@",fieldRequired:"=",fieldRequiredClass:"@",inputChanged:"=",autoMatch:"@",focusOut:"&",focusIn:"&",fieldTabindex:"@",inputName:"@",focusFirst:"@",parseInput:"&"},templateUrl:function(e,t){return t.templateUrl||"/angucomplete-alt/index.html"},compile:function(e){var t=o.startSymbol(),n=o.endSymbol();if("{{"!==t||"}}"!==n){var r=e.html().replace(/\{\{/g,t).replace(/\}\}/g,n);e.html(r)}return u}}}])}(window.angular)}()},57:function(e,t){function n(e){return{restrict:"A",scope:{min:"=",max:"="},link:function(t,n,r){const l={debounce:_.debounce,delay:100,loadDelay:10,compressor:1,min:r.fitTextMin||"inherit",max:r.fitTextMax||"inherit",calcSize:10,lines:1},i=n.parent(),o=n[0],a=o.style,u=window.getComputedStyle(n[0],null),s=n.children().length||l.lines,c="inherit"===l.min?u["font-size"]:l.min,d="inherit"===l.max?u["font-size"]:l.max,g=u["line-height"],p=u.display;let h;function f(){const e=l.calcSize*s/o.offsetWidth/s;return Math.max(Math.min(function(e){const t=parseFloat(getComputedStyle(i[0]).paddingLeft),n=parseFloat(getComputedStyle(i[0]).paddingRight);return(i[0].offsetWidth-(t+n))*e*l.compressor}(e),parseFloat(d)),parseFloat(c))}function m(){h&&e.cancel(h),h=e((function(){o.offsetHeight*o.offsetWidth!=0&&(a.fontSize=l.calcSize+"px",a.lineHeight="1",a.display="inline-block",a.fontSize=f()+"px",a.lineHeight=g,a.display=p)}),l.loadDelay)}t.$watch((function(){return[i[0].offsetWidth,n[0].offsetWidth].join("_")}),(function(){m()})),$(window).on("resize",l.debounce((function(){t.$apply(m)}),l.delay)),t.$on("$destroy",(function(){h&&e.cancel(h),$(window).off("resize")}))}}}angular.module("graphdb.framework.core.directives.fittext",[]).directive("fitText",n),n.$inject=["$timeout"]},58:function(e,t){function n(){return{transformToTrig:function(e){let t="";const n={};for(let t=0;t<e.length;t++){const r=e[t];if(void 0===r.context?r.context="":r.context=_.trim(r.context),angular.isUndefined(n[r.context])){const e=[];e.push(r),n[r.context]=e}else n[r.context].push(r)}const r=Object.keys(n);for(let e=0;e<r.length;e++){const l=r[e];t+=""===l?"\n{":"\n<"+l+"> {";const i=n[l];for(let e=0;e<i.length;e++){const n=i[e];t+="\n\t<"+n.subject+"> <"+n.predicate+"> ","uri"===n.object.type?t+="<"+n.object.value+"> .":t+='"""'+n.object.value+'"""'+(n.object.datatype?"^^<"+n.object.datatype+">":n.object.lang?"@"+n.object.lang:"")+" ."}t+="\n}"}return t},buildStatements:function(e,t){const n=[];if(!_.isEmpty(e.data)){const r=e.data[t],l=Object.keys(r);for(let e=0;e<l.length;e++){const i=l[e],o=r[i];for(let e=0;e<o.length;e++){const r=o[e];for(let e=0;e<r.graphs.length;e++){let l=r.graphs[e];"http://www.ontotext.com/explicit"===l&&(l=""),r.lang&&(r.datatype=""),r.datatype||(r.datatype=""),n.push({subject:t,predicate:i,object:{value:r.value,type:r.type,datatype:r.datatype,lang:r.lang},context:l})}}}}return n},getDatatypeOptions:function(){return[{value:"",label:"string"},{value:"http://www.w3.org/2001/XMLSchema#boolean",label:"boolean"},{value:"http://www.w3.org/2001/XMLSchema#decimal",label:"decimal"},{value:"http://www.w3.org/2001/XMLSchema#integer",label:"integer"},{value:"http://www.w3.org/2001/XMLSchema#double",label:"double"},{value:"http://www.w3.org/2001/XMLSchema#float",label:"float"},{value:"http://www.w3.org/2001/XMLSchema#date",label:"date"},{value:"http://www.w3.org/2001/XMLSchema#time",label:"time"},{value:"http://www.w3.org/2001/XMLSchema#dateTime",label:"date time"},{value:"http://www.w3.org/2001/XMLSchema#byte",label:"byte"},{value:"http://www.w3.org/2001/XMLSchema#short",label:"short"},{value:"http://www.w3.org/2001/XMLSchema#int",label:"int"},{value:"http://www.w3.org/2001/XMLSchema#long",label:"long"},{value:"http://www.w3.org/2001/XMLSchema#unsignedByte",label:"unsigned byte"},{value:"http://www.w3.org/2001/XMLSchema#unsignedShort",label:"unsigned short"},{value:"http://www.w3.org/2001/XMLSchema#unsignedInt",label:"unsigned int"},{value:"http://www.w3.org/2001/XMLSchema#unsignedLong",label:"unsigned long"},{value:"http://www.w3.org/2001/XMLSchema#positoveInteger",label:"positive integer"},{value:"http://www.w3.org/2001/XMLSchema#nonNegativeInteger",label:"non-negative integer"},{value:"http://www.w3.org/2001/XMLSchema#negativeInteger",label:"negative integer"},{value:"http://www.w3.org/2001/XMLSchema#nonPositiveInteger",label:"non-positive integer"},{value:"http://www.w3.org/2001/XMLSchema#gYear",label:"gYear"},{value:"http://www.w3.org/2001/XMLSchema#gMonth",label:"gMonth"},{value:"http://www.w3.org/2001/XMLSchema#gDay",label:"gDay"},{value:"http://www.w3.org/2001/XMLSchema#gYearMonth",label:"gYearMonth"},{value:"http://www.w3.org/2001/XMLSchema#gMonthDay",label:"gMonthDay"},{value:"http://www.w3.org/2001/XMLSchema#duration",label:"duration"},{value:"http://www.w3.org/2001/XMLSchema#hexBinary",label:"hex binary"},{value:"http://www.w3.org/2001/XMLSchema#base64Binary",label:"base64 binary"}]}}}angular.module("graphdb.framework.explore.services",[]).factory("StatementsService",n),n.$inject=[]},59:function(e,t,n){"use strict";n.r(t);n(13);angular.module("graphdb.framework.explore.directives",["graphdb.framework.utils.uriutils"]).directive("uri",["UriUtils",function(e){return{require:"ngModel",link:function(t,n,r,l){l.$parsers.unshift((function(t){if(!angular.isUndefined(t)&&t.length>0){const n=e.validateRdfUri(t);return l.$setValidity("searchStr",n),n?t:void 0}return l.$setValidity("searchStr",!0),t})),l.$formatters.unshift((function(t){return angular.isUndefined(t)||l.$setValidity("searchStr",e.validateRdfUri),t}))}}}])}}]);
|
|
4
|
-
//# sourceMappingURL=
|
|
4
|
+
//# sourceMappingURL=16.23e12f234078c8777ed0.bundle.js.map
|
package/dist/{15.516b0302360113a02b82.bundle.js.map → 16.23e12f234078c8777ed0.bundle.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///./src/js/angular/explore/app.js","webpack:///./src/js/lib/angucomplete-alt/angucomplete-alt-onto.min.js","webpack:///./src/js/angular/core/directives/fit-text.directive.js","webpack:///./src/js/angular/explore/statements.service.js","webpack:///./src/js/angular/explore/directives.js"],"names":["angular","module","root","factory","directive","$q","$parse","$http","$sce","$timeout","$templateCache","$interpolate","$rootScope","link","scope","elem","attrs","ctrl","hideTimer","responseFormatter","unbindInitialValue","displaySearching","displayNoResults","fn","inputField","find","minlength","searchTimer","requiredClassName","validState","httpCanceller","dd","querySelector","isScrollOn","mousedownOn","handleInputChange","newval","initial","uri","extractTitle","callOrAssign","originalObject","length","console","error","handleRequired","clickoutHandlerForDropdown","event","hideResults","document","body","removeEventListener","ie8EventNormalizer","which","keyCode","value","selectedObject","data","titleField","split","map","field","extractValue","join","obj","key","keys","result","i","findMatchString","target","str","matches","re","RegExp","replace","match","toString","matchClass","trustAsHtml","valid","notEmpty","fieldRequired","inputName","$setValidity","handleOverrideSuggestions","overrideSuggestions","preventDefault","cancel","cancelHttpRequest","clearSelected","clearResults","dropdownRow","querySelectorAll","currentIndex","dropdownScrollTopTo","offset","scrollTop","updateInputField","current","results","extractedTitle","val","title","httpSuccessCallbackGen","responseData","status","headers","config","searching","processResults","remoteUrlDataField","httpErrorCallback","errorRes","remoteUrlErrorCallback","resolve","getRemoteResults","params","url","remoteUrl","encodeuriComponent","remoteUrlRequestFormatter","remoteUrlRequestWithCredentials","withCredentials","defer","timeout","promise","get","success","getRemoteResultsWithCustomHandler","remoteApiHandler","then","catch","showDropdown","initResults","focusFirst","searchTimerComplete","localData","$apply","localSearch","s","searchFields","parseInput","toLowerCase","indexOf","getLocalResults","description","image","text","formattedText","formattedDesc","descriptionField","imageField","autoMatch","selectResult","checkExactMatch","desc","showAll","on","id","addEventListener","className","$watch","oldval","$on","elementId","onFocusHandler","focusIn","focusOut","resetHideResults","hoverRow","index","inputChangeHandler","inputChanged","fieldRequiredClass","parseInt","pause","initialValue","inputType","type","textSearching","textNoResults","maxlength","row","rowTop","getBoundingClientRect","top","getComputedStyle","maxHeight","bottom","css","offsetHeight","marginTop","marginBottom","dropdownRowOffsetHeight","paddingTop","$digest","overflowY","put","restrict","require","disableInput","disableSuggestions","remoteUrlResponseFormatter","placeholder","inputClass","fieldTabindex","templateUrl","element","compile","tElement","startSym","startSymbol","endSym","endSymbol","interpolatedHtml","html","window","fitTextDirective","min","max","_","debounce","fitTextMin","fitTextMax","parent","domElem","domElemStyle","style","computed","newlines","children","lines","minFontSize","maxFontSize","lineHeight","display","resizePromise","calculate","ratio","calcSize","offsetWidth","Math","paddingLeft","parseFloat","paddingRight","compressor","getMaxFontSize","resizer","fontSize","loadDelay","$","delay","off","$inject","StatementsService","transformToTrig","statements","contexts","statement","undefined","context","trim","isUndefined","cstatement","push","ckeys","Object","j","subject","predicate","object","datatype","lang","buildStatements","res","isEmpty","graph","predicates","objects","k","graphs","getDatatypeOptions","label","UriUtils","attr","ngModel","$parsers","unshift","isValidUri","validateRdfUri","$formatters"],"mappings":"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","file":"15.516b0302360113a02b82.bundle.js","sourcesContent":["import 'angular/core/services';\nimport 'angular/core/directives';\nimport 'angular/explore/statements.service';\nimport 'angular/explore/controllers';\nimport 'angular/explore/directives';\nimport 'angular-xeditable/dist/js/xeditable.min';\nimport 'lib/angucomplete-alt/angucomplete-alt-onto.min';\nimport 'angular/core/directives/fit-text.directive';\n\nconst modules = [\n 'ngRoute',\n 'toastr',\n 'xeditable',\n 'angucomplete-alt-onto',\n 'graphdb.framework.explore.services',\n 'graphdb.framework.explore.controllers',\n 'graphdb.framework.explore.directives',\n 'graphdb.framework.core.directives.fittext'\n];\n\nangular.module('graphdb.framework.explore', modules);\n","/*\n * angucomplete-alt\n * Autocomplete directive for AngularJS\n * This is a fork of Daryl Rowland's angucomplete with some extra features.\n * By Hidenari Nozaki\n */\n\n/*! Copyright (c) 2014 Hidenari Nozaki and contributors | Licensed under the MIT license */\n\n(function (root, factory) {\n 'use strict';\n// if (typeof module !== 'undefined' && module.exports) {\n// // CommonJS\n// module.exports = factory(require('angular'));\n// } else if (typeof define === 'function' && define.amd) {\n// // AMD\n// define(['angular'], factory);\n// } else {\n// // Global Variables\n factory(root.angular);\n// }\n}(window, function (angular) {\n 'use strict';\n\n angular.module('angucomplete-alt-onto', []).directive('angucompleteAltOnto', ['$q', '$parse', '$http', '$sce', '$timeout', '$templateCache', '$interpolate', '$rootScope', function ($q, $parse, $http, $sce, $timeout, $templateCache, $interpolate, $rootScope) {\n // keyboard events\n var KEY_DW = 40;\n var KEY_RT = 39;\n var KEY_UP = 38;\n var KEY_LF = 37;\n var KEY_ES = 27;\n var KEY_EN = 13;\n var KEY_TAB = 9;\n\n var MIN_LENGTH = 3;\n var MAX_LENGTH = 524288; // the default max length per the html maxlength attribute\n var PAUSE = 500;\n var BLUR_TIMEOUT = 200;\n\n // string constants\n var REQUIRED_CLASS = 'autocomplete-required';\n var TEXT_SEARCHING = 'Searching...';\n var TEXT_NORESULTS = 'No results found';\n var TEMPLATE_URL = '/angucomplete-alt/index.html';\n\n // Set the default template for this directive\n $templateCache.put(TEMPLATE_URL,\n '<div class=\"angucomplete-holder\" ng-class=\"{\\'angucomplete-dropdown-visible\\': showDropdown}\">' +\n ' <input id=\"{{id}}_value\" name=\"{{inputName}}\" tabindex=\"{{fieldTabindex}}\" ng-class=\"{\\'angucomplete-input-not-empty\\': notEmpty}\" ng-model=\"uri\" ng-disabled=\"disableInput\" type=\"{{inputType}}\" placeholder=\"{{placeholder}}\" maxlength=\"{{maxlength}}\" ng-focus=\"onFocusHandler()\" class=\"{{inputClass}}\" ng-focus=\"resetHideResults()\" ng-blur=\"hideResults($event)\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" ng-change=\"inputChangeHandler(uri)\" style=\"overflow: hidden; padding-right: .5em;\"/>' +\n ' <div id=\"{{id}}_dropdown\" class=\"angucomplete-dropdown\" ng-show=\"disableSuggestions && showDropdown\">' +\n ' <div class=\"angucomplete-searching\" ng-show=\"searching\" ng-bind=\"textSearching\"></div>' +\n ' <div class=\"angucomplete-searching\" ng-show=\"!searching && (!results || results.length == 0)\" ng-bind=\"textNoResults\"></div>' +\n ' <div class=\"angucomplete-row\" ng-repeat=\"result in results\" ng-click=\"selectResult(result)\" ng-mouseenter=\"hoverRow($index)\" ng-class=\"{\\'angucomplete-selected-row\\': $index == currentIndex}\">' +\n ' <div ng-if=\"imageField\" class=\"angucomplete-image-holder\">' +\n ' <img ng-if=\"result.image && result.image != \\'\\'\" ng-src=\"{{result.image}}\" class=\"angucomplete-image\"/>' +\n ' <div ng-if=\"!result.image && result.image != \\'\\'\" class=\"angucomplete-image-default\"></div>' +\n ' </div>' +\n ' <div class=\"angucomplete-title\" ng-if=\"matchClass\" ng-bind-html=\"result.title\"></div>' +\n ' <div class=\"angucomplete-title\" ng-if=\"!matchClass\">{{ result.title }}</div>' +\n ' <div ng-if=\"matchClass && result.description && result.description != \\'\\'\" class=\"angucomplete-description\" ng-bind-html=\"result.description\"></div>' +\n ' <div ng-if=\"!matchClass && result.description && result.description != \\'\\'\" class=\"angucomplete-description\">{{result.description}}</div>' +\n ' </div>' +\n ' </div>' +\n '</div>'\n );\n\n function link(scope, elem, attrs, ctrl) {\n var inputField = elem.find('input');\n var minlength = MIN_LENGTH;\n var searchTimer = null;\n var hideTimer;\n var requiredClassName = REQUIRED_CLASS;\n var responseFormatter;\n var validState = null;\n var httpCanceller = null;\n var dd = elem[0].querySelector('.angucomplete-dropdown');\n var isScrollOn = false;\n var mousedownOn = null;\n var unbindInitialValue;\n var displaySearching;\n var displayNoResults;\n\n\n elem.on('mousedown', function(event) {\n if (event.target.id) {\n mousedownOn = event.target.id;\n if (mousedownOn === scope.id + '_dropdown') {\n document.body.addEventListener('click', clickoutHandlerForDropdown);\n }\n }\n else {\n mousedownOn = event.target.className;\n }\n });\n\n scope.currentIndex = scope.focusFirst ? 0 : null;\n scope.searching = false;\n unbindInitialValue = scope.$watch('initialValue', function(newval) {\n if (newval) {\n // remove scope listener\n unbindInitialValue();\n // change input\n handleInputChange(newval, true);\n }\n });\n\n scope.$watch('fieldRequired', function(newval, oldval) {\n if (newval !== oldval) {\n if (!newval) {\n ctrl[scope.inputName].$setValidity(requiredClassName, true);\n }\n else if (!validState || scope.currentIndex === -1) {\n handleRequired(false);\n }\n else {\n handleRequired(true);\n }\n }\n });\n\n scope.$on('angucomplete-alt:clearInput', function (event, elementId) {\n if (!elementId || elementId === scope.id) {\n scope.uri = null;\n callOrAssign();\n handleRequired(false);\n clearResults();\n }\n });\n\n scope.$on('angucomplete-alt:changeInput', function (event, elementId, newval) {\n if (!!elementId && elementId === scope.id) {\n handleInputChange(newval);\n }\n });\n\n function handleInputChange(newval, initial) {\n if (newval) {\n if (typeof newval === 'object') {\n scope.uri = extractTitle(newval);\n callOrAssign({originalObject: newval});\n } else if (typeof newval === 'string' && newval.length > 0) {\n scope.uri = newval;\n } else {\n if (console && console.error) {\n console.error('Tried to set ' + (!!initial ? 'initial' : '') + ' value of angucomplete to', newval, 'which is an invalid value');\n }\n }\n\n handleRequired(true);\n }\n }\n\n // #194 dropdown list not consistent in collapsing (bug).\n function clickoutHandlerForDropdown(event) {\n mousedownOn = null;\n scope.hideResults(event);\n document.body.removeEventListener('click', clickoutHandlerForDropdown);\n }\n\n // for IE8 quirkiness about event.which\n function ie8EventNormalizer(event) {\n return event.which ? event.which : event.keyCode;\n }\n\n function callOrAssign(value) {\n if (typeof scope.selectedObject === 'function') {\n scope.selectedObject(value);\n }\n else {\n scope.selectedObject = value;\n }\n\n if (value) {\n handleRequired(true);\n }\n else {\n handleRequired(false);\n }\n }\n\n function callFunctionOrIdentity(fn) {\n return function(data) {\n return scope[fn] ? scope[fn](data) : data;\n };\n }\n\n function setInputString(str) {\n callOrAssign({originalObject: str});\n\n if (scope.clearSelected) {\n scope.uri = null;\n }\n clearResults();\n }\n\n function extractTitle(data) {\n // split title fields and run extractValue for each and join with ' '\n return scope.titleField.split(',')\n .map(function(field) {\n return extractValue(data, field);\n })\n .join(' ');\n }\n\n function extractValue(obj, key) {\n var keys, result;\n if (key) {\n keys= key.split('.');\n result = obj;\n for (var i = 0; i < keys.length; i++) {\n result = result[keys[i]];\n }\n }\n else {\n result = obj;\n }\n\n return result;\n }\n\n function findMatchString(target, str) {\n var result, matches, re;\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions\n // Escape user input to be treated as a literal string within a regular expression\n re = new RegExp(str.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'), 'i');\n if (!target) { return; }\n if (!target.match || !target.replace) { target = target.toString(); }\n matches = target.match(re);\n if (matches) {\n result = target.replace(re,\n '<span class=\"'+ scope.matchClass +'\">'+ matches[0] +'</span>');\n }\n else {\n result = target;\n }\n return $sce.trustAsHtml(result);\n }\n\n function handleRequired(valid) {\n scope.notEmpty = valid;\n validState = scope.uri;\n if (scope.fieldRequired && ctrl && scope.inputName) {\n ctrl[scope.inputName].$setValidity(requiredClassName, valid);\n }\n }\n\n function keyupHandler(event) {\n var which = ie8EventNormalizer(event);\n if (which === KEY_LF || which === KEY_RT) {\n // do nothing\n return;\n }\n\n if (which === KEY_UP || which === KEY_EN) {\n event.preventDefault();\n }\n else if (which === KEY_DW) {\n event.preventDefault();\n if (!scope.showDropdown && scope.uri && scope.uri.length >= minlength) {\n initResults();\n scope.searching = true;\n searchTimerComplete(scope.uri);\n }\n }\n else if (which === KEY_ES) {\n clearResults();\n scope.$apply(function() {\n inputField.val(scope.uri);\n });\n }\n else {\n if (minlength === 0 && !scope.uri) {\n return;\n }\n\n if (!scope.uri || scope.uri === '') {\n scope.showDropdown = false;\n } else if (scope.uri.length >= minlength) {\n initResults();\n\n if (searchTimer) {\n $timeout.cancel(searchTimer);\n }\n\n scope.searching = true;\n\n searchTimer = $timeout(function() {\n searchTimerComplete(scope.uri);\n }, scope.pause);\n }\n\n if (validState && validState !== scope.uri && !scope.clearSelected) {\n scope.$apply(function() {\n callOrAssign();\n });\n }\n }\n }\n\n function handleOverrideSuggestions(event) {\n if (scope.overrideSuggestions &&\n !(scope.selectedObject && scope.selectedObject.originalObject === scope.uri)) {\n if (event) {\n event.preventDefault();\n }\n\n // cancel search timer\n $timeout.cancel(searchTimer);\n // cancel http request\n cancelHttpRequest();\n\n setInputString(scope.uri);\n }\n }\n\n function dropdownRowOffsetHeight(row) {\n var css = getComputedStyle(row);\n return row.offsetHeight +\n parseInt(css.marginTop, 10) + parseInt(css.marginBottom, 10);\n }\n\n function dropdownHeight() {\n return dd.getBoundingClientRect().top +\n parseInt(getComputedStyle(dd).maxHeight, 10);\n }\n\n function dropdownRow() {\n return elem[0].querySelectorAll('.angucomplete-row')[scope.currentIndex];\n }\n\n function dropdownRowTop() {\n return dropdownRow().getBoundingClientRect().top -\n (dd.getBoundingClientRect().top +\n parseInt(getComputedStyle(dd).paddingTop, 10));\n }\n\n function dropdownScrollTopTo(offset) {\n dd.scrollTop = dd.scrollTop + offset;\n }\n\n function updateInputField(){\n var current = scope.results[scope.currentIndex];\n if (scope.matchClass) {\n var extractedTitle = extractTitle(current.originalObject);\n extractedTitle = extractedTitle.replace(/<b>|<\\/b>/g, \"\");\n inputField.val(extractedTitle);\n }\n else {\n inputField.val(current.title);\n }\n }\n\n function keydownHandler(event) {\n var which = ie8EventNormalizer(event);\n var row = null;\n var rowTop = null;\n\n if (which === KEY_EN && scope.results) {\n if (scope.currentIndex >= 0 && scope.currentIndex < scope.results.length) {\n event.preventDefault();\n scope.selectResult(scope.results[scope.currentIndex]);\n } else {\n handleOverrideSuggestions(event);\n clearResults();\n }\n scope.$apply();\n } else if (which === KEY_DW && scope.results) {\n event.preventDefault();\n if ((scope.currentIndex + 1) < scope.results.length && scope.showDropdown) {\n scope.$apply(function() {\n scope.currentIndex ++;\n updateInputField();\n });\n\n if (isScrollOn) {\n row = dropdownRow();\n if (dropdownHeight() < row.getBoundingClientRect().bottom) {\n dropdownScrollTopTo(dropdownRowOffsetHeight(row));\n }\n }\n }\n } else if (which === KEY_UP && scope.results) {\n event.preventDefault();\n if (scope.currentIndex >= 1) {\n scope.$apply(function() {\n scope.currentIndex --;\n updateInputField();\n });\n\n if (isScrollOn) {\n rowTop = dropdownRowTop();\n if (rowTop < 0) {\n dropdownScrollTopTo(rowTop - 1);\n }\n }\n }\n else if (scope.currentIndex === 0) {\n scope.$apply(function() {\n scope.currentIndex = -1;\n inputField.val(scope.uri);\n });\n }\n } else if (which === KEY_TAB) {\n if (scope.results && scope.results.length > 0 && scope.showDropdown) {\n if (scope.currentIndex === -1 && scope.overrideSuggestions) {\n // intentionally not sending event so that it does not\n // prevent default tab behavior\n handleOverrideSuggestions();\n }\n else {\n if (scope.currentIndex === -1) {\n scope.currentIndex = 0;\n }\n scope.selectResult(scope.results[scope.currentIndex]);\n scope.$digest();\n }\n }\n else {\n // no results\n // intentionally not sending event so that it does not\n // prevent default tab behavior\n if (scope.uri && scope.uri.length > 0) {\n handleOverrideSuggestions();\n }\n }\n } else if (which === KEY_ES) {\n // This is very specific to IE10/11 #272\n // without this, IE clears the input text\n event.preventDefault();\n }\n }\n\n function httpSuccessCallbackGen(str) {\n return function(responseData, status, headers, config) {\n // normalize return obejct from promise\n if (!status && !headers && !config && responseData.data) {\n responseData = responseData.data;\n }\n scope.searching = false;\n processResults(extractValue(responseFormatter(responseData), scope.remoteUrlDataField), str);\n };\n }\n\n function httpErrorCallback(errorRes, status, headers, config) {\n // cancelled/aborted\n if (status === 0 || status === -1) { return; }\n\n // normalize return obejct from promise\n if (!status && !headers && !config) {\n status = errorRes.status;\n }\n if (scope.remoteUrlErrorCallback) {\n scope.remoteUrlErrorCallback(errorRes, status, headers, config);\n }\n else {\n if (console && console.error) {\n console.error('http error');\n }\n }\n }\n\n function cancelHttpRequest() {\n if (httpCanceller) {\n httpCanceller.resolve();\n }\n }\n\n function getRemoteResults(str) {\n var params = {},\n url = scope.remoteUrl + encodeuriComponent(str);\n if (scope.remoteUrlRequestFormatter) {\n params = {params: scope.remoteUrlRequestFormatter(str)};\n url = scope.remoteUrl;\n }\n if (!!scope.remoteUrlRequestWithCredentials) {\n params.withCredentials = true;\n }\n cancelHttpRequest();\n httpCanceller = $q.defer();\n params.timeout = httpCanceller.promise;\n $http.get(url, params)\n .success(httpSuccessCallbackGen(str))\n .error(httpErrorCallback);\n }\n\n function getRemoteResultsWithCustomHandler(str) {\n cancelHttpRequest();\n\n httpCanceller = $q.defer();\n\n scope.remoteApiHandler(str, httpCanceller.promise)\n .then(httpSuccessCallbackGen(str))\n .catch(httpErrorCallback);\n\n /* IE8 compatible\n scope.remoteApiHandler(str, httpCanceller.promise)\n ['then'](httpSuccessCallbackGen(str))\n ['catch'](httpErrorCallback);\n */\n }\n\n function clearResults() {\n scope.showDropdown = false;\n scope.results = [];\n if (dd) {\n dd.scrollTop = 0;\n }\n }\n\n function initResults() {\n scope.showDropdown = displaySearching;\n scope.currentIndex = scope.focusFirst ? 0 : -1;\n scope.results = [];\n }\n\n function getLocalResults(str) {\n var i, match, s, value,\n searchFields = scope.searchFields.split(','),\n matches = [];\n if (typeof scope.parseInput() !== 'undefined') {\n str = scope.parseInput()(str);\n }\n for (i = 0; i < scope.localData.length; i++) {\n match = false;\n\n for (s = 0; s < searchFields.length; s++) {\n value = extractValue(scope.localData[i], searchFields[s]) || '';\n match = match || (value.toString().toLowerCase().indexOf(str.toString().toLowerCase()) >= 0);\n }\n\n if (match) {\n matches[matches.length] = scope.localData[i];\n }\n }\n return matches;\n }\n\n function checkExactMatch(result, obj, str){\n if (!str) { return false; }\n for(var key in obj){\n if(obj[key].toLowerCase() === str.toLowerCase()){\n scope.selectResult(result);\n return true;\n }\n }\n return false;\n }\n\n function searchTimerComplete(str) {\n // Begin the search\n if (!str || str.length < minlength) {\n return;\n }\n if (scope.localData) {\n scope.$apply(function() {\n var matches;\n if (typeof scope.localSearch() !== 'undefined') {\n matches = scope.localSearch()(str);\n } else {\n matches = getLocalResults(str);\n }\n scope.searching = false;\n processResults(matches, str);\n });\n }\n else if (scope.remoteApiHandler) {\n getRemoteResultsWithCustomHandler(str);\n } else {\n getRemoteResults(str);\n }\n }\n\n function processResults(responseData, str) {\n var i, description, image, text, formattedText, formattedDesc;\n\n if (responseData && responseData.length > 0) {\n scope.results = [];\n\n for (i = 0; i < responseData.length; i++) {\n if (scope.titleField && scope.titleField !== '') {\n text = formattedText = extractTitle(responseData[i]);\n }\n\n description = '';\n if (scope.descriptionField) {\n description = formattedDesc = extractValue(responseData[i], scope.descriptionField);\n }\n\n image = '';\n if (scope.imageField) {\n image = extractValue(responseData[i], scope.imageField);\n }\n\n if (scope.matchClass) {\n formattedText = findMatchString(text, str);\n formattedDesc = findMatchString(description, str);\n }\n\n scope.results[scope.results.length] = {\n title: formattedText,\n description: formattedDesc,\n image: image,\n originalObject: responseData[i]\n };\n }\n\n } else {\n scope.results = [];\n }\n\n if (scope.autoMatch && scope.results.length === 1 &&\n checkExactMatch(scope.results[0],\n {title: text, desc: description || ''}, scope.uri)) {\n scope.showDropdown = false;\n } else if (scope.results.length === 0 && !displayNoResults) {\n scope.showDropdown = false;\n } else {\n scope.showDropdown = true;\n }\n }\n\n function showAll() {\n if (scope.localData) {\n processResults(scope.localData, '');\n }\n else if (scope.remoteApiHandler) {\n getRemoteResultsWithCustomHandler('');\n }\n else {\n getRemoteResults('');\n }\n }\n\n scope.onFocusHandler = function() {\n if (scope.focusIn) {\n scope.focusIn();\n }\n if (minlength === 0 && (!scope.uri || scope.uri.length === 0)) {\n scope.currentIndex = scope.focusFirst ? 0 : scope.currentIndex;\n scope.showDropdown = true;\n showAll();\n }\n };\n\n scope.hideResults = function() {\n if (mousedownOn &&\n (mousedownOn === scope.id + '_dropdown' ||\n mousedownOn.indexOf('angucomplete') >= 0)) {\n mousedownOn = null;\n }\n else {\n hideTimer = $timeout(function() {\n clearResults();\n scope.$apply(function() {\n if (scope.uri && scope.uri.length > 0) {\n inputField.val(scope.uri);\n }\n });\n }, BLUR_TIMEOUT);\n cancelHttpRequest();\n\n if (scope.focusOut) {\n scope.focusOut();\n }\n\n if (scope.overrideSuggestions) {\n if (scope.uri && scope.uri.length > 0 && scope.currentIndex === -1) {\n handleOverrideSuggestions();\n }\n }\n }\n };\n\n scope.resetHideResults = function() {\n if (hideTimer) {\n $timeout.cancel(hideTimer);\n }\n };\n\n scope.hoverRow = function(index) {\n scope.currentIndex = index;\n };\n\n scope.selectResult = function(result) {\n // Restore original values\n if (scope.matchClass) {\n result.title = extractTitle(result.originalObject);\n if (typeof result.title === \"string\") {\n result.title = result.title.replace(/<b>|<\\/b>/g, \"\");\n }\n result.description = extractValue(result.originalObject, scope.descriptionField);\n }\n\n if (scope.clearSelected) {\n scope.uri = null;\n }\n else {\n scope.uri = result.title;\n }\n callOrAssign(result);\n clearResults();\n };\n\n scope.inputChangeHandler = function(str) {\n if (str.length < minlength) {\n cancelHttpRequest();\n clearResults();\n }\n else if (str.length === 0 && minlength === 0) {\n scope.searching = false;\n showAll();\n }\n\n if (scope.inputChanged) {\n str = scope.inputChanged(str);\n }\n return str;\n };\n\n // check required\n if (scope.fieldRequiredClass && scope.fieldRequiredClass !== '') {\n requiredClassName = scope.fieldRequiredClass;\n }\n\n // check min length\n if (scope.minlength && scope.minlength !== '') {\n minlength = parseInt(scope.minlength, 10);\n }\n\n // check pause time\n if (!scope.pause) {\n scope.pause = PAUSE;\n }\n\n // check clearSelected\n if (!scope.clearSelected) {\n scope.clearSelected = false;\n }\n\n // check override suggestions\n if (!scope.overrideSuggestions) {\n scope.overrideSuggestions = false;\n }\n\n // check required field\n if (scope.fieldRequired && ctrl) {\n // check initial value, if given, set validitity to true\n if (scope.initialValue) {\n handleRequired(true);\n }\n else {\n handleRequired(false);\n }\n }\n\n scope.inputType = attrs.type ? attrs.type : 'text';\n\n // set strings for \"Searching...\" and \"No results\"\n scope.textSearching = attrs.textSearching ? attrs.textSearching : TEXT_SEARCHING;\n scope.textNoResults = attrs.textNoResults ? attrs.textNoResults : TEXT_NORESULTS;\n displaySearching = scope.textSearching === 'false' ? false : true;\n displayNoResults = scope.textNoResults === 'false' ? false : true;\n\n // set max length (default to maxlength deault from html\n scope.maxlength = attrs.maxlength ? attrs.maxlength : MAX_LENGTH;\n\n // register events\n inputField.on('keydown', keydownHandler);\n inputField.on('keyup', keyupHandler);\n\n // set response formatter\n responseFormatter = callFunctionOrIdentity('remoteUrlResponseFormatter');\n\n // set isScrollOn\n $timeout(function() {\n var css = getComputedStyle(dd);\n isScrollOn = css.maxHeight && css.overflowY === 'auto';\n });\n }\n\n return {\n restrict: 'EA',\n require: '^?form',\n scope: {\n selectedObject: '=',\n disableInput: '=',\n disableSuggestions: '=',\n initialValue: '=',\n localData: '=',\n localSearch: '&',\n remoteUrlRequestFormatter: '=',\n remoteUrlRequestWithCredentials: '@',\n remoteUrlResponseFormatter: '=',\n remoteUrlErrorCallback: '=',\n remoteApiHandler: '=',\n id: '@',\n type: '@',\n placeholder: '@',\n remoteUrl: '@',\n remoteUrlDataField: '@',\n titleField: '@',\n descriptionField: '@',\n imageField: '@',\n inputClass: '@',\n pause: '@',\n searchFields: '@',\n minlength: '@',\n matchClass: '@',\n clearSelected: '@',\n overrideSuggestions: '@',\n fieldRequired: '=',\n fieldRequiredClass: '@',\n inputChanged: '=',\n autoMatch: '@',\n focusOut: '&',\n focusIn: '&',\n fieldTabindex: '@',\n inputName: '@',\n focusFirst: '@',\n parseInput: '&'\n },\n templateUrl: function(element, attrs) {\n return attrs.templateUrl || TEMPLATE_URL;\n },\n compile: function(tElement) {\n var startSym = $interpolate.startSymbol();\n var endSym = $interpolate.endSymbol();\n if (!(startSym === '{{' && endSym === '}}')) {\n var interpolatedHtml = tElement.html()\n .replace(/\\{\\{/g, startSym)\n .replace(/\\}\\}/g, endSym);\n tElement.html(interpolatedHtml);\n }\n return link;\n }\n };\n }]);\n\n}));","// This is a rework of the ng-FitText.js which can be found here https://github.com/patrickmarabeas/ng-FitText.js\nangular\n .module('graphdb.framework.core.directives.fittext', [])\n .directive('fitText', fitTextDirective);\n\nfitTextDirective.$inject = ['$timeout'];\n\nfunction fitTextDirective($timeout) {\n return {\n restrict: 'A',\n scope: {\n min: '=',\n max: '='\n },\n link: function (scope, element, attrs) {\n\n const config = {\n 'debounce': _.debounce,\n 'delay': 100,\n 'loadDelay': 10,\n 'compressor': 1,\n 'min': attrs.fitTextMin || 'inherit',\n 'max': attrs.fitTextMax || 'inherit',\n 'calcSize': 10,\n 'lines': 1\n };\n\n const parent = element.parent();\n const domElem = element[0];\n const domElemStyle = domElem.style;\n const computed = window.getComputedStyle(element[0], null);\n const newlines = element.children().length || config.lines;\n const minFontSize = config.min === 'inherit' ? computed['font-size'] : config.min;\n const maxFontSize = config.max === 'inherit' ? computed['font-size'] : config.max;\n const lineHeight = computed['line-height'];\n const display = computed['display'];\n let resizePromise;\n\n function calculate() {\n const ratio = (config.calcSize * newlines) / domElem.offsetWidth / newlines;\n return Math.max(Math.min(getMaxFontSize(ratio), parseFloat(maxFontSize)), parseFloat(minFontSize));\n }\n\n function getMaxFontSize(ratio) {\n const paddingLeft = parseFloat(getComputedStyle(parent[0]).paddingLeft);\n const paddingRight = parseFloat(getComputedStyle(parent[0]).paddingRight);\n\n return (parent[0].offsetWidth - (paddingLeft + paddingRight)) * ratio * config.compressor;\n }\n\n function resize() {\n if (domElem.offsetHeight * domElem.offsetWidth === 0) {\n return;\n }\n\n // Preset standard values for making the size calculation\n domElemStyle.fontSize = config.calcSize + 'px';\n domElemStyle.lineHeight = '1';\n domElemStyle.display = 'inline-block';\n\n // Set usage values\n domElemStyle.fontSize = calculate() + 'px';\n domElemStyle.lineHeight = lineHeight;\n domElemStyle.display = display;\n }\n\n function resizer() {\n if (resizePromise) {\n $timeout.cancel(resizePromise);\n }\n\n resizePromise = $timeout(function () {\n resize();\n }, config.loadDelay);\n }\n\n scope.$watch(function () {\n return [\n parent[0].offsetWidth,\n element[0].offsetWidth\n ].join('_');\n }, function () {\n resizer();\n });\n\n $(window).on('resize', config.debounce(function () {\n scope.$apply(resizer)\n }, config.delay));\n\n scope.$on('$destroy', function () {\n if (resizePromise) {\n $timeout.cancel(resizePromise);\n }\n $(window).off('resize');\n });\n }\n };\n}\n","angular\n .module('graphdb.framework.explore.services', [])\n .factory('StatementsService', StatementsService);\n\nStatementsService.$inject = [];\n\nfunction StatementsService() {\n function transformToTrig(statements) {\n let data = '';\n const contexts = {};\n\n for (let i = 0; i < statements.length; i++) {\n const statement = statements[i];\n if (statement.context === undefined) {\n statement.context = '';\n } else {\n statement.context = _.trim(statement.context);\n }\n if (angular.isUndefined(contexts[statement.context])) {\n const cstatement = [];\n cstatement.push(statement);\n contexts[statement.context] = cstatement;\n } else {\n contexts[statement.context].push(statement);\n }\n }\n\n const ckeys = Object.keys(contexts);\n for (let i = 0; i < ckeys.length; i++) {\n const key = ckeys[i];\n if (key === '') {\n data += '\\n{';\n } else {\n data += '\\n<' + key + '> {';\n }\n\n const value = contexts[key];\n for (let j = 0; j < value.length; j++) {\n const statement = value[j];\n data += '\\n\\t<' + statement.subject + '> <' + statement.predicate + '> ';\n if (statement.object.type === 'uri') {\n data += '<' + statement.object.value + '> .';\n } else {\n data += '\"\"\"' + statement.object.value + '\"\"\"' + (statement.object.datatype ? '^^<' + statement.object.datatype + '>' : (statement.object.lang ? '@' + statement.object.lang : '')) + ' .';\n }\n }\n\n data += '\\n}';\n }\n\n return data;\n }\n\n function buildStatements(res, uri) {\n const statements = [];\n if (!_.isEmpty(res.data)) {\n const graph = res.data[uri];\n const predicates = Object.keys(graph);\n for (let i = 0; i < predicates.length; i++) {\n const predicate = predicates[i];\n const objects = graph[predicate];\n for (let j = 0; j < objects.length; j++) {\n const object = objects[j];\n for (let k = 0; k < object.graphs.length; k++) {\n let context = object.graphs[k];\n if (context === 'http://www.ontotext.com/explicit') {\n // Statements in the default context are special\n context = '';\n }\n if (object.lang) {\n object.datatype = '';\n }\n if (!object.datatype) {\n object.datatype = '';\n }\n statements.push({\n subject: uri,\n predicate: predicate,\n object: {\n value: object.value,\n type: object.type,\n datatype: object.datatype,\n lang: object.lang\n },\n context: context\n });\n }\n }\n }\n }\n return statements;\n }\n\n function getDatatypeOptions() {\n return [\n {\n value: '',\n label: 'string'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#boolean',\n label: 'boolean'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#decimal',\n label: 'decimal'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#integer',\n label: 'integer'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#double',\n label: 'double'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#float',\n label: 'float'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#date',\n label: 'date'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#time',\n label: 'time'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#dateTime',\n label: 'date time'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#byte',\n label: 'byte'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#short',\n label: 'short'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#int',\n label: 'int'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#long',\n label: 'long'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#unsignedByte',\n label: 'unsigned byte'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#unsignedShort',\n label: 'unsigned short'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#unsignedInt',\n label: 'unsigned int'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#unsignedLong',\n label: 'unsigned long'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#positoveInteger',\n label: 'positive integer'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#nonNegativeInteger',\n label: 'non-negative integer'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#negativeInteger',\n label: 'negative integer'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#nonPositiveInteger',\n label: 'non-positive integer'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#gYear',\n label: 'gYear'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#gMonth',\n label: 'gMonth'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#gDay',\n label: 'gDay'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#gYearMonth',\n label: 'gYearMonth'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#gMonthDay',\n label: 'gMonthDay'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#duration',\n label: 'duration'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#hexBinary',\n label: 'hex binary'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#base64Binary',\n label: 'base64 binary'\n }\n ];\n }\n\n return {\n transformToTrig: transformToTrig,\n buildStatements: buildStatements,\n getDatatypeOptions: getDatatypeOptions\n };\n}\n","import 'angular/utils/uri-utils';\n\nconst exploreDirectives = angular.module('graphdb.framework.explore.directives', [\n 'graphdb.framework.utils.uriutils'\n]);\n\nexploreDirectives.directive('uri', ['UriUtils', function (UriUtils) {\n return {\n require: 'ngModel',\n link: function (scope, elem, attr, ngModel) {\n\n //For DOM -> model validation\n ngModel.$parsers.unshift(function (value) {\n if (!angular.isUndefined(value) && value.length > 0) {\n const isValidUri = UriUtils.validateRdfUri(value);\n ngModel.$setValidity('searchStr', isValidUri);\n return isValidUri ? value : undefined;\n } else {\n ngModel.$setValidity('searchStr', true);\n return value;\n }\n });\n\n //For model -> DOM validation\n ngModel.$formatters.unshift(function (value) {\n if (!angular.isUndefined(value)) {\n ngModel.$setValidity('searchStr', UriUtils.validateRdfUri);\n }\n return value;\n });\n }\n };\n}]);\n"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack:///./src/js/angular/explore/app.js","webpack:///./src/js/lib/angucomplete-alt/angucomplete-alt-onto.min.js","webpack:///./src/js/angular/core/directives/fit-text.directive.js","webpack:///./src/js/angular/explore/statements.service.js","webpack:///./src/js/angular/explore/directives.js"],"names":["angular","module","root","factory","directive","$q","$parse","$http","$sce","$timeout","$templateCache","$interpolate","$rootScope","link","scope","elem","attrs","ctrl","hideTimer","responseFormatter","unbindInitialValue","displaySearching","displayNoResults","fn","inputField","find","minlength","searchTimer","requiredClassName","validState","httpCanceller","dd","querySelector","isScrollOn","mousedownOn","handleInputChange","newval","initial","uri","extractTitle","callOrAssign","originalObject","length","console","error","handleRequired","clickoutHandlerForDropdown","event","hideResults","document","body","removeEventListener","ie8EventNormalizer","which","keyCode","value","selectedObject","data","titleField","split","map","field","extractValue","join","obj","key","keys","result","i","findMatchString","target","str","matches","re","RegExp","replace","match","toString","matchClass","trustAsHtml","valid","notEmpty","fieldRequired","inputName","$setValidity","handleOverrideSuggestions","overrideSuggestions","preventDefault","cancel","cancelHttpRequest","clearSelected","clearResults","dropdownRow","querySelectorAll","currentIndex","dropdownScrollTopTo","offset","scrollTop","updateInputField","current","results","extractedTitle","val","title","httpSuccessCallbackGen","responseData","status","headers","config","searching","processResults","remoteUrlDataField","httpErrorCallback","errorRes","remoteUrlErrorCallback","resolve","getRemoteResults","params","url","remoteUrl","encodeuriComponent","remoteUrlRequestFormatter","remoteUrlRequestWithCredentials","withCredentials","defer","timeout","promise","get","success","getRemoteResultsWithCustomHandler","remoteApiHandler","then","catch","showDropdown","initResults","focusFirst","searchTimerComplete","localData","$apply","localSearch","s","searchFields","parseInput","toLowerCase","indexOf","getLocalResults","description","image","text","formattedText","formattedDesc","descriptionField","imageField","autoMatch","selectResult","checkExactMatch","desc","showAll","on","id","addEventListener","className","$watch","oldval","$on","elementId","onFocusHandler","focusIn","focusOut","resetHideResults","hoverRow","index","inputChangeHandler","inputChanged","fieldRequiredClass","parseInt","pause","initialValue","inputType","type","textSearching","textNoResults","maxlength","row","rowTop","getBoundingClientRect","top","getComputedStyle","maxHeight","bottom","css","offsetHeight","marginTop","marginBottom","dropdownRowOffsetHeight","paddingTop","$digest","overflowY","put","restrict","require","disableInput","disableSuggestions","remoteUrlResponseFormatter","placeholder","inputClass","fieldTabindex","templateUrl","element","compile","tElement","startSym","startSymbol","endSym","endSymbol","interpolatedHtml","html","window","fitTextDirective","min","max","_","debounce","fitTextMin","fitTextMax","parent","domElem","domElemStyle","style","computed","newlines","children","lines","minFontSize","maxFontSize","lineHeight","display","resizePromise","calculate","ratio","calcSize","offsetWidth","Math","paddingLeft","parseFloat","paddingRight","compressor","getMaxFontSize","resizer","fontSize","loadDelay","$","delay","off","$inject","StatementsService","transformToTrig","statements","contexts","statement","undefined","context","trim","isUndefined","cstatement","push","ckeys","Object","j","subject","predicate","object","datatype","lang","buildStatements","res","isEmpty","graph","predicates","objects","k","graphs","getDatatypeOptions","label","UriUtils","attr","ngModel","$parsers","unshift","isValidUri","validateRdfUri","$formatters"],"mappings":"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","file":"16.23e12f234078c8777ed0.bundle.js","sourcesContent":["import 'angular/core/services';\nimport 'angular/core/directives';\nimport 'angular/explore/statements.service';\nimport 'angular/explore/controllers';\nimport 'angular/explore/directives';\nimport 'angular-xeditable/dist/js/xeditable.min';\nimport 'lib/angucomplete-alt/angucomplete-alt-onto.min';\nimport 'angular/core/directives/fit-text.directive';\n\nconst modules = [\n 'ngRoute',\n 'toastr',\n 'xeditable',\n 'angucomplete-alt-onto',\n 'graphdb.framework.explore.services',\n 'graphdb.framework.explore.controllers',\n 'graphdb.framework.explore.directives',\n 'graphdb.framework.core.directives.fittext'\n];\n\nangular.module('graphdb.framework.explore', modules);\n","/*\n * angucomplete-alt\n * Autocomplete directive for AngularJS\n * This is a fork of Daryl Rowland's angucomplete with some extra features.\n * By Hidenari Nozaki\n */\n\n/*! Copyright (c) 2014 Hidenari Nozaki and contributors | Licensed under the MIT license */\n\n(function (root, factory) {\n 'use strict';\n// if (typeof module !== 'undefined' && module.exports) {\n// // CommonJS\n// module.exports = factory(require('angular'));\n// } else if (typeof define === 'function' && define.amd) {\n// // AMD\n// define(['angular'], factory);\n// } else {\n// // Global Variables\n factory(root.angular);\n// }\n}(window, function (angular) {\n 'use strict';\n\n angular.module('angucomplete-alt-onto', []).directive('angucompleteAltOnto', ['$q', '$parse', '$http', '$sce', '$timeout', '$templateCache', '$interpolate', '$rootScope', function ($q, $parse, $http, $sce, $timeout, $templateCache, $interpolate, $rootScope) {\n // keyboard events\n var KEY_DW = 40;\n var KEY_RT = 39;\n var KEY_UP = 38;\n var KEY_LF = 37;\n var KEY_ES = 27;\n var KEY_EN = 13;\n var KEY_TAB = 9;\n\n var MIN_LENGTH = 3;\n var MAX_LENGTH = 524288; // the default max length per the html maxlength attribute\n var PAUSE = 500;\n var BLUR_TIMEOUT = 200;\n\n // string constants\n var REQUIRED_CLASS = 'autocomplete-required';\n var TEXT_SEARCHING = 'Searching...';\n var TEXT_NORESULTS = 'No results found';\n var TEMPLATE_URL = '/angucomplete-alt/index.html';\n\n // Set the default template for this directive\n $templateCache.put(TEMPLATE_URL,\n '<div class=\"angucomplete-holder\" ng-class=\"{\\'angucomplete-dropdown-visible\\': showDropdown}\">' +\n ' <input id=\"{{id}}_value\" name=\"{{inputName}}\" tabindex=\"{{fieldTabindex}}\" ng-class=\"{\\'angucomplete-input-not-empty\\': notEmpty}\" ng-model=\"uri\" ng-disabled=\"disableInput\" type=\"{{inputType}}\" placeholder=\"{{placeholder}}\" maxlength=\"{{maxlength}}\" ng-focus=\"onFocusHandler()\" class=\"{{inputClass}}\" ng-focus=\"resetHideResults()\" ng-blur=\"hideResults($event)\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" ng-change=\"inputChangeHandler(uri)\" style=\"overflow: hidden; padding-right: .5em;\"/>' +\n ' <div id=\"{{id}}_dropdown\" class=\"angucomplete-dropdown\" ng-show=\"disableSuggestions && showDropdown\">' +\n ' <div class=\"angucomplete-searching\" ng-show=\"searching\" ng-bind=\"textSearching\"></div>' +\n ' <div class=\"angucomplete-searching\" ng-show=\"!searching && (!results || results.length == 0)\" ng-bind=\"textNoResults\"></div>' +\n ' <div class=\"angucomplete-row\" ng-repeat=\"result in results\" ng-click=\"selectResult(result)\" ng-mouseenter=\"hoverRow($index)\" ng-class=\"{\\'angucomplete-selected-row\\': $index == currentIndex}\">' +\n ' <div ng-if=\"imageField\" class=\"angucomplete-image-holder\">' +\n ' <img ng-if=\"result.image && result.image != \\'\\'\" ng-src=\"{{result.image}}\" class=\"angucomplete-image\"/>' +\n ' <div ng-if=\"!result.image && result.image != \\'\\'\" class=\"angucomplete-image-default\"></div>' +\n ' </div>' +\n ' <div class=\"angucomplete-title\" ng-if=\"matchClass\" ng-bind-html=\"result.title\"></div>' +\n ' <div class=\"angucomplete-title\" ng-if=\"!matchClass\">{{ result.title }}</div>' +\n ' <div ng-if=\"matchClass && result.description && result.description != \\'\\'\" class=\"angucomplete-description\" ng-bind-html=\"result.description\"></div>' +\n ' <div ng-if=\"!matchClass && result.description && result.description != \\'\\'\" class=\"angucomplete-description\">{{result.description}}</div>' +\n ' </div>' +\n ' </div>' +\n '</div>'\n );\n\n function link(scope, elem, attrs, ctrl) {\n var inputField = elem.find('input');\n var minlength = MIN_LENGTH;\n var searchTimer = null;\n var hideTimer;\n var requiredClassName = REQUIRED_CLASS;\n var responseFormatter;\n var validState = null;\n var httpCanceller = null;\n var dd = elem[0].querySelector('.angucomplete-dropdown');\n var isScrollOn = false;\n var mousedownOn = null;\n var unbindInitialValue;\n var displaySearching;\n var displayNoResults;\n\n\n elem.on('mousedown', function(event) {\n if (event.target.id) {\n mousedownOn = event.target.id;\n if (mousedownOn === scope.id + '_dropdown') {\n document.body.addEventListener('click', clickoutHandlerForDropdown);\n }\n }\n else {\n mousedownOn = event.target.className;\n }\n });\n\n scope.currentIndex = scope.focusFirst ? 0 : null;\n scope.searching = false;\n unbindInitialValue = scope.$watch('initialValue', function(newval) {\n if (newval) {\n // remove scope listener\n unbindInitialValue();\n // change input\n handleInputChange(newval, true);\n }\n });\n\n scope.$watch('fieldRequired', function(newval, oldval) {\n if (newval !== oldval) {\n if (!newval) {\n ctrl[scope.inputName].$setValidity(requiredClassName, true);\n }\n else if (!validState || scope.currentIndex === -1) {\n handleRequired(false);\n }\n else {\n handleRequired(true);\n }\n }\n });\n\n scope.$on('angucomplete-alt:clearInput', function (event, elementId) {\n if (!elementId || elementId === scope.id) {\n scope.uri = null;\n callOrAssign();\n handleRequired(false);\n clearResults();\n }\n });\n\n scope.$on('angucomplete-alt:changeInput', function (event, elementId, newval) {\n if (!!elementId && elementId === scope.id) {\n handleInputChange(newval);\n }\n });\n\n function handleInputChange(newval, initial) {\n if (newval) {\n if (typeof newval === 'object') {\n scope.uri = extractTitle(newval);\n callOrAssign({originalObject: newval});\n } else if (typeof newval === 'string' && newval.length > 0) {\n scope.uri = newval;\n } else {\n if (console && console.error) {\n console.error('Tried to set ' + (!!initial ? 'initial' : '') + ' value of angucomplete to', newval, 'which is an invalid value');\n }\n }\n\n handleRequired(true);\n }\n }\n\n // #194 dropdown list not consistent in collapsing (bug).\n function clickoutHandlerForDropdown(event) {\n mousedownOn = null;\n scope.hideResults(event);\n document.body.removeEventListener('click', clickoutHandlerForDropdown);\n }\n\n // for IE8 quirkiness about event.which\n function ie8EventNormalizer(event) {\n return event.which ? event.which : event.keyCode;\n }\n\n function callOrAssign(value) {\n if (typeof scope.selectedObject === 'function') {\n scope.selectedObject(value);\n }\n else {\n scope.selectedObject = value;\n }\n\n if (value) {\n handleRequired(true);\n }\n else {\n handleRequired(false);\n }\n }\n\n function callFunctionOrIdentity(fn) {\n return function(data) {\n return scope[fn] ? scope[fn](data) : data;\n };\n }\n\n function setInputString(str) {\n callOrAssign({originalObject: str});\n\n if (scope.clearSelected) {\n scope.uri = null;\n }\n clearResults();\n }\n\n function extractTitle(data) {\n // split title fields and run extractValue for each and join with ' '\n return scope.titleField.split(',')\n .map(function(field) {\n return extractValue(data, field);\n })\n .join(' ');\n }\n\n function extractValue(obj, key) {\n var keys, result;\n if (key) {\n keys= key.split('.');\n result = obj;\n for (var i = 0; i < keys.length; i++) {\n result = result[keys[i]];\n }\n }\n else {\n result = obj;\n }\n\n return result;\n }\n\n function findMatchString(target, str) {\n var result, matches, re;\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions\n // Escape user input to be treated as a literal string within a regular expression\n re = new RegExp(str.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'), 'i');\n if (!target) { return; }\n if (!target.match || !target.replace) { target = target.toString(); }\n matches = target.match(re);\n if (matches) {\n result = target.replace(re,\n '<span class=\"'+ scope.matchClass +'\">'+ matches[0] +'</span>');\n }\n else {\n result = target;\n }\n return $sce.trustAsHtml(result);\n }\n\n function handleRequired(valid) {\n scope.notEmpty = valid;\n validState = scope.uri;\n if (scope.fieldRequired && ctrl && scope.inputName) {\n ctrl[scope.inputName].$setValidity(requiredClassName, valid);\n }\n }\n\n function keyupHandler(event) {\n var which = ie8EventNormalizer(event);\n if (which === KEY_LF || which === KEY_RT) {\n // do nothing\n return;\n }\n\n if (which === KEY_UP || which === KEY_EN) {\n event.preventDefault();\n }\n else if (which === KEY_DW) {\n event.preventDefault();\n if (!scope.showDropdown && scope.uri && scope.uri.length >= minlength) {\n initResults();\n scope.searching = true;\n searchTimerComplete(scope.uri);\n }\n }\n else if (which === KEY_ES) {\n clearResults();\n scope.$apply(function() {\n inputField.val(scope.uri);\n });\n }\n else {\n if (minlength === 0 && !scope.uri) {\n return;\n }\n\n if (!scope.uri || scope.uri === '') {\n scope.showDropdown = false;\n } else if (scope.uri.length >= minlength) {\n initResults();\n\n if (searchTimer) {\n $timeout.cancel(searchTimer);\n }\n\n scope.searching = true;\n\n searchTimer = $timeout(function() {\n searchTimerComplete(scope.uri);\n }, scope.pause);\n }\n\n if (validState && validState !== scope.uri && !scope.clearSelected) {\n scope.$apply(function() {\n callOrAssign();\n });\n }\n }\n }\n\n function handleOverrideSuggestions(event) {\n if (scope.overrideSuggestions &&\n !(scope.selectedObject && scope.selectedObject.originalObject === scope.uri)) {\n if (event) {\n event.preventDefault();\n }\n\n // cancel search timer\n $timeout.cancel(searchTimer);\n // cancel http request\n cancelHttpRequest();\n\n setInputString(scope.uri);\n }\n }\n\n function dropdownRowOffsetHeight(row) {\n var css = getComputedStyle(row);\n return row.offsetHeight +\n parseInt(css.marginTop, 10) + parseInt(css.marginBottom, 10);\n }\n\n function dropdownHeight() {\n return dd.getBoundingClientRect().top +\n parseInt(getComputedStyle(dd).maxHeight, 10);\n }\n\n function dropdownRow() {\n return elem[0].querySelectorAll('.angucomplete-row')[scope.currentIndex];\n }\n\n function dropdownRowTop() {\n return dropdownRow().getBoundingClientRect().top -\n (dd.getBoundingClientRect().top +\n parseInt(getComputedStyle(dd).paddingTop, 10));\n }\n\n function dropdownScrollTopTo(offset) {\n dd.scrollTop = dd.scrollTop + offset;\n }\n\n function updateInputField(){\n var current = scope.results[scope.currentIndex];\n if (scope.matchClass) {\n var extractedTitle = extractTitle(current.originalObject);\n extractedTitle = extractedTitle.replace(/<b>|<\\/b>/g, \"\");\n inputField.val(extractedTitle);\n }\n else {\n inputField.val(current.title);\n }\n }\n\n function keydownHandler(event) {\n var which = ie8EventNormalizer(event);\n var row = null;\n var rowTop = null;\n\n if (which === KEY_EN && scope.results) {\n if (scope.currentIndex >= 0 && scope.currentIndex < scope.results.length) {\n event.preventDefault();\n scope.selectResult(scope.results[scope.currentIndex]);\n } else {\n handleOverrideSuggestions(event);\n clearResults();\n }\n scope.$apply();\n } else if (which === KEY_DW && scope.results) {\n event.preventDefault();\n if ((scope.currentIndex + 1) < scope.results.length && scope.showDropdown) {\n scope.$apply(function() {\n scope.currentIndex ++;\n updateInputField();\n });\n\n if (isScrollOn) {\n row = dropdownRow();\n if (dropdownHeight() < row.getBoundingClientRect().bottom) {\n dropdownScrollTopTo(dropdownRowOffsetHeight(row));\n }\n }\n }\n } else if (which === KEY_UP && scope.results) {\n event.preventDefault();\n if (scope.currentIndex >= 1) {\n scope.$apply(function() {\n scope.currentIndex --;\n updateInputField();\n });\n\n if (isScrollOn) {\n rowTop = dropdownRowTop();\n if (rowTop < 0) {\n dropdownScrollTopTo(rowTop - 1);\n }\n }\n }\n else if (scope.currentIndex === 0) {\n scope.$apply(function() {\n scope.currentIndex = -1;\n inputField.val(scope.uri);\n });\n }\n } else if (which === KEY_TAB) {\n if (scope.results && scope.results.length > 0 && scope.showDropdown) {\n if (scope.currentIndex === -1 && scope.overrideSuggestions) {\n // intentionally not sending event so that it does not\n // prevent default tab behavior\n handleOverrideSuggestions();\n }\n else {\n if (scope.currentIndex === -1) {\n scope.currentIndex = 0;\n }\n scope.selectResult(scope.results[scope.currentIndex]);\n scope.$digest();\n }\n }\n else {\n // no results\n // intentionally not sending event so that it does not\n // prevent default tab behavior\n if (scope.uri && scope.uri.length > 0) {\n handleOverrideSuggestions();\n }\n }\n } else if (which === KEY_ES) {\n // This is very specific to IE10/11 #272\n // without this, IE clears the input text\n event.preventDefault();\n }\n }\n\n function httpSuccessCallbackGen(str) {\n return function(responseData, status, headers, config) {\n // normalize return obejct from promise\n if (!status && !headers && !config && responseData.data) {\n responseData = responseData.data;\n }\n scope.searching = false;\n processResults(extractValue(responseFormatter(responseData), scope.remoteUrlDataField), str);\n };\n }\n\n function httpErrorCallback(errorRes, status, headers, config) {\n // cancelled/aborted\n if (status === 0 || status === -1) { return; }\n\n // normalize return obejct from promise\n if (!status && !headers && !config) {\n status = errorRes.status;\n }\n if (scope.remoteUrlErrorCallback) {\n scope.remoteUrlErrorCallback(errorRes, status, headers, config);\n }\n else {\n if (console && console.error) {\n console.error('http error');\n }\n }\n }\n\n function cancelHttpRequest() {\n if (httpCanceller) {\n httpCanceller.resolve();\n }\n }\n\n function getRemoteResults(str) {\n var params = {},\n url = scope.remoteUrl + encodeuriComponent(str);\n if (scope.remoteUrlRequestFormatter) {\n params = {params: scope.remoteUrlRequestFormatter(str)};\n url = scope.remoteUrl;\n }\n if (!!scope.remoteUrlRequestWithCredentials) {\n params.withCredentials = true;\n }\n cancelHttpRequest();\n httpCanceller = $q.defer();\n params.timeout = httpCanceller.promise;\n $http.get(url, params)\n .success(httpSuccessCallbackGen(str))\n .error(httpErrorCallback);\n }\n\n function getRemoteResultsWithCustomHandler(str) {\n cancelHttpRequest();\n\n httpCanceller = $q.defer();\n\n scope.remoteApiHandler(str, httpCanceller.promise)\n .then(httpSuccessCallbackGen(str))\n .catch(httpErrorCallback);\n\n /* IE8 compatible\n scope.remoteApiHandler(str, httpCanceller.promise)\n ['then'](httpSuccessCallbackGen(str))\n ['catch'](httpErrorCallback);\n */\n }\n\n function clearResults() {\n scope.showDropdown = false;\n scope.results = [];\n if (dd) {\n dd.scrollTop = 0;\n }\n }\n\n function initResults() {\n scope.showDropdown = displaySearching;\n scope.currentIndex = scope.focusFirst ? 0 : -1;\n scope.results = [];\n }\n\n function getLocalResults(str) {\n var i, match, s, value,\n searchFields = scope.searchFields.split(','),\n matches = [];\n if (typeof scope.parseInput() !== 'undefined') {\n str = scope.parseInput()(str);\n }\n for (i = 0; i < scope.localData.length; i++) {\n match = false;\n\n for (s = 0; s < searchFields.length; s++) {\n value = extractValue(scope.localData[i], searchFields[s]) || '';\n match = match || (value.toString().toLowerCase().indexOf(str.toString().toLowerCase()) >= 0);\n }\n\n if (match) {\n matches[matches.length] = scope.localData[i];\n }\n }\n return matches;\n }\n\n function checkExactMatch(result, obj, str){\n if (!str) { return false; }\n for(var key in obj){\n if(obj[key].toLowerCase() === str.toLowerCase()){\n scope.selectResult(result);\n return true;\n }\n }\n return false;\n }\n\n function searchTimerComplete(str) {\n // Begin the search\n if (!str || str.length < minlength) {\n return;\n }\n if (scope.localData) {\n scope.$apply(function() {\n var matches;\n if (typeof scope.localSearch() !== 'undefined') {\n matches = scope.localSearch()(str);\n } else {\n matches = getLocalResults(str);\n }\n scope.searching = false;\n processResults(matches, str);\n });\n }\n else if (scope.remoteApiHandler) {\n getRemoteResultsWithCustomHandler(str);\n } else {\n getRemoteResults(str);\n }\n }\n\n function processResults(responseData, str) {\n var i, description, image, text, formattedText, formattedDesc;\n\n if (responseData && responseData.length > 0) {\n scope.results = [];\n\n for (i = 0; i < responseData.length; i++) {\n if (scope.titleField && scope.titleField !== '') {\n text = formattedText = extractTitle(responseData[i]);\n }\n\n description = '';\n if (scope.descriptionField) {\n description = formattedDesc = extractValue(responseData[i], scope.descriptionField);\n }\n\n image = '';\n if (scope.imageField) {\n image = extractValue(responseData[i], scope.imageField);\n }\n\n if (scope.matchClass) {\n formattedText = findMatchString(text, str);\n formattedDesc = findMatchString(description, str);\n }\n\n scope.results[scope.results.length] = {\n title: formattedText,\n description: formattedDesc,\n image: image,\n originalObject: responseData[i]\n };\n }\n\n } else {\n scope.results = [];\n }\n\n if (scope.autoMatch && scope.results.length === 1 &&\n checkExactMatch(scope.results[0],\n {title: text, desc: description || ''}, scope.uri)) {\n scope.showDropdown = false;\n } else if (scope.results.length === 0 && !displayNoResults) {\n scope.showDropdown = false;\n } else {\n scope.showDropdown = true;\n }\n }\n\n function showAll() {\n if (scope.localData) {\n processResults(scope.localData, '');\n }\n else if (scope.remoteApiHandler) {\n getRemoteResultsWithCustomHandler('');\n }\n else {\n getRemoteResults('');\n }\n }\n\n scope.onFocusHandler = function() {\n if (scope.focusIn) {\n scope.focusIn();\n }\n if (minlength === 0 && (!scope.uri || scope.uri.length === 0)) {\n scope.currentIndex = scope.focusFirst ? 0 : scope.currentIndex;\n scope.showDropdown = true;\n showAll();\n }\n };\n\n scope.hideResults = function() {\n if (mousedownOn &&\n (mousedownOn === scope.id + '_dropdown' ||\n mousedownOn.indexOf('angucomplete') >= 0)) {\n mousedownOn = null;\n }\n else {\n hideTimer = $timeout(function() {\n clearResults();\n scope.$apply(function() {\n if (scope.uri && scope.uri.length > 0) {\n inputField.val(scope.uri);\n }\n });\n }, BLUR_TIMEOUT);\n cancelHttpRequest();\n\n if (scope.focusOut) {\n scope.focusOut();\n }\n\n if (scope.overrideSuggestions) {\n if (scope.uri && scope.uri.length > 0 && scope.currentIndex === -1) {\n handleOverrideSuggestions();\n }\n }\n }\n };\n\n scope.resetHideResults = function() {\n if (hideTimer) {\n $timeout.cancel(hideTimer);\n }\n };\n\n scope.hoverRow = function(index) {\n scope.currentIndex = index;\n };\n\n scope.selectResult = function(result) {\n // Restore original values\n if (scope.matchClass) {\n result.title = extractTitle(result.originalObject);\n if (typeof result.title === \"string\") {\n result.title = result.title.replace(/<b>|<\\/b>/g, \"\");\n }\n result.description = extractValue(result.originalObject, scope.descriptionField);\n }\n\n if (scope.clearSelected) {\n scope.uri = null;\n }\n else {\n scope.uri = result.title;\n }\n callOrAssign(result);\n clearResults();\n };\n\n scope.inputChangeHandler = function(str) {\n if (str.length < minlength) {\n cancelHttpRequest();\n clearResults();\n }\n else if (str.length === 0 && minlength === 0) {\n scope.searching = false;\n showAll();\n }\n\n if (scope.inputChanged) {\n str = scope.inputChanged(str);\n }\n return str;\n };\n\n // check required\n if (scope.fieldRequiredClass && scope.fieldRequiredClass !== '') {\n requiredClassName = scope.fieldRequiredClass;\n }\n\n // check min length\n if (scope.minlength && scope.minlength !== '') {\n minlength = parseInt(scope.minlength, 10);\n }\n\n // check pause time\n if (!scope.pause) {\n scope.pause = PAUSE;\n }\n\n // check clearSelected\n if (!scope.clearSelected) {\n scope.clearSelected = false;\n }\n\n // check override suggestions\n if (!scope.overrideSuggestions) {\n scope.overrideSuggestions = false;\n }\n\n // check required field\n if (scope.fieldRequired && ctrl) {\n // check initial value, if given, set validitity to true\n if (scope.initialValue) {\n handleRequired(true);\n }\n else {\n handleRequired(false);\n }\n }\n\n scope.inputType = attrs.type ? attrs.type : 'text';\n\n // set strings for \"Searching...\" and \"No results\"\n scope.textSearching = attrs.textSearching ? attrs.textSearching : TEXT_SEARCHING;\n scope.textNoResults = attrs.textNoResults ? attrs.textNoResults : TEXT_NORESULTS;\n displaySearching = scope.textSearching === 'false' ? false : true;\n displayNoResults = scope.textNoResults === 'false' ? false : true;\n\n // set max length (default to maxlength deault from html\n scope.maxlength = attrs.maxlength ? attrs.maxlength : MAX_LENGTH;\n\n // register events\n inputField.on('keydown', keydownHandler);\n inputField.on('keyup', keyupHandler);\n\n // set response formatter\n responseFormatter = callFunctionOrIdentity('remoteUrlResponseFormatter');\n\n // set isScrollOn\n $timeout(function() {\n var css = getComputedStyle(dd);\n isScrollOn = css.maxHeight && css.overflowY === 'auto';\n });\n }\n\n return {\n restrict: 'EA',\n require: '^?form',\n scope: {\n selectedObject: '=',\n disableInput: '=',\n disableSuggestions: '=',\n initialValue: '=',\n localData: '=',\n localSearch: '&',\n remoteUrlRequestFormatter: '=',\n remoteUrlRequestWithCredentials: '@',\n remoteUrlResponseFormatter: '=',\n remoteUrlErrorCallback: '=',\n remoteApiHandler: '=',\n id: '@',\n type: '@',\n placeholder: '@',\n remoteUrl: '@',\n remoteUrlDataField: '@',\n titleField: '@',\n descriptionField: '@',\n imageField: '@',\n inputClass: '@',\n pause: '@',\n searchFields: '@',\n minlength: '@',\n matchClass: '@',\n clearSelected: '@',\n overrideSuggestions: '@',\n fieldRequired: '=',\n fieldRequiredClass: '@',\n inputChanged: '=',\n autoMatch: '@',\n focusOut: '&',\n focusIn: '&',\n fieldTabindex: '@',\n inputName: '@',\n focusFirst: '@',\n parseInput: '&'\n },\n templateUrl: function(element, attrs) {\n return attrs.templateUrl || TEMPLATE_URL;\n },\n compile: function(tElement) {\n var startSym = $interpolate.startSymbol();\n var endSym = $interpolate.endSymbol();\n if (!(startSym === '{{' && endSym === '}}')) {\n var interpolatedHtml = tElement.html()\n .replace(/\\{\\{/g, startSym)\n .replace(/\\}\\}/g, endSym);\n tElement.html(interpolatedHtml);\n }\n return link;\n }\n };\n }]);\n\n}));","// This is a rework of the ng-FitText.js which can be found here https://github.com/patrickmarabeas/ng-FitText.js\nangular\n .module('graphdb.framework.core.directives.fittext', [])\n .directive('fitText', fitTextDirective);\n\nfitTextDirective.$inject = ['$timeout'];\n\nfunction fitTextDirective($timeout) {\n return {\n restrict: 'A',\n scope: {\n min: '=',\n max: '='\n },\n link: function (scope, element, attrs) {\n\n const config = {\n 'debounce': _.debounce,\n 'delay': 100,\n 'loadDelay': 10,\n 'compressor': 1,\n 'min': attrs.fitTextMin || 'inherit',\n 'max': attrs.fitTextMax || 'inherit',\n 'calcSize': 10,\n 'lines': 1\n };\n\n const parent = element.parent();\n const domElem = element[0];\n const domElemStyle = domElem.style;\n const computed = window.getComputedStyle(element[0], null);\n const newlines = element.children().length || config.lines;\n const minFontSize = config.min === 'inherit' ? computed['font-size'] : config.min;\n const maxFontSize = config.max === 'inherit' ? computed['font-size'] : config.max;\n const lineHeight = computed['line-height'];\n const display = computed['display'];\n let resizePromise;\n\n function calculate() {\n const ratio = (config.calcSize * newlines) / domElem.offsetWidth / newlines;\n return Math.max(Math.min(getMaxFontSize(ratio), parseFloat(maxFontSize)), parseFloat(minFontSize));\n }\n\n function getMaxFontSize(ratio) {\n const paddingLeft = parseFloat(getComputedStyle(parent[0]).paddingLeft);\n const paddingRight = parseFloat(getComputedStyle(parent[0]).paddingRight);\n\n return (parent[0].offsetWidth - (paddingLeft + paddingRight)) * ratio * config.compressor;\n }\n\n function resize() {\n if (domElem.offsetHeight * domElem.offsetWidth === 0) {\n return;\n }\n\n // Preset standard values for making the size calculation\n domElemStyle.fontSize = config.calcSize + 'px';\n domElemStyle.lineHeight = '1';\n domElemStyle.display = 'inline-block';\n\n // Set usage values\n domElemStyle.fontSize = calculate() + 'px';\n domElemStyle.lineHeight = lineHeight;\n domElemStyle.display = display;\n }\n\n function resizer() {\n if (resizePromise) {\n $timeout.cancel(resizePromise);\n }\n\n resizePromise = $timeout(function () {\n resize();\n }, config.loadDelay);\n }\n\n scope.$watch(function () {\n return [\n parent[0].offsetWidth,\n element[0].offsetWidth\n ].join('_');\n }, function () {\n resizer();\n });\n\n $(window).on('resize', config.debounce(function () {\n scope.$apply(resizer)\n }, config.delay));\n\n scope.$on('$destroy', function () {\n if (resizePromise) {\n $timeout.cancel(resizePromise);\n }\n $(window).off('resize');\n });\n }\n };\n}\n","angular\n .module('graphdb.framework.explore.services', [])\n .factory('StatementsService', StatementsService);\n\nStatementsService.$inject = [];\n\nfunction StatementsService() {\n function transformToTrig(statements) {\n let data = '';\n const contexts = {};\n\n for (let i = 0; i < statements.length; i++) {\n const statement = statements[i];\n if (statement.context === undefined) {\n statement.context = '';\n } else {\n statement.context = _.trim(statement.context);\n }\n if (angular.isUndefined(contexts[statement.context])) {\n const cstatement = [];\n cstatement.push(statement);\n contexts[statement.context] = cstatement;\n } else {\n contexts[statement.context].push(statement);\n }\n }\n\n const ckeys = Object.keys(contexts);\n for (let i = 0; i < ckeys.length; i++) {\n const key = ckeys[i];\n if (key === '') {\n data += '\\n{';\n } else {\n data += '\\n<' + key + '> {';\n }\n\n const value = contexts[key];\n for (let j = 0; j < value.length; j++) {\n const statement = value[j];\n data += '\\n\\t<' + statement.subject + '> <' + statement.predicate + '> ';\n if (statement.object.type === 'uri') {\n data += '<' + statement.object.value + '> .';\n } else {\n data += '\"\"\"' + statement.object.value + '\"\"\"' + (statement.object.datatype ? '^^<' + statement.object.datatype + '>' : (statement.object.lang ? '@' + statement.object.lang : '')) + ' .';\n }\n }\n\n data += '\\n}';\n }\n\n return data;\n }\n\n function buildStatements(res, uri) {\n const statements = [];\n if (!_.isEmpty(res.data)) {\n const graph = res.data[uri];\n const predicates = Object.keys(graph);\n for (let i = 0; i < predicates.length; i++) {\n const predicate = predicates[i];\n const objects = graph[predicate];\n for (let j = 0; j < objects.length; j++) {\n const object = objects[j];\n for (let k = 0; k < object.graphs.length; k++) {\n let context = object.graphs[k];\n if (context === 'http://www.ontotext.com/explicit') {\n // Statements in the default context are special\n context = '';\n }\n if (object.lang) {\n object.datatype = '';\n }\n if (!object.datatype) {\n object.datatype = '';\n }\n statements.push({\n subject: uri,\n predicate: predicate,\n object: {\n value: object.value,\n type: object.type,\n datatype: object.datatype,\n lang: object.lang\n },\n context: context\n });\n }\n }\n }\n }\n return statements;\n }\n\n function getDatatypeOptions() {\n return [\n {\n value: '',\n label: 'string'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#boolean',\n label: 'boolean'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#decimal',\n label: 'decimal'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#integer',\n label: 'integer'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#double',\n label: 'double'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#float',\n label: 'float'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#date',\n label: 'date'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#time',\n label: 'time'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#dateTime',\n label: 'date time'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#byte',\n label: 'byte'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#short',\n label: 'short'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#int',\n label: 'int'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#long',\n label: 'long'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#unsignedByte',\n label: 'unsigned byte'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#unsignedShort',\n label: 'unsigned short'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#unsignedInt',\n label: 'unsigned int'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#unsignedLong',\n label: 'unsigned long'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#positoveInteger',\n label: 'positive integer'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#nonNegativeInteger',\n label: 'non-negative integer'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#negativeInteger',\n label: 'negative integer'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#nonPositiveInteger',\n label: 'non-positive integer'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#gYear',\n label: 'gYear'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#gMonth',\n label: 'gMonth'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#gDay',\n label: 'gDay'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#gYearMonth',\n label: 'gYearMonth'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#gMonthDay',\n label: 'gMonthDay'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#duration',\n label: 'duration'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#hexBinary',\n label: 'hex binary'\n }, {\n value: 'http://www.w3.org/2001/XMLSchema#base64Binary',\n label: 'base64 binary'\n }\n ];\n }\n\n return {\n transformToTrig: transformToTrig,\n buildStatements: buildStatements,\n getDatatypeOptions: getDatatypeOptions\n };\n}\n","import 'angular/utils/uri-utils';\n\nconst exploreDirectives = angular.module('graphdb.framework.explore.directives', [\n 'graphdb.framework.utils.uriutils'\n]);\n\nexploreDirectives.directive('uri', ['UriUtils', function (UriUtils) {\n return {\n require: 'ngModel',\n link: function (scope, elem, attr, ngModel) {\n\n //For DOM -> model validation\n ngModel.$parsers.unshift(function (value) {\n if (!angular.isUndefined(value) && value.length > 0) {\n const isValidUri = UriUtils.validateRdfUri(value);\n ngModel.$setValidity('searchStr', isValidUri);\n return isValidUri ? value : undefined;\n } else {\n ngModel.$setValidity('searchStr', true);\n return value;\n }\n });\n\n //For model -> DOM validation\n ngModel.$formatters.unshift(function (value) {\n if (!angular.isUndefined(value)) {\n ngModel.$setValidity('searchStr', UriUtils.validateRdfUri);\n }\n return value;\n });\n }\n };\n}]);\n"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[16,37,51,105,122],{126:function(e,n,t){"use strict";t.r(n);t(4),t(11),t(52),t(10),t(81),t(82),t(42),t(43),t(44);angular.module("graphdb.framework.jdbc",["toastr","ui.bootstrap","graphdb.framework.jdbc.controllers","graphdb.framework.core.services.repositories","graphdb.framework.core.directives","graphdb.framework.rest.jdbc.service","graphdb.framework.core.directives.queryeditor.controllers","graphdb.framework.core.directives.queryeditor.sparqltab","graphdb.framework.core.directives.queryeditor.queryeditor"])},38:function(e,n){function t(e,n){return{showToastMessageWithDelay:function(t){return new Promise(r=>{e.success(n.instant(t)),setTimeout(r,200)})}}}angular.module("graphdb.framework.utils.notifications",[]).factory("Notifications",t),t.$inject=["toastr","$translate"]},42:function(e,n,t){"use strict";t.r(n);t(5);function r(e,n,t,r){return{restrict:"AE",template:'<a class="nav-link" role="tab" data-toggle="tab" blur="submit" editable-text="tab.name" e-form="editCurrentlySelectedOnly" ng-click="selectThisTab($event)" ng-dblclick="editCurrentTab()" ><span ng-class="{\'text-muted\': !tab.name}">{{ tab.name || \'sparql.tab.directive.unnamed.tab.title\' | translate}}</span><button type="button" ng-click="deleteTab($event)" class="btn btn-link btn-sm secondary delete-sparql-tab-btn" title="Delete tab"><i class="icon-close"></i></button></a>',replace:!0,controller:["$scope","$element","$rootScope","ModalService","toastr","$translate",function(e,r,o,i,s,a){function u(e){return $(e).attr("data-id")}function c(e){$('a[data-id = "'+e+'"]').tab("show")}e.state={},$(r).on("shown.bs.tab",(function(e){o.$broadcast("tabAction",e)})),e.deleteTab=function(l){if(l.preventDefault(),l.stopPropagation(),e.tabs.length<2)return void s.warning(a.instant("sparql.tab.directive.close.last.warning"));l.shiftKey?(e.state.selectedTabId=u(r),i.openSimpleModal({title:a.instant("common.confirm"),message:a.instant("sparql.tab.directive.delete.all.tabs.warning"),warning:!0}).result.then((function(){var r;r=e.state.selectedTabId,e.tabs=e.tabs.filter((function(e){if(e.id===r)return e})),c(e.tabs[0].id),n.set(t.TABS_STATE,e.tabs),o.$broadcast("deleteAllexeptSelected",e.tabs)}))):(e.state.idForDelete=u(r),i.openSimpleModal({title:a.instant("common.confirm"),message:a.instant("sparql.tab.directive.close.tab.warning"),warning:!0}).result.then((function(){!function(n){if(angular.isUndefined(n))throw"Delete by id was called with undefined id";const t=function(n){for(let t=0;t<e.tabs.length;t++){if(e.tabs[t].id===n)return t}}(n);e.tabs.splice(t,1),n===e.currentQuery.id&&e.tabs.length>0&&c(t>0?e.tabs[t-1].id:e.tabs[0].id)}(e.state.idForDelete)})));angular.element(document).find(".CodeMirror textarea:first-child").focus()},e.editCurrentTab=function(){if(u(r)!==e.currentQuery.id)return;e.editCurrentlySelectedOnly.$show();const n=$(".editable-buttons");n.children(".btn.btn-primary").addClass("btn-sm"),n.children(".btn.btn-default").addClass("btn-sm"),$(".editable-controls .editable-input").addClass("form-control-sm").on("change",(function(n){e.currentQuery.name=n.currentTarget.$$currentValue})),$(".editable-buttons .glyphicon.glyphicon-ok").removeClass("glyphicon glyphicon-ok").addClass("fa fa-check"),$(".editable-buttons .glyphicon.glyphicon-remove").removeClass("glyphicon glyphicon-remove").addClass("fa fa-close")},e.selectThisTab=function(n){n.preventDefault(),n.stopPropagation(),e.isTabChangeOk(!1)&&$(r).tab("show")}}]}}angular.module("graphdb.framework.core.directives.queryeditor.sparqltab",["graphdb.framework.core","graphdb.framework.utils.localstorageadapter"]).directive("sparqlTab",r),r.$inject=["$rootScope","LocalStorageAdapter","LSKeys","ModalService"]},81:function(e,n,t){"use strict";t.r(n);t(4),t(10),t(14),t(38);function r(e,n,t,r,o,i){e.getSqlConfigurations=function(){!n.getActiveRepository()||n.isActiveRepoOntopType()||n.isActiveRepoFedXType()?e.jdbcConfigurations=[]:t.getJdbcConfigurations().success((function(n){e.jdbcConfigurations=n})).error((function(e){const n=getError(e);r.error(n,i.instant("jdbc.not.get.SQL.msg"))}))},e.$watch((function(){return n.getActiveRepository()}),(function(){e.getSqlConfigurations()})),e.deleteConfiguration=function(n){o.openSimpleModal({title:i.instant("common.warning"),message:i.instant("jdbc.delete.sql.table.warning.msg",{name:n}),warning:!0}).result.then((function(){t.deleteJdbcConfiguration(n).success((function(){e.getSqlConfigurations()})).error((function(e){r.error(getError(e),i.instant("jdbc.not.delete.sql.msg"))}))}))}}function o(e,n,t,r,o,i,s,a,u,c,l){e.name=n.search().name||"",e.getNamespaces=function(){b(!0,l.instant("common.refreshing.namespaces"),l.instant("common.extra.message")),a.getRepositoryNamespaces().success((function(n){const t={};n.results.bindings.forEach((function(e){t[e.prefix.value]=e.namespace.value})),e.namespaces=t})).error((function(n){e.repositoryError=getError(n)})).finally((function(){b(!1),y()}))},e.setLoader=b,e.addKnownPrefixes=h,e.page=1,e.noPadding={paddingRight:0,paddingLeft:0},e.sqlTypes=["string","iri","boolean","byte","short","int","long","float","double","decimal","date","time","timestamp","Get suggestion..."],e.currentTabConfig={},e.orientationViewMode=!0,e.currentQuery={},e.$watch((function(){return r.getActiveRepository()}),(function(e,t){e!==t&&n.path("jdbc")}));let d=null;e.goBack=function(){d=i((function(){o.history.back()}),1e3)};const g=e.$on("$locationChangeStart",(function(n){!function(n){e.currentQuery.isPristine||(confirm(l.instant("jdbc.warning.unsaved.changes"))?(window.removeEventListener("beforeunload",f),g(),i.cancel(d)):n.preventDefault())}(n)}));function f(n){e.currentQuery.isPristine||(n.returnValue=!0)}window.addEventListener("beforeunload",f),e.$on("$destroy",(function(e){window.removeEventListener("beforeunload",f),g(),i.cancel(d)}));const m={id:"1",name:"",query:"PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n\n# Selects two variables to use as columns\nSELECT ?id ?label {\n ?id rdfs:label ?label\n # The following placeholder must be present in the query\n #!filter\n}",inference:!0,sameAs:!0,isNewConfiguration:!0,isPristine:!0};var p;function b(n,t,r){const o=angular.element(document.getElementById("yasr-inner"));e.queryIsRunning=n,n?(e.queryStartTime=Date.now(),e.countTimeouted=!1,e.progressMessage=t,e.extraMessage=r,o.addClass("hide")):(e.progressMessage="",e.extraMessage="",o.removeClass("hide")),null===e.$$phase&&e.$apply()}function y(){e.tabsData=[e.currentQuery];const n=e.currentQuery;e.currentQuery.query?window.editor.setValue(e.currentQuery.query):window.editor.setValue(" "),i((function(){e.currentTabConfig={},e.currentTabConfig.queryType=n.queryType,e.currentTabConfig.resultsCount=n.resultsCount,e.currentTabConfig.offset=n.offset,e.currentTabConfig.allResultsCount=n.allResultsCount,e.currentTabConfig.page=n.page,e.currentTabConfig.pageSize=n.pageSize,e.currentTabConfig.timeFinished=n.timeFinished,e.currentTabConfig.timeTook=n.timeTook,e.currentTabConfig.sizeDelta=n.sizeDelta,e.$apply()}),0),e.canWriteActiveRepo()||(window.editor.options.readOnly=!0)}function w(){e.tabsData=e.tabs=[m],e.currentQuery=angular.copy(m),v(),window.editor&&(e.setQuery(e.currentQuery.query),y()),e.$watch((function(){return e.currentQuery.query}),(function(n,t){n!==t&&e.setDirty()}))}function h(){u.addKnownPrefixes(JSON.stringify(window.editor.getValue())).success((function(e){angular.isDefined(window.editor)&&angular.isDefined(e)&&e!==window.editor.getValue()&&window.editor.setValue(e)})).error((function(e){const n=getError(e);return t.error(n,l.instant("common.add.known.prefixes.error")),!0}))}function C(){j()&&s.getColumnNames(e.currentQuery.query).success((function(n){s.getColumnsTypeSuggestion(e.currentQuery.query,n).success((function(t){const r=[];_.forEach(n,(function(e){r.push({column_name:e,column_type:t[e].column_type,nullable:!0,sparql_type:t[e].sparql_type})})),e.currentQuery.columns=r,e.setDirty()})).error((function(e){t.error(getError(e),l.instant("jdbc.not.suggest.column.types"))}))})).error((function(e){t.error(getError(e),l.instant("jdbc.not.suggest.column.names"))}))}function v(){2===e.page?e.viewMode="editor":e.viewMode="none"}function T(e,n,t,r,o){let i=t[r].value;i=i.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");return"<div class = 'literal-cell'>"+("<p class='nonUri' style='border: none; background-color: transparent; padding: 0; margin: 0'>"+i+"</p>")+"</div>"}function q(){return window.editor&&"SELECT"===window.editor.getQueryType()}function S(){return j()&&function(){if(!e.currentQuery.columns||!e.currentQuery.columns.length)return t.error(l.instant("jdbc.warning.one.column.msg"),l.instant("jdbc.invalid.columns")),!1;if(e.containsUnknownColumns())return t.error(l.instant("jdbc.warning.all.column.msg"),l.instant("jdbc.invalid.columns")),!1;return!0}()}function j(){return!!q()||(t.error(l.instant("jdbc.warning.invalid.query"),l.instant("jdbc.invalid.query)")),!1)}e.resetCurrentTabConfig=function(){e.currentTabConfig={pageSize:100,page:1,allResultsCount:0,resultsCount:0,queryType:""}},e.saveTab=function(){},e.setQuery=function(e){window.editor.setValue(e||" ")},e.name?(p=e.name,s.getJdbcConfiguration(p).success((function(e){m.query=e.query,m.name=e.name,m.columns=e.columns,m.isNewConfiguration=!e.name,w()})).error((function(e){const n=getError(e);t.error(n,l.instant("jdbc.not.get.sql.msg2"))}))):w(),e.goToPage=function(n){e.page=n;const t=e.currentQuery.columns;2!==n||t&&0!==t.length||!q()||e.getColumnsSuggestions(),v()},e.save=function(){S()&&(e.currentQuery.name?e.currentQuery.isNewConfiguration?s.createNewJdbcConfiguration(e.currentQuery).success((function(){e.currentQuery.isPristine=!0,e.currentQuery.isNewConfiguration=!1,t.success(l.instant("jdbc.saved.configuration")),e.goBack()})).error((function(e){const n=getError(e);t.error(n,l.instant("jdbc.not.saved.configuration"))})):s.updateJdbcConfiguration(e.currentQuery).success((function(){e.currentQuery.isPristine=!0,e.currentQuery.isNewConfiguration=!1,t.success(l.instant("jdbc.configuration.updated")),e.goBack()})).error((function(e){const n=getError(e);t.error(n,l.instant("jdbc.not.saved.configuration"))})):t.error(l.instant("jdbc.required.configuration.name")))},e.hasPrecision=function(e){return"iri"===e||"string"===e||"decimal"===e},e.containsColumnsWithPrecision=function(n){return n&&n.some(n=>e.hasPrecision(n.column_type))},e.hasScale=function(e){return"decimal"===e},e.containsColumnsWithScale=function(n){return n&&n.some(n=>e.hasScale(n.column_type))},e.isLiteral=function(e){return"iri"!==e&&"unknown"!==e},e.containsNonLiteralColumnsOnly=function(n){return n&&n.every(n=>!e.isLiteral(n.column_type))},e.containsUnknownColumns=function(){return e.currentQuery.columns&&e.currentQuery.columns.find(e=>"unknown"===e.column_type)},$("textarea").on("paste",(function(){i((function(){h()}),0)})),e.selectColumnType=function(n,r){const o=_.find(e.currentQuery.columns,(function(e){return e.column_name===n}));"Get suggestion..."===o.column_type&&s.getColumnsTypeSuggestion(e.currentQuery.query,[n]).success((function(e){o.column_type=e[n].column_type,o.column_type===r?t.info(l.instant("jdbc.same.suggested.sql.type",{type:o.column_type}),l.instant("jdbc.suggest.sql.type"),{allowHtml:!0}):t.success(l.instant("jdbc.suggested.sql.type",{type:o.column_type}),l.instant("jdbc.suggest.sql.type"),{allowHtml:!0}),o.sparql_type=e[n].sparql_type})).error((function(e){t.error(getError(e),l.instant("jdbc.not.suggest.column.type"))})),e.setDirty()},e.getColumnsSuggestions=function(){e.currentQuery.columns&&e.currentQuery.columns.length>0?c.openSimpleModal({title:l.instant("common.warning"),message:l.instant("jdbc.warning.column.type.msg"),warning:!0}).result.then((function(){C()})):C()},e.deleteColumn=function(n,t){c.openSimpleModal({title:l.instant("common.warning"),message:l.instant("jdbc.warning.delete.column.msg",{columnName:n}),warning:!0}).result.then((function(){e.currentQuery.columns.splice(t,1),e.setDirty()}))},e.getPreview=function(){if(S()&&(e.executedQueryTab=e.currentQuery,!e.queryIsRunning)){e.currentQuery.outputType="table",e.resetCurrentTabConfig(),b(!0,l.instant("jdbc.preview.first.rows",{name:e.name}),l.instant("common.extra.message"));const n=function(n,r,o){!function(n,r,o){n.results&&n.results.bindings&&n.results.bindings.length?(window.yasr.plugins.table.options.getCellContent=T,e.currentTabConfig.queryType="SELECT",window.yasr.setResponse(r,o,null)):t.info(l.instant("jdbc.table.definition"),l.instant("jdbc.preview.sql"))}(n,o,r),b(!1)},r=function(e){b(!1),t.error(getError(e,0,100),l.instant("jdbc.not.show.preview"))};if(e.canWriteActiveRepo()){const t=JSON.stringify({name:e.currentQuery.name,query:e.currentQuery.query,columns:e.currentQuery.columns||[]});s.getNewSqlTablePreview(t).done(n).fail(r)}else s.getExistingSqlTablePreview(e.currentQuery.name).done(n).fail(r)}},e.setDirty=function(){e.currentQuery.isPristine=!1},e.getTypeLabel=function(e){switch(e){case"iri":return"VARCHAR: IRI";case"string":return"VARCHAR: String";default:return e.indexOf(" ")>0?e:e.toUpperCase()}}}angular.module("graphdb.framework.jdbc.controllers",["ui.bootstrap","graphdb.framework.core.services.repositories","graphdb.framework.rest.monitoring.service","toastr"],["graphdb.framework.utils.notifications"]).controller("JdbcListCtrl",r).controller("JdbcCreateCtrl",o),r.$inject=["$scope","$repositories","JdbcRestService","toastr","ModalService","$translate"],o.$inject=["$scope","$location","toastr","$repositories","$window","$timeout","JdbcRestService","RDF4JRepositoriesRestService","SparqlRestService","ModalService","$translate"]},82:function(e,n){angular.module("graphdb.framework.rest.jdbc.service",[]).factory("JdbcRestService",t),t.$inject=["$http","$repositories","$translate"];function t(e,n){return{getJdbcConfigurations:function(){return e.get("rest/sql-views/tables")},getJdbcConfiguration:function(n){return e.get("rest/sql-views/tables/"+n)},createNewJdbcConfiguration:function(e){return t("POST","",e)},updateJdbcConfiguration:function(e){return t("PUT",e.name,e)},deleteJdbcConfiguration:function(n){return e.delete("rest/sql-views/tables/"+n)},getColumnNames:function(n){return e.post("rest/sql-views/columns",n,{headers:{Accept:"application/json","Content-Type":"text/plain"}})},getColumnsTypeSuggestion:function(t,r){if(!Array.isArray(r))throw new Error(n.instant("jdbc.column.names.constraint"));return e({method:"POST",url:"rest/sql-views/types",data:{query:t,column_names:r}})},getExistingSqlTablePreview:function(e,n){return $.ajax({method:"GET",url:"rest/sql-views/preview/"+e,params:{limit:n}})},getNewSqlTablePreview:function(e,n){return $.ajax({method:"POST",url:"rest/sql-views/preview",contentType:"application/json; charset=utf-8",dataType:"json",data:e,params:{limit:n},headers:{Accept:"application/sparql-results+json"}})}};function t(n,t,r){return e({method:n,url:"rest/sql-views/tables/"+t,noCancelOnRouteChange:!0,data:{name:r.name,query:r.query,columns:r.columns||[]}})}}}}]);
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[17,38,52,105,122],{126:function(e,n,t){"use strict";t.r(n);t(4),t(11),t(52),t(10),t(80),t(81),t(42),t(43),t(44);angular.module("graphdb.framework.jdbc",["toastr","ui.bootstrap","graphdb.framework.jdbc.controllers","graphdb.framework.core.services.repositories","graphdb.framework.core.directives","graphdb.framework.rest.jdbc.service","graphdb.framework.core.directives.queryeditor.controllers","graphdb.framework.core.directives.queryeditor.sparqltab","graphdb.framework.core.directives.queryeditor.queryeditor"])},38:function(e,n){function t(e,n){return{showToastMessageWithDelay:function(t){return new Promise(r=>{e.success(n.instant(t)),setTimeout(r,200)})}}}angular.module("graphdb.framework.utils.notifications",[]).factory("Notifications",t),t.$inject=["toastr","$translate"]},42:function(e,n,t){"use strict";t.r(n);t(5);function r(e,n,t,r){return{restrict:"AE",template:'<a class="nav-link" role="tab" data-toggle="tab" blur="submit" editable-text="tab.name" e-form="editCurrentlySelectedOnly" ng-click="selectThisTab($event)" ng-dblclick="editCurrentTab()" ><span ng-class="{\'text-muted\': !tab.name}">{{ tab.name || \'sparql.tab.directive.unnamed.tab.title\' | translate}}</span><button type="button" ng-click="deleteTab($event)" class="btn btn-link btn-sm secondary delete-sparql-tab-btn" title="Delete tab"><i class="icon-close"></i></button></a>',replace:!0,controller:["$scope","$element","$rootScope","ModalService","toastr","$translate",function(e,r,o,i,s,a){function u(e){return $(e).attr("data-id")}function c(e){$('a[data-id = "'+e+'"]').tab("show")}e.state={},$(r).on("shown.bs.tab",(function(e){o.$broadcast("tabAction",e)})),e.deleteTab=function(l){if(l.preventDefault(),l.stopPropagation(),e.tabs.length<2)return void s.warning(a.instant("sparql.tab.directive.close.last.warning"));l.shiftKey?(e.state.selectedTabId=u(r),i.openSimpleModal({title:a.instant("common.confirm"),message:a.instant("sparql.tab.directive.delete.all.tabs.warning"),warning:!0}).result.then((function(){var r;r=e.state.selectedTabId,e.tabs=e.tabs.filter((function(e){if(e.id===r)return e})),c(e.tabs[0].id),n.set(t.TABS_STATE,e.tabs),o.$broadcast("deleteAllexeptSelected",e.tabs)}))):(e.state.idForDelete=u(r),i.openSimpleModal({title:a.instant("common.confirm"),message:a.instant("sparql.tab.directive.close.tab.warning"),warning:!0}).result.then((function(){!function(n){if(angular.isUndefined(n))throw"Delete by id was called with undefined id";const t=function(n){for(let t=0;t<e.tabs.length;t++){if(e.tabs[t].id===n)return t}}(n);e.tabs.splice(t,1),n===e.currentQuery.id&&e.tabs.length>0&&c(t>0?e.tabs[t-1].id:e.tabs[0].id)}(e.state.idForDelete)})));angular.element(document).find(".CodeMirror textarea:first-child").focus()},e.editCurrentTab=function(){if(u(r)!==e.currentQuery.id)return;e.editCurrentlySelectedOnly.$show();const n=$(".editable-buttons");n.children(".btn.btn-primary").addClass("btn-sm"),n.children(".btn.btn-default").addClass("btn-sm"),$(".editable-controls .editable-input").addClass("form-control-sm").on("change",(function(n){e.currentQuery.name=n.currentTarget.$$currentValue})),$(".editable-buttons .glyphicon.glyphicon-ok").removeClass("glyphicon glyphicon-ok").addClass("fa fa-check"),$(".editable-buttons .glyphicon.glyphicon-remove").removeClass("glyphicon glyphicon-remove").addClass("fa fa-close")},e.selectThisTab=function(n){n.preventDefault(),n.stopPropagation(),e.isTabChangeOk(!1)&&$(r).tab("show")}}]}}angular.module("graphdb.framework.core.directives.queryeditor.sparqltab",["graphdb.framework.core","graphdb.framework.utils.localstorageadapter"]).directive("sparqlTab",r),r.$inject=["$rootScope","LocalStorageAdapter","LSKeys","ModalService"]},80:function(e,n,t){"use strict";t.r(n);t(4),t(10),t(14),t(38);function r(e,n,t,r,o,i){e.getSqlConfigurations=function(){!n.getActiveRepository()||n.isActiveRepoOntopType()||n.isActiveRepoFedXType()?e.jdbcConfigurations=[]:t.getJdbcConfigurations().success((function(n){e.jdbcConfigurations=n})).error((function(e){const n=getError(e);r.error(n,i.instant("jdbc.not.get.SQL.msg"))}))},e.$watch((function(){return n.getActiveRepository()}),(function(){e.getSqlConfigurations()})),e.deleteConfiguration=function(n){o.openSimpleModal({title:i.instant("common.warning"),message:i.instant("jdbc.delete.sql.table.warning.msg",{name:n}),warning:!0}).result.then((function(){t.deleteJdbcConfiguration(n).success((function(){e.getSqlConfigurations()})).error((function(e){r.error(getError(e),i.instant("jdbc.not.delete.sql.msg"))}))}))}}function o(e,n,t,r,o,i,s,a,u,c,l){e.name=n.search().name||"",e.getNamespaces=function(){b(!0,l.instant("common.refreshing.namespaces"),l.instant("common.extra.message")),a.getRepositoryNamespaces().success((function(n){const t={};n.results.bindings.forEach((function(e){t[e.prefix.value]=e.namespace.value})),e.namespaces=t})).error((function(n){e.repositoryError=getError(n)})).finally((function(){b(!1),y()}))},e.setLoader=b,e.addKnownPrefixes=h,e.page=1,e.noPadding={paddingRight:0,paddingLeft:0},e.sqlTypes=["string","iri","boolean","byte","short","int","long","float","double","decimal","date","time","timestamp","Get suggestion..."],e.currentTabConfig={},e.orientationViewMode=!0,e.currentQuery={},e.$watch((function(){return r.getActiveRepository()}),(function(e,t){e!==t&&n.path("jdbc")}));let d=null;e.goBack=function(){d=i((function(){o.history.back()}),1e3)};const g=e.$on("$locationChangeStart",(function(n){!function(n){e.currentQuery.isPristine||(confirm(l.instant("jdbc.warning.unsaved.changes"))?(window.removeEventListener("beforeunload",f),g(),i.cancel(d)):n.preventDefault())}(n)}));function f(n){e.currentQuery.isPristine||(n.returnValue=!0)}window.addEventListener("beforeunload",f),e.$on("$destroy",(function(e){window.removeEventListener("beforeunload",f),g(),i.cancel(d)}));const m={id:"1",name:"",query:"PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n\n# Selects two variables to use as columns\nSELECT ?id ?label {\n ?id rdfs:label ?label\n # The following placeholder must be present in the query\n #!filter\n}",inference:!0,sameAs:!0,isNewConfiguration:!0,isPristine:!0};var p;function b(n,t,r){const o=angular.element(document.getElementById("yasr-inner"));e.queryIsRunning=n,n?(e.queryStartTime=Date.now(),e.countTimeouted=!1,e.progressMessage=t,e.extraMessage=r,o.addClass("hide")):(e.progressMessage="",e.extraMessage="",o.removeClass("hide")),null===e.$$phase&&e.$apply()}function y(){e.tabsData=[e.currentQuery];const n=e.currentQuery;e.currentQuery.query?window.editor.setValue(e.currentQuery.query):window.editor.setValue(" "),i((function(){e.currentTabConfig={},e.currentTabConfig.queryType=n.queryType,e.currentTabConfig.resultsCount=n.resultsCount,e.currentTabConfig.offset=n.offset,e.currentTabConfig.allResultsCount=n.allResultsCount,e.currentTabConfig.page=n.page,e.currentTabConfig.pageSize=n.pageSize,e.currentTabConfig.timeFinished=n.timeFinished,e.currentTabConfig.timeTook=n.timeTook,e.currentTabConfig.sizeDelta=n.sizeDelta,e.$apply()}),0),e.canWriteActiveRepo()||(window.editor.options.readOnly=!0)}function w(){e.tabsData=e.tabs=[m],e.currentQuery=angular.copy(m),v(),window.editor&&(e.setQuery(e.currentQuery.query),y()),e.$watch((function(){return e.currentQuery.query}),(function(n,t){n!==t&&e.setDirty()}))}function h(){u.addKnownPrefixes(JSON.stringify(window.editor.getValue())).success((function(e){angular.isDefined(window.editor)&&angular.isDefined(e)&&e!==window.editor.getValue()&&window.editor.setValue(e)})).error((function(e){const n=getError(e);return t.error(n,l.instant("common.add.known.prefixes.error")),!0}))}function C(){j()&&s.getColumnNames(e.currentQuery.query).success((function(n){s.getColumnsTypeSuggestion(e.currentQuery.query,n).success((function(t){const r=[];_.forEach(n,(function(e){r.push({column_name:e,column_type:t[e].column_type,nullable:!0,sparql_type:t[e].sparql_type})})),e.currentQuery.columns=r,e.setDirty()})).error((function(e){t.error(getError(e),l.instant("jdbc.not.suggest.column.types"))}))})).error((function(e){t.error(getError(e),l.instant("jdbc.not.suggest.column.names"))}))}function v(){2===e.page?e.viewMode="editor":e.viewMode="none"}function T(e,n,t,r,o){let i=t[r].value;i=i.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");return"<div class = 'literal-cell'>"+("<p class='nonUri' style='border: none; background-color: transparent; padding: 0; margin: 0'>"+i+"</p>")+"</div>"}function q(){return window.editor&&"SELECT"===window.editor.getQueryType()}function S(){return j()&&function(){if(!e.currentQuery.columns||!e.currentQuery.columns.length)return t.error(l.instant("jdbc.warning.one.column.msg"),l.instant("jdbc.invalid.columns")),!1;if(e.containsUnknownColumns())return t.error(l.instant("jdbc.warning.all.column.msg"),l.instant("jdbc.invalid.columns")),!1;return!0}()}function j(){return!!q()||(t.error(l.instant("jdbc.warning.invalid.query"),l.instant("jdbc.invalid.query)")),!1)}e.resetCurrentTabConfig=function(){e.currentTabConfig={pageSize:100,page:1,allResultsCount:0,resultsCount:0,queryType:""}},e.saveTab=function(){},e.setQuery=function(e){window.editor.setValue(e||" ")},e.name?(p=e.name,s.getJdbcConfiguration(p).success((function(e){m.query=e.query,m.name=e.name,m.columns=e.columns,m.isNewConfiguration=!e.name,w()})).error((function(e){const n=getError(e);t.error(n,l.instant("jdbc.not.get.sql.msg2"))}))):w(),e.goToPage=function(n){e.page=n;const t=e.currentQuery.columns;2!==n||t&&0!==t.length||!q()||e.getColumnsSuggestions(),v()},e.save=function(){S()&&(e.currentQuery.name?e.currentQuery.isNewConfiguration?s.createNewJdbcConfiguration(e.currentQuery).success((function(){e.currentQuery.isPristine=!0,e.currentQuery.isNewConfiguration=!1,t.success(l.instant("jdbc.saved.configuration")),e.goBack()})).error((function(e){const n=getError(e);t.error(n,l.instant("jdbc.not.saved.configuration"))})):s.updateJdbcConfiguration(e.currentQuery).success((function(){e.currentQuery.isPristine=!0,e.currentQuery.isNewConfiguration=!1,t.success(l.instant("jdbc.configuration.updated")),e.goBack()})).error((function(e){const n=getError(e);t.error(n,l.instant("jdbc.not.saved.configuration"))})):t.error(l.instant("jdbc.required.configuration.name")))},e.hasPrecision=function(e){return"iri"===e||"string"===e||"decimal"===e},e.containsColumnsWithPrecision=function(n){return n&&n.some(n=>e.hasPrecision(n.column_type))},e.hasScale=function(e){return"decimal"===e},e.containsColumnsWithScale=function(n){return n&&n.some(n=>e.hasScale(n.column_type))},e.isLiteral=function(e){return"iri"!==e&&"unknown"!==e},e.containsNonLiteralColumnsOnly=function(n){return n&&n.every(n=>!e.isLiteral(n.column_type))},e.containsUnknownColumns=function(){return e.currentQuery.columns&&e.currentQuery.columns.find(e=>"unknown"===e.column_type)},$("textarea").on("paste",(function(){i((function(){h()}),0)})),e.selectColumnType=function(n,r){const o=_.find(e.currentQuery.columns,(function(e){return e.column_name===n}));"Get suggestion..."===o.column_type&&s.getColumnsTypeSuggestion(e.currentQuery.query,[n]).success((function(e){o.column_type=e[n].column_type,o.column_type===r?t.info(l.instant("jdbc.same.suggested.sql.type",{type:o.column_type}),l.instant("jdbc.suggest.sql.type"),{allowHtml:!0}):t.success(l.instant("jdbc.suggested.sql.type",{type:o.column_type}),l.instant("jdbc.suggest.sql.type"),{allowHtml:!0}),o.sparql_type=e[n].sparql_type})).error((function(e){t.error(getError(e),l.instant("jdbc.not.suggest.column.type"))})),e.setDirty()},e.getColumnsSuggestions=function(){e.currentQuery.columns&&e.currentQuery.columns.length>0?c.openSimpleModal({title:l.instant("common.warning"),message:l.instant("jdbc.warning.column.type.msg"),warning:!0}).result.then((function(){C()})):C()},e.deleteColumn=function(n,t){c.openSimpleModal({title:l.instant("common.warning"),message:l.instant("jdbc.warning.delete.column.msg",{columnName:n}),warning:!0}).result.then((function(){e.currentQuery.columns.splice(t,1),e.setDirty()}))},e.getPreview=function(){if(S()&&(e.executedQueryTab=e.currentQuery,!e.queryIsRunning)){e.currentQuery.outputType="table",e.resetCurrentTabConfig(),b(!0,l.instant("jdbc.preview.first.rows",{name:e.name}),l.instant("common.extra.message"));const n=function(n,r,o){!function(n,r,o){n.results&&n.results.bindings&&n.results.bindings.length?(window.yasr.plugins.table.options.getCellContent=T,e.currentTabConfig.queryType="SELECT",window.yasr.setResponse(r,o,null)):t.info(l.instant("jdbc.table.definition"),l.instant("jdbc.preview.sql"))}(n,o,r),b(!1)},r=function(e){b(!1),t.error(getError(e,0,100),l.instant("jdbc.not.show.preview"))};if(e.canWriteActiveRepo()){const t=JSON.stringify({name:e.currentQuery.name,query:e.currentQuery.query,columns:e.currentQuery.columns||[]});s.getNewSqlTablePreview(t).done(n).fail(r)}else s.getExistingSqlTablePreview(e.currentQuery.name).done(n).fail(r)}},e.setDirty=function(){e.currentQuery.isPristine=!1},e.getTypeLabel=function(e){switch(e){case"iri":return"VARCHAR: IRI";case"string":return"VARCHAR: String";default:return e.indexOf(" ")>0?e:e.toUpperCase()}}}angular.module("graphdb.framework.jdbc.controllers",["ui.bootstrap","graphdb.framework.core.services.repositories","graphdb.framework.rest.monitoring.service","toastr"],["graphdb.framework.utils.notifications"]).controller("JdbcListCtrl",r).controller("JdbcCreateCtrl",o),r.$inject=["$scope","$repositories","JdbcRestService","toastr","ModalService","$translate"],o.$inject=["$scope","$location","toastr","$repositories","$window","$timeout","JdbcRestService","RDF4JRepositoriesRestService","SparqlRestService","ModalService","$translate"]},81:function(e,n){angular.module("graphdb.framework.rest.jdbc.service",[]).factory("JdbcRestService",t),t.$inject=["$http","$repositories","$translate"];function t(e,n){return{getJdbcConfigurations:function(){return e.get("rest/sql-views/tables")},getJdbcConfiguration:function(n){return e.get("rest/sql-views/tables/"+n)},createNewJdbcConfiguration:function(e){return t("POST","",e)},updateJdbcConfiguration:function(e){return t("PUT",e.name,e)},deleteJdbcConfiguration:function(n){return e.delete("rest/sql-views/tables/"+n)},getColumnNames:function(n){return e.post("rest/sql-views/columns",n,{headers:{Accept:"application/json","Content-Type":"text/plain"}})},getColumnsTypeSuggestion:function(t,r){if(!Array.isArray(r))throw new Error(n.instant("jdbc.column.names.constraint"));return e({method:"POST",url:"rest/sql-views/types",data:{query:t,column_names:r}})},getExistingSqlTablePreview:function(e,n){return $.ajax({method:"GET",url:"rest/sql-views/preview/"+e,params:{limit:n}})},getNewSqlTablePreview:function(e,n){return $.ajax({method:"POST",url:"rest/sql-views/preview",contentType:"application/json; charset=utf-8",dataType:"json",data:e,params:{limit:n},headers:{Accept:"application/sparql-results+json"}})}};function t(n,t,r){return e({method:n,url:"rest/sql-views/tables/"+t,noCancelOnRouteChange:!0,data:{name:r.name,query:r.query,columns:r.columns||[]}})}}}}]);
|
|
2
|
+
//# sourceMappingURL=17.d1ac5f88f9ef9ee1c789.bundle.js.map
|