FEATURE: complete control over the iframe size
This commit is contained in:
parent
19856c0ee9
commit
3f6c61633a
4
front/dist/resources/style/style.css
vendored
4
front/dist/resources/style/style.css
vendored
@ -330,6 +330,10 @@ body {
|
|||||||
top: 0;
|
top: 0;
|
||||||
width: 50%;
|
width: 50%;
|
||||||
height: 100vh;
|
height: 100vh;
|
||||||
|
cursor: ew-resize;
|
||||||
|
}
|
||||||
|
#cowebsite iframe {
|
||||||
|
margin-left: 30px;
|
||||||
}
|
}
|
||||||
#cowebsite.loading {
|
#cowebsite.loading {
|
||||||
transform: translateX(90%);
|
transform: translateX(90%);
|
||||||
|
@ -22,9 +22,26 @@ class CoWebsiteManager {
|
|||||||
*/
|
*/
|
||||||
private currentOperationPromise: Promise<void> = Promise.resolve();
|
private currentOperationPromise: Promise<void> = Promise.resolve();
|
||||||
private cowebsiteDiv: HTMLDivElement;
|
private cowebsiteDiv: HTMLDivElement;
|
||||||
|
private resizing: boolean = false;
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
this.cowebsiteDiv = HtmlUtils.getElementByIdOrFail<HTMLDivElement>(cowebsiteDivId);
|
this.cowebsiteDiv = HtmlUtils.getElementByIdOrFail<HTMLDivElement>(cowebsiteDivId);
|
||||||
|
|
||||||
|
this.cowebsiteDiv.addEventListener('mousedown', (event) => {
|
||||||
|
this.resizing = true;
|
||||||
|
this.getIframeDom().style.display = 'none';
|
||||||
|
|
||||||
|
document.onmousemove = (event) => {
|
||||||
|
this.cowebsiteDiv.style.width = (this.cowebsiteDiv.clientWidth - event.movementX) + 'px';
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
document.addEventListener('mouseup', (event) => {
|
||||||
|
if (!this.resizing) return;
|
||||||
|
document.onmousemove = null;
|
||||||
|
this.getIframeDom().style.display = 'block';
|
||||||
|
this.resizing = false;
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private close(): void {
|
private close(): void {
|
||||||
@ -42,6 +59,12 @@ class CoWebsiteManager {
|
|||||||
this.opened = iframeStates.opened;
|
this.opened = iframeStates.opened;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private getIframeDom(): HTMLIFrameElement {
|
||||||
|
const iframe = HtmlUtils.getElementByIdOrFail<HTMLDivElement>(cowebsiteDivId).querySelector('iframe');
|
||||||
|
if (!iframe) throw new Error('Could not find iframe!');
|
||||||
|
return iframe;
|
||||||
|
}
|
||||||
|
|
||||||
public loadCoWebsite(url: string, base: string, allowPolicy?: string): void {
|
public loadCoWebsite(url: string, base: string, allowPolicy?: string): void {
|
||||||
this.load();
|
this.load();
|
||||||
this.cowebsiteDiv.innerHTML = `<button class="close-btn" id="cowebsite-close">
|
this.cowebsiteDiv.innerHTML = `<button class="close-btn" id="cowebsite-close">
|
||||||
|
@ -5,8 +5,6 @@ import {LoginScene} from "./Phaser/Login/LoginScene";
|
|||||||
import {ReconnectingScene} from "./Phaser/Reconnecting/ReconnectingScene";
|
import {ReconnectingScene} from "./Phaser/Reconnecting/ReconnectingScene";
|
||||||
import {SelectCharacterScene} from "./Phaser/Login/SelectCharacterScene";
|
import {SelectCharacterScene} from "./Phaser/Login/SelectCharacterScene";
|
||||||
import {EnableCameraScene} from "./Phaser/Login/EnableCameraScene";
|
import {EnableCameraScene} from "./Phaser/Login/EnableCameraScene";
|
||||||
import WebGLRenderer = Phaser.Renderer.WebGL.WebGLRenderer;
|
|
||||||
import {OutlinePipeline} from "./Phaser/Shaders/OutlinePipeline";
|
|
||||||
import {CustomizeScene} from "./Phaser/Login/CustomizeScene";
|
import {CustomizeScene} from "./Phaser/Login/CustomizeScene";
|
||||||
import {ResizableScene} from "./Phaser/Login/ResizableScene";
|
import {ResizableScene} from "./Phaser/Login/ResizableScene";
|
||||||
import {EntryScene} from "./Phaser/Login/EntryScene";
|
import {EntryScene} from "./Phaser/Login/EntryScene";
|
||||||
|
Loading…
Reference in New Issue
Block a user