66 * @version 2.0.0
77 */
88import temporaryCardAlert from "/js/dev/component/text-alert.js" ;
9- import Config from "/js/dev/config.js" ;
109import Key from "/js/dev/page/editor/key.js" ;
11- import Keys from "/js/dev/page/editor/key.js" ;
1210import LinesManager from "/js/dev/page/editor/linesManager.js" ;
1311import PrismCustom from "/js/dev/page/editor/prism/prismCustom.js" ;
1412import Request from "/js/dev/page/editor/requests.js" ;
1513import Tab , { TabType } from "/js/dev/page/editor/tab.js" ;
1614import Caret from "/js/dev/utils/caret.js" ;
17- import Debug from "/js/dev/utils/debug.js" ;
15+ import Debug from "/js/dev/utils/debugging/ debug.js" ;
1816import { getNodeFromAttribute , getParentFromSpecificTypes } from "/js/dev/utils/element.js" ;
1917import EventManager from "/js/dev/utils/events.js" ;
2018import Random from "/js/dev/utils/random.js" ;
@@ -29,6 +27,23 @@ export default class Editable{
2927
3028 this . keepSpace = false ;
3129
30+ /**
31+ * Receive all update events
32+ */
33+ document . addEventListener ( 'socket.receive.update' , e => {
34+ if ( e && e . detail && e . detail && typeof e . detail [ Symbol . iterator ] === 'function' ) {
35+ for ( const req of e . detail ) {
36+ if ( req . type ) {
37+ EventManager . triggerCustom ( 'editor.' + req . type , req . data ) ;
38+ } else {
39+ Debug . warn ( 'Trying to trigger a null received event.' ) ;
40+ }
41+ }
42+ } else {
43+ Debug . warn ( 'Trying to iterate on non-iterable data.' ) ;
44+ }
45+ } ) ;
46+
3247 EventManager . triggerCustom ( 'socket.preprocess' , [ this . coroutine , [ this ] ] ) ;
3348
3449 /**
@@ -157,29 +172,29 @@ export default class Editable{
157172 /**
158173 * Receive an update about the content of a line
159174 */
160- document . addEventListener ( 'socket.receive .set-line' , e => {
161- const id = e . detail . request . data . id ;
162- const content = e . detail . request . data . content ;
175+ document . addEventListener ( 'editor .set-line' , e => {
176+ const id = e . detail . id ;
177+ const content = e . detail . content ;
163178 this . last_request [ id ] = content ;
164179 this . linesManager . update ( id , content ) ;
165180 } ) ;
166181
167182 /**
168183 * Receive a new line to create
169184 */
170- document . addEventListener ( 'socket.receive .new-line' , e => {
171- const id = e . detail . request . data . id ;
172- const previous = e . detail . request . data . previous ;
173- const content = e . detail . request . data . content ;
185+ document . addEventListener ( 'editor .new-line' , e => {
186+ const id = e . detail . id ;
187+ const previous = e . detail . previous ;
188+ const content = e . detail . content ;
174189 this . last_request [ id ] = content ;
175190 this . linesManager . new ( id , previous , content ) ;
176191 } ) ;
177192
178193 /**
179194 * Receive a line to delete
180195 */
181- document . addEventListener ( 'socket.receive .delete-line' , e => {
182- const id = e . detail . request . data . id ;
196+ document . addEventListener ( 'editor .delete-line' , e => {
197+ const id = e . detail . id ;
183198 if ( id in this . last_request ) delete this . last_request [ id ] ;
184199 this . linesManager . remove ( id ) ;
185200 } ) ;
0 commit comments