ace-editor.js 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. (function (global, factory) {
  2. if (typeof define === "function" && define.amd) {
  3. define("/Plugin/ace-editor", ["exports", "Plugin"], factory);
  4. } else if (typeof exports !== "undefined") {
  5. factory(exports, require("Plugin"));
  6. } else {
  7. var mod = {
  8. exports: {}
  9. };
  10. factory(mod.exports, global.Plugin);
  11. global.PluginAceEditor = mod.exports;
  12. }
  13. })(this, function (_exports, _Plugin2) {
  14. "use strict";
  15. Object.defineProperty(_exports, "__esModule", {
  16. value: true
  17. });
  18. _exports.default = void 0;
  19. _Plugin2 = babelHelpers.interopRequireDefault(_Plugin2);
  20. var NAME = 'ace';
  21. var AceEditor =
  22. /*#__PURE__*/
  23. function (_Plugin) {
  24. babelHelpers.inherits(AceEditor, _Plugin);
  25. function AceEditor() {
  26. babelHelpers.classCallCheck(this, AceEditor);
  27. return babelHelpers.possibleConstructorReturn(this, babelHelpers.getPrototypeOf(AceEditor).apply(this, arguments));
  28. }
  29. babelHelpers.createClass(AceEditor, [{
  30. key: "getName",
  31. value: function getName() {
  32. return NAME;
  33. }
  34. }, {
  35. key: "render",
  36. value: function render() {
  37. if (typeof ace === 'undefined') {
  38. return;
  39. } // ace.config.set("themePath", "../theme");
  40. ace.config.loadModule('ace/ext/language_tools');
  41. var $el = this.$el;
  42. var id = $el.attr('id');
  43. var editor = ace.edit(id);
  44. editor.container.style.opacity = '';
  45. if (this.options.mode) {
  46. editor.session.setMode("ace/mode/".concat(this.options.mode));
  47. }
  48. if (this.options.theme) {
  49. editor.setTheme("ace/theme/".concat(this.options.theme));
  50. }
  51. editor.setOption('maxLines', 40);
  52. editor.setAutoScrollEditorIntoView(true);
  53. ace.config.loadModule('ace/ext/language_tools', function () {
  54. editor.setOptions({
  55. enableSnippets: true,
  56. enableBasicAutocompletion: true
  57. });
  58. });
  59. }
  60. }]);
  61. return AceEditor;
  62. }(_Plugin2.default);
  63. _Plugin2.default.register(NAME, AceEditor);
  64. var _default = AceEditor;
  65. _exports.default = _default;
  66. });