Files
yjs/examples/html-editor/index.js

44 lines
1.0 KiB
JavaScript
Raw Normal View History

/* global Y, HTMLElement, customElements */
class MagicTable extends HTMLElement {
constructor () {
super()
var shadow = this.attachShadow({mode: 'open'})
setTimeout(() => {
shadow.append(this.childNodes[0])
}, 1000)
}
}
customElements.define('magic-table', MagicTable)
2017-08-25 20:35:06 +02:00
// initialize a shared object. This function call returns a promise!
let y = new Y({
2017-08-25 20:35:06 +02:00
connector: {
name: 'websockets-client',
2017-09-29 22:33:28 +02:00
url: 'http://127.0.0.1:1234',
2017-10-02 15:50:56 +02:00
room: 'html-editor-example6'
// maxBufferLength: 100
2017-08-25 20:35:06 +02:00
}
})
window.yXml = y
2017-11-08 13:40:36 -08:00
window.yXmlType = y.define('xml', Y.XmlFragment)
window.onload = function () {
console.log('start!')
// Bind children of XmlFragment to the document.body
2017-10-30 11:33:00 +01:00
window.yXmlType.bindToDom(document.body)
}
window.undoManager = new Y.utils.UndoManager(window.yXmlType, {
captureTimeout: 500
})
2017-10-30 11:33:00 +01:00
document.onkeydown = function interceptUndoRedo (e) {
2017-11-09 17:31:58 -08:00
if (e.keyCode === 90 && e.metaKey) {
2017-10-30 11:33:00 +01:00
if (!e.shiftKey) {
window.undoManager.undo()
} else {
window.undoManager.redo()
}
e.preventDefault()
}
}