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