public/js/handsontable/jquery.handsontable.full.js
function () {
      var drag, select, start, end;

      autofill.handle.isDragged = 0;

      drag = autofill.fillBorder.corners;
      if (!drag) {
        return;
      }

      autofill.fillBorder.disappear();

      if (selection.isMultiple()) {
        select = priv.selectionBorder.corners;
      }
      else {
        select = priv.currentBorder.corners;
      }

      if (drag.TL.row === select.TL.row && drag.TL.col < select.TL.col) {
        start = drag.TL;
        end = {
          row: drag.BR.row,
          col: select.TL.col - 1
        };
      }
      else if (drag.TL.row === select.TL.row && drag.BR.col > select.BR.col) {
        start = {
          row: drag.TL.row,
          col: select.BR.col + 1
        };
        end = drag.BR;
      }
      else if (drag.TL.row < select.TL.row && drag.TL.col === select.TL.col) {
        start = drag.TL;
        end = {
          row: select.TL.row - 1,
          col: drag.BR.col
        };
      }
      else if (drag.BR.row > select.BR.row && drag.TL.col === select.TL.col) {
        start = {
          row: select.BR.row + 1,
          col: drag.TL.col
        };
        end = drag.BR;
      }

      if (start) {
        grid.populateFromArray(start, SheetClip.parse(priv.editProxy.val()), end, 'autofill');

        selection.setRangeStart(self.view.getCellAtCoords(drag.TL));
        selection.setRangeEnd(self.view.getCellAtCoords(drag.BR));
      }
      else {
        //reset to avoid some range bug
        selection.refreshBorders();
      }
    }
function () {
      var drag, select, start, end;

      autofill.handle.isDragged = 0;

      drag = autofill.fillBorder.corners;
      if (!drag) {
        return;
      }

      autofill.fillBorder.disappear();

      if (selection.isMultiple()) {
        select = priv.selectionBorder.corners;
      }
      else {
        select = priv.currentBorder.corners;
      }

      if (drag.TL.row === select.TL.row && drag.TL.col < select.TL.col) {
        start = drag.TL;
        end = {
          row: drag.BR.row,
          col: select.TL.col - 1
        };
      }
      else if (drag.TL.row === select.TL.row && drag.BR.col > select.BR.col) {
        start = {
          row: drag.TL.row,
          col: select.BR.col + 1
        };
        end = drag.BR;
      }
      else if (drag.TL.row < select.TL.row && drag.TL.col === select.TL.col) {
        start = drag.TL;
        end = {
          row: select.TL.row - 1,
          col: drag.BR.col
        };
      }
      else if (drag.BR.row > select.BR.row && drag.TL.col === select.TL.col) {
        start = {
          row: select.BR.row + 1,
          col: drag.TL.col
        };
        end = drag.BR;
      }

      if (start) {
        grid.populateFromArray(start, SheetClip.parse(priv.editProxy.val()), end, 'autofill');

        selection.setRangeStart(self.view.getCellAtCoords(drag.TL));
        selection.setRangeEnd(self.view.getCellAtCoords(drag.BR));
      }
      else {
        //reset to avoid some range bug
        selection.refreshBorders();
      }
    }
function ( ) { var drag , select , start , end ; autofill . handle . isDragged = 0 ; drag = autofill . fillBorder . corners ; if ( ! drag ) { return ; } autofill . fillBorder . disappear ( ) ; if ( selection . isMultiple ( ) ) { select = priv . selectionBorder . corners ; } else { select = priv . currentBorder . corners ; } if ( drag . TL . row === select . TL . row && drag . TL . col < select . TL . col ) { start = drag . TL ; end = { row : drag . BR . row , col : select . TL . col - 1 } ; } else if ( drag . TL . row === select . TL . row && drag . BR . col > select . BR . col ) { start = { row : drag . TL . row , col : select . BR . col + 1 } ; end = drag . BR ; } else if ( drag . TL . row < select . TL . row && drag . TL . col === select . TL . col ) { start = drag . TL ; end = { row : select . TL . row - 1 , col : drag . BR . col } ; } else if ( drag . BR . row > select . BR . row && drag . TL . col === select . TL . col ) { start = { row : select . BR . row + 1 , col : drag . TL . col } ; end = drag . BR ; } if ( start ) { grid . populateFromArray ( start , SheetClip . parse ( priv . editProxy . val ( ) ) , end , 'autofill' ) ; selection . setRangeStart ( self . view . getCellAtCoords ( drag . TL ) ) ; selection . setRangeEnd ( self . view . getCellAtCoords ( drag . BR ) ) ; } else { //reset to avoid some range bug selection . refreshBorders ( ) ; } }
Apply fill values to the area in fill border, omitting the selection border
Apply fill values to the area in fill border omitting the selection border