in frontend/src/directives/DeleteEmpty.es6 [2:23]
export default () => {
return {
restrict: 'A',
link: (scope, elem, attrs) => {
let parts = attrs.ngModel.split('.');
let variable = parts.pop();
let container = parts.join('.');
scope.$watch(attrs.ngModel, (n) => {
if (!n) {
let c = scope.$eval(container);
if (c) {
delete c[variable];
scope.$eval(container + ' = b', {b: c});
}
} else {
scope.$eval(container + '[key] = n', {key: variable, n: n});
}
setTimeout(() => scope.$apply, 0);
});
}
};
}