added windows 'close' event
All checks were successful
/ mirror_to_github (push) Successful in 22s
/ test (push) Successful in 8s

This commit is contained in:
Leon van Kammen 2024-12-17 15:19:01 +00:00
parent 16eb8bfdbf
commit 7ef7d68eea
2 changed files with 18 additions and 12 deletions

View file

@ -229,9 +229,6 @@ if( typeof AFRAME != 'undefined '){
instance.addEventListener('DOMready', () => { instance.addEventListener('DOMready', () => {
this.setupVT100(instance) this.setupVT100(instance)
setTimeout( () => {
instance.setAttribute("html-as-texture-in-xr", `domid: #term; faceuser: true`)
},100)
//instance.winbox.resize(720,380) //instance.winbox.resize(720,380)
let size = `width: ${this.data.width}; height: ${this.data.height}` let size = `width: ${this.data.width}; height: ${this.data.height}`
instance.setAttribute("window", `title: xrsh.iso; uid: ${instance.uid}; attach: #overlay; dom: #${instance.dom.id}; ${size}; min: ${this.data.minimized}; max: ${this.data.maximized}; class: no-full, no-resize, no-move`) instance.setAttribute("window", `title: xrsh.iso; uid: ${instance.uid}; attach: #overlay; dom: #${instance.dom.id}; ${size}; min: ${this.data.minimized}; max: ${this.data.maximized}; class: no-full, no-resize, no-move`)
@ -239,6 +236,8 @@ if( typeof AFRAME != 'undefined '){
instance.addEventListener('window.oncreate', (e) => { instance.addEventListener('window.oncreate', (e) => {
instance.dom.classList.add('blink') instance.dom.classList.add('blink')
// canvas to texture texture
instance.setAttribute("html-as-texture-in-xr", `domid: .winbox#${instance.uid}; faceuser: true`)
// run iso // run iso
let opts = {dom:instance.dom} let opts = {dom:instance.dom}

View file

@ -27,6 +27,20 @@ AFRAME.registerComponent('window', {
await AFRAME.utils.require(this.dependencies) await AFRAME.utils.require(this.dependencies)
if( !this.el.dom ) return console.error('window element requires dom-component as dependency') if( !this.el.dom ) return console.error('window element requires dom-component as dependency')
const close = () => {
let e = {halt:false}
this.el.emit('window.onclose',e)
if( e.halt ) return true
this.data.dom.style.display = 'none';
if( this.el.parentNode ) this.el.remove() //parentElement.remove( this.el )
this.data.dom.parentElement.remove()
return false
}
this.el.addEventListener('close', () => {
close()
this.el.winbox.close()
})
this.el.dom.style.display = 'none' this.el.dom.style.display = 'none'
let winbox = this.el.winbox = new WinBox( this.data.title, { let winbox = this.el.winbox = new WinBox( this.data.title, {
class: this.data.class, class: this.data.class,
@ -51,15 +65,8 @@ AFRAME.registerComponent('window', {
this.el.components['obb-collider'].update() this.el.components['obb-collider'].update()
},1000) },1000)
}, },
onclose: () => { onclose: close
let e = {halt:false}
this.el.emit('window.onclose',e)
if( e.halt ) return true
this.data.dom.style.display = 'none';
if( this.el.parentNode ) this.el.remove() //parentElement.remove( this.el )
this.data.dom.parentElement.remove()
return false
},
}); });
this.data.dom.style.display = '' // show this.data.dom.style.display = '' // show