docs: function (flowOrientation, numberOfRows, numberOfCols, noItems) {
              var numItemsLastCol;
  
              if (flowOrientation == 'vertical') {
  
                  if (!numberOfRows) {
                      if (numberOfCols) {
                          numberOfRows = Math.ceil(noItems / numberOfCols);
                          // Now make sure the number of cols they've passed is correct
                          numberOfCols = Math.ceil(noItems / numberOfRows);
                      } else {
                          numberOfCols = 1;
                          numberOfRows = noItems;
                      }
                  } else {
                      numberOfCols = Math.ceil(noItems / numberOfRows);
                      numItemsLastCol = noItems % numberOfRows;
  
                  }
              } else if (flowOrientation == 'horizontal') {
                  if (!numberOfCols) {
                      if (numberOfRows) {
                          numberOfCols = Math.ceil(noItems / numberOfRows);
                          // Now make sure the number of rows they've passed is correct
                          numberOfRows = Math.ceil(noItems / numberOfCols);
                      } else {
                          numberOfRows = 1;
                          numberOfCols = noItems;
                      }
                  } else {
                      numberOfRows = Math.ceil(noItems / numberOfCols);
                  }
              }
  
              this.json.setValue(this._data, "numberOfRows", numberOfRows);
              this.json.setValue(this._data, "numberOfColumns", numberOfCols);
          }