Skip to content

1.0.9

Compare
Choose a tag to compare
@2betop 2betop released this 21 Jan 09:43
· 12738 commits to master since this release
  • 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 版本

  1. 不需要关闭monaco-editor 的 hash 功能了
  2. css 可以跟其他css 打包在一起了。
  3. 启用一个新插件,添加如下配置即可。
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 版本

  1. 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';
  }
}
  1. 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