PageSourceSearch

https://devdocs.io/assets/views/list/list_fold-c6faf633ea3c9b7a8d5…f5b295d4d80a1144192812851508bdcbbb4c2b20.js

js devdocs.io collected 2026-09-24 08:31:27 UTC 1,564 bytes, 1 lines download raw bytes

1import{$}from"../../lib/util.js";import{ListFocus}from"./list_focus.js";import{ListSelect}from"./list_select.js";import{View}from"../view.js";export class ListFold extends View{static targetClass="_list-dir";static handleClass="_list-arrow";static activeClass="open";static events={click:"onClick"};static shortcuts={left:"onLeft",right:"onRight"};open(s){s&&!s.classList.contains(this.statics().activeClass)&&(s.classList.add(this.statics().activeClass),$.trigger(s,"open"))}close(s){s&&s.classList.contains(this.statics().activeClass)&&(s.classList.remove(this.statics().activeClass),$.trigger(s,"close"))}toggle(s){s.classList.contains(this.statics().activeClass)?this.close(s):this.open(s)}reset(){let s;for(;s=this.findByClass(this.statics().activeClass);)this.close(s)}getCursor(){return this.findByClass(ListFocus.activeClass)||this.findByClass(ListSelect.activeClass)}onLeft(){const s=this.getCursor();s?.classList?.contains(this.statics().activeClass)&&this.close(s)}onRight(){const s=this.getCursor();(null!=s?s.classList.contains(this.statics().targetClass):void 0)&&this.open(s)}onClick(s){if(1!==s.which||s.metaKey||s.ctrlKey)return;if(!s.pageY)return;let t=$.eventTarget(s);"SVG"===t.parentElement?.tagName.toUpperCase()&&(t=t.parentElement),t.classList.contains(this.statics().handleClass)?($.stopEvent(s),this.toggle(t.parentElement)):t.classList.contains(this.statics().targetClass)&&(t.hasAttribute("href")?t.classList.contains(this.statics().activeClass)?t.classList.contains(ListSelect.activeClass)&&this.close(t):this.open(t):this.toggle(t))}}

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.