76 lines
2.1 KiB
JavaScript
76 lines
2.1 KiB
JavaScript
import ngModule from '../module';
|
|
import Section from 'salix/components/section';
|
|
import './style.scss';
|
|
|
|
export default class Controller extends Section {
|
|
constructor($element, $) {
|
|
super($element, $);
|
|
this.actionsText = {
|
|
'insert': 'Creates',
|
|
'update': 'Updates',
|
|
'delete': 'Deletes',
|
|
'select': 'Views'
|
|
};
|
|
this.filter = {
|
|
include: [{
|
|
relation: 'user',
|
|
scope: {
|
|
fields: ['name'],
|
|
include: {
|
|
relation: 'worker',
|
|
scope: {
|
|
fields: ['id']
|
|
}
|
|
}
|
|
},
|
|
}],
|
|
};
|
|
}
|
|
|
|
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;
|
|
}
|
|
|
|
showWorkerDescriptor(event, workerId) {
|
|
if (!workerId) return;
|
|
this.$.workerDescriptor.show(event.target, workerId);
|
|
}
|
|
}
|
|
|
|
ngModule.component('vnLog', {
|
|
controller: Controller,
|
|
template: require('./index.html'),
|
|
bindings: {
|
|
model: '<',
|
|
originId: '<',
|
|
url: '@'
|
|
}
|
|
});
|