ok, @MattFox... I feel like a post (as in dumb as one). Can you refresh me again as to how to now break out (and where to declare) the component's controller in its own file?
userModule.js
define(['angular', 'require','./push/pushLamp.js'],
function (angular, require, pushLamp) {
var userModule = angular.module('userModule', ['maUiApp']);
userModule.filter('unsafe', ['$sce', function($sce) {
return $sce.trustAsHtml;
}]);
try
{
userModule.component('pushLamp',pushLamp);
}
catch(e)
{
console.log('error: ', e);
}
return userModule.js;
});
pushLamp.js:
define(['angular', 'require'], function (angular, require) {
pushCtrl.$inject = ['$scope','$timeout'];
function pushCtrl($scope,$timeout) {
const $ctrl = this;
$ctrl.$onChanges = function (changes) {
if (changes.points && Array.isArray($ctrl.points)) {
$ctrl.point = $ctrl.points.find(p => p.xid === 'DP_ind_' + $ctrl.target);
$ctrl.switchPoint = $ctrl.points.find(p => p.xid === 'DP_sw_' + $ctrl.target);
$ctrl.ptCSS = { // point css values for color and blink; ex, ng-class=""
get color(){
if ($ctrl.point.color < 10) {
return 0;
}
return Math.floor($ctrl.point.value / 10)},
get blink(){return 'blink' + $ctrl.point.value % 10},
get colStyle(){return 'color'+this.color}
};
$timeout(function() {
console.log('color:', $ctrl.ptCSS.colStyle, 'blink:', $ctrl.ptCSS.blink );
},1000);
}
};
$ctrl.pushed = function() {
console.log($ctrl.switchPoint.value);
if ($ctrl.switchPoint) {
$ctrl.switchPoint.toggleValue();
console.log('switch ' + $ctrl.target + ' was switched.' );
}
};
}
return {
templateUrl: '/modules/mangoUI/web/dev/push/push.html',
bindings: {
points: '<',
target: '@'
},
controller: pushCtrl
};
});