@digi-frontend/dgate-api-documentation 1.0.27 → 1.0.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/index20.js +2 -0
- package/dist/_virtual/index20.js.map +1 -0
- package/dist/_virtual/index21.js +2 -0
- package/dist/_virtual/index21.js.map +1 -0
- package/dist/_virtual/node2.js +2 -0
- package/dist/_virtual/node2.js.map +1 -0
- package/dist/_virtual/node3.js +2 -0
- package/dist/_virtual/node3.js.map +1 -0
- package/dist/node_modules/html-dom-parser/lib/server/html-to-dom.js +1 -1
- package/dist/node_modules/html-dom-parser/lib/server/html-to-dom.js.map +1 -1
- package/dist/node_modules/html-dom-parser/node_modules/domhandler/lib/index.js +2 -0
- package/dist/node_modules/html-dom-parser/node_modules/domhandler/lib/index.js.map +1 -0
- package/dist/node_modules/html-dom-parser/node_modules/domhandler/lib/node.js +2 -0
- package/dist/node_modules/html-dom-parser/node_modules/domhandler/lib/node.js.map +1 -0
- package/dist/node_modules/html-react-parser/lib/index.js +1 -1
- package/dist/node_modules/html-react-parser/lib/index.js.map +1 -1
- package/dist/node_modules/html-react-parser/node_modules/domhandler/lib/index.js +2 -0
- package/dist/node_modules/html-react-parser/node_modules/domhandler/lib/index.js.map +1 -0
- package/dist/node_modules/html-react-parser/node_modules/domhandler/lib/node.js +2 -0
- package/dist/node_modules/html-react-parser/node_modules/domhandler/lib/node.js.map +1 -0
- package/dist/node_modules/htmlparser2/dist/commonjs/index.js +1 -1
- package/dist/node_modules/htmlparser2/dist/commonjs/index.js.map +1 -1
- package/dist/node_modules/htmlparser2/node_modules/dom-serializer/lib/foreignNames.js +2 -0
- package/dist/node_modules/htmlparser2/node_modules/dom-serializer/lib/foreignNames.js.map +1 -0
- package/dist/node_modules/htmlparser2/node_modules/dom-serializer/lib/index.js +2 -0
- package/dist/node_modules/htmlparser2/node_modules/dom-serializer/lib/index.js.map +1 -0
- package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/decode.js +2 -0
- package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/decode.js.map +1 -0
- package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/decode_codepoint.js +2 -0
- package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/decode_codepoint.js.map +1 -0
- package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/encode.js +2 -0
- package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/encode.js.map +1 -0
- package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/escape.js +2 -0
- package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/escape.js.map +1 -0
- package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-html.js +2 -0
- package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-html.js.map +1 -0
- package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-xml.js +2 -0
- package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-xml.js.map +1 -0
- package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/generated/encode-html.js +2 -0
- package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/generated/encode-html.js.map +1 -0
- package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/index.js +2 -0
- package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/index.js.map +1 -0
- package/dist/node_modules/htmlparser2/node_modules/domhandler/lib/index.js +2 -0
- package/dist/node_modules/htmlparser2/node_modules/domhandler/lib/index.js.map +1 -0
- package/dist/node_modules/htmlparser2/node_modules/domhandler/lib/node.js +2 -0
- package/dist/node_modules/htmlparser2/node_modules/domhandler/lib/node.js.map +1 -0
- package/dist/node_modules/htmlparser2/node_modules/domutils/lib/feeds.js +2 -0
- package/dist/node_modules/htmlparser2/node_modules/domutils/lib/feeds.js.map +1 -0
- package/dist/node_modules/htmlparser2/node_modules/domutils/lib/helpers.js +2 -0
- package/dist/node_modules/htmlparser2/node_modules/domutils/lib/helpers.js.map +1 -0
- package/dist/node_modules/htmlparser2/node_modules/domutils/lib/index.js +2 -0
- package/dist/node_modules/htmlparser2/node_modules/domutils/lib/index.js.map +1 -0
- package/dist/node_modules/htmlparser2/node_modules/domutils/lib/legacy.js +2 -0
- package/dist/node_modules/htmlparser2/node_modules/domutils/lib/legacy.js.map +1 -0
- package/dist/node_modules/htmlparser2/node_modules/domutils/lib/manipulation.js +2 -0
- package/dist/node_modules/htmlparser2/node_modules/domutils/lib/manipulation.js.map +1 -0
- package/dist/node_modules/htmlparser2/node_modules/domutils/lib/querying.js +2 -0
- package/dist/node_modules/htmlparser2/node_modules/domutils/lib/querying.js.map +1 -0
- package/dist/node_modules/htmlparser2/node_modules/domutils/lib/stringify.js +2 -0
- package/dist/node_modules/htmlparser2/node_modules/domutils/lib/stringify.js.map +1 -0
- package/dist/node_modules/htmlparser2/node_modules/domutils/lib/traversal.js +2 -0
- package/dist/node_modules/htmlparser2/node_modules/domutils/lib/traversal.js.map +1 -0
- package/dist/node_modules/style-to-object/cjs/index.js +1 -1
- package/dist/src/assets/icons/CheckMarkSquare.svg.js +2 -0
- package/dist/src/assets/icons/CheckMarkSquare.svg.js.map +1 -0
- package/dist/src/assets/icons/CloseIcon.svg.js +2 -0
- package/dist/src/assets/icons/CloseIcon.svg.js.map +1 -0
- package/dist/src/assets/icons/UpArrow.svg.js +2 -0
- package/dist/src/assets/icons/UpArrow.svg.js.map +1 -0
- package/dist/src/components/Chips/Chips.js +2 -0
- package/dist/src/components/Chips/Chips.js.map +1 -0
- package/dist/src/components/MethodAccordion/MethodAccordion.js +1 -1
- package/dist/src/components/MethodAccordion/MethodAccordion.js.map +1 -1
- package/dist/styles.css +611 -611
- package/dist/types/types/index.d.ts +18 -0
- package/package.json +1 -1
- package/src/components/MethodAccordion/MethodAccordion.tsx +1 -0
- package/dist/node_modules/dom-serializer/lib/foreignNames.js +0 -2
- package/dist/node_modules/dom-serializer/lib/foreignNames.js.map +0 -1
- package/dist/node_modules/dom-serializer/lib/index.js +0 -2
- package/dist/node_modules/dom-serializer/lib/index.js.map +0 -1
- package/dist/node_modules/domhandler/lib/index.js +0 -2
- package/dist/node_modules/domhandler/lib/index.js.map +0 -1
- package/dist/node_modules/domhandler/lib/node.js +0 -2
- package/dist/node_modules/domhandler/lib/node.js.map +0 -1
- package/dist/node_modules/domutils/lib/feeds.js +0 -2
- package/dist/node_modules/domutils/lib/feeds.js.map +0 -1
- package/dist/node_modules/domutils/lib/helpers.js +0 -2
- package/dist/node_modules/domutils/lib/helpers.js.map +0 -1
- package/dist/node_modules/domutils/lib/index.js +0 -2
- package/dist/node_modules/domutils/lib/index.js.map +0 -1
- package/dist/node_modules/domutils/lib/legacy.js +0 -2
- package/dist/node_modules/domutils/lib/legacy.js.map +0 -1
- package/dist/node_modules/domutils/lib/manipulation.js +0 -2
- package/dist/node_modules/domutils/lib/manipulation.js.map +0 -1
- package/dist/node_modules/domutils/lib/querying.js +0 -2
- package/dist/node_modules/domutils/lib/querying.js.map +0 -1
- package/dist/node_modules/domutils/lib/stringify.js +0 -2
- package/dist/node_modules/domutils/lib/stringify.js.map +0 -1
- package/dist/node_modules/domutils/lib/traversal.js +0 -2
- package/dist/node_modules/domutils/lib/traversal.js.map +0 -1
- package/dist/node_modules/entities/lib/decode.js +0 -2
- package/dist/node_modules/entities/lib/decode.js.map +0 -1
- package/dist/node_modules/entities/lib/decode_codepoint.js +0 -2
- package/dist/node_modules/entities/lib/decode_codepoint.js.map +0 -1
- package/dist/node_modules/entities/lib/encode.js +0 -2
- package/dist/node_modules/entities/lib/encode.js.map +0 -1
- package/dist/node_modules/entities/lib/escape.js +0 -2
- package/dist/node_modules/entities/lib/escape.js.map +0 -1
- package/dist/node_modules/entities/lib/generated/decode-data-html.js +0 -2
- package/dist/node_modules/entities/lib/generated/decode-data-html.js.map +0 -1
- package/dist/node_modules/entities/lib/generated/decode-data-xml.js +0 -2
- package/dist/node_modules/entities/lib/generated/decode-data-xml.js.map +0 -1
- package/dist/node_modules/entities/lib/generated/encode-html.js +0 -2
- package/dist/node_modules/entities/lib/generated/encode-html.js.map +0 -1
- package/dist/node_modules/entities/lib/index.js +0 -2
- package/dist/node_modules/entities/lib/index.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CheckMarkSquare.svg.js","sources":["../../../../src/assets/icons/CheckMarkSquare.svg"],"sourcesContent":["export default \"56dc416b683db280.svg\""],"names":["CheckMarkSquare"],"mappings":"AAAA,IAAeA,EAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CloseIcon.svg.js","sources":["../../../../src/assets/icons/CloseIcon.svg"],"sourcesContent":["export default \"43595976d1fdccbf.svg\""],"names":["CloseIcon"],"mappings":"AAAA,IAAeA,EAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UpArrow.svg.js","sources":["../../../../src/assets/icons/UpArrow.svg"],"sourcesContent":["export default \"844eba3f2e42a9eb.svg\""],"names":["UpArrowIcon"],"mappings":"AAAA,IAAeA,EAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{j as s}from"../../../_virtual/jsx-runtime.js";import{useState as o,useRef as e,useEffect as i}from"react";import l from"../SVGLoader/SVGLoader.js";import n from"../../assets/icons/UpArrow.svg.js";import r from"../../assets/icons/DownArrow.svg.js";import t from"../../assets/icons/CloseIcon.svg.js";const a=({className:a,items:c,onDelete:d,onClick:m})=>{const[h,p]=o(!1),[u,v]=o(!1),j=e(null);i((()=>{if(j.current){const s=setTimeout((()=>{var s;const o=null===(s=null==j?void 0:j.current)||void 0===s?void 0:s.offsetHeight;p(o>58)}),0);return()=>clearTimeout(s)}}),[null==c?void 0:c.length,58]);return s.jsxs("div",{className:`chips-container ${null!=a?a:""}`,children:[!!(null==c?void 0:c.length)&&s.jsx("div",{className:`overflow-dropdown-div ${u&&"dropdown-max-height dropdown-overflow"}`,children:s.jsx("div",{ref:j,className:"dropdown-list",children:null==c?void 0:c.map(((o,e)=>{var i;return s.jsxs("div",{className:`chip ${o.disabled?"disabled":""}${m?"clickable":""}${null!==(i=null==o?void 0:o.className)&&void 0!==i?i:""}`,onClick:()=>!!m&&!1===o.disabled&&m(o),children:[s.jsxs("span",{className:"chip-text",children:[" ",o.label," "]}),!0!==o.disabled&&s.jsx(l,{onClick:s=>{s.stopPropagation();const o=c.filter(((s,o)=>o!==e));d&&d(o)},className:"chip-close-icon",src:t,width:"1.25rem",height:"1.25rem"})]},o.id)}))})}),h?s.jsxs("button",{className:"show-btn",onClick:s=>{null==s||s.stopPropagation(),v(!u)},type:"button",children:[s.jsx("div",{className:"show-btn-text-container",children:s.jsx("span",{className:"show-btn-text",children:u?"Show Less":"Show More"})}),s.jsx("div",{className:"show-btn-icon-container",children:s.jsx(l,{className:"show-btn-icon",src:u?n:r,width:"1.25rem",height:"1.25rem"})})]}):null]})};export{a as default};
|
|
2
|
+
//# sourceMappingURL=Chips.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Chips.js","sources":["../../../../src/components/Chips/Chips.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react'\r\nimport SVGLoader from '../../components/SVGLoader/SVGLoader'\r\nimport { CloseIcon, DownArrowIcon, UpArrowIcon } from '../../assets/icons'\r\nimport './style.scss'\r\n\r\ntype ChipItemType = {\r\n id: number | string\r\n label: string\r\n className?: string\r\n disabled?: boolean\r\n [key: string]: unknown\r\n}\r\n\r\nexport type CustomChipsType = {\r\n className?: string\r\n items: ChipItemType[]\r\n onDelete?: (items: ChipItemType[]) => void\r\n onClick?: (item: ChipItemType) => void\r\n}\r\n\r\nconst Chips = ({ className, items, onDelete, onClick }: CustomChipsType) => {\r\n const showMoreAppearsAfterHeight = 58\r\n const [showBtnVisible, setShowBtnVisible] = useState(false)\r\n const [showBtnOpen, setShowBtnOpen] = useState(false) // Fixed typo\r\n const dropdownList = useRef<HTMLDivElement | null>(null) // Specify the correct type for the ref\r\n\r\n useEffect(() => {\r\n if (dropdownList.current) {\r\n const showMoreOrLess = setTimeout(() => {\r\n const offsetHeight = dropdownList?.current?.offsetHeight as number // Correctly infer offsetHeight\r\n setShowBtnVisible(offsetHeight > showMoreAppearsAfterHeight)\r\n }, 0) // Pass 0 as a number, not an array\r\n\r\n return () => clearTimeout(showMoreOrLess)\r\n }\r\n }, [items?.length, showMoreAppearsAfterHeight])\r\n\r\n const showButtonHandler = (e: any) => {\r\n e?.stopPropagation()\r\n setShowBtnOpen(!showBtnOpen)\r\n }\r\n\r\n return (\r\n <div className={`chips-container ${className ?? ''}`}>\r\n {!!items?.length && (\r\n <div className={`overflow-dropdown-div ${showBtnOpen && 'dropdown-max-height dropdown-overflow'}`}>\r\n <div ref={dropdownList} className='dropdown-list'>\r\n {items?.map((chip, index) => (\r\n <div\r\n key={chip.id}\r\n className={`chip ${chip.disabled ? 'disabled' : ''}${!!onClick ? 'clickable' : ''}${chip?.className ?? ''}`}\r\n onClick={() => !!onClick && chip.disabled === false && onClick(chip)}\r\n >\r\n <span className='chip-text'> {chip.label} </span>\r\n {chip.disabled !== true && (\r\n <SVGLoader\r\n onClick={(e: any) => {\r\n e.stopPropagation()\r\n const filteredChips = items.filter((_, iIndex) => iIndex !== index)\r\n onDelete && onDelete(filteredChips)\r\n }}\r\n className='chip-close-icon'\r\n src={CloseIcon}\r\n width={'1.25rem'}\r\n height={'1.25rem'}\r\n />\r\n )}\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n )}\r\n {showBtnVisible ? (\r\n <button className='show-btn' onClick={showButtonHandler} type='button'>\r\n <div className='show-btn-text-container'>\r\n <span className='show-btn-text'>{showBtnOpen ? 'Show Less' : 'Show More'}</span>\r\n </div>\r\n <div className='show-btn-icon-container'>\r\n <SVGLoader className='show-btn-icon' src={showBtnOpen ? UpArrowIcon : DownArrowIcon} width={'1.25rem'} height={'1.25rem'} />\r\n </div>\r\n </button>\r\n ) : null}\r\n </div>\r\n )\r\n}\r\n\r\nexport default Chips\r\n"],"names":["Chips","className","items","onDelete","onClick","showBtnVisible","setShowBtnVisible","useState","showBtnOpen","setShowBtnOpen","dropdownList","useRef","useEffect","current","showMoreOrLess","setTimeout","offsetHeight","_a","clearTimeout","length","_jsxs","children","_jsx","jsx","ref","map","chip","index","jsxs","disabled","label","SVGLoader","e","stopPropagation","filteredChips","filter","_","iIndex","src","CloseIcon","width","height","id","type","UpArrowIcon","DownArrowIcon"],"mappings":"iTAoBA,MAAMA,EAAQ,EAAGC,YAAWC,QAAOC,WAAUC,cAC3C,MACOC,EAAgBC,GAAqBC,GAAS,IAC9CC,EAAaC,GAAkBF,GAAS,GACzCG,EAAeC,EAA8B,MAEnDC,GAAU,KACR,GAAIF,EAAaG,QAAS,CACxB,MAAMC,EAAiBC,YAAW,WAChC,MAAMC,EAAoC,QAArBC,EAAAP,aAAY,EAAZA,EAAcG,eAAO,IAAAI,OAAA,EAAAA,EAAED,aAC5CV,EAAkBU,EATW,GAS+B,GAC3D,GAEH,MAAO,IAAME,aAAaJ,EAC3B,IACA,CAACZ,aAAK,EAALA,EAAOiB,OAdwB,KAqBnC,OACEC,OAAK,MAAA,CAAAnB,UAAW,mBAAmBA,QAAAA,EAAa,KAC7CoB,SAAA,IAAEnB,aAAK,EAALA,EAAOiB,SACRG,EAAKC,IAAA,MAAA,CAAAtB,UAAW,yBAAyBO,GAAe,0CAAyCa,SAC/FC,MAAK,MAAA,CAAAE,IAAKd,EAAcT,UAAU,gBAC/BoB,SAAAnB,aAAA,EAAAA,EAAOuB,KAAI,CAACC,EAAMC,WAAU,OAC3BP,EAEEQ,KAAA,MAAA,CAAA3B,UAAW,QAAQyB,EAAKG,SAAW,WAAa,KAAOzB,EAAU,YAAc,aAAKa,EAAAS,aAAI,EAAJA,EAAMzB,yBAAa,KACvGG,QAAS,MAAQA,IAA6B,IAAlBsB,EAAKG,UAAsBzB,EAAQsB,GAE/DL,SAAA,CAAAD,EAAAA,KAAA,OAAA,CAAMnB,UAAU,YAAcoB,SAAA,CAAA,IAAAK,EAAKI,MAAK,QACrB,IAAlBJ,EAAKG,UACJP,EAAAA,IAACS,EACC,CAAA3B,QAAU4B,IACRA,EAAEC,kBACF,MAAMC,EAAgBhC,EAAMiC,QAAO,CAACC,EAAGC,IAAWA,IAAWV,IAC7DxB,GAAYA,EAAS+B,EAAc,EAErCjC,UAAU,kBACVqC,IAAKC,EACLC,MAAO,UACPC,OAAQ,cAfPf,EAAKgB,GAmBb,QAINrC,EACCe,EAAAA,KAAQ,SAAA,CAAAnB,UAAU,WAAWG,QApCR4B,IACzBA,SAAAA,EAAGC,kBACHxB,GAAgBD,EAAY,EAkCiCmC,KAAK,SAAQtB,SAAA,CACpEC,aAAKrB,UAAU,0BACboB,SAAAC,MAAA,OAAA,CAAMrB,UAAU,gBAAiBoB,SAAAb,EAAc,YAAc,gBAE/Dc,aAAKrB,UAAU,0BACboB,SAAAC,EAAAA,IAACS,EAAU,CAAA9B,UAAU,gBAAgBqC,IAAK9B,EAAcoC,EAAcC,EAAeL,MAAO,UAAWC,OAAQ,iBAGjH,OAEP"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as e}from"../../../_virtual/jsx-runtime.js";import{useState as s,useEffect as r}from"react";import{d as o}from"../../../_virtual/index.js";import n from"../SVGLoader/SVGLoader.js";import t from"../../assets/icons/DownArrow.svg.js";import i from"../../assets/icons/DeleteIcon.svg.js";import a from"../../assets/icons/EditIcon.svg.js";import l from"../../assets/icons/deleteOutlinedIcon.svg.js";import{httpStatusCodes as d,methodColorMapping as c,paramsTableHeaders as m}from"../../constants/index.js";import p from"../Tooltip/Tooltip.js";import u from"../SimpleLabelValue/SimpleLabelValue.js";import{handleStatusColor as h,capitalize as v}from"../../helpers/methodAccordion.helper.js";import j from"../table/table.js";import x from"../dialog/index.js";import g from"../JsonInput/JsonInput.js";import b from"./MethodAccordion.module.scss.js";import y from"../../constants/regex.js";const N=d.map((s=>({label:e.jsxs("div",{className:b.statusCodeOptionContainer,children:[e.jsx("div",{className:b.statusCodeOptionCircle,style:{backgroundColor:h(s)}}),e.jsx("span",{children:s})]}),value:s}))),C=({method:d,path:h,setFieldValue:C,readOnly:f,tags:S,isOpen:w,setIsOpen:A})=>{var O,D,q,I,T,k,B,F;const[L,$]=s({request:!1,response:!1,method:!1}),[V,_]=s(!1),[J,M]=s({}),[W,E]=s([]),[G,H]=s(!1),[P,R]=s(null),[z,K]=s(null),[Q,U]=s(),[X,Y]=s([]),[Z,ee]=s(N[4]),se=d.responses.find((e=>Number(e.code)===Z.value))||"{}",re=(e,s,r)=>{const o=W.map(((o,n)=>n===r?Object.assign(Object.assign({},o),{[e]:s}):o));E(o)},oe=(e,s)=>{R(e),K(s),H(!0)};return r((()=>{U(W.map(((s,r)=>{var t,l,c,m;return{id:r,paramName:s.name,paramType:v(s.in),schemaType:v(null===(t=s.schema)||void 0===t?void 0:t.type)||"",required:e.jsx(e.Fragment,{children:f?s.required?"True":"False":e.jsx(o.Switch,{checked:s.required,onClick:()=>{if(f)return null;re("required",!s.required,r),C(`parameters[${r}][required]`,!s.required)}})}),description:e.jsxs("div",{className:b.paramDescContainer,children:[e.jsx(p,{allowHTML:!0,disabled:(null===(l=d.parameters[r].description)||void 0===l?void 0:l.length)<=12,content:e.jsx("div",{style:{padding:"0.625rem"},children:d.parameters[r].description}),arrowWithBorder:!0,placement:"bottom-end",type:"function",delay:[0,0],onShow:()=>{var e;return null===(e=J[r])||void 0===e?void 0:e.hide()},children:e.jsxs("p",{style:{alignSelf:"center"},children:[d.parameters[r].description?d.parameters[r].description.substring(0,12):f&&"-",d.parameters[r].description&&d.parameters[r].description.length>12?"...":""]})},`${r}-description`),!f&&e.jsx(p,{allowHTML:!0,arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>M((s=>Object.assign(Object.assign({},s),{[r]:e}))),content:e.jsxs("div",{className:b.editDescTooltipContent,children:[e.jsx("p",{className:b.editDescTooltipContent_header,children:"Description"}),e.jsx(o.TextArea,{placeholder:"Describe parameter...",value:s.description,disabled:f,maxLength:120,onChange:e=>{(""===e||y.ASCII.test(e))&&re("description",e,r)}}),!f&&e.jsx(o.Button,{className:b.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{var e,o;C(`parameters[${r}].description`,null===(e=s.description)||void 0===e?void 0:e.trim()),null===(o=J[r])||void 0===o||o.hide()},disabled:!(null===(c=s.description)||void 0===c?void 0:c.trim()),children:"Apply"})]}),children:f||(null===(m=d.parameters[r].description)||void 0===m?void 0:m.length)>0?e.jsx(o.Button,{className:b.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(n,{src:a,width:"1.5rem",height:"1.5rem"})}):e.jsxs(o.Button,{className:b.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(n,{src:a,width:"1.5rem",height:"1.5rem"}),children:[f?"View ":"Add "," Description"]})},`${r}-add-edit-description`),!f&&e.jsx("div",{className:b.paramDescContainer_separator}),!f&&e.jsx(o.Button,{className:b.deleteParamBtn,variant:"link",color:"error",endIcon:e.jsx(n,{src:i,width:"1.125rem",height:"1.125rem"}),onClick:()=>oe(r,s.name)})]})}})))}),[W]),r((()=>{(null==d?void 0:d.parameters)&&E(d.parameters)}),[d,h]),r((()=>{var e;if((null==d?void 0:d.tags.length)||(null==S?void 0:S.length)){const s=[...null===(e=(null==d?void 0:d.tags)||[])||void 0===e?void 0:e.map((e=>({label:v(e),value:e}))),...(S||[]).map((e=>({label:v(e.name),value:e.name})))].filter(((e,s,r)=>s===r.findIndex((s=>s.value===e.value))));Y(s)}}),[S,d]),e.jsxs("div",{children:[e.jsx(o.Accordion,{expanded:w,onChange:()=>A(!w),className:`${b.methodAccordion} ${f?b.readOnly:""}`,summary:e.jsxs("div",{className:b.methodSummaryContainer,children:[e.jsxs("div",{className:b.methodSummary,children:[e.jsx("span",{style:{backgroundColor:(null===(O=null==c?void 0:c[null==d?void 0:d.type])||void 0===O?void 0:O.color)||"#3A6CD1"},className:b.methodLabel,children:(null===(D=null==c?void 0:c[null==d?void 0:d.type])||void 0===D?void 0:D.label)||(null==d?void 0:d.type)}),e.jsx("span",{className:b.methodPath,children:h})]}),e.jsx("div",{className:`${b.methodExpandArrowContainer} ${w?b.expanded:""}`,children:e.jsx(n,{src:t,width:"2rem",height:"2rem"})})]}),children:e.jsxs("div",{className:b.methodAccordionContent,children:[e.jsx(o.SelectGroup,{className:b.methodDesc,disabled:f,placeholder:"Select Tags",label:"Tags",value:null===(q=d.tags)||void 0===q?void 0:q.map((e=>({label:v(e),value:e}))),onChange:e=>{C("tags",e.map((e=>e.value)))},options:[{list:X}],isMultiple:!0,withSearch:!1,clearable:!1}),f?e.jsx(u,{label:"Description: ",value:(null==d?void 0:d.description)||"-"},"description"):e.jsx(o.TextArea,{className:b.methodDesc,label:"Description",placeholder:"Describe the method's purpose and functionality...",maxLength:120,value:null==d?void 0:d.description,onChange:e=>{(""===e||y.ASCII.test(e))&&C("description",e)}}),e.jsx("div",{className:b.paramsTable,children:e.jsx(j,{id:"paramter-table",data:Q,headCells:m,isFormOpen:V,setIsFormOpen:_,saveNewRow:e=>{E([...W,e]),C("parameters",[...d.parameters,e])},readOnly:f})}),"get"!==(null==d?void 0:d.type)&&e.jsx(o.Accordion,{expanded:L.request,onChange:()=>null,className:b.requestAccordion,summary:e.jsx("span",{className:b.requestAccordionSummary,children:e.jsxs("div",{className:b.requestAccordionSummary_title,onClick:()=>$((e=>Object.assign(Object.assign({},e),{request:!e.request}))),children:[e.jsx(n,{className:L.request?b.expanded:"",src:t,width:"2rem",height:"2rem"}),"Request","delete"!==(null==d?void 0:d.type)&&e.jsx("span",{style:{color:"red"},children:"*"})]})}),children:e.jsx(g,{acceptType:"JSON",withFooter:!f,className:"jsonField",placeholder:"Enter your request body as a JSON object....",fieldIsDisabled:f,value:(null===(k=null===(T=null===(I=null==d?void 0:d.requestBody)||void 0===I?void 0:I.content)||void 0===T?void 0:T.schema)||void 0===k?void 0:k.properties)||"{}",onChange:e=>{C("requestBody.content.schema.properties",e)},onValidation:()=>null})}),e.jsx(o.Accordion,{expanded:L.response,onChange:()=>null,className:b.responseAccordion,summary:e.jsxs("span",{className:b.responseAccordionSummary,children:[e.jsxs("div",{className:b.responseAccordionSummary_title,onClick:()=>$((e=>Object.assign(Object.assign({},e),{response:!e.response}))),children:[e.jsx(n,{className:L.response?b.expanded:"",src:t,width:"2rem",height:"2rem"}),"Response",e.jsx("span",{style:{color:"red"},children:"*"})]}),e.jsx(o.SelectGroup,{withSearch:!1,isMultiple:!1,clearable:!1,placeholder:"200",options:[{list:N}],value:Z,onChange:e=>{ee(e)}})]}),children:e.jsx(g,{acceptType:"JSON",withFooter:!f,className:"jsonField",placeholder:"Enter your response as a JSON object...",fieldIsDisabled:f,value:(null===(F=null===(B=null==se?void 0:se.content)||void 0===B?void 0:B.schema)||void 0===F?void 0:F.properties)||"{}",onChange:e=>{const s=d.responses.findIndex((e=>e.code===se.code));if(-1!==s)C(`responses[${s}].content.schema.properties`,e);else{const s=structuredClone(d.responses);s.push({code:Z.value.toString(),content:{contentType:"application/json",schema:{type:"object",properties:e}}}),C("responses",s)}},onValidation:()=>null})})]})}),e.jsx(x,{status:"error",content:e.jsxs("p",{style:{textAlign:"center",fontWeight:400,fontSize:"1rem",lineHeight:"1.4375rem"},className:"delete-msg-container",children:["Are you sure you want to delete",e.jsxs("span",{className:"plan-name",children:["Parameter ",e.jsx("strong",{children:z})]}),"?"]}),onSubmit:{onClick:()=>{var e;null!==P&&(E((e=>e.filter(((e,s)=>s!==P)))),C("parameters",null===(e=null==d?void 0:d.parameters)||void 0===e?void 0:e.filter(((e,s)=>s!==P)))),H(!1),R(null)},text:"Delete",color:"error",fullWidth:!0},onCancel:{text:"Cancel",color:"normal",fullWidth:!0},onClose:()=>H(!1),open:G,icon:e.jsx(n,{src:l,width:"4.0625rem",height:"4.0625rem"})})]})};export{C as default};
|
|
1
|
+
import{j as e}from"../../../_virtual/jsx-runtime.js";import{useState as s,useEffect as r}from"react";import{d as o}from"../../../_virtual/index.js";import n from"../SVGLoader/SVGLoader.js";import t from"../../assets/icons/DownArrow.svg.js";import i from"../../assets/icons/DeleteIcon.svg.js";import a from"../../assets/icons/EditIcon.svg.js";import l from"../../assets/icons/deleteOutlinedIcon.svg.js";import{httpStatusCodes as d,methodColorMapping as c,paramsTableHeaders as m}from"../../constants/index.js";import p from"../Tooltip/Tooltip.js";import u from"../SimpleLabelValue/SimpleLabelValue.js";import{handleStatusColor as h,capitalize as v}from"../../helpers/methodAccordion.helper.js";import j from"../table/table.js";import x from"../dialog/index.js";import g from"../JsonInput/JsonInput.js";import b from"./MethodAccordion.module.scss.js";import y from"../../constants/regex.js";const N=d.map((s=>({label:e.jsxs("div",{className:b.statusCodeOptionContainer,children:[e.jsx("div",{className:b.statusCodeOptionCircle,style:{backgroundColor:h(s)}}),e.jsx("span",{children:s})]}),value:s}))),C=({method:d,path:h,setFieldValue:C,readOnly:f,tags:S,isOpen:w,setIsOpen:A})=>{var O,D,q,I,T,k,B,F;const[L,$]=s({request:!1,response:!1,method:!1}),[V,_]=s(!1),[J,M]=s({}),[W,E]=s([]),[G,H]=s(!1),[P,R]=s(null),[z,K]=s(null),[Q,U]=s(),[X,Y]=s([]),[Z,ee]=s(N[4]),se=d.responses.find((e=>Number(e.code)===Z.value))||"{}",re=(e,s,r)=>{const o=W.map(((o,n)=>n===r?Object.assign(Object.assign({},o),{[e]:s}):o));E(o)},oe=(e,s)=>{R(e),K(s),H(!0)};return r((()=>{U(W.map(((s,r)=>{var t,l,c,m;return{id:r,paramName:s.name,paramType:v(s.in),schemaType:v(null===(t=s.schema)||void 0===t?void 0:t.type)||"",required:e.jsx(e.Fragment,{children:f?s.required?"True":"False":e.jsx(o.Switch,{checked:s.required,onClick:()=>{if(f)return null;re("required",!s.required,r),C(`parameters[${r}][required]`,!s.required)}})}),description:e.jsxs("div",{className:b.paramDescContainer,children:[e.jsx(p,{allowHTML:!0,disabled:(null===(l=d.parameters[r].description)||void 0===l?void 0:l.length)<=12,content:e.jsx("div",{style:{padding:"0.625rem"},children:d.parameters[r].description}),arrowWithBorder:!0,placement:"bottom-end",type:"function",delay:[0,0],onShow:()=>{var e;return null===(e=J[r])||void 0===e?void 0:e.hide()},children:e.jsxs("p",{style:{alignSelf:"center"},children:[d.parameters[r].description?d.parameters[r].description.substring(0,12):f&&"-",d.parameters[r].description&&d.parameters[r].description.length>12?"...":""]})},`${r}-description`),!f&&e.jsx(p,{allowHTML:!0,arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>M((s=>Object.assign(Object.assign({},s),{[r]:e}))),content:e.jsxs("div",{className:b.editDescTooltipContent,children:[e.jsx("p",{className:b.editDescTooltipContent_header,children:"Description"}),e.jsx(o.TextArea,{placeholder:"Describe parameter...",value:s.description,disabled:f,maxLength:120,onChange:e=>{(""===e||y.ASCII.test(e))&&re("description",e,r)}}),!f&&e.jsx(o.Button,{className:b.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{var e,o;C(`parameters[${r}].description`,null===(e=s.description)||void 0===e?void 0:e.trim()),null===(o=J[r])||void 0===o||o.hide()},disabled:!(null===(c=s.description)||void 0===c?void 0:c.trim()),children:"Apply"})]}),children:f||(null===(m=d.parameters[r].description)||void 0===m?void 0:m.length)>0?e.jsx(o.Button,{className:b.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(n,{src:a,width:"1.5rem",height:"1.5rem"})}):e.jsxs(o.Button,{className:b.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(n,{src:a,width:"1.5rem",height:"1.5rem"}),children:[f?"View ":"Add "," Description"]})},`${r}-add-edit-description`),!f&&e.jsx("div",{className:b.paramDescContainer_separator}),!f&&e.jsx(o.Button,{className:b.deleteParamBtn,variant:"link",color:"error",endIcon:e.jsx(n,{src:i,width:"1.125rem",height:"1.125rem"}),onClick:()=>oe(r,s.name)})]})}})))}),[W]),r((()=>{(null==d?void 0:d.parameters)&&E(d.parameters)}),[d,h]),r((()=>{var e;if((null==d?void 0:d.tags.length)||(null==S?void 0:S.length)){const s=[...null===(e=(null==d?void 0:d.tags)||[])||void 0===e?void 0:e.map((e=>({label:v(e),value:e}))),...(S||[]).map((e=>({label:v(e.name),value:e.name})))].filter(((e,s,r)=>s===r.findIndex((s=>s.value===e.value))));Y(s)}}),[S,d]),e.jsxs("div",{children:[e.jsx(o.Accordion,{expanded:w,onChange:()=>A(!w),className:`${b.methodAccordion} ${f?b.readOnly:""}`,summary:e.jsxs("div",{className:b.methodSummaryContainer,children:[e.jsxs("div",{className:b.methodSummary,children:[e.jsx("span",{style:{backgroundColor:(null===(O=null==c?void 0:c[null==d?void 0:d.type])||void 0===O?void 0:O.color)||"#3A6CD1"},className:b.methodLabel,children:(null===(D=null==c?void 0:c[null==d?void 0:d.type])||void 0===D?void 0:D.label)||(null==d?void 0:d.type)}),e.jsx("span",{className:b.methodPath,children:h})]}),e.jsx("div",{className:`${b.methodExpandArrowContainer} ${w?b.expanded:""}`,children:e.jsx(n,{src:t,width:"2rem",height:"2rem"})})]}),children:e.jsxs("div",{className:b.methodAccordionContent,children:[e.jsx(o.SelectGroup,{className:b.methodDesc,disabled:f,placeholder:"Select Tags",label:"Tags",value:null===(q=d.tags)||void 0===q?void 0:q.map((e=>({label:v(e),value:e}))),onChange:e=>{C("tags",e.map((e=>e.value)))},options:[{list:X}],isMultiple:!0,withSearch:!1,clearable:!1}),f?e.jsx(u,{label:"Description: ",value:(null==d?void 0:d.description)||"-"},"description"):e.jsx(o.TextArea,{className:b.methodDesc,label:"Description",placeholder:"Describe the method's purpose and functionality...",maxLength:120,value:null==d?void 0:d.description,onChange:e=>{(""===e||y.ASCII.test(e))&&C("description",e)}}),e.jsx("div",{className:b.paramsTable,children:e.jsx(j,{id:"paramter-table",data:Q,headCells:m,isFormOpen:V,setIsFormOpen:_,saveNewRow:e=>{E([...W,e]),C("parameters",[...d.parameters,e])},readOnly:f})}),"get"!==(null==d?void 0:d.type)&&e.jsx(o.Accordion,{expanded:L.request,onChange:()=>null,className:b.requestAccordion,summary:e.jsx("span",{className:b.requestAccordionSummary,children:e.jsxs("div",{className:b.requestAccordionSummary_title,onClick:()=>$((e=>Object.assign(Object.assign({},e),{request:!e.request}))),children:[e.jsx(n,{className:L.request?b.expanded:"",src:t,width:"2rem",height:"2rem"}),"Request","delete"!==(null==d?void 0:d.type)&&e.jsx("span",{style:{color:"red"},children:"*"})]})}),children:e.jsx(g,{acceptType:"JSON",withFooter:!f,className:"jsonField",placeholder:"Enter your request body as a JSON object....",fieldIsDisabled:f,value:(null===(k=null===(T=null===(I=null==d?void 0:d.requestBody)||void 0===I?void 0:I.content)||void 0===T?void 0:T.schema)||void 0===k?void 0:k.properties)||"{}",onChange:e=>{C("requestBody.content.schema.properties",e)},onValidation:()=>null})}),e.jsx(o.Accordion,{expanded:L.response,onChange:()=>null,className:b.responseAccordion,summary:e.jsxs("span",{className:b.responseAccordionSummary,children:[e.jsxs("div",{className:b.responseAccordionSummary_title,onClick:()=>$((e=>Object.assign(Object.assign({},e),{response:!e.response}))),children:[e.jsx(n,{className:L.response?b.expanded:"",src:t,width:"2rem",height:"2rem"}),"Response",e.jsx("span",{style:{color:"red"},children:"*"})]}),e.jsx(o.SelectGroup,{withSearch:!1,isMultiple:!1,clearable:!1,placeholder:"200",options:[{list:N}],value:Z,onChange:e=>{ee(e)}})]}),children:e.jsx(g,{acceptType:"JSON",withFooter:!f,className:"jsonField",placeholder:"Enter your response as a JSON object...",fieldIsDisabled:f,value:(null===(F=null===(B=null==se?void 0:se.content)||void 0===B?void 0:B.schema)||void 0===F?void 0:F.properties)||"{}",onChange:e=>{const s=d.responses.findIndex((e=>e.code===se.code));if(-1!==s)C(`responses[${s}].content.schema.properties`,e);else{const s=structuredClone(d.responses);s.push({code:Z.value.toString(),content:{contentType:"application/json",schema:{type:"object",properties:e}}}),C("responses",s)}},onValidation:()=>null})})]})}),e.jsx(x,{status:"error",content:e.jsxs("p",{style:{textAlign:"center",fontWeight:400,fontSize:"1rem",lineHeight:"1.4375rem"},className:"delete-msg-container",children:["Are you sure you want to delete",e.jsxs("span",{className:"plan-name",children:[" ","Parameter ",e.jsx("strong",{children:z})]}),"?"]}),onSubmit:{onClick:()=>{var e;null!==P&&(E((e=>e.filter(((e,s)=>s!==P)))),C("parameters",null===(e=null==d?void 0:d.parameters)||void 0===e?void 0:e.filter(((e,s)=>s!==P)))),H(!1),R(null)},text:"Delete",color:"error",fullWidth:!0},onCancel:{text:"Cancel",color:"normal",fullWidth:!0},onClose:()=>H(!1),open:G,icon:e.jsx(n,{src:l,width:"4.0625rem",height:"4.0625rem"})})]})};export{C as default};
|
|
2
2
|
//# sourceMappingURL=MethodAccordion.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MethodAccordion.js","sources":["../../../../src/components/MethodAccordion/MethodAccordion.tsx"],"sourcesContent":["import { useEffect, useState } from 'react'\r\nimport { Accordion, Button, SelectGroup, SelectGroupV2, Switch, TextArea } from 'digitinary-ui'\r\nimport SVGLoader from '../../components/SVGLoader/SVGLoader'\r\nimport { DeleteIcon, DownArrowIcon, EditIcon, deleteOutlinedIcon } from '../../assets/icons'\r\nimport { httpStatusCodes, methodColorMapping, paramsTableHeaders } from '../../constants/index'\r\nimport Tooltip from '../../components/Tooltip/Tooltip'\r\nimport { TransformedMethod } from '../../types/layout.type'\r\nimport SimpleLabelValue from '../../components/SimpleLabelValue'\r\nimport { capitalize, handleStatusColor } from '../../helpers/methodAccordion.helper'\r\nimport ParamterTable from '../table/table'\r\nimport CommonDialog from '../../components/dialog'\r\nimport JsonInput from '../../components/JsonInput/JsonInput'\r\nimport styles from './MethodAccordion.module.scss'\r\nimport { Tags } from '@entities/openApi'\r\nimport regex from '../../constants/regex'\r\n\r\nconst httpStatusCodeOptions = httpStatusCodes.map((code) => ({\r\n label: (\r\n <div className={styles.statusCodeOptionContainer}>\r\n <div\r\n className={styles.statusCodeOptionCircle}\r\n style={{ backgroundColor: handleStatusColor(code) }}\r\n ></div>\r\n <span>{code}</span>\r\n </div>\r\n ),\r\n value: code,\r\n}))\r\n\r\nconst MethodsAccordion = ({\r\n method,\r\n path,\r\n setFieldValue,\r\n readOnly,\r\n tags,\r\n isOpen,\r\n setIsOpen,\r\n}: {\r\n method: TransformedMethod\r\n path: string\r\n setFieldValue?: (key: string, value: string | string[]) => void\r\n readOnly?: boolean\r\n tags: Tags[]\r\n isOpen: boolean\r\n setIsOpen: (open: boolean) => void\r\n}) => {\r\n const [isExpanded, setIsExpanded] = useState({\r\n request: false,\r\n response: false,\r\n method: false,\r\n })\r\n const [isFormOpen, setIsFormOpen] = useState(false)\r\n const [tooltipRefs, setTooltipRefs] = useState<{ [key: number]: any }>({})\r\n const [tableData, setTableData] = useState([])\r\n const [openDeleteDialog, setOpenDeleteDialog] = useState(false)\r\n const [selectedParamIndex, setSelectedParamIndex] = useState<number | null>(null)\r\n const [selectedParamName, setSelectedParamName] = useState<string | null>(null)\r\n const [tableRecords, setTableRecords] = useState()\r\n const [selectionTags, setSelectionTags] = useState([])\r\n const [selectedStatusCode, setSelectedStatusCode] = useState(httpStatusCodeOptions[4])\r\n const currentResponse =\r\n method.responses.find((res) => Number(res.code) === selectedStatusCode.value) || '{}'\r\n\r\n const onTableChange = (key, value, index) => {\r\n const newTableData = tableData.map((item, tIndex) => {\r\n if (tIndex === index) {\r\n return { ...item, [key]: value }\r\n } else {\r\n return item\r\n }\r\n })\r\n\r\n setTableData(newTableData)\r\n }\r\n\r\n const generateTableData = (items) => {\r\n return items.map((item, index) => {\r\n return {\r\n id: index,\r\n paramName: item.name,\r\n paramType: capitalize(item.in),\r\n schemaType: capitalize(item.schema?.type) || '',\r\n required: (\r\n <>\r\n {readOnly ? (\r\n item.required ? (\r\n 'True'\r\n ) : (\r\n 'False'\r\n )\r\n ) : (\r\n <Switch\r\n checked={item.required}\r\n onClick={() => {\r\n if (readOnly) {\r\n return null\r\n }\r\n onTableChange('required', !item.required, index)\r\n setFieldValue(`parameters[${index}][required]`, !item.required)\r\n }}\r\n />\r\n )}\r\n </>\r\n ),\r\n description: (\r\n <div className={styles.paramDescContainer}>\r\n <Tooltip\r\n key={`${index}-description`}\r\n allowHTML\r\n disabled={method.parameters[index].description?.length <= 12}\r\n content={\r\n <div style={{ padding: '0.625rem' }}>{method.parameters[index].description}</div>\r\n }\r\n arrowWithBorder\r\n placement=\"bottom-end\"\r\n type=\"function\"\r\n delay={[0, 0]}\r\n onShow={() => tooltipRefs[index]?.hide()}\r\n >\r\n <p style={{ alignSelf: 'center' }}>\r\n {method.parameters[index].description\r\n ? method.parameters[index].description.substring(0, 12)\r\n : readOnly && '-'}\r\n {method.parameters[index].description &&\r\n method.parameters[index].description.length > 12\r\n ? '...'\r\n : ''}\r\n </p>\r\n </Tooltip>\r\n {!readOnly && (\r\n <Tooltip\r\n key={`${index}-add-edit-description`}\r\n allowHTML\r\n arrowWithBorder\r\n placement=\"bottom-end\"\r\n type=\"function\"\r\n trigger=\"click\"\r\n delay={[0, 0]}\r\n onCreate={(instance) =>\r\n setTooltipRefs((prev) => ({\r\n ...prev,\r\n [index]: instance,\r\n }))\r\n }\r\n content={\r\n <div className={styles.editDescTooltipContent}>\r\n <p className={styles.editDescTooltipContent_header}>Description</p>\r\n <TextArea\r\n placeholder=\"Describe parameter...\"\r\n value={item.description}\r\n disabled={readOnly}\r\n maxLength={120}\r\n onChange={(value) => {\r\n if (value === '' || regex.ASCII.test(value))\r\n onTableChange('description', value, index)\r\n }}\r\n />\r\n {!readOnly && (\r\n <Button\r\n className={styles.editDescTooltipContent_btn}\r\n variant=\"outlined\"\r\n size=\"small\"\r\n onClick={() => {\r\n setFieldValue(\r\n `parameters[${index}].description`,\r\n item.description?.trim()\r\n )\r\n tooltipRefs[index]?.hide()\r\n }}\r\n disabled={!item.description?.trim()}\r\n >\r\n Apply\r\n </Button>\r\n )}\r\n </div>\r\n }\r\n >\r\n {readOnly || method.parameters[index].description?.length > 0 ? (\r\n <Button\r\n className={styles.editDescBtn}\r\n variant=\"link\"\r\n color=\"action\"\r\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\r\n ></Button>\r\n ) : (\r\n <Button\r\n className={styles.editDescBtn}\r\n variant=\"link\"\r\n color=\"action\"\r\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\r\n >\r\n {readOnly ? 'View ' : 'Add '} Description\r\n </Button>\r\n )}\r\n </Tooltip>\r\n )}\r\n\r\n {!readOnly && <div className={styles.paramDescContainer_separator}></div>}\r\n\r\n {!readOnly && (\r\n <Button\r\n className={styles.deleteParamBtn}\r\n variant=\"link\"\r\n color=\"error\"\r\n endIcon={<SVGLoader src={DeleteIcon} width=\"1.125rem\" height=\"1.125rem\" />}\r\n onClick={() => handleDeleteClick(index, item.name)}\r\n ></Button>\r\n )}\r\n </div>\r\n ),\r\n }\r\n })\r\n }\r\n\r\n const confirmDeleteParameter = () => {\r\n if (selectedParamIndex !== null) {\r\n setTableData((prev) => prev.filter((_, i) => i !== selectedParamIndex))\r\n setFieldValue(\r\n `parameters`,\r\n method?.parameters?.filter((_, i) => i !== selectedParamIndex)\r\n )\r\n }\r\n setOpenDeleteDialog(false)\r\n setSelectedParamIndex(null)\r\n }\r\n\r\n const handleDeleteClick = (id: number, name: string) => {\r\n setSelectedParamIndex(id)\r\n setSelectedParamName(name)\r\n\r\n setOpenDeleteDialog(true)\r\n }\r\n\r\n const saveNewRow = (values) => {\r\n setTableData([...tableData, values])\r\n setFieldValue(`parameters`, [...method.parameters, values])\r\n }\r\n\r\n useEffect(() => {\r\n setTableRecords(generateTableData(tableData))\r\n }, [tableData])\r\n\r\n useEffect(() => {\r\n if (method?.parameters) {\r\n setTableData(method.parameters)\r\n }\r\n }, [method, path])\r\n\r\n useEffect(() => {\r\n // prepare tags selection list\r\n if (method?.tags.length || tags?.length) {\r\n const convertedStringArray = (method?.tags || [])?.map((item) => ({\r\n label: capitalize(item),\r\n value: item,\r\n }))\r\n const mergedArray = [\r\n ...convertedStringArray,\r\n ...(tags || []).map((item) => ({ label: capitalize(item.name), value: item.name })),\r\n ]\r\n\r\n const filteredArray = mergedArray.filter(\r\n (value, index, self) => index === self.findIndex((t) => t.value === value.value)\r\n )\r\n\r\n setSelectionTags(filteredArray)\r\n }\r\n }, [tags, method])\r\n\r\n return (\r\n <div>\r\n <Accordion\r\n expanded={isOpen}\r\n onChange={() => setIsOpen(!isOpen)}\r\n className={`${styles.methodAccordion} ${readOnly ? styles.readOnly : ''}`}\r\n summary={\r\n <div className={styles.methodSummaryContainer}>\r\n <div className={styles.methodSummary}>\r\n <span\r\n style={{\r\n backgroundColor: methodColorMapping?.[method?.type]?.color || '#3A6CD1',\r\n }}\r\n className={styles.methodLabel}\r\n >\r\n {methodColorMapping?.[method?.type]?.label || method?.type}\r\n </span>\r\n <span className={styles.methodPath}>{path}</span>\r\n </div>\r\n <div\r\n className={`${styles.methodExpandArrowContainer} ${isOpen ? styles.expanded : ''}`}\r\n >\r\n <SVGLoader src={DownArrowIcon} width=\"2rem\" height=\"2rem\" />\r\n </div>\r\n </div>\r\n }\r\n children={\r\n <div className={styles.methodAccordionContent}>\r\n <SelectGroup\r\n className={styles.methodDesc}\r\n disabled={readOnly}\r\n placeholder=\"Select Tags\"\r\n label=\"Tags\"\r\n value={method.tags?.map((t) => ({\r\n label: capitalize(t),\r\n value: t,\r\n }))}\r\n onChange={(item) => {\r\n setFieldValue(\r\n 'tags',\r\n item.map((i) => i.value)\r\n )\r\n }}\r\n options={[\r\n {\r\n list: selectionTags,\r\n },\r\n ]}\r\n isMultiple={true}\r\n withSearch={false}\r\n clearable={false}\r\n />\r\n {!readOnly ? (\r\n <TextArea\r\n className={styles.methodDesc}\r\n label=\"Description\"\r\n placeholder=\"Describe the method's purpose and functionality...\"\r\n maxLength={120}\r\n value={method?.description}\r\n onChange={(value) => {\r\n if (value === '' || regex.ASCII.test(value)) setFieldValue('description', value)\r\n }}\r\n />\r\n ) : (\r\n <SimpleLabelValue\r\n key={'description'}\r\n label={'Description: '}\r\n value={method?.description || '-'}\r\n />\r\n )}\r\n <div className={styles.paramsTable}>\r\n <ParamterTable\r\n id=\"paramter-table\"\r\n data={tableRecords}\r\n headCells={paramsTableHeaders}\r\n isFormOpen={isFormOpen}\r\n setIsFormOpen={setIsFormOpen}\r\n saveNewRow={saveNewRow}\r\n readOnly={readOnly}\r\n />\r\n </div>\r\n {method?.type !== 'get' && (\r\n <Accordion\r\n expanded={isExpanded.request}\r\n onChange={() => null}\r\n className={styles.requestAccordion}\r\n summary={\r\n <span className={styles.requestAccordionSummary}>\r\n <div\r\n className={styles.requestAccordionSummary_title}\r\n onClick={() =>\r\n setIsExpanded((prev) => ({\r\n ...prev,\r\n request: !prev.request,\r\n }))\r\n }\r\n >\r\n <SVGLoader\r\n className={isExpanded.request ? styles.expanded : ''}\r\n src={DownArrowIcon}\r\n width=\"2rem\"\r\n height=\"2rem\"\r\n />\r\n Request\r\n {method?.type !== 'delete' && <span style={{ color: 'red' }}>*</span>}\r\n </div>\r\n </span>\r\n }\r\n children={\r\n <JsonInput\r\n acceptType=\"JSON\"\r\n withFooter={!readOnly}\r\n className={'jsonField'}\r\n placeholder=\"Enter your request body as a JSON object....\"\r\n fieldIsDisabled={readOnly}\r\n value={method?.requestBody?.content?.schema?.properties || '{}'}\r\n onChange={(value: string) => {\r\n setFieldValue('requestBody.content.schema.properties', value)\r\n }}\r\n onValidation={() => null}\r\n />\r\n }\r\n />\r\n )}\r\n <Accordion\r\n expanded={isExpanded.response}\r\n onChange={() => null}\r\n className={styles.responseAccordion}\r\n summary={\r\n <span className={styles.responseAccordionSummary}>\r\n <div\r\n className={styles.responseAccordionSummary_title}\r\n onClick={() =>\r\n setIsExpanded((prev) => ({\r\n ...prev,\r\n response: !prev.response,\r\n }))\r\n }\r\n >\r\n <SVGLoader\r\n className={isExpanded.response ? styles.expanded : ''}\r\n src={DownArrowIcon}\r\n width=\"2rem\"\r\n height=\"2rem\"\r\n />\r\n Response<span style={{ color: 'red' }}>*</span>\r\n </div>\r\n\r\n <SelectGroup\r\n withSearch={false}\r\n isMultiple={false}\r\n clearable={false}\r\n placeholder=\"200\"\r\n options={[\r\n {\r\n list: httpStatusCodeOptions,\r\n },\r\n ]}\r\n value={selectedStatusCode}\r\n onChange={(value) => {\r\n setSelectedStatusCode(value)\r\n }}\r\n />\r\n </span>\r\n }\r\n children={\r\n <JsonInput\r\n acceptType=\"JSON\"\r\n withFooter={!readOnly}\r\n className={'jsonField'}\r\n placeholder=\"Enter your response as a JSON object...\"\r\n fieldIsDisabled={readOnly}\r\n value={currentResponse?.content?.schema?.properties || '{}'}\r\n onChange={(value) => {\r\n const currentResIndex = method.responses.findIndex(\r\n (res) => res.code === currentResponse.code\r\n )\r\n\r\n if (currentResIndex !== -1) {\r\n setFieldValue(\r\n `responses[${currentResIndex}].content.schema.properties`,\r\n value\r\n )\r\n } else {\r\n const clonedResponses = structuredClone(method.responses)\r\n\r\n clonedResponses.push({\r\n code: selectedStatusCode.value.toString(),\r\n content: {\r\n contentType: 'application/json',\r\n schema: {\r\n type: 'object',\r\n properties: value,\r\n },\r\n },\r\n })\r\n\r\n setFieldValue('responses', clonedResponses)\r\n }\r\n }}\r\n onValidation={() => null}\r\n />\r\n }\r\n />\r\n </div>\r\n }\r\n />\r\n <CommonDialog\r\n status=\"error\"\r\n content={\r\n <p\r\n style={{\r\n textAlign: 'center',\r\n fontWeight: 400,\r\n fontSize: '1rem',\r\n lineHeight: '1.4375rem',\r\n }}\r\n className=\"delete-msg-container\"\r\n >\r\n Are you sure you want to delete\r\n <span className=\"plan-name\">\r\n Parameter <strong>{selectedParamName}</strong>\r\n </span>\r\n ?\r\n </p>\r\n }\r\n onSubmit={{\r\n onClick: confirmDeleteParameter,\r\n text: 'Delete',\r\n color: 'error',\r\n fullWidth: true,\r\n }}\r\n onCancel={{\r\n text: 'Cancel',\r\n color: 'normal',\r\n fullWidth: true,\r\n }}\r\n onClose={() => setOpenDeleteDialog(false)}\r\n open={openDeleteDialog}\r\n icon={<SVGLoader src={deleteOutlinedIcon} width=\"4.0625rem\" height=\"4.0625rem\" />}\r\n />\r\n </div>\r\n )\r\n}\r\n\r\nexport default MethodsAccordion\r\n"],"names":["httpStatusCodeOptions","httpStatusCodes","map","code","label","_jsxs","className","styles","statusCodeOptionContainer","children","_jsx","statusCodeOptionCircle","style","backgroundColor","handleStatusColor","value","MethodsAccordion","method","path","setFieldValue","readOnly","tags","isOpen","setIsOpen","isExpanded","setIsExpanded","useState","request","response","isFormOpen","setIsFormOpen","tooltipRefs","setTooltipRefs","tableData","setTableData","openDeleteDialog","setOpenDeleteDialog","selectedParamIndex","setSelectedParamIndex","selectedParamName","setSelectedParamName","tableRecords","setTableRecords","selectionTags","setSelectionTags","selectedStatusCode","setSelectedStatusCode","currentResponse","responses","find","res","Number","onTableChange","key","index","newTableData","item","tIndex","Object","assign","handleDeleteClick","id","name","useEffect","paramName","paramType","capitalize","in","schemaType","_a","schema","type","required","jsx","_Fragment","Switch","checked","onClick","description","paramDescContainer","Tooltip","allowHTML","disabled","parameters","_b","length","content","padding","arrowWithBorder","placement","delay","onShow","hide","alignSelf","substring","trigger","onCreate","instance","prev","editDescTooltipContent","editDescTooltipContent_header","TextArea","placeholder","maxLength","onChange","regex","ASCII","test","Button","editDescTooltipContent_btn","variant","size","trim","_c","_d","editDescBtn","color","endIcon","SVGLoader","src","EditIcon","width","height","jsxs","paramDescContainer_separator","deleteParamBtn","DeleteIcon","filteredArray","filter","self","findIndex","t","Accordion","expanded","methodAccordion","summary","methodSummaryContainer","methodSummary","methodColorMapping","methodLabel","methodPath","methodExpandArrowContainer","DownArrowIcon","methodAccordionContent","SelectGroup","methodDesc","i","options","list","isMultiple","withSearch","clearable","SimpleLabelValue","paramsTable","ParamterTable","data","headCells","paramsTableHeaders","saveNewRow","values","requestAccordion","requestAccordionSummary","requestAccordionSummary_title","JsonInput","acceptType","withFooter","fieldIsDisabled","_f","_e","requestBody","properties","onValidation","responseAccordion","responseAccordionSummary","responseAccordionSummary_title","_h","_g","currentResIndex","clonedResponses","structuredClone","push","toString","contentType","CommonDialog","status","textAlign","fontWeight","fontSize","lineHeight","onSubmit","_","text","fullWidth","onCancel","onClose","open","icon","deleteOutlinedIcon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MethodAccordion.js","sources":["../../../../src/components/MethodAccordion/MethodAccordion.tsx"],"sourcesContent":["import { useEffect, useState } from 'react'\r\nimport { Accordion, Button, SelectGroup, SelectGroupV2, Switch, TextArea } from 'digitinary-ui'\r\nimport SVGLoader from '../../components/SVGLoader/SVGLoader'\r\nimport { DeleteIcon, DownArrowIcon, EditIcon, deleteOutlinedIcon } from '../../assets/icons'\r\nimport { httpStatusCodes, methodColorMapping, paramsTableHeaders } from '../../constants/index'\r\nimport Tooltip from '../../components/Tooltip/Tooltip'\r\nimport { TransformedMethod } from '../../types/layout.type'\r\nimport SimpleLabelValue from '../../components/SimpleLabelValue'\r\nimport { capitalize, handleStatusColor } from '../../helpers/methodAccordion.helper'\r\nimport ParamterTable from '../table/table'\r\nimport CommonDialog from '../../components/dialog'\r\nimport JsonInput from '../../components/JsonInput/JsonInput'\r\nimport styles from './MethodAccordion.module.scss'\r\nimport { Tags } from '@entities/openApi'\r\nimport regex from '../../constants/regex'\r\n\r\nconst httpStatusCodeOptions = httpStatusCodes.map((code) => ({\r\n label: (\r\n <div className={styles.statusCodeOptionContainer}>\r\n <div\r\n className={styles.statusCodeOptionCircle}\r\n style={{ backgroundColor: handleStatusColor(code) }}\r\n ></div>\r\n <span>{code}</span>\r\n </div>\r\n ),\r\n value: code,\r\n}))\r\n\r\nconst MethodsAccordion = ({\r\n method,\r\n path,\r\n setFieldValue,\r\n readOnly,\r\n tags,\r\n isOpen,\r\n setIsOpen,\r\n}: {\r\n method: TransformedMethod\r\n path: string\r\n setFieldValue?: (key: string, value: string | string[]) => void\r\n readOnly?: boolean\r\n tags: Tags[]\r\n isOpen: boolean\r\n setIsOpen: (open: boolean) => void\r\n}) => {\r\n const [isExpanded, setIsExpanded] = useState({\r\n request: false,\r\n response: false,\r\n method: false,\r\n })\r\n const [isFormOpen, setIsFormOpen] = useState(false)\r\n const [tooltipRefs, setTooltipRefs] = useState<{ [key: number]: any }>({})\r\n const [tableData, setTableData] = useState([])\r\n const [openDeleteDialog, setOpenDeleteDialog] = useState(false)\r\n const [selectedParamIndex, setSelectedParamIndex] = useState<number | null>(null)\r\n const [selectedParamName, setSelectedParamName] = useState<string | null>(null)\r\n const [tableRecords, setTableRecords] = useState()\r\n const [selectionTags, setSelectionTags] = useState([])\r\n const [selectedStatusCode, setSelectedStatusCode] = useState(httpStatusCodeOptions[4])\r\n const currentResponse =\r\n method.responses.find((res) => Number(res.code) === selectedStatusCode.value) || '{}'\r\n\r\n const onTableChange = (key, value, index) => {\r\n const newTableData = tableData.map((item, tIndex) => {\r\n if (tIndex === index) {\r\n return { ...item, [key]: value }\r\n } else {\r\n return item\r\n }\r\n })\r\n\r\n setTableData(newTableData)\r\n }\r\n\r\n const generateTableData = (items) => {\r\n return items.map((item, index) => {\r\n return {\r\n id: index,\r\n paramName: item.name,\r\n paramType: capitalize(item.in),\r\n schemaType: capitalize(item.schema?.type) || '',\r\n required: (\r\n <>\r\n {readOnly ? (\r\n item.required ? (\r\n 'True'\r\n ) : (\r\n 'False'\r\n )\r\n ) : (\r\n <Switch\r\n checked={item.required}\r\n onClick={() => {\r\n if (readOnly) {\r\n return null\r\n }\r\n onTableChange('required', !item.required, index)\r\n setFieldValue(`parameters[${index}][required]`, !item.required)\r\n }}\r\n />\r\n )}\r\n </>\r\n ),\r\n description: (\r\n <div className={styles.paramDescContainer}>\r\n <Tooltip\r\n key={`${index}-description`}\r\n allowHTML\r\n disabled={method.parameters[index].description?.length <= 12}\r\n content={\r\n <div style={{ padding: '0.625rem' }}>{method.parameters[index].description}</div>\r\n }\r\n arrowWithBorder\r\n placement=\"bottom-end\"\r\n type=\"function\"\r\n delay={[0, 0]}\r\n onShow={() => tooltipRefs[index]?.hide()}\r\n >\r\n <p style={{ alignSelf: 'center' }}>\r\n {method.parameters[index].description\r\n ? method.parameters[index].description.substring(0, 12)\r\n : readOnly && '-'}\r\n {method.parameters[index].description &&\r\n method.parameters[index].description.length > 12\r\n ? '...'\r\n : ''}\r\n </p>\r\n </Tooltip>\r\n {!readOnly && (\r\n <Tooltip\r\n key={`${index}-add-edit-description`}\r\n allowHTML\r\n arrowWithBorder\r\n placement=\"bottom-end\"\r\n type=\"function\"\r\n trigger=\"click\"\r\n delay={[0, 0]}\r\n onCreate={(instance) =>\r\n setTooltipRefs((prev) => ({\r\n ...prev,\r\n [index]: instance,\r\n }))\r\n }\r\n content={\r\n <div className={styles.editDescTooltipContent}>\r\n <p className={styles.editDescTooltipContent_header}>Description</p>\r\n <TextArea\r\n placeholder=\"Describe parameter...\"\r\n value={item.description}\r\n disabled={readOnly}\r\n maxLength={120}\r\n onChange={(value) => {\r\n if (value === '' || regex.ASCII.test(value))\r\n onTableChange('description', value, index)\r\n }}\r\n />\r\n {!readOnly && (\r\n <Button\r\n className={styles.editDescTooltipContent_btn}\r\n variant=\"outlined\"\r\n size=\"small\"\r\n onClick={() => {\r\n setFieldValue(\r\n `parameters[${index}].description`,\r\n item.description?.trim()\r\n )\r\n tooltipRefs[index]?.hide()\r\n }}\r\n disabled={!item.description?.trim()}\r\n >\r\n Apply\r\n </Button>\r\n )}\r\n </div>\r\n }\r\n >\r\n {readOnly || method.parameters[index].description?.length > 0 ? (\r\n <Button\r\n className={styles.editDescBtn}\r\n variant=\"link\"\r\n color=\"action\"\r\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\r\n ></Button>\r\n ) : (\r\n <Button\r\n className={styles.editDescBtn}\r\n variant=\"link\"\r\n color=\"action\"\r\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\r\n >\r\n {readOnly ? 'View ' : 'Add '} Description\r\n </Button>\r\n )}\r\n </Tooltip>\r\n )}\r\n\r\n {!readOnly && <div className={styles.paramDescContainer_separator}></div>}\r\n\r\n {!readOnly && (\r\n <Button\r\n className={styles.deleteParamBtn}\r\n variant=\"link\"\r\n color=\"error\"\r\n endIcon={<SVGLoader src={DeleteIcon} width=\"1.125rem\" height=\"1.125rem\" />}\r\n onClick={() => handleDeleteClick(index, item.name)}\r\n ></Button>\r\n )}\r\n </div>\r\n ),\r\n }\r\n })\r\n }\r\n\r\n const confirmDeleteParameter = () => {\r\n if (selectedParamIndex !== null) {\r\n setTableData((prev) => prev.filter((_, i) => i !== selectedParamIndex))\r\n setFieldValue(\r\n `parameters`,\r\n method?.parameters?.filter((_, i) => i !== selectedParamIndex)\r\n )\r\n }\r\n setOpenDeleteDialog(false)\r\n setSelectedParamIndex(null)\r\n }\r\n\r\n const handleDeleteClick = (id: number, name: string) => {\r\n setSelectedParamIndex(id)\r\n setSelectedParamName(name)\r\n\r\n setOpenDeleteDialog(true)\r\n }\r\n\r\n const saveNewRow = (values) => {\r\n setTableData([...tableData, values])\r\n setFieldValue(`parameters`, [...method.parameters, values])\r\n }\r\n\r\n useEffect(() => {\r\n setTableRecords(generateTableData(tableData))\r\n }, [tableData])\r\n\r\n useEffect(() => {\r\n if (method?.parameters) {\r\n setTableData(method.parameters)\r\n }\r\n }, [method, path])\r\n\r\n useEffect(() => {\r\n // prepare tags selection list\r\n if (method?.tags.length || tags?.length) {\r\n const convertedStringArray = (method?.tags || [])?.map((item) => ({\r\n label: capitalize(item),\r\n value: item,\r\n }))\r\n const mergedArray = [\r\n ...convertedStringArray,\r\n ...(tags || []).map((item) => ({ label: capitalize(item.name), value: item.name })),\r\n ]\r\n\r\n const filteredArray = mergedArray.filter(\r\n (value, index, self) => index === self.findIndex((t) => t.value === value.value)\r\n )\r\n\r\n setSelectionTags(filteredArray)\r\n }\r\n }, [tags, method])\r\n\r\n return (\r\n <div>\r\n <Accordion\r\n expanded={isOpen}\r\n onChange={() => setIsOpen(!isOpen)}\r\n className={`${styles.methodAccordion} ${readOnly ? styles.readOnly : ''}`}\r\n summary={\r\n <div className={styles.methodSummaryContainer}>\r\n <div className={styles.methodSummary}>\r\n <span\r\n style={{\r\n backgroundColor: methodColorMapping?.[method?.type]?.color || '#3A6CD1',\r\n }}\r\n className={styles.methodLabel}\r\n >\r\n {methodColorMapping?.[method?.type]?.label || method?.type}\r\n </span>\r\n <span className={styles.methodPath}>{path}</span>\r\n </div>\r\n <div\r\n className={`${styles.methodExpandArrowContainer} ${isOpen ? styles.expanded : ''}`}\r\n >\r\n <SVGLoader src={DownArrowIcon} width=\"2rem\" height=\"2rem\" />\r\n </div>\r\n </div>\r\n }\r\n children={\r\n <div className={styles.methodAccordionContent}>\r\n <SelectGroup\r\n className={styles.methodDesc}\r\n disabled={readOnly}\r\n placeholder=\"Select Tags\"\r\n label=\"Tags\"\r\n value={method.tags?.map((t) => ({\r\n label: capitalize(t),\r\n value: t,\r\n }))}\r\n onChange={(item) => {\r\n setFieldValue(\r\n 'tags',\r\n item.map((i) => i.value)\r\n )\r\n }}\r\n options={[\r\n {\r\n list: selectionTags,\r\n },\r\n ]}\r\n isMultiple={true}\r\n withSearch={false}\r\n clearable={false}\r\n />\r\n {!readOnly ? (\r\n <TextArea\r\n className={styles.methodDesc}\r\n label=\"Description\"\r\n placeholder=\"Describe the method's purpose and functionality...\"\r\n maxLength={120}\r\n value={method?.description}\r\n onChange={(value) => {\r\n if (value === '' || regex.ASCII.test(value)) setFieldValue('description', value)\r\n }}\r\n />\r\n ) : (\r\n <SimpleLabelValue\r\n key={'description'}\r\n label={'Description: '}\r\n value={method?.description || '-'}\r\n />\r\n )}\r\n <div className={styles.paramsTable}>\r\n <ParamterTable\r\n id=\"paramter-table\"\r\n data={tableRecords}\r\n headCells={paramsTableHeaders}\r\n isFormOpen={isFormOpen}\r\n setIsFormOpen={setIsFormOpen}\r\n saveNewRow={saveNewRow}\r\n readOnly={readOnly}\r\n />\r\n </div>\r\n {method?.type !== 'get' && (\r\n <Accordion\r\n expanded={isExpanded.request}\r\n onChange={() => null}\r\n className={styles.requestAccordion}\r\n summary={\r\n <span className={styles.requestAccordionSummary}>\r\n <div\r\n className={styles.requestAccordionSummary_title}\r\n onClick={() =>\r\n setIsExpanded((prev) => ({\r\n ...prev,\r\n request: !prev.request,\r\n }))\r\n }\r\n >\r\n <SVGLoader\r\n className={isExpanded.request ? styles.expanded : ''}\r\n src={DownArrowIcon}\r\n width=\"2rem\"\r\n height=\"2rem\"\r\n />\r\n Request\r\n {method?.type !== 'delete' && <span style={{ color: 'red' }}>*</span>}\r\n </div>\r\n </span>\r\n }\r\n children={\r\n <JsonInput\r\n acceptType=\"JSON\"\r\n withFooter={!readOnly}\r\n className={'jsonField'}\r\n placeholder=\"Enter your request body as a JSON object....\"\r\n fieldIsDisabled={readOnly}\r\n value={method?.requestBody?.content?.schema?.properties || '{}'}\r\n onChange={(value: string) => {\r\n setFieldValue('requestBody.content.schema.properties', value)\r\n }}\r\n onValidation={() => null}\r\n />\r\n }\r\n />\r\n )}\r\n <Accordion\r\n expanded={isExpanded.response}\r\n onChange={() => null}\r\n className={styles.responseAccordion}\r\n summary={\r\n <span className={styles.responseAccordionSummary}>\r\n <div\r\n className={styles.responseAccordionSummary_title}\r\n onClick={() =>\r\n setIsExpanded((prev) => ({\r\n ...prev,\r\n response: !prev.response,\r\n }))\r\n }\r\n >\r\n <SVGLoader\r\n className={isExpanded.response ? styles.expanded : ''}\r\n src={DownArrowIcon}\r\n width=\"2rem\"\r\n height=\"2rem\"\r\n />\r\n Response<span style={{ color: 'red' }}>*</span>\r\n </div>\r\n\r\n <SelectGroup\r\n withSearch={false}\r\n isMultiple={false}\r\n clearable={false}\r\n placeholder=\"200\"\r\n options={[\r\n {\r\n list: httpStatusCodeOptions,\r\n },\r\n ]}\r\n value={selectedStatusCode}\r\n onChange={(value) => {\r\n setSelectedStatusCode(value)\r\n }}\r\n />\r\n </span>\r\n }\r\n children={\r\n <JsonInput\r\n acceptType=\"JSON\"\r\n withFooter={!readOnly}\r\n className={'jsonField'}\r\n placeholder=\"Enter your response as a JSON object...\"\r\n fieldIsDisabled={readOnly}\r\n value={currentResponse?.content?.schema?.properties || '{}'}\r\n onChange={(value) => {\r\n const currentResIndex = method.responses.findIndex(\r\n (res) => res.code === currentResponse.code\r\n )\r\n\r\n if (currentResIndex !== -1) {\r\n setFieldValue(\r\n `responses[${currentResIndex}].content.schema.properties`,\r\n value\r\n )\r\n } else {\r\n const clonedResponses = structuredClone(method.responses)\r\n\r\n clonedResponses.push({\r\n code: selectedStatusCode.value.toString(),\r\n content: {\r\n contentType: 'application/json',\r\n schema: {\r\n type: 'object',\r\n properties: value,\r\n },\r\n },\r\n })\r\n\r\n setFieldValue('responses', clonedResponses)\r\n }\r\n }}\r\n onValidation={() => null}\r\n />\r\n }\r\n />\r\n </div>\r\n }\r\n />\r\n <CommonDialog\r\n status=\"error\"\r\n content={\r\n <p\r\n style={{\r\n textAlign: 'center',\r\n fontWeight: 400,\r\n fontSize: '1rem',\r\n lineHeight: '1.4375rem',\r\n }}\r\n className=\"delete-msg-container\"\r\n >\r\n Are you sure you want to delete\r\n <span className=\"plan-name\">\r\n {' '}\r\n Parameter <strong>{selectedParamName}</strong>\r\n </span>\r\n ?\r\n </p>\r\n }\r\n onSubmit={{\r\n onClick: confirmDeleteParameter,\r\n text: 'Delete',\r\n color: 'error',\r\n fullWidth: true,\r\n }}\r\n onCancel={{\r\n text: 'Cancel',\r\n color: 'normal',\r\n fullWidth: true,\r\n }}\r\n onClose={() => setOpenDeleteDialog(false)}\r\n open={openDeleteDialog}\r\n icon={<SVGLoader src={deleteOutlinedIcon} width=\"4.0625rem\" height=\"4.0625rem\" />}\r\n />\r\n </div>\r\n )\r\n}\r\n\r\nexport default MethodsAccordion\r\n"],"names":["httpStatusCodeOptions","httpStatusCodes","map","code","label","_jsxs","className","styles","statusCodeOptionContainer","children","_jsx","statusCodeOptionCircle","style","backgroundColor","handleStatusColor","value","MethodsAccordion","method","path","setFieldValue","readOnly","tags","isOpen","setIsOpen","isExpanded","setIsExpanded","useState","request","response","isFormOpen","setIsFormOpen","tooltipRefs","setTooltipRefs","tableData","setTableData","openDeleteDialog","setOpenDeleteDialog","selectedParamIndex","setSelectedParamIndex","selectedParamName","setSelectedParamName","tableRecords","setTableRecords","selectionTags","setSelectionTags","selectedStatusCode","setSelectedStatusCode","currentResponse","responses","find","res","Number","onTableChange","key","index","newTableData","item","tIndex","Object","assign","handleDeleteClick","id","name","useEffect","paramName","paramType","capitalize","in","schemaType","_a","schema","type","required","jsx","_Fragment","Switch","checked","onClick","description","paramDescContainer","Tooltip","allowHTML","disabled","parameters","_b","length","content","padding","arrowWithBorder","placement","delay","onShow","hide","alignSelf","substring","trigger","onCreate","instance","prev","editDescTooltipContent","editDescTooltipContent_header","TextArea","placeholder","maxLength","onChange","regex","ASCII","test","Button","editDescTooltipContent_btn","variant","size","trim","_c","_d","editDescBtn","color","endIcon","SVGLoader","src","EditIcon","width","height","jsxs","paramDescContainer_separator","deleteParamBtn","DeleteIcon","filteredArray","filter","self","findIndex","t","Accordion","expanded","methodAccordion","summary","methodSummaryContainer","methodSummary","methodColorMapping","methodLabel","methodPath","methodExpandArrowContainer","DownArrowIcon","methodAccordionContent","SelectGroup","methodDesc","i","options","list","isMultiple","withSearch","clearable","SimpleLabelValue","paramsTable","ParamterTable","data","headCells","paramsTableHeaders","saveNewRow","values","requestAccordion","requestAccordionSummary","requestAccordionSummary_title","JsonInput","acceptType","withFooter","fieldIsDisabled","_f","_e","requestBody","properties","onValidation","responseAccordion","responseAccordionSummary","responseAccordionSummary_title","_h","_g","currentResIndex","clonedResponses","structuredClone","push","toString","contentType","CommonDialog","status","textAlign","fontWeight","fontSize","lineHeight","onSubmit","_","text","fullWidth","onCancel","onClose","open","icon","deleteOutlinedIcon"],"mappings":"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"}
|