salix/front/core/components/worker-autocomplete/index.js

39 lines
1.1 KiB
JavaScript
Raw Normal View History

import ngModule from '../../module';
import Autocomplete from '../autocomplete';
export default class WorkerAutocomplete extends Autocomplete {
constructor(...args) {
super(...args);
}
$onInit() {
let url = 'Workers/search';
if (this.departments) {
const parameter = encodeURIComponent(JSON.stringify(this.departments));
url = `Workers/search?departmentCodes=${parameter}`;
}
Object.assign(this, {
label: 'Worker',
url: url,
2023-06-08 11:12:30 +00:00
searchFunction: function({$search}) {
return {and: [
{'u.active': {neq: false}},
{or: [
{'u.name': $search},
{'u.nickname': {like: '%' + $search + '%'}},
{'w.code': {like: $search + '%'}}
]}
]};
},
});
}
}
ngModule.vnComponent('vnWorkerAutocomplete', {
slotTemplate: require('./index.html'),
controller: WorkerAutocomplete,
bindings: {
departments: '<?'
},
});