apiconnect-explorer
Version:
- [Getting Started](#getting-started) - [Configuration](#configuration) * [Required](#required) * [Optional](#optional) - [Usage in React](#usage-in-react) - [Usage outside of React](#usage-outside-of-react) - [Detailed description of options](#detail
1 lines • 5.6 kB
JavaScript
function a(a,d){return g(a)||f(a,d)||c(a,d)||b()}function b(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function c(b,c){if(b){if("string"==typeof b)return d(b,c);var a={}.toString.call(b).slice(8,-1);return"Object"===a&&b.constructor&&(a=b.constructor.name),"Map"===a||"Set"===a?Array.from(b):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?d(b,c):void 0}}function d(b,c){(null==c||c>b.length)&&(c=b.length);for(var d=0,f=Array(c);d<c;d++)f[d]=b[d];return f}function f(b,c){var d=null==b?null:"undefined"!=typeof Symbol&&b[Symbol.iterator]||b["@@iterator"];if(null!=d){var g,h,j,k,l=[],a=!0,m=!1;try{if(j=(d=d.call(b)).next,0===c){if(Object(d)!==d)return;a=!1}else for(;!(a=(g=j.call(d)).done)&&(l.push(g.value),l.length!==c);a=!0);}catch(a){m=!0,h=a}finally{try{if(!a&&null!=d["return"]&&(k=d["return"](),Object(k)!==k))return}finally{if(m)throw h}}return l}}function g(a){if(Array.isArray(a))return a}import h,{useEffect as i,useState as j}from"react";import{withTranslation as k,useTranslation as l}from"react-i18next";import{Accordion as m,AccordionItem as n,Link as o,TextInput as p}from"@carbon/react";import{get as q}from"lodash";import{objectToArray as r}from"../utils/common";import s from"./CredentialsSelector.tsx";import u from"dompurify";function v(b){var c,d,e=b.flags,f=void 0===e?{}:e,g=b.isEnforced,k=b.onChange,v=void 0===k?function(){}:k,w=b.options,x=void 0===w?{}:w,y=b.externalApiKeys,z=b.apps,A=void 0===z?[]:z,B=b.onCopyClientIdCallback,C=void 0===B?function(){}:B,D=j(null),E=a(D,2),F=E[0],G=E[1],H=j(""),I=a(H,2),J=I[0],K=I[1],L=j(!1),M=a(L,2),N=M[0],O=M[1],P=l(),Q=P.t;i(function(){if(null===F&&g&&q(A,"[0].credentials[0].client_id")){G(A[0].credentials[0].client_id);var a=A[0].redirectUri,b=[""];"string"==typeof a?b[0]=a:a&&0<a.length&&(b=a)}if(f&&f.externalApiKeys&&0<Object.keys(f.externalApiKeys).length&&0===Object.keys(y).length){var c=y;r(f.externalApiKeys).forEach(function(a){c[a.key]=a.value,c[a.key].value=""})}},[A,F,y,f,g]);var t=function(a){var b=null;return A.forEach(function(c){c.credentials.forEach(function(d){d.client_id===a&&(b=c)})}),b},R=function(a){var b=a.selectedCredential,c=a.isCustomCredential,d=u.sanitize(b),e=t(d);if(e){var f=e.redirectUri,g=[""];"string"==typeof f?g[0]=f:f&&0<f.length&&(g=f);var h=g[0];G(d),v({clientID:d,redirectUri:h,redirectUris:g})}else d||(d=""),G(d),v({clientID:d,redirectUri:"",redirectUris:[]});O(!!c)},S=function(a){var b=u.sanitize(a.target.value);K(b),v&&"function"==typeof v&&v({clientSecret:b})},T=function(a,b){var c=Object.assign(y),d=u.sanitize(b.target.value);c[a].value=d,v&&"function"==typeof v&&v({externalApiKeys:c})},U=x&&x.loginLink&&!x.loggedIn,V=A&&0<A.length,W=x&&x.isApicPortal&&1!==x.apicPortalUserid&&x.apicPortalNewAppLink;return h.createElement(m,{className:"testToolIdentification",align:"start"},h.createElement(n,{className:"testToolIdentificationInput",title:Q("identification"),open:!0},U?h.createElement(o,{className:"loginLink",href:x.loginLink},Q("login")):g?!V&&W?h.createElement(o,{className:"appLink",href:x.apicPortalNewAppLink},Q("register_app")):h.createElement("div",{className:"clientCreds"},f&&f.requiresClientId&&!(x.fixedCredentials&&x.fixedCredentials.clientId)&&h.createElement("div",{className:"clientID"},h.createElement("div",{className:"clientCredsHeader"},h.createElement("div",{className:"labelText"},Q("client_id")),!N&&h.createElement("button",{"data-testid":"copy-client-id-button",className:"copyClientIdButton",type:"button",tabIndex:"0",onClick:C},Q("copy_client_id"))),h.createElement(s,{allowCustom:!0,onChange:R,className:"clientIdInput",onSelectorChange:function(){S({target:{value:""}})}}),h.createElement("div",{className:"subText"},Q("subscribed_creds_explanation"))),f&&f.requiresClientSecret&&!(x.fixedCredentials&&x.fixedCredentials.clientSecret)&&h.createElement("div",{className:"clientSecret"},h.createElement("div",{className:"labelText"},Q("client_secret")),h.createElement(p,{required:!0,labelText:Q("client_secret"),hideLabel:!0,"data-testid":"client_secret",value:null!==J&&void 0!==J?J:"",id:"clientSecret",name:"clientSecret",type:"password",onChange:S}))):V?h.createElement("div",{className:"clientCreds"},f&&f.requiresClientId&&!(x.fixedCredentials&&x.fixedCredentials.clientId)&&h.createElement("div",{className:"clientID"},h.createElement("div",{className:"labelText"},Q("client_id")),h.createElement(p,{"data-testid":"clientID",required:!0,id:"client_id",name:"clientId",value:null!==(c=u.sanitize(F))&&void 0!==c?c:"",labelText:Q("client_id"),hideLabel:!0,onChange:function(a){R({selectedCredential:q(a,"target.value")})}})),f&&f.requiresClientSecret&&!(x.fixedCredentials&&x.fixedCredentials.clientSecret)&&h.createElement("div",{className:"clientSecret"},h.createElement("div",{className:"labelText"},Q("client_secret")),h.createElement(p,{"data-testid":"client_secret",required:!0,labelText:Q("client_secret"),hideLabel:!0,value:null!==(d=u.sanitize(J))&&void 0!==d?d:"",id:"clientSecret",name:"clientSecret",type:"password",onChange:S}))):h.createElement("div",null,Q("request_security_credentials")),f&&f.externalApiKeys&&0<Object.keys(f.externalApiKeys).length&&r(f.externalApiKeys).map(function(a){var b=y[a.key]?y[a.key].value:"";return h.createElement("div",{className:"externalApiKeyField",key:a.key},h.createElement(p,{id:a.key,name:a.key,type:"input",labelText:Q("api key"),onChange:function(b){return T(a.key,b)},value:null!==b&&void 0!==b?b:""}))})))}export default k()(v);