@digi-frontend/dgate-api-documentation 1.0.15 → 1.0.18

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.
@@ -1,2 +1,2 @@
1
- import{j as e}from"../../../_virtual/jsx-runtime.js";import{useState as i,useEffect as t}from"react";import{useFormikContext as n}from"../../../node_modules/formik/dist/formik.esm.js";import{d as o}from"../../../_virtual/index.js";import s from"./InfoForm.module.scss.js";import r from"../../constants/regex.js";import l from"../Tooltip/Tooltip.js";import a from"../../assets/icons/DeleteIcon.svg.js";import c from"../../assets/icons/EditIcon.svg.js";import d from"../../assets/icons/deleteOutlinedIcon.svg.js";import m from"../SVGLoader/SVGLoader.js";import p from"../dialog/index.js";import{tagsTableHeaders as u}from"../../constants/index.js";import v from"../table/tags-table.js";const x=({readOnly:x})=>{var h,g,j,D,f;const[b,C]=i([]),[N,k]=i(),[y,O]=i(""),[T,A]=i(""),[I,B]=i(""),{values:w,setFieldValue:_,errors:E}=n(),[S,z]=i({}),[L,V]=i({}),[F,P]=i(null),[W,R]=i(null),[q,$]=i(!1),[G,M]=i(!1);t((()=>{if(w&&w.components&&w.components.securitySchemes){const e=Object.keys(w.components.securitySchemes);e.length&&O(w.components.securitySchemes[e[0]].scheme)}}),[]),t((()=>{k(U(b))}),[b]),t((()=>{w.tags&&w.tags.length&&(k(U(w.tags)),C(w.tags))}),[]);const H=(e,i,t)=>{const n=b.map(((n,o)=>o===t?Object.assign(Object.assign({},n),{[e]:i}):n));C(n)},U=i=>i.map(((i,t)=>{var n,r,d,p,u,v,h,g,j,D;return{id:t,tagName:i.name,description:e.jsx("div",{className:s.paramDescContainer,children:e.jsx(l,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>V((i=>Object.assign(Object.assign({},i),{[t]:e}))),content:e.jsxs("div",{className:s.editDescTooltipContent,children:[e.jsx("p",{className:s.editDescTooltipContent_header,children:"Description"}),e.jsx(o.TextArea,{placeholder:"Describe parameter...",value:i.description,disabled:x,onChange:e=>H("description",e,t)}),!x&&e.jsx(o.Button,{className:s.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{var e;_(`tags[${t}].description`,i.description),null===(e=L[t])||void 0===e||e.hide()},children:"Apply"})]}),children:x?e.jsxs(o.Button,{className:s.editDescBtn,variant:"link",color:"action",children:[i.description?i.description.substring(0,12):"-",i.description&&i.description.length>12?"...":""]}):e.jsx(o.Button,{className:s.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(m,{src:c,width:"1.5rem",height:"1.5rem"}),children:x||i.description?"View Description":"Add Description"})})}),externalDocs:e.jsxs("div",{className:s.paramDescContainer,children:[e.jsx(l,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>z((i=>Object.assign(Object.assign({},i),{[t]:e}))),content:e.jsxs("div",{className:s.editDescTooltipContent,children:[e.jsx("p",{className:s.editDescTooltipContent_header,children:"External Docs Description"}),e.jsx(o.TextArea,{placeholder:"Describe External Doc...",value:null===(n=i.externalDocs)||void 0===n?void 0:n.description,disabled:x,onChange:e=>{H("externalDocs",Object.assign(Object.assign({},i.externalDocs),{description:e}),t),A(e)}}),e.jsx("p",{className:s.editDescTooltipContent_header,children:"External Docs Link"}),e.jsx(o.TextArea,{placeholder:"External Docs Link...",value:null===(r=i.externalDocs)||void 0===r?void 0:r.url,disabled:x,onChange:e=>{H("externalDocs",Object.assign(Object.assign({},i.externalDocs),{url:e}),t),B(e)}}),!x&&e.jsx(o.Button,{className:s.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{var e;_(`tags[${t}].externalDocs`,{description:T,url:I}),A(""),B(""),null===(e=S[t])||void 0===e||e.hide()},children:"Apply"})]}),children:x?e.jsxs(o.Button,{className:s.editDescBtn,variant:"link",color:"action",onClick:()=>{var e;const t=document.createElement("a");t.href=null===(e=i.externalDocs)||void 0===e?void 0:e.url,t.target="_blank",t.click()},children:[(null===(d=null==i?void 0:i.externalDocs)||void 0===d?void 0:d.description)?null===(u=null===(p=null==i?void 0:i.externalDocs)||void 0===p?void 0:p.description)||void 0===u?void 0:u.substring(0,12):"-",(null===(v=null==i?void 0:i.externalDocs)||void 0===v?void 0:v.description)&&(null===(g=null===(h=null==i?void 0:i.externalDocs)||void 0===h?void 0:h.description)||void 0===g?void 0:g.length)>12?"...":""]}):e.jsxs(o.Button,{className:s.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(m,{src:c,width:"1.5rem",height:"1.5rem"}),onClick:()=>{var e,t;A(null===(e=i.externalDocs)||void 0===e?void 0:e.description),B(null===(t=i.externalDocs)||void 0===t?void 0:t.url)},children:[x||i.externalDocs&&((null===(j=i.externalDocs)||void 0===j?void 0:j.url)||(null===(D=i.externalDocs)||void 0===D?void 0:D.description))?"View ":"Add "," ","External Docs Link"]})}),!x&&e.jsx("div",{className:s.paramDescContainer_separator}),!x&&e.jsx(o.Button,{className:s.deleteParamBtn,variant:"link",color:"error",endIcon:e.jsx(m,{src:a,width:"1.125rem",height:"1.125rem"}),onClick:()=>{return e=t,n=i.name,P(e),R(n),void $(!0);var e,n}})]})}}));return e.jsxs("form",{className:s.apiInfoForm,onSubmit:e=>e.preventDefault(),children:[e.jsx(o.Input,{size:"large",placeholder:"e.g. Payments",label:"API Name",required:!0,value:null===(h=null==w?void 0:w.info)||void 0===h?void 0:h.title,maxLength:25,onChange:e=>{_("info.title",e)},onClear:()=>{_("info.title","")},errorMsg:null===(g=null==E?void 0:E.info)||void 0===g?void 0:g.title,restrictedCharsRegex:r.basic}),e.jsxs("div",{className:s.apiDocRow,children:[e.jsx(o.Input,{size:"large",label:"API Authentication Type",required:!0,value:(Y=y,Y?Y.charAt(0).toUpperCase()+Y.slice(1):""),disabled:!0}),e.jsx(o.Input,{size:"large",label:"Version",required:!0,value:null===(j=null==w?void 0:w.info)||void 0===j?void 0:j.version,disabled:!0})]}),e.jsx(o.TextArea,{size:"large",placeholder:"Enter a description of the API's functionality...",label:"Description",value:null===(D=null==w?void 0:w.info)||void 0===D?void 0:D.description,maxLength:120,onChange:e=>{_("info.description",e)},onClear:()=>{_("info.description","")},errorMessage:null===(f=null==E?void 0:E.info)||void 0===f?void 0:f.description,restrictedCharsRegex:r.restrictNone}),e.jsx("div",{className:s.paramsTable,children:e.jsx(v,{id:"paramter-table",data:N,headCells:u,isFormOpen:G,setIsFormOpen:M,saveNewRow:e=>{C([...b,e]),_("tags",[...w.tags,e])},readOnly:x})}),e.jsx(p,{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.jsx("span",{className:"plan-name",children:` Tag ${W} `}),"?"]}),onSubmit:{onClick:()=>{var e;null!==F&&(C((e=>e.filter(((e,i)=>i!==F)))),_("tags",null===(e=w.tags)||void 0===e?void 0:e.filter(((e,i)=>i!==F)))),$(!1),P(null)},text:"Yes",color:"error",fullWidth:!0},onCancel:{text:"No",color:"normal",fullWidth:!0},onClose:()=>$(!1),open:q,icon:e.jsx(m,{src:d,width:"4.0625rem",height:"4.0625rem"})})]});var Y};export{x as default};
1
+ import{j as e}from"../../../_virtual/jsx-runtime.js";import{useState as i,useEffect as t}from"react";import{useFormikContext as n}from"../../../node_modules/formik/dist/formik.esm.js";import{d as o}from"../../../_virtual/index.js";import s from"./InfoForm.module.scss.js";import r from"../../constants/regex.js";import l from"../Tooltip/Tooltip.js";import a from"../../assets/icons/DeleteIcon.svg.js";import c from"../../assets/icons/EditIcon.svg.js";import d from"../../assets/icons/deleteOutlinedIcon.svg.js";import m from"../SVGLoader/SVGLoader.js";import p from"../dialog/index.js";import{tagsTableHeaders as u}from"../../constants/index.js";import v from"../table/tags-table.js";const x=({readOnly:x})=>{var h,g,j,D,f;const[b,C]=i([]),[N,k]=i(),[y,O]=i(""),[T,A]=i(""),[I,B]=i(""),{values:w,setFieldValue:_,errors:E}=n(),[S,z]=i({}),[L,V]=i({}),[F,P]=i(null),[W,R]=i(null),[q,$]=i(!1),[G,M]=i(!1);t((()=>{if(w&&w.components&&w.components.securitySchemes){const e=Object.keys(w.components.securitySchemes);e.length&&O(w.components.securitySchemes[e[0]].scheme)}}),[]),t((()=>{k(U(b))}),[b]),t((()=>{w.tags&&w.tags.length&&(k(U(w.tags)),C(w.tags))}),[w.tags]);const H=(e,i,t)=>{const n=b.map(((n,o)=>o===t?Object.assign(Object.assign({},n),{[e]:i}):n));C(n)},U=i=>i.map(((i,t)=>{var n,r,d,p,u,v,h,g,j,D;return{id:t,tagName:i.name,description:e.jsx("div",{className:s.paramDescContainer,children:e.jsx(l,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>V((i=>Object.assign(Object.assign({},i),{[t]:e}))),content:e.jsxs("div",{className:s.editDescTooltipContent,children:[e.jsx("p",{className:s.editDescTooltipContent_header,children:"Description"}),e.jsx(o.TextArea,{placeholder:"Describe parameter...",value:i.description,disabled:x,onChange:e=>H("description",e,t)}),!x&&e.jsx(o.Button,{className:s.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{var e;_(`tags[${t}].description`,i.description),null===(e=L[t])||void 0===e||e.hide()},children:"Apply"})]}),children:x?e.jsxs(o.Button,{className:s.editDescBtn,variant:"link",color:"action",children:[i.description?i.description.substring(0,12):"-",i.description&&i.description.length>12?"...":""]}):e.jsx(o.Button,{className:s.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(m,{src:c,width:"1.5rem",height:"1.5rem"}),children:x||i.description?"View Description":"Add Description"})})}),externalDocs:e.jsxs("div",{className:s.paramDescContainer,children:[e.jsx(l,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>z((i=>Object.assign(Object.assign({},i),{[t]:e}))),content:e.jsxs("div",{className:s.editDescTooltipContent,children:[e.jsx("p",{className:s.editDescTooltipContent_header,children:"External Docs Description"}),e.jsx(o.TextArea,{placeholder:"Describe External Doc...",value:null===(n=i.externalDocs)||void 0===n?void 0:n.description,disabled:x,onChange:e=>{H("externalDocs",Object.assign(Object.assign({},i.externalDocs),{description:e}),t),A(e)}}),e.jsx("p",{className:s.editDescTooltipContent_header,children:"External Docs Link"}),e.jsx(o.TextArea,{placeholder:"External Docs Link...",value:null===(r=i.externalDocs)||void 0===r?void 0:r.url,disabled:x,onChange:e=>{H("externalDocs",Object.assign(Object.assign({},i.externalDocs),{url:e}),t),B(e)}}),!x&&e.jsx(o.Button,{className:s.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{var e;_(`tags[${t}].externalDocs`,{description:T,url:I}),A(""),B(""),null===(e=S[t])||void 0===e||e.hide()},children:"Apply"})]}),children:x?e.jsxs(o.Button,{className:s.editDescBtn,variant:"link",color:"action",onClick:()=>{var e;const t=document.createElement("a");t.href=null===(e=i.externalDocs)||void 0===e?void 0:e.url,t.target="_blank",t.click()},children:[(null===(d=null==i?void 0:i.externalDocs)||void 0===d?void 0:d.description)?null===(u=null===(p=null==i?void 0:i.externalDocs)||void 0===p?void 0:p.description)||void 0===u?void 0:u.substring(0,12):"-",(null===(v=null==i?void 0:i.externalDocs)||void 0===v?void 0:v.description)&&(null===(g=null===(h=null==i?void 0:i.externalDocs)||void 0===h?void 0:h.description)||void 0===g?void 0:g.length)>12?"...":""]}):e.jsxs(o.Button,{className:s.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(m,{src:c,width:"1.5rem",height:"1.5rem"}),onClick:()=>{var e,t;A(null===(e=i.externalDocs)||void 0===e?void 0:e.description),B(null===(t=i.externalDocs)||void 0===t?void 0:t.url)},children:[x||i.externalDocs&&((null===(j=i.externalDocs)||void 0===j?void 0:j.url)||(null===(D=i.externalDocs)||void 0===D?void 0:D.description))?"View ":"Add "," ","External Docs Link"]})}),!x&&e.jsx("div",{className:s.paramDescContainer_separator}),!x&&e.jsx(o.Button,{className:s.deleteParamBtn,variant:"link",color:"error",endIcon:e.jsx(m,{src:a,width:"1.125rem",height:"1.125rem"}),onClick:()=>{return e=t,n=i.name,P(e),R(n),void $(!0);var e,n}})]})}}));return e.jsxs("form",{className:s.apiInfoForm,onSubmit:e=>e.preventDefault(),children:[e.jsx(o.Input,{size:"large",placeholder:"e.g. Payments",label:"API Name",required:!0,value:null===(h=null==w?void 0:w.info)||void 0===h?void 0:h.title,maxLength:25,onChange:e=>{_("info.title",e)},onClear:()=>{_("info.title","")},errorMsg:null===(g=null==E?void 0:E.info)||void 0===g?void 0:g.title,restrictedCharsRegex:r.basic}),e.jsxs("div",{className:s.apiDocRow,children:[e.jsx(o.Input,{size:"large",label:"API Authentication Type",required:!0,value:(Y=y,Y?Y.charAt(0).toUpperCase()+Y.slice(1):""),disabled:!0}),e.jsx(o.Input,{size:"large",label:"Version",required:!0,value:null===(j=null==w?void 0:w.info)||void 0===j?void 0:j.version,disabled:!0})]}),e.jsx(o.TextArea,{size:"large",placeholder:"Enter a description of the API's functionality...",label:"Description",value:null===(D=null==w?void 0:w.info)||void 0===D?void 0:D.description,maxLength:120,onChange:e=>{_("info.description",e)},onClear:()=>{_("info.description","")},errorMessage:null===(f=null==E?void 0:E.info)||void 0===f?void 0:f.description,restrictedCharsRegex:r.restrictNone}),e.jsx("div",{className:s.paramsTable,children:e.jsx(v,{id:"paramter-table",data:N,headCells:u,isFormOpen:G,setIsFormOpen:M,saveNewRow:e=>{C([...b,e]);const i=w.tags||[];_("tags",[...i,e])},readOnly:x})}),e.jsx(p,{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.jsx("span",{className:"plan-name",children:` Tag ${W} `}),"?"]}),onSubmit:{onClick:()=>{var e;null!==F&&(C((e=>e.filter(((e,i)=>i!==F)))),_("tags",null===(e=w.tags)||void 0===e?void 0:e.filter(((e,i)=>i!==F)))),$(!1),P(null)},text:"Yes",color:"error",fullWidth:!0},onCancel:{text:"No",color:"normal",fullWidth:!0},onClose:()=>$(!1),open:q,icon:e.jsx(m,{src:d,width:"4.0625rem",height:"4.0625rem"})})]});var Y};export{x as default};
2
2
  //# sourceMappingURL=InfoForm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InfoForm.js","sources":["../../../../src/components/InfoForm/InfoForm.tsx"],"sourcesContent":["import { useEffect, useState } from 'react'\r\n// @ts-ignore\r\nimport { useFormikContext } from 'formik'\r\nimport { Button, Input, TextArea } from 'digitinary-ui'\r\nimport styles from './InfoForm.module.scss'\r\nimport regex from '../../constants/regex'\r\nimport { TransformedOpenApi } from '../../types/transformedOpenApi'\r\nimport Tooltip from '../../components/Tooltip/Tooltip'\r\nimport { DeleteIcon, deleteOutlinedIcon, EditIcon } from '../../assets/icons'\r\nimport SVGLoader from '../../components/SVGLoader/SVGLoader'\r\nimport CommonDialog from '../../components/dialog'\r\nimport { tagsTableHeaders } from '../../constants/index'\r\nimport TagsTable from '../../components/table/tags-table'\r\n\r\nconst InfoForm = ({ readOnly }: { readOnly?: boolean }) => {\r\n const [tableData, setTableData] = useState([])\r\n const [tableRecords, setTableRecords] = useState()\r\n const [authType, setAuthType] = useState('')\r\n const [description, setDescription] = useState('')\r\n const [url, setURL] = useState('')\r\n const { values, setFieldValue, errors } = useFormikContext<TransformedOpenApi>()\r\n const [externalTooltipRefs, setExternalTooltipRefs] = useState<{ [key: number]: any }>({})\r\n const [tooltipRefs, setTooltipRefs] = useState<{ [key: number]: any }>({})\r\n const [selectedTagIndex, setSelectedTagIndex] = useState<number | null>(null)\r\n const [selectedTagName, setSelectedTagName] = useState<string | null>(null)\r\n const [openDeleteDialog, setOpenDeleteDialog] = useState(false)\r\n const [isFormOpen, setIsFormOpen] = useState(false)\r\n\r\n useEffect(() => {\r\n if (values && values.components && values.components.securitySchemes) {\r\n const authenticatorKeys = Object.keys(values.components.securitySchemes)\r\n if (authenticatorKeys.length) {\r\n setAuthType(values.components.securitySchemes[authenticatorKeys[0]].scheme)\r\n }\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n setTableRecords(generateTableData(tableData))\r\n }, [tableData])\r\n\r\n useEffect(() => {\r\n if (values.tags && values.tags.length) {\r\n setTableRecords(generateTableData(values.tags))\r\n setTableData(values.tags)\r\n }\r\n }, [])\r\n\r\n const confirmDeleteTag = () => {\r\n if (selectedTagIndex !== null) {\r\n setTableData((prev) => prev.filter((_, i) => i !== selectedTagIndex))\r\n setFieldValue(\r\n `tags`,\r\n values.tags?.filter((_, i) => i !== selectedTagIndex)\r\n )\r\n }\r\n setOpenDeleteDialog(false)\r\n setSelectedTagIndex(null)\r\n }\r\n\r\n const capitalize = (str) => {\r\n if (!str) return ''\r\n return str.charAt(0).toUpperCase() + str.slice(1)\r\n }\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 saveNewRow = (tag) => {\r\n setTableData([...tableData, tag])\r\n setFieldValue(`tags`, [...values.tags, tag])\r\n }\r\n\r\n const handleDeleteClick = (id: number, name: string) => {\r\n setSelectedTagIndex(id)\r\n setSelectedTagName(name)\r\n\r\n setOpenDeleteDialog(true)\r\n }\r\n\r\n const generateTableData = (items) => {\r\n return items.map((item, index) => ({\r\n id: index,\r\n tagName: item.name,\r\n description: (\r\n <div className={styles.paramDescContainer}>\r\n <Tooltip\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 onChange={(value) => onTableChange('description', value, index)}\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(`tags[${index}].description`, item.description)\r\n tooltipRefs[index]?.hide()\r\n }}\r\n >\r\n Apply\r\n </Button>\r\n )}\r\n </div>\r\n }\r\n >\r\n {readOnly ? (\r\n <Button className={styles.editDescBtn} variant=\"link\" color=\"action\">\r\n {item.description ? item.description.substring(0, 12) : '-'}\r\n {item.description && item.description.length > 12 ? '...' : ''}\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 || item.description ? 'View Description' : 'Add Description'}\r\n </Button>\r\n )}\r\n </Tooltip>\r\n </div>\r\n ),\r\n externalDocs: (\r\n <div className={styles.paramDescContainer}>\r\n <Tooltip\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 setExternalTooltipRefs((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}>External Docs Description</p>\r\n <TextArea\r\n placeholder=\"Describe External Doc...\"\r\n value={item.externalDocs?.description}\r\n disabled={readOnly}\r\n onChange={(value) => {\r\n onTableChange(\r\n 'externalDocs',\r\n { ...item.externalDocs, description: value },\r\n index\r\n )\r\n setDescription(value)\r\n }}\r\n />\r\n <p className={styles.editDescTooltipContent_header}>External Docs Link</p>\r\n <TextArea\r\n placeholder=\"External Docs Link...\"\r\n value={item.externalDocs?.url}\r\n disabled={readOnly}\r\n onChange={(value) => {\r\n onTableChange('externalDocs', { ...item.externalDocs, url: value }, index)\r\n setURL(value)\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(`tags[${index}].externalDocs`, {\r\n description: description,\r\n url: url,\r\n })\r\n setDescription('')\r\n setURL('')\r\n externalTooltipRefs[index]?.hide()\r\n }}\r\n >\r\n Apply\r\n </Button>\r\n )}\r\n </div>\r\n }\r\n >\r\n {readOnly ? (\r\n <Button\r\n className={styles.editDescBtn}\r\n variant=\"link\"\r\n color=\"action\"\r\n onClick={() => {\r\n const a = document.createElement('a')\r\n a.href = item.externalDocs?.url\r\n a.target=\"_blank\"\r\n a.click()\r\n }}\r\n >\r\n {item?.externalDocs?.description\r\n ? item?.externalDocs?.description?.substring(0, 12)\r\n : '-'}\r\n {item?.externalDocs?.description && item?.externalDocs?.description?.length > 12\r\n ? '...'\r\n : ''}\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 onClick={() => {\r\n setDescription(item.externalDocs?.description)\r\n setURL(item.externalDocs?.url)\r\n }}\r\n >\r\n {readOnly ||\r\n (item.externalDocs && (item.externalDocs?.url || item.externalDocs?.description))\r\n ? 'View '\r\n : 'Add '}{' '}\r\n External Docs Link\r\n </Button>\r\n )}\r\n </Tooltip>\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 return (\r\n <form className={styles.apiInfoForm} onSubmit={(e) => e.preventDefault()}>\r\n <Input\r\n size=\"large\"\r\n placeholder=\"e.g. Payments\"\r\n label=\"API Name\"\r\n required\r\n value={values?.info?.title}\r\n maxLength={25}\r\n onChange={(value) => {\r\n setFieldValue('info.title', value)\r\n }}\r\n onClear={() => {\r\n setFieldValue('info.title', '')\r\n }}\r\n errorMsg={errors?.info?.title}\r\n restrictedCharsRegex={regex.basic}\r\n />\r\n <div className={styles.apiDocRow}>\r\n <Input\r\n size=\"large\"\r\n label=\"API Authentication Type\"\r\n required\r\n value={capitalize(authType)}\r\n disabled\r\n />\r\n <Input size=\"large\" label=\"Version\" required value={values?.info?.version} disabled />\r\n </div>\r\n <TextArea\r\n size=\"large\"\r\n placeholder=\"Enter a description of the API's functionality...\"\r\n label=\"Description\"\r\n value={values?.info?.description}\r\n maxLength={120}\r\n onChange={(value: string) => {\r\n setFieldValue('info.description', value)\r\n }}\r\n onClear={() => {\r\n setFieldValue('info.description', '')\r\n }}\r\n errorMessage={errors?.info?.description}\r\n restrictedCharsRegex={regex.restrictNone}\r\n />\r\n <div className={styles.paramsTable}>\r\n <TagsTable\r\n id=\"paramter-table\"\r\n data={tableRecords}\r\n headCells={tagsTableHeaders}\r\n isFormOpen={isFormOpen}\r\n setIsFormOpen={setIsFormOpen}\r\n saveNewRow={saveNewRow}\r\n readOnly={readOnly}\r\n />\r\n </div>\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\">{` Tag ${selectedTagName} `}</span>?\r\n </p>\r\n }\r\n onSubmit={{\r\n onClick: confirmDeleteTag,\r\n text: 'Yes',\r\n color: 'error',\r\n fullWidth: true,\r\n }}\r\n onCancel={{\r\n text: 'No',\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 </form>\r\n )\r\n}\r\n\r\nexport default InfoForm\r\n"],"names":["InfoForm","readOnly","tableData","setTableData","useState","tableRecords","setTableRecords","authType","setAuthType","description","setDescription","url","setURL","values","setFieldValue","errors","useFormikContext","externalTooltipRefs","setExternalTooltipRefs","tooltipRefs","setTooltipRefs","selectedTagIndex","setSelectedTagIndex","selectedTagName","setSelectedTagName","openDeleteDialog","setOpenDeleteDialog","isFormOpen","setIsFormOpen","useEffect","components","securitySchemes","authenticatorKeys","Object","keys","length","scheme","generateTableData","tags","onTableChange","key","value","index","newTableData","map","item","tIndex","assign","items","id","tagName","name","_jsx","className","styles","paramDescContainer","children","Tooltip","arrowWithBorder","placement","type","trigger","delay","onCreate","instance","prev","content","_jsxs","jsxs","editDescTooltipContent","editDescTooltipContent_header","TextArea","placeholder","disabled","onChange","Button","editDescTooltipContent_btn","variant","size","onClick","_a","hide","editDescBtn","color","substring","jsx","endIcon","SVGLoader","src","EditIcon","width","height","externalDocs","_b","a","document","createElement","href","target","click","_c","_e","_d","_f","_h","_g","_j","_k","paramDescContainer_separator","deleteParamBtn","DeleteIcon","handleDeleteClick","apiInfoForm","onSubmit","e","preventDefault","Input","label","required","info","title","maxLength","onClear","errorMsg","restrictedCharsRegex","regex","basic","apiDocRow","str","charAt","toUpperCase","slice","version","errorMessage","restrictNone","paramsTable","TagsTable","data","headCells","tagsTableHeaders","saveNewRow","tag","CommonDialog","status","style","textAlign","fontWeight","fontSize","lineHeight","filter","_","i","text","fullWidth","onCancel","onClose","open","icon","deleteOutlinedIcon"],"mappings":"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"}
1
+ {"version":3,"file":"InfoForm.js","sources":["../../../../src/components/InfoForm/InfoForm.tsx"],"sourcesContent":["import { useEffect, useState } from 'react'\r\n// @ts-ignore\r\nimport { useFormikContext } from 'formik'\r\nimport { Button, Input, TextArea } from 'digitinary-ui'\r\nimport styles from './InfoForm.module.scss'\r\nimport regex from '../../constants/regex'\r\nimport { TransformedOpenApi } from '../../types/transformedOpenApi'\r\nimport Tooltip from '../../components/Tooltip/Tooltip'\r\nimport { DeleteIcon, deleteOutlinedIcon, EditIcon } from '../../assets/icons'\r\nimport SVGLoader from '../../components/SVGLoader/SVGLoader'\r\nimport CommonDialog from '../../components/dialog'\r\nimport { tagsTableHeaders } from '../../constants/index'\r\nimport TagsTable from '../../components/table/tags-table'\r\n\r\nconst InfoForm = ({ readOnly }: { readOnly?: boolean }) => {\r\n const [tableData, setTableData] = useState([])\r\n const [tableRecords, setTableRecords] = useState()\r\n const [authType, setAuthType] = useState('')\r\n const [description, setDescription] = useState('')\r\n const [url, setURL] = useState('')\r\n const { values, setFieldValue, errors } = useFormikContext<TransformedOpenApi>()\r\n const [externalTooltipRefs, setExternalTooltipRefs] = useState<{ [key: number]: any }>({})\r\n const [tooltipRefs, setTooltipRefs] = useState<{ [key: number]: any }>({})\r\n const [selectedTagIndex, setSelectedTagIndex] = useState<number | null>(null)\r\n const [selectedTagName, setSelectedTagName] = useState<string | null>(null)\r\n const [openDeleteDialog, setOpenDeleteDialog] = useState(false)\r\n const [isFormOpen, setIsFormOpen] = useState(false)\r\n\r\n useEffect(() => {\r\n if (values && values.components && values.components.securitySchemes) {\r\n const authenticatorKeys = Object.keys(values.components.securitySchemes)\r\n if (authenticatorKeys.length) {\r\n setAuthType(values.components.securitySchemes[authenticatorKeys[0]].scheme)\r\n }\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n setTableRecords(generateTableData(tableData))\r\n }, [tableData])\r\n\r\n useEffect(() => {\r\n if (values.tags && values.tags.length) {\r\n setTableRecords(generateTableData(values.tags))\r\n setTableData(values.tags)\r\n }\r\n }, [values.tags])\r\n\r\n const confirmDeleteTag = () => {\r\n if (selectedTagIndex !== null) {\r\n setTableData((prev) => prev.filter((_, i) => i !== selectedTagIndex))\r\n setFieldValue(\r\n `tags`,\r\n values.tags?.filter((_, i) => i !== selectedTagIndex)\r\n )\r\n }\r\n setOpenDeleteDialog(false)\r\n setSelectedTagIndex(null)\r\n }\r\n\r\n const capitalize = (str) => {\r\n if (!str) return ''\r\n return str.charAt(0).toUpperCase() + str.slice(1)\r\n }\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 saveNewRow = (tag) => {\r\n setTableData([...tableData, tag])\r\n const oldTags = values.tags || [];\r\n setFieldValue(`tags`, [...oldTags, tag])\r\n }\r\n\r\n const handleDeleteClick = (id: number, name: string) => {\r\n setSelectedTagIndex(id)\r\n setSelectedTagName(name)\r\n\r\n setOpenDeleteDialog(true)\r\n }\r\n\r\n const generateTableData = (items) => {\r\n return items.map((item, index) => ({\r\n id: index,\r\n tagName: item.name,\r\n description: (\r\n <div className={styles.paramDescContainer}>\r\n <Tooltip\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 onChange={(value) => onTableChange('description', value, index)}\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(`tags[${index}].description`, item.description)\r\n tooltipRefs[index]?.hide()\r\n }}\r\n >\r\n Apply\r\n </Button>\r\n )}\r\n </div>\r\n }\r\n >\r\n {readOnly ? (\r\n <Button className={styles.editDescBtn} variant=\"link\" color=\"action\">\r\n {item.description ? item.description.substring(0, 12) : '-'}\r\n {item.description && item.description.length > 12 ? '...' : ''}\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 || item.description ? 'View Description' : 'Add Description'}\r\n </Button>\r\n )}\r\n </Tooltip>\r\n </div>\r\n ),\r\n externalDocs: (\r\n <div className={styles.paramDescContainer}>\r\n <Tooltip\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 setExternalTooltipRefs((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}>External Docs Description</p>\r\n <TextArea\r\n placeholder=\"Describe External Doc...\"\r\n value={item.externalDocs?.description}\r\n disabled={readOnly}\r\n onChange={(value) => {\r\n onTableChange(\r\n 'externalDocs',\r\n { ...item.externalDocs, description: value },\r\n index\r\n )\r\n setDescription(value)\r\n }}\r\n />\r\n <p className={styles.editDescTooltipContent_header}>External Docs Link</p>\r\n <TextArea\r\n placeholder=\"External Docs Link...\"\r\n value={item.externalDocs?.url}\r\n disabled={readOnly}\r\n onChange={(value) => {\r\n onTableChange('externalDocs', { ...item.externalDocs, url: value }, index)\r\n setURL(value)\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(`tags[${index}].externalDocs`, {\r\n description: description,\r\n url: url,\r\n })\r\n setDescription('')\r\n setURL('')\r\n externalTooltipRefs[index]?.hide()\r\n }}\r\n >\r\n Apply\r\n </Button>\r\n )}\r\n </div>\r\n }\r\n >\r\n {readOnly ? (\r\n <Button\r\n className={styles.editDescBtn}\r\n variant=\"link\"\r\n color=\"action\"\r\n onClick={() => {\r\n const a = document.createElement('a')\r\n a.href = item.externalDocs?.url\r\n a.target=\"_blank\"\r\n a.click()\r\n }}\r\n >\r\n {item?.externalDocs?.description\r\n ? item?.externalDocs?.description?.substring(0, 12)\r\n : '-'}\r\n {item?.externalDocs?.description && item?.externalDocs?.description?.length > 12\r\n ? '...'\r\n : ''}\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 onClick={() => {\r\n setDescription(item.externalDocs?.description)\r\n setURL(item.externalDocs?.url)\r\n }}\r\n >\r\n {readOnly ||\r\n (item.externalDocs && (item.externalDocs?.url || item.externalDocs?.description))\r\n ? 'View '\r\n : 'Add '}{' '}\r\n External Docs Link\r\n </Button>\r\n )}\r\n </Tooltip>\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 return (\r\n <form className={styles.apiInfoForm} onSubmit={(e) => e.preventDefault()}>\r\n <Input\r\n size=\"large\"\r\n placeholder=\"e.g. Payments\"\r\n label=\"API Name\"\r\n required\r\n value={values?.info?.title}\r\n maxLength={25}\r\n onChange={(value) => {\r\n setFieldValue('info.title', value)\r\n }}\r\n onClear={() => {\r\n setFieldValue('info.title', '')\r\n }}\r\n errorMsg={errors?.info?.title}\r\n restrictedCharsRegex={regex.basic}\r\n />\r\n <div className={styles.apiDocRow}>\r\n <Input\r\n size=\"large\"\r\n label=\"API Authentication Type\"\r\n required\r\n value={capitalize(authType)}\r\n disabled\r\n />\r\n <Input size=\"large\" label=\"Version\" required value={values?.info?.version} disabled />\r\n </div>\r\n <TextArea\r\n size=\"large\"\r\n placeholder=\"Enter a description of the API's functionality...\"\r\n label=\"Description\"\r\n value={values?.info?.description}\r\n maxLength={120}\r\n onChange={(value: string) => {\r\n setFieldValue('info.description', value)\r\n }}\r\n onClear={() => {\r\n setFieldValue('info.description', '')\r\n }}\r\n errorMessage={errors?.info?.description}\r\n restrictedCharsRegex={regex.restrictNone}\r\n />\r\n <div className={styles.paramsTable}>\r\n <TagsTable\r\n id=\"paramter-table\"\r\n data={tableRecords}\r\n headCells={tagsTableHeaders}\r\n isFormOpen={isFormOpen}\r\n setIsFormOpen={setIsFormOpen}\r\n saveNewRow={saveNewRow}\r\n readOnly={readOnly}\r\n />\r\n </div>\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\">{` Tag ${selectedTagName} `}</span>?\r\n </p>\r\n }\r\n onSubmit={{\r\n onClick: confirmDeleteTag,\r\n text: 'Yes',\r\n color: 'error',\r\n fullWidth: true,\r\n }}\r\n onCancel={{\r\n text: 'No',\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 </form>\r\n )\r\n}\r\n\r\nexport default InfoForm\r\n"],"names":["InfoForm","readOnly","tableData","setTableData","useState","tableRecords","setTableRecords","authType","setAuthType","description","setDescription","url","setURL","values","setFieldValue","errors","useFormikContext","externalTooltipRefs","setExternalTooltipRefs","tooltipRefs","setTooltipRefs","selectedTagIndex","setSelectedTagIndex","selectedTagName","setSelectedTagName","openDeleteDialog","setOpenDeleteDialog","isFormOpen","setIsFormOpen","useEffect","components","securitySchemes","authenticatorKeys","Object","keys","length","scheme","generateTableData","tags","onTableChange","key","value","index","newTableData","map","item","tIndex","assign","items","id","tagName","name","_jsx","className","styles","paramDescContainer","children","Tooltip","arrowWithBorder","placement","type","trigger","delay","onCreate","instance","prev","content","_jsxs","jsxs","editDescTooltipContent","editDescTooltipContent_header","TextArea","placeholder","disabled","onChange","Button","editDescTooltipContent_btn","variant","size","onClick","_a","hide","editDescBtn","color","substring","jsx","endIcon","SVGLoader","src","EditIcon","width","height","externalDocs","_b","a","document","createElement","href","target","click","_c","_e","_d","_f","_h","_g","_j","_k","paramDescContainer_separator","deleteParamBtn","DeleteIcon","handleDeleteClick","apiInfoForm","onSubmit","e","preventDefault","Input","label","required","info","title","maxLength","onClear","errorMsg","restrictedCharsRegex","regex","basic","apiDocRow","str","charAt","toUpperCase","slice","version","errorMessage","restrictNone","paramsTable","TagsTable","data","headCells","tagsTableHeaders","saveNewRow","tag","oldTags","CommonDialog","status","style","textAlign","fontWeight","fontSize","lineHeight","filter","_","i","text","fullWidth","onCancel","onClose","open","icon","deleteOutlinedIcon"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{j as e}from"../../../_virtual/jsx-runtime.js";import{useState as s,useEffect as o}from"react";import t from"./LivePreview.module.scss.js";import i from"../SimpleLabelValue/SimpleLabelValue.js";import n from"../MethodAccordion/MethodAccordion.js";import{useFormikContext as l}from"../../../node_modules/formik/dist/formik.esm.js";import{tagsTableHeaders as r,methodColorMapping as a}from"../../constants/index.js";import d from"../table/tags-table.js";import{d as c}from"../../../_virtual/index.js";const m=({transformedData:m})=>{const[p,u]=s();s({});const[v,x]=s([]);s({});const{values:j}=l(),{info:h,components:g,tags:D}=j,{securitySchemes:f}=g,b=f&&"object"==typeof f&&Object.keys(f).length?Object.keys(f)[0]:null;o((()=>{j.tags&&j.tags.length&&(u(N(j.tags,!0)),x(j.tags))}),[j.tags]);const N=(s,o)=>s.map(((s,i)=>{var n,l,r,a,d,m,p,u,v,x;return{id:i,tagName:s.name,description:e.jsx("div",{className:t.paramDescContainer,children:e.jsxs(c.Button,{className:t.editDescBtn,variant:"link",color:"action",children:[s.description?s.description.substring(0,12):"-",s.description&&s.description.length>12?"...":""]})}),externalDocs:e.jsxs("div",{className:t.paramDescContainer,children:[s.externalDocs&&s.externalDocs.url&&"-"!=s.externalDocs.url?e.jsxs("a",{className:t.editDescBtn,href:(null===(n=s.externalDocs)||void 0===n?void 0:n.url)&&(null===(l=s.externalDocs)||void 0===l?void 0:l.url.indexOf("http"))>-1?null===(r=s.externalDocs)||void 0===r?void 0:r.url:`https://${null===(a=s.externalDocs)||void 0===a?void 0:a.url}`,rel:"noopener noreferrer",target:"_blank",children:[(null===(d=null==s?void 0:s.externalDocs)||void 0===d?void 0:d.description)?null===(p=null===(m=null==s?void 0:s.externalDocs)||void 0===m?void 0:m.description)||void 0===p?void 0:p.substring(0,12):"-",(null===(u=null==s?void 0:s.externalDocs)||void 0===u?void 0:u.description)&&(null===(x=null===(v=null==s?void 0:s.externalDocs)||void 0===v?void 0:v.description)||void 0===x?void 0:x.length)>12?"...":""]}):e.jsxs(c.Button,{className:t.editDescBtn,variant:"link",color:"action",children:[s.description?s.description.substring(0,12):"-",s.description&&s.description.length>12?"...":""]}),!o&&e.jsx("div",{className:t.paramDescContainer_separator}),!o&&e.jsx(c.Button,{className:t.deleteParamBtn,variant:"link",color:"error",onClick:()=>null})]})}}));return e.jsx("div",{children:e.jsx("div",{className:"row",children:e.jsxs("div",{className:"col-md-12",children:[e.jsx("p",{className:t.apiName,children:null==h?void 0:h.title}),e.jsx(i,{label:"API authentication type: ",value:b?f[b].scheme:"-"},"APIAuthenticationType"),e.jsx(i,{label:"Version: ",value:(null==h?void 0:h.version)||"-"},"version"),e.jsx(i,{label:"Description: ",value:(null==h?void 0:h.description)||"-"},"description"),e.jsx(i,{label:"Tags: "},"tags"),e.jsx(d,{id:"tags-table",data:p,headCells:r,isFormOpen:!1,setIsFormOpen:()=>null,saveNewRow:()=>null,readOnly:!0}),e.jsx(i,{label:"Endpoints "},"endpoints"),j.paths.map((s=>e.jsx("div",{className:t.methodsContainer,children:s.methods.sort(((e,s)=>a[e.type].order+a[s.type].order)).map(((o,t)=>e.jsx(n,{readOnly:!0,method:o,path:s.path})))})))]})})})};export{m as default};
1
+ import{j as e}from"../../../_virtual/jsx-runtime.js";import{useState as o,useEffect as s}from"react";import i from"./LivePreview.module.scss.js";import l from"../SimpleLabelValue/SimpleLabelValue.js";import n from"../MethodAccordion/MethodAccordion.js";import{useFormikContext as t}from"../../../node_modules/formik/dist/formik.esm.js";import{tagsTableHeaders as r,methodColorMapping as a}from"../../constants/index.js";import d from"../table/tags-table.js";import{d as c}from"../../../_virtual/index.js";const m=({transformedData:m})=>{const[v,u]=o();o({});const[p,x]=o([]);o({});const{values:j}=t(),{info:h,components:D,tags:f}=j,{securitySchemes:g}=D,b=g&&"object"==typeof g&&Object.keys(g).length?Object.keys(g)[0]:null;s((()=>{j.tags&&(u(N(j.tags,!0)),x(j.tags))}),[j.tags]);const N=(o,s)=>o.map(((o,l)=>{var n,t,r,a,d,m,v,u,p,x,j,h,D,f;return{id:l,tagName:o.name,description:e.jsx("div",{className:i.paramDescContainer,children:e.jsxs(c.Button,{className:i.editDescBtn,variant:"link",color:"action",children:[o.description?o.description.substring(0,12):"-",o.description&&o.description.length>12?"...":""]})}),externalDocs:e.jsxs("div",{className:i.paramDescContainer,children:[o.externalDocs&&o.externalDocs.url&&"-"!=o.externalDocs.url?e.jsxs("a",{className:i.editDescBtn,href:(null===(n=o.externalDocs)||void 0===n?void 0:n.url)&&(null===(t=o.externalDocs)||void 0===t?void 0:t.url.indexOf("http"))>-1?null===(r=o.externalDocs)||void 0===r?void 0:r.url:`https://${null===(a=o.externalDocs)||void 0===a?void 0:a.url}`,rel:"noopener noreferrer",target:"_blank",children:[(null===(d=null==o?void 0:o.externalDocs)||void 0===d?void 0:d.description)?null===(v=null===(m=null==o?void 0:o.externalDocs)||void 0===m?void 0:m.description)||void 0===v?void 0:v.substring(0,12):"-",(null===(u=null==o?void 0:o.externalDocs)||void 0===u?void 0:u.description)&&(null===(x=null===(p=null==o?void 0:o.externalDocs)||void 0===p?void 0:p.description)||void 0===x?void 0:x.length)>12?"...":""]}):e.jsxs(c.Button,{className:i.editDescBtn,variant:"link",color:"action",children:[(null===(j=o.externalDocs)||void 0===j?void 0:j.description)?null===(h=o.externalDocs)||void 0===h?void 0:h.description.substring(0,12):"-",(null===(D=o.externalDocs)||void 0===D?void 0:D.description)&&(null===(f=o.externalDocs)||void 0===f?void 0:f.description.length)>12?"...":""]}),!s&&e.jsx("div",{className:i.paramDescContainer_separator}),!s&&e.jsx(c.Button,{className:i.deleteParamBtn,variant:"link",color:"error",onClick:()=>null})]})}}));return e.jsx("div",{children:e.jsx("div",{className:"row",children:e.jsxs("div",{className:"col-md-12",children:[e.jsx("p",{className:i.apiName,children:null==h?void 0:h.title}),e.jsx(l,{label:"API authentication type: ",value:b?g[b].scheme:"-"},"APIAuthenticationType"),e.jsx(l,{label:"Version: ",value:(null==h?void 0:h.version)||"-"},"version"),e.jsx(l,{label:"Description: ",value:(null==h?void 0:h.description)||"-"},"description"),e.jsx(l,{label:"Tags: "},"tags"),e.jsx(d,{id:"tags-table",data:v,headCells:r,isFormOpen:!1,setIsFormOpen:()=>null,saveNewRow:()=>null,readOnly:!0}),e.jsx(l,{label:"Endpoints "},"endpoints"),j.paths.map((o=>e.jsx("div",{className:i.methodsContainer,children:o.methods.sort(((e,o)=>a[e.type].order+a[o.type].order)).map(((s,i)=>e.jsx(n,{readOnly:!0,method:s,path:o.path})))})))]})})})};export{m as default};
2
2
  //# sourceMappingURL=LivePreview.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LivePreview.js","sources":["../../../../src/components/LivePreview/LivePreview.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react'\r\nimport styles from './LivePreview.module.scss'\r\nimport SimpleLabelValue from '../../components/SimpleLabelValue'\r\n\r\nimport MethodsAccordion from '../../components/MethodAccordion/MethodAccordion'\r\nimport { TransformedOpenApi } from '../../types/transformedOpenApi'\r\nimport { useFormikContext } from 'formik'\r\nimport { methodColorMapping, tagsTableHeaders } from '../../constants/index'\r\nimport TagsTable from '../table/tags-table'\r\nimport { Button, TextArea } from 'digitinary-ui'\r\nimport Tooltip from '../../components/Tooltip/Tooltip'\r\nimport { DeleteIcon, deleteOutlinedIcon, EditIcon } from '../../assets/icons'\r\n\r\ninterface LivePreviewProps {\r\n transformedData?: TransformedOpenApi\r\n}\r\n\r\nconst LivePreview: React.FC<LivePreviewProps> = ({ transformedData }) => {\r\n const [tableRecords, setTableRecords] = useState()\r\n const [tooltipRefs, setTooltipRefs] = useState<{ [key: number]: any }>({})\r\n const [tableData, setTableData] = useState([])\r\n const [externalTooltipRefs, setExternalTooltipRefs] = useState<{ [key: number]: any }>({})\r\n const { values } = useFormikContext<TransformedOpenApi>()\r\n const { info, components, tags } = values\r\n const { securitySchemes } = components\r\n const securityKey =\r\n securitySchemes && typeof securitySchemes == 'object' && Object.keys(securitySchemes).length\r\n ? Object.keys(securitySchemes)[0]\r\n : null\r\n\r\n useEffect(() => {\r\n if (values.tags && values.tags.length) {\r\n setTableRecords(generateTableData(values.tags, true))\r\n setTableData(values.tags)\r\n }\r\n }, [values.tags])\r\n\r\n const generateTableData = (items, readOnly) => {\r\n return items.map((item, index) => ({\r\n id: index,\r\n tagName: item.name,\r\n description: (\r\n <div className={styles.paramDescContainer}>\r\n <Button className={styles.editDescBtn} variant=\"link\" color=\"action\">\r\n {item.description ? item.description.substring(0, 12) : '-'}\r\n {item.description && item.description.length > 12 ? '...' : ''}\r\n </Button>\r\n </div>\r\n ),\r\n externalDocs: (\r\n <div className={styles.paramDescContainer}>\r\n {item.externalDocs && item.externalDocs.url && item.externalDocs.url != '-' ? (\r\n <a\r\n className={styles.editDescBtn}\r\n href={\r\n item.externalDocs?.url && item.externalDocs?.url.indexOf('http') > -1\r\n ? item.externalDocs?.url\r\n : `https://${item.externalDocs?.url}`\r\n }\r\n rel=\"noopener noreferrer\"\r\n target=\"_blank\"\r\n >\r\n {item?.externalDocs?.description\r\n ? item?.externalDocs?.description?.substring(0, 12)\r\n : '-'}\r\n {item?.externalDocs?.description && item?.externalDocs?.description?.length > 12\r\n ? '...'\r\n : ''}\r\n </a>\r\n ) : (\r\n <Button className={styles.editDescBtn} variant=\"link\" color=\"action\">\r\n {item.description ? item.description.substring(0, 12) : '-'}\r\n {item.description && item.description.length > 12 ? '...' : ''}\r\n </Button>\r\n )}\r\n\r\n {/* </Tooltip> */}\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 onClick={() => null}\r\n ></Button>\r\n )}\r\n </div>\r\n ),\r\n }))\r\n }\r\n return (\r\n <div>\r\n <div className=\"row\">\r\n <div className=\"col-md-12\">\r\n <p className={styles.apiName}>{info?.title}</p>\r\n <SimpleLabelValue\r\n key={'APIAuthenticationType'}\r\n label={'API authentication type: '}\r\n value={!!securityKey ? securitySchemes[securityKey].scheme : '-'}\r\n />\r\n <SimpleLabelValue key={'version'} label={'Version: '} value={info?.version || '-'} />\r\n <SimpleLabelValue\r\n key={'description'}\r\n label={'Description: '}\r\n value={info?.description || '-'}\r\n />\r\n\r\n <SimpleLabelValue key={'tags'} label={'Tags: '} />\r\n <TagsTable\r\n id=\"tags-table\"\r\n data={tableRecords}\r\n headCells={tagsTableHeaders}\r\n isFormOpen={false}\r\n setIsFormOpen={() => null}\r\n saveNewRow={() => null}\r\n readOnly={true}\r\n />\r\n\r\n <SimpleLabelValue key={'endpoints'} label={'Endpoints '} />\r\n {values.paths.map((path) => (\r\n <div className={styles.methodsContainer}>\r\n {path.methods\r\n .sort((a, b) => methodColorMapping[a.type].order + methodColorMapping[b.type].order)\r\n .map((method, methodIndex) => (\r\n <MethodsAccordion readOnly method={method} path={path.path} />\r\n ))}\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default LivePreview\r\n"],"names":["LivePreview","transformedData","tableRecords","setTableRecords","useState","tableData","setTableData","values","useFormikContext","info","components","tags","securitySchemes","securityKey","Object","keys","length","useEffect","generateTableData","items","readOnly","map","item","index","id","tagName","name","description","_jsx","jsx","className","styles","paramDescContainer","children","_jsxs","jsxs","Button","editDescBtn","variant","color","substring","externalDocs","url","href","_a","_b","indexOf","_c","_d","rel","target","_e","_g","_f","_h","_k","_j","paramDescContainer_separator","deleteParamBtn","onClick","apiName","title","SimpleLabelValue","label","value","scheme","version","TagsTable","data","headCells","tagsTableHeaders","isFormOpen","setIsFormOpen","saveNewRow","paths","path","methodsContainer","methods","sort","a","b","methodColorMapping","type","order","method","methodIndex","MethodsAccordion"],"mappings":"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"}
1
+ {"version":3,"file":"LivePreview.js","sources":["../../../../src/components/LivePreview/LivePreview.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react'\r\nimport styles from './LivePreview.module.scss'\r\nimport SimpleLabelValue from '../../components/SimpleLabelValue'\r\n\r\nimport MethodsAccordion from '../../components/MethodAccordion/MethodAccordion'\r\nimport { TransformedOpenApi } from '../../types/transformedOpenApi'\r\nimport { useFormikContext } from 'formik'\r\nimport { methodColorMapping, tagsTableHeaders } from '../../constants/index'\r\nimport TagsTable from '../table/tags-table'\r\nimport { Button } from 'digitinary-ui'\r\n\r\ninterface LivePreviewProps {\r\n transformedData?: TransformedOpenApi\r\n}\r\n\r\nconst LivePreview: React.FC<LivePreviewProps> = ({ transformedData }) => {\r\n const [tableRecords, setTableRecords] = useState()\r\n const [tooltipRefs, setTooltipRefs] = useState<{ [key: number]: any }>({})\r\n const [tableData, setTableData] = useState([])\r\n const [externalTooltipRefs, setExternalTooltipRefs] = useState<{ [key: number]: any }>({})\r\n const { values } = useFormikContext<TransformedOpenApi>()\r\n const { info, components, tags } = values\r\n const { securitySchemes } = components\r\n const securityKey =\r\n securitySchemes && typeof securitySchemes == 'object' && Object.keys(securitySchemes).length\r\n ? Object.keys(securitySchemes)[0]\r\n : null\r\n\r\n useEffect(() => {\r\n if (values.tags) {\r\n setTableRecords(generateTableData(values.tags, true))\r\n setTableData(values.tags)\r\n }\r\n }, [values.tags])\r\n\r\n const generateTableData = (items, readOnly) => {\r\n return items.map((item, index) => ({\r\n id: index,\r\n tagName: item.name,\r\n description: (\r\n <div className={styles.paramDescContainer}>\r\n <Button className={styles.editDescBtn} variant=\"link\" color=\"action\">\r\n {item.description ? item.description.substring(0, 12) : '-'}\r\n {item.description && item.description.length > 12 ? '...' : ''}\r\n </Button>\r\n </div>\r\n ),\r\n externalDocs: (\r\n <div className={styles.paramDescContainer}>\r\n {item.externalDocs && item.externalDocs.url && item.externalDocs.url != '-' ? (\r\n <a\r\n className={styles.editDescBtn}\r\n href={\r\n item.externalDocs?.url && item.externalDocs?.url.indexOf('http') > -1\r\n ? item.externalDocs?.url\r\n : `https://${item.externalDocs?.url}`\r\n }\r\n rel=\"noopener noreferrer\"\r\n target=\"_blank\"\r\n >\r\n {item?.externalDocs?.description\r\n ? item?.externalDocs?.description?.substring(0, 12)\r\n : '-'}\r\n {item?.externalDocs?.description && item?.externalDocs?.description?.length > 12\r\n ? '...'\r\n : ''}\r\n </a>\r\n ) : (\r\n <Button className={styles.editDescBtn} variant=\"link\" color=\"action\">\r\n {item.externalDocs?.description\r\n ? item.externalDocs?.description.substring(0, 12)\r\n : '-'}\r\n {item.externalDocs?.description && item.externalDocs?.description.length > 12\r\n ? '...'\r\n : ''}\r\n </Button>\r\n )}\r\n\r\n {/* </Tooltip> */}\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 onClick={() => null}\r\n ></Button>\r\n )}\r\n </div>\r\n ),\r\n }))\r\n }\r\n return (\r\n <div>\r\n <div className=\"row\">\r\n <div className=\"col-md-12\">\r\n <p className={styles.apiName}>{info?.title}</p>\r\n <SimpleLabelValue\r\n key={'APIAuthenticationType'}\r\n label={'API authentication type: '}\r\n value={!!securityKey ? securitySchemes[securityKey].scheme : '-'}\r\n />\r\n <SimpleLabelValue key={'version'} label={'Version: '} value={info?.version || '-'} />\r\n <SimpleLabelValue\r\n key={'description'}\r\n label={'Description: '}\r\n value={info?.description || '-'}\r\n />\r\n\r\n <SimpleLabelValue key={'tags'} label={'Tags: '} />\r\n <TagsTable\r\n id=\"tags-table\"\r\n data={tableRecords}\r\n headCells={tagsTableHeaders}\r\n isFormOpen={false}\r\n setIsFormOpen={() => null}\r\n saveNewRow={() => null}\r\n readOnly={true}\r\n />\r\n\r\n <SimpleLabelValue key={'endpoints'} label={'Endpoints '} />\r\n {values.paths.map((path) => (\r\n <div className={styles.methodsContainer}>\r\n {path.methods\r\n .sort((a, b) => methodColorMapping[a.type].order + methodColorMapping[b.type].order)\r\n .map((method, methodIndex) => (\r\n <MethodsAccordion readOnly method={method} path={path.path} />\r\n ))}\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default LivePreview\r\n"],"names":["LivePreview","transformedData","tableRecords","setTableRecords","useState","tableData","setTableData","values","useFormikContext","info","components","tags","securitySchemes","securityKey","Object","keys","length","useEffect","generateTableData","items","readOnly","map","item","index","id","tagName","name","description","_jsx","jsx","className","styles","paramDescContainer","children","_jsxs","jsxs","Button","editDescBtn","variant","color","substring","externalDocs","url","href","_a","_b","indexOf","_c","_d","rel","target","_e","_g","_f","_h","_k","_j","_l","_m","_o","_p","paramDescContainer_separator","deleteParamBtn","onClick","apiName","title","SimpleLabelValue","label","value","scheme","version","TagsTable","data","headCells","tagsTableHeaders","isFormOpen","setIsFormOpen","saveNewRow","paths","path","methodsContainer","methods","sort","a","b","methodColorMapping","type","order","method","methodIndex","MethodsAccordion"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{j as e}from"../../../_virtual/jsx-runtime.js";import{useState as s,useEffect as o}from"react";import{d as r}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 j}from"../../helpers/methodAccordion.helper.js";import v from"../table/table.js";import x from"../dialog/index.js";import g from"../JsonInput/JsonInput.js";import b from"./MethodAccordion.module.scss.js";const y=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}))),N=({method:d,path:h,setFieldValue:N,readOnly:C})=>{var f,A,O,q,D,w,S;const[k,T]=s({request:!1,response:!1,method:!1}),[I,B]=s(!1),[F,V]=s({}),[$,_]=s([]),[L,E]=s(!1),[J,W]=s(null),[G,P]=s(null),[R,z]=s(),[M,H]=s(y[4]),Y=d.responses.find((e=>Number(e.code)===M.value))||"{}",K=(e,s,o)=>{const r=$.map(((r,n)=>n===o?Object.assign(Object.assign({},r),{[e]:s}):r));_(r)},Q=s=>s.map(((s,o)=>{var t;return{id:o,paramName:s.name,paramType:j(s.in),schemaType:j(null===(t=s.schema)||void 0===t?void 0:t.type)||"",required:e.jsx(e.Fragment,{children:C?s.required?"True":"False":e.jsx(r.Switch,{checked:s.required,onClick:()=>{if(C)return null;K("required",!s.required,o),N(`parameters[${o}][required]`,!s.required)}})}),description:e.jsxs("div",{className:b.paramDescContainer,children:[e.jsx(p,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>V((s=>Object.assign(Object.assign({},s),{[o]:e}))),content:e.jsxs("div",{className:b.editDescTooltipContent,children:[e.jsx("p",{className:b.editDescTooltipContent_header,children:"Description"}),e.jsx(r.TextArea,{placeholder:"Describe parameter...",value:s.description,disabled:C,onChange:e=>K("description",e,o)}),!C&&e.jsx(r.Button,{className:b.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{var e;N(`parameters[${o}].description`,s.description),null===(e=F[o])||void 0===e||e.hide()},children:"Apply"})]}),children:C?e.jsxs(r.Button,{className:b.editDescBtn,variant:"link",color:"action",children:[s.description?s.description.substring(0,12):"-",s.description&&s.description.length>12?"...":""]}):e.jsxs(r.Button,{className:b.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(n,{src:a,width:"1.5rem",height:"1.5rem"}),children:[C?"View ":"Add "," Description"]})}),!C&&e.jsx("div",{className:b.paramDescContainer_separator}),!C&&e.jsx(r.Button,{className:b.deleteParamBtn,variant:"link",color:"error",endIcon:e.jsx(n,{src:i,width:"1.125rem",height:"1.125rem"}),onClick:()=>U(o,s.name)})]})}})),U=(e,s)=>{W(e),P(s),E(!0)};return o((()=>{z(Q($))}),[$]),o((()=>{(null==d?void 0:d.parameters)&&(z(Q(d.parameters)),_(d.parameters))}),[d,h]),e.jsxs("div",{children:[e.jsx(r.Accordion,{expanded:k.method,onChange:()=>T((e=>Object.assign(Object.assign({},e),{method:!e.method}))),className:`${b.methodAccordion} ${C?b.readOnly:""}`,summary:e.jsxs("div",{className:b.methodSummaryContainer,children:[e.jsxs("div",{className:b.methodSummary,children:[e.jsx("span",{style:{backgroundColor:(null===(f=null==c?void 0:c[null==d?void 0:d.type])||void 0===f?void 0:f.color)||"#3A6CD1"},className:b.methodLabel,children:(null===(A=null==c?void 0:c[null==d?void 0:d.type])||void 0===A?void 0:A.label)||(null==d?void 0:d.type)}),e.jsx("span",{className:b.methodPath,children:h})]}),e.jsx("div",{className:`${b.methodExpandArrowContainer} ${k.method?b.expanded:""}`,children:e.jsx(n,{src:t,width:"2rem",height:"2rem"})})]}),children:e.jsxs("div",{className:b.methodAccordionContent,children:[C?e.jsx(u,{label:"Description: ",value:(null==d?void 0:d.description)||"-"},"description"):e.jsx(r.TextArea,{className:b.methodDesc,label:"Description",placeholder:"Describe the method's purpose and functionality...",value:null==d?void 0:d.description,onChange:e=>N("description",e)}),e.jsx("div",{className:b.paramsTable,children:e.jsx(v,{id:"paramter-table",data:R,headCells:m,isFormOpen:I,setIsFormOpen:B,saveNewRow:e=>{_([...$,e]),N("parameters",[...d.parameters,e])},readOnly:C})}),"get"!==(null==d?void 0:d.type)&&e.jsx(r.Accordion,{expanded:k.request,onChange:()=>null,className:b.requestAccordion,summary:e.jsx("span",{className:b.requestAccordionSummary,children:e.jsxs("div",{className:b.requestAccordionSummary_title,onClick:()=>T((e=>Object.assign(Object.assign({},e),{request:!e.request}))),children:[e.jsx(n,{className:k.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,{withFooter:!C,className:"jsonField",placeholder:"Enter your request body as a JSON object....",fieldIsDisabled:C,value:(null===(D=null===(q=null===(O=null==d?void 0:d.requestBody)||void 0===O?void 0:O.content)||void 0===q?void 0:q.schema)||void 0===D?void 0:D.properties)||"{}",onChange:e=>{N("requestBody.content.schema.properties",e)},onValidation:()=>null})}),e.jsx(r.Accordion,{expanded:k.response,onChange:()=>null,className:b.responseAccordion,summary:e.jsxs("span",{className:b.responseAccordionSummary,children:[e.jsxs("div",{className:b.responseAccordionSummary_title,onClick:()=>T((e=>Object.assign(Object.assign({},e),{response:!e.response}))),children:[e.jsx(n,{className:k.response?b.expanded:"",src:t,width:"2rem",height:"2rem"}),"Response",e.jsx("span",{style:{color:"red"},children:"*"})]}),e.jsx(r.SelectGroup,{withSearch:!1,isMultiple:!1,clearable:!1,disabled:C,placeholder:"200",options:[{list:y}],value:M,onChange:e=>{H(e)}})]}),children:e.jsx(g,{withFooter:!C,className:"jsonField",placeholder:"Enter your response as a JSON object...",fieldIsDisabled:C,value:(null===(S=null===(w=null==Y?void 0:Y.content)||void 0===w?void 0:w.schema)||void 0===S?void 0:S.properties)||"{}",onChange:e=>{const s=d.responses.findIndex((e=>e.code===Y.code));if(-1!==s)N(`responses[${s}].content.schema.properties`,e);else{const s=structuredClone(d.responses);s.push({code:M.value.toString(),content:{contentType:"application/json",schema:{type:"object",properties:e}}}),N("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.jsx("span",{className:"plan-name",children:` Parameter ${G} `}),"?"]}),onSubmit:{onClick:()=>{var e;null!==J&&(_((e=>e.filter(((e,s)=>s!==J)))),N("parameters",null===(e=null==d?void 0:d.parameters)||void 0===e?void 0:e.filter(((e,s)=>s!==J)))),E(!1),W(null)},text:"Yes",color:"error",fullWidth:!0},onCancel:{text:"No",color:"normal",fullWidth:!0},onClose:()=>E(!1),open:L,icon:e.jsx(n,{src:l,width:"4.0625rem",height:"4.0625rem"})})]})};export{N as default};
1
+ import{j as e}from"../../../_virtual/jsx-runtime.js";import{useState as s,useEffect as o}from"react";import{d as r}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 j}from"../../helpers/methodAccordion.helper.js";import v from"../table/table.js";import x from"../dialog/index.js";import g from"../JsonInput/JsonInput.js";import b from"./MethodAccordion.module.scss.js";const y=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}))),N=({method:d,path:h,setFieldValue:N,readOnly:C})=>{var f,A,O,q,D,w,S;const[k,T]=s({request:!1,response:!1,method:!1}),[I,B]=s(!1),[F,V]=s({}),[$,_]=s([]),[L,E]=s(!1),[J,W]=s(null),[G,P]=s(null),[R,z]=s(),[M,H]=s(y[4]),Y=d.responses.find((e=>Number(e.code)===M.value))||"{}",K=(e,s,o)=>{const r=$.map(((r,n)=>n===o?Object.assign(Object.assign({},r),{[e]:s}):r));_(r)},Q=s=>s.map(((s,o)=>{var t;return{id:o,paramName:s.name,paramType:j(s.in),schemaType:j(null===(t=s.schema)||void 0===t?void 0:t.type)||"",required:e.jsx(e.Fragment,{children:C?s.required?"True":"False":e.jsx(r.Switch,{checked:s.required,onClick:()=>{if(C)return null;K("required",!s.required,o),N(`parameters[${o}][required]`,!s.required)}})}),description:e.jsxs("div",{className:b.paramDescContainer,children:[e.jsx(p,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>V((s=>Object.assign(Object.assign({},s),{[o]:e}))),content:e.jsxs("div",{className:b.editDescTooltipContent,children:[e.jsx("p",{className:b.editDescTooltipContent_header,children:"Description"}),e.jsx(r.TextArea,{placeholder:"Describe parameter...",value:s.description,disabled:C,onChange:e=>K("description",e,o)}),!C&&e.jsx(r.Button,{className:b.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{var e;N(`parameters[${o}].description`,s.description),null===(e=F[o])||void 0===e||e.hide()},children:"Apply"})]}),children:C?e.jsxs(r.Button,{className:b.editDescBtn,variant:"link",color:"action",children:[s.description?s.description.substring(0,12):"-",s.description&&s.description.length>12?"...":""]}):e.jsxs(r.Button,{className:b.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(n,{src:a,width:"1.5rem",height:"1.5rem"}),children:[C?"View ":"Add "," Description"]})}),!C&&e.jsx("div",{className:b.paramDescContainer_separator}),!C&&e.jsx(r.Button,{className:b.deleteParamBtn,variant:"link",color:"error",endIcon:e.jsx(n,{src:i,width:"1.125rem",height:"1.125rem"}),onClick:()=>U(o,s.name)})]})}})),U=(e,s)=>{W(e),P(s),E(!0)};return o((()=>{z(Q($))}),[$]),o((()=>{(null==d?void 0:d.parameters)&&(z(Q(d.parameters)),_(d.parameters))}),[d,h]),e.jsxs("div",{children:[e.jsx(r.Accordion,{expanded:k.method,onChange:()=>T((e=>Object.assign(Object.assign({},e),{method:!e.method}))),className:`${b.methodAccordion} ${C?b.readOnly:""}`,summary:e.jsxs("div",{className:b.methodSummaryContainer,children:[e.jsxs("div",{className:b.methodSummary,children:[e.jsx("span",{style:{backgroundColor:(null===(f=null==c?void 0:c[null==d?void 0:d.type])||void 0===f?void 0:f.color)||"#3A6CD1"},className:b.methodLabel,children:(null===(A=null==c?void 0:c[null==d?void 0:d.type])||void 0===A?void 0:A.label)||(null==d?void 0:d.type)}),e.jsx("span",{className:b.methodPath,children:h})]}),e.jsx("div",{className:`${b.methodExpandArrowContainer} ${k.method?b.expanded:""}`,children:e.jsx(n,{src:t,width:"2rem",height:"2rem"})})]}),children:e.jsxs("div",{className:b.methodAccordionContent,children:[C?e.jsx(u,{label:"Description: ",value:(null==d?void 0:d.description)||"-"},"description"):e.jsx(r.TextArea,{className:b.methodDesc,label:"Description",placeholder:"Describe the method's purpose and functionality...",value:null==d?void 0:d.description,onChange:e=>N("description",e)}),e.jsx("div",{className:b.paramsTable,children:e.jsx(v,{id:"paramter-table",data:R,headCells:m,isFormOpen:I,setIsFormOpen:B,saveNewRow:e=>{_([...$,e]),N("parameters",[...d.parameters,e])},readOnly:C})}),"get"!==(null==d?void 0:d.type)&&e.jsx(r.Accordion,{expanded:k.request,onChange:()=>null,className:b.requestAccordion,summary:e.jsx("span",{className:b.requestAccordionSummary,children:e.jsxs("div",{className:b.requestAccordionSummary_title,onClick:()=>T((e=>Object.assign(Object.assign({},e),{request:!e.request}))),children:[e.jsx(n,{className:k.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,{withFooter:!C,className:"jsonField",placeholder:"Enter your request body as a JSON object....",fieldIsDisabled:C,value:(null===(D=null===(q=null===(O=null==d?void 0:d.requestBody)||void 0===O?void 0:O.content)||void 0===q?void 0:q.schema)||void 0===D?void 0:D.properties)||"{}",onChange:e=>{N("requestBody.content.schema.properties",e)},onValidation:()=>null})}),e.jsx(r.Accordion,{expanded:k.response,onChange:()=>null,className:b.responseAccordion,summary:e.jsxs("span",{className:b.responseAccordionSummary,children:[e.jsxs("div",{className:b.responseAccordionSummary_title,onClick:()=>T((e=>Object.assign(Object.assign({},e),{response:!e.response}))),children:[e.jsx(n,{className:k.response?b.expanded:"",src:t,width:"2rem",height:"2rem"}),"Response",e.jsx("span",{style:{color:"red"},children:"*"})]}),e.jsx(r.SelectGroup,{withSearch:!1,isMultiple:!1,clearable:!1,placeholder:"200",options:[{list:y}],value:M,onChange:e=>{H(e)}})]}),children:e.jsx(g,{withFooter:!C,className:"jsonField",placeholder:"Enter your response as a JSON object...",fieldIsDisabled:C,value:(null===(S=null===(w=null==Y?void 0:Y.content)||void 0===w?void 0:w.schema)||void 0===S?void 0:S.properties)||"{}",onChange:e=>{const s=d.responses.findIndex((e=>e.code===Y.code));if(-1!==s)N(`responses[${s}].content.schema.properties`,e);else{const s=structuredClone(d.responses);s.push({code:M.value.toString(),content:{contentType:"application/json",schema:{type:"object",properties:e}}}),N("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.jsx("span",{className:"plan-name",children:` Parameter ${G} `}),"?"]}),onSubmit:{onClick:()=>{var e;null!==J&&(_((e=>e.filter(((e,s)=>s!==J)))),N("parameters",null===(e=null==d?void 0:d.parameters)||void 0===e?void 0:e.filter(((e,s)=>s!==J)))),E(!1),W(null)},text:"Yes",color:"error",fullWidth:!0},onCancel:{text:"No",color:"normal",fullWidth:!0},onClose:()=>E(!1),open:L,icon:e.jsx(n,{src:l,width:"4.0625rem",height:"4.0625rem"})})]})};export{N as default};
2
2
  //# sourceMappingURL=MethodAccordion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MethodAccordion.js","sources":["../../../../src/components/MethodAccordion/MethodAccordion.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react'\r\nimport { Accordion, Button, SelectGroup, Switch, TextArea } from 'digitinary-ui'\r\nimport SVGLoader from '../../components/SVGLoader/SVGLoader'\r\nimport {\r\n CheckMarkSquare,\r\n DeleteIcon,\r\n DownArrowIcon,\r\n EditIcon,\r\n deleteOutlinedIcon,\r\n} 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\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}: {\r\n method: TransformedMethod\r\n path: string\r\n setFieldValue?: (key: string, value: string) => void\r\n readOnly?: boolean\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\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 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 onChange={(value) => onTableChange('description', value, index)}\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(`parameters[${index}].description`, item.description)\r\n tooltipRefs[index]?.hide()\r\n }}\r\n >\r\n Apply\r\n </Button>\r\n )}\r\n </div>\r\n }\r\n >\r\n {readOnly ? (\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 {item.description ? item.description.substring(0, 12) : '-'}\r\n {item.description && item.description.length > 12 ? '...' : ''}\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 {!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 setTableRecords(generateTableData(method.parameters))\r\n setTableData(method.parameters)\r\n }\r\n }, [method, path])\r\n\r\n return (\r\n <div>\r\n <Accordion\r\n expanded={isExpanded.method}\r\n onChange={() => setIsExpanded((prev) => ({ ...prev, method: !prev.method }))}\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} ${\r\n isExpanded.method ? styles.expanded : ''\r\n }`}\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 {!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 value={method?.description}\r\n onChange={(value) => setFieldValue('description', value)}\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\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 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\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 disabled={readOnly}\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 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\">{` Parameter ${selectedParamName} `}</span>?\r\n </p>\r\n }\r\n onSubmit={{\r\n onClick: confirmDeleteParameter,\r\n text: 'Yes',\r\n color: 'error',\r\n fullWidth: true,\r\n }}\r\n onCancel={{\r\n text: 'No',\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","isExpanded","setIsExpanded","useState","request","response","isFormOpen","setIsFormOpen","tooltipRefs","setTooltipRefs","tableData","setTableData","openDeleteDialog","setOpenDeleteDialog","selectedParamIndex","setSelectedParamIndex","selectedParamName","setSelectedParamName","tableRecords","setTableRecords","selectedStatusCode","setSelectedStatusCode","currentResponse","responses","find","res","Number","onTableChange","key","index","newTableData","item","tIndex","Object","assign","generateTableData","items","id","paramName","name","paramType","capitalize","in","schemaType","_a","schema","type","required","jsx","_Fragment","Switch","checked","onClick","description","paramDescContainer","Tooltip","arrowWithBorder","placement","trigger","delay","onCreate","instance","prev","content","jsxs","editDescTooltipContent","editDescTooltipContent_header","TextArea","placeholder","disabled","onChange","Button","editDescTooltipContent_btn","variant","size","hide","editDescBtn","color","substring","length","endIcon","SVGLoader","src","EditIcon","width","height","paramDescContainer_separator","deleteParamBtn","DeleteIcon","handleDeleteClick","useEffect","parameters","Accordion","expanded","methodAccordion","summary","methodSummaryContainer","methodSummary","methodColorMapping","methodLabel","methodPath","methodExpandArrowContainer","DownArrowIcon","methodAccordionContent","SimpleLabelValue","methodDesc","paramsTable","ParamterTable","data","headCells","paramsTableHeaders","saveNewRow","values","requestAccordion","requestAccordionSummary","requestAccordionSummary_title","JsonInput","withFooter","fieldIsDisabled","_e","_c","requestBody","_d","properties","onValidation","responseAccordion","responseAccordionSummary","responseAccordionSummary_title","SelectGroup","withSearch","isMultiple","clearable","options","list","_g","_f","currentResIndex","findIndex","clonedResponses","structuredClone","push","toString","contentType","CommonDialog","status","textAlign","fontWeight","fontSize","lineHeight","onSubmit","filter","_","i","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 React, { useEffect, useState } from 'react'\r\nimport { Accordion, Button, SelectGroup, Switch, TextArea } from 'digitinary-ui'\r\nimport SVGLoader from '../../components/SVGLoader/SVGLoader'\r\nimport {\r\n CheckMarkSquare,\r\n DeleteIcon,\r\n DownArrowIcon,\r\n EditIcon,\r\n deleteOutlinedIcon,\r\n} 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\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}: {\r\n method: TransformedMethod\r\n path: string\r\n setFieldValue?: (key: string, value: string) => void\r\n readOnly?: boolean\r\n handleSave: () => 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\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 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 onChange={(value) => onTableChange('description', value, index)}\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(`parameters[${index}].description`, item.description)\r\n tooltipRefs[index]?.hide()\r\n }}\r\n >\r\n Apply\r\n </Button>\r\n )}\r\n </div>\r\n }\r\n >\r\n {readOnly ? (\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 {item.description ? item.description.substring(0, 12) : '-'}\r\n {item.description && item.description.length > 12 ? '...' : ''}\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 {!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 setTableRecords(generateTableData(method.parameters))\r\n setTableData(method.parameters)\r\n }\r\n }, [method, path])\r\n\r\n return (\r\n <div>\r\n <Accordion\r\n expanded={isExpanded.method}\r\n onChange={() => setIsExpanded((prev) => ({ ...prev, method: !prev.method }))}\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} ${\r\n isExpanded.method ? styles.expanded : ''\r\n }`}\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 {!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 value={method?.description}\r\n onChange={(value) => setFieldValue('description', value)}\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\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 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\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 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\">{` Parameter ${selectedParamName} `}</span>?\r\n </p>\r\n }\r\n onSubmit={{\r\n onClick: confirmDeleteParameter,\r\n text: 'Yes',\r\n color: 'error',\r\n fullWidth: true,\r\n }}\r\n onCancel={{\r\n text: 'No',\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","isExpanded","setIsExpanded","useState","request","response","isFormOpen","setIsFormOpen","tooltipRefs","setTooltipRefs","tableData","setTableData","openDeleteDialog","setOpenDeleteDialog","selectedParamIndex","setSelectedParamIndex","selectedParamName","setSelectedParamName","tableRecords","setTableRecords","selectedStatusCode","setSelectedStatusCode","currentResponse","responses","find","res","Number","onTableChange","key","index","newTableData","item","tIndex","Object","assign","generateTableData","items","id","paramName","name","paramType","capitalize","in","schemaType","_a","schema","type","required","jsx","_Fragment","Switch","checked","onClick","description","paramDescContainer","Tooltip","arrowWithBorder","placement","trigger","delay","onCreate","instance","prev","content","jsxs","editDescTooltipContent","editDescTooltipContent_header","TextArea","placeholder","disabled","onChange","Button","editDescTooltipContent_btn","variant","size","hide","editDescBtn","color","substring","length","endIcon","SVGLoader","src","EditIcon","width","height","paramDescContainer_separator","deleteParamBtn","DeleteIcon","handleDeleteClick","useEffect","parameters","Accordion","expanded","methodAccordion","summary","methodSummaryContainer","methodSummary","methodColorMapping","methodLabel","methodPath","methodExpandArrowContainer","DownArrowIcon","methodAccordionContent","SimpleLabelValue","methodDesc","paramsTable","ParamterTable","data","headCells","paramsTableHeaders","saveNewRow","values","requestAccordion","requestAccordionSummary","requestAccordionSummary_title","JsonInput","withFooter","fieldIsDisabled","_e","_c","requestBody","_d","properties","onValidation","responseAccordion","responseAccordionSummary","responseAccordionSummary_title","SelectGroup","withSearch","isMultiple","clearable","options","list","_g","_f","currentResIndex","findIndex","clonedResponses","structuredClone","push","toString","contentType","CommonDialog","status","textAlign","fontWeight","fontSize","lineHeight","onSubmit","filter","_","i","text","fullWidth","onCancel","onClose","open","icon","deleteOutlinedIcon"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{j as e}from"../../../_virtual/jsx-runtime.js";import{useState as i}from"react";import s from"../InfoForm/InfoForm.module.scss.js";import{d as a}from"../../../_virtual/index.js";import t from"../Tooltip/Tooltip.js";import n from"../SVGLoader/SVGLoader.js";import l from"../../assets/icons/DeleteIcon.svg.js";import o from"../../assets/icons/EditIcon.svg.js";import r from"../../assets/icons/AddRow.svg.js";import d from"../MethodAccordion/MethodAccordion.module.scss.js";import{useFormik as c}from"../../../node_modules/formik/dist/formik.esm.js";import{object as m,string as h}from"../../../node_modules/yup/index.esm.js";const p=({id:p,headCells:x,data:j,isFormOpen:u,setIsFormOpen:v,saveNewRow:D,readOnly:N})=>{var b,g,C,T,f,w,k;const[B,_]=i(""),[y,I]=i(""),[E,A]=i(""),[L,O]=i(null),[S,W]=i(null),{values:F,errors:R,setFieldValue:V,isValid:P,submitForm:z,resetForm:q}=c({initialValues:{name:"",description:"",externalDocs:{url:"",description:""}},validationSchema:m().shape({name:h().required("Tag name is required"),description:h().optional(),externalDocs:m().optional()}),onSubmit:e=>{_(""),I(""),A(""),q(),v(!1),D(e)}});return e.jsx("div",{className:"tableSectionContainer",children:e.jsx("div",{className:"tableContainer",children:e.jsxs("table",{id:p||"",className:"table borderRadiusTop borderRadiusBottom",children:[e.jsx("thead",{className:"tableHead",children:e.jsx("tr",{children:null==x?void 0:x.map((i=>e.jsx("th",{className:`tableHeadCell ${i.classes||""}`,style:{width:i.width,minWidth:i.minWidth},children:e.jsx("div",{className:"headContainer","data-id":`${"string"==typeof i.label?i.label.toUpperCase().replace(/[^a-zA-Z0-9]+/g,"_"):"UNKNOWN_LABEL"}_COLUMN`,children:i.label})},i.id)))})}),e.jsxs("tbody",{className:"tableBody","data-id":"TABLE_BODY",children:[null==j?void 0:j.map(((i,s)=>e.jsx("tr",{"data-i":s,className:"row",children:null==x?void 0:x.map((s=>{const a="_"!==i[s.id]&&e.jsx("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",style:{width:s.width,minWidth:s.minWidth},children:i[s.id]});return e.jsx("td",{style:{width:s.width,minWidth:s.minWidth},children:a},s.id)}))},s))),u?e.jsxs("tr",{"data-i":"",className:"row",children:[e.jsx("td",{children:e.jsx("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:e.jsx(a.Input,{placeholder:"Tag name",size:"large",type:"text",onChange:e=>{V("name",e)},value:F.name,disabled:N})})},"tag name"),e.jsx("td",{children:e.jsxs("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:[e.jsx("div",{className:d.paramDescContainer,children:e.jsx(t,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>O(e),content:e.jsxs("div",{className:s.editDescTooltipContent,children:[e.jsx("p",{className:s.editDescTooltipContent_header,children:"Description"}),e.jsx(a.TextArea,{value:B||F.description,onChange:e=>{_(e)},disabled:N,placeholder:"Describe Tag..."}),!N&&e.jsx(a.Button,{className:s.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{V("description",B),null==L||L.hide()},children:"Apply"})]}),children:e.jsxs(a.Button,{className:s.editDescBtn,style:{paddingLeft:0},variant:"link",color:"action",endIcon:e.jsx(n,{src:o,width:"1.5rem",height:"1.5rem"}),children:[N?"View ":"Add "," Description"]})})})," "]})},"tagDescRequired"),e.jsx("td",{children:e.jsx("div",{className:"tableData",children:e.jsxs("div",{className:s.paramDescContainer,children:[e.jsx(t,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>W(e),content:e.jsxs("div",{className:s.editDescTooltipContent,children:[e.jsx("p",{className:s.editDescTooltipContent_header,children:"External Docs Description"}),e.jsx(a.TextArea,{placeholder:"Describe External Doc...",value:y||F.externalDocs.description,disabled:N,onChange:e=>I(e)}),e.jsx("p",{className:s.editDescTooltipContent_header,children:"External Docs Link"}),e.jsx(a.TextArea,{placeholder:"External Docs Link...",value:E||F.externalDocs.url,disabled:N,onChange:e=>A(e)}),!N&&e.jsx(a.Button,{className:s.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{V("externalDocs",{description:y,url:E}),I(""),A(""),null==S||S.hide()},children:"Apply"})]}),children:N?e.jsxs("a",{className:s.editDescBtn,variant:"link",color:"action",href:null===(b=F.externalDocs)||void 0===b?void 0:b.url,target:"_blank",children:[(null===(g=null==F?void 0:F.externalDocs)||void 0===g?void 0:g.description)?null===(T=null===(C=null==F?void 0:F.externalDocs)||void 0===C?void 0:C.description)||void 0===T?void 0:T.substring(0,12):"-",(null===(f=null==F?void 0:F.externalDocs)||void 0===f?void 0:f.description)&&(null===(k=null===(w=null==F?void 0:F.externalDocs)||void 0===w?void 0:w.description)||void 0===k?void 0:k.length)>12?"...":""]}):e.jsxs(a.Button,{className:s.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(n,{src:o,width:"1.5rem",height:"1.5rem"}),children:[N?"View ":"Add "," External Docs Link"]})}),e.jsx("div",{className:s.paramDescContainer_separator}),!N&&e.jsx(a.Button,{className:s.deleteParamBtn,variant:"link",color:"error",endIcon:e.jsx(n,{src:l,width:"1.125rem",height:"1.125rem"}),onClick:()=>{q(),_(""),v(!1)}}),!N&&e.jsx(a.Button,{className:s.deleteParamBtn,variant:"link",color:"success",disabled:!P,endIcon:e.jsx(n,{src:r,width:"0.125rem",height:"0.125rem"}),onClick:()=>{_(""),z()}})]})})},"tagExternal")]},""):e.jsx(e.Fragment,{children:!N&&e.jsx("tr",{"data-i":"addNew",className:"row",children:e.jsx("td",{colSpan:5,children:e.jsx(a.Button,{variant:"link",color:"primary",onClick:()=>{v((e=>!e))},children:"+ Add Tag"})})},"addNew")})]})]})})})};export{p as default};
1
+ import{j as e}from"../../../_virtual/jsx-runtime.js";import{useState as i}from"react";import s from"../InfoForm/InfoForm.module.scss.js";import{d as a}from"../../../_virtual/index.js";import t from"../Tooltip/Tooltip.js";import n from"../SVGLoader/SVGLoader.js";import l from"../../assets/icons/DeleteIcon.svg.js";import o from"../../assets/icons/EditIcon.svg.js";import r from"../../assets/icons/AddRow.svg.js";import d from"../MethodAccordion/MethodAccordion.module.scss.js";import{useFormik as c}from"../../../node_modules/formik/dist/formik.esm.js";import{object as m,string as h}from"../../../node_modules/yup/index.esm.js";const p=({id:p,headCells:x,data:j,isFormOpen:u,setIsFormOpen:v,saveNewRow:D,readOnly:N})=>{var b,g,C,T,f,w,k;const[B,_]=i(""),[y,I]=i(""),[E,A]=i(""),[L,O]=i(null),[S,W]=i(null),{values:F,errors:R,setFieldValue:V,isValid:P,submitForm:z,resetForm:q}=c({initialValues:{name:"",description:"",externalDocs:{url:"",description:""}},validationSchema:m().shape({name:h().required("Tag name is required"),description:h().optional(),externalDocs:m().optional()}),onSubmit:e=>{D(e),_(""),I(""),A(""),q(),v(!1)}});return e.jsx("div",{className:"tableSectionContainer",children:e.jsx("div",{className:"tableContainer",children:e.jsxs("table",{id:p||"",className:"table borderRadiusTop borderRadiusBottom",children:[e.jsx("thead",{className:"tableHead",children:e.jsx("tr",{children:null==x?void 0:x.map((i=>e.jsx("th",{className:`tableHeadCell ${i.classes||""}`,style:{width:i.width,minWidth:i.minWidth},children:e.jsx("div",{className:"headContainer","data-id":`${"string"==typeof i.label?i.label.toUpperCase().replace(/[^a-zA-Z0-9]+/g,"_"):"UNKNOWN_LABEL"}_COLUMN`,children:i.label})},i.id)))})}),e.jsxs("tbody",{className:"tableBody","data-id":"TABLE_BODY",children:[null==j?void 0:j.map(((i,s)=>e.jsx("tr",{"data-i":s,className:"row",children:null==x?void 0:x.map((s=>{const a="_"!==i[s.id]&&e.jsx("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",style:{width:s.width,minWidth:s.minWidth},children:i[s.id]});return e.jsx("td",{style:{width:s.width,minWidth:s.minWidth},children:a},s.id)}))},s))),u?e.jsxs("tr",{"data-i":"",className:"row",children:[e.jsx("td",{children:e.jsx("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:e.jsx(a.Input,{placeholder:"Tag name",size:"large",type:"text",onChange:e=>{V("name",e)},value:F.name,disabled:N})})},"tag name"),e.jsx("td",{children:e.jsxs("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:[e.jsx("div",{className:d.paramDescContainer,children:e.jsx(t,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>O(e),content:e.jsxs("div",{className:s.editDescTooltipContent,children:[e.jsx("p",{className:s.editDescTooltipContent_header,children:"Description"}),e.jsx(a.TextArea,{value:B||F.description,onChange:e=>{_(e)},disabled:N,placeholder:"Describe Tag..."}),!N&&e.jsx(a.Button,{className:s.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{V("description",B),null==L||L.hide()},children:"Apply"})]}),children:e.jsxs(a.Button,{className:s.editDescBtn,style:{paddingLeft:0},variant:"link",color:"action",endIcon:e.jsx(n,{src:o,width:"1.5rem",height:"1.5rem"}),children:[N?"View ":"Add "," Description"]})})})," "]})},"tagDescRequired"),e.jsx("td",{children:e.jsx("div",{className:"tableData",children:e.jsxs("div",{className:s.paramDescContainer,children:[e.jsx(t,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>W(e),content:e.jsxs("div",{className:s.editDescTooltipContent,children:[e.jsx("p",{className:s.editDescTooltipContent_header,children:"External Docs Description"}),e.jsx(a.TextArea,{placeholder:"Describe External Doc...",value:y||F.externalDocs.description,disabled:N,onChange:e=>I(e)}),e.jsx("p",{className:s.editDescTooltipContent_header,children:"External Docs Link"}),e.jsx(a.TextArea,{placeholder:"External Docs Link...",value:E||F.externalDocs.url,disabled:N,onChange:e=>A(e)}),!N&&e.jsx(a.Button,{className:s.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{V("externalDocs",{description:y,url:E}),I(""),A(""),null==S||S.hide()},children:"Apply"})]}),children:N?e.jsxs("a",{className:s.editDescBtn,variant:"link",color:"action",href:null===(b=F.externalDocs)||void 0===b?void 0:b.url,target:"_blank",children:[(null===(g=null==F?void 0:F.externalDocs)||void 0===g?void 0:g.description)?null===(T=null===(C=null==F?void 0:F.externalDocs)||void 0===C?void 0:C.description)||void 0===T?void 0:T.substring(0,12):"-",(null===(f=null==F?void 0:F.externalDocs)||void 0===f?void 0:f.description)&&(null===(k=null===(w=null==F?void 0:F.externalDocs)||void 0===w?void 0:w.description)||void 0===k?void 0:k.length)>12?"...":""]}):e.jsxs(a.Button,{className:s.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(n,{src:o,width:"1.5rem",height:"1.5rem"}),children:[N?"View ":"Add "," External Docs Link"]})}),e.jsx("div",{className:s.paramDescContainer_separator}),!N&&e.jsx(a.Button,{className:s.deleteParamBtn,variant:"link",color:"error",endIcon:e.jsx(n,{src:l,width:"1.125rem",height:"1.125rem"}),onClick:()=>{q(),_(""),v(!1)}}),!N&&e.jsx(a.Button,{className:s.deleteParamBtn,variant:"link",color:"success",disabled:!P,endIcon:e.jsx(n,{src:r,width:"0.125rem",height:"0.125rem"}),onClick:()=>{_(""),z()}})]})})},"tagExternal")]},""):e.jsx(e.Fragment,{children:!N&&e.jsx("tr",{"data-i":"addNew",className:"row",children:e.jsx("td",{colSpan:5,children:e.jsx(a.Button,{variant:"link",color:"primary",onClick:()=>{v((e=>!e))},children:"+ Add Tag"})})},"addNew")})]})]})})})};export{p as default};
2
2
  //# sourceMappingURL=tags-table.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tags-table.js","sources":["../../../../src/components/table/tags-table.tsx"],"sourcesContent":["import { useState } from 'react'\r\nimport './style.scss'\r\nimport _styles from '../InfoForm/InfoForm.module.scss'\r\nimport { Button, Input, TextArea } from 'digitinary-ui'\r\nimport Tooltip from '../Tooltip/Tooltip'\r\nimport SVGLoader from '../SVGLoader/SVGLoader'\r\nimport { AddRow, EditIcon, DeleteIcon } from '../../assets/icons'\r\nimport styles from '../MethodAccordion/MethodAccordion.module.scss'\r\nimport { useFormik } from 'formik'\r\nimport * as yup from 'yup'\r\n\r\nconst TagsTable = ({ id, headCells, data, isFormOpen, setIsFormOpen, saveNewRow, readOnly }) => {\r\n const [text, setText] = useState('')\r\n const [externalDesc, setExternalDesc] = useState('')\r\n const [externalUrl, setExternalUrl] = useState('')\r\n const [tooltipRef, setTooltipRef] = useState(null)\r\n const [externalTooltipRefs, setExternalTooltipRefs] = useState(null)\r\n const { values, errors, setFieldValue, isValid, submitForm, resetForm } = useFormik({\r\n initialValues: {\r\n name: '',\r\n description: '',\r\n externalDocs: {\r\n url: '',\r\n description: '',\r\n },\r\n },\r\n validationSchema: yup.object().shape({\r\n name: yup.string().required('Tag name is required'),\r\n description: yup.string().optional(),\r\n externalDocs: yup.object().optional(),\r\n }),\r\n onSubmit: (values) => {\r\n setText('')\r\n setExternalDesc('')\r\n setExternalUrl('')\r\n resetForm()\r\n setIsFormOpen(false)\r\n saveNewRow(values)\r\n },\r\n })\r\n return (\r\n <div className=\"tableSectionContainer\">\r\n <div className=\"tableContainer\">\r\n <table id={id || ''} className={`table borderRadiusTop borderRadiusBottom`}>\r\n <thead className=\"tableHead\">\r\n <tr>\r\n {headCells?.map((headCell) => (\r\n <th\r\n key={headCell.id}\r\n className={`tableHeadCell ${headCell.classes || ''}`}\r\n style={{ width: headCell.width, minWidth: headCell.minWidth }}\r\n >\r\n <div\r\n className=\"headContainer\"\r\n data-id={`${\r\n typeof headCell.label === 'string'\r\n ? headCell.label.toUpperCase().replace(/[^a-zA-Z0-9]+/g, '_')\r\n : 'UNKNOWN_LABEL'\r\n }_COLUMN`}\r\n >\r\n {headCell.label}\r\n </div>\r\n </th>\r\n ))}\r\n </tr>\r\n </thead>\r\n <tbody className=\"tableBody\" data-id=\"TABLE_BODY\">\r\n {data?.map((row, rowIndex) => {\r\n return (\r\n <tr key={rowIndex} data-i={rowIndex} className={`row`}>\r\n {headCells?.map((headCell) => {\r\n const cellContent = row[headCell.id] !== '_' && (\r\n <div\r\n data-id=\"TEXT_DESCRIPTION\"\r\n className=\"tableData\"\r\n style={{\r\n width: headCell.width,\r\n minWidth: headCell.minWidth,\r\n }}\r\n >\r\n {row[headCell.id]}\r\n </div>\r\n )\r\n\r\n return (\r\n <td\r\n key={headCell.id}\r\n style={{\r\n width: headCell.width,\r\n minWidth: headCell.minWidth,\r\n }}\r\n >\r\n {cellContent}\r\n </td>\r\n )\r\n })}\r\n </tr>\r\n )\r\n })}\r\n {isFormOpen ? (\r\n <tr key={''} data-i={''} className={`row`}>\r\n <td key={'tag name'}>\r\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\r\n <Input\r\n placeholder=\"Tag name\"\r\n size=\"large\"\r\n type=\"text\"\r\n onChange={(value) => {\r\n setFieldValue('name', value)\r\n }} // Pass the value directly\r\n value={values.name} // Bind value to the state\r\n disabled={readOnly}\r\n />\r\n </div>\r\n </td>\r\n\r\n <td key={'tagDescRequired'}>\r\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\r\n <div className={styles.paramDescContainer}>\r\n <Tooltip\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) => setTooltipRef(instance)}\r\n content={\r\n <div className={_styles.editDescTooltipContent}>\r\n <p className={_styles.editDescTooltipContent_header}>Description</p>\r\n <TextArea\r\n value={text || values.description}\r\n onChange={(value) => {\r\n setText(value)\r\n }}\r\n disabled={readOnly}\r\n placeholder=\"Describe Tag...\"\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('description', text)\r\n tooltipRef?.hide()\r\n }}\r\n >\r\n Apply\r\n </Button>\r\n )}\r\n </div>\r\n }\r\n >\r\n <Button\r\n className={_styles.editDescBtn}\r\n style={{ paddingLeft: 0 }}\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 </Tooltip>\r\n </div>{' '}\r\n </div>\r\n </td>\r\n <td key={'tagExternal'}>\r\n <div className=\"tableData\">\r\n <div className={_styles.paramDescContainer}>\r\n <Tooltip\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) => setExternalTooltipRefs(instance)}\r\n content={\r\n <div className={_styles.editDescTooltipContent}>\r\n <p className={_styles.editDescTooltipContent_header}>\r\n External Docs Description\r\n </p>\r\n <TextArea\r\n placeholder=\"Describe External Doc...\"\r\n value={externalDesc || values.externalDocs.description}\r\n disabled={readOnly}\r\n onChange={(value) => setExternalDesc(value)}\r\n />\r\n <p className={_styles.editDescTooltipContent_header}>\r\n External Docs Link\r\n </p>\r\n <TextArea\r\n placeholder=\"External Docs Link...\"\r\n value={externalUrl || values.externalDocs.url}\r\n disabled={readOnly}\r\n onChange={(value) => setExternalUrl(value)}\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(`externalDocs`, {\r\n description: externalDesc,\r\n url: externalUrl,\r\n })\r\n setExternalDesc('')\r\n setExternalUrl('')\r\n externalTooltipRefs?.hide()\r\n }}\r\n >\r\n Apply\r\n </Button>\r\n )}\r\n </div>\r\n }\r\n >\r\n {readOnly ? (\r\n <a\r\n className={_styles.editDescBtn}\r\n variant=\"link\"\r\n color=\"action\"\r\n href={values.externalDocs?.url}\r\n target='_blank'\r\n \r\n >\r\n {values?.externalDocs?.description\r\n ? values?.externalDocs?.description?.substring(0, 12)\r\n : '-'}\r\n {values?.externalDocs?.description &&\r\n values?.externalDocs?.description?.length > 12\r\n ? '...'\r\n : ''}\r\n </a>\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 '} External Docs Link\r\n </Button>\r\n )}\r\n </Tooltip>\r\n <div className={_styles.paramDescContainer_separator}></div>\r\n {!readOnly && (\r\n <Button\r\n className={_styles.deleteParamBtn}\r\n variant=\"link\"\r\n color=\"error\"\r\n endIcon={\r\n <SVGLoader src={DeleteIcon} width=\"1.125rem\" height=\"1.125rem\" />\r\n }\r\n onClick={() => {\r\n resetForm()\r\n setText('')\r\n setIsFormOpen(false)\r\n }} // Correctly delete the new row\r\n />\r\n )}\r\n\r\n {!readOnly && (\r\n <Button\r\n className={_styles.deleteParamBtn}\r\n variant=\"link\"\r\n color=\"success\"\r\n disabled={!isValid}\r\n endIcon={<SVGLoader src={AddRow} width=\"0.125rem\" height=\"0.125rem\" />}\r\n onClick={() => {\r\n setText('')\r\n submitForm()\r\n }} // Save the new row when clicked\r\n />\r\n )}\r\n </div>\r\n </div>\r\n </td>\r\n </tr>\r\n ) : (\r\n <>\r\n {!readOnly && (\r\n <tr key={'addNew'} data-i={'addNew'} className={`row`}>\r\n <td colSpan={5}>\r\n <Button\r\n variant=\"link\"\r\n color=\"primary\"\r\n onClick={() => {\r\n setIsFormOpen((prev) => !prev)\r\n }}\r\n >\r\n + Add Tag\r\n </Button>\r\n </td>\r\n </tr>\r\n )}\r\n </>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default TagsTable\r\n"],"names":["TagsTable","id","headCells","data","isFormOpen","setIsFormOpen","saveNewRow","readOnly","text","setText","useState","externalDesc","setExternalDesc","externalUrl","setExternalUrl","tooltipRef","setTooltipRef","externalTooltipRefs","setExternalTooltipRefs","values","errors","setFieldValue","isValid","submitForm","resetForm","useFormik","initialValues","name","description","externalDocs","url","validationSchema","yup.object","shape","yup.string","required","optional","onSubmit","_jsx","className","_jsxs","jsxs","children","map","headCell","classes","style","width","minWidth","jsx","label","toUpperCase","replace","row","rowIndex","cellContent","Input","placeholder","size","type","onChange","value","disabled","styles","paramDescContainer","Tooltip","arrowWithBorder","placement","trigger","delay","onCreate","instance","content","_styles","editDescTooltipContent","editDescTooltipContent_header","TextArea","Button","editDescTooltipContent_btn","variant","onClick","hide","editDescBtn","paddingLeft","color","endIcon","SVGLoader","src","EditIcon","height","href","_a","target","_b","_d","_c","substring","_e","_g","_f","length","paramDescContainer_separator","deleteParamBtn","DeleteIcon","AddRow","_Fragment","Fragment","colSpan","prev"],"mappings":"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"}
1
+ {"version":3,"file":"tags-table.js","sources":["../../../../src/components/table/tags-table.tsx"],"sourcesContent":["import { useState } from 'react'\r\nimport './style.scss'\r\nimport _styles from '../InfoForm/InfoForm.module.scss'\r\nimport { Button, Input, TextArea } from 'digitinary-ui'\r\nimport Tooltip from '../Tooltip/Tooltip'\r\nimport SVGLoader from '../SVGLoader/SVGLoader'\r\nimport { AddRow, EditIcon, DeleteIcon } from '../../assets/icons'\r\nimport styles from '../MethodAccordion/MethodAccordion.module.scss'\r\nimport { useFormik } from 'formik'\r\nimport * as yup from 'yup'\r\n\r\nconst TagsTable = ({ id, headCells, data, isFormOpen, setIsFormOpen, saveNewRow, readOnly }) => {\r\n const [text, setText] = useState('')\r\n const [externalDesc, setExternalDesc] = useState('')\r\n const [externalUrl, setExternalUrl] = useState('')\r\n const [tooltipRef, setTooltipRef] = useState(null)\r\n const [externalTooltipRefs, setExternalTooltipRefs] = useState(null)\r\n const { values, errors, setFieldValue, isValid, submitForm, resetForm } = useFormik({\r\n initialValues: {\r\n name: '',\r\n description: '',\r\n externalDocs: {\r\n url: '',\r\n description: '',\r\n },\r\n },\r\n validationSchema: yup.object().shape({\r\n name: yup.string().required('Tag name is required'),\r\n description: yup.string().optional(),\r\n externalDocs: yup.object().optional(),\r\n }),\r\n onSubmit: (values) => {\r\n saveNewRow(values)\r\n setText('')\r\n setExternalDesc('')\r\n setExternalUrl('')\r\n resetForm()\r\n setIsFormOpen(false)\r\n },\r\n })\r\n return (\r\n <div className=\"tableSectionContainer\">\r\n <div className=\"tableContainer\">\r\n <table id={id || ''} className={`table borderRadiusTop borderRadiusBottom`}>\r\n <thead className=\"tableHead\">\r\n <tr>\r\n {headCells?.map((headCell) => (\r\n <th\r\n key={headCell.id}\r\n className={`tableHeadCell ${headCell.classes || ''}`}\r\n style={{ width: headCell.width, minWidth: headCell.minWidth }}\r\n >\r\n <div\r\n className=\"headContainer\"\r\n data-id={`${\r\n typeof headCell.label === 'string'\r\n ? headCell.label.toUpperCase().replace(/[^a-zA-Z0-9]+/g, '_')\r\n : 'UNKNOWN_LABEL'\r\n }_COLUMN`}\r\n >\r\n {headCell.label}\r\n </div>\r\n </th>\r\n ))}\r\n </tr>\r\n </thead>\r\n <tbody className=\"tableBody\" data-id=\"TABLE_BODY\">\r\n {data?.map((row, rowIndex) => {\r\n return (\r\n <tr key={rowIndex} data-i={rowIndex} className={`row`}>\r\n {headCells?.map((headCell) => {\r\n const cellContent = row[headCell.id] !== '_' && (\r\n <div\r\n data-id=\"TEXT_DESCRIPTION\"\r\n className=\"tableData\"\r\n style={{\r\n width: headCell.width,\r\n minWidth: headCell.minWidth,\r\n }}\r\n >\r\n {row[headCell.id]}\r\n </div>\r\n )\r\n\r\n return (\r\n <td\r\n key={headCell.id}\r\n style={{\r\n width: headCell.width,\r\n minWidth: headCell.minWidth,\r\n }}\r\n >\r\n {cellContent}\r\n </td>\r\n )\r\n })}\r\n </tr>\r\n )\r\n })}\r\n {isFormOpen ? (\r\n <tr key={''} data-i={''} className={`row`}>\r\n <td key={'tag name'}>\r\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\r\n <Input\r\n placeholder=\"Tag name\"\r\n size=\"large\"\r\n type=\"text\"\r\n onChange={(value) => {\r\n setFieldValue('name', value)\r\n }} // Pass the value directly\r\n value={values.name} // Bind value to the state\r\n disabled={readOnly}\r\n />\r\n </div>\r\n </td>\r\n\r\n <td key={'tagDescRequired'}>\r\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\r\n <div className={styles.paramDescContainer}>\r\n <Tooltip\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) => setTooltipRef(instance)}\r\n content={\r\n <div className={_styles.editDescTooltipContent}>\r\n <p className={_styles.editDescTooltipContent_header}>Description</p>\r\n <TextArea\r\n value={text || values.description}\r\n onChange={(value) => {\r\n setText(value)\r\n }}\r\n disabled={readOnly}\r\n placeholder=\"Describe Tag...\"\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('description', text)\r\n tooltipRef?.hide()\r\n }}\r\n >\r\n Apply\r\n </Button>\r\n )}\r\n </div>\r\n }\r\n >\r\n <Button\r\n className={_styles.editDescBtn}\r\n style={{ paddingLeft: 0 }}\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 </Tooltip>\r\n </div>{' '}\r\n </div>\r\n </td>\r\n <td key={'tagExternal'}>\r\n <div className=\"tableData\">\r\n <div className={_styles.paramDescContainer}>\r\n <Tooltip\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) => setExternalTooltipRefs(instance)}\r\n content={\r\n <div className={_styles.editDescTooltipContent}>\r\n <p className={_styles.editDescTooltipContent_header}>\r\n External Docs Description\r\n </p>\r\n <TextArea\r\n placeholder=\"Describe External Doc...\"\r\n value={externalDesc || values.externalDocs.description}\r\n disabled={readOnly}\r\n onChange={(value) => setExternalDesc(value)}\r\n />\r\n <p className={_styles.editDescTooltipContent_header}>\r\n External Docs Link\r\n </p>\r\n <TextArea\r\n placeholder=\"External Docs Link...\"\r\n value={externalUrl || values.externalDocs.url}\r\n disabled={readOnly}\r\n onChange={(value) => setExternalUrl(value)}\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(`externalDocs`, {\r\n description: externalDesc,\r\n url: externalUrl,\r\n })\r\n setExternalDesc('')\r\n setExternalUrl('')\r\n externalTooltipRefs?.hide()\r\n }}\r\n >\r\n Apply\r\n </Button>\r\n )}\r\n </div>\r\n }\r\n >\r\n {readOnly ? (\r\n <a\r\n className={_styles.editDescBtn}\r\n variant=\"link\"\r\n color=\"action\"\r\n href={values.externalDocs?.url}\r\n target='_blank'\r\n \r\n >\r\n {values?.externalDocs?.description\r\n ? values?.externalDocs?.description?.substring(0, 12)\r\n : '-'}\r\n {values?.externalDocs?.description &&\r\n values?.externalDocs?.description?.length > 12\r\n ? '...'\r\n : ''}\r\n </a>\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 '} External Docs Link\r\n </Button>\r\n )}\r\n </Tooltip>\r\n <div className={_styles.paramDescContainer_separator}></div>\r\n {!readOnly && (\r\n <Button\r\n className={_styles.deleteParamBtn}\r\n variant=\"link\"\r\n color=\"error\"\r\n endIcon={\r\n <SVGLoader src={DeleteIcon} width=\"1.125rem\" height=\"1.125rem\" />\r\n }\r\n onClick={() => {\r\n resetForm()\r\n setText('')\r\n setIsFormOpen(false)\r\n }} // Correctly delete the new row\r\n />\r\n )}\r\n\r\n {!readOnly && (\r\n <Button\r\n className={_styles.deleteParamBtn}\r\n variant=\"link\"\r\n color=\"success\"\r\n disabled={!isValid}\r\n endIcon={<SVGLoader src={AddRow} width=\"0.125rem\" height=\"0.125rem\" />}\r\n onClick={() => {\r\n setText('')\r\n submitForm()\r\n }} // Save the new row when clicked\r\n />\r\n )}\r\n </div>\r\n </div>\r\n </td>\r\n </tr>\r\n ) : (\r\n <>\r\n {!readOnly && (\r\n <tr key={'addNew'} data-i={'addNew'} className={`row`}>\r\n <td colSpan={5}>\r\n <Button\r\n variant=\"link\"\r\n color=\"primary\"\r\n onClick={() => {\r\n setIsFormOpen((prev) => !prev)\r\n }}\r\n >\r\n + Add Tag\r\n </Button>\r\n </td>\r\n </tr>\r\n )}\r\n </>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default TagsTable\r\n"],"names":["TagsTable","id","headCells","data","isFormOpen","setIsFormOpen","saveNewRow","readOnly","text","setText","useState","externalDesc","setExternalDesc","externalUrl","setExternalUrl","tooltipRef","setTooltipRef","externalTooltipRefs","setExternalTooltipRefs","values","errors","setFieldValue","isValid","submitForm","resetForm","useFormik","initialValues","name","description","externalDocs","url","validationSchema","yup.object","shape","yup.string","required","optional","onSubmit","_jsx","className","_jsxs","jsxs","children","map","headCell","classes","style","width","minWidth","jsx","label","toUpperCase","replace","row","rowIndex","cellContent","Input","placeholder","size","type","onChange","value","disabled","styles","paramDescContainer","Tooltip","arrowWithBorder","placement","trigger","delay","onCreate","instance","content","_styles","editDescTooltipContent","editDescTooltipContent_header","TextArea","Button","editDescTooltipContent_btn","variant","onClick","hide","editDescBtn","paddingLeft","color","endIcon","SVGLoader","src","EditIcon","height","href","_a","target","_b","_d","_c","substring","_e","_g","_f","length","paramDescContainer_separator","deleteParamBtn","DeleteIcon","AddRow","_Fragment","Fragment","colSpan","prev"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- const e={get:{label:"Get",color:"#3A6CD1",order:1},post:{label:"Post",color:"#3AAA35",order:2},put:{label:"Put",color:"#FAAD14",order:3},delete:{label:"Delete",color:"#DA3F3F",order:4},patch:{label:"Patch",color:"#58E2C2",order:5},options:{label:"Options",color:"#495D97",order:6},trace:{label:"Trace",color:"#FFA28F",order:7},head:{label:"Head",color:"#9461C9",order:8}},r=[{id:"tagName",label:"Tag Name",sortable:!1,classes:"requiredParam"},{id:"description",label:"Description",sortable:!1,classes:"requiredParam"},{id:"externalDocs",label:"External Docs",sortable:!1,classes:"requiredParam"}],a=[{id:"paramName",label:"Parameter Name",sortable:!1,required:!0,classes:"requiredParam"},{id:"paramType",label:"In",sortable:!1,classes:"requiredParam"},{id:"schemaType",label:"Schema-Type",sortable:!1,classes:"requiredParam"},{id:"required",label:"Required",sortable:!1,classes:"requiredParam"},{id:"description",label:"Description",sortable:!1}],l=[100,101,102,103,200,201,202,203,204,205,206,207,208,226,300,301,302,303,304,305,306,307,308,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,421,422,423,424,425,426,428,429,431,451,500,501,502,503,504,505,506,507,508,510,511];export{l as httpStatusCodes,e as methodColorMapping,a as paramsTableHeaders,r as tagsTableHeaders};
1
+ const e={get:{label:"Get",color:"#3A6CD1",order:1},post:{label:"Post",color:"#3AAA35",order:2},put:{label:"Put",color:"#FAAD14",order:3},delete:{label:"Delete",color:"#DA3F3F",order:4},patch:{label:"Patch",color:"#58E2C2",order:5},options:{label:"Options",color:"#495D97",order:6},trace:{label:"Trace",color:"#FFA28F",order:7},head:{label:"Head",color:"#9461C9",order:8}},r=[{id:"tagName",label:"Tag Name",sortable:!1,classes:"requiredParam"},{id:"description",label:"Description",sortable:!1},{id:"externalDocs",label:"External Docs",sortable:!1}],a=[{id:"paramName",label:"Parameter Name",sortable:!1,required:!0,classes:"requiredParam"},{id:"paramType",label:"In",sortable:!1,classes:"requiredParam"},{id:"schemaType",label:"Schema-Type",sortable:!1,classes:"requiredParam"},{id:"required",label:"Required",sortable:!1,classes:"requiredParam"},{id:"description",label:"Description",sortable:!1}],l=[100,101,102,103,200,201,202,203,204,205,206,207,208,226,300,301,302,303,304,305,306,307,308,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,421,422,423,424,425,426,428,429,431,451,500,501,502,503,504,505,506,507,508,510,511];export{l as httpStatusCodes,e as methodColorMapping,a as paramsTableHeaders,r as tagsTableHeaders};
2
2
  //# sourceMappingURL=index.js.map