{"version":3,"file":"api-component.vue2.mjs","sources":["../../../../../../packages/components/api-component/src/api-component.vue"],"sourcesContent":["<template>\r\n  <div :class=\"bem.b()\">\r\n    <a-form ref=\"form\">\r\n      <ll-form-item v-bind=\"validateInfos.url\">\r\n        <api-url\r\n          v-model:value=\"httpModel\"\r\n          :class=\"bem.m('header')\"\r\n          @change=\"handleChange\"\r\n        />\r\n      </ll-form-item>\r\n\r\n      <params-table\r\n        v-show=\"activeKey === 'params'\"\r\n        :columns=\"paramsTableColumns\"\r\n        :data-source=\"httpModel.requestParams\"\r\n      />\r\n      <params-table\r\n        v-show=\"activeKey === 'headers'\"\r\n        :columns=\"headersTableColumns\"\r\n        :data-source=\"httpModel.headerParams\"\r\n      />\r\n      <body-component v-show=\"activeKey === 'body'\" v-model:value=\"httpModel\" />\r\n    </a-form>\r\n  </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed, provide, ref, watch } from 'vue'\r\n\r\nimport { Form } from 'ant-design-vue'\r\n\r\nimport {\r\n  apiComponentEmits,\r\n  apiComponentProps,\r\n  headersTableColumns,\r\n  IMethod,\r\n  paramsTableColumns,\r\n  requestList,\r\n} from './config'\r\n\r\nimport { createNamespace } from '@ll-plus/utils'\r\n// Components\r\nimport ApiUrl from './components/api-url.vue'\r\n\r\nimport paramsTable from './components/params-table.vue'\r\n\r\nimport BodyComponent from './components/body-component.vue'\r\n\r\ndefineOptions({ name: 'LlApiComponent' })\r\n\r\nconst props = defineProps(apiComponentProps)\r\n\r\nconst emits = defineEmits(apiComponentEmits)\r\n\r\nconst bem = createNamespace('api-component')\r\n\r\nconst useForm = Form.useForm\r\n\r\nconst formItemContext = Form.useInjectFormItemContext()\r\n\r\nconst form = ref()\r\n\r\nconst activeKey = ref('params')\r\n\r\nconst computedRules = computed(() => (props.isValid ? props.rules : {}))\r\n\r\nprovide('disabled', props.disabled)\r\n\r\nconst httpModel = ref(props.value)\r\n\r\nconst computedRequestList = computed(() => {\r\n  if (httpModel.value.method === 'GET') {\r\n    return requestList.filter((item) => item.key !== 'body')\r\n  }\r\n  return requestList\r\n})\r\n\r\nconst { resetFields, validate, validateInfos } = useForm(\r\n  httpModel,\r\n  computedRules.value\r\n  // {\r\n  //   onValidate: (...args) => {\r\n  //     console.log('onValidate', args)\r\n  //   }\r\n  // }\r\n)\r\n\r\nconst handleChange = (params: { url: string; method: IMethod }) => {\r\n  httpModel.value.method = params.method\r\n  httpModel.value.url = params.url\r\n  formItemContext.onFieldChange()\r\n  setValue()\r\n}\r\n\r\nconst setValue = () => {\r\n  emits('change', httpModel.value)\r\n  emits('update:value', httpModel.value)\r\n}\r\n\r\nwatch(\r\n  () => props.value,\r\n  (val) => {\r\n    httpModel.value = val\r\n  },\r\n  {\r\n    deep: true,\r\n  }\r\n)\r\n\r\nwatch(\r\n  () => httpModel,\r\n  () => {\r\n    setValue()\r\n  },\r\n  {\r\n    deep: true,\r\n  }\r\n)\r\n\r\ndefineExpose({\r\n  validate,\r\n  resetFields,\r\n})\r\n</script>\r\n"],"names":["_createElementBlock","_normalizeClass","_unref","_createVNode","_normalizeProps","_guardReactiveProps","ApiUrl","paramsTable","BodyComponent"],"mappings":"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"}