From c29c3301cf90fef5f97378edd5d65d96d23d6b8d Mon Sep 17 00:00:00 2001 From: Aiga115 Date: Tue, 25 Mar 2025 14:07:22 +0100 Subject: [PATCH 1/3] ILEX-79-fix fix copy link url --- src/components/SingleTermView/index.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/SingleTermView/index.jsx b/src/components/SingleTermView/index.jsx index 57443edb..3ccda1ce 100644 --- a/src/components/SingleTermView/index.jsx +++ b/src/components/SingleTermView/index.jsx @@ -219,7 +219,7 @@ const SingleTermView = () => { - + From fd356e75bc174fa9683099be81f54f8018c7aded Mon Sep 17 00:00:00 2001 From: Aiga115 Date: Fri, 28 Mar 2025 18:07:25 +0100 Subject: [PATCH 2/3] ILEX-79-fix fix table ui and check url --- .../OverView/CustomizedTable.jsx | 7 ++--- .../SingleTermView/OverView/TableRow.jsx | 28 +++++++++++++------ 2 files changed, 23 insertions(+), 12 deletions(-) diff --git a/src/components/SingleTermView/OverView/CustomizedTable.jsx b/src/components/SingleTermView/OverView/CustomizedTable.jsx index ce1f6040..2bec31ce 100644 --- a/src/components/SingleTermView/OverView/CustomizedTable.jsx +++ b/src/components/SingleTermView/OverView/CustomizedTable.jsx @@ -33,6 +33,7 @@ const tableStyles = { root: { padding: '.5rem', display: 'flex', + alignItems: 'center', border: '1 solid transparent', position: 'relative', borderBottom: `1px solid ${gray100}`, @@ -42,11 +43,9 @@ const tableStyles = { color: 'red', gap: '0.5rem', fontSize: '0.875rem', - flexShrink: 0, lineHeight: '142.857%', fontWeight: 600, - display: 'flex', - alignItems: 'center' + textDecoration: 'none' }, '& .MuiIconButton-root': { padding: '0', @@ -149,7 +148,7 @@ const CustomizedTable = ({ data, term, isAddButtonVisible }) => { const [tableHeader, setTableHeader] = useState([ { key: 'subject', label: 'Subject', allowSort: false, direction: 'desc' }, { key: 'predicate', label: 'Predicates', allowSort: false }, - { key: 'object', label: 'Objects', allowSort: true, direction: 'desc' } + { key: 'object', label: 'Objects', allowSort: true, direction: 'desc' }, ]); // eslint-disable-next-line no-unused-vars diff --git a/src/components/SingleTermView/OverView/TableRow.jsx b/src/components/SingleTermView/OverView/TableRow.jsx index 1ff524a4..5686af54 100644 --- a/src/components/SingleTermView/OverView/TableRow.jsx +++ b/src/components/SingleTermView/OverView/TableRow.jsx @@ -1,12 +1,16 @@ import { useState } from "react"; import PropTypes from "prop-types"; -import { Box, IconButton, Tooltip, Typography } from "@mui/material"; +import { Box, IconButton, Tooltip, Typography, Link } from "@mui/material"; import HelpOutlineOutlinedIcon from '@mui/icons-material/HelpOutlineOutlined'; +function isValidURL(value) { + return /^https?:\/\/[\w.-]+(\.[a-z]{2,})(:\d+)?(\/.*)?$/i.test(value); +} const TableRow = ({ tableStyles, data, onDragStart, onDragEnter, onDragEnd, index, columnWidth }) => { const { id, subject, predicate, object } = data; const [isHovered, setIsHovered] = useState(false); + console.log(isValidURL("owl:Class")) return ( - - {subject} - + {isValidURL(subject) ? ( + + {subject} + + ) : ( + {subject} + )} @@ -32,12 +40,16 @@ const TableRow = ({ tableStyles, data, onDragStart, onDragEnter, onDragEnd, inde - - {object} - + {isValidURL(object) ? ( + + {object} + + ) : ( + {object} + )} - + { isHovered && ( From 84e80bbf3b69702f08d4d79cb64adfe14b42d77b Mon Sep 17 00:00:00 2001 From: Aiga115 Date: Fri, 28 Mar 2025 19:33:04 +0100 Subject: [PATCH 3/3] ILEX-79-fix align head cells and header cells --- .../OverView/CustomizedTable.jsx | 44 +++++++++---------- .../SingleTermView/OverView/TableRow.jsx | 5 +-- 2 files changed, 22 insertions(+), 27 deletions(-) diff --git a/src/components/SingleTermView/OverView/CustomizedTable.jsx b/src/components/SingleTermView/OverView/CustomizedTable.jsx index 2bec31ce..cc3a819f 100644 --- a/src/components/SingleTermView/OverView/CustomizedTable.jsx +++ b/src/components/SingleTermView/OverView/CustomizedTable.jsx @@ -34,7 +34,7 @@ const tableStyles = { padding: '.5rem', display: 'flex', alignItems: 'center', - border: '1 solid transparent', + border: '1px solid transparent', position: 'relative', borderBottom: `1px solid ${gray100}`, marginTop: '.25rem', @@ -43,7 +43,7 @@ const tableStyles = { color: 'red', gap: '0.5rem', fontSize: '0.875rem', - lineHeight: '142.857%', + lineHeight: '1.25rem', fontWeight: 600, textDecoration: 'none' }, @@ -68,6 +68,9 @@ const tableStyles = { display: 'flex', alignItems: 'center', minWidth: 0, + gap: '0.5rem', + paddingRight: '0.75rem', + paddingLeft: 0 }, '&:not(.secondary)': { '&:hover': { @@ -87,13 +90,7 @@ const tableStyles = { margin: 'auto 0', borderRadius: '0.1875rem' }, - }, - - '& > .MuiBox-root': { - gap: '0.5rem', - paddingRight: '0.75rem', - paddingLeft: 0 - }, + } }, }, inputParentBox: { @@ -259,7 +256,7 @@ const CustomizedTable = ({ data, term, isAddButtonVisible }) => { }, [objectSearchTerm, fetchTerms]); const tableWidth = 800; - const columnWidth = `${tableWidth / tableHeader.length}px`; + const columnWidth = `${Math.round(tableWidth / tableHeader.length)}px`; return ( <> @@ -282,21 +279,20 @@ const CustomizedTable = ({ data, term, isAddButtonVisible }) => { )} ))} + - - {tableContent.map((row, index) => - - )} - + {tableContent.map((row, index) => + + )} {isAddButtonVisible && ( diff --git a/src/components/SingleTermView/OverView/TableRow.jsx b/src/components/SingleTermView/OverView/TableRow.jsx index 5686af54..9cd2d370 100644 --- a/src/components/SingleTermView/OverView/TableRow.jsx +++ b/src/components/SingleTermView/OverView/TableRow.jsx @@ -10,7 +10,6 @@ function isValidURL(value) { const TableRow = ({ tableStyles, data, onDragStart, onDragEnter, onDragEnd, index, columnWidth }) => { const { id, subject, predicate, object } = data; const [isHovered, setIsHovered] = useState(false); - console.log(isValidURL("owl:Class")) return ( setIsHovered(true)} onMouseLeave={() => setIsHovered(false)} > - + {isValidURL(subject) ? ( @@ -49,7 +48,7 @@ const TableRow = ({ tableStyles, data, onDragStart, onDragEnter, onDragEnd, inde )} - + { isHovered && (