55 lines
1.5 KiB
JavaScript
55 lines
1.5 KiB
JavaScript
import ngModule from '../module';
|
|
|
|
class Controller {
|
|
constructor($scope, $stateParams) {
|
|
this.$scope = $scope;
|
|
this.$stateParams = $stateParams;
|
|
this.filter = {
|
|
include: [{
|
|
relation: 'user',
|
|
scope: {
|
|
fields: ['name'],
|
|
},
|
|
}],
|
|
};
|
|
}
|
|
|
|
get logs() {
|
|
return this._logs;
|
|
}
|
|
|
|
set logs(value) {
|
|
this._logs = value;
|
|
|
|
if (this.logs) {
|
|
this.logs.forEach(log => {
|
|
log.oldProperties = this.getInstance(log.oldInstance);
|
|
log.newProperties = this.getInstance(log.newInstance);
|
|
});
|
|
}
|
|
}
|
|
|
|
getInstance(instance) {
|
|
const properties = [];
|
|
let validDate = /^(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(.[0-9]+)?(Z)?$/;
|
|
|
|
if (typeof instance == 'object' && instance != null) {
|
|
Object.keys(instance).forEach(property => {
|
|
if (validDate.test(instance[property]))
|
|
instance[property] = new Date(instance[property]).toLocaleString('es-ES');
|
|
|
|
properties.push({key: property, value: instance[property]});
|
|
});
|
|
return properties;
|
|
}
|
|
return null;
|
|
}
|
|
}
|
|
|
|
Controller.$inject = ['$scope', '$stateParams'];
|
|
|
|
ngModule.component('vnTicketLog', {
|
|
template: require('./index.html'),
|
|
controller: Controller,
|
|
});
|