Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
import { Choerodon } from '@choerodon/boot';
import { observer } from 'mobx-react-lite';
import moment from 'moment';
import UserHead from '@/components/UserHead';
import Tip from '@/components/Tip';
import { PromptInput } from '@/components';
import { getProjectId } from '@/common/utils';
import {
createPlan, getPlan, editPlan, clonePlan,
} from '@/api/TestPlanApi';
import DataSetFactory from './dataSet';
import SelectIssue from './SelectIssue';
import SelectIssueStore from './SelectIssueStore';
import Context from './context';
const key = Modal.key();
const propTypes = {
initValue: PropTypes.shape({}),
onSubmit: PropTypes.func.isRequired,
};
const defaultProps = {
initValue: {},
};
function TestPlanModal({
modal, initValue, submit, onSubmit, mode = 'create',
}) {
const { caseSelected: initCaseSelected } = initValue;
const selectIssueStore = useMemo(() => new SelectIssueStore(), []);
const dataSet = useMemo(() => new DataSet(DataSetFactory({ initValue })), [initValue]);
useEffect(() => {
if (mode === 'create') {
import React, { useContext, useCallback, useEffect } from 'react';
import { Choerodon } from '@choerodon/boot';
import { observer } from 'mobx-react-lite';
import { FormattedMessage } from 'react-intl';
import { Button, Modal } from 'choerodon-ui/pro';
import { openEditPlan } from '../TestPlanModal';
import { updatePlanStatus } from '@/api/TestPlanApi';
import ConfirmCompleteModalChildren from './components/ConfirmCompleteModalChildren';
import Store from '../../stores';
import './TestPlanHeader.less';
const confirmCompletePlanModalKey = Modal.key();
function TestPlanHeader() {
const { testPlanStore, createAutoTestStore } = useContext(Store);
const { testPlanStatus, getCurrentPlanId } = testPlanStore;
const onUpdatePlanStatus = (planItem, newStatus) => {
updatePlanStatus({
planId: planItem.item.id,
objectVersionNumber: planItem.item.data.objectVersionNumber,
statusCode: newStatus,
}).then(() => {
if (newStatus === 'doing') {
Choerodon.prompt('开始测试成功');
testPlanStore.setTestPlanStatus('doing');
testPlanStore.loadAllData();
} else {
import React, { useMemo, Fragment } from 'react';
import { Action, Choerodon } from '@choerodon/boot';
import { Table, Modal, Tooltip, Spin } from 'choerodon-ui/pro';
import TimePopover from '../../../../../components/time-popover';
import UserInfo from '../../../../../components/userInfo';
import ClickText from '../../../../../components/click-text';
import DeployConfigForm from './modals/deploy-config';
import { handlePromptError } from '../../../../../utils';
import { useEnvironmentStore } from './stores';
import { useResourceStore } from '../../../stores';
const { Column } = Table;
const deleteModalKey = Modal.key();
const modifyModalKey = Modal.key();
export default function DeployConfig() {
const configModalStyle = useMemo(() => ({
width: 'calc(100vw - 3.52rem)',
minWidth: '2rem',
}), []);
const {
prefixCls,
intlPrefix,
} = useResourceStore();
const {
AppState: { currentMenuType: { id: projectId } },
envStore,
intl: { formatMessage },
configDs,
configFormDs,
import React, { useMemo } from 'react';
import { observer } from 'mobx-react-lite';
import { Modal } from 'choerodon-ui/pro';
import { injectIntl, FormattedMessage } from 'react-intl';
import { Choerodon } from '@choerodon/boot';
import { handlePromptError } from '../../../../../../utils';
import HeaderButtons from '../../../../../../components/header-buttons';
import DetailsModal from './details';
import ValueModalContent from './values/Config';
import UpgradeModalContent from './values/Upgrade';
import { useResourceStore } from '../../../../stores';
import { useInstanceStore } from '../stores';
const detailKey = Modal.key();
const valuesKey = Modal.key();
const upgradeKey = Modal.key();
const redeployKey = Modal.key();
const IstModals = injectIntl(observer(() => {
const {
prefixCls,
intlPrefix,
intl: { formatMessage },
resourceStore: {
getSelectedMenu: {
id,
parentId,
},
},
treeDs,
} = useResourceStore();
import { FormattedMessage } from 'react-intl';
import { withRouter, Link } from 'react-router-dom';
import { Page, Content, Header, Permission, Action, Breadcrumb, Choerodon } from '@choerodon/boot';
import { Button } from 'choerodon-ui';
import pick from 'lodash/pick';
import TimePopover from '../../../components/timePopover';
import { useAppTopStore } from '../stores';
import { useAppServiceStore } from './stores';
import CreateForm from '../modals/creat-form';
import ImportForm from './modal/import-form';
import StatusTag from '../components/status-tag';
import './index.less';
const { Column } = Table;
const modalKey1 = Modal.key();
const modalKey2 = Modal.key();
const modalKey3 = Modal.key();
const modalStyle1 = {
width: 380,
};
const modalStyle2 = {
width: 'calc(100vw - 3.52rem)',
};
const ListView = withRouter(observer((props) => {
const {
intlPrefix,
prefixCls,
listPermissions,
appServiceStore,
} = useAppTopStore();
import React, { useMemo } from 'react';
import { observer } from 'mobx-react-lite';
import { Modal } from 'choerodon-ui/pro';
import HeaderButtons from '../../../../../../components/header-buttons';
import { useClusterContentStore } from '../stores';
import { useClusterStore } from '../../../../stores';
import { useClusterMainStore } from '../../../stores';
import { useModalStore } from './stores';
import CreateCluster from './create-cluster';
import PermissionManage from './permission-manage';
import Tips from '../../../../../../components/new-tips';
import '../../../../../../components/dynamic-select/style/index.less';
const modalKey1 = Modal.key();
const modalKey2 = Modal.key();
const ClusterModals = observer(() => {
const modalStyle = useMemo(() => ({
width: 380,
}), []);
const {
intlPrefix,
prefixCls,
intl: { formatMessage },
clusterStore: {
getSelectedMenu: { id },
},
AppState: { currentMenuType: { id: projectId } },
treeDs,
} = useClusterStore();
import { injectIntl, FormattedMessage } from 'react-intl';
import { Action, Choerodon } from '@choerodon/boot';
import { Modal, Icon, Spin } from 'choerodon-ui/pro';
import { Input } from 'choerodon-ui';
import { useClusterStore } from '../../../stores';
import { useClusterMainStore } from '../../stores';
import StatusDot from '../../../../../components/status-dot';
import ActivateCluster from '../../contents/cluster-content/modals/activate-cluster';
import { useTreeStore } from './stores';
import { handlePromptError } from '../../../../../utils';
import EditCluster from '../../contents/cluster-content/modals/create-cluster';
import CustomConfirm from '../../../../../components/custom-confirm';
const ActivateClusterModalKey = Modal.key();
const EditClusterModalKey = Modal.key();
const deleteModalKey = Modal.key();
function ClusterItem({
record,
name,
intlPrefix,
prefixCls,
intl: { formatMessage },
}) {
const { treeDs } = useClusterStore();
const { mainStore, ClusterDetailDs } = useClusterMainStore();
const { projectId, treeItemStore } = useTreeStore();
const customConfirm = useMemo(() => new CustomConfirm({ formatMessage }), []);
function getStatus() {
const connect = record.get('connect');
import React, { Fragment, useMemo, useCallback, useEffect, useState } from 'react';
import { observer } from 'mobx-react-lite';
import { Modal } from 'choerodon-ui/pro';
import { Button } from 'choerodon-ui';
import { FormattedMessage } from 'react-intl';
import HeaderButtons from '../../../../../../components/header-buttons';
import { useResourceStore } from '../../../../stores';
import { useModalStore } from './stores';
import { usePVCStore } from '../stores';
const modalKey = Modal.key();
const modalStyle = {
width: 'calc(100vw - 3.52rem)',
};
const PVCModals = observer(() => {
const {
intlPrefix,
prefixCls,
intl: { formatMessage },
resourceStore,
treeDs,
} = useResourceStore();
const {
PVCtableDS,
} = usePVCStore();
import React, { useEffect } from 'react';
import { TabPage, Content, Permission, Breadcrumb, Action } from '@choerodon/boot';
import { Table, Modal } from 'choerodon-ui/pro';
import { Button, Tooltip } from 'choerodon-ui';
import { FormattedMessage } from 'react-intl';
import { useAppTopStore } from '../stores';
import { useServiceDetailStore } from './stores';
import HeaderButtons from './HeaderButtons';
import ShareRule from './modals/share-rule';
import ClickText from '../../../components/click-text';
const { Column } = Table;
const modalKey = Modal.key();
const modalStyle = {
width: 380,
};
const Share = () => {
const {
appServiceStore,
intlPrefix,
prefixCls,
} = useAppTopStore();
const {
intl: { formatMessage },
shareDs,
shareVersionsDs,
shareLevelDs,
params: { id },
import React, { Fragment, useMemo, useCallback, useEffect, useState } from 'react';
import { observer } from 'mobx-react-lite';
import { Modal } from 'choerodon-ui/pro';
import { Button } from 'choerodon-ui';
import { FormattedMessage } from 'react-intl';
import Detail from './secret-detail';
import HeaderButtons from '../../../../../../components/header-buttons';
import { useResourceStore } from '../../../../stores';
import { useModalStore } from './stores';
import { useSecretDetailStore } from '../stores';
const modalStyle = {
width: 380,
};
const modalKey1 = Modal.key();
const CustomModals = observer(() => {
const {
intlPrefix,
prefixCls,
intl: { formatMessage },
treeDs,
} = useResourceStore();
const {
detailDs,
} = useSecretDetailStore();
const {
permissions,
} = useModalStore();
function refresh() {