Found a bug I think.. when not using Angular Material, the device name list directive wasn't working. The optionsExpr when using <select> seems to need a different input.. adding 'deviceName for' in the optionsExpr seemed to fix it. I added another variable for the material design below..
template: function(element, attrs) {
var optionsExprmd = 'deviceName in deviceNames track by $index';
var optionsExpr = 'deviceName for deviceName in deviceNames track by $index';
if ($injector.has('$mdUtil')) {
return '<md-select md-on-open="onOpen()"><md-option ng-value="deviceName" ng-repeat="' + optionsExprmd + '" ng-bind="deviceName"></md-option></md-select>';
}
return '<select ng-options="' + optionsExpr + '"></select>';