<commit_before>// TODO: крестик в contenteditable, чтобы сбросить редактируемый текст к data-initial-value
// TODO: галочку в contenteditable, чтобы отправить редактируемый текст в форму
// TODO: popup в contenteditable, когда текст выделен, с кнопками для комманд ctrl+b, ctrl+i, ctrl+u (см. MediumEditor.setToolbarPosition)
// TODO: команду на зачеркивание в contenteditable (<s>)
// TODO: индикатор ожидания записи для autosave, или это не работает Latency Compensation?
// TODO: autosave - it blocks the interface: https://github.com/aldeed/meteor-autoform/issues/645

AutoForm.addInputType("contenteditable2", {
  template: "afContenteditable2",
  valueOut: function () {
    return this.html();
  },
  contextAdjust: function (context) {
    if (typeof context.atts["data-maxlength"] === "undefined" && typeof context.max === "number") {
      context.atts["data-maxlength"] = context.max;
    }
    if (context.atts["placeholder"]) {
      context.atts["data-placeholder"] = context.atts["placeholder"];
      delete context.atts["placeholder"];
    }
    context.atts['title'] = defaults.title;
    return context;
  }
});

Template.afContenteditable2.helpers({
  out: function () {
    var atts = this.atts;
    // TODO: if (style == 'bootstrap3') ...
    // Add bootstrap class
    atts = AutoForm.Utility.addClass(atts, "form-control");
    var s = "";<commit_msg>comments<commit_after>// TODO: крестик в contenteditable, чтобы сбросить редактируемый текст к data-initial-value
// TODO: галочку в contenteditable, чтобы отправить редактируемый текст в форму
// TODO: popup в contenteditable, когда текст выделен, с кнопками для комманд ctrl+b, ctrl+i, ctrl+u (см. MediumEditor.setToolbarPosition)
// TODO: команду на зачеркивание в contenteditable (<s>)
// TODO: индикатор ожидания записи для autosave, или это не работает Latency Compensation?
// TODO: autosave - it blocks the interface: https://github.com/aldeed/meteor-autoform/issues/645
// TODO: манипуляция выделением https://github.com/JackAdams/meteor-editable-text-wysiwyg/blob/master/lib/wysiwyg.js#L9
// TODO: hot keys https://github.com/jeresig/jquery.hotkeys

AutoForm.addInputType("contenteditable2", {
  template: "afContenteditable2",
  valueOut: function () {
    return this.html();
  },
  contextAdjust: function (context) {
    if (typeof context.atts["data-maxlength"] === "undefined" && typeof context.max === "number") {
      context.atts["data-maxlength"] = context.max;
    }
    if (context.atts["placeholder"]) {
      context.atts["data-placeholder"] = context.atts["placeholder"];
      delete context.atts["placeholder"];
    }
    context.atts['title'] = defaults.title;
    return context;
  }
});

Template.afContenteditable2.helpers({
  out: function () {
    var atts = this.atts;
    // TODO: if (style == 'bootstrap3') ...
    // Add bootstrap class
    atts = AutoForm.Utility.addClass(atts, "form-control");
    var s = "";
{'fraction_non_alphanumeric': 0.13880341880341882, 'fraction_numerical': 0.005128205128205128, 'mean_word_length': 4.010273972602739, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1852690', 'n_tokens_mistral': 959, 'n_tokens_neox': 975, 'n_words': 228}