open pop up on input click
This commit is contained in:
parent
ba271ff85f
commit
040695dfa6
5 changed files with 106 additions and 56 deletions
|
|
@ -19,9 +19,24 @@ export default function CodeAreaComponent({
|
||||||
}
|
}
|
||||||
}, [disabled, onChange]);
|
}, [disabled, onChange]);
|
||||||
return (
|
return (
|
||||||
<div className={disabled ? "pointer-events-none cursor-not-allowed w-full" : "w-full"}>
|
<div
|
||||||
|
className={
|
||||||
|
disabled ? "pointer-events-none cursor-not-allowed w-full" : "w-full"
|
||||||
|
}
|
||||||
|
>
|
||||||
<div className="w-full flex items-center gap-3">
|
<div className="w-full flex items-center gap-3">
|
||||||
<span
|
<span
|
||||||
|
onClick={() => {
|
||||||
|
openPopUp(
|
||||||
|
<CodeAreaModal
|
||||||
|
value={myValue}
|
||||||
|
setValue={(t: string) => {
|
||||||
|
setMyValue(t);
|
||||||
|
onChange(t);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
}}
|
||||||
className={
|
className={
|
||||||
"truncate block w-full text-gray-500 px-3 py-2 rounded-md border border-gray-300 dark:border-gray-700 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm" +
|
"truncate block w-full text-gray-500 px-3 py-2 rounded-md border border-gray-300 dark:border-gray-700 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm" +
|
||||||
(disabled ? " bg-gray-200" : "")
|
(disabled ? " bg-gray-200" : "")
|
||||||
|
|
|
||||||
|
|
@ -69,6 +69,7 @@ export default function InputFileComponent({
|
||||||
>
|
>
|
||||||
<div className="w-full flex items-center gap-3">
|
<div className="w-full flex items-center gap-3">
|
||||||
<span
|
<span
|
||||||
|
onClick={handleButtonClick}
|
||||||
className={
|
className={
|
||||||
"truncate block w-full text-gray-500 px-3 py-2 rounded-md border border-gray-300 dark:border-gray-700 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm" +
|
"truncate block w-full text-gray-500 px-3 py-2 rounded-md border border-gray-300 dark:border-gray-700 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm" +
|
||||||
(disabled ? " bg-gray-200" : "")
|
(disabled ? " bg-gray-200" : "")
|
||||||
|
|
|
||||||
|
|
@ -6,30 +6,61 @@ import TextAreaModal from "../../modals/textAreaModal";
|
||||||
import { TextAreaComponentType } from "../../types/components";
|
import { TextAreaComponentType } from "../../types/components";
|
||||||
import PromptAreaModal from "../../modals/promptModal";
|
import PromptAreaModal from "../../modals/promptModal";
|
||||||
|
|
||||||
export default function PromptAreaComponent({ value, onChange, disabled }:TextAreaComponentType) {
|
export default function PromptAreaComponent({
|
||||||
const [myValue, setMyValue] = useState(value);
|
value,
|
||||||
const { openPopUp } = useContext(PopUpContext);
|
onChange,
|
||||||
useEffect(() => {
|
disabled,
|
||||||
if (disabled) {
|
}: TextAreaComponentType) {
|
||||||
setMyValue("");
|
const [myValue, setMyValue] = useState(value);
|
||||||
onChange("");
|
const { openPopUp } = useContext(PopUpContext);
|
||||||
}
|
useEffect(() => {
|
||||||
}, [disabled, onChange]);
|
if (disabled) {
|
||||||
return (
|
setMyValue("");
|
||||||
<div className={disabled ? "pointer-events-none cursor-not-allowed w-full" : " w-full"}>
|
onChange("");
|
||||||
<div className="w-full flex items-center gap-3">
|
}
|
||||||
<span
|
}, [disabled, onChange]);
|
||||||
className={
|
return (
|
||||||
"truncate block w-full text-gray-500 px-3 py-2 rounded-md border border-gray-300 dark:border-gray-700 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm" +
|
<div
|
||||||
(disabled ? " bg-gray-200" : "")
|
className={
|
||||||
}
|
disabled ? "pointer-events-none cursor-not-allowed w-full" : " w-full"
|
||||||
>
|
}
|
||||||
{myValue !== "" ? myValue : 'Text empty'}
|
>
|
||||||
</span>
|
<div className="w-full flex items-center gap-3">
|
||||||
<button onClick={()=>{openPopUp(<PromptAreaModal value={myValue} setValue={(t:string) => {setMyValue(t); onChange(t);}}/>)}}>
|
<span
|
||||||
<ArrowTopRightOnSquareIcon className="w-6 h-6 hover:text-blue-600" />
|
onClick={() => {
|
||||||
</button>
|
openPopUp(
|
||||||
</div>
|
<PromptAreaModal
|
||||||
</div>
|
value={myValue}
|
||||||
);
|
setValue={(t: string) => {
|
||||||
|
setMyValue(t);
|
||||||
|
onChange(t);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
}}
|
||||||
|
className={
|
||||||
|
"truncate block w-full text-gray-500 px-3 py-2 rounded-md border border-gray-300 dark:border-gray-700 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm" +
|
||||||
|
(disabled ? " bg-gray-200" : "")
|
||||||
|
}
|
||||||
|
>
|
||||||
|
{myValue !== "" ? myValue : "Text empty"}
|
||||||
|
</span>
|
||||||
|
<button
|
||||||
|
onClick={() => {
|
||||||
|
openPopUp(
|
||||||
|
<PromptAreaModal
|
||||||
|
value={myValue}
|
||||||
|
setValue={(t: string) => {
|
||||||
|
setMyValue(t);
|
||||||
|
onChange(t);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<ArrowTopRightOnSquareIcon className="w-6 h-6 hover:text-blue-600" />
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ export default function TextAreaComponent({ value, onChange, disabled }:TextArea
|
||||||
return (
|
return (
|
||||||
<div className={disabled ? "pointer-events-none cursor-not-allowed" : ""}>
|
<div className={disabled ? "pointer-events-none cursor-not-allowed" : ""}>
|
||||||
<div className="w-full flex items-center gap-3">
|
<div className="w-full flex items-center gap-3">
|
||||||
<span
|
<span onClick={()=>{openPopUp(<TextAreaModal value={myValue} setValue={(t:string) => {setMyValue(t); onChange(t);}}/>)}}
|
||||||
className={
|
className={
|
||||||
"truncate block w-full text-gray-500 px-3 py-2 rounded-md border border-gray-300 dark:border-gray-700 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm" +
|
"truncate block w-full text-gray-500 px-3 py-2 rounded-md border border-gray-300 dark:border-gray-700 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm" +
|
||||||
(disabled ? " bg-gray-200" : "")
|
(disabled ? " bg-gray-200" : "")
|
||||||
|
|
|
||||||
|
|
@ -87,34 +87,37 @@ export default function NodeModal({ data }: { data: NodeDataType }) {
|
||||||
<div className="flex h-full w-full">
|
<div className="flex h-full w-full">
|
||||||
<div className="overflow-hidden px-4 sm:p-4 w-full rounded-lg bg-white dark:bg-gray-800 shadow">
|
<div className="overflow-hidden px-4 sm:p-4 w-full rounded-lg bg-white dark:bg-gray-800 shadow">
|
||||||
<div className="flex flex-col h-full gap-5">
|
<div className="flex flex-col h-full gap-5">
|
||||||
{Object.keys(data.node.template)
|
{
|
||||||
.filter((t) => t.charAt(0) !== "_")
|
//&& data.node.template[t].advanced
|
||||||
.map((t: string, idx) => {
|
Object.keys(data.node.template)
|
||||||
return (
|
.filter((t) => t.charAt(0) !== "_")
|
||||||
<ModalField
|
.map((t: string, idx) => {
|
||||||
data={data}
|
return (
|
||||||
title={
|
<ModalField
|
||||||
data.node.template[t].display_name
|
data={data}
|
||||||
? data.node.template[t].display_name
|
title={
|
||||||
: data.node.template[t].name
|
data.node.template[t].display_name
|
||||||
? snakeToNormalCase(
|
? data.node.template[t].display_name
|
||||||
data.node.template[t].name
|
: data.node.template[t].name
|
||||||
)
|
? snakeToNormalCase(
|
||||||
: snakeToNormalCase(t)
|
data.node.template[t].name
|
||||||
}
|
)
|
||||||
required={data.node.template[t].required}
|
: snakeToNormalCase(t)
|
||||||
id={
|
}
|
||||||
data.node.template[t].type +
|
required={data.node.template[t].required}
|
||||||
"|" +
|
id={
|
||||||
t +
|
data.node.template[t].type +
|
||||||
"|" +
|
"|" +
|
||||||
data.id
|
t +
|
||||||
}
|
"|" +
|
||||||
name={t}
|
data.id
|
||||||
type={data.node.template[t].type}
|
}
|
||||||
/>
|
name={t}
|
||||||
);
|
type={data.node.template[t].type}
|
||||||
})}
|
/>
|
||||||
|
);
|
||||||
|
})
|
||||||
|
}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue