function beforeAutofillInsidePopulate(index, direction, data) {
        if (autofillMetadata) {
            // Cell row index.
            var cellRow = autofillMetadata.start.row + index.row;
            // Cell col index.
            var cellCol = autofillMetadata.start.col + index.col;
            // Cell autofill value.
            var cellVal = getAutofillCellValue(data, index.row, index.col);
            // Original value.
            var origVal = this.getDataAtCell(cellRow, cellCol);
            // Check real change.
            if (!isNil(origVal) || !isNil(cellVal)) {
                // Cell data must be stored for further processing.
                autofillMetadata.data.push([cellRow, cellCol, cellVal]);
            }
        }
        // Prevent value processed in standard way.
        return {
            value: {
                __not_existing_to_break_duck_schema__: true
            }
        };
    }
/**
     * Before autofill populate hook to prevent standard duckSchema process.
     *
     * @param index Autofill coordinates.
     * @param direction Fill direction.
     * @param data Autofill data.
     * @author Oleksandr Dakal <oleksandr-dakal@project-kit.org>
     */
Before autofill populate hook to prevent standard duckSchema process.
@param index Autofill coordinates.
@param direction Fill direction.
@param data Autofill data.
@author Oleksandr Dakal 
Before autofill populate hook to prevent standard duckSchema process . @param index Autofill coordinates . @param direction Fill direction . @param data Autofill data . @author Oleksandr Dakal
function beforeAutofillInsidePopulate(index, direction, data) {
        if (autofillMetadata) {
            var cellRow = autofillMetadata.start.row + index.row;
            var cellCol = autofillMetadata.start.col + index.col;
            var cellVal = getAutofillCellValue(data, index.row, index.col);
            var origVal = this.getDataAtCell(cellRow, cellCol);
            if (!isNil(origVal) || !isNil(cellVal)) {
                autofillMetadata.data.push([cellRow, cellCol, cellVal]);
            }
        }
        return {
            value: {
                __not_existing_to_break_duck_schema__: true
            }
        };
    }
function beforeAutofillInsidePopulate ( index , direction , data ) { if ( autofillMetadata ) { var cellRow = autofillMetadata . start . row + index . row ; var cellCol = autofillMetadata . start . col + index . col ; var cellVal = getAutofillCellValue ( data , index . row , index . col ) ; var origVal = this . getDataAtCell ( cellRow , cellCol ) ; if ( ! isNil ( origVal ) || ! isNil ( cellVal ) ) { autofillMetadata . data . push ( [ cellRow , cellCol , cellVal ] ) ; } } return { value : { __not_existing_to_break_duck_schema__ : true } } ; }
Before autofill populate hook to prevent standard duckSchema process.
Before autofill populate hook to prevent standard duckSchema process .
// Cell row index. // Cell col index. // Cell autofill value. // Original value. // Check real change. // Cell data must be stored for further processing. // Prevent value processed in standard way.