Files
stf-DeviceFarmer-1/res/app/device-list/empty/device-list-empty-directive.js
2014-09-18 20:27:37 +09:00

36 lines
848 B
JavaScript

module.exports = function DeviceListEmptyDirective() {
return {
restrict: 'E'
, template: require('./device-list-empty.jade')
, scope: {
tracker: '&tracker'
}
, link: function (scope) {
var tracker = scope.tracker()
scope.empty = !tracker.devices.length
function update() {
var oldEmpty = scope.empty
, newEmpty = !tracker.devices.length
if (oldEmpty !== newEmpty) {
scope.$apply(function() {
scope.empty = newEmpty
})
}
}
tracker.on('add', update)
tracker.on('change', update)
tracker.on('remove', update)
scope.$on('$destroy', function() {
tracker.removeListener('add', update)
tracker.removeListener('change', update)
tracker.removeListener('remove', update)
})
}
}
}