{"version":3,"file":"workflows.ts-BDpMvhJz.js","sources":["../../../../../node_modules/react-bootstrap/esm/Spinner.js","../../../../../app/javascript/components/templates/flowbots/Workflows/WorkflowsDetailPopup.tsx/WorkflowsDetailPopup.tsx","../../../../../app/javascript/components/templates/flowbots/Workflows/WorkflowsHeader/WorkflowsHeader.tsx","../../../../../app/javascript/components/templates/flowbots/Workflows/WorkflowsTitle/WorkflowsTitle.tsx","../../../../../app/javascript/components/templates/flowbots/Workflows/WorkflowsOperationListBody/WorkflowsTriggerCard.tsx","../../../../../app/javascript/components/templates/flowbots/Workflows/WorkflowsOperationListBody/WorkflowsOperationCard.tsx","../../../../../app/javascript/components/templates/flowbots/Workflows/WorkflowsOperationListBody/WorkflowBranch.tsx","../../../../../app/javascript/components/templates/flowbots/Workflows/WorkflowsOperationListBody/WorkflowsOperationListBody.tsx","../../../../../app/javascript/components/templates/flowbots/Workflows/WorkflowsOperationList.tsx","../../../../../app/javascript/components/templates/flowbots/Workflows/Workflows.tsx","../../../../../app/javascript/components/templates/flowbots/Workflows/WorkflowsActionLog/WorkflowsActionLog.tsx","../../../../../app/javascript/entries/reactEntries/workflows.ts"],"sourcesContent":["import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"bsPrefix\", \"variant\", \"animation\", \"size\", \"children\", \"as\", \"className\"];\nimport classNames from 'classnames';\nimport React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar Spinner = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n variant = _ref.variant,\n animation = _ref.animation,\n size = _ref.size,\n children = _ref.children,\n _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'div' : _ref$as,\n className = _ref.className,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n bsPrefix = useBootstrapPrefix(bsPrefix, 'spinner');\n var bsSpinnerPrefix = bsPrefix + \"-\" + animation;\n return /*#__PURE__*/React.createElement(Component, _extends({\n ref: ref\n }, props, {\n className: classNames(className, bsSpinnerPrefix, size && bsSpinnerPrefix + \"-\" + size, variant && \"text-\" + variant)\n }), children);\n});\nSpinner.displayName = 'Spinner';\nexport default Spinner;","import React, { useRef, useCallback, useEffect, useState } from \"react\";\nimport styles from \"../../WorkflowTemplateDetailPopup/WorkflowTemplateDetailPopup.module.scss\";\nimport { Loader } from \"../../../../common/Loaders/Loader\";\nimport { useTranslation } from \"react-i18next\";\n\ntype Props = {\n setIsOpenDetail: React.Dispatch>;\n ignoreRef: React.RefObject;\n};\n\nexport const WorkflowsDetailPopup = ({ setIsOpenDetail, ignoreRef }: Props) => {\n const popupRef = useRef(null);\n const [isLoadingActionLog, setIsLoadingActionLog] = useState(false);\n const [isLoadingThread, setIsLoadingThread] = useState(false);\n const { t } = useTranslation();\n\n const handleClickOutside = useCallback(\n (event: MouseEvent) => {\n if (\n popupRef.current &&\n !popupRef.current.contains(event.target as Node) &&\n (!ignoreRef || !ignoreRef.current || !ignoreRef.current.contains(event.target as Node))\n ) {\n setIsOpenDetail(false);\n }\n },\n [setIsOpenDetail, ignoreRef],\n );\n\n const redirectToActionLog = () => {\n setIsLoadingActionLog(true);\n window.location.href = window.location.href + \"/action_logs\";\n };\n\n const redirectToThread = () => {\n setIsLoadingThread(true);\n window.location.href = window.location.href + \"/thread\";\n };\n\n useEffect(() => {\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, [handleClickOutside]);\n\n return (\n
\n
\n {isLoadingActionLog ? : t(\"WorkflowDetailPopup.アクションログ\")}\n
\n
\n {isLoadingThread ? : t(\"WorkflowDetailPopup.スレッド\")}\n
\n
\n );\n};\n","import React, { useState, useRef } from \"react\";\nimport styles from \"../../WorkflowTemplateHeader/WorkflowTemplateHeader.module.scss\";\nimport { getImageUrl } from \"../../../../../commons/assets_path\";\nimport { WorkflowsDetailPopup } from \"../WorkflowsDetailPopup.tsx/WorkflowsDetailPopup\";\nimport { useTranslation } from \"react-i18next\";\n\ntype Props = {\n section: { id: number; name: string; sectionPath: string; isMySection: boolean };\n workflow: {\n creator: { name: string; createdAt: string };\n };\n};\n\nexport const WorkflowsHeader = ({ section, workflow }: Props) => {\n const creatorText = `${workflow.creator.name}が${workflow.creator.createdAt}に起動`;\n const detailRef = useRef(null);\n const [isOpenDetail, setIsOpenDetail] = useState(false);\n const { t } = useTranslation();\n\n const handleBackToFlowbotList = () => {\n const url = window.location.origin + section.sectionPath;\n location.href = url;\n };\n\n return (\n
\n
\n \n {section.isMySection ? (\n
\n \n
\n ) : (\n
\n {section.name.slice(0, 1)}\n
\n )}\n
\n {t(\"WorkflowHeader.フローボット一覧\", {\n name: section.name,\n })}\n
\n
\n
\n
{creatorText}
\n {/* NOTE: 編集権限がある場合のみ表示する */}\n
setIsOpenDetail(!isOpenDetail)}>\n \n
\n {isOpenDetail && }\n
\n
\n );\n};\n","import React, { useState, useRef, useEffect } from \"react\";\nimport styles from \"./WorkflowsTitle.module.scss\";\nimport { getImageUrl } from \"../../../../../commons/assets_path\";\nimport axios from \"axios\";\naxios.defaults.headers.common[\"X-Requested-With\"] = \"XMLHttpRequest\";\nimport { useTranslation } from \"react-i18next\";\n\ntype Props = {\n workflow: {\n id: number;\n title: string;\n note: string;\n clientCode: string;\n };\n isEditPermission: boolean;\n clientCode: string;\n};\n\nexport const WorkflowsTitle = ({ workflow, isEditPermission, clientCode }: Props) => {\n const titleRef = useRef(null);\n const textareaRef = useRef(null);\n const [title, setTitle] = useState(workflow.title);\n const [error, setError] = useState(\"\");\n const [titleFocus, setTitleFocus] = useState(false);\n const [noteFocus, setNoteFocus] = useState(false);\n const [currentIcon, setCurrentIcon] = useState({\n unicode: null,\n image_path: getImageUrl(\"images/icons/flow_dark_gray.svg\"),\n });\n const { t } = useTranslation();\n const validateTitle = (title: string) => {\n let errorMessage = \"\";\n\n if (!title) {\n errorMessage = t(\"WorkflowTemplateTitle.タイトルを入力してください\");\n } else if (title.length > 100) {\n errorMessage = t(\"WorkflowTemplateTitle.タイトルは100文字以内で入力してください\");\n }\n\n setError(errorMessage);\n };\n\n const handleTitleChange = (e: React.ChangeEvent) => {\n setTitle(e.currentTarget.value);\n validateTitle(e.currentTarget.value);\n };\n\n const updateTitle = async () => {\n setTitleFocus(false);\n setNoteFocus(false);\n if (error) return;\n\n await axios.patch(`${window.location.pathname}/update_ajax`, {\n title: title || t(\"WorkflowTemplateTitle.新規作成\"),\n });\n };\n\n const fetchCurrentIcon = async () => {\n await axios.get(`/${clientCode}/icons/workflows/${workflow.id}`).then((res) => {\n setCurrentIcon(res.data);\n });\n };\n\n const setFocusToEnd = (textarea: HTMLTextAreaElement) => {\n textarea.selectionStart = textarea.value.length;\n textarea.selectionEnd = textarea.value.length;\n textarea.focus();\n };\n\n useEffect(() => {\n fetchCurrentIcon();\n }, []);\n\n useEffect(() => {\n if (noteFocus && textareaRef.current) {\n setFocusToEnd(textareaRef.current);\n }\n }, [noteFocus]);\n\n useEffect(() => {\n if (titleFocus && titleRef.current) {\n titleRef.current.focus();\n }\n }, [titleFocus]);\n\n return (\n
\n
\n
\n {currentIcon?.unicode ? (\n \n {currentIcon?.unicode}\n \n ) : (\n // NOTE: 編集権限がない場合はアイコンホバー時のスタイルを適用しない\n
\n \n
\n )}\n
\n isEditPermission && setTitleFocus(true)}\n className={styles.title}\n // NOTE: 編集権限がない場合はホバー時のスタイルを適用しない\n style={!isEditPermission ? { cursor: \"default\" } : {}}\n >\n {title && !titleFocus && (\n
\n {title}\n
\n )}\n {(!title || titleFocus) && isEditPermission && (\n \n )}\n
\n
\n {error && (\n <>\n
\n {error}\n \n )}\n \n );\n};\n","import React, { useState } from \"react\";\nimport styles from \"./WorkflowsOperationListBody.module.scss\";\nimport { getImageUrl } from \"../../../../../commons/assets_path\";\nimport { WorkflowTrigger } from \"../types\";\nimport { useTranslation } from \"react-i18next\";\n\ntype Props = {\n workflowTemplateTrigger: WorkflowTrigger;\n trigger: {\n id: number;\n title: string;\n status: string;\n };\n};\n\nexport const WorkflowsTriggerCard = ({ workflowTemplateTrigger, trigger }: Props) => {\n const { t } = useTranslation();\n const [isManualTrigger] = useState(workflowTemplateTrigger.type === \"manual\");\n const triggerTitle = isManualTrigger ? t(\"Workflow.手動起動\") : trigger.title;\n\n return (\n <>\n
\n {\n if (workflowTemplateTrigger.triggerPath) {\n window.location.href = workflowTemplateTrigger.triggerPath;\n }\n }}\n style={{ cursor: workflowTemplateTrigger.triggerPath ? \"pointer\" : \"not-allowed\" }}\n >\n
\n \n
\n \n
\n
\n {isManualTrigger ? t(\"Workflow.トリガーなし\") : workflowTemplateTrigger.typeName}\n
\n
\n \n {triggerTitle}\n
\n
\n
\n \n \n\n {/* 縦線 */}\n
\n \n );\n};\n","import React from \"react\";\nimport styles from \"./WorkflowsOperationListBody.module.scss\";\nimport { getImageUrl } from \"../../../../../commons/assets_path\";\nimport { Spinner } from \"react-bootstrap\";\nimport { OperationStatus, WorkflowOperationList } from \"../types\";\nimport { useTranslation } from \"react-i18next\";\n\ntype Props = {\n operation: WorkflowOperationList;\n\n operationStatus: OperationStatus[];\n};\n\nexport const WorkflowsOperationCard = ({ operation, operationStatus }: Props) => {\n const { t } = useTranslation();\n const isOemOperation = operation.actionable_type === \"OemOperation\";\n\n return (\n <>\n {\n if (\n operationStatus.find(\n (status) =>\n status.id === operation.id && (status.status === \"in_progress\" || status.status === \"not_yet\"),\n )\n ) {\n return;\n }\n window.location.href = operation.edit_operation_path;\n }}\n style={{\n // 対応する箇所をボーダーで表示\n borderColor: operationStatus.find((status) => status.id === operation.id && status.status === \"active\")\n ? \"#0a6982\"\n : operationStatus.find((status) => status.id === operation.id && status.status === \"error\")\n ? \"#ff4958\"\n : undefined,\n position: \"relative\",\n cursor: operationStatus.find(\n (status) => status.id === operation.id && (status.status === \"in_progress\" || status.status === \"not_yet\"),\n )\n ? \"not-allowed\"\n : \"pointer\",\n height: operation.assign_name && \"118px\",\n }}\n >\n {operationStatus.find((status) => status.id === operation.id && status.status === \"complete\") ? (\n
\n \n
\n ) : operationStatus.find((status) => status.id === operation.id && status.status === \"in_progress\") ? (\n
\n \n \n \n
\n ) : operationStatus.find((status) => status.id === operation.id && status.status === \"error\") ? (\n
\n \n
\n ) : (\n <>\n )}\n {isOemOperation && }\n \n
\n
\n {operation.operation_type}\n
\n
\n {operation.operation_title}\n
\n
\n {operationStatus.find(\n (status) => status.id === operation.id && status.status_label === t(\"Workflow.対応待ち\"),\n ) &&
{t(\"Workflow.対応待ち\")}
}\n {operationStatus.find(\n (status) =>\n status.id === operation.id &&\n [t(\"Workflow.エラー\"), t(\"Workflow.有効期限切れ\"), t(\"Workflow.エラー(リトライ待機中)\")].includes(\n status.status_label,\n ),\n ) && (\n
\n {operationStatus.find((status) => status.id === operation.id && status.status_label)?.status_label}\n
\n )}\n {operationStatus.find(\n (status) => status.id === operation.id && status.status_label === t(\"Workflow.待機中\"),\n ) &&
{t(\"Workflow.待機中\")}
}\n
\n {t(\"Workflow.担当者\")}:{operation.assign_name}\n
\n
\n
\n \n \n );\n};\n","import React from \"react\";\nimport styles from \"./WorkflowsOperationListBody.module.scss\";\nimport { WorkflowsOperationCard } from \"./WorkflowsOperationCard\";\nimport { OperationStatus, WorkflowOperationList } from \"../types\";\nimport { useTranslation } from \"react-i18next\";\n\nconst calculateBranchHeight = (operation: WorkflowOperationList, value: number, branchCount: number): number => {\n // branchの高さ\n const BASE_HEIGHT = 83;\n // 各branchのオペレーションの高さ\n const OPERATION_HEIGHT = 181;\n\n // branchCountがvalueの一致するまでループし、operation[`branch_${value + 1}`]のlength * OPERATION_HEIGHTを返す\n let totalHeight = BASE_HEIGHT;\n\n for (let nextValue = value + 1; nextValue <= branchCount; nextValue++) {\n const branch = operation[`branch_${nextValue}`];\n\n if (branch) {\n totalHeight += branch.length * OPERATION_HEIGHT;\n }\n }\n\n return totalHeight;\n};\n\nconst calculateBranchPosition = (value: number, baseOffset: number, step: number): number => {\n if (value === 1) {\n return baseOffset;\n }\n return (value - 1) * step + baseOffset;\n};\n\nconst calculateBranchLeft = (value: number): number => {\n const BASE_LEFT = 478;\n const STEP = 406;\n return calculateBranchPosition(value, BASE_LEFT, STEP);\n};\n\nconst calculateBranchHorizontalLine = (value: number): number => {\n const BASE_HORIZONTAL = 445;\n const STEP = 406;\n return calculateBranchPosition(value, BASE_HORIZONTAL, STEP);\n};\n\nexport const WorkflowsBranch = ({\n operationList,\n level,\n isLoopBranch,\n operationStatus,\n}: {\n operationList: WorkflowOperationList[];\n level: number;\n isLoopBranch: boolean;\n operationStatus: OperationStatus[];\n}) => {\n const { t } = useTranslation();\n const DISPLAY_BRANCH_LOGIC_OPERATION_TYPES = [t(\"Branch.分岐\"), t(\"Branch.進行先切り替え\"), t(\"Branch.処理繰り返し\")];\n // NOTE: 以下の3つの関数は、オペレーションのステータスに応じて縦線の色を変更するための関数です。\n // オペレーションツリーの仕様上、共通化が難しいため、それぞれの関数で色を返すようにしています。\n // オペレーションカードの上側の短い縦線\n const getUpperVerticalLineColor = (\n currentOperationStatus: OperationStatus | null | undefined,\n previousOperationStatus: OperationStatus | null | undefined,\n nextOperationStatus: OperationStatus | null | undefined,\n ) => {\n if (currentOperationStatus?.status === \"complete\") {\n return \"#0a6982\";\n }\n if (currentOperationStatus?.status === \"active\") {\n return \"#0a6982\";\n }\n if (currentOperationStatus?.status === \"in_progress\") {\n return \"#0a6982\";\n }\n if (currentOperationStatus?.status === \"not_yet\" && previousOperationStatus?.status === \"complete\") {\n return \"#cacaca\";\n }\n if (currentOperationStatus?.status === \"not_yet\" && previousOperationStatus?.status === \"error\") {\n return \"#cacaca\";\n }\n if (currentOperationStatus?.status === \"not_yet\" && previousOperationStatus?.status === \"not_yet\") {\n return \"#cacaca\";\n }\n if (currentOperationStatus?.status === \"not_yet\" && nextOperationStatus?.status === \"not_yet\") {\n return \"#cacaca\";\n }\n if (currentOperationStatus?.status === \"not_yet\" && previousOperationStatus?.status === \"terminate\") {\n return \"#cacaca\";\n }\n if (currentOperationStatus?.status === \"not_yet\" && nextOperationStatus?.status === \"terminate\") {\n return \"#cacaca\";\n }\n if (currentOperationStatus?.status === \"terminate\") {\n return \"#cacaca\";\n }\n if (currentOperationStatus?.status === \"error\" && previousOperationStatus?.status === \"complete\") {\n return \"#0a6982\";\n }\n if (currentOperationStatus?.status === \"error\" && nextOperationStatus?.status === \"not_yet\") {\n return \"#0a6982\";\n }\n return \"#cacaca\";\n };\n\n // オペレーションの下側の短い縦線\n const getLowerVerticalLineColor = (\n currentOperationStatus: OperationStatus | null | undefined,\n nextOperationStatus: OperationStatus | null | undefined,\n isLoopOperation?: boolean,\n ) => {\n // 現在のステータスが待機中または実行中の場合はグレー\n if (currentOperationStatus?.status === \"in_progress\" || currentOperationStatus?.status === \"active\") {\n return \"#cacaca\";\n }\n\n if (isLoopOperation) {\n // ループの場合、前の処理が完了している場合のみ色をつける\n if (currentOperationStatus?.status === \"complete\") {\n return \"#0a6982\";\n }\n // それ以外の場合はグレー\n return \"#cacaca\";\n }\n\n if (currentOperationStatus?.status === \"complete\" && nextOperationStatus?.status === \"active\") {\n return \"#0a6982\";\n }\n if (currentOperationStatus?.status === \"complete\" && nextOperationStatus?.status === \"in_progress\") {\n return \"#0a6982\";\n }\n if (currentOperationStatus?.status === \"complete\" && nextOperationStatus?.status === \"complete\") {\n return \"#0a6982\";\n }\n if (currentOperationStatus?.status === \"complete\" && nextOperationStatus?.status === \"error\") {\n return \"#0a6982\";\n }\n if (currentOperationStatus?.status === \"complete\" && nextOperationStatus?.status === \"not_yet\") {\n return \"#cacaca\";\n }\n if (currentOperationStatus?.status === \"complete\" && nextOperationStatus?.status === \"terminate\") {\n return \"#cacaca\";\n }\n return \"#cacaca\";\n };\n\n // 分岐線前後の短い縦線\n const getBranchVerticalLineColor = (\n currentOperationStatus: OperationStatus | null | undefined,\n nextOperationStatus: OperationStatus | null | undefined,\n isLoopOperation?: boolean,\n ) => {\n if (\n isLoopOperation &&\n (currentOperationStatus?.status === \"complete\" || currentOperationStatus?.status === \"in_progress\")\n ) {\n return \"#0a6982\";\n }\n\n if (currentOperationStatus?.status === \"complete\" && nextOperationStatus?.status === \"active\") {\n return \"#0a6982\";\n }\n if (currentOperationStatus?.status === \"complete\" && nextOperationStatus?.status === \"in_progress\") {\n return \"#0a6982\";\n }\n if (currentOperationStatus?.status === \"complete\" && nextOperationStatus?.status === \"complete\") {\n return \"#0a6982\";\n }\n if (currentOperationStatus?.status === \"complete\" && nextOperationStatus?.status === \"error\") {\n return \"#0a6982\";\n }\n if (currentOperationStatus?.status === \"complete\" && nextOperationStatus?.status === \"not_yet\") {\n return \"#0a6982\";\n }\n if (currentOperationStatus?.status === \"complete\" && nextOperationStatus?.status === \"terminate\") {\n return \"#0a6982\";\n }\n return \"#cacaca\";\n };\n\n return (\n <>\n {operationList &&\n operationList.map((operation, index) => {\n const isCommandOperation = operation.actionable_type === \"CommandOperation\";\n const isLoopOperation = operation.operation_type === t(\"Branch.処理繰り返し\");\n const isWarpOperation = operation.operation_type === t(\"Branch.移動コマンド\");\n const isBranchOperation = operation.operation_type === t(\"Branch.分岐\");\n\n const branchCount = Array.from({ length: operation.branch_count }, (_, i) => i + 1).reverse();\n // 現在のオペレーションのステータスを取得\n const currentOperationStatus = operationStatus?.find((status) => status.id === operation.id) || null;\n\n // 前のオペレーションのステータスを取得\n const previousOperation = index > 0 ? operationList[index - 1] : null;\n const previousOperationStatus = previousOperation\n ? operationStatus?.find((status) => status.id === previousOperation?.id)\n : null;\n // 次のオペレーションのステータスを取得\n const nextOperation = index < operationList.length - 1 ? operationList[index + 1] : null;\n const nextOperationStatus = nextOperation\n ? operationStatus?.find((status) => status.id === nextOperation.id)\n : null;\n\n const isPreviousOperationActive =\n previousOperationStatus &&\n operationStatus?.find((status) => status.id === previousOperationStatus.id)?.status === \"active\";\n\n return (\n
\n {/* 縦線 */}\n
\n \n {/* 縦線 */}\n {!isWarpOperation && (\n \n {DISPLAY_BRANCH_LOGIC_OPERATION_TYPES.includes(operation.operation_type) && !isLoopOperation && (\n
\n \n {isBranchOperation\n ? operation.switch_actions[0].switch_case\n : `${operation.switch_actions[0].switch_logic} ${operation.switch_actions[0].switch_case}`}\n
\n \n )}\n \n )}\n {/* 分岐の横線 */}\n {branchCount.length > 0 && operation.actionable_type === \"CommandOperation\" && (\n \n {/* 分岐元からの短い縦線 */}\n \n \n )}\n {branchCount.map((value, i) => (\n \n \n {DISPLAY_BRANCH_LOGIC_OPERATION_TYPES.includes(operation.operation_type) && (\n \n \n {isLoopOperation\n ? t(\"Branch.ループ\")\n : `${operation.switch_actions[value].switch_logic} ${operation.switch_actions[value].switch_case}`}\n \n \n )}\n \n \n \n \n \n ))}\n \n );\n })}\n \n );\n};\n","import React, { useState, useEffect, useRef } from \"react\";\nimport styles from \"./WorkflowsOperationListBody.module.scss\";\nimport { WorkflowsTriggerCard } from \"./WorkflowsTriggerCard\";\nimport { WorkflowsBranch } from \"./WorkflowBranch\";\nimport { getImageUrl } from \"../../../../../commons/assets_path\";\nimport { OperationStatus, WorkflowOperationList, WorkflowTrigger, Workflow, Trigger } from \"../types\";\nimport axios from \"axios\";\naxios.defaults.headers.common[\"X-Requested-With\"] = \"XMLHttpRequest\";\nimport { useTranslation } from \"react-i18next\";\n\ntype Props = {\n operationList: WorkflowOperationList[];\n workflowTrigger: WorkflowTrigger;\n workflow: Workflow;\n trigger: Trigger;\n workflowStatus: string;\n operationStatus: OperationStatus[];\n};\n\nexport const WorkflowsOperationListBody = ({\n operationList,\n workflowTrigger,\n trigger,\n workflow,\n workflowStatus,\n operationStatus,\n}: Props) => {\n const [scrollWidth, setScrollWidth] = useState(0);\n const operationListBodyRef = useRef(null);\n const { t } = useTranslation();\n\n useEffect(() => {\n if (operationListBodyRef.current) {\n const totalWidth = operationListBodyRef.current.clientWidth - 80;\n setScrollWidth(totalWidth);\n }\n\n const handleScroll = () => {\n if (operationListBodyRef.current) {\n const scrollLeft = operationListBodyRef.current.scrollLeft;\n const totalWidth = operationListBodyRef.current.clientWidth - 80;\n const newScrollWidth = totalWidth + scrollLeft;\n\n setScrollWidth(newScrollWidth);\n }\n };\n\n const refCurrent = operationListBodyRef.current;\n\n if (refCurrent) {\n refCurrent.addEventListener(\"scroll\", handleScroll);\n }\n\n return () => {\n if (refCurrent) {\n refCurrent.removeEventListener(\"scroll\", handleScroll);\n }\n };\n }, []);\n\n return (\n
\n {workflowStatus === \"active\" ? (\n
\n {\n if (confirm(t(\"Workflow.本当に停止しますか?\"))) {\n await axios.delete(workflow.terminatePath);\n }\n }}\n >\n \n
{t(\"Workflow.フローボットを停止する\")}
\n \n
\n ) : (\n
\n )}\n \n \n
\n );\n};\n","import React from \"react\";\nimport styles from \"./WorkflowsOperationList.module.scss\";\nimport { WorkflowsOperationListBody } from \"./WorkflowsOperationListBody/WorkflowsOperationListBody\";\nimport { OperationStatus, WorkflowOperationList, WorkflowTrigger, Trigger, Workflow } from \"./types\";\n\ntype Props = {\n operationList: WorkflowOperationList[];\n workflowTrigger: WorkflowTrigger;\n workflow: Workflow;\n trigger: Trigger;\n workflowStatus: string;\n operationStatus: OperationStatus[];\n};\n\nexport const WorkflowsOperationList = ({\n operationList,\n workflowTrigger,\n trigger,\n workflow,\n workflowStatus,\n operationStatus,\n}: Props) => {\n return (\n
\n \n
\n );\n};\n","import React, { useEffect, useState } from \"react\";\nimport styles from \"./Workflows.module.scss\";\nimport { Loader } from \"../../../common/Loaders/Loader\";\nimport axios from \"axios\";\nimport { WorkflowsHeader } from \"./WorkflowsHeader/WorkflowsHeader\";\nimport { WorkflowsTitle } from \"./WorkflowsTitle/WorkflowsTitle\";\nimport { WorkflowsOperationList } from \"./WorkflowsOperationList\";\nimport { getImageUrl } from \"../../../../commons/assets_path\";\nimport { OperationStatus, Trigger, Workflow, WorkflowTrigger } from \"./types\";\nimport { useTranslation } from \"react-i18next\";\naxios.defaults.headers.common[\"X-Requested-With\"] = \"XMLHttpRequest\";\n\ntype Props = {\n clientCode: string;\n section: { id: number; name: string; sectionPath: string; isMySection: boolean };\n workflow: Workflow;\n workflowTrigger: WorkflowTrigger;\n trigger: Trigger;\n workflowActionLogPath: string;\n};\n\nexport const Workflows = ({ clientCode, workflow, section, workflowTrigger, trigger }: Props) => {\n const { t } = useTranslation();\n const [isPageLoading, setPageLoading] = useState(false);\n const [workflowStatus, setWorkflowStatus] = useState(\"\");\n const [operationStatus, setOperationStatus] = useState([]);\n const [operationList, setOperationList] = useState<[]>([]);\n\n const getWorkflows = async () => {\n try {\n const startTime = new Date().getTime(); // リクエスト開始時刻を記録\n\n // 1秒経過したかどうかを判定する関数\n const hasTwoSecondsPassed = () => {\n const currentTime = new Date().getTime();\n return currentTime - startTime >= 2000;\n };\n\n // 1秒ごとに1秒経過したかを確認\n const intervalId = setInterval(() => {\n if (hasTwoSecondsPassed()) {\n setPageLoading(true);\n }\n }, 2000);\n\n const fetchData = await Promise.race([axios.get(`/${clientCode}/workflows/${workflow.id}/operation_list`)]);\n clearInterval(intervalId);\n if (fetchData && fetchData.data) {\n setOperationList(fetchData.data.collected_actions);\n }\n } finally {\n setPageLoading(false);\n }\n };\n\n const getWorkflowStatus = async () => {\n const result = await axios.get(`/${clientCode}/workflows/${workflow.id}/get_workflow_status`);\n setWorkflowStatus(result.data.workflow_status);\n setOperationStatus(result.data.actions);\n };\n\n useEffect(() => {\n getWorkflows();\n getWorkflowStatus();\n const intervalId = setInterval(() => {\n getWorkflowStatus();\n }, 5000);\n\n return () => clearInterval(intervalId);\n }, []);\n\n useEffect(() => {\n if (workflowStatus === \"complete\") {\n section.sectionPath = section.sectionPath.replace(\"active\", \"complete\");\n }\n }, [workflowStatus]);\n\n return (\n <>\n {isPageLoading ? (\n
\n
\n \n
\n
\n ) : (\n
\n {operationList.length > 0 && (\n <>\n \n
\n {workflowStatus === \"active\" ? (\n \n \n
\n {t(\"Workflow.進行中\")}\n
\n
\n ) : workflowStatus === \"terminate\" ? (\n \n
\n
{t(\"Workflow.停止済み\")}
\n
\n ) : workflowStatus === \"complete\" ? (\n \n
\n \n
\n
{t(\"Workflow.完了済み\")}
\n \n ) : (\n <>\n )}\n \n \n
\n {\n window.open(workflow.editWorkflowTemplatePath, \"_blank\");\n }}\n >\n \n
{t(\"Workflow.設定を確認・編集\")}
\n
\n \n \n \n )}\n \n )}\n \n );\n};\n","import React from \"react\";\nimport styles from \"./WorkflowsActionLog.module.scss\";\nimport { useTranslation } from \"react-i18next\";\nimport { getImageUrl } from \"../../../../../commons/assets_path\";\n\ntype Props = {\n actionLogs: ActionLog[];\n};\n\ntype ActionLogProps = {\n actionLog: ActionLog;\n};\n\ntype ActionLog = {\n id: number;\n status: string;\n icon_path: string;\n message: string;\n additional_message: string;\n assign_names: string;\n created_at: string;\n};\n\nconst ActionLogField = ({ actionLog }: ActionLogProps) => {\n const { t } = useTranslation();\n\n return (\n
\n
\n
\n
\n \n
\n {actionLog.message}\n {actionLog.additional_message &&\n (actionLog.status === \"error\" ? (\n
\n \n {actionLog.additional_message}\n
\n ) : (\n
{actionLog.additional_message}
\n ))}\n
\n
\n
\n
{t(\"WorkflowsActionLog.担当者\")}:
\n
{actionLog.assign_names}
\n
{actionLog.created_at}
\n
\n
\n
\n
\n );\n};\n\nexport const WorkflowsActionLog = ({ actionLogs }: Props) => {\n return (\n
\n
\n {actionLogs.map((actionLog: ActionLog) => (\n \n ))}\n
\n
\n );\n};\n","import ReactOnRails from \"react-on-rails\";\nimport { Workflows } from \"../../components/templates/flowbots/Workflows/Workflows\";\nimport { WorkflowsActionLog } from \"../../components/templates/flowbots/Workflows/WorkflowsActionLog/WorkflowsActionLog\";\n\nReactOnRails.register({\n Workflows,\n WorkflowsActionLog,\n});\n"],"names":["_excluded","Spinner","React","_ref","ref","bsPrefix","variant","animation","size","children","_ref$as","Component","className","props","_objectWithoutPropertiesLoose","useBootstrapPrefix","bsSpinnerPrefix","_extends","classNames","WorkflowsDetailPopup","setIsOpenDetail","ignoreRef","popupRef","useRef","isLoadingActionLog","setIsLoadingActionLog","useState","isLoadingThread","setIsLoadingThread","useTranslation","handleClickOutside","useCallback","event","redirectToActionLog","redirectToThread","useEffect","styles","jsx","Loader","WorkflowsHeader","section","workflow","creatorText","detailRef","isOpenDetail","t","handleBackToFlowbotList","url","jsxs","getImageUrl","axios","WorkflowsTitle","isEditPermission","clientCode","titleRef","textareaRef","title","setTitle","error","setError","titleFocus","setTitleFocus","noteFocus","setNoteFocus","currentIcon","setCurrentIcon","validateTitle","errorMessage","handleTitleChange","e","updateTitle","fetchCurrentIcon","res","setFocusToEnd","textarea","Fragment","WorkflowsTriggerCard","workflowTemplateTrigger","trigger","isManualTrigger","triggerTitle","WorkflowsOperationCard","operation","operationStatus","isOemOperation","status","calculateBranchHeight","value","branchCount","totalHeight","nextValue","branch","calculateBranchPosition","baseOffset","step","calculateBranchLeft","calculateBranchHorizontalLine","WorkflowsBranch","operationList","level","isLoopBranch","DISPLAY_BRANCH_LOGIC_OPERATION_TYPES","getUpperVerticalLineColor","currentOperationStatus","previousOperationStatus","nextOperationStatus","getLowerVerticalLineColor","isLoopOperation","getBranchVerticalLineColor","index","isCommandOperation","isWarpOperation","isBranchOperation","_","i","previousOperation","nextOperation","_a","WorkflowsOperationListBody","workflowTrigger","workflowStatus","scrollWidth","setScrollWidth","operationListBodyRef","totalWidth","handleScroll","scrollLeft","newScrollWidth","refCurrent","WorkflowsOperationList","Workflows","isPageLoading","setPageLoading","setWorkflowStatus","setOperationStatus","setOperationList","getWorkflows","startTime","hasTwoSecondsPassed","intervalId","fetchData","getWorkflowStatus","result","ActionLogField","actionLog","WorkflowsActionLog","actionLogs","ReactOnRails"],"mappings":"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","x_google_ignoreList":[0]}