graphdb-workbench 3.0.2-TR1 → 3.0.2
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/{18.b09e14d8a204a28fb95b.bundle.js → 18.b2d04af2d60cc37a5ebe.bundle.js} +1 -1
- package/dist/{190.431c135250df34322375.bundle.js → 190.4969eb91b83aaa7cd263.bundle.js} +1 -1
- package/dist/231.909faa919088245e9988.bundle.js +1 -1
- package/dist/{29.1f79f4caa66f63bd6611.bundle.js → 29.5ec5948f2e30819e6dc8.bundle.js} +1 -1
- package/dist/{30.2125e28509307f3a225f.bundle.js → 30.a60e3c2ac0de3b37e185.bundle.js} +1 -1
- package/dist/31.7452fe0f096c31a9a1f1.bundle.js +2 -0
- package/dist/{38.79bf8cac11760d2e69be.bundle.js → 38.8819c36a5204129f3dbc.bundle.js} +1 -1
- package/dist/{41.0d8779a7af2eb26cf157.bundle.js → 41.c6545eb0ce13e63738d2.bundle.js} +1 -1
- package/dist/410.b74d59055b7cf830abe5.bundle.js +1 -1
- package/dist/416.68f6286f80654cdbe4e4.bundle.js +1 -1
- package/dist/417.70adf0a6f0571c394764.bundle.js +1 -1
- package/dist/42.baaa159c3b1e81422600.bundle.js +1 -1
- package/dist/423.6edb13ec0cf08388c947.bundle.js +1 -1
- package/dist/424.725b821051516e73783a.bundle.js +1 -1
- package/dist/425.03fcf969da1a4e92fec3.bundle.js +1 -1
- package/dist/426.aa6924f6f1192d037009.bundle.js +1 -1
- package/dist/427.5c7b72141707b841e8a3.bundle.js +1 -1
- package/dist/428.0d471ce7c68654947c04.bundle.js +1 -1
- package/dist/{44.45a26f697588279fbc60.bundle.js → 44.ec337831549cfeaab224.bundle.js} +1 -1
- package/dist/443.969280af4067a22d1a8b.bundle.js +1 -1
- package/dist/444.a5971579184b091ed392.bundle.js +1 -1
- package/dist/445.2b20cb9e68a11879f6c4.bundle.js +1 -1
- package/dist/446.fe3cf3d6e288c8c4444b.bundle.js +1 -1
- package/dist/447.d1d078921f6f28e2fa38.bundle.js +1 -1
- package/dist/448.d6c9bed6d99b8b23619f.bundle.js +1 -1
- package/dist/468.8e259940c62a68ef3055.bundle.js +1 -1
- package/dist/{48.ba4cec793ef54b1611e5.bundle.js → 48.8726b8de8055297cec7c.bundle.js} +1 -1
- package/dist/480.379bf3b338e0a3224a1f.bundle.js +1 -1
- package/dist/481.0387239b174f787e70ea.bundle.js +1 -1
- package/dist/483.c81275cb05dd78ce389f.bundle.js +1 -1
- package/dist/484.25a82c267c3a705d2a65.bundle.js +1 -1
- package/dist/485.91cbfbfd37eccde375c9.bundle.js +1 -1
- package/dist/488.a69dcce23066c0dafdf7.bundle.js +1 -1
- package/dist/489.a976085b601cccf438d4.bundle.js +1 -1
- package/dist/49.ec8921fc54aaae50ca52.bundle.js +1 -1
- package/dist/490.d3e0f3e499b5a24f6808.bundle.js +1 -1
- package/dist/491.62c185868f9d99dd5713.bundle.js +1 -1
- package/dist/50.4886e820614f9dadb147.bundle.js +1 -0
- package/dist/{54.c54ba6791e3926ebb553.bundle.js → 54.f1ed20f259011ef082b2.bundle.js} +1 -1
- package/dist/76.fc1058890354a7ee6abe.bundle.js +1 -1
- package/dist/{bundle.6c88507cb6367ac80d16.bundle.js → bundle.fc37b3e514d7594f55be.bundle.js} +3 -3
- package/dist/css/rdf-class-hierarchy.css +1 -1
- package/dist/index.html +3 -3
- package/dist/js/angular/clustermanagement/templates/cluster-nodes-configuration.html +1 -1
- package/dist/js/angular/core/directives/autocomplete/templates/autocomplete.html +1 -1
- package/dist/js/angular/core/directives/dynamic-form/templates/dynamic-form.html +1 -1
- package/dist/js/angular/core/directives/operations-statuses-monitor/templates/operations-statuses-monitor.html +1 -1
- package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +1 -1
- package/dist/js/angular/core/directives/shuttle-multiselect/templates/shuttle-multiselect.html +1 -1
- package/dist/js/angular/core/directives/yasgui-component/templates/yasgui-component.html +1 -1
- package/dist/js/angular/core/templates/cookie-policy/cookie-consent.html +1 -1
- package/dist/js/angular/core/templates/cookie-policy/cookie-policy.html +1 -1
- package/dist/js/angular/graphql/templates/create-graphql-endpoint.html +2 -2
- package/dist/js/angular/graphql/templates/graphql-endpoint-management.html +1 -1
- package/dist/js/angular/graphql/templates/graphql-playground.html +1 -1
- package/dist/js/angular/graphql/templates/modal/endpoint-configuration-modal.html +1 -1
- package/dist/js/angular/graphql/templates/modal/endpoint-generation-failure-result-modal.html +1 -1
- package/dist/js/angular/graphql/templates/modal/import-endpoint-definition-modal.html +1 -1
- package/dist/js/angular/security/templates/user.html +2 -2
- package/dist/js/angular/ttyg/templates/agent-list.html +1 -1
- package/dist/js/angular/ttyg/templates/agent-select-menu.html +1 -1
- package/dist/js/angular/ttyg/templates/chat-item-detail.html +1 -1
- package/dist/js/angular/ttyg/templates/chat-list.html +1 -1
- package/dist/js/angular/ttyg/templates/chat-panel.html +1 -1
- package/dist/js/angular/ttyg/templates/modal/agent-instructions-explain-modal.html +1 -1
- package/dist/js/angular/ttyg/templates/modal/agent-settings-modal.html +2 -2
- package/dist/js/angular/ttyg/templates/no-agents-view.html +1 -1
- package/dist/js/angular/ttyg/templates/ttyg.html +1 -1
- package/dist/license-checker.json +2 -2
- package/dist/pages/aclmanagement.html +2 -2
- package/dist/pages/autocomplete.html +1 -1
- package/dist/pages/choose-repository-type.html +1 -1
- package/dist/pages/cluster-management/clusterInfo.html +3 -3
- package/dist/pages/create-index.html +1 -1
- package/dist/pages/dependencies.html +1 -1
- package/dist/pages/domainRangeInfo.html +2 -2
- package/dist/pages/edit.html +1 -1
- package/dist/pages/explore.html +1 -1
- package/dist/pages/export.html +1 -1
- package/dist/pages/find.html +1 -1
- package/dist/pages/graph-config/saveGraphConfig.html +8 -8
- package/dist/pages/graphs-visualizations.html +7 -7
- package/dist/pages/guides.html +1 -1
- package/dist/pages/import.html +2 -2
- package/dist/pages/jdbc-create.html +1 -1
- package/dist/pages/monitor/backup-and-restore.html +1 -1
- package/dist/pages/monitor/queries.html +1 -1
- package/dist/pages/monitor/resources.html +1 -1
- package/dist/pages/namespaces.html +2 -2
- package/dist/pages/plugins.html +1 -1
- package/dist/pages/rdfClassHierarchyInfo.html +9 -11
- package/dist/pages/rdfrank.html +2 -2
- package/dist/pages/repositories.html +1 -1
- package/dist/pages/repository.html +1 -1
- package/dist/pages/similarity-indexes.html +1 -1
- package/dist/pages/sparql-editor.html +1 -1
- package/dist/pages/sparql-template-create.html +1 -1
- package/dist/pages/ux-test1.html +2 -2
- package/dist/pages/webapi.html +2 -2
- package/dist/res/swagger5/index.html +12 -12
- package/package.json +1 -1
- package/dist/31.e0747ab3d38bd6efa832.bundle.js +0 -2
- package/dist/50.ee3ed147b2bc2382a0a2.bundle.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[488],{626:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/ttyg/agent-instructions-explain-modal.css?v=3.0.2
|
|
1
|
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[488],{626:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/ttyg/agent-instructions-explain-modal.css?v=3.0.2" rel="stylesheet"/>\n\n<div class="modal-header">\n <button type="button" class="close" ng-click="close()"></button>\n <h4 class="modal-title">{{\'ttyg.agent.instructions_explain_modal.title\' | translate}}</h4>\n</div>\n\n<div class="modal-body">\n <div class="instructions-explain">\n <div ng-repeat="instruction in agentInstructionsExplain" class="instruction" ng-class="{\'mb-2\': !$last}">\n <h5 class="instruction-title mb-0">\n <span\n uib-popover="{{\'ttyg.agent.instructions_explain_modal.instructions.\' + instruction.type + \'.description\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.instructions_explain_modal.instructions.\' + instruction.type + \'.label\' | translate}}</span>\n </h5>\n <h7 class="text-muted d-block">({{instruction.size}} characters)</h7>\n <pre class="instruction-content">{{instruction.content}}</pre>\n </div>\n </div>\n</div>\n\n<div class="modal-footer">\n <button type="button" class="btn btn-secondary" ng-click="onCloseAgentInstructionsExplainModal()">\n {{\'ttyg.agent.instructions_explain_modal.btn.close.label\' | translate}}\n </button>\n</div>\n';return __p}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[489],{627:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/ttyg/agent-settings-modal.css?v=3.0.2-TR1" rel="stylesheet"/>\n<link href="css/lib/ng-tags-input/ng-tags-input.min.css?v=3.0.2-TR1" rel="stylesheet"/>\n\n<div class="modal-header">\n <button type="button" class="close" ng-click="close()"></button>\n <h4 class="modal-title">{{(\n operation === AGENT_OPERATION.EDIT ? \'ttyg.agent.create_agent_modal.title.edit \'\n : operation === AGENT_OPERATION.CLONE ? \'ttyg.agent.create_agent_modal.title.clone\'\n : \'ttyg.agent.create_agent_modal.title.create\') | translate}}</h4>\n</div>\n\n<div class="modal-body">\n <form novalidate name="agentSettingsForm" id="agentSettingsForm" class="agent-settings-form" guide-selector="agent-form">\n <div class="form-group agent-name-label">\n <label for="name" uib-popover="{{\'ttyg.agent.create_agent_modal.form.agent_name.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.agent_name.label\'\n | translate}}</label>\n <input type="text" class="form-control" id="name" name="name" ng-model="agentFormModel.name"\n required autocomplete="off" guide-selector="agent-name"\n placeholder="{{\'ttyg.agent.create_agent_modal.form.agent_name.placeholder\' | translate}}">\n <div class="alert alert-danger"\n ng-if="agentSettingsForm.name.$touched && agentSettingsForm.name.$invalid">\n {{\'required.field\' | translate}}\n </div>\n </div>\n <div class="form-group repository-id">\n <label for="repositoryId"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.repository.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.repository.label\' |\n translate}}</label>\n <select class="form-control" id="repositoryId" name="repositoryId" ng-model="agentFormModel.repositoryId"\n required ng-change="onRepositoryChange()" guide-selector="repository-id"\n ng-options="repository.value as repository.label for repository in activeRepositoryList">\n </select>\n <div class="alert alert-danger"\n ng-if="agentSettingsForm.repositoryId.$touched && agentSettingsForm.repositoryId.$invalid">\n {{\'required.field\' | translate}}\n </div>\n </div>\n <div class="form-group extraction-methods-group">\n <label for="extractionMethods"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.extraction_method.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.extraction_method.label\' |\n translate}}</label>\n <div id="extractionMethods" name="extractionMethods"\n ng-model="agentFormModel.assistantExtractionMethods.extractionMethods"\n required class="accordion extraction-methods"\n ng-class="{\'has-error\': agentSettingsForm.extractionMethods.$touched && agentSettingsForm.extractionMethods.$invalid}">\n <div ng-repeat="extractionMethod in agentFormModel.assistantExtractionMethods.extractionMethods"\n class="extraction-method">\n <div id="{{extractionMethod.method + \'_method_heading\'}}" class="extraction-method-heading"\n ng-class="{\'selected\': extractionMethod.selected}" guide-selector="query-method-{{extractionMethod.method}}">\n <div class="mr-0 extraction-method-toggle">\n <input type="checkbox" id="{{extractionMethod.method + \'_checkbox\'}}" guide-selector="query-method-{{extractionMethod.method}}-input"\n name="{{extractionMethod.method}}" class="switch"\n ng-click="toggleExtractionMethod(extractionMethod, $event)"\n ng-model="extractionMethod.selected"/>\n <label for="{{extractionMethod.method + \'_checkbox\'}}"></label>\n </div>\n <a class="btn btn-link panel-toggle-link"\n aria-expanded="false" aria-controls="{{extractionMethod.method + \'_method_content\'}}"\n ng-click="onExtractionMethodPanelToggle(extractionMethod)">\n <span class="mr-1"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.\' + extractionMethod.method + \'.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.\' + extractionMethod.method + \'.label\' | translate}}</span>\n <i class="fa fa-chevron-down toggle-icon"\n ng-class="{\'expanded\': extractionMethod.expanded}">\n </i>\n </a>\n </div>\n\n <div id="{{extractionMethod.method + \'_method_content\'}}"\n class="show extraction-method-content"\n aria-labelledby="{{extractionMethod.method + \'_method_heading\'}}"\n data-parent="#extractionMethods">\n\n \x3c!-- SPARQL method settings --\x3e\n\n <div ng-if="extractionMethod.expanded && extractionMethod.method === extractionMethods.SPARQL"\n class="extraction-method-options"\n ng-class="{\'has-error\': extractionMethod.selected && !extractionMethod.sparqlOption}">\n <div class="sparql-option ontology-graph-option" guide-selector="sparql-ontology-graph-option">\n <label class="radio-inline"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.ontology_graph.tooltip\' | translate}}"\n popover-trigger="mouseenter">\n <input type="radio" name="sparqlOption" ng-required="extractionMethod.selected" guide-selector="sparql-ontology-graph-option-input"\n ng-model="extractionMethod.sparqlOption" value="ontologyGraph">\n {{\'ttyg.agent.create_agent_modal.form.ontology_graph.label\' | translate}}\n </label>\n <div class="panel" ng-show="extractionMethod.sparqlOption === \'ontologyGraph\'">\n <div class="form-group">\n <input type="text" class="form-control" id="ontologyGraph" guide-selector="sparql-ontology-graph-input"\n name="ontologyGraph"\n ng-required="extractionMethod.selected && extractionMethod.sparqlOption === \'ontologyGraph\'"\n ng-model="extractionMethod.ontologyGraph">\n </div>\n </div>\n </div>\n <div class="sparql-option sparql-query-option">\n <label class="radio-inline"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.construct_query.tooltip\' | translate}}"\n popover-trigger="mouseenter">\n <input type="radio" name="sparqlOption" ng-required="extractionMethod.selected"\n ng-model="extractionMethod.sparqlOption" value="sparqlQuery">\n {{\'ttyg.agent.create_agent_modal.form.construct_query.label\' | translate}}\n </label>\n <div class="panel" ng-show="extractionMethod.sparqlOption === \'sparqlQuery\'">\n <div class="form-group">\n <textarea type="text" class="form-control" id="sparqlQuery"\n name="sparqlQuery" rows="10"\n ng-required="extractionMethod.selected && extractionMethod.sparqlOption === \'sparqlQuery\'"\n ng-minlength="extractionMethod.sparqlQuery.minLength"\n ng-maxlength="extractionMethod.sparqlQuery.maxLength"\n ng-model="extractionMethod.sparqlQuery.value">\n </textarea>\n </div>\n </div>\n </div>\n <div class="alert alert-danger sparql-method-option-required-error mb-0"\n ng-if="extractionMethod.selected && !extractionMethod.sparqlOption">\n {{\'ttyg.agent.create_agent_modal.form.sparql_search.required_option\' | translate}}\n </div>\n <div class="add-missing-namespaces-option mt-1" guide-selector="add-missing-namespaces-option">\n <input id="addMissingNamespaces" name="addMissingNamespaces" type="checkbox" guide-selector="add-missing-namespaces"\n ng-model="extractionMethod.addMissingNamespaces">\n <label for="addMissingNamespaces"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.add_missing_namespaces.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\n \'ttyg.agent.create_agent_modal.form.add_missing_namespaces.label\' | translate\n }}</label>\n </div>\n </div>\n\n \x3c!-- FTS method settings --\x3e\n\n <div\n ng-if="extractionMethod.expanded && extractionMethod.method === extractionMethods.FTS_SEARCH"\n ng-class="{\'has-error\': agentSettingsForm.$error.FTSDisabled}"\n class="extraction-method-options">\n <button class="btn btn-link btn-sm pull-right"\n ng-click="checkIfFTSEnabled()"\n gdb-tooltip="{{\'ttyg.agent.create_agent_modal.form.fts_search.btn.reload.tooltip\' | translate}}">\n <i class="fa fa-arrows-rotate"></i>\n </button>\n <div class="alert alert-danger missing-repositoryid-error mb-0"\n ng-if="!agentFormModel.repositoryId">\n {{\'ttyg.agent.create_agent_modal.form.fts_search.missing_repository_id\' | translate}}\n </div>\n <div ng-if="!ftsEnabled && agentFormModel.repositoryId" class="fts-disabled-message"\n ng-bind-html="getFTSDisabledHelpMessage()">\n </div>\n <div class="form-group max-triples" ng-show="ftsEnabled && agentFormModel.repositoryId">\n <label for="{{extractionMethods.FTS_SEARCH + \'_maxNumberOfTriplesPerCall\'}}"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.fts_search_max_number_of_triples_per_call.tooltip\' | translate}}"\n popover-trigger="mouseenter">\n {{\'ttyg.agent.create_agent_modal.form.fts_search_max_number_of_triples_per_call.label\'\n |\n translate}}\n </label>\n <input type="number" class="form-control"\n id="{{extractionMethods.FTS_SEARCH + \'_maxNumberOfTriplesPerCall\'}}"\n name="maxNumberOfTriplesPerCall" min="0"\n ng-model="extractionMethod.maxNumberOfTriplesPerCall"\n placeholder="{{\'ttyg.agent.create_agent_modal.form.fts_search_max_number_of_triples_per_call.placeholder\' | translate}}">\n </div>\n </div>\n\n \x3c!-- Similarity method settings --\x3e\n\n <div\n ng-if="extractionMethod.expanded && extractionMethod.method === extractionMethods.SIMILARITY"\n ng-class="{\'has-error\': agentSettingsForm.$error.missingIndex}"\n class="extraction-method-options">\n <button class="btn btn-link btn-sm pull-right"\n ng-click="updateSimilaritySearchPanel()"\n ng-disabled="disabled"\n gdb-tooltip="{{\'ttyg.agent.create_agent_modal.form.similarity_index.btn.reload.tooltip\' | translate}}">\n <i class="fa fa-arrows-rotate"></i>\n </button>\n <div ng-if="!similarityIndexes.length" class="no-similarity-index-message">\n {{\'ttyg.agent.create_agent_modal.form.similarity_index.no_similarity_index.message_1\' |\n translate}}\n <a href="#" ng-click="goToCreateSimilarityView()">\n {{\'ttyg.agent.create_agent_modal.form.similarity_index.no_similarity_index.message_2\'\n | translate}}\n </a>\n {{\'ttyg.agent.create_agent_modal.form.similarity_index.no_similarity_index.message_3\' |\n translate}}.\n </div>\n <div ng-show="similarityIndexes.length">\n <div class="form-group similarity-index">\n <label for="similarityIndex"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.similarity_index.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.similarity_index.label\'\n | translate}}</label>\n <span ng-if="extractionMethodLoaderFlags.similarity_search" onto-loader-fancy\n size="16"></span>\n <select class="form-control" id="similarityIndex" name="similarityIndex" guide-selector="similarity-index-select"\n ng-required="extractionMethod.selected"\n ng-if="!extractionMethodLoaderFlags.similarity_search"\n ng-model="extractionMethod.similarityIndex"\n ng-options="similarityIndex.value as similarityIndex.label for similarityIndex in similarityIndexes">\n </select>\n <div class="alert alert-danger"\n ng-if="extractionMethod.similarityIndex.$touched && extractionMethod.similarityIndex.$invalid">\n {{\'required.field\' | translate}}\n </div>\n </div>\n <div class="form-group similarity-index-threshold">\n <label for="similarityIndexThreshold"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.similarity_threshold.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.similarity_threshold.label\'\n | translate}}</label>\n <input type="text" class="form-control" id="similarityIndexThreshold"\n name="similarityIndexThreshold" readonly\n ng-model="extractionMethod.similarityIndexThreshold.value">\n <input id="similarityIndexThresholdSlider" name="similarityIndexThreshold"\n type="range" ng-required="extractionMethod.selected"\n min="{{extractionMethod.similarityIndexThreshold.minValue}}"\n max="{{extractionMethod.similarityIndexThreshold.maxValue}}"\n step="0.1"\n ng-model="extractionMethod.similarityIndexThreshold.value"/>\n </div>\n <div class="form-group similarity-max-triples">\n <label for="{{extractionMethods.SIMILARITY + \'_maxNumberOfTriplesPerCall\'}}"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.similarity_search_max_number_of_triples_per_call.tooltip\' | translate}}"\n popover-trigger="mouseenter">\n {{\'ttyg.agent.create_agent_modal.form.similarity_search_max_number_of_triples_per_call.label\'\n | translate}}</label>\n <input type="number" class="form-control"\n id="{{extractionMethods.SIMILARITY + \'_maxNumberOfTriplesPerCall\'}}"\n name="maxNumberOfTriplesPerCall" min="0"\n ng-model="extractionMethod.maxNumberOfTriplesPerCall"\n placeholder="{{\'ttyg.agent.create_agent_modal.form.similarity_search_max_number_of_triples_per_call.placeholder\' | translate}}">\n </div>\n </div>\n </div>\n\n \x3c!-- Retrieval method settings --\x3e\n\n <div\n ng-if="extractionMethod.expanded && extractionMethod.method === extractionMethods.RETRIEVAL"\n ng-class="{\'has-error\': agentSettingsForm.$error.missingConnector}"\n class="extraction-method-options">\n <button class="btn btn-link btn-sm pull-right"\n ng-click="updateRetrievalConnectorPanel()"\n ng-disabled="disabled"\n gdb-tooltip="{{\'ttyg.agent.create_agent_modal.form.retrieval_search.btn.reload.tooltip\' | translate}}">\n <i class="fa fa-arrows-rotate"></i>\n </button>\n <div ng-if="!retrievalConnectors.length" class="no-retrieval-connector-message">\n {{\'ttyg.agent.create_agent_modal.form.retrieval_search.no_retrieval_connectors.message_1\'\n | translate}}\n <a href="#" ng-click="goToConnectorsView()">\n {{\'ttyg.agent.create_agent_modal.form.retrieval_search.no_retrieval_connectors.message_2\'\n | translate}}\n </a>\n {{\'ttyg.agent.create_agent_modal.form.retrieval_search.no_retrieval_connectors.message_3\'\n | translate}}.\n </div>\n <div ng-show="retrievalConnectors.length">\n <div class="form-group retrieval-connector">\n <label for="retrievalConnectorInstance"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.connector_id.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.connector_id.label\'\n | translate}}</label>\n <span ng-if="extractionMethodLoaderFlags.retrieval_search" onto-loader-fancy\n size="16"></span>\n <select class="form-control" id="retrievalConnectorInstance"\n name="retrievalConnectorInstance"\n ng-required="extractionMethod.selected"\n ng-if="!extractionMethodLoaderFlags.retrieval_search"\n ng-model="extractionMethod.retrievalConnectorInstance"\n ng-options="retrievalConnector.value as retrievalConnector.label for retrievalConnector in retrievalConnectors">\n </select>\n <div class="alert alert-danger"\n ng-if="extractionMethod.retrievalConnectorInstance.$touched && extractionMethod.retrievalConnectorInstance.$invalid">\n {{\'required.field\' | translate}}\n </div>\n </div>\n <div class="form-group query-template">\n <label for="queryTemplate"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.query_template.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.query_template.label\'\n |\n translate}}</label>\n <textarea type="text" class="form-control" id="queryTemplate" name="queryTemplate"\n rows="10" ng-required="extractionMethod.selected"\n ng-minlength="extractionMethod.queryTemplate.minLength"\n ng-maxlength="extractionMethod.queryTemplate.maxLength"\n ng-model="extractionMethod.queryTemplate.value">\n </textarea>\n <div class="alert alert-danger"\n ng-if="extractionMethod.name.$touched && extractionMethod.name.$invalid">\n {{\'required.field\' | translate}}\n </div>\n </div>\n <div class="form-group retrieval-connector-max-triples">\n <label for="{{extractionMethods.RETRIEVAL + \'_maxNumberOfTriplesPerCall\'}}"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.retrieval_search_max_number_of_triples_per_call.tooltip\' | translate}}"\n popover-trigger="mouseenter">\n {{\'ttyg.agent.create_agent_modal.form.retrieval_search_max_number_of_triples_per_call.label\'\n | translate}}</label>\n <input type="number" class="form-control"\n id="{{extractionMethods.RETRIEVAL + \'_maxNumberOfTriplesPerCall\'}}"\n name="maxNumberOfTriplesPerCall" min="0"\n ng-model="extractionMethod.maxNumberOfTriplesPerCall"\n placeholder="{{\'ttyg.agent.create_agent_modal.form.retrieval_search_max_number_of_triples_per_call.placeholder\' | translate}}">\n </div>\n </div>\n </div>\n\n </div>\n </div>\n </div>\n <div class="alert alert-danger extraction-method-required-error"\n ng-if="agentSettingsForm.extractionMethods.$touched && agentSettingsForm.extractionMethods.$invalid">\n {{\'ttyg.agent.create_agent_modal.form.extraction_method.required\' | translate}}\n </div>\n </div>\n\n <div id="additionalExtractionMethods" class="form-group additional-extraction-methods">\n <label uib-popover="{{\'ttyg.agent.create_agent_modal.form.additional_query_methods.tooltip\' | translate}}"\n popover-trigger="mouseenter">\n {{\'ttyg.agent.create_agent_modal.form.additional_query_methods.label\' | translate}}\n </label>\n\n <div ng-repeat="extractionMethod in agentFormModel.additionalExtractionMethods.additionalExtractionMethods"\n class="additional-extraction-method">\n <div ng-if="ExtractionMethodTemplates[extractionMethod.method]">\n <div ng-include="\'js/angular/ttyg/templates/\' + ExtractionMethodTemplates[extractionMethod.method] + \'.html\'"></div>\n </div>\n </div>\n </div>\n\n\n <div class="form-row clearfix">\n <div class="form-group gpt-model col-md-4">\n <label for="model" uib-popover="{{\'ttyg.agent.create_agent_modal.form.model.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.model.label\' |\n translate}}</label>\n <input type="text" class="form-control" id="model" name="model" ng-model="agentFormModel.model" guide-selector="model"\n required autocomplete="off">\n <small id="modelHelp" class="form-text text-muted"\n ng-bind-html="getModelHelpMessage()">\n </small>\n <div class="alert alert-danger"\n ng-if="agentSettingsForm.model.$touched && agentSettingsForm.model.$invalid">\n {{\'required.field\' | translate}}\n </div>\n </div>\n <div class="form-group temperature col-md-4">\n <label for="temperature">\n <span uib-popover="{{\'ttyg.agent.create_agent_modal.form.temperature.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.temperature.label\' | translate}}</span>\n <i class="fa fa-triangle-exclamation text-warning high-temperature-warning"\n ng-if="showHighTemperatureWarning"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.temperature.high_temperature_warning\' | translate}}"\n popover-trigger="mouseenter"></i>\n </label>\n <input type="text" id="temperature" name="temperature" readonly\n class="form-control" ng-class="{\'has-warning\': showHighTemperatureWarning}"\n ng-model="agentFormModel.temperature.value">\n <input id="temperatureSlider" name="temperature" type="range"\n min="{{agentFormModel.temperature.minValue}}"\n max="{{agentFormModel.temperature.maxValue}}" step="{{agentFormModel.temperature.step}}"\n ng-change="onTemperatureChange()"\n ng-model="agentFormModel.temperature.value"/>\n </div>\n <div class="form-group top-p col-md-4">\n <label for="topP" uib-popover="{{\'ttyg.agent.create_agent_modal.form.top_p.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.top_p.label\' |\n translate}}</label>\n <input type="text" class="form-control" id="topP" name="topP" readonly\n ng-model="agentFormModel.topP.value">\n <input id="topPSlider" name="topP" type="range" min="{{agentFormModel.topP.minValue}}"\n max="{{agentFormModel.topP.maxValue}}" step="{{agentFormModel.topP.step}}"\n ng-model="agentFormModel.topP.value"/>\n </div>\n \x3c!-- Hidden for now because currently this property doesn\'t work in openai, but in the future it will --\x3e\n \x3c!-- <div class="form-group seed col-md-4 pr-0">--\x3e\n \x3c!-- <label for="seed">{{\'ttyg.agent.create_agent_modal.form.seed.label\' | translate}}</label>--\x3e\n \x3c!-- <input type="number" class="form-control" id="seed" name="seed" min="0" ng-model="agentFormModel.seed"--\x3e\n \x3c!-- placeholder="{{\'ttyg.agent.create_agent_modal.form.seed.hint\' | translate}}">--\x3e\n \x3c!-- </div>--\x3e\n </div>\n\n <div class="form-group user-instructions">\n <div class="toolbar">\n <label for="userInstruction"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.user_instruction.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.user_instruction.label\' |\n translate}}</label>\n <div class="actions">\n <copy-to-clipboard\n tooltip-text="ttyg.agent.create_agent_modal.form.user_instruction.btn.copy_instruction.tooltip"\n text-to-copy="{{agentFormModel.instructions.userInstruction}}"></copy-to-clipboard>\n <button class="btn btn-link btn-sm create-chat-btn"\n ng-click="onRestoreDefaultUserInstructions()"\n gdb-tooltip="{{\'ttyg.agent.create_agent_modal.form.user_instruction.btn.restore_default.tooltip\' | translate}}">\n <i class="fa fa-arrow-rotate-left"></i>\n </button>\n </div>\n </div>\n <textarea type="text" class="form-control" id="userInstruction" name="userInstruction" rows="5" guide-selector="user-instructions"\n ng-model="agentFormModel.instructions.userInstruction"\n placeholder="{{\'ttyg.agent.create_agent_modal.form.user_instruction.placeholder\' | translate}}">\n </textarea>\n </div>\n\n <div class="text-xs-center">\n <button type="button" ng-click="showAdvancedSettings = !showAdvancedSettings"\n class="btn btn-link btn-sm toggle-advanced-settings">\n <span ng-hide="showAdvancedSettings">{{\'ttyg.agent.create_agent_modal.advanced_settings.show\' | translate}}<em\n class="icon-caret-down"></em></span>\n <span ng-show="showAdvancedSettings">{{\'ttyg.agent.create_agent_modal.advanced_settings.hide\' | translate}}<em\n class="icon-caret-up"></em></span>\n </button>\n </div>\n\n <div ng-show="showAdvancedSettings" class="advanced-settings">\n <div class="form-group system-instructions">\n <div class="toolbar">\n <label for="systemInstruction">\n <span\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.system_instruction.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.system_instruction.label\' | translate}}</span>\n <i class="fa fa-triangle-exclamation text-warning overriding-system-instructions-warning"\n ng-if="showSystemInstructionWarning"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.system_instruction.overriding_system_instruction_warning.body\' | translate}}"\n popover-trigger="mouseenter"></i>\n </label>\n <div class="actions">\n <copy-to-clipboard\n tooltip-text="ttyg.agent.create_agent_modal.form.system_instruction.btn.copy_instruction.tooltip"\n text-to-copy="{{agentFormModel.instructions.systemInstruction}}"></copy-to-clipboard>\n <button class="btn btn-link btn-sm create-chat-btn"\n ng-click="onRestoreDefaultSystemInstructions()"\n gdb-tooltip="{{\'ttyg.agent.create_agent_modal.form.system_instruction.btn.restore_default.tooltip\' | translate}}">\n <i class="fa fa-arrow-rotate-left"></i>\n </button>\n </div>\n </div>\n <textarea type="text" class="form-control" id="systemInstruction" name="systemInstruction" rows="5"\n placeholder="{{\'ttyg.agent.create_agent_modal.form.system_instruction.placeholder\' | translate}}"\n ng-class="{\'has-warning\': showSystemInstructionWarning}"\n ng-model="agentFormModel.instructions.systemInstruction"\n ng-change="onSystemInstructionChange()">\n </textarea>\n </div>\n </div>\n </form>\n</div>\n\n<div class="modal-footer">\n <button type="button" ng-click="onExplainAgentSettings()" class="btn explain-agent-settings-btn">\n {{\'ttyg.agent.create_agent_modal.btn.explain_settings.label\' | translate}}\n </button>\n <div>\n <button type="button" ng-click="cancel()" class="btn cancel-btn">\n {{\'ttyg.agent.create_agent_modal.btn.cancel.label\' | translate}}\n </button>\n <button type="button" ng-click="ok()" ng-disabled="agentSettingsForm.$invalid || savingAgent" guide-selector="save-agent-settings"\n class="btn btn-primary save-agent-settings-btn">\n <span>{{(operation === AGENT_OPERATION.EDIT ? \'ttyg.agent.create_agent_modal.btn.save.label\'\n : operation === AGENT_OPERATION.CLONE ? \'ttyg.agent.create_agent_modal.btn.save.label\'\n : \'ttyg.agent.create_agent_modal.btn.create.label\') | translate}}</span>\n <span class="saving-agent-loader" ng-if="savingAgent" onto-loader-fancy hide-message="true"\n size="15"></span>\n </button>\n </div>\n</div>\n';return __p}}}]);
|
|
1
|
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[489],{627:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/ttyg/agent-settings-modal.css?v=3.0.2" rel="stylesheet"/>\n<link href="css/lib/ng-tags-input/ng-tags-input.min.css?v=3.0.2" rel="stylesheet"/>\n\n<div class="modal-header">\n <button type="button" class="close" ng-click="close()"></button>\n <h4 class="modal-title">{{(\n operation === AGENT_OPERATION.EDIT ? \'ttyg.agent.create_agent_modal.title.edit \'\n : operation === AGENT_OPERATION.CLONE ? \'ttyg.agent.create_agent_modal.title.clone\'\n : \'ttyg.agent.create_agent_modal.title.create\') | translate}}</h4>\n</div>\n\n<div class="modal-body">\n <form novalidate name="agentSettingsForm" id="agentSettingsForm" class="agent-settings-form" guide-selector="agent-form">\n <div class="form-group agent-name-label">\n <label for="name" uib-popover="{{\'ttyg.agent.create_agent_modal.form.agent_name.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.agent_name.label\'\n | translate}}</label>\n <input type="text" class="form-control" id="name" name="name" ng-model="agentFormModel.name"\n required autocomplete="off" guide-selector="agent-name"\n placeholder="{{\'ttyg.agent.create_agent_modal.form.agent_name.placeholder\' | translate}}">\n <div class="alert alert-danger"\n ng-if="agentSettingsForm.name.$touched && agentSettingsForm.name.$invalid">\n {{\'required.field\' | translate}}\n </div>\n </div>\n <div class="form-group repository-id">\n <label for="repositoryId"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.repository.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.repository.label\' |\n translate}}</label>\n <select class="form-control" id="repositoryId" name="repositoryId" ng-model="agentFormModel.repositoryId"\n required ng-change="onRepositoryChange()" guide-selector="repository-id"\n ng-options="repository.value as repository.label for repository in activeRepositoryList">\n </select>\n <div class="alert alert-danger"\n ng-if="agentSettingsForm.repositoryId.$touched && agentSettingsForm.repositoryId.$invalid">\n {{\'required.field\' | translate}}\n </div>\n </div>\n <div class="form-group extraction-methods-group">\n <label for="extractionMethods"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.extraction_method.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.extraction_method.label\' |\n translate}}</label>\n <div id="extractionMethods" name="extractionMethods"\n ng-model="agentFormModel.assistantExtractionMethods.extractionMethods"\n required class="accordion extraction-methods"\n ng-class="{\'has-error\': agentSettingsForm.extractionMethods.$touched && agentSettingsForm.extractionMethods.$invalid}">\n <div ng-repeat="extractionMethod in agentFormModel.assistantExtractionMethods.extractionMethods"\n class="extraction-method">\n <div id="{{extractionMethod.method + \'_method_heading\'}}" class="extraction-method-heading"\n ng-class="{\'selected\': extractionMethod.selected}" guide-selector="query-method-{{extractionMethod.method}}">\n <div class="mr-0 extraction-method-toggle">\n <input type="checkbox" id="{{extractionMethod.method + \'_checkbox\'}}" guide-selector="query-method-{{extractionMethod.method}}-input"\n name="{{extractionMethod.method}}" class="switch"\n ng-click="toggleExtractionMethod(extractionMethod, $event)"\n ng-model="extractionMethod.selected"/>\n <label for="{{extractionMethod.method + \'_checkbox\'}}"></label>\n </div>\n <a class="btn btn-link panel-toggle-link"\n aria-expanded="false" aria-controls="{{extractionMethod.method + \'_method_content\'}}"\n ng-click="onExtractionMethodPanelToggle(extractionMethod)">\n <span class="mr-1"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.\' + extractionMethod.method + \'.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.\' + extractionMethod.method + \'.label\' | translate}}</span>\n <i class="fa fa-chevron-down toggle-icon"\n ng-class="{\'expanded\': extractionMethod.expanded}">\n </i>\n </a>\n </div>\n\n <div id="{{extractionMethod.method + \'_method_content\'}}"\n class="show extraction-method-content"\n aria-labelledby="{{extractionMethod.method + \'_method_heading\'}}"\n data-parent="#extractionMethods">\n\n \x3c!-- SPARQL method settings --\x3e\n\n <div ng-if="extractionMethod.expanded && extractionMethod.method === extractionMethods.SPARQL"\n class="extraction-method-options"\n ng-class="{\'has-error\': extractionMethod.selected && !extractionMethod.sparqlOption}">\n <div class="sparql-option ontology-graph-option" guide-selector="sparql-ontology-graph-option">\n <label class="radio-inline"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.ontology_graph.tooltip\' | translate}}"\n popover-trigger="mouseenter">\n <input type="radio" name="sparqlOption" ng-required="extractionMethod.selected" guide-selector="sparql-ontology-graph-option-input"\n ng-model="extractionMethod.sparqlOption" value="ontologyGraph">\n {{\'ttyg.agent.create_agent_modal.form.ontology_graph.label\' | translate}}\n </label>\n <div class="panel" ng-show="extractionMethod.sparqlOption === \'ontologyGraph\'">\n <div class="form-group">\n <input type="text" class="form-control" id="ontologyGraph" guide-selector="sparql-ontology-graph-input"\n name="ontologyGraph"\n ng-required="extractionMethod.selected && extractionMethod.sparqlOption === \'ontologyGraph\'"\n ng-model="extractionMethod.ontologyGraph">\n </div>\n </div>\n </div>\n <div class="sparql-option sparql-query-option">\n <label class="radio-inline"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.construct_query.tooltip\' | translate}}"\n popover-trigger="mouseenter">\n <input type="radio" name="sparqlOption" ng-required="extractionMethod.selected"\n ng-model="extractionMethod.sparqlOption" value="sparqlQuery">\n {{\'ttyg.agent.create_agent_modal.form.construct_query.label\' | translate}}\n </label>\n <div class="panel" ng-show="extractionMethod.sparqlOption === \'sparqlQuery\'">\n <div class="form-group">\n <textarea type="text" class="form-control" id="sparqlQuery"\n name="sparqlQuery" rows="10"\n ng-required="extractionMethod.selected && extractionMethod.sparqlOption === \'sparqlQuery\'"\n ng-minlength="extractionMethod.sparqlQuery.minLength"\n ng-maxlength="extractionMethod.sparqlQuery.maxLength"\n ng-model="extractionMethod.sparqlQuery.value">\n </textarea>\n </div>\n </div>\n </div>\n <div class="alert alert-danger sparql-method-option-required-error mb-0"\n ng-if="extractionMethod.selected && !extractionMethod.sparqlOption">\n {{\'ttyg.agent.create_agent_modal.form.sparql_search.required_option\' | translate}}\n </div>\n <div class="add-missing-namespaces-option mt-1" guide-selector="add-missing-namespaces-option">\n <input id="addMissingNamespaces" name="addMissingNamespaces" type="checkbox" guide-selector="add-missing-namespaces"\n ng-model="extractionMethod.addMissingNamespaces">\n <label for="addMissingNamespaces"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.add_missing_namespaces.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\n \'ttyg.agent.create_agent_modal.form.add_missing_namespaces.label\' | translate\n }}</label>\n </div>\n </div>\n\n \x3c!-- FTS method settings --\x3e\n\n <div\n ng-if="extractionMethod.expanded && extractionMethod.method === extractionMethods.FTS_SEARCH"\n ng-class="{\'has-error\': agentSettingsForm.$error.FTSDisabled}"\n class="extraction-method-options">\n <button class="btn btn-link btn-sm pull-right"\n ng-click="checkIfFTSEnabled()"\n gdb-tooltip="{{\'ttyg.agent.create_agent_modal.form.fts_search.btn.reload.tooltip\' | translate}}">\n <i class="fa fa-arrows-rotate"></i>\n </button>\n <div class="alert alert-danger missing-repositoryid-error mb-0"\n ng-if="!agentFormModel.repositoryId">\n {{\'ttyg.agent.create_agent_modal.form.fts_search.missing_repository_id\' | translate}}\n </div>\n <div ng-if="!ftsEnabled && agentFormModel.repositoryId" class="fts-disabled-message"\n ng-bind-html="getFTSDisabledHelpMessage()">\n </div>\n <div class="form-group max-triples" ng-show="ftsEnabled && agentFormModel.repositoryId">\n <label for="{{extractionMethods.FTS_SEARCH + \'_maxNumberOfTriplesPerCall\'}}"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.fts_search_max_number_of_triples_per_call.tooltip\' | translate}}"\n popover-trigger="mouseenter">\n {{\'ttyg.agent.create_agent_modal.form.fts_search_max_number_of_triples_per_call.label\'\n |\n translate}}\n </label>\n <input type="number" class="form-control"\n id="{{extractionMethods.FTS_SEARCH + \'_maxNumberOfTriplesPerCall\'}}"\n name="maxNumberOfTriplesPerCall" min="0"\n ng-model="extractionMethod.maxNumberOfTriplesPerCall"\n placeholder="{{\'ttyg.agent.create_agent_modal.form.fts_search_max_number_of_triples_per_call.placeholder\' | translate}}">\n </div>\n </div>\n\n \x3c!-- Similarity method settings --\x3e\n\n <div\n ng-if="extractionMethod.expanded && extractionMethod.method === extractionMethods.SIMILARITY"\n ng-class="{\'has-error\': agentSettingsForm.$error.missingIndex}"\n class="extraction-method-options">\n <button class="btn btn-link btn-sm pull-right"\n ng-click="updateSimilaritySearchPanel()"\n ng-disabled="disabled"\n gdb-tooltip="{{\'ttyg.agent.create_agent_modal.form.similarity_index.btn.reload.tooltip\' | translate}}">\n <i class="fa fa-arrows-rotate"></i>\n </button>\n <div ng-if="!similarityIndexes.length" class="no-similarity-index-message">\n {{\'ttyg.agent.create_agent_modal.form.similarity_index.no_similarity_index.message_1\' |\n translate}}\n <a href="#" ng-click="goToCreateSimilarityView()">\n {{\'ttyg.agent.create_agent_modal.form.similarity_index.no_similarity_index.message_2\'\n | translate}}\n </a>\n {{\'ttyg.agent.create_agent_modal.form.similarity_index.no_similarity_index.message_3\' |\n translate}}.\n </div>\n <div ng-show="similarityIndexes.length">\n <div class="form-group similarity-index">\n <label for="similarityIndex"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.similarity_index.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.similarity_index.label\'\n | translate}}</label>\n <span ng-if="extractionMethodLoaderFlags.similarity_search" onto-loader-fancy\n size="16"></span>\n <select class="form-control" id="similarityIndex" name="similarityIndex" guide-selector="similarity-index-select"\n ng-required="extractionMethod.selected"\n ng-if="!extractionMethodLoaderFlags.similarity_search"\n ng-model="extractionMethod.similarityIndex"\n ng-options="similarityIndex.value as similarityIndex.label for similarityIndex in similarityIndexes">\n </select>\n <div class="alert alert-danger"\n ng-if="extractionMethod.similarityIndex.$touched && extractionMethod.similarityIndex.$invalid">\n {{\'required.field\' | translate}}\n </div>\n </div>\n <div class="form-group similarity-index-threshold">\n <label for="similarityIndexThreshold"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.similarity_threshold.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.similarity_threshold.label\'\n | translate}}</label>\n <input type="text" class="form-control" id="similarityIndexThreshold"\n name="similarityIndexThreshold" readonly\n ng-model="extractionMethod.similarityIndexThreshold.value">\n <input id="similarityIndexThresholdSlider" name="similarityIndexThreshold"\n type="range" ng-required="extractionMethod.selected"\n min="{{extractionMethod.similarityIndexThreshold.minValue}}"\n max="{{extractionMethod.similarityIndexThreshold.maxValue}}"\n step="0.1"\n ng-model="extractionMethod.similarityIndexThreshold.value"/>\n </div>\n <div class="form-group similarity-max-triples">\n <label for="{{extractionMethods.SIMILARITY + \'_maxNumberOfTriplesPerCall\'}}"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.similarity_search_max_number_of_triples_per_call.tooltip\' | translate}}"\n popover-trigger="mouseenter">\n {{\'ttyg.agent.create_agent_modal.form.similarity_search_max_number_of_triples_per_call.label\'\n | translate}}</label>\n <input type="number" class="form-control"\n id="{{extractionMethods.SIMILARITY + \'_maxNumberOfTriplesPerCall\'}}"\n name="maxNumberOfTriplesPerCall" min="0"\n ng-model="extractionMethod.maxNumberOfTriplesPerCall"\n placeholder="{{\'ttyg.agent.create_agent_modal.form.similarity_search_max_number_of_triples_per_call.placeholder\' | translate}}">\n </div>\n </div>\n </div>\n\n \x3c!-- Retrieval method settings --\x3e\n\n <div\n ng-if="extractionMethod.expanded && extractionMethod.method === extractionMethods.RETRIEVAL"\n ng-class="{\'has-error\': agentSettingsForm.$error.missingConnector}"\n class="extraction-method-options">\n <button class="btn btn-link btn-sm pull-right"\n ng-click="updateRetrievalConnectorPanel()"\n ng-disabled="disabled"\n gdb-tooltip="{{\'ttyg.agent.create_agent_modal.form.retrieval_search.btn.reload.tooltip\' | translate}}">\n <i class="fa fa-arrows-rotate"></i>\n </button>\n <div ng-if="!retrievalConnectors.length" class="no-retrieval-connector-message">\n {{\'ttyg.agent.create_agent_modal.form.retrieval_search.no_retrieval_connectors.message_1\'\n | translate}}\n <a href="#" ng-click="goToConnectorsView()">\n {{\'ttyg.agent.create_agent_modal.form.retrieval_search.no_retrieval_connectors.message_2\'\n | translate}}\n </a>\n {{\'ttyg.agent.create_agent_modal.form.retrieval_search.no_retrieval_connectors.message_3\'\n | translate}}.\n </div>\n <div ng-show="retrievalConnectors.length">\n <div class="form-group retrieval-connector">\n <label for="retrievalConnectorInstance"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.connector_id.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.connector_id.label\'\n | translate}}</label>\n <span ng-if="extractionMethodLoaderFlags.retrieval_search" onto-loader-fancy\n size="16"></span>\n <select class="form-control" id="retrievalConnectorInstance"\n name="retrievalConnectorInstance"\n ng-required="extractionMethod.selected"\n ng-if="!extractionMethodLoaderFlags.retrieval_search"\n ng-model="extractionMethod.retrievalConnectorInstance"\n ng-options="retrievalConnector.value as retrievalConnector.label for retrievalConnector in retrievalConnectors">\n </select>\n <div class="alert alert-danger"\n ng-if="extractionMethod.retrievalConnectorInstance.$touched && extractionMethod.retrievalConnectorInstance.$invalid">\n {{\'required.field\' | translate}}\n </div>\n </div>\n <div class="form-group query-template">\n <label for="queryTemplate"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.query_template.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.query_template.label\'\n |\n translate}}</label>\n <textarea type="text" class="form-control" id="queryTemplate" name="queryTemplate"\n rows="10" ng-required="extractionMethod.selected"\n ng-minlength="extractionMethod.queryTemplate.minLength"\n ng-maxlength="extractionMethod.queryTemplate.maxLength"\n ng-model="extractionMethod.queryTemplate.value">\n </textarea>\n <div class="alert alert-danger"\n ng-if="extractionMethod.name.$touched && extractionMethod.name.$invalid">\n {{\'required.field\' | translate}}\n </div>\n </div>\n <div class="form-group retrieval-connector-max-triples">\n <label for="{{extractionMethods.RETRIEVAL + \'_maxNumberOfTriplesPerCall\'}}"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.retrieval_search_max_number_of_triples_per_call.tooltip\' | translate}}"\n popover-trigger="mouseenter">\n {{\'ttyg.agent.create_agent_modal.form.retrieval_search_max_number_of_triples_per_call.label\'\n | translate}}</label>\n <input type="number" class="form-control"\n id="{{extractionMethods.RETRIEVAL + \'_maxNumberOfTriplesPerCall\'}}"\n name="maxNumberOfTriplesPerCall" min="0"\n ng-model="extractionMethod.maxNumberOfTriplesPerCall"\n placeholder="{{\'ttyg.agent.create_agent_modal.form.retrieval_search_max_number_of_triples_per_call.placeholder\' | translate}}">\n </div>\n </div>\n </div>\n\n </div>\n </div>\n </div>\n <div class="alert alert-danger extraction-method-required-error"\n ng-if="agentSettingsForm.extractionMethods.$touched && agentSettingsForm.extractionMethods.$invalid">\n {{\'ttyg.agent.create_agent_modal.form.extraction_method.required\' | translate}}\n </div>\n </div>\n\n <div id="additionalExtractionMethods" class="form-group additional-extraction-methods">\n <label uib-popover="{{\'ttyg.agent.create_agent_modal.form.additional_query_methods.tooltip\' | translate}}"\n popover-trigger="mouseenter">\n {{\'ttyg.agent.create_agent_modal.form.additional_query_methods.label\' | translate}}\n </label>\n\n <div ng-repeat="extractionMethod in agentFormModel.additionalExtractionMethods.additionalExtractionMethods"\n class="additional-extraction-method">\n <div ng-if="ExtractionMethodTemplates[extractionMethod.method]">\n <div ng-include="\'js/angular/ttyg/templates/\' + ExtractionMethodTemplates[extractionMethod.method] + \'.html\'"></div>\n </div>\n </div>\n </div>\n\n\n <div class="form-row clearfix">\n <div class="form-group gpt-model col-md-4">\n <label for="model" uib-popover="{{\'ttyg.agent.create_agent_modal.form.model.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.model.label\' |\n translate}}</label>\n <input type="text" class="form-control" id="model" name="model" ng-model="agentFormModel.model" guide-selector="model"\n required autocomplete="off">\n <small id="modelHelp" class="form-text text-muted"\n ng-bind-html="getModelHelpMessage()">\n </small>\n <div class="alert alert-danger"\n ng-if="agentSettingsForm.model.$touched && agentSettingsForm.model.$invalid">\n {{\'required.field\' | translate}}\n </div>\n </div>\n <div class="form-group temperature col-md-4">\n <label for="temperature">\n <span uib-popover="{{\'ttyg.agent.create_agent_modal.form.temperature.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.temperature.label\' | translate}}</span>\n <i class="fa fa-triangle-exclamation text-warning high-temperature-warning"\n ng-if="showHighTemperatureWarning"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.temperature.high_temperature_warning\' | translate}}"\n popover-trigger="mouseenter"></i>\n </label>\n <input type="text" id="temperature" name="temperature" readonly\n class="form-control" ng-class="{\'has-warning\': showHighTemperatureWarning}"\n ng-model="agentFormModel.temperature.value">\n <input id="temperatureSlider" name="temperature" type="range"\n min="{{agentFormModel.temperature.minValue}}"\n max="{{agentFormModel.temperature.maxValue}}" step="{{agentFormModel.temperature.step}}"\n ng-change="onTemperatureChange()"\n ng-model="agentFormModel.temperature.value"/>\n </div>\n <div class="form-group top-p col-md-4">\n <label for="topP" uib-popover="{{\'ttyg.agent.create_agent_modal.form.top_p.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.top_p.label\' |\n translate}}</label>\n <input type="text" class="form-control" id="topP" name="topP" readonly\n ng-model="agentFormModel.topP.value">\n <input id="topPSlider" name="topP" type="range" min="{{agentFormModel.topP.minValue}}"\n max="{{agentFormModel.topP.maxValue}}" step="{{agentFormModel.topP.step}}"\n ng-model="agentFormModel.topP.value"/>\n </div>\n \x3c!-- Hidden for now because currently this property doesn\'t work in openai, but in the future it will --\x3e\n \x3c!-- <div class="form-group seed col-md-4 pr-0">--\x3e\n \x3c!-- <label for="seed">{{\'ttyg.agent.create_agent_modal.form.seed.label\' | translate}}</label>--\x3e\n \x3c!-- <input type="number" class="form-control" id="seed" name="seed" min="0" ng-model="agentFormModel.seed"--\x3e\n \x3c!-- placeholder="{{\'ttyg.agent.create_agent_modal.form.seed.hint\' | translate}}">--\x3e\n \x3c!-- </div>--\x3e\n </div>\n\n <div class="form-group user-instructions">\n <div class="toolbar">\n <label for="userInstruction"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.user_instruction.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.user_instruction.label\' |\n translate}}</label>\n <div class="actions">\n <copy-to-clipboard\n tooltip-text="ttyg.agent.create_agent_modal.form.user_instruction.btn.copy_instruction.tooltip"\n text-to-copy="{{agentFormModel.instructions.userInstruction}}"></copy-to-clipboard>\n <button class="btn btn-link btn-sm create-chat-btn"\n ng-click="onRestoreDefaultUserInstructions()"\n gdb-tooltip="{{\'ttyg.agent.create_agent_modal.form.user_instruction.btn.restore_default.tooltip\' | translate}}">\n <i class="fa fa-arrow-rotate-left"></i>\n </button>\n </div>\n </div>\n <textarea type="text" class="form-control" id="userInstruction" name="userInstruction" rows="5" guide-selector="user-instructions"\n ng-model="agentFormModel.instructions.userInstruction"\n placeholder="{{\'ttyg.agent.create_agent_modal.form.user_instruction.placeholder\' | translate}}">\n </textarea>\n </div>\n\n <div class="text-xs-center">\n <button type="button" ng-click="showAdvancedSettings = !showAdvancedSettings"\n class="btn btn-link btn-sm toggle-advanced-settings">\n <span ng-hide="showAdvancedSettings">{{\'ttyg.agent.create_agent_modal.advanced_settings.show\' | translate}}<em\n class="icon-caret-down"></em></span>\n <span ng-show="showAdvancedSettings">{{\'ttyg.agent.create_agent_modal.advanced_settings.hide\' | translate}}<em\n class="icon-caret-up"></em></span>\n </button>\n </div>\n\n <div ng-show="showAdvancedSettings" class="advanced-settings">\n <div class="form-group system-instructions">\n <div class="toolbar">\n <label for="systemInstruction">\n <span\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.system_instruction.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.system_instruction.label\' | translate}}</span>\n <i class="fa fa-triangle-exclamation text-warning overriding-system-instructions-warning"\n ng-if="showSystemInstructionWarning"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.system_instruction.overriding_system_instruction_warning.body\' | translate}}"\n popover-trigger="mouseenter"></i>\n </label>\n <div class="actions">\n <copy-to-clipboard\n tooltip-text="ttyg.agent.create_agent_modal.form.system_instruction.btn.copy_instruction.tooltip"\n text-to-copy="{{agentFormModel.instructions.systemInstruction}}"></copy-to-clipboard>\n <button class="btn btn-link btn-sm create-chat-btn"\n ng-click="onRestoreDefaultSystemInstructions()"\n gdb-tooltip="{{\'ttyg.agent.create_agent_modal.form.system_instruction.btn.restore_default.tooltip\' | translate}}">\n <i class="fa fa-arrow-rotate-left"></i>\n </button>\n </div>\n </div>\n <textarea type="text" class="form-control" id="systemInstruction" name="systemInstruction" rows="5"\n placeholder="{{\'ttyg.agent.create_agent_modal.form.system_instruction.placeholder\' | translate}}"\n ng-class="{\'has-warning\': showSystemInstructionWarning}"\n ng-model="agentFormModel.instructions.systemInstruction"\n ng-change="onSystemInstructionChange()">\n </textarea>\n </div>\n </div>\n </form>\n</div>\n\n<div class="modal-footer">\n <button type="button" ng-click="onExplainAgentSettings()" class="btn explain-agent-settings-btn">\n {{\'ttyg.agent.create_agent_modal.btn.explain_settings.label\' | translate}}\n </button>\n <div>\n <button type="button" ng-click="cancel()" class="btn cancel-btn">\n {{\'ttyg.agent.create_agent_modal.btn.cancel.label\' | translate}}\n </button>\n <button type="button" ng-click="ok()" ng-disabled="agentSettingsForm.$invalid || savingAgent" guide-selector="save-agent-settings"\n class="btn btn-primary save-agent-settings-btn">\n <span>{{(operation === AGENT_OPERATION.EDIT ? \'ttyg.agent.create_agent_modal.btn.save.label\'\n : operation === AGENT_OPERATION.CLONE ? \'ttyg.agent.create_agent_modal.btn.save.label\'\n : \'ttyg.agent.create_agent_modal.btn.create.label\') | translate}}</span>\n <span class="saving-agent-loader" ng-if="savingAgent" onto-loader-fancy hide-message="true"\n size="15"></span>\n </button>\n </div>\n</div>\n';return __p}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[49,348,391],{120:function(e,t,n){"use strict";n.r(t),n.d(t,"removeSpecialChars",(function(){return i})),n.d(t,"toBoolean",(function(){return o})),n.d(t,"toTitleCase",(function(){return a}));var r=n(24),i=function(e){return e.replace(/[()']/g,"")},o=function(e){return"string"==typeof e?"true"===e:Boolean(e)},a=function(e){return e?Object(r.upperFirst)(e.toLowerCase()):e}},160:function(e,t,n){"use strict";n.r(t),n.d(t,"STATIC_RULESETS",(function(){return r})),n.d(t,"REPOSITORY_TYPES",(function(){return i})),n.d(t,"FILENAME_PATTERN",(function(){return o})),n.d(t,"NUMBER_PATTERN",(function(){return a}));var r=[{id:"empty",name:"No inference"},{id:"rdfs-optimized",name:"RDFS (Optimized)"},{id:"rdfs",name:"RDFS"},{id:"rdfsplus-optimized",name:"RDFS-Plus (Optimized)"},{id:"owl-horst-optimized",name:"OWL-Horst (Optimized)"},{id:"owl-horst",name:"OWL-Horst"},{id:"owl2-ql-optimized",name:"OWL2-QL (Optimized)"},{id:"owl2-ql",name:"OWL2-QL"},{id:"owl-max-optimized",name:"OWL-Max (Optimized)"},{id:"owl-max",name:"OWL-Max"},{id:"owl2-rl-optimized",name:"OWL2-RL (Optimized)"},{id:"owl2-rl",name:"OWL2-RL"}],i={graphdbRepo:"graphdb",free:"free",eeWorker:"worker",eeMaster:"master",ontop:"ontop",se:"se",fedx:"fedx"},o=new RegExp("^[a-zA-Z0-9-_]+$"),a=new RegExp("^[0-9]+$")},302:function(e,t,n){"use strict";n.r(t);n(10),n(29),n(60);var r=n(647),i=n(658),o=(n(15),n(160)),a=n(120),s=n(11),c=n(42);function l(e){return function(e){if(Array.isArray(e))return u(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||d(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(e,t){if(e){if("string"==typeof e)return u(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?u(e,t):void 0}}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function p(e){return(p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function f(e,t,n,u,f,h,g,m,y,v,x,S,I,w,k,b,L,C,T,N,A,P,M){e.languageChanged=!1,e.propertiesObj={},e.propertiesObj.items=[],e.propertiesQueryObj={},e.propertiesQueryObj.query="",e.propertiesSearchPlaceholder=N.instant("visual.search.instance.placeholder"),e.propertiesNotFiltered=[],e.searchVisible=!1,e.nodeSelected=!1,e.queryResultsMode=!1,e.embedded=y.search().embedded,e.openedNodeInfoPanel=void 0,e.invalidLimit=!1,e.INVALID_LINKS_MSG=N.instant("sidepanel.invalid.limit.links.msg"),e.INVALID_LINKS_TOOLTIP=N.instant("sidepanel.invalid.limit.links.tooltip"),e.datasource=void 0,e.adapterContainer={adapter:{remain:!0}},e.hasInitedRepository=!1,e.defaultSettings={linksLimit:20,includeInferred:!0,sameAsState:!0,languages:["en"],showLinksText:!0,preferredTypes:[],rejectedTypes:[],preferredPredicates:[],rejectedPredicates:["http://dbpedia.org/property/logo","http://dbpedia.org/property/hasPhotoCollection","http://dbpedia.org/property/website","http://dbpedia.org/property/homepage","http://dbpedia.org/ontology/thumbnail","http://xmlns.com/foaf/0.1/depiction","http://xmlns.com/foaf/0.1/homepage","http://xmlns.com/foaf/0.1/mbox","http://dbpedia.org/ontology/wikiPage*","http://dbpedia.org/property/wikiPage*","http://factforge.net/*"],preferredTypesOnly:!1,preferredPredicatesOnly:!1,includeSchema:!0},e.saveSettings=_.cloneDeep(e.defaultSettings),e.defaultGraphConfig={id:"default",name:"Easy graph",startMode:"search"},t.key="",e.onopen=e.onclose=function(){return angular.noop()},e.goToHome=function(){z(),y.url("graphs-visualizations")},e.shouldShowSettings=function(){return e.configLoaded&&e.configLoaded.id===e.defaultGraphConfig.id},e.shouldDisableSameAs=function(){var t=$("#sameAsCheck");return e.settings&&!e.settings.includeInferred&&t.prop("checked")&&(t.prop("checked",!1),e.settings.sameAsState=!1),e.settings&&!e.settings.includeInferred},e.propertiesFilterFunc=function(t){return t.key.toLowerCase().indexOf(e.propertiesQueryObj.query.toLowerCase())>=0},e.toggleMoreInfo=function(e){angular.element(e.currentTarget).parent().next().toggle(200),angular.element(e.currentTarget).children("span").toggleClass("icon-caret-down").toggleClass("icon-caret-up")},e.copyToClipboard=function(e){S.openCopyToClipboardModal(e)},e.resetSettings=function(){e.settings=_.cloneDeep(e.defaultSettings),e.validateLinksLimit(),B()},e.changeLimit=function(t){var n=e.settings.linksLimit+t;n<1&&(n=1),n>1e3&&(n=1e3),e.settings.linksLimit=n},e.validateLinksLimit=function(){e.invalidLimit=!o.NUMBER_PATTERN.test(e.settings.linksLimit)},e.showSettings=function(){e.showInfoPanel=!0,e.showFilter=!0,e.showNodeInfo=!1,e.showPredicates=!1,e.saveSettings?e.settings=_.cloneDeep(e.saveSettings):e.settings=_.cloneDeep(e.defaultSettings),B()},e.updateSettings=function(){e.invalidLimit?f.error(e.INVALID_LINKS_TOOLTIP,e.INVALID_LINKS_MSG):(e.saveSettings=e.settings,e.saveSettings.languages=_.map(e.saveSettings.languagesMap,(function(e){return e.text})),e.saveSettings.preferredTypes=_.map(e.saveSettings.preferredTypesMap,(function(e){return e.text})),e.saveSettings.rejectedTypes=_.map(e.saveSettings.rejectedTypesMap,(function(e){return e.text})),e.saveSettings.preferredPredicates=_.map(e.saveSettings.preferredPredicatesMap,(function(e){return e.text})),e.saveSettings.rejectedPredicates=_.map(e.saveSettings.rejectedPredicatesMap,(function(e){return e.text})),e.rootNodeIri?U(e.rootNodeIri):e.queryResultsMode&&y.search().query?q(y.search().query,y.search().sameAs,y.search().inference):"query"===e.configLoaded.startMode&&Y(e.configLoaded),F(),e.showInfoPanel=!1,e.showFilter=!1,k.set(b.GRAPHS_VIZ,e.saveSettings))},e.getGraphConfigs=function(t){C.getGraphConfigs().success((function(n){e.graphConfigs=n,t&&t()})).error((function(e){f.error(getError(e),N.instant("graphexplore.error.graph.configs.short.msg"))}))},e.findConfigById=function(t){return t===e.defaultGraphConfig.id?e.defaultGraphConfig:$.grep(e.graphConfigs,(function(e){return e.id===t}))[0]},e.easyGraphSearch=function(t){e.configLoaded=e.defaultGraphConfig,e.openUri(t)},e.deleteConfig=function(t){S.openSimpleModal({title:N.instant("common.confirm"),message:N.instant("graphexplore.delete.graph",{configName:t.name}),warning:!0}).result.then((function(){C.deleteGraphConfig(t).success((function(){e.getGraphConfigs(),e.refreshSavedGraphs()})).error((function(e){f.error(getError(e),N.instant("graphexplore.error.cannot.delete.config"))}))}))},e.goToGraphConfig=function(e){G({config:e.id},{config:e}),z(),Y(e)},e.replaceIRIWithPrefix=function(t){var n=e.namespaces,r=_.findLast(n,(function(e){return 0===t.indexOf(e.uri)}));return r?r.prefix+":"+t.substring(r.uri.length):t};var O=[];O.push(t.$on("$translateChangeSuccess",(function(){e.INVALID_LINKS_MSG=N.instant("sidepanel.invalid.limit.links.msg"),e.INVALID_LINKS_TOOLTIP=N.instant("sidepanel.invalid.limit.links.tooltip"),e.propertiesSearchPlaceholder=N.instant("visual.search.instance.placeholder")}))),O.push(P.onAutocompleteEnabledUpdated((function(t){e.isAutocompleteEnabled=t}))),O.push(P.onSelectedRepositoryIdUpdated((function(t){t?M.getNamespaces(t).then((function(t){e.repositoryNamespaces=t,e.namespaces=t.namespaces})).catch((function(e){var t=getError(e);f.error(t,N.instant("error.getting.namespaces.for.repo"))})):e.repositoryNamespaces=new s.NamespacesListModel}))),O.push(e.$on("repositoryIsSet",(function(t,n){n.newRepo&&(e.hasInitedRepository=!1),ge(n.newRepo),n.newRepo&&(z(),$(".graph-visualization svg").empty(),y.search().query&&(e.goToHome(),W()))})));O.push(t.$watch((function(){return t.key}),(function(){te=0,_.each(e.propertiesObj.items,(function(e){t.key>e&&te++})),ne++})));O.push(e.$watch("propertiesObj.items",(function(){angular.isDefined(e.propertiesObj.items)&&e.propertiesObj.items.length>0&&h((function(){e.adapterContainer.adapter.reload()}),500)})));var E=!1,R=0;function j(e){E&&e.stopPropagation()}document.addEventListener("keydown",j,!0);e.$on("$destroy",(function(){O.forEach((function(e){return e()})),document.removeEventListener("keydown",j,!0)}));var G=function(t,n){e.embedded&&(t.embedded=!0),y.search(t),y.state(n)},z=function(){e.searchVisible=!1,e.nodeSelected=!1,e.configLoaded=null,e.queryResultsMode=!1,e.lastSavedGraphName=null,e.lastSavedGraphId=null,e.shared=!1,e.numberOfPinnedNodes=0,re={},ie=0},D=function(){return A.isActive()?e.defaultSettings:e.saveSettings},F=function(){D().showLinksText?d3.selectAll("svg .link-wrapper text").style("display","block"):d3.selectAll("svg .link-wrapper text").style("display","none")},B=function(){e.settings.languagesMap=_.map(e.settings.languages,(function(e){return{text:e}})),e.settings.preferredTypesMap=_.map(e.settings.preferredTypes,(function(e){return{text:e}})),e.settings.rejectedTypesMap=_.map(e.settings.rejectedTypes,(function(e){return{text:e}})),e.settings.preferredPredicatesMap=_.map(e.settings.preferredPredicates,(function(e){return{text:e}})),e.settings.rejectedPredicatesMap=_.map(e.settings.rejectedPredicates,(function(e){return{text:e}}))},U=function(){e.rootNodeIri&&e.$broadcast("onRootNodeChange",e.rootNodeIri)},W=function(){y.search().query?(e.searchVisible=!1,e.queryResultsMode=!0,q(y.search().query,y.search().sameAs,y.search().inference)):e.$on("onRootNodeChange",(function(t,n){e.loading=!0;var r=D();angular.isDefined(n)&&(e.rootNodeIri=n,T.getInstanceNode({iri:n,config:e.configLoaded?e.configLoaded.id:e.defaultGraphConfig.id,languages:e.shouldShowSettings()?r.languages:[],includeInferred:r.includeInferred,sameAsState:r.sameAsState}).then((function(t){e.nodeSelected=!0,e.searchVisible=!1,null===t.data.types&&(t.data.types="greyColor");var n=(he=new fe).addNode(t.data,ue/2,pe/2);de=se,Me(n,!0)})).catch((function(t){e.loading=!1,f.error(getError(t),N.instant("graphexplore.error.could.not.load.graph"))})))})),y.search().uri&&e.openUri(y.search().uri,!0),y.search().saved&&L.getSavedGraph(y.search().saved).success((function(t){e.loadSavedGraph(t)})).error((function(e){var t=getError(e);f.error(t,N.instant("graphexplore.error.could.not.open"))}))},q=function(t,n,r){var i=D(),o=void 0===n?i.sameAsState:!0===n,a=void 0===r?i.includeInferred:!0===r;e.loading=!0,T.updateGraph({query:t,linksLimit:i.linksLimit,languages:e.shouldShowSettings()?i.languages:[],includeInferred:a,sameAsState:o}).then((function(e){Ae(e)}),(function(t){e.loading=!1,f.error(getError(t.data),N.instant("graphexplore.error.cannot.load.graph"))}))},V=function(e,t){var n=e.split(" ");return t?[n[0],n[1],n[2]].join(">"):[n[0],n[2]].join(">")},H=function(e){return[e.source.iri,e.target.iri].join(">")},K=function(e){if(e.isTriple){var t=document.getElementById(Object(a.removeSpecialChars)(V(e.iri)));if(t&&void 0!==t.__data__.x)return t.__data__.x}return e.x},Z=function(e){if(e.isTriple){var t=document.getElementById(Object(a.removeSpecialChars)(V(e.iri)));if(t&&void 0!==t.__data__.y)return t.__data__.y}return e.y},Q=function(e){var t=e.trim().split(" ");return"<<<".concat(t[0],"> <").concat(t[1],"> <").concat(t[2],">>>")},J=function(e){var t=e.source.isTriple?V(e.source.iri,!0):e.source.iri,n=e.target.isTriple?V(e.target.iri,!0):e.target.iri;return Object(a.removeSpecialChars)("".concat(t,">").concat(n,">marker"))},Y=function(t){e.configLoaded=t,"search"===t.startMode?e.searchVisible=!0:"node"===t.startMode&&t.startIRI?h((function(){e.openUri(t.startIRI,!0)}),0):"query"===t.startMode&&t.startGraphQuery&&(e.loading=!0,C.loadGraphForConfig(t,t.startQueryIncludeInferred,D().linksLimit,t.startQuerySameAs).then((function(e){Ae(e)}),(function(t){e.loading=!1,f.error(getError(t),N.instant("graphexplore.error.graph.load"))})))},X=function(){var t,n;y.search().config?(t=y.search().config,n=W,t===e.defaultGraphConfig.id?Y(e.defaultGraphConfig):C.getConfig(t).then((function(e){Y(e),n()})).catch((function(e){f.error(getError(e),N.instant("graphexplore.error.could.not.load.config",{configId:t}))}))):y.search().query||y.search().uri?(Y(e.defaultGraphConfig),W()):W()};w.onpopstate=function(t){z(),t.state&&(t.state.config?(Y(t.state.config),t.state.uri&&e.openUri(t.state.uri,!0)):t.state.savedGraph&&e.loadSavedGraph(t.state.savedGraph,!0))},e.embedded&&(y.search().query||y.search().uri||y.search().config||y.search().saved)&&(e.noGoHome=!0);var ee,te=0,ne=0,re={},ie=0,oe=16,ae=d3.zoom().scaleExtent([.1,10]),se=d3.zoomIdentity.translate(0,-70).scale(1);ae.on("zoom",(function(e){A.isActive()||(de=e.transform,ee.attr("transform",de))}));var ce,le,de=se,ue=1e3,pe=1e3;function fe(){this.nodes=[],this.links=[],this.tripleNodes=new Map,this.tripleLinksCopy=new Map,this.addNode=function(e,t,n){return e.x=t,e.y=n,this.nodes.push(e),e},this.computeConnectedness=function(){var e={},t={};_.each(this.links,(function(n){var r=n.source.iri,i=n.target.iri,o=_.min([r,i])+"|"+_.max([r,i]);t[o]||(t[o]=1,e[r]=(e[r]||0)+1,e[i]=(e[i]||0)+1)})),_.each(this.links,(function(t){e[t.source.iri]>1&&e[t.target.iri]>1?t.connectedness=Math.min(5,Math.max(e[t.source.iri],e[t.target.iri])-1):t.connectedness=0}))},this.addAndMatchLinks=function(e){var t=this.nodes;Array.prototype.push.apply(this.links,function(e,t){return _.map(e,(function(e){var n={source:e.isTripleSource?ze(e.source):_.find(t,(function(t){return t.iri===e.source})),target:e.isTripleTarget?ze(e.target):_.find(t,(function(t){return t.iri===e.target})),predicates:e.predicates};if(e.isTripleSource||e.isTripleTarget){var r=n.source.isTriple?V(n.source.iri):n.source.iri,i=n.target.isTriple?V(n.target.iri):n.target.iri,o="".concat(r,">").concat(i);if(he.tripleLinksCopy.has(o)){var a,s=he.tripleLinksCopy.get(o);return(a=s[0].predicates).push.apply(a,l(n.predicates)),s.push(n),he.tripleLinksCopy.set(o,s),null}he.tripleLinksCopy.set(o,[n])}return n}))}(e,t));var n,r=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=d(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}(he.tripleLinksCopy.keys());try{for(r.s();!(n=r.n()).done;){var i=n.value;1===he.tripleLinksCopy.get(i).length&&he.tripleLinksCopy.delete(i)}}catch(e){r.e(e)}finally{r.f()}this.links=this.links.filter((function(e){return null!==e})),this.computeConnectedness()};var t=function(e,t){return n(e,t).length};function n(e,t){return _.filter(t,(function(t){return t.source.iri===e.iri||t.target.iri===e.iri}))}this.countLinks=t,this.linksTypes=function(e,t){var r=n(e,t),i=_.map(r,(function(t){return t.source.iri===e.iri?t.target.types:t.source.types}));return _.uniq(_.flatten(i))},this.linksPredicates=function(e,t){var r=n(e,t),i=_.map(r,(function(e){return e.predicates}));return _.uniq(_.flatten(i))},this.removeTriples=function(e){var t=this,n=[];this.tripleNodes.size>0&&e.forEach((function(e){t.tripleNodes.has(e)&&(t.tripleNodes.delete(e),t.links=_.reject(t.links,(function(t){var r=e.split(">"),i=V(t.source.iri),o=V(t.target.iri);if(i===e&&he.tripleNodes.delete(o)){var a=o.split(">");n.push({source:a[0],target:a[1]})}var s=i===e||o===e||t.source.iri===r[0]&&t.target.iri===r[1];return s&&(he.tripleLinksCopy.delete("".concat(i,">").concat(o)),he.tripleLinksCopy.delete("".concat(o,">").concat(i))),s})))})),n.forEach((function(e){t.links=_.reject(t.links,(function(t){return t.source.iri===e.source&&t.target.iri===e.target}))}))},this.removeNode=function(n){var r=[];this.links=_.reject(this.links,(function(e){var t=e.source.iri===n.iri||e.target.iri===n.iri;return t&&(e.target.isTriple&&r.push(V(e.target.iri)),e.source.isTriple||e.target.isTriple||r.push([e.source.iri,e.target.iri].join(">"))),t})),this.removeTriples(r);var i=this.links;this.nodes=_.reject(this.nodes,(function(e){return 0===t(e,i)})),0===this.nodes.length&&(e.nodeSelected=!1),this.computeConnectedness()},this.removeNodeLeafLinks=function(e){var r=[],i=this.links;this.links=_.reject(this.links,(function(o){var a=o.source.iri===e.iri&&1===t(o.target,i)&&!o.target.isTriple||o.target.iri===e.iri&&1===t(o.source,i)&&!o.source.isTriple;if(!a){var s;if(o.source.iri!==e.iri||2!==t(o.target,i)||o.target.isTriple?o.target.iri!==e.iri||2!==t(o.source,i)||o.source.isTriple||(s=n(o.source,i)):s=n(o.target,i),!s)return!1;a=(s[0].source.iri===e.iri||s[0].target.iri)&&(s[1].source.iri===e.iri||s[1].target.iri)}return a&&(o.target.isTriple&&r.push(V(o.target.iri)),o.source.isTriple||o.target.isTriple||r.push([o.source.iri,o.target.iri].join(">"))),a})),this.removeTriples(r),i=this.links,this.nodes=_.reject(this.nodes,(function(n){return 0===t(n,i)&&n.iri!==e.iri})),this.computeConnectedness()},this.addTriple=function(e,t,n){e.x=t,e.y=n,e.weight=0;var r=V(e.iri);if(this.tripleNodes.has(r)){var i=this.tripleNodes.get(r);i.push(e),this.tripleNodes.set(r,i)}else e.weight=10,this.tripleNodes.set(r,[e])},this.copyState=function(){var e=_.map(this.nodes,(function(e){return{iri:e.iri,isTriple:e.isTriple,size:e.size,labels:_.cloneDeep(e.labels),types:_.cloneDeep(e.types),rdfRank:e.rdfRank,x:e.x,y:e.y,fixed:e.fixed}})),t=JSON.stringify(Array.from(this.tripleNodes.entries())),n=JSON.stringify(Array.from(this.tripleLinksCopy.entries()));return{nodes:e,links:_.map(this.links,(function(e){return{source:e.source.iri,isTripleSource:e.source.isTriple,target:e.target.iri,isTripleTarget:e.target.isTriple,predicates:e.predicates}})),tripleNodes:t,tripleLinksCopy:n,colorIndex:ie,type2color:re,transform:de}},this.restoreState=function(t){e.nodeSelected=!0,e.searchVisible=!1,this.nodes=_.cloneDeep(t.nodes),this.tripleNodes=t.tripleNodes?new Map(JSON.parse(t.tripleNodes)):new Map,this.links=[],this.addAndMatchLinks(t.links),this.tripleLinksCopy=t.tripleLinksCopy?new Map(JSON.parse(t.tripleLinksCopy)):new Map,_.each(this.nodes,(function(t){t.fixed&&e.numberOfPinnedNodes++})),angular.isDefined(t.colorIndex)&&angular.isDefined(t.type2color)&&(ie=t.colorIndex,re=_.cloneDeep(t.type2color)),angular.isDefined(t.transform)&&(de=d3.zoomIdentity.translate(t.transform.x,t.transform.y).scale(t.transform.k)),Le()}}e.datasource={get:function(t,n,r){return x.initLazyList(t,n,r,te,e.propertiesObj.items)},revision:function(){return ne}},m.when(v.getPrincipal()).then((function(t){return function(t){var n=t.appSettings;e.defaultSettings.includeInferred=n.DEFAULT_INFERENCE,e.defaultSettings.sameAsState=n.DEFAULT_INFERENCE&&n.DEFAULT_SAMEAS,e.defaultSettings.includeSchema=n.DEFAULT_VIS_GRAPH_SCHEMA;var r=k.get(b.GRAPHS_VIZ);if(r&&"object"===p(r))try{e.saveSettings=r,void 0===e.saveSettings.includeSchema&&(e.saveSettings.includeSchema=e.defaultSettings.includeSchema,e.saveSettings.rejectedPredicates=[].concat(l(e.saveSettings.rejectedPredicates),l(e.defaultSettings.rejectedPredicates)).unique())}catch(t){e.saveSettings=_.cloneDeep(e.defaultSettings),k.set(b.GRAPHS_VIZ,e.saveSettings)}else e.saveSettings=_.cloneDeep(e.defaultSettings)}(t)})),e.showInfoPanel=!1;var he=new fe;function ge(t){!n.getActiveRepository()||e.hasInitedRepository&&!t||(e.hasInitedRepository=!0,t||e.getGraphConfigs(X))}e.addedTag=function(t){return t.text.indexOf(":")<0?(f.warning(N.instant("graphexplore.absolute.prefixed.iri")),null):(t.text=function(e,t){if(!/^<?(http|urn).*>?/.test(e)){var n=e.split(":"),r=n[0],i=n[1];if(!angular.isUndefined(i)){var o=g.getNamespaceUriForPrefix(t,r);if(o)return o+i}}return e}(t.text,e.namespaces),e.pageslideExpanded=!0,t)},e.validateTag=function(e,t,n){if(e.text.indexOf(":")<0)return n?f.warning(N.instant("graphexplore.absolute.prefixed.iri.option"),t):f.warning(N.instant("graphexplore.absolute.prefixed.iri"),t),!1;var r=e.text.indexOf("*");if(r>=0){if(!n)return f.warning(N.instant("graphexplore.wildcards.not.allowed"),t),!1;if(r<e.text.length-1)return f.warning(N.instant("graphexplore.wildcards.last.char"),t),!1}return!0},e.getTagClass=function(e){return e.endsWith("*")?"tag-item-wildcard":null},e.getActiveRepository=function(){return n.getActiveRepository()},e.isLicenseValid=function(){return u.isLicenseValid()},ge();var me=d3.scaleLinear().domain([0,9]).range(["hsl(0, 100%, 75%)","hsl(360, 90%, 82%)"]).interpolate(d3.interpolateHslLong),ye=d3.scaleLinear().domain([0,9]).range(["hsl(180, 50%, 75%)","hsl(540, 40%, 82%)"]).interpolate(d3.interpolateHslLong);e.getColor=function(e){angular.isUndefined(re[e])&&(re[e]=ie,ie++);var t=re[e];return t>39?"#c2c2c2":t%2==0?me(t/2):ye(t/2)};var ve=d3.forceX(ue/2).strength(.005),xe=d3.forceY(pe/2).strength(.005),Se=d3.forceSimulation().force("x",ve).force("y",xe),Ie=d3.select(".main-container .graph-visualization").append("svg").attr("viewBox","0 0 "+ue+" "+pe).attr("preserveAspectRatio","xMidYMid meet");Ie.append("rect").attr("width",10*ue).attr("height",10*pe).attr("x",-(10*ue-ue)/2).attr("y",-(10*pe-pe)/2).style("fill","none").style("pointer-events","all").call(ae).on("click",(function(e){e.stopPropagation(),Oe(),Se.stop()}));var we=0,ke=0,be=new function(){this.state=!1,this.setLoadingState=function(e){this.state=e},this.getLoadingState=function(){return this.state},this.init=function(e,t){d3.select(t).append("circle").attr("cx",(function(){return e.x})).attr("cy",(function(){return e.y})).attr("class","loader-container").attr("r",(function(){return e.size})).style("fill","fff").style("opacity","0.7"),d3.select(t).append("image").attr("xlink:href","js/angular/templates/loader/ot-loader.svg?v=3.0.2-TR1").attr("x",(function(){return e.x-e.size+5})).attr("y",(function(){return e.y-e.size})).attr("width",(function(){return 2*e.size})).attr("height",(function(){return 2*e.size})).attr("class","node-loader")}};function Le(t){d3.selectAll("svg g").remove(),d3.selectAll(".d3-tip").remove(),d3.selectAll(".menu-events").remove(),ee=Ie.append("g").attr("class","nodes-container").attr("transform",(function(){return angular.isDefined(de)&&!t?de:""}));var n,o=Object(i.a)().attr("class","d3-tip").customPosition((function(){var e=ce.getBoundingClientRect();return{top:e.bottom+10+"px",left:e.left-30+"px"}})).html((function(t){var n="";return t.fixed&&(n+='<i class="icon-pin"></i> '),t.types.length>0?n+=t.types.map((function(t){return"<div> · ".concat(e.replaceIRIWithPrefix(t),"</div>")})).join(""):n+="<i>".concat(N.instant("visual.node.tooltip.no_types"),"</i>"),n})),s=function(e){var t="";return t+=_.join(_.map(e.predicates,(function(t,n){if(0===n)return $e(t);if(n<10)return" · "+$e(t);if(10===n){var r=function(e){return e.predicates.length-10}(e),i=r>1?r+" predicates":r+" predicate";return" · "+N.instant("graphexplore.tip.text",{textToShow:i})}})),"")},l=Object(i.a)().attr("class","d3-tip").customPosition((function(e){var t=n.getBoundingClientRect(),r=function(e){var t=s(e),n=document.createElement("canvas").getContext("2d");return n.font="13px Arial",e.predicates.length<10?n.measureText(t).width:n.measureText(t).width/2}(e);return{top:t.top-30+"px",left:t.left-30+"px",width:r+"px"}})).html((function(e){return s(e)})),d=function(){h.cancel(void 0),h.cancel(we),ce=null,o.hide(),ke=h((function(){Oe()}),500)};Ie.call(o);Ie.call(l);var u=Ie.selectAll(".link"),p=Ie.selectAll(".node"),g=d3.forceCollide((function(e){return e.size+5})).strength(.5),m=d3.forceManyBody().strength(-300),y=d3.forceCenter(ue/2,pe/2);Se.nodes(he.nodes).force("charge",m).force("collide",g).force("center",y).force("link",d3.forceLink(he.links).distance((function(e){return e.source.isTriple||e.target.isTriple?0:function(e){var t=$("<span></span>"),n=e.predicates[0].split("/"),r=n[n.length-1];t.addClass("predicate-text").text(r),$("body").append(t);var i=t.width()+2*e.source.size+2*e.target.size+50;return t.remove(),.75*i}(e)+30*e.connectedness}))),ee.append("defs").selectAll("marker").data(he.links).enter().append("marker").attr("class","arrow-marker").attr("id",(function(e){return J(e)})).attr("viewBox","0 -5 10 10").attr("refX",(function(e){return e.target.isTriple?11:e.target.size+11})).attr("refY",0).attr("markerWidth",10).attr("markerHeight",10).attr("orient","auto").append("path").attr("d","M0,-5L10,0L0,5 L10,0 L0, -5"),u=ee.selectAll(".link").data(he.links).enter().append("g").attr("class","link-wrapper").attr("id",(function(e){return Object(a.removeSpecialChars)(H(e))})).append("line").attr("class","link").style("stroke-width",1).style("fill","transparent").style("marker-end",(function(e){var t=J(e);return"url(#".concat(t,")")}));var v,x=ee.selectAll(".link-wrapper").append("text").text((function(e){return De(e)})).attr("class",(function(e){return e.predicates.length>1||he.tripleNodes.has(H(e))?"predicates":"predicate"})).attr("dy","-0.5em").style("text-anchor","middle").style("display",D().showLinksText?"":"none").on("mouseover",(function(e,t){e.stopPropagation(),function(e,t){h.cancel(void 0);var r=n=e.target;h((function(){n===r&&t.predicates.length>1&&l.show(t,n)}),300)}(e,t)})).on("mouseout",(function(){h.cancel(void 0),n=null,l.hide()})).on("click",(function(t,n){t.stopPropagation(),function(t,n){Ge();var r=H(n);if(1===n.predicates.length&&he.tripleNodes.has(r)){le=null;var i=he.tripleNodes.get(r)[0];if(_e(i,this,t.button)){var o={};o.iri=i.iri,o.pred=$e(i.iri.split(" ")[1]),Re(o)}return}!function(t){if(e.showNodeInfo=!1,e.showPredicates=t.predicates.length>1,e.showFilter=!1,e.showInfoPanel=!1,le===t)return e.showNodeInfo=!1,e.showInfoPanel=!1,void(le=null);le=t,e.showPredicates&&(e.predicates=_.map(t.predicates,(function(e){var n=function(e,t){var n=H(t);return he.tripleNodes.has(n)?he.tripleNodes.get(n).findIndex((function(t){return t.iri.indexOf(e)>=0})):-1}(e,t),r=n>-1;return{value:$e(e),partOfTriple:r,linkId:r?H(t):"",nodeIndex:n}})),e.showInfoPanel=!0)}(n)}(t,n)})),S=0,I=null,w=null,k=function(t,n,r){var i=r||this.parentNode;Array.isArray(r)&&(i=r[n]),he.countLinks(t,he.links)<=D().linksLimit?Me(t,!1,i):f.info(N.instant("graphexplore.increase.limit"),N.instant("graphexplore.node.at.max")),e.closeInfoPanel()};function b(e,t){var n,r,i,o,a=!0;if("down"===t)n=2*e.size,r=e.size/3,i=.8,o=.3;else if("down-fixed"===t)n=2*e.size,r=e.size,i=.8,o=.66;else if("up"===t)n=e.size/3,r=2*e.size,i=.3,o=.8;else{if("fixed"!==t)return;n=e.size,i=.66,a=!1}var s=ee.selectAll(".node-wrapper").filter((function(t){return t===e})).append("text").text("").classed("icon-any pinned",!0).style("font-size",n+"px").attr("x",(function(e){return e.x})).attr("y",(function(e){return e.y})).attr("opacity",i);"fixed"!==t&&"down-fixed"!==t||(e.pin=s),a&&(s=s.transition().duration(1e3).style("font-size",(function(){return r+"px"})).attr("opacity",o),"down-fixed"!==t&&s.remove())}var L=d3.drag().subject((function(e){return e})).on("start",(function(e,t){if(A.isActive())return;0===e.sourceEvent.button&&(t.fixedBeforeDrag=t.fixed,t.isBeingDragged=!0,t.beginDragging=!0,Oe(),d3.select(this).classed("dragging",!0),Se.alphaTarget(.3).restart())})).on("drag",(function(t,n){n.isBeingDragged&&(n.fx=t.x,n.fy=t.y,n.fixed?n.beginDragging&&b(n,"fixed"):(e.numberOfPinnedNodes++,n.fixed=!0,b(n,"down-fixed")),n.pinWasFixed=!0,n.beginDragging=null)})).on("end",(function(e,t){t.isBeingDragged&&(t.pinWasFixed&&(t.pinWasFixed=null,d3.select(".pinned").remove()),t.isBeingDragged=!1,d3.select(this).classed("dragging",!1));Se.alphaTarget(0)}));p=ee.selectAll(".node").data(he.nodes).enter().append("g").attr("class","node-wrapper").attr("id",(function(e){return e.iri})).append("circle").attr("class","node").attr("r",(function(e){return e.size})).style("fill",(function(t){return"greyColor"===t.types?"c2c2c2":e.getColor(t.types[0])})).on("mouseover",(function(t,n){var r=this;n.isBeingDragged||(h.cancel(ke),we=h((function(){(function(t,n){if(e.showInfoPanel)return!1;(Te.closeIcon||Te.expandIcon||Te.focusIcon||Te.copyURIIcon)&&Te.removeIcons();if(Se.alpha()<.1)return Te.initIcons(t,n.parentNode),Se.stop(),Ce(),!0;return!1})(n,r)&&function(e,t){h.cancel(void 0);var n=ce=t.target;h((function(){ce===n&&o.show(e,ce)}),300)}(n,t)}),400))})).on("mouseout",d).on("click",(function(t,n){if(!t.button||0===t.button){var r=this;if(I&&w===r)return h.cancel(I),I=null,void k(n,0,r.parentNode);w=r,d(),e.showPredicates=!1,A.isActive()||(h.cancel(I),I=h((function(){_e(n,r,t),I=null}),540))}})).on("touchstart",(function(e,t){return function(e){S=0,v=h((function(){S<5&&Ne(e),v=null}),1e3)}(t)})).on("touchmove",(function(){S++})).on("touchend",(function(){h.cancel(v),v=null})).on("contextmenu",(function(t,n){t.shiftKey||(t.preventDefault(),Oe(),e.closeInfoPanel(),n.fixed?(e.numberOfPinnedNodes--,n.fixed=!1,n.fx=null,n.fy=null,b(n,"up"),Se.alpha(1).restart()):(e.numberOfPinnedNodes++,n.fixed=!0,b(n,"down")),function(e){ce&&o.show(e,ce)}(n))})).on("gdb-expand-node",(function(e,t){return k(t,0,e.srcElement.parentNode)})).on("gdb-show-node-info",(function(e,t){return Ee(t)})).call(L);var C=ee.selectAll(".node-wrapper").append("foreignObject").style("pointer-events","none").attr("width",(function(e){return 2*e.size*1.75}));ee.insert("g").attr("class","menu-events"),function(e){e.each((function(e){e.fontSize=r.a.Text.calcFontSizeRaw(e.labels[0].label,e.size,oe,!0)})).attr("height",(function(e){return 3*e.fontSize})).append("xhtml:div").attr("class","node-label-body").style("font-size",(function(e){return e.fontSize+"px"})).append("xhtml:div").html((function(e){return c.HtmlUtil.getText(e.labels[0].label).replaceAll("\n","<br>")}))}(C),Se.on("tick",(function(){u.attr("x1",(function(e){return K(e.source)})).attr("y1",(function(e){return Z(e.source)})).attr("x2",(function(e){return K(e.target)})).attr("y2",(function(e){return Z(e.target)})),x.attr("x",(function(e){var t=K(e.source),n=K(e.target);return e.x=.5*(t+n)})).attr("y",(function(e){var t=Z(e.source),n=Z(e.target);return e.y=.5*(t+n)})).attr("transform",(function(e){return"rotate("+function(e,t){var n={x:K(e.source),y:Z(e.source)},r={x:K(e.target),y:Z(e.target)};if(t)return 180*Math.atan2(r.y-n.y,r.x-n.x)/Math.PI;var i=180*Math.atan2(r.y-n.y,r.x-n.x)/Math.PI;return i<=90&&i>=-90?i:(i>0?-1:1)*(180-Math.abs(i))}(e,e.direction)+", "+e.x+", "+e.y+")"})),p.attr("cx",(function(e){return e.x})).attr("cy",(function(e){return e.y})),ee.select(".node-loader").attr("x",(function(e){return e.x-e.size+3})).attr("y",(function(e){return e.y-e.size})),ee.select(".loader-container").attr("cx",(function(e){return e.x})).attr("cy",(function(e){return e.y})),C.attr("x",(function(e){return e.x-1.75*e.size})).attr("y",(function(e){return e.y-3*e.fontSize/2})),d3.select(".pinned").attr("x",(function(e){return e.x})).attr("y",(function(e){return e.y})),Ce()})),angular.isDefined(be)&&be.setLoadingState(!1),e.loading&&(e.loading=!1),d3.selectAll(".link-wrapper").each((function(){var e=$(this).attr("id").split(">")[0],t=$(this).attr("id").split(">")[1];d3.selectAll(".link").each((function(n){var r=Object(a.removeSpecialChars)(n.source.iri),i=Object(a.removeSpecialChars)(n.target.iri);if(r===t&&i===e){var o=r;o+=">",o+=i;var s=document.createTextNode(" ⟶");document.getElementById(o).lastChild.appendChild(s),n.direction="double"}}))})),d3.selectAll(".d3-actions-tip").remove(),Se.alpha(.3).restart()}function Ce(){t.d3alpha=Se.alpha()}var Te=new function(){function n(e,t){return"translate("+(t.x-14+(t.size+15)*Math.cos(e*Math.PI/180-Math.PI/2))+","+(t.y-14+(t.size+15)*Math.sin(e*Math.PI/180-Math.PI/2))+")"}this.closeIcon=void 0,this.expandIcon=void 0,this.collapseIcon=void 0,this.focusIcon=void 0,this.copyURIIcon=void 0,this.actionsTip=void 0,this.removeIcons=function(){this.closeIcon.remove("g"),this.expandIcon&&this.expandIcon.remove("g"),this.collapseIcon&&this.collapseIcon.remove("g"),this.focusIcon.remove("g"),this.copyURIIcon.remove("g"),this.closeIcon=void 0,this.expandIcon=void 0,this.collapseIcon=void 0,this.focusIcon=void 0,this.copyURIIcon=void 0,this.expandedState=!1},this.expandedState=!1,this.initIcons=function(r,o){var a=Object(i.a)().attr("class","d3-tip d3-actions-tip").customPosition((function(e,t){var n=t.target.getBoundingClientRect();return{top:n.top-20+"px",left:n.right+10+"px"}})).html((function(e){return e}));Ie.call(a);r.isExpanded?(this.collapseIcon=d3.select(".menu-events").append("g").attr("class","collapse-icon").attr("name","collapse").attr("transform",(function(){return n(20,r)})),this.collapseIcon.append("circle").attr("cx",14).attr("cy",14).attr("r",13).style("fill","#eee"),this.collapseIcon.append("path").attr("d","M22.67,12a.59.59,0,0,1-.53.65l-6.88.72H15.2a.59.59,0,0,1-.59-.65l.72-6.88A.58.58,0,0,1,16,5.33a.59.59,0,0,1,.53.65L16,11.11,21.3,5.79a.64.64,0,0,1,.91.91L16.89,12,22,11.49A.59.59,0,0,1,22.67,12ZM12.59,14.75l-6.75.85a.59.59,0,0,0-.51.66.58.58,0,0,0,.66.51l4.95-.62-5.2,5.2a.64.64,0,1,0,.91.91l5.2-5.2L11.23,22a.59.59,0,0,0,.51.66h.07a.59.59,0,0,0,.59-.52l.85-6.75a.59.59,0,0,0-.17-.49A.58.58,0,0,0,12.59,14.75Z").style("fill","var(--primary-color)"),this.collapseIcon.on("click",(function(){var e;(e=r).isExpanded=!1,he.removeNodeLeafLinks(e),Le()})).on("mouseover",(function(e){a.show(this.getAttribute("name"),e),h.cancel(we),h.cancel(ke)})).on("mouseout",(function(){a.hide(),ke=h((function(){Oe()}),500)}))):(this.expandIcon=d3.select(".menu-events").append("g").attr("class","expand-icon").attr("name","expand").attr("transform",(function(){return n(20,r)})),this.expandIcon.append("circle").attr("cx",14).attr("cy",14).attr("r",13).style("fill","#eee"),this.expandIcon.append("path").attr("d","M22.37,6.28l-.72,6.88a.59.59,0,0,1-.59.53H21a.59.59,0,0,1-.53-.65L21,7.9l-5.32,5.32a.64.64,0,0,1-.91-.91L20.1,7,15,7.53a.59.59,0,0,1-.12-1.18l6.88-.72a.59.59,0,0,1,.65.65ZM12.89,20.34,7.95,21l5.2-5.2a.64.64,0,0,0-.91-.91L7,20.05l.62-4.95A.59.59,0,0,0,6.48,15l-.85,6.75a.59.59,0,0,0,.59.67h.07L13,21.52a.59.59,0,1,0-.15-1.18Z").style("fill","var(--primary-color)"),this.expandIcon.on("click",(function(){Me(r,!1,o)})).on("mouseover",(function(e){a.show(this.getAttribute("name"),e),h.cancel(ke),h.cancel(we)})).on("mouseout",(function(){a.hide(),ke=h((function(){Oe()}),500)}))),this.focusIcon=d3.select(".menu-events").append("g").attr("class","focus-icon").attr("name","focus").attr("transform",(function(){return n(20,r)})),this.focusIcon.append("circle").attr("cx",14).attr("cy",14).attr("r",13).style("fill","#eee"),this.focusIcon.append("path").attr("d","M14.2,23.81a9.8,9.8,0,1,1,6.93-2.87h0A9.74,9.74,0,0,1,14.2,23.81Zm0-18.17a8.37,8.37,0,1,0,5.92,14.29h0A8.37,8.37,0,0,0,14.2,5.64Zm1.42,6.95a2,2,0,1,0,0,2.85A2,2,0,0,0,15.62,12.59Z").style("fill","var(--primary-color)"),this.focusIcon.on("click",(function(){t.$broadcast("onRootNodeChange",r.iri)})).on("mouseover",(function(e){a.show(this.getAttribute("name"),e),h.cancel(ke),h.cancel(we)})).on("mouseout",(function(){a.hide(),ke=h((function(){Oe()}),500)})),this.copyURIIcon=d3.select(".menu-events").append("g").attr("class","icon-link").attr("name","link").attr("transform",(function(){return n(20,r)})),this.copyURIIcon.append("circle").attr("cx",14).attr("cy",14).attr("r",13).style("fill","#eee"),this.copyURIIcon.append("path").attr("d","M 13.457031 10.164062 C 13.648438 10.164062 13.820312 10.242188 13.941406 10.363281 L 15.492188 11.859375 C 15.984375 12.332031 16.292969 12.992188 16.292969 13.714844 C 16.292969 14.441406 15.984375 15.097656 15.492188 15.574219 L 10.394531 20.496094 C 9.902344 20.972656 9.222656 21.265625 8.472656 21.265625 C 7.71875 21.265625 7.039062 20.972656 6.546875 20.496094 L 4.996094 19 C 4.507812 18.523438 4.203125 17.867188 4.203125 17.144531 C 4.203125 16.421875 4.507812 15.765625 4.996094 15.289062 L 7.542969 12.824219 C 7.667969 12.707031 7.84375 12.628906 8.035156 12.628906 C 8.417969 12.628906 8.726562 12.929688 8.726562 13.300781 C 8.726562 13.484375 8.648438 13.652344 8.523438 13.773438 L 5.976562 16.234375 C 5.738281 16.46875 5.589844 16.792969 5.589844 17.148438 C 5.589844 17.503906 5.738281 17.824219 5.976562 18.058594 L 7.527344 19.566406 C 7.773438 19.792969 8.105469 19.929688 8.472656 19.929688 C 8.835938 19.929688 9.167969 19.792969 9.414062 19.566406 L 14.511719 14.644531 C 14.753906 14.410156 14.90625 14.089844 14.90625 13.730469 C 14.90625 13.375 14.753906 13.054688 14.511719 12.820312 L 12.964844 11.324219 C 12.839844 11.203125 12.761719 11.039062 12.761719 10.855469 C 12.761719 10.488281 13.070312 10.1875 13.449219 10.1875 Z M 17.082031 3.976562 C 17.082031 3.976562 17.085938 3.976562 17.085938 3.976562 C 17.824219 3.976562 18.492188 4.261719 18.980469 4.722656 L 20.535156 6.203125 C 21.042969 6.679688 21.355469 7.34375 21.355469 8.082031 C 21.355469 8.792969 21.058594 9.441406 20.582031 9.914062 L 18.0625 12.402344 C 17.9375 12.527344 17.761719 12.605469 17.566406 12.605469 C 17.183594 12.605469 16.875 12.304688 16.875 11.9375 C 16.875 11.753906 16.949219 11.589844 17.070312 11.46875 L 19.605469 8.984375 C 19.847656 8.75 19.996094 8.429688 19.996094 8.070312 C 19.996094 7.714844 19.847656 7.394531 19.605469 7.160156 L 18.019531 5.667969 C 17.773438 5.445312 17.4375 5.304688 17.070312 5.300781 C 16.703125 5.304688 16.367188 5.453125 16.128906 5.691406 L 11.085938 10.667969 C 10.84375 10.898438 10.695312 11.222656 10.695312 11.578125 C 10.695312 11.933594 10.84375 12.257812 11.085938 12.488281 L 12.675781 13.980469 C 12.804688 14.101562 12.882812 14.273438 12.882812 14.457031 C 12.882812 14.828125 12.574219 15.128906 12.191406 15.128906 C 12.003906 15.128906 11.832031 15.054688 11.707031 14.9375 L 10.140625 13.457031 C 9.636719 12.980469 9.324219 12.316406 9.324219 11.582031 C 9.324219 10.863281 9.621094 10.214844 10.101562 9.742188 L 15.140625 4.765625 C 15.625 4.285156 16.304688 3.980469 17.054688 3.976562 Z M 17.082031 3.976562").style("fill","var(--primary-color)"),this.copyURIIcon.on("click",(function(){e.copyToClipboard(r.iri),Oe(),a.hide()})).on("mouseover",(function(e){a.show("<div style='text-align: center;'><b>Copy to ClipBoard</b><br>"+r.iri+"</div>",e),h.cancel(ke),h.cancel(we)})).on("mouseout",(function(){a.hide(),ke=h((function(){Oe()}),500)})),this.closeIcon=d3.select(".menu-events").append("g").attr("class","close-icon").attr("name","remove").attr("transform",(function(){return n(20,r)})),this.closeIcon.append("circle").attr("cx",14).attr("cy",14).attr("r",13).style("fill","#eee"),this.closeIcon.append("path").attr("d","M14.94,14l5.87-5.87a.66.66,0,1,0-.94-.94L14,13.06,8.13,7.19a.66.66,0,0,0-.94.94L13.06,14,7.19,19.87a.66.66,0,1,0,.94.94L14,14.94l5.87,5.87a.66.66,0,1,0,.94-.94Z").style("fill","var(--primary-color)"),this.closeIcon.on("click",(function(){Ne(r)})).on("mouseover",(function(e){a.show(this.getAttribute("name"),e),h.cancel(ke),h.cancel(we)})).on("mouseout",(function(){a.hide(),ke=h((function(){Oe()}),500)})),this.animateMenu(r)},this.animateMenu=function(e){var t=d3.easeSin,r=0,i=20;this.expandIcon&&this.expandIcon.transition().duration(100).style("opacity",1).ease(t).attr("transform",(function(){return n(i,e)})).delay(r+=35),this.collapseIcon&&this.collapseIcon.transition().duration(100).style("opacity",1).ease(t).attr("transform",(function(){return n(i,e)})).delay(r+=35),this.copyURIIcon.transition().duration(100).style("opacity",1).ease(t).attr("transform",(function(){return n(i+=30,e)})).delay(r+=35),this.focusIcon.transition().duration(100).style("opacity",1).ease(t).attr("transform",(function(){return n(i+=30,e)})).delay(r+=35),this.closeIcon.transition().duration(100).style("opacity",1).ease(t).attr("transform",(function(){return n(i+=30,e)})).delay(r+=35),this.expandedState=!0}};function _e(n,r,i){return e.showInfoPanel=!1,e.showPredicates=!1,e.showNodeInfo=!1,i.shiftKey&&(i.ctrlKey||i.metaKey)?(t.$broadcast("onRootNodeChange",n.iri),!1):i.ctrlKey||i.metaKey?(Ne(n),!1):void 0!==e.openedNodeInfoPanel&&e.openedNodeInfoPanel===n?(e.pageslideExpanded=!1,e.openedNodeInfoPanel=void 0,!1):(Ee(n),!0)}function Ne(e){he.removeNode(e),Le()}function Ae(t){!function(t){e.nodeSelected=!0,null===t.data.types&&(t.data.types="greyColor"),he=new fe,de=se}(t),Pe(t)}function Pe(t,n,r){var i=t.data;i=_.filter(i,(function(e){return-1===_.findIndex(he.links,(function(t){return e.source===t.source.iri&&e.target===t.target.iri}))}));for(var o=[],a=he.tripleLinksCopy.values(),s=0;s<he.tripleLinksCopy.size;s++){a.next().value.forEach((function(e){o.push(e)}))}i=_.filter(i,(function(e){return-1===_.findIndex(o,(function(t){return e.source===t.source.iri&&e.target===t.target.iri}))})),i=_.filter(i,(function(e){return e.source!==e.target}));for(var c,l,d,u=(c="iri",l=_.union(_.flatten(_.map(t.data,(function(e){return[{iri:e.source,isTriple:e.isTripleSource},{iri:e.target,isTriple:e.isTripleTarget}]})))),d=l.map((function(e){return e[c]})),l.filter((function(e,t){return d.indexOf(e[c])===t}))),p=_.map(he.nodes,(function(e){return{iri:e.iri,isTriple:Boolean(e.isTriple)}})),h=he.tripleNodes.values(),g=0;g<he.tripleNodes.size;g++){h.next().value.forEach((function(e){p.push({iri:e.iri,isTriple:e.isTriple})}))}var y=_.reject(u,(function(e){return _.some(p,e)}));if(0===y.length)(r||0===i.length)&&f.info(N.instant("graphexplore.error.node.connections")),he.addAndMatchLinks(i),Le();else{var v=[],x=[],S=D();_.forEach(y,(function(t,n){v.push(T.getInstanceNode({iri:t.isTriple?Q(t.iri):t.iri,config:e.configLoaded.id,languages:e.shouldShowSettings()?S.languages:[],includeInferred:S.includeInferred,sameAsState:S.sameAsState}).then((function(e){x[n]=e.data})))})),m.all(v).then((function(){_.forEach(x,(function(e,t){var r=2*Math.PI*t/x.length,i=(n?n.x:0)+Math.cos(r)*pe/3,o=(n?n.y:0)+Math.sin(r)*pe/3;e.isTriple?he.addTriple(e,i,o):he.addNode(e,i,o)})),he.addAndMatchLinks(i),n&&(n.isExpanded=!0),Le()}))}}function Me(t,n,r){if(!be.getLoadingState()){be.init(t,r);var i=D(),o=t.iri;T.getInstanceNodeLinks({iri:o,linksLimit:i.linksLimit,includeInferred:i.includeInferred,config:e.configLoaded.id,preferredTypes:e.shouldShowSettings()?i.preferredTypes:[],rejectedTypes:e.shouldShowSettings()?i.rejectedTypes:[],preferredPredicates:e.shouldShowSettings()?i.preferredPredicates:[],rejectedPredicates:e.shouldShowSettings()?i.rejectedPredicates:[],preferredTypesOnly:e.shouldShowSettings()?i.preferredTypesOnly:[],preferredPredicatesOnly:e.shouldShowSettings()?i.preferredPredicatesOnly:[],languages:e.shouldShowSettings()?i.languages:[],sameAsState:i.sameAsState,includeSchema:i.includeSchema}).then((function(e){Pe(e,t,n)}),(function(t){var n=getError(t.data);f.error(n,N.instant("graphexplore.error.exploring.node")),e.loading=!1,be.setLoadingState(!1)}))}}function Oe(){angular.isDefined(Te)&&Te.expandedState&&Te.removeIcons()}function Ee(t){Se.stop(),e.openedNodeInfoPanel=t,e.showNodeInfo=!0,e.showFilter=!1,e.showPredicates=!1,e.nodeLabels=t.labels,e.nodeTypes=t.types,e.rdfRank=t.rdfRank,e.nodeIri=t.iri,e.resourceType=t.isTriple?"triple":"uri",e.encodedIri=t.isTriple?encodeURIComponent(Q(t.iri)):encodeURIComponent(t.iri),e.showInfoPanel=!0,e.rdfsLabel=t.labels[0].label,e.rdfsComment=t.comment,e.expanded=!1,e.propertiesQueryObj.query="",e.dataNodeKeysQuery="";var n=D();T.getProperties({iri:t.isTriple?Q(t.iri):t.iri,config:e.configLoaded.id,languages:e.shouldShowSettings()?n.languages:[],includeInferred:n.includeInferred,sameAsState:n.sameAsState,rejectedPredicates:e.shouldShowSettings()?n.rejectedPredicates:[]}).then((function(t){e.data=_.mapKeys(t.data,(function(t,n){return e.replaceIRIWithPrefix(n)})),e.propertiesObj.items=[],_.forEach(e.data,(function(t,n){e.propertiesObj.items.push({key:n,value:t})})),e.nodeImage=void 0,e.propertiesNotFiltered=e.propertiesObj.items;var n=_.find(e.propertiesObj.items,(function(e){return"image"===e.key}));n&&(e.nodeImage=n.value[0].v),e.propertiesObj.items=_.reject(e.propertiesObj.items,(function(e){return"image"===e.key})),e.propertiesNotFiltered=e.propertiesObj.items}),(function(e){f.warning(getError(e.data),"Error")}))}function Re(e){je("predicate","var(--primary-color-dark)",e),je("predicates","var(--primary-color-dark)",e);var t=document.getElementsByClassName("link");t&&_.each(t,(function(t){var n=t.__data__;(n.source.iri.indexOf(e.iri)>=0||n.target.iri.indexOf(e.iri)>=0)&&(t.style.stroke="var(--primary-color-dark)",t.style.strokeWidth=4)}));var n=document.getElementsByClassName("arrow-marker");n&&_.each(n,(function(t){var n=t.__data__;(n.source.iri.indexOf(e.iri)>=0||n.target.iri.indexOf(e.iri)>=0)&&(t.style.stroke="var(--primary-color-dark)",t.__data__.target.isTriple||t.setAttribute("refX","23"))}))}function je(e,t,n){var r=document.getElementsByClassName(e);r&&_.each(r,(function(e){var r=e.__data__;n?((r.source.iri.indexOf(n.iri)>=0||r.target.iri.indexOf(n.iri)>=0)&&(e.style.fill=t),V(n.iri)===H(r)&&(e.textContent=n.pred,e.style.fill=t),n.oppLinkIRI&&n.oppLinkIRI===H(r)&&(e.textContent=n.oppTriplePred,e.style.fill=t)):(e.style.fill=t,e.textContent=De(r))}))}function Ge(){_.each(e.predicates,(function(e){var t=document.getElementById(e.linkId+e.nodeIndex);t&&(t.style.fontWeight="normal")}));var t=document.getElementsByClassName("link");t&&_.each(t,(function(e){e.style.stroke="#999",e.style.strokeWidth=1})),je("predicate",""),je("predicates","");var n=document.getElementsByClassName("arrow-marker");n&&_.each(n,(function(e){e.style.stroke="#999",e.__data__.target.isTriple||e.setAttribute("refX","59")}))}function ze(e){var t=V(e);if(he.tripleNodes.has(t))return he.tripleNodes.get(t).find((function(t){return t.iri===e}))}function De(e){return e.predicates.length>1?e.predicates.length+" predicates":$e(e.predicates[0])}function $e(t){var n=e.replaceIRIWithPrefix(t);return n.length===t.length?t.split("/")[t.split("/").length-1]:n}e.toggleSidePanel=function(){e.pageslideExpanded=!e.pageslideExpanded},e.closeInfoPanel=function(){e.pageslideExpanded=!1,e.openedNodeInfoPanel=void 0,e.predicates=[],le=null,h((function(){e.showInfoPanel=!1}))},e.clickLink=function(t){if(he.tripleNodes.has(t.linkId)){Ge();var n=he.tripleNodes.get(t.linkId)[t.nodeIndex];Ee(n),e.showPredicates=!0;var r=document.getElementById(t.linkId+t.nodeIndex);r&&(r.style.fontWeight="bold");for(var i={},o=he.tripleLinksCopy.values(),a=function(){var e=o.next().value;e.length>1&&e.every((function(t){return t.source.iri===n.iri?(i.iri=e[0].source.iri,t.target.isTriple&&(i.oppLinkIRI=V(t.target.iri),i.oppTriplePred=$e(t.target.iri.split(" ")[1])),i.pred=$e(n.iri.split(" ")[1]),1===t.predicates.length&&(i.linkPred=t.predicates[0]),!1):t.target.iri!==n.iri||(i.iri=e[0].target.iri,t.source.isTriple&&(i.oppLinkIRI=V(t.source.iri),i.oppTriplePred=$e(t.source.iri.split(" ")[1])),i.pred=$e(n.iri.split(" ")[1]),1===t.predicates.length&&(i.linkPred=t.predicates[0]),!1)}))},s=0;s<he.tripleLinksCopy.size;s++)a();i.iri||(i.iri=n.iri,i.pred=$e(n.iri.split(" ")[1])),Re(i)}},e.splitPredicate=function(e){return e.split("/")[e.split("/").length-1]},e.getActiveRepository=function(){return n.getActiveRepository()},e.isLoadingLocation=function(){return n.isLoadingLocation()},e.hasActiveLocation=function(){return n.hasActiveLocation()},e.rotate=function(e){Oe();var t=10*(e?1:-1)*Math.PI/180,n=Math.cos(t),r=Math.sin(t),i=ue/2,o=pe/2;d3.selectAll(".node-wrapper").each((function(e){e.x=i+(n*(e.x-i)+r*(e.y-o)),e.y=o+(-r*(e.x-i)+n*(e.y-o)),e.fixed&&(e.fx=e.x,e.fy=e.y)})),Se.alpha(1).restart()},e.openUri=function(t,n){if(!n){var r={};e.configLoaded.id!==e.defaultGraphConfig.id&&(r.config=e.configLoaded.id),r.uri=t,G(r,{uri:t,config:e.configLoaded})}e.$broadcast("onRootNodeChange",t)},e.saveOrUpdateGraph=function(){var t=JSON.stringify(he.copyState()),n={id:e.lastSavedGraphId,name:e.lastSavedGraphName,data:t,shared:e.shared};n.id?e.saveGraphModal("update",n):e.saveGraphModal("new",n)},e.renameSavedGraph=function(t){e.saveGraphModal("rename",{id:t.id,name:t.name,config:t.config,shared:t.shared})};var Fe=function(t){L.editSavedGraph(t).success((function(){e.lastSavedGraphName=t.name,e.shared=t.shared,e.refreshSavedGraphs(),f.success(N.instant("graphexplore.saved.graph.was.edited",{name:t.name}))})).error((function(e){var t=getError(e);f.error(t,N.instant("graphexplore.error.cannot.edit"))}))};e.saveGraphModal=function(t,n,r){var i=I.open({templateUrl:"js/angular/graphexplore/templates/modal/save-graph.html",controller:"SaveGraphModalCtrl",resolve:{data:function(){return{mode:t,graph:n,graphExists:r,shared:n.shared}}}});R++,E=!0,i.result.then((function(t){if(t.restart)e.saveGraphModal(t.mode,t.graph,!1);else switch(t.mode){case"new":!function(t){e.configLoaded&&(t.config=e.configLoaded.id),L.addNewSavedGraph(t).success((function(n,r,i){e.lastSavedGraphName=t.name,e.lastSavedGraphId=i()["x-saved-graph-id"],e.shared=t.shared,e.refreshSavedGraphs(),f.success(N.instant("graphexplore.saved.graph",{name:t.name}))})).error((function(n,r){if(422===r)e.saveGraphModal("new",t,!0);else{var i=getError(n);f.error(i,N.instant("graphexplore.error.cannot.create.graph"))}}))}(t.graph);break;case"update":case"rename":Fe(t.graph)}})).finally((function(){--R<=0&&(E=!1,R=0)}))},e.refreshSavedGraphs=function(){L.getSavedGraphs().success((function(t){e.savedGraphs=t})).error((function(e){var t=getError(e);f.error(t,N.instant("graphexplore.error.getting.saved.graphs"))}))},e.loadSavedGraph=function(t,n){t.owner?(e.lastSavedGraphName=t.name,e.lastSavedGraphId=t.id,e.shared=t.shared,e.configLoaded=e.findConfigById(t.config)):(e.lastSavedGraphName=null,e.lastSavedGraphId=null,e.shared=t.shared),e.configLoaded||(e.configLoaded=e.defaultGraphConfig),y.url("?saved="+t.id),he.restoreState(JSON.parse(t.data)),n||G({saved:t.id},{savedGraph:t})},e.copyToClipboardSavedGraph=function(t){var n=[location.protocol,"//",location.host,location.pathname,"?saved=",t.id].join("");e.copyToClipboard(n)},e.deleteSavedGraph=function(t){S.openSimpleModal({title:N.instant("common.confirm"),message:N.instant("graphexplore.confirm.delete.graph",{graphName:t.name}),warning:!0}).result.then((function(){!function(t){L.deleteSavedGraph(t).success((function(){e.refreshSavedGraphs(),f.success(N.instant("graphexplore.saved.graph.was.deleted",{name:t.name}))})).error((function(e){var t=getError(e);f.error(t,N.instant("graphexplore.error.cannot.delete"))}))}(t)}))},e.openIRI=function(t,n){return n.shiftKey?e.$broadcast("onRootNodeChange",t):window.open(t,"_blank"),!1},e.togglePinAllNodes=function(){Oe();var t=angular.isUndefined(e.numberOfPinnedNodes)||e.numberOfPinnedNodes<=0;e.numberOfPinnedNodes=0,d3.selectAll(".node").each((function(n){n.fixed=t,t?(e.numberOfPinnedNodes++,n.fx=n.x,n.fy=n.y):(n.fx=null,n.fy=null)})),Se.alpha(1).restart()},$("body").on("keydown",(function(t){!A.isActive()&&"input"!==t.target.nodeName&&e.nodeSelected&&(37===t.keyCode?e.rotate(!0):39===t.keyCode&&e.rotate(!1))})),e.getLiteralFromPropValue=function(e){return e.substring(e.indexOf(":")+1)}}function h(e,t,n,r){switch(e.mode=n.mode,e.graph=_.cloneDeep(n.graph),e.graphExists=n.graphExists,e.mode){case"new":e.title=r.instant("graphexplore.create.new.graph"),e.okButtonText=r.instant("common.create.btn");break;case"update":e.title=r.instant("graphexplore.update"),e.okButtonText=r.instant("common.save.btn");break;case"rename":e.title=r.instant("graphexplore.rename"),e.okButtonText=r.instant("common.save.btn")}e.ok=function(){e.form.$valid&&(e.graph.name=i(e.graph.name),t.close({graph:e.graph,mode:e.mode}))},e.saveNew=function(){e.graph.name=i(e.graph.name)+" (new)",t.close({graph:e.graph,mode:"new",restart:!0})},e.cancel=function(){t.dismiss("cancel")};var i=function(e){return e.replace(/\s+/g," ").trim()}}angular.module("graphdb.framework.graphexplore.controllers.graphviz",["ui.scroll.jqlite","ui.scroll","toastr","ui.bootstrap","ngTagsInput","graphdb.framework.utils.localstorageadapter","graphdb.core.services.workbench-context","graphdb.framework.core.services.rdf4j.repositories"]).controller("GraphsVisualizationsCtrl",f).controller("SaveGraphModalCtrl",h).config(["$uibTooltipProvider",function(e){e.options({appendToBody:!0})}]),f.$inject=["$scope","$rootScope","$repositories","$licenseService","toastr","$timeout","ClassInstanceDetailsService","$q","$location","$jwtAuth","UiScrollService","ModalService","$uibModal","$window","LocalStorageAdapter","LSKeys","SavedGraphsRestService","GraphConfigRestService","GraphDataRestService","$translate","GuidesService","WorkbenchContextService","RDF4JRepositoriesService"],h.$inject=["$scope","$uibModalInstance","data","$translate"]},634:function(e,t,n){var r,i;r=[n(644)],void 0===(i=function(){function e(e,t){return e.each((function(){var e=t.apply(this,arguments),n=select(this);for(var r in e)n.attr(r,e[r])}))}function t(e,t){for(var n in t)e.attr(n,t[n]);return e}return"undefined"==typeof d3&&(d3=n(644)),d3.selection.prototype.attrs=function(n){return("function"==typeof n?e:t)(this,n)},d3.selection.prototype.moveToFront=function(){return this.each((function(){d3.select(this.parentNode.appendChild(this))}))},d3.selection.prototype.moveToBack=function(){return this.each((function(){var e=this.parentNode.firstChild;e&&this.parentNode.insertBefore(this,e)}))},d3}.apply(t,r))||(e.exports=i)},647:function(e,t,n){"use strict";n(634);var r=r||{};r.Text=function(){function e(e,t,n,r){n=n||10;var i=t/3;return"string"==typeof e?(i*=10/(e.substring(0,t/3).length+1.5),i+=1,e.match(/[\u0900-\u0DFF\u1100-\u11FF\u2E80-\u2EFF\u3000-\u9FFF]/)&&(i*=.6),i<n&&(i=n),Math.round(i)):(i<n&&(i=n),Math.round(i))}return{calcFontSizeRaw:e,calcFontSize:function(t,n,r,i){return e(t,n,r)+"px"},getTextWithElipsisIfNeeded:function(e,t){return"string"==typeof e&&e.length>t?e.substring(0,t-3)+"...":e}}}(),r.Transition={fadeIn:function(e,t){e.style("opacity",0).transition().duration(t).style("opacity",1)},fadeOut:function(e,t){e.style("opacity",1).transition().duration(t).style("opacity",0)}},r.Click=function(){var e=function(e,n){for(var r,i=1,o=arguments.length;++i<o;)e[r=arguments[i]]=t(e,n,n[r]);return e};function t(e,t,n){return function(){var r=n.apply(t,arguments);return r===t?e:r}}return{delayDblClick:function(){var t=d3.dispatch("click","dblclick");return e((function(e){var n,r=null;e.on("mousedown",(function(){n=d3.pointer(document.body),+new Date})),e.on("mouseup",(function(e,i){var o,a,s;(a=n,s=d3.pointer(document.body),Math.sqrt(Math.pow(a[0]-s[0],2),Math.pow(a[1]-s[1],2))>5)||(r?(window.clearTimeout(r),r=null,t.call("dblclick",e,e,i)):r=window.setTimeout((o=e,function(){t.call("click",o,o,i),r=null}),250))}))}),t,"on")}}}(),t.a=r},658:function(e,t,n){"use strict";t.a=function(){var e=function(){return"n"},t=function(){return[0,0]},n=function(){return" "},r=u(),i=null,o=null,a=null,s=null;function c(e){var t;i="svg"===(t=(t=e).node()).tagName.toLowerCase()?t:t.ownerSVGElement,o=i.createSVGPoint(),document.body.appendChild(r)}c.show=function(){var r=Array.prototype.slice.call(arguments);r[r.length-1]instanceof SVGElement&&(a=r.pop());var i,o=n.apply(this,r),u=t.apply(this,r),f=e.apply(this,r),h=p(),g=d.length,m=document.documentElement.scrollTop||document.body.scrollTop,y=document.documentElement.scrollLeft||document.body.scrollLeft,v=s.apply(this,r);for(h.html(o).style("opacity",1).style("pointer-events","all");g--;)h.classed(d[g],!1);var x=r.filter((function(e){return e instanceof Event}));return i=l.get(f).apply(this,x),v?Object.keys(v).forEach((function(e){h.style(e,v[e])})):h.classed(f,!0).style("top",i.top+u[0]+m+"px").style("left",i.left+u[1]+y+"px"),c},c.hide=function(){return p().style("opacity",0).style("pointer-events","none"),c},c.attr=function(e,t){if(arguments.length<2&&"string"==typeof e)return p().attr(e);var n=Array.prototype.slice.call(arguments);return d3.selection.prototype.attr.apply(p(),n),c},c.style=function(e,t){if(arguments.length<2&&"string"==typeof e)return p().style(e);var n=Array.prototype.slice.call(arguments);return d3.selection.prototype.style.apply(p(),n),c},c.direction=function(t){return arguments.length?(e=null==t?t:h(t),c):e},c.offset=function(e){return arguments.length?(t=null==e?e:h(e),c):t},c.html=function(e){return arguments.length?(n=null==e?e:h(e),c):n},c.customPosition=function(e){return arguments.length?(s=null==e?e:h(e),c):s},c.destroy=function(){return r&&(p().remove(),r=null),c};var l=new Map(Object.entries({n:function(e){var t=f(e);return{top:t.n.y-r.offsetHeight,left:t.n.x-r.offsetWidth/2}},s:function(e){var t=f(e);return{top:t.s.y,left:t.s.x-r.offsetWidth/2}},e:function(e){var t=f(e);return{top:t.e.y-r.offsetHeight/2,left:t.e.x}},w:function(e){var t=f(e);return{top:t.w.y-r.offsetHeight/2,left:t.w.x-r.offsetWidth}},nw:function(e){var t=f(e);return{top:t.nw.y-r.offsetHeight,left:t.nw.x-r.offsetWidth}},ne:function(e){var t=f(e);return{top:t.ne.y-r.offsetHeight,left:t.ne.x}},sw:function(e){var t=f(e);return{top:t.sw.y,left:t.sw.x-r.offsetWidth}},se:function(e){var t=f(e);return{top:t.se.y,left:t.e.x}}})),d=l.keys();function u(){var e=d3.select(document.createElement("div"));return e.style("position","absolute").style("top",0).style("opacity",0).style("pointer-events","none").style("box-sizing","border-box"),e.node()}function p(){return null===r&&(r=u(),document.body.appendChild(r)),d3.select(r)}function f(e){for(var t=a||e.target;void 0===t.getScreenCTM&&"undefined"===t.parentNode;)t=t.parentNode;var n={},r=t.getScreenCTM(),i=t.getBBox(),s=i.width,c=i.height,l=i.x,d=i.y;return o.x=l,o.y=d,n.nw=o.matrixTransform(r),o.x+=s,n.ne=o.matrixTransform(r),o.y+=c,n.se=o.matrixTransform(r),o.x-=s,n.sw=o.matrixTransform(r),o.y-=c/2,n.w=o.matrixTransform(r),o.x+=s,n.e=o.matrixTransform(r),o.x-=s/2,o.y-=c/2,n.n=o.matrixTransform(r),o.y+=c,n.s=o.matrixTransform(r),n}function h(e){return"function"==typeof e?e:function(){return e}}return c}}}]);
|
|
1
|
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[49,348,391],{120:function(e,t,n){"use strict";n.r(t),n.d(t,"removeSpecialChars",(function(){return i})),n.d(t,"toBoolean",(function(){return o})),n.d(t,"toTitleCase",(function(){return a}));var r=n(24),i=function(e){return e.replace(/[()']/g,"")},o=function(e){return"string"==typeof e?"true"===e:Boolean(e)},a=function(e){return e?Object(r.upperFirst)(e.toLowerCase()):e}},160:function(e,t,n){"use strict";n.r(t),n.d(t,"STATIC_RULESETS",(function(){return r})),n.d(t,"REPOSITORY_TYPES",(function(){return i})),n.d(t,"FILENAME_PATTERN",(function(){return o})),n.d(t,"NUMBER_PATTERN",(function(){return a}));var r=[{id:"empty",name:"No inference"},{id:"rdfs-optimized",name:"RDFS (Optimized)"},{id:"rdfs",name:"RDFS"},{id:"rdfsplus-optimized",name:"RDFS-Plus (Optimized)"},{id:"owl-horst-optimized",name:"OWL-Horst (Optimized)"},{id:"owl-horst",name:"OWL-Horst"},{id:"owl2-ql-optimized",name:"OWL2-QL (Optimized)"},{id:"owl2-ql",name:"OWL2-QL"},{id:"owl-max-optimized",name:"OWL-Max (Optimized)"},{id:"owl-max",name:"OWL-Max"},{id:"owl2-rl-optimized",name:"OWL2-RL (Optimized)"},{id:"owl2-rl",name:"OWL2-RL"}],i={graphdbRepo:"graphdb",free:"free",eeWorker:"worker",eeMaster:"master",ontop:"ontop",se:"se",fedx:"fedx"},o=new RegExp("^[a-zA-Z0-9-_]+$"),a=new RegExp("^[0-9]+$")},302:function(e,t,n){"use strict";n.r(t);n(10),n(29),n(60);var r=n(647),i=n(658),o=(n(15),n(160)),a=n(120),s=n(11),c=n(42);function l(e){return function(e){if(Array.isArray(e))return u(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||d(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(e,t){if(e){if("string"==typeof e)return u(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?u(e,t):void 0}}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function p(e){return(p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function f(e,t,n,u,f,h,g,m,y,v,x,S,I,w,k,b,L,C,T,N,A,P,M){e.languageChanged=!1,e.propertiesObj={},e.propertiesObj.items=[],e.propertiesQueryObj={},e.propertiesQueryObj.query="",e.propertiesSearchPlaceholder=N.instant("visual.search.instance.placeholder"),e.propertiesNotFiltered=[],e.searchVisible=!1,e.nodeSelected=!1,e.queryResultsMode=!1,e.embedded=y.search().embedded,e.openedNodeInfoPanel=void 0,e.invalidLimit=!1,e.INVALID_LINKS_MSG=N.instant("sidepanel.invalid.limit.links.msg"),e.INVALID_LINKS_TOOLTIP=N.instant("sidepanel.invalid.limit.links.tooltip"),e.datasource=void 0,e.adapterContainer={adapter:{remain:!0}},e.hasInitedRepository=!1,e.defaultSettings={linksLimit:20,includeInferred:!0,sameAsState:!0,languages:["en"],showLinksText:!0,preferredTypes:[],rejectedTypes:[],preferredPredicates:[],rejectedPredicates:["http://dbpedia.org/property/logo","http://dbpedia.org/property/hasPhotoCollection","http://dbpedia.org/property/website","http://dbpedia.org/property/homepage","http://dbpedia.org/ontology/thumbnail","http://xmlns.com/foaf/0.1/depiction","http://xmlns.com/foaf/0.1/homepage","http://xmlns.com/foaf/0.1/mbox","http://dbpedia.org/ontology/wikiPage*","http://dbpedia.org/property/wikiPage*","http://factforge.net/*"],preferredTypesOnly:!1,preferredPredicatesOnly:!1,includeSchema:!0},e.saveSettings=_.cloneDeep(e.defaultSettings),e.defaultGraphConfig={id:"default",name:"Easy graph",startMode:"search"},t.key="",e.onopen=e.onclose=function(){return angular.noop()},e.goToHome=function(){z(),y.url("graphs-visualizations")},e.shouldShowSettings=function(){return e.configLoaded&&e.configLoaded.id===e.defaultGraphConfig.id},e.shouldDisableSameAs=function(){var t=$("#sameAsCheck");return e.settings&&!e.settings.includeInferred&&t.prop("checked")&&(t.prop("checked",!1),e.settings.sameAsState=!1),e.settings&&!e.settings.includeInferred},e.propertiesFilterFunc=function(t){return t.key.toLowerCase().indexOf(e.propertiesQueryObj.query.toLowerCase())>=0},e.toggleMoreInfo=function(e){angular.element(e.currentTarget).parent().next().toggle(200),angular.element(e.currentTarget).children("span").toggleClass("icon-caret-down").toggleClass("icon-caret-up")},e.copyToClipboard=function(e){S.openCopyToClipboardModal(e)},e.resetSettings=function(){e.settings=_.cloneDeep(e.defaultSettings),e.validateLinksLimit(),B()},e.changeLimit=function(t){var n=e.settings.linksLimit+t;n<1&&(n=1),n>1e3&&(n=1e3),e.settings.linksLimit=n},e.validateLinksLimit=function(){e.invalidLimit=!o.NUMBER_PATTERN.test(e.settings.linksLimit)},e.showSettings=function(){e.showInfoPanel=!0,e.showFilter=!0,e.showNodeInfo=!1,e.showPredicates=!1,e.saveSettings?e.settings=_.cloneDeep(e.saveSettings):e.settings=_.cloneDeep(e.defaultSettings),B()},e.updateSettings=function(){e.invalidLimit?f.error(e.INVALID_LINKS_TOOLTIP,e.INVALID_LINKS_MSG):(e.saveSettings=e.settings,e.saveSettings.languages=_.map(e.saveSettings.languagesMap,(function(e){return e.text})),e.saveSettings.preferredTypes=_.map(e.saveSettings.preferredTypesMap,(function(e){return e.text})),e.saveSettings.rejectedTypes=_.map(e.saveSettings.rejectedTypesMap,(function(e){return e.text})),e.saveSettings.preferredPredicates=_.map(e.saveSettings.preferredPredicatesMap,(function(e){return e.text})),e.saveSettings.rejectedPredicates=_.map(e.saveSettings.rejectedPredicatesMap,(function(e){return e.text})),e.rootNodeIri?U(e.rootNodeIri):e.queryResultsMode&&y.search().query?q(y.search().query,y.search().sameAs,y.search().inference):"query"===e.configLoaded.startMode&&Y(e.configLoaded),F(),e.showInfoPanel=!1,e.showFilter=!1,k.set(b.GRAPHS_VIZ,e.saveSettings))},e.getGraphConfigs=function(t){C.getGraphConfigs().success((function(n){e.graphConfigs=n,t&&t()})).error((function(e){f.error(getError(e),N.instant("graphexplore.error.graph.configs.short.msg"))}))},e.findConfigById=function(t){return t===e.defaultGraphConfig.id?e.defaultGraphConfig:$.grep(e.graphConfigs,(function(e){return e.id===t}))[0]},e.easyGraphSearch=function(t){e.configLoaded=e.defaultGraphConfig,e.openUri(t)},e.deleteConfig=function(t){S.openSimpleModal({title:N.instant("common.confirm"),message:N.instant("graphexplore.delete.graph",{configName:t.name}),warning:!0}).result.then((function(){C.deleteGraphConfig(t).success((function(){e.getGraphConfigs(),e.refreshSavedGraphs()})).error((function(e){f.error(getError(e),N.instant("graphexplore.error.cannot.delete.config"))}))}))},e.goToGraphConfig=function(e){G({config:e.id},{config:e}),z(),Y(e)},e.replaceIRIWithPrefix=function(t){var n=e.namespaces,r=_.findLast(n,(function(e){return 0===t.indexOf(e.uri)}));return r?r.prefix+":"+t.substring(r.uri.length):t};var O=[];O.push(t.$on("$translateChangeSuccess",(function(){e.INVALID_LINKS_MSG=N.instant("sidepanel.invalid.limit.links.msg"),e.INVALID_LINKS_TOOLTIP=N.instant("sidepanel.invalid.limit.links.tooltip"),e.propertiesSearchPlaceholder=N.instant("visual.search.instance.placeholder")}))),O.push(P.onAutocompleteEnabledUpdated((function(t){e.isAutocompleteEnabled=t}))),O.push(P.onSelectedRepositoryIdUpdated((function(t){t?M.getNamespaces(t).then((function(t){e.repositoryNamespaces=t,e.namespaces=t.namespaces})).catch((function(e){var t=getError(e);f.error(t,N.instant("error.getting.namespaces.for.repo"))})):e.repositoryNamespaces=new s.NamespacesListModel}))),O.push(e.$on("repositoryIsSet",(function(t,n){n.newRepo&&(e.hasInitedRepository=!1),ge(n.newRepo),n.newRepo&&(z(),$(".graph-visualization svg").empty(),y.search().query&&(e.goToHome(),W()))})));O.push(t.$watch((function(){return t.key}),(function(){te=0,_.each(e.propertiesObj.items,(function(e){t.key>e&&te++})),ne++})));O.push(e.$watch("propertiesObj.items",(function(){angular.isDefined(e.propertiesObj.items)&&e.propertiesObj.items.length>0&&h((function(){e.adapterContainer.adapter.reload()}),500)})));var E=!1,R=0;function j(e){E&&e.stopPropagation()}document.addEventListener("keydown",j,!0);e.$on("$destroy",(function(){O.forEach((function(e){return e()})),document.removeEventListener("keydown",j,!0)}));var G=function(t,n){e.embedded&&(t.embedded=!0),y.search(t),y.state(n)},z=function(){e.searchVisible=!1,e.nodeSelected=!1,e.configLoaded=null,e.queryResultsMode=!1,e.lastSavedGraphName=null,e.lastSavedGraphId=null,e.shared=!1,e.numberOfPinnedNodes=0,re={},ie=0},D=function(){return A.isActive()?e.defaultSettings:e.saveSettings},F=function(){D().showLinksText?d3.selectAll("svg .link-wrapper text").style("display","block"):d3.selectAll("svg .link-wrapper text").style("display","none")},B=function(){e.settings.languagesMap=_.map(e.settings.languages,(function(e){return{text:e}})),e.settings.preferredTypesMap=_.map(e.settings.preferredTypes,(function(e){return{text:e}})),e.settings.rejectedTypesMap=_.map(e.settings.rejectedTypes,(function(e){return{text:e}})),e.settings.preferredPredicatesMap=_.map(e.settings.preferredPredicates,(function(e){return{text:e}})),e.settings.rejectedPredicatesMap=_.map(e.settings.rejectedPredicates,(function(e){return{text:e}}))},U=function(){e.rootNodeIri&&e.$broadcast("onRootNodeChange",e.rootNodeIri)},W=function(){y.search().query?(e.searchVisible=!1,e.queryResultsMode=!0,q(y.search().query,y.search().sameAs,y.search().inference)):e.$on("onRootNodeChange",(function(t,n){e.loading=!0;var r=D();angular.isDefined(n)&&(e.rootNodeIri=n,T.getInstanceNode({iri:n,config:e.configLoaded?e.configLoaded.id:e.defaultGraphConfig.id,languages:e.shouldShowSettings()?r.languages:[],includeInferred:r.includeInferred,sameAsState:r.sameAsState}).then((function(t){e.nodeSelected=!0,e.searchVisible=!1,null===t.data.types&&(t.data.types="greyColor");var n=(he=new fe).addNode(t.data,ue/2,pe/2);de=se,Me(n,!0)})).catch((function(t){e.loading=!1,f.error(getError(t),N.instant("graphexplore.error.could.not.load.graph"))})))})),y.search().uri&&e.openUri(y.search().uri,!0),y.search().saved&&L.getSavedGraph(y.search().saved).success((function(t){e.loadSavedGraph(t)})).error((function(e){var t=getError(e);f.error(t,N.instant("graphexplore.error.could.not.open"))}))},q=function(t,n,r){var i=D(),o=void 0===n?i.sameAsState:!0===n,a=void 0===r?i.includeInferred:!0===r;e.loading=!0,T.updateGraph({query:t,linksLimit:i.linksLimit,languages:e.shouldShowSettings()?i.languages:[],includeInferred:a,sameAsState:o}).then((function(e){Ae(e)}),(function(t){e.loading=!1,f.error(getError(t.data),N.instant("graphexplore.error.cannot.load.graph"))}))},V=function(e,t){var n=e.split(" ");return t?[n[0],n[1],n[2]].join(">"):[n[0],n[2]].join(">")},H=function(e){return[e.source.iri,e.target.iri].join(">")},K=function(e){if(e.isTriple){var t=document.getElementById(Object(a.removeSpecialChars)(V(e.iri)));if(t&&void 0!==t.__data__.x)return t.__data__.x}return e.x},Z=function(e){if(e.isTriple){var t=document.getElementById(Object(a.removeSpecialChars)(V(e.iri)));if(t&&void 0!==t.__data__.y)return t.__data__.y}return e.y},Q=function(e){var t=e.trim().split(" ");return"<<<".concat(t[0],"> <").concat(t[1],"> <").concat(t[2],">>>")},J=function(e){var t=e.source.isTriple?V(e.source.iri,!0):e.source.iri,n=e.target.isTriple?V(e.target.iri,!0):e.target.iri;return Object(a.removeSpecialChars)("".concat(t,">").concat(n,">marker"))},Y=function(t){e.configLoaded=t,"search"===t.startMode?e.searchVisible=!0:"node"===t.startMode&&t.startIRI?h((function(){e.openUri(t.startIRI,!0)}),0):"query"===t.startMode&&t.startGraphQuery&&(e.loading=!0,C.loadGraphForConfig(t,t.startQueryIncludeInferred,D().linksLimit,t.startQuerySameAs).then((function(e){Ae(e)}),(function(t){e.loading=!1,f.error(getError(t),N.instant("graphexplore.error.graph.load"))})))},X=function(){var t,n;y.search().config?(t=y.search().config,n=W,t===e.defaultGraphConfig.id?Y(e.defaultGraphConfig):C.getConfig(t).then((function(e){Y(e),n()})).catch((function(e){f.error(getError(e),N.instant("graphexplore.error.could.not.load.config",{configId:t}))}))):y.search().query||y.search().uri?(Y(e.defaultGraphConfig),W()):W()};w.onpopstate=function(t){z(),t.state&&(t.state.config?(Y(t.state.config),t.state.uri&&e.openUri(t.state.uri,!0)):t.state.savedGraph&&e.loadSavedGraph(t.state.savedGraph,!0))},e.embedded&&(y.search().query||y.search().uri||y.search().config||y.search().saved)&&(e.noGoHome=!0);var ee,te=0,ne=0,re={},ie=0,oe=16,ae=d3.zoom().scaleExtent([.1,10]),se=d3.zoomIdentity.translate(0,-70).scale(1);ae.on("zoom",(function(e){A.isActive()||(de=e.transform,ee.attr("transform",de))}));var ce,le,de=se,ue=1e3,pe=1e3;function fe(){this.nodes=[],this.links=[],this.tripleNodes=new Map,this.tripleLinksCopy=new Map,this.addNode=function(e,t,n){return e.x=t,e.y=n,this.nodes.push(e),e},this.computeConnectedness=function(){var e={},t={};_.each(this.links,(function(n){var r=n.source.iri,i=n.target.iri,o=_.min([r,i])+"|"+_.max([r,i]);t[o]||(t[o]=1,e[r]=(e[r]||0)+1,e[i]=(e[i]||0)+1)})),_.each(this.links,(function(t){e[t.source.iri]>1&&e[t.target.iri]>1?t.connectedness=Math.min(5,Math.max(e[t.source.iri],e[t.target.iri])-1):t.connectedness=0}))},this.addAndMatchLinks=function(e){var t=this.nodes;Array.prototype.push.apply(this.links,function(e,t){return _.map(e,(function(e){var n={source:e.isTripleSource?ze(e.source):_.find(t,(function(t){return t.iri===e.source})),target:e.isTripleTarget?ze(e.target):_.find(t,(function(t){return t.iri===e.target})),predicates:e.predicates};if(e.isTripleSource||e.isTripleTarget){var r=n.source.isTriple?V(n.source.iri):n.source.iri,i=n.target.isTriple?V(n.target.iri):n.target.iri,o="".concat(r,">").concat(i);if(he.tripleLinksCopy.has(o)){var a,s=he.tripleLinksCopy.get(o);return(a=s[0].predicates).push.apply(a,l(n.predicates)),s.push(n),he.tripleLinksCopy.set(o,s),null}he.tripleLinksCopy.set(o,[n])}return n}))}(e,t));var n,r=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=d(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}(he.tripleLinksCopy.keys());try{for(r.s();!(n=r.n()).done;){var i=n.value;1===he.tripleLinksCopy.get(i).length&&he.tripleLinksCopy.delete(i)}}catch(e){r.e(e)}finally{r.f()}this.links=this.links.filter((function(e){return null!==e})),this.computeConnectedness()};var t=function(e,t){return n(e,t).length};function n(e,t){return _.filter(t,(function(t){return t.source.iri===e.iri||t.target.iri===e.iri}))}this.countLinks=t,this.linksTypes=function(e,t){var r=n(e,t),i=_.map(r,(function(t){return t.source.iri===e.iri?t.target.types:t.source.types}));return _.uniq(_.flatten(i))},this.linksPredicates=function(e,t){var r=n(e,t),i=_.map(r,(function(e){return e.predicates}));return _.uniq(_.flatten(i))},this.removeTriples=function(e){var t=this,n=[];this.tripleNodes.size>0&&e.forEach((function(e){t.tripleNodes.has(e)&&(t.tripleNodes.delete(e),t.links=_.reject(t.links,(function(t){var r=e.split(">"),i=V(t.source.iri),o=V(t.target.iri);if(i===e&&he.tripleNodes.delete(o)){var a=o.split(">");n.push({source:a[0],target:a[1]})}var s=i===e||o===e||t.source.iri===r[0]&&t.target.iri===r[1];return s&&(he.tripleLinksCopy.delete("".concat(i,">").concat(o)),he.tripleLinksCopy.delete("".concat(o,">").concat(i))),s})))})),n.forEach((function(e){t.links=_.reject(t.links,(function(t){return t.source.iri===e.source&&t.target.iri===e.target}))}))},this.removeNode=function(n){var r=[];this.links=_.reject(this.links,(function(e){var t=e.source.iri===n.iri||e.target.iri===n.iri;return t&&(e.target.isTriple&&r.push(V(e.target.iri)),e.source.isTriple||e.target.isTriple||r.push([e.source.iri,e.target.iri].join(">"))),t})),this.removeTriples(r);var i=this.links;this.nodes=_.reject(this.nodes,(function(e){return 0===t(e,i)})),0===this.nodes.length&&(e.nodeSelected=!1),this.computeConnectedness()},this.removeNodeLeafLinks=function(e){var r=[],i=this.links;this.links=_.reject(this.links,(function(o){var a=o.source.iri===e.iri&&1===t(o.target,i)&&!o.target.isTriple||o.target.iri===e.iri&&1===t(o.source,i)&&!o.source.isTriple;if(!a){var s;if(o.source.iri!==e.iri||2!==t(o.target,i)||o.target.isTriple?o.target.iri!==e.iri||2!==t(o.source,i)||o.source.isTriple||(s=n(o.source,i)):s=n(o.target,i),!s)return!1;a=(s[0].source.iri===e.iri||s[0].target.iri)&&(s[1].source.iri===e.iri||s[1].target.iri)}return a&&(o.target.isTriple&&r.push(V(o.target.iri)),o.source.isTriple||o.target.isTriple||r.push([o.source.iri,o.target.iri].join(">"))),a})),this.removeTriples(r),i=this.links,this.nodes=_.reject(this.nodes,(function(n){return 0===t(n,i)&&n.iri!==e.iri})),this.computeConnectedness()},this.addTriple=function(e,t,n){e.x=t,e.y=n,e.weight=0;var r=V(e.iri);if(this.tripleNodes.has(r)){var i=this.tripleNodes.get(r);i.push(e),this.tripleNodes.set(r,i)}else e.weight=10,this.tripleNodes.set(r,[e])},this.copyState=function(){var e=_.map(this.nodes,(function(e){return{iri:e.iri,isTriple:e.isTriple,size:e.size,labels:_.cloneDeep(e.labels),types:_.cloneDeep(e.types),rdfRank:e.rdfRank,x:e.x,y:e.y,fixed:e.fixed}})),t=JSON.stringify(Array.from(this.tripleNodes.entries())),n=JSON.stringify(Array.from(this.tripleLinksCopy.entries()));return{nodes:e,links:_.map(this.links,(function(e){return{source:e.source.iri,isTripleSource:e.source.isTriple,target:e.target.iri,isTripleTarget:e.target.isTriple,predicates:e.predicates}})),tripleNodes:t,tripleLinksCopy:n,colorIndex:ie,type2color:re,transform:de}},this.restoreState=function(t){e.nodeSelected=!0,e.searchVisible=!1,this.nodes=_.cloneDeep(t.nodes),this.tripleNodes=t.tripleNodes?new Map(JSON.parse(t.tripleNodes)):new Map,this.links=[],this.addAndMatchLinks(t.links),this.tripleLinksCopy=t.tripleLinksCopy?new Map(JSON.parse(t.tripleLinksCopy)):new Map,_.each(this.nodes,(function(t){t.fixed&&e.numberOfPinnedNodes++})),angular.isDefined(t.colorIndex)&&angular.isDefined(t.type2color)&&(ie=t.colorIndex,re=_.cloneDeep(t.type2color)),angular.isDefined(t.transform)&&(de=d3.zoomIdentity.translate(t.transform.x,t.transform.y).scale(t.transform.k)),Le()}}e.datasource={get:function(t,n,r){return x.initLazyList(t,n,r,te,e.propertiesObj.items)},revision:function(){return ne}},m.when(v.getPrincipal()).then((function(t){return function(t){var n=t.appSettings;e.defaultSettings.includeInferred=n.DEFAULT_INFERENCE,e.defaultSettings.sameAsState=n.DEFAULT_INFERENCE&&n.DEFAULT_SAMEAS,e.defaultSettings.includeSchema=n.DEFAULT_VIS_GRAPH_SCHEMA;var r=k.get(b.GRAPHS_VIZ);if(r&&"object"===p(r))try{e.saveSettings=r,void 0===e.saveSettings.includeSchema&&(e.saveSettings.includeSchema=e.defaultSettings.includeSchema,e.saveSettings.rejectedPredicates=[].concat(l(e.saveSettings.rejectedPredicates),l(e.defaultSettings.rejectedPredicates)).unique())}catch(t){e.saveSettings=_.cloneDeep(e.defaultSettings),k.set(b.GRAPHS_VIZ,e.saveSettings)}else e.saveSettings=_.cloneDeep(e.defaultSettings)}(t)})),e.showInfoPanel=!1;var he=new fe;function ge(t){!n.getActiveRepository()||e.hasInitedRepository&&!t||(e.hasInitedRepository=!0,t||e.getGraphConfigs(X))}e.addedTag=function(t){return t.text.indexOf(":")<0?(f.warning(N.instant("graphexplore.absolute.prefixed.iri")),null):(t.text=function(e,t){if(!/^<?(http|urn).*>?/.test(e)){var n=e.split(":"),r=n[0],i=n[1];if(!angular.isUndefined(i)){var o=g.getNamespaceUriForPrefix(t,r);if(o)return o+i}}return e}(t.text,e.namespaces),e.pageslideExpanded=!0,t)},e.validateTag=function(e,t,n){if(e.text.indexOf(":")<0)return n?f.warning(N.instant("graphexplore.absolute.prefixed.iri.option"),t):f.warning(N.instant("graphexplore.absolute.prefixed.iri"),t),!1;var r=e.text.indexOf("*");if(r>=0){if(!n)return f.warning(N.instant("graphexplore.wildcards.not.allowed"),t),!1;if(r<e.text.length-1)return f.warning(N.instant("graphexplore.wildcards.last.char"),t),!1}return!0},e.getTagClass=function(e){return e.endsWith("*")?"tag-item-wildcard":null},e.getActiveRepository=function(){return n.getActiveRepository()},e.isLicenseValid=function(){return u.isLicenseValid()},ge();var me=d3.scaleLinear().domain([0,9]).range(["hsl(0, 100%, 75%)","hsl(360, 90%, 82%)"]).interpolate(d3.interpolateHslLong),ye=d3.scaleLinear().domain([0,9]).range(["hsl(180, 50%, 75%)","hsl(540, 40%, 82%)"]).interpolate(d3.interpolateHslLong);e.getColor=function(e){angular.isUndefined(re[e])&&(re[e]=ie,ie++);var t=re[e];return t>39?"#c2c2c2":t%2==0?me(t/2):ye(t/2)};var ve=d3.forceX(ue/2).strength(.005),xe=d3.forceY(pe/2).strength(.005),Se=d3.forceSimulation().force("x",ve).force("y",xe),Ie=d3.select(".main-container .graph-visualization").append("svg").attr("viewBox","0 0 "+ue+" "+pe).attr("preserveAspectRatio","xMidYMid meet");Ie.append("rect").attr("width",10*ue).attr("height",10*pe).attr("x",-(10*ue-ue)/2).attr("y",-(10*pe-pe)/2).style("fill","none").style("pointer-events","all").call(ae).on("click",(function(e){e.stopPropagation(),Oe(),Se.stop()}));var we=0,ke=0,be=new function(){this.state=!1,this.setLoadingState=function(e){this.state=e},this.getLoadingState=function(){return this.state},this.init=function(e,t){d3.select(t).append("circle").attr("cx",(function(){return e.x})).attr("cy",(function(){return e.y})).attr("class","loader-container").attr("r",(function(){return e.size})).style("fill","fff").style("opacity","0.7"),d3.select(t).append("image").attr("xlink:href","js/angular/templates/loader/ot-loader.svg?v=3.0.2").attr("x",(function(){return e.x-e.size+5})).attr("y",(function(){return e.y-e.size})).attr("width",(function(){return 2*e.size})).attr("height",(function(){return 2*e.size})).attr("class","node-loader")}};function Le(t){d3.selectAll("svg g").remove(),d3.selectAll(".d3-tip").remove(),d3.selectAll(".menu-events").remove(),ee=Ie.append("g").attr("class","nodes-container").attr("transform",(function(){return angular.isDefined(de)&&!t?de:""}));var n,o=Object(i.a)().attr("class","d3-tip").customPosition((function(){var e=ce.getBoundingClientRect();return{top:e.bottom+10+"px",left:e.left-30+"px"}})).html((function(t){var n="";return t.fixed&&(n+='<i class="icon-pin"></i> '),t.types.length>0?n+=t.types.map((function(t){return"<div> · ".concat(e.replaceIRIWithPrefix(t),"</div>")})).join(""):n+="<i>".concat(N.instant("visual.node.tooltip.no_types"),"</i>"),n})),s=function(e){var t="";return t+=_.join(_.map(e.predicates,(function(t,n){if(0===n)return $e(t);if(n<10)return" · "+$e(t);if(10===n){var r=function(e){return e.predicates.length-10}(e),i=r>1?r+" predicates":r+" predicate";return" · "+N.instant("graphexplore.tip.text",{textToShow:i})}})),"")},l=Object(i.a)().attr("class","d3-tip").customPosition((function(e){var t=n.getBoundingClientRect(),r=function(e){var t=s(e),n=document.createElement("canvas").getContext("2d");return n.font="13px Arial",e.predicates.length<10?n.measureText(t).width:n.measureText(t).width/2}(e);return{top:t.top-30+"px",left:t.left-30+"px",width:r+"px"}})).html((function(e){return s(e)})),d=function(){h.cancel(void 0),h.cancel(we),ce=null,o.hide(),ke=h((function(){Oe()}),500)};Ie.call(o);Ie.call(l);var u=Ie.selectAll(".link"),p=Ie.selectAll(".node"),g=d3.forceCollide((function(e){return e.size+5})).strength(.5),m=d3.forceManyBody().strength(-300),y=d3.forceCenter(ue/2,pe/2);Se.nodes(he.nodes).force("charge",m).force("collide",g).force("center",y).force("link",d3.forceLink(he.links).distance((function(e){return e.source.isTriple||e.target.isTriple?0:function(e){var t=$("<span></span>"),n=e.predicates[0].split("/"),r=n[n.length-1];t.addClass("predicate-text").text(r),$("body").append(t);var i=t.width()+2*e.source.size+2*e.target.size+50;return t.remove(),.75*i}(e)+30*e.connectedness}))),ee.append("defs").selectAll("marker").data(he.links).enter().append("marker").attr("class","arrow-marker").attr("id",(function(e){return J(e)})).attr("viewBox","0 -5 10 10").attr("refX",(function(e){return e.target.isTriple?11:e.target.size+11})).attr("refY",0).attr("markerWidth",10).attr("markerHeight",10).attr("orient","auto").append("path").attr("d","M0,-5L10,0L0,5 L10,0 L0, -5"),u=ee.selectAll(".link").data(he.links).enter().append("g").attr("class","link-wrapper").attr("id",(function(e){return Object(a.removeSpecialChars)(H(e))})).append("line").attr("class","link").style("stroke-width",1).style("fill","transparent").style("marker-end",(function(e){var t=J(e);return"url(#".concat(t,")")}));var v,x=ee.selectAll(".link-wrapper").append("text").text((function(e){return De(e)})).attr("class",(function(e){return e.predicates.length>1||he.tripleNodes.has(H(e))?"predicates":"predicate"})).attr("dy","-0.5em").style("text-anchor","middle").style("display",D().showLinksText?"":"none").on("mouseover",(function(e,t){e.stopPropagation(),function(e,t){h.cancel(void 0);var r=n=e.target;h((function(){n===r&&t.predicates.length>1&&l.show(t,n)}),300)}(e,t)})).on("mouseout",(function(){h.cancel(void 0),n=null,l.hide()})).on("click",(function(t,n){t.stopPropagation(),function(t,n){Ge();var r=H(n);if(1===n.predicates.length&&he.tripleNodes.has(r)){le=null;var i=he.tripleNodes.get(r)[0];if(_e(i,this,t.button)){var o={};o.iri=i.iri,o.pred=$e(i.iri.split(" ")[1]),Re(o)}return}!function(t){if(e.showNodeInfo=!1,e.showPredicates=t.predicates.length>1,e.showFilter=!1,e.showInfoPanel=!1,le===t)return e.showNodeInfo=!1,e.showInfoPanel=!1,void(le=null);le=t,e.showPredicates&&(e.predicates=_.map(t.predicates,(function(e){var n=function(e,t){var n=H(t);return he.tripleNodes.has(n)?he.tripleNodes.get(n).findIndex((function(t){return t.iri.indexOf(e)>=0})):-1}(e,t),r=n>-1;return{value:$e(e),partOfTriple:r,linkId:r?H(t):"",nodeIndex:n}})),e.showInfoPanel=!0)}(n)}(t,n)})),S=0,I=null,w=null,k=function(t,n,r){var i=r||this.parentNode;Array.isArray(r)&&(i=r[n]),he.countLinks(t,he.links)<=D().linksLimit?Me(t,!1,i):f.info(N.instant("graphexplore.increase.limit"),N.instant("graphexplore.node.at.max")),e.closeInfoPanel()};function b(e,t){var n,r,i,o,a=!0;if("down"===t)n=2*e.size,r=e.size/3,i=.8,o=.3;else if("down-fixed"===t)n=2*e.size,r=e.size,i=.8,o=.66;else if("up"===t)n=e.size/3,r=2*e.size,i=.3,o=.8;else{if("fixed"!==t)return;n=e.size,i=.66,a=!1}var s=ee.selectAll(".node-wrapper").filter((function(t){return t===e})).append("text").text("").classed("icon-any pinned",!0).style("font-size",n+"px").attr("x",(function(e){return e.x})).attr("y",(function(e){return e.y})).attr("opacity",i);"fixed"!==t&&"down-fixed"!==t||(e.pin=s),a&&(s=s.transition().duration(1e3).style("font-size",(function(){return r+"px"})).attr("opacity",o),"down-fixed"!==t&&s.remove())}var L=d3.drag().subject((function(e){return e})).on("start",(function(e,t){if(A.isActive())return;0===e.sourceEvent.button&&(t.fixedBeforeDrag=t.fixed,t.isBeingDragged=!0,t.beginDragging=!0,Oe(),d3.select(this).classed("dragging",!0),Se.alphaTarget(.3).restart())})).on("drag",(function(t,n){n.isBeingDragged&&(n.fx=t.x,n.fy=t.y,n.fixed?n.beginDragging&&b(n,"fixed"):(e.numberOfPinnedNodes++,n.fixed=!0,b(n,"down-fixed")),n.pinWasFixed=!0,n.beginDragging=null)})).on("end",(function(e,t){t.isBeingDragged&&(t.pinWasFixed&&(t.pinWasFixed=null,d3.select(".pinned").remove()),t.isBeingDragged=!1,d3.select(this).classed("dragging",!1));Se.alphaTarget(0)}));p=ee.selectAll(".node").data(he.nodes).enter().append("g").attr("class","node-wrapper").attr("id",(function(e){return e.iri})).append("circle").attr("class","node").attr("r",(function(e){return e.size})).style("fill",(function(t){return"greyColor"===t.types?"c2c2c2":e.getColor(t.types[0])})).on("mouseover",(function(t,n){var r=this;n.isBeingDragged||(h.cancel(ke),we=h((function(){(function(t,n){if(e.showInfoPanel)return!1;(Te.closeIcon||Te.expandIcon||Te.focusIcon||Te.copyURIIcon)&&Te.removeIcons();if(Se.alpha()<.1)return Te.initIcons(t,n.parentNode),Se.stop(),Ce(),!0;return!1})(n,r)&&function(e,t){h.cancel(void 0);var n=ce=t.target;h((function(){ce===n&&o.show(e,ce)}),300)}(n,t)}),400))})).on("mouseout",d).on("click",(function(t,n){if(!t.button||0===t.button){var r=this;if(I&&w===r)return h.cancel(I),I=null,void k(n,0,r.parentNode);w=r,d(),e.showPredicates=!1,A.isActive()||(h.cancel(I),I=h((function(){_e(n,r,t),I=null}),540))}})).on("touchstart",(function(e,t){return function(e){S=0,v=h((function(){S<5&&Ne(e),v=null}),1e3)}(t)})).on("touchmove",(function(){S++})).on("touchend",(function(){h.cancel(v),v=null})).on("contextmenu",(function(t,n){t.shiftKey||(t.preventDefault(),Oe(),e.closeInfoPanel(),n.fixed?(e.numberOfPinnedNodes--,n.fixed=!1,n.fx=null,n.fy=null,b(n,"up"),Se.alpha(1).restart()):(e.numberOfPinnedNodes++,n.fixed=!0,b(n,"down")),function(e){ce&&o.show(e,ce)}(n))})).on("gdb-expand-node",(function(e,t){return k(t,0,e.srcElement.parentNode)})).on("gdb-show-node-info",(function(e,t){return Ee(t)})).call(L);var C=ee.selectAll(".node-wrapper").append("foreignObject").style("pointer-events","none").attr("width",(function(e){return 2*e.size*1.75}));ee.insert("g").attr("class","menu-events"),function(e){e.each((function(e){e.fontSize=r.a.Text.calcFontSizeRaw(e.labels[0].label,e.size,oe,!0)})).attr("height",(function(e){return 3*e.fontSize})).append("xhtml:div").attr("class","node-label-body").style("font-size",(function(e){return e.fontSize+"px"})).append("xhtml:div").html((function(e){return c.HtmlUtil.getText(e.labels[0].label).replaceAll("\n","<br>")}))}(C),Se.on("tick",(function(){u.attr("x1",(function(e){return K(e.source)})).attr("y1",(function(e){return Z(e.source)})).attr("x2",(function(e){return K(e.target)})).attr("y2",(function(e){return Z(e.target)})),x.attr("x",(function(e){var t=K(e.source),n=K(e.target);return e.x=.5*(t+n)})).attr("y",(function(e){var t=Z(e.source),n=Z(e.target);return e.y=.5*(t+n)})).attr("transform",(function(e){return"rotate("+function(e,t){var n={x:K(e.source),y:Z(e.source)},r={x:K(e.target),y:Z(e.target)};if(t)return 180*Math.atan2(r.y-n.y,r.x-n.x)/Math.PI;var i=180*Math.atan2(r.y-n.y,r.x-n.x)/Math.PI;return i<=90&&i>=-90?i:(i>0?-1:1)*(180-Math.abs(i))}(e,e.direction)+", "+e.x+", "+e.y+")"})),p.attr("cx",(function(e){return e.x})).attr("cy",(function(e){return e.y})),ee.select(".node-loader").attr("x",(function(e){return e.x-e.size+3})).attr("y",(function(e){return e.y-e.size})),ee.select(".loader-container").attr("cx",(function(e){return e.x})).attr("cy",(function(e){return e.y})),C.attr("x",(function(e){return e.x-1.75*e.size})).attr("y",(function(e){return e.y-3*e.fontSize/2})),d3.select(".pinned").attr("x",(function(e){return e.x})).attr("y",(function(e){return e.y})),Ce()})),angular.isDefined(be)&&be.setLoadingState(!1),e.loading&&(e.loading=!1),d3.selectAll(".link-wrapper").each((function(){var e=$(this).attr("id").split(">")[0],t=$(this).attr("id").split(">")[1];d3.selectAll(".link").each((function(n){var r=Object(a.removeSpecialChars)(n.source.iri),i=Object(a.removeSpecialChars)(n.target.iri);if(r===t&&i===e){var o=r;o+=">",o+=i;var s=document.createTextNode(" ⟶");document.getElementById(o).lastChild.appendChild(s),n.direction="double"}}))})),d3.selectAll(".d3-actions-tip").remove(),Se.alpha(.3).restart()}function Ce(){t.d3alpha=Se.alpha()}var Te=new function(){function n(e,t){return"translate("+(t.x-14+(t.size+15)*Math.cos(e*Math.PI/180-Math.PI/2))+","+(t.y-14+(t.size+15)*Math.sin(e*Math.PI/180-Math.PI/2))+")"}this.closeIcon=void 0,this.expandIcon=void 0,this.collapseIcon=void 0,this.focusIcon=void 0,this.copyURIIcon=void 0,this.actionsTip=void 0,this.removeIcons=function(){this.closeIcon.remove("g"),this.expandIcon&&this.expandIcon.remove("g"),this.collapseIcon&&this.collapseIcon.remove("g"),this.focusIcon.remove("g"),this.copyURIIcon.remove("g"),this.closeIcon=void 0,this.expandIcon=void 0,this.collapseIcon=void 0,this.focusIcon=void 0,this.copyURIIcon=void 0,this.expandedState=!1},this.expandedState=!1,this.initIcons=function(r,o){var a=Object(i.a)().attr("class","d3-tip d3-actions-tip").customPosition((function(e,t){var n=t.target.getBoundingClientRect();return{top:n.top-20+"px",left:n.right+10+"px"}})).html((function(e){return e}));Ie.call(a);r.isExpanded?(this.collapseIcon=d3.select(".menu-events").append("g").attr("class","collapse-icon").attr("name","collapse").attr("transform",(function(){return n(20,r)})),this.collapseIcon.append("circle").attr("cx",14).attr("cy",14).attr("r",13).style("fill","#eee"),this.collapseIcon.append("path").attr("d","M22.67,12a.59.59,0,0,1-.53.65l-6.88.72H15.2a.59.59,0,0,1-.59-.65l.72-6.88A.58.58,0,0,1,16,5.33a.59.59,0,0,1,.53.65L16,11.11,21.3,5.79a.64.64,0,0,1,.91.91L16.89,12,22,11.49A.59.59,0,0,1,22.67,12ZM12.59,14.75l-6.75.85a.59.59,0,0,0-.51.66.58.58,0,0,0,.66.51l4.95-.62-5.2,5.2a.64.64,0,1,0,.91.91l5.2-5.2L11.23,22a.59.59,0,0,0,.51.66h.07a.59.59,0,0,0,.59-.52l.85-6.75a.59.59,0,0,0-.17-.49A.58.58,0,0,0,12.59,14.75Z").style("fill","var(--primary-color)"),this.collapseIcon.on("click",(function(){var e;(e=r).isExpanded=!1,he.removeNodeLeafLinks(e),Le()})).on("mouseover",(function(e){a.show(this.getAttribute("name"),e),h.cancel(we),h.cancel(ke)})).on("mouseout",(function(){a.hide(),ke=h((function(){Oe()}),500)}))):(this.expandIcon=d3.select(".menu-events").append("g").attr("class","expand-icon").attr("name","expand").attr("transform",(function(){return n(20,r)})),this.expandIcon.append("circle").attr("cx",14).attr("cy",14).attr("r",13).style("fill","#eee"),this.expandIcon.append("path").attr("d","M22.37,6.28l-.72,6.88a.59.59,0,0,1-.59.53H21a.59.59,0,0,1-.53-.65L21,7.9l-5.32,5.32a.64.64,0,0,1-.91-.91L20.1,7,15,7.53a.59.59,0,0,1-.12-1.18l6.88-.72a.59.59,0,0,1,.65.65ZM12.89,20.34,7.95,21l5.2-5.2a.64.64,0,0,0-.91-.91L7,20.05l.62-4.95A.59.59,0,0,0,6.48,15l-.85,6.75a.59.59,0,0,0,.59.67h.07L13,21.52a.59.59,0,1,0-.15-1.18Z").style("fill","var(--primary-color)"),this.expandIcon.on("click",(function(){Me(r,!1,o)})).on("mouseover",(function(e){a.show(this.getAttribute("name"),e),h.cancel(ke),h.cancel(we)})).on("mouseout",(function(){a.hide(),ke=h((function(){Oe()}),500)}))),this.focusIcon=d3.select(".menu-events").append("g").attr("class","focus-icon").attr("name","focus").attr("transform",(function(){return n(20,r)})),this.focusIcon.append("circle").attr("cx",14).attr("cy",14).attr("r",13).style("fill","#eee"),this.focusIcon.append("path").attr("d","M14.2,23.81a9.8,9.8,0,1,1,6.93-2.87h0A9.74,9.74,0,0,1,14.2,23.81Zm0-18.17a8.37,8.37,0,1,0,5.92,14.29h0A8.37,8.37,0,0,0,14.2,5.64Zm1.42,6.95a2,2,0,1,0,0,2.85A2,2,0,0,0,15.62,12.59Z").style("fill","var(--primary-color)"),this.focusIcon.on("click",(function(){t.$broadcast("onRootNodeChange",r.iri)})).on("mouseover",(function(e){a.show(this.getAttribute("name"),e),h.cancel(ke),h.cancel(we)})).on("mouseout",(function(){a.hide(),ke=h((function(){Oe()}),500)})),this.copyURIIcon=d3.select(".menu-events").append("g").attr("class","icon-link").attr("name","link").attr("transform",(function(){return n(20,r)})),this.copyURIIcon.append("circle").attr("cx",14).attr("cy",14).attr("r",13).style("fill","#eee"),this.copyURIIcon.append("path").attr("d","M 13.457031 10.164062 C 13.648438 10.164062 13.820312 10.242188 13.941406 10.363281 L 15.492188 11.859375 C 15.984375 12.332031 16.292969 12.992188 16.292969 13.714844 C 16.292969 14.441406 15.984375 15.097656 15.492188 15.574219 L 10.394531 20.496094 C 9.902344 20.972656 9.222656 21.265625 8.472656 21.265625 C 7.71875 21.265625 7.039062 20.972656 6.546875 20.496094 L 4.996094 19 C 4.507812 18.523438 4.203125 17.867188 4.203125 17.144531 C 4.203125 16.421875 4.507812 15.765625 4.996094 15.289062 L 7.542969 12.824219 C 7.667969 12.707031 7.84375 12.628906 8.035156 12.628906 C 8.417969 12.628906 8.726562 12.929688 8.726562 13.300781 C 8.726562 13.484375 8.648438 13.652344 8.523438 13.773438 L 5.976562 16.234375 C 5.738281 16.46875 5.589844 16.792969 5.589844 17.148438 C 5.589844 17.503906 5.738281 17.824219 5.976562 18.058594 L 7.527344 19.566406 C 7.773438 19.792969 8.105469 19.929688 8.472656 19.929688 C 8.835938 19.929688 9.167969 19.792969 9.414062 19.566406 L 14.511719 14.644531 C 14.753906 14.410156 14.90625 14.089844 14.90625 13.730469 C 14.90625 13.375 14.753906 13.054688 14.511719 12.820312 L 12.964844 11.324219 C 12.839844 11.203125 12.761719 11.039062 12.761719 10.855469 C 12.761719 10.488281 13.070312 10.1875 13.449219 10.1875 Z M 17.082031 3.976562 C 17.082031 3.976562 17.085938 3.976562 17.085938 3.976562 C 17.824219 3.976562 18.492188 4.261719 18.980469 4.722656 L 20.535156 6.203125 C 21.042969 6.679688 21.355469 7.34375 21.355469 8.082031 C 21.355469 8.792969 21.058594 9.441406 20.582031 9.914062 L 18.0625 12.402344 C 17.9375 12.527344 17.761719 12.605469 17.566406 12.605469 C 17.183594 12.605469 16.875 12.304688 16.875 11.9375 C 16.875 11.753906 16.949219 11.589844 17.070312 11.46875 L 19.605469 8.984375 C 19.847656 8.75 19.996094 8.429688 19.996094 8.070312 C 19.996094 7.714844 19.847656 7.394531 19.605469 7.160156 L 18.019531 5.667969 C 17.773438 5.445312 17.4375 5.304688 17.070312 5.300781 C 16.703125 5.304688 16.367188 5.453125 16.128906 5.691406 L 11.085938 10.667969 C 10.84375 10.898438 10.695312 11.222656 10.695312 11.578125 C 10.695312 11.933594 10.84375 12.257812 11.085938 12.488281 L 12.675781 13.980469 C 12.804688 14.101562 12.882812 14.273438 12.882812 14.457031 C 12.882812 14.828125 12.574219 15.128906 12.191406 15.128906 C 12.003906 15.128906 11.832031 15.054688 11.707031 14.9375 L 10.140625 13.457031 C 9.636719 12.980469 9.324219 12.316406 9.324219 11.582031 C 9.324219 10.863281 9.621094 10.214844 10.101562 9.742188 L 15.140625 4.765625 C 15.625 4.285156 16.304688 3.980469 17.054688 3.976562 Z M 17.082031 3.976562").style("fill","var(--primary-color)"),this.copyURIIcon.on("click",(function(){e.copyToClipboard(r.iri),Oe(),a.hide()})).on("mouseover",(function(e){a.show("<div style='text-align: center;'><b>Copy to ClipBoard</b><br>"+r.iri+"</div>",e),h.cancel(ke),h.cancel(we)})).on("mouseout",(function(){a.hide(),ke=h((function(){Oe()}),500)})),this.closeIcon=d3.select(".menu-events").append("g").attr("class","close-icon").attr("name","remove").attr("transform",(function(){return n(20,r)})),this.closeIcon.append("circle").attr("cx",14).attr("cy",14).attr("r",13).style("fill","#eee"),this.closeIcon.append("path").attr("d","M14.94,14l5.87-5.87a.66.66,0,1,0-.94-.94L14,13.06,8.13,7.19a.66.66,0,0,0-.94.94L13.06,14,7.19,19.87a.66.66,0,1,0,.94.94L14,14.94l5.87,5.87a.66.66,0,1,0,.94-.94Z").style("fill","var(--primary-color)"),this.closeIcon.on("click",(function(){Ne(r)})).on("mouseover",(function(e){a.show(this.getAttribute("name"),e),h.cancel(ke),h.cancel(we)})).on("mouseout",(function(){a.hide(),ke=h((function(){Oe()}),500)})),this.animateMenu(r)},this.animateMenu=function(e){var t=d3.easeSin,r=0,i=20;this.expandIcon&&this.expandIcon.transition().duration(100).style("opacity",1).ease(t).attr("transform",(function(){return n(i,e)})).delay(r+=35),this.collapseIcon&&this.collapseIcon.transition().duration(100).style("opacity",1).ease(t).attr("transform",(function(){return n(i,e)})).delay(r+=35),this.copyURIIcon.transition().duration(100).style("opacity",1).ease(t).attr("transform",(function(){return n(i+=30,e)})).delay(r+=35),this.focusIcon.transition().duration(100).style("opacity",1).ease(t).attr("transform",(function(){return n(i+=30,e)})).delay(r+=35),this.closeIcon.transition().duration(100).style("opacity",1).ease(t).attr("transform",(function(){return n(i+=30,e)})).delay(r+=35),this.expandedState=!0}};function _e(n,r,i){return e.showInfoPanel=!1,e.showPredicates=!1,e.showNodeInfo=!1,i.shiftKey&&(i.ctrlKey||i.metaKey)?(t.$broadcast("onRootNodeChange",n.iri),!1):i.ctrlKey||i.metaKey?(Ne(n),!1):void 0!==e.openedNodeInfoPanel&&e.openedNodeInfoPanel===n?(e.pageslideExpanded=!1,e.openedNodeInfoPanel=void 0,!1):(Ee(n),!0)}function Ne(e){he.removeNode(e),Le()}function Ae(t){!function(t){e.nodeSelected=!0,null===t.data.types&&(t.data.types="greyColor"),he=new fe,de=se}(t),Pe(t)}function Pe(t,n,r){var i=t.data;i=_.filter(i,(function(e){return-1===_.findIndex(he.links,(function(t){return e.source===t.source.iri&&e.target===t.target.iri}))}));for(var o=[],a=he.tripleLinksCopy.values(),s=0;s<he.tripleLinksCopy.size;s++){a.next().value.forEach((function(e){o.push(e)}))}i=_.filter(i,(function(e){return-1===_.findIndex(o,(function(t){return e.source===t.source.iri&&e.target===t.target.iri}))})),i=_.filter(i,(function(e){return e.source!==e.target}));for(var c,l,d,u=(c="iri",l=_.union(_.flatten(_.map(t.data,(function(e){return[{iri:e.source,isTriple:e.isTripleSource},{iri:e.target,isTriple:e.isTripleTarget}]})))),d=l.map((function(e){return e[c]})),l.filter((function(e,t){return d.indexOf(e[c])===t}))),p=_.map(he.nodes,(function(e){return{iri:e.iri,isTriple:Boolean(e.isTriple)}})),h=he.tripleNodes.values(),g=0;g<he.tripleNodes.size;g++){h.next().value.forEach((function(e){p.push({iri:e.iri,isTriple:e.isTriple})}))}var y=_.reject(u,(function(e){return _.some(p,e)}));if(0===y.length)(r||0===i.length)&&f.info(N.instant("graphexplore.error.node.connections")),he.addAndMatchLinks(i),Le();else{var v=[],x=[],S=D();_.forEach(y,(function(t,n){v.push(T.getInstanceNode({iri:t.isTriple?Q(t.iri):t.iri,config:e.configLoaded.id,languages:e.shouldShowSettings()?S.languages:[],includeInferred:S.includeInferred,sameAsState:S.sameAsState}).then((function(e){x[n]=e.data})))})),m.all(v).then((function(){_.forEach(x,(function(e,t){var r=2*Math.PI*t/x.length,i=(n?n.x:0)+Math.cos(r)*pe/3,o=(n?n.y:0)+Math.sin(r)*pe/3;e.isTriple?he.addTriple(e,i,o):he.addNode(e,i,o)})),he.addAndMatchLinks(i),n&&(n.isExpanded=!0),Le()}))}}function Me(t,n,r){if(!be.getLoadingState()){be.init(t,r);var i=D(),o=t.iri;T.getInstanceNodeLinks({iri:o,linksLimit:i.linksLimit,includeInferred:i.includeInferred,config:e.configLoaded.id,preferredTypes:e.shouldShowSettings()?i.preferredTypes:[],rejectedTypes:e.shouldShowSettings()?i.rejectedTypes:[],preferredPredicates:e.shouldShowSettings()?i.preferredPredicates:[],rejectedPredicates:e.shouldShowSettings()?i.rejectedPredicates:[],preferredTypesOnly:e.shouldShowSettings()?i.preferredTypesOnly:[],preferredPredicatesOnly:e.shouldShowSettings()?i.preferredPredicatesOnly:[],languages:e.shouldShowSettings()?i.languages:[],sameAsState:i.sameAsState,includeSchema:i.includeSchema}).then((function(e){Pe(e,t,n)}),(function(t){var n=getError(t.data);f.error(n,N.instant("graphexplore.error.exploring.node")),e.loading=!1,be.setLoadingState(!1)}))}}function Oe(){angular.isDefined(Te)&&Te.expandedState&&Te.removeIcons()}function Ee(t){Se.stop(),e.openedNodeInfoPanel=t,e.showNodeInfo=!0,e.showFilter=!1,e.showPredicates=!1,e.nodeLabels=t.labels,e.nodeTypes=t.types,e.rdfRank=t.rdfRank,e.nodeIri=t.iri,e.resourceType=t.isTriple?"triple":"uri",e.encodedIri=t.isTriple?encodeURIComponent(Q(t.iri)):encodeURIComponent(t.iri),e.showInfoPanel=!0,e.rdfsLabel=t.labels[0].label,e.rdfsComment=t.comment,e.expanded=!1,e.propertiesQueryObj.query="",e.dataNodeKeysQuery="";var n=D();T.getProperties({iri:t.isTriple?Q(t.iri):t.iri,config:e.configLoaded.id,languages:e.shouldShowSettings()?n.languages:[],includeInferred:n.includeInferred,sameAsState:n.sameAsState,rejectedPredicates:e.shouldShowSettings()?n.rejectedPredicates:[]}).then((function(t){e.data=_.mapKeys(t.data,(function(t,n){return e.replaceIRIWithPrefix(n)})),e.propertiesObj.items=[],_.forEach(e.data,(function(t,n){e.propertiesObj.items.push({key:n,value:t})})),e.nodeImage=void 0,e.propertiesNotFiltered=e.propertiesObj.items;var n=_.find(e.propertiesObj.items,(function(e){return"image"===e.key}));n&&(e.nodeImage=n.value[0].v),e.propertiesObj.items=_.reject(e.propertiesObj.items,(function(e){return"image"===e.key})),e.propertiesNotFiltered=e.propertiesObj.items}),(function(e){f.warning(getError(e.data),"Error")}))}function Re(e){je("predicate","var(--primary-color-dark)",e),je("predicates","var(--primary-color-dark)",e);var t=document.getElementsByClassName("link");t&&_.each(t,(function(t){var n=t.__data__;(n.source.iri.indexOf(e.iri)>=0||n.target.iri.indexOf(e.iri)>=0)&&(t.style.stroke="var(--primary-color-dark)",t.style.strokeWidth=4)}));var n=document.getElementsByClassName("arrow-marker");n&&_.each(n,(function(t){var n=t.__data__;(n.source.iri.indexOf(e.iri)>=0||n.target.iri.indexOf(e.iri)>=0)&&(t.style.stroke="var(--primary-color-dark)",t.__data__.target.isTriple||t.setAttribute("refX","23"))}))}function je(e,t,n){var r=document.getElementsByClassName(e);r&&_.each(r,(function(e){var r=e.__data__;n?((r.source.iri.indexOf(n.iri)>=0||r.target.iri.indexOf(n.iri)>=0)&&(e.style.fill=t),V(n.iri)===H(r)&&(e.textContent=n.pred,e.style.fill=t),n.oppLinkIRI&&n.oppLinkIRI===H(r)&&(e.textContent=n.oppTriplePred,e.style.fill=t)):(e.style.fill=t,e.textContent=De(r))}))}function Ge(){_.each(e.predicates,(function(e){var t=document.getElementById(e.linkId+e.nodeIndex);t&&(t.style.fontWeight="normal")}));var t=document.getElementsByClassName("link");t&&_.each(t,(function(e){e.style.stroke="#999",e.style.strokeWidth=1})),je("predicate",""),je("predicates","");var n=document.getElementsByClassName("arrow-marker");n&&_.each(n,(function(e){e.style.stroke="#999",e.__data__.target.isTriple||e.setAttribute("refX","59")}))}function ze(e){var t=V(e);if(he.tripleNodes.has(t))return he.tripleNodes.get(t).find((function(t){return t.iri===e}))}function De(e){return e.predicates.length>1?e.predicates.length+" predicates":$e(e.predicates[0])}function $e(t){var n=e.replaceIRIWithPrefix(t);return n.length===t.length?t.split("/")[t.split("/").length-1]:n}e.toggleSidePanel=function(){e.pageslideExpanded=!e.pageslideExpanded},e.closeInfoPanel=function(){e.pageslideExpanded=!1,e.openedNodeInfoPanel=void 0,e.predicates=[],le=null,h((function(){e.showInfoPanel=!1}))},e.clickLink=function(t){if(he.tripleNodes.has(t.linkId)){Ge();var n=he.tripleNodes.get(t.linkId)[t.nodeIndex];Ee(n),e.showPredicates=!0;var r=document.getElementById(t.linkId+t.nodeIndex);r&&(r.style.fontWeight="bold");for(var i={},o=he.tripleLinksCopy.values(),a=function(){var e=o.next().value;e.length>1&&e.every((function(t){return t.source.iri===n.iri?(i.iri=e[0].source.iri,t.target.isTriple&&(i.oppLinkIRI=V(t.target.iri),i.oppTriplePred=$e(t.target.iri.split(" ")[1])),i.pred=$e(n.iri.split(" ")[1]),1===t.predicates.length&&(i.linkPred=t.predicates[0]),!1):t.target.iri!==n.iri||(i.iri=e[0].target.iri,t.source.isTriple&&(i.oppLinkIRI=V(t.source.iri),i.oppTriplePred=$e(t.source.iri.split(" ")[1])),i.pred=$e(n.iri.split(" ")[1]),1===t.predicates.length&&(i.linkPred=t.predicates[0]),!1)}))},s=0;s<he.tripleLinksCopy.size;s++)a();i.iri||(i.iri=n.iri,i.pred=$e(n.iri.split(" ")[1])),Re(i)}},e.splitPredicate=function(e){return e.split("/")[e.split("/").length-1]},e.getActiveRepository=function(){return n.getActiveRepository()},e.isLoadingLocation=function(){return n.isLoadingLocation()},e.hasActiveLocation=function(){return n.hasActiveLocation()},e.rotate=function(e){Oe();var t=10*(e?1:-1)*Math.PI/180,n=Math.cos(t),r=Math.sin(t),i=ue/2,o=pe/2;d3.selectAll(".node-wrapper").each((function(e){e.x=i+(n*(e.x-i)+r*(e.y-o)),e.y=o+(-r*(e.x-i)+n*(e.y-o)),e.fixed&&(e.fx=e.x,e.fy=e.y)})),Se.alpha(1).restart()},e.openUri=function(t,n){if(!n){var r={};e.configLoaded.id!==e.defaultGraphConfig.id&&(r.config=e.configLoaded.id),r.uri=t,G(r,{uri:t,config:e.configLoaded})}e.$broadcast("onRootNodeChange",t)},e.saveOrUpdateGraph=function(){var t=JSON.stringify(he.copyState()),n={id:e.lastSavedGraphId,name:e.lastSavedGraphName,data:t,shared:e.shared};n.id?e.saveGraphModal("update",n):e.saveGraphModal("new",n)},e.renameSavedGraph=function(t){e.saveGraphModal("rename",{id:t.id,name:t.name,config:t.config,shared:t.shared})};var Fe=function(t){L.editSavedGraph(t).success((function(){e.lastSavedGraphName=t.name,e.shared=t.shared,e.refreshSavedGraphs(),f.success(N.instant("graphexplore.saved.graph.was.edited",{name:t.name}))})).error((function(e){var t=getError(e);f.error(t,N.instant("graphexplore.error.cannot.edit"))}))};e.saveGraphModal=function(t,n,r){var i=I.open({templateUrl:"js/angular/graphexplore/templates/modal/save-graph.html",controller:"SaveGraphModalCtrl",resolve:{data:function(){return{mode:t,graph:n,graphExists:r,shared:n.shared}}}});R++,E=!0,i.result.then((function(t){if(t.restart)e.saveGraphModal(t.mode,t.graph,!1);else switch(t.mode){case"new":!function(t){e.configLoaded&&(t.config=e.configLoaded.id),L.addNewSavedGraph(t).success((function(n,r,i){e.lastSavedGraphName=t.name,e.lastSavedGraphId=i()["x-saved-graph-id"],e.shared=t.shared,e.refreshSavedGraphs(),f.success(N.instant("graphexplore.saved.graph",{name:t.name}))})).error((function(n,r){if(422===r)e.saveGraphModal("new",t,!0);else{var i=getError(n);f.error(i,N.instant("graphexplore.error.cannot.create.graph"))}}))}(t.graph);break;case"update":case"rename":Fe(t.graph)}})).finally((function(){--R<=0&&(E=!1,R=0)}))},e.refreshSavedGraphs=function(){L.getSavedGraphs().success((function(t){e.savedGraphs=t})).error((function(e){var t=getError(e);f.error(t,N.instant("graphexplore.error.getting.saved.graphs"))}))},e.loadSavedGraph=function(t,n){t.owner?(e.lastSavedGraphName=t.name,e.lastSavedGraphId=t.id,e.shared=t.shared,e.configLoaded=e.findConfigById(t.config)):(e.lastSavedGraphName=null,e.lastSavedGraphId=null,e.shared=t.shared),e.configLoaded||(e.configLoaded=e.defaultGraphConfig),y.url("?saved="+t.id),he.restoreState(JSON.parse(t.data)),n||G({saved:t.id},{savedGraph:t})},e.copyToClipboardSavedGraph=function(t){var n=[location.protocol,"//",location.host,location.pathname,"?saved=",t.id].join("");e.copyToClipboard(n)},e.deleteSavedGraph=function(t){S.openSimpleModal({title:N.instant("common.confirm"),message:N.instant("graphexplore.confirm.delete.graph",{graphName:t.name}),warning:!0}).result.then((function(){!function(t){L.deleteSavedGraph(t).success((function(){e.refreshSavedGraphs(),f.success(N.instant("graphexplore.saved.graph.was.deleted",{name:t.name}))})).error((function(e){var t=getError(e);f.error(t,N.instant("graphexplore.error.cannot.delete"))}))}(t)}))},e.openIRI=function(t,n){return n.shiftKey?e.$broadcast("onRootNodeChange",t):window.open(t,"_blank"),!1},e.togglePinAllNodes=function(){Oe();var t=angular.isUndefined(e.numberOfPinnedNodes)||e.numberOfPinnedNodes<=0;e.numberOfPinnedNodes=0,d3.selectAll(".node").each((function(n){n.fixed=t,t?(e.numberOfPinnedNodes++,n.fx=n.x,n.fy=n.y):(n.fx=null,n.fy=null)})),Se.alpha(1).restart()},$("body").on("keydown",(function(t){!A.isActive()&&"input"!==t.target.nodeName&&e.nodeSelected&&(37===t.keyCode?e.rotate(!0):39===t.keyCode&&e.rotate(!1))})),e.getLiteralFromPropValue=function(e){return e.substring(e.indexOf(":")+1)}}function h(e,t,n,r){switch(e.mode=n.mode,e.graph=_.cloneDeep(n.graph),e.graphExists=n.graphExists,e.mode){case"new":e.title=r.instant("graphexplore.create.new.graph"),e.okButtonText=r.instant("common.create.btn");break;case"update":e.title=r.instant("graphexplore.update"),e.okButtonText=r.instant("common.save.btn");break;case"rename":e.title=r.instant("graphexplore.rename"),e.okButtonText=r.instant("common.save.btn")}e.ok=function(){e.form.$valid&&(e.graph.name=i(e.graph.name),t.close({graph:e.graph,mode:e.mode}))},e.saveNew=function(){e.graph.name=i(e.graph.name)+" (new)",t.close({graph:e.graph,mode:"new",restart:!0})},e.cancel=function(){t.dismiss("cancel")};var i=function(e){return e.replace(/\s+/g," ").trim()}}angular.module("graphdb.framework.graphexplore.controllers.graphviz",["ui.scroll.jqlite","ui.scroll","toastr","ui.bootstrap","ngTagsInput","graphdb.framework.utils.localstorageadapter","graphdb.core.services.workbench-context","graphdb.framework.core.services.rdf4j.repositories"]).controller("GraphsVisualizationsCtrl",f).controller("SaveGraphModalCtrl",h).config(["$uibTooltipProvider",function(e){e.options({appendToBody:!0})}]),f.$inject=["$scope","$rootScope","$repositories","$licenseService","toastr","$timeout","ClassInstanceDetailsService","$q","$location","$jwtAuth","UiScrollService","ModalService","$uibModal","$window","LocalStorageAdapter","LSKeys","SavedGraphsRestService","GraphConfigRestService","GraphDataRestService","$translate","GuidesService","WorkbenchContextService","RDF4JRepositoriesService"],h.$inject=["$scope","$uibModalInstance","data","$translate"]},634:function(e,t,n){var r,i;r=[n(644)],void 0===(i=function(){function e(e,t){return e.each((function(){var e=t.apply(this,arguments),n=select(this);for(var r in e)n.attr(r,e[r])}))}function t(e,t){for(var n in t)e.attr(n,t[n]);return e}return"undefined"==typeof d3&&(d3=n(644)),d3.selection.prototype.attrs=function(n){return("function"==typeof n?e:t)(this,n)},d3.selection.prototype.moveToFront=function(){return this.each((function(){d3.select(this.parentNode.appendChild(this))}))},d3.selection.prototype.moveToBack=function(){return this.each((function(){var e=this.parentNode.firstChild;e&&this.parentNode.insertBefore(this,e)}))},d3}.apply(t,r))||(e.exports=i)},647:function(e,t,n){"use strict";n(634);var r=r||{};r.Text=function(){function e(e,t,n,r){n=n||10;var i=t/3;return"string"==typeof e?(i*=10/(e.substring(0,t/3).length+1.5),i+=1,e.match(/[\u0900-\u0DFF\u1100-\u11FF\u2E80-\u2EFF\u3000-\u9FFF]/)&&(i*=.6),i<n&&(i=n),Math.round(i)):(i<n&&(i=n),Math.round(i))}return{calcFontSizeRaw:e,calcFontSize:function(t,n,r,i){return e(t,n,r)+"px"},getTextWithElipsisIfNeeded:function(e,t){return"string"==typeof e&&e.length>t?e.substring(0,t-3)+"...":e}}}(),r.Transition={fadeIn:function(e,t){e.style("opacity",0).transition().duration(t).style("opacity",1)},fadeOut:function(e,t){e.style("opacity",1).transition().duration(t).style("opacity",0)}},r.Click=function(){var e=function(e,n){for(var r,i=1,o=arguments.length;++i<o;)e[r=arguments[i]]=t(e,n,n[r]);return e};function t(e,t,n){return function(){var r=n.apply(t,arguments);return r===t?e:r}}return{delayDblClick:function(){var t=d3.dispatch("click","dblclick");return e((function(e){var n,r=null;e.on("mousedown",(function(){n=d3.pointer(document.body),+new Date})),e.on("mouseup",(function(e,i){var o,a,s;(a=n,s=d3.pointer(document.body),Math.sqrt(Math.pow(a[0]-s[0],2),Math.pow(a[1]-s[1],2))>5)||(r?(window.clearTimeout(r),r=null,t.call("dblclick",e,e,i)):r=window.setTimeout((o=e,function(){t.call("click",o,o,i),r=null}),250))}))}),t,"on")}}}(),t.a=r},658:function(e,t,n){"use strict";t.a=function(){var e=function(){return"n"},t=function(){return[0,0]},n=function(){return" "},r=u(),i=null,o=null,a=null,s=null;function c(e){var t;i="svg"===(t=(t=e).node()).tagName.toLowerCase()?t:t.ownerSVGElement,o=i.createSVGPoint(),document.body.appendChild(r)}c.show=function(){var r=Array.prototype.slice.call(arguments);r[r.length-1]instanceof SVGElement&&(a=r.pop());var i,o=n.apply(this,r),u=t.apply(this,r),f=e.apply(this,r),h=p(),g=d.length,m=document.documentElement.scrollTop||document.body.scrollTop,y=document.documentElement.scrollLeft||document.body.scrollLeft,v=s.apply(this,r);for(h.html(o).style("opacity",1).style("pointer-events","all");g--;)h.classed(d[g],!1);var x=r.filter((function(e){return e instanceof Event}));return i=l.get(f).apply(this,x),v?Object.keys(v).forEach((function(e){h.style(e,v[e])})):h.classed(f,!0).style("top",i.top+u[0]+m+"px").style("left",i.left+u[1]+y+"px"),c},c.hide=function(){return p().style("opacity",0).style("pointer-events","none"),c},c.attr=function(e,t){if(arguments.length<2&&"string"==typeof e)return p().attr(e);var n=Array.prototype.slice.call(arguments);return d3.selection.prototype.attr.apply(p(),n),c},c.style=function(e,t){if(arguments.length<2&&"string"==typeof e)return p().style(e);var n=Array.prototype.slice.call(arguments);return d3.selection.prototype.style.apply(p(),n),c},c.direction=function(t){return arguments.length?(e=null==t?t:h(t),c):e},c.offset=function(e){return arguments.length?(t=null==e?e:h(e),c):t},c.html=function(e){return arguments.length?(n=null==e?e:h(e),c):n},c.customPosition=function(e){return arguments.length?(s=null==e?e:h(e),c):s},c.destroy=function(){return r&&(p().remove(),r=null),c};var l=new Map(Object.entries({n:function(e){var t=f(e);return{top:t.n.y-r.offsetHeight,left:t.n.x-r.offsetWidth/2}},s:function(e){var t=f(e);return{top:t.s.y,left:t.s.x-r.offsetWidth/2}},e:function(e){var t=f(e);return{top:t.e.y-r.offsetHeight/2,left:t.e.x}},w:function(e){var t=f(e);return{top:t.w.y-r.offsetHeight/2,left:t.w.x-r.offsetWidth}},nw:function(e){var t=f(e);return{top:t.nw.y-r.offsetHeight,left:t.nw.x-r.offsetWidth}},ne:function(e){var t=f(e);return{top:t.ne.y-r.offsetHeight,left:t.ne.x}},sw:function(e){var t=f(e);return{top:t.sw.y,left:t.sw.x-r.offsetWidth}},se:function(e){var t=f(e);return{top:t.se.y,left:t.e.x}}})),d=l.keys();function u(){var e=d3.select(document.createElement("div"));return e.style("position","absolute").style("top",0).style("opacity",0).style("pointer-events","none").style("box-sizing","border-box"),e.node()}function p(){return null===r&&(r=u(),document.body.appendChild(r)),d3.select(r)}function f(e){for(var t=a||e.target;void 0===t.getScreenCTM&&"undefined"===t.parentNode;)t=t.parentNode;var n={},r=t.getScreenCTM(),i=t.getBBox(),s=i.width,c=i.height,l=i.x,d=i.y;return o.x=l,o.y=d,n.nw=o.matrixTransform(r),o.x+=s,n.ne=o.matrixTransform(r),o.y+=c,n.se=o.matrixTransform(r),o.x-=s,n.sw=o.matrixTransform(r),o.y-=c/2,n.w=o.matrixTransform(r),o.x+=s,n.e=o.matrixTransform(r),o.x-=s/2,o.y-=c/2,n.n=o.matrixTransform(r),o.y+=c,n.s=o.matrixTransform(r),n}function h(e){return"function"==typeof e?e:function(){return e}}return c}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[490],{628:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/ttyg/no-agents-view.css?v=3.0.2
|
|
1
|
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[490],{628:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/ttyg/no-agents-view.css?v=3.0.2" rel="stylesheet"/>\n\n<div class="no-agents-view-component">\n <div class="content">\n <div class="alert alert-help mb-3" ng-bind-html="\'ttyg.agent.messages.help_1\' | translate | trustAsHtml"></div>\n <div class="alert alert-help mb-3" ng-bind-html="\'ttyg.agent.messages.help_2\' | translate | trustAsHtml"></div>\n\n <div class="actions">\n <button class="btn btn-outline-primary btn-lg text-xs-left create-agent-btn"\n gdb-tooltip="{{!canModifyAgent ? (\'ttyg.agent.fat_btn.create_agent.tooltip_disabled\' | translate) : \'\'}}"\n ng-disabled="!canModifyAgent"\n ng-click="onCreateAgent()" guide-selector="create-agent-btn">\n <i class="fa fa-message-bot fa-xl"></i>\n <span class="text">{{\'ttyg.agent.fat_btn.create_agent.label\' | translate}}</span>\n </button>\n </div>\n\n <div class="alert alert-warning mt-3">\n <div ng-bind-html="\'ttyg.agent.messages.help_config\' | translate: {talkToGraphDocumentationLink: talkToGraphDocumentationLink} | trustAsHtml"></div>\n </div>\n </div>\n</div>\n';return __p}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[491],{629:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/ttyg/ttyg.css?v=3.0.2
|
|
1
|
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[491],{629:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/ttyg/ttyg.css?v=3.0.2" rel="stylesheet"/>\n\n<div class="ttyg-view" ng-class="{\'help-visible\': isHelpVisible}">\n <h1 id="ttyg-view-title">\n {{ title }}\n <page-info-tooltip></page-info-tooltip>\n </h1>\n\n <div core-errors></div>\n\n <div uib-collapse="!isHelpVisible" class="alert alert-info">\n <button type="button" ng-click="isHelpVisible = false" gdb-tooltip="{{\'common.close\' | translate}}" class="close"\n aria-label="Close"></button>\n <div ng-include="helpTemplateUrl"></div>\n </div>\n\n <div onto-loader-new\n ng-show="loadingAgents"\n class="ttyg-page-loader"\n size="100">\n </div>\n\n <no-agents-view ng-cloak ng-if="initialized && getActiveRepository() && !loadingAgents && !reloadingAgents && (!agents || agents.isEmpty())"></no-agents-view>\n\n <div id="ttyg-container" class="ttyg-container" ng-show="getActiveRepository() && !loadingAgents && agents && !agents.isEmpty()">\n\n <div id="left-sidebar" class="left-sidebar sidebar" ng-class="showChats ? \'expanded\' : \'collapsed\'">\n <div class="toolbar">\n <button class="btn btn-link btn-sm toggle-chats-sidebar-btn"\n ng-if="true"\n ng-click="toggleChatsListSidebar()"\n ng-disabled="false"\n gdb-tooltip="{{\'ttyg.chat.btn.\' + (showChats ? \'close_sidebar\' : \'open_sidebar\') + \'.tooltip\' | translate}}">\n <i class="fa fa-sidebar"></i>\n </button>\n <button class="btn btn-link btn-sm create-chat-btn" guide-selector="create-chat-btn"\n ng-if="chats && !chats.isEmpty()"\n ng-click="startNewChat()"\n ng-disabled="false"\n gdb-tooltip="{{\'ttyg.chat.btn.create_chat.tooltip\' | translate}}">\n <i class="fa fa-pen-to-square"></i>\n </button>\n </div>\n <pageslide\n ps-class="chat-list-panel slide-panel"\n ps-container="left-sidebar"\n ps-open="showChats"\n onopen="onopen"\n onclose="onclose"\n ps-side="left"\n ps-click-outside="false"\n ps-size="80vw">\n <div class="sidebar-content">\n <chat-list ng-if="chats"></chat-list>\n <div class="chat-list-panel-loader" ng-if="!chats && loadingChats">\n <div onto-loader-fancy message="{{\'ttyg.chat.loading_chats\' | translate}}"\n size="25"></div>\n </div>\n </div>\n </pageslide>\n </div>\n\n <div class="chat-content">\n <div class="chat">\n <div class="toolbar mb-2">\n <agent-select-menu class="mr-1"></agent-select-menu>\n <button class="btn btn-link btn-sm edit-current-agent-btn mr-1" guide-selector="edit-current-agent"\n ng-if="selectedAgent"\n ng-click="onOpenAgentSettings()"\n ng-disabled="!canModifyAgent"\n gdb-tooltip="{{ (canModifyAgent ? \'ttyg.agent.btn.edit_agent.tooltip\' : \'ttyg.agent.btn.edit_agent.tooltip_disabled\') | translate}}">\n <i class="icon-settings"></i>\n </button>\n </div>\n\n <div uib-collapse="!isCollapsed" id="ot-help-text" class="alert alert-info">\n <button type="button" ng-click="isCollapsed = false" gdb-tooltip="{{\'common.close\' | translate}}"\n class="close"\n aria-label="Close"></button>\n <div ng-include="helpTemplateUrl"></div>\n </div>\n\n <chat-panel class="selected-chat-panel"></chat-panel>\n </div>\n </div>\n\n <div id="right-sidebar" class="right-sidebar sidebar" ng-class="showAgents ? \'expanded\' : \'collapsed\'">\n <div class="toolbar">\n <button class="btn btn-link btn-sm help-btn"\n ng-if="true"\n ng-click="onToggleHelp()"\n ng-disabled="false"\n gdb-tooltip="{{\'ttyg.help.btn.show_help.tooltip\' | translate}}">\n <i class="icon-help"></i>\n </button>\n <button class="btn btn-link btn-sm create-agent-btn"\n ng-disabled="!canModifyAgent"\n ng-click="onOpenNewAgentSettings()"\n ng-disabled="false"\n gdb-tooltip="{{ (canModifyAgent ? \'ttyg.agent.btn.create_agent.tooltip\' : \'ttyg.agent.btn.create_agent.tooltip_disabled\') | translate}}"\n guide-selector="create-agent-btn">\n <i class="icon-plus"></i>\n </button>\n <button class="btn btn-link btn-sm toggle-agents-sidebar-btn"\n ng-if="!showAgents"\n ng-click="toggleAgentsListSidebar()"\n ng-disabled="!canModifyAgent"\n gdb-tooltip="{{\'ttyg.agent.btn.open_sidebar.\' + (canModifyAgent ? \'tooltip\' : \'tooltip_disabled\') | translate}}">\n <i class="fa fa-message-bot"></i>\n </button>\n <button class="btn btn-link btn-sm toggle-agents-sidebar-btn"\n ng-if="showAgents"\n ng-click="toggleAgentsListSidebar()"\n ng-disabled="false"\n gdb-tooltip="{{\'ttyg.agent.btn.close_sidebar\' + \'.tooltip\' | translate}}">\n <i class="icon-close"></i>\n </button>\n </div>\n\n <pageslide\n ps-class="agent-list-panel slide-panel"\n ps-container="right-sidebar"\n ps-open="showAgents"\n onopen="onopen"\n onclose="onclose"\n ps-side="right"\n ps-click-outside="false"\n ps-size="80vw">\n <div class="sidebar-content">\n <agent-list ng-if="agents && agentListFilterModel.length && !reloadingAgents" agent-list="agents"\n agent-list-filter-model="agentListFilterModel"></agent-list>\n <div ng-if="reloadingAgents" onto-loader-fancy message="{{\'ttyg.agent.loading_agents\' | translate}}"\n class="agent-list-loader"\n size="25" style="display: flex;"></div>\n </div>\n </pageslide>\n </div>\n </div>\n</div>\n';return __p}}}]);
|