| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- // TODO: This file was created by bulk-decaffeinate.
- // Sanity-check the conversion and remove this comment.
- /*
- * decaffeinate suggestions:
- * DS002: Fix invalid constructor
- * DS102: Remove unnecessary code created because of implicit returns
- * DS206: Consider reworking classes to avoid initClass
- * Full docs: https://github.com/decaffeinate/decaffeinate/blob/main/docs/suggestions.md
- */
- (function() {
- let MIN = undefined;
- let MAX = undefined;
- const Cls = (app.views.Resizer = class Resizer extends app.View {
- constructor(...args) {
- this.onDragStart = this.onDragStart.bind(this);
- this.onDrag = this.onDrag.bind(this);
- this.onDragEnd = this.onDragEnd.bind(this);
- super(...args);
- }
- static initClass() {
- this.className = '_resizer';
-
- this.events = {
- dragstart: 'onDragStart',
- dragend: 'onDragEnd'
- };
-
- MIN = 260;
- MAX = 600;
- }
- static isSupported() {
- return 'ondragstart' in document.createElement('div') && !app.isMobile();
- }
- init() {
- this.el.setAttribute('draggable', 'true');
- this.appendTo($('._app'));
- }
- resize(value, save) {
- value -= app.el.offsetLeft;
- if (!(value > 0)) { return; }
- value = Math.min(Math.max(Math.round(value), MIN), MAX);
- const newSize = `${value}px`;
- document.documentElement.style.setProperty('--sidebarWidth', newSize);
- if (save) { app.settings.setSize(value); }
- }
- onDragStart(event) {
- event.dataTransfer.effectAllowed = 'link';
- event.dataTransfer.setData('Text', '');
- $.on(window, 'dragover', this.onDrag);
- }
- onDrag(event) {
- const value = event.pageX;
- if (!(value > 0)) { return; }
- this.lastDragValue = value;
- if (this.lastDrag && (this.lastDrag > (Date.now() - 50))) { return; }
- this.lastDrag = Date.now();
- this.resize(value, false);
- }
- onDragEnd(event) {
- $.off(window, 'dragover', this.onDrag);
- let value = event.pageX || (event.screenX - window.screenX);
- if (this.lastDragValue && !(this.lastDragValue - 5 < value && value < this.lastDragValue + 5)) { // https://github.com/freeCodeCamp/devdocs/issues/265
- value = this.lastDragValue;
- }
- this.resize(value, true);
- }
- });
- Cls.initClass();
- return Cls;
- })();
|