import "choerodon-ui/pro/lib/form/style";
import _Form from "@hzero-front-ui/c7n-ui/lib/FormPro";
import "choerodon-ui/pro/lib/text-area/style";
import _TextArea from "choerodon-ui/pro/lib/text-area";
import "choerodon-ui/pro/lib/text-field/style";
import _TextField from "choerodon-ui/pro/lib/text-field";
import "choerodon-ui/pro/lib/modal/style";
import _Modal from "choerodon-ui/pro/lib/modal";

function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }

function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }

import React from 'react';
import { observer } from 'mobx-react-lite';
import { useFormStore } from "./stores";
import ActivateCluster from "../activate-cluster";
var modalStyle = {
  width: 380
};

function CreateClusterForm() {
  var ActivateClusterModalKey = _Modal.key();

  var _useFormStore = useFormStore(),
      modal = _useFormStore.modal,
      formDs = _useFormStore.formDs,
      mainStore = _useFormStore.mainStore,
      afterOk = _useFormStore.afterOk,
      formatMessage = _useFormStore.formatMessage,
      intlPrefix = _useFormStore.intlPrefix,
      isEdit = _useFormStore.isEdit;

  var openActivate = function openActivate(cmd) {
    _Modal.open({
      key: ActivateClusterModalKey,
      title: formatMessage({
        id: "".concat(intlPrefix, ".activate.header")
      }),
      children: /*#__PURE__*/React.createElement(ActivateCluster, {
        cmd: cmd,
        intlPrefix: intlPrefix,
        formatMessage: formatMessage
      }),
      drawer: true,
      style: modalStyle,
      okCancel: false,
      okText: formatMessage({
        id: 'close'
      })
    });
  };

  if (isEdit) {
    formDs.query();
  }

  function handleSubmit() {
    return _handleSubmit.apply(this, arguments);
  }

  function _handleSubmit() {
    _handleSubmit = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
      var dataObj;
      return regeneratorRuntime.wrap(function _callee$(_context) {
        while (1) {
          switch (_context.prev = _context.next) {
            case 0:
              _context.prev = 0;
              _context.next = 3;
              return formDs.submit();

            case 3:
              _context.t0 = _context.sent;

              if (!(_context.t0 !== false)) {
                _context.next = 8;
                break;
              }

              if (!isEdit) {
                dataObj = JSON.parse(JSON.stringify(mainStore));
                openActivate(dataObj.responseData);
              }

              afterOk();
              return _context.abrupt("return", true);

            case 8:
              return _context.abrupt("return", false);

            case 11:
              _context.prev = 11;
              _context.t1 = _context["catch"](0);
              return _context.abrupt("return", false);

            case 14:
            case "end":
              return _context.stop();
          }
        }
      }, _callee, null, [[0, 11]]);
    }));
    return _handleSubmit.apply(this, arguments);
  }

  modal.handleOk(handleSubmit);
  return /*#__PURE__*/React.createElement(_Form, {
    dataSet: formDs
  }, /*#__PURE__*/React.createElement(_TextField, {
    name: "name"
  }), /*#__PURE__*/React.createElement(_TextField, {
    name: "code",
    disabled: isEdit
  }), /*#__PURE__*/React.createElement(_TextArea, {
    name: "description",
    newLine: true,
    resize: "vertical"
  }));
}

export default observer(CreateClusterForm);