cantino/huginn

View on GitHub
app/assets/javascripts/pages/user-credential-page.js

Summary

Maintainability
A
0 mins
Test Coverage
this.UserCredentialPage = class UserCredentialPage {
  constructor() {
    const editor = ace.edit("ace-credential-value");
    editor.getSession().setTabSize(2);
    editor.getSession().setUseSoftTabs(true);
    editor.getSession().setUseWrapMode(false);

    const setMode = function () {
      const mode = $("#user_credential_mode").val();
      if (mode === "java_script") {
        return editor.getSession().setMode("ace/mode/javascript");
      } else {
        return editor.getSession().setMode("ace/mode/text");
      }
    };

    setMode();
    $("#user_credential_mode").on("change", setMode);

    const $textarea = $("#user_credential_credential_value").hide();
    editor.getSession().setValue($textarea.val());

    $textarea
      .closest("form")
      .on("submit", () => $textarea.val(editor.getSession().getValue()));
  }
};

$(() =>
  Utils.registerPage(UserCredentialPage, {
    forPathsMatching: /^user_credentials\/(\d+|new)/,
  })
);