Skip to content

Commit

Permalink
fix: removed crdt.. save logic handeled by crud
Browse files Browse the repository at this point in the history
  • Loading branch information
frankpagan committed Aug 13, 2021
1 parent 330e4d4 commit e0ee7cb
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 42 deletions.
1 change: 0 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,6 @@
"webpack-log": "^3.0.1"
},
"dependencies": {
"@cocreate/crdt": "^1.1.20",
"@cocreate/crud-client": "^1.1.12",
"@cocreate/docs": "^1.1.29",
"@cocreate/floating-label": "^1.0.20",
Expand Down
80 changes: 39 additions & 41 deletions src/index.js
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
import CoCreateObserver from '@cocreate/observer'
import crdt from '@cocreate/crdt'
import crud from '@cocreate/crud-client'
import CoCreateInput from '@cocreate/input'
import floatingLabel from '@cocreate/floating-label'
import htmltags from '@cocreate/htmltags'
import CoCreateObserver from '@cocreate/observer';
import crud from '@cocreate/crud-client';
import CoCreateInput from '@cocreate/input';
import floatingLabel from '@cocreate/floating-label';
import htmltags from '@cocreate/htmltags';

var CoCreateCalculation = {

init: function() {
let calculationElements = document.querySelectorAll('[calculate]')
this.initElements(calculationElements)
let calculationElements = document.querySelectorAll('[calculate]');
this.initElements(calculationElements);
},

initElements: function(elements) {
Expand All @@ -35,16 +34,16 @@ var CoCreateCalculation = {
if(input) {
input.addEventListener('input', function() {
self.setCalcationResult(ele);
})
});

input.addEventListener('CoCreateInput-setvalue', function() {
// self.setCalcationResult(ele)
})
});

if(input.hasAttribute('calculate')) {
input.addEventListener('changedCalcValue', function(e) {
self.setCalcationResult(ele)
})
self.setCalcationResult(ele);
});
}

}
Expand All @@ -53,7 +52,7 @@ var CoCreateCalculation = {

let selector = this.__getOperatorSelector(id);
if(selector) {
selectors.push(selector)
selectors.push(selector);
}
}
self.setCalcationResult(ele);
Expand All @@ -71,12 +70,12 @@ var CoCreateCalculation = {
isMatched = true;
return;
}
})
});

if(isMatched) {
self.setCalcationResult(ele);
}
})
});
}
},

Expand All @@ -93,62 +92,61 @@ var CoCreateCalculation = {
let sum = null;
let result = /SUM\(\s*([\w\W]+)\s*\)/g.exec(value);
if(result) {
let selector = result[1].trim()
let selector = result[1].trim();

if(value.trim().indexOf('SUM') == 0) {
let elements = document.querySelectorAll(selector)
let elements = document.querySelectorAll(selector);
sum = 0;
elements.forEach(el => {
let tmpValue = self.__getElementValue(el);
tmpValue = Number(tmpValue);
if(!Number.isNaN(tmpValue)) {
sum += tmpValue;
}
})
});
}
}
return sum
return sum;
},


setCalcationResult: function(ele) {
const { collection, document_id, name, isCrdt } = crud.getAttr(ele)
const { isRealtime } = crud.getAttr(ele);
let data_calculation = ele.getAttribute('calculate');

let calString = this.replaceIdWithValue(data_calculation);

if(calString) {
let result = calculation(calString);

if(ele.tagName == 'INPUT' || ele.tagName == 'TEXTAREA' || ele.tagName == 'SELECT') {
ele.value = result

if(isCrdt == "true") {
ele.value = "";
crdt.replaceText({
collection: collection,
document_id: document_id,
name: name,
value: result.toString()
})
}
else {
// ToDo: if isCrud
if (isRealtime != "false") {
CoCreateInput.save(ele);
}

}
else {
ele.value = result;
}

if(floatingLabel) {
floatingLabel.update(ele, ele.value)
floatingLabel.update(ele, ele.value);
}
}
else {
ele.innerHTML = result;
// htmltags.saveContent(ele);
htmltags.save(ele)
// ToDo: if isCrud
if (isRealtime != "false") {
htmltags.save(ele);
}
else {
ele.innerHTML = result;
}
}

//. set custom event
var event = new CustomEvent('changedCalcValue', {
bubbles: true,
})
});
ele.dispatchEvent(event);
}

Expand Down Expand Up @@ -195,7 +193,7 @@ var CoCreateCalculation = {
getIds: function(string) {
let tmp = string;

let ids = []
let ids = [];
if(!tmp) return ids;
while(tmp.length > 0) {
let firstIndex = tmp.indexOf('{');
Expand All @@ -216,7 +214,7 @@ var CoCreateCalculation = {

return ids;
},
}
};

function calculation(string) {
if(!string.match(/[a-z_]/i))
Expand All @@ -240,7 +238,7 @@ CoCreateObserver.init({
observe: ['addedNodes'],
target: '[calculate]',
callback: function(mutation) {
CoCreateCalculation.initElement(mutation.target)
CoCreateCalculation.initElement(mutation.target);
}
});

Expand Down

0 comments on commit e0ee7cb

Please sign in to comment.