graphdb-workbench 3.2.0-TR4 → 3.2.0-TR5

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.
Files changed (160) hide show
  1. package/dist/12358.d1b5130917702cb0dd25.bundle.js +3 -0
  2. package/dist/12358.d1b5130917702cb0dd25.bundle.js.map +1 -0
  3. package/dist/{12396.a1b7856e86d52282f34c.bundle.js → 12396.bb3eab12cf754ea62ada.bundle.js} +2 -2
  4. package/dist/{12396.a1b7856e86d52282f34c.bundle.js.map → 12396.bb3eab12cf754ea62ada.bundle.js.map} +1 -1
  5. package/dist/{15535.c58319cba275ee5baa90.bundle.js → 15535.18ede9f56483a38d1305.bundle.js} +2 -2
  6. package/dist/{15535.c58319cba275ee5baa90.bundle.js.map → 15535.18ede9f56483a38d1305.bundle.js.map} +1 -1
  7. package/dist/{16162.2dc986d04777c8ae9489.bundle.js → 16162.68c4cc2feee685642217.bundle.js} +2 -2
  8. package/dist/{16162.2dc986d04777c8ae9489.bundle.js.map → 16162.68c4cc2feee685642217.bundle.js.map} +1 -1
  9. package/dist/19402.151ce1287c14531436c3.bundle.js +2 -0
  10. package/dist/19402.151ce1287c14531436c3.bundle.js.map +1 -0
  11. package/dist/{20287.7cfc312df157f5bdea97.bundle.js → 20287.a67ba9468f3f83219558.bundle.js} +2 -2
  12. package/dist/{20287.7cfc312df157f5bdea97.bundle.js.map → 20287.a67ba9468f3f83219558.bundle.js.map} +1 -1
  13. package/dist/{21136.67a9bcf4bb0c201d3fd1.bundle.js → 21136.514ac00d21a54514a7b6.bundle.js} +2 -2
  14. package/dist/{21136.67a9bcf4bb0c201d3fd1.bundle.js.map → 21136.514ac00d21a54514a7b6.bundle.js.map} +1 -1
  15. package/dist/{21142.7f8327c28d939fa26009.bundle.js → 21142.5e08154738dc30c2aa36.bundle.js} +2 -2
  16. package/dist/{21142.7f8327c28d939fa26009.bundle.js.map → 21142.5e08154738dc30c2aa36.bundle.js.map} +1 -1
  17. package/dist/{21170.cecdf25699f68d4cf749.bundle.js → 21170.1122ab4c938b88301ba7.bundle.js} +2 -2
  18. package/dist/{21170.cecdf25699f68d4cf749.bundle.js.map → 21170.1122ab4c938b88301ba7.bundle.js.map} +1 -1
  19. package/dist/{21195.e2c1fc69631041b97f8e.bundle.js → 21195.4067ec470e04250ed006.bundle.js} +2 -2
  20. package/dist/{21195.e2c1fc69631041b97f8e.bundle.js.map → 21195.4067ec470e04250ed006.bundle.js.map} +1 -1
  21. package/dist/{25747.c3dc5503ad696af5d5a3.bundle.js → 25747.c6c83a72c5ff93451064.bundle.js} +2 -2
  22. package/dist/{25747.c3dc5503ad696af5d5a3.bundle.js.map → 25747.c6c83a72c5ff93451064.bundle.js.map} +1 -1
  23. package/dist/{27580.d038d43102a3e9eec97d.bundle.js → 27580.0219349c709de4b5a0f4.bundle.js} +2 -2
  24. package/dist/{27580.d038d43102a3e9eec97d.bundle.js.map → 27580.0219349c709de4b5a0f4.bundle.js.map} +1 -1
  25. package/dist/{31636.fc6eba63d6d985d31673.bundle.js → 31636.191bd3c9ed0e3fb62007.bundle.js} +2 -2
  26. package/dist/{31636.fc6eba63d6d985d31673.bundle.js.map → 31636.191bd3c9ed0e3fb62007.bundle.js.map} +1 -1
  27. package/dist/{32489.e9af1ec463e2d4136732.bundle.js → 32489.468bcab006cd04c016c7.bundle.js} +2 -2
  28. package/dist/{32489.e9af1ec463e2d4136732.bundle.js.map → 32489.468bcab006cd04c016c7.bundle.js.map} +1 -1
  29. package/dist/{34495.06c9997d58d0b0ba7152.bundle.js → 34495.9b2a1410b1782a381a1e.bundle.js} +2 -2
  30. package/dist/{34495.06c9997d58d0b0ba7152.bundle.js.map → 34495.9b2a1410b1782a381a1e.bundle.js.map} +1 -1
  31. package/dist/36665.6bc77ded61aedb454c6e.bundle.js +2 -0
  32. package/dist/36665.6bc77ded61aedb454c6e.bundle.js.map +1 -0
  33. package/dist/{38360.ca92a04a1afcf9cfea7f.bundle.js → 38360.3714f16105c232cbf498.bundle.js} +2 -2
  34. package/dist/{38360.ca92a04a1afcf9cfea7f.bundle.js.map → 38360.3714f16105c232cbf498.bundle.js.map} +1 -1
  35. package/dist/{38644.29dbfb38e4089efa6697.bundle.js → 38644.f34d9227543727bec695.bundle.js} +2 -2
  36. package/dist/{38644.29dbfb38e4089efa6697.bundle.js.map → 38644.f34d9227543727bec695.bundle.js.map} +1 -1
  37. package/dist/{38843.4b11f56e93f60fbe4e0a.bundle.js → 38843.1ed4c0d2657b5fb9ed8a.bundle.js} +2 -2
  38. package/dist/{38843.4b11f56e93f60fbe4e0a.bundle.js.map → 38843.1ed4c0d2657b5fb9ed8a.bundle.js.map} +1 -1
  39. package/dist/{39518.c577d83ed591fada064c.bundle.js → 39518.52135a04a886f95c5801.bundle.js} +2 -2
  40. package/dist/{39518.c577d83ed591fada064c.bundle.js.map → 39518.52135a04a886f95c5801.bundle.js.map} +1 -1
  41. package/dist/{39539.463ec29e136b100c0abe.bundle.js → 39539.351f1fe10b21f949a885.bundle.js} +2 -2
  42. package/dist/{39539.463ec29e136b100c0abe.bundle.js.map → 39539.351f1fe10b21f949a885.bundle.js.map} +1 -1
  43. package/dist/40516.7db0da5332b68a1cb0a4.bundle.js +2 -0
  44. package/dist/40516.7db0da5332b68a1cb0a4.bundle.js.map +1 -0
  45. package/dist/{41453.241761ce8ff75036e5e0.bundle.js → 41453.c082b58753e157b39bf9.bundle.js} +2 -2
  46. package/dist/{41453.241761ce8ff75036e5e0.bundle.js.map → 41453.c082b58753e157b39bf9.bundle.js.map} +1 -1
  47. package/dist/{42129.f67dc6029cdab567bf54.bundle.js → 42129.6877bc3354f3413916f2.bundle.js} +2 -2
  48. package/dist/{42129.f67dc6029cdab567bf54.bundle.js.map → 42129.6877bc3354f3413916f2.bundle.js.map} +1 -1
  49. package/dist/{44444.a1b29c2329c7d4a39cc5.bundle.js → 44444.2b282777f2e1424a03b1.bundle.js} +2 -2
  50. package/dist/{44444.a1b29c2329c7d4a39cc5.bundle.js.map → 44444.2b282777f2e1424a03b1.bundle.js.map} +1 -1
  51. package/dist/{55862.1c3f1e807c8a05b1b6ed.bundle.js → 55862.f591817372ceb94a4cd2.bundle.js} +2 -2
  52. package/dist/{55862.1c3f1e807c8a05b1b6ed.bundle.js.map → 55862.f591817372ceb94a4cd2.bundle.js.map} +1 -1
  53. package/dist/{58306.a45182d200e3f8793644.bundle.js → 58306.b82da84fcad5ac12087a.bundle.js} +2 -2
  54. package/dist/{58306.a45182d200e3f8793644.bundle.js.map → 58306.b82da84fcad5ac12087a.bundle.js.map} +1 -1
  55. package/dist/64118.b15383c12c5bdf6d907f.bundle.js +2 -0
  56. package/dist/64118.b15383c12c5bdf6d907f.bundle.js.map +1 -0
  57. package/dist/{67888.e21c0e4c70be6214fcd7.bundle.js → 67888.927a2d7905f79d2f5bb4.bundle.js} +2 -2
  58. package/dist/{67888.e21c0e4c70be6214fcd7.bundle.js.map → 67888.927a2d7905f79d2f5bb4.bundle.js.map} +1 -1
  59. package/dist/{72379.cb41e26c33271a25816e.bundle.js → 72379.d21e40131b7e44c75eba.bundle.js} +2 -2
  60. package/dist/{72379.cb41e26c33271a25816e.bundle.js.map → 72379.d21e40131b7e44c75eba.bundle.js.map} +1 -1
  61. package/dist/{73667.ad957853dba08fd3be30.bundle.js → 73667.0921baf2ddc28806feca.bundle.js} +2 -2
  62. package/dist/{73667.ad957853dba08fd3be30.bundle.js.map → 73667.0921baf2ddc28806feca.bundle.js.map} +1 -1
  63. package/dist/{73793.79a311b387e5db776506.bundle.js → 73793.f61f6800eea64549ae30.bundle.js} +2 -2
  64. package/dist/{73793.79a311b387e5db776506.bundle.js.map → 73793.f61f6800eea64549ae30.bundle.js.map} +1 -1
  65. package/dist/{75282.8be5dde957dc6452c86a.bundle.js → 75282.06a7373dccbf2b056731.bundle.js} +2 -2
  66. package/dist/{75282.8be5dde957dc6452c86a.bundle.js.map → 75282.06a7373dccbf2b056731.bundle.js.map} +1 -1
  67. package/dist/{75849.0f6bab8b5749be998286.bundle.js → 75849.6ae9e20cdb3fbe4018a4.bundle.js} +2 -2
  68. package/dist/{75849.0f6bab8b5749be998286.bundle.js.map → 75849.6ae9e20cdb3fbe4018a4.bundle.js.map} +1 -1
  69. package/dist/{78250.dd9bdc3db3ca0c84b25a.bundle.js → 78250.41373d9ae256b6730c8e.bundle.js} +2 -2
  70. package/dist/{78250.dd9bdc3db3ca0c84b25a.bundle.js.map → 78250.41373d9ae256b6730c8e.bundle.js.map} +1 -1
  71. package/dist/{79329.24a5e42cccee5055311a.bundle.js → 79329.936a7b8d31824b46a180.bundle.js} +2 -2
  72. package/dist/{79329.24a5e42cccee5055311a.bundle.js.map → 79329.936a7b8d31824b46a180.bundle.js.map} +1 -1
  73. package/dist/{82926.02f08566fe1f948d9e1f.bundle.js → 82926.3236f3a40da860eebf37.bundle.js} +2 -2
  74. package/dist/{82926.02f08566fe1f948d9e1f.bundle.js.map → 82926.3236f3a40da860eebf37.bundle.js.map} +1 -1
  75. package/dist/85609.4e7aa94beab1fc123db2.bundle.js +2 -0
  76. package/dist/85609.4e7aa94beab1fc123db2.bundle.js.map +1 -0
  77. package/dist/{9062.e1ad16e157f04b8c9dd8.bundle.js → 9062.ff0f38917b9553efad03.bundle.js} +2 -2
  78. package/dist/{9062.e1ad16e157f04b8c9dd8.bundle.js.map → 9062.ff0f38917b9553efad03.bundle.js.map} +1 -1
  79. package/dist/{99448.93e01a6a24e4a1cb0546.bundle.js → 99448.10fc24b7ebab10d3c7ce.bundle.js} +2 -2
  80. package/dist/{99448.93e01a6a24e4a1cb0546.bundle.js.map → 99448.10fc24b7ebab10d3c7ce.bundle.js.map} +1 -1
  81. package/dist/index.html +8 -8
  82. package/dist/js/angular/clustermanagement/templates/cluster-nodes-configuration.html +1 -1
  83. package/dist/js/angular/core/directives/autocomplete/templates/autocomplete.html +1 -1
  84. package/dist/js/angular/core/directives/dynamic-form/templates/dynamic-form.html +1 -1
  85. package/dist/js/angular/core/directives/operations-statuses-monitor/templates/operations-statuses-monitor.html +1 -1
  86. package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +1 -1
  87. package/dist/js/angular/core/directives/shuttle-multiselect/templates/shuttle-multiselect.html +1 -1
  88. package/dist/js/angular/core/directives/yasgui-component/templates/yasgui-component.html +1 -1
  89. package/dist/js/angular/core/templates/cookie-policy/cookie-consent.html +1 -1
  90. package/dist/js/angular/core/templates/cookie-policy/cookie-policy.html +1 -1
  91. package/dist/js/angular/core/templates/editable-content/editable-content.html +1 -1
  92. package/dist/js/angular/core/templates/markdown-content/markdown-content.html +1 -1
  93. package/dist/js/angular/core/templates/search-resource-input.html +1 -1
  94. package/dist/js/angular/graphql/templates/create-graphql-endpoint.html +2 -2
  95. package/dist/js/angular/graphql/templates/graphql-endpoint-management.html +1 -1
  96. package/dist/js/angular/graphql/templates/graphql-playground.html +1 -1
  97. package/dist/js/angular/graphql/templates/modal/endpoint-configuration-modal.html +1 -1
  98. package/dist/js/angular/graphql/templates/modal/endpoint-generation-failure-result-modal.html +1 -1
  99. package/dist/js/angular/graphql/templates/modal/import-endpoint-definition-modal.html +1 -1
  100. package/dist/js/angular/security/templates/user.html +2 -2
  101. package/dist/js/angular/ttyg/templates/agent-list.html +1 -1
  102. package/dist/js/angular/ttyg/templates/agent-select-menu.html +1 -1
  103. package/dist/js/angular/ttyg/templates/chat-item-detail.html +1 -1
  104. package/dist/js/angular/ttyg/templates/chat-list.html +1 -1
  105. package/dist/js/angular/ttyg/templates/chat-panel.html +1 -1
  106. package/dist/js/angular/ttyg/templates/modal/agent-instructions-explain-modal.html +1 -1
  107. package/dist/js/angular/ttyg/templates/modal/agent-settings-modal.html +2 -2
  108. package/dist/js/angular/ttyg/templates/modal/external-integration-configuration-modal.html +1 -1
  109. package/dist/js/angular/ttyg/templates/no-agents-view.html +1 -1
  110. package/dist/js/angular/ttyg/templates/ttyg.html +1 -1
  111. package/dist/{legacyWorkbench.ecf6300fd72cfffbcdb6.js → legacyWorkbench.1e8b6faf7df3096cdb57.js} +3 -3
  112. package/dist/{legacyWorkbench.ecf6300fd72cfffbcdb6.js.map → legacyWorkbench.1e8b6faf7df3096cdb57.js.map} +1 -1
  113. package/dist/pages/aclmanagement.html +2 -2
  114. package/dist/pages/autocomplete.html +1 -1
  115. package/dist/pages/choose-repository-type.html +1 -1
  116. package/dist/pages/cluster-management/clusterInfo.html +3 -3
  117. package/dist/pages/create-index.html +1 -1
  118. package/dist/pages/dependencies.html +1 -1
  119. package/dist/pages/domainRangeInfo.html +2 -2
  120. package/dist/pages/edit.html +1 -1
  121. package/dist/pages/explore.html +1 -1
  122. package/dist/pages/export.html +1 -1
  123. package/dist/pages/find.html +1 -1
  124. package/dist/pages/graph-config/saveGraphConfig.html +8 -8
  125. package/dist/pages/graphs-visualizations.html +7 -7
  126. package/dist/pages/guides.html +1 -1
  127. package/dist/pages/import.html +2 -2
  128. package/dist/pages/jdbc-create.html +1 -1
  129. package/dist/pages/login.html +1 -1
  130. package/dist/pages/monitor/backup-and-restore.html +1 -1
  131. package/dist/pages/monitor/queries.html +1 -1
  132. package/dist/pages/monitor/resources.html +1 -1
  133. package/dist/pages/namespaces.html +2 -2
  134. package/dist/pages/not_found.html +1 -1
  135. package/dist/pages/plugins.html +1 -1
  136. package/dist/pages/rdfClassHierarchyInfo.html +7 -7
  137. package/dist/pages/rdfrank.html +2 -2
  138. package/dist/pages/repositories.html +1 -1
  139. package/dist/pages/repository.html +1 -1
  140. package/dist/pages/similarity-indexes.html +1 -1
  141. package/dist/pages/sparql-editor.html +1 -1
  142. package/dist/pages/sparql-template-create.html +1 -1
  143. package/dist/pages/ux-test1.html +2 -2
  144. package/dist/pages/webapi.html +2 -2
  145. package/dist/res/swagger5/index.html +11 -11
  146. package/package.json +1 -1
  147. package/dist/12358.4be185f89eebea9c35bf.bundle.js +0 -3
  148. package/dist/12358.4be185f89eebea9c35bf.bundle.js.map +0 -1
  149. package/dist/19402.7f6ea977348338acc824.bundle.js +0 -2
  150. package/dist/19402.7f6ea977348338acc824.bundle.js.map +0 -1
  151. package/dist/36665.69d43b057bcfc55df3b5.bundle.js +0 -2
  152. package/dist/36665.69d43b057bcfc55df3b5.bundle.js.map +0 -1
  153. package/dist/40516.3cfaf1ff4704c038f944.bundle.js +0 -2
  154. package/dist/40516.3cfaf1ff4704c038f944.bundle.js.map +0 -1
  155. package/dist/64118.edc8ed6671017d09ff4e.bundle.js +0 -2
  156. package/dist/64118.edc8ed6671017d09ff4e.bundle.js.map +0 -1
  157. package/dist/85609.68438b4955212d5fcb84.bundle.js +0 -2
  158. package/dist/85609.68438b4955212d5fcb84.bundle.js.map +0 -1
  159. /package/dist/{12358.4be185f89eebea9c35bf.bundle.js.LICENSE.txt → 12358.d1b5130917702cb0dd25.bundle.js.LICENSE.txt} +0 -0
  160. /package/dist/{legacyWorkbench.ecf6300fd72cfffbcdb6.js.LICENSE.txt → legacyWorkbench.1e8b6faf7df3096cdb57.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"15535.c58319cba275ee5baa90.bundle.js","mappings":"uJAwBA,QAvBW,+vc","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/security/templates/user.html"],"sourcesContent":["// Module\nvar code = `${\"<\" + \"script\"} type=\"text/ng-template\" id=\"popover-content-user.html\"> <h5>{{'security.user.may' | translate}}</h5>\n\t<ul>\n <li>{{'security.use.gdb' | translate}}</li>\n\t <li>{{'security.grant.read.access' | translate}}</li>\n\t\t<li>{{'security.grant.read.write.access' | translate}}</li>\n </ul> ${\"<\" + \"/script\"}> ${\"<\" + \"script\"} type=\"text/ng-template\" id=\"popover-content-repo-manager.html\"> <h5>{{'security.repo.manager.may' | translate}}</h5>\n\t<ul>\n\t\t<li>{{'security.use.gdb' | translate}}</li>\n\t\t<li>{{'security.read.write.all.repos' | translate}}</li>\n\t\t<li>{{'security.create.edit.delete.repos' | translate}}</li>\n\t\t<li>{{'security.access.monitoring' | translate}}</li>\n\t</ul> ${\"<\" + \"/script\"}> ${\"<\" + \"script\"} type=\"text/ng-template\" id=\"popover-content-admin.html\"> <h5>{{'security.admin.may' | translate}}</h5>\n\t<ul>\n\t\t<li>{{'security.use.gdb' | translate}}</li>\n\t\t<li>{{'security.read.write.all.repos' | translate}}</li>\n\t\t<li>{{'security.create.edit.delete.repos' | translate}}</li>\n\t\t<li>{{'security.access.monitoring' | translate}}</li>\n\t\t<li>{{'security.attach.remote.locations' | translate}}</li>\n\t\t<li>{{'security.manage.users.access' | translate}}</li>\n\t\t<li>{{'security.manage.cluster' | translate}}</li>\n\t\t<li>{{'security.view.sys.info' | translate}}</li>\n\t</ul> ${\"<\" + \"/script\"}> <link href=\"css/lib/ng-tags-input/ng-tags-input.min.css?v=3.2.0-TR4\" rel=\"stylesheet\"/> <link href=\"css/user.css?v=3.2.0-TR4\" rel=\"stylesheet\"/> <h1> {{pageTitle}} <page-info-tooltip></page-info-tooltip> </h1> <div id=\"wb-user\" class=\"wb-user\" ng-hide=\"loader\"> <form name=\"form\" class=\"form newUserForm userForm editUserContainer\" ng-submit=\"submit()\" novalidate> <div class=\"row\"> <div class=\"col-md-6 us-left-col\"> <div class=\"card login-credentials\" ng-hide=\"isOverrideAuth() || !isLocalAuthentication()\"> <div class=\"card-block\"> <h3>{{'view.login.title' | translate}}</h3> <div class=\"form-group\" ng-class=\"{'has-danger': usernameError}\"> <div class=\"input-group\"> <span class=\"input-group-addon\" gdb-tooltip=\"{{'security.table.username' | translate}}\"><i class=\"fa-solid fa-user text-muted\"></i></span> <input id=\"wb-user-username\" placeholder=\"{{'security.table.username' | translate}}\" name=\"username\" class=\"form-control form-control-lg\" type=\"text\" ng-model=\"user.username\" ng-readonly=\"mode !== 'add'\"> </div> <div ng-show=\"usernameError\" class=\"form-control-feedback\">{{usernameError}}</div> </div> <div class=\"form-group\" ng-class=\"{'has-danger': passwordError}\"> <div class=\"input-group\"> <span class=\"input-group-addon\" gdb-tooltip=\"{{'security.password.placeholder' | translate}}\"><em class=\"icon-lock icon-2x text-muted\"></em></span> <input id=\"wb-user-password\" placeholder=\"{{passwordPlaceholder | translate}}\" name=\"password\" class=\"form-control form-control-lg\" type=\"password\" ng-model=\"user.password\" ng-hide=\"user.external || hasExternalAuthUser()\" ng-readonly=\"noPassword\"> <span ng-show=\"user.external || hasExternalAuthUser()\">{{'security.auth.from.external.module' | translate}}</span> </div> <div ng-show=\"passwordError\" class=\"form-control-feedback\">{{passwordError}}</div> </div> <div class=\"form-group\" ng-class=\"{'has-danger': confirmPasswordError}\" ng-hide=\"user.external || hasExternalAuthUser()\"> <div class=\"input-group\"> <span class=\"input-group-addon\" gdb-tooltip=\"{{'security.password.confirm' | translate}}\"><em class=\"icon-lock icon-2x text-muted\"></em></span> <input id=\"wb-user-confirmpassword\" placeholder=\"{{'security.password.confirm' | translate}}\" name=\"password_confirm\" class=\"form-control form-control-lg\" type=\"password\" ng-model=\"user.confirmpassword\" ng-readonly=\"noPassword\"> </div> <div ng-show=\"confirmPasswordError\" class=\"form-control-feedback\">{{confirmPasswordError}}</div> </div> <div> <label class=\"d-block\"> <input type=\"checkbox\" id=\"noPassword\" ng-model=\"noPassword\" ng-change=\"setNoPassword()\"> <span ng-show=\"mode === 'add'\">{{'security.dont.set.password' | translate}} </span> <span ng-show=\"mode !== 'add'\">{{'security.unset.password' | translate}} </span> </label> </div> </div> </div> <div class=\"card sparql-editor-settings\" id=\"user-settings\"> <div class=\"card-block\"> <h3>{{'security.user.settings' | translate}}</h3> <div id=\"sameas-on\" class=\"mb-1\"> <span class=\"sameas-label\"> {{'security.expand.sameAs.is' | translate}} <span class=\"tag {{user.appSettings.DEFAULT_SAMEAS ? 'tag-primary' : 'tag-default'}}\"> {{user.appSettings.DEFAULT_SAMEAS ? 'common.on.btn' : 'common.off.btn' | translate}} </span> </span> <span gdb-tooltip=\"{{shouldDisableSameAs() ? 'core.require.inferred' : 'security.tooltip.click.me' | translate}}\" tooltip-placement=\"top\" ng-click=\"user.appSettings.DEFAULT_SAMEAS = !user.appSettings.DEFAULT_SAMEAS\" class=\"switch mr-0\"> <input id=\"sameAsCheck\" type=\"checkbox\" class=\"switch\" ng-checked=\"user.appSettings.DEFAULT_SAMEAS\" ng-disabled=\"shouldDisableSameAs()\"/> <label for=\"sameas-on\"></label> </span> {{'security.default.editor.graph' | translate}} </div> <div id=\"inference-on\" class=\"mb-1\"> <span class=\"inference-label\"> {{'security.inference.is' | translate}} <span class=\"tag {{user.appSettings.DEFAULT_INFERENCE ? 'tag-primary' : 'tag-default'}}\"> {{user.appSettings.DEFAULT_INFERENCE ? 'common.on.btn' : 'common.off.btn' | translate}} </span> </span> <span gdb-tooltip=\"{{'security.tooltip.click.me' | translate}}\" tooltip-placement=\"top\" ng-click=\"user.appSettings.DEFAULT_INFERENCE = !user.appSettings.DEFAULT_INFERENCE\" class=\"switch mr-0\"> <input type=\"checkbox\" class=\"switch\" ng-checked=\"user.appSettings.DEFAULT_INFERENCE\"/> <label for=\"inference-on\"></label> </span> {{'security.default.editor.graph' | translate}} </div> <div id=\"schema-on\" class=\"mb-1\"> <span class=\"schema-label\"> {{'security.show.schema' | translate}} <span class=\"tag {{user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA ? 'tag-primary' : 'tag-default'}}\"> {{user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA ? 'common.on.btn' : 'common.off.btn' | translate}} </span> <span gdb-tooltip=\"{{'security.tooltip.click.me' | translate}}\" tooltip-placement=\"top\" ng-click=\"user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA = !user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA\" class=\"switch mr-0\"> <input type=\"checkbox\" class=\"switch\" ng-checked=\"user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA\"/> <label for=\"schema-on\"></label> </span> {{'security.default.visual.graph' | translate}} </span> </div> <label class=\"d-block\"> <input type=\"checkbox\" ng-model=\"user.appSettings.EXECUTE_COUNT\" id=\"defaultCount\" checked=\"appSettings.EXECUTE_COUNT\"> {{'security.count.total.results' | translate}} </label> <label class=\"d-block\"> <input type=\"checkbox\" ng-model=\"user.appSettings.IGNORE_SHARED_QUERIES\" id=\"ignore-shared\" checked=\"appSettings.IGNORE_SHARED_QUERIES\"> {{'security.ignore.shared.queries' | translate}} </label> <label class=\"d-block\" ng-if=\"showCookiePolicyLink\"> <button class=\"btn btn-secondary show-cookie-policy-btn\" ng-click=\"showCookiePolicy(\\$event)\">{{'cookie.cookie_policy_url_label' | translate}}</button> </label> </div> </div> <div class=\"card\" id=\"workbench-settings\" ng-if=\"showWorkbenchSettings\"> <div class=\"card-block\"> <h3>{{'security.workbench.settings.title' | translate}} <em class=\"icon-info text-tertiary small\" gdb-tooltip=\"{{'security.workbench.settings.theme.tooltip' | translate}}\"></em></h3> <div> <div class=\"form-group\"> <label class=\"col-lg-2\">{{'security.workbench.settings.theme.label' | translate}}</label> <div class=\"btn-group theme-selector-dropdown\" uib-dropdown> <button type=\"button\" class=\"btn btn-sm btn-secondary dropdown-toggle theme-selector-dropdown-btn\" uib-dropdown-toggle> {{selectedTheme.label}} </button> <ul class=\"dropdown-menu\" role=\"menu\"> <li ng-repeat=\"theme in themes\"> <a ng-click=\"setTheme(theme)\" class=\"dropdown-item\">{{theme.label}}</a> </li> </ul> </div> </div> <div class=\"form-group\"> <label class=\"col-lg-2\">{{'security.workbench.settings.theme.mode.label' | translate}}</label> <div class=\"radio\"> <label class=\"px-1\"> <input type=\"radio\" value=\"light\" ng-model=\"workbenchSettings.mode\" ng-change=\"setThemeMode()\"/> {{'security.workbench.settings.theme.mode.light' | translate}} </label> <label class=\"px-1\"> <input type=\"radio\" value=\"dark\" ng-model=\"workbenchSettings.mode\" ng-change=\"setThemeMode()\"/> {{'security.workbench.settings.theme.mode.dark' | translate}} </label> </div> </div> </div> </div> </div> </div> <div class=\"col-md-6 us-right-col\" ng-hide=\"!isLocalAuthentication()\"> <div class=\"card user-role\" id=\"user-roles\"> <div class=\"card-block\"> <h3>{{'security.user.role' | translate}}</h3> <label class=\"mr-1\" uib-popover-template=\"'popover-content-user.html'\" popover-trigger=\"mouseenter\" popover-placement=\"bottom\"> <input type=\"radio\" ng-model=\"userType\" id=\"roleUser\" value=\"user\" ng-disabled=\"hasEditRestrictions()\"> {{'security.user.label' | translate}} </label> <label class=\"mr-1\" uib-popover-template=\"'popover-content-repo-manager.html'\" popover-trigger=\"mouseenter\" popover-placement=\"bottom\"> <input type=\"radio\" ng-model=\"userType\" id=\"roleRepoAdmin\" value=\"repoManager\" ng-disabled=\"hasEditRestrictions()\"> {{'security.repo.manager.label' | translate}} </label> <label uib-popover-template=\"'popover-content-admin.html'\" popover-trigger=\"mouseenter\" popover-placement=\"bottom\"> <input type=\"radio\" ng-model=\"userType\" id=\"roleAdmin\" value=\"admin\" ng-disabled=\"hasEditRestrictions()\"> {{'security.admin.label' | translate}} </label> </div> </div> <div class=\"card user-custom-roles\" id=\"user-custom-roles\"> <div class=\"card-block\"> <h3>{{'security.user.custom_role' | translate}}</h3> <div class=\"input-group\"> <tags-input name=\"customRoleTag\" class=\"wb-tags-input\" ng-model=\"customRoles\" min-length=\"1\" ng-disabled=\"!isUser() || mode === 'settings'\" use-strings=\"true\" add-on-space=\"true\" add-on-comma=\"true\" add-on-paste=\"true\" replace-spaces-with-dashes=\"false\" paste-split-pattern=\"[\\\\s+]\" on-tag-adding=\"isCustomRoleValid(\\$tag)\" on-tag-added=\"addCustomRole(\\$tag)\" ng-keydown=\"checkUserInput(\\$event)\" ng-cut=\"removeErrorOnCut()\" placeholder=\"{{'security.user.add.custom_role.msg' | translate}}\" custom-prefix-tags-input></tags-input> <div class=\"small\" ng-hide=\"isRoleValid\"> <small>{{'security.user.role.too.short' | translate}}</small> </div> <div class=\"small prefix-warning\" ng-if=\"form.customRoleTag.\\$warning\"> <small>{{'acl_management.rulestable.custom_prefix_warning.text' | translate}}</small> </div> </div> </div> </div> <div id=\"user-repos\" class=\"card user-repositories\"> <div class=\"card-block\"> <h3>{{'security.repo.rights' | translate}}</h3> <div class=\"has-danger\"> <p ng-show=\"repositoryCheckError\" class=\"form-control-feedback\"> {{'security.user.rights' | translate}} </p> </div> <div class=\"scrollable-table\"> <table class=\"table table-hover table-sm table-fixed bordered-table\" aria-describedby=\"User rights table\"> <thead> <tr> <th id=\"repositoryIdColumn\" class=\"repository-column auth-column\">{{'security.repository.title' | translate}}</th> <th id=\"readRightsColumn\" class=\"text-xs-center read-column auth-column\"><span class=\"auth-column-label\">{{'security.label.read' | translate}}</span><em class=\"icon-eye icon-lg\" gdb-tooltip=\"{{'security.tooltip.read' | translate}}\"></em></th> <th id=\"writeRightColumn\" class=\"text-xs-center write-column auth-column\"><span class=\"auth-column-label\">{{'security.label.write' | translate}}</span><em class=\"icon-edit icon-lg\" gdb-tooltip=\"{{'security.tooltip.write' | translate}}\"></em></th> <th id=\"graphql\" class=\"text-xs-center auth-column graphql-column\"><span class=\"auth-column-label\">{{'security.label.graphql' | translate}}</span></th> </tr> <tr> <th>{{'security.any.data.repo' | translate}} <em class=\"icon-info text-tertiary\" gdb-tooltip=\"{{'security.data.repos' | translate}}\"></em> </th> <th class=\"text-xs-center\"> <span ng-click=\"setGrantedAuthorities()\"> <input class=\"read\" type=\"checkbox\" ng-model=\"grantedAuthorities.READ_REPO['*']\" ng-checked=\"hasReadPermission('*')\" ng-disabled=\"readCheckDisabled('*')\"> </span> </th> <th class=\"text-xs-center write-any\"> <span ng-click=\"setGrantedAuthorities()\"> <input class=\"write\" type=\"checkbox\" ng-model=\"grantedAuthorities.WRITE_REPO['*']\" ng-checked=\"hasWritePermission('*')\" ng-disabled=\"writeCheckDisabled('*')\"> </span> </th> <th class=\"text-xs-center\"> <span ng-click=\"setGrantedAuthorities()\"> <input class=\"graphql\" type=\"checkbox\" ng-model=\"grantedAuthorities.GRAPHQL['*']\" ng-checked=\"hasGraphqlPermission('*')\" ng-disabled=\"graphqlCheckDisabled('*')\"> </span> </th> </tr> </thead> <tbody> <div> <tr ng-repeat=\"repository in getReadableRepositories() | orderBy: ['location', 'id']\"> <td class=\"repository-name\">{{repository.id}}<small><em ng-if=\"(hasGraphqlPermission(repository) || hasGraphqlPermission('*')) && (hasReadPermission(repository) || hasReadPermission('*') || hasWritePermission(repository) || hasWritePermission('*'))\" class=\"fa-kit fa-gdb-graphql graphql-icon text-info\" gdb-tooltip=\"{{'security.tooltip.graphql' | translate}}\"></em> &middot; {{repository.location ? repository.location : 'repo.local' | translate}}</small></td> <td class=\"text-xs-center read-rights\"> <span ng-click=\"setGrantedAuthorities()\"> <input class=\"read\" type=\"checkbox\" ng-model=\"grantedAuthorities.READ_REPO[createUniqueKey(repository)]\" ng-checked=\"hasReadPermission(repository)\" ng-disabled=\"readCheckDisabled(repository)\"> </span> </td> <td class=\"text-xs-center write-rights\"> <span ng-click=\"setGrantedAuthorities()\"> <input class=\"write\" type=\"checkbox\" ng-model=\"grantedAuthorities.WRITE_REPO[createUniqueKey(repository)]\" ng-checked=\"hasWritePermission(repository)\" ng-disabled=\"writeCheckDisabled(repository)\"> </span> </td> <td class=\"text-xs-center graphql-rights\"> <span ng-click=\"setGrantedAuthorities()\"> <input class=\"graphql\" type=\"checkbox\" ng-model=\"grantedAuthorities.GRAPHQL[createUniqueKey(repository)]\" ng-checked=\"hasGraphqlPermission(repository)\" ng-disabled=\"graphqlCheckDisabled(repository)\"> </span> </td> </tr> </div> </tbody> </table> </div> </div> </div> </div> </div> <div class=\"text-right\"> <button id=\"wb-user-goBack\" class=\"btn btn-secondary\" type=\"button\" ng-click=\"goBack()\">{{'common.cancel.btn' | translate}}</button> <button id=\"wb-user-submit\" class=\"btn btn-primary\" type=\"submit\" ng-disabled=\"!isRoleValid\">{{saveButtonText}}</button> </div> </form> </div> <div class=\"ot-loader ot-main-loader\" onto-loader size=\"50\" ng-show=\"loader\"></div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
1
+ {"version":3,"file":"15535.18ede9f56483a38d1305.bundle.js","mappings":"uJAwBA,QAvBW,+vc","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/security/templates/user.html"],"sourcesContent":["// Module\nvar code = `${\"<\" + \"script\"} type=\"text/ng-template\" id=\"popover-content-user.html\"> <h5>{{'security.user.may' | translate}}</h5>\n\t<ul>\n <li>{{'security.use.gdb' | translate}}</li>\n\t <li>{{'security.grant.read.access' | translate}}</li>\n\t\t<li>{{'security.grant.read.write.access' | translate}}</li>\n </ul> ${\"<\" + \"/script\"}> ${\"<\" + \"script\"} type=\"text/ng-template\" id=\"popover-content-repo-manager.html\"> <h5>{{'security.repo.manager.may' | translate}}</h5>\n\t<ul>\n\t\t<li>{{'security.use.gdb' | translate}}</li>\n\t\t<li>{{'security.read.write.all.repos' | translate}}</li>\n\t\t<li>{{'security.create.edit.delete.repos' | translate}}</li>\n\t\t<li>{{'security.access.monitoring' | translate}}</li>\n\t</ul> ${\"<\" + \"/script\"}> ${\"<\" + \"script\"} type=\"text/ng-template\" id=\"popover-content-admin.html\"> <h5>{{'security.admin.may' | translate}}</h5>\n\t<ul>\n\t\t<li>{{'security.use.gdb' | translate}}</li>\n\t\t<li>{{'security.read.write.all.repos' | translate}}</li>\n\t\t<li>{{'security.create.edit.delete.repos' | translate}}</li>\n\t\t<li>{{'security.access.monitoring' | translate}}</li>\n\t\t<li>{{'security.attach.remote.locations' | translate}}</li>\n\t\t<li>{{'security.manage.users.access' | translate}}</li>\n\t\t<li>{{'security.manage.cluster' | translate}}</li>\n\t\t<li>{{'security.view.sys.info' | translate}}</li>\n\t</ul> ${\"<\" + \"/script\"}> <link href=\"css/lib/ng-tags-input/ng-tags-input.min.css?v=3.2.0-TR5\" rel=\"stylesheet\"/> <link href=\"css/user.css?v=3.2.0-TR5\" rel=\"stylesheet\"/> <h1> {{pageTitle}} <page-info-tooltip></page-info-tooltip> </h1> <div id=\"wb-user\" class=\"wb-user\" ng-hide=\"loader\"> <form name=\"form\" class=\"form newUserForm userForm editUserContainer\" ng-submit=\"submit()\" novalidate> <div class=\"row\"> <div class=\"col-md-6 us-left-col\"> <div class=\"card login-credentials\" ng-hide=\"isOverrideAuth() || !isLocalAuthentication()\"> <div class=\"card-block\"> <h3>{{'view.login.title' | translate}}</h3> <div class=\"form-group\" ng-class=\"{'has-danger': usernameError}\"> <div class=\"input-group\"> <span class=\"input-group-addon\" gdb-tooltip=\"{{'security.table.username' | translate}}\"><i class=\"fa-solid fa-user text-muted\"></i></span> <input id=\"wb-user-username\" placeholder=\"{{'security.table.username' | translate}}\" name=\"username\" class=\"form-control form-control-lg\" type=\"text\" ng-model=\"user.username\" ng-readonly=\"mode !== 'add'\"> </div> <div ng-show=\"usernameError\" class=\"form-control-feedback\">{{usernameError}}</div> </div> <div class=\"form-group\" ng-class=\"{'has-danger': passwordError}\"> <div class=\"input-group\"> <span class=\"input-group-addon\" gdb-tooltip=\"{{'security.password.placeholder' | translate}}\"><em class=\"icon-lock icon-2x text-muted\"></em></span> <input id=\"wb-user-password\" placeholder=\"{{passwordPlaceholder | translate}}\" name=\"password\" class=\"form-control form-control-lg\" type=\"password\" ng-model=\"user.password\" ng-hide=\"user.external || hasExternalAuthUser()\" ng-readonly=\"noPassword\"> <span ng-show=\"user.external || hasExternalAuthUser()\">{{'security.auth.from.external.module' | translate}}</span> </div> <div ng-show=\"passwordError\" class=\"form-control-feedback\">{{passwordError}}</div> </div> <div class=\"form-group\" ng-class=\"{'has-danger': confirmPasswordError}\" ng-hide=\"user.external || hasExternalAuthUser()\"> <div class=\"input-group\"> <span class=\"input-group-addon\" gdb-tooltip=\"{{'security.password.confirm' | translate}}\"><em class=\"icon-lock icon-2x text-muted\"></em></span> <input id=\"wb-user-confirmpassword\" placeholder=\"{{'security.password.confirm' | translate}}\" name=\"password_confirm\" class=\"form-control form-control-lg\" type=\"password\" ng-model=\"user.confirmpassword\" ng-readonly=\"noPassword\"> </div> <div ng-show=\"confirmPasswordError\" class=\"form-control-feedback\">{{confirmPasswordError}}</div> </div> <div> <label class=\"d-block\"> <input type=\"checkbox\" id=\"noPassword\" ng-model=\"noPassword\" ng-change=\"setNoPassword()\"> <span ng-show=\"mode === 'add'\">{{'security.dont.set.password' | translate}} </span> <span ng-show=\"mode !== 'add'\">{{'security.unset.password' | translate}} </span> </label> </div> </div> </div> <div class=\"card sparql-editor-settings\" id=\"user-settings\"> <div class=\"card-block\"> <h3>{{'security.user.settings' | translate}}</h3> <div id=\"sameas-on\" class=\"mb-1\"> <span class=\"sameas-label\"> {{'security.expand.sameAs.is' | translate}} <span class=\"tag {{user.appSettings.DEFAULT_SAMEAS ? 'tag-primary' : 'tag-default'}}\"> {{user.appSettings.DEFAULT_SAMEAS ? 'common.on.btn' : 'common.off.btn' | translate}} </span> </span> <span gdb-tooltip=\"{{shouldDisableSameAs() ? 'core.require.inferred' : 'security.tooltip.click.me' | translate}}\" tooltip-placement=\"top\" ng-click=\"user.appSettings.DEFAULT_SAMEAS = !user.appSettings.DEFAULT_SAMEAS\" class=\"switch mr-0\"> <input id=\"sameAsCheck\" type=\"checkbox\" class=\"switch\" ng-checked=\"user.appSettings.DEFAULT_SAMEAS\" ng-disabled=\"shouldDisableSameAs()\"/> <label for=\"sameas-on\"></label> </span> {{'security.default.editor.graph' | translate}} </div> <div id=\"inference-on\" class=\"mb-1\"> <span class=\"inference-label\"> {{'security.inference.is' | translate}} <span class=\"tag {{user.appSettings.DEFAULT_INFERENCE ? 'tag-primary' : 'tag-default'}}\"> {{user.appSettings.DEFAULT_INFERENCE ? 'common.on.btn' : 'common.off.btn' | translate}} </span> </span> <span gdb-tooltip=\"{{'security.tooltip.click.me' | translate}}\" tooltip-placement=\"top\" ng-click=\"user.appSettings.DEFAULT_INFERENCE = !user.appSettings.DEFAULT_INFERENCE\" class=\"switch mr-0\"> <input type=\"checkbox\" class=\"switch\" ng-checked=\"user.appSettings.DEFAULT_INFERENCE\"/> <label for=\"inference-on\"></label> </span> {{'security.default.editor.graph' | translate}} </div> <div id=\"schema-on\" class=\"mb-1\"> <span class=\"schema-label\"> {{'security.show.schema' | translate}} <span class=\"tag {{user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA ? 'tag-primary' : 'tag-default'}}\"> {{user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA ? 'common.on.btn' : 'common.off.btn' | translate}} </span> <span gdb-tooltip=\"{{'security.tooltip.click.me' | translate}}\" tooltip-placement=\"top\" ng-click=\"user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA = !user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA\" class=\"switch mr-0\"> <input type=\"checkbox\" class=\"switch\" ng-checked=\"user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA\"/> <label for=\"schema-on\"></label> </span> {{'security.default.visual.graph' | translate}} </span> </div> <label class=\"d-block\"> <input type=\"checkbox\" ng-model=\"user.appSettings.EXECUTE_COUNT\" id=\"defaultCount\" checked=\"appSettings.EXECUTE_COUNT\"> {{'security.count.total.results' | translate}} </label> <label class=\"d-block\"> <input type=\"checkbox\" ng-model=\"user.appSettings.IGNORE_SHARED_QUERIES\" id=\"ignore-shared\" checked=\"appSettings.IGNORE_SHARED_QUERIES\"> {{'security.ignore.shared.queries' | translate}} </label> <label class=\"d-block\" ng-if=\"showCookiePolicyLink\"> <button class=\"btn btn-secondary show-cookie-policy-btn\" ng-click=\"showCookiePolicy(\\$event)\">{{'cookie.cookie_policy_url_label' | translate}}</button> </label> </div> </div> <div class=\"card\" id=\"workbench-settings\" ng-if=\"showWorkbenchSettings\"> <div class=\"card-block\"> <h3>{{'security.workbench.settings.title' | translate}} <em class=\"icon-info text-tertiary small\" gdb-tooltip=\"{{'security.workbench.settings.theme.tooltip' | translate}}\"></em></h3> <div> <div class=\"form-group\"> <label class=\"col-lg-2\">{{'security.workbench.settings.theme.label' | translate}}</label> <div class=\"btn-group theme-selector-dropdown\" uib-dropdown> <button type=\"button\" class=\"btn btn-sm btn-secondary dropdown-toggle theme-selector-dropdown-btn\" uib-dropdown-toggle> {{selectedTheme.label}} </button> <ul class=\"dropdown-menu\" role=\"menu\"> <li ng-repeat=\"theme in themes\"> <a ng-click=\"setTheme(theme)\" class=\"dropdown-item\">{{theme.label}}</a> </li> </ul> </div> </div> <div class=\"form-group\"> <label class=\"col-lg-2\">{{'security.workbench.settings.theme.mode.label' | translate}}</label> <div class=\"radio\"> <label class=\"px-1\"> <input type=\"radio\" value=\"light\" ng-model=\"workbenchSettings.mode\" ng-change=\"setThemeMode()\"/> {{'security.workbench.settings.theme.mode.light' | translate}} </label> <label class=\"px-1\"> <input type=\"radio\" value=\"dark\" ng-model=\"workbenchSettings.mode\" ng-change=\"setThemeMode()\"/> {{'security.workbench.settings.theme.mode.dark' | translate}} </label> </div> </div> </div> </div> </div> </div> <div class=\"col-md-6 us-right-col\" ng-hide=\"!isLocalAuthentication()\"> <div class=\"card user-role\" id=\"user-roles\"> <div class=\"card-block\"> <h3>{{'security.user.role' | translate}}</h3> <label class=\"mr-1\" uib-popover-template=\"'popover-content-user.html'\" popover-trigger=\"mouseenter\" popover-placement=\"bottom\"> <input type=\"radio\" ng-model=\"userType\" id=\"roleUser\" value=\"user\" ng-disabled=\"hasEditRestrictions()\"> {{'security.user.label' | translate}} </label> <label class=\"mr-1\" uib-popover-template=\"'popover-content-repo-manager.html'\" popover-trigger=\"mouseenter\" popover-placement=\"bottom\"> <input type=\"radio\" ng-model=\"userType\" id=\"roleRepoAdmin\" value=\"repoManager\" ng-disabled=\"hasEditRestrictions()\"> {{'security.repo.manager.label' | translate}} </label> <label uib-popover-template=\"'popover-content-admin.html'\" popover-trigger=\"mouseenter\" popover-placement=\"bottom\"> <input type=\"radio\" ng-model=\"userType\" id=\"roleAdmin\" value=\"admin\" ng-disabled=\"hasEditRestrictions()\"> {{'security.admin.label' | translate}} </label> </div> </div> <div class=\"card user-custom-roles\" id=\"user-custom-roles\"> <div class=\"card-block\"> <h3>{{'security.user.custom_role' | translate}}</h3> <div class=\"input-group\"> <tags-input name=\"customRoleTag\" class=\"wb-tags-input\" ng-model=\"customRoles\" min-length=\"1\" ng-disabled=\"!isUser() || mode === 'settings'\" use-strings=\"true\" add-on-space=\"true\" add-on-comma=\"true\" add-on-paste=\"true\" replace-spaces-with-dashes=\"false\" paste-split-pattern=\"[\\\\s+]\" on-tag-adding=\"isCustomRoleValid(\\$tag)\" on-tag-added=\"addCustomRole(\\$tag)\" ng-keydown=\"checkUserInput(\\$event)\" ng-cut=\"removeErrorOnCut()\" placeholder=\"{{'security.user.add.custom_role.msg' | translate}}\" custom-prefix-tags-input></tags-input> <div class=\"small\" ng-hide=\"isRoleValid\"> <small>{{'security.user.role.too.short' | translate}}</small> </div> <div class=\"small prefix-warning\" ng-if=\"form.customRoleTag.\\$warning\"> <small>{{'acl_management.rulestable.custom_prefix_warning.text' | translate}}</small> </div> </div> </div> </div> <div id=\"user-repos\" class=\"card user-repositories\"> <div class=\"card-block\"> <h3>{{'security.repo.rights' | translate}}</h3> <div class=\"has-danger\"> <p ng-show=\"repositoryCheckError\" class=\"form-control-feedback\"> {{'security.user.rights' | translate}} </p> </div> <div class=\"scrollable-table\"> <table class=\"table table-hover table-sm table-fixed bordered-table\" aria-describedby=\"User rights table\"> <thead> <tr> <th id=\"repositoryIdColumn\" class=\"repository-column auth-column\">{{'security.repository.title' | translate}}</th> <th id=\"readRightsColumn\" class=\"text-xs-center read-column auth-column\"><span class=\"auth-column-label\">{{'security.label.read' | translate}}</span><em class=\"icon-eye icon-lg\" gdb-tooltip=\"{{'security.tooltip.read' | translate}}\"></em></th> <th id=\"writeRightColumn\" class=\"text-xs-center write-column auth-column\"><span class=\"auth-column-label\">{{'security.label.write' | translate}}</span><em class=\"icon-edit icon-lg\" gdb-tooltip=\"{{'security.tooltip.write' | translate}}\"></em></th> <th id=\"graphql\" class=\"text-xs-center auth-column graphql-column\"><span class=\"auth-column-label\">{{'security.label.graphql' | translate}}</span></th> </tr> <tr> <th>{{'security.any.data.repo' | translate}} <em class=\"icon-info text-tertiary\" gdb-tooltip=\"{{'security.data.repos' | translate}}\"></em> </th> <th class=\"text-xs-center\"> <span ng-click=\"setGrantedAuthorities()\"> <input class=\"read\" type=\"checkbox\" ng-model=\"grantedAuthorities.READ_REPO['*']\" ng-checked=\"hasReadPermission('*')\" ng-disabled=\"readCheckDisabled('*')\"> </span> </th> <th class=\"text-xs-center write-any\"> <span ng-click=\"setGrantedAuthorities()\"> <input class=\"write\" type=\"checkbox\" ng-model=\"grantedAuthorities.WRITE_REPO['*']\" ng-checked=\"hasWritePermission('*')\" ng-disabled=\"writeCheckDisabled('*')\"> </span> </th> <th class=\"text-xs-center\"> <span ng-click=\"setGrantedAuthorities()\"> <input class=\"graphql\" type=\"checkbox\" ng-model=\"grantedAuthorities.GRAPHQL['*']\" ng-checked=\"hasGraphqlPermission('*')\" ng-disabled=\"graphqlCheckDisabled('*')\"> </span> </th> </tr> </thead> <tbody> <div> <tr ng-repeat=\"repository in getReadableRepositories() | orderBy: ['location', 'id']\"> <td class=\"repository-name\">{{repository.id}}<small><em ng-if=\"(hasGraphqlPermission(repository) || hasGraphqlPermission('*')) && (hasReadPermission(repository) || hasReadPermission('*') || hasWritePermission(repository) || hasWritePermission('*'))\" class=\"fa-kit fa-gdb-graphql graphql-icon text-info\" gdb-tooltip=\"{{'security.tooltip.graphql' | translate}}\"></em> &middot; {{repository.location ? repository.location : 'repo.local' | translate}}</small></td> <td class=\"text-xs-center read-rights\"> <span ng-click=\"setGrantedAuthorities()\"> <input class=\"read\" type=\"checkbox\" ng-model=\"grantedAuthorities.READ_REPO[createUniqueKey(repository)]\" ng-checked=\"hasReadPermission(repository)\" ng-disabled=\"readCheckDisabled(repository)\"> </span> </td> <td class=\"text-xs-center write-rights\"> <span ng-click=\"setGrantedAuthorities()\"> <input class=\"write\" type=\"checkbox\" ng-model=\"grantedAuthorities.WRITE_REPO[createUniqueKey(repository)]\" ng-checked=\"hasWritePermission(repository)\" ng-disabled=\"writeCheckDisabled(repository)\"> </span> </td> <td class=\"text-xs-center graphql-rights\"> <span ng-click=\"setGrantedAuthorities()\"> <input class=\"graphql\" type=\"checkbox\" ng-model=\"grantedAuthorities.GRAPHQL[createUniqueKey(repository)]\" ng-checked=\"hasGraphqlPermission(repository)\" ng-disabled=\"graphqlCheckDisabled(repository)\"> </span> </td> </tr> </div> </tbody> </table> </div> </div> </div> </div> </div> <div class=\"text-right\"> <button id=\"wb-user-goBack\" class=\"btn btn-secondary\" type=\"button\" ng-click=\"goBack()\">{{'common.cancel.btn' | translate}}</button> <button id=\"wb-user-submit\" class=\"btn btn-primary\" type=\"submit\" ng-disabled=\"!isRoleValid\">{{saveButtonText}}</button> </div> </form> </div> <div class=\"ot-loader ot-main-loader\" onto-loader size=\"50\" ng-show=\"loader\"></div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- export const __webpack_id__=16162;export const __webpack_ids__=[16162];export const __webpack_modules__={16162:(t,n,e)=>{e.r(n),e.d(n,{default:()=>a});const a='<link href="css/graphql/graphql-endpoint-management.css?v=3.2.0-TR4" rel="stylesheet"/> <div class="graphql-endpoint-management-view"> <h1 id="title-container"> <span id="graphql-endpoint-management-title-label">{{title}}</span> <page-info-tooltip></page-info-tooltip> </h1> <div core-errors></div> <div onto-loader-new ng-show="loadingEndpointsInfo" class="graphql-endpoint-management-page-loader" size="100"> </div> <div ng-if="getActiveRepository() && !loadingEndpointsInfo" class="endpoint-management-container"> <div class="toolbar"> <div class="endpoints-filter"> <input type="text" ng-if="hasEndpoints" class="form-control endpoints-filter-field" placeholder="{{\'graphql.endpoints_management.toolbar.endpoints_filter.placeholder\' | translate}}" ng-model="filterTerm" ng-change="onEndpointsFilter(filterTerm)" aria-label="Filter endpoints" autocomplete="off"> </div> <div class="actions"> <button class="btn btn-primary create-endpoint-btn" ng-click="startCreateEndpointWizard()" gdb-tooltip="{{\'graphql.endpoints_management.toolbar.create_endpoint.tooltip\' | translate}}"> <span class="fa-kit fa-gdb-graphql"></span>&nbsp; <span>{{\'graphql.endpoints_management.toolbar.create_endpoint.label\' | translate}}</span> </button> <button class="btn btn-secondary import-schema-definition-btn ml-1" ng-click="importSchema()" gdb-tooltip="{{\'graphql.endpoints_management.toolbar.import_schema.tooltip\' | translate}}"> <span class="fa fa-upload"></span>&nbsp; <span>{{\'graphql.endpoints_management.toolbar.import_schema.label\' | translate}}</span> </button> </div> </div> <div ng-if="!hasEndpoints" class="alert alert-info no-endpoints mt-2"> <span>{{\'graphql.endpoints_management.table.messages.no_endpoints_in_repository\' | translate}}</span> </div> <table ng-if="hasEndpoints" class="endpoints-info-table table mt-1" aria-describedby="GraphQL endpoints info table"> <thead> <tr> <th scope="col" class="toggle-col"></th> <th scope="col" class="status-col"></th> <th scope="col" class="endpoint-id-col"> <span gdb-tooltip="{{\'graphql.endpoints_management.table.column.id.tooltip\' | translate}}"> {{\'graphql.endpoints_management.table.column.id.label\' | translate}} </span> </th> <th scope="col" class="endpoint-label-col"> <span gdb-tooltip="{{\'graphql.endpoints_management.table.column.label.tooltip\' | translate}}"> {{\'graphql.endpoints_management.table.column.label.label\' | translate}} </span> </th> <th scope="col" class="endpoint-is-default-col text-center"> <span gdb-tooltip="{{\'graphql.endpoints_management.table.column.is_default.tooltip\' | translate}}"> {{\'graphql.endpoints_management.table.column.is_default.label\' | translate}} </span> </th> <th scope="col" class="endpoint-is-active-col text-center"> <span gdb-tooltip="{{\'graphql.endpoints_management.table.column.is_active.tooltip\' | translate}}"> {{\'graphql.endpoints_management.table.column.is_active.label\' | translate}} </span> </th> <th scope="col" class="endpoint-modified-on-col"> <span gdb-tooltip="{{\'graphql.endpoints_management.table.column.modified_on.tooltip\' | translate}}"> {{\'graphql.endpoints_management.table.column.modified_on.label\' | translate}} </span> </th> <th scope="col" class="endpoint-types-count-col numeric"> <span gdb-tooltip="{{\'graphql.endpoints_management.table.column.types_count.tooltip\' | translate}}"> {{\'graphql.endpoints_management.table.column.types_count.label\' | translate}} </span> </th> <th scope="col" class="endpoint-props-count-col numeric"> <span gdb-tooltip="{{\'graphql.endpoints_management.table.column.props_count.tooltip\' | translate}}"> {{\'graphql.endpoints_management.table.column.props_count.label\' | translate}} </span> </th> <th scope="col" class="endpoint-actions-col"> <span gdb-tooltip="{{\'graphql.endpoints_management.table.column.actions.tooltip\' | translate}}"> {{\'graphql.endpoints_management.table.column.actions.label\' | translate}} </span> </th> </tr> </thead> <tr ng-if="operationInProgress" class="overlay-row"> <td colspan="9"> <div class="endpoint-operation-progress" onto-loader-fancy size="100" hide-message="true"></div> </td> </tr> <tbody> <tr ng-repeat-start="endpoint in endpointsInfoList.endpoints track by endpoint.endpointId"> <td class="toggle-row"> <a href="#" ng-click="toggleRow($event, $index)"> <i class="fa fa-chevron-right" ng-if="expandedRow !== $index"></i> <i class="fa fa-chevron-down" ng-if="expandedRow === $index"></i> </a> </td> <td class="status-cell"> <a href="#" ng-if="endpoint.errors > 0 || endpoint.warnings > 0" ng-click="onShowEndpointReport(endpoint)" gdb-tooltip="{{\'graphql.endpoints_management.table.actions.view_report.tooltip\' | translate}}" class="endpoint-report-link btn btn-link"> <i ng-if="!endpoint.createdSuccessfully" class="fa-regular fa-circle-xmark status-failed"></i> <i ng-if="endpoint.createdSuccessfully" class="fa-regular fa-circle-check status-success"></i> </a> </td> <td> <span ng-if="!endpoint.active" gdb-tooltip="{{\'graphql.endpoints_management.table.actions.explore_endpoint.inactive.tooltip\' | translate}}" class="endpoint-id">{{endpoint.endpointId}}</span> <a ng-if="endpoint.active" href="#" ng-click="onExploreEndpoint(endpoint)" gdb-tooltip="{{\'graphql.endpoints_management.table.actions.explore_endpoint.active.tooltip\' | translate}}" class="endpoint-link">{{endpoint.endpointId}}</a> </td> <td>{{endpoint.label}}</td> <td class="default-endpoint-selector"> <label class="endpoint-default-state"> <input type="radio" ng-model="selectedDefaultEndpoint.default" ng-value="endpoint.default" ng-disabled="!endpoint.createdSuccessfully" ng-change="setEndpointAsDefault(endpoint)"/> </label> </td> <td class="active-endpoint-selector"> <span ng-click="!endpoint.createdSuccessfully || toggleEndpointActiveState(endpoint)" class="toggle-active-state"> <input type="checkbox" class="switch" ng-checked="endpoint.active" ng-disabled="!endpoint.createdSuccessfully"/> <label></label> </span> </td> <td title="{{endpoint.lastModified}}">{{endpoint.lastModified | date: \'yyyy-MM-dd\'}}</td> <td class="objects-count numeric">{{endpoint.objectsCount}}</td> <td class="properties-count numeric">{{endpoint.propertiesCount}}</td> <td class="endpoint-actions"> <div class="btn-group"> <button class="btn btn-link secondary btn-sm open-endpoint-actions-btn" data-toggle="dropdown" aria-expanded="false" ng-if="true" ng-disabled="false"> <i class="fa fa-ellipsis"></i> </button> <div class="dropdown-menu dropdown-menu-right endpoint-actions-menu"> <button class="dropdown-item export-schema-btn" type="button" ng-click="onExportSchema(endpoint)"> <i class="fa fa-arrow-down-to-line"></i>&nbsp; <span>{{\'graphql.endpoints_management.table.actions.export_schema.label\' | translate}}</span> </button> <button class="dropdown-item configure-endpoint-btn" type="button" ng-click="onConfigureEndpoint(endpoint)"> <i class="fa fa-gear"></i>&nbsp; <span>{{\'graphql.endpoints_management.table.actions.configure_endpoint.label\' | translate}}</span> </button> <div class="dropdown-divider"></div> <button class="dropdown-item delete-endpoint-btn" type="button" ng-click="onDeleteEndpoint(endpoint)"> <i class="fa fa-trash-can"></i>&nbsp; <span>{{\'graphql.endpoints_management.table.actions.delete_endpoint.label\' | translate}}</span> </button> </div> </div> </td> </tr> <tr ng-repeat-end ng-if="expandedRow === $index" class="endpoint-description-row"> <td></td> <td colspan="8"> <strong>{{\'graphql.endpoints_management.table.labels.description\' | translate}}</strong> <div class="endpoint-description">{{endpoint.description}}</div> </td> </tr> <tr ng-if="endpointsInfoList.endpoints.length === 0" class="no-results"> <td colspan="9"> <div class="alert alert-info"> <span>{{\'graphql.endpoints_management.table.messages.endpoints_filter_no_result\' | translate}}</span> </div> </td></tr> </tbody> </table> </div> </div> '}};
2
- //# sourceMappingURL=16162.2dc986d04777c8ae9489.bundle.js.map
1
+ export const __webpack_id__=16162;export const __webpack_ids__=[16162];export const __webpack_modules__={16162:(t,n,e)=>{e.r(n),e.d(n,{default:()=>a});const a='<link href="css/graphql/graphql-endpoint-management.css?v=3.2.0-TR5" rel="stylesheet"/> <div class="graphql-endpoint-management-view"> <h1 id="title-container"> <span id="graphql-endpoint-management-title-label">{{title}}</span> <page-info-tooltip></page-info-tooltip> </h1> <div core-errors></div> <div onto-loader-new ng-show="loadingEndpointsInfo" class="graphql-endpoint-management-page-loader" size="100"> </div> <div ng-if="getActiveRepository() && !loadingEndpointsInfo" class="endpoint-management-container"> <div class="toolbar"> <div class="endpoints-filter"> <input type="text" ng-if="hasEndpoints" class="form-control endpoints-filter-field" placeholder="{{\'graphql.endpoints_management.toolbar.endpoints_filter.placeholder\' | translate}}" ng-model="filterTerm" ng-change="onEndpointsFilter(filterTerm)" aria-label="Filter endpoints" autocomplete="off"> </div> <div class="actions"> <button class="btn btn-primary create-endpoint-btn" ng-click="startCreateEndpointWizard()" gdb-tooltip="{{\'graphql.endpoints_management.toolbar.create_endpoint.tooltip\' | translate}}"> <span class="fa-kit fa-gdb-graphql"></span>&nbsp; <span>{{\'graphql.endpoints_management.toolbar.create_endpoint.label\' | translate}}</span> </button> <button class="btn btn-secondary import-schema-definition-btn ml-1" ng-click="importSchema()" gdb-tooltip="{{\'graphql.endpoints_management.toolbar.import_schema.tooltip\' | translate}}"> <span class="fa fa-upload"></span>&nbsp; <span>{{\'graphql.endpoints_management.toolbar.import_schema.label\' | translate}}</span> </button> </div> </div> <div ng-if="!hasEndpoints" class="alert alert-info no-endpoints mt-2"> <span>{{\'graphql.endpoints_management.table.messages.no_endpoints_in_repository\' | translate}}</span> </div> <table ng-if="hasEndpoints" class="endpoints-info-table table mt-1" aria-describedby="GraphQL endpoints info table"> <thead> <tr> <th scope="col" class="toggle-col"></th> <th scope="col" class="status-col"></th> <th scope="col" class="endpoint-id-col"> <span gdb-tooltip="{{\'graphql.endpoints_management.table.column.id.tooltip\' | translate}}"> {{\'graphql.endpoints_management.table.column.id.label\' | translate}} </span> </th> <th scope="col" class="endpoint-label-col"> <span gdb-tooltip="{{\'graphql.endpoints_management.table.column.label.tooltip\' | translate}}"> {{\'graphql.endpoints_management.table.column.label.label\' | translate}} </span> </th> <th scope="col" class="endpoint-is-default-col text-center"> <span gdb-tooltip="{{\'graphql.endpoints_management.table.column.is_default.tooltip\' | translate}}"> {{\'graphql.endpoints_management.table.column.is_default.label\' | translate}} </span> </th> <th scope="col" class="endpoint-is-active-col text-center"> <span gdb-tooltip="{{\'graphql.endpoints_management.table.column.is_active.tooltip\' | translate}}"> {{\'graphql.endpoints_management.table.column.is_active.label\' | translate}} </span> </th> <th scope="col" class="endpoint-modified-on-col"> <span gdb-tooltip="{{\'graphql.endpoints_management.table.column.modified_on.tooltip\' | translate}}"> {{\'graphql.endpoints_management.table.column.modified_on.label\' | translate}} </span> </th> <th scope="col" class="endpoint-types-count-col numeric"> <span gdb-tooltip="{{\'graphql.endpoints_management.table.column.types_count.tooltip\' | translate}}"> {{\'graphql.endpoints_management.table.column.types_count.label\' | translate}} </span> </th> <th scope="col" class="endpoint-props-count-col numeric"> <span gdb-tooltip="{{\'graphql.endpoints_management.table.column.props_count.tooltip\' | translate}}"> {{\'graphql.endpoints_management.table.column.props_count.label\' | translate}} </span> </th> <th scope="col" class="endpoint-actions-col"> <span gdb-tooltip="{{\'graphql.endpoints_management.table.column.actions.tooltip\' | translate}}"> {{\'graphql.endpoints_management.table.column.actions.label\' | translate}} </span> </th> </tr> </thead> <tr ng-if="operationInProgress" class="overlay-row"> <td colspan="9"> <div class="endpoint-operation-progress" onto-loader-fancy size="100" hide-message="true"></div> </td> </tr> <tbody> <tr ng-repeat-start="endpoint in endpointsInfoList.endpoints track by endpoint.endpointId"> <td class="toggle-row"> <a href="#" ng-click="toggleRow($event, $index)"> <i class="fa fa-chevron-right" ng-if="expandedRow !== $index"></i> <i class="fa fa-chevron-down" ng-if="expandedRow === $index"></i> </a> </td> <td class="status-cell"> <a href="#" ng-if="endpoint.errors > 0 || endpoint.warnings > 0" ng-click="onShowEndpointReport(endpoint)" gdb-tooltip="{{\'graphql.endpoints_management.table.actions.view_report.tooltip\' | translate}}" class="endpoint-report-link btn btn-link"> <i ng-if="!endpoint.createdSuccessfully" class="fa-regular fa-circle-xmark status-failed"></i> <i ng-if="endpoint.createdSuccessfully" class="fa-regular fa-circle-check status-success"></i> </a> </td> <td> <span ng-if="!endpoint.active" gdb-tooltip="{{\'graphql.endpoints_management.table.actions.explore_endpoint.inactive.tooltip\' | translate}}" class="endpoint-id">{{endpoint.endpointId}}</span> <a ng-if="endpoint.active" href="#" ng-click="onExploreEndpoint(endpoint)" gdb-tooltip="{{\'graphql.endpoints_management.table.actions.explore_endpoint.active.tooltip\' | translate}}" class="endpoint-link">{{endpoint.endpointId}}</a> </td> <td>{{endpoint.label}}</td> <td class="default-endpoint-selector"> <label class="endpoint-default-state"> <input type="radio" ng-model="selectedDefaultEndpoint.default" ng-value="endpoint.default" ng-disabled="!endpoint.createdSuccessfully" ng-change="setEndpointAsDefault(endpoint)"/> </label> </td> <td class="active-endpoint-selector"> <span ng-click="!endpoint.createdSuccessfully || toggleEndpointActiveState(endpoint)" class="toggle-active-state"> <input type="checkbox" class="switch" ng-checked="endpoint.active" ng-disabled="!endpoint.createdSuccessfully"/> <label></label> </span> </td> <td title="{{endpoint.lastModified}}">{{endpoint.lastModified | date: \'yyyy-MM-dd\'}}</td> <td class="objects-count numeric">{{endpoint.objectsCount}}</td> <td class="properties-count numeric">{{endpoint.propertiesCount}}</td> <td class="endpoint-actions"> <div class="btn-group"> <button class="btn btn-link secondary btn-sm open-endpoint-actions-btn" data-toggle="dropdown" aria-expanded="false" ng-if="true" ng-disabled="false"> <i class="fa fa-ellipsis"></i> </button> <div class="dropdown-menu dropdown-menu-right endpoint-actions-menu"> <button class="dropdown-item export-schema-btn" type="button" ng-click="onExportSchema(endpoint)"> <i class="fa fa-arrow-down-to-line"></i>&nbsp; <span>{{\'graphql.endpoints_management.table.actions.export_schema.label\' | translate}}</span> </button> <button class="dropdown-item configure-endpoint-btn" type="button" ng-click="onConfigureEndpoint(endpoint)"> <i class="fa fa-gear"></i>&nbsp; <span>{{\'graphql.endpoints_management.table.actions.configure_endpoint.label\' | translate}}</span> </button> <div class="dropdown-divider"></div> <button class="dropdown-item delete-endpoint-btn" type="button" ng-click="onDeleteEndpoint(endpoint)"> <i class="fa fa-trash-can"></i>&nbsp; <span>{{\'graphql.endpoints_management.table.actions.delete_endpoint.label\' | translate}}</span> </button> </div> </div> </td> </tr> <tr ng-repeat-end ng-if="expandedRow === $index" class="endpoint-description-row"> <td></td> <td colspan="8"> <strong>{{\'graphql.endpoints_management.table.labels.description\' | translate}}</strong> <div class="endpoint-description">{{endpoint.description}}</div> </td> </tr> <tr ng-if="endpointsInfoList.endpoints.length === 0" class="no-results"> <td colspan="9"> <div class="alert alert-info"> <span>{{\'graphql.endpoints_management.table.messages.endpoints_filter_no_result\' | translate}}</span> </div> </td></tr> </tbody> </table> </div> </div> '}};
2
+ //# sourceMappingURL=16162.68c4cc2feee685642217.bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"16162.2dc986d04777c8ae9489.bundle.js","mappings":"uJAGA,QAFW,mrP","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/graphql/templates/graphql-endpoint-management.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/graphql/graphql-endpoint-management.css?v=3.2.0-TR4\" rel=\"stylesheet\"/> <div class=\"graphql-endpoint-management-view\"> <h1 id=\"title-container\"> <span id=\"graphql-endpoint-management-title-label\">{{title}}</span> <page-info-tooltip></page-info-tooltip> </h1> <div core-errors></div> <div onto-loader-new ng-show=\"loadingEndpointsInfo\" class=\"graphql-endpoint-management-page-loader\" size=\"100\"> </div> <div ng-if=\"getActiveRepository() && !loadingEndpointsInfo\" class=\"endpoint-management-container\"> <div class=\"toolbar\"> <div class=\"endpoints-filter\"> <input type=\"text\" ng-if=\"hasEndpoints\" class=\"form-control endpoints-filter-field\" placeholder=\"{{'graphql.endpoints_management.toolbar.endpoints_filter.placeholder' | translate}}\" ng-model=\"filterTerm\" ng-change=\"onEndpointsFilter(filterTerm)\" aria-label=\"Filter endpoints\" autocomplete=\"off\"> </div> <div class=\"actions\"> <button class=\"btn btn-primary create-endpoint-btn\" ng-click=\"startCreateEndpointWizard()\" gdb-tooltip=\"{{'graphql.endpoints_management.toolbar.create_endpoint.tooltip' | translate}}\"> <span class=\"fa-kit fa-gdb-graphql\"></span>&nbsp; <span>{{'graphql.endpoints_management.toolbar.create_endpoint.label' | translate}}</span> </button> <button class=\"btn btn-secondary import-schema-definition-btn ml-1\" ng-click=\"importSchema()\" gdb-tooltip=\"{{'graphql.endpoints_management.toolbar.import_schema.tooltip' | translate}}\"> <span class=\"fa fa-upload\"></span>&nbsp; <span>{{'graphql.endpoints_management.toolbar.import_schema.label' | translate}}</span> </button> </div> </div> <div ng-if=\"!hasEndpoints\" class=\"alert alert-info no-endpoints mt-2\"> <span>{{'graphql.endpoints_management.table.messages.no_endpoints_in_repository' | translate}}</span> </div> <table ng-if=\"hasEndpoints\" class=\"endpoints-info-table table mt-1\" aria-describedby=\"GraphQL endpoints info table\"> <thead> <tr> <th scope=\"col\" class=\"toggle-col\"></th> <th scope=\"col\" class=\"status-col\"></th> <th scope=\"col\" class=\"endpoint-id-col\"> <span gdb-tooltip=\"{{'graphql.endpoints_management.table.column.id.tooltip' | translate}}\"> {{'graphql.endpoints_management.table.column.id.label' | translate}} </span> </th> <th scope=\"col\" class=\"endpoint-label-col\"> <span gdb-tooltip=\"{{'graphql.endpoints_management.table.column.label.tooltip' | translate}}\"> {{'graphql.endpoints_management.table.column.label.label' | translate}} </span> </th> <th scope=\"col\" class=\"endpoint-is-default-col text-center\"> <span gdb-tooltip=\"{{'graphql.endpoints_management.table.column.is_default.tooltip' | translate}}\"> {{'graphql.endpoints_management.table.column.is_default.label' | translate}} </span> </th> <th scope=\"col\" class=\"endpoint-is-active-col text-center\"> <span gdb-tooltip=\"{{'graphql.endpoints_management.table.column.is_active.tooltip' | translate}}\"> {{'graphql.endpoints_management.table.column.is_active.label' | translate}} </span> </th> <th scope=\"col\" class=\"endpoint-modified-on-col\"> <span gdb-tooltip=\"{{'graphql.endpoints_management.table.column.modified_on.tooltip' | translate}}\"> {{'graphql.endpoints_management.table.column.modified_on.label' | translate}} </span> </th> <th scope=\"col\" class=\"endpoint-types-count-col numeric\"> <span gdb-tooltip=\"{{'graphql.endpoints_management.table.column.types_count.tooltip' | translate}}\"> {{'graphql.endpoints_management.table.column.types_count.label' | translate}} </span> </th> <th scope=\"col\" class=\"endpoint-props-count-col numeric\"> <span gdb-tooltip=\"{{'graphql.endpoints_management.table.column.props_count.tooltip' | translate}}\"> {{'graphql.endpoints_management.table.column.props_count.label' | translate}} </span> </th> <th scope=\"col\" class=\"endpoint-actions-col\"> <span gdb-tooltip=\"{{'graphql.endpoints_management.table.column.actions.tooltip' | translate}}\"> {{'graphql.endpoints_management.table.column.actions.label' | translate}} </span> </th> </tr> </thead> <tr ng-if=\"operationInProgress\" class=\"overlay-row\"> <td colspan=\"9\"> <div class=\"endpoint-operation-progress\" onto-loader-fancy size=\"100\" hide-message=\"true\"></div> </td> </tr> <tbody> <tr ng-repeat-start=\"endpoint in endpointsInfoList.endpoints track by endpoint.endpointId\"> <td class=\"toggle-row\"> <a href=\"#\" ng-click=\"toggleRow(\\$event, \\$index)\"> <i class=\"fa fa-chevron-right\" ng-if=\"expandedRow !== \\$index\"></i> <i class=\"fa fa-chevron-down\" ng-if=\"expandedRow === \\$index\"></i> </a> </td> <td class=\"status-cell\"> <a href=\"#\" ng-if=\"endpoint.errors > 0 || endpoint.warnings > 0\" ng-click=\"onShowEndpointReport(endpoint)\" gdb-tooltip=\"{{'graphql.endpoints_management.table.actions.view_report.tooltip' | translate}}\" class=\"endpoint-report-link btn btn-link\"> <i ng-if=\"!endpoint.createdSuccessfully\" class=\"fa-regular fa-circle-xmark status-failed\"></i> <i ng-if=\"endpoint.createdSuccessfully\" class=\"fa-regular fa-circle-check status-success\"></i> </a> </td> <td> <span ng-if=\"!endpoint.active\" gdb-tooltip=\"{{'graphql.endpoints_management.table.actions.explore_endpoint.inactive.tooltip' | translate}}\" class=\"endpoint-id\">{{endpoint.endpointId}}</span> <a ng-if=\"endpoint.active\" href=\"#\" ng-click=\"onExploreEndpoint(endpoint)\" gdb-tooltip=\"{{'graphql.endpoints_management.table.actions.explore_endpoint.active.tooltip' | translate}}\" class=\"endpoint-link\">{{endpoint.endpointId}}</a> </td> <td>{{endpoint.label}}</td> <td class=\"default-endpoint-selector\"> <label class=\"endpoint-default-state\"> <input type=\"radio\" ng-model=\"selectedDefaultEndpoint.default\" ng-value=\"endpoint.default\" ng-disabled=\"!endpoint.createdSuccessfully\" ng-change=\"setEndpointAsDefault(endpoint)\"/> </label> </td> <td class=\"active-endpoint-selector\"> <span ng-click=\"!endpoint.createdSuccessfully || toggleEndpointActiveState(endpoint)\" class=\"toggle-active-state\"> <input type=\"checkbox\" class=\"switch\" ng-checked=\"endpoint.active\" ng-disabled=\"!endpoint.createdSuccessfully\"/> <label></label> </span> </td> <td title=\"{{endpoint.lastModified}}\">{{endpoint.lastModified | date: 'yyyy-MM-dd'}}</td> <td class=\"objects-count numeric\">{{endpoint.objectsCount}}</td> <td class=\"properties-count numeric\">{{endpoint.propertiesCount}}</td> <td class=\"endpoint-actions\"> <div class=\"btn-group\"> <button class=\"btn btn-link secondary btn-sm open-endpoint-actions-btn\" data-toggle=\"dropdown\" aria-expanded=\"false\" ng-if=\"true\" ng-disabled=\"false\"> <i class=\"fa fa-ellipsis\"></i> </button> <div class=\"dropdown-menu dropdown-menu-right endpoint-actions-menu\"> <button class=\"dropdown-item export-schema-btn\" type=\"button\" ng-click=\"onExportSchema(endpoint)\"> <i class=\"fa fa-arrow-down-to-line\"></i>&nbsp; <span>{{'graphql.endpoints_management.table.actions.export_schema.label' | translate}}</span> </button> <button class=\"dropdown-item configure-endpoint-btn\" type=\"button\" ng-click=\"onConfigureEndpoint(endpoint)\"> <i class=\"fa fa-gear\"></i>&nbsp; <span>{{'graphql.endpoints_management.table.actions.configure_endpoint.label' | translate}}</span> </button> <div class=\"dropdown-divider\"></div> <button class=\"dropdown-item delete-endpoint-btn\" type=\"button\" ng-click=\"onDeleteEndpoint(endpoint)\"> <i class=\"fa fa-trash-can\"></i>&nbsp; <span>{{'graphql.endpoints_management.table.actions.delete_endpoint.label' | translate}}</span> </button> </div> </div> </td> </tr> <tr ng-repeat-end ng-if=\"expandedRow === \\$index\" class=\"endpoint-description-row\"> <td></td> <td colspan=\"8\"> <strong>{{'graphql.endpoints_management.table.labels.description' | translate}}</strong> <div class=\"endpoint-description\">{{endpoint.description}}</div> </td> </tr> <tr ng-if=\"endpointsInfoList.endpoints.length === 0\" class=\"no-results\"> <td colspan=\"9\"> <div class=\"alert alert-info\"> <span>{{'graphql.endpoints_management.table.messages.endpoints_filter_no_result' | translate}}</span> </div> </td></tr> </tbody> </table> </div> </div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
1
+ {"version":3,"file":"16162.68c4cc2feee685642217.bundle.js","mappings":"uJAGA,QAFW,mrP","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/graphql/templates/graphql-endpoint-management.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/graphql/graphql-endpoint-management.css?v=3.2.0-TR5\" rel=\"stylesheet\"/> <div class=\"graphql-endpoint-management-view\"> <h1 id=\"title-container\"> <span id=\"graphql-endpoint-management-title-label\">{{title}}</span> <page-info-tooltip></page-info-tooltip> </h1> <div core-errors></div> <div onto-loader-new ng-show=\"loadingEndpointsInfo\" class=\"graphql-endpoint-management-page-loader\" size=\"100\"> </div> <div ng-if=\"getActiveRepository() && !loadingEndpointsInfo\" class=\"endpoint-management-container\"> <div class=\"toolbar\"> <div class=\"endpoints-filter\"> <input type=\"text\" ng-if=\"hasEndpoints\" class=\"form-control endpoints-filter-field\" placeholder=\"{{'graphql.endpoints_management.toolbar.endpoints_filter.placeholder' | translate}}\" ng-model=\"filterTerm\" ng-change=\"onEndpointsFilter(filterTerm)\" aria-label=\"Filter endpoints\" autocomplete=\"off\"> </div> <div class=\"actions\"> <button class=\"btn btn-primary create-endpoint-btn\" ng-click=\"startCreateEndpointWizard()\" gdb-tooltip=\"{{'graphql.endpoints_management.toolbar.create_endpoint.tooltip' | translate}}\"> <span class=\"fa-kit fa-gdb-graphql\"></span>&nbsp; <span>{{'graphql.endpoints_management.toolbar.create_endpoint.label' | translate}}</span> </button> <button class=\"btn btn-secondary import-schema-definition-btn ml-1\" ng-click=\"importSchema()\" gdb-tooltip=\"{{'graphql.endpoints_management.toolbar.import_schema.tooltip' | translate}}\"> <span class=\"fa fa-upload\"></span>&nbsp; <span>{{'graphql.endpoints_management.toolbar.import_schema.label' | translate}}</span> </button> </div> </div> <div ng-if=\"!hasEndpoints\" class=\"alert alert-info no-endpoints mt-2\"> <span>{{'graphql.endpoints_management.table.messages.no_endpoints_in_repository' | translate}}</span> </div> <table ng-if=\"hasEndpoints\" class=\"endpoints-info-table table mt-1\" aria-describedby=\"GraphQL endpoints info table\"> <thead> <tr> <th scope=\"col\" class=\"toggle-col\"></th> <th scope=\"col\" class=\"status-col\"></th> <th scope=\"col\" class=\"endpoint-id-col\"> <span gdb-tooltip=\"{{'graphql.endpoints_management.table.column.id.tooltip' | translate}}\"> {{'graphql.endpoints_management.table.column.id.label' | translate}} </span> </th> <th scope=\"col\" class=\"endpoint-label-col\"> <span gdb-tooltip=\"{{'graphql.endpoints_management.table.column.label.tooltip' | translate}}\"> {{'graphql.endpoints_management.table.column.label.label' | translate}} </span> </th> <th scope=\"col\" class=\"endpoint-is-default-col text-center\"> <span gdb-tooltip=\"{{'graphql.endpoints_management.table.column.is_default.tooltip' | translate}}\"> {{'graphql.endpoints_management.table.column.is_default.label' | translate}} </span> </th> <th scope=\"col\" class=\"endpoint-is-active-col text-center\"> <span gdb-tooltip=\"{{'graphql.endpoints_management.table.column.is_active.tooltip' | translate}}\"> {{'graphql.endpoints_management.table.column.is_active.label' | translate}} </span> </th> <th scope=\"col\" class=\"endpoint-modified-on-col\"> <span gdb-tooltip=\"{{'graphql.endpoints_management.table.column.modified_on.tooltip' | translate}}\"> {{'graphql.endpoints_management.table.column.modified_on.label' | translate}} </span> </th> <th scope=\"col\" class=\"endpoint-types-count-col numeric\"> <span gdb-tooltip=\"{{'graphql.endpoints_management.table.column.types_count.tooltip' | translate}}\"> {{'graphql.endpoints_management.table.column.types_count.label' | translate}} </span> </th> <th scope=\"col\" class=\"endpoint-props-count-col numeric\"> <span gdb-tooltip=\"{{'graphql.endpoints_management.table.column.props_count.tooltip' | translate}}\"> {{'graphql.endpoints_management.table.column.props_count.label' | translate}} </span> </th> <th scope=\"col\" class=\"endpoint-actions-col\"> <span gdb-tooltip=\"{{'graphql.endpoints_management.table.column.actions.tooltip' | translate}}\"> {{'graphql.endpoints_management.table.column.actions.label' | translate}} </span> </th> </tr> </thead> <tr ng-if=\"operationInProgress\" class=\"overlay-row\"> <td colspan=\"9\"> <div class=\"endpoint-operation-progress\" onto-loader-fancy size=\"100\" hide-message=\"true\"></div> </td> </tr> <tbody> <tr ng-repeat-start=\"endpoint in endpointsInfoList.endpoints track by endpoint.endpointId\"> <td class=\"toggle-row\"> <a href=\"#\" ng-click=\"toggleRow(\\$event, \\$index)\"> <i class=\"fa fa-chevron-right\" ng-if=\"expandedRow !== \\$index\"></i> <i class=\"fa fa-chevron-down\" ng-if=\"expandedRow === \\$index\"></i> </a> </td> <td class=\"status-cell\"> <a href=\"#\" ng-if=\"endpoint.errors > 0 || endpoint.warnings > 0\" ng-click=\"onShowEndpointReport(endpoint)\" gdb-tooltip=\"{{'graphql.endpoints_management.table.actions.view_report.tooltip' | translate}}\" class=\"endpoint-report-link btn btn-link\"> <i ng-if=\"!endpoint.createdSuccessfully\" class=\"fa-regular fa-circle-xmark status-failed\"></i> <i ng-if=\"endpoint.createdSuccessfully\" class=\"fa-regular fa-circle-check status-success\"></i> </a> </td> <td> <span ng-if=\"!endpoint.active\" gdb-tooltip=\"{{'graphql.endpoints_management.table.actions.explore_endpoint.inactive.tooltip' | translate}}\" class=\"endpoint-id\">{{endpoint.endpointId}}</span> <a ng-if=\"endpoint.active\" href=\"#\" ng-click=\"onExploreEndpoint(endpoint)\" gdb-tooltip=\"{{'graphql.endpoints_management.table.actions.explore_endpoint.active.tooltip' | translate}}\" class=\"endpoint-link\">{{endpoint.endpointId}}</a> </td> <td>{{endpoint.label}}</td> <td class=\"default-endpoint-selector\"> <label class=\"endpoint-default-state\"> <input type=\"radio\" ng-model=\"selectedDefaultEndpoint.default\" ng-value=\"endpoint.default\" ng-disabled=\"!endpoint.createdSuccessfully\" ng-change=\"setEndpointAsDefault(endpoint)\"/> </label> </td> <td class=\"active-endpoint-selector\"> <span ng-click=\"!endpoint.createdSuccessfully || toggleEndpointActiveState(endpoint)\" class=\"toggle-active-state\"> <input type=\"checkbox\" class=\"switch\" ng-checked=\"endpoint.active\" ng-disabled=\"!endpoint.createdSuccessfully\"/> <label></label> </span> </td> <td title=\"{{endpoint.lastModified}}\">{{endpoint.lastModified | date: 'yyyy-MM-dd'}}</td> <td class=\"objects-count numeric\">{{endpoint.objectsCount}}</td> <td class=\"properties-count numeric\">{{endpoint.propertiesCount}}</td> <td class=\"endpoint-actions\"> <div class=\"btn-group\"> <button class=\"btn btn-link secondary btn-sm open-endpoint-actions-btn\" data-toggle=\"dropdown\" aria-expanded=\"false\" ng-if=\"true\" ng-disabled=\"false\"> <i class=\"fa fa-ellipsis\"></i> </button> <div class=\"dropdown-menu dropdown-menu-right endpoint-actions-menu\"> <button class=\"dropdown-item export-schema-btn\" type=\"button\" ng-click=\"onExportSchema(endpoint)\"> <i class=\"fa fa-arrow-down-to-line\"></i>&nbsp; <span>{{'graphql.endpoints_management.table.actions.export_schema.label' | translate}}</span> </button> <button class=\"dropdown-item configure-endpoint-btn\" type=\"button\" ng-click=\"onConfigureEndpoint(endpoint)\"> <i class=\"fa fa-gear\"></i>&nbsp; <span>{{'graphql.endpoints_management.table.actions.configure_endpoint.label' | translate}}</span> </button> <div class=\"dropdown-divider\"></div> <button class=\"dropdown-item delete-endpoint-btn\" type=\"button\" ng-click=\"onDeleteEndpoint(endpoint)\"> <i class=\"fa fa-trash-can\"></i>&nbsp; <span>{{'graphql.endpoints_management.table.actions.delete_endpoint.label' | translate}}</span> </button> </div> </div> </td> </tr> <tr ng-repeat-end ng-if=\"expandedRow === \\$index\" class=\"endpoint-description-row\"> <td></td> <td colspan=\"8\"> <strong>{{'graphql.endpoints_management.table.labels.description' | translate}}</strong> <div class=\"endpoint-description\">{{endpoint.description}}</div> </td> </tr> <tr ng-if=\"endpointsInfoList.endpoints.length === 0\" class=\"no-results\"> <td colspan=\"9\"> <div class=\"alert alert-info\"> <span>{{'graphql.endpoints_management.table.messages.endpoints_filter_no_result' | translate}}</span> </div> </td></tr> </tbody> </table> </div> </div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ export const __webpack_id__=19402;export const __webpack_ids__=[19402,36633,63415];export const __webpack_modules__={19402:(t,s,e)=>{e.r(s),e.d(s,{ChatByDayModel:()=>n,ChatModel:()=>h,ChatsListModel:()=>r});var a=e(63415),i=e(93135);class h{static getNewChat(){const t={name:"· · ·",timestamp:Math.floor(Date.now()/1e3),new:!0};return new h(t,(0,i.md5HashGenerator)())}constructor(t,s){this.hashGenerator=s,this._id=t.id,this._name=t.name,this._timestamp=t.timestamp,this._chatHistory=t.chatHistory||new a.ChatItemsListModel,this._new=t.new??!1,this.hash=this.generateHash()}isNew(){return this._new}set new(t){this._new=t}generateHash(){return this.hashGenerator(JSON.stringify(this))}get id(){return this._id}set id(t){this._id=t}get name(){return this._name}set name(t){this.generateHash(),this._name=t}get timestamp(){return this._timestamp}set timestamp(t){this._timestamp=t}get chatHistory(){return this._chatHistory}set chatHistory(t){this._chatHistory=t||new a.ChatItemsListModel}toRenameRequestPayload(){return{name:this._name}}}class n{constructor(t){this._day=t.day,this._timestamp=t.timestamp,this._chats=t.chats}get day(){return this._day}set day(t){this._day=t}get timestamp(){return this._timestamp}set timestamp(t){this._timestamp=t}get chats(){return this._chats}set chats(t){this._chats=t}}class r{constructor(t){this._chats=t||[],this._chatsByDay=[],this.sortByTime(),this.updateChatsByDay()}containsNewChats(){return this._chats.some(t=>t.isNew())}sortByTime(){this._chats.sort((t,s)=>s.timestamp-t.timestamp)}updateChatTimestamp(t,s){const e=this._chats.find(s=>s.id===t);e&&(e.timestamp=s,this.sortByTime(),this.updateChatsByDay())}setChatAsOld(t){const s=this._chats.find(s=>s.id===t);s&&(s.new=!1)}updateChatName(t,s){const e=this._chats.find(s=>s.id===t);e&&(e.name=s)}deleteChat(t){this._chats=this._chats.filter(s=>s.id!==t.id),this.sortByTime(),this.updateChatsByDay()}updateChatsByDay(){this._chatsByDay=[],this._chats.forEach(t=>{const s=new Date(1e3*t.timestamp).toDateString(),e=this._chatsByDay.find(t=>t.day===s);e?e.chats.push(t):this._chatsByDay.push(new n({day:s,timestamp:1e3*t.timestamp,chats:[t]}))})}appendChat(t){this._chats.push(t),this.sortByTime(),this.updateChatsByDay()}replaceChat(t,s){this._chats=this._chats.map(e=>e.id===s.id?t:e),this.sortByTime(),this.updateChatsByDay()}isEmpty(){return 0===this._chats.length}getFirstChat(){return this._chats[0]}deselectAll(){this._chats.forEach(t=>{t.selected=!1})}selectChat(t){this.deselectAll(),this._chats.forEach(s=>{s.selected=s.id===t.id})}getChat(t){return this._chats.find(s=>s.id===t)}getNonPersistedChat(){return this._chats.find(t=>!t.id)}renameChat(t){const s=this._chats.find(s=>s.id===t.id);s&&(s.name=t.name)}get chats(){return this._chats}set chats(t){this._chats=t}get chatsByDay(){return this._chatsByDay}set chatsByDay(t){this._chatsByDay=t}}},36633:(t,s,e)=>{e.r(s),e.d(s,{CHAT_MESSAGE_ROLE:()=>i,ChatMessageModel:()=>a});class a{constructor(t){this._id=t.id,this._role=t.role,this._message=t.message,this._timestamp=1e3*t.timestamp,this.tokenUsageInfo=t.tokenUsageInfo,this._isTerminalState=t.isTerminalState,this._status=t.status}addToChatAnswer(t){t.messages=[this]}get id(){return this._id}set id(t){this._id=t}get role(){return this._role}set role(t){this._role=t}get message(){return this._message}set message(t){this._message=t}get timestamp(){return this._timestamp}set timestamp(t){this._timestamp=t}get isTerminalState(){return this._isTerminalState}set isTerminalState(t){this._isTerminalState=t}get status(){return this._status}set status(t){this._status=t}}const i={USER:"user",ASSISTANT:"assistant"}},63415:(t,s,e)=>{e.r(s),e.d(s,{ChatItemModel:()=>i,ChatItemsListModel:()=>h});var a=e(36633);class i{constructor(t,s){this._chatId=t,this._agentId=void 0,this._question=s,this._answers=[]}get chatId(){return this._chatId}set chatId(t){this._chatId=t}get agentId(){return this._agentId}set agentId(t){this._agentId=t}get question(){return this._question}set question(t){this._question=t}get answers(){return this._answers}set answers(t){this._answers=t}setQuestionMessage(t){this._question||(this._question=new a.ChatMessageModel({role:a.CHAT_MESSAGE_ROLE.USER})),this._question.message=t}getQuestionMessage(){return this._question.message}toCreateChatRequestPayload(){return{agentId:this._agentId,question:this._question.message}}toAskRequestPayload(){return{conversationId:this._chatId,agentId:this._agentId,question:this._question.message,tzOffset:-(new Date).getTimezoneOffset()}}toExplainResponsePayload(t){return{conversationId:this._chatId,answerId:t}}}class h{constructor(t=[]){this._items=t}isEmpty(){return 0===this._items.length}appendItem(t){this._items.push(t)}get items(){return this._items}set items(t){this._items=t||[]}getLast(){if(!this.isEmpty())return this._items[this._items.length-1]}}}};
2
+ //# sourceMappingURL=19402.151ce1287c14531436c3.bundle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"19402.151ce1287c14531436c3.bundle.js","mappings":"yOAGO,MAAMA,EACT,iBAAOC,GACH,MAAMC,EAAO,CACTC,KAAM,QACNC,UAAWC,KAAKC,MAAMC,KAAKC,MAAQ,KACnCC,KAAK,GAET,OAAO,IAAIT,EAAUE,GAAMQ,EAAAA,EAAAA,oBAC/B,CAEAC,WAAAA,CAAYT,EAAMU,GACdC,KAAKD,cAAgBA,EAKrBC,KAAKC,IAAMZ,EAAKa,GAKhBF,KAAKG,MAAQd,EAAKC,KAKlBU,KAAKI,WAAaf,EAAKE,UAKvBS,KAAKK,aAAehB,EAAKiB,aAAe,IAAIC,EAAAA,mBAC5CP,KAAKQ,KAAOnB,EAAKO,MAAO,EACxBI,KAAKS,KAAOT,KAAKU,cACrB,CAEAC,KAAAA,GACI,OAAOX,KAAKQ,IAChB,CAEA,OAAIZ,CAAIgB,GACJZ,KAAKQ,KAAOI,CAChB,CAEAF,YAAAA,GACI,OAAOV,KAAKD,cAAcc,KAAKC,UAAUd,MAC7C,CAEA,MAAIE,GACA,OAAOF,KAAKC,GAChB,CAEA,MAAIC,CAAGU,GACHZ,KAAKC,IAAMW,CACf,CAEA,QAAItB,GACA,OAAOU,KAAKG,KAChB,CAEA,QAAIb,CAAKsB,GACLZ,KAAKU,eACLV,KAAKG,MAAQS,CACjB,CAEA,aAAIrB,GACA,OAAOS,KAAKI,UAChB,CAEA,aAAIb,CAAUqB,GACVZ,KAAKI,WAAaQ,CACtB,CAEA,eAAIN,GACA,OAAON,KAAKK,YAChB,CAEA,eAAIC,CAAYM,GACZZ,KAAKK,aAAeO,GAAS,IAAIL,EAAAA,kBACrC,CAQAQ,sBAAAA,GACI,MAAO,CAACzB,KAAMU,KAAKG,MACvB,EAGG,MAAMa,EACTlB,WAAAA,CAAYT,GACRW,KAAKiB,KAAO5B,EAAK6B,IAKjBlB,KAAKI,WAAaf,EAAKE,UAKvBS,KAAKmB,OAAS9B,EAAK+B,KACvB,CAEA,OAAIF,GACA,OAAOlB,KAAKiB,IAChB,CAEA,OAAIC,CAAIN,GACJZ,KAAKiB,KAAOL,CAChB,CAEA,aAAIrB,GACA,OAAOS,KAAKI,UAChB,CAEA,aAAIb,CAAUqB,GACVZ,KAAKI,WAAaQ,CACtB,CAEA,SAAIQ,GACA,OAAOpB,KAAKmB,MAChB,CAEA,SAAIC,CAAMR,GACNZ,KAAKmB,OAASP,CAClB,EAGG,MAAMS,EACTvB,WAAAA,CAAYsB,GAKRpB,KAAKmB,OAASC,GAAS,GAKvBpB,KAAKsB,YAAc,GACnBtB,KAAKuB,aACLvB,KAAKwB,kBACT,CAOAC,gBAAAA,GACI,OAAOzB,KAAKmB,OAAOO,KAAMC,GAASA,EAAKhB,QAC3C,CAKAY,UAAAA,GACIvB,KAAKmB,OAAOS,KAAK,CAACC,EAAGC,IACVA,EAAEvC,UAAYsC,EAAEtC,UAE/B,CAOAwC,mBAAAA,CAAoBC,EAAQzC,GACxB,MAAMoC,EAAO3B,KAAKmB,OAAOc,KAAMC,GAAMA,EAAEhC,KAAO8B,GAC1CL,IACAA,EAAKpC,UAAYA,EACjBS,KAAKuB,aACLvB,KAAKwB,mBAEb,CAOAW,YAAAA,CAAaH,GACT,MAAML,EAAO3B,KAAKmB,OAAOc,KAAMN,GAASA,EAAKzB,KAAO8B,GAChDL,IACAA,EAAK/B,KAAM,EAEnB,CAOAwC,cAAAA,CAAeJ,EAAQ1C,GACnB,MAAMqC,EAAO3B,KAAKmB,OAAOc,KAAMC,GAAMA,EAAEhC,KAAO8B,GAC1CL,IACAA,EAAKrC,KAAOA,EAEpB,CAMA+C,UAAAA,CAAWC,GACPtC,KAAKmB,OAASnB,KAAKmB,OAAOoB,OAAQZ,GAASA,EAAKzB,KAAOoC,EAAgBpC,IACvEF,KAAKuB,aACLvB,KAAKwB,kBACT,CAEAA,gBAAAA,GACIxB,KAAKsB,YAAc,GAEnBtB,KAAKmB,OAAOqB,QAASb,IACjB,MAAMT,EAAM,IAAIxB,KAAsB,IAAjBiC,EAAKpC,WAAkBkD,eACtCC,EAAW1C,KAAKsB,YAAYW,KAAMU,GAAMA,EAAEzB,MAAQA,GACpDwB,EACAA,EAAStB,MAAMwB,KAAKjB,GAEpB3B,KAAKsB,YAAYsB,KAAK,IAAI5B,EAAe,CAACE,IAAKA,EAAK3B,UAA4B,IAAjBoC,EAAKpC,UAAkB6B,MAAO,CAACO,OAG1G,CAEAkB,UAAAA,CAAWlB,GACP3B,KAAKmB,OAAOyB,KAAKjB,GACjB3B,KAAKuB,aACLvB,KAAKwB,kBACT,CAEAsB,WAAAA,CAAYC,EAASC,GACjBhD,KAAKmB,OAASnB,KAAKmB,OAAO8B,IAAKtB,GACvBA,EAAKzB,KAAO8C,EAAQ9C,GACb6C,EAEJpB,GAEX3B,KAAKuB,aACLvB,KAAKwB,kBACT,CAMA0B,OAAAA,GACI,OAA8B,IAAvBlD,KAAKmB,OAAOgC,MACvB,CAMAC,YAAAA,GACI,OAAOpD,KAAKmB,OAAO,EACvB,CAKAkC,WAAAA,GACIrD,KAAKmB,OAAOqB,QAASN,IACjBA,EAAEoB,UAAW,GAErB,CAMAC,UAAAA,CAAW5B,GACP3B,KAAKqD,cACLrD,KAAKmB,OAAOqB,QAASN,IACjBA,EAAEoB,SAAWpB,EAAEhC,KAAOyB,EAAKzB,IAEnC,CAEAsD,OAAAA,CAAQtD,GACJ,OAAOF,KAAKmB,OAAOc,KAAMC,GAAMA,EAAEhC,KAAOA,EAC5C,CAEAuD,mBAAAA,GACI,OAAOzD,KAAKmB,OAAOc,KAAMN,IAAUA,EAAKzB,GAC5C,CAEAwD,UAAAA,CAAWC,GACP,MAAMhC,EAAO3B,KAAKmB,OAAOc,KAAMC,GAAMA,EAAEhC,KAAOyD,EAAYzD,IACtDyB,IACAA,EAAKrC,KAAOqE,EAAYrE,KAEhC,CAKA,SAAI8B,GACA,OAAOpB,KAAKmB,MAChB,CAKA,SAAIC,CAAMR,GACNZ,KAAKmB,OAASP,CAClB,CAEA,cAAIgD,GACA,OAAO5D,KAAKsB,WAChB,CAEA,cAAIsC,CAAWhD,GACXZ,KAAKsB,YAAcV,CACvB,E,iFC/TG,MAAMiD,EACT/D,WAAAA,CAAYT,GAKRW,KAAKC,IAAMZ,EAAKa,GAKhBF,KAAK8D,MAAQzE,EAAK0E,KAKlB/D,KAAKgE,SAAW3E,EAAK4E,QAKrBjE,KAAKI,WAA8B,IAAjBf,EAAKE,UAQvBS,KAAKkE,eAAiB7E,EAAK6E,eAM3BlE,KAAKmE,iBAAmB9E,EAAK+E,gBAM7BpE,KAAKqE,QAAUhF,EAAKiF,MACxB,CAMAC,eAAAA,CAAgBC,GACZA,EAAWC,SAAW,CAACzE,KAC3B,CAEA,MAAIE,GACA,OAAOF,KAAKC,GAChB,CAEA,MAAIC,CAAGU,GACHZ,KAAKC,IAAMW,CACf,CAEA,QAAImD,GACA,OAAO/D,KAAK8D,KAChB,CAEA,QAAIC,CAAKnD,GACLZ,KAAK8D,MAAQlD,CACjB,CAEA,WAAIqD,GACA,OAAOjE,KAAKgE,QAChB,CAEA,WAAIC,CAAQrD,GACRZ,KAAKgE,SAAWpD,CACpB,CAEA,aAAIrB,GACA,OAAOS,KAAKI,UAChB,CAEA,aAAIb,CAAUqB,GACVZ,KAAKI,WAAaQ,CACtB,CAEA,mBAAIwD,GACA,OAAOpE,KAAKmE,gBAChB,CAEA,mBAAIC,CAAgBxD,GAChBZ,KAAKmE,iBAAmBvD,CAC5B,CAEA,UAAI0D,GACA,OAAOtE,KAAKqE,OAChB,CAEA,UAAIC,CAAO1D,GACPZ,KAAKqE,QAAUzD,CACnB,EAGG,MAAM8D,EAAoB,CAC7BC,KAAM,OACNC,UAAW,Y,8FChGR,MAAMC,EAQT/E,WAAAA,CAAYkC,EAAQ8C,GAMhB9E,KAAK+E,QAAU/C,EAMfhC,KAAKgF,cAAWC,EAMhBjF,KAAKkF,UAAYJ,EAOjB9E,KAAKmF,SAAW,EACpB,CAEA,UAAInD,GACA,OAAOhC,KAAK+E,OAChB,CAEA,UAAI/C,CAAOpB,GACPZ,KAAK+E,QAAUnE,CACnB,CAEA,WAAIwE,GACA,OAAOpF,KAAKgF,QAChB,CAEA,WAAII,CAAQxE,GACRZ,KAAKgF,SAAWpE,CACpB,CAEA,YAAIkE,GACA,OAAO9E,KAAKkF,SAChB,CAEA,YAAIJ,CAASlE,GACTZ,KAAKkF,UAAYtE,CACrB,CAEA,WAAIyE,GACA,OAAOrF,KAAKmF,QAChB,CAMA,WAAIE,CAAQzE,GACRZ,KAAKmF,SAAWvE,CACpB,CAOA0E,kBAAAA,CAAmBrB,GACVjE,KAAKkF,YACNlF,KAAKkF,UAAY,IAAIrB,EAAAA,iBAAiB,CAACE,KAAMW,EAAAA,kBAAkBC,QAEnE3E,KAAKkF,UAAUjB,QAAUA,CAC7B,CAOAsB,kBAAAA,GACI,OAAOvF,KAAKkF,UAAUjB,OAC1B,CAOAuB,0BAAAA,GACI,MAAO,CACHJ,QAASpF,KAAKgF,SACdF,SAAU9E,KAAKkF,UAAUjB,QAEjC,CAOAwB,mBAAAA,GACI,MAAO,CACHC,eAAgB1F,KAAK+E,QACrBK,QAASpF,KAAKgF,SACdF,SAAU9E,KAAKkF,UAAUjB,QACzB0B,WAAW,IAAIjG,MAAOkG,oBAE9B,CAEAC,wBAAAA,CAAyBC,GACrB,MAAO,CACHJ,eAAgB1F,KAAK+E,QACrBe,WAER,EAGG,MAAMvF,EAKTT,WAAAA,CAAYiG,EAAQ,IAChB/F,KAAKgG,OAASD,CAClB,CAEA7C,OAAAA,GACI,OAA8B,IAAvBlD,KAAKgG,OAAO7C,MACvB,CAKA8C,UAAAA,CAAWC,GACPlG,KAAKgG,OAAOpD,KAAKsD,EACrB,CAEA,SAAIH,GACA,OAAO/F,KAAKgG,MAChB,CAEA,SAAID,CAAMnF,GACNZ,KAAKgG,OAASpF,GAAS,EAC3B,CAEAuF,OAAAA,GACI,IAAKnG,KAAKkD,UACN,OAAOlD,KAAKgG,OAAOhG,KAAKgG,OAAO7C,OAAS,EAEhD,E","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/models/ttyg/chats.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/models/ttyg/chat-message.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/models/ttyg/chat-item.js"],"sourcesContent":["import {ChatItemsListModel} from \"./chat-item\";\nimport {md5HashGenerator} from \"../../utils/hash-utils\";\n\nexport class ChatModel {\n static getNewChat() {\n const data = {\n name: \"\\u00B7 \\u00B7 \\u00B7\",\n timestamp: Math.floor(Date.now() / 1000),\n new: true,\n };\n return new ChatModel(data, md5HashGenerator());\n }\n\n constructor(data, hashGenerator) {\n this.hashGenerator = hashGenerator;\n\n /**\n * @type {string}\n */\n this._id = data.id;\n\n /**\n * @type {string}\n */\n this._name = data.name;\n\n /**\n * @type {number}\n */\n this._timestamp = data.timestamp;\n\n /**\n * @type {ChatItemsListModel}\n */\n this._chatHistory = data.chatHistory || new ChatItemsListModel();\n this._new = data.new ?? false;\n this.hash = this.generateHash();\n }\n\n isNew() {\n return this._new;\n }\n\n set new(value) {\n this._new = value;\n }\n\n generateHash() {\n return this.hashGenerator(JSON.stringify(this));\n }\n\n get id() {\n return this._id;\n }\n\n set id(value) {\n this._id = value;\n }\n\n get name() {\n return this._name;\n }\n\n set name(value) {\n this.generateHash();\n this._name = value;\n }\n\n get timestamp() {\n return this._timestamp;\n }\n\n set timestamp(value) {\n this._timestamp = value;\n }\n\n get chatHistory() {\n return this._chatHistory;\n }\n\n set chatHistory(value) {\n this._chatHistory = value || new ChatItemsListModel();\n }\n\n /**\n * Converts the instance to a rename chat request payload.\n * This request object contains the new name for renaming the chat.\n *\n * @return {{name: string}} An object representing the rename request payload.\n */\n toRenameRequestPayload() {\n return {name: this._name};\n }\n}\n\nexport class ChatByDayModel {\n constructor(data) {\n this._day = data.day;\n /**\n * @type {number}\n * @private\n */\n this._timestamp = data.timestamp;\n /**\n * @type {ChatModel[]|*}\n * @private\n */\n this._chats = data.chats;\n }\n\n get day() {\n return this._day;\n }\n\n set day(value) {\n this._day = value;\n }\n\n get timestamp() {\n return this._timestamp;\n }\n\n set timestamp(value) {\n this._timestamp = value;\n }\n\n get chats() {\n return this._chats;\n }\n\n set chats(value) {\n this._chats = value;\n }\n}\n\nexport class ChatsListModel {\n constructor(chats) {\n /**\n * @type {ChatModel[]}\n * @private\n */\n this._chats = chats || [];\n /**\n * @type {ChatByDayModel[]}\n * @private\n */\n this._chatsByDay = [];\n this.sortByTime();\n this.updateChatsByDay();\n }\n\n /**\n * Checks if there is at least one new chat.\n *\n * @returns {boolean} True if any chat is marked as new, otherwise false.\n */\n containsNewChats() {\n return this._chats.some((chat) => chat.isNew());\n }\n\n /**\n * Sorts the list of chats by timestamp in descending order, with the newest items on top.\n */\n sortByTime() {\n this._chats.sort((a, b) => {\n return b.timestamp - a.timestamp;\n });\n }\n\n /**\n * Updates the timestamp of a chat in the list.\n * @param {string} chatId\n * @param {number} timestamp\n */\n updateChatTimestamp(chatId, timestamp) {\n const chat = this._chats.find((c) => c.id === chatId);\n if (chat) {\n chat.timestamp = timestamp;\n this.sortByTime();\n this.updateChatsByDay();\n }\n }\n\n /**\n * Marks the specified chat as no longer new.\n *\n * @param {string} chatId - The ID of the chat to update.\n */\n setChatAsOld(chatId) {\n const chat = this._chats.find((chat) => chat.id === chatId);\n if (chat) {\n chat.new = false;\n }\n }\n\n /**\n * Updates the name of a chat in the list.\n * @param {string} chatId\n * @param {string} name\n */\n updateChatName(chatId, name) {\n const chat = this._chats.find((c) => c.id === chatId);\n if (chat) {\n chat.name = name;\n }\n }\n\n /**\n * Deletes a chat from the chat list.\n * @param {ChatModel} chatToBeDeleted\n */\n deleteChat(chatToBeDeleted) {\n this._chats = this._chats.filter((chat) => chat.id !== chatToBeDeleted.id);\n this.sortByTime();\n this.updateChatsByDay();\n }\n\n updateChatsByDay() {\n this._chatsByDay = [];\n // group chats by day\n this._chats.forEach((chat) => {\n const day = new Date(chat.timestamp * 1000).toDateString();\n const dayModel = this._chatsByDay.find((d) => d.day === day);\n if (dayModel) {\n dayModel.chats.push(chat);\n } else {\n this._chatsByDay.push(new ChatByDayModel({day: day, timestamp: chat.timestamp * 1000, chats: [chat]}));\n }\n });\n }\n\n appendChat(chat) {\n this._chats.push(chat);\n this.sortByTime();\n this.updateChatsByDay();\n }\n\n replaceChat(newChat, oldChat) {\n this._chats = this._chats.map((chat) => {\n if (chat.id === oldChat.id) {\n return newChat;\n }\n return chat;\n });\n this.sortByTime();\n this.updateChatsByDay();\n }\n\n /**\n * Checks if the chat list is empty.\n * @return {boolean}\n */\n isEmpty() {\n return this._chats.length === 0;\n }\n\n /**\n * Returns the first chat from the list.\n * @return {ChatModel|undefined}\n */\n getFirstChat() {\n return this._chats[0];\n }\n\n /**\n * Deselects all chats.\n */\n deselectAll() {\n this._chats.forEach((c) => {\n c.selected = false;\n });\n }\n\n /**\n * Selects a chat.\n * @param {ChatModel} chat\n */\n selectChat(chat) {\n this.deselectAll();\n this._chats.forEach((c) => {\n c.selected = c.id === chat.id;\n });\n }\n\n getChat(id) {\n return this._chats.find((c) => c.id === id);\n }\n\n getNonPersistedChat() {\n return this._chats.find((chat) => !chat.id);\n }\n\n renameChat(renamedChat) {\n const chat = this._chats.find((c) => c.id === renamedChat.id);\n if (chat) {\n chat.name = renamedChat.name;\n }\n }\n\n /**\n * @return {ChatModel[]}\n */\n get chats() {\n return this._chats;\n }\n\n /**\n * @param {ChatModel[]} value\n */\n set chats(value) {\n this._chats = value;\n }\n\n get chatsByDay() {\n return this._chatsByDay;\n }\n\n set chatsByDay(value) {\n this._chatsByDay = value;\n }\n}\n","export class ChatMessageModel {\n constructor(data) {\n\n /**\n * @type {string}\n */\n this._id = data.id;\n\n /**\n * @type @type {string} - A value from {@link CHAT_MESSAGE_ROLE}, determining the owner of the message (e.g., user, assistant).\n */\n this._role = data.role;\n\n /**\n * @type {string}\n */\n this._message = data.message;\n\n /**\n * @type {number}\n */\n this._timestamp = data.timestamp * 1000;\n\n /**\n * Holds information about the number of tokens used for this answer, including prompt and completion tokens.\n * It is applicable only to the assistant role ({@link CHAT_MESSAGE_ROLE#ASSISTANT}).\n *\n * @type {TokenUsageInfo}\n */\n this.tokenUsageInfo = data.tokenUsageInfo;\n\n /**\n * If the message was terminated via the Abort button\n * @type {boolean}\n */\n this._isTerminalState = data.isTerminalState;\n\n /**\n * Reason for cancellation.\n * @private {string}\n */\n this._status = data.status\n }\n\n /**\n * Updates the chatAnswer.messages array with this message instance.\n * @param {ChatAnswerModel} chatAnswer - The answer object containing the messages.\n */\n addToChatAnswer(chatAnswer) {\n chatAnswer.messages = [this];\n }\n\n get id() {\n return this._id;\n }\n\n set id(value) {\n this._id = value;\n }\n\n get role() {\n return this._role;\n }\n\n set role(value) {\n this._role = value;\n }\n\n get message() {\n return this._message;\n }\n\n set message(value) {\n this._message = value;\n }\n\n get timestamp() {\n return this._timestamp;\n }\n\n set timestamp(value) {\n this._timestamp = value;\n }\n\n get isTerminalState() {\n return this._isTerminalState;\n }\n\n set isTerminalState(value) {\n this._isTerminalState = value;\n }\n\n get status() {\n return this._status;\n }\n\n set status(value) {\n this._status = value;\n }\n}\n\nexport const CHAT_MESSAGE_ROLE = {\n USER: 'user',\n ASSISTANT: 'assistant'\n};\n","import {CHAT_MESSAGE_ROLE, ChatMessageModel} from \"./chat-message\";\n\n/**\n *\n * Represents a model that holds a question and the answer of it in a chat.\n *\n */\nexport class ChatItemModel {\n\n /**\n * Creates an instance of ChatItemModel.\n *\n * @param {string} chatId - The unique identifier for the chat associated with this instance.\n * @param {ChatMessageModel} question - The message object representing the question.\n */\n constructor(chatId, question) {\n\n /**\n * @type {string | undefined}\n * @private\n */\n this._chatId = chatId;\n\n /**\n * @type {string | undefined}\n * @private\n */\n this._agentId = undefined;\n\n /**\n * @type {ChatMessageModel}\n * @private\n */\n this._question = question;\n\n /**\n *\n * @type {ChatMessageModel[] | undefined}\n * @private\n */\n this._answers = [];\n }\n\n get chatId() {\n return this._chatId;\n }\n\n set chatId(value) {\n this._chatId = value;\n }\n\n get agentId() {\n return this._agentId;\n }\n\n set agentId(value) {\n this._agentId = value;\n }\n\n get question() {\n return this._question;\n }\n\n set question(value) {\n this._question = value;\n }\n\n get answers() {\n return this._answers;\n }\n\n /**\n *\n * @param {ChatMessageModel[]} value\n */\n set answers(value) {\n this._answers = value;\n }\n\n /**\n * Sets the message for the user's question.\n *\n * @param {string} message - The message content for the user's question.\n */\n setQuestionMessage(message) {\n if (!this._question) {\n this._question = new ChatMessageModel({role: CHAT_MESSAGE_ROLE.USER});\n }\n this._question.message = message;\n }\n\n /**\n * Retrieves the message of the user's question.\n *\n * @return {string} - The message content of the user's question.\n */\n getQuestionMessage() {\n return this._question.message;\n }\n\n /**\n * Converts the instance to a create chat request payload.\n *\n * @return {{agentId: string, question: string}} An object representing the create request payload.\n */\n toCreateChatRequestPayload() {\n return {\n agentId: this._agentId,\n question: this._question.message\n };\n }\n\n /**\n * Converts the instance to an ask request payload.\n *\n * @return {{conversationId: string, agentId: string, question: string}} An object representing the ask request payload.\n */\n toAskRequestPayload() {\n return {\n conversationId: this._chatId,\n agentId: this._agentId,\n question: this._question.message,\n tzOffset: -new Date().getTimezoneOffset() // offsets are reversed here hence the minus\n };\n }\n\n toExplainResponsePayload(answerId) {\n return {\n conversationId: this._chatId,\n answerId\n };\n }\n}\n\nexport class ChatItemsListModel {\n\n /**\n * @param {ChatItemModel[]} items\n */\n constructor(items = []) {\n this._items = items;\n }\n\n isEmpty() {\n return this._items.length === 0;\n }\n\n /**\n * @param {ChatItemModel} chatItem\n */\n appendItem(chatItem) {\n this._items.push(chatItem);\n }\n\n get items() {\n return this._items;\n }\n\n set items(value) {\n this._items = value || [];\n }\n\n getLast() {\n if (!this.isEmpty()) {\n return this._items[this._items.length - 1];\n }\n }\n}\n"],"names":["ChatModel","getNewChat","data","name","timestamp","Math","floor","Date","now","new","md5HashGenerator","constructor","hashGenerator","this","_id","id","_name","_timestamp","_chatHistory","chatHistory","ChatItemsListModel","_new","hash","generateHash","isNew","value","JSON","stringify","toRenameRequestPayload","ChatByDayModel","_day","day","_chats","chats","ChatsListModel","_chatsByDay","sortByTime","updateChatsByDay","containsNewChats","some","chat","sort","a","b","updateChatTimestamp","chatId","find","c","setChatAsOld","updateChatName","deleteChat","chatToBeDeleted","filter","forEach","toDateString","dayModel","d","push","appendChat","replaceChat","newChat","oldChat","map","isEmpty","length","getFirstChat","deselectAll","selected","selectChat","getChat","getNonPersistedChat","renameChat","renamedChat","chatsByDay","ChatMessageModel","_role","role","_message","message","tokenUsageInfo","_isTerminalState","isTerminalState","_status","status","addToChatAnswer","chatAnswer","messages","CHAT_MESSAGE_ROLE","USER","ASSISTANT","ChatItemModel","question","_chatId","_agentId","undefined","_question","_answers","agentId","answers","setQuestionMessage","getQuestionMessage","toCreateChatRequestPayload","toAskRequestPayload","conversationId","tzOffset","getTimezoneOffset","toExplainResponsePayload","answerId","items","_items","appendItem","chatItem","getLast"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- export const __webpack_id__=20287;export const __webpack_ids__=[20287];export const __webpack_modules__={20287:(e,n,o)=>{o.r(n),o.d(n,{default:()=>t});const t='<link href="css/lib/ontotext-yasgui-web-component.css?v=3.2.0-TR4" rel="stylesheet"> <ontotext-yasgui class="{{classToApply}}" ng-custom-element ngce-prop-config="ontotextYasguiConfig" ngce-prop-saved_query_config="savedQueryConfig" ngce-prop-language="language" ngce-on-create_saved_query="createSavedQuery($event)" ngce-on-update_saved_query="updateSavedQuery($event)" ngce-on-delete_saved_query="deleteSavedQuery($event)" ngce-on-share_saved_query="shareSavedQuery($event)" ngce-on-share_query="shareQuery($event)" ngce-on-query_share_link_copied="queryShareLinkCopied()" ngce-on-load_saved_queries="loadSavedQueries($event)" ngce-on-save_query_opened="saveQueryOpened($event)" ngce-on-output="output($event)"> </ontotext-yasgui> '}};
2
- //# sourceMappingURL=20287.7cfc312df157f5bdea97.bundle.js.map
1
+ export const __webpack_id__=20287;export const __webpack_ids__=[20287];export const __webpack_modules__={20287:(e,n,o)=>{o.r(n),o.d(n,{default:()=>t});const t='<link href="css/lib/ontotext-yasgui-web-component.css?v=3.2.0-TR5" rel="stylesheet"> <ontotext-yasgui class="{{classToApply}}" ng-custom-element ngce-prop-config="ontotextYasguiConfig" ngce-prop-saved_query_config="savedQueryConfig" ngce-prop-language="language" ngce-on-create_saved_query="createSavedQuery($event)" ngce-on-update_saved_query="updateSavedQuery($event)" ngce-on-delete_saved_query="deleteSavedQuery($event)" ngce-on-share_saved_query="shareSavedQuery($event)" ngce-on-share_query="shareQuery($event)" ngce-on-query_share_link_copied="queryShareLinkCopied()" ngce-on-load_saved_queries="loadSavedQueries($event)" ngce-on-save_query_opened="saveQueryOpened($event)" ngce-on-output="output($event)"> </ontotext-yasgui> '}};
2
+ //# sourceMappingURL=20287.a67ba9468f3f83219558.bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"20287.7cfc312df157f5bdea97.bundle.js","mappings":"uJAGA,QAFW,+tB","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/core/directives/yasgui-component/templates/yasgui-component.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/lib/ontotext-yasgui-web-component.css?v=3.2.0-TR4\" rel=\"stylesheet\"> <ontotext-yasgui class=\"{{classToApply}}\" ng-custom-element ngce-prop-config=\"ontotextYasguiConfig\" ngce-prop-saved_query_config=\"savedQueryConfig\" ngce-prop-language=\"language\" ngce-on-create_saved_query=\"createSavedQuery(\\$event)\" ngce-on-update_saved_query=\"updateSavedQuery(\\$event)\" ngce-on-delete_saved_query=\"deleteSavedQuery(\\$event)\" ngce-on-share_saved_query=\"shareSavedQuery(\\$event)\" ngce-on-share_query=\"shareQuery(\\$event)\" ngce-on-query_share_link_copied=\"queryShareLinkCopied()\" ngce-on-load_saved_queries=\"loadSavedQueries(\\$event)\" ngce-on-save_query_opened=\"saveQueryOpened(\\$event)\" ngce-on-output=\"output(\\$event)\"> </ontotext-yasgui> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
1
+ {"version":3,"file":"20287.a67ba9468f3f83219558.bundle.js","mappings":"uJAGA,QAFW,+tB","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/core/directives/yasgui-component/templates/yasgui-component.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/lib/ontotext-yasgui-web-component.css?v=3.2.0-TR5\" rel=\"stylesheet\"> <ontotext-yasgui class=\"{{classToApply}}\" ng-custom-element ngce-prop-config=\"ontotextYasguiConfig\" ngce-prop-saved_query_config=\"savedQueryConfig\" ngce-prop-language=\"language\" ngce-on-create_saved_query=\"createSavedQuery(\\$event)\" ngce-on-update_saved_query=\"updateSavedQuery(\\$event)\" ngce-on-delete_saved_query=\"deleteSavedQuery(\\$event)\" ngce-on-share_saved_query=\"shareSavedQuery(\\$event)\" ngce-on-share_query=\"shareQuery(\\$event)\" ngce-on-query_share_link_copied=\"queryShareLinkCopied()\" ngce-on-load_saved_queries=\"loadSavedQueries(\\$event)\" ngce-on-save_query_opened=\"saveQueryOpened(\\$event)\" ngce-on-output=\"output(\\$event)\"> </ontotext-yasgui> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
@@ -1,2 +1,2 @@
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.2.0-TR4" 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.67a9bcf4bb0c201d3fd1.bundle.js.map
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.2.0-TR5" 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.514ac00d21a54514a7b6.bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"21136.67a9bcf4bb0c201d3fd1.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.2.0-TR4\" 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
+ {"version":3,"file":"21136.514ac00d21a54514a7b6.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.2.0-TR5\" 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 +1,2 @@
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.2.0-TR4" 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 ng-if="!answer.isTerminalState" 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" ng-if="answer.status !== \'completed\'"> <markdown-content class="answer" ng-class="{\'italic\': answer.isTerminalState}" 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 || isCancellingAnswer" 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.7f8327c28d939fa26009.bundle.js.map
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.2.0-TR5" 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 ng-if="!answer.isTerminalState" 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" ng-if="answer.status !== \'completed\'"> <markdown-content class="answer" ng-class="{\'italic\': answer.isTerminalState}" 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 || isCancellingAnswer" 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.5e08154738dc30c2aa36.bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"21142.7f8327c28d939fa26009.bundle.js","mappings":"uJAmBA,QAlBW,8vM","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.2.0-TR4\" 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 ng-if=\"!answer.isTerminalState\" 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\" ng-if=\"answer.status !== 'completed'\"> <markdown-content class=\"answer\" ng-class=\"{'italic': answer.isTerminalState}\" 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 || isCancellingAnswer\" 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
+ {"version":3,"file":"21142.5e08154738dc30c2aa36.bundle.js","mappings":"uJAmBA,QAlBW,8vM","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.2.0-TR5\" 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 ng-if=\"!answer.isTerminalState\" 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\" ng-if=\"answer.status !== 'completed'\"> <markdown-content class=\"answer\" ng-class=\"{'italic': answer.isTerminalState}\" 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 || isCancellingAnswer\" 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 +1,2 @@
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.2.0-TR4" 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.cecdf25699f68d4cf749.bundle.js.map
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.2.0-TR5" 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.1122ab4c938b88301ba7.bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"21170.cecdf25699f68d4cf749.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.2.0-TR4\" 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
+ {"version":3,"file":"21170.1122ab4c938b88301ba7.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.2.0-TR5\" 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 +1,2 @@
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.2.0-TR4" rel="stylesheet"/> <div class="chat-panel h-100" ng-class="!chat && !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-if="!showCancelButton" ng-disabled="!chatItem.question.message || !selectedAgent || selectedAgent.isDeleted || waitingForLastMessage || loadingChat || cancelling" ng-click="ask()"> <i class="fa fa-arrow-up"></i> </button> <button class="btn btn-secondary cancel-ask-button" ng-if="showCancelButton" ng-click="cancelPendingQuestion()" gdb-tooltip="{{\'ttyg.chat_panel.btn.stop_generation.tooltip\' | translate}}"> <i class="fa-solid fa-square"></i> </button> </div> </div> </div> </div> <div class="messages-hint text-muted" ng-if="!loadingChat && !chat && !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.e2c1fc69631041b97f8e.bundle.js.map
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.2.0-TR5" rel="stylesheet"/> <div class="chat-panel h-100" ng-class="!chat && !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-if="!showCancelButton" ng-disabled="!chatItem.question.message || !selectedAgent || selectedAgent.isDeleted || waitingForLastMessage || loadingChat || cancelling" ng-click="ask()"> <i class="fa fa-arrow-up"></i> </button> <button class="btn btn-secondary cancel-ask-button" ng-if="showCancelButton" ng-click="cancelPendingQuestion()" gdb-tooltip="{{\'ttyg.chat_panel.btn.stop_generation.tooltip\' | translate}}"> <i class="fa-solid fa-square"></i> </button> </div> </div> </div> </div> <div class="messages-hint text-muted" ng-if="!loadingChat && !chat && !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.4067ec470e04250ed006.bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"21195.e2c1fc69631041b97f8e.bundle.js","mappings":"uJAGA,QAFW,q9F","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.2.0-TR4\" rel=\"stylesheet\"/> <div class=\"chat-panel h-100\" ng-class=\"!chat && !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-if=\"!showCancelButton\" ng-disabled=\"!chatItem.question.message || !selectedAgent || selectedAgent.isDeleted || waitingForLastMessage || loadingChat || cancelling\" ng-click=\"ask()\"> <i class=\"fa fa-arrow-up\"></i> </button> <button class=\"btn btn-secondary cancel-ask-button\" ng-if=\"showCancelButton\" ng-click=\"cancelPendingQuestion()\" gdb-tooltip=\"{{'ttyg.chat_panel.btn.stop_generation.tooltip' | translate}}\"> <i class=\"fa-solid fa-square\"></i> </button> </div> </div> </div> </div> <div class=\"messages-hint text-muted\" ng-if=\"!loadingChat && !chat && !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
+ {"version":3,"file":"21195.4067ec470e04250ed006.bundle.js","mappings":"uJAGA,QAFW,q9F","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.2.0-TR5\" rel=\"stylesheet\"/> <div class=\"chat-panel h-100\" ng-class=\"!chat && !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-if=\"!showCancelButton\" ng-disabled=\"!chatItem.question.message || !selectedAgent || selectedAgent.isDeleted || waitingForLastMessage || loadingChat || cancelling\" ng-click=\"ask()\"> <i class=\"fa fa-arrow-up\"></i> </button> <button class=\"btn btn-secondary cancel-ask-button\" ng-if=\"showCancelButton\" ng-click=\"cancelPendingQuestion()\" gdb-tooltip=\"{{'ttyg.chat_panel.btn.stop_generation.tooltip' | translate}}\"> <i class=\"fa-solid fa-square\"></i> </button> </div> </div> </div> </div> <div class=\"messages-hint text-muted\" ng-if=\"!loadingChat && !chat && !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 +1,2 @@
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.2.0-TR4" 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.c3dc5503ad696af5d5a3.bundle.js.map
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.2.0-TR5" 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.c6c83a72c5ff93451064.bundle.js.map