{"version":3,"sources":["https://lively-kernel.org/lively4/swd21-pipes-and-filters/src/components/widgets/lively-mle-code-editor.js"],"names":["Morph","SocketSingleton","LivelyMleCodeEditor","initialize","registerButtons","getAttribute","get","onDeployButton","editor","file","onResetButton","reset","socket","v","m","r","status","connectionString","user","password","loading","livelyPrepareSave","setAttribute","livelyPreMigrate","livelyMigrate","other"],"mappings":"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","file":"lively-mle-code-editor.js","sourcesContent":["\"enable aexpr\";\n\nimport Morph from 'src/components/widgets/lively-morph.js';\nimport { SocketSingleton } from 'src/components/mle/socket.js';\n\nexport default class LivelyMleCodeEditor extends Morph {\n  async initialize() {\n    this.windowTitle = \"MLE Code Editor\";\n    this.registerButtons();\n    if(!(this.getAttribute(\"initSocket\") === \"false\")) this.socket = await SocketSingleton.get();\n  }\n\n  onDeployButton() {\n    this.loading = true;\n    const editor = this.shadowRoot.getElementById(\"code\");\n    this._socket.emit('save', {\n      file: editor.value\n    });\n  }\n  \n  async onResetButton(){\n    this.loading = true;\n    this.socket = await SocketSingleton.reset();\n    this.loading = false;\n  }\n  \n  set socket(v){\n    this._socket = v;\n    this.loading = true;\n    this._socket.emit('read');\n    this._socket.on('failure', m => {\n      this.loading = false;\n      this.shadowRoot.getElementById(\"result\").innerHTML = m;\n      this.shadowRoot.getElementById(\"result\").className = \"notification is-danger\";\n    });\n    this._socket.on('busy', m => {\n      this.loading = false;\n    });\n    this._socket.on('result', (r, status) => {\n      if(status === \"read\"){\n        this.loading = false;\n        this.shadowRoot.getElementById(\"code\").value = r;\n      }\n      if (status === \"saved\") {\n        this._socket.emit('deploy', {\n          connectionString: '132.145.55.192:1521/MLEEDITOR',\n          user: 'system',\n          password: 'MY_PASSWORD_123'\n        });\n        this.shadowRoot.getElementById(\"result\").innerHTML = \"Saved the code\";\n      }\n      if (status === \"deployed\") {\n        this.loading=false;\n        this.shadowRoot.getElementById(\"result\").innerHTML = \"Deployed the code\";\n        this.shadowRoot.getElementById(\"result\").classNames = \"notification is-success\";\n      }\n    });\n  }\n\n  set loading(v) {\n    this.shadowRoot.getElementById(\"code\").disabled = v;\n    this.shadowRoot.getElementById(\"deployButton\").disabled = v;\n    this.shadowRoot.getElementById(\"deployButton\").className = `button is-link ${v ? \"is-loading\" : \"\"}`;\n    this.shadowRoot.getElementById(\"resetButton\").disabled = v;\n    this.shadowRoot.getElementById(\"resetButton\").className = `button is-warning ${v ? \"is-loading\" : \"\"}`;\n  }\n  \n  /* Lively-specific API */\n\n  // store something that would be lost\n  livelyPrepareSave() {\n    this.setAttribute(\"data-mydata\", this.get(\"#textField\").value)\n  }\n\n  livelyPreMigrate() {\n    // is called on the old object before the migration\n  }\n\n  livelyMigrate(other) {\n    // whenever a component is replaced with a newer version during development\n    // this method is called on the new object during migration, but before initialization\n    this.someJavaScriptProperty = other.som\n  }\n}\n"]}