In an effort to better understand how Web AppBuilder works, I'm going through the samples provided under the Sample Code tab of Web AppBuilder for ArcGIS (Developer Edition). I'm working through Create a new controller widget, but I'm getting the following error when I reach step 5e: error:TypeError: this.createIconNode is not a function. Below is my code for the SidebarController\Widget.js. Any help would be appreciated. Thank you. William
define([
'dojo/_base/declare',
'jimu/PoolControllerMixin',
'jimu/BaseWidget'
], function(
declare,
PoolControllerMixin,
BaseWidget
) {
//To create a widget, you need to derive from BaseWidget.
return declare([BaseWidget, PoolControllerMixin], {
// DemoWidget code goes here
//please note that this property is be set by the framework when widget is loaded.
//templateString: template,
baseClass: 'jimu-widget-sidebar-controller jimu-main-background',
allConfigs: [],
postCreate: function() {
this.inherited(arguments);
console.log('postCreate');
this.allConfigs = this.getAllConfigs();
for(var i = 0; i < this.allConfigs.length; i++) {
this._createIconNode(this.allConfigs);
}
},
startup: function() {
this.inherited(arguments);
console.log('startup');
},
_createIconNode: function(iconConfig, targetNode) {
var iconNode, iconImage;
if(!targetNode) targetNode = this.containerNode;
iconNode = document.createElement('DIV');
iconNode.className = 'icon-node';
if(iconConfig.icon) {
iconImage = document.createElement('img');
iconImage.src = iconConfig.icon;
}
if(iconConfig.label) {
iconNode.title = iconConfig.label;
iconImage.alt = iconConfig.label;
}
iconNode.appendChild(iconImage);
targetNode.appendChild(iconNode);
return iconNode;
}
});
});