graphdb-workbench 3.1.3-RC1 → 3.1.3
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/12396.4683014b72c40e86271b.bundle.js +2 -0
- package/dist/12396.4683014b72c40e86271b.bundle.js.map +1 -0
- package/dist/15535.22ffb3c3dbc24ed94ea4.bundle.js +2 -0
- package/dist/15535.22ffb3c3dbc24ed94ea4.bundle.js.map +1 -0
- package/dist/16162.c74382c7dfbcc1fe11b3.bundle.js +2 -0
- package/dist/16162.c74382c7dfbcc1fe11b3.bundle.js.map +1 -0
- package/dist/20287.d6282e059d4fa6c2c87b.bundle.js +2 -0
- package/dist/20287.d6282e059d4fa6c2c87b.bundle.js.map +1 -0
- package/dist/21136.d7656ba319a76e934787.bundle.js +2 -0
- package/dist/21136.d7656ba319a76e934787.bundle.js.map +1 -0
- package/dist/21142.56de8eb55c7176f2971f.bundle.js +2 -0
- package/dist/21142.56de8eb55c7176f2971f.bundle.js.map +1 -0
- package/dist/21170.8685418c8e54efa451a8.bundle.js +2 -0
- package/dist/21170.8685418c8e54efa451a8.bundle.js.map +1 -0
- package/dist/21195.1a2e24f4b8bdb3b15e14.bundle.js +2 -0
- package/dist/21195.1a2e24f4b8bdb3b15e14.bundle.js.map +1 -0
- package/dist/25747.c7a288fba24f53be8bbe.bundle.js +2 -0
- package/dist/25747.c7a288fba24f53be8bbe.bundle.js.map +1 -0
- package/dist/27580.5b76d2ce193963125b32.bundle.js +2 -0
- package/dist/27580.5b76d2ce193963125b32.bundle.js.map +1 -0
- package/dist/31636.2bde6840d63848c33c0a.bundle.js +2 -0
- package/dist/31636.2bde6840d63848c33c0a.bundle.js.map +1 -0
- package/dist/32489.469ecea7eeebf39a88ac.bundle.js +2 -0
- package/dist/32489.469ecea7eeebf39a88ac.bundle.js.map +1 -0
- package/dist/34495.c2e6b0d1995e539c8bc2.bundle.js +2 -0
- package/dist/34495.c2e6b0d1995e539c8bc2.bundle.js.map +1 -0
- package/dist/{38360.86f452a9f339af6ba675.bundle.js → 38360.62080d73a9ebdf72202f.bundle.js} +2 -2
- package/dist/38360.62080d73a9ebdf72202f.bundle.js.map +1 -0
- package/dist/38644.ea83080812ab59a1bbc1.bundle.js +2 -0
- package/dist/38644.ea83080812ab59a1bbc1.bundle.js.map +1 -0
- package/dist/38843.6b730620669aef427b0d.bundle.js +2 -0
- package/dist/38843.6b730620669aef427b0d.bundle.js.map +1 -0
- package/dist/39518.ab140b1a3fe0388c04cd.bundle.js +2 -0
- package/dist/{39518.cb6c0631a13d6a59b253.bundle.js.map → 39518.ab140b1a3fe0388c04cd.bundle.js.map} +1 -1
- package/dist/39539.6e0d75a0fb2ae52d6e26.bundle.js +2 -0
- package/dist/39539.6e0d75a0fb2ae52d6e26.bundle.js.map +1 -0
- package/dist/41453.ad3f0759a4612fece7c1.bundle.js +2 -0
- package/dist/41453.ad3f0759a4612fece7c1.bundle.js.map +1 -0
- package/dist/42129.020a0eda8d3893bd5eb6.bundle.js +2 -0
- package/dist/42129.020a0eda8d3893bd5eb6.bundle.js.map +1 -0
- package/dist/44444.cd5ba79f2610aa75eae6.bundle.js +2 -0
- package/dist/44444.cd5ba79f2610aa75eae6.bundle.js.map +1 -0
- package/dist/55862.75c59a7f4c859e7d9671.bundle.js +2 -0
- package/dist/55862.75c59a7f4c859e7d9671.bundle.js.map +1 -0
- package/dist/58306.cea9b1ba22df415e66af.bundle.js +2 -0
- package/dist/58306.cea9b1ba22df415e66af.bundle.js.map +1 -0
- package/dist/67888.e4fff582c94fe61e0ce8.bundle.js +2 -0
- package/dist/67888.e4fff582c94fe61e0ce8.bundle.js.map +1 -0
- package/dist/72379.6de449bb61f66e46ecbe.bundle.js +2 -0
- package/dist/72379.6de449bb61f66e46ecbe.bundle.js.map +1 -0
- package/dist/73667.0e0cb694112170e84a9c.bundle.js +2 -0
- package/dist/73667.0e0cb694112170e84a9c.bundle.js.map +1 -0
- package/dist/73793.4f9af869c833b6ff51df.bundle.js +2 -0
- package/dist/73793.4f9af869c833b6ff51df.bundle.js.map +1 -0
- package/dist/75282.57827c529114b79a5495.bundle.js +2 -0
- package/dist/75282.57827c529114b79a5495.bundle.js.map +1 -0
- package/dist/75849.82d8aa0cc473702a9328.bundle.js +2 -0
- package/dist/75849.82d8aa0cc473702a9328.bundle.js.map +1 -0
- package/dist/78250.505755e73e6acc790feb.bundle.js +2 -0
- package/dist/78250.505755e73e6acc790feb.bundle.js.map +1 -0
- package/dist/79329.9267ca46411789a9095d.bundle.js +2 -0
- package/dist/79329.9267ca46411789a9095d.bundle.js.map +1 -0
- package/dist/{82926.3abd3fd53d9397ddeb06.bundle.js → 82926.b5b945078ca0af46d0a7.bundle.js} +2 -2
- package/dist/{82926.3abd3fd53d9397ddeb06.bundle.js.map → 82926.b5b945078ca0af46d0a7.bundle.js.map} +1 -1
- package/dist/9062.de428a3d08740fab634b.bundle.js +2 -0
- package/dist/9062.de428a3d08740fab634b.bundle.js.map +1 -0
- package/dist/99448.da4670d42fdc008e1cd1.bundle.js +2 -0
- package/dist/99448.da4670d42fdc008e1cd1.bundle.js.map +1 -0
- package/dist/index.html +7 -7
- 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/core/templates/editable-content/editable-content.html +1 -1
- package/dist/js/angular/core/templates/markdown-content/markdown-content.html +1 -1
- package/dist/js/angular/core/templates/search-resource-input.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/modal/external-integration-configuration-modal.html +1 -1
- package/dist/js/angular/ttyg/templates/no-agents-view.html +1 -1
- package/dist/js/angular/ttyg/templates/ttyg.html +1 -1
- package/dist/legacyWorkbench.db20b3815bdff4bc9052.js +3 -0
- package/dist/{legacyWorkbench.9f738e50a5f7b635aa73.js.map → legacyWorkbench.db20b3815bdff4bc9052.js.map} +1 -1
- 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/login.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 +7 -7
- 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 +11 -11
- package/package.json +1 -1
- package/dist/12396.b039c5cfb113b564a5c8.bundle.js +0 -2
- package/dist/12396.b039c5cfb113b564a5c8.bundle.js.map +0 -1
- package/dist/15535.0801bf32cabf3ef2a9ad.bundle.js +0 -2
- package/dist/15535.0801bf32cabf3ef2a9ad.bundle.js.map +0 -1
- package/dist/16162.9eaf6455cb51d034c3f9.bundle.js +0 -2
- package/dist/16162.9eaf6455cb51d034c3f9.bundle.js.map +0 -1
- package/dist/20287.3847431c23187f54278b.bundle.js +0 -2
- package/dist/20287.3847431c23187f54278b.bundle.js.map +0 -1
- package/dist/21136.3407d66b7630781fc294.bundle.js +0 -2
- package/dist/21136.3407d66b7630781fc294.bundle.js.map +0 -1
- package/dist/21142.35be75adec92627103c5.bundle.js +0 -2
- package/dist/21142.35be75adec92627103c5.bundle.js.map +0 -1
- package/dist/21170.ad78fd1d0924143ebc3d.bundle.js +0 -2
- package/dist/21170.ad78fd1d0924143ebc3d.bundle.js.map +0 -1
- package/dist/21195.d54176dba98ed5784bea.bundle.js +0 -2
- package/dist/21195.d54176dba98ed5784bea.bundle.js.map +0 -1
- package/dist/25747.dbe4dfba29cf6233a95f.bundle.js +0 -2
- package/dist/25747.dbe4dfba29cf6233a95f.bundle.js.map +0 -1
- package/dist/27580.1a1d37196ac1ed2055fc.bundle.js +0 -2
- package/dist/27580.1a1d37196ac1ed2055fc.bundle.js.map +0 -1
- package/dist/31636.300e78b54176d96209d4.bundle.js +0 -2
- package/dist/31636.300e78b54176d96209d4.bundle.js.map +0 -1
- package/dist/32489.e732bd9df5b68b50a0ef.bundle.js +0 -2
- package/dist/32489.e732bd9df5b68b50a0ef.bundle.js.map +0 -1
- package/dist/34495.525f02bbfb2d12e76861.bundle.js +0 -2
- package/dist/34495.525f02bbfb2d12e76861.bundle.js.map +0 -1
- package/dist/38360.86f452a9f339af6ba675.bundle.js.map +0 -1
- package/dist/38644.b15ac899402c86f65c41.bundle.js +0 -2
- package/dist/38644.b15ac899402c86f65c41.bundle.js.map +0 -1
- package/dist/38843.863c48c376b96a941f5d.bundle.js +0 -2
- package/dist/38843.863c48c376b96a941f5d.bundle.js.map +0 -1
- package/dist/39518.cb6c0631a13d6a59b253.bundle.js +0 -2
- package/dist/39539.e67fcb9d1fd8bb517eda.bundle.js +0 -2
- package/dist/39539.e67fcb9d1fd8bb517eda.bundle.js.map +0 -1
- package/dist/41453.56bcf47f72e8a2757c7e.bundle.js +0 -2
- package/dist/41453.56bcf47f72e8a2757c7e.bundle.js.map +0 -1
- package/dist/42129.9fe5288ca2056ca0adf0.bundle.js +0 -2
- package/dist/42129.9fe5288ca2056ca0adf0.bundle.js.map +0 -1
- package/dist/44444.79774837d44b76a83caf.bundle.js +0 -2
- package/dist/44444.79774837d44b76a83caf.bundle.js.map +0 -1
- package/dist/55862.db6fbe202411045d9659.bundle.js +0 -2
- package/dist/55862.db6fbe202411045d9659.bundle.js.map +0 -1
- package/dist/58306.5ad3b7265ea502478490.bundle.js +0 -2
- package/dist/58306.5ad3b7265ea502478490.bundle.js.map +0 -1
- package/dist/67888.048068e62de567649f84.bundle.js +0 -2
- package/dist/67888.048068e62de567649f84.bundle.js.map +0 -1
- package/dist/72379.4f912bba4b7c8d05beb1.bundle.js +0 -2
- package/dist/72379.4f912bba4b7c8d05beb1.bundle.js.map +0 -1
- package/dist/73667.58893ca8ec1c23b70210.bundle.js +0 -2
- package/dist/73667.58893ca8ec1c23b70210.bundle.js.map +0 -1
- package/dist/73793.0cf3473aac08566f1b32.bundle.js +0 -2
- package/dist/73793.0cf3473aac08566f1b32.bundle.js.map +0 -1
- package/dist/75282.3cdaf67f9b19872ffb83.bundle.js +0 -2
- package/dist/75282.3cdaf67f9b19872ffb83.bundle.js.map +0 -1
- package/dist/75849.624dca0106c1e82b59a2.bundle.js +0 -2
- package/dist/75849.624dca0106c1e82b59a2.bundle.js.map +0 -1
- package/dist/78250.8345712788a804a3e7ca.bundle.js +0 -2
- package/dist/78250.8345712788a804a3e7ca.bundle.js.map +0 -1
- package/dist/79329.798402b690a853034025.bundle.js +0 -2
- package/dist/79329.798402b690a853034025.bundle.js.map +0 -1
- package/dist/9062.28e1de78e1e6781e350f.bundle.js +0 -2
- package/dist/9062.28e1de78e1e6781e350f.bundle.js.map +0 -1
- package/dist/99448.e1883adaad72b2391541.bundle.js +0 -2
- package/dist/99448.e1883adaad72b2391541.bundle.js.map +0 -1
- package/dist/legacyWorkbench.9f738e50a5f7b635aa73.js +0 -3
- /package/dist/{legacyWorkbench.9f738e50a5f7b635aa73.js.LICENSE.txt → legacyWorkbench.db20b3815bdff4bc9052.js.LICENSE.txt} +0 -0
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_id__=21136;export const __webpack_ids__=[21136];export const __webpack_modules__={21136:(t,e,i)=>{i.r(e),i.d(e,{default:()=>o});const o='<link href="css/cookie-policy.css?v=3.1.3-RC1" rel="stylesheet"/> <div class="cookie-policy-modal"> <div class="title">{{\'cookie.policy.title\' | translate}}</div> <div class="heading">{{\'cookie.policy.purpose_heading\' | translate}}</div> <div class="text">{{\'cookie.policy.purpose_text\' | translate}}</div> <div class="text mt-1">{{\'cookie.policy.purpose_enterprise_text\' | translate}}</div> <div class="heading">{{\'cookie.policy.privacy_commitment_heading\' | translate}}</div> <div class="text">{{\'cookie.policy.privacy_commitment_text\' | translate}}</div> <ul> <li>{{\'cookie.policy.privacy_commitment_1\' | translate}}</li> <li>{{\'cookie.policy.privacy_commitment_2\' | translate}}</li> </ul> <div class="heading">{{\'cookie.policy.cookies_heading\' | translate}}</div> <div class="text">{{\'cookie.policy.cookies_text\' | translate}}</div> <div class="heading">{{\'cookie.policy.manage_cookies_heading\' | translate}}</div> <div id="statistic-consent" class="toggle-group"> <label><strong>{{\'cookie.policy.statistic_cookies\' | translate}}</strong></label> <span gdb-tooltip="{{\'cookie.policy.statistic_tooltip\' | translate}}" tooltip-placement="top" ng-click="toggleConsent(ConsentTypes.STATISTIC)" class="switch"> <input type="checkbox" class="switch" ng-checked="cookieConsent.getStatisticConsent()"/> <label for="statistic-consent"></label> </span> </div> <div class="text">{{\'cookie.policy.statistic_text\' | translate}}</div> <div id="third-party-consent" class="toggle-group mt-1"> <label><strong>{{\'cookie.policy.third_party_cookies\' | translate}}</strong></label> <span gdb-tooltip="{{\'cookie.policy.third_party_tooltip\' | translate}}" tooltip-placement="top" ng-click="toggleConsent(ConsentTypes.THIRD_PARTY)" class="switch"> <input type="checkbox" class="switch" ng-checked="cookieConsent.thirdParty"/> <label for="third-party-consent"></label> </span> </div> <div class="text">{{\'cookie.policy.third_party_cookies_text\' | translate}}</div> <div class="text mt-1"><span>{{\'cookie.policy.change_cookies\' | translate}} <i>{{\'menu.setup.label\' | translate}} > {{\'menu.my.settings.label\' | translate}} > {{\'security.user.settings\' | translate}} > {{\'cookie.policy.change_cookies_location4\' | translate}}</i></span></div> <div class="text-right"> <button class="btn btn-primary" ng-click="close()">{{\'common.close.btn\' | translate}}</button> </div> </div> '}};
|
|
2
|
-
//# sourceMappingURL=21136.3407d66b7630781fc294.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"21136.3407d66b7630781fc294.bundle.js","mappings":"uJAGA,QAFW,m2E","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/core/templates/cookie-policy/cookie-policy.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/cookie-policy.css?v=3.1.3-RC1\" rel=\"stylesheet\"/> <div class=\"cookie-policy-modal\"> <div class=\"title\">{{'cookie.policy.title' | translate}}</div> <div class=\"heading\">{{'cookie.policy.purpose_heading' | translate}}</div> <div class=\"text\">{{'cookie.policy.purpose_text' | translate}}</div> <div class=\"text mt-1\">{{'cookie.policy.purpose_enterprise_text' | translate}}</div> <div class=\"heading\">{{'cookie.policy.privacy_commitment_heading' | translate}}</div> <div class=\"text\">{{'cookie.policy.privacy_commitment_text' | translate}}</div> <ul> <li>{{'cookie.policy.privacy_commitment_1' | translate}}</li> <li>{{'cookie.policy.privacy_commitment_2' | translate}}</li> </ul> <div class=\"heading\">{{'cookie.policy.cookies_heading' | translate}}</div> <div class=\"text\">{{'cookie.policy.cookies_text' | translate}}</div> <div class=\"heading\">{{'cookie.policy.manage_cookies_heading' | translate}}</div> <div id=\"statistic-consent\" class=\"toggle-group\"> <label><strong>{{'cookie.policy.statistic_cookies' | translate}}</strong></label> <span gdb-tooltip=\"{{'cookie.policy.statistic_tooltip' | translate}}\" tooltip-placement=\"top\" ng-click=\"toggleConsent(ConsentTypes.STATISTIC)\" class=\"switch\"> <input type=\"checkbox\" class=\"switch\" ng-checked=\"cookieConsent.getStatisticConsent()\"/> <label for=\"statistic-consent\"></label> </span> </div> <div class=\"text\">{{'cookie.policy.statistic_text' | translate}}</div> <div id=\"third-party-consent\" class=\"toggle-group mt-1\"> <label><strong>{{'cookie.policy.third_party_cookies' | translate}}</strong></label> <span gdb-tooltip=\"{{'cookie.policy.third_party_tooltip' | translate}}\" tooltip-placement=\"top\" ng-click=\"toggleConsent(ConsentTypes.THIRD_PARTY)\" class=\"switch\"> <input type=\"checkbox\" class=\"switch\" ng-checked=\"cookieConsent.thirdParty\"/> <label for=\"third-party-consent\"></label> </span> </div> <div class=\"text\">{{'cookie.policy.third_party_cookies_text' | translate}}</div> <div class=\"text mt-1\"><span>{{'cookie.policy.change_cookies' | translate}} <i>{{'menu.setup.label' | translate}} > {{'menu.my.settings.label' | translate}} > {{'security.user.settings' | translate}} > {{'cookie.policy.change_cookies_location4' | translate}}</i></span></div> <div class=\"text-right\"> <button class=\"btn btn-primary\" ng-click=\"close()\">{{'common.close.btn' | translate}}</button> </div> </div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_id__=21142;export const __webpack_ids__=[21142];export const __webpack_modules__={21142:(e,t,a)=>{a.r(t),a.d(t,{default:()=>n});const n='<link href="css/ttyg/chat-item-details.css?v=3.1.3-RC1" rel="stylesheet"/> <div class="chat-detail"> <div class="user-message" ng-if="chatItemDetail.question"> <div class="question alert-help" gdb-tooltip="{{ \'ttyg.chat_panel.labels.question_asked\' | translate : { date: getHumanReadableQuestionTimestamp(chatItemDetail.question.timestamp), time: (chatItemDetail.question.timestamp | date:\'HH:mm\') } }}"> <markdown-content class="question-text" content="{{chatItemDetail.question.message}}"></markdown-content> </div> </div> <div class="answers" ng-repeat="answer in chatItemDetail.answers"> <div class="assistant"> <div class="assistant-icon alert-help" gdb-tooltip="{{\'ttyg.chat_panel.labels.agent_name\' | translate : { agentName: agentNameByIdMap[chatItemDetail.agentId], date: getHumanReadableQuestionTimestamp(chatItemDetail.question.timestamp), time: (chatItemDetail.question.timestamp | date:\'HH:mm\') } }}"> <i class="fa fa-lg fa-message-bot"></i> </div> <div class="assistant-message"> <markdown-content class="answer" content="{{answer.message}}" options="markdownContentOptions"></markdown-content> <div class="actions" ng-class="{\'hidden-actions\': !explainResponseModel[answer.id].expanded && (!showActions || !$last)}"> <button class="btn btn-link btn-sm regenerate-question-btn" ng-click="regenerateQuestion()" ng-disabled="disabled" gdb-tooltip="{{\'ttyg.chat_panel.btn.regenerate.tooltip\' | translate}}"> <i class="fa fa-arrows-rotate"></i> </button> <copy-to-clipboard tooltip-text="ttyg.chat_panel.btn.copy_answer.tooltip" text-to-copy="{{answer.message}}"></copy-to-clipboard> <button ng-if="answer.tokenUsageInfo" class="btn btn-link btn-sm token-usage-info-btn" uib-popover-template="\'token-usage-info.html\'" ng-click="onTokenUsageInfo($event)" popover-class="token-usage-info" popover-placement="bottom-right" popover-trigger="mouseenter"> <i class="fa fa-coin-blank"></i> </button> <button class="btn btn-link btn-link-only-icons btn-sm explain-response-btn" guide-selector="explain-response-btn" ng-click="explainResponse(answer.id)" ng-disabled="disabled && !explainResponseModel[answer.id]" gdb-tooltip="{{\'ttyg.chat_panel.btn.explain_response.tooltip\' | translate}}"> <i class="fa fa-wand-magic-sparkles"></i> <i class="fa fa-chevron-up toggle-explain-response-icon" ng-class="{expanded: explainResponseModel[answer.id] && explainResponseModel[answer.id].expanded}"></i> </button> </div> <div class="derived-answer-hint" ng-if="showActions && $last && explainResponseModel[answer.id].expanded"> <div ng-bind-html="\'ttyg.chat_panel.btn.derive_answer.hint\' | translate | trustAsHtml"></div> <button class="btn btn-secondary deliver-answer-btn" ng-click="onAskHowAnswerWasDerived()" guide-selector="how-derive-answer-btn"> {{ \'ttyg.chat_panel.btn.derive_answer.label\' | translate }} </button> </div> <div ng-if="loadingExplainResponse[answer.id]" onto-loader-new size="40"></div> <div class="explain-responses" ng-if="explainResponseModel[answer.id] && explainResponseModel[answer.id].expanded"> <div ng-if="!explainResponseModel[answer.id].queryMethods.items.length" class="explain-response"> {{ \'ttyg.chat_panel.labels.explain_no_methods\' | translate }} </div> <div ng-if="explainResponseModel[answer.id].queryMethods.items" class="explain-response" ng-repeat="queryMethod in explainResponseModel[answer.id].queryMethods.items"> <div class="explain-call"> <div class="header" gdb-tooltip=""> <div class="label"> <span class="query-method" ng-bind-html="\'ttyg.chat_panel.labels.called\' | translate:{name: queryMethod.name} | trustAsHtml"> </span>{{ \'ttyg.chat_panel.query_colon\' | translate }} <span class="query-method-details" ng-bind="(\'ttyg.chat_panel.query_desc.\' + queryMethod.name) | translate"> </span> </div> <div ng-if="queryMethod.query" class="actions"> <open-in-sparql-editor ng-if="queryMethod.queryType === ExplainQueryType.SPARQL" execute-query="{{!queryMethod.errorMessage}}" repository-id="{{repositoryId}}" query="{{queryMethod.query}}"> </open-in-sparql-editor> <copy-to-clipboard tooltip-text="ttyg.chat_panel.btn.copy_{{ queryMethod.queryType }}.tooltip" text-to-copy="{{queryMethod.query}}"></copy-to-clipboard> </div> </div> <div class="query"> <div ng-if="!queryMethod.query" class="mb-1">{{ \'ttyg.chat_panel.labels.no_query\' | translate }}</div> <pre ng-if="queryMethod.query"><code>{{queryMethod.query}}</code></pre> </div> <div ng-if="showRawQuery(queryMethod)" class="raw-query"> <span class="label">{{\'ttyg.chat_panel.labels.raw_query\' | translate}}:</span> <span class="content">{{queryMethod.rawQuery}}</span> <copy-to-clipboard class="copy-to-clipboard-btn" tooltip-text="ttyg.chat_panel.btn.copy_raw_query.tooltip" text-to-copy="{{queryMethod.rawQuery}}"></copy-to-clipboard> </div> <div ng-if="queryMethod.errorMessage" class="alert no-icon alert-warning error-message"> <div class="error-header"> <div class="label">{{\'ttyg.chat_panel.labels.error_message\' | translate}}:</div> <copy-to-clipboard class="copy-to-clipboard-btn" tooltip-text="ttyg.chat_panel.btn.copy_error_message.tooltip" text-to-copy="{{queryMethod.errorMessage}}"></copy-to-clipboard> </div> <div class="error-content">{{queryMethod.errorMessage}}</div> </div> </div> </div> </div> </div> </div> </div> <div ng-if="asking" onto-loader-new size="40" guide-selector="question-loader"></div> </div> <script type="text/ng-template" id="token-usage-info.html"> <h4 class="title">{{\'ttyg.chat_panel.dialog.token_usage_info.title\' | translate}}</h4>\n\n <span class="token-info-number">\n {{answer.tokenUsageInfo.promptTokens | formatNumberToLocaleString}}\n </span>\n {{\'ttyg.chat_panel.dialog.token_usage_info.prompt_tokens_info\' | translate}}\n <div class="description">\n {{\'ttyg.chat_panel.dialog.token_usage_info.prompt_tokens_info_description\' | translate }}\n </div>\n\n <span class="token-info-number">\n {{answer.tokenUsageInfo.completionTokens | formatNumberToLocaleString}}\n </span>\n {{\'ttyg.chat_panel.dialog.token_usage_info.completion_tokens_info\' | translate}}\n <div class="description">\n {{\'ttyg.chat_panel.dialog.token_usage_info.completion_tokens_info_description\' | translate }}\n </div> <\/script> '}};
|
|
2
|
-
//# sourceMappingURL=21142.35be75adec92627103c5.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"21142.35be75adec92627103c5.bundle.js","mappings":"uJAmBA,QAlBW,gnM","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/ttyg/templates/chat-item-detail.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/ttyg/chat-item-details.css?v=3.1.3-RC1\" rel=\"stylesheet\"/> <div class=\"chat-detail\"> <div class=\"user-message\" ng-if=\"chatItemDetail.question\"> <div class=\"question alert-help\" gdb-tooltip=\"{{ 'ttyg.chat_panel.labels.question_asked' | translate : { date: getHumanReadableQuestionTimestamp(chatItemDetail.question.timestamp), time: (chatItemDetail.question.timestamp | date:'HH:mm') } }}\"> <markdown-content class=\"question-text\" content=\"{{chatItemDetail.question.message}}\"></markdown-content> </div> </div> <div class=\"answers\" ng-repeat=\"answer in chatItemDetail.answers\"> <div class=\"assistant\"> <div class=\"assistant-icon alert-help\" gdb-tooltip=\"{{'ttyg.chat_panel.labels.agent_name' | translate : { agentName: agentNameByIdMap[chatItemDetail.agentId], date: getHumanReadableQuestionTimestamp(chatItemDetail.question.timestamp), time: (chatItemDetail.question.timestamp | date:'HH:mm') } }}\"> <i class=\"fa fa-lg fa-message-bot\"></i> </div> <div class=\"assistant-message\"> <markdown-content class=\"answer\" content=\"{{answer.message}}\" options=\"markdownContentOptions\"></markdown-content> <div class=\"actions\" ng-class=\"{'hidden-actions': !explainResponseModel[answer.id].expanded && (!showActions || !\\$last)}\"> <button class=\"btn btn-link btn-sm regenerate-question-btn\" ng-click=\"regenerateQuestion()\" ng-disabled=\"disabled\" gdb-tooltip=\"{{'ttyg.chat_panel.btn.regenerate.tooltip' | translate}}\"> <i class=\"fa fa-arrows-rotate\"></i> </button> <copy-to-clipboard tooltip-text=\"ttyg.chat_panel.btn.copy_answer.tooltip\" text-to-copy=\"{{answer.message}}\"></copy-to-clipboard> <button ng-if=\"answer.tokenUsageInfo\" class=\"btn btn-link btn-sm token-usage-info-btn\" uib-popover-template=\"'token-usage-info.html'\" ng-click=\"onTokenUsageInfo(\\$event)\" popover-class=\"token-usage-info\" popover-placement=\"bottom-right\" popover-trigger=\"mouseenter\"> <i class=\"fa fa-coin-blank\"></i> </button> <button class=\"btn btn-link btn-link-only-icons btn-sm explain-response-btn\" guide-selector=\"explain-response-btn\" ng-click=\"explainResponse(answer.id)\" ng-disabled=\"disabled && !explainResponseModel[answer.id]\" gdb-tooltip=\"{{'ttyg.chat_panel.btn.explain_response.tooltip' | translate}}\"> <i class=\"fa fa-wand-magic-sparkles\"></i> <i class=\"fa fa-chevron-up toggle-explain-response-icon\" ng-class=\"{expanded: explainResponseModel[answer.id] && explainResponseModel[answer.id].expanded}\"></i> </button> </div> <div class=\"derived-answer-hint\" ng-if=\"showActions && \\$last && explainResponseModel[answer.id].expanded\"> <div ng-bind-html=\"'ttyg.chat_panel.btn.derive_answer.hint' | translate | trustAsHtml\"></div> <button class=\"btn btn-secondary deliver-answer-btn\" ng-click=\"onAskHowAnswerWasDerived()\" guide-selector=\"how-derive-answer-btn\"> {{ 'ttyg.chat_panel.btn.derive_answer.label' | translate }} </button> </div> <div ng-if=\"loadingExplainResponse[answer.id]\" onto-loader-new size=\"40\"></div> <div class=\"explain-responses\" ng-if=\"explainResponseModel[answer.id] && explainResponseModel[answer.id].expanded\"> <div ng-if=\"!explainResponseModel[answer.id].queryMethods.items.length\" class=\"explain-response\"> {{ 'ttyg.chat_panel.labels.explain_no_methods' | translate }} </div> <div ng-if=\"explainResponseModel[answer.id].queryMethods.items\" class=\"explain-response\" ng-repeat=\"queryMethod in explainResponseModel[answer.id].queryMethods.items\"> <div class=\"explain-call\"> <div class=\"header\" gdb-tooltip=\"\"> <div class=\"label\"> <span class=\"query-method\" ng-bind-html=\"'ttyg.chat_panel.labels.called' | translate:{name: queryMethod.name} | trustAsHtml\"> </span>{{ 'ttyg.chat_panel.query_colon' | translate }} <span class=\"query-method-details\" ng-bind=\"('ttyg.chat_panel.query_desc.' + queryMethod.name) | translate\"> </span> </div> <div ng-if=\"queryMethod.query\" class=\"actions\"> <open-in-sparql-editor ng-if=\"queryMethod.queryType === ExplainQueryType.SPARQL\" execute-query=\"{{!queryMethod.errorMessage}}\" repository-id=\"{{repositoryId}}\" query=\"{{queryMethod.query}}\"> </open-in-sparql-editor> <copy-to-clipboard tooltip-text=\"ttyg.chat_panel.btn.copy_{{ queryMethod.queryType }}.tooltip\" text-to-copy=\"{{queryMethod.query}}\"></copy-to-clipboard> </div> </div> <div class=\"query\"> <div ng-if=\"!queryMethod.query\" class=\"mb-1\">{{ 'ttyg.chat_panel.labels.no_query' | translate }}</div> <pre ng-if=\"queryMethod.query\"><code>{{queryMethod.query}}</code></pre> </div> <div ng-if=\"showRawQuery(queryMethod)\" class=\"raw-query\"> <span class=\"label\">{{'ttyg.chat_panel.labels.raw_query' | translate}}:</span> <span class=\"content\">{{queryMethod.rawQuery}}</span> <copy-to-clipboard class=\"copy-to-clipboard-btn\" tooltip-text=\"ttyg.chat_panel.btn.copy_raw_query.tooltip\" text-to-copy=\"{{queryMethod.rawQuery}}\"></copy-to-clipboard> </div> <div ng-if=\"queryMethod.errorMessage\" class=\"alert no-icon alert-warning error-message\"> <div class=\"error-header\"> <div class=\"label\">{{'ttyg.chat_panel.labels.error_message' | translate}}:</div> <copy-to-clipboard class=\"copy-to-clipboard-btn\" tooltip-text=\"ttyg.chat_panel.btn.copy_error_message.tooltip\" text-to-copy=\"{{queryMethod.errorMessage}}\"></copy-to-clipboard> </div> <div class=\"error-content\">{{queryMethod.errorMessage}}</div> </div> </div> </div> </div> </div> </div> </div> <div ng-if=\"asking\" onto-loader-new size=\"40\" guide-selector=\"question-loader\"></div> </div> ${\"<\" + \"script\"} type=\"text/ng-template\" id=\"token-usage-info.html\"> <h4 class=\"title\">{{'ttyg.chat_panel.dialog.token_usage_info.title' | translate}}</h4>\n\n <span class=\"token-info-number\">\n {{answer.tokenUsageInfo.promptTokens | formatNumberToLocaleString}}\n </span>\n {{'ttyg.chat_panel.dialog.token_usage_info.prompt_tokens_info' | translate}}\n <div class=\"description\">\n {{'ttyg.chat_panel.dialog.token_usage_info.prompt_tokens_info_description' | translate }}\n </div>\n\n <span class=\"token-info-number\">\n {{answer.tokenUsageInfo.completionTokens | formatNumberToLocaleString}}\n </span>\n {{'ttyg.chat_panel.dialog.token_usage_info.completion_tokens_info' | translate}}\n <div class=\"description\">\n {{'ttyg.chat_panel.dialog.token_usage_info.completion_tokens_info_description' | translate }}\n </div> ${\"<\" + \"/script\"}> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_id__=21170;export const __webpack_ids__=[21170];export const __webpack_modules__={21170:(i,e,t)=>{t.r(e),t.d(e,{default:()=>n});const n='<link href="css/graphql/import-endpoint-definition-modal.css?v=3.1.3-RC1" rel="stylesheet"/> <div class="modal-header px-2"> <button type="button" class="close" ng-click="close()"></button> <h3 class="modal-title">{{\'graphql.endpoints_management.import_definition_modal.title\' | translate}}</h3> </div> <div class="modal-body import-endpoint-definition-modal-body m-2"> <div class="toolbar"> <button ngf-select multiple="multiple" ngf-accept="\'{{allowedFileTypesString}}\'" ngf-keep="false" ngf-change="onFilesChange($files, $file, $newFiles, $duplicateFiles, $invalidFiles)" class="btn btn-primary file-selector-btn"> <i class="fa fa-check"></i> <span>{{\'graphql.endpoints_management.import_definition_modal.actions.select_files.label\' | translate}}</span> </button> <button ng-click="onImport()" ng-disabled="!definitionFiles || definitionFiles.size === 0" class="btn btn-primary upload-btn ml-1"> <i class="fa fa-upload"></i> <span>{{\'graphql.endpoints_management.import_definition_modal.actions.import.label\' | translate}}</span> </button> </div> <div ng-show="progress >= 0" class="progress mt-1"> <div role="progressbar" class="progress-bar" style="width:{};"> {{progress}}% </div> </div> <div class="upload-area mt-1" ngf-drop ngf-multiple="true" ngf-accept="\'{{allowedFileTypesString}}\'" ngf-keep="false" ngf-drag-over-class="dragover" ngf-change="onFilesChange($files, $file, $newFiles, $duplicateFiles, $invalidFiles)"> <div ng-if="!definitionFiles || definitionFiles.size === 0" class="no-files-placeholder"> {{\'graphql.endpoints_management.import_definition_modal.messages.no_files_selected\' | translate}} </div> <table ng-if="definitionFiles && definitionFiles.size > 0" class="table table-hover file-list mt-1"> <tr ng-repeat-start="definitionFile in definitionFiles.list" class="file-item"> <td class="file-info"> <strong class="file-name">{{definitionFile.file.name}}</strong>, <em class="file-size">{{definitionFile.file.size | bytes}}</em> </td> <td class="import-status"> <span ng-if="!definitionFile.list" class="status tag" ng-class="definitionFile.viewStatus">{{definitionFile.statusMessage | translate}}</span> </td> <td> <a href="#" ng-if="definitionFile.endpointId" ng-click="onExploreEndpoint(definitionFile.endpointId)" gdb-tooltip="{{\'graphql.endpoints_management.import_definition_modal.actions.explore_endpoint.tooltip\' | translate}}" class="endpoint-link">{{definitionFile.endpointId}}</a> <a href="#" ng-if="definitionFile.report && definitionFile.status === ImportStatus.FAIL" ng-click="onOpenReport($event, definitionFile.report)" gdb-tooltip="{{\'graphql.endpoints_management.import_definition_modal.actions.view_report.tooltip\' | translate}}" class="report-link btn-link"> {{\'graphql.endpoints_management.import_definition_modal.actions.view_report.label\' | translate}} </a> </td> <td class="file-actions"> <button ng-if="!progress" ng-click="onRemoveFile(definitionFile)" class="btn btn-link btn-sm secondary remove-file-btn" gdb-tooltip="{{\'graphql.endpoints_management.import_definition_modal.actions.remove_file.tooltip\' | translate}}"> <i class="icon-close"></i> </button> </td> </tr> <tr ng-repeat-end ng-if="definitionFile.list && definitionFile.list.list.length > 0" ng-repeat="subFile in definitionFile.list.list" class="file-item sub-file"> <td class="file-info"> <span class="sub-file-indent">└─</span> <strong class="file-name">{{subFile.filename}}</strong> </td> <td class="import-status"> <span class="status tag" ng-class="subFile.viewStatus">{{subFile.statusMessage | translate}}</span> </td> <td> <a href="#" ng-if="subFile.endpointId" ng-click="onExploreEndpoint(subFile.endpointId); $event.preventDefault()" gdb-tooltip="{{\'graphql.endpoints_management.import_definition_modal.actions.explore_endpoint.tooltip\' | translate}}" class="endpoint-link">{{subFile.endpointId}}</a> <a href="#" ng-if="subFile.report && subFile.status === ImportStatus.FAIL" ng-click="onOpenReport(subFile.report); $event.preventDefault()" gdb-tooltip="{{\'graphql.endpoints_management.import_definition_modal.actions.view_report.tooltip\' | translate}}" class="report-link btn-link"> {{\'graphql.endpoints_management.import_definition_modal.actions.view_report.label\' | translate}} </a> </td> <td class="file-actions"></td> </tr> </table> <div class="file-format-info mt-1"> {{\'graphql.endpoints_management.import_definition_modal.messages.allowed_file_types\' | translate}} </div> </div> </div> '}};
|
|
2
|
-
//# sourceMappingURL=21170.ad78fd1d0924143ebc3d.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"21170.ad78fd1d0924143ebc3d.bundle.js","mappings":"uJAGA,QAFW,m2I","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/graphql/templates/modal/import-endpoint-definition-modal.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/graphql/import-endpoint-definition-modal.css?v=3.1.3-RC1\" rel=\"stylesheet\"/> <div class=\"modal-header px-2\"> <button type=\"button\" class=\"close\" ng-click=\"close()\"></button> <h3 class=\"modal-title\">{{'graphql.endpoints_management.import_definition_modal.title' | translate}}</h3> </div> <div class=\"modal-body import-endpoint-definition-modal-body m-2\"> <div class=\"toolbar\"> <button ngf-select multiple=\"multiple\" ngf-accept=\"'{{allowedFileTypesString}}'\" ngf-keep=\"false\" ngf-change=\"onFilesChange(\\$files, \\$file, \\$newFiles, \\$duplicateFiles, \\$invalidFiles)\" class=\"btn btn-primary file-selector-btn\"> <i class=\"fa fa-check\"></i> <span>{{'graphql.endpoints_management.import_definition_modal.actions.select_files.label' | translate}}</span> </button> <button ng-click=\"onImport()\" ng-disabled=\"!definitionFiles || definitionFiles.size === 0\" class=\"btn btn-primary upload-btn ml-1\"> <i class=\"fa fa-upload\"></i> <span>{{'graphql.endpoints_management.import_definition_modal.actions.import.label' | translate}}</span> </button> </div> <div ng-show=\"progress >= 0\" class=\"progress mt-1\"> <div role=\"progressbar\" class=\"progress-bar\" style=\"width:{};\"> {{progress}}% </div> </div> <div class=\"upload-area mt-1\" ngf-drop ngf-multiple=\"true\" ngf-accept=\"'{{allowedFileTypesString}}'\" ngf-keep=\"false\" ngf-drag-over-class=\"dragover\" ngf-change=\"onFilesChange(\\$files, \\$file, \\$newFiles, \\$duplicateFiles, \\$invalidFiles)\"> <div ng-if=\"!definitionFiles || definitionFiles.size === 0\" class=\"no-files-placeholder\"> {{'graphql.endpoints_management.import_definition_modal.messages.no_files_selected' | translate}} </div> <table ng-if=\"definitionFiles && definitionFiles.size > 0\" class=\"table table-hover file-list mt-1\"> <tr ng-repeat-start=\"definitionFile in definitionFiles.list\" class=\"file-item\"> <td class=\"file-info\"> <strong class=\"file-name\">{{definitionFile.file.name}}</strong>, <em class=\"file-size\">{{definitionFile.file.size | bytes}}</em> </td> <td class=\"import-status\"> <span ng-if=\"!definitionFile.list\" class=\"status tag\" ng-class=\"definitionFile.viewStatus\">{{definitionFile.statusMessage | translate}}</span> </td> <td> <a href=\"#\" ng-if=\"definitionFile.endpointId\" ng-click=\"onExploreEndpoint(definitionFile.endpointId)\" gdb-tooltip=\"{{'graphql.endpoints_management.import_definition_modal.actions.explore_endpoint.tooltip' | translate}}\" class=\"endpoint-link\">{{definitionFile.endpointId}}</a> <a href=\"#\" ng-if=\"definitionFile.report && definitionFile.status === ImportStatus.FAIL\" ng-click=\"onOpenReport(\\$event, definitionFile.report)\" gdb-tooltip=\"{{'graphql.endpoints_management.import_definition_modal.actions.view_report.tooltip' | translate}}\" class=\"report-link btn-link\"> {{'graphql.endpoints_management.import_definition_modal.actions.view_report.label' | translate}} </a> </td> <td class=\"file-actions\"> <button ng-if=\"!progress\" ng-click=\"onRemoveFile(definitionFile)\" class=\"btn btn-link btn-sm secondary remove-file-btn\" gdb-tooltip=\"{{'graphql.endpoints_management.import_definition_modal.actions.remove_file.tooltip' | translate}}\"> <i class=\"icon-close\"></i> </button> </td> </tr> <tr ng-repeat-end ng-if=\"definitionFile.list && definitionFile.list.list.length > 0\" ng-repeat=\"subFile in definitionFile.list.list\" class=\"file-item sub-file\"> <td class=\"file-info\"> <span class=\"sub-file-indent\">└─</span> <strong class=\"file-name\">{{subFile.filename}}</strong> </td> <td class=\"import-status\"> <span class=\"status tag\" ng-class=\"subFile.viewStatus\">{{subFile.statusMessage | translate}}</span> </td> <td> <a href=\"#\" ng-if=\"subFile.endpointId\" ng-click=\"onExploreEndpoint(subFile.endpointId); \\$event.preventDefault()\" gdb-tooltip=\"{{'graphql.endpoints_management.import_definition_modal.actions.explore_endpoint.tooltip' | translate}}\" class=\"endpoint-link\">{{subFile.endpointId}}</a> <a href=\"#\" ng-if=\"subFile.report && subFile.status === ImportStatus.FAIL\" ng-click=\"onOpenReport(subFile.report); \\$event.preventDefault()\" gdb-tooltip=\"{{'graphql.endpoints_management.import_definition_modal.actions.view_report.tooltip' | translate}}\" class=\"report-link btn-link\"> {{'graphql.endpoints_management.import_definition_modal.actions.view_report.label' | translate}} </a> </td> <td class=\"file-actions\"></td> </tr> </table> <div class=\"file-format-info mt-1\"> {{'graphql.endpoints_management.import_definition_modal.messages.allowed_file_types' | translate}} </div> </div> </div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_id__=21195;export const __webpack_ids__=[21195];export const __webpack_modules__={21195:(t,e,a)=>{a.r(e),a.d(e,{default:()=>s});const s='<link href="css/ttyg/chat-panel.css?v=3.1.3-RC1" rel="stylesheet"/> <div class="chat-panel h-100" ng-class="chat.chatHistory.isEmpty() && !askingChatItem ? \'no-content\' : \'\'"> <div class="chat-loading" ng-if="loadingChat" onto-loader-new size="40"></div> <div class="chat-details" ng-class="{\'hidden\': !chat}" ng-if="!loadingChat && !chat.chatHistory.isEmpty() || askingChatItem" guide-selector="chat-details"> <div ng-repeat="chatItemDetail in chat.chatHistory.items" guide-selector="chat-item"> <div class="alert alert-info agent-changed-info" ng-if="!$first && chatItemDetail.agentId !== chat.chatHistory.items[$index - 1].agentId" ng-bind-html="\'ttyg.chat_panel.messages.agent_changed_info\' | translate: {agentName: getAgentName(chatItemDetail.agentId)} | trustAsHtml"> </div> <chat-item-detail chat-item-detail="chatItemDetail" show-actions="!waitingForLastMessage && $last" on-regenerate-question="regenerateQuestion(chatItem)" on-copy-answer-to-clipboard="copyAnswerToClipboard(chatItem)" on-ask-how-delivered-answer="onAskHowDeliveredAnswer(chatItem)" asking="!askingChatItem && waitingForLastMessage && $last" disabled="waitingForLastMessage"> </chat-item-detail> </div> <div class="alert alert-info agent-changed-info" ng-if="askingChatItem && selectedAgent && chat.chatHistory.items.length && chat.chatHistory.items[chat.chatHistory.items.length -1].agentId !== selectedAgent.id" ng-bind-html="\'ttyg.chat_panel.messages.agent_changed_info\' | translate: {agentName: getAgentName(selectedAgent.id)} | trustAsHtml"> </div> <chat-item-detail ng-if="askingChatItem" chat-item-detail="askingChatItem" asking="!!askingChatItem"></chat-item-detail> </div> <div class="new-question mt-3" ng-if="!loadingChat" guide-selector="question-box"> <div class="form-control"> <editable-content placeholder="{{\'ttyg.chat_panel.placeholder.ask-input\' | translate}}" ng-model="chatItem.question.message" guide-selector="question-input" ng-disabled="loadingChat || !selectedAgent || selectedAgent.isDeleted" ng-keypress="onKeypressOnInput($event)" class="question-input"></editable-content> <div class="new-question-actions"> <div class="left-side-actions"></div> <div class="right-side-actions"> <button class="btn btn-primary ask-button" guide-selector="question-ask" ng-disabled="!chatItem.question.message || !selectedAgent || selectedAgent.isDeleted || waitingForLastMessage || loadingChat" ng-click="ask()"> <i class="fa fa-arrow-up"></i> </button> </div> </div> </div> </div> <div class="messages-hint text-muted" ng-if="!loadingChat && chat.chatHistory.isEmpty() && !waitingForLastMessage" ng-cloak> <div class="hint2" ng-bind="\'ttyg.chat_panel.hint2\' | translate"></div> <div class="hint1" ng-bind-html="\'ttyg.chat_panel.hint1\' | translate | trustAsHtml"></div> </div> </div> '}};
|
|
2
|
-
//# sourceMappingURL=21195.d54176dba98ed5784bea.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"21195.d54176dba98ed5784bea.bundle.js","mappings":"uJAGA,QAFW,wuF","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/ttyg/templates/chat-panel.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/ttyg/chat-panel.css?v=3.1.3-RC1\" rel=\"stylesheet\"/> <div class=\"chat-panel h-100\" ng-class=\"chat.chatHistory.isEmpty() && !askingChatItem ? 'no-content' : ''\"> <div class=\"chat-loading\" ng-if=\"loadingChat\" onto-loader-new size=\"40\"></div> <div class=\"chat-details\" ng-class=\"{'hidden': !chat}\" ng-if=\"!loadingChat && !chat.chatHistory.isEmpty() || askingChatItem\" guide-selector=\"chat-details\"> <div ng-repeat=\"chatItemDetail in chat.chatHistory.items\" guide-selector=\"chat-item\"> <div class=\"alert alert-info agent-changed-info\" ng-if=\"!\\$first && chatItemDetail.agentId !== chat.chatHistory.items[\\$index - 1].agentId\" ng-bind-html=\"'ttyg.chat_panel.messages.agent_changed_info' | translate: {agentName: getAgentName(chatItemDetail.agentId)} | trustAsHtml\"> </div> <chat-item-detail chat-item-detail=\"chatItemDetail\" show-actions=\"!waitingForLastMessage && \\$last\" on-regenerate-question=\"regenerateQuestion(chatItem)\" on-copy-answer-to-clipboard=\"copyAnswerToClipboard(chatItem)\" on-ask-how-delivered-answer=\"onAskHowDeliveredAnswer(chatItem)\" asking=\"!askingChatItem && waitingForLastMessage && \\$last\" disabled=\"waitingForLastMessage\"> </chat-item-detail> </div> <div class=\"alert alert-info agent-changed-info\" ng-if=\"askingChatItem && selectedAgent && chat.chatHistory.items.length && chat.chatHistory.items[chat.chatHistory.items.length -1].agentId !== selectedAgent.id\" ng-bind-html=\"'ttyg.chat_panel.messages.agent_changed_info' | translate: {agentName: getAgentName(selectedAgent.id)} | trustAsHtml\"> </div> <chat-item-detail ng-if=\"askingChatItem\" chat-item-detail=\"askingChatItem\" asking=\"!!askingChatItem\"></chat-item-detail> </div> <div class=\"new-question mt-3\" ng-if=\"!loadingChat\" guide-selector=\"question-box\"> <div class=\"form-control\"> <editable-content placeholder=\"{{'ttyg.chat_panel.placeholder.ask-input' | translate}}\" ng-model=\"chatItem.question.message\" guide-selector=\"question-input\" ng-disabled=\"loadingChat || !selectedAgent || selectedAgent.isDeleted\" ng-keypress=\"onKeypressOnInput(\\$event)\" class=\"question-input\"></editable-content> <div class=\"new-question-actions\"> <div class=\"left-side-actions\"></div> <div class=\"right-side-actions\"> <button class=\"btn btn-primary ask-button\" guide-selector=\"question-ask\" ng-disabled=\"!chatItem.question.message || !selectedAgent || selectedAgent.isDeleted || waitingForLastMessage || loadingChat\" ng-click=\"ask()\"> <i class=\"fa fa-arrow-up\"></i> </button> </div> </div> </div> </div> <div class=\"messages-hint text-muted\" ng-if=\"!loadingChat && chat.chatHistory.isEmpty() && !waitingForLastMessage\" ng-cloak> <div class=\"hint2\" ng-bind=\"'ttyg.chat_panel.hint2' | translate\"></div> <div class=\"hint1\" ng-bind-html=\"'ttyg.chat_panel.hint1' | translate | trustAsHtml\"></div> </div> </div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_id__=25747;export const __webpack_ids__=[25747];export const __webpack_modules__={25747:(e,s,t)=>{t.r(s),t.d(s,{default:()=>o});const o='<link href="css/rdf-resource-search.css?v=3.1.3-RC1" rel="stylesheet"/> <div ng-cloak> <div id="search-box" class="card search-rdf-input" ng-class="{\'show-rdf-search-box-visible\': showRdfSearchInput, \'show-rdf-search-box-invisible\': !showRdfSearchInput}" ng-keydown="onKeyDown($event)"> <div class="card-block"> <search-resource-input repository-namespaces="repositoryNamespaces" is-autocomplete-enabled="isAutocompleteEnabled" empty="empty" open-in-new-tab="true" preserve-search="true" radio-buttons="true" clear-input-icon="true"> </search-resource-input> <button class="btn btn-link close-rdf-search-btn" gdb-tooltip="{{\'search.resource.close.msg\' | translate}}" tooltip-placement="bottom" ng-click="hideInput()"> <i class="icon-close icon-2x" aria-hidden="true"></i> </button> </div> </div> <button class="btn btn-link search-rdf-btn" ng-if="!showRdfSearchInput" gdb-tooltip="{{\'search.resources.msg\' | translate}}" tooltip-placement="bottom" ng-click="showInput()"> <i class="icon-search" aria-hidden="true"></i> </button> </div> '}};
|
|
2
|
-
//# sourceMappingURL=25747.dbe4dfba29cf6233a95f.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"25747.dbe4dfba29cf6233a95f.bundle.js","mappings":"uJAGA,QAFW,shC","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/rdf-resource-search.css?v=3.1.3-RC1\" rel=\"stylesheet\"/> <div ng-cloak> <div id=\"search-box\" class=\"card search-rdf-input\" ng-class=\"{'show-rdf-search-box-visible': showRdfSearchInput, 'show-rdf-search-box-invisible': !showRdfSearchInput}\" ng-keydown=\"onKeyDown(\\$event)\"> <div class=\"card-block\"> <search-resource-input repository-namespaces=\"repositoryNamespaces\" is-autocomplete-enabled=\"isAutocompleteEnabled\" empty=\"empty\" open-in-new-tab=\"true\" preserve-search=\"true\" radio-buttons=\"true\" clear-input-icon=\"true\"> </search-resource-input> <button class=\"btn btn-link close-rdf-search-btn\" gdb-tooltip=\"{{'search.resource.close.msg' | translate}}\" tooltip-placement=\"bottom\" ng-click=\"hideInput()\"> <i class=\"icon-close icon-2x\" aria-hidden=\"true\"></i> </button> </div> </div> <button class=\"btn btn-link search-rdf-btn\" ng-if=\"!showRdfSearchInput\" gdb-tooltip=\"{{'search.resources.msg' | translate}}\" tooltip-placement=\"bottom\" ng-click=\"showInput()\"> <i class=\"icon-search\" aria-hidden=\"true\"></i> </button> </div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_id__=27580;export const __webpack_ids__=[27580];export const __webpack_modules__={27580:(e,t,a)=>{a.r(t),a.d(t,{default:()=>o});const o='<link href="css/cluster-nodes-configuration.css?v=3.1.3-RC1" rel="stylesheet"/> <div onto-loader-new ng-if="loader" class="create-cluster-loader" message="getLoaderMessage" size="100"></div> <div class="add-node-wrapper pull-right mb-1"> <button ng-click="addNode()" ng-disabled="editedNodeIndex !== undefined" class="btn btn-primary add-node-btn" gdb-tooltip="{{\'cluster_management.update_cluster_group_dialog.actions.add_node_tooltip\' | translate}}"> <i class="fa fa-plus"></i> {{\'cluster_management.update_cluster_group_dialog.actions.add_node\' | translate}} </button> </div> <div class="table-responsive"> <form name="form" id="updateClusterGroupForm"> <table class="cluster-group table table-striped table-hover cluster-group-table" aria-describedby="cluster group table"> <thead> <tr class="labels-row"> <th scope="col" class="index-column"> {{\'cluster_management.update_cluster_group_dialog.column.index\' | translate}} </th> <th scope="col" class="location-column"> {{\'cluster_management.update_cluster_group_dialog.column.location\' | translate}} </th> <th scope="col" class="info-column"> {{\'cluster_management.update_cluster_group_dialog.column.info\' | translate}} </th> <th scope="col" class="status-column"> {{\'cluster_management.update_cluster_group_dialog.column.status\' | translate}} </th> <th scope="col" class="empty-column"></th> <th scope="col" class="actions-column"></th> </tr> </thead> <tbody> <tr ng-if="!viewModel.length"> <td colspan="5" class="no-data"> {{\'cluster_management.update_cluster_group_dialog.messages.no_cluster\' | translate}} </td> </tr> <tr ng-repeat-start="node in viewModel track by $index" ng-if="0"></tr> <tr ng-if="$index !== editedNodeIndex" class="node preview-node-row" data-endpoint="{{node.endpoint}}" capture-height="$index" ng-class="{\'selected\': $index === selectedNode || $index === editedNodeIndex}"> <td class="index-cell"><span ng-if="!node.isDeleted">{{node.index + 1}}</span></td> <td class="location-cell data" ng-class="{\'deleting\': node.isDeleted, \'adding\': !node.item.address}"> <div class="location-item" id="endpoint-{{::node.index}}"> <span class="text-only">{{node.item.endpoint}}</span> <copy-to-clipboard text-to-copy="{{node.item.endpoint}}" custom-tooltip-style="true" ng-attr-target-selector="#endpoint-{{::node.index}}" custom-tooltip-text="{{\'cluster_management.update_cluster_group_dialog.copy_to_clipboard.copied.tooltip\' | translate}}"></copy-to-clipboard> </div> </td> <td class="info-cell data"> <span ng-if="node.isLocal"> {{\'cluster_management.update_cluster_group_dialog.current_node\' | translate}}<span ng-if="node.item.nodeState">, </span> </span> <span ng-if="node.item.nodeState"> {{ (\'cluster_management.update_cluster_group_dialog.\' + node.item.nodeState.toLowerCase()) | translate }} </span> </td> <td class="status-cell data"> <div ng-if="!node.item.address" class="adding"> <i class="fa fa-circle-check status-icon"></i> {{\'cluster_management.update_cluster_group_dialog.new_node\' | translate}} </div> <div ng-if="node.isDeleted" class="deleting"> <i class="fa fa-xmark status-icon"></i> {{\'cluster_management.update_cluster_group_dialog.deleted_node\' | translate}} </div> </td> <td class="empty-cell"></td> <td class="actions-cell"> <div ng-if="editedNodeIndex === undefined && !node.isDeleted" class="actions-group"> <button ng-click="deleteNode($index, node)" ng-disabled="(hasCluster && !canDeleteNode) || (!hasCluster && node.isLocal)" class="btn btn-link delete-node-btn secondary" gdb-tooltip="{{ (hasCluster && canDeleteNode) || (!hasCluster && !node.isLocal) ?\n (\'cluster_management.update_cluster_group_dialog.actions.delete_node\' | translate) :\n (\'cluster_management.update_cluster_group_dialog.actions.cannot_delete_node\' | translate) }}" title-class="delete-node-tooltip"> <i class="fa fa-xmark"></i> </button> <button ng-click="replaceNode($index, node)" class="btn btn-link replace-node-btn" ng-disabled="!hasCluster && node.isLocal" gdb-tooltip="{{hasCluster || !node.isLocal ?\n (\'cluster_management.update_cluster_group_dialog.actions.replace_node\' | translate) :\n (\'cluster_management.update_cluster_group_dialog.actions.cannot_replace_node\' | translate) }}"> <i class="fa fa-arrow-right-arrow-left"></i> </button> </div> <div ng-if="editedNodeIndex === undefined && node.isDeleted" class="actions-group"> <button ng-click="restoreNode(node)" class="btn btn-link restore-node-btn secondary" gdb-tooltip="{{\'cluster_management.update_cluster_group_dialog.actions.restore_node\' | translate}}"> <i class="fa fa-rotate-left"></i> </button> </div> </td> </tr> <tr ng-if="$index === editedNodeIndex" class="node edit-node-row" data-endpoint="{{node.endpoint}}" style="" ng-class="{\'selected table-info\': $index === editedNodeIndex}"> <td class="index-cell"><span ng-if="!node.isDeleted">{{node.index + 1}}</span></td> <td class="data location-cell"> <div class="autocomplete-container"> <input type="text" name="location" required ng-model="node.endpoint" ng-change="filterSuggestions(node)" ng-blur="hideSuggestions(node)" ng-click="filterSuggestions(node)" ng-keydown="handleKeydown($event, form.location.$valid, node.endpoint)" auto-grow validate-url exclude="/repositories" exclude-protocol="ftp,ftps" validate-duplicate-url excluded-urls="clusterNodesEndpoints" allow-empty="false" class="form-control form-control-sm textarea-edit" uib-tooltip="{{\'remote.location.enter.url.msg\' | translate}}" tooltip-placement="top" placeholder="{{\'cluster_management.update_cluster_group_dialog.field_placeholders.location\' | translate}}"> <ul ng-show="suggestions.length > 0 && showDropdown" class="autocomplete-dropdown"> <li ng-repeat="suggestion in suggestions" ng-mouseup="selectSuggestion(node, suggestion)"> {{ suggestion }} </li> </ul> </div> </td> <td class="info-cell data"> <span ng-if="node.isLocal"> {{\'cluster_management.update_cluster_group_dialog.current_node\' | translate}}<span ng-if="node.item.nodeState">, </span> </span> <span ng-if="node.item.nodeState"> {{ (\'cluster_management.update_cluster_group_dialog.\' + node.item.nodeState.toLowerCase()) | translate }} </span> </td> <td class="status-cell"></td> <td class="empty-cell"></td> <td class="actions-cell"> <div class="crud-actions-group"> <button ng-click="cancel()" class="btn btn-link cancel-node-replace-btn secondary" gdb-tooltip="{{\'cluster_management.update_cluster_group_dialog.actions.cancel\' | translate}}"> <i class="fa fa-xmark"></i> </button> <button ng-click="saveNode(node.endpoint)" class="btn btn-link save-rule-btn" ng-disabled="!form.location.$valid" gdb-tooltip="{{form.location.$valid ? \'cluster_management.update_cluster_group_dialog.actions.add_node\' : \'cluster_management.update_cluster_group_dialog.messages.invalid_form\' | translate}}"> <i class="fa fa-check"></i> </button> </div> </td> </tr> <tr ng-repeat-end ng-if="0"></tr> <tr ng-if="addNewLocation" class="node edit-node-row"> <td class="index-cell"></td> <td class="data location-cell"> <div class="autocomplete-container"> <input type="text" name="location" required ng-model="newLocation.endpoint" ng-change="filterSuggestions(newLocation)" ng-blur="hideSuggestions(newLocation)" ng-click="filterSuggestions(newLocation)" ng-keydown="handleKeydown($event, form.location.$valid, newLocation.endpoint)" auto-grow validate-url exclude="/repositories" exclude-protocol="ftp,ftps" validate-duplicate-url excluded-urls="clusterNodesEndpoints" allow-empty="false" class="form-control form-control-sm textarea-edit" uib-tooltip="{{\'remote.location.enter.url.msg\' | translate}}" tooltip-placement="top" placeholder="{{\'cluster_management.update_cluster_group_dialog.field_placeholders.location\' | translate}}"> <ul ng-show="suggestions.length > 0 && showDropdown" class="autocomplete-dropdown"> <li ng-repeat="suggestion in suggestions" ng-mouseup="selectSuggestion(newLocation, suggestion)"> {{ suggestion }} </li> </ul> </div> </td> <td class="info-cell data"></td> <td class="status-cell"></td> <td class="empty-cell"></td> <td class="actions-cell"> <div class="crud-actions-group"> <button ng-click="cancel()" class="btn btn-link cancel-node-replace-btn secondary" gdb-tooltip="{{\'cluster_management.update_cluster_group_dialog.actions.cancel\' | translate}}"> <i class="fa fa-xmark"></i> </button> <button ng-click="saveNode(newLocation.endpoint)" class="btn btn-link save-rule-btn" ng-disabled="!form.location.$valid" gdb-tooltip="{{form.location.$valid ? \'cluster_management.update_cluster_group_dialog.actions.add_node\' : \'cluster_management.update_cluster_group_dialog.messages.invalid_form\' | translate}}"> <i class="fa fa-check"></i> </button> </div> </td> </tr> </tbody> </table> <div class="errors"> <div class="error-message" ng-show="form.location.$error.validUrl && !form.location.$pristine"> * {{\'valid.remote.location.warning\' | translate}} http://server.example.com:7200/. </div> <div class="error-message" ng-show="form.location.$error.duplicateUrl && !form.location.$pristine"> * {{\'duplicate.remote.location.warning\' | translate}} </div> <div ng-repeat="error in errors" class="error-message"> {{error}} </div> </div> <div class="form-horizontal" ng-if="!hasCluster"> <div class="form-group"> <div class="indented-div"> <span class="padding-label wrapper-div" gdb-tooltip="{{\'cluster_management.cluster_page.advanced_options_tooltip\' | translate}}"> <button type="button" class="text-btn advanced-options-btn text-left" data-toggle="collapse" data-target="#advancedOptions"> <i class="{{getAdvancedOptionsClass()}} advanced-options-toggle" aria-hidden="true"></i> {{\'cluster_management.cluster_page.advanced_options\' | translate}} </button> </span> </div> <div id="advancedOptions" class="collapse pb-1 pl-2"> <div class="form-group"> <div class="input-group" ng-class="{\'has-danger\': clusterConfigurationForm.electionMinTimeout.$invalid}"> <label for="election-minimum-timeout" class="col-xs-4 col-form-label">{{\'cluster_management.cluster_configuration_properties.election_min_timeout\' | translate}}*</label> <div class="col-xs-8" gdb-tooltip="{{\'cluster_management.cluster_configuration_properties.election_min_timeout_tooltip\' | translate}}"> <input class="form-control" placeholder="{{\'required.field\' | translate}}" type="number" ng-model="clusterConfiguration.electionMinTimeout" required id="election-minimum-timeout" min="0" pattern="[0-9]+" name="electionMinTimeout"> <div class="form-control-feedback" ng-show="clusterConfigurationForm.electionMinTimeout.$error.required"> {{\'required.field\' | translate}} </div> <div class="form-control-feedback" ng-show="clusterConfigurationForm.electionMinTimeout.$error.pattern"> {{\'cluster_management.cluster_page.errors.only_positive_integers\' | translate}} </div> </div> </div> </div> <div class="form-group"> <div class="input-group" ng-class="{\'has-danger\': clusterConfigurationForm.electionRangeTimeout.$invalid}"> <label for="election-range-timeout" class="col-xs-4 col-form-label">{{\'cluster_management.cluster_configuration_properties.election_range_timeout\' | translate}}*</label> <div class="col-xs-8" gdb-tooltip="{{\'cluster_management.cluster_configuration_properties.election_range_timeout_tooltip\' | translate}}"> <input class="form-control" placeholder="{{\'required.field\' | translate}}" type="number" ng-model="clusterConfiguration.electionRangeTimeout" required id="election-range-timeout" min="0" pattern="[0-9]+" name="electionRangeTimeout"> <div class="form-control-feedback" ng-show="clusterConfigurationForm.electionRangeTimeout.$error.required"> {{\'required.field\' | translate}} </div> <div class="form-control-feedback" ng-show="clusterConfigurationForm.electionRangeTimeout.$error.pattern"> {{\'cluster_management.cluster_page.errors.only_positive_integers\' | translate}} </div> </div> </div> </div> <div class="form-group"> <div class="input-group" ng-class="{\'has-danger\': clusterConfigurationForm.heartbeatInterval.$invalid}"> <label for="heartbeat-interval" class="col-xs-4 col-form-label">{{\'cluster_management.cluster_configuration_properties.heartbeat_interval\' | translate}}*</label> <div class="col-xs-8" gdb-tooltip="{{\'cluster_management.cluster_configuration_properties.heartbeat_interval_tooltip\' | translate}}"> <input class="form-control" placeholder="{{\'required.field\' | translate}}" type="number" ng-model="clusterConfiguration.heartbeatInterval" required id="heartbeat-interval" min="0" pattern="[0-9]+" name="heartbeatInterval"> <div class="form-control-feedback" ng-show="clusterConfigurationForm.heartbeatInterval.$error.required"> {{\'required.field\' | translate}} </div> <div class="form-control-feedback" ng-show="clusterConfigurationForm.heartbeatInterval.$error.pattern"> {{\'cluster_management.cluster_page.errors.only_positive_integers\' | translate}} </div> </div> </div> </div> <div class="form-group"> <div class="input-group" ng-class="{\'has-danger\': clusterConfigurationForm.messageSizeKB.$invalid}"> <label for="message-size" class="col-xs-4 col-form-label">{{\'cluster_management.cluster_configuration_properties.message_size_kb\' | translate}}*</label> <div class="col-xs-8" gdb-tooltip="{{\'cluster_management.cluster_configuration_properties.message_size_kb_tooltip\' | translate}}"> <input class="form-control" placeholder="{{\'required.field\' | translate}}" type="number" ng-model="clusterConfiguration.messageSizeKB" required id="message-size" min="0" pattern="[0-9]+" name="messageSizeKB"> <div class="form-control-feedback" ng-show="clusterConfigurationForm.messageSizeKB.$error.required"> {{\'required.field\' | translate}} </div> <div class="form-control-feedback" ng-show="clusterConfigurationForm.messageSizeKB.$error.pattern"> {{\'cluster_management.cluster_page.errors.only_positive_integers\' | translate}} </div> </div> </div> </div> <div class="form-group"> <div class="input-group" ng-class="{\'has-danger\': clusterConfigurationForm.verificationTimeout.$invalid}"> <label for="verification-timeout" class="col-xs-4 col-form-label">{{\'cluster_management.cluster_configuration_properties.verification_timeout\' | translate}}*</label> <div class="col-xs-8" gdb-tooltip="{{\'cluster_management.cluster_configuration_properties.verification_timeout_tooltip\' | translate}}"> <input class="form-control" placeholder="{{\'required.field\' | translate}}" type="number" ng-model="clusterConfiguration.verificationTimeout" required id="verification-timeout" min="0" pattern="[0-9]+" name="verificationTimeout"> <div class="form-control-feedback" ng-show="clusterConfigurationForm.verificationTimeout.$error.required"> {{\'required.field\' | translate}} </div> <div class="form-control-feedback" ng-show="clusterConfigurationForm.verificationTimeout.$error.pattern"> {{\'cluster_management.cluster_page.errors.only_positive_integers\' | translate}} </div> </div> </div> </div> <div class="form-group"> <div class="input-group" ng-class="{\'has-danger\': clusterConfigurationForm.transactionLogMaximumSizeGB.$invalid}"> <label for="verification-timeout" class="col-xs-4 col-form-label">{{\'cluster_management.cluster_configuration_properties.transaction_log_maximum_size_gb\' | translate}}*</label> <div class="col-xs-8" gdb-tooltip="{{\'cluster_management.cluster_configuration_properties.transaction_log_maximum_size_gb_tooltip\' | translate}}"> <input class="form-control" placeholder="{{\'required.field\' | translate}}" type="number" ng-model="clusterConfiguration.transactionLogMaximumSizeGB" required id="transaction-log-maximum-size-gb" pattern="-?[1-9][0-9]*(\\.[0-9]+)?" name="transaction_log_maximum_size_gb"> <div class="form-control-feedback" ng-show="clusterConfigurationForm.transactionLogMaximumSizeGB.$error.required"> {{\'required.field\' | translate}} </div> <div class="form-control-feedback" ng-show="clusterConfigurationForm.transactionLogMaximumSizeGB.$error.pattern"> {{\'cluster_management.cluster_page.errors.small_transaction_log_max_size\' | translate}} </div> </div> </div> </div> <div class="form-group"> <div class="input-group" ng-class="{\'has-danger\': clusterConfigurationForm.batchUpdateInterval.$invalid}"> <label for="batch-update-interval" class="col-xs-4 col-form-label"> {{\'cluster_management.cluster_configuration_properties.batch_update_interval\' | translate}}* </label> <div class="col-xs-8" gdb-tooltip="{{\'cluster_management.cluster_configuration_properties.batch_update_interval_tooltip\' | translate}}"> <input class="form-control" placeholder="{{\'required.field\' | translate}}" type="number" ng-model="clusterConfiguration.batchUpdateInterval" required id="batch-update-interval" min="0" name="batchUpdateInterval"> <div class="form-control-feedback" ng-show="clusterConfigurationForm.batchUpdateInterval.$error.required"> {{\'required.field\' | translate}} </div> </div> </div> </div> </div> </div> </div> </form> </div> '}};
|
|
2
|
-
//# sourceMappingURL=27580.1a1d37196ac1ed2055fc.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"27580.1a1d37196ac1ed2055fc.bundle.js","mappings":"uJAOA,QANW,wmhB","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/clustermanagement/templates/cluster-nodes-configuration.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/cluster-nodes-configuration.css?v=3.1.3-RC1\" rel=\"stylesheet\"/> <div onto-loader-new ng-if=\"loader\" class=\"create-cluster-loader\" message=\"getLoaderMessage\" size=\"100\"></div> <div class=\"add-node-wrapper pull-right mb-1\"> <button ng-click=\"addNode()\" ng-disabled=\"editedNodeIndex !== undefined\" class=\"btn btn-primary add-node-btn\" gdb-tooltip=\"{{'cluster_management.update_cluster_group_dialog.actions.add_node_tooltip' | translate}}\"> <i class=\"fa fa-plus\"></i> {{'cluster_management.update_cluster_group_dialog.actions.add_node' | translate}} </button> </div> <div class=\"table-responsive\"> <form name=\"form\" id=\"updateClusterGroupForm\"> <table class=\"cluster-group table table-striped table-hover cluster-group-table\" aria-describedby=\"cluster group table\"> <thead> <tr class=\"labels-row\"> <th scope=\"col\" class=\"index-column\"> {{'cluster_management.update_cluster_group_dialog.column.index' | translate}} </th> <th scope=\"col\" class=\"location-column\"> {{'cluster_management.update_cluster_group_dialog.column.location' | translate}} </th> <th scope=\"col\" class=\"info-column\"> {{'cluster_management.update_cluster_group_dialog.column.info' | translate}} </th> <th scope=\"col\" class=\"status-column\"> {{'cluster_management.update_cluster_group_dialog.column.status' | translate}} </th> <th scope=\"col\" class=\"empty-column\"></th> <th scope=\"col\" class=\"actions-column\"></th> </tr> </thead> <tbody> <tr ng-if=\"!viewModel.length\"> <td colspan=\"5\" class=\"no-data\"> {{'cluster_management.update_cluster_group_dialog.messages.no_cluster' | translate}} </td> </tr> <tr ng-repeat-start=\"node in viewModel track by \\$index\" ng-if=\"0\"></tr> <tr ng-if=\"\\$index !== editedNodeIndex\" class=\"node preview-node-row\" data-endpoint=\"{{node.endpoint}}\" capture-height=\"\\$index\" ng-class=\"{'selected': \\$index === selectedNode || \\$index === editedNodeIndex}\"> <td class=\"index-cell\"><span ng-if=\"!node.isDeleted\">{{node.index + 1}}</span></td> <td class=\"location-cell data\" ng-class=\"{'deleting': node.isDeleted, 'adding': !node.item.address}\"> <div class=\"location-item\" id=\"endpoint-{{::node.index}}\"> <span class=\"text-only\">{{node.item.endpoint}}</span> <copy-to-clipboard text-to-copy=\"{{node.item.endpoint}}\" custom-tooltip-style=\"true\" ng-attr-target-selector=\"#endpoint-{{::node.index}}\" custom-tooltip-text=\"{{'cluster_management.update_cluster_group_dialog.copy_to_clipboard.copied.tooltip' | translate}}\"></copy-to-clipboard> </div> </td> <td class=\"info-cell data\"> <span ng-if=\"node.isLocal\"> {{'cluster_management.update_cluster_group_dialog.current_node' | translate}}<span ng-if=\"node.item.nodeState\">, </span> </span> <span ng-if=\"node.item.nodeState\"> {{ ('cluster_management.update_cluster_group_dialog.' + node.item.nodeState.toLowerCase()) | translate }} </span> </td> <td class=\"status-cell data\"> <div ng-if=\"!node.item.address\" class=\"adding\"> <i class=\"fa fa-circle-check status-icon\"></i> {{'cluster_management.update_cluster_group_dialog.new_node' | translate}} </div> <div ng-if=\"node.isDeleted\" class=\"deleting\"> <i class=\"fa fa-xmark status-icon\"></i> {{'cluster_management.update_cluster_group_dialog.deleted_node' | translate}} </div> </td> <td class=\"empty-cell\"></td> <td class=\"actions-cell\"> <div ng-if=\"editedNodeIndex === undefined && !node.isDeleted\" class=\"actions-group\"> <button ng-click=\"deleteNode(\\$index, node)\" ng-disabled=\"(hasCluster && !canDeleteNode) || (!hasCluster && node.isLocal)\" class=\"btn btn-link delete-node-btn secondary\" gdb-tooltip=\"{{ (hasCluster && canDeleteNode) || (!hasCluster && !node.isLocal) ?\n ('cluster_management.update_cluster_group_dialog.actions.delete_node' | translate) :\n ('cluster_management.update_cluster_group_dialog.actions.cannot_delete_node' | translate) }}\" title-class=\"delete-node-tooltip\"> <i class=\"fa fa-xmark\"></i> </button> <button ng-click=\"replaceNode(\\$index, node)\" class=\"btn btn-link replace-node-btn\" ng-disabled=\"!hasCluster && node.isLocal\" gdb-tooltip=\"{{hasCluster || !node.isLocal ?\n ('cluster_management.update_cluster_group_dialog.actions.replace_node' | translate) :\n ('cluster_management.update_cluster_group_dialog.actions.cannot_replace_node' | translate) }}\"> <i class=\"fa fa-arrow-right-arrow-left\"></i> </button> </div> <div ng-if=\"editedNodeIndex === undefined && node.isDeleted\" class=\"actions-group\"> <button ng-click=\"restoreNode(node)\" class=\"btn btn-link restore-node-btn secondary\" gdb-tooltip=\"{{'cluster_management.update_cluster_group_dialog.actions.restore_node' | translate}}\"> <i class=\"fa fa-rotate-left\"></i> </button> </div> </td> </tr> <tr ng-if=\"\\$index === editedNodeIndex\" class=\"node edit-node-row\" data-endpoint=\"{{node.endpoint}}\" style=\"\" ng-class=\"{'selected table-info': \\$index === editedNodeIndex}\"> <td class=\"index-cell\"><span ng-if=\"!node.isDeleted\">{{node.index + 1}}</span></td> <td class=\"data location-cell\"> <div class=\"autocomplete-container\"> <input type=\"text\" name=\"location\" required ng-model=\"node.endpoint\" ng-change=\"filterSuggestions(node)\" ng-blur=\"hideSuggestions(node)\" ng-click=\"filterSuggestions(node)\" ng-keydown=\"handleKeydown(\\$event, form.location.\\$valid, node.endpoint)\" auto-grow validate-url exclude=\"/repositories\" exclude-protocol=\"ftp,ftps\" validate-duplicate-url excluded-urls=\"clusterNodesEndpoints\" allow-empty=\"false\" class=\"form-control form-control-sm textarea-edit\" uib-tooltip=\"{{'remote.location.enter.url.msg' | translate}}\" tooltip-placement=\"top\" placeholder=\"{{'cluster_management.update_cluster_group_dialog.field_placeholders.location' | translate}}\"> <ul ng-show=\"suggestions.length > 0 && showDropdown\" class=\"autocomplete-dropdown\"> <li ng-repeat=\"suggestion in suggestions\" ng-mouseup=\"selectSuggestion(node, suggestion)\"> {{ suggestion }} </li> </ul> </div> </td> <td class=\"info-cell data\"> <span ng-if=\"node.isLocal\"> {{'cluster_management.update_cluster_group_dialog.current_node' | translate}}<span ng-if=\"node.item.nodeState\">, </span> </span> <span ng-if=\"node.item.nodeState\"> {{ ('cluster_management.update_cluster_group_dialog.' + node.item.nodeState.toLowerCase()) | translate }} </span> </td> <td class=\"status-cell\"></td> <td class=\"empty-cell\"></td> <td class=\"actions-cell\"> <div class=\"crud-actions-group\"> <button ng-click=\"cancel()\" class=\"btn btn-link cancel-node-replace-btn secondary\" gdb-tooltip=\"{{'cluster_management.update_cluster_group_dialog.actions.cancel' | translate}}\"> <i class=\"fa fa-xmark\"></i> </button> <button ng-click=\"saveNode(node.endpoint)\" class=\"btn btn-link save-rule-btn\" ng-disabled=\"!form.location.\\$valid\" gdb-tooltip=\"{{form.location.\\$valid ? 'cluster_management.update_cluster_group_dialog.actions.add_node' : 'cluster_management.update_cluster_group_dialog.messages.invalid_form' | translate}}\"> <i class=\"fa fa-check\"></i> </button> </div> </td> </tr> <tr ng-repeat-end ng-if=\"0\"></tr> <tr ng-if=\"addNewLocation\" class=\"node edit-node-row\"> <td class=\"index-cell\"></td> <td class=\"data location-cell\"> <div class=\"autocomplete-container\"> <input type=\"text\" name=\"location\" required ng-model=\"newLocation.endpoint\" ng-change=\"filterSuggestions(newLocation)\" ng-blur=\"hideSuggestions(newLocation)\" ng-click=\"filterSuggestions(newLocation)\" ng-keydown=\"handleKeydown(\\$event, form.location.\\$valid, newLocation.endpoint)\" auto-grow validate-url exclude=\"/repositories\" exclude-protocol=\"ftp,ftps\" validate-duplicate-url excluded-urls=\"clusterNodesEndpoints\" allow-empty=\"false\" class=\"form-control form-control-sm textarea-edit\" uib-tooltip=\"{{'remote.location.enter.url.msg' | translate}}\" tooltip-placement=\"top\" placeholder=\"{{'cluster_management.update_cluster_group_dialog.field_placeholders.location' | translate}}\"> <ul ng-show=\"suggestions.length > 0 && showDropdown\" class=\"autocomplete-dropdown\"> <li ng-repeat=\"suggestion in suggestions\" ng-mouseup=\"selectSuggestion(newLocation, suggestion)\"> {{ suggestion }} </li> </ul> </div> </td> <td class=\"info-cell data\"></td> <td class=\"status-cell\"></td> <td class=\"empty-cell\"></td> <td class=\"actions-cell\"> <div class=\"crud-actions-group\"> <button ng-click=\"cancel()\" class=\"btn btn-link cancel-node-replace-btn secondary\" gdb-tooltip=\"{{'cluster_management.update_cluster_group_dialog.actions.cancel' | translate}}\"> <i class=\"fa fa-xmark\"></i> </button> <button ng-click=\"saveNode(newLocation.endpoint)\" class=\"btn btn-link save-rule-btn\" ng-disabled=\"!form.location.\\$valid\" gdb-tooltip=\"{{form.location.\\$valid ? 'cluster_management.update_cluster_group_dialog.actions.add_node' : 'cluster_management.update_cluster_group_dialog.messages.invalid_form' | translate}}\"> <i class=\"fa fa-check\"></i> </button> </div> </td> </tr> </tbody> </table> <div class=\"errors\"> <div class=\"error-message\" ng-show=\"form.location.\\$error.validUrl && !form.location.\\$pristine\"> * {{'valid.remote.location.warning' | translate}} http://server.example.com:7200/. </div> <div class=\"error-message\" ng-show=\"form.location.\\$error.duplicateUrl && !form.location.\\$pristine\"> * {{'duplicate.remote.location.warning' | translate}} </div> <div ng-repeat=\"error in errors\" class=\"error-message\"> {{error}} </div> </div> <div class=\"form-horizontal\" ng-if=\"!hasCluster\"> <div class=\"form-group\"> <div class=\"indented-div\"> <span class=\"padding-label wrapper-div\" gdb-tooltip=\"{{'cluster_management.cluster_page.advanced_options_tooltip' | translate}}\"> <button type=\"button\" class=\"text-btn advanced-options-btn text-left\" data-toggle=\"collapse\" data-target=\"#advancedOptions\"> <i class=\"{{getAdvancedOptionsClass()}} advanced-options-toggle\" aria-hidden=\"true\"></i> {{'cluster_management.cluster_page.advanced_options' | translate}} </button> </span> </div> <div id=\"advancedOptions\" class=\"collapse pb-1 pl-2\"> <div class=\"form-group\"> <div class=\"input-group\" ng-class=\"{'has-danger': clusterConfigurationForm.electionMinTimeout.\\$invalid}\"> <label for=\"election-minimum-timeout\" class=\"col-xs-4 col-form-label\">{{'cluster_management.cluster_configuration_properties.election_min_timeout' | translate}}*</label> <div class=\"col-xs-8\" gdb-tooltip=\"{{'cluster_management.cluster_configuration_properties.election_min_timeout_tooltip' | translate}}\"> <input class=\"form-control\" placeholder=\"{{'required.field' | translate}}\" type=\"number\" ng-model=\"clusterConfiguration.electionMinTimeout\" required id=\"election-minimum-timeout\" min=\"0\" pattern=\"[0-9]+\" name=\"electionMinTimeout\"> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.electionMinTimeout.\\$error.required\"> {{'required.field' | translate}} </div> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.electionMinTimeout.\\$error.pattern\"> {{'cluster_management.cluster_page.errors.only_positive_integers' | translate}} </div> </div> </div> </div> <div class=\"form-group\"> <div class=\"input-group\" ng-class=\"{'has-danger': clusterConfigurationForm.electionRangeTimeout.\\$invalid}\"> <label for=\"election-range-timeout\" class=\"col-xs-4 col-form-label\">{{'cluster_management.cluster_configuration_properties.election_range_timeout' | translate}}*</label> <div class=\"col-xs-8\" gdb-tooltip=\"{{'cluster_management.cluster_configuration_properties.election_range_timeout_tooltip' | translate}}\"> <input class=\"form-control\" placeholder=\"{{'required.field' | translate}}\" type=\"number\" ng-model=\"clusterConfiguration.electionRangeTimeout\" required id=\"election-range-timeout\" min=\"0\" pattern=\"[0-9]+\" name=\"electionRangeTimeout\"> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.electionRangeTimeout.\\$error.required\"> {{'required.field' | translate}} </div> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.electionRangeTimeout.\\$error.pattern\"> {{'cluster_management.cluster_page.errors.only_positive_integers' | translate}} </div> </div> </div> </div> <div class=\"form-group\"> <div class=\"input-group\" ng-class=\"{'has-danger': clusterConfigurationForm.heartbeatInterval.\\$invalid}\"> <label for=\"heartbeat-interval\" class=\"col-xs-4 col-form-label\">{{'cluster_management.cluster_configuration_properties.heartbeat_interval' | translate}}*</label> <div class=\"col-xs-8\" gdb-tooltip=\"{{'cluster_management.cluster_configuration_properties.heartbeat_interval_tooltip' | translate}}\"> <input class=\"form-control\" placeholder=\"{{'required.field' | translate}}\" type=\"number\" ng-model=\"clusterConfiguration.heartbeatInterval\" required id=\"heartbeat-interval\" min=\"0\" pattern=\"[0-9]+\" name=\"heartbeatInterval\"> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.heartbeatInterval.\\$error.required\"> {{'required.field' | translate}} </div> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.heartbeatInterval.\\$error.pattern\"> {{'cluster_management.cluster_page.errors.only_positive_integers' | translate}} </div> </div> </div> </div> <div class=\"form-group\"> <div class=\"input-group\" ng-class=\"{'has-danger': clusterConfigurationForm.messageSizeKB.\\$invalid}\"> <label for=\"message-size\" class=\"col-xs-4 col-form-label\">{{'cluster_management.cluster_configuration_properties.message_size_kb' | translate}}*</label> <div class=\"col-xs-8\" gdb-tooltip=\"{{'cluster_management.cluster_configuration_properties.message_size_kb_tooltip' | translate}}\"> <input class=\"form-control\" placeholder=\"{{'required.field' | translate}}\" type=\"number\" ng-model=\"clusterConfiguration.messageSizeKB\" required id=\"message-size\" min=\"0\" pattern=\"[0-9]+\" name=\"messageSizeKB\"> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.messageSizeKB.\\$error.required\"> {{'required.field' | translate}} </div> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.messageSizeKB.\\$error.pattern\"> {{'cluster_management.cluster_page.errors.only_positive_integers' | translate}} </div> </div> </div> </div> <div class=\"form-group\"> <div class=\"input-group\" ng-class=\"{'has-danger': clusterConfigurationForm.verificationTimeout.\\$invalid}\"> <label for=\"verification-timeout\" class=\"col-xs-4 col-form-label\">{{'cluster_management.cluster_configuration_properties.verification_timeout' | translate}}*</label> <div class=\"col-xs-8\" gdb-tooltip=\"{{'cluster_management.cluster_configuration_properties.verification_timeout_tooltip' | translate}}\"> <input class=\"form-control\" placeholder=\"{{'required.field' | translate}}\" type=\"number\" ng-model=\"clusterConfiguration.verificationTimeout\" required id=\"verification-timeout\" min=\"0\" pattern=\"[0-9]+\" name=\"verificationTimeout\"> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.verificationTimeout.\\$error.required\"> {{'required.field' | translate}} </div> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.verificationTimeout.\\$error.pattern\"> {{'cluster_management.cluster_page.errors.only_positive_integers' | translate}} </div> </div> </div> </div> <div class=\"form-group\"> <div class=\"input-group\" ng-class=\"{'has-danger': clusterConfigurationForm.transactionLogMaximumSizeGB.\\$invalid}\"> <label for=\"verification-timeout\" class=\"col-xs-4 col-form-label\">{{'cluster_management.cluster_configuration_properties.transaction_log_maximum_size_gb' | translate}}*</label> <div class=\"col-xs-8\" gdb-tooltip=\"{{'cluster_management.cluster_configuration_properties.transaction_log_maximum_size_gb_tooltip' | translate}}\"> <input class=\"form-control\" placeholder=\"{{'required.field' | translate}}\" type=\"number\" ng-model=\"clusterConfiguration.transactionLogMaximumSizeGB\" required id=\"transaction-log-maximum-size-gb\" pattern=\"-?[1-9][0-9]*(\\\\.[0-9]+)?\" name=\"transaction_log_maximum_size_gb\"> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.transactionLogMaximumSizeGB.\\$error.required\"> {{'required.field' | translate}} </div> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.transactionLogMaximumSizeGB.\\$error.pattern\"> {{'cluster_management.cluster_page.errors.small_transaction_log_max_size' | translate}} </div> </div> </div> </div> <div class=\"form-group\"> <div class=\"input-group\" ng-class=\"{'has-danger': clusterConfigurationForm.batchUpdateInterval.\\$invalid}\"> <label for=\"batch-update-interval\" class=\"col-xs-4 col-form-label\"> {{'cluster_management.cluster_configuration_properties.batch_update_interval' | translate}}* </label> <div class=\"col-xs-8\" gdb-tooltip=\"{{'cluster_management.cluster_configuration_properties.batch_update_interval_tooltip' | translate}}\"> <input class=\"form-control\" placeholder=\"{{'required.field' | translate}}\" type=\"number\" ng-model=\"clusterConfiguration.batchUpdateInterval\" required id=\"batch-update-interval\" min=\"0\" name=\"batchUpdateInterval\"> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.batchUpdateInterval.\\$error.required\"> {{'required.field' | translate}} </div> </div> </div> </div> </div> </div> </div> </form> </div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_id__=31636;export const __webpack_ids__=[31636];export const __webpack_modules__={31636:(e,t,n)=>{n.r(t),n.d(t,{default:()=>a});const a='<link href="css/ttyg/agent-select-menu.css?v=3.1.3-RC1" rel="stylesheet"/> <div class="btn-group agent-select-menu" uib-dropdown guide-selector="select-agent-dropdown"> <button type="button" class="btn dropdown-toggle-btn" uib-dropdown-toggle guide-selector="select-agent-dropdown-toggle" ng-attr-title="{{selectedAgent && !selectedAgent.isDeleted ? (selectedAgent.name + \' · \' + selectedAgent.repositoryId) : null}}"> <span ng-if="!selectedAgent">{{\'ttyg.agent.agent_select_menu.no_selection_label\' | translate}}</span> <div ng-if="selectedAgent && !selectedAgent.isDeleted" class="selected-agent-option"> <span class="agent-name" guide-selector="selected-agent">{{selectedAgent.name}}</span> · <i ng-if="!selectedAgent.isRepositoryDeleted" class="fa-kit fa-gdb-repo-graphdb"></i> <i ng-if="selectedAgent.isRepositoryDeleted" class="fa fa-triangle-exclamation text-warning agent-with-deleted-repository" gdb-tooltip="{{\'ttyg.agent.deleted_repository\' | translate}}"> </i> <span class="repository-id">{{selectedAgent.repositoryId}}</span> <span class="model-name">{{selectedAgent.model}}</span> </div> <span ng-if="selectedAgent && selectedAgent.isDeleted" class="text-warning"> <i class="fa fa-triangle-exclamation"></i> {{\'ttyg.agent.agent_select_menu.deleted_agent\' | translate}} </span> <span class="caret"></span> </button> <ul class="dropdown-menu" uib-dropdown-menu role="menu" aria-labelledby="single-button" guide-selector="select-agent-panel"> <li ng-repeat="agentOption in agentOptionsList" role="menuitem" class="agent-menu-item" ng-class="{\'selected\': agentOption.selected, \'incompatible-agent\': !agentOption.data.agent.isCompatible}" ng-attr-title="{{!agentOption.data.agent.isCompatible ? (\'ttyg.agent.incompatible_agent\' | translate) : agentOption.label + \' · \' + agentOption.data.agent.repositoryId}}"> <a href="#" class="agent-option" ng-click="onAgentSelected($event, agentOption.data.agent)"> <i ng-if="!agentOption.data.agent.isCompatible" class="fa fa-triangle-exclamation text-warning"> </i> <span class="agent-name">{{agentOption.label}}</span> · <i ng-if="!agentOption.data.agent.isRepositoryDeleted" class="fa-kit fa-gdb-repo-graphdb"></i> <i ng-if="agentOption.data.agent.isRepositoryDeleted" class="fa fa-triangle-exclamation text-warning agent-with-deleted-repository" gdb-tooltip="{{\'ttyg.agent.deleted_repository\' | translate}}"> </i> <span class="repository-id">{{agentOption.data.agent.repositoryId}}</span> </a> <span class="model-name">{{agentOption.data.agent.model}}</span> </li> </ul> </div> '}};
|
|
2
|
-
//# sourceMappingURL=31636.300e78b54176d96209d4.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"31636.300e78b54176d96209d4.bundle.js","mappings":"uJAGA,QAFW,2gF","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/ttyg/templates/agent-select-menu.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/ttyg/agent-select-menu.css?v=3.1.3-RC1\" rel=\"stylesheet\"/> <div class=\"btn-group agent-select-menu\" uib-dropdown guide-selector=\"select-agent-dropdown\"> <button type=\"button\" class=\"btn dropdown-toggle-btn\" uib-dropdown-toggle guide-selector=\"select-agent-dropdown-toggle\" ng-attr-title=\"{{selectedAgent && !selectedAgent.isDeleted ? (selectedAgent.name + ' · ' + selectedAgent.repositoryId) : null}}\"> <span ng-if=\"!selectedAgent\">{{'ttyg.agent.agent_select_menu.no_selection_label' | translate}}</span> <div ng-if=\"selectedAgent && !selectedAgent.isDeleted\" class=\"selected-agent-option\"> <span class=\"agent-name\" guide-selector=\"selected-agent\">{{selectedAgent.name}}</span> · <i ng-if=\"!selectedAgent.isRepositoryDeleted\" class=\"fa-kit fa-gdb-repo-graphdb\"></i> <i ng-if=\"selectedAgent.isRepositoryDeleted\" class=\"fa fa-triangle-exclamation text-warning agent-with-deleted-repository\" gdb-tooltip=\"{{'ttyg.agent.deleted_repository' | translate}}\"> </i> <span class=\"repository-id\">{{selectedAgent.repositoryId}}</span> <span class=\"model-name\">{{selectedAgent.model}}</span> </div> <span ng-if=\"selectedAgent && selectedAgent.isDeleted\" class=\"text-warning\"> <i class=\"fa fa-triangle-exclamation\"></i> {{'ttyg.agent.agent_select_menu.deleted_agent' | translate}} </span> <span class=\"caret\"></span> </button> <ul class=\"dropdown-menu\" uib-dropdown-menu role=\"menu\" aria-labelledby=\"single-button\" guide-selector=\"select-agent-panel\"> <li ng-repeat=\"agentOption in agentOptionsList\" role=\"menuitem\" class=\"agent-menu-item\" ng-class=\"{'selected': agentOption.selected, 'incompatible-agent': !agentOption.data.agent.isCompatible}\" ng-attr-title=\"{{!agentOption.data.agent.isCompatible ? ('ttyg.agent.incompatible_agent' | translate) : agentOption.label + ' · ' + agentOption.data.agent.repositoryId}}\"> <a href=\"#\" class=\"agent-option\" ng-click=\"onAgentSelected(\\$event, agentOption.data.agent)\"> <i ng-if=\"!agentOption.data.agent.isCompatible\" class=\"fa fa-triangle-exclamation text-warning\"> </i> <span class=\"agent-name\">{{agentOption.label}}</span> · <i ng-if=\"!agentOption.data.agent.isRepositoryDeleted\" class=\"fa-kit fa-gdb-repo-graphdb\"></i> <i ng-if=\"agentOption.data.agent.isRepositoryDeleted\" class=\"fa fa-triangle-exclamation text-warning agent-with-deleted-repository\" gdb-tooltip=\"{{'ttyg.agent.deleted_repository' | translate}}\"> </i> <span class=\"repository-id\">{{agentOption.data.agent.repositoryId}}</span> </a> <span class=\"model-name\">{{agentOption.data.agent.model}}</span> </li> </ul> </div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_id__=32489;export const __webpack_ids__=[32489];export const __webpack_modules__={32489:(t,n,a)=>{a.r(n),a.d(n,{default:()=>o});const o='<link href="css/operations-statuses-monitor.css?v=3.1.3-RC1" rel="stylesheet"/> <div ng-if="activeOperations && activeOperations.operations && activeOperations.operations.length > 0" class="operations-statuses btn-group"> <button type="button" class="btn btn-secondary operations-statuses-dropdown-toggle dropdown-toggle" data-toggle="dropdown" ng-if="operationsSummary && operationsSummary.length > 0" ng-class="{\n \'btn-fade-danger\': OPERATION_STATUS.CRITICAL === activeOperations.status,\n \'btn-fade-warning\': OPERATION_STATUS.WARNING === activeOperations.status\n }"> <div class="operation-status-header" ng-repeat="operationGroup in operationsSummary"> <div ng-class="{\n \'icon-import\': OPERATION_GROUP_TYPE.IMPORT_OPERATION === operationGroup.type,\n \'icon-exchange\': OPERATION_GROUP_TYPE.QUERIES_OPERATION === operationGroup.type,\n \'fa fa-archive\': OPERATION_GROUP_TYPE.BACKUP_AND_RESTORE_OPERATION === operationGroup.type,\n \'fa fa-sitemap\': OPERATION_GROUP_TYPE.CLUSTER_OPERATION === operationGroup.type,\n \'status-critical\': OPERATION_STATUS.CRITICAL === operationGroup.status,\n \'status-information\': OPERATION_STATUS.INFORMATION === operationGroup.status,\n \'status-warning\': OPERATION_STATUS.WARNING === operationGroup.status}"> </div> <span ng-if="operationGroup.runningOperations" class="running-operation-count"> <sup class="tag-info">{{operationGroup.runningOperations}}</sup> </span> </div> <span class="caret"></span> </button> <ul role="menu" class="dropdown-menu dropdown-menu-right"> <div class="operations-statuses-content"> <li ng-repeat="operationStatus in activeOperations.operations"> <a class="operation-status-content btn btn-secondary row" target="_blank" ng-attr-href="{{operationStatus.monitoringViewUrl}}" ng-class="{\n \'status-critical\': OPERATION_STATUS.CRITICAL === operationStatus.status,\n \'status-information\': OPERATION_STATUS.INFORMATION === operationStatus.status,\n \'status-warning\': OPERATION_STATUS.WARNING === operationStatus.status\n }"> <div class="operation-icon col-sm-1" ng-style="noPadding"> <div ng-class="{\n \'icon-import\': OPERATION_TYPE.IMPORTS === operationStatus.type,\n \'icon-exchange\': OPERATION_TYPE.QUERIES === operationStatus.type || OPERATION_TYPE.UPDATES === operationStatus.type,\n \'fa fa-archive\': OPERATION_TYPE.BACKUP_RESTORE === operationStatus.type,\n \'fa fa-sitemap\': OPERATION_TYPE.CLUSTER_STATUS === operationStatus.type}"> </div> </div> <div class="col-sm-8 operation-status-label"> {{ \'global.operations_statuses.\' + operationStatus.titleLabelKey + \'.title\' | translate }} </div> <div class="operation-number col-sm-3"> <div ng-if="operationStatus.runningOperationCount" class="operation-status-running-operation-count tag-info"> {{operationStatus.runningOperationCount}} </div> </div> </a> </li> </div> </ul> </div> '}};
|
|
2
|
-
//# sourceMappingURL=32489.e732bd9df5b68b50a0ef.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"32489.e732bd9df5b68b50a0ef.bundle.js","mappings":"uJAqBA,QApBW,8hG","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/core/directives/operations-statuses-monitor/templates/operations-statuses-monitor.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/operations-statuses-monitor.css?v=3.1.3-RC1\" rel=\"stylesheet\"/> <div ng-if=\"activeOperations && activeOperations.operations && activeOperations.operations.length > 0\" class=\"operations-statuses btn-group\"> <button type=\"button\" class=\"btn btn-secondary operations-statuses-dropdown-toggle dropdown-toggle\" data-toggle=\"dropdown\" ng-if=\"operationsSummary && operationsSummary.length > 0\" ng-class=\"{\n 'btn-fade-danger': OPERATION_STATUS.CRITICAL === activeOperations.status,\n 'btn-fade-warning': OPERATION_STATUS.WARNING === activeOperations.status\n }\"> <div class=\"operation-status-header\" ng-repeat=\"operationGroup in operationsSummary\"> <div ng-class=\"{\n 'icon-import': OPERATION_GROUP_TYPE.IMPORT_OPERATION === operationGroup.type,\n 'icon-exchange': OPERATION_GROUP_TYPE.QUERIES_OPERATION === operationGroup.type,\n 'fa fa-archive': OPERATION_GROUP_TYPE.BACKUP_AND_RESTORE_OPERATION === operationGroup.type,\n 'fa fa-sitemap': OPERATION_GROUP_TYPE.CLUSTER_OPERATION === operationGroup.type,\n 'status-critical': OPERATION_STATUS.CRITICAL === operationGroup.status,\n 'status-information': OPERATION_STATUS.INFORMATION === operationGroup.status,\n 'status-warning': OPERATION_STATUS.WARNING === operationGroup.status}\"> </div> <span ng-if=\"operationGroup.runningOperations\" class=\"running-operation-count\"> <sup class=\"tag-info\">{{operationGroup.runningOperations}}</sup> </span> </div> <span class=\"caret\"></span> </button> <ul role=\"menu\" class=\"dropdown-menu dropdown-menu-right\"> <div class=\"operations-statuses-content\"> <li ng-repeat=\"operationStatus in activeOperations.operations\"> <a class=\"operation-status-content btn btn-secondary row\" target=\"_blank\" ng-attr-href=\"{{operationStatus.monitoringViewUrl}}\" ng-class=\"{\n 'status-critical': OPERATION_STATUS.CRITICAL === operationStatus.status,\n 'status-information': OPERATION_STATUS.INFORMATION === operationStatus.status,\n 'status-warning': OPERATION_STATUS.WARNING === operationStatus.status\n }\"> <div class=\"operation-icon col-sm-1\" ng-style=\"noPadding\"> <div ng-class=\"{\n 'icon-import': OPERATION_TYPE.IMPORTS === operationStatus.type,\n 'icon-exchange': OPERATION_TYPE.QUERIES === operationStatus.type || OPERATION_TYPE.UPDATES === operationStatus.type,\n 'fa fa-archive': OPERATION_TYPE.BACKUP_RESTORE === operationStatus.type,\n 'fa fa-sitemap': OPERATION_TYPE.CLUSTER_STATUS === operationStatus.type}\"> </div> </div> <div class=\"col-sm-8 operation-status-label\"> {{ 'global.operations_statuses.' + operationStatus.titleLabelKey + '.title' | translate }} </div> <div class=\"operation-number col-sm-3\"> <div ng-if=\"operationStatus.runningOperationCount\" class=\"operation-status-running-operation-count tag-info\"> {{operationStatus.runningOperationCount}} </div> </div> </a> </li> </div> </ul> </div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_id__=34495;export const __webpack_ids__=[34495];export const __webpack_modules__={34495:(t,o,e)=>{e.r(o),e.d(o,{default:()=>a});const a='<link href="css/ttyg/external-integration-configuration-modal.css?v=3.1.3-RC1" rel="stylesheet"/> <div class="modal-header"> <button type="button" class="close" ng-click="close()"></button> <h4 class="modal-title">{{\'ttyg.agent.external_integration_config_modal.title\' | translate}}</h4> </div> <div class="modal-body"> <h6 class="modal-title"> {{ \'ttyg.agent.external_integration_config_modal.label\' | translate:{agentName: agentName} }} </h6> <form class="form-horizontal"> <div class="form-group"> <label for="agentId" class="control-label"> {{ \'ttyg.agent.external_integration_config_modal.agent_id_label\' | translate }} </label> <div class="input-group"> <input type="text" class="form-control" id="agentId" ng-model="agentId" readonly="readonly"> <span class="input-group-addon" gdb-tooltip="{{ \'ttyg.agent.external_integration_config_modal.copy_tooltip\' | translate }}"> <copy-to-clipboard text-to-copy="{{agentId}}" success-message="{{ \'ttyg.agent.external_integration_config_modal.agent_copied_tooltip\' | translate }}"> </copy-to-clipboard> </span> </div> </div> <div class="form-group"> <label for="queryMethods" class="control-label"> {{ \'ttyg.agent.external_integration_config_modal.query_methods\' | translate }} </label> <div class="input-group"> <input type="text" class="form-control" id="queryMethods" ng-model="queryMethods" readonly="readonly"> <span class="input-group-addon" gdb-tooltip="{{ \'ttyg.agent.external_integration_config_modal.copy_tooltip\' | translate }}"> <copy-to-clipboard text-to-copy="{{queryMethods}}" success-message="{{ \'ttyg.agent.external_integration_config_modal.openAPI_copied_tooltip\' | translate }}"> </copy-to-clipboard> </span> </div> </div> <div class="form-group"> <label for="difyExtension" class="control-label"> {{ \'ttyg.agent.external_integration_config_modal.dify_extension\' | translate }} </label> <div class="input-group"> <input type="text" class="form-control" id="difyExtension" ng-model="difyExtension" readonly="readonly"> <span class="input-group-addon" gdb-tooltip="{{ \'ttyg.agent.external_integration_config_modal.copy_tooltip\' | translate }}"> <copy-to-clipboard text-to-copy="{{difyExtension}}" success-message="{{ \'ttyg.agent.external_integration_config_modal.dify_extension_copied_tooltip\' | translate }}"> </copy-to-clipboard> </span> </div> </div> </form> </div> '}};
|
|
2
|
-
//# sourceMappingURL=34495.525f02bbfb2d12e76861.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"34495.525f02bbfb2d12e76861.bundle.js","mappings":"uJAGA,QAFW,qzE","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/ttyg/templates/modal/external-integration-configuration-modal.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/ttyg/external-integration-configuration-modal.css?v=3.1.3-RC1\" rel=\"stylesheet\"/> <div class=\"modal-header\"> <button type=\"button\" class=\"close\" ng-click=\"close()\"></button> <h4 class=\"modal-title\">{{'ttyg.agent.external_integration_config_modal.title' | translate}}</h4> </div> <div class=\"modal-body\"> <h6 class=\"modal-title\"> {{ 'ttyg.agent.external_integration_config_modal.label' | translate:{agentName: agentName} }} </h6> <form class=\"form-horizontal\"> <div class=\"form-group\"> <label for=\"agentId\" class=\"control-label\"> {{ 'ttyg.agent.external_integration_config_modal.agent_id_label' | translate }} </label> <div class=\"input-group\"> <input type=\"text\" class=\"form-control\" id=\"agentId\" ng-model=\"agentId\" readonly=\"readonly\"> <span class=\"input-group-addon\" gdb-tooltip=\"{{ 'ttyg.agent.external_integration_config_modal.copy_tooltip' | translate }}\"> <copy-to-clipboard text-to-copy=\"{{agentId}}\" success-message=\"{{ 'ttyg.agent.external_integration_config_modal.agent_copied_tooltip' | translate }}\"> </copy-to-clipboard> </span> </div> </div> <div class=\"form-group\"> <label for=\"queryMethods\" class=\"control-label\"> {{ 'ttyg.agent.external_integration_config_modal.query_methods' | translate }} </label> <div class=\"input-group\"> <input type=\"text\" class=\"form-control\" id=\"queryMethods\" ng-model=\"queryMethods\" readonly=\"readonly\"> <span class=\"input-group-addon\" gdb-tooltip=\"{{ 'ttyg.agent.external_integration_config_modal.copy_tooltip' | translate }}\"> <copy-to-clipboard text-to-copy=\"{{queryMethods}}\" success-message=\"{{ 'ttyg.agent.external_integration_config_modal.openAPI_copied_tooltip' | translate }}\"> </copy-to-clipboard> </span> </div> </div> <div class=\"form-group\"> <label for=\"difyExtension\" class=\"control-label\"> {{ 'ttyg.agent.external_integration_config_modal.dify_extension' | translate }} </label> <div class=\"input-group\"> <input type=\"text\" class=\"form-control\" id=\"difyExtension\" ng-model=\"difyExtension\" readonly=\"readonly\"> <span class=\"input-group-addon\" gdb-tooltip=\"{{ 'ttyg.agent.external_integration_config_modal.copy_tooltip' | translate }}\"> <copy-to-clipboard text-to-copy=\"{{difyExtension}}\" success-message=\"{{ 'ttyg.agent.external_integration_config_modal.dify_extension_copied_tooltip' | translate }}\"> </copy-to-clipboard> </span> </div> </div> </form> </div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"38360.86f452a9f339af6ba675.bundle.js","mappings":"uJAGA,QAFW,2I","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/core/templates/markdown-content/markdown-content.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/markdown-content.css?v=3.1.3-RC1\" rel=\"stylesheet\"/> <div class=\"markdown-content\" ng-bind-html=\"markdownContent\"></div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_id__=38644;export const __webpack_ids__=[38644];export const __webpack_modules__={38644:(t,e,r)=>{r.r(e);var a=r(88141),n=r(19935),o=(r(32150),r(93462));function s(t,e,r,s,c,i,l,d,p,u,f,g,h){return{restrict:"AE",template:'<div id="domain-range"></div>',scope:{showPredicatesInfoPanel:"=",selectedPredicate:"=",collapseEdges:"="},link:function(u){const f=d(function(){!function(u){var f=1200,y=f/18,x=f/110,m=x/2,v=f/90,k=1.2,b=o.select("#domain-range").append("svg").attr("viewBox","0 0 1200 600").attr("preserveAspectRatio","xMidYMid meet").on("dblclick.zoom",null),w=o.forceSimulation(),E=o.drag().subject(function(t){return t}).on("start",function(t,e){w.stop(),e.fx=t.x,e.fy=t.y,o.select(this).classed("selected",!0)}).on("end",function(t,e){e.fx=null,e.fy=null,o.select(this).classed("selected",!1),C?(w.alpha(.2).restart(),C=!1):w.restart()}).on("drag",function(t,e){C=!0,w.alphaTarget(0).restart(),e.fx=t.x,e.fy=t.y}),N=b.append("defs");N.append("marker").attrs({id:"arrow",viewBox:"0 -5 10 10",refX:10,refY:0,markerUnits:"strokeWidth",markerWidth:5,markerHeight:5,orient:"auto",fill:g}).append("path").attrs({d:"M0,-5L10,0L0,5",class:"arrowHead"}),N.append("marker").attrs({id:"collapsed-arrow",viewBox:"0 -5 10 10",refX:9,refY:0,markerUnits:"strokeWidth",markerWidth:4,markerHeight:4,orient:"auto",fill:g}).append("path").attrs({d:"M0,-5L10,0L0,5",class:"arrowHead"}),N.append("marker").attrs({id:"arrow-loop",viewBox:"0 -5 10 10",refX:7,refY:0,markerUnits:"strokeWidth",markerWidth:5,markerHeight:5,orient:"auto",fill:g}).append("path").attrs({d:"M0,-5L10,0L0,5",class:"arrowHead"}),o.select("#download-svg").on("mouseover",function(){var t=a.A.Export.getCSSRules("css/domain-range-graph.css?v=3.1.3-RC1");$("defs").append('<style type="text/css"><![CDATA['+t+"]]></style>");var e=a.A.Export.generateBase64ImageSource("#domain-range svg");o.select(this).attrs({href:e,download:"domain-range-graph-"+r.getActiveRepository()+".svg"})}),function(){var t=f/7,e=205.7142857142857,r=o.select(".legend-container").append("svg").attr("viewBox","0 0 "+t+" "+e).attr("preserveAspectRatio","xMidYMid meet");r.append("rect").attrs({width:t,height:e}).style("fill","rgba(235, 235, 235, 0.9)");var a=16,n=42.66666666666667,s=n+f/90,i=v/1.1,l=(r.append("circle").attrs({class:"legend-class-node",cx:29.333333333333336,cy:30,r:y/4.5}),30+f/370);r.append("text").attrs({x:s,y:l}).style("font-size",i+"px").text("main class node"),r.append("circle").attrs({class:"legend-object-node",cx:29.333333333333336,cy:70,r:8.727272727272727});var d=l+40;r.append("text").attrs({x:s,y:d}).style("font-size",i+"px").text("class node");var p=70+f/45;r.append("circle").attrs({class:"legend-datatype-node",cx:29.333333333333336,cy:p,r:m});var u=d+f/45;r.append("text").attrs({x:s,y:u}).style("font-size",i+"px").text("datatype node");var g=123.33333333333334;r.append("line").attrs({class:"property-arrow",x1:a,y1:g,x2:n,y2:g}).style("stroke-width",k).attr("marker-end","url("+c.absUrl()+"#arrow)"),r.append("text").attrs({x:s,y:126.57657657657658}).style("font-size",i+"px").text("explicit property");var h=150;r.append("line").attrs({class:"implicit-property-arrow",x1:a,y1:h,x2:n,y2:h}).style("stroke-width",k).attr("marker-end","url("+c.absUrl()+"#arrow)"),r.append("text").attrs({x:s,y:153.24324324324326}).style("font-size",i+"px").text("implicit property");var x=176.66666666666666;r.append("line").attrs({class:"collapsed-property-arrow",x1:a,y1:x,x2:n,y2:x}).style("stroke-width",2).attr("marker-end","url("+c.absUrl()+"#collapsed-arrow)"),r.append("text").attrs({x:s,y:179.9099099099099}).style("font-size",i+"px").text("collapsed property")}();var R=c.search().uri,A=c.search().name;const L=c.search().collapsed;(function(t,e){s.getDomainRangeData(t,e).success(function(t,e,r){u.domainRangeGraphData=t}).error(function(t){p.error("Request for "+A+" failed!")})})(R,L),$(window).on("popstate",function(){i.set(l.DOMAIN_RANGE_WENT_BACK,!0)}),e.onpopstate=function(e){e.state&&t.$broadcast("changeCollapsedEdgesState",e.state.collapsed)},u.$watch("collapseEdges",function(){angular.isUndefined(u.collapseEdges)||(i.set(l.DOMAIN_RANGE_COLLAPSE_EDGES,u.collapseEdges),"true"!==i.get(l.DOMAIN_RANGE_WENT_BACK)&&function(e){t.$broadcast("switchEdgeMode",{uri:R,name:A,collapsed:e})}(u.collapseEdges),i.remove(l.DOMAIN_RANGE_WENT_BACK))}),u.$watch("domainRangeGraphData",function(){if(u.domainRangeGraphData){var r=_.cloneDeep(u.domainRangeGraphData);const S=r.nodes,I=r.links;w.nodes(S).force("x",o.forceX(600)).force("y",o.forceY(300)).force("charge",o.forceManyBody().strength(-800)).force("link",o.forceLink(I).distance(f/3.5));var a=b.selectAll(".link").data(I).enter().append("g");function B(t){t.style("stroke",g),t.style("stroke-width",2),t.attr("marker-end","url("+c.absUrl()+"#collapsed-arrow)")}var s,i,l=0;a.each(function(t){if(t.objectPropNodeClassUri!==R)s=a.append("line").attrs({class:"link","marker-end":"url("+c.absUrl()+"#arrow)"}).style("stroke-width",k).each(function(t){switch(t.propertyType){case"objectLeft":t.targetRadius=y;break;case"objectRight":t.targetRadius=x;break;case"datatype":t.targetRadius=m;break;default:t.targetRadius=0}var e=o.select(this);t.targetNodeEdgeCount>1?B(e):t.implicit&&e.style("stroke-dasharray","3, 3")});else{if(angular.isUndefined(i)){var e=y/2;i=o.select(this).append("path").attrs({d:"M 0 0 A "+e+" "+e+" 0 1 1 0 "+e,class:"loop-link",fill:"none","marker-end":"url("+c.absUrl()+"#arrow-loop)"}).style("stroke-width",k)}(l+=t.targetNodeEdgeCount)>1&&B(o.select(".loop-link"))}});var p={};function G(){$.isEmptyObject(p)||(p.text.style("fill","black"),p.background.style("fill","#f0f0f0"))}function W(t,e){G(),p.text=o.select(this),p.background=o.select(this.previousSibling),p.text.style("fill","white"),p.background.style("fill",g),d(function(){u.showPredicatesInfoPanel=!0,u.selectedPredicate=e}),t.stopPropagation()}$("document").ready(function(){$("#domain-range").bind("click",G)});var N=a.append("text").attr("class",function(t){return t.objectPropNodeClassUri===R?"loop-link-property-name":"property-name"}).attr("dx",function(t){return y/2*("objectLeft"===t.propertyType?1:-1)}).style("text-anchor",function(t){return"objectLeft"===t.propertyType?"end":"start"}).style("font-size",v).text(function(t){return t.targetNodeEdgeCount>1?t.targetNodeEdgeCount+" predicates":t.name});N.each(function(t){var r=o.select(this);/\d\spredicates/.test(r.text())?r.style("font-weight","bold").on("click",W):r.on("click",function(t,r){e.open("resource?uri="+encodeURIComponent(r.uri),"_blank")})});var L=a.append("rect").attr("class",function(t){return t.objectPropNodeClassUri!==R?"link-background":"loop-link-background"}).attr("width",function(t){return t.calculatedWidth=this.previousSibling.getBBox().width,t.calculatedWidth+4}).attr("height",function(t){return t.calculatedHeight=this.previousSibling.getBBox().height,t.calculatedHeight+2}).attr("transform",function(t){var e=2-y/2*("objectLeft"===t.propertyType?1:-1);return"objectLeft"===t.propertyType&&(e+=t.calculatedWidth),"translate(-"+e+",-"+(2+t.calculatedHeight/2)+")"}).on("click",function(t){t.stopPropagation()}),C=b.selectAll(".node").data(S).enter().append("g"),P=C.filter(function(t){return t.objectPropClassUri!==R}).append("circle").each(function(t){var e=o.select(this);"main"===t.classPosition?e.attrs({class:"class-node",r:y}).attr("marker-end","url("+c.absUrl()+"#loop-link)"):null===t.objectPropClassName?e.attrs({class:"datatype-node",r:m}):e.attrs({class:"object-prop-node",r:x})}).call(E);function z(e,r,a){u.$apply(function(){t.$broadcast("reloadDomainRangeGraphView",r,a)})}o.selectAll(".object-prop-node").on("dblclick",z),C.filter(function(t){return t.objectPropClassName&&t.objectPropClassUri!==R}).append("text").attr("class",function(t){return t.classPosition+"-class-label"}).style("font-size",v).text(function(t){return t.objectPropClassName}).on("click",function(t,r){e.open("resource?uri="+encodeURIComponent(r.objectPropClassUri),"_blank")});var U=C.select("text");b.select(".class-node").each(function(){o.select(this.parentNode).append("text").attr("class","rdf-class-label").style("font-size",function(t){return n.A.Text.calcFontSize(A,y)}).text(A).on("click",function(){e.open("resource?uri="+encodeURIComponent(R),"_blank")})});var j=b.select(".class-node + text"),T=o.select(".class-node"),M=o.selectAll(".loop-link-background"),O=o.selectAll(".loop-link-property-name");if(N=o.selectAll(".property-name"),!angular.isUndefined(i)){var D=[];M.each(function(t,e){o.select(this),D.push({idx:e,width:t.calculatedWidth,height:t.calculatedHeight})})}function F(t){var e=8*w.alpha();function r(t){var e=t.x+2*y,r=t.y-35.08771929824562;var a=[];M.each(function(n,s){a.push(n),s<h?function(a,n){var o=$.grep(D,function(t){return t.idx==n});n>0&&(e+=parseFloat(n*(o[0].height/(n/1.4)))),a.attrs({transform:"rotate(270, "+t.x+","+t.y+") translate("+e+","+r+")",width:o[0].height,height:o[0].width})}(o.select(this),s):o.select(this).remove()}),function(t){var e;o.select(".view-more-preds-label").style("font-weight","bold").each(function(r){r.target.allEdges=t,e=this.getComputedTextLength()}).on("click",W),o.select(".view-more-preds-rect").attr("height",e+4)}(a)}s.filter(function(t){return t.objectPropNodeClassUri!==R}).attr("x1",function(t){return t.source.x}).attr("y1",function(t){return t.source.y}).attr("x2",function(t){return t.targetX}).attr("y2",function(t){return t.targetY}).each(function(t){!function(t){"objectLeft"===t.propertyType?(t.source.x-=8*e,t.source.y-=e/9):(t.target.x+=8*e,t.target.y-=e/9)}(t);var r=Math.atan2(t.target.y-t.source.y,t.target.x-t.source.x);t.targetX=t.target.x-Math.cos(r)*t.targetRadius,t.targetY=t.target.y-Math.sin(r)*t.targetRadius}),P.each(function(t){"main"!==t.classPosition||angular.isUndefined(i)||(function(t){var e=t.x+64,r=t.y-y/5.7-5;i.attr("transform","rotate(270, "+t.x+","+t.y+") translate("+e+","+r+")")}(t),function(t){function e(e,r){var a=$.grep(D,function(t){return t.idx==r}),n=0;r>0&&(n=parseFloat(2*r*(a[0].height/1.4)));var o=t.x,s=t.y-2.1*y-n;e.attrs({x:o,y:s}).moveToFront()}O.each(function(t,r){var a=o.select(this),n=O.size()-h;n<0?e(a,r):(0==r&&!u.collapseEdges&&n>1&&(function(t,e,r){t.classed("view-more-preds-label",!0).text(r+" predicates more ..."),null!==this.nextSibling&&e.classed("view-more-preds-rect",!0)}(a,o.select(this.nextSibling),n),e(a,r)),r<h?e(a,r):a.remove())})}(t),r(t)),t.objectPropClassUri!==R&&o.select(this).attr("cx",function(t){return"main"===t.classPosition?function(t){!window.ActiveXObject&&"ActiveXObject"in window&&(Math.log10=function(t){return Math.log(t)/Math.LN10});var e=T.attr("cx")-600,r=.5*Math.log10(Math.abs(e));return t.x+=e>0?-r:r,t.x}(t):t.x}).attr("cy",function(t){return t.y})}),j.attr("x",function(t){return t.x}).attr("y",function(t){return t.y}).moveToFront(),L.filter(function(t){return t.objectPropNodeClassUri!==R}).attr("x",function(t){return t.target.x>t.source.x?t.source.x+(t.target.x-t.source.x)/2:t.target.x+(t.source.x-t.target.x)/2}).attr("y",function(t){return t.target.y>t.source.y?t.source.y+(t.target.y-t.source.y)/2:t.target.y+(t.source.y-t.target.y)/2}).moveToFront(),N.attr("x",function(t){return t.target.x>t.source.x?t.source.x+(t.target.x-t.source.x)/2:t.target.x+(t.source.x-t.target.x)/2}).attr("y",function(t){return t.target.y>t.source.y?t.source.y+(t.target.y-t.source.y)/2:t.target.y+(t.source.y-t.target.y)/2}).moveToFront(),U.attr("x",function(t){return"right"===t.classPosition?t.x+13.09090909090909:t.x-13.09090909090909}).attr("y",function(t){return t.y}).moveToFront()}w.on("tick",F)}});let C=!1}(u)},50);u.$on("$destroy",function(){d.cancel(f)})}}}angular.module("graphdb.framework.graphexplore.directives.domainrange",["graphdb.framework.graphexplore.controllers.domainrange","graphdb.framework.utils.localstorageadapter"]).constant("ONTO_RED","var(--primary-color)").constant("ONTO_GREEN","var(--tertiary-color)").constant("ONTO_BLUE","var(--secondary-color)").constant("NON_COLLAPSED_REFLEXIVE_LINK_LIMIT",6).directive("domainRangeGraph",s),s.$inject=["$rootScope","$window","$repositories","GraphDataRestService","$location","LocalStorageAdapter","LSKeys","$timeout","toastr","ONTO_RED","ONTO_GREEN","ONTO_BLUE","NON_COLLAPSED_REFLEXIVE_LINK_LIMIT"]}};
|
|
2
|
-
//# sourceMappingURL=38644.b15ac899402c86f65c41.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"38644.b15ac899402c86f65c41.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/graphexplore/directives/domain-range-graph.directive.js"],"sourcesContent":["import SVG from 'lib/common/svg-export';\nimport D3 from 'lib/common/d3-utils';\nimport 'angular/utils/local-storage-adapter';\nimport * as d3 from 'd3';\n\nangular\n .module('graphdb.framework.graphexplore.directives.domainrange', [\n 'graphdb.framework.graphexplore.controllers.domainrange',\n 'graphdb.framework.utils.localstorageadapter'\n ])\n .constant('ONTO_RED', 'var(--primary-color)')\n .constant('ONTO_GREEN', 'var(--tertiary-color)')\n .constant('ONTO_BLUE', 'var(--secondary-color)')\n .constant('NON_COLLAPSED_REFLEXIVE_LINK_LIMIT', 6)\n .directive('domainRangeGraph', domainRangeGraphDirective);\n\ndomainRangeGraphDirective.$inject = ['$rootScope', '$window', '$repositories', 'GraphDataRestService', '$location', 'LocalStorageAdapter', 'LSKeys', '$timeout', 'toastr', 'ONTO_RED', 'ONTO_GREEN', 'ONTO_BLUE', 'NON_COLLAPSED_REFLEXIVE_LINK_LIMIT'];\n\nfunction domainRangeGraphDirective($rootScope, $window, $repositories, GraphDataRestService, $location, LocalStorageAdapter, LSKeys, $timeout, toastr, ONTO_RED, ONTO_GREEN, ONTO_BLUE, NON_COLLAPSED_REFLEXIVE_LINK_LIMIT) {\n return {\n restrict: 'AE',\n template: '<div id=\"domain-range\"></div>',\n scope: {\n showPredicatesInfoPanel: '=',\n selectedPredicate: '=',\n collapseEdges: '='\n },\n link: linkFunc\n };\n\n function linkFunc(scope) {\n const timer = $timeout(function () {\n renderDomainRangeGraph(scope);\n }, 50);\n\n scope.$on(\"$destroy\", function () {\n $timeout.cancel(timer);\n });\n }\n\n function renderDomainRangeGraph(scope) {\n var width = 1200,\n height = 600;\n\n var mainClassSize = width / 18,\n otherClassSize = width / 110,\n datatypeSize = otherClassSize / 2,\n labelFontSize = width / 90,\n basicArrowStrokeWidth = width / 1000,\n collapsedArrowStrokeWidth = width / 600;\n\n var svg = d3.select(\"#domain-range\")\n .append(\"svg\")\n .attr(\"viewBox\", \"0 0 \" + width + \" \" + height)\n .attr(\"preserveAspectRatio\", \"xMidYMid meet\")\n .on(\"dblclick.zoom\", null);\n\n var force = d3.forceSimulation();\n\n var drag = d3.drag()\n .subject(function (d) {\n return d;\n })\n .on(\"start\", dragStart)\n .on(\"end\", dragEnd)\n .on(\"drag\", dragged);\n\n var defs = svg.append(\"defs\");\n generateMarkers(defs);\n\n function generateMarkers(defElement) {\n defs.append(\"marker\")\n .attrs({\n id: \"arrow\",\n viewBox: \"0 -5 10 10\",\n refX: 10,\n refY: 0,\n markerUnits: \"strokeWidth\",\n markerWidth: 5,\n markerHeight: 5,\n orient: \"auto\",\n fill: ONTO_BLUE\n })\n .append(\"path\")\n .attrs({\n d: \"M0,-5L10,0L0,5\",\n class: \"arrowHead\"\n });\n\n defs.append(\"marker\")\n .attrs({\n id: \"collapsed-arrow\",\n viewBox: \"0 -5 10 10\",\n refX: 9,\n refY: 0,\n markerUnits: \"strokeWidth\",\n markerWidth: 4,\n markerHeight: 4,\n orient: \"auto\",\n fill: ONTO_BLUE\n })\n .append(\"path\")\n .attrs({\n d: \"M0,-5L10,0L0,5\",\n class: \"arrowHead\"\n });\n\n defs.append(\"marker\")\n .attrs({\n id: \"arrow-loop\",\n viewBox: \"0 -5 10 10\",\n refX: 7,\n refY: 0,\n markerUnits: \"strokeWidth\",\n markerWidth: 5,\n markerHeight: 5,\n orient: \"auto\",\n fill: ONTO_BLUE\n })\n .append(\"path\")\n .attrs({\n d: \"M0,-5L10,0L0,5\",\n class: \"arrowHead\"\n });\n }\n\n /*\n * Prepares SVG document image export by adding xml namespaces and\n * additional style information\n */\n function prepareForSVGImageExport() {\n // get css rules for the diagram\n var cssRules = SVG.Export.getCSSRules(\"css/domain-range-graph.css?v=3.1.3-RC1\");\n\n // inline css rules in a defs tag\n $(\"defs\").append('<style type=\"text/css\"><![CDATA[' + cssRules + ']]></style>');\n\n // convert selected html to base64\n var imgSrc = SVG.Export.generateBase64ImageSource(\"#domain-range svg\");\n\n // set the binary image and a name for the downloadable file on the export button\n d3.select(this).attrs({\n href: imgSrc,\n download: \"domain-range-graph-\" + $repositories.getActiveRepository() + \".svg\"\n });\n }\n\n d3.select(\"#download-svg\")\n .on(\"mouseover\", prepareForSVGImageExport);\n\n generateLegend();\n\n function generateLegend() {\n // start of code for legend\n\n var legendBackgroundWidth = width / 7;\n var legendBackgroundHeight = legendBackgroundWidth * 1.2;\n\n var svgLegend = d3.select(\".legend-container\")\n .append(\"svg\")\n .attr(\"viewBox\", \"0 0 \" + legendBackgroundWidth + \" \" + legendBackgroundHeight)\n .attr(\"preserveAspectRatio\", \"xMidYMid meet\");\n\n var legendCellGroup = svgLegend;\n\n legendCellGroup.append(\"rect\")\n .attrs({\n width: legendBackgroundWidth,\n height: legendBackgroundHeight\n })\n .style(\"fill\", \"rgba(235, 235, 235, 0.9)\");\n\n var sourceX = width / 75;\n var sourceY = width / 40;\n var targetX = sourceX + mainClassSize / 2.5;\n var targetY = sourceY;\n\n var legendTextX = targetX + width / 90;\n var legendLabelFontSize = labelFontSize / 1.1;\n\n var classNodeY = sourceY;\n var legendClassNode = legendCellGroup\n .append(\"circle\")\n .attrs({\n class: \"legend-class-node\",\n cx: (sourceX + targetX) / 2,\n cy: classNodeY,\n r: mainClassSize / 4.5\n });\n\n var classNodeTextY = targetY + width / 370;\n legendCellGroup\n .append(\"text\")\n .attrs({\n x: legendTextX,\n y: classNodeTextY\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"main class node\");\n\n var objectNodeY = classNodeY + width / 30;\n legendCellGroup\n .append(\"circle\")\n .attrs({\n class: \"legend-object-node\",\n cx: (sourceX + targetX) / 2,\n cy: objectNodeY,\n r: otherClassSize / 1.25\n });\n\n var objectNodeTextY = classNodeTextY + width / 30;\n legendCellGroup\n .append(\"text\")\n .attrs({\n x: legendTextX,\n y: objectNodeTextY\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"class node\");\n\n var datatypeNodeY = objectNodeY + width / 45;\n legendCellGroup\n .append(\"circle\")\n .attrs({\n class: \"legend-datatype-node\",\n cx: (sourceX + targetX) / 2,\n cy: datatypeNodeY,\n r: datatypeSize\n });\n\n var datatypeNodeTextY = objectNodeTextY + width / 45;\n legendCellGroup\n .append(\"text\")\n .attrs({\n x: legendTextX,\n y: datatypeNodeTextY\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"datatype node\");\n\n var basicPropertyArrowY = datatypeNodeY + width / 45;\n legendCellGroup\n .append(\"line\")\n .attrs({\n class: \"property-arrow\",\n x1: sourceX,\n y1: basicPropertyArrowY,\n x2: targetX,\n y2: basicPropertyArrowY\n })\n .style(\"stroke-width\", basicArrowStrokeWidth)\n .attr(\"marker-end\", \"url(\" + $location.absUrl() + \"#arrow)\");\n\n legendCellGroup\n .append(\"text\")\n .attrs({\n x: legendTextX,\n y: basicPropertyArrowY + (width / 370)\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"explicit property\");\n\n var implicitPropArrowY = basicPropertyArrowY + width / 45;\n legendCellGroup\n .append(\"line\")\n .attrs({\n class: \"implicit-property-arrow\",\n x1: sourceX,\n y1: implicitPropArrowY,\n x2: targetX,\n y2: implicitPropArrowY\n })\n .style(\"stroke-width\", basicArrowStrokeWidth)\n .attr(\"marker-end\", \"url(\" + $location.absUrl() + \"#arrow)\");\n\n legendCellGroup\n .append(\"text\")\n .attrs({\n x: legendTextX,\n y: implicitPropArrowY + (width / 370)\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"implicit property\");\n\n var collapsedPropArrowY = implicitPropArrowY + width / 45;\n legendCellGroup\n .append(\"line\")\n .attrs({\n class: \"collapsed-property-arrow\",\n x1: sourceX,\n y1: collapsedPropArrowY,\n x2: targetX,\n y2: collapsedPropArrowY\n })\n .style(\"stroke-width\", collapsedArrowStrokeWidth)\n .attr(\"marker-end\", \"url(\" + $location.absUrl() + \"#collapsed-arrow)\");\n\n legendCellGroup\n .append(\"text\")\n .attrs({\n x: legendTextX,\n y: collapsedPropArrowY + (width / 370)\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"collapsed property\");\n // end of code for legend\n }\n\n var selectedRdfUri = $location.search().uri;\n var classNodeLabel = $location.search().name;\n const collapsed = $location.search().collapsed;\n\n getDomainRangeData(selectedRdfUri, collapsed);\n\n function getDomainRangeData(selectedRdfUri, collapsed) {\n GraphDataRestService.getDomainRangeData(selectedRdfUri, collapsed)\n .success(function (response, status, headers) {\n scope.domainRangeGraphData = response;\n }).error(function (response) {\n toastr.error(\"Request for \" + classNodeLabel + \" failed!\");\n });\n }\n\n function switchEdgeMode(collapsed) {\n $rootScope.$broadcast('switchEdgeMode', {\n uri: selectedRdfUri,\n name: classNodeLabel,\n collapsed: collapsed\n });\n }\n\n // intercept back button press and set action to local storage\n $(window).on('popstate', function () {\n LocalStorageAdapter.set(LSKeys.DOMAIN_RANGE_WENT_BACK, true);\n });\n\n $window.onpopstate = function (event) {\n if (event.state) {\n $rootScope.$broadcast(\"changeCollapsedEdgesState\", event.state.collapsed);\n }\n };\n\n scope.$watch('collapseEdges', function () {\n if (!angular.isUndefined(scope.collapseEdges)) {\n LocalStorageAdapter.set(LSKeys.DOMAIN_RANGE_COLLAPSE_EDGES, scope.collapseEdges);\n\n // if the back button has not been pressed, then switch to collapsed or non collapsed mode\n // otherwise skip, because back button will not function properly and will not pop the entire\n // history stack\n if (LocalStorageAdapter.get(LSKeys.DOMAIN_RANGE_WENT_BACK) !== \"true\") {\n switchEdgeMode(scope.collapseEdges);\n }\n\n // after back button status has been checked, remove the action from local storage in order\n // to be clean for next check\n LocalStorageAdapter.remove(LSKeys.DOMAIN_RANGE_WENT_BACK);\n }\n });\n\n scope.$watch('domainRangeGraphData', function () {\n if (scope.domainRangeGraphData) {\n var graph = _.cloneDeep(scope.domainRangeGraphData);\n\n const nodes = graph.nodes;\n const links = graph.links;\n\n force.nodes(nodes)\n .force('x', d3.forceX(width / 2))\n .force('y', d3.forceY(height / 2))\n .force(\"charge\", d3.forceManyBody().strength(-800))\n .force(\"link\", d3.forceLink(links).distance(width / 3.5))\n\n var linkGroup = svg.selectAll(\".link\")\n .data(links)\n .enter()\n .append(\"g\");\n\n function styleArrowsInCollapsedMode(sel) {\n sel.style(\"stroke\", ONTO_BLUE);\n sel.style(\"stroke-width\", collapsedArrowStrokeWidth);\n sel.attr(\"marker-end\", \"url(\" + $location.absUrl() + \"#collapsed-arrow)\");\n }\n\n var link,\n loopLink,\n loopLinkEdgeCount = 0;\n\n\n linkGroup\n .each(function (d) {\n if (d.objectPropNodeClassUri !== selectedRdfUri) {\n link = linkGroup\n .append(\"line\")\n .attrs({\n class: \"link\",\n // absolute url needed because angular inserts a <base> tag\n \"marker-end\": \"url(\" + $location.absUrl() + \"#arrow)\"\n })\n .style(\"stroke-width\", basicArrowStrokeWidth)\n .each(function (d) {\n switch (d.propertyType) {\n case \"objectLeft\":\n d.targetRadius = mainClassSize;\n break;\n case \"objectRight\":\n d.targetRadius = otherClassSize;\n break;\n case \"datatype\":\n d.targetRadius = datatypeSize;\n break;\n default:\n d.targetRadius = 0;\n }\n var sel = d3.select(this);\n if (d.targetNodeEdgeCount > 1) {\n styleArrowsInCollapsedMode(sel);\n } else if (d.implicit) {\n sel.style(\"stroke-dasharray\", \"3, 3\");\n }\n });\n } else {\n if (angular.isUndefined(loopLink)) {\n var loopLinkSize = mainClassSize / 2;\n loopLink = d3.select(this)\n .append(\"path\")\n .attrs({\n d: \"M 0 0 A \" + loopLinkSize + \" \" + loopLinkSize + \" 0 1 1 0 \" + loopLinkSize,\n class: \"loop-link\",\n fill: \"none\",\n \"marker-end\": \"url(\" + $location.absUrl() + \"#arrow-loop)\"\n })\n .style(\"stroke-width\", basicArrowStrokeWidth);\n }\n\n loopLinkEdgeCount += d.targetNodeEdgeCount;\n if (loopLinkEdgeCount > 1) {\n styleArrowsInCollapsedMode(d3.select(\".loop-link\"));\n }\n }\n });\n\n var previousPropertyNameSelection = {};\n\n function disableCollapsedPredicateLabelHightlighting() {\n if (!$.isEmptyObject(previousPropertyNameSelection)) {\n previousPropertyNameSelection.text.style(\"fill\", \"black\");\n previousPropertyNameSelection.background.style(\"fill\", \"#f0f0f0\");\n }\n }\n\n // when clicking anywhere else but the collapsed labels disable highlighting\n // of the currently selected one\n $(\"document\").ready(function () {\n $(\"#domain-range\").bind(\"click\", disableCollapsedPredicateLabelHightlighting);\n });\n\n function onCollapsedPropertyNameClick(event, d) {\n disableCollapsedPredicateLabelHightlighting();\n previousPropertyNameSelection.text = d3.select(this);\n\n previousPropertyNameSelection.background = d3.select(this.previousSibling);\n previousPropertyNameSelection.text.style(\"fill\", \"white\");\n\n previousPropertyNameSelection.background.style(\"fill\", ONTO_BLUE);\n $timeout(function () {\n scope.showPredicatesInfoPanel = true;\n scope.selectedPredicate = d;\n });\n event.stopPropagation();\n }\n\n\n var propertyNames = linkGroup\n .append(\"text\")\n .attr(\"class\", function (d) {\n return d.objectPropNodeClassUri === selectedRdfUri ? \"loop-link-property-name\" : \"property-name\";\n })\n .attr(\"dx\", function (d) {\n // offset text more towards the main class\n return mainClassSize / 2 * (d.propertyType === \"objectLeft\" ? 1 : -1);\n })\n .style(\"text-anchor\", function (d) {\n return d.propertyType === \"objectLeft\" ? \"end\" : \"start\";\n })\n .style(\"font-size\", labelFontSize)\n .text(function (d) {\n return d.targetNodeEdgeCount > 1 ? d.targetNodeEdgeCount + \" predicates\" : d.name;\n });\n\n\n propertyNames\n .each(function (d) {\n var sel = d3.select(this);\n var isCompoundEdge = /\\d\\spredicates/.test(sel.text());\n\n // handle collapsed predicates by making their font bold, make them highlight when clicked\n // and make them trigger the side panel to display the collapsed edges\n if (isCompoundEdge) {\n sel\n .style(\"font-weight\", \"bold\")\n .on(\"click\", onCollapsedPropertyNameClick);\n } else {\n // for regular predicate labels just attach a link to the \"Resources\" view\n // for more helpful information regarding them\n sel.on(\"click\", function (event, d) {\n $window.open(\"resource?uri=\" + encodeURIComponent(d.uri), \"_blank\");\n });\n }\n });\n var textPadding = width / 600;\n\n\n var linkRect = linkGroup\n .append(\"rect\")\n .attr(\"class\", function (d) {\n return d.objectPropNodeClassUri !== selectedRdfUri ? \"link-background\" : \"loop-link-background\"\n })\n .attr(\"width\", function (d) {\n d.calculatedWidth = this.previousSibling.getBBox().width;\n return d.calculatedWidth + textPadding * 2;\n })\n .attr(\"height\", function (d) {\n d.calculatedHeight = this.previousSibling.getBBox().height;\n return d.calculatedHeight + textPadding;\n })\n .attr(\"transform\", function (d) {\n // offset rect by the same amount as text (besides the padding)\n var translateX = textPadding - mainClassSize / 2 * (d.propertyType === \"objectLeft\" ? 1 : -1);\n if (d.propertyType === \"objectLeft\") {\n translateX += d.calculatedWidth;\n }\n return \"translate(-\" + translateX + \",-\" + (textPadding + d.calculatedHeight / 2) + \")\";\n })\n .on(\"click\", function (event) {\n event.stopPropagation();\n });\n\n\n var nodeGroup = svg.selectAll(\".node\")\n .data(nodes)\n .enter()\n .append(\"g\");\n\n var node = nodeGroup\n .filter(function (d) {\n return d.objectPropClassUri !== selectedRdfUri;\n })\n .append(\"circle\")\n .each(function (d) {\n var sel = d3.select(this);\n if (d.classPosition === \"main\") {\n sel.attrs({\n class: \"class-node\",\n r: mainClassSize\n })\n .attr(\"marker-end\", \"url(\" + $location.absUrl() + \"#loop-link)\");\n } else if (d.objectPropClassName === null) {\n sel.attrs({\n class: \"datatype-node\",\n r: datatypeSize\n });\n } else {\n sel.attrs({\n class: \"object-prop-node\",\n r: otherClassSize\n });\n }\n })\n .call(drag);\n\n\n function reloadDomainRangeGraphView(event, d, collapsed) {\n scope.$apply(function () {\n $rootScope.$broadcast('reloadDomainRangeGraphView', d, collapsed);\n });\n }\n\n d3.selectAll(\".object-prop-node\")\n .on(\"dblclick\", reloadDomainRangeGraphView);\n\n\n nodeGroup\n .filter(function (d) {\n return d.objectPropClassName && d.objectPropClassUri !== selectedRdfUri;\n })\n .append(\"text\")\n .attr(\"class\", function (d) {\n return d.classPosition + \"-class-label\";\n })\n .style(\"font-size\", labelFontSize)\n .text(function (d) {\n return d.objectPropClassName;\n })\n .on(\"click\", function (event, d) {\n $window.open(\"resource?uri=\" + encodeURIComponent(d.objectPropClassUri), \"_blank\");\n });\n\n var objectPropClassName = nodeGroup.select(\"text\");\n\n svg.select(\".class-node\")\n .each(function () {\n d3.select(this.parentNode)\n .append(\"text\")\n .attr(\"class\", \"rdf-class-label\")\n .style(\"font-size\", function (d) {\n return D3.Text.calcFontSize(classNodeLabel, mainClassSize)\n })\n .text(classNodeLabel)\n .on(\"click\", function () {\n $window.open(\"resource?uri=\" + encodeURIComponent(selectedRdfUri), \"_blank\");\n });\n });\n\n\n var rdfClassName = svg.select(\".class-node + text\"),\n classNode = d3.select(\".class-node\"),\n loopLinkBackgroundSel = d3.selectAll(\".loop-link-background\"),\n loopLinkPropertyName = d3.selectAll(\".loop-link-property-name\");\n\n propertyNames = d3.selectAll(\".property-name\");\n\n if (!angular.isUndefined(loopLink)) {\n var loopLinkBackgroundProps = [];\n\n loopLinkBackgroundSel.each(function (d, i) {\n var sel = d3.select(this);\n loopLinkBackgroundProps.push({\n idx: i,\n width: d.calculatedWidth,\n height: d.calculatedHeight\n });\n });\n }\n\n function tick(e) {\n var k = 8 * force.alpha();\n\n function pushEdgesToLeftAndRight(d) {\n if (d.propertyType === \"objectLeft\") {\n d.source.x -= 8 * k;\n d.source.y -= k / 9;\n } else {\n d.target.x += 8 * k;\n d.target.y -= k / 9;\n }\n }\n\n link\n .filter(function (d) {\n return d.objectPropNodeClassUri !== selectedRdfUri;\n })\n .attr(\"x1\", function (d) {\n return d.source.x;\n })\n .attr(\"y1\", function (d) {\n return d.source.y;\n })\n .attr(\"x2\", function (d) {\n return d.targetX;\n })\n .attr(\"y2\", function (d) {\n return d.targetY;\n })\n .each(function (d) {\n pushEdgesToLeftAndRight(d);\n\n // shortens the line to compensate for the circle at the target\n var angle = Math.atan2(d.target.y - d.source.y, d.target.x - d.source.x);\n d.targetX = d.target.x - Math.cos(angle) * d.targetRadius;\n d.targetY = d.target.y - Math.sin(angle) * d.targetRadius;\n });\n\n function positionLoopLink(d) {\n var loopTranslateX = d.x + mainClassSize * 0.96,\n loopTranslateY = d.y - mainClassSize / 5.7 - 5;\n loopLink.attr(\"transform\", \"rotate(270, \" + d.x + \",\" + d.y + \") translate(\" + loopTranslateX + \",\" + loopTranslateY + \")\");\n }\n\n function positionLoopLinkLabels(d) {\n function reposition(sel, i) {\n var foundLoopLinkBackgroundProps =\n $.grep(loopLinkBackgroundProps, function (obj) {\n return obj.idx == i;\n });\n var currentBackgroundHeight = 0;\n if (i > 0) {\n currentBackgroundHeight = parseFloat(2 * i * (foundLoopLinkBackgroundProps[0].height / 1.4));\n }\n\n var loopLinkLabelX = d.x,\n loopLinkLabelY = d.y - mainClassSize * 2.1 - currentBackgroundHeight;\n\n sel\n .attrs({\n x: loopLinkLabelX,\n y: loopLinkLabelY\n })\n .moveToFront();\n }\n\n /**\n * Create a \"View more\" label to depict that the are more reflexive link labels\n * left that could be seen in the side panel when clicking this label.\n *\n * @param labelSel\n * d3 selection of the text label\n * @param backgroundSel\n * d3 selection of the rectangle element background\n * @param predicatesLeft\n * number of predicates left that are collapsed\n */\n function createViewMorePredicatesLabel(labelSel, backgroundSel, predicatesLeft) {\n labelSel\n .classed(\"view-more-preds-label\", true)\n .text(predicatesLeft + \" predicates more ...\");\n if (this.nextSibling !== null) {\n backgroundSel\n .classed(\"view-more-preds-rect\", true);\n }\n }\n\n loopLinkPropertyName.each(function (dd, i) {\n var sel = d3.select(this);\n\n var predicatesLeft = loopLinkPropertyName.size() - NON_COLLAPSED_REFLEXIVE_LINK_LIMIT;\n if (predicatesLeft < 0) {\n reposition(sel, i);\n } else {\n if (i == 0 && !scope.collapseEdges && predicatesLeft > 1) {\n createViewMorePredicatesLabel(sel, d3.select(this.nextSibling), predicatesLeft);\n reposition(sel, i);\n }\n\n if (i < NON_COLLAPSED_REFLEXIVE_LINK_LIMIT) {\n reposition(sel, i);\n } else {\n sel.remove();\n }\n }\n });\n // loopLinkPropertyName.each(function (dd, i) {\n // var sel = d3.select(this);\n // if (i < NON_COLLAPSED_REFLEXIVE_LINK_LIMIT) {\n // reposition(sel, i);\n // } else if (i == NON_COLLAPSED_REFLEXIVE_LINK_LIMIT) {\n // createViewMorePredicatesLabel(sel, d3.select(this.nextSibling));\n // reposition(sel, i);\n // } else {\n // sel.remove();\n // }\n // });\n }\n\n function positionLoopLinkBackgrounds(d) {\n var loopLinkBackgroundY = d.x + mainClassSize * 2,\n loopLinkBackgroundX = d.y - mainClassSize / 1.9;\n\n function reposition(sel, i) {\n var foundLoopLinkBackgroundProps =\n $.grep(loopLinkBackgroundProps, function (obj) {\n return obj.idx == i;\n });\n if (i > 0) {\n loopLinkBackgroundY += parseFloat(i * (foundLoopLinkBackgroundProps[0].height / (i / 1.4)));\n }\n\n sel\n .attrs({\n transform: \"rotate(270, \" + d.x + \",\" + d.y + \") translate(\" + loopLinkBackgroundY + \",\" + loopLinkBackgroundX + \")\",\n width: foundLoopLinkBackgroundProps[0].height,\n height: foundLoopLinkBackgroundProps[0].width\n });\n }\n\n /**\n * Adjust new width of \"View more\" label background and add all reflexive link metadata the this\n * label in order to render them in the side panel.\n *\n * @param allLoopLinkEdges\n * all reflexive links to the current class\n */\n function adjustViewMorePredicatesLabel(allLoopLinkEdges) {\n var viewMoreTextWidth;\n d3.select(\".view-more-preds-label\")\n // make label bold to resemble a collapsed label\n .style(\"font-weight\", \"bold\")\n .each(function (d) {\n // attach all reflexive links to the \"view more\" collapsed predicate\n // because in non collapsed mode the backend does not provide them\n d.target.allEdges = allLoopLinkEdges;\n\n // calculate text width in pixels in order to adjust background width accordingly\n viewMoreTextWidth = this.getComputedTextLength();\n })\n .on(\"click\", onCollapsedPropertyNameClick);\n\n d3.select(\".view-more-preds-rect\")\n // we modify height property instead of width because they are reversed\n // when we repositioned loop link labels\n .attr(\"height\", viewMoreTextWidth + 2 * textPadding);\n }\n\n var allLoopLinkEdges = [];\n loopLinkBackgroundSel.each(function (dd, i) {\n allLoopLinkEdges.push(dd);\n if (i < NON_COLLAPSED_REFLEXIVE_LINK_LIMIT) {\n reposition(d3.select(this), i);\n } else {\n d3.select(this).remove();\n }\n });\n\n adjustViewMorePredicatesLabel(allLoopLinkEdges);\n }\n\n\n function centerClassNode(d) {\n if (!(window.ActiveXObject) && \"ActiveXObject\" in window) {\n Math.log10 = function (x) {\n return Math.log(x) / Math.LN10;\n };\n }\n var absDiff = classNode.attr(\"cx\") - width / 2,\n logOffset = Math.log10(Math.abs(absDiff)) * 0.5;\n d.x += absDiff > 0 ? -logOffset : logOffset;\n return d.x;\n }\n\n node\n .each(function (d) {\n if (d.classPosition === \"main\" && !angular.isUndefined(loopLink)) {\n positionLoopLink(d);\n positionLoopLinkLabels(d);\n positionLoopLinkBackgrounds(d);\n }\n\n if (d.objectPropClassUri !== selectedRdfUri) {\n d3.select(this)\n .attr(\"cx\", function (d) {\n // pushes the main class circle to the centre\n if (d.classPosition === \"main\") {\n return centerClassNode(d);\n }\n return d.x;\n })\n .attr(\"cy\", function (d) {\n return d.y;\n });\n }\n });\n\n\n rdfClassName\n .attr(\"x\", function (d) {\n return d.x;\n })\n .attr(\"y\", function (d) {\n return d.y;\n })\n .moveToFront();\n\n\n linkRect\n .filter(function (d) {\n return d.objectPropNodeClassUri !== selectedRdfUri;\n })\n .attr(\"x\", function (d) {\n if (d.target.x > d.source.x) {\n return (d.source.x + (d.target.x - d.source.x) / 2);\n } else {\n return (d.target.x + (d.source.x - d.target.x) / 2);\n }\n })\n .attr(\"y\", function (d) {\n if (d.target.y > d.source.y) {\n return (d.source.y + (d.target.y - d.source.y) / 2);\n } else {\n return (d.target.y + (d.source.y - d.target.y) / 2);\n }\n })\n .moveToFront();\n\n\n propertyNames\n .attr(\"x\", function (d) {\n if (d.target.x > d.source.x) {\n return (d.source.x + (d.target.x - d.source.x) / 2);\n } else {\n return (d.target.x + (d.source.x - d.target.x) / 2);\n }\n })\n .attr(\"y\", function (d) {\n if (d.target.y > d.source.y) {\n return (d.source.y + (d.target.y - d.source.y) / 2);\n } else {\n return (d.target.y + (d.source.y - d.target.y) / 2);\n }\n })\n .moveToFront();\n\n\n objectPropClassName\n .attr(\"x\", function (d) {\n if (d.classPosition === \"right\") {\n return d.x + otherClassSize * 1.2;\n } else {\n return d.x - otherClassSize * 1.2;\n }\n })\n .attr(\"y\", function (d) {\n return d.y;\n })\n .moveToFront();\n }\n\n force.on(\"tick\", tick)\n\n }\n });\n\n let isDragged = false;\n\n function dragStart(event, d) {\n force.stop();\n d.fx = event.x;\n d.fy = event.y;\n d3.select(this).classed(\"selected\", true);\n\n }\n\n // Update the subject (dragged node) position during drag.\n function dragged(event, d) {\n isDragged = true;\n\n force.alphaTarget(0).restart();\n d.fx = event.x;\n d.fy = event.y;\n }\n\n // Restore the target alpha so the simulation cools after dragging ends.\n // Unfix the subject position now that it’s no longer being dragged.\n function dragEnd(event, d) {\n d.fx = null;\n d.fy = null;\n d3.select(this).classed(\"selected\", false);\n if (isDragged) {\n force.alpha(0.2).restart();\n isDragged = false;\n } else {\n force.restart();\n }\n }\n\n }\n}\n"],"names":["domainRangeGraphDirective","$rootScope","$window","$repositories","GraphDataRestService","$location","LocalStorageAdapter","LSKeys","$timeout","toastr","ONTO_RED","ONTO_GREEN","ONTO_BLUE","NON_COLLAPSED_REFLEXIVE_LINK_LIMIT","restrict","template","scope","showPredicatesInfoPanel","selectedPredicate","collapseEdges","link","timer","width","mainClassSize","otherClassSize","datatypeSize","labelFontSize","basicArrowStrokeWidth","svg","d3","append","attr","on","force","drag","subject","d","event","stop","fx","x","fy","y","this","classed","isDragged","alpha","restart","alphaTarget","defs","attrs","id","viewBox","refX","refY","markerUnits","markerWidth","markerHeight","orient","fill","class","cssRules","SVG","Export","getCSSRules","$","imgSrc","generateBase64ImageSource","href","download","getActiveRepository","legendBackgroundWidth","legendBackgroundHeight","legendCellGroup","height","style","sourceX","targetX","legendTextX","legendLabelFontSize","classNodeTextY","cx","cy","r","text","classNodeY","objectNodeTextY","datatypeNodeY","datatypeNodeTextY","basicPropertyArrowY","x1","y1","x2","y2","absUrl","implicitPropArrowY","collapsedPropArrowY","generateLegend","selectedRdfUri","search","uri","classNodeLabel","name","collapsed","getDomainRangeData","success","response","status","headers","domainRangeGraphData","error","window","set","DOMAIN_RANGE_WENT_BACK","onpopstate","state","$broadcast","$watch","angular","isUndefined","DOMAIN_RANGE_COLLAPSE_EDGES","get","switchEdgeMode","remove","graph","_","cloneDeep","nodes","links","strength","distance","linkGroup","selectAll","data","enter","styleArrowsInCollapsedMode","sel","loopLink","loopLinkEdgeCount","each","objectPropNodeClassUri","propertyType","targetRadius","targetNodeEdgeCount","implicit","loopLinkSize","previousPropertyNameSelection","disableCollapsedPredicateLabelHightlighting","isEmptyObject","background","onCollapsedPropertyNameClick","previousSibling","stopPropagation","ready","bind","propertyNames","test","open","encodeURIComponent","linkRect","calculatedWidth","getBBox","textPadding","calculatedHeight","translateX","nodeGroup","node","filter","objectPropClassUri","classPosition","objectPropClassName","call","reloadDomainRangeGraphView","$apply","select","parentNode","D3","Text","calcFontSize","rdfClassName","classNode","loopLinkBackgroundSel","loopLinkPropertyName","loopLinkBackgroundProps","i","push","idx","tick","e","k","positionLoopLinkBackgrounds","loopLinkBackgroundY","loopLinkBackgroundX","allLoopLinkEdges","dd","foundLoopLinkBackgroundProps","grep","obj","parseFloat","transform","reposition","viewMoreTextWidth","target","allEdges","getComputedTextLength","adjustViewMorePredicatesLabel","source","targetY","pushEdgesToLeftAndRight","angle","Math","atan2","cos","sin","loopTranslateX","loopTranslateY","positionLoopLink","currentBackgroundHeight","loopLinkLabelX","loopLinkLabelY","moveToFront","predicatesLeft","size","labelSel","backgroundSel","nextSibling","createViewMorePredicatesLabel","positionLoopLinkLabels","ActiveXObject","log10","log","LN10","absDiff","logOffset","abs","centerClassNode","renderDomainRangeGraph","$on","cancel","module","constant","directive","$inject"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_id__=38843;export const __webpack_ids__=[38843];export const __webpack_modules__={38843:(e,t,s)=>{s.r(t),s.d(t,{default:()=>i});const i='<link href="css/graphql/create-graphql-endpoint.css?v=3.1.3-RC1" rel="stylesheet"/> <link href="css/wizard.css?v=3.1.3-RC1" rel="stylesheet"/> <div class="create-graphql-endpoint-view"> <h1 id="title-container"> <span>{{title}}</span> <page-info-tooltip></page-info-tooltip> </h1> <div class="core-errors-container" core-errors write></div> <div class="create-graphql-endpoint-container"> <div class="content" ng-if="selectedSourceRepository"> <div class="toolbar"> <div class="form-inline"> <label for="sourceRepositorySelector">{{\'graphql.create_endpoint.toolbar.source_repository_selector.label\' | translate}}</label> <select id="sourceRepositorySelector" ng-model="selectedSourceRepository" ng-options="repository as repository.label for repository in sourceRepositories" ng-change="onSelectedSourceRepositoryChange(selectedSourceRepository)" ng-disabled="generatingEndpoint" class="form-control source-repository-selector" gdb-tooltip="{{\'graphql.create_endpoint.toolbar.source_repository_selector.tooltip\' | translate}}" tooltip-placement="top"> </select> </div> </div> <div class="wizard-container mt-2"> <div class="wizard"> <div class="wizard-steps"> <div ng-repeat="step in wizardModel.steps" ng-click="onStepClick(step); $event.preventDefault()" class="wizard-step" ng-class="{active: step.active, completed: step.visited}"> <span class="step-title">{{\'graphql.create_endpoint.wizard_steps.\' + step.id + \'.title\' | translate}}</span> <span class="fa fa-chevron-right step-decoration"></span> </div> </div> <div class="wizard-content"> <div ng-repeat="step in wizardModel.steps" ng-if="step.active" class="wizard-step-content"> <div ng-switch="step.id"> <div ng-switch-when="select_schema_sources"> <select-schema-sources step-definition="step"></select-schema-sources> </div> <div ng-switch-when="configure_endpoint"> <configure-endpoint step-definition="step"></configure-endpoint> </div> <div ng-switch-when="generate_endpoint"> <generate-endpoint step-definition="step"></generate-endpoint> </div> </div> </div> </div> </div> </div> </div> </div> </div> '}};
|
|
2
|
-
//# sourceMappingURL=38843.863c48c376b96a941f5d.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"38843.863c48c376b96a941f5d.bundle.js","mappings":"uJAGA,QAFW,8hE","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/graphql/templates/create-graphql-endpoint.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/graphql/create-graphql-endpoint.css?v=3.1.3-RC1\" rel=\"stylesheet\"/> <link href=\"css/wizard.css?v=3.1.3-RC1\" rel=\"stylesheet\"/> <div class=\"create-graphql-endpoint-view\"> <h1 id=\"title-container\"> <span>{{title}}</span> <page-info-tooltip></page-info-tooltip> </h1> <div class=\"core-errors-container\" core-errors write></div> <div class=\"create-graphql-endpoint-container\"> <div class=\"content\" ng-if=\"selectedSourceRepository\"> <div class=\"toolbar\"> <div class=\"form-inline\"> <label for=\"sourceRepositorySelector\">{{'graphql.create_endpoint.toolbar.source_repository_selector.label' | translate}}</label> <select id=\"sourceRepositorySelector\" ng-model=\"selectedSourceRepository\" ng-options=\"repository as repository.label for repository in sourceRepositories\" ng-change=\"onSelectedSourceRepositoryChange(selectedSourceRepository)\" ng-disabled=\"generatingEndpoint\" class=\"form-control source-repository-selector\" gdb-tooltip=\"{{'graphql.create_endpoint.toolbar.source_repository_selector.tooltip' | translate}}\" tooltip-placement=\"top\"> </select> </div> </div> <div class=\"wizard-container mt-2\"> <div class=\"wizard\"> <div class=\"wizard-steps\"> <div ng-repeat=\"step in wizardModel.steps\" ng-click=\"onStepClick(step); \\$event.preventDefault()\" class=\"wizard-step\" ng-class=\"{active: step.active, completed: step.visited}\"> <span class=\"step-title\">{{'graphql.create_endpoint.wizard_steps.' + step.id + '.title' | translate}}</span> <span class=\"fa fa-chevron-right step-decoration\"></span> </div> </div> <div class=\"wizard-content\"> <div ng-repeat=\"step in wizardModel.steps\" ng-if=\"step.active\" class=\"wizard-step-content\"> <div ng-switch=\"step.id\"> <div ng-switch-when=\"select_schema_sources\"> <select-schema-sources step-definition=\"step\"></select-schema-sources> </div> <div ng-switch-when=\"configure_endpoint\"> <configure-endpoint step-definition=\"step\"></configure-endpoint> </div> <div ng-switch-when=\"generate_endpoint\"> <generate-endpoint step-definition=\"step\"></generate-endpoint> </div> </div> </div> </div> </div> </div> </div> </div> </div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
|