Thank you Robert! Definitely got me closer. However, I am not sure how to change which URL it goes do (please bear with me, I am still new to WAB JS).
As it stands I can't seem to get the layer's name string value - I could make a small html Description/metadata website for each layer if I could just get the layer's name value and pop the websites in the ...apps/[app #]/ folder.
Here is the code I have put in the _getATagLabel function:
_getATagLabel: function() {
var url;
var label;
var itemLayerId = this._layerInfo._isItemLayer && this._layerInfo._isItemLayer();
/*if (itemLayerId) {
url = portalUrlUtils.getItemDetailsPageUrl(
portalUrlUtils.getStandardPortalUrl(this.layerListWidget.appConfig.portalUrl),
itemLayerId);
label = this.nls.itemShowItemDetails;
} else if (this._layerInfo.layerObject &&
this._layerInfo.layerObject.url &&
(this._layerType === "CSVLayer" || this._layerType === "KMLLayer")) {
url = this._layerInfo.layerObject.url;
label = this.nls.itemDownload;
} else if (this._layerInfo.layerObject && this._layerInfo.layerObject.url) {
url = this._layerInfo.layerObject.url;
label = this.nls.itemDesc;
} else {
url = '';
label = this.nls.itemDesc;
} */ MV removed
url = ((this._layerInfo.layerObject.layerId) + '.com'); //MV added - returns 'undefined.com'
label = this.nls.itemDesc; //MV added
return '<a class="menu-item-description" target="_blank" href="' +
url + '">' + label + '</a>';
},