1const dkToggleClass = (el, classname) => { 2 if (el.classList.contains(classname)) { 3 el.classList.remove(classname); 4 return true; 5 } 6 if (!el.classList.contains(classname)) { 7 el.classList.add(classname); 8 return true; 9 } 10}; 11 12const dkSlideUp = (el, time, removeClass, additionalConfig) => { 13 time = time || 500; 14 removeClass = removeClass || null; 15 let height = el.scrollHeight; 16 if (!el.moving) { 17 el.moving = true; 18 el.style.transition = 'height ' + time / 1000 + 's'; 19 el.style.height = height + 'px'; 20 el.style.overflow = 'hidden'; 21 setTimeout(function() { 22 el.style.height = '0'; 23 }, 30); 24 setTimeout(function() { 25 el.style.transition = ''; 26 el.style.display = 'none'; 27 el.style.overflow = ''; 28 el.style.height = ''; 29 el.classList.remove(removeClass); 30 el.moving = false; 31 }, time + 50); 32 } 33 34 if (additionalConfig && additionalConfig.classToggleElement && additionalConfig.classToggle) { 35 additionalConfig.classToggleElement.classList.remove(additionalConfig.classToggle); 36 } 37 38}; 39 40const dkSlideDown = (el, time, addClass, additionalConfig) => { 41 time = time || 500; 42 addClass = addClass || null; 43 if (!el.moving) { 44 el.moving = true; 45 if (el.style.display === 'none') { 46 el.style.display = 'block'; 47 let height = el.scrollHeight; 48 el.style.height = '0'; 49 el.style.overflow = 'hidden'; 50 el.style.transition = 'height ' + time / 1000 + 's'; 51 setTimeout(function() { 52 el.style.height = height + 'px'; 53 }, 30); 54 setTimeout(function() { 55 el.style.display = ''; 56 el.style.height = ''; 57 el.style.overflow = ''; 58 el.style.transition = ''; 59 el.classList.add(addClass); 60 el.moving = false; 61 }, time + 50); 62 } else { 63 el.moving = false; 64 } 65 } 66 if (additionalConfig && additionalConfig.classToggleElement && additionalConfig.classToggle) { 67 additionalConfig.classToggleElement.classList.add(additionalConfig.classToggle); 68 } 69}; 70 71const dkSlideToggle = (el, time, additionalConfig) => { 72 time = time || 500; 73 additionalConfig = additionalConfig || {}; 74 let state = null 75 76 if (!el.moving) { 77 if (el.style.display === 'none') { 78 state = true 79 dkSlideDown(el, time, additionalConfig.classToggle, null); 80 } else { 81 state = false 82 dkSlideUp(el, time, additionalConfig.classToggle, null); 83 } 84 85 if (additionalConfig && additionalConfig.classToggleElement && additionalConfig.classToggle) { 86 dkToggleClass(additionalConfig.classToggleElement, additionalConfig.classToggle); 87 } 88 return state 89 } 90};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.