(cm)
| 171 | export let scrollbarModel = {"native": NativeScrollbars, "null": NullScrollbars} |
| 172 | |
| 173 | export function initScrollbars(cm) { |
| 174 | if (cm.display.scrollbars) { |
| 175 | cm.display.scrollbars.clear() |
| 176 | if (cm.display.scrollbars.addClass) |
| 177 | rmClass(cm.display.wrapper, cm.display.scrollbars.addClass) |
| 178 | } |
| 179 | |
| 180 | cm.display.scrollbars = new scrollbarModel[cm.options.scrollbarStyle](node => { |
| 181 | cm.display.wrapper.insertBefore(node, cm.display.scrollbarFiller) |
| 182 | // Prevent clicks in the scrollbars from killing focus |
| 183 | on(node, "mousedown", () => { |
| 184 | if (cm.state.focused) setTimeout(() => cm.display.input.focus(), 0) |
| 185 | }) |
| 186 | node.setAttribute("cm-not-content", "true") |
| 187 | }, (pos, axis) => { |
| 188 | if (axis == "horizontal") setScrollLeft(cm, pos) |
| 189 | else updateScrollTop(cm, pos) |
| 190 | }, cm) |
| 191 | if (cm.display.scrollbars.addClass) |
| 192 | addClass(cm.display.wrapper, cm.display.scrollbars.addClass) |
| 193 | } |
no test coverage detected