diff --git a/health/heart/integrated-prep-torax/lib/oid-full-dev.js b/health/heart/integrated-prep-torax/lib/oid-full-dev.js
index 614d432..6e81028 100644
--- a/health/heart/integrated-prep-torax/lib/oid-full-dev.js
+++ b/health/heart/integrated-prep-torax/lib/oid-full-dev.js
@@ -34,7 +34,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
\***********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BlocklyOid: () => (/* binding */ BlocklyOid)\n/* harmony export */ });\n/* harmony import */ var _src_lib_oidlib_dev_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../src/lib/oidlib-dev.js */ \"./src/lib/oidlib-dev.js\");\n/* harmony import */ var blockly__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! blockly */ \"./src/collections/blockly/node_modules/blockly/index.js\");\n/* harmony import */ var blockly__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(blockly__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var blockly_javascript__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! blockly/javascript */ \"./src/collections/blockly/node_modules/blockly/javascript.js\");\n/* harmony import */ var blockly_javascript__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(blockly_javascript__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\n\nclass BlocklyOid extends _src_lib_oidlib_dev_js__WEBPACK_IMPORTED_MODULE_0__.OidUI {\n async connectedCallback () {\n await super.connectedCallback()\n const blocks = this._getCustomField('blocks')\n if (blocks != null) {\n blockly__WEBPACK_IMPORTED_MODULE_1__.common.defineBlocks(\n blockly__WEBPACK_IMPORTED_MODULE_1__.common.createBlockDefinitionsFromJsonArray(\n blocks))\n const generator = this._getCustomField('generator')\n if (generator != null)\n Object.assign(blockly_javascript__WEBPACK_IMPORTED_MODULE_2__.javascriptGenerator.forBlock, generator)\n }\n this.render()\n }\n\n render () {\n super.render()\n const toolbox = this._getCustomField('toolbox')\n if (toolbox != null) {\n this._ws = blockly__WEBPACK_IMPORTED_MODULE_1__.inject(this._presentation, {toolbox})\n this._ws.addChangeListener(this._blocksUpdated.bind(this))\n }\n }\n\n _blocksUpdated () {\n this._notify('update',\n {value: blockly_javascript__WEBPACK_IMPORTED_MODULE_2__.javascriptGenerator.workspaceToCode(this._ws)})\n }\n\n handleResize () {\n blockly__WEBPACK_IMPORTED_MODULE_1__.svgResize(this._ws)\n }\n}\n\n_src_lib_oidlib_dev_js__WEBPACK_IMPORTED_MODULE_0__.Oid.component({\n id: 'boid:blockly',\n element: 'blockly-oid',\n receive: ['resize'],\n implementation: BlocklyOid,\n shadow: false,\n template: (0,_src_lib_oidlib_dev_js__WEBPACK_IMPORTED_MODULE_0__.html)`\n
\n
`\n})\n\n//# sourceURL=webpack://mundorum-collections/./src/collections/blockly/components/blockly-oid.js?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BlocklyOid: () => (/* binding */ BlocklyOid),\n/* harmony export */ jsonGenerator: () => (/* binding */ jsonGenerator)\n/* harmony export */ });\n/* harmony import */ var _src_lib_oidlib_dev_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../src/lib/oidlib-dev.js */ \"./src/lib/oidlib-dev.js\");\n/* harmony import */ var blockly__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! blockly */ \"./src/collections/blockly/node_modules/blockly/index.js\");\n/* harmony import */ var blockly__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(blockly__WEBPACK_IMPORTED_MODULE_1__);\n\n\nconst jsonGenerator = new blockly__WEBPACK_IMPORTED_MODULE_1__.Generator('JSON')\n// import {jsonGenerator} from './generators/json'\n\nclass BlocklyOid extends _src_lib_oidlib_dev_js__WEBPACK_IMPORTED_MODULE_0__.OidUI {\n async connectedCallback () {\n await super.connectedCallback()\n const blocks = this._getCustomField('blocks')\n if (blocks != null) {\n blockly__WEBPACK_IMPORTED_MODULE_1__.common.defineBlocks(\n blockly__WEBPACK_IMPORTED_MODULE_1__.common.createBlockDefinitionsFromJsonArray(\n blocks))\n const generator = this._getCustomField('generator')\n if (generator != null)\n Object.assign(jsonGenerator.forBlock, generator)\n }\n this.render()\n }\n\n render () {\n super.render()\n const toolbox = this._getCustomField('toolbox')\n if (toolbox != null) {\n this._ws = blockly__WEBPACK_IMPORTED_MODULE_1__.inject(this._presentation, {toolbox})\n this._ws.addChangeListener(this._blocksUpdated.bind(this))\n }\n }\n\n _blocksUpdated () {\n const json = jsonGenerator.workspaceToCode(this._ws)\n console.log('json', json)\n this._notify('update',\n {value: json})\n }\n\n handleResize () {\n blockly__WEBPACK_IMPORTED_MODULE_1__.svgResize(this._ws)\n }\n}\n\n_src_lib_oidlib_dev_js__WEBPACK_IMPORTED_MODULE_0__.Oid.component({\n id: 'boid:blockly',\n element: 'blockly-oid',\n receive: ['resize'],\n implementation: BlocklyOid,\n shadow: false,\n template: (0,_src_lib_oidlib_dev_js__WEBPACK_IMPORTED_MODULE_0__.html)`\n \n
`\n})\n\n//# sourceURL=webpack://mundorum-collections/./src/collections/blockly/components/blockly-oid.js?");
/***/ }),
@@ -154,7 +154,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
\***************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ LivelyTalkOid: () => (/* binding */ LivelyTalkOid)\n/* harmony export */ });\n/* harmony import */ var _src_lib_oidlib_dev_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../src/lib/oidlib-dev.js */ \"./src/lib/oidlib-dev.js\");\n\n\nclass LivelyTalkOid extends _src_lib_oidlib_dev_js__WEBPACK_IMPORTED_MODULE_0__.OidUI {\n connectedCallback () {\n super.connectedCallback()\n this.handleSend()\n }\n\n handleSend (topic, message) {\n let fspeech = this.speech || ''\n if (message) {\n if (fspeech.includes('{{')) {\n fspeech = fspeech.replace(\n /{{[ \\t]*([^}]*)}}/g,\n (match, p1) => {\n p1 = (p1) ? p1.trim() : 'value'\n let value = (message[p1]) ? message[p1] : ''\n return value\n })\n } else if (message.value)\n fspeech += message.value.replace(/\\n/g, '
')\n .replace(/[ \\t]/g, ' ')\n } else\n fspeech = fspeech.replace(/{{[ \\t]*[^}]*}}/g, '')\n this._presentation.querySelector('#speech').innerHTML = fspeech\n }\n\n handleClear () {\n this._presentation.querySelector('#speech').innerHTML = ''\n }\n}\n\n_src_lib_oidlib_dev_js__WEBPACK_IMPORTED_MODULE_0__.Oid.component({\n id: 'foid:lively-talk',\n element: 'lively-talk-oid',\n properties: {\n character: {default: 'assets:images/dino.svg'},\n bubble: {default: 'assets:images/bubble-landscape.svg'},\n speech: {}\n },\n receive: {'display': 'handleSend', 'clear': 'handleClear'},\n provide: ['itf:transfer'],\n implementation: LivelyTalkOid,\n styles: (0,_src_lib_oidlib_dev_js__WEBPACK_IMPORTED_MODULE_0__.css)`\n .character {\n width: 128px;\n }\n .bubble {\n background-repeat: no-repeat;\n background-size: 100% 100%;\n flex-basis: 100%;\n padding: 15px 15px 10px 40px;\n background-image: url(\"{{url:this.bubble}}\");\n }`,\n template: (0,_src_lib_oidlib_dev_js__WEBPACK_IMPORTED_MODULE_0__.html)`\n \n
\n
\n
`\n})\n\n//# sourceURL=webpack://mundorum-collections/./src/collections/fiction/components/lively-talk-oid.js?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ LivelyTalkOid: () => (/* binding */ LivelyTalkOid)\n/* harmony export */ });\n/* harmony import */ var _src_lib_oidlib_dev_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../src/lib/oidlib-dev.js */ \"./src/lib/oidlib-dev.js\");\n\n\nclass LivelyTalkOid extends _src_lib_oidlib_dev_js__WEBPACK_IMPORTED_MODULE_0__.OidUI {\n connectedCallback () {\n super.connectedCallback()\n this.handleSend()\n }\n\n handleProcess (topic, message) {\n this._callCustom('process', message)\n }\n\n handleSend (topic, message) {\n let fspeech = this.speech || ''\n if (message) {\n if (fspeech.includes('{{')) {\n fspeech = fspeech.replace(\n /{{[ \\t]*([^}]*)}}/g,\n (match, p1) => {\n p1 = (p1) ? p1.trim() : 'value'\n let value = (message[p1]) ? message[p1] : ''\n return value\n })\n } else if (message.value)\n fspeech += message.value.replace(/\\n/g, '
')\n .replace(/[ \\t]/g, ' ')\n } else\n fspeech = fspeech.replace(/{{[ \\t]*[^}]*}}/g, '')\n this._presentation.querySelector('#speech').innerHTML = fspeech\n }\n\n handleClear () {\n this._presentation.querySelector('#speech').innerHTML = ''\n }\n}\n\n_src_lib_oidlib_dev_js__WEBPACK_IMPORTED_MODULE_0__.Oid.component({\n id: 'foid:lively-talk',\n element: 'lively-talk-oid',\n properties: {\n character: {default: 'assets:images/dino.svg'},\n bubble: {default: 'assets:images/bubble-landscape.svg'},\n speech: {}\n },\n receive: {\n 'process': 'handleProcess',\n 'display': 'handleSend',\n 'clear': 'handleClear'\n },\n provide: ['itf:transfer'],\n implementation: LivelyTalkOid,\n styles: (0,_src_lib_oidlib_dev_js__WEBPACK_IMPORTED_MODULE_0__.css)`\n .character {\n width: 128px;\n }\n .bubble {\n background-repeat: no-repeat;\n background-size: 100% 100%;\n flex-basis: 100%;\n padding: 15px 15px 10px 40px;\n background-image: url(\"{{url:this.bubble}}\");\n }`,\n template: (0,_src_lib_oidlib_dev_js__WEBPACK_IMPORTED_MODULE_0__.html)`\n \n
\n
\n
`\n})\n\n//# sourceURL=webpack://mundorum-collections/./src/collections/fiction/components/lively-talk-oid.js?");
/***/ }),
diff --git a/health/heart/integrated/blockly-oid-custom.js b/health/heart/integrated/blockly-oid-custom.js
index 563ab82..b297985 100644
--- a/health/heart/integrated/blockly-oid-custom.js
+++ b/health/heart/integrated/blockly-oid-custom.js
@@ -192,30 +192,53 @@ blocks:
generator: {
'eletro': function (block, generator) {
- const image = block.getFieldValue('image')
- const estrutura = block.getFieldValue('estrutura')
- const efeito = block.getFieldValue('efeito')
- return `eletro ${image} ${estrutura} ${efeito}`
+ return JSON.stringify({
+ type: 'eletro',
+ image: block.getFieldValue('image'),
+ estrutura: block.getFieldValue('estrutura'),
+ efeito: block.getFieldValue('efeito')
+ })
},
'mecanico': function (block, generator) {
- const image = block.getFieldValue('image')
- const estrutura = block.getFieldValue('estrutura')
- const efeitoMec = block.getFieldValue('efeitoMec')
- const efeitoFis = block.getFieldValue('efeitoFis')
- return `mec ${image} ${estrutura} ${efeitoMec} ${efeitoMec}`
+ return JSON.stringify({
+ type: 'mecanico',
+ image: block.getFieldValue('image'),
+ estrutura: block.getFieldValue('estrutura'),
+ efeitoMec: block.getFieldValue('efeitoMec'),
+ efeitoFis: block.getFieldValue('efeitoFis')
+ })
},
'onda': function (block, generator) {
- const image = block.getFieldValue('image')
- return `onda ${image}`
+ return JSON.stringify({
+ type: 'onda',
+ image: block.getFieldValue('image')
+ })
},
'sequence': function (block, generator) {
- const onda = generator.statementToCode(block, 'onda')
- const atvEle = generator.statementToCode(block, 'atvEle')
- const atvMec = generator.statementToCode(block, 'atvMec')
- return `sequence ${onda} ${atvEle} ${atvMec}`
+ let result = []
+ let onda = generator.statementToCode(block, 'onda')
+ onda = (onda.length == 0) ? null : JSON.parse(onda)
+ let atvEle = generator.statementToCode(block, 'atvEle')
+ atvEle = (atvEle.length == 0) ? null : JSON.parse(atvEle)
+ let atvMec = generator.statementToCode(block, 'atvMec')
+ atvMec = (atvMec.length == 0) ? null : JSON.parse(atvMec)
+ result = [{
+ type: 'sequence',
+ onda: onda,
+ atvEle: atvEle,
+ atvMec: atvMec
+ }]
+ const nextBlock =
+ block.nextConnection && block.nextConnection.targetBlock()
+ if (nextBlock) {
+ const nb = generator.blockToCode(nextBlock)
+ if (nb.length > 0)
+ result = result.concat(JSON.parse(nb))
+ }
+ return JSON.stringify(result)
}
}
diff --git a/health/heart/integrated/index.html b/health/heart/integrated/index.html
index 87572ed..029db24 100644
--- a/health/heart/integrated/index.html
+++ b/health/heart/integrated/index.html
@@ -15,12 +15,16 @@
+ subscribe="action/robot~process">
+
+
diff --git a/health/heart/integrated/lib/oid-full-dev.js b/health/heart/integrated/lib/oid-full-dev.js
index 614d432..6e81028 100644
--- a/health/heart/integrated/lib/oid-full-dev.js
+++ b/health/heart/integrated/lib/oid-full-dev.js
@@ -34,7 +34,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
\***********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BlocklyOid: () => (/* binding */ BlocklyOid)\n/* harmony export */ });\n/* harmony import */ var _src_lib_oidlib_dev_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../src/lib/oidlib-dev.js */ \"./src/lib/oidlib-dev.js\");\n/* harmony import */ var blockly__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! blockly */ \"./src/collections/blockly/node_modules/blockly/index.js\");\n/* harmony import */ var blockly__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(blockly__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var blockly_javascript__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! blockly/javascript */ \"./src/collections/blockly/node_modules/blockly/javascript.js\");\n/* harmony import */ var blockly_javascript__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(blockly_javascript__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\n\nclass BlocklyOid extends _src_lib_oidlib_dev_js__WEBPACK_IMPORTED_MODULE_0__.OidUI {\n async connectedCallback () {\n await super.connectedCallback()\n const blocks = this._getCustomField('blocks')\n if (blocks != null) {\n blockly__WEBPACK_IMPORTED_MODULE_1__.common.defineBlocks(\n blockly__WEBPACK_IMPORTED_MODULE_1__.common.createBlockDefinitionsFromJsonArray(\n blocks))\n const generator = this._getCustomField('generator')\n if (generator != null)\n Object.assign(blockly_javascript__WEBPACK_IMPORTED_MODULE_2__.javascriptGenerator.forBlock, generator)\n }\n this.render()\n }\n\n render () {\n super.render()\n const toolbox = this._getCustomField('toolbox')\n if (toolbox != null) {\n this._ws = blockly__WEBPACK_IMPORTED_MODULE_1__.inject(this._presentation, {toolbox})\n this._ws.addChangeListener(this._blocksUpdated.bind(this))\n }\n }\n\n _blocksUpdated () {\n this._notify('update',\n {value: blockly_javascript__WEBPACK_IMPORTED_MODULE_2__.javascriptGenerator.workspaceToCode(this._ws)})\n }\n\n handleResize () {\n blockly__WEBPACK_IMPORTED_MODULE_1__.svgResize(this._ws)\n }\n}\n\n_src_lib_oidlib_dev_js__WEBPACK_IMPORTED_MODULE_0__.Oid.component({\n id: 'boid:blockly',\n element: 'blockly-oid',\n receive: ['resize'],\n implementation: BlocklyOid,\n shadow: false,\n template: (0,_src_lib_oidlib_dev_js__WEBPACK_IMPORTED_MODULE_0__.html)`\n \n
`\n})\n\n//# sourceURL=webpack://mundorum-collections/./src/collections/blockly/components/blockly-oid.js?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BlocklyOid: () => (/* binding */ BlocklyOid),\n/* harmony export */ jsonGenerator: () => (/* binding */ jsonGenerator)\n/* harmony export */ });\n/* harmony import */ var _src_lib_oidlib_dev_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../src/lib/oidlib-dev.js */ \"./src/lib/oidlib-dev.js\");\n/* harmony import */ var blockly__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! blockly */ \"./src/collections/blockly/node_modules/blockly/index.js\");\n/* harmony import */ var blockly__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(blockly__WEBPACK_IMPORTED_MODULE_1__);\n\n\nconst jsonGenerator = new blockly__WEBPACK_IMPORTED_MODULE_1__.Generator('JSON')\n// import {jsonGenerator} from './generators/json'\n\nclass BlocklyOid extends _src_lib_oidlib_dev_js__WEBPACK_IMPORTED_MODULE_0__.OidUI {\n async connectedCallback () {\n await super.connectedCallback()\n const blocks = this._getCustomField('blocks')\n if (blocks != null) {\n blockly__WEBPACK_IMPORTED_MODULE_1__.common.defineBlocks(\n blockly__WEBPACK_IMPORTED_MODULE_1__.common.createBlockDefinitionsFromJsonArray(\n blocks))\n const generator = this._getCustomField('generator')\n if (generator != null)\n Object.assign(jsonGenerator.forBlock, generator)\n }\n this.render()\n }\n\n render () {\n super.render()\n const toolbox = this._getCustomField('toolbox')\n if (toolbox != null) {\n this._ws = blockly__WEBPACK_IMPORTED_MODULE_1__.inject(this._presentation, {toolbox})\n this._ws.addChangeListener(this._blocksUpdated.bind(this))\n }\n }\n\n _blocksUpdated () {\n const json = jsonGenerator.workspaceToCode(this._ws)\n console.log('json', json)\n this._notify('update',\n {value: json})\n }\n\n handleResize () {\n blockly__WEBPACK_IMPORTED_MODULE_1__.svgResize(this._ws)\n }\n}\n\n_src_lib_oidlib_dev_js__WEBPACK_IMPORTED_MODULE_0__.Oid.component({\n id: 'boid:blockly',\n element: 'blockly-oid',\n receive: ['resize'],\n implementation: BlocklyOid,\n shadow: false,\n template: (0,_src_lib_oidlib_dev_js__WEBPACK_IMPORTED_MODULE_0__.html)`\n \n
`\n})\n\n//# sourceURL=webpack://mundorum-collections/./src/collections/blockly/components/blockly-oid.js?");
/***/ }),
@@ -154,7 +154,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
\***************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ LivelyTalkOid: () => (/* binding */ LivelyTalkOid)\n/* harmony export */ });\n/* harmony import */ var _src_lib_oidlib_dev_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../src/lib/oidlib-dev.js */ \"./src/lib/oidlib-dev.js\");\n\n\nclass LivelyTalkOid extends _src_lib_oidlib_dev_js__WEBPACK_IMPORTED_MODULE_0__.OidUI {\n connectedCallback () {\n super.connectedCallback()\n this.handleSend()\n }\n\n handleSend (topic, message) {\n let fspeech = this.speech || ''\n if (message) {\n if (fspeech.includes('{{')) {\n fspeech = fspeech.replace(\n /{{[ \\t]*([^}]*)}}/g,\n (match, p1) => {\n p1 = (p1) ? p1.trim() : 'value'\n let value = (message[p1]) ? message[p1] : ''\n return value\n })\n } else if (message.value)\n fspeech += message.value.replace(/\\n/g, '
')\n .replace(/[ \\t]/g, ' ')\n } else\n fspeech = fspeech.replace(/{{[ \\t]*[^}]*}}/g, '')\n this._presentation.querySelector('#speech').innerHTML = fspeech\n }\n\n handleClear () {\n this._presentation.querySelector('#speech').innerHTML = ''\n }\n}\n\n_src_lib_oidlib_dev_js__WEBPACK_IMPORTED_MODULE_0__.Oid.component({\n id: 'foid:lively-talk',\n element: 'lively-talk-oid',\n properties: {\n character: {default: 'assets:images/dino.svg'},\n bubble: {default: 'assets:images/bubble-landscape.svg'},\n speech: {}\n },\n receive: {'display': 'handleSend', 'clear': 'handleClear'},\n provide: ['itf:transfer'],\n implementation: LivelyTalkOid,\n styles: (0,_src_lib_oidlib_dev_js__WEBPACK_IMPORTED_MODULE_0__.css)`\n .character {\n width: 128px;\n }\n .bubble {\n background-repeat: no-repeat;\n background-size: 100% 100%;\n flex-basis: 100%;\n padding: 15px 15px 10px 40px;\n background-image: url(\"{{url:this.bubble}}\");\n }`,\n template: (0,_src_lib_oidlib_dev_js__WEBPACK_IMPORTED_MODULE_0__.html)`\n \n
\n
\n
`\n})\n\n//# sourceURL=webpack://mundorum-collections/./src/collections/fiction/components/lively-talk-oid.js?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ LivelyTalkOid: () => (/* binding */ LivelyTalkOid)\n/* harmony export */ });\n/* harmony import */ var _src_lib_oidlib_dev_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../src/lib/oidlib-dev.js */ \"./src/lib/oidlib-dev.js\");\n\n\nclass LivelyTalkOid extends _src_lib_oidlib_dev_js__WEBPACK_IMPORTED_MODULE_0__.OidUI {\n connectedCallback () {\n super.connectedCallback()\n this.handleSend()\n }\n\n handleProcess (topic, message) {\n this._callCustom('process', message)\n }\n\n handleSend (topic, message) {\n let fspeech = this.speech || ''\n if (message) {\n if (fspeech.includes('{{')) {\n fspeech = fspeech.replace(\n /{{[ \\t]*([^}]*)}}/g,\n (match, p1) => {\n p1 = (p1) ? p1.trim() : 'value'\n let value = (message[p1]) ? message[p1] : ''\n return value\n })\n } else if (message.value)\n fspeech += message.value.replace(/\\n/g, '
')\n .replace(/[ \\t]/g, ' ')\n } else\n fspeech = fspeech.replace(/{{[ \\t]*[^}]*}}/g, '')\n this._presentation.querySelector('#speech').innerHTML = fspeech\n }\n\n handleClear () {\n this._presentation.querySelector('#speech').innerHTML = ''\n }\n}\n\n_src_lib_oidlib_dev_js__WEBPACK_IMPORTED_MODULE_0__.Oid.component({\n id: 'foid:lively-talk',\n element: 'lively-talk-oid',\n properties: {\n character: {default: 'assets:images/dino.svg'},\n bubble: {default: 'assets:images/bubble-landscape.svg'},\n speech: {}\n },\n receive: {\n 'process': 'handleProcess',\n 'display': 'handleSend',\n 'clear': 'handleClear'\n },\n provide: ['itf:transfer'],\n implementation: LivelyTalkOid,\n styles: (0,_src_lib_oidlib_dev_js__WEBPACK_IMPORTED_MODULE_0__.css)`\n .character {\n width: 128px;\n }\n .bubble {\n background-repeat: no-repeat;\n background-size: 100% 100%;\n flex-basis: 100%;\n padding: 15px 15px 10px 40px;\n background-image: url(\"{{url:this.bubble}}\");\n }`,\n template: (0,_src_lib_oidlib_dev_js__WEBPACK_IMPORTED_MODULE_0__.html)`\n \n
\n
\n
`\n})\n\n//# sourceURL=webpack://mundorum-collections/./src/collections/fiction/components/lively-talk-oid.js?");
/***/ }),
diff --git a/health/heart/integrated/lively-talk-oid-custom.js b/health/heart/integrated/lively-talk-oid-custom.js
index bf23970..d283e15 100644
--- a/health/heart/integrated/lively-talk-oid-custom.js
+++ b/health/heart/integrated/lively-talk-oid-custom.js
@@ -9,5 +9,30 @@ Oid.customize('foid:lively-talk', {
.bubble {
height: 40vh;
padding-left: 100px;
- }`
+ }`,
+ process: function(oid, parameters) {
+ console.log('=== recebi comandos ===')
+ const stm = (oid.statements) ? oid.statements[0] : null
+ console.log(stm)
+ if (parameters) {
+ if (parameters.value == 'simular') {
+ if (stm.type == 'eletro') {
+ if (stm.image == 'heart1' && stm.estrutura == 'ondaP' && stm.efeito == 'ondaP') {
+ oid.handleSend('display', {value: '=== parabéns, você fez a associação correta'})
+ } else {
+ oid.handleSend('display', {value: '=== infelizmente a associação está incorreta'})
+ }
+ } else {
+ oid.handleSend('display', {value: JSON.stringify(stm)})
+ }
+ } else if (parameters.value != null && parameters.value.length > 0) {
+ console.log('=== guarda parametros')
+ console.log(parameters.value)
+ const lines = parameters.value.split('\n')
+ oid.statements = []
+ for (const l of lines)
+ oid.statements.push(JSON.parse(l))
+ }
+ }
+ }
})
\ No newline at end of file