diff --git a/examples/html-editor/index.html b/examples/html-editor/index.html new file mode 100644 index 00000000..f2e34938 --- /dev/null +++ b/examples/html-editor/index.html @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/examples/html-editor/index.js b/examples/html-editor/index.js new file mode 100644 index 00000000..b5df0eea --- /dev/null +++ b/examples/html-editor/index.js @@ -0,0 +1,21 @@ +/* global Y */ + +// initialize a shared object. This function call returns a promise! +Y({ + db: { + name: 'memory' + }, + connector: { + name: 'websockets-client', + // url: 'http://127.0.0.1:1234', + url: 'http://192.168.178.81:1234', + room: 'html-editor-example6' + }, + share: { + xml: 'XmlFragment()' // y.share.xml is of type Y.Xml with tagname "p" + } +}).then(function (y) { + window.yXml = y + // Bind children of XmlFragment to the document.body + window.yXml.share.xml.bindToDom(document.body) +}) diff --git a/test/y-xml.tests.js b/test/y-xml.tests.js index 1b06e8d9..3a24d5e8 100644 --- a/test/y-xml.tests.js +++ b/test/y-xml.tests.js @@ -111,7 +111,7 @@ test('element insert (y -> dom)', async function xml5 (t) { var { users, xml0 } = await initArrays(t, { users: 3 }) let dom0 = xml0.getDom() xml0.insert(0, [Y.XmlText('some text')]) - xml0.insert(1, [Y.Xml('p')]) + xml0.insert(1, [Y.XmlElement('p')]) t.assert(dom0.childNodes[0].textContent === 'some text', 'Retrieve Text node') t.assert(dom0.childNodes[1].nodeName === 'P', 'Retrieve Element node') await compareUsers(t, users) @@ -132,7 +132,7 @@ test('y on insert, then delete (dom -> y)', async function xml6 (t) { test('y on insert, then delete (y -> dom)', async function xml7 (t) { var { users, xml0 } = await initArrays(t, { users: 3 }) let dom0 = xml0.getDom() - xml0.insert(0, [Y.Xml('p')]) + xml0.insert(0, [Y.XmlElement('p')]) t.assert(dom0.childNodes[0].nodeName === 'P', 'Get inserted element from dom') xml0.delete(0, 1) t.assert(dom0.childNodes.length === 0, '#childNodes is empty after delete') @@ -169,7 +169,7 @@ test('delete consecutive (2) (Text)', async function xml9 (t) { test('delete consecutive (1) (Element)', async function xml10 (t) { var { users, xml0 } = await initArrays(t, { users: 3 }) let dom0 = xml0.getDom() - xml0.insert(0, [Y.Xml('A'), Y.Xml('B'), Y.Xml('C')]) + xml0.insert(0, [Y.XmlElement('A'), Y.XmlElement('B'), Y.XmlElement('C')]) await wait() xml0.delete(1, 2) await wait() @@ -182,7 +182,7 @@ test('delete consecutive (1) (Element)', async function xml10 (t) { test('delete consecutive (2) (Element)', async function xml11 (t) { var { users, xml0 } = await initArrays(t, { users: 3 }) let dom0 = xml0.getDom() - xml0.insert(0, [Y.Xml('A'), Y.Xml('B'), Y.Xml('C')]) + xml0.insert(0, [Y.XmlElement('A'), Y.XmlElement('B'), Y.XmlElement('C')]) await wait() xml0.delete(0, 1) xml0.delete(1, 1) @@ -198,8 +198,8 @@ test('Receive a bunch of elements (with disconnect)', async function xml12 (t) { let dom0 = xml0.getDom() let dom1 = xml1.getDom() users[1].disconnect() - xml0.insert(0, [Y.Xml('A'), Y.Xml('B'), Y.Xml('C')]) - xml0.insert(0, [Y.Xml('X'), Y.Xml('Y'), Y.Xml('Z')]) + xml0.insert(0, [Y.XmlElement('A'), Y.XmlElement('B'), Y.XmlElement('C')]) + xml0.insert(0, [Y.XmlElement('X'), Y.XmlElement('Y'), Y.XmlElement('Z')]) await users[1].reconnect() await flushAll(t, users) t.assert(xml0.length === 6, 'check length (y)') diff --git a/tests-lib/helper.js b/tests-lib/helper.js index 134061ce..9236cfa5 100644 --- a/tests-lib/helper.js +++ b/tests-lib/helper.js @@ -176,7 +176,7 @@ export async function initArrays (t, opts) { var result = { users: [] } - var share = Object.assign({ flushHelper: 'Map', array: 'Array', map: 'Map', xml: 'Xml("div")' }, opts.share) + var share = Object.assign({ flushHelper: 'Map', array: 'Array', map: 'Map', xml: 'XmlElement("div")' }, opts.share) var chance = opts.chance || new Chance(t.getSeed() * 1000000000) var conn = Object.assign({ room: 'debugging_' + t.name, generateUserId: false, testContext: t, chance }, connector) for (let i = 0; i < opts.users; i++) {