Skip to content

Commit 87524f4

Browse files
committed
fix: Update README
1 parent 69c67a1 commit 87524f4

File tree

4 files changed

+73
-40
lines changed

4 files changed

+73
-40
lines changed

src/binding.js

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
import observer from "@cocreate/observer"
2+
import form from "@cocreate/form"
3+
import action from "@cocreate/action"
4+
5+
/**
6+
* CoCreate-observer
7+
* https://ws.cocreate.app/docs/observer
8+
* Observes dom for new elements of a component and intializes it
9+
* Components should support init per element and init all on page load
10+
* flow example: observer.init(selector => callback=> initCroppieElement) // inits new element only
11+
*/
12+
13+
observer.init({
14+
name: 'CoCreateBoilerplateInit',
15+
observe: ['subtree', 'childList'],
16+
include: '.boilerplate',
17+
callback: function(mutation) {
18+
// console.log(mutation)
19+
CoCreateBiolerplate.initElement(mutation.target)
20+
}
21+
})
22+
23+
24+
25+
26+
/**
27+
* CoCreate-form
28+
* https://ws.cocreate.app/docs/form
29+
* flow example: form.init(selector => callback=> croppieSavefunc) /// for each
30+
*/
31+
32+
form.init({
33+
name: 'CoCreateBoilerplate',
34+
selector: ".boilerplate",
35+
callback: function(el) {
36+
CoCreateBoilerplate.save(el);
37+
}
38+
});
39+
40+
41+
42+
/**
43+
* CoCreate-action
44+
* https://ws.cocreate.app/docs/action
45+
* flow example: action.init(selector => callback=> croppieSavefunc => saveCompleteEvent)
46+
*
47+
*/
48+
49+
action.init({
50+
action: "saveBoilerplate",
51+
endEvent: "savedBoilerplate",
52+
callback: (btn, data) => {
53+
CoCreateBoilerplate.__saveBoilerplate(btn)
54+
},
55+
})

src/crdt.js

Lines changed: 12 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
//CRDT Implementatiom
22
import crdt from "@cocreate/crdt"
33
import crud from "@cocreate/crud-client"
4-
import util from "@cocreate/utils"
54

65
// CRDT Implementaion
76
const {collection, document_id, name} = crud.GetAttr()
@@ -12,43 +11,23 @@ crdt.insertText({ collection, document_id, name, value, position })
1211
crdt.deleteText({ collection, document_id, name, position, length })
1312
crdt.replaceText({ collection, document_id, name, value })
1413

15-
//. crdt listen and binding
14+
//. crdt change event
1615
/**
17-
* event: {
18-
* detail: [{
19-
* retain, //. position for insert and delete case
20-
* insert, //. insert string
21-
* delete, //. delete length
22-
}]
16+
* event: {
17+
* detail: [{
18+
* collection: '',
19+
* document_id '',
20+
* name: '',
21+
* retain, //. position for insert and delete case
22+
* insert, //. insert string
23+
* delete, //. delete length
24+
* }]
2325
* }
2426
*
2527
* ex: {insert: "testing", retain: 8}
2628
* {delete: 10, reatin: 7}
2729
*/
2830

29-
// example of binding the input to sync with crdt and maintain cursour positions
30-
input_element.addEventListener('cocreate-crdt-update', function(event) {
31-
var info = event.detail;
32-
33-
var pos = 0;
34-
var flag = true;
35-
36-
info.forEach(item => {
37-
if (item.retain) {
38-
flag = true;
39-
pos = item.retain;
40-
}
41-
42-
if (item.insert || item.delete) {
43-
if (flag == false) pos = 0;
44-
flag = false;
45-
if (item.insert) {
46-
//. element's insert process
47-
// self.updateChangeData(this, item.insert, pos, pos)
48-
} else if (item.delete) {
49-
//. element's delete process
50-
// self.updateChangeData(this, "", pos, pos + item.delete);
51-
}
52-
}
53-
})
31+
element.addEventListener('cocreate-crdt-update', function(event) {
32+
var info = event.detail; // details conatain collection document_id and name... use this to find your element
5433
})

src/crud.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
// Crud implementation
2-
import observer from "@cocreate/observer"
32
import crud from "@cocreate/crud-client"
4-
import form from "@cocreate/form"
53

64

7-
crud.listen('createDocuemnt' )
5+
crud.listen('createDocument', function(data) { doSomething })
6+
crud.listen('updateDocument', function(data) { doSomething })
7+
crud.listen('deleteDocument', function(data) { doSomething })
88

99
// CRUD Implementation
1010
const el = document.querySelector('xxx') // el is dom element
@@ -19,4 +19,4 @@ let async = await crud.listenAsync(event)
1919

2020
crud.updateDocument({collection, document_id, name, element: "unique string"}) // {namespace, room, broadcast, broadcat_sender, async, event, delete_fields ...}
2121
crud.deleteDocument({collection, document_id, element: "unique string"}) // {namespace, room, broadcast, broadcat_sender, async, event, ...}
22-
crud.readDocumentList({collection, element: "unique string"}) // {operator: {fetch, filter, order, search, startIndex}, is_collection, async, event, ...}
22+
crud.readDocumentList({collection, element: "unique string"}) // {operator: {fetch, filter, order, search, startIndex}, is_collection, async, event, ...}

src/list.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
//Read list Implementation
2-
import observer from '@cocreate/observer'
3-
import ccfilter from '@cocreate/filter'
2+
import filter from '@cocreate/filter'
43
import crud from '@cocreate/crud-client';
54
import logic from '@cocreate/logic';
65
import render from '@cocreate/render';
@@ -9,7 +8,7 @@ import render from '@cocreate/render';
98
const {fetch_collection, is_collection_fetch, fetch_count} = crud.GetFetchAttr(el) //namespace, room, broadcast, broadcat_sender,
109

1110

12-
var filter = CoCreateFilter.setFilter(
11+
var filters = CoCreateFilter.setFilter(
1312
el,
1413
attrName, /* default value = data-template_id*/
1514
type, /* default value = template*/

0 commit comments

Comments
 (0)