Merge pull request #49 from razorpay/AD-47

[statping-ui] : fix for downtime crop issue
pull/1113/head
Amitabh 2023-01-11 18:46:39 +05:30 committed by GitHub
commit bf4ff5b161
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 35 additions and 16 deletions

View File

@ -6,7 +6,11 @@ import API from "../config/API";
import ServiceLoader from "./ServiceLoader"; import ServiceLoader from "./ServiceLoader";
import ReactTooltip from "react-tooltip"; import ReactTooltip from "react-tooltip";
import { STATUS_CLASS } from "../utils/constants"; import { STATUS_CLASS } from "../utils/constants";
import { calcPer, isObjectEmpty } from "../utils/helper"; import {
calcPer,
generateTooltipPosition,
isObjectEmpty,
} from "../utils/helper";
import { errorToastConfig } from "../utils/toast"; import { errorToastConfig } from "../utils/toast";
const STATUS_TEXT = { const STATUS_TEXT = {
@ -140,16 +144,18 @@ const GroupServiceFailures = ({ group = null, service, collapse }) => {
place="bottom" place="bottom"
backgroundColor="#344A6C" backgroundColor="#344A6C"
html={true} html={true}
overridePosition={generateTooltipPosition}
/> />
{failureData?.length > 0 ? ( {failureData?.length > 0 ? (
failureData.map((d, i) => { failureData.map((d, i) => {
return ( return (
<div <div
className={`flex-fill service_day ${STATUS_CLASS[d.status]}`} className={`service_day ${STATUS_CLASS[d.status]}`}
onMouseOver={() => handleMouseOver(d)} onMouseOver={() => handleMouseOver(d)}
onMouseOut={handleMouseOut} onMouseOut={handleMouseOut}
key={i} key={i}
data-tip={hoverText}> data-tip={hoverText}
>
{d.status !== 0 && ( {d.status !== 0 && (
<span className="d-none d-md-block text-center small"></span> <span className="d-none d-md-block text-center small"></span>
)} )}
@ -166,13 +172,8 @@ const GroupServiceFailures = ({ group = null, service, collapse }) => {
<div className="no-select"> <div className="no-select">
<p className="divided justify-content-between"> <p className="divided justify-content-between">
<span className="timeline-text font-12"> <span className="timeline-text font-12">
90 {langs("days_ago")} {langs("status_over_the_past")} 90 {langs("days")}
</span> </span>
{/* <span className="timeline-divider"></span> */}
{/* <span className="timeline-text font-12">{service_txt()}</span> */}
{/* <span className="timeline-text font-12">{uptime}% uptime</span> */}
<span className="timeline-divider"></span>
<span className="timeline-text font-12">{langs("today")}</span>
</p> </p>
</div> </div>
</div> </div>

View File

@ -141,6 +141,7 @@ const english = {
notify_all: "Notify All Changes", notify_all: "Notify All Changes",
service_update: "Update Service", service_update: "Update Service",
service_create: "Create Service", service_create: "Create Service",
status_over_the_past: "Status over the past",
}; };
const langs = (v) => english[v]; const langs = (v) => english[v];

View File

@ -131,11 +131,12 @@
} }
.block-chart { .block-chart {
padding-top: 7px;
height: 100%;
display: flex; display: flex;
justify-content: center; flex-flow: row wrap;
margin: 1rem 0; justify-content: flex-start;
padding: 0 0.75rem; gap: 1px;
div.service_day:last-child { div.service_day:last-child {
margin-right: 0; margin-right: 0;
} }
@ -144,8 +145,9 @@
.service_day { .service_day {
position: relative; position: relative;
height: 24px; height: 24px;
min-width: 4px; min-width: 6px;
margin-right: 2px; margin-right: 1.5px;
margin-bottom: 4px;
cursor: pointer; cursor: pointer;
} }

View File

@ -3,7 +3,7 @@ $background-color: #f5f8ff;
$primary-bg: linear-gradient(314deg, #54a5ff -40%, #03299c); $primary-bg: linear-gradient(314deg, #54a5ff -40%, #03299c);
$container-color: #ffffff; $container-color: #ffffff;
$text-color: #2a2a2a; $text-color: #2a2a2a;
$max-width: 775px; $max-width: 824px;
/* colors */ /* colors */
$base-color: #1f2849; $base-color: #1f2849;

View File

@ -90,3 +90,18 @@ export const generateUUID = (length) => {
Math.floor(Math.random() * 36).toString(36) Math.floor(Math.random() * 36).toString(36)
).join(""); ).join("");
}; };
export const generateTooltipPosition = (...args) => {
const position = args?.[0]; //tooltip default position
const { top, left } = position || {};
const place = args?.[4]; // tooltip placement
const offset = 6;
if (place === "left" || place === "right") {
return {
top,
left: place === "left" ? left + offset : left - offset,
};
}
return position;
};