tinymce.full.js
function determineDeltas(sizes, column, step, min, isPercentageBased) {

        var result = sizes.slice(0);

        function generateZeros(array) {
          return Tools.map(array, function () {
            return 0;
          });
        }

        function onOneColumn() {
          var deltas;
          if (isPercentageBased) {
            // If we have one column in a percent based table, that column should be 100% of the width of the table.
            deltas = [100 - result[0]];
          } else {
            var newNext = Math.max(min, result[0] + step);
            deltas = [newNext - result[0]];
          }
          return deltas;
        }

        function onLeftOrMiddle(index, next) {

          var startZeros = generateZeros(result.slice(0, index));
          var endZeros = generateZeros(result.slice(next + 1));
          var deltas;

          if (step >= 0) {
            var newNext = Math.max(min, result[next] - step);
            deltas = startZeros.concat([step, newNext - result[next]]).concat(endZeros);
          } else {
            var newThis = Math.max(min, result[index] + step);
            var diffx = result[index] - newThis;
            deltas = startZeros.concat([newThis - result[index], diffx]).concat(endZeros);
          }

          return deltas;
        }

        function onRight(previous, index) {
          var startZeros = generateZeros(result.slice(0, index));
          var deltas;

          if (step >= 0) {
            deltas = startZeros.concat([step]);
          } else {
            var size = Math.max(min, result[index] + step);
            deltas = startZeros.concat([size - result[index]]);
          }

          return deltas;

        }

        var deltas;

        if (sizes.length === 0) { // No Columns
          deltas = [];
        } else if (sizes.length === 1) { // One Column
          deltas = onOneColumn();
        } else if (column === 0) { // Left Column
          deltas = onLeftOrMiddle(0, 1);
        } else if (column > 0 && column < sizes.length - 1) { // Middle Column
          deltas = onLeftOrMiddle(column, column + 1);
        } else if (column === sizes.length - 1) { // Right Column
          deltas = onRight(column - 1, column);
        } else {
          deltas = [];
        }

        return deltas;
      }
function determineDeltas(sizes, column, step, min, isPercentageBased) {

        var result = sizes.slice(0);

        function generateZeros(array) {
          return Tools.map(array, function () {
            return 0;
          });
        }

        function onOneColumn() {
          var deltas;
          if (isPercentageBased) {
            // If we have one column in a percent based table, that column should be 100% of the width of the table.
            deltas = [100 - result[0]];
          } else {
            var newNext = Math.max(min, result[0] + step);
            deltas = [newNext - result[0]];
          }
          return deltas;
        }

        function onLeftOrMiddle(index, next) {

          var startZeros = generateZeros(result.slice(0, index));
          var endZeros = generateZeros(result.slice(next + 1));
          var deltas;

          if (step >= 0) {
            var newNext = Math.max(min, result[next] - step);
            deltas = startZeros.concat([step, newNext - result[next]]).concat(endZeros);
          } else {
            var newThis = Math.max(min, result[index] + step);
            var diffx = result[index] - newThis;
            deltas = startZeros.concat([newThis - result[index], diffx]).concat(endZeros);
          }

          return deltas;
        }

        function onRight(previous, index) {
          var startZeros = generateZeros(result.slice(0, index));
          var deltas;

          if (step >= 0) {
            deltas = startZeros.concat([step]);
          } else {
            var size = Math.max(min, result[index] + step);
            deltas = startZeros.concat([size - result[index]]);
          }

          return deltas;

        }

        var deltas;

        if (sizes.length === 0) { // No Columns
          deltas = [];
        } else if (sizes.length === 1) { // One Column
          deltas = onOneColumn();
        } else if (column === 0) { // Left Column
          deltas = onLeftOrMiddle(0, 1);
        } else if (column > 0 && column < sizes.length - 1) { // Middle Column
          deltas = onLeftOrMiddle(column, column + 1);
        } else if (column === sizes.length - 1) { // Right Column
          deltas = onRight(column - 1, column);
        } else {
          deltas = [];
        }

        return deltas;
      }
function determineDeltas ( sizes , column , step , min , isPercentageBased ) { var result = sizes . slice ( 0 ) ; function generateZeros ( array ) { return Tools . map ( array , function ( ) { return 0 ; } ) ; } function onOneColumn ( ) { var deltas ; if ( isPercentageBased ) { // If we have one column in a percent based table, that column should be 100% of the width of the table. deltas = [ 100 - result [ 0 ] ] ; } else { var newNext = Math . max ( min , result [ 0 ] + step ) ; deltas = [ newNext - result [ 0 ] ] ; } return deltas ; } function onLeftOrMiddle ( index , next ) { var startZeros = generateZeros ( result . slice ( 0 , index ) ) ; var endZeros = generateZeros ( result . slice ( next + 1 ) ) ; var deltas ; if ( step >= 0 ) { var newNext = Math . max ( min , result [ next ] - step ) ; deltas = startZeros . concat ( [ step , newNext - result [ next ] ] ) . concat ( endZeros ) ; } else { var newThis = Math . max ( min , result [ index ] + step ) ; var diffx = result [ index ] - newThis ; deltas = startZeros . concat ( [ newThis - result [ index ] , diffx ] ) . concat ( endZeros ) ; } return deltas ; } function onRight ( previous , index ) { var startZeros = generateZeros ( result . slice ( 0 , index ) ) ; var deltas ; if ( step >= 0 ) { deltas = startZeros . concat ( [ step ] ) ; } else { var size = Math . max ( min , result [ index ] + step ) ; deltas = startZeros . concat ( [ size - result [ index ] ] ) ; } return deltas ; } var deltas ; if ( sizes . length === 0 ) { // No Columns deltas = [ ] ; } else if ( sizes . length === 1 ) { // One Column deltas = onOneColumn ( ) ; } else if ( column === 0 ) { // Left Column deltas = onLeftOrMiddle ( 0 , 1 ) ; } else if ( column > 0 && column < sizes . length - 1 ) { // Middle Column deltas = onLeftOrMiddle ( column , column + 1 ) ; } else if ( column === sizes . length - 1 ) { // Right Column deltas = onRight ( column - 1 , column ) ; } else { deltas = [ ] ; } return deltas ; }
Determine how much each column's css width will need to change. Sizes = result = pixels widths OR percentage based widths
Determine how much each column s css width will need to change . Sizes = result = pixels widths OR percentage based widths