{"version":3,"file":"index2.mjs","sources":["../../../../../../../packages/components/file/src/index.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref, /*useAttrs,*/ useSlots, watch, onBeforeUnmount } from 'vue'\nimport { ButtonGroup as AButtonGroup } from 'ant-design-vue'\nimport {\n  type FileTypeSelectEmits,\n  type FileTypeSelectInstance,\n  TaFileTypeSelect,\n} from './components/FileTypeSelect'\nimport {\n  type FileActionUploadEmits,\n  type FileActionUploadInstance,\n  TaFileActionUpload,\n} from './components/FileActionUpload'\nimport {\n  type FileTableEmits,\n  type FileTableInstance,\n  type FileTableReloadApiParams,\n  TaFileTable,\n} from './components/FileTable'\nimport { fileEmits, fileProps } from './typings'\nimport {\n  DEFAULT_APIPARAMS,\n  DEFAULT_FILEACTIONS_CLASSNAME,\n  DEFAULT_FILEACTIONS_ID,\n  DEFAULT_FILE_CLASSNAME,\n  DEFAULT_FILE_ID,\n} from './consts'\nimport { type ArgumentsOf } from './utils'\nimport {\n  type FileActionUploadLinkEmits,\n  type FileActionUploadLinkInstance,\n  TaFileActionUploadLink,\n} from './components/FileActionUploadLink'\n\ndefineOptions({\n  name: 'TaFile',\n  inheritAttrs: false,\n})\n\nconst headerElRef = ref<HTMLElement>()\nconst props = defineProps(fileProps)\nconst emits = defineEmits(fileEmits)\nconst slots = useSlots()\n// const attrs = useAttrs()\n\nif (JSON.stringify(props.fileActualIds) && JSON.stringify(props.fileActualIds) !== '[]') {\n  console.error(\n    '[tavui TaFile] not pass value to \"fileActualIds\", \"fileActualIds\" only accpet \"[]\" to get actualIds'\n  )\n}\n\n// 对 file 组件的 apiparams 进行 computed 方便属性下发\n// const _fileApiParams = ref(props.apiParams)\n// const fileApiParams = computed({\n//   get() {\n//     return _fileApiParams\n//   },\n//   set(curFileApiParams: any) {\n//     _fileApiParams.value = { ...curFileApiParams.value }\n//   },\n// })\nconst fileApiParams = ref(props.apiParams)\nconst fileTableInnerUploadDataSource = ref(props.fileTable?.__uploadDataSource)\nconst fileTableInnerUploadLinkDataSource = ref(props.fileTable?.__uploadLinkDataSource)\nwatch(\n  () => [\n    JSON.stringify(props.apiParams),\n    JSON.stringify(props.fileTable?.__uploadDataSource ?? []),\n    JSON.stringify(props.fileTable?.__uploadLinkDataSource ?? []),\n  ],\n  async (\n    [curapiParams, curuploadDataSource, curuploadLinkDataSource],\n    [preapiParams, preuploadDataSource, preuploadLinkDataSource]\n  ) => {\n    if (curapiParams !== preapiParams) {\n      fileApiParams.value = props.apiParams\n    }\n\n    if (curuploadDataSource !== preuploadDataSource) {\n      fileTableInnerUploadDataSource.value = props.fileTable?.__uploadDataSource\n    }\n\n    if (curuploadLinkDataSource !== preuploadLinkDataSource) {\n      fileTableInnerUploadLinkDataSource.value = props.fileTable?.__uploadLinkDataSource\n    }\n  }\n)\n\nconst fileTypeSelectRef = ref<FileTypeSelectInstance>()\nconst fileTypeSelectProps = computed(() => {\n  return {\n    ...props.fileTypeSelect,\n    mode: props.mode,\n    apiParams: {\n      appId: fileApiParams.value.appId,\n      moduleCode: fileApiParams.value.moduleCode,\n      typeCodes: fileApiParams.value.typeCodes,\n      permissionControl:\n        fileApiParams.value.permissionControl ?? DEFAULT_APIPARAMS.permissionControl, // 合并默认值\n      ...(props.fileTypeSelect?.apiParams ?? {}), // 以子组件中的 apiparams 为准，这里最后覆盖\n    },\n  }\n})\n\nconst fileActionUploadRef = ref<FileActionUploadInstance>()\nconst fileActionUploadProps = computed(() => {\n  return {\n    ...props.fileActionUpload,\n    mode: props.mode,\n    apiParams: {\n      appId: fileApiParams.value.appId,\n      moduleCode: fileApiParams.value.moduleCode,\n      typeCode: fileApiParams.value.typeCode,\n      businessId: fileApiParams.value.businessId,\n      businessKey: fileApiParams.value.businessKey,\n      businessParamsJson:\n        fileApiParams.value.businessParamsJson ?? DEFAULT_APIPARAMS.businessParamsJson, // 合并默认值\n      fileName: fileApiParams.value.fileName,\n      ...(props.fileActionUpload?.apiParams ?? {}), // 以子组件中的 apiparams 为准，这里最后覆盖\n    },\n  }\n})\n\nconst fileActionUploadLinkRef = ref<FileActionUploadLinkInstance>()\nconst fileActionUploadLinkProps = computed(() => {\n  return {\n    ...props.fileActionUploadLink,\n    mode: props.mode,\n    apiParams: {\n      appId: fileApiParams.value.appId,\n      moduleCode: fileApiParams.value.moduleCode,\n      typeCode: fileApiParams.value.typeCode,\n      businessId: fileApiParams.value.businessId,\n      businessKey: fileApiParams.value.businessKey,\n      businessParamsJson:\n        fileApiParams.value.businessParamsJson ?? DEFAULT_APIPARAMS.businessParamsJson, // 合并默认值\n      ...(props.fileActionUploadLink?.apiParams ?? {}), // 以子组件中的 apiparams 为准，这里最后覆盖\n    },\n    getFormContainer: () => headerElRef.value,\n  }\n})\n\n// const __fileTableProps = ref<FileTableProps & GlobalConfigFileProps['TaFileTable']>( // 类型太深，ts解析器打包报错，先给 any\n// const __fileTableProps = ref<any>(props.fileTable ?? ({} as any))\n// const _fileTableProps = computed({\n//   get() {\n//     return __fileTableProps\n//   },\n//   set(curFileTableProps: any) {\n//     __fileTableProps.value = { ...curFileTableProps.value }\n//   },\n// })\nconst fileTableRef = ref<FileTableInstance>()\nconst fileTableProps = computed(() => {\n  return {\n    ...props.fileTable,\n    mode: props.mode,\n    apiParams: {\n      typeCode: fileApiParams.value.typeCode,\n      businessId: fileApiParams.value.businessId,\n      businessParamsJson:\n        fileApiParams.value.businessParamsJson ?? DEFAULT_APIPARAMS.businessParamsJson, // 合并默认值\n\n      appId: fileApiParams.value.appId,\n      businessCheck: fileApiParams.value.businessCheck ?? DEFAULT_APIPARAMS.businessCheck, // 合并默认值\n      businessDisplayItem: fileApiParams.value.businessDisplayItem,\n      businessIds: fileApiParams.value.businessIds,\n      businessKey: fileApiParams.value.businessKey,\n      businessSearchItems: fileApiParams.value.businessSearchItems,\n      endTime: fileApiParams.value.endTime,\n      excludeDeleted: fileApiParams.value.excludeDeleted, // ?? DEFAULT_APIPARAMS.excludeDeleted, // 合并默认值\n      excludeStaging: fileApiParams.value.excludeStaging, // ?? DEFAULT_APIPARAMS.excludeStaging, // 合并默认值\n      id: fileApiParams.value.id,\n      moduleCode: fileApiParams.value.moduleCode,\n      owners: fileApiParams.value.owners,\n      permissionControl:\n        fileApiParams.value.permissionControl ?? DEFAULT_APIPARAMS.permissionControl, // 合并默认值\n      searchValue: fileApiParams.value.searchValue,\n      startTime: fileApiParams.value.startTime,\n      suffix: fileApiParams.value.suffix,\n      typeCodes: fileApiParams.value.typeCodes,\n      visibleSubModules: fileApiParams.value.visibleSubModules,\n\n      file: fileApiParams.value.file,\n      fileActualId: fileApiParams.value.fileActualId,\n      instantUpdate: fileApiParams.value.instantUpdate,\n\n      actualIds: fileApiParams.value.actualIds,\n\n      ...(props.fileTable?.apiParams ?? {}), // 以子组件中的 apiparams 为准，这里最后覆盖\n    },\n    __uploadDataSource: fileTableInnerUploadDataSource.value ?? props.fileTable?.__uploadDataSource,\n    __uploadLinkDataSource:\n      fileTableInnerUploadLinkDataSource.value ?? props.fileTable?.__uploadLinkDataSource,\n  }\n})\n\nfunction handleFileTypeSelectChange(...args: any) {\n  const data = args as unknown as ArgumentsOf<FileTypeSelectEmits['select']>\n  const [typeCode, option] = data\n  fileApiParams.value = {\n    ...fileApiParams.value,\n    typeCode: typeCode === undefined && option === undefined ? '' : `${typeCode}`,\n  }\n\n  emits('fileTypeSelect:change', ...(args as unknown as ArgumentsOf<FileTypeSelectEmits['change']>))\n}\n\nfunction handleFileTypeSelectOptionsChange(...args: any) {\n  emits(\n    'fileTypeSelect:optionsChange',\n    ...(args as unknown as ArgumentsOf<FileTypeSelectEmits['optionsChange']>)\n  )\n}\n\nfunction handleFileActionUploadChangeValidateSuccessChange(...args: any) {\n  emits(\n    'fileActionUpload:validateSuccessChange',\n    ...(args as unknown as ArgumentsOf<FileActionUploadEmits['validateSuccessChange']>)\n  )\n}\n\nfunction handleFileActionUploadChangeValidateFailureChange(...args: any) {\n  emits(\n    'fileActionUpload:validateFailureChange',\n    ...(args as unknown as ArgumentsOf<FileActionUploadEmits['validateFailureChange']>)\n  )\n}\n\nfunction handleFileActionUploadChange(...args: any) {\n  emits(\n    'fileActionUpload:uploadedChange',\n    ...(args as unknown as ArgumentsOf<FileActionUploadEmits['uploadedChange']>)\n  )\n\n  const [files] = args as unknown as ArgumentsOf<FileActionUploadEmits['uploadedChange']>\n  // 上传成功后将文件数据当作外部准备好的表格数据通过 __uploadDataSource 传入\n  fileTableInnerUploadDataSource.value = [...files]\n}\n\nfunction handleFileActionUploadLinkChangeValidateSuccessChange(...args: any) {\n  emits(\n    'fileActionUploadLink:validateSuccessChange',\n    ...(args as unknown as ArgumentsOf<FileActionUploadLinkEmits['validateSuccessChange']>)\n  )\n}\n\nfunction handleFileActionUploadLinkChangeValidateFailureChange(...args: any) {\n  emits(\n    'fileActionUploadLink:validateFailureChange',\n    ...(args as unknown as ArgumentsOf<FileActionUploadLinkEmits['validateFailureChange']>)\n  )\n}\n\nfunction handleFileActionUploadLinkChange(...args: any) {\n  emits(\n    'fileActionUploadLink:uploadedChange',\n    ...(args as unknown as ArgumentsOf<FileActionUploadLinkEmits['uploadedChange']>)\n  )\n\n  const [files] = args as unknown as ArgumentsOf<FileActionUploadLinkEmits['uploadedChange']>\n  // 上传成功后将文件数据当作外部准备好的表格数据通过 __uploadLinkDataSource 传入\n  fileTableInnerUploadLinkDataSource.value = [...files]\n}\n\n// function handleFileTableChange(...args: any) {\n//   const _args = args as unknown as ArgumentsOf<FileTableEmits['change']>\n//   emits('change', ..._args)\n// }\n\nfunction handleFileTableActualidsChange(...args: any) {\n  const _args = args as unknown as ArgumentsOf<FileTableEmits['actualidsChange']>\n  emits('update:fileActualIds', ..._args)\n}\n\nfunction handleFileTableRowEdit(...args: any) {\n  const _args = args as unknown as ArgumentsOf<FileTableEmits['rowEdit']>\n  emits('fileTable:rowEdit', ..._args)\n}\n\nfunction handleFileTableRowUpdate(...args: any) {\n  const _args = args as unknown as ArgumentsOf<FileTableEmits['rowUpdate']>\n  emits('fileTable:rowUpdate', ..._args)\n}\n\nfunction handleFileTableRowDelete(...args: any) {\n  const _args = args as unknown as ArgumentsOf<FileTableEmits['rowDelete']>\n  emits('fileTable:rowDelete', ..._args)\n}\n\nasync function fileTableReload(params?: FileTableReloadApiParams) {\n  await fileTableRef.value?.reload?.(params)\n}\nasync function fileTableCreateRows(...args: ArgumentsOf<FileTableInstance['createRows']>) {\n  await fileTableRef.value?.createRows(...args)\n}\nasync function fileTableReadRows(...args: ArgumentsOf<FileTableInstance['readRows']>) {\n  const rows = await fileTableRef.value?.readRows(...args)\n  return rows\n}\nasync function fileTableUpdateRows(...args: ArgumentsOf<FileTableInstance['updateRows']>) {\n  await fileTableRef.value?.updateRows(...args)\n}\nasync function fileTableDeleteRows(...args: ArgumentsOf<FileTableInstance['deleteRows']>) {\n  await fileTableRef.value?.deleteRows(...args)\n}\nasync function getFileTableSelectRowKeys() {\n  // eslint-disable-next-line no-return-await\n  return await (fileTableRef.value?.tableProRef as any)?.instance?.getSelectRowKeys()\n}\nasync function clearFileTableSelectedRowByKey(key: string | number) {\n  // eslint-disable-next-line no-return-await\n  return await (fileTableRef.value?.tableProRef as any)?.instance?.clearSelectedRowByKey(key)\n}\nasync function getFileTableSelectRows() {\n  // eslint-disable-next-line no-return-await\n  return await (fileTableRef.value?.tableProRef as any)?.instance?.getSelectRows() // fileTableRef.value.tableProRef.instance\n}\nasync function clearFileTableSelectedRows() {\n  // eslint-disable-next-line no-return-await\n  return await (fileTableRef.value?.tableProRef as any)?.instance?.clearSelectedRows()\n}\n\nfunction cleanup() {\n  fileTypeSelectRef.value?.cleanup()\n  fileActionUploadRef.value?.cleanup()\n  fileActionUploadLinkRef.value?.cleanup()\n  fileTableRef.value?.cleanup()\n}\n\nonBeforeUnmount(() => {\n  cleanup()\n})\n\ndefineExpose({\n  fileTypeSelectRef,\n  fileActionUploadRef,\n  fileActionUploadLinkRef,\n  fileTableRef,\n  fileTableReload,\n  fileTableCreateRows,\n  fileTableReadRows,\n  fileTableUpdateRows,\n  fileTableDeleteRows,\n  getFileTableSelectRowKeys,\n  clearFileTableSelectedRowByKey,\n  getFileTableSelectRows,\n  clearFileTableSelectedRows,\n  cleanup,\n})\n</script>\n\n<template>\n  <section :id=\"DEFAULT_FILE_ID\" :class=\"DEFAULT_FILE_CLASSNAME\">\n    <section\n      v-if=\"props.headerVisible\"\n      ref=\"headerElRef\"\n      :class=\"`${DEFAULT_FILE_CLASSNAME}-header`\"\n    >\n      <section :class=\"`${DEFAULT_FILE_CLASSNAME}-title-wrapper`\">\n        <template v-if=\"slots.FileTitle\">\n          <slot name=\"FileTitle\" />\n        </template>\n        <template v-else>\n          <div v-if=\"props.titleVisible\" :class=\"`${DEFAULT_FILE_CLASSNAME}-title`\">\n            {{ props.title }}\n          </div>\n        </template>\n      </section>\n\n      <section\n        v-if=\"props.headerActionsVisible && props.mode !== 'read'\"\n        :class=\"`${DEFAULT_FILE_CLASSNAME}-header-actions`\"\n      >\n        <section :class=\"`${DEFAULT_FILE_CLASSNAME}-type-select-wrapper`\">\n          <template v-if=\"slots.FileTypeSelect\">\n            <slot name=\"FileTypeSelect\" v-bind=\"fileTypeSelectProps\" />\n          </template>\n          <template v-else>\n            <TaFileTypeSelect\n              ref=\"fileTypeSelectRef\"\n              v-bind=\"fileTypeSelectProps\"\n              @change=\"handleFileTypeSelectChange\"\n              @options-change=\"handleFileTypeSelectOptionsChange\"\n            />\n          </template>\n        </section>\n        <section :class=\"`${DEFAULT_FILE_CLASSNAME}-actions-wrapper`\">\n          <template v-if=\"slots.FileActions\">\n            <slot name=\"FileActions\" />\n          </template>\n          <template v-else>\n            <template v-if=\"props.fileActionsVisible\">\n              <section :id=\"DEFAULT_FILEACTIONS_ID\" :class=\"DEFAULT_FILEACTIONS_CLASSNAME\">\n                <AButtonGroup>\n                  <template v-if=\"slots['FileActionPrefix']\">\n                    <slot name=\"FileActionPrefix\" />\n                  </template>\n\n                  <template v-if=\"slots['FileActionUpload']\">\n                    <slot name=\"FileActionUpload\" v-bind=\"fileActionUploadProps\" />\n                  </template>\n                  <template v-else>\n                    <TaFileActionUpload\n                      ref=\"fileActionUploadRef\"\n                      v-bind=\"fileActionUploadProps\"\n                      @validate-success-change=\"handleFileActionUploadChangeValidateSuccessChange\"\n                      @validate-failure-change=\"handleFileActionUploadChangeValidateFailureChange\"\n                      @uploaded-change=\"handleFileActionUploadChange\"\n                    >\n                      <template\n                        v-if=\"slots['FileActionUploadButton']\"\n                        #FileActionUploadButton=\"data\"\n                      >\n                        <slot name=\"FileActionUploadButton\" v-bind=\"data || {}\" />\n                      </template>\n                    </TaFileActionUpload>\n                  </template>\n\n                  <template v-if=\"slots['FileActionMiddle']\">\n                    <slot name=\"FileActionMiddle\" />\n                  </template>\n\n                  <template v-if=\"slots['FileActionUploadLink']\">\n                    <slot name=\"FileActionUploadLink\" v-bind=\"fileActionUploadLinkProps\" />\n                  </template>\n                  <template v-else>\n                    <TaFileActionUploadLink\n                      ref=\"fileActionUploadLinkRef\"\n                      v-bind=\"fileActionUploadLinkProps\"\n                      @validate-success-change=\"\n                        handleFileActionUploadLinkChangeValidateSuccessChange\n                      \"\n                      @validate-failure-change=\"\n                        handleFileActionUploadLinkChangeValidateFailureChange\n                      \"\n                      @uploaded-change=\"handleFileActionUploadLinkChange\"\n                    />\n                  </template>\n\n                  <template v-if=\"slots['FileActionSuffix']\">\n                    <slot name=\"FileActionSuffix\" />\n                  </template>\n                </AButtonGroup>\n              </section>\n            </template>\n          </template>\n        </section>\n      </section>\n    </section>\n\n    <section :class=\"`${DEFAULT_FILE_CLASSNAME}-main`\">\n      <section :class=\"`${DEFAULT_FILE_CLASSNAME}-table-wrapper`\">\n        <template v-if=\"slots.FileTable\">\n          <slot name=\"FileTable\" v-bind=\"fileTableProps\" />\n        </template>\n        <template v-else>\n          <!-- @change=\"handleFileTableChange\" -->\n          <TaFileTable\n            ref=\"fileTableRef\"\n            v-bind=\"fileTableProps\"\n            @actualids-change=\"handleFileTableActualidsChange\"\n            @row-edit=\"handleFileTableRowEdit\"\n            @row-update=\"handleFileTableRowUpdate\"\n            @row-delete=\"handleFileTableRowDelete\"\n          />\n        </template>\n      </section>\n    </section>\n\n    <!-- <section :class=\"`${DEFAULT_FILE_CLASSNAME}-footer`\"></section> -->\n  </section>\n</template>\n"],"names":["_openBlock","_createElementBlock","_unref","_normalizeClass","_createElementVNode","_renderSlot","_Fragment","_toDisplayString","_createCommentVNode"],"mappings":"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"}