adjustment: finalized InfisicalSecretInput

This commit is contained in:
Sheen Capadngan
2024-04-23 22:49:00 +08:00
parent 9b7ef55ad7
commit b135ba263c
2 changed files with 19 additions and 10 deletions
@@ -1,5 +1,5 @@
/* eslint-disable react/no-danger */ /* eslint-disable react/no-danger */
import React, { forwardRef, TextareaHTMLAttributes, useRef, useState } from "react"; import React, { forwardRef, TextareaHTMLAttributes, useEffect, useRef, useState } from "react";
import { twMerge } from "tailwind-merge"; import { twMerge } from "tailwind-merge";
import { import {
@@ -97,7 +97,12 @@ export const InfisicalSecretInput = forwardRef<HTMLTextAreaElement, Props>(
const [referenceKey, setReferenceKey] = useState<string>(); const [referenceKey, setReferenceKey] = useState<string>();
const [lastCaretPos, setLastCaretPos] = useState<number>(0); const [lastCaretPos, setLastCaretPos] = useState<number>(0);
useEffect(() => {
setValue(propValue as string);
}, [propValue]);
const isCaretInsideReference = (str: string, start: number) => { const isCaretInsideReference = (str: string, start: number) => {
if (str) {
const match = [...str.matchAll(REGEX_SECRET_REFERENCE_FIND)].find( const match = [...str.matchAll(REGEX_SECRET_REFERENCE_FIND)].find(
(entry) => (entry) =>
typeof entry?.index !== "undefined" && typeof entry?.index !== "undefined" &&
@@ -106,6 +111,9 @@ export const InfisicalSecretInput = forwardRef<HTMLTextAreaElement, Props>(
); );
return match || null; return match || null;
}
return null;
}; };
const setCaretPos = (caretPos: number) => { const setCaretPos = (caretPos: number) => {
@@ -299,7 +307,7 @@ export const InfisicalSecretInput = forwardRef<HTMLTextAreaElement, Props>(
if (!showReferencePopup) setIsSecretFocused.off(); if (!showReferencePopup) setIsSecretFocused.off();
}} }}
{...props} {...props}
value={value} value={value || ""}
readOnly={isReadOnly} readOnly={isReadOnly}
/> />
</div> </div>
@@ -100,6 +100,7 @@ export const SecretEditRow = ({
<InfisicalSecretInput <InfisicalSecretInput
{...field} {...field}
value={field.value as string} value={field.value as string}
key="secret-input"
isVisible={isVisible} isVisible={isVisible}
secretPath={secretPath} secretPath={secretPath}
environment={environment} environment={environment}