docs: function getTable(table, options) {
  
        if (table.isPanel) {
          table = table.getView();
        }
  
        var isVisible = table.isVisible(true);
  
        function getDefOpts() {
          return {
            throwIfInvisible: false,
            rowRange: {
              start: 0,
              stop: 1e9
            }
          };
        }
  
        options = tiaEJ.ctMisc.checkVisibilityAndFillOptions(isVisible, options, getDefOpts);
  
        var origCols = this.getCols(table);
        var origColHeaderInfo = this.getColHeaderInfos(table);
  
        var cols = [];
        var colHeaderInfos = [];
  
        if (options.includeColumns) {
          options.includeColumns.forEach(function (indexOfColumn) {
            cols.push(origCols[indexOfColumn]);
            colHeaderInfos.push(origColHeaderInfo[indexOfColumn]);
          });
        } else {
          cols = origCols;
          colHeaderInfos = origColHeaderInfo;
        }
  
        var arr = [];
        var title = tiaEJ.convertTextToFirstLocKey(this.getParentTitle(table));
  
        // tiaEJ.ctMisc.fillDebugInfo(table, arr);
  
        arr.push(tia.cC.content.title + title);
        arr.push(tia.cC.content.getVisibility(isVisible));
        arr.push(tia.cC.content.header + colHeaderInfos.join(tia.cC.content.colSep));
  
        var rowIndex = options.rowRange.start;
        var row;
        while ((row = table.getRow(rowIndex)) && rowIndex <= options.rowRange.stop) {
  
          var textsArr = [];
  
          var record = table.getRecord(row);
          var id = record.get('id');
  
          cols.forEach(function (extCol, index) {
            var sel = table.getCellSelector(extCol);
            var domCol = row.querySelector(sel);
  
            var images = domCol.querySelectorAll('img');
            var imgSrcs = '';
            if (images.length) {
              images = Array.from(images);
              imgSrcs = images.map(function(img) {
                // TODO: Replace to user readable image description.
                // Especially for base64 strings.
                return img.src;
              });
              imgSrcs = ' Image sources: ' + imgSrcs.join(',');
            }
  
            var textContent = tiaEJ.convertTextToFirstLocKey(domCol.textContent);
            if (textContent === extCol.emptyCellText) {
              textContent = ''; // <emptyCellText>
            }
  
            if (extCol.getConfig('xtype') === 'actioncolumn') {
  
              var actArr = [
                '\n------',
                'Actions info: '
              ];
  
              var actInner = domCol.querySelector(tiaEJ.ctSelectors.cellInnerAction);
              if (actInner) {
                var icons = actInner.querySelectorAll(tiaEJ.ctSelectors.actionColIcon);
                for (var i = 0, len = icons.length; i < len; i++) {
                  var icon = icons[i];
                  var style = icon.getAttribute('style');
                  var displayNone = Boolean(style.match(/display\s*:\s*none/));
                  if (!displayNone) {
  
                    var classValue = icon.getAttribute('class');
                    var classValueArr = classValue.split(/\s+/);
                    classValueArr = classValueArr.filter(function (el) {
                      if (el.indexOf('x-action-col') === -1) {
                        return true;
                      }
                      return false;
                    });
                    var iconInfoStr = 'Tag: ' + icon.nodeName + ', ' + tiaEJ.ctMisc.getSelectedAttributes(icon, [
                        'role',
                        // 'src',
                        'title',
                        'alt',
                        tia.cC.content.qTipAttr
                      ]);
  
                    iconInfoStr += ', classes: ' + classValueArr.join(' ');
                    actArr.push(iconInfoStr);
                  }
                }
              }
              actArr.push('------');
              textContent += actArr.join('\n');
            }
            textsArr.push(textContent + imgSrcs);
          });
  
          var idSuffix = '';
  
          // if (id) {
          //   idSuffix = ' (id: ' + id + ')';
          // }
  
          if (textsArr.length) {
            arr.push(textsArr.join(tia.cC.content.colSep) + idSuffix);
          }
  
          var rowBody = tiaEJ.ctMisc.getRowBody(row, true);
          if (rowBody) {
            arr.push(rowBody);
          }
          rowIndex++;
        }
  
        if (arr.length === 0) {
          return null;
        } else {
          return tia.cC.content.wrap('Table content: \n' + arr.join('\n') + '\n');
        }
      }