1jQuery(function () { 2 3 /** 4 * admin interface: autocomplete users 5 */ 6 function adminAutocomplete($form) { 7 8 $form.find('input') 9 .autocomplete({ 10 source: function (request, response) { 11 jQuery.getJSON(DOKU_BASE + 'lib/exe/ajax.php?call=plugin_acknowledge_autocomplete', { 12 user: request.term, 13 sectok: $form.find('input[name="sectok"]').val() 14 }, response); 15 }, 16 minLength: 1 17 }); 18 } 19 20 const $form = jQuery('.dokuwiki.mode_admin div.plugin_acknowledgement_admin form#acknowledge__user-autocomplete'); 21 if ($form.length) { 22 adminAutocomplete($form); 23 } 24 25 /* 26 * Handle assignments 27 */ 28 29 let $aContainer = jQuery('.plugin-acknowledge-assign'); 30 31 // if no container is found, create one in the last section 32 if ($aContainer.length === 0) { 33 const section = jQuery('.dokuwiki.mode_show') 34 .find('div.level1, div.level2, div.level3, div.level4, div.level5') 35 .filter(function (idx, el) { 36 return jQuery(el).parents('ul, ol, aside, nav, footer, header').length === 0; 37 }) 38 .last(); 39 if (section.length === 0) { 40 return; 41 } 42 $aContainer = jQuery('<div class="plugin-acknowledge-banner"></div>'); 43 section.append($aContainer); 44 } 45 46 $aContainer.on('submit', function (event) { 47 event.preventDefault(); 48 const $form = jQuery(event.target), 49 ack = $form.find("input[name='ack']")[0]; 50 51 $aContainer.load( 52 DOKU_BASE + "lib/exe/ajax.php", 53 { 54 call: "plugin_acknowledge_acknowledge", 55 id: JSINFO.id, 56 ack: ack.checked === true ? 1 : 0 57 } 58 ); 59 }); 60 $aContainer.load( 61 DOKU_BASE + 'lib/exe/ajax.php', 62 { 63 call: 'plugin_acknowledge_acknowledge', 64 id: JSINFO.id 65 }, 66 response => { 67 // remove container if no data to show 68 if (response === '') { 69 $aContainer.remove(); 70 } 71 } 72 ); 73}); 74