1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
(() => {
const global = window.gl || (window.gl = {});
const GroupsDroplab = {
init(trigger, list, input) {
if (!trigger || !list) return;
const droplab = new DropLab();
droplab.addHook(trigger, list, [
droplabRemoteFilter,
droplabInfiniteScroll,
droplabAjax,
droplabInputSetter,
], {
droplabAjax: {
endpoint: Api.buildUrl(Api.groupsPath),
method: 'setData',
params: {
per_page: 10,
page: 1,
skip_groups: document.querySelector('#groups-droplab').dataset.skip_groups,
},
deferRequest: true,
loadingTemplate: `<i class="fa fa-spinner fa-spin"></i>`,
},
droplabRemoteFilter: {
searchKey: 'search',
},
droplabInfiniteScroll: {
paginationKey: 'page',
},
droplabInputSetter: [{
input,
valueAttribute: 'data-id',
}, {
valueAttribute: 'data-name',
}],
});
}
};
global.GroupsDroplab = GroupsDroplab;
})();
|