- iFrame 与别的渲染通信逻辑补齐
- Table 行高亮功能添加。
- 升级日历控件&日历范围控件,参考新的规范:http://console.yunshe.design/docs/time
- Table 列的 label 支持 TPL 渲染。感谢:[ @yeyuqiudeng ]
- 优化图片上传控件&文件上传控件,新增重试功能。
- Crud 的固顶功能,将 header 部分也固定。
- 新增弹框的全屏模式
- 新增图集放大功能
- 修复 combo 父子可拖拽的问题。
- 颜色控件,可以限制用户输入,只能选择预设颜色。
- Select 支持选项级别的 disabled 配置。
- popOver 位置计算优化在缩放情况下的定位问题。
break changes
monaco-editor 的使用方式换成了 esm 版本,意味着现在 webpack 也可以工作了。需要调整相应的配置。
如果,你不需要使用 editor,则可以忽略这些。
fis3 版本
- 不需要关闭monaco-editor 的 hash 功能了
- css 可以跟其他css 打包在一起了。
- 启用一个新插件,添加如下配置即可。
fis.match("::package", {
prepackager: fis.plugin("stand-alone-pack", {
"/pkg/editor.worker.js": "monaco-editor/esm/vs/editor/editor.worker.js",
"/pkg/json.worker.js": "monaco-editor/esm/vs/language/json/json.worker",
"/pkg/css.worker.js": "monaco-editor/esm/vs/language/css/css.worker",
"/pkg/html.worker.js": "monaco-editor/esm/vs/language/html/html.worker",
"/pkg/ts.worker.js": "monaco-editor/esm/vs/language/typescript/ts.worker",
// 替换这些文件里面的路径引用。
// 如果不配置,源码中对于打包文件的引用是不正确的。
replaceFiles: ["amis/lib/components/Editor.js"]
}),
});
参考:https://github.com/fex-team/amis-admin/blob/master/fis-conf.js
webpack 版本
- js 里面补充一个 worker 相关的配置如:
self.MonacoEnvironment = {
getWorkerUrl: function (moduleId, label) {
if (label === 'json') {
return './json.worker.bundle.js';
}
if (label === 'css') {
return './css.worker.bundle.js';
}
if (label === 'html') {
return './html.worker.bundle.js';
}
if (label === 'typescript' || label === 'javascript') {
return './ts.worker.bundle.js';
}
return './editor.worker.bundle.js';
}
}
- entry 里面补充这几个 worker即可
module.exports = {
entry: {
"app": './index.js',
// Package each language's worker and give these filenames in `getWorkerUrl`
"editor.worker": 'monaco-editor/esm/vs/editor/editor.worker.js',
"json.worker": 'monaco-editor/esm/vs/language/json/json.worker',
"css.worker": 'monaco-editor/esm/vs/language/css/css.worker',
"html.worker": 'monaco-editor/esm/vs/language/html/html.worker',
"ts.worker": 'monaco-editor/esm/vs/language/typescript/ts.worker',
},
output: {
globalObject: 'self',
filename: '[name].bundle.js',
path: path.resolve(__dirname, 'dist')
},
module: {
rules: [{
test: /\.css$/,
use: ['style-loader', 'css-loader']
}, {
test: /\.ttf$/,
use: ['file-loader']
}]
}
};
参考:
https://github.com/microsoft/monaco-editor/blob/master/docs/integrate-esm.md
https://github.com/fex-team/amis-admin/blob/webpack/webpack.config.js