@ibiz-template/vue3-components 0.4.3 → 0.4.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chart-ImL2qyp9.js +0 -1
- package/dist/ibiz-markdown-editor-BQsiQfa2.js +0 -1
- package/dist/index-UNZ1dtt_.js +0 -1
- package/dist/index-Ul84JXar.js +0 -1
- package/dist/index-zzHHP33g.js +13 -0
- package/dist/index.min.css +1 -1
- package/dist/index.system.min.js +1 -2
- package/dist/map-chart-7nfIdU3w.js +0 -1
- package/dist/wang-editor-f4440Xvw.js +0 -1
- package/dist/{xlsx-util-Mxa6HuaG.js → xlsx-util-FO177Hj_.js} +1 -2
- package/es/common/col/col.mjs +0 -3
- package/es/common/data-import2/data-import2.css +1 -1
- package/es/common/data-import2/data-import2.d.ts +48 -11
- package/es/common/data-import2/data-import2.mjs +133 -166
- package/es/common/data-import2-select/data-import2-select.css +1 -0
- package/es/common/data-import2-select/data-import2-select.d.ts +59 -0
- package/es/common/data-import2-select/data-import2-select.mjs +170 -0
- package/es/common/data-import2-table/data-import2-table.css +1 -0
- package/es/common/data-import2-table/data-import2-table.d.ts +56 -0
- package/es/common/data-import2-table/data-import2-table.mjs +104 -0
- package/es/common/index.mjs +4 -0
- package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.mjs +2 -2
- package/es/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.mjs +1 -1
- package/es/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.provider.mjs +1 -1
- package/es/control/grid/row-edit-popover/row-edit-popover.css +1 -1
- package/es/control/tree/index.d.ts +1 -0
- package/es/control/tree/tree.css +1 -1
- package/es/control/tree/tree.d.ts +1 -0
- package/es/control/tree/tree.mjs +104 -54
- package/es/editor/index.mjs +9 -2
- package/es/index.mjs +0 -1
- package/es/panel-component/index.d.ts +0 -1
- package/es/panel-component/index.mjs +2 -4
- package/es/panel-component/panel-button/panel-button.controller.mjs +4 -1
- package/es/view-engine/index-view.engine.d.ts +0 -7
- package/es/view-engine/index-view.engine.mjs +0 -37
- package/lib/common/col/col.cjs +0 -3
- package/lib/common/data-import2/data-import2.cjs +132 -164
- package/lib/common/data-import2/data-import2.css +1 -1
- package/lib/common/data-import2-select/data-import2-select.cjs +172 -0
- package/lib/common/data-import2-select/data-import2-select.css +1 -0
- package/lib/common/data-import2-table/data-import2-table.cjs +106 -0
- package/lib/common/data-import2-table/data-import2-table.css +1 -0
- package/lib/common/index.cjs +4 -0
- package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.cjs +1 -1
- package/lib/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.cjs +1 -1
- package/lib/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.provider.cjs +1 -1
- package/lib/control/grid/row-edit-popover/row-edit-popover.css +1 -1
- package/lib/control/tree/tree.cjs +102 -52
- package/lib/control/tree/tree.css +1 -1
- package/lib/editor/index.cjs +9 -2
- package/lib/index.cjs +15 -17
- package/lib/panel-component/index.cjs +29 -32
- package/lib/panel-component/panel-button/panel-button.controller.cjs +4 -1
- package/lib/view-engine/index-view.engine.cjs +0 -37
- package/package.json +10 -9
- package/dist/chart-ImL2qyp9.js.map +0 -1
- package/dist/ibiz-markdown-editor-BQsiQfa2.js.map +0 -1
- package/dist/index-1dtzc9-X.js +0 -14
- package/dist/index-1dtzc9-X.js.map +0 -1
- package/dist/index-UNZ1dtt_.js.map +0 -1
- package/dist/index-Ul84JXar.js.map +0 -1
- package/dist/index.system.min.js.map +0 -1
- package/dist/map-chart-7nfIdU3w.js.map +0 -1
- package/dist/wang-editor-f4440Xvw.js.map +0 -1
- package/dist/xlsx-util-Mxa6HuaG.js.map +0 -1
- package/es/_virtual/_commonjs-dynamic-modules.mjs +0 -5
- package/es/_virtual/pluralize.mjs +0 -3
- package/es/node_modules/.pnpm/@ibiz-template_model-helper@0.4.3_@ibiz-template_runtime@0.4.3_ramda@0.29.1/node_modules/@ibiz-template/model-helper/out/utils/format-path/format-path.mjs +0 -11
- package/es/node_modules/.pnpm/@ibiz-template_model-helper@0.4.3_@ibiz-template_runtime@0.4.3_ramda@0.29.1/node_modules/@ibiz-template/model-helper/out/utils/index.mjs +0 -4
- package/es/node_modules/.pnpm/@ibiz-template_model-helper@0.4.3_@ibiz-template_runtime@0.4.3_ramda@0.29.1/node_modules/@ibiz-template/model-helper/out/utils/merge-model/merge-model.mjs +0 -22
- package/es/node_modules/.pnpm/@ibiz-template_model-helper@0.4.3_@ibiz-template_runtime@0.4.3_ramda@0.29.1/node_modules/@ibiz-template/model-helper/out/utils/plural/plural.mjs +0 -30
- package/es/node_modules/.pnpm/@ibiz-template_model-helper@0.4.3_@ibiz-template_runtime@0.4.3_ramda@0.29.1/node_modules/@ibiz-template/model-helper/out/utils/service-path-util/service-path-util.mjs +0 -187
- package/es/node_modules/.pnpm/pluralize@8.0.0/node_modules/pluralize/pluralize.mjs +0 -515
- package/es/panel-component/panel-container-group/index.d.ts +0 -28
- package/es/panel-component/panel-container-group/index.mjs +0 -20
- package/es/panel-component/panel-container-group/panel-container-group.controller.d.ts +0 -31
- package/es/panel-component/panel-container-group/panel-container-group.controller.mjs +0 -35
- package/es/panel-component/panel-container-group/panel-container-group.css +0 -1
- package/es/panel-component/panel-container-group/panel-container-group.d.ts +0 -28
- package/es/panel-component/panel-container-group/panel-container-group.mjs +0 -107
- package/es/panel-component/panel-container-group/panel-container-group.provider.d.ts +0 -15
- package/es/panel-component/panel-container-group/panel-container-group.provider.mjs +0 -21
- package/es/panel-component/panel-container-group/panel-container-group.state.d.ts +0 -12
- package/es/panel-component/panel-container-group/panel-container-group.state.mjs +0 -7
- package/es/panel-component/panel-tab-page/index.d.ts +0 -23
- package/es/panel-component/panel-tab-page/index.mjs +0 -12
- package/es/panel-component/panel-tab-page/panel-tab-page.d.ts +0 -25
- package/es/panel-component/panel-tab-page/panel-tab-page.mjs +0 -62
- package/es/panel-component/panel-tab-page/panel-tab-page.provider.d.ts +0 -13
- package/es/panel-component/panel-tab-page/panel-tab-page.provider.mjs +0 -21
- package/lib/_virtual/_commonjs-dynamic-modules.cjs +0 -7
- package/lib/_virtual/pluralize.cjs +0 -5
- package/lib/node_modules/.pnpm/@ibiz-template_model-helper@0.4.3_@ibiz-template_runtime@0.4.3_ramda@0.29.1/node_modules/@ibiz-template/model-helper/out/utils/format-path/format-path.cjs +0 -13
- package/lib/node_modules/.pnpm/@ibiz-template_model-helper@0.4.3_@ibiz-template_runtime@0.4.3_ramda@0.29.1/node_modules/@ibiz-template/model-helper/out/utils/index.cjs +0 -14
- package/lib/node_modules/.pnpm/@ibiz-template_model-helper@0.4.3_@ibiz-template_runtime@0.4.3_ramda@0.29.1/node_modules/@ibiz-template/model-helper/out/utils/merge-model/merge-model.cjs +0 -24
- package/lib/node_modules/.pnpm/@ibiz-template_model-helper@0.4.3_@ibiz-template_runtime@0.4.3_ramda@0.29.1/node_modules/@ibiz-template/model-helper/out/utils/plural/plural.cjs +0 -33
- package/lib/node_modules/.pnpm/@ibiz-template_model-helper@0.4.3_@ibiz-template_runtime@0.4.3_ramda@0.29.1/node_modules/@ibiz-template/model-helper/out/utils/service-path-util/service-path-util.cjs +0 -189
- package/lib/node_modules/.pnpm/pluralize@8.0.0/node_modules/pluralize/pluralize.cjs +0 -519
- package/lib/panel-component/panel-container-group/index.cjs +0 -27
- package/lib/panel-component/panel-container-group/panel-container-group.cjs +0 -109
- package/lib/panel-component/panel-container-group/panel-container-group.controller.cjs +0 -37
- package/lib/panel-component/panel-container-group/panel-container-group.css +0 -1
- package/lib/panel-component/panel-container-group/panel-container-group.provider.cjs +0 -23
- package/lib/panel-component/panel-container-group/panel-container-group.state.cjs +0 -9
- package/lib/panel-component/panel-tab-page/index.cjs +0 -17
- package/lib/panel-component/panel-tab-page/panel-tab-page.cjs +0 -64
- package/lib/panel-component/panel-tab-page/panel-tab-page.provider.cjs +0 -23
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-UNZ1dtt_.js","sources":["../src/locale/en/index.ts"],"sourcesContent":["export default {\n name: 'zhangsan',\n};\n"],"names":["index","exports"],"mappings":"sEACe,IAAAA,EAAAC,EAAA,UAAA,CACb,KAAM,UACR,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-Ul84JXar.js","sources":["../src/locale/zh-CN/index.ts"],"sourcesContent":["export default {\n name: '张三',\n};\n"],"names":["index","exports"],"mappings":"sEACe,IAAAA,EAAAC,EAAA,UAAA,CACb,KAAM,cACR,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.system.min.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"map-chart-7nfIdU3w.js","sources":["../src/common/map-chart/map-chart.util.ts","../src/common/map-chart/map-json.ts","../src/common/map-chart/map-manager.ts","../src/common/map-chart/map-chart.tsx"],"sourcesContent":["/** 渐变颜色集合 */\nexport const GradientColors = ['#90d1e7', '#fff600', '#ff5200'];\n\nexport const defaultOpts = {\n /** true地图code标识使用字符串,false使用数字 */\n strAreaCode: false,\n /** 热力图配置 */\n visualMap: {\n /** 两端的文本,如 ['高', '低'] */\n text: ['高', '低'],\n /** 底部代表的值 */\n min: 0,\n /** 顶部代表的值 */\n max: 100,\n /** 热力图渐变颜色数组 */\n rangeColor: GradientColors,\n },\n /** 区块颜色 */\n areaColor: '#87cefa',\n /** 区块边界颜色 */\n areaBorderColor: '#FFF',\n /** 悬浮时区块颜色 */\n hoverAreaColor: '#fbdb2f',\n /** 点图标 */\n pointSymbol: 'pin',\n /** 地图json数据基础路径 */\n jsonBaseUrl: './assets/json/map',\n /** 默认打开的区域编码 */\n defaultAreaCode: 100000 as string | number,\n};\n\nexport type MapOptions = typeof defaultOpts;\n","export async function getJsonUrl(\n baseUrl: string,\n code: string | number,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): Promise<any> {\n const res = await ibiz.net.axios({\n url: `${baseUrl}/${code}.json`,\n });\n return res.data;\n}\n","/* eslint-disable no-unused-vars */\nimport { registerMap as register, EChartsType, init } from 'echarts';\nimport { ComputedRef, onMounted, ref } from 'vue';\nimport { MapOptions } from './map-chart.util';\nimport { getJsonUrl } from './map-json';\n\n/**\n * 使用echarts地图\n * @author lxm\n * @date 2023-04-06 12:00:07\n * @export\n * @param {(name: string) => IData} calcEchartsOpts 计算echarts的Options\n * @param {(name: string, e: IData) => void} emit 事件回调\n * @return {*}\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function useMapManager(\n opts: ComputedRef<MapOptions>,\n calcEchartsOpts: (name: string) => IData,\n emit: (name: string, e: IData) => void,\n) {\n const mapInfos = new Map<string, IData>();\n\n const currentName = ref<string>('');\n\n const historyNames = ref<string[]>([]);\n\n let chart: EChartsType;\n const chartRef = ref();\n\n const parseJson = (json: IData) => {\n const info: IData = {\n cityNames: {},\n noChild: json.features.length === 1,\n };\n json.features.forEach((item: IData) => {\n const { adcode, name } = item.properties;\n info.cityNames[adcode] = name;\n });\n return info;\n };\n\n const registerMap = async (name: string) => {\n if (mapInfos.has(name)) {\n return;\n }\n const json = await getJsonUrl(opts.value.jsonBaseUrl, name);\n mapInfos.set(name, parseJson(json));\n register(name, json);\n };\n\n const getCityName = (mapName: string | number) => {\n const info = mapInfos.get(currentName.value);\n if (info) {\n return info.cityNames[mapName];\n }\n };\n\n const refresh = () => {\n if (currentName.value) {\n const options = calcEchartsOpts(currentName.value);\n chart.setOption(options);\n chart.resize();\n }\n };\n\n const changeMap = async (name: string | number, isInit: boolean = false) => {\n if (!isInit) {\n emit('mapChange', {\n areaCode: opts.value.strAreaCode ? `${name}` : Number(name),\n });\n }\n const strName = `${name}`;\n\n if (!mapInfos.has(strName)) {\n await registerMap(strName);\n }\n currentName.value = strName;\n historyNames.value.push(strName);\n refresh();\n };\n\n const goBack = () => {\n // 一个时只有当前的name,不能后退。\n if (historyNames.value.length > 1) {\n historyNames.value.pop(); // 先删除当前地图的name\n const name = historyNames.value.pop(); // 获取上一个地图的name\n changeMap(name!);\n }\n };\n\n onMounted(() => {\n chart = init(chartRef.value);\n\n window.addEventListener('resize', () => {\n chart?.resize();\n });\n\n chart.on('click', params => {\n // 散点点击事件\n if (params.componentType === 'series') {\n if (params.seriesType === 'scatter') {\n emit('pointClick', params.data as IData);\n return;\n }\n if (params.seriesType === 'map') {\n if (params.data) {\n emit('areaClick', params.data as IData);\n }\n // 禁止切换同一个地图,到最下级的时候会出现这种情况\n if (params.name !== currentName.value) {\n changeMap(params.name);\n }\n }\n }\n });\n\n // 散点悬浮size变大\n chart.on('mouseover', function (params) {\n if (params.componentType === 'series') {\n if (params.seriesType === 'scatter') {\n const dataIndex = params.dataIndex;\n const option: IData = chart.getOption();\n const seriesData = option.series[params.seriesIndex!].data;\n const originSize = option.series[params.seriesIndex!].symbolSize;\n // 修改悬浮的数据点大小\n seriesData[dataIndex].symbolSize = originSize + 10;\n\n // 刷新图表\n chart.setOption(option);\n }\n }\n });\n chart.on('mouseout', function (params) {\n if (params.componentType === 'series') {\n if (params.seriesType === 'scatter') {\n const dataIndex = params.dataIndex;\n const option: IData = chart.getOption();\n const seriesData = option.series[params.seriesIndex!].data;\n\n // 恢复原始的数据点大小\n delete seriesData[dataIndex].symbolSize;\n\n // 刷新图表\n chart.setOption(option);\n }\n }\n });\n });\n\n return {\n chartRef,\n historyNames,\n currentName,\n changeMap,\n getCityName,\n goBack,\n refresh,\n };\n}\n","/* eslint-disable eqeqeq */\nimport {\n defineComponent,\n onMounted,\n PropType,\n computed,\n toRefs,\n watch,\n} from 'vue';\nimport { isNil, mergeDeepWithKey } from 'ramda';\nimport { useNamespace } from '@ibiz-template/vue3-util';\nimport { IMapData } from '@ibiz-template/runtime';\nimport { defaultOpts, MapOptions } from './map-chart.util';\nimport { useMapManager } from './map-manager';\nimport './map-chart.scss';\n\nexport const IBizMapChart = defineComponent({\n name: 'IBizMapChart',\n props: {\n areaData: {\n type: Array<IMapData>,\n },\n pointData: {\n type: Array<IMapData>,\n },\n options: {\n type: Object as PropType<Partial<MapOptions>>,\n default: () => ({}),\n },\n },\n setup(props, { emit }) {\n const ns = useNamespace('map-chart');\n const options = computed<MapOptions>(() => {\n // 后一个的undefined不覆盖\n return mergeDeepWithKey(\n (_key, x, z) => {\n return isNil(z) ? x : z;\n },\n defaultOpts,\n props.options,\n );\n });\n\n const findData = (id: string, type: 'area' | 'point') => {\n if (type === 'area' && props.areaData) {\n return props.areaData.find(item => item._id === id);\n }\n if (type === 'point' && props.pointData) {\n return props.pointData.find(item => item._id === id);\n }\n };\n\n const { chartRef, historyNames, changeMap, getCityName, goBack, refresh } =\n useMapManager(\n options,\n mapName => {\n const {\n visualMap,\n pointSymbol,\n areaColor,\n hoverAreaColor,\n areaBorderColor,\n } = options.value;\n const areaData = props.areaData || [];\n const pointData = props.pointData || [];\n\n const result: IData = {\n geo: {\n map: mapName,\n },\n tooltip: {\n trigger: 'item',\n // 全局的tooltip样式\n textStyle: {\n color: '#fff',\n fontSize: 12,\n },\n backgroundColor: 'rgba(0, 0, 0, 0.47)',\n borderWidth: 0,\n extraCssText: 'backdrop-filter: blur(3px);',\n },\n visualMap: {\n min: visualMap.min,\n max: visualMap.max,\n text: visualMap.text,\n realtime: false,\n hoverLink: false,\n inRange: {\n color: visualMap.rangeColor,\n },\n },\n series: [\n // 地图区块序列\n {\n type: 'map',\n map: mapName,\n // 地图JSON里和name匹配的属性名称\n nameProperty: 'adcodeStr',\n itemStyle: {\n // 默认区域颜色\n areaColor,\n borderColor: areaBorderColor,\n borderWidth: 2,\n },\n // 悬浮样式\n emphasis: {\n itemStyle: {\n areaColor: hoverAreaColor,\n },\n },\n tooltip: {\n formatter: (params: IData) => {\n if (!params.data) {\n // 没有数据的时候不显示tooltip\n return;\n }\n const find = findData(params.data._id, 'area')!;\n if (!find) {\n return;\n }\n return find._tooltip;\n },\n },\n label: {\n // 区块文字固定显示\n show: true,\n // 字体样式\n color: '#000000',\n fontSize: 14,\n formatter: (params: IData) => {\n return getCityName(params.name);\n },\n },\n select: {\n disabled: true,\n },\n data: areaData.map(item => ({\n name: `${item._areaCode}`,\n value: item._value,\n _id: item._id,\n })),\n },\n // 地图散点序列\n {\n type: 'scatter',\n coordinateSystem: 'geo',\n symbol: pointSymbol,\n symbolSize: 20,\n visualMap: false,\n itemStyle: {\n color: '#FF1D00',\n },\n label: {\n show: true,\n // 字体样式\n color: '#000000',\n fontSize: 14,\n textShadowBlur: 0,\n formatter: (params: IData) => {\n const find = findData(params.data._id, 'point')!;\n return find?._text;\n },\n // 偏移\n position: 'left',\n offset: [10, -15],\n },\n tooltip: {\n formatter: (params: IData) => {\n const find = findData(params.data._id, 'point')!;\n return find?._tooltip;\n },\n },\n data: pointData.map(item => {\n return {\n _id: item._id,\n symbol: item._symbol\n ? `image://${item._symbol}`\n : undefined,\n value: [Number(item._longitude), Number(item._latitude)],\n // 每个点逃离visualMap\n visualMap: false,\n };\n }),\n },\n ],\n };\n return result;\n },\n (name, e) => {\n switch (name) {\n case 'mapChange':\n emit('mapChange', e);\n break;\n case 'pointClick':\n emit('pointClick', { data: findData(e._id, 'point') });\n break;\n case 'areaClick':\n emit('areaClick', { data: findData(e._id, 'area') });\n break;\n default:\n break;\n }\n },\n );\n\n onMounted(() => {\n changeMap(options.value.defaultAreaCode, true);\n });\n\n const { areaData, pointData } = toRefs(props);\n watch([areaData, pointData], () => {\n refresh();\n });\n\n return { ns, chartRef, historyNames, goBack };\n },\n render() {\n return (\n <div class={this.ns.b()}>\n <div class={this.ns.e('chart')} ref='chartRef'></div>\n {this.historyNames.length > 1 && (\n <div\n class={this.ns.e('goback')}\n onClick={() => {\n this.goBack();\n }}\n >\n 返回\n </div>\n )}\n </div>\n );\n },\n});\n\nexport default IBizMapChart;\n"],"names":["defaultOpts","getJsonUrl","baseUrl","code","useMapManager","opts","calcEchartsOpts","emit","mapInfos","currentName","ref","historyNames","chart","chartRef","parseJson","json","info","item","adcode","name","registerMap","register","getCityName","mapName","refresh","options","changeMap","isInit","strName","goBack","onMounted","init","params","dataIndex","option","seriesData","originSize","IBizMapChart","defineComponent","props","areaData","type","Array","pointData","Object","default","setup","ns","useNamespace","computed","mergeDeepWithKey","_key","x","z","findData","id","visualMap","pointSymbol","areaColor","hoverAreaColor","areaBorderColor","areaData2","geo","map","tooltip","textStyle","color","fontSize","backgroundColor","borderWidth","extraCssText","min","max","text","realtime","hoverLink","inRange","nameProperty","borderColor","emphasis","itemStyle","find","label","show","select","disabled","coordinateSystem","symbol","symbolSize","textShadowBlur","position","offset","pointData2","_id","value","e","data","watch","toRefs","render","_createVNode","_createTextVNode","exports"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wang-editor-f4440Xvw.js","sources":["../src/editor/html/wang-editor/wang-editor.tsx"],"sourcesContent":["import {\n onBeforeUnmount,\n ref,\n shallowRef,\n onMounted,\n watch,\n Ref,\n defineComponent,\n} from 'vue';\nimport { Editor, Toolbar } from '@wangeditor/editor-for-vue';\nimport { IEditorConfig, IToolbarConfig } from '@wangeditor/editor';\nimport type { IDomEditor } from '@wangeditor/editor';\nimport { getCookie } from 'qx-util';\nimport { isNil } from 'ramda';\nimport {\n getEditorEmits,\n getHtmlProps,\n useNamespace,\n} from '@ibiz-template/vue3-util';\nimport { CoreConst } from '@ibiz-template/core';\nimport { HtmlEditorController } from '../html-editor.controller';\nimport './wang-editor.scss';\n\ntype InsertFnType = (_url: string, _alt: string, _href: string) => void;\n\nconst IBizHtml = defineComponent({\n name: 'IBizHtml',\n props: getHtmlProps<HtmlEditorController>(),\n emits: getEditorEmits(),\n setup(props, { emit }) {\n const ns = useNamespace('html');\n\n const c = props.controller!;\n\n // 编辑器实例,必须用 shallowRef,重要!\n const editorRef = shallowRef();\n\n // 内容 HTML\n const valueHtml = ref('');\n\n // 请求头\n const headers: Ref<IData> = ref({\n Authorization: `Bearer ${getCookie(CoreConst.TOKEN)}`,\n });\n\n // 上传文件路径\n const uploadUrl: Ref<string> = ref('');\n\n // 下载文件路径\n const downloadUrl: Ref<string> = ref('');\n\n // data响应式变更基础路径\n watch(\n () => props.data,\n newVal => {\n if (newVal) {\n const urls = c.calcBaseUrl(newVal);\n uploadUrl.value = urls.uploadUrl;\n downloadUrl.value = urls.downloadUrl;\n }\n },\n { immediate: true, deep: true },\n );\n\n // 自定义校验链接\n const customCheckLinkFn = (\n text: string,\n url: string,\n ): string | boolean | undefined => {\n if (!url) {\n return;\n }\n // if (url.indexOf('http') !== 0) {\n // return '链接必须以 http/https 开头';\n // }\n return true;\n\n // 返回值有三种选择:\n // 1. 返回 true ,说明检查通过,编辑器将正常插入链接\n // 2. 返回一个字符串,说明检查未通过,编辑器会阻止插入。会 alert 出错误信息(即返回的字符串)\n // 3. 返回 undefined(即没有任何返回),说明检查未通过,编辑器会阻止插入。但不会提示任何信息\n };\n\n // 自定义转换链接 url\n const customParseLinkUrl = (url: string): string => {\n // if (url.indexOf('http') !== 0) {\n // return `http://${url}`;\n // }\n return url;\n };\n\n // 工具栏配置\n const toolbarConfig: Partial<IToolbarConfig> = {\n excludeKeys: ['group-video'],\n };\n\n // 编辑器配置\n const editorConfig: Partial<IEditorConfig> = {\n placeholder: c.placeHolder,\n readOnly: props.readonly,\n MENU_CONF: {\n // 图片上传\n uploadImage: {\n // 上传地址\n server: uploadUrl.value,\n\n // form-data fieldName ,默认值 'wangeditor-uploaded-image'\n fieldName: 'file',\n\n // 单个文件的最大体积限制,默认为 2M\n maxFileSize: 10 * 1024 * 1024, // 10M\n\n // 最多可上传几个文件,默认为 100\n maxNumberOfFiles: 10,\n\n // 选择文件时的类型限制,默认为 ['image/*'] 。如不想限制,则设置为 []\n allowedFileTypes: [],\n\n // 自定义增加 http header\n headers: headers.value,\n\n // 跨域是否传递 cookie ,默认为 false\n withCredentials: true,\n\n // 上传之前触发\n onBeforeUpload(file: File) {\n // TS 语法\n // onBeforeUpload(file) { // JS 语法\n // file 选中的文件,格式如 { key: file }\n return file;\n\n // 可以 return\n // 1. return file 或者 new 一个 file ,接下来将上传\n // 2. return false ,不上传这个 file\n },\n\n // 上传进度的回调函数\n onProgress(progress: number) {\n console.log('progress', progress);\n },\n\n // 单个文件上传成功之后\n onSuccess(file: File, res: IData) {\n console.log(`${file.name} 上传成功`, res);\n },\n\n // 单个文件上传失败\n onFailed(file: File, res: IData) {\n console.log(`${file.name} 上传失败`, res);\n },\n\n // 上传错误,或者触发 timeout 超时\n onError(file: File, err: IData, res: IData) {\n console.log(`${file.name} 上传出错`, err, res);\n },\n\n // 自定义插入图片\n async customInsert(res: IData, insertFn: InsertFnType) {\n const url = downloadUrl.value.replace('%fileId%', res.id);\n const alt = res.filename;\n // 从 res 中找到 url alt href ,然后插入图片\n insertFn(url, alt, '');\n },\n },\n // 插入链接\n insertLink: {\n checkLink: customCheckLinkFn, // 也支持 async 函数\n parseLinkUrl: customParseLinkUrl, // 也支持 async 函数\n },\n // 更新链接\n editLink: {\n checkLink: customCheckLinkFn, // 也支持 async 函数\n parseLinkUrl: customParseLinkUrl, // 也支持 async 函数\n },\n },\n };\n\n // 组件销毁时,也及时销毁编辑器,重要!\n onBeforeUnmount(() => {\n const editor = editorRef.value;\n if (editor == null) return;\n\n editor.destroy();\n });\n\n // 编辑器回调函数\n // 编辑器创建完毕时的回调函数\n const handleCreated = (editor: IDomEditor) => {\n editorRef.value = editor; // 记录 editor 实例,重要!\n editor.setHtml(valueHtml.value);\n // 配置菜单\n // setTimeout(() => {\n // const toolbar = DomEditor.getToolbar(editor);\n // const curToolbarConfig = toolbar?.getConfig();\n // console.log(curToolbarConfig?.toolbarKeys); // 当前菜单排序和分组\n // }, 3000);\n };\n // 编辑器内容、选区变化时的回调函数\n const handleChange = (editor: IDomEditor) => {\n // console.log('change:', editor.getHtml());\n const html = editor.getHtml();\n // wangEditor初始值抛空字符串给后台\n const emitValue = html === '<p><br></p>' ? '' : html;\n if (\n emitValue === props.value ||\n (emitValue === '' && isNil(props.value))\n ) {\n return;\n }\n emit('change', emitValue);\n };\n // 编辑器销毁时的回调函数。调用 editor.destroy() 即可销毁编辑器\n const handleDestroyed = (_editor: IDomEditor) => {\n // console.log('destroyed', _editor);\n };\n // 编辑器 focus 时的回调函数\n const handleFocus = (_editor: IDomEditor) => {\n // console.log('focus', _editor);\n emit('focus');\n };\n // 编辑器 blur 时的回调函数。\n const handleBlur = (_editor: IDomEditor) => {\n // console.log('blur', _editor);\n emit('blur');\n };\n // 自定义编辑器 alert\n const customAlert = (info: string, type: string) => {\n // eslint-disable-next-line no-alert\n alert(`【自定义提示】${type} - ${info}`);\n };\n // 自定义粘贴。可阻止编辑器的默认粘贴,实现自己的粘贴逻辑\n const customPaste = (\n editor: IDomEditor,\n event: ClipboardEvent,\n callback: (_n: boolean) => void,\n ) => {\n // 返回值(注意,vue 事件的返回值,不能用 return)\n // callback(false); // 返回 false ,阻止默认粘贴行为\n callback(true); // 返回 true ,继续默认的粘贴行为\n };\n\n // 插入文本\n const insertText = (str: string) => {\n const editor = editorRef.value;\n if (editor == null) return;\n\n editor.insertText(str);\n };\n\n // 获取非格式化的 html\n const printHtml = () => {\n const editor = editorRef.value;\n if (editor == null) return;\n console.log(editor.getHtml());\n };\n\n // 禁用编辑器\n const disable = () => {\n const editor = editorRef.value;\n if (editor == null) return;\n editor.disable();\n };\n\n // 取消禁用编辑器\n const enable = () => {\n const editor = editorRef.value;\n if (editor == null) return;\n editor.enable();\n };\n\n onMounted(() => {\n // 监听值变化赋值\n watch(\n () => props.value,\n (newVal, oldVal) => {\n if (\n newVal !== oldVal &&\n (typeof props.value === 'string' || newVal === null)\n ) {\n if (newVal === null) {\n valueHtml.value = '';\n } else {\n valueHtml.value = newVal as string;\n }\n }\n },\n { immediate: true },\n );\n\n // 监听disabled禁用\n watch(\n () => props.disabled,\n (newVal, oldVal) => {\n if (newVal !== oldVal) {\n if (newVal === true) {\n disable();\n } else {\n enable();\n }\n }\n },\n { immediate: true },\n );\n });\n\n return {\n ns,\n editorRef,\n mode: 'default',\n valueHtml,\n toolbarConfig,\n editorConfig,\n handleCreated,\n handleChange,\n handleDestroyed,\n handleFocus,\n handleBlur,\n customAlert,\n customPaste,\n insertText,\n printHtml,\n disable,\n enable,\n };\n },\n render() {\n return (\n <div class={this.ns.b()}>\n <div style='border: 1px solid #ccc; margin-top: 10px'>\n <Toolbar\n editor={this.editorRef}\n default-config={this.toolbarConfig}\n mode={this.mode}\n style='border-bottom: 1px solid #ccc'\n />\n <Editor\n v-model={this.valueHtml}\n default-config={this.editorConfig}\n mode={this.mode}\n style='height: 400px; overflow-y: hidden'\n onOnCreated={this.handleCreated}\n onOnChange={this.handleChange}\n onOnDestroyed={this.handleDestroyed}\n onOnFocus={this.handleFocus}\n onOnBlur={this.handleBlur}\n oncustomAlert={this.customAlert}\n oncustomPaste={this.customPaste}\n />\n </div>\n </div>\n );\n },\n});\n\nexport default IBizHtml;\n"],"names":["name","IBizHtml","exports","defineComponent","props","emits","getEditorEmits","setup","emit","c","useNamespace","editorRef","shallowRef","getCookie","CoreConst","downloadUrl","ref","watch","headers","newVal","Authorization","urls","customCheckLinkFn","text","url","uploadUrl","customParseLinkUrl","toolbarConfig","editorConfig","file","progress","res","uploadImage","err","fieldName","insertFn","alt","maxNumberOfFiles","allowedFileTypes","onBeforeUnmount","onProgress","editor","onSuccess","valueHtml","onFailed","html","emitValue","onError","isNil","handleDestroyed","_editor","handleFocus","handleBlur","insertLink","checkLink","info","type","customPaste","event","callback","editLink","str","printHtml","disable","value","onMounted","oldVal","handleChange","getHtml","enable","ns","alert","customAlert","insertText","_createVNode","console","Editor","$event"],"mappings":"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"}
|