graphdb-workbench 2.2.2-TR2 → 2.3.0-TR1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/10.2c7c4caeb5771a2a98d1.bundle.js +2 -0
- package/dist/10.2c7c4caeb5771a2a98d1.bundle.js.map +1 -0
- package/dist/102.850f372bb910e3a64905.bundle.js +2 -0
- package/dist/102.850f372bb910e3a64905.bundle.js.map +1 -0
- package/dist/104.2e04965e98d05ada03fd.bundle.js +2 -0
- package/dist/104.2e04965e98d05ada03fd.bundle.js.map +1 -0
- package/dist/{107.37693ea0237c39fda863.bundle.js → 107.e401af35eca7e21cc9c2.bundle.js} +2 -2
- package/dist/107.e401af35eca7e21cc9c2.bundle.js.map +1 -0
- package/dist/{108.3c3f9c242e6a3e18fff5.bundle.js → 108.90cf8908233ccb473643.bundle.js} +2 -2
- package/dist/108.90cf8908233ccb473643.bundle.js.map +1 -0
- package/dist/{11.f4c5533cd200c8568ff6.bundle.js → 11.f912f1a9f37160d23a3b.bundle.js} +2 -2
- package/dist/11.f912f1a9f37160d23a3b.bundle.js.map +1 -0
- package/dist/{124.6a31dfbe4ac2f9064a29.bundle.js → 124.82728aea87e9d1190441.bundle.js} +2 -2
- package/dist/124.82728aea87e9d1190441.bundle.js.map +1 -0
- package/dist/{126.48e00b0525b3ef8efbe8.bundle.js → 126.d21b0bf850be03830298.bundle.js} +2 -2
- package/dist/126.d21b0bf850be03830298.bundle.js.map +1 -0
- package/dist/140.08e0e8799d3d5fefcda5.bundle.js +2 -0
- package/dist/140.08e0e8799d3d5fefcda5.bundle.js.map +1 -0
- package/dist/141.c16968e963be850e7a7b.bundle.js +2 -0
- package/dist/141.c16968e963be850e7a7b.bundle.js.map +1 -0
- package/dist/142.0204215ce1bf7b2cf84d.bundle.js +2 -0
- package/dist/142.0204215ce1bf7b2cf84d.bundle.js.map +1 -0
- package/dist/143.c194ab0648b274f3b554.bundle.js +2 -0
- package/dist/143.c194ab0648b274f3b554.bundle.js.map +1 -0
- package/dist/145.828376c0cb6b5ba6e015.bundle.js +2 -0
- package/dist/145.828376c0cb6b5ba6e015.bundle.js.map +1 -0
- package/dist/146.581f1af823b55dc358d6.bundle.js +2 -0
- package/dist/146.581f1af823b55dc358d6.bundle.js.map +1 -0
- package/dist/147.66395fd5d79176a79c38.bundle.js +2 -0
- package/dist/147.66395fd5d79176a79c38.bundle.js.map +1 -0
- package/dist/{148.dd250d3cc5aafade33c6.bundle.js → 148.78e7398de964231883f3.bundle.js} +2 -2
- package/dist/{148.dd250d3cc5aafade33c6.bundle.js.map → 148.78e7398de964231883f3.bundle.js.map} +1 -1
- package/dist/{149.a0873076f2dd40830be9.bundle.js → 149.6eb6ef704b8da7bfc6ce.bundle.js} +2 -2
- package/dist/{149.a0873076f2dd40830be9.bundle.js.map → 149.6eb6ef704b8da7bfc6ce.bundle.js.map} +1 -1
- package/dist/{150.3bd8af24551408342185.bundle.js → 150.283dd1f6da002f1ca17f.bundle.js} +2 -2
- package/dist/{150.3bd8af24551408342185.bundle.js.map → 150.283dd1f6da002f1ca17f.bundle.js.map} +1 -1
- package/dist/154.056ec5c8aafbc07484e0.bundle.js +2 -0
- package/dist/154.056ec5c8aafbc07484e0.bundle.js.map +1 -0
- package/dist/156.e15f9befbcfaf6677387.bundle.js +2 -0
- package/dist/156.e15f9befbcfaf6677387.bundle.js.map +1 -0
- package/dist/158.29813ed563736e5c85b2.bundle.js +2 -0
- package/dist/158.29813ed563736e5c85b2.bundle.js.map +1 -0
- package/dist/16.b8bb2389b9f026a298f7.bundle.js +3 -0
- package/dist/16.b8bb2389b9f026a298f7.bundle.js.map +1 -0
- package/dist/160.d5f5ab14c56efd04e404.bundle.js +2 -0
- package/dist/160.d5f5ab14c56efd04e404.bundle.js.map +1 -0
- package/dist/161.f142c1fe18346f00882a.bundle.js +2 -0
- package/dist/161.f142c1fe18346f00882a.bundle.js.map +1 -0
- package/dist/164.d4b744057d28ed5e7e47.bundle.js +2 -0
- package/dist/164.d4b744057d28ed5e7e47.bundle.js.map +1 -0
- package/dist/166.256169db442fec472d9d.bundle.js +2 -0
- package/dist/166.256169db442fec472d9d.bundle.js.map +1 -0
- package/dist/167.f79a82f7de6734cca660.bundle.js +2 -0
- package/dist/167.f79a82f7de6734cca660.bundle.js.map +1 -0
- package/dist/169.16292782069da22a11c0.bundle.js +2 -0
- package/dist/169.16292782069da22a11c0.bundle.js.map +1 -0
- package/dist/17.675eef636eb095240fab.bundle.js +2 -0
- package/dist/17.675eef636eb095240fab.bundle.js.map +1 -0
- package/dist/171.2aecfe97c1fa24db3bf3.bundle.js +2 -0
- package/dist/171.2aecfe97c1fa24db3bf3.bundle.js.map +1 -0
- package/dist/172.558d9080f05080a0dac2.bundle.js +2 -0
- package/dist/172.558d9080f05080a0dac2.bundle.js.map +1 -0
- package/dist/173.c1546a02befda215609d.bundle.js +2 -0
- package/dist/173.c1546a02befda215609d.bundle.js.map +1 -0
- package/dist/175.943ac5019fe29113e1f2.bundle.js +2 -0
- package/dist/175.943ac5019fe29113e1f2.bundle.js.map +1 -0
- package/dist/176.96a2ffd87018134c7b29.bundle.js +2 -0
- package/dist/176.96a2ffd87018134c7b29.bundle.js.map +1 -0
- package/dist/177.443034c31f85d8ac396c.bundle.js +2 -0
- package/dist/177.443034c31f85d8ac396c.bundle.js.map +1 -0
- package/dist/180.384be4faad5d0b1716b5.bundle.js +2 -0
- package/dist/180.384be4faad5d0b1716b5.bundle.js.map +1 -0
- package/dist/181.ce536d7a1f4cb278f82c.bundle.js +2 -0
- package/dist/181.ce536d7a1f4cb278f82c.bundle.js.map +1 -0
- package/dist/182.6154b3558b619301bfdf.bundle.js +2 -0
- package/dist/{182.1b40c7e8a8424e87da32.bundle.js.map → 182.6154b3558b619301bfdf.bundle.js.map} +1 -1
- package/dist/183.67e81437028990463d1a.bundle.js +2 -0
- package/dist/183.67e81437028990463d1a.bundle.js.map +1 -0
- package/dist/20.fbcb31706f03a07e8827.bundle.js +1 -1
- package/dist/20.fbcb31706f03a07e8827.bundle.js.map +1 -1
- package/dist/21.081b98fe7cc1b3dbbd72.bundle.js +2 -0
- package/dist/21.081b98fe7cc1b3dbbd72.bundle.js.map +1 -0
- package/dist/{23.b945d0565ded44df49c5.bundle.js → 23.24787bc4590d48521f4b.bundle.js} +2 -2
- package/dist/23.24787bc4590d48521f4b.bundle.js.map +1 -0
- package/dist/24.7468162b4988a0ad6eaa.bundle.js +2 -0
- package/dist/24.7468162b4988a0ad6eaa.bundle.js.map +1 -0
- package/dist/{25.9d7a3d8f98840b1fc5da.bundle.js → 25.64b95438d07ae2d82d8c.bundle.js} +2 -2
- package/dist/25.64b95438d07ae2d82d8c.bundle.js.map +1 -0
- package/dist/{26.a15a1adb6b30ab849e62.bundle.js → 26.7b0b040185949c4eb865.bundle.js} +2 -2
- package/dist/26.7b0b040185949c4eb865.bundle.js.map +1 -0
- package/dist/{27.83b24ef9ec0fd6964d92.bundle.js → 27.78b1f59da6f702484766.bundle.js} +2 -2
- package/dist/27.78b1f59da6f702484766.bundle.js.map +1 -0
- package/dist/{3.7f19eec4e1cff6bb8ff2.bundle.js → 3.9b969c666ea9ed46ea4f.bundle.js} +2 -2
- package/dist/3.9b969c666ea9ed46ea4f.bundle.js.map +1 -0
- package/dist/{30.a2596e679fb09411b854.bundle.js → 30.67e342e8f1485d26a99b.bundle.js} +2 -2
- package/dist/30.67e342e8f1485d26a99b.bundle.js.map +1 -0
- package/dist/31.133397ed26eda58c7e18.bundle.js +2 -0
- package/dist/31.133397ed26eda58c7e18.bundle.js.map +1 -0
- package/dist/33.4d23fa109c9184727386.bundle.js +1 -1
- package/dist/33.4d23fa109c9184727386.bundle.js.map +1 -1
- package/dist/{35.8be1042671722a19f3b4.bundle.js → 35.541a97f880621d5f7031.bundle.js} +2 -2
- package/dist/35.541a97f880621d5f7031.bundle.js.map +1 -0
- package/dist/36.239dd56c03aeda760f8b.bundle.js +2 -0
- package/dist/36.239dd56c03aeda760f8b.bundle.js.map +1 -0
- package/dist/{38.f4b561d7ee5b236ba481.bundle.js → 38.c8620e7cbab859b6f236.bundle.js} +2 -2
- package/dist/38.c8620e7cbab859b6f236.bundle.js.map +1 -0
- package/dist/39.c630c0e36b0dc913bbe3.bundle.js +2 -0
- package/dist/39.c630c0e36b0dc913bbe3.bundle.js.map +1 -0
- package/dist/{4.186c084105c931abbe1a.bundle.js → 4.d3fb6d0dcca79643bcb3.bundle.js} +2 -2
- package/dist/4.d3fb6d0dcca79643bcb3.bundle.js.map +1 -0
- package/dist/40.50b40301c8cc69a70457.bundle.js +1 -1
- package/dist/40.50b40301c8cc69a70457.bundle.js.map +1 -1
- package/dist/42.45ee7b629beac3e06cc2.bundle.js +2 -0
- package/dist/42.45ee7b629beac3e06cc2.bundle.js.map +1 -0
- package/dist/43.72fbe7e5d290c40db9ec.bundle.js +2 -0
- package/dist/43.72fbe7e5d290c40db9ec.bundle.js.map +1 -0
- package/dist/{5.5f48e5c6fc10b52dd415.bundle.js → 5.a44aa21343f8bf48f0e0.bundle.js} +2 -2
- package/dist/5.a44aa21343f8bf48f0e0.bundle.js.map +1 -0
- package/dist/{53.78084dd64a27f7a6d2e8.bundle.js → 53.c6d488d0fb81a54a3e55.bundle.js} +2 -2
- package/dist/53.c6d488d0fb81a54a3e55.bundle.js.map +1 -0
- package/dist/{54.fe5e554af6ba2c5778c1.bundle.js → 54.6209da75289a30ff366b.bundle.js} +2 -2
- package/dist/54.6209da75289a30ff366b.bundle.js.map +1 -0
- package/dist/{56.9c6f6ecafc1909c42dda.bundle.js → 56.0d89e5b9f6403aab1c8e.bundle.js} +2 -2
- package/dist/56.0d89e5b9f6403aab1c8e.bundle.js.map +1 -0
- package/dist/61.6332e06d94ef4426f068.bundle.js +2 -0
- package/dist/61.6332e06d94ef4426f068.bundle.js.map +1 -0
- package/dist/{62.86f5ed4f7b582a8aa17d.bundle.js → 62.14d5882e16c3da266b6f.bundle.js} +2 -2
- package/dist/62.14d5882e16c3da266b6f.bundle.js.map +1 -0
- package/dist/{7.c7d8fb1dfdb444052435.bundle.js → 7.8ca1f2ef4d0aa49b93ac.bundle.js} +2 -2
- package/dist/7.8ca1f2ef4d0aa49b93ac.bundle.js.map +1 -0
- package/dist/{71.4dbbc366049697f736c5.bundle.js → 71.48a75ab912070cdb19f5.bundle.js} +2 -2
- package/dist/71.48a75ab912070cdb19f5.bundle.js.map +1 -0
- package/dist/9.3b571539df8c3b22cf6e.bundle.js +2 -0
- package/dist/9.3b571539df8c3b22cf6e.bundle.js.map +1 -0
- package/dist/94.38349f52df66313fbcc0.bundle.js +1 -1
- package/dist/94.38349f52df66313fbcc0.bundle.js.map +1 -1
- package/dist/97.df243fffeb4322e50f63.bundle.js +2 -0
- package/dist/97.df243fffeb4322e50f63.bundle.js.map +1 -0
- package/dist/bundle.73c02a0d535f14462730.bundle.js +92 -0
- package/dist/bundle.73c02a0d535f14462730.bundle.js.map +1 -0
- package/dist/index.html +7 -7
- package/dist/js/angular/clustermanagement/templates/modal/add-nodes-dialog.html +2 -2
- package/dist/js/angular/clustermanagement/templates/modal/cluster-create-dialog.html +8 -8
- package/dist/js/angular/clustermanagement/templates/modal/cluster-delete-dialog.html +1 -1
- package/dist/js/angular/clustermanagement/templates/modal/cluster-edit-dialog.html +5 -5
- package/dist/js/angular/core/directives/languageselector/templates/languageSelector.html +2 -2
- package/dist/js/angular/core/directives/queryeditor/templates/query-editor.html +19 -19
- package/dist/js/angular/core/directives/queryeditor/templates/query-sample.html +1 -1
- package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +3 -3
- package/dist/js/angular/core/templates/core-errors.html +1 -1
- package/dist/js/angular/core/templates/inactive-plugin-warning-page.html +1 -1
- package/dist/js/angular/core/templates/search-resource-input.html +3 -3
- package/dist/js/angular/externalsync/templates/deleteConnector.html +1 -1
- package/dist/js/angular/graphexplore/templates/modal/save-graph.html +1 -1
- package/dist/js/angular/graphexplore/templates/rdfsCommentLabelTemplate.html +2 -2
- package/dist/js/angular/graphexplore/templates/searchIconInputTemplate.html +3 -3
- package/dist/js/angular/import/templates/filesTable.html +12 -12
- package/dist/js/angular/import/templates/settingsModal.html +19 -19
- package/dist/js/angular/import/templates/textSnippet.html +4 -4
- package/dist/js/angular/import/templates/urlImport.html +4 -4
- package/dist/js/angular/repositories/templates/fedx-repo.html +15 -15
- package/dist/js/angular/repositories/templates/ontop-repo.html +8 -8
- package/dist/js/angular/security/templates/modal/default-authorities.html +2 -2
- package/dist/js/angular/security/templates/user.html +13 -13
- package/dist/js/angular/security/templates/users.html +8 -8
- package/dist/js/angular/settings/modal/location-settings.html +1 -1
- package/dist/js/angular/templates/modal/add-location.html +3 -3
- package/dist/js/angular/templates/modal/edit-location.html +3 -3
- package/dist/js/angular/templates/modal/editRepoFile.html +1 -1
- package/dist/js/angular/templates/modal/upload-repository-config.html +2 -2
- package/dist/pages/autocomplete.html +8 -8
- package/dist/pages/choose-repository-type.html +1 -1
- package/dist/pages/cluster-management/clusterInfo.html +15 -15
- package/dist/pages/connectorsInfo.html +5 -5
- package/dist/pages/create-index.html +15 -15
- package/dist/pages/createConnector.html +23 -23
- package/dist/pages/dependencies.html +12 -12
- package/dist/pages/domainRangeInfo.html +6 -6
- package/dist/pages/edit.html +7 -7
- package/dist/pages/explore.html +10 -10
- package/dist/pages/export.html +14 -14
- package/dist/pages/find.html +2 -2
- package/dist/pages/graph-config/saveGraphConfig.html +22 -22
- package/dist/pages/graphs-visualizations.html +47 -47
- package/dist/pages/guides.html +6 -6
- package/dist/pages/home.html +10 -10
- package/dist/pages/import.html +7 -7
- package/dist/pages/info.html +16 -16
- package/dist/pages/jdbc-create.html +18 -18
- package/dist/pages/jdbc.html +3 -3
- package/dist/pages/licenseInfo.html +1 -1
- package/dist/pages/login.html +2 -2
- package/dist/pages/monitor/queries.html +5 -5
- package/dist/pages/monitor/resources.html +13 -13
- package/dist/pages/namespaces.html +14 -14
- package/dist/pages/plugins.html +4 -4
- package/dist/pages/rdfClassHierarchyInfo.html +16 -16
- package/dist/pages/rdfrank.html +17 -17
- package/dist/pages/registerLicenseInfo.html +3 -3
- package/dist/pages/repositories.html +20 -20
- package/dist/pages/repository.html +37 -37
- package/dist/pages/similarity-indexes.html +15 -15
- package/dist/pages/sparql-template-create.html +9 -9
- package/dist/pages/sparql-templates.html +3 -3
- package/dist/pages/sparql.html +8 -8
- package/dist/pages/webapi.html +3 -3
- package/dist/res/swagger/index.html +27 -27
- package/package.json +2 -2
- package/dist/10.973caeed3c05ef2cfd1c.bundle.js +0 -2
- package/dist/10.973caeed3c05ef2cfd1c.bundle.js.map +0 -1
- package/dist/102.93af0905ca1ff2be2dbf.bundle.js +0 -2
- package/dist/102.93af0905ca1ff2be2dbf.bundle.js.map +0 -1
- package/dist/104.b82229ea4c12400f6f5d.bundle.js +0 -2
- package/dist/104.b82229ea4c12400f6f5d.bundle.js.map +0 -1
- package/dist/107.37693ea0237c39fda863.bundle.js.map +0 -1
- package/dist/108.3c3f9c242e6a3e18fff5.bundle.js.map +0 -1
- package/dist/11.f4c5533cd200c8568ff6.bundle.js.map +0 -1
- package/dist/124.6a31dfbe4ac2f9064a29.bundle.js.map +0 -1
- package/dist/126.48e00b0525b3ef8efbe8.bundle.js.map +0 -1
- package/dist/140.8f22a20a0689c072368f.bundle.js +0 -2
- package/dist/140.8f22a20a0689c072368f.bundle.js.map +0 -1
- package/dist/141.6ffbf225a69b845e5e07.bundle.js +0 -2
- package/dist/141.6ffbf225a69b845e5e07.bundle.js.map +0 -1
- package/dist/142.355ab1a9716ce7315ad6.bundle.js +0 -2
- package/dist/142.355ab1a9716ce7315ad6.bundle.js.map +0 -1
- package/dist/143.64b1142c8e48b388717f.bundle.js +0 -2
- package/dist/143.64b1142c8e48b388717f.bundle.js.map +0 -1
- package/dist/145.9858a584e01b6c01a57c.bundle.js +0 -2
- package/dist/145.9858a584e01b6c01a57c.bundle.js.map +0 -1
- package/dist/146.15a2396be0b56a454857.bundle.js +0 -2
- package/dist/146.15a2396be0b56a454857.bundle.js.map +0 -1
- package/dist/147.638cfbfdf711a97e19f1.bundle.js +0 -2
- package/dist/147.638cfbfdf711a97e19f1.bundle.js.map +0 -1
- package/dist/154.6dadeaa5b9cdab265cb3.bundle.js +0 -2
- package/dist/154.6dadeaa5b9cdab265cb3.bundle.js.map +0 -1
- package/dist/156.4252f16fc656c91fba0c.bundle.js +0 -2
- package/dist/156.4252f16fc656c91fba0c.bundle.js.map +0 -1
- package/dist/158.13d4aafb2c7f02af028b.bundle.js +0 -2
- package/dist/158.13d4aafb2c7f02af028b.bundle.js.map +0 -1
- package/dist/16.61454b9a7360266e544a.bundle.js +0 -3
- package/dist/16.61454b9a7360266e544a.bundle.js.map +0 -1
- package/dist/160.3b604e0909b8a932d959.bundle.js +0 -2
- package/dist/160.3b604e0909b8a932d959.bundle.js.map +0 -1
- package/dist/161.c72cc3169ea1191e49e8.bundle.js +0 -2
- package/dist/161.c72cc3169ea1191e49e8.bundle.js.map +0 -1
- package/dist/164.a03f4da227b54ad97c18.bundle.js +0 -2
- package/dist/164.a03f4da227b54ad97c18.bundle.js.map +0 -1
- package/dist/166.b4fd0bd3df4985d3e74a.bundle.js +0 -2
- package/dist/166.b4fd0bd3df4985d3e74a.bundle.js.map +0 -1
- package/dist/167.0e3773d3b16936a2a72a.bundle.js +0 -2
- package/dist/167.0e3773d3b16936a2a72a.bundle.js.map +0 -1
- package/dist/169.a43d9e76a361ad2cabb5.bundle.js +0 -2
- package/dist/169.a43d9e76a361ad2cabb5.bundle.js.map +0 -1
- package/dist/17.545bc1027c226502e3b8.bundle.js +0 -2
- package/dist/17.545bc1027c226502e3b8.bundle.js.map +0 -1
- package/dist/171.584fa763e2fe9a4d34f4.bundle.js +0 -2
- package/dist/171.584fa763e2fe9a4d34f4.bundle.js.map +0 -1
- package/dist/172.67ba9379059ac602d509.bundle.js +0 -2
- package/dist/172.67ba9379059ac602d509.bundle.js.map +0 -1
- package/dist/173.fd7ee2abdf75fc0ed3a3.bundle.js +0 -2
- package/dist/173.fd7ee2abdf75fc0ed3a3.bundle.js.map +0 -1
- package/dist/175.341ea8612291026d2630.bundle.js +0 -2
- package/dist/175.341ea8612291026d2630.bundle.js.map +0 -1
- package/dist/176.7cdff30cd9372f424163.bundle.js +0 -2
- package/dist/176.7cdff30cd9372f424163.bundle.js.map +0 -1
- package/dist/177.57ac19484b6430c0f242.bundle.js +0 -2
- package/dist/177.57ac19484b6430c0f242.bundle.js.map +0 -1
- package/dist/180.f19924b6b550773f9163.bundle.js +0 -2
- package/dist/180.f19924b6b550773f9163.bundle.js.map +0 -1
- package/dist/181.db05a22a05f9c928b08c.bundle.js +0 -2
- package/dist/181.db05a22a05f9c928b08c.bundle.js.map +0 -1
- package/dist/182.1b40c7e8a8424e87da32.bundle.js +0 -2
- package/dist/183.1ed57fba52ab51806ec3.bundle.js +0 -2
- package/dist/183.1ed57fba52ab51806ec3.bundle.js.map +0 -1
- package/dist/21.ea150df1291050bc1c4a.bundle.js +0 -2
- package/dist/21.ea150df1291050bc1c4a.bundle.js.map +0 -1
- package/dist/23.b945d0565ded44df49c5.bundle.js.map +0 -1
- package/dist/24.77907cc1d707305663c9.bundle.js +0 -2
- package/dist/24.77907cc1d707305663c9.bundle.js.map +0 -1
- package/dist/25.9d7a3d8f98840b1fc5da.bundle.js.map +0 -1
- package/dist/26.a15a1adb6b30ab849e62.bundle.js.map +0 -1
- package/dist/27.83b24ef9ec0fd6964d92.bundle.js.map +0 -1
- package/dist/3.7f19eec4e1cff6bb8ff2.bundle.js.map +0 -1
- package/dist/30.a2596e679fb09411b854.bundle.js.map +0 -1
- package/dist/31.fbcd8b1840a84a281e47.bundle.js +0 -2
- package/dist/31.fbcd8b1840a84a281e47.bundle.js.map +0 -1
- package/dist/35.8be1042671722a19f3b4.bundle.js.map +0 -1
- package/dist/36.8d7becdfce12d9a0de33.bundle.js +0 -2
- package/dist/36.8d7becdfce12d9a0de33.bundle.js.map +0 -1
- package/dist/38.f4b561d7ee5b236ba481.bundle.js.map +0 -1
- package/dist/39.68f59c2a9aeb4c4100c9.bundle.js +0 -2
- package/dist/39.68f59c2a9aeb4c4100c9.bundle.js.map +0 -1
- package/dist/4.186c084105c931abbe1a.bundle.js.map +0 -1
- package/dist/42.87fe547d27ce0c30deef.bundle.js +0 -2
- package/dist/42.87fe547d27ce0c30deef.bundle.js.map +0 -1
- package/dist/43.34060633fa9548ec3437.bundle.js +0 -2
- package/dist/43.34060633fa9548ec3437.bundle.js.map +0 -1
- package/dist/5.5f48e5c6fc10b52dd415.bundle.js.map +0 -1
- package/dist/53.78084dd64a27f7a6d2e8.bundle.js.map +0 -1
- package/dist/54.fe5e554af6ba2c5778c1.bundle.js.map +0 -1
- package/dist/56.9c6f6ecafc1909c42dda.bundle.js.map +0 -1
- package/dist/61.faf4ab26276a053ccac5.bundle.js +0 -2
- package/dist/61.faf4ab26276a053ccac5.bundle.js.map +0 -1
- package/dist/62.86f5ed4f7b582a8aa17d.bundle.js.map +0 -1
- package/dist/7.c7d8fb1dfdb444052435.bundle.js.map +0 -1
- package/dist/71.4dbbc366049697f736c5.bundle.js.map +0 -1
- package/dist/9.7bdbee8225f687ec81bc.bundle.js +0 -2
- package/dist/9.7bdbee8225f687ec81bc.bundle.js.map +0 -1
- package/dist/97.e88574ad257bd44724c3.bundle.js +0 -2
- package/dist/97.e88574ad257bd44724c3.bundle.js.map +0 -1
- package/dist/bundle.f540ee201846422b1cb9.bundle.js +0 -92
- package/dist/bundle.f540ee201846422b1cb9.bundle.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///./src/js/lib/common/d3-utils.js","webpack:///./src/js/lib/common/svg-export.js","webpack:///./src/js/angular/graphexplore/directives/domain-range-graph.directive.js"],"names":["D3","Text","calcFontSizeRaw","text","radius","minimumSize","isMultiline","textSize","substring","length","match","Math","round","calcFontSize","getTextWithElipsisIfNeeded","str","threshold","Transition","fadeIn","sel","duration","style","transition","fadeOut","Click","delayDblClick","event","d3","dispatch","rebind","selection","down","wait","on","mouse","document","body","Date","d","a","b","sqrt","pow","window","clearTimeout","dblclick","setTimeout","click","SVG","Export","getCSSRules","cssSourceFilePath","cssRules","$","sheet","rules","cssStr","_","each","value","cssText","generateBase64ImageSource","exportSvg","selectAll","attr","version","xmlns","node","parentNode","innerHTML","btoa","unescape","encodeURIComponent","domainRangeGraphDirective","$rootScope","$window","$repositories","GraphDataRestService","$location","LocalStorageAdapter","LSKeys","$timeout","toastr","ONTO_RED","ONTO_GREEN","ONTO_BLUE","NON_COLLAPSED_REFLEXIVE_LINK_LIMIT","restrict","template","scope","showPredicatesInfoPanel","selectedPredicate","collapseEdges","link","timer","prototype","moveToFront","this","select","appendChild","moveToBack","firstChild","insertBefore","force","layout","size","charge","drag","classed","selected","svg","append","defs","id","viewBox","refX","refY","markerUnits","markerWidth","markerHeight","orient","fill","class","imgSrc","href","download","getActiveRepository","legendCellGroup","width","height","targetX","legendTextX","cx","cy","r","x","y","classNodeY","objectNodeTextY","x1","y1","datatypeNodeY","x2","y2","absUrl","basicPropertyArrowY","collapsedPropArrowY","g","selectedRdfUri","search","uri","classNodeLabel","name","collapsed","getDomainRangeData","success","response","status","headers","domainRangeGraphData","error","set","DOMAIN_RANGE_WENT_BACK","onpopstate","state","$broadcast","$watch","angular","isUndefined","DOMAIN_RANGE_COLLAPSE_EDGES","get","switchEdgeMode","remove","graph","copy","nodes","links","linkGroup","data","enter","styleArrowsInCollapsedMode","loopLink","loopLinkEdgeCount","objectPropNodeClassUri","propertyType","targetRadius","targetNodeEdgeCount","implicit","previousPropertyNameSelection","disableCollapsedPredicateLabelHightlighting","isEmptyObject","background","onCollapsedPropertyNameClick","previousSibling","stopPropagation","ready","bind","propertyNames","test","open","linkRect","calculatedWidth","getBBox","textPadding","calculatedHeight","translateX","nodeGroup","filter","objectPropClassUri","classPosition","objectPropClassName","call","$apply","rdfClassName","classNode","loopLinkBackgroundSel","loopLinkPropertyName","loopLinkBackgroundProps","i","push","idx","e","k","alpha","positionLoopLinkBackgrounds","loopLinkBackgroundY","loopLinkBackgroundX","allLoopLinkEdges","dd","foundLoopLinkBackgroundProps","grep","obj","parseFloat","transform","reposition","viewMoreTextWidth","target","allEdges","getComputedTextLength","adjustViewMorePredicatesLabel","source","targetY","pushEdgesToLeftAndRight","angle","atan2","cos","sin","loopTranslateX","mainClassSize","loopTranslateY","positionLoopLink","currentBackgroundHeight","loopLinkLabelX","loopLinkLabelY","predicatesLeft","labelSel","backgroundSel","nextSibling","createViewMorePredicatesLabel","positionLoopLinkLabels","log10","log","LN10","absDiff","logOffset","abs","centerClassNode","linkDistance","start","renderDomainRangeGraph","$on","cancel","module","constant","directive","$inject"],"mappings":"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","file":"33.4d23fa109c9184727386.bundle.js","sourcesContent":["var D3 = D3 || {};\n\nD3.Text = function () {\n function calcFontSizeRaw(text, radius, minimumSize, isMultiline) {\n minimumSize = minimumSize || 10;\n\n var textSize = radius / 3;\n if (typeof text === \"string\") {\n var len = text.substring(0, radius / 3).length + 1.5;\n textSize *= 10 / len;\n textSize += 1;\n // experimental alternative method:\n // var textSize = 3.3 * radius / text.length;\n\n // Tweak for Indian scripts and CJK ones\n if (text.match(/[\\u0900-\\u0DFF\\u1100-\\u11FF\\u2E80-\\u2EFF\\u3000-\\u9FFF]/)) {\n textSize *= 0.6;\n }\n\n if (textSize < minimumSize) {\n textSize = minimumSize;\n }\n\n /* Disabled for the time being, better without this\n if (isMultiline) {\n var numWords = text.split(/\\s+/).length;\n if (numWords > 1) {\n if (numWords > 4) {\n numWords = 4;\n }\n textSize += textSize * (4 - numWords) * 0.1;\n }\n }\n */\n\n return Math.round(textSize);\n }\n\n if (textSize < minimumSize) {\n textSize = minimumSize;\n }\n\n return Math.round(textSize);\n }\n\n function calcFontSize(text, radius, minimumSize, isMultiline) {\n return calcFontSizeRaw(text, radius, minimumSize, isMultiline) + 'px';\n }\n\n function getTextWithElipsisIfNeeded(str, threshold) {\n if (typeof str === \"string\") {\n if (str.length > threshold) {\n return str.substring(0, threshold - 3) + \"...\";\n }\n }\n return str;\n }\n\n return {\n calcFontSizeRaw: calcFontSizeRaw,\n calcFontSize: calcFontSize,\n getTextWithElipsisIfNeeded: getTextWithElipsisIfNeeded\n };\n}();\n\nD3.Transition = function () {\n function fadeIn(sel, duration) {\n sel.style(\"opacity\", 0.0)\n .transition()\n .duration(duration)\n .style(\"opacity\", 1.0);\n }\n\n function fadeOut(sel, duration) {\n sel.style(\"opacity\", 1.0)\n .transition()\n .duration(duration)\n .style(\"opacity\", 0.0);\n }\n\n return {\n fadeIn: fadeIn,\n fadeOut: fadeOut\n };\n}();\n\nD3.Click = function () {\n function delayDblClick() {\n var event = d3.dispatch('click', 'dblclick');\n\n function cc(selection) {\n var down,\n tolerance = 5,\n last,\n wait = null;\n\n // euclidean distance\n function dist(a, b) {\n return Math.sqrt(Math.pow(a[0] - b[0], 2), Math.pow(a[1] - b[1], 2));\n }\n\n selection.on('mousedown', function () {\n down = d3.mouse(document.body);\n last = +new Date();\n });\n selection.on('mouseup', function (d) {\n if (dist(down, d3.mouse(document.body)) > tolerance) {\n return;\n } else {\n if (wait) {\n window.clearTimeout(wait);\n wait = null;\n event.dblclick(d);\n } else {\n wait = window.setTimeout((function (e) {\n return function () {\n event.click(d);\n wait = null;\n };\n })(d3.event), 250);\n }\n }\n });\n }\n\n return d3.rebind(cc, event, 'on');\n }\n\n return {\n delayDblClick: delayDblClick\n };\n}();\n\nexport default D3;\n","var SVG = SVG || {};\n\nSVG.Export = function () {\n function getCSSRules(cssSourceFilePath) {\n var cssRules = $('link[href=\"' + cssSourceFilePath + '\"]')[0].sheet.rules;\n var cssStr = \"\";\n _.each(cssRules, function (value) {\n cssStr += value.cssText;\n });\n return cssStr;\n }\n\n function generateBase64ImageSource() {\n // add needed xml namespace\n var exportSvg = d3.selectAll(\"svg\")\n .attr({\n version: \"1.1\",\n xmlns: \"http://www.w3.org/2000/svg\"\n })\n .node().parentNode.innerHTML;\n\n // convert selected html to base64\n return \"data:image/svg+xml;charset=utf-8;base64,\" + btoa(unescape(encodeURIComponent(exportSvg)));\n }\n\n return {\n getCSSRules: getCSSRules,\n generateBase64ImageSource: generateBase64ImageSource\n };\n}();\n\nexport default SVG;\n","import SVG from 'lib/common/svg-export';\nimport D3 from 'lib/common/d3-utils';\nimport 'angular/utils/local-storage-adapter';\n\nangular\n .module('graphdb.framework.graphexplore.directives.domainrange', [\n 'graphdb.framework.graphexplore.controllers.domainrange',\n 'graphdb.framework.utils.localstorageadapter'\n ])\n .constant('ONTO_RED', 'var(--onto-orange)')\n .constant('ONTO_GREEN', 'var(--onto-green)')\n .constant('ONTO_BLUE', 'var(--onto-blue)')\n .constant('NON_COLLAPSED_REFLEXIVE_LINK_LIMIT', 6)\n .directive('domainRangeGraph', domainRangeGraphDirective);\n\ndomainRangeGraphDirective.$inject = ['$rootScope', '$window', '$repositories', 'GraphDataRestService', '$location', 'LocalStorageAdapter', 'LSKeys', '$timeout', 'toastr', 'ONTO_RED', 'ONTO_GREEN', 'ONTO_BLUE', 'NON_COLLAPSED_REFLEXIVE_LINK_LIMIT'];\n\nfunction domainRangeGraphDirective($rootScope, $window, $repositories, GraphDataRestService, $location, LocalStorageAdapter, LSKeys, $timeout, toastr, ONTO_RED, ONTO_GREEN, ONTO_BLUE, NON_COLLAPSED_REFLEXIVE_LINK_LIMIT) {\n return {\n restrict: 'AE',\n template: '<div id=\"domain-range\"></div>',\n scope: {\n showPredicatesInfoPanel: '=',\n selectedPredicate: '=',\n collapseEdges: '='\n },\n link: linkFunc\n };\n\n function linkFunc(scope) {\n const timer = $timeout(function () {\n renderDomainRangeGraph(scope);\n }, 50);\n\n scope.$on(\"$destroy\", function () {\n $timeout.cancel(timer);\n });\n }\n\n function renderDomainRangeGraph(scope) {\n d3.selection.prototype.moveToFront = function () {\n return this.each(function () {\n d3.select(this.parentNode.appendChild(this));\n });\n };\n\n d3.selection.prototype.moveToBack = function () {\n return this.each(function () {\n const firstChild = this.parentNode.firstChild;\n if (firstChild) {\n this.parentNode.insertBefore(this, firstChild);\n }\n });\n };\n\n var width = 1200,\n height = 600;\n\n var mainClassSize = width / 18,\n otherClassSize = width / 110,\n datatypeSize = otherClassSize / 2,\n labelFontSize = width / 90,\n basicArrowStrokeWidth = width / 1000,\n collapsedArrowStrokeWidth = width / 600;\n\n\n var force = d3.layout.force()\n .size([width, height])\n .charge(-900);\n\n var drag = force.drag()\n .on(\"dragstart\", dragstart);\n\n var svg = d3.select(\"#domain-range\")\n .append(\"svg\")\n .attr(\"viewBox\", \"0 0 \" + width + \" \" + height)\n .attr(\"preserveAspectRatio\", \"xMidYMid meet\")\n .on(\"dblclick.zoom\", null);\n\n var defs = svg.append(\"defs\");\n\n defs.append(\"marker\")\n .attr({\n id: \"arrow\",\n viewBox: \"0 -5 10 10\",\n refX: 10,\n refY: 0,\n markerUnits: \"strokeWidth\",\n markerWidth: 5,\n markerHeight: 5,\n orient: \"auto\",\n fill: ONTO_BLUE\n })\n .append(\"path\")\n .attr({\n d: \"M0,-5L10,0L0,5\",\n class: \"arrowHead\"\n });\n\n defs.append(\"marker\")\n .attr({\n id: \"collapsed-arrow\",\n viewBox: \"0 -5 10 10\",\n refX: 9,\n refY: 0,\n markerUnits: \"strokeWidth\",\n markerWidth: 4,\n markerHeight: 4,\n orient: \"auto\",\n fill: ONTO_BLUE\n })\n .append(\"path\")\n .attr({\n d: \"M0,-5L10,0L0,5\",\n class: \"arrowHead\"\n });\n\n defs.append(\"marker\")\n .attr({\n id: \"arrow-loop\",\n viewBox: \"0 -5 10 10\",\n refX: 7,\n refY: 0,\n markerUnits: \"strokeWidth\",\n markerWidth: 5,\n markerHeight: 5,\n orient: \"auto\",\n fill: ONTO_BLUE\n })\n .append(\"path\")\n .attr({\n d: \"M0,-5L10,0L0,5\",\n class: \"arrowHead\"\n });\n\n /*\n * Prepares SVG document image export by adding xml namespaces and\n * additional style information\n */\n function prepareForSVGImageExport() {\n // get css rules for the diagram\n var cssRules = SVG.Export.getCSSRules(\"css/domain-range-graph.css?v=2.2.2-TR2\");\n\n // inline css rules in a defs tag\n $(\"defs\").append('<style type=\"text/css\"><![CDATA[' + cssRules + ']]></style>');\n\n // convert selected html to base64\n var imgSrc = SVG.Export.generateBase64ImageSource();\n\n // set the binary image and a name for the downloadable file on the export button\n d3.select(this).attr({\n href: imgSrc,\n download: \"domain-range-graph-\" + $repositories.getActiveRepository() + \".svg\"\n });\n }\n\n d3.select(\"#download-svg\")\n .on(\"mouseover\", prepareForSVGImageExport);\n\n // start of code for legend\n var legendBackgroundWidth = width / 7;\n var legendBackgroundHeight = legendBackgroundWidth * 1.2;\n\n var svgLegend = d3.select(\".legend-container\")\n .append(\"svg\")\n .attr(\"viewBox\", \"0 0 \" + legendBackgroundWidth + \" \" + legendBackgroundHeight)\n .attr(\"preserveAspectRatio\", \"xMidYMid meet\");\n\n var legendCellGroup = svgLegend;\n\n legendCellGroup.append(\"rect\")\n .attr({\n width: legendBackgroundWidth,\n height: legendBackgroundHeight\n })\n .style(\"fill\", \"rgba(235, 235, 235, 0.9)\");\n\n var sourceX = width / 75;\n var sourceY = width / 40;\n var targetX = sourceX + mainClassSize / 2.5;\n var targetY = sourceY;\n\n var legendTextX = targetX + width / 90;\n var legendLabelFontSize = labelFontSize / 1.1;\n\n var classNodeY = sourceY;\n var legendClassNode = legendCellGroup\n .append(\"circle\")\n .attr({\n class: \"legend-class-node\",\n cx: (sourceX + targetX) / 2,\n cy: classNodeY,\n r: mainClassSize / 4.5\n });\n\n var classNodeTextY = targetY + width / 370;\n legendCellGroup\n .append(\"text\")\n .attr({\n x: legendTextX,\n y: classNodeTextY\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"main class node\");\n\n var objectNodeY = classNodeY + width / 30;\n legendCellGroup\n .append(\"circle\")\n .attr({\n class: \"legend-object-node\",\n cx: (sourceX + targetX) / 2,\n cy: objectNodeY,\n r: otherClassSize / 1.25\n });\n\n var objectNodeTextY = classNodeTextY + width / 30;\n legendCellGroup\n .append(\"text\")\n .attr({\n x: legendTextX,\n y: objectNodeTextY\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"class node\");\n\n var datatypeNodeY = objectNodeY + width / 45;\n legendCellGroup\n .append(\"circle\")\n .attr({\n class: \"legend-datatype-node\",\n cx: (sourceX + targetX) / 2,\n cy: datatypeNodeY,\n r: datatypeSize\n });\n\n var datatypeNodeTextY = objectNodeTextY + width / 45;\n legendCellGroup\n .append(\"text\")\n .attr({\n x: legendTextX,\n y: datatypeNodeTextY\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"datatype node\");\n\n var basicPropertyArrowY = datatypeNodeY + width / 45;\n var classNodeSel = d3.select('.legend-class-node');\n legendCellGroup\n .append(\"line\")\n .attr({\n class: \"property-arrow\",\n x1: sourceX,\n y1: basicPropertyArrowY,\n x2: targetX,\n y2: basicPropertyArrowY\n })\n .style(\"stroke-width\", basicArrowStrokeWidth)\n .attr(\"marker-end\", \"url(\" + $location.absUrl() + \"#arrow)\");\n\n legendCellGroup\n .append(\"text\")\n .attr({\n x: legendTextX,\n y: basicPropertyArrowY + (width / 370)\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"explicit property\");\n\n var implicitPropArrowY = basicPropertyArrowY + width / 45;\n legendCellGroup\n .append(\"line\")\n .attr({\n class: \"implicit-property-arrow\",\n x1: sourceX,\n y1: implicitPropArrowY,\n x2: targetX,\n y2: implicitPropArrowY\n })\n .style(\"stroke-width\", basicArrowStrokeWidth)\n .attr(\"marker-end\", \"url(\" + $location.absUrl() + \"#arrow)\");\n\n legendCellGroup\n .append(\"text\")\n .attr({\n x: legendTextX,\n y: implicitPropArrowY + (width / 370)\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"implicit property\");\n\n var collapsedPropArrowY = implicitPropArrowY + width / 45;\n legendCellGroup\n .append(\"line\")\n .attr({\n class: \"collapsed-property-arrow\",\n x1: sourceX,\n y1: collapsedPropArrowY,\n x2: targetX,\n y2: collapsedPropArrowY\n })\n .style(\"stroke-width\", collapsedArrowStrokeWidth)\n .attr(\"marker-end\", \"url(\" + $location.absUrl() + \"#collapsed-arrow)\");\n\n legendCellGroup\n .append(\"text\")\n .attr({\n x: legendTextX,\n y: collapsedPropArrowY + (width / 370)\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"collapsed property\");\n // end of code for legend\n\n // there doesn't seem to be a need for a separate group\n var g = svg; //svg.append(\"g\");\n\n var selectedRdfUri = $location.search().uri;\n var classNodeLabel = $location.search().name;\n var collapsed = $location.search().collapsed;\n\n GraphDataRestService.getDomainRangeData(selectedRdfUri, collapsed)\n .success(function (response, status, headers) {\n scope.domainRangeGraphData = response;\n }).error(function (response) {\n toastr.error(\"Request for \" + classNodeLabel + \" failed!\");\n });\n\n function switchEdgeMode(collapsed) {\n $rootScope.$broadcast('switchEdgeMode', {\n uri: selectedRdfUri,\n name: classNodeLabel,\n collapsed: collapsed\n });\n }\n\n // intercept back button press and set action to local storage\n $(window).on('popstate', function () {\n LocalStorageAdapter.set(LSKeys.DOMAIN_RANGE_WENT_BACK, true);\n });\n\n $window.onpopstate = function (event) {\n if (event.state) {\n $rootScope.$broadcast(\"changeCollapsedEdgesState\", event.state.collapsed);\n }\n };\n\n scope.$watch('collapseEdges', function () {\n if (!angular.isUndefined(scope.collapseEdges)) {\n LocalStorageAdapter.set(LSKeys.DOMAIN_RANGE_COLLAPSE_EDGES, scope.collapseEdges);\n\n // if the back button has not been pressed, then switch to collapsed or non collapsed mode\n // otherwise skip, because back button will not function properly and will not pop the entire\n // history stack\n if (LocalStorageAdapter.get(LSKeys.DOMAIN_RANGE_WENT_BACK) !== \"true\") {\n switchEdgeMode(scope.collapseEdges);\n }\n\n // after back button status has been checked, remove the action from local storage in order\n // to be clean for next check\n LocalStorageAdapter.remove(LSKeys.DOMAIN_RANGE_WENT_BACK);\n }\n });\n\n scope.$watch('domainRangeGraphData', function () {\n if (scope.domainRangeGraphData) {\n var graph = angular.copy(scope.domainRangeGraphData);\n\n force\n .nodes(graph.nodes)\n .links(graph.links);\n\n var linkGroup = g.selectAll(\".link\")\n .data(graph.links)\n .enter()\n .append(\"g\");\n\n function styleArrowsInCollapsedMode(sel) {\n sel.style(\"stroke\", ONTO_BLUE);\n sel.style(\"stroke-width\", collapsedArrowStrokeWidth);\n sel.attr(\"marker-end\", \"url(\" + $location.absUrl() + \"#collapsed-arrow)\");\n }\n\n var link,\n loopLink,\n loopLinkEdgeCount = 0;\n\n\n linkGroup\n .each(function (d) {\n if (d.objectPropNodeClassUri !== selectedRdfUri) {\n link = linkGroup\n .append(\"line\")\n .attr({\n class: \"link\",\n // absolute url needed because angular inserts a <base> tag\n \"marker-end\": \"url(\" + $location.absUrl() + \"#arrow)\"\n })\n .style(\"stroke-width\", basicArrowStrokeWidth)\n .each(function (d) {\n switch (d.propertyType) {\n case \"objectLeft\":\n d.targetRadius = mainClassSize;\n break;\n case \"objectRight\":\n d.targetRadius = otherClassSize;\n break;\n case \"datatype\":\n d.targetRadius = datatypeSize;\n break;\n default:\n d.targetRadius = 0;\n }\n var sel = d3.select(this);\n if (d.targetNodeEdgeCount > 1) {\n styleArrowsInCollapsedMode(sel);\n } else if (d.implicit) {\n sel.style(\"stroke-dasharray\", \"3, 3\");\n }\n });\n } else {\n if (angular.isUndefined(loopLink)) {\n var loopLinkSize = mainClassSize / 2;\n loopLink = d3.select(this)\n .append(\"path\")\n .attr({\n d: \"M 0 0 A \" + loopLinkSize + \" \" + loopLinkSize + \" 0 1 1 0 \" + loopLinkSize,\n class: \"loop-link\",\n fill: \"none\",\n \"marker-end\": \"url(\" + $location.absUrl() + \"#arrow-loop)\"\n })\n .style(\"stroke-width\", basicArrowStrokeWidth);\n }\n\n loopLinkEdgeCount += d.targetNodeEdgeCount;\n if (loopLinkEdgeCount > 1) {\n styleArrowsInCollapsedMode(d3.select(\".loop-link\"));\n }\n }\n });\n\n var previousPropertyNameSelection = {};\n\n function disableCollapsedPredicateLabelHightlighting() {\n if (!$.isEmptyObject(previousPropertyNameSelection)) {\n previousPropertyNameSelection.text.style(\"fill\", \"black\");\n previousPropertyNameSelection.background.style(\"fill\", \"#f0f0f0\");\n }\n }\n\n // when clicking anywhere else but the collapsed labels disable highlighting\n // of the currently selected one\n $(\"document\").ready(function () {\n $(\"#domain-range\").bind(\"click\", disableCollapsedPredicateLabelHightlighting);\n });\n\n function onCollapsedPropertyNameClick(d) {\n disableCollapsedPredicateLabelHightlighting();\n previousPropertyNameSelection.text = d3.select(this);\n\n previousPropertyNameSelection.background = d3.select(this.previousSibling);\n previousPropertyNameSelection.text.style(\"fill\", \"white\");\n\n previousPropertyNameSelection.background.style(\"fill\", ONTO_BLUE);\n $timeout(function () {\n scope.showPredicatesInfoPanel = true;\n scope.selectedPredicate = d;\n });\n d3.event.stopPropagation();\n }\n\n\n var propertyNames = linkGroup\n .append(\"text\")\n .attr(\"class\", function (d) {\n return d.objectPropNodeClassUri === selectedRdfUri ? \"loop-link-property-name\" : \"property-name\";\n })\n .attr(\"dx\", function (d) {\n // offset text more towards the main class\n return mainClassSize / 2 * (d.propertyType === \"objectLeft\" ? 1 : -1);\n })\n .style(\"text-anchor\", function (d) {\n return d.propertyType === \"objectLeft\" ? \"end\" : \"start\";\n })\n .style(\"font-size\", labelFontSize)\n .text(function (d) {\n return d.targetNodeEdgeCount > 1 ? d.targetNodeEdgeCount + \" predicates\" : d.name;\n });\n\n\n propertyNames\n .each(function (d) {\n var sel = d3.select(this);\n var isCompoundEdge = /\\d\\spredicates/.test(sel.text());\n\n // handle collapsed predicates by making their font bold, make them highlight when clicked\n // and make them trigger the side panel to display the collapsed edges\n if (isCompoundEdge) {\n sel\n .style(\"font-weight\", \"bold\")\n .on(\"click\", onCollapsedPropertyNameClick);\n } else {\n // for regular predicate labels just attach a link to the \"Resources\" view\n // for more helpful information regarding them\n sel.on(\"click\", function (d) {\n $window.open(\"resource?uri=\" + encodeURIComponent(d.uri), \"_blank\");\n });\n }\n });\n var textPadding = width / 600;\n\n\n var linkRect = linkGroup\n .append(\"rect\")\n .attr(\"class\", function (d) {\n return d.objectPropNodeClassUri !== selectedRdfUri ? \"link-background\" : \"loop-link-background\"\n })\n .attr(\"width\", function (d) {\n d.calculatedWidth = this.previousSibling.getBBox().width;\n return d.calculatedWidth + textPadding * 2;\n })\n .attr(\"height\", function (d) {\n d.calculatedHeight = this.previousSibling.getBBox().height;\n return d.calculatedHeight + textPadding;\n })\n .attr(\"transform\", function (d) {\n // offset rect by the same amount as text (besides the padding)\n var translateX = textPadding - mainClassSize / 2 * (d.propertyType === \"objectLeft\" ? 1 : -1);\n if (d.propertyType === \"objectLeft\") {\n translateX += d.calculatedWidth;\n }\n return \"translate(-\" + translateX + \",-\" + (textPadding + d.calculatedHeight / 2) + \")\";\n })\n .on(\"click\", function (d) {\n d3.event.stopPropagation();\n });\n\n\n var nodeGroup = g.selectAll(\".node\")\n .data(graph.nodes)\n .enter()\n .append(\"g\");\n\n var node = nodeGroup\n .filter(function (d) {\n return d.objectPropClassUri !== selectedRdfUri;\n })\n .append(\"circle\")\n .each(function (d) {\n var sel = d3.select(this);\n if (d.classPosition === \"main\") {\n sel.attr({\n class: \"class-node\",\n r: mainClassSize\n })\n .attr(\"marker-end\", \"url(\" + $location.absUrl() + \"#loop-link)\");\n } else if (d.objectPropClassName === null) {\n sel.attr({\n class: \"datatype-node\",\n r: datatypeSize\n });\n } else {\n sel.attr({\n class: \"object-prop-node\",\n r: otherClassSize\n });\n }\n })\n .call(drag);\n\n\n function reloadDomainRangeGraphView(d, collapsed) {\n scope.$apply(function () {\n $rootScope.$broadcast('reloadDomainRangeGraphView', d, collapsed);\n });\n }\n\n d3.selectAll(\".object-prop-node\")\n .on(\"dblclick\", reloadDomainRangeGraphView);\n\n\n nodeGroup\n .filter(function (d) {\n return d.objectPropClassName && d.objectPropClassUri !== selectedRdfUri;\n })\n .append(\"text\")\n .attr(\"class\", function (d) {\n return d.classPosition + \"-class-label\";\n })\n .style(\"font-size\", labelFontSize)\n .text(function (d) {\n return d.objectPropClassName;\n })\n .on(\"click\", function (d) {\n $window.open(\"resource?uri=\" + encodeURIComponent(d.objectPropClassUri), \"_blank\");\n });\n\n var objectPropClassName = nodeGroup.select(\"text\");\n\n g.select(\".class-node\")\n .each(function () {\n d3.select(this.parentNode)\n .append(\"text\")\n .attr(\"class\", \"rdf-class-label\")\n .style(\"font-size\", function (d) {\n return D3.Text.calcFontSize(classNodeLabel, mainClassSize)\n })\n .text(classNodeLabel)\n .on(\"click\", function (d) {\n $window.open(\"resource?uri=\" + encodeURIComponent(selectedRdfUri), \"_blank\");\n });\n });\n\n\n var rdfClassName = g.select(\".class-node + text\"),\n classNode = d3.select(\".class-node\"),\n loopLinkBackgroundSel = d3.selectAll(\".loop-link-background\"),\n loopLinkPropertyName = d3.selectAll(\".loop-link-property-name\");\n\n propertyNames = d3.selectAll(\".property-name\");\n\n if (!angular.isUndefined(loopLink)) {\n var loopLinkBackgroundProps = [];\n\n loopLinkBackgroundSel.each(function (d, i) {\n var sel = d3.select(this);\n loopLinkBackgroundProps.push({\n idx: i,\n width: d.calculatedWidth,\n height: d.calculatedHeight\n });\n });\n }\n\n function tick(e) {\n var k = 8 * e.alpha;\n\n function pushEdgesToLeftAndRight(d) {\n if (d.propertyType === \"objectLeft\") {\n d.source.x -= 8 * k;\n d.source.y -= k / 9;\n } else {\n d.target.x += 8 * k;\n d.target.y -= k / 9;\n }\n }\n\n link\n .filter(function (d) {\n return d.objectPropNodeClassUri !== selectedRdfUri;\n })\n .attr(\"x1\", function (d) {\n return d.source.x;\n })\n .attr(\"y1\", function (d) {\n return d.source.y;\n })\n .attr(\"x2\", function (d) {\n return d.targetX;\n })\n .attr(\"y2\", function (d) {\n return d.targetY;\n })\n .each(function (d) {\n pushEdgesToLeftAndRight(d);\n\n // shortens the line to compensate for the circle at the target\n var angle = Math.atan2(d.target.y - d.source.y, d.target.x - d.source.x);\n d.targetX = d.target.x - Math.cos(angle) * d.targetRadius;\n d.targetY = d.target.y - Math.sin(angle) * d.targetRadius;\n });\n\n function positionLoopLink(d) {\n var loopTranslateX = d.x + mainClassSize * 0.96,\n loopTranslateY = d.y - mainClassSize / 5.7 - 5;\n loopLink.attr(\"transform\", \"rotate(270, \" + d.x + \",\" + d.y + \") translate(\" + loopTranslateX + \",\" + loopTranslateY + \")\");\n }\n\n function positionLoopLinkLabels(d) {\n function reposition(sel, i) {\n var foundLoopLinkBackgroundProps =\n $.grep(loopLinkBackgroundProps, function (obj) {\n return obj.idx == i;\n });\n var currentBackgroundHeight = 0;\n if (i > 0) {\n currentBackgroundHeight = parseFloat(2 * i * (foundLoopLinkBackgroundProps[0].height / 1.4));\n }\n\n var loopLinkLabelX = d.x,\n loopLinkLabelY = d.y - mainClassSize * 2.1 - currentBackgroundHeight;\n\n sel\n .attr({\n x: loopLinkLabelX,\n y: loopLinkLabelY\n })\n .moveToFront();\n }\n\n /**\n * Create a \"View more\" label to depict that the are more reflexive link labels\n * left that could be seen in the side panel when clicking this label.\n *\n * @param labelSel\n * d3 selection of the text label\n * @param backgroundSel\n * d3 selection of the rectangle element background\n * @param predicatesLeft\n * number of predicates left that are collapsed\n */\n function createViewMorePredicatesLabel(labelSel, backgroundSel, predicatesLeft) {\n labelSel\n .classed(\"view-more-preds-label\", true)\n .text(predicatesLeft + \" predicates more ...\");\n if (this.nextSibling !== null) {\n backgroundSel\n .classed(\"view-more-preds-rect\", true);\n }\n }\n\n loopLinkPropertyName.each(function (dd, i) {\n var sel = d3.select(this);\n\n var predicatesLeft = loopLinkPropertyName.size() - NON_COLLAPSED_REFLEXIVE_LINK_LIMIT;\n if (predicatesLeft < 0) {\n reposition(sel, i);\n } else {\n if (i == 0 && !scope.collapseEdges && predicatesLeft > 1) {\n createViewMorePredicatesLabel(sel, d3.select(this.nextSibling), predicatesLeft);\n reposition(sel, i);\n }\n\n if (i < NON_COLLAPSED_REFLEXIVE_LINK_LIMIT) {\n reposition(sel, i);\n } else {\n sel.remove();\n }\n }\n });\n // loopLinkPropertyName.each(function (dd, i) {\n // var sel = d3.select(this);\n // if (i < NON_COLLAPSED_REFLEXIVE_LINK_LIMIT) {\n // reposition(sel, i);\n // } else if (i == NON_COLLAPSED_REFLEXIVE_LINK_LIMIT) {\n // createViewMorePredicatesLabel(sel, d3.select(this.nextSibling));\n // reposition(sel, i);\n // } else {\n // sel.remove();\n // }\n // });\n }\n\n function positionLoopLinkBackgrounds(d) {\n var loopLinkBackgroundY = d.x + mainClassSize * 2,\n loopLinkBackgroundX = d.y - mainClassSize / 1.9;\n\n function reposition(sel, i) {\n var foundLoopLinkBackgroundProps =\n $.grep(loopLinkBackgroundProps, function (obj) {\n return obj.idx == i;\n });\n if (i > 0) {\n loopLinkBackgroundY += parseFloat(i * (foundLoopLinkBackgroundProps[0].height / (i / 1.4)));\n }\n\n sel\n .attr({\n transform: \"rotate(270, \" + d.x + \",\" + d.y + \") translate(\" + loopLinkBackgroundY + \",\" + loopLinkBackgroundX + \")\",\n width: foundLoopLinkBackgroundProps[0].height,\n height: foundLoopLinkBackgroundProps[0].width\n });\n }\n\n /**\n * Adjust new width of \"View more\" label background and add all reflexive link metadata the this\n * label in order to render them in the side panel.\n *\n * @param allLoopLinkEdges\n * all reflexive links to the current class\n */\n function adjustViewMorePredicatesLabel(allLoopLinkEdges) {\n var viewMoreTextWidth;\n d3.select(\".view-more-preds-label\")\n // make label bold to resemble a collapsed label\n .style(\"font-weight\", \"bold\")\n .each(function (d) {\n // attach all reflexive links to the \"view more\" collapsed predicate\n // because in non collapsed mode the backend does not provide them\n d.target.allEdges = allLoopLinkEdges;\n\n // calculate text width in pixels in order to adjust background width accordingly\n viewMoreTextWidth = this.getComputedTextLength();\n })\n .on(\"click\", onCollapsedPropertyNameClick);\n\n d3.select(\".view-more-preds-rect\")\n // we modify height property instead of width because they are reversed\n // when we repositioned loop link labels\n .attr(\"height\", viewMoreTextWidth + 2 * textPadding);\n }\n\n var allLoopLinkEdges = [];\n loopLinkBackgroundSel.each(function (dd, i) {\n allLoopLinkEdges.push(dd);\n if (i < NON_COLLAPSED_REFLEXIVE_LINK_LIMIT) {\n reposition(d3.select(this), i);\n } else {\n d3.select(this).remove();\n }\n });\n\n adjustViewMorePredicatesLabel(allLoopLinkEdges);\n }\n\n\n function centerClassNode(d) {\n if (!(window.ActiveXObject) && \"ActiveXObject\" in window) {\n Math.log10 = function (x) {\n return Math.log(x) / Math.LN10;\n };\n }\n var absDiff = classNode.attr(\"cx\") - width / 2,\n logOffset = Math.log10(Math.abs(absDiff)) * 0.5;\n d.x += absDiff > 0 ? -logOffset : logOffset;\n return d.x;\n }\n\n node\n .each(function (d) {\n if (d.classPosition === \"main\" && !angular.isUndefined(loopLink)) {\n positionLoopLink(d);\n positionLoopLinkLabels(d);\n positionLoopLinkBackgrounds(d);\n }\n\n if (d.objectPropClassUri !== selectedRdfUri) {\n d3.select(this)\n .attr(\"cx\", function (d) {\n // pushes the main class circle to the centre\n if (d.classPosition === \"main\") {\n return centerClassNode(d);\n }\n return d.x;\n })\n .attr(\"cy\", function (d) {\n return d.y;\n });\n }\n });\n\n\n rdfClassName\n .attr(\"x\", function (d) {\n return d.x;\n })\n .attr(\"y\", function (d) {\n return d.y;\n })\n .moveToFront();\n\n\n linkRect\n .filter(function (d) {\n return d.objectPropNodeClassUri !== selectedRdfUri;\n })\n .attr(\"x\", function (d) {\n if (d.target.x > d.source.x) {\n return (d.source.x + (d.target.x - d.source.x) / 2);\n } else {\n return (d.target.x + (d.source.x - d.target.x) / 2);\n }\n })\n .attr(\"y\", function (d) {\n if (d.target.y > d.source.y) {\n return (d.source.y + (d.target.y - d.source.y) / 2);\n } else {\n return (d.target.y + (d.source.y - d.target.y) / 2);\n }\n })\n .moveToFront();\n\n\n propertyNames\n .attr(\"x\", function (d) {\n if (d.target.x > d.source.x) {\n return (d.source.x + (d.target.x - d.source.x) / 2);\n } else {\n return (d.target.x + (d.source.x - d.target.x) / 2);\n }\n })\n .attr(\"y\", function (d) {\n if (d.target.y > d.source.y) {\n return (d.source.y + (d.target.y - d.source.y) / 2);\n } else {\n return (d.target.y + (d.source.y - d.target.y) / 2);\n }\n })\n .moveToFront();\n\n\n objectPropClassName\n .attr(\"x\", function (d) {\n if (d.classPosition === \"right\") {\n return d.x + otherClassSize * 1.2;\n } else {\n return d.x - otherClassSize * 1.2;\n }\n })\n .attr(\"y\", function (d) {\n return d.y;\n })\n .moveToFront();\n }\n\n\n force\n .on(\"tick\", tick)\n .linkDistance(width / 3.5)\n .start();\n\n }\n });\n\n function dragstart(d) {\n d3.select(this)\n .classed(\"selected\", d.selected = true);\n }\n }\n}\n"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack:///./src/js/lib/common/d3-utils.js","webpack:///./src/js/lib/common/svg-export.js","webpack:///./src/js/angular/graphexplore/directives/domain-range-graph.directive.js"],"names":["D3","Text","calcFontSizeRaw","text","radius","minimumSize","isMultiline","textSize","substring","length","match","Math","round","calcFontSize","getTextWithElipsisIfNeeded","str","threshold","Transition","fadeIn","sel","duration","style","transition","fadeOut","Click","delayDblClick","event","d3","dispatch","rebind","selection","down","wait","on","mouse","document","body","Date","d","a","b","sqrt","pow","window","clearTimeout","dblclick","setTimeout","click","SVG","Export","getCSSRules","cssSourceFilePath","cssRules","$","sheet","rules","cssStr","_","each","value","cssText","generateBase64ImageSource","exportSvg","selectAll","attr","version","xmlns","node","parentNode","innerHTML","btoa","unescape","encodeURIComponent","domainRangeGraphDirective","$rootScope","$window","$repositories","GraphDataRestService","$location","LocalStorageAdapter","LSKeys","$timeout","toastr","ONTO_RED","ONTO_GREEN","ONTO_BLUE","NON_COLLAPSED_REFLEXIVE_LINK_LIMIT","restrict","template","scope","showPredicatesInfoPanel","selectedPredicate","collapseEdges","link","timer","prototype","moveToFront","this","select","appendChild","moveToBack","firstChild","insertBefore","force","layout","size","charge","drag","classed","selected","svg","append","defs","id","viewBox","refX","refY","markerUnits","markerWidth","markerHeight","orient","fill","class","imgSrc","href","download","getActiveRepository","legendCellGroup","width","height","targetX","legendTextX","cx","cy","r","x","y","classNodeY","objectNodeTextY","x1","y1","datatypeNodeY","x2","y2","absUrl","basicPropertyArrowY","collapsedPropArrowY","g","selectedRdfUri","search","uri","classNodeLabel","name","collapsed","getDomainRangeData","success","response","status","headers","domainRangeGraphData","error","set","DOMAIN_RANGE_WENT_BACK","onpopstate","state","$broadcast","$watch","angular","isUndefined","DOMAIN_RANGE_COLLAPSE_EDGES","get","switchEdgeMode","remove","graph","copy","nodes","links","linkGroup","data","enter","styleArrowsInCollapsedMode","loopLink","loopLinkEdgeCount","objectPropNodeClassUri","propertyType","targetRadius","targetNodeEdgeCount","implicit","previousPropertyNameSelection","disableCollapsedPredicateLabelHightlighting","isEmptyObject","background","onCollapsedPropertyNameClick","previousSibling","stopPropagation","ready","bind","propertyNames","test","open","linkRect","calculatedWidth","getBBox","textPadding","calculatedHeight","translateX","nodeGroup","filter","objectPropClassUri","classPosition","objectPropClassName","call","$apply","rdfClassName","classNode","loopLinkBackgroundSel","loopLinkPropertyName","loopLinkBackgroundProps","i","push","idx","e","k","alpha","positionLoopLinkBackgrounds","loopLinkBackgroundY","loopLinkBackgroundX","allLoopLinkEdges","dd","foundLoopLinkBackgroundProps","grep","obj","parseFloat","transform","reposition","viewMoreTextWidth","target","allEdges","getComputedTextLength","adjustViewMorePredicatesLabel","source","targetY","pushEdgesToLeftAndRight","angle","atan2","cos","sin","loopTranslateX","mainClassSize","loopTranslateY","positionLoopLink","currentBackgroundHeight","loopLinkLabelX","loopLinkLabelY","predicatesLeft","labelSel","backgroundSel","nextSibling","createViewMorePredicatesLabel","positionLoopLinkLabels","log10","log","LN10","absDiff","logOffset","abs","centerClassNode","linkDistance","start","renderDomainRangeGraph","$on","cancel","module","constant","directive","$inject"],"mappings":"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","file":"33.4d23fa109c9184727386.bundle.js","sourcesContent":["var D3 = D3 || {};\n\nD3.Text = function () {\n function calcFontSizeRaw(text, radius, minimumSize, isMultiline) {\n minimumSize = minimumSize || 10;\n\n var textSize = radius / 3;\n if (typeof text === \"string\") {\n var len = text.substring(0, radius / 3).length + 1.5;\n textSize *= 10 / len;\n textSize += 1;\n // experimental alternative method:\n // var textSize = 3.3 * radius / text.length;\n\n // Tweak for Indian scripts and CJK ones\n if (text.match(/[\\u0900-\\u0DFF\\u1100-\\u11FF\\u2E80-\\u2EFF\\u3000-\\u9FFF]/)) {\n textSize *= 0.6;\n }\n\n if (textSize < minimumSize) {\n textSize = minimumSize;\n }\n\n /* Disabled for the time being, better without this\n if (isMultiline) {\n var numWords = text.split(/\\s+/).length;\n if (numWords > 1) {\n if (numWords > 4) {\n numWords = 4;\n }\n textSize += textSize * (4 - numWords) * 0.1;\n }\n }\n */\n\n return Math.round(textSize);\n }\n\n if (textSize < minimumSize) {\n textSize = minimumSize;\n }\n\n return Math.round(textSize);\n }\n\n function calcFontSize(text, radius, minimumSize, isMultiline) {\n return calcFontSizeRaw(text, radius, minimumSize, isMultiline) + 'px';\n }\n\n function getTextWithElipsisIfNeeded(str, threshold) {\n if (typeof str === \"string\") {\n if (str.length > threshold) {\n return str.substring(0, threshold - 3) + \"...\";\n }\n }\n return str;\n }\n\n return {\n calcFontSizeRaw: calcFontSizeRaw,\n calcFontSize: calcFontSize,\n getTextWithElipsisIfNeeded: getTextWithElipsisIfNeeded\n };\n}();\n\nD3.Transition = function () {\n function fadeIn(sel, duration) {\n sel.style(\"opacity\", 0.0)\n .transition()\n .duration(duration)\n .style(\"opacity\", 1.0);\n }\n\n function fadeOut(sel, duration) {\n sel.style(\"opacity\", 1.0)\n .transition()\n .duration(duration)\n .style(\"opacity\", 0.0);\n }\n\n return {\n fadeIn: fadeIn,\n fadeOut: fadeOut\n };\n}();\n\nD3.Click = function () {\n function delayDblClick() {\n var event = d3.dispatch('click', 'dblclick');\n\n function cc(selection) {\n var down,\n tolerance = 5,\n last,\n wait = null;\n\n // euclidean distance\n function dist(a, b) {\n return Math.sqrt(Math.pow(a[0] - b[0], 2), Math.pow(a[1] - b[1], 2));\n }\n\n selection.on('mousedown', function () {\n down = d3.mouse(document.body);\n last = +new Date();\n });\n selection.on('mouseup', function (d) {\n if (dist(down, d3.mouse(document.body)) > tolerance) {\n return;\n } else {\n if (wait) {\n window.clearTimeout(wait);\n wait = null;\n event.dblclick(d);\n } else {\n wait = window.setTimeout((function (e) {\n return function () {\n event.click(d);\n wait = null;\n };\n })(d3.event), 250);\n }\n }\n });\n }\n\n return d3.rebind(cc, event, 'on');\n }\n\n return {\n delayDblClick: delayDblClick\n };\n}();\n\nexport default D3;\n","var SVG = SVG || {};\n\nSVG.Export = function () {\n function getCSSRules(cssSourceFilePath) {\n var cssRules = $('link[href=\"' + cssSourceFilePath + '\"]')[0].sheet.rules;\n var cssStr = \"\";\n _.each(cssRules, function (value) {\n cssStr += value.cssText;\n });\n return cssStr;\n }\n\n function generateBase64ImageSource() {\n // add needed xml namespace\n var exportSvg = d3.selectAll(\"svg\")\n .attr({\n version: \"1.1\",\n xmlns: \"http://www.w3.org/2000/svg\"\n })\n .node().parentNode.innerHTML;\n\n // convert selected html to base64\n return \"data:image/svg+xml;charset=utf-8;base64,\" + btoa(unescape(encodeURIComponent(exportSvg)));\n }\n\n return {\n getCSSRules: getCSSRules,\n generateBase64ImageSource: generateBase64ImageSource\n };\n}();\n\nexport default SVG;\n","import SVG from 'lib/common/svg-export';\nimport D3 from 'lib/common/d3-utils';\nimport 'angular/utils/local-storage-adapter';\n\nangular\n .module('graphdb.framework.graphexplore.directives.domainrange', [\n 'graphdb.framework.graphexplore.controllers.domainrange',\n 'graphdb.framework.utils.localstorageadapter'\n ])\n .constant('ONTO_RED', 'var(--onto-orange)')\n .constant('ONTO_GREEN', 'var(--onto-green)')\n .constant('ONTO_BLUE', 'var(--onto-blue)')\n .constant('NON_COLLAPSED_REFLEXIVE_LINK_LIMIT', 6)\n .directive('domainRangeGraph', domainRangeGraphDirective);\n\ndomainRangeGraphDirective.$inject = ['$rootScope', '$window', '$repositories', 'GraphDataRestService', '$location', 'LocalStorageAdapter', 'LSKeys', '$timeout', 'toastr', 'ONTO_RED', 'ONTO_GREEN', 'ONTO_BLUE', 'NON_COLLAPSED_REFLEXIVE_LINK_LIMIT'];\n\nfunction domainRangeGraphDirective($rootScope, $window, $repositories, GraphDataRestService, $location, LocalStorageAdapter, LSKeys, $timeout, toastr, ONTO_RED, ONTO_GREEN, ONTO_BLUE, NON_COLLAPSED_REFLEXIVE_LINK_LIMIT) {\n return {\n restrict: 'AE',\n template: '<div id=\"domain-range\"></div>',\n scope: {\n showPredicatesInfoPanel: '=',\n selectedPredicate: '=',\n collapseEdges: '='\n },\n link: linkFunc\n };\n\n function linkFunc(scope) {\n const timer = $timeout(function () {\n renderDomainRangeGraph(scope);\n }, 50);\n\n scope.$on(\"$destroy\", function () {\n $timeout.cancel(timer);\n });\n }\n\n function renderDomainRangeGraph(scope) {\n d3.selection.prototype.moveToFront = function () {\n return this.each(function () {\n d3.select(this.parentNode.appendChild(this));\n });\n };\n\n d3.selection.prototype.moveToBack = function () {\n return this.each(function () {\n const firstChild = this.parentNode.firstChild;\n if (firstChild) {\n this.parentNode.insertBefore(this, firstChild);\n }\n });\n };\n\n var width = 1200,\n height = 600;\n\n var mainClassSize = width / 18,\n otherClassSize = width / 110,\n datatypeSize = otherClassSize / 2,\n labelFontSize = width / 90,\n basicArrowStrokeWidth = width / 1000,\n collapsedArrowStrokeWidth = width / 600;\n\n\n var force = d3.layout.force()\n .size([width, height])\n .charge(-900);\n\n var drag = force.drag()\n .on(\"dragstart\", dragstart);\n\n var svg = d3.select(\"#domain-range\")\n .append(\"svg\")\n .attr(\"viewBox\", \"0 0 \" + width + \" \" + height)\n .attr(\"preserveAspectRatio\", \"xMidYMid meet\")\n .on(\"dblclick.zoom\", null);\n\n var defs = svg.append(\"defs\");\n\n defs.append(\"marker\")\n .attr({\n id: \"arrow\",\n viewBox: \"0 -5 10 10\",\n refX: 10,\n refY: 0,\n markerUnits: \"strokeWidth\",\n markerWidth: 5,\n markerHeight: 5,\n orient: \"auto\",\n fill: ONTO_BLUE\n })\n .append(\"path\")\n .attr({\n d: \"M0,-5L10,0L0,5\",\n class: \"arrowHead\"\n });\n\n defs.append(\"marker\")\n .attr({\n id: \"collapsed-arrow\",\n viewBox: \"0 -5 10 10\",\n refX: 9,\n refY: 0,\n markerUnits: \"strokeWidth\",\n markerWidth: 4,\n markerHeight: 4,\n orient: \"auto\",\n fill: ONTO_BLUE\n })\n .append(\"path\")\n .attr({\n d: \"M0,-5L10,0L0,5\",\n class: \"arrowHead\"\n });\n\n defs.append(\"marker\")\n .attr({\n id: \"arrow-loop\",\n viewBox: \"0 -5 10 10\",\n refX: 7,\n refY: 0,\n markerUnits: \"strokeWidth\",\n markerWidth: 5,\n markerHeight: 5,\n orient: \"auto\",\n fill: ONTO_BLUE\n })\n .append(\"path\")\n .attr({\n d: \"M0,-5L10,0L0,5\",\n class: \"arrowHead\"\n });\n\n /*\n * Prepares SVG document image export by adding xml namespaces and\n * additional style information\n */\n function prepareForSVGImageExport() {\n // get css rules for the diagram\n var cssRules = SVG.Export.getCSSRules(\"css/domain-range-graph.css?v=2.3.0-TR1\");\n\n // inline css rules in a defs tag\n $(\"defs\").append('<style type=\"text/css\"><![CDATA[' + cssRules + ']]></style>');\n\n // convert selected html to base64\n var imgSrc = SVG.Export.generateBase64ImageSource();\n\n // set the binary image and a name for the downloadable file on the export button\n d3.select(this).attr({\n href: imgSrc,\n download: \"domain-range-graph-\" + $repositories.getActiveRepository() + \".svg\"\n });\n }\n\n d3.select(\"#download-svg\")\n .on(\"mouseover\", prepareForSVGImageExport);\n\n // start of code for legend\n var legendBackgroundWidth = width / 7;\n var legendBackgroundHeight = legendBackgroundWidth * 1.2;\n\n var svgLegend = d3.select(\".legend-container\")\n .append(\"svg\")\n .attr(\"viewBox\", \"0 0 \" + legendBackgroundWidth + \" \" + legendBackgroundHeight)\n .attr(\"preserveAspectRatio\", \"xMidYMid meet\");\n\n var legendCellGroup = svgLegend;\n\n legendCellGroup.append(\"rect\")\n .attr({\n width: legendBackgroundWidth,\n height: legendBackgroundHeight\n })\n .style(\"fill\", \"rgba(235, 235, 235, 0.9)\");\n\n var sourceX = width / 75;\n var sourceY = width / 40;\n var targetX = sourceX + mainClassSize / 2.5;\n var targetY = sourceY;\n\n var legendTextX = targetX + width / 90;\n var legendLabelFontSize = labelFontSize / 1.1;\n\n var classNodeY = sourceY;\n var legendClassNode = legendCellGroup\n .append(\"circle\")\n .attr({\n class: \"legend-class-node\",\n cx: (sourceX + targetX) / 2,\n cy: classNodeY,\n r: mainClassSize / 4.5\n });\n\n var classNodeTextY = targetY + width / 370;\n legendCellGroup\n .append(\"text\")\n .attr({\n x: legendTextX,\n y: classNodeTextY\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"main class node\");\n\n var objectNodeY = classNodeY + width / 30;\n legendCellGroup\n .append(\"circle\")\n .attr({\n class: \"legend-object-node\",\n cx: (sourceX + targetX) / 2,\n cy: objectNodeY,\n r: otherClassSize / 1.25\n });\n\n var objectNodeTextY = classNodeTextY + width / 30;\n legendCellGroup\n .append(\"text\")\n .attr({\n x: legendTextX,\n y: objectNodeTextY\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"class node\");\n\n var datatypeNodeY = objectNodeY + width / 45;\n legendCellGroup\n .append(\"circle\")\n .attr({\n class: \"legend-datatype-node\",\n cx: (sourceX + targetX) / 2,\n cy: datatypeNodeY,\n r: datatypeSize\n });\n\n var datatypeNodeTextY = objectNodeTextY + width / 45;\n legendCellGroup\n .append(\"text\")\n .attr({\n x: legendTextX,\n y: datatypeNodeTextY\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"datatype node\");\n\n var basicPropertyArrowY = datatypeNodeY + width / 45;\n var classNodeSel = d3.select('.legend-class-node');\n legendCellGroup\n .append(\"line\")\n .attr({\n class: \"property-arrow\",\n x1: sourceX,\n y1: basicPropertyArrowY,\n x2: targetX,\n y2: basicPropertyArrowY\n })\n .style(\"stroke-width\", basicArrowStrokeWidth)\n .attr(\"marker-end\", \"url(\" + $location.absUrl() + \"#arrow)\");\n\n legendCellGroup\n .append(\"text\")\n .attr({\n x: legendTextX,\n y: basicPropertyArrowY + (width / 370)\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"explicit property\");\n\n var implicitPropArrowY = basicPropertyArrowY + width / 45;\n legendCellGroup\n .append(\"line\")\n .attr({\n class: \"implicit-property-arrow\",\n x1: sourceX,\n y1: implicitPropArrowY,\n x2: targetX,\n y2: implicitPropArrowY\n })\n .style(\"stroke-width\", basicArrowStrokeWidth)\n .attr(\"marker-end\", \"url(\" + $location.absUrl() + \"#arrow)\");\n\n legendCellGroup\n .append(\"text\")\n .attr({\n x: legendTextX,\n y: implicitPropArrowY + (width / 370)\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"implicit property\");\n\n var collapsedPropArrowY = implicitPropArrowY + width / 45;\n legendCellGroup\n .append(\"line\")\n .attr({\n class: \"collapsed-property-arrow\",\n x1: sourceX,\n y1: collapsedPropArrowY,\n x2: targetX,\n y2: collapsedPropArrowY\n })\n .style(\"stroke-width\", collapsedArrowStrokeWidth)\n .attr(\"marker-end\", \"url(\" + $location.absUrl() + \"#collapsed-arrow)\");\n\n legendCellGroup\n .append(\"text\")\n .attr({\n x: legendTextX,\n y: collapsedPropArrowY + (width / 370)\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"collapsed property\");\n // end of code for legend\n\n // there doesn't seem to be a need for a separate group\n var g = svg; //svg.append(\"g\");\n\n var selectedRdfUri = $location.search().uri;\n var classNodeLabel = $location.search().name;\n var collapsed = $location.search().collapsed;\n\n GraphDataRestService.getDomainRangeData(selectedRdfUri, collapsed)\n .success(function (response, status, headers) {\n scope.domainRangeGraphData = response;\n }).error(function (response) {\n toastr.error(\"Request for \" + classNodeLabel + \" failed!\");\n });\n\n function switchEdgeMode(collapsed) {\n $rootScope.$broadcast('switchEdgeMode', {\n uri: selectedRdfUri,\n name: classNodeLabel,\n collapsed: collapsed\n });\n }\n\n // intercept back button press and set action to local storage\n $(window).on('popstate', function () {\n LocalStorageAdapter.set(LSKeys.DOMAIN_RANGE_WENT_BACK, true);\n });\n\n $window.onpopstate = function (event) {\n if (event.state) {\n $rootScope.$broadcast(\"changeCollapsedEdgesState\", event.state.collapsed);\n }\n };\n\n scope.$watch('collapseEdges', function () {\n if (!angular.isUndefined(scope.collapseEdges)) {\n LocalStorageAdapter.set(LSKeys.DOMAIN_RANGE_COLLAPSE_EDGES, scope.collapseEdges);\n\n // if the back button has not been pressed, then switch to collapsed or non collapsed mode\n // otherwise skip, because back button will not function properly and will not pop the entire\n // history stack\n if (LocalStorageAdapter.get(LSKeys.DOMAIN_RANGE_WENT_BACK) !== \"true\") {\n switchEdgeMode(scope.collapseEdges);\n }\n\n // after back button status has been checked, remove the action from local storage in order\n // to be clean for next check\n LocalStorageAdapter.remove(LSKeys.DOMAIN_RANGE_WENT_BACK);\n }\n });\n\n scope.$watch('domainRangeGraphData', function () {\n if (scope.domainRangeGraphData) {\n var graph = angular.copy(scope.domainRangeGraphData);\n\n force\n .nodes(graph.nodes)\n .links(graph.links);\n\n var linkGroup = g.selectAll(\".link\")\n .data(graph.links)\n .enter()\n .append(\"g\");\n\n function styleArrowsInCollapsedMode(sel) {\n sel.style(\"stroke\", ONTO_BLUE);\n sel.style(\"stroke-width\", collapsedArrowStrokeWidth);\n sel.attr(\"marker-end\", \"url(\" + $location.absUrl() + \"#collapsed-arrow)\");\n }\n\n var link,\n loopLink,\n loopLinkEdgeCount = 0;\n\n\n linkGroup\n .each(function (d) {\n if (d.objectPropNodeClassUri !== selectedRdfUri) {\n link = linkGroup\n .append(\"line\")\n .attr({\n class: \"link\",\n // absolute url needed because angular inserts a <base> tag\n \"marker-end\": \"url(\" + $location.absUrl() + \"#arrow)\"\n })\n .style(\"stroke-width\", basicArrowStrokeWidth)\n .each(function (d) {\n switch (d.propertyType) {\n case \"objectLeft\":\n d.targetRadius = mainClassSize;\n break;\n case \"objectRight\":\n d.targetRadius = otherClassSize;\n break;\n case \"datatype\":\n d.targetRadius = datatypeSize;\n break;\n default:\n d.targetRadius = 0;\n }\n var sel = d3.select(this);\n if (d.targetNodeEdgeCount > 1) {\n styleArrowsInCollapsedMode(sel);\n } else if (d.implicit) {\n sel.style(\"stroke-dasharray\", \"3, 3\");\n }\n });\n } else {\n if (angular.isUndefined(loopLink)) {\n var loopLinkSize = mainClassSize / 2;\n loopLink = d3.select(this)\n .append(\"path\")\n .attr({\n d: \"M 0 0 A \" + loopLinkSize + \" \" + loopLinkSize + \" 0 1 1 0 \" + loopLinkSize,\n class: \"loop-link\",\n fill: \"none\",\n \"marker-end\": \"url(\" + $location.absUrl() + \"#arrow-loop)\"\n })\n .style(\"stroke-width\", basicArrowStrokeWidth);\n }\n\n loopLinkEdgeCount += d.targetNodeEdgeCount;\n if (loopLinkEdgeCount > 1) {\n styleArrowsInCollapsedMode(d3.select(\".loop-link\"));\n }\n }\n });\n\n var previousPropertyNameSelection = {};\n\n function disableCollapsedPredicateLabelHightlighting() {\n if (!$.isEmptyObject(previousPropertyNameSelection)) {\n previousPropertyNameSelection.text.style(\"fill\", \"black\");\n previousPropertyNameSelection.background.style(\"fill\", \"#f0f0f0\");\n }\n }\n\n // when clicking anywhere else but the collapsed labels disable highlighting\n // of the currently selected one\n $(\"document\").ready(function () {\n $(\"#domain-range\").bind(\"click\", disableCollapsedPredicateLabelHightlighting);\n });\n\n function onCollapsedPropertyNameClick(d) {\n disableCollapsedPredicateLabelHightlighting();\n previousPropertyNameSelection.text = d3.select(this);\n\n previousPropertyNameSelection.background = d3.select(this.previousSibling);\n previousPropertyNameSelection.text.style(\"fill\", \"white\");\n\n previousPropertyNameSelection.background.style(\"fill\", ONTO_BLUE);\n $timeout(function () {\n scope.showPredicatesInfoPanel = true;\n scope.selectedPredicate = d;\n });\n d3.event.stopPropagation();\n }\n\n\n var propertyNames = linkGroup\n .append(\"text\")\n .attr(\"class\", function (d) {\n return d.objectPropNodeClassUri === selectedRdfUri ? \"loop-link-property-name\" : \"property-name\";\n })\n .attr(\"dx\", function (d) {\n // offset text more towards the main class\n return mainClassSize / 2 * (d.propertyType === \"objectLeft\" ? 1 : -1);\n })\n .style(\"text-anchor\", function (d) {\n return d.propertyType === \"objectLeft\" ? \"end\" : \"start\";\n })\n .style(\"font-size\", labelFontSize)\n .text(function (d) {\n return d.targetNodeEdgeCount > 1 ? d.targetNodeEdgeCount + \" predicates\" : d.name;\n });\n\n\n propertyNames\n .each(function (d) {\n var sel = d3.select(this);\n var isCompoundEdge = /\\d\\spredicates/.test(sel.text());\n\n // handle collapsed predicates by making their font bold, make them highlight when clicked\n // and make them trigger the side panel to display the collapsed edges\n if (isCompoundEdge) {\n sel\n .style(\"font-weight\", \"bold\")\n .on(\"click\", onCollapsedPropertyNameClick);\n } else {\n // for regular predicate labels just attach a link to the \"Resources\" view\n // for more helpful information regarding them\n sel.on(\"click\", function (d) {\n $window.open(\"resource?uri=\" + encodeURIComponent(d.uri), \"_blank\");\n });\n }\n });\n var textPadding = width / 600;\n\n\n var linkRect = linkGroup\n .append(\"rect\")\n .attr(\"class\", function (d) {\n return d.objectPropNodeClassUri !== selectedRdfUri ? \"link-background\" : \"loop-link-background\"\n })\n .attr(\"width\", function (d) {\n d.calculatedWidth = this.previousSibling.getBBox().width;\n return d.calculatedWidth + textPadding * 2;\n })\n .attr(\"height\", function (d) {\n d.calculatedHeight = this.previousSibling.getBBox().height;\n return d.calculatedHeight + textPadding;\n })\n .attr(\"transform\", function (d) {\n // offset rect by the same amount as text (besides the padding)\n var translateX = textPadding - mainClassSize / 2 * (d.propertyType === \"objectLeft\" ? 1 : -1);\n if (d.propertyType === \"objectLeft\") {\n translateX += d.calculatedWidth;\n }\n return \"translate(-\" + translateX + \",-\" + (textPadding + d.calculatedHeight / 2) + \")\";\n })\n .on(\"click\", function (d) {\n d3.event.stopPropagation();\n });\n\n\n var nodeGroup = g.selectAll(\".node\")\n .data(graph.nodes)\n .enter()\n .append(\"g\");\n\n var node = nodeGroup\n .filter(function (d) {\n return d.objectPropClassUri !== selectedRdfUri;\n })\n .append(\"circle\")\n .each(function (d) {\n var sel = d3.select(this);\n if (d.classPosition === \"main\") {\n sel.attr({\n class: \"class-node\",\n r: mainClassSize\n })\n .attr(\"marker-end\", \"url(\" + $location.absUrl() + \"#loop-link)\");\n } else if (d.objectPropClassName === null) {\n sel.attr({\n class: \"datatype-node\",\n r: datatypeSize\n });\n } else {\n sel.attr({\n class: \"object-prop-node\",\n r: otherClassSize\n });\n }\n })\n .call(drag);\n\n\n function reloadDomainRangeGraphView(d, collapsed) {\n scope.$apply(function () {\n $rootScope.$broadcast('reloadDomainRangeGraphView', d, collapsed);\n });\n }\n\n d3.selectAll(\".object-prop-node\")\n .on(\"dblclick\", reloadDomainRangeGraphView);\n\n\n nodeGroup\n .filter(function (d) {\n return d.objectPropClassName && d.objectPropClassUri !== selectedRdfUri;\n })\n .append(\"text\")\n .attr(\"class\", function (d) {\n return d.classPosition + \"-class-label\";\n })\n .style(\"font-size\", labelFontSize)\n .text(function (d) {\n return d.objectPropClassName;\n })\n .on(\"click\", function (d) {\n $window.open(\"resource?uri=\" + encodeURIComponent(d.objectPropClassUri), \"_blank\");\n });\n\n var objectPropClassName = nodeGroup.select(\"text\");\n\n g.select(\".class-node\")\n .each(function () {\n d3.select(this.parentNode)\n .append(\"text\")\n .attr(\"class\", \"rdf-class-label\")\n .style(\"font-size\", function (d) {\n return D3.Text.calcFontSize(classNodeLabel, mainClassSize)\n })\n .text(classNodeLabel)\n .on(\"click\", function (d) {\n $window.open(\"resource?uri=\" + encodeURIComponent(selectedRdfUri), \"_blank\");\n });\n });\n\n\n var rdfClassName = g.select(\".class-node + text\"),\n classNode = d3.select(\".class-node\"),\n loopLinkBackgroundSel = d3.selectAll(\".loop-link-background\"),\n loopLinkPropertyName = d3.selectAll(\".loop-link-property-name\");\n\n propertyNames = d3.selectAll(\".property-name\");\n\n if (!angular.isUndefined(loopLink)) {\n var loopLinkBackgroundProps = [];\n\n loopLinkBackgroundSel.each(function (d, i) {\n var sel = d3.select(this);\n loopLinkBackgroundProps.push({\n idx: i,\n width: d.calculatedWidth,\n height: d.calculatedHeight\n });\n });\n }\n\n function tick(e) {\n var k = 8 * e.alpha;\n\n function pushEdgesToLeftAndRight(d) {\n if (d.propertyType === \"objectLeft\") {\n d.source.x -= 8 * k;\n d.source.y -= k / 9;\n } else {\n d.target.x += 8 * k;\n d.target.y -= k / 9;\n }\n }\n\n link\n .filter(function (d) {\n return d.objectPropNodeClassUri !== selectedRdfUri;\n })\n .attr(\"x1\", function (d) {\n return d.source.x;\n })\n .attr(\"y1\", function (d) {\n return d.source.y;\n })\n .attr(\"x2\", function (d) {\n return d.targetX;\n })\n .attr(\"y2\", function (d) {\n return d.targetY;\n })\n .each(function (d) {\n pushEdgesToLeftAndRight(d);\n\n // shortens the line to compensate for the circle at the target\n var angle = Math.atan2(d.target.y - d.source.y, d.target.x - d.source.x);\n d.targetX = d.target.x - Math.cos(angle) * d.targetRadius;\n d.targetY = d.target.y - Math.sin(angle) * d.targetRadius;\n });\n\n function positionLoopLink(d) {\n var loopTranslateX = d.x + mainClassSize * 0.96,\n loopTranslateY = d.y - mainClassSize / 5.7 - 5;\n loopLink.attr(\"transform\", \"rotate(270, \" + d.x + \",\" + d.y + \") translate(\" + loopTranslateX + \",\" + loopTranslateY + \")\");\n }\n\n function positionLoopLinkLabels(d) {\n function reposition(sel, i) {\n var foundLoopLinkBackgroundProps =\n $.grep(loopLinkBackgroundProps, function (obj) {\n return obj.idx == i;\n });\n var currentBackgroundHeight = 0;\n if (i > 0) {\n currentBackgroundHeight = parseFloat(2 * i * (foundLoopLinkBackgroundProps[0].height / 1.4));\n }\n\n var loopLinkLabelX = d.x,\n loopLinkLabelY = d.y - mainClassSize * 2.1 - currentBackgroundHeight;\n\n sel\n .attr({\n x: loopLinkLabelX,\n y: loopLinkLabelY\n })\n .moveToFront();\n }\n\n /**\n * Create a \"View more\" label to depict that the are more reflexive link labels\n * left that could be seen in the side panel when clicking this label.\n *\n * @param labelSel\n * d3 selection of the text label\n * @param backgroundSel\n * d3 selection of the rectangle element background\n * @param predicatesLeft\n * number of predicates left that are collapsed\n */\n function createViewMorePredicatesLabel(labelSel, backgroundSel, predicatesLeft) {\n labelSel\n .classed(\"view-more-preds-label\", true)\n .text(predicatesLeft + \" predicates more ...\");\n if (this.nextSibling !== null) {\n backgroundSel\n .classed(\"view-more-preds-rect\", true);\n }\n }\n\n loopLinkPropertyName.each(function (dd, i) {\n var sel = d3.select(this);\n\n var predicatesLeft = loopLinkPropertyName.size() - NON_COLLAPSED_REFLEXIVE_LINK_LIMIT;\n if (predicatesLeft < 0) {\n reposition(sel, i);\n } else {\n if (i == 0 && !scope.collapseEdges && predicatesLeft > 1) {\n createViewMorePredicatesLabel(sel, d3.select(this.nextSibling), predicatesLeft);\n reposition(sel, i);\n }\n\n if (i < NON_COLLAPSED_REFLEXIVE_LINK_LIMIT) {\n reposition(sel, i);\n } else {\n sel.remove();\n }\n }\n });\n // loopLinkPropertyName.each(function (dd, i) {\n // var sel = d3.select(this);\n // if (i < NON_COLLAPSED_REFLEXIVE_LINK_LIMIT) {\n // reposition(sel, i);\n // } else if (i == NON_COLLAPSED_REFLEXIVE_LINK_LIMIT) {\n // createViewMorePredicatesLabel(sel, d3.select(this.nextSibling));\n // reposition(sel, i);\n // } else {\n // sel.remove();\n // }\n // });\n }\n\n function positionLoopLinkBackgrounds(d) {\n var loopLinkBackgroundY = d.x + mainClassSize * 2,\n loopLinkBackgroundX = d.y - mainClassSize / 1.9;\n\n function reposition(sel, i) {\n var foundLoopLinkBackgroundProps =\n $.grep(loopLinkBackgroundProps, function (obj) {\n return obj.idx == i;\n });\n if (i > 0) {\n loopLinkBackgroundY += parseFloat(i * (foundLoopLinkBackgroundProps[0].height / (i / 1.4)));\n }\n\n sel\n .attr({\n transform: \"rotate(270, \" + d.x + \",\" + d.y + \") translate(\" + loopLinkBackgroundY + \",\" + loopLinkBackgroundX + \")\",\n width: foundLoopLinkBackgroundProps[0].height,\n height: foundLoopLinkBackgroundProps[0].width\n });\n }\n\n /**\n * Adjust new width of \"View more\" label background and add all reflexive link metadata the this\n * label in order to render them in the side panel.\n *\n * @param allLoopLinkEdges\n * all reflexive links to the current class\n */\n function adjustViewMorePredicatesLabel(allLoopLinkEdges) {\n var viewMoreTextWidth;\n d3.select(\".view-more-preds-label\")\n // make label bold to resemble a collapsed label\n .style(\"font-weight\", \"bold\")\n .each(function (d) {\n // attach all reflexive links to the \"view more\" collapsed predicate\n // because in non collapsed mode the backend does not provide them\n d.target.allEdges = allLoopLinkEdges;\n\n // calculate text width in pixels in order to adjust background width accordingly\n viewMoreTextWidth = this.getComputedTextLength();\n })\n .on(\"click\", onCollapsedPropertyNameClick);\n\n d3.select(\".view-more-preds-rect\")\n // we modify height property instead of width because they are reversed\n // when we repositioned loop link labels\n .attr(\"height\", viewMoreTextWidth + 2 * textPadding);\n }\n\n var allLoopLinkEdges = [];\n loopLinkBackgroundSel.each(function (dd, i) {\n allLoopLinkEdges.push(dd);\n if (i < NON_COLLAPSED_REFLEXIVE_LINK_LIMIT) {\n reposition(d3.select(this), i);\n } else {\n d3.select(this).remove();\n }\n });\n\n adjustViewMorePredicatesLabel(allLoopLinkEdges);\n }\n\n\n function centerClassNode(d) {\n if (!(window.ActiveXObject) && \"ActiveXObject\" in window) {\n Math.log10 = function (x) {\n return Math.log(x) / Math.LN10;\n };\n }\n var absDiff = classNode.attr(\"cx\") - width / 2,\n logOffset = Math.log10(Math.abs(absDiff)) * 0.5;\n d.x += absDiff > 0 ? -logOffset : logOffset;\n return d.x;\n }\n\n node\n .each(function (d) {\n if (d.classPosition === \"main\" && !angular.isUndefined(loopLink)) {\n positionLoopLink(d);\n positionLoopLinkLabels(d);\n positionLoopLinkBackgrounds(d);\n }\n\n if (d.objectPropClassUri !== selectedRdfUri) {\n d3.select(this)\n .attr(\"cx\", function (d) {\n // pushes the main class circle to the centre\n if (d.classPosition === \"main\") {\n return centerClassNode(d);\n }\n return d.x;\n })\n .attr(\"cy\", function (d) {\n return d.y;\n });\n }\n });\n\n\n rdfClassName\n .attr(\"x\", function (d) {\n return d.x;\n })\n .attr(\"y\", function (d) {\n return d.y;\n })\n .moveToFront();\n\n\n linkRect\n .filter(function (d) {\n return d.objectPropNodeClassUri !== selectedRdfUri;\n })\n .attr(\"x\", function (d) {\n if (d.target.x > d.source.x) {\n return (d.source.x + (d.target.x - d.source.x) / 2);\n } else {\n return (d.target.x + (d.source.x - d.target.x) / 2);\n }\n })\n .attr(\"y\", function (d) {\n if (d.target.y > d.source.y) {\n return (d.source.y + (d.target.y - d.source.y) / 2);\n } else {\n return (d.target.y + (d.source.y - d.target.y) / 2);\n }\n })\n .moveToFront();\n\n\n propertyNames\n .attr(\"x\", function (d) {\n if (d.target.x > d.source.x) {\n return (d.source.x + (d.target.x - d.source.x) / 2);\n } else {\n return (d.target.x + (d.source.x - d.target.x) / 2);\n }\n })\n .attr(\"y\", function (d) {\n if (d.target.y > d.source.y) {\n return (d.source.y + (d.target.y - d.source.y) / 2);\n } else {\n return (d.target.y + (d.source.y - d.target.y) / 2);\n }\n })\n .moveToFront();\n\n\n objectPropClassName\n .attr(\"x\", function (d) {\n if (d.classPosition === \"right\") {\n return d.x + otherClassSize * 1.2;\n } else {\n return d.x - otherClassSize * 1.2;\n }\n })\n .attr(\"y\", function (d) {\n return d.y;\n })\n .moveToFront();\n }\n\n\n force\n .on(\"tick\", tick)\n .linkDistance(width / 3.5)\n .start();\n\n }\n });\n\n function dragstart(d) {\n d3.select(this)\n .classed(\"selected\", d.selected = true);\n }\n }\n}\n"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[35,56],{110:function(e,t,o){"use strict";o.r(t);o(66);angular.module("graphdb.framework.autocomplete",["ngRoute","graphdb.framework.autocomplete.controllers"])},66:function(e,t,o){"use strict";o.r(t);o(18);function n(e,t,o,n,r,c,i,u,a,l){let s;function d(){s&&t.cancel(s)}e.pluginName="autocomplete",e.setPluginIsActive=function(t){e.pluginIsActive=t};const f=function(){u.checkAutocompleteStatus().success((function(t){e.autocompleteEnabled=t,a.setAutocompleteStatus(t)})).error((function(e){o.error(getError(e))}))},p=function(){u.refreshIndexIRIs().success((function(t){e.shouldIndexIRIs=t})).error((function(e){o.error(getError(e))}))},g=function(){u.refreshIndexStatus().success((function(t){e.indexStatus=t})).error((function(e){o.error(getError(e))}))},m=function(){u.refreshLabelConfig().success((function(t){e.labelConfig=t})).error((function(e){o.error(getError(e))}))};e.checkForPlugin=function(){e.pluginFound=!1,e.setLoader(!0),u.checkForPlugin().success((function(t){e.pluginFound=!0===t,e.pluginFound?(f(),p(),g(),m()):(e.autocompleteEnabled=!1,e.loading=!1)})).error((function(e){o.error(getError(e))})).finally((function(){e.setLoader(!1)}))};const b=function(){s=t((function(){e.$broadcast("checkIsActive"),e.autocompleteEnabled&&g()}),5e3)};e.$on("$destroy",(function(){d()}));e.setLoader=function(t,o){i.cancel(e.loaderTimeout),t?e.loaderTimeout=i((function(){e.loader=t,e.loaderMessage=o}),300):e.loader=!1},e.getLoaderMessage=function(){return e.loaderMessage||l.instant("common.loading")},e.toggleAutocomplete=function(){const t=!e.autocompleteEnabled;e.setLoader(!0,t?l.instant("autocomplete.enabling"):l.instant("autocomplete.disabling")),u.toggleAutocomplete(t).success((function(){f(),g()})).error((function(e){o.error(getError(e))})).finally((function(){e.setLoader(!1)}))},e.toggleIndexIRIs=function(){e.setLoader(!0,l.instant("autocomplete.index.iri")),u.toggleIndexIRIs(!e.shouldIndexIRIs).success((function(){p(),g()})).error((function(e){o.error(getError(e))})).finally((function(){e.setLoader(!1)}))},e.buildIndex=function(){e.setLoader(!0,l.instant("autocomplete.index.build")),u.buildIndex().success((function(){e.indexStatus="BUILDING"})).error((function(e){o.error(getError(e))})).finally((function(){e.setLoader(!1)}))},e.interruptIndexing=function(){e.setLoader(!0,l.instant("index.interrupt")),u.interruptIndexing().success((function(){g()})).error((function(e){o.error(getError(e))})).finally((function(){e.setLoader(!1)}))},e.getDegradedReason=function(){return n.getDegradedReason()},e.addLabel=function(){e.editLabel({labelIri:"",languages:""},!0)},e.editLabel=function(t,n){c.open({templateUrl:"js/angular/autocomplete/templates/modal/add-label.html",controller:"AddLabelCtrl",resolve:{data:function(){return{label:t,isNew:n}}}}).result.then((function(t){!function(t){e.setLoader(!0,l.instant("autocomplete.update")),u.addLabelConfig(t).success((function(){m(),g()})).error((function(e){o.error(getError(e))})).finally((function(){e.setLoader(!1)}))}(t)}))},e.removeLabel=function(t){!function(t){e.setLoader(!0,l.instant("autocomplete.update")),u.removeLabelConfig(t).success((function(){m(),g()})).error((function(e){o.error(getError(e))})).finally((function(){e.setLoader(!1)}))}(t)},e.$on("repositoryIsSet",(function(){d(),r.isLicenseValid()&&n.getActiveRepository()&&!n.isActiveRepoOntopType()&&!n.isActiveRepoFedXType()&&(e.checkForPlugin(),b())})),r.isLicenseValid()&&n.getActiveRepository()&&!n.isActiveRepoOntopType()&&!n.isActiveRepoFedXType()&&(e.checkForPlugin(),b())}function r(e,t,o,n){e.label=angular.copy(n.label),e.isNew=n.isNew,e.ok=function(){e.form.$valid&&t.close(e.label)},e.cancel=function(){t.dismiss("cancel")},e.setTemplate=function(t){e.label.labelIri=t,o((function(){$("#wb-autocomplete-languages").focus()}),0)}}angular.module("graphdb.framework.autocomplete.controllers",["toastr","graphdb.framework.rest.autocomplete.service"]).controller("AutocompleteCtrl",n).controller("AddLabelCtrl",r),n.$inject=["$scope","$interval","toastr","$repositories","$licenseService","$
|
|
2
|
-
//# sourceMappingURL=35.
|
|
1
|
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[35,56],{110:function(e,t,o){"use strict";o.r(t);o(66);angular.module("graphdb.framework.autocomplete",["ngRoute","graphdb.framework.autocomplete.controllers"])},66:function(e,t,o){"use strict";o.r(t);o(18);function n(e,t,o,n,r,c,i,u,a,l){let s;function d(){s&&t.cancel(s)}e.pluginName="autocomplete",e.setPluginIsActive=function(t){e.pluginIsActive=t};const f=function(){u.checkAutocompleteStatus().success((function(t){e.autocompleteEnabled=t,a.setAutocompleteStatus(t)})).error((function(e){o.error(getError(e))}))},p=function(){u.refreshIndexIRIs().success((function(t){e.shouldIndexIRIs=t})).error((function(e){o.error(getError(e))}))},g=function(){u.refreshIndexStatus().success((function(t){e.indexStatus=t})).error((function(e){o.error(getError(e))}))},m=function(){u.refreshLabelConfig().success((function(t){e.labelConfig=t})).error((function(e){o.error(getError(e))}))};e.checkForPlugin=function(){e.pluginFound=!1,e.setLoader(!0),u.checkForPlugin().success((function(t){e.pluginFound=!0===t,e.pluginFound?(f(),p(),g(),m()):(e.autocompleteEnabled=!1,e.loading=!1)})).error((function(e){o.error(getError(e))})).finally((function(){e.setLoader(!1)}))};const b=function(){s=t((function(){e.$broadcast("checkIsActive"),e.autocompleteEnabled&&g()}),5e3)};e.$on("$destroy",(function(){d()}));e.setLoader=function(t,o){i.cancel(e.loaderTimeout),t?e.loaderTimeout=i((function(){e.loader=t,e.loaderMessage=o}),300):e.loader=!1},e.getLoaderMessage=function(){return e.loaderMessage||l.instant("common.loading")},e.toggleAutocomplete=function(){const t=!e.autocompleteEnabled;e.setLoader(!0,t?l.instant("autocomplete.enabling"):l.instant("autocomplete.disabling")),u.toggleAutocomplete(t).success((function(){f(),g()})).error((function(e){o.error(getError(e))})).finally((function(){e.setLoader(!1)}))},e.toggleIndexIRIs=function(){e.setLoader(!0,l.instant("autocomplete.index.iri")),u.toggleIndexIRIs(!e.shouldIndexIRIs).success((function(){p(),g()})).error((function(e){o.error(getError(e))})).finally((function(){e.setLoader(!1)}))},e.buildIndex=function(){e.setLoader(!0,l.instant("autocomplete.index.build")),u.buildIndex().success((function(){e.indexStatus="BUILDING"})).error((function(e){o.error(getError(e))})).finally((function(){e.setLoader(!1)}))},e.interruptIndexing=function(){e.setLoader(!0,l.instant("index.interrupt")),u.interruptIndexing().success((function(){g()})).error((function(e){o.error(getError(e))})).finally((function(){e.setLoader(!1)}))},e.getDegradedReason=function(){return n.getDegradedReason()},e.addLabel=function(){e.editLabel({labelIri:"",languages:""},!0)},e.editLabel=function(t,n){c.open({templateUrl:"js/angular/autocomplete/templates/modal/add-label.html",controller:"AddLabelCtrl",resolve:{data:function(){return{label:t,isNew:n}}}}).result.then((function(t){!function(t){e.setLoader(!0,l.instant("autocomplete.update")),u.addLabelConfig(t).success((function(){m(),g()})).error((function(e){o.error(getError(e))})).finally((function(){e.setLoader(!1)}))}(t)}))},e.removeLabel=function(t){!function(t){e.setLoader(!0,l.instant("autocomplete.update")),u.removeLabelConfig(t).success((function(){m(),g()})).error((function(e){o.error(getError(e))})).finally((function(){e.setLoader(!1)}))}(t)},e.$on("repositoryIsSet",(function(){d(),r.isLicenseValid()&&n.getActiveRepository()&&!n.isActiveRepoOntopType()&&!n.isActiveRepoFedXType()&&(e.checkForPlugin(),b())})),r.isLicenseValid()&&n.getActiveRepository()&&!n.isActiveRepoOntopType()&&!n.isActiveRepoFedXType()&&(e.checkForPlugin(),b())}function r(e,t,o,n){e.label=angular.copy(n.label),e.isNew=n.isNew,e.ok=function(){e.form.$valid&&t.close(e.label)},e.cancel=function(){t.dismiss("cancel")},e.setTemplate=function(t){e.label.labelIri=t,o((function(){$("#wb-autocomplete-languages").focus()}),0)}}angular.module("graphdb.framework.autocomplete.controllers",["toastr","graphdb.framework.rest.autocomplete.service"]).controller("AutocompleteCtrl",n).controller("AddLabelCtrl",r),n.$inject=["$scope","$interval","toastr","$repositories","$licenseService","$uibModal","$timeout","AutocompleteRestService","$autocompleteStatus","$translate"],r.$inject=["$scope","$uibModalInstance","$timeout","data"]}}]);
|
|
2
|
+
//# sourceMappingURL=35.541a97f880621d5f7031.bundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["webpack:///./src/js/angular/autocomplete/app.js","webpack:///./src/js/angular/autocomplete/controllers.js"],"names":["angular","module","AutocompleteCtrl","$scope","$interval","toastr","$repositories","$licenseService","$uibModal","$timeout","AutocompleteRestService","$autocompleteStatus","$translate","timer","cancelTimer","cancel","pluginName","setPluginIsActive","isPluginActive","pluginIsActive","refreshEnabledStatus","checkAutocompleteStatus","success","data","autocompleteEnabled","setAutocompleteStatus","error","getError","refreshIndexIRIs","shouldIndexIRIs","refreshIndexStatus","indexStatus","refreshLabelConfig","labelConfig","checkForPlugin","pluginFound","setLoader","loading","finally","pullStatus","$broadcast","$on","loader","message","loaderTimeout","loaderMessage","getLoaderMessage","instant","toggleAutocomplete","newValue","toggleIndexIRIs","buildIndex","interruptIndexing","getDegradedReason","addLabel","editLabel","labelIri","languages","label","isNew","open","templateUrl","controller","resolve","result","then","addLabelConfig","removeLabel","removeLabelConfig","isLicenseValid","getActiveRepository","isActiveRepoOntopType","isActiveRepoFedXType","AddLabelCtrl","$uibModalInstance","copy","ok","form","$valid","close","dismiss","setTemplate","iri","$","focus","$inject"],"mappings":"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","file":"35.541a97f880621d5f7031.bundle.js","sourcesContent":["import 'angular/autocomplete/controllers';\n\nconst modules = [\n 'ngRoute',\n 'graphdb.framework.autocomplete.controllers'\n];\n\nangular.module('graphdb.framework.autocomplete', modules);\n","import 'angular/rest/autocomplete.rest.service';\n\nconst modules = [\n 'toastr',\n 'graphdb.framework.rest.autocomplete.service'\n];\n\nangular\n .module('graphdb.framework.autocomplete.controllers', modules)\n .controller('AutocompleteCtrl', AutocompleteCtrl)\n .controller('AddLabelCtrl', AddLabelCtrl);\n\nAutocompleteCtrl.$inject = ['$scope', '$interval', 'toastr', '$repositories', '$licenseService', '$uibModal', '$timeout', 'AutocompleteRestService', '$autocompleteStatus', '$translate'];\n\nfunction AutocompleteCtrl($scope, $interval, toastr, $repositories, $licenseService, $uibModal, $timeout, AutocompleteRestService, $autocompleteStatus, $translate) {\n\n let timer;\n\n function cancelTimer() {\n if (timer) {\n $interval.cancel(timer);\n }\n }\n\n $scope.pluginName = 'autocomplete';\n\n $scope.setPluginIsActive = function (isPluginActive) {\n $scope.pluginIsActive = isPluginActive;\n };\n\n const refreshEnabledStatus = function () {\n AutocompleteRestService.checkAutocompleteStatus()\n .success(function (data) {\n $scope.autocompleteEnabled = data;\n $autocompleteStatus.setAutocompleteStatus(data);\n }).error(function (data) {\n toastr.error(getError(data));\n });\n };\n\n const refreshIndexIRIs = function () {\n AutocompleteRestService.refreshIndexIRIs()\n .success(function (data) {\n $scope.shouldIndexIRIs = data;\n }).error(function (data) {\n toastr.error(getError(data));\n });\n };\n\n const refreshIndexStatus = function () {\n AutocompleteRestService.refreshIndexStatus()\n .success(function (data) {\n $scope.indexStatus = data;\n })\n .error(function (data) {\n toastr.error(getError(data));\n });\n };\n\n const refreshLabelConfig = function () {\n AutocompleteRestService.refreshLabelConfig()\n .success(function (data) {\n $scope.labelConfig = data;\n }).error(function (data) {\n toastr.error(getError(data));\n });\n };\n\n const addLabelConfig = function (label) {\n $scope.setLoader(true, $translate.instant('autocomplete.update'));\n\n\n AutocompleteRestService.addLabelConfig(label)\n .success(function () {\n refreshLabelConfig();\n refreshIndexStatus();\n }).error(function (data) {\n toastr.error(getError(data));\n }).finally(function () {\n $scope.setLoader(false);\n });\n };\n\n const removeLabelConfig = function (label) {\n $scope.setLoader(true, $translate.instant('autocomplete.update'));\n\n AutocompleteRestService.removeLabelConfig(label)\n .success(function () {\n refreshLabelConfig();\n refreshIndexStatus();\n }).error(function (data) {\n toastr.error(getError(data));\n }).finally(function () {\n $scope.setLoader(false);\n });\n };\n\n $scope.checkForPlugin = function () {\n $scope.pluginFound = false;\n\n $scope.setLoader(true);\n\n AutocompleteRestService.checkForPlugin()\n .success(function (data) {\n $scope.pluginFound = data === true;\n if ($scope.pluginFound) {\n refreshEnabledStatus();\n refreshIndexIRIs();\n refreshIndexStatus();\n refreshLabelConfig();\n } else {\n $scope.autocompleteEnabled = false;\n $scope.loading = false;\n }\n }).error(function (data) {\n toastr.error(getError(data));\n }).finally(function () {\n $scope.setLoader(false);\n });\n };\n\n const pullStatus = function () {\n timer = $interval(function () {\n $scope.$broadcast('checkIsActive');\n if ($scope.autocompleteEnabled) {\n refreshIndexStatus();\n }\n }, 5000);\n };\n\n $scope.$on(\"$destroy\", function () {\n cancelTimer();\n });\n\n const init = function() {\n if (!$licenseService.isLicenseValid() ||\n !$repositories.getActiveRepository() ||\n $repositories.isActiveRepoOntopType() ||\n $repositories.isActiveRepoFedXType()) {\n return;\n }\n $scope.checkForPlugin();\n pullStatus();\n };\n\n $scope.setLoader = function (loader, message) {\n $timeout.cancel($scope.loaderTimeout);\n if (loader) {\n $scope.loaderTimeout = $timeout(function () {\n $scope.loader = loader;\n $scope.loaderMessage = message;\n }, 300);\n } else {\n $scope.loader = false;\n }\n };\n\n $scope.getLoaderMessage = function () {\n return $scope.loaderMessage || $translate.instant('common.loading');\n };\n\n $scope.toggleAutocomplete = function () {\n const newValue = !$scope.autocompleteEnabled;\n $scope.setLoader(true, newValue ? $translate.instant('autocomplete.enabling') : $translate.instant('autocomplete.disabling'));\n\n AutocompleteRestService.toggleAutocomplete(newValue)\n .success(function () {\n refreshEnabledStatus();\n refreshIndexStatus();\n }).error(function (data) {\n toastr.error(getError(data));\n }).finally(function () {\n $scope.setLoader(false);\n });\n };\n\n $scope.toggleIndexIRIs = function () {\n $scope.setLoader(true, ($translate.instant('autocomplete.index.iri')));\n\n AutocompleteRestService.toggleIndexIRIs(!$scope.shouldIndexIRIs)\n .success(function () {\n refreshIndexIRIs();\n refreshIndexStatus();\n }).error(function (data) {\n toastr.error(getError(data));\n }).finally(function () {\n $scope.setLoader(false);\n });\n };\n\n $scope.buildIndex = function () {\n $scope.setLoader(true, $translate.instant('autocomplete.index.build'));\n\n AutocompleteRestService.buildIndex()\n .success(function () {\n $scope.indexStatus = 'BUILDING';\n }).error(function (data) {\n toastr.error(getError(data));\n }).finally(function () {\n $scope.setLoader(false);\n });\n };\n\n $scope.interruptIndexing = function () {\n $scope.setLoader(true, $translate.instant('index.interrupt'));\n\n AutocompleteRestService.interruptIndexing()\n .success(function () {\n refreshIndexStatus();\n }).error(function (data) {\n toastr.error(getError(data));\n }).finally(function () {\n $scope.setLoader(false);\n });\n };\n\n $scope.getDegradedReason = function () {\n return $repositories.getDegradedReason();\n };\n\n $scope.addLabel = function () {\n $scope.editLabel({labelIri: '', languages: ''}, true);\n };\n\n $scope.editLabel = function (label, isNew) {\n const modalInstance = $uibModal.open({\n templateUrl: 'js/angular/autocomplete/templates/modal/add-label.html',\n controller: 'AddLabelCtrl',\n resolve: {\n data: function () {\n return {\n label: label,\n isNew: isNew\n };\n }\n }\n });\n\n modalInstance.result.then(function (label) {\n addLabelConfig(label);\n });\n };\n\n $scope.removeLabel = function (label) {\n removeLabelConfig(label);\n };\n\n $scope.$on('repositoryIsSet', function () {\n cancelTimer();\n if (!$licenseService.isLicenseValid() ||\n !$repositories.getActiveRepository() ||\n $repositories.isActiveRepoOntopType() ||\n $repositories.isActiveRepoFedXType()) {\n return;\n }\n $scope.checkForPlugin();\n pullStatus();\n });\n\n init();\n}\n\nAddLabelCtrl.$inject = ['$scope', '$uibModalInstance', '$timeout', 'data'];\n\nfunction AddLabelCtrl($scope, $uibModalInstance, $timeout, data) {\n $scope.label = angular.copy(data.label);\n $scope.isNew = data.isNew;\n\n $scope.ok = function () {\n if ($scope.form.$valid) {\n $uibModalInstance.close($scope.label);\n }\n };\n\n $scope.cancel = function () {\n $uibModalInstance.dismiss('cancel');\n };\n\n $scope.setTemplate = function (iri) {\n $scope.label.labelIri = iri;\n $timeout(function () {\n $('#wb-autocomplete-languages').focus();\n }, 0);\n };\n}\n"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[36,61],{43:function(e,i){angular.module("graphdb.framework.core.directives.paginations",[]).directive("paginations",(function(){return{template:'<uib-pagination class="nav navbar-right" total-items="matchedElements.length" items-per-page="pageSize" ng-model="page" ng-change="changePagination()" direction-links="false" boundary-links="true" max-size="5" rotate="true"></uib-pagination>'}}))},89:function(e,i,a){"use strict";a.r(i);a(20),a(43);var n=a(1);function t(e,i,a,t,s,r){e.guides=[],e.pageSizeOptions=[10,20,50,100],e.page=1,e.pageSize=e.pageSizeOptions[0],e.translationSubscription=void 0,e.init=function(){a.getGuides().then(i=>{e.guides=t("orderBy")(i,"guideOrder"),e.guides.forEach(e=>{switch(e.translatedGuideName=n.GuideUtils.translateLocalMessage(s,r,e.guideName),e.translatedGuideDescription=n.GuideUtils.translateLocalMessage(s,r,e.guideDescription),e.guideLevel){case void 0:case 0:e.guideLevelLabel="view.guides.level.beginner";break;case 1:e.guideLevelLabel="view.guides.level.intermediate";break;default:e.guideLevelLabel="view.guides.level.advanced"}}),e.matchedElements=e.guides,e.changePagination()})},e.startGuide=function(e){a.startGuide(e)},this.translationSubscription||(this.translationSubscription=i.$on("$translateChangeSuccess",()=>{e.init()})),e.changePagination=function(){angular.isDefined(e.guides)&&(e.displayedGuides=e.guides.slice(e.pageSize*(e.page-1),e.pageSize*e.page))},e.changePageSize=function(i){e.page=1,e.pageSize=i||e.pageSizeOptions[0],e.changePagination()},e.init()}angular.module("graphdb.framework.guides.controllers",["ui.bootstrap","graphdb.framework.guides.services","graphdb.framework.core.directives.paginations"]).controller("GuidesCtrl",t),t.$inject=["$scope","$rootScope","GuidesService","$filter","$translate","$interpolate"]}}]);
|
|
2
|
+
//# sourceMappingURL=36.239dd56c03aeda760f8b.bundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["webpack:///./src/js/angular/core/directives/paginations.js","webpack:///./src/js/angular/guides/controllers.js"],"names":["angular","module","directive","template","GuidesCtrl","$scope","$rootScope","GuidesService","$filter","$translate","$interpolate","guides","pageSizeOptions","page","pageSize","translationSubscription","undefined","init","getGuides","then","forEach","guide","translatedGuideName","translateLocalMessage","guideName","translatedGuideDescription","guideDescription","guideLevel","guideLevelLabel","matchedElements","changePagination","startGuide","this","$on","isDefined","displayedGuides","slice","changePageSize","size","controller","$inject"],"mappings":"8EAAAA,QAAQC,OAAO,gDAAiD,IAC3DC,UAAU,eAAe,WACtB,MAAO,CACHC,SAAU,yP,gCCHtB,8BAgBA,SAASC,EAAWC,EAAQC,EAAYC,EAAeC,EAASC,EAAYC,GAExEL,EAAOM,OAAS,GAChBN,EAAOO,gBAAkB,CAAC,GAAI,GAAI,GAAI,KACtCP,EAAOQ,KAAO,EACdR,EAAOS,SAAWT,EAAOO,gBAAgB,GACzCP,EAAOU,6BAA0BC,EAEjCX,EAAOY,KAAO,WACVV,EAAcW,YACTC,KAAKR,IACFN,EAAOM,OAASH,EAAQ,UAARA,CAAmBG,EAAQ,cAC3CN,EAAOM,OAAOS,QAAQC,IAGlB,OAFAA,EAAMC,oBAAsB,aAAWC,sBAAsBd,EAAYC,EAAcW,EAAMG,WAC7FH,EAAMI,2BAA6B,aAAWF,sBAAsBd,EAAYC,EAAcW,EAAMK,kBAC5FL,EAAMM,YACV,UAAKX,EACL,KAAK,EACDK,EAAMO,gBAAkB,6BACxB,MACJ,KAAK,EACDP,EAAMO,gBAAkB,iCACxB,MACJ,QACIP,EAAMO,gBAAkB,gCAGpCvB,EAAOwB,gBAAkBxB,EAAOM,OAChCN,EAAOyB,sBAInBzB,EAAO0B,WAAa,SAAUV,GAC1Bd,EAAcwB,WAAWV,IAGxBW,KAAKjB,0BACNiB,KAAKjB,wBAA0BT,EAAW2B,IAAI,0BAA2B,KACrE5B,EAAOY,UAIfZ,EAAOyB,iBAAmB,WAClB9B,QAAQkC,UAAU7B,EAAOM,UACzBN,EAAO8B,gBAAkB9B,EAAOM,OAAOyB,MAAM/B,EAAOS,UAAYT,EAAOQ,KAAO,GAAIR,EAAOS,SAAWT,EAAOQ,QAInHR,EAAOgC,eAAiB,SAAUC,GAC9BjC,EAAOQ,KAAO,EAEVR,EAAOS,SADPwB,GAGkBjC,EAAOO,gBAAgB,GAE7CP,EAAOyB,oBAGXzB,EAAOY,OAhEXjB,QACKC,OAAO,uCAPI,CACZ,eACA,oCACA,kDAKCsC,WAAW,aAAcnC,GAE9BA,EAAWoC,QAAU,CAAC,SAAU,aAAc,gBAAiB,UAAW,aAAc","file":"36.239dd56c03aeda760f8b.bundle.js","sourcesContent":["angular.module('graphdb.framework.core.directives.paginations', [])\n .directive('paginations', function () {\n return {\n template: '<uib-pagination class=\"nav navbar-right\" total-items=\"matchedElements.length\" items-per-page=\"pageSize\" ng-model=\"page\" ng-change=\"changePagination()\" direction-links=\"false\" boundary-links=\"true\" max-size=\"5\" rotate=\"true\"></uib-pagination>',\n };\n });\n","import 'angular/guides/guides.service';\nimport 'angular/core/directives/paginations';\nimport {GuideUtils} from \"./guide-utils\";\n\nconst modules = [\n 'ui.bootstrap',\n 'graphdb.framework.guides.services',\n 'graphdb.framework.core.directives.paginations'\n];\n\nangular\n .module('graphdb.framework.guides.controllers', modules)\n .controller('GuidesCtrl', GuidesCtrl);\n\nGuidesCtrl.$inject = ['$scope', '$rootScope', 'GuidesService', '$filter', '$translate', '$interpolate'];\n\nfunction GuidesCtrl($scope, $rootScope, GuidesService, $filter, $translate, $interpolate) {\n\n $scope.guides = [];\n $scope.pageSizeOptions = [10, 20, 50, 100];\n $scope.page = 1;\n $scope.pageSize = $scope.pageSizeOptions[0];\n $scope.translationSubscription = undefined;\n\n $scope.init = function () {\n GuidesService.getGuides()\n .then(guides => {\n $scope.guides = $filter('orderBy')(guides, 'guideOrder');\n $scope.guides.forEach(guide => {\n guide.translatedGuideName = GuideUtils.translateLocalMessage($translate, $interpolate, guide.guideName);\n guide.translatedGuideDescription = GuideUtils.translateLocalMessage($translate, $interpolate, guide.guideDescription);\n switch (guide.guideLevel) {\n case undefined:\n case 0:\n guide.guideLevelLabel = 'view.guides.level.beginner';\n break;\n case 1:\n guide.guideLevelLabel = 'view.guides.level.intermediate';\n break;\n default: // 2 and above\n guide.guideLevelLabel = 'view.guides.level.advanced';\n }\n });\n $scope.matchedElements = $scope.guides;\n $scope.changePagination();\n });\n };\n\n $scope.startGuide = function (guide) {\n GuidesService.startGuide(guide);\n };\n\n if (!this.translationSubscription) {\n this.translationSubscription = $rootScope.$on('$translateChangeSuccess', () => {\n $scope.init();\n });\n }\n\n $scope.changePagination = function () {\n if (angular.isDefined($scope.guides)) {\n $scope.displayedGuides = $scope.guides.slice($scope.pageSize * ($scope.page - 1), $scope.pageSize * $scope.page);\n }\n };\n\n $scope.changePageSize = function (size) {\n $scope.page = 1;\n if (size) {\n $scope.pageSize = size;\n } else {\n $scope.pageSize = $scope.pageSizeOptions[0];\n }\n $scope.changePagination();\n };\n\n $scope.init();\n}\n"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[38,114],{41:function(n,e){angular.module("graphdb.framework.rest.connectors.service",[]).factory("ConnectorsRestService",t),t.$inject=["$http"];function t(n){return{getConnectors:function(){return n.get("rest/connectors")},initConnector:function(e){return n.get("rest/connectors/options?prefix="+e)},hasConnector:function(e){return n.get("rest/connectors/existing?prefix="+e)},checkConnector:function(e){return n.post("rest/connectors/check",e,{headers:{"Content-Type":"text/plain"}})}}}},44:function(n,e,t){"use strict";t.r(e);t(15),t(41);function o(n){const e=[];return Object.keys(n).forEach((function(t){e.push(encodeURIComponent(t)+"="+encodeURIComponent(n[t]))})),e.join("&")}function r(n,e){return _.reduce(n,(function(n,t){if(""===t.key&&""===t.value);else{if(""===t.key)throw new Error(e.instant("externalsync.empty.value.key.error",{value:t.value}));if(n.hasOwnProperty(t.key))throw new Error(e.instant("externalsync.duplicate.key.error",{key:t.key}));n[t.key]=t.value}return n}),{})}function i(n,e){for(let o=0;o<e.length;o++){const r=e[o];if("StringArray"===r.__type)n[r.__name]||(n[r.__name]=[""]);else if("OptionArray"===r.__type)if(n[r.__name])for(let e=0;e<r.__childOptions.length;e++){const t=r.__childOptions[e];if("Boolean"===t.__type)for(let e=0;e<n[r.__name].length;e++){const o=n[r.__name][e];!o.hasOwnProperty([t.__name])&&angular.isDefined(t.__defaultValue)&&(o[t.__name]=t.__defaultValue)}}else{n[r.__name]=[];const e={};for(let n=0;n<r.__childOptions.length;n++){const t=r.__childOptions[n];"StringArray"===t.__type?e[t.__name]=[""]:e[t.__name]=angular.isUndefined(t.__defaultValue)?"":t.__defaultValue}n[r.__name].push(e)}else"Map"===r.__type?n[r.__name]?n[r.__name]=(t=n[r.__name],_.map(t,(function(n,e){return{key:e,value:n}}))):n[r.__name]=[]:"JsonString"===r.__type?!n[r.__name]||n[r.__name]instanceof String||"string"==typeof n[r.__name]||(n[r.__name]=angular.toJson(n[r.__name],2)):angular.isUndefined(n[r.__name])&&(n[r.__name]=angular.isUndefined(r.__defaultValue)?"":r.__defaultValue)}var t;return n}function a(n,e,t){return n.post("repositories/"+e,o({query:t}),{headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/sparql-results+json","X-GraphDB-Local-Consistency":"updating"}})}function c(n){return n.substring(0,n.length-1)+"/instance#"}function s(n,e,t,o,i){const a=function n(e,t){const o={};return _.each(t,(function(t){angular.isDefined(e[t.__name])&&("OptionArray"===t.__type?(o[t.__name]=[],_.each(e[t.__name],(function(e){o[t.__name].push(n(e,t.__childOptions))}))):o[t.__name]=angular.copy(e[t.__name]))})),o}(t,o);for(let n=0;n<o.length;n++)try{"Map"===o[n].__type?a[o[n].__name]=r(a[o[n].__name],$translate):"JsonString"===o[n].__type&&(a[o[n].__name]=angular.fromJson(a[o[n].__name]))}catch(e){return i(o[n].__label,e.message),null}!function n(e){Array.isArray(e)&&(e=_.filter(e,(function(n){return null!==n&&(!n.trim||""!==n.trim())})));return Object.keys(e).forEach((function(t){""!==e[t]&&null!=e[t]||!1===e[t]?"object"==typeof e[t]&&(e[t]=n(e[t])):delete e[t]})),e}(a);let s="";s+="PREFIX :<"+e+">\n";return s+="PREFIX inst:<"+c(e)+">\n",s+="INSERT DATA {\n",s+="\tinst:"+n+" :createConnector '''\n",s+=angular.toJson(a,2),s+="\n''' .\n}\n",s=s.replace(/\\/g,"\\\\\\"),s}function l(n,e,t,r,l,u,p,f,g,d){function m(e){n.beingBuiltConnector={percentDone:0,status:{processedEntities:0,estimatedEntities:0,indexedEntities:0,entitiesPerSecond:0},actionName:e?d.instant("externalsync.repairing"):d.instant("externalsync.creating"),waitOnRepairStartOnce:!!e,eta:"-",inline:!1,iri:null}}function y(e,t,o){return m(o),$.extend(n.beingBuiltConnector,{iri:c(e)+t,name:t,inline:!1,doneCallback:function(){n.beingBuiltConnector.modalInstance.dismiss("cancel")}}),n.beingBuiltConnector.modalInstance=r.open({templateUrl:"pages/connectorProgress.html",controller:"CreateProgressCtrl",size:"lg",backdrop:"static",scope:n}),n.beingBuiltConnector.modalInstance}function C(e,r,i){const a=y(e.value,r.name,!1);f.addStatements(t.getActiveRepository(),o({update:r.query})).then((function(){g.getConnectors().then((function(){g.hasConnector(encodeURIComponent(e.value)).then((function(t){n.existing[e.key]=t.data}))})),l.success(d.instant("created.connector",{name:r.name}))}),(function(n){l.error(getError(n)),i()})).finally((function(){a.dismiss("cancel")}))}n.loader=!1,n.controllers=[],n.existing={},n.definitions={},n.getLoaderMessage=function(){const e=(Date.now()-n.loaderStartTime)/1e3,t=n.getHumanReadableSeconds(e);let o="";return o=n.progressMessage?n.progressMessage+"... "+t:d.instant("common.running.operation",{timeHuman:t}),n.extraMessage&&e>10&&(o+="\n"+n.extraMessage),o},n.setLoader=function(e,t,o){e?(n.loader=!0,n.loaderStartTime=Date.now(),n.progressMessage=t,n.extraMessage=o):(n.loader=!1,n.progressMessage="",n.extraMessage="")},n.initConnector=function(e){return g.initConnector(encodeURIComponent(e.value)).then((function(t){return n.definitions[e.key]=t.data,g.hasConnector(encodeURIComponent(e.value)).then((function(t){n.existing[e.key]=t.data}))}))},n.getConnectors=function(){n.isLicenseValid()&&n.canWriteActiveRepo()&&(n.setLoader(!0,d.instant("externalsync.fetching.connectors"),d.instant("common.extra.message")),g.getConnectors().then((function(o){n.connectors=Object.keys(o.data).map((function(n){return{key:n,value:o.data[n]}})),p.all(_.map(n.connectors,(function(e){return n.initConnector(e)}))).finally((function(){m();const o=function(n){const e=_.map(n,(function(n){return"<"+n.value+"connectorStatus>"})).join("|");return e?"SELECT ?connector ?status { ?connector "+e+" ?status }":null}(n.connectors);o?function(n){return a(e,t.getActiveRepository(),n)}(o).then((function(e){const t=function(n){if(n.bindings)for(let e=0;e<n.bindings.length;e++)try{const t=JSON.parse(n.bindings[e].status.value);if("BUILDING"===t.status)return{connector:n.bindings[e].connector.value,status:t}}catch(n){console.error(n)}return{}}(e.data.results);if(t.connector){const e=t.connector.split(/#/);e[0]=e[0].replace(/\/instance$/,"#"),o=e[0],r=e[1],m(),$.extend(n.beingBuiltConnector,{iri:c(o)+r,name:r,inline:!0,doneCallback:function(){n.beingBuiltConnector.inline=!1}})}var o,r})).finally((function(){n.setLoader(!1)})):n.setLoader(!1)}))})).catch((function(e){n.setLoader(!1),l.error(getError(e),d.instant("externalsync.could.not.get.connectors.error"))})),n.existing={})},n.getOptions=function(e){return n.definitions[e.key]},n.isEmpty=function(n){return angular.isObject(n)&&0===Object.keys(n).length},n.toPrettyJson=function(n){return angular.toJson(n,2)},n.$watch((function(){return t.getActiveRepository()}),n.getConnectors),n.$watch((function(){return t.getActiveLocation()}),n.getConnectors),n.copyConnector=function(e,t){let o;angular.isUndefined(t)||(o=angular.copy(t),o.name=o.name+"-copy");r.open({templateUrl:"pages/createConnector.html",controller:"CreateConnectorCtrl",size:"lg",backdrop:"static",resolve:{connector:function(){return e},values:function(){return angular.isUndefined(o)?{name:"",values:{}}:o},options:function(){return n.getOptions(e)}}}).result.then((function(t){C(e,t,(function(){t.skipConversion=!0,n.newConnector(e,t)}))}))},n.newConnector=function(e,t){r.open({templateUrl:"pages/createConnector.html",controller:"CreateConnectorCtrl",size:"lg",backdrop:"static",resolve:{connector:function(){return e},values:function(){return angular.isUndefined(t)?{name:"",values:{}}:t},options:function(){return n.getOptions(e)}}}).result.then((function(t){C(e,t,(function(){t.skipConversion=!0,n.newConnector(e,t)}))}))},n.repair=function(e,r){u.openSimpleModal({title:d.instant("externalsync.confirm.repair"),message:d.instant("externalsync.repair.warning.msg"),warning:!0}).result.then((function(){const i=y(r.value,e.name,!0),a=(s=e.name,"PREFIX prefix:<"+(u=r.value)+">\nINSERT DATA {\n\t<"+c(u)+s+'> prefix:repairConnector ""\n}');var s,u;f.addStatements(t.getActiveRepository(),o({update:a})).then((function(){g.getConnectors().then((function(){g.hasConnector(encodeURIComponent(r.value)).then((function(e){n.existing[r.key]=e.data}))})),l.success(d.instant("externalsync.repair.success.msg",{name:e.name}))}),(function(n){l.error(getError(n))})).finally((function(){i.dismiss("cancel")}))}))},n.delete=function(e,i){const a=i.key.indexOf("Elastic")>=0||i.key.indexOf("Solr")>=0;r.open({templateUrl:"js/angular/externalsync/templates/deleteConnector.html",controller:"DeleteConnectorCtrl",resolve:{popoverMsg:function(){return a?d.instant("delete.connector.conditional",{type:i.key}):""}}}).result.then((function(r){n.setLoader(!0,d.instant("externalsync.delete.progress.msg",{name:e.name}),d.instant("externalsync.extra.message.warning"));const c=function(n,e,t){const o=e.substring(0,e.length-1)+"/instance#";return"PREFIX prefix:<"+e+">\nINSERT DATA {\n\t<"+o+n+'> prefix:dropConnector "'+(t?"force":"")+'"\n}'}(e.name,i.value,r);f.addStatements(t.getActiveRepository(),o({update:c})).then((function(){g.getConnectors().then((function(){g.hasConnector(encodeURIComponent(i.value)).then((function(e){n.existing[i.key]=e.data}))})),r?(l.success(d.instant("externalsync.delete.force.success.msg",{name:e.name})),a&&l.warning(d.instant("externalsync.delete.remote.warning",{key:i.key}))):l.success(d.instant("externalsync.delete.success.msg",{name:e.name}))}),(function(n){l.error(getError(n))})).finally((function(){n.setLoader(!1)}))}))},n.viewQuery=function(e,t){r.open({templateUrl:"pages/viewQuery.html",controller:"ViewQueryCtrl",resolve:{query:function(){const o=n.getOptions(e);return s(t.name,e.value,i(t.values,o),o)}}})}}function u(n,e,t){n.force=!1,n.popoverMsg=t,n.ok=function(){e.close(n.force)},n.cancel=function(){e.dismiss()}}function p(n,e,t,o,r){function i(){return s(n.name,t.value,n.values,n.options,(function(n,e){r.error(e,n)}))}n.connector=t,n.addField=function(e,t){const o=angular.copy(n.defaultValues[t][0]);n.values[t].splice(e+1,0,o)},n.addOption=function(n,e){e.splice(n+1,0,"")},n.deleteOption=function(n,e){e.splice(n,1)},n.addMapOption=function(n,e){e.splice(n+1,0,{key:"",value:""})},n.deleteMapOption=function(n,e){e.splice(n,1)},n.ok=function(){if(n.form.$valid){const t=i();t&&e.close({name:n.name,values:n.values,options:n.options,query:t})}},n.viewQuery=function(){const n=i();n&&o.open({templateUrl:"pages/viewQuery.html",controller:"ViewQueryCtrl",resolve:{query:function(){return n}}})},n.cancel=function(){e.dismiss("cancel")}}function f(n,e,t,o,r,a,c,s){angular.extend(this,e("ExtendNewConnectorCtrl",{$scope:n,$modalInstance:o,connector:r,$modal:a})),n.values=c.values,n.options=s,n.name=c.name,c.skipConversion||(n.values=i(n.values,n.options)),n.defaultValues=angular.copy(n.values)}function g(n,e,t,o,r){function i(){const i=function(n){const e=n.replace(/\/instance#.+$/,"#connectorStatus");let t="";return t+="SELECT ?status {\n",t+="\t<"+n+"> <"+e+"> ?status",t+="\n}",t}(n.beingBuiltConnector.iri);n.beingBuiltConnector.iri=null,n.progressInterval=e((function(){(function(n){return a(t,o.getActiveRepository(),n)})(i).then((function(t){const o=function(n){if(n.bindings&&n.bindings.length>0)try{return JSON.parse(n.bindings[0].status.value)}catch(n){console.error(n)}return{}}(t.data.results);"BUILDING"===o.status?(n.beingBuiltConnector.status=o,n.beingBuiltConnector.percentDone=(100*o.processedEntities/o.estimatedEntities).toFixed(0),n.beingBuiltConnector.eta=n.getHumanReadableSeconds(o.etaSeconds),n.beingBuiltConnector.actionName=o.repair?r.instant("externalsync.repairing"):r.instant("externalsync.creating"),n.beingBuiltConnector.waitOnRepairStartOnce=!1):"BUILT"!==o.status||n.beingBuiltConnector.waitOnRepairStartOnce||(e.cancel(n.progressInterval),n.beingBuiltConnector.doneCallback&&n.beingBuiltConnector.doneCallback())}))}),1e3),n.$on("$destroy",(function(){e.cancel(n.progressInterval)}))}n.beingBuiltConnector=n.beingBuiltConnector||{},!n.beingBuiltConnector.inline&&n.beingBuiltConnector.iri&&i(),n.$watch("beingBuiltConnector.iri",(function(e){n.beingBuiltConnector.inline&&e&&i()}))}angular.module("graphdb.framework.externalsync.controllers",["graphdb.framework.rest.rdf4j.repositories.service","graphdb.framework.rest.connectors.service"]).controller("ConnectorsCtrl",l).controller("ExtendNewConnectorCtrl",p).controller("CreateConnectorCtrl",f).controller("CreateProgressCtrl",g).controller("DeleteConnectorCtrl",u).filter("ceil",(function(){return function(n){return Math.ceil(n)}})),l.$inject=["$scope","$http","$repositories","$modal","toastr","ModalService","$q","RDF4JRepositoriesRestService","ConnectorsRestService","$translate"],u.$inject=["$scope","$modalInstance","popoverMsg"],p.$inject=["$scope","$modalInstance","connector","$modal","toastr"],f.$inject=["$scope","$controller","$http","$modalInstance","connector","$modal","values","options"],g.$inject=["$scope","$interval","$http","$repositories","$translate"]}}]);
|
|
2
|
-
//# sourceMappingURL=38.
|
|
1
|
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[38,114],{41:function(n,e){angular.module("graphdb.framework.rest.connectors.service",[]).factory("ConnectorsRestService",t),t.$inject=["$http"];function t(n){return{getConnectors:function(){return n.get("rest/connectors")},initConnector:function(e){return n.get("rest/connectors/options?prefix="+e)},hasConnector:function(e){return n.get("rest/connectors/existing?prefix="+e)},checkConnector:function(e){return n.post("rest/connectors/check",e,{headers:{"Content-Type":"text/plain"}})}}}},44:function(n,e,t){"use strict";t.r(e);t(15),t(41);function o(n){const e=[];return Object.keys(n).forEach((function(t){e.push(encodeURIComponent(t)+"="+encodeURIComponent(n[t]))})),e.join("&")}function r(n,e){return _.reduce(n,(function(n,t){if(""===t.key&&""===t.value);else{if(""===t.key)throw new Error(e.instant("externalsync.empty.value.key.error",{value:t.value}));if(n.hasOwnProperty(t.key))throw new Error(e.instant("externalsync.duplicate.key.error",{key:t.key}));n[t.key]=t.value}return n}),{})}function i(n,e){for(let o=0;o<e.length;o++){const r=e[o];if("StringArray"===r.__type)n[r.__name]||(n[r.__name]=[""]);else if("OptionArray"===r.__type)if(n[r.__name])for(let e=0;e<r.__childOptions.length;e++){const t=r.__childOptions[e];if("Boolean"===t.__type)for(let e=0;e<n[r.__name].length;e++){const o=n[r.__name][e];!o.hasOwnProperty([t.__name])&&angular.isDefined(t.__defaultValue)&&(o[t.__name]=t.__defaultValue)}}else{n[r.__name]=[];const e={};for(let n=0;n<r.__childOptions.length;n++){const t=r.__childOptions[n];"StringArray"===t.__type?e[t.__name]=[""]:e[t.__name]=angular.isUndefined(t.__defaultValue)?"":t.__defaultValue}n[r.__name].push(e)}else"Map"===r.__type?n[r.__name]?n[r.__name]=(t=n[r.__name],_.map(t,(function(n,e){return{key:e,value:n}}))):n[r.__name]=[]:"JsonString"===r.__type?!n[r.__name]||n[r.__name]instanceof String||"string"==typeof n[r.__name]||(n[r.__name]=angular.toJson(n[r.__name],2)):angular.isUndefined(n[r.__name])&&(n[r.__name]=angular.isUndefined(r.__defaultValue)?"":r.__defaultValue)}var t;return n}function a(n,e,t){return n.post("repositories/"+e,o({query:t}),{headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/sparql-results+json","X-GraphDB-Local-Consistency":"updating"}})}function c(n){return n.substring(0,n.length-1)+"/instance#"}function s(n,e,t,o,i){const a=function n(e,t){const o={};return _.each(t,(function(t){angular.isDefined(e[t.__name])&&("OptionArray"===t.__type?(o[t.__name]=[],_.each(e[t.__name],(function(e){o[t.__name].push(n(e,t.__childOptions))}))):o[t.__name]=angular.copy(e[t.__name]))})),o}(t,o);for(let n=0;n<o.length;n++)try{"Map"===o[n].__type?a[o[n].__name]=r(a[o[n].__name],$translate):"JsonString"===o[n].__type&&(a[o[n].__name]=angular.fromJson(a[o[n].__name]))}catch(e){return i(o[n].__label,e.message),null}!function n(e){Array.isArray(e)&&(e=_.filter(e,(function(n){return null!==n&&(!n.trim||""!==n.trim())})));return Object.keys(e).forEach((function(t){""!==e[t]&&null!=e[t]||!1===e[t]?"object"==typeof e[t]&&(e[t]=n(e[t])):delete e[t]})),e}(a);let s="";s+="PREFIX :<"+e+">\n";return s+="PREFIX inst:<"+c(e)+">\n",s+="INSERT DATA {\n",s+="\tinst:"+n+" :createConnector '''\n",s+=angular.toJson(a,2),s+="\n''' .\n}\n",s=s.replace(/\\/g,"\\\\\\"),s}function l(n,e,t,r,l,u,p,f,g,d){function m(e){n.beingBuiltConnector={percentDone:0,status:{processedEntities:0,estimatedEntities:0,indexedEntities:0,entitiesPerSecond:0},actionName:e?d.instant("externalsync.repairing"):d.instant("externalsync.creating"),waitOnRepairStartOnce:!!e,eta:"-",inline:!1,iri:null}}function y(e,t,o){return m(o),$.extend(n.beingBuiltConnector,{iri:c(e)+t,name:t,inline:!1,doneCallback:function(){n.beingBuiltConnector.modalInstance.dismiss("cancel")}}),n.beingBuiltConnector.modalInstance=r.open({templateUrl:"pages/connectorProgress.html",controller:"CreateProgressCtrl",size:"lg",backdrop:"static",scope:n}),n.beingBuiltConnector.modalInstance}function C(e,r,i){const a=y(e.value,r.name,!1);f.addStatements(t.getActiveRepository(),o({update:r.query})).then((function(){g.getConnectors().then((function(){g.hasConnector(encodeURIComponent(e.value)).then((function(t){n.existing[e.key]=t.data}))})),l.success(d.instant("created.connector",{name:r.name}))}),(function(n){l.error(getError(n)),i()})).finally((function(){a.dismiss("cancel")}))}n.loader=!1,n.controllers=[],n.existing={},n.definitions={},n.getLoaderMessage=function(){const e=(Date.now()-n.loaderStartTime)/1e3,t=n.getHumanReadableSeconds(e);let o="";return o=n.progressMessage?n.progressMessage+"... "+t:d.instant("common.running.operation",{timeHuman:t}),n.extraMessage&&e>10&&(o+="\n"+n.extraMessage),o},n.setLoader=function(e,t,o){e?(n.loader=!0,n.loaderStartTime=Date.now(),n.progressMessage=t,n.extraMessage=o):(n.loader=!1,n.progressMessage="",n.extraMessage="")},n.initConnector=function(e){return g.initConnector(encodeURIComponent(e.value)).then((function(t){return n.definitions[e.key]=t.data,g.hasConnector(encodeURIComponent(e.value)).then((function(t){n.existing[e.key]=t.data}))}))},n.getConnectors=function(){n.isLicenseValid()&&n.canWriteActiveRepo()&&(n.setLoader(!0,d.instant("externalsync.fetching.connectors"),d.instant("common.extra.message")),g.getConnectors().then((function(o){n.connectors=Object.keys(o.data).map((function(n){return{key:n,value:o.data[n]}})),p.all(_.map(n.connectors,(function(e){return n.initConnector(e)}))).finally((function(){m();const o=function(n){const e=_.map(n,(function(n){return"<"+n.value+"connectorStatus>"})).join("|");return e?"SELECT ?connector ?status { ?connector "+e+" ?status }":null}(n.connectors);o?function(n){return a(e,t.getActiveRepository(),n)}(o).then((function(e){const t=function(n){if(n.bindings)for(let e=0;e<n.bindings.length;e++)try{const t=JSON.parse(n.bindings[e].status.value);if("BUILDING"===t.status)return{connector:n.bindings[e].connector.value,status:t}}catch(n){console.error(n)}return{}}(e.data.results);if(t.connector){const e=t.connector.split(/#/);e[0]=e[0].replace(/\/instance$/,"#"),o=e[0],r=e[1],m(),$.extend(n.beingBuiltConnector,{iri:c(o)+r,name:r,inline:!0,doneCallback:function(){n.beingBuiltConnector.inline=!1}})}var o,r})).finally((function(){n.setLoader(!1)})):n.setLoader(!1)}))})).catch((function(e){n.setLoader(!1),l.error(getError(e),d.instant("externalsync.could.not.get.connectors.error"))})),n.existing={})},n.getOptions=function(e){return n.definitions[e.key]},n.isEmpty=function(n){return angular.isObject(n)&&0===Object.keys(n).length},n.toPrettyJson=function(n){return angular.toJson(n,2)},n.$watch((function(){return t.getActiveRepository()}),n.getConnectors),n.$watch((function(){return t.getActiveLocation()}),n.getConnectors),n.copyConnector=function(e,t){let o;angular.isUndefined(t)||(o=angular.copy(t),o.name=o.name+"-copy");r.open({templateUrl:"pages/createConnector.html",controller:"CreateConnectorCtrl",size:"lg",backdrop:"static",resolve:{connector:function(){return e},values:function(){return angular.isUndefined(o)?{name:"",values:{}}:o},options:function(){return n.getOptions(e)}}}).result.then((function(t){C(e,t,(function(){t.skipConversion=!0,n.newConnector(e,t)}))}))},n.newConnector=function(e,t){r.open({templateUrl:"pages/createConnector.html",controller:"CreateConnectorCtrl",size:"lg",backdrop:"static",resolve:{connector:function(){return e},values:function(){return angular.isUndefined(t)?{name:"",values:{}}:t},options:function(){return n.getOptions(e)}}}).result.then((function(t){C(e,t,(function(){t.skipConversion=!0,n.newConnector(e,t)}))}))},n.repair=function(e,r){u.openSimpleModal({title:d.instant("externalsync.confirm.repair"),message:d.instant("externalsync.repair.warning.msg"),warning:!0}).result.then((function(){const i=y(r.value,e.name,!0),a=(s=e.name,"PREFIX prefix:<"+(u=r.value)+">\nINSERT DATA {\n\t<"+c(u)+s+'> prefix:repairConnector ""\n}');var s,u;f.addStatements(t.getActiveRepository(),o({update:a})).then((function(){g.getConnectors().then((function(){g.hasConnector(encodeURIComponent(r.value)).then((function(e){n.existing[r.key]=e.data}))})),l.success(d.instant("externalsync.repair.success.msg",{name:e.name}))}),(function(n){l.error(getError(n))})).finally((function(){i.dismiss("cancel")}))}))},n.delete=function(e,i){const a=i.key.indexOf("Elastic")>=0||i.key.indexOf("Solr")>=0;r.open({templateUrl:"js/angular/externalsync/templates/deleteConnector.html",controller:"DeleteConnectorCtrl",resolve:{popoverMsg:function(){return a?d.instant("delete.connector.conditional",{type:i.key}):""}}}).result.then((function(r){n.setLoader(!0,d.instant("externalsync.delete.progress.msg",{name:e.name}),d.instant("externalsync.extra.message.warning"));const c=function(n,e,t){const o=e.substring(0,e.length-1)+"/instance#";return"PREFIX prefix:<"+e+">\nINSERT DATA {\n\t<"+o+n+'> prefix:dropConnector "'+(t?"force":"")+'"\n}'}(e.name,i.value,r);f.addStatements(t.getActiveRepository(),o({update:c})).then((function(){g.getConnectors().then((function(){g.hasConnector(encodeURIComponent(i.value)).then((function(e){n.existing[i.key]=e.data}))})),r?(l.success(d.instant("externalsync.delete.force.success.msg",{name:e.name})),a&&l.warning(d.instant("externalsync.delete.remote.warning",{key:i.key}))):l.success(d.instant("externalsync.delete.success.msg",{name:e.name}))}),(function(n){l.error(getError(n))})).finally((function(){n.setLoader(!1)}))}))},n.viewQuery=function(e,t){r.open({templateUrl:"pages/viewQuery.html",controller:"ViewQueryCtrl",resolve:{query:function(){const o=n.getOptions(e);return s(t.name,e.value,i(t.values,o),o)}}})}}function u(n,e,t){n.force=!1,n.popoverMsg=t,n.ok=function(){e.close(n.force)},n.cancel=function(){e.dismiss()}}function p(n,e,t,o,r){function i(){return s(n.name,t.value,n.values,n.options,(function(n,e){r.error(e,n)}))}n.connector=t,n.addField=function(e,t){const o=angular.copy(n.defaultValues[t][0]);n.values[t].splice(e+1,0,o)},n.addOption=function(n,e){e.splice(n+1,0,"")},n.deleteOption=function(n,e){e.splice(n,1)},n.addMapOption=function(n,e){e.splice(n+1,0,{key:"",value:""})},n.deleteMapOption=function(n,e){e.splice(n,1)},n.ok=function(){if(n.form.$valid){const t=i();t&&e.close({name:n.name,values:n.values,options:n.options,query:t})}},n.viewQuery=function(){const n=i();n&&o.open({templateUrl:"pages/viewQuery.html",controller:"ViewQueryCtrl",resolve:{query:function(){return n}}})},n.cancel=function(){e.dismiss("cancel")}}function f(n,e,t,o,r,a,c,s){angular.extend(this,e("ExtendNewConnectorCtrl",{$scope:n,$uibModalInstance:o,connector:r,$uibModal:a})),n.values=c.values,n.options=s,n.name=c.name,c.skipConversion||(n.values=i(n.values,n.options)),n.defaultValues=angular.copy(n.values)}function g(n,e,t,o,r){function i(){const i=function(n){const e=n.replace(/\/instance#.+$/,"#connectorStatus");let t="";return t+="SELECT ?status {\n",t+="\t<"+n+"> <"+e+"> ?status",t+="\n}",t}(n.beingBuiltConnector.iri);n.beingBuiltConnector.iri=null,n.progressInterval=e((function(){(function(n){return a(t,o.getActiveRepository(),n)})(i).then((function(t){const o=function(n){if(n.bindings&&n.bindings.length>0)try{return JSON.parse(n.bindings[0].status.value)}catch(n){console.error(n)}return{}}(t.data.results);"BUILDING"===o.status?(n.beingBuiltConnector.status=o,n.beingBuiltConnector.percentDone=(100*o.processedEntities/o.estimatedEntities).toFixed(0),n.beingBuiltConnector.eta=n.getHumanReadableSeconds(o.etaSeconds),n.beingBuiltConnector.actionName=o.repair?r.instant("externalsync.repairing"):r.instant("externalsync.creating"),n.beingBuiltConnector.waitOnRepairStartOnce=!1):"BUILT"!==o.status||n.beingBuiltConnector.waitOnRepairStartOnce||(e.cancel(n.progressInterval),n.beingBuiltConnector.doneCallback&&n.beingBuiltConnector.doneCallback())}))}),1e3),n.$on("$destroy",(function(){e.cancel(n.progressInterval)}))}n.beingBuiltConnector=n.beingBuiltConnector||{},!n.beingBuiltConnector.inline&&n.beingBuiltConnector.iri&&i(),n.$watch("beingBuiltConnector.iri",(function(e){n.beingBuiltConnector.inline&&e&&i()}))}angular.module("graphdb.framework.externalsync.controllers",["graphdb.framework.rest.rdf4j.repositories.service","graphdb.framework.rest.connectors.service"]).controller("ConnectorsCtrl",l).controller("ExtendNewConnectorCtrl",p).controller("CreateConnectorCtrl",f).controller("CreateProgressCtrl",g).controller("DeleteConnectorCtrl",u).filter("ceil",(function(){return function(n){return Math.ceil(n)}})),l.$inject=["$scope","$http","$repositories","$uibModal","toastr","ModalService","$q","RDF4JRepositoriesRestService","ConnectorsRestService","$translate"],u.$inject=["$scope","$uibModalInstance","popoverMsg"],p.$inject=["$scope","$uibModalInstance","connector","$uibModal","toastr"],f.$inject=["$scope","$controller","$http","$uibModalInstance","connector","$uibModal","values","options"],g.$inject=["$scope","$interval","$http","$repositories","$translate"]}}]);
|
|
2
|
+
//# sourceMappingURL=38.c8620e7cbab859b6f236.bundle.js.map
|