Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/clone/wp-conte.../plugins/embedpre.../assets/pdf/web
File: viewer.js
this.eventBus._on("toggleoutlinetree", this._toggleAllTreeItems.bind(this));
[10000] Fix | Delete
this.eventBus._on("currentoutlineitem", this._currentOutlineItem.bind(this));
[10001] Fix | Delete
this.eventBus._on("pagechanging", evt => {
[10002] Fix | Delete
this._currentPageNumber = evt.pageNumber;
[10003] Fix | Delete
});
[10004] Fix | Delete
this.eventBus._on("pagesloaded", evt => {
[10005] Fix | Delete
this._isPagesLoaded = !!evt.pagesCount;
[10006] Fix | Delete
this._currentOutlineItemCapability?.resolve(this._isPagesLoaded);
[10007] Fix | Delete
});
[10008] Fix | Delete
this.eventBus._on("sidebarviewchanged", evt => {
[10009] Fix | Delete
this._sidebarView = evt.view;
[10010] Fix | Delete
});
[10011] Fix | Delete
}
[10012] Fix | Delete
reset() {
[10013] Fix | Delete
super.reset();
[10014] Fix | Delete
this._outline = null;
[10015] Fix | Delete
this._pageNumberToDestHashCapability = null;
[10016] Fix | Delete
this._currentPageNumber = 1;
[10017] Fix | Delete
this._isPagesLoaded = null;
[10018] Fix | Delete
this._currentOutlineItemCapability?.resolve(false);
[10019] Fix | Delete
this._currentOutlineItemCapability = null;
[10020] Fix | Delete
}
[10021] Fix | Delete
_dispatchEvent(outlineCount) {
[10022] Fix | Delete
this._currentOutlineItemCapability = Promise.withResolvers();
[10023] Fix | Delete
if (outlineCount === 0 || this._pdfDocument?.loadingParams.disableAutoFetch) {
[10024] Fix | Delete
this._currentOutlineItemCapability.resolve(false);
[10025] Fix | Delete
} else if (this._isPagesLoaded !== null) {
[10026] Fix | Delete
this._currentOutlineItemCapability.resolve(this._isPagesLoaded);
[10027] Fix | Delete
}
[10028] Fix | Delete
this.eventBus.dispatch("outlineloaded", {
[10029] Fix | Delete
source: this,
[10030] Fix | Delete
outlineCount,
[10031] Fix | Delete
currentOutlineItemPromise: this._currentOutlineItemCapability.promise
[10032] Fix | Delete
});
[10033] Fix | Delete
}
[10034] Fix | Delete
_bindLink(element, {
[10035] Fix | Delete
url,
[10036] Fix | Delete
newWindow,
[10037] Fix | Delete
action,
[10038] Fix | Delete
attachment,
[10039] Fix | Delete
dest,
[10040] Fix | Delete
setOCGState
[10041] Fix | Delete
}) {
[10042] Fix | Delete
const {
[10043] Fix | Delete
linkService
[10044] Fix | Delete
} = this;
[10045] Fix | Delete
if (url) {
[10046] Fix | Delete
linkService.addLinkAttributes(element, url, newWindow);
[10047] Fix | Delete
return;
[10048] Fix | Delete
}
[10049] Fix | Delete
if (action) {
[10050] Fix | Delete
element.href = linkService.getAnchorUrl("");
[10051] Fix | Delete
element.onclick = () => {
[10052] Fix | Delete
linkService.executeNamedAction(action);
[10053] Fix | Delete
return false;
[10054] Fix | Delete
};
[10055] Fix | Delete
return;
[10056] Fix | Delete
}
[10057] Fix | Delete
if (attachment) {
[10058] Fix | Delete
element.href = linkService.getAnchorUrl("");
[10059] Fix | Delete
element.onclick = () => {
[10060] Fix | Delete
this.downloadManager.openOrDownloadData(attachment.content, attachment.filename);
[10061] Fix | Delete
return false;
[10062] Fix | Delete
};
[10063] Fix | Delete
return;
[10064] Fix | Delete
}
[10065] Fix | Delete
if (setOCGState) {
[10066] Fix | Delete
element.href = linkService.getAnchorUrl("");
[10067] Fix | Delete
element.onclick = () => {
[10068] Fix | Delete
linkService.executeSetOCGState(setOCGState);
[10069] Fix | Delete
return false;
[10070] Fix | Delete
};
[10071] Fix | Delete
return;
[10072] Fix | Delete
}
[10073] Fix | Delete
element.href = linkService.getDestinationHash(dest);
[10074] Fix | Delete
element.onclick = evt => {
[10075] Fix | Delete
this._updateCurrentTreeItem(evt.target.parentNode);
[10076] Fix | Delete
if (dest) {
[10077] Fix | Delete
linkService.goToDestination(dest);
[10078] Fix | Delete
}
[10079] Fix | Delete
return false;
[10080] Fix | Delete
};
[10081] Fix | Delete
}
[10082] Fix | Delete
_setStyles(element, {
[10083] Fix | Delete
bold,
[10084] Fix | Delete
italic
[10085] Fix | Delete
}) {
[10086] Fix | Delete
if (bold) {
[10087] Fix | Delete
element.style.fontWeight = "bold";
[10088] Fix | Delete
}
[10089] Fix | Delete
if (italic) {
[10090] Fix | Delete
element.style.fontStyle = "italic";
[10091] Fix | Delete
}
[10092] Fix | Delete
}
[10093] Fix | Delete
_addToggleButton(div, {
[10094] Fix | Delete
count,
[10095] Fix | Delete
items
[10096] Fix | Delete
}) {
[10097] Fix | Delete
let hidden = false;
[10098] Fix | Delete
if (count < 0) {
[10099] Fix | Delete
let totalCount = items.length;
[10100] Fix | Delete
if (totalCount > 0) {
[10101] Fix | Delete
const queue = [...items];
[10102] Fix | Delete
while (queue.length > 0) {
[10103] Fix | Delete
const {
[10104] Fix | Delete
count: nestedCount,
[10105] Fix | Delete
items: nestedItems
[10106] Fix | Delete
} = queue.shift();
[10107] Fix | Delete
if (nestedCount > 0 && nestedItems.length > 0) {
[10108] Fix | Delete
totalCount += nestedItems.length;
[10109] Fix | Delete
queue.push(...nestedItems);
[10110] Fix | Delete
}
[10111] Fix | Delete
}
[10112] Fix | Delete
}
[10113] Fix | Delete
if (Math.abs(count) === totalCount) {
[10114] Fix | Delete
hidden = true;
[10115] Fix | Delete
}
[10116] Fix | Delete
}
[10117] Fix | Delete
super._addToggleButton(div, hidden);
[10118] Fix | Delete
}
[10119] Fix | Delete
_toggleAllTreeItems() {
[10120] Fix | Delete
if (!this._outline) {
[10121] Fix | Delete
return;
[10122] Fix | Delete
}
[10123] Fix | Delete
super._toggleAllTreeItems();
[10124] Fix | Delete
}
[10125] Fix | Delete
render({
[10126] Fix | Delete
outline,
[10127] Fix | Delete
pdfDocument
[10128] Fix | Delete
}) {
[10129] Fix | Delete
if (this._outline) {
[10130] Fix | Delete
this.reset();
[10131] Fix | Delete
}
[10132] Fix | Delete
this._outline = outline || null;
[10133] Fix | Delete
this._pdfDocument = pdfDocument || null;
[10134] Fix | Delete
if (!outline) {
[10135] Fix | Delete
this._dispatchEvent(0);
[10136] Fix | Delete
return;
[10137] Fix | Delete
}
[10138] Fix | Delete
const fragment = document.createDocumentFragment();
[10139] Fix | Delete
const queue = [{
[10140] Fix | Delete
parent: fragment,
[10141] Fix | Delete
items: outline
[10142] Fix | Delete
}];
[10143] Fix | Delete
let outlineCount = 0,
[10144] Fix | Delete
hasAnyNesting = false;
[10145] Fix | Delete
while (queue.length > 0) {
[10146] Fix | Delete
const levelData = queue.shift();
[10147] Fix | Delete
for (const item of levelData.items) {
[10148] Fix | Delete
const div = document.createElement("div");
[10149] Fix | Delete
div.className = "treeItem";
[10150] Fix | Delete
const element = document.createElement("a");
[10151] Fix | Delete
this._bindLink(element, item);
[10152] Fix | Delete
this._setStyles(element, item);
[10153] Fix | Delete
element.textContent = this._normalizeTextContent(item.title);
[10154] Fix | Delete
div.append(element);
[10155] Fix | Delete
if (item.items.length > 0) {
[10156] Fix | Delete
hasAnyNesting = true;
[10157] Fix | Delete
this._addToggleButton(div, item);
[10158] Fix | Delete
const itemsDiv = document.createElement("div");
[10159] Fix | Delete
itemsDiv.className = "treeItems";
[10160] Fix | Delete
div.append(itemsDiv);
[10161] Fix | Delete
queue.push({
[10162] Fix | Delete
parent: itemsDiv,
[10163] Fix | Delete
items: item.items
[10164] Fix | Delete
});
[10165] Fix | Delete
}
[10166] Fix | Delete
levelData.parent.append(div);
[10167] Fix | Delete
outlineCount++;
[10168] Fix | Delete
}
[10169] Fix | Delete
}
[10170] Fix | Delete
this._finishRendering(fragment, outlineCount, hasAnyNesting);
[10171] Fix | Delete
}
[10172] Fix | Delete
async _currentOutlineItem() {
[10173] Fix | Delete
if (!this._isPagesLoaded) {
[10174] Fix | Delete
throw new Error("_currentOutlineItem: All pages have not been loaded.");
[10175] Fix | Delete
}
[10176] Fix | Delete
if (!this._outline || !this._pdfDocument) {
[10177] Fix | Delete
return;
[10178] Fix | Delete
}
[10179] Fix | Delete
const pageNumberToDestHash = await this._getPageNumberToDestHash(this._pdfDocument);
[10180] Fix | Delete
if (!pageNumberToDestHash) {
[10181] Fix | Delete
return;
[10182] Fix | Delete
}
[10183] Fix | Delete
this._updateCurrentTreeItem(null);
[10184] Fix | Delete
if (this._sidebarView !== SidebarView.OUTLINE) {
[10185] Fix | Delete
return;
[10186] Fix | Delete
}
[10187] Fix | Delete
for (let i = this._currentPageNumber; i > 0; i--) {
[10188] Fix | Delete
const destHash = pageNumberToDestHash.get(i);
[10189] Fix | Delete
if (!destHash) {
[10190] Fix | Delete
continue;
[10191] Fix | Delete
}
[10192] Fix | Delete
const linkElement = this.container.querySelector(`a[href="${destHash}"]`);
[10193] Fix | Delete
if (!linkElement) {
[10194] Fix | Delete
continue;
[10195] Fix | Delete
}
[10196] Fix | Delete
this._scrollToCurrentTreeItem(linkElement.parentNode);
[10197] Fix | Delete
break;
[10198] Fix | Delete
}
[10199] Fix | Delete
}
[10200] Fix | Delete
async _getPageNumberToDestHash(pdfDocument) {
[10201] Fix | Delete
if (this._pageNumberToDestHashCapability) {
[10202] Fix | Delete
return this._pageNumberToDestHashCapability.promise;
[10203] Fix | Delete
}
[10204] Fix | Delete
this._pageNumberToDestHashCapability = Promise.withResolvers();
[10205] Fix | Delete
const pageNumberToDestHash = new Map(),
[10206] Fix | Delete
pageNumberNesting = new Map();
[10207] Fix | Delete
const queue = [{
[10208] Fix | Delete
nesting: 0,
[10209] Fix | Delete
items: this._outline
[10210] Fix | Delete
}];
[10211] Fix | Delete
while (queue.length > 0) {
[10212] Fix | Delete
const levelData = queue.shift(),
[10213] Fix | Delete
currentNesting = levelData.nesting;
[10214] Fix | Delete
for (const {
[10215] Fix | Delete
dest,
[10216] Fix | Delete
items
[10217] Fix | Delete
} of levelData.items) {
[10218] Fix | Delete
let explicitDest, pageNumber;
[10219] Fix | Delete
if (typeof dest === "string") {
[10220] Fix | Delete
explicitDest = await pdfDocument.getDestination(dest);
[10221] Fix | Delete
if (pdfDocument !== this._pdfDocument) {
[10222] Fix | Delete
return null;
[10223] Fix | Delete
}
[10224] Fix | Delete
} else {
[10225] Fix | Delete
explicitDest = dest;
[10226] Fix | Delete
}
[10227] Fix | Delete
if (Array.isArray(explicitDest)) {
[10228] Fix | Delete
const [destRef] = explicitDest;
[10229] Fix | Delete
if (destRef && typeof destRef === "object") {
[10230] Fix | Delete
pageNumber = pdfDocument.cachedPageNumber(destRef);
[10231] Fix | Delete
} else if (Number.isInteger(destRef)) {
[10232] Fix | Delete
pageNumber = destRef + 1;
[10233] Fix | Delete
}
[10234] Fix | Delete
if (Number.isInteger(pageNumber) && (!pageNumberToDestHash.has(pageNumber) || currentNesting > pageNumberNesting.get(pageNumber))) {
[10235] Fix | Delete
const destHash = this.linkService.getDestinationHash(dest);
[10236] Fix | Delete
pageNumberToDestHash.set(pageNumber, destHash);
[10237] Fix | Delete
pageNumberNesting.set(pageNumber, currentNesting);
[10238] Fix | Delete
}
[10239] Fix | Delete
}
[10240] Fix | Delete
if (items.length > 0) {
[10241] Fix | Delete
queue.push({
[10242] Fix | Delete
nesting: currentNesting + 1,
[10243] Fix | Delete
items
[10244] Fix | Delete
});
[10245] Fix | Delete
}
[10246] Fix | Delete
}
[10247] Fix | Delete
}
[10248] Fix | Delete
this._pageNumberToDestHashCapability.resolve(pageNumberToDestHash.size > 0 ? pageNumberToDestHash : null);
[10249] Fix | Delete
return this._pageNumberToDestHashCapability.promise;
[10250] Fix | Delete
}
[10251] Fix | Delete
}
[10252] Fix | Delete
[10253] Fix | Delete
;// CONCATENATED MODULE: ./web/pdf_presentation_mode.js
[10254] Fix | Delete
[10255] Fix | Delete
[10256] Fix | Delete
const DELAY_BEFORE_HIDING_CONTROLS = 3000;
[10257] Fix | Delete
const ACTIVE_SELECTOR = "pdfPresentationMode";
[10258] Fix | Delete
const CONTROLS_SELECTOR = "pdfPresentationModeControls";
[10259] Fix | Delete
const MOUSE_SCROLL_COOLDOWN_TIME = 50;
[10260] Fix | Delete
const PAGE_SWITCH_THRESHOLD = 0.1;
[10261] Fix | Delete
const SWIPE_MIN_DISTANCE_THRESHOLD = 50;
[10262] Fix | Delete
const SWIPE_ANGLE_THRESHOLD = Math.PI / 6;
[10263] Fix | Delete
class PDFPresentationMode {
[10264] Fix | Delete
#state = PresentationModeState.UNKNOWN;
[10265] Fix | Delete
#args = null;
[10266] Fix | Delete
#fullscreenChangeAbortController = null;
[10267] Fix | Delete
#windowAbortController = null;
[10268] Fix | Delete
constructor({
[10269] Fix | Delete
container,
[10270] Fix | Delete
pdfViewer,
[10271] Fix | Delete
eventBus
[10272] Fix | Delete
}) {
[10273] Fix | Delete
this.container = container;
[10274] Fix | Delete
this.pdfViewer = pdfViewer;
[10275] Fix | Delete
this.eventBus = eventBus;
[10276] Fix | Delete
this.contextMenuOpen = false;
[10277] Fix | Delete
this.mouseScrollTimeStamp = 0;
[10278] Fix | Delete
this.mouseScrollDelta = 0;
[10279] Fix | Delete
this.touchSwipeState = null;
[10280] Fix | Delete
}
[10281] Fix | Delete
async request() {
[10282] Fix | Delete
const {
[10283] Fix | Delete
container,
[10284] Fix | Delete
pdfViewer
[10285] Fix | Delete
} = this;
[10286] Fix | Delete
if (this.active || !pdfViewer.pagesCount || !container.requestFullscreen) {
[10287] Fix | Delete
return false;
[10288] Fix | Delete
}
[10289] Fix | Delete
this.#addFullscreenChangeListeners();
[10290] Fix | Delete
this.#notifyStateChange(PresentationModeState.CHANGING);
[10291] Fix | Delete
const promise = container.requestFullscreen();
[10292] Fix | Delete
this.#args = {
[10293] Fix | Delete
pageNumber: pdfViewer.currentPageNumber,
[10294] Fix | Delete
scaleValue: pdfViewer.currentScaleValue,
[10295] Fix | Delete
scrollMode: pdfViewer.scrollMode,
[10296] Fix | Delete
spreadMode: null,
[10297] Fix | Delete
annotationEditorMode: null
[10298] Fix | Delete
};
[10299] Fix | Delete
if (pdfViewer.spreadMode !== SpreadMode.NONE && !(pdfViewer.pageViewsReady && pdfViewer.hasEqualPageSizes)) {
[10300] Fix | Delete
console.warn("Ignoring Spread modes when entering PresentationMode, " + "since the document may contain varying page sizes.");
[10301] Fix | Delete
this.#args.spreadMode = pdfViewer.spreadMode;
[10302] Fix | Delete
}
[10303] Fix | Delete
if (pdfViewer.annotationEditorMode !== AnnotationEditorType.DISABLE) {
[10304] Fix | Delete
this.#args.annotationEditorMode = pdfViewer.annotationEditorMode;
[10305] Fix | Delete
}
[10306] Fix | Delete
try {
[10307] Fix | Delete
await promise;
[10308] Fix | Delete
pdfViewer.focus();
[10309] Fix | Delete
return true;
[10310] Fix | Delete
} catch {
[10311] Fix | Delete
this.#removeFullscreenChangeListeners();
[10312] Fix | Delete
this.#notifyStateChange(PresentationModeState.NORMAL);
[10313] Fix | Delete
}
[10314] Fix | Delete
return false;
[10315] Fix | Delete
}
[10316] Fix | Delete
get active() {
[10317] Fix | Delete
return this.#state === PresentationModeState.CHANGING || this.#state === PresentationModeState.FULLSCREEN;
[10318] Fix | Delete
}
[10319] Fix | Delete
#mouseWheel(evt) {
[10320] Fix | Delete
if (!this.active) {
[10321] Fix | Delete
return;
[10322] Fix | Delete
}
[10323] Fix | Delete
evt.preventDefault();
[10324] Fix | Delete
const delta = normalizeWheelEventDelta(evt);
[10325] Fix | Delete
const currentTime = Date.now();
[10326] Fix | Delete
const storedTime = this.mouseScrollTimeStamp;
[10327] Fix | Delete
if (currentTime > storedTime && currentTime - storedTime < MOUSE_SCROLL_COOLDOWN_TIME) {
[10328] Fix | Delete
return;
[10329] Fix | Delete
}
[10330] Fix | Delete
if (this.mouseScrollDelta > 0 && delta < 0 || this.mouseScrollDelta < 0 && delta > 0) {
[10331] Fix | Delete
this.#resetMouseScrollState();
[10332] Fix | Delete
}
[10333] Fix | Delete
this.mouseScrollDelta += delta;
[10334] Fix | Delete
if (Math.abs(this.mouseScrollDelta) >= PAGE_SWITCH_THRESHOLD) {
[10335] Fix | Delete
const totalDelta = this.mouseScrollDelta;
[10336] Fix | Delete
this.#resetMouseScrollState();
[10337] Fix | Delete
const success = totalDelta > 0 ? this.pdfViewer.previousPage() : this.pdfViewer.nextPage();
[10338] Fix | Delete
if (success) {
[10339] Fix | Delete
this.mouseScrollTimeStamp = currentTime;
[10340] Fix | Delete
}
[10341] Fix | Delete
}
[10342] Fix | Delete
}
[10343] Fix | Delete
#notifyStateChange(state) {
[10344] Fix | Delete
this.#state = state;
[10345] Fix | Delete
this.eventBus.dispatch("presentationmodechanged", {
[10346] Fix | Delete
source: this,
[10347] Fix | Delete
state
[10348] Fix | Delete
});
[10349] Fix | Delete
}
[10350] Fix | Delete
#enter() {
[10351] Fix | Delete
this.#notifyStateChange(PresentationModeState.FULLSCREEN);
[10352] Fix | Delete
this.container.classList.add(ACTIVE_SELECTOR);
[10353] Fix | Delete
setTimeout(() => {
[10354] Fix | Delete
this.pdfViewer.scrollMode = ScrollMode.PAGE;
[10355] Fix | Delete
if (this.#args.spreadMode !== null) {
[10356] Fix | Delete
this.pdfViewer.spreadMode = SpreadMode.NONE;
[10357] Fix | Delete
}
[10358] Fix | Delete
this.pdfViewer.currentPageNumber = this.#args.pageNumber;
[10359] Fix | Delete
this.pdfViewer.currentScaleValue = "page-fit";
[10360] Fix | Delete
if (this.#args.annotationEditorMode !== null) {
[10361] Fix | Delete
this.pdfViewer.annotationEditorMode = {
[10362] Fix | Delete
mode: AnnotationEditorType.NONE
[10363] Fix | Delete
};
[10364] Fix | Delete
}
[10365] Fix | Delete
}, 0);
[10366] Fix | Delete
this.#addWindowListeners();
[10367] Fix | Delete
this.#showControls();
[10368] Fix | Delete
this.contextMenuOpen = false;
[10369] Fix | Delete
document.getSelection().empty();
[10370] Fix | Delete
}
[10371] Fix | Delete
#exit() {
[10372] Fix | Delete
const pageNumber = this.pdfViewer.currentPageNumber;
[10373] Fix | Delete
this.container.classList.remove(ACTIVE_SELECTOR);
[10374] Fix | Delete
setTimeout(() => {
[10375] Fix | Delete
this.#removeFullscreenChangeListeners();
[10376] Fix | Delete
this.#notifyStateChange(PresentationModeState.NORMAL);
[10377] Fix | Delete
this.pdfViewer.scrollMode = this.#args.scrollMode;
[10378] Fix | Delete
if (this.#args.spreadMode !== null) {
[10379] Fix | Delete
this.pdfViewer.spreadMode = this.#args.spreadMode;
[10380] Fix | Delete
}
[10381] Fix | Delete
this.pdfViewer.currentScaleValue = this.#args.scaleValue;
[10382] Fix | Delete
this.pdfViewer.currentPageNumber = pageNumber;
[10383] Fix | Delete
if (this.#args.annotationEditorMode !== null) {
[10384] Fix | Delete
this.pdfViewer.annotationEditorMode = {
[10385] Fix | Delete
mode: this.#args.annotationEditorMode
[10386] Fix | Delete
};
[10387] Fix | Delete
}
[10388] Fix | Delete
this.#args = null;
[10389] Fix | Delete
}, 0);
[10390] Fix | Delete
this.#removeWindowListeners();
[10391] Fix | Delete
this.#hideControls();
[10392] Fix | Delete
this.#resetMouseScrollState();
[10393] Fix | Delete
this.contextMenuOpen = false;
[10394] Fix | Delete
}
[10395] Fix | Delete
#mouseDown(evt) {
[10396] Fix | Delete
if (this.contextMenuOpen) {
[10397] Fix | Delete
this.contextMenuOpen = false;
[10398] Fix | Delete
evt.preventDefault();
[10399] Fix | Delete
return;
[10400] Fix | Delete
}
[10401] Fix | Delete
if (evt.button !== 0) {
[10402] Fix | Delete
return;
[10403] Fix | Delete
}
[10404] Fix | Delete
if (evt.target.href && evt.target.parentNode?.hasAttribute("data-internal-link")) {
[10405] Fix | Delete
return;
[10406] Fix | Delete
}
[10407] Fix | Delete
evt.preventDefault();
[10408] Fix | Delete
if (evt.shiftKey) {
[10409] Fix | Delete
this.pdfViewer.previousPage();
[10410] Fix | Delete
} else {
[10411] Fix | Delete
this.pdfViewer.nextPage();
[10412] Fix | Delete
}
[10413] Fix | Delete
}
[10414] Fix | Delete
#contextMenu() {
[10415] Fix | Delete
this.contextMenuOpen = true;
[10416] Fix | Delete
}
[10417] Fix | Delete
#showControls() {
[10418] Fix | Delete
if (this.controlsTimeout) {
[10419] Fix | Delete
clearTimeout(this.controlsTimeout);
[10420] Fix | Delete
} else {
[10421] Fix | Delete
this.container.classList.add(CONTROLS_SELECTOR);
[10422] Fix | Delete
}
[10423] Fix | Delete
this.controlsTimeout = setTimeout(() => {
[10424] Fix | Delete
this.container.classList.remove(CONTROLS_SELECTOR);
[10425] Fix | Delete
delete this.controlsTimeout;
[10426] Fix | Delete
}, DELAY_BEFORE_HIDING_CONTROLS);
[10427] Fix | Delete
}
[10428] Fix | Delete
#hideControls() {
[10429] Fix | Delete
if (!this.controlsTimeout) {
[10430] Fix | Delete
return;
[10431] Fix | Delete
}
[10432] Fix | Delete
clearTimeout(this.controlsTimeout);
[10433] Fix | Delete
this.container.classList.remove(CONTROLS_SELECTOR);
[10434] Fix | Delete
delete this.controlsTimeout;
[10435] Fix | Delete
}
[10436] Fix | Delete
#resetMouseScrollState() {
[10437] Fix | Delete
this.mouseScrollTimeStamp = 0;
[10438] Fix | Delete
this.mouseScrollDelta = 0;
[10439] Fix | Delete
}
[10440] Fix | Delete
#touchSwipe(evt) {
[10441] Fix | Delete
if (!this.active) {
[10442] Fix | Delete
return;
[10443] Fix | Delete
}
[10444] Fix | Delete
if (evt.touches.length > 1) {
[10445] Fix | Delete
this.touchSwipeState = null;
[10446] Fix | Delete
return;
[10447] Fix | Delete
}
[10448] Fix | Delete
switch (evt.type) {
[10449] Fix | Delete
case "touchstart":
[10450] Fix | Delete
this.touchSwipeState = {
[10451] Fix | Delete
startX: evt.touches[0].pageX,
[10452] Fix | Delete
startY: evt.touches[0].pageY,
[10453] Fix | Delete
endX: evt.touches[0].pageX,
[10454] Fix | Delete
endY: evt.touches[0].pageY
[10455] Fix | Delete
};
[10456] Fix | Delete
break;
[10457] Fix | Delete
case "touchmove":
[10458] Fix | Delete
if (this.touchSwipeState === null) {
[10459] Fix | Delete
return;
[10460] Fix | Delete
}
[10461] Fix | Delete
this.touchSwipeState.endX = evt.touches[0].pageX;
[10462] Fix | Delete
this.touchSwipeState.endY = evt.touches[0].pageY;
[10463] Fix | Delete
evt.preventDefault();
[10464] Fix | Delete
break;
[10465] Fix | Delete
case "touchend":
[10466] Fix | Delete
if (this.touchSwipeState === null) {
[10467] Fix | Delete
return;
[10468] Fix | Delete
}
[10469] Fix | Delete
let delta = 0;
[10470] Fix | Delete
const dx = this.touchSwipeState.endX - this.touchSwipeState.startX;
[10471] Fix | Delete
const dy = this.touchSwipeState.endY - this.touchSwipeState.startY;
[10472] Fix | Delete
const absAngle = Math.abs(Math.atan2(dy, dx));
[10473] Fix | Delete
if (Math.abs(dx) > SWIPE_MIN_DISTANCE_THRESHOLD && (absAngle <= SWIPE_ANGLE_THRESHOLD || absAngle >= Math.PI - SWIPE_ANGLE_THRESHOLD)) {
[10474] Fix | Delete
delta = dx;
[10475] Fix | Delete
} else if (Math.abs(dy) > SWIPE_MIN_DISTANCE_THRESHOLD && Math.abs(absAngle - Math.PI / 2) <= SWIPE_ANGLE_THRESHOLD) {
[10476] Fix | Delete
delta = dy;
[10477] Fix | Delete
}
[10478] Fix | Delete
if (delta > 0) {
[10479] Fix | Delete
this.pdfViewer.previousPage();
[10480] Fix | Delete
} else if (delta < 0) {
[10481] Fix | Delete
this.pdfViewer.nextPage();
[10482] Fix | Delete
}
[10483] Fix | Delete
break;
[10484] Fix | Delete
}
[10485] Fix | Delete
}
[10486] Fix | Delete
#addWindowListeners() {
[10487] Fix | Delete
if (this.#windowAbortController) {
[10488] Fix | Delete
return;
[10489] Fix | Delete
}
[10490] Fix | Delete
this.#windowAbortController = new AbortController();
[10491] Fix | Delete
const {
[10492] Fix | Delete
signal
[10493] Fix | Delete
} = this.#windowAbortController;
[10494] Fix | Delete
const touchSwipeBind = this.#touchSwipe.bind(this);
[10495] Fix | Delete
window.addEventListener("mousemove", this.#showControls.bind(this), {
[10496] Fix | Delete
signal
[10497] Fix | Delete
});
[10498] Fix | Delete
window.addEventListener("mousedown", this.#mouseDown.bind(this), {
[10499] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function