2023-11-01 18:24:43 +03:00
|
|
|
import * as React from "react";
|
2023-11-10 12:06:40 +03:00
|
|
|
import { Button, Col, Row, Switch, Typography, Input } from "antd";
|
2023-11-01 18:24:43 +03:00
|
|
|
import { CodeTriggerForm } from "./components/code_trigger_form";
|
|
|
|
import { observer } from "mobx-react-lite";
|
2023-11-10 12:06:40 +03:00
|
|
|
import { triggerStore } from "./trigger_store";
|
2023-11-01 18:24:43 +03:00
|
|
|
import { FileTriggerForm } from "./components/file_trigger_form";
|
|
|
|
import { ReactComponent as DeleteIcon } from "../../../assets/icons/delete.svg";
|
2023-11-10 12:06:40 +03:00
|
|
|
import { Loader } from "../../../core/ui/loader/loader";
|
2023-11-01 18:24:43 +03:00
|
|
|
|
|
|
|
const { Title } = Typography;
|
|
|
|
|
|
|
|
const Header = observer(() => {
|
|
|
|
return (
|
|
|
|
<Row style={{ justifyItems: "center", alignItems: "center" }}>
|
|
|
|
<div style={{ height: "37px" }}>
|
|
|
|
<Switch
|
|
|
|
checked={triggerStore.getTriggerType()}
|
|
|
|
onChange={() => triggerStore.setTriggerType()}
|
|
|
|
/>
|
|
|
|
</div>
|
|
|
|
<Title level={2}>
|
|
|
|
Trigger editor: {triggerStore.getTriggerDescription()}
|
|
|
|
</Title>
|
|
|
|
<div style={{ width: "10px" }}></div>
|
|
|
|
<Button onClick={() => triggerStore.saveResult()}>Save result</Button>
|
|
|
|
</Row>
|
|
|
|
);
|
|
|
|
});
|
|
|
|
|
|
|
|
const Bottom = observer(() => {
|
|
|
|
return (
|
|
|
|
<Col>
|
|
|
|
{triggerStore.triggers.map((el) => {
|
|
|
|
return (
|
|
|
|
<Row
|
|
|
|
style={{
|
|
|
|
justifyContent: "center",
|
|
|
|
}}
|
|
|
|
>
|
|
|
|
{el.value}
|
|
|
|
<DeleteIcon onClick={() => triggerStore.deleteItem(el.id)} />
|
|
|
|
</Row>
|
|
|
|
);
|
|
|
|
})}
|
|
|
|
</Col>
|
|
|
|
);
|
|
|
|
});
|
|
|
|
|
|
|
|
export const TriggerScreen: React.FunctionComponent = observer(() => {
|
|
|
|
return (
|
|
|
|
<>
|
2023-11-10 12:06:40 +03:00
|
|
|
<main>
|
|
|
|
{!triggerStore.isLoading ? (
|
2023-11-01 18:24:43 +03:00
|
|
|
<>
|
2023-11-10 12:06:40 +03:00
|
|
|
<Header />,
|
|
|
|
<Input
|
|
|
|
placeholder="trigger description"
|
|
|
|
onChange={() => triggerStore.changeTriggerDescription}
|
|
|
|
/>
|
|
|
|
{triggerStore.getTriggerType() ? (
|
|
|
|
<>
|
|
|
|
<FileTriggerForm />
|
|
|
|
</>
|
|
|
|
) : (
|
|
|
|
<>
|
|
|
|
<CodeTriggerForm />
|
|
|
|
</>
|
|
|
|
)}
|
|
|
|
<Bottom />
|
2023-11-01 18:24:43 +03:00
|
|
|
</>
|
|
|
|
) : (
|
|
|
|
<>
|
2023-11-10 12:06:40 +03:00
|
|
|
|
|
|
|
<Loader/>
|
2023-11-01 18:24:43 +03:00
|
|
|
</>
|
|
|
|
)}
|
|
|
|
</main>
|
|
|
|
</>
|
|
|
|
);
|
|
|
|
});
|