dizquetv/web/directives/flex-config.js
2020-10-03 10:09:36 -04:00

47 lines
1.5 KiB
JavaScript

module.exports = function ($timeout, dizquetv) {
return {
restrict: 'E',
templateUrl: 'templates/flex-config.html',
replace: true,
scope: {
title: "@offlineTitle",
program: "=program",
visible: "=visible",
onDone: "=onDone"
},
link: function (scope, element, attrs) {
let updateNext = true;
scope.$watch('program', () => {
try {
if ( (typeof(scope.program) === 'undefined') || (scope.program == null) ) {
updateNext = true;
return;
} else if (! updateNext) {
return;
}
updateNext = false;
scope.error = null;
} catch (err) {
console.error(err);
}
})
scope.finished = (prog) => {
scope.error = null;
if (isNaN(prog.durationSeconds) || prog.durationSeconds < 0 ) {
scope.error = { duration: 'Duration must be a positive integer' }
}
if (scope.error != null) {
$timeout(() => {
scope.error = null
}, 30000)
return
}
scope.onDone(JSON.parse(angular.toJson(prog)))
scope.program = null
}
}
};
}