{"version":3,"file":"use-header.mjs","sources":["../../../../../../packages/components/header/src/use-header.tsx"],"sourcesContent":["import { computed } from 'vue'\nimport { useRouter } from 'vue-router'\nimport type { HeaderProps } from '@el-plus/components/header'\nimport type { ButtonsProps } from '@el-plus/components/buttons'\nimport { mergeListByKey, gotoTaskTrace } from '@el-plus/utils'\nimport { useLocale } from '@el-plus/hooks/use-locale'\nimport { useNavigation } from '@el-plus/hooks/use-navigation'\nexport const useHeader = (props, emit) => {\n  const router = useRouter()\n  const isShowBack = computed(() => {\n    if (!props.allowBack) {\n      return false\n    }\n    if (window.parent.openMenuSelect) {\n      return false\n    }\n    return true\n  })\n  const goBack = () => {\n    router?.back()\n  }\n  return {\n    isShowBack,\n    goBack,\n  }\n}\nexport const useButtons = (props: HeaderProps, emit) => {\n  const { t } = useLocale()\n  const { mode: defaultMode } = useNavigation()\n  const mode = computed(() => {\n    return props.mode || defaultMode.value\n  })\n  let defaultButtons: ButtonsProps['list'] = [\n    {\n      name: t('ep.header.edit'),\n      prop: 'edit',\n      permission: props.name ? `${props.name}:UPDATE` : '',\n      disabled: () => {\n        return mode.value !== 'browse'\n      },\n    },\n    {\n      name: t('ep.header.save'),\n      prop: 'save',\n      permission: props.name ? `${props.name}:SAVE` : '',\n      disabled: () => {\n        return !(mode.value === 'edit' || mode.value === 'add')\n      },\n    },\n    {\n      name: t('ep.header.cancel'),\n      prop: 'cancel',\n      disabled: () => {\n        return mode.value !== 'edit'\n      },\n    },\n    {\n      name: t('ep.header.refresh'),\n      prop: 'refresh',\n      permission: props.name ? `${props.name}:REFRESH` : '',\n      disabled: () => {\n        return mode.value !== 'browse'\n      },\n    },\n    {\n      name: t('ep.header.approvalLog'),\n      prop: 'approvalLog',\n      permission: props.name ? `${props.name}:APPROVALLOG` : '',\n      show: () => {\n        return !!props.workflowId\n      },\n      onClick: () => {\n        gotoTaskTrace(props.workflowId!)\n      },\n    },\n  ]\n  // 过滤要显示的\n  if (props.defaultButtons?.length) {\n    defaultButtons = defaultButtons.filter((item) => {\n      return props.defaultButtons!.some((item1) => item1 === item.prop)\n    })\n  }else if(props.defaultButtons?.length===0){\n    defaultButtons = []\n  }\n  const buttons = mergeListByKey(defaultButtons, props.buttons)\n  return {\n    buttons,\n  }\n}\n"],"names":["useHeader","props","emit","router","useRouter","isShowBack","computed","allowBack","window","parent","openMenuSelect","goBack","back","useButtons","t","useLocale","mode","defaultMode","useNavigation","value","defaultButtons","name","prop","permission","disabled","show","workflowId","onClick","gotoTaskTrace","length","filter","item","some","item1","buttons","mergeListByKey"],"mappings":"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"}