anchor.diff:        viewportHeight = fuzzyRowHeightAsPagePct * window.viewer.world.getItemAt(0).normHeight;
         // console.log("highlightRow("+rowNum+", "+maxRows+", "+topOffset+", "+bottomOffset+") setting viewportY="+viewportY);
   
  -
         window.viewer.removeOverlay("runtime-overlay");
         
         var elt = document.createElement("div");
  
positive.code:     }
    };
  
  
  
    var container = document.getElementById("hot-div-<%= transcription_field.id %>");
    var hot = new Handsontable(container, {
      rowHeaders: true,
      colHeaders: colHeadersConfig,
      filters: true,
      data: data,
      width: '100%',
      height: (data ? data.length : <%= transcription_field.starting_rows %>) * 23 + 27,
      stretchH: 'all',
      contextMenu: ['row_above', 'row_below', 'remove_row', 'undo', 'redo', 'cut', 'copy'],
      dropdownMenu: true,
  
negative.code:     afterSelection: (row, column, row2, column2, preventScrolling, selectionLayerLevel) => {
        // setting if prevent scrolling after selection
        console.log("afterSelection("+row+", "+column+", "+row2+", "+column2+"...)");
        if (row+1 == hot.countRows()) {
          // add a new row if we are at the end
          hot.alter('insert_row', hot.countRows());
        };
        <% if transcription_field.row_highlight %>
          highlightRow(row,
            <%= transcription_field.starting_rows %>,
            <%= transcription_field.top_offset %>,
            <%= transcription_field.bottom_offset %>);
        <% end %>
      },
      afterCreateRow: updateHotHeight,
      afterRemoveRow: updateHotHeight,
      manualColumnResize: true,
      manualRowResize: true,
      afterChange: function(changes, source) {
        document.getElementById('<%= "fields-#{transcription_field.id}" %>').value = JSON.stringify(this.getData());
      },
      startRows: <%= transcription_field.starting_rows %>,
    });
  
    // $(container).data('hot-object', hot);
  