tav-ui
Version:
1 lines • 3.78 kB
Source Map (JSON)
{"version":3,"file":"use-props2.mjs","sources":["../../../../../../../../packages/components/editor/src/hooks/use-props.ts"],"sourcesContent":["import { type ComputedRef, type Ref, computed } from 'vue'\nimport { useGlobalConfig } from '@tav-ui/hooks/global/useGlobalConfig'\nimport { type GlobalConfigEditorProps } from '../typings'\n\nexport function useGlobalConfigProps() {\n const globalConfigAppId = (useGlobalConfig('appId') as Ref<string>).value\n const globalConfigUploadVarsJson = useGlobalConfig('uploadVarsJson') as Ref<string>\n const globalConfigEditor = useGlobalConfig('components') as Ref<Record<string, any>>\n\n return computed(\n () =>\n ({\n appId: globalConfigAppId || '',\n uploadVarsJson: globalConfigUploadVarsJson.value || '{}',\n ...(globalConfigEditor?.value?.TaEditor || {}),\n } as unknown as GlobalConfigEditorProps & {\n appId: string | number\n uploadVarsJson: string\n })\n )\n}\n\n/**\n * 方便组件在单独使用时合并 globalconfigprops\n * @param globalConfigProps\n * @param props\n * @param componentNames\n * @returns\n */\nexport function useMergedProps<K extends Record<string, any>>(\n globalConfigProps: ComputedRef<GlobalConfigEditorProps & { appId: string | number }>,\n props: K,\n apiParamsDefault?: any\n) {\n return computed(() => {\n const result = {} as any // props 不允许赋值所以这里新建变量存储\n const globalConfigComponentProps = globalConfigProps.value\n const globalConfigAppId = globalConfigProps.value.appId\n\n // props 属性为 undefined 的话从 globalconfig 中取对应的值(目前只是 api 与 appId)\n Object.keys(props).forEach((key) => {\n const _p =\n globalConfigComponentProps && (globalConfigComponentProps as any)[key]\n ? (globalConfigComponentProps as any)[key]\n : undefined\n\n result[key] = props[key] ?? _p\n })\n\n // apiParams 有一些默认值需要合并\n apiParamsDefault &&\n Object.keys(apiParamsDefault).forEach((key) => {\n result['apiParams'][key] = result['apiParams'][key] ?? apiParamsDefault[key]\n })\n\n return {\n ...props,\n ...result,\n apiParams: {\n ...props.apiParams,\n appId: props.apiParams?.appId ?? globalConfigAppId,\n },\n } as unknown as typeof globalConfigComponentProps & K\n })\n}\n"],"names":[],"mappings":";;;AAEO,SAAS,oBAAoB,GAAG;AACvC,EAAE,MAAM,iBAAiB,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;AAC3D,EAAE,MAAM,0BAA0B,GAAG,eAAe,CAAC,gBAAgB,CAAC,CAAC;AACvE,EAAE,MAAM,kBAAkB,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;AAC3D,EAAE,OAAO,QAAQ,CAAC,OAAO;AACzB,IAAI,KAAK,EAAE,iBAAiB,IAAI,EAAE;AAClC,IAAI,cAAc,EAAE,0BAA0B,CAAC,KAAK,IAAI,IAAI;AAC5D,IAAI,GAAG,kBAAkB,EAAE,KAAK,EAAE,QAAQ,IAAI,EAAE;AAChD,GAAG,CAAC,CAAC,CAAC;AACN,CAAC;AACM,SAAS,cAAc,CAAC,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE;AAC3E,EAAE,OAAO,QAAQ,CAAC,MAAM;AACxB,IAAI,MAAM,MAAM,GAAG,EAAE,CAAC;AACtB,IAAI,MAAM,0BAA0B,GAAG,iBAAiB,CAAC,KAAK,CAAC;AAC/D,IAAI,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC;AAC5D,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK;AACxC,MAAM,MAAM,EAAE,GAAG,0BAA0B,IAAI,0BAA0B,CAAC,GAAG,CAAC,GAAG,0BAA0B,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;AAC1H,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;AACrC,KAAK,CAAC,CAAC;AACP,IAAI,gBAAgB,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK;AACvE,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,IAAI,gBAAgB,CAAC,GAAG,CAAC,CAAC;AACnF,KAAK,CAAC,CAAC;AACP,IAAI,OAAO;AACX,MAAM,GAAG,KAAK;AACd,MAAM,GAAG,MAAM;AACf,MAAM,SAAS,EAAE;AACjB,QAAQ,GAAG,KAAK,CAAC,SAAS;AAC1B,QAAQ,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,IAAI,iBAAiB;AAC1D,OAAO;AACP,KAAK,CAAC;AACN,GAAG,CAAC,CAAC;AACL;;;;"}