spyne 0.19.1 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/.eslintrc.js +4 -3
  2. package/.travis.yml +24 -11
  3. package/karma.conf.js +76 -86
  4. package/lib/spyne.esm.js +15 -0
  5. package/lib/spyne.esm.js.map +1 -0
  6. package/lib/spyne.umd.js +9565 -0
  7. package/package.json +47 -27
  8. package/rollup.config.js +26 -0
  9. package/src/spyne/channels/channel-fetch-class.js +39 -43
  10. package/src/spyne/channels/channel-payload-class.js +61 -74
  11. package/src/spyne/channels/channel-proxy.js +25 -26
  12. package/src/spyne/channels/channel.js +141 -149
  13. package/src/spyne/channels/channels-config.js +46 -47
  14. package/src/spyne/channels/channels-map.js +61 -65
  15. package/src/spyne/channels/spyne-channel-lifecycle.js +12 -12
  16. package/src/spyne/channels/spyne-channel-route.js +241 -250
  17. package/src/spyne/channels/spyne-channel-ui.js +213 -75
  18. package/src/spyne/channels/spyne-channel-window.js +157 -157
  19. package/src/spyne/spyne-app.js +32 -19
  20. package/src/spyne/spyne-plugins.js +55 -70
  21. package/src/spyne/spyne.js +23 -23
  22. package/src/spyne/utils/channel-config-validator.js +10 -10
  23. package/src/spyne/utils/channel-fetch-util.js +72 -55
  24. package/src/spyne/utils/channel-payload-filter.js +89 -100
  25. package/src/spyne/utils/deep-merge.js +31 -29
  26. package/src/spyne/utils/frp-tools.js +108 -92
  27. package/src/spyne/utils/gc.js +6 -6
  28. package/src/spyne/utils/mixins/base-core-mixins.js +17 -15
  29. package/src/spyne/utils/mixins/base-streams-mixins.js +9 -9
  30. package/src/spyne/utils/route-channel-updater.js +23 -29
  31. package/src/spyne/utils/safe-clone.js +40 -58
  32. package/src/spyne/utils/sanitize-html.js +35 -0
  33. package/src/spyne/utils/security-policy.js +11 -0
  34. package/src/spyne/utils/spyne-app-properties.js +110 -114
  35. package/src/spyne/utils/spyne-logger.js +4 -11
  36. package/src/spyne/utils/spyne-plugins-methods.js +38 -63
  37. package/src/spyne/utils/spyne-trait.js +33 -33
  38. package/src/spyne/utils/spyne-utils-channel-route-url.js +229 -153
  39. package/src/spyne/utils/spyne-utils-channel-route.js +128 -138
  40. package/src/spyne/utils/spyne-utils-channel-window.js +39 -39
  41. package/src/spyne/utils/viewstream-animations.js +12 -12
  42. package/src/spyne/utils/viewstream-observables.js +45 -45
  43. package/src/spyne/views/dom-element-template.js +111 -114
  44. package/src/spyne/views/dom-element.js +82 -84
  45. package/src/spyne/views/view-stream-broadcaster.js +66 -62
  46. package/src/spyne/views/view-stream-element.js +105 -106
  47. package/src/spyne/views/view-stream-payload.js +25 -27
  48. package/src/spyne/views/view-stream-selector.js +157 -163
  49. package/src/spyne/views/view-stream.js +416 -640
  50. package/src/tests/channels/channel-dom.test.js +15 -15
  51. package/src/tests/channels/channel-fetch.test.js +51 -62
  52. package/src/tests/channels/channel-payload-class.test.js +50 -63
  53. package/src/tests/channels/channel-payload-filter.test.js +133 -193
  54. package/src/tests/channels/channel-route.test.js +102 -112
  55. package/src/tests/channels/channel-stream-item.test.js +19 -19
  56. package/src/tests/channels/channel-ui.test.js +15 -27
  57. package/src/tests/channels/channel-util-dom.test.js +31 -31
  58. package/src/tests/channels/channel.test.js +20 -25
  59. package/src/tests/channels/route-utils.test.js +61 -66
  60. package/src/tests/channels/url-utils.test.js +151 -151
  61. package/src/tests/channels/view-stream-broadcaster.test.js +7 -7
  62. package/src/tests/import.test.js +5 -5
  63. package/src/tests/index.js +6 -7
  64. package/src/tests/index.test.js +6 -8
  65. package/src/tests/mocks/channel-payload-data.js +218 -220
  66. package/src/tests/mocks/enhancer.test.js +5 -5
  67. package/src/tests/mocks/payload-ui.js +87 -90
  68. package/src/tests/mocks/routes-data.js +264 -266
  69. package/src/tests/mocks/spyne-docs.mocks.js +3 -3
  70. package/src/tests/mocks/template-renderer.mocks.js +47 -47
  71. package/src/tests/mocks/utils-data.js +78 -79
  72. package/src/tests/mocks/viewstream-internal-payload.mocks.js +50 -50
  73. package/src/tests/mocks/window-events-arr.js +1 -1
  74. package/src/tests/package-json.spec.test.js +9 -0
  75. package/src/tests/spyne-app.test.js +15 -18
  76. package/src/tests/spyne-plugin.test.js +16 -20
  77. package/src/tests/utils/channel-action-filter.test.js +84 -86
  78. package/src/tests/utils/channel-data-packet-generator.unused.js +62 -86
  79. package/src/tests/utils/channel-fetch-util.test.js +64 -66
  80. package/src/tests/utils/frp-tools.test.js +19 -19
  81. package/src/tests/utils/plugins-methods.test.js +31 -55
  82. package/src/tests/utils/security.test.js +10 -0
  83. package/src/tests/utils/spyne-app-properties.test.js +4 -8
  84. package/src/tests/views/dom-el-selectors.test.js +112 -119
  85. package/src/tests/views/dom-el-template-proxy.test.js +7 -0
  86. package/src/tests/views/dom-el-template.test.js +186 -156
  87. package/src/tests/views/dom-el.test.js +58 -56
  88. package/src/tests/views/view-stream-enhancer-loader.test.js +2 -2
  89. package/src/tests/views/view-stream-enhancer.test.js +11 -11
  90. package/src/tests/views/view-stream.test.js +22 -33
  91. package/webpack.config.js +76 -67
  92. package/docs/-_%20Solves%20equations%20of%20the%20form%20a%20_%20x%20=%20b.html +0 -487
  93. package/docs/DomItem.html +0 -298
  94. package/docs/DomItem_DomItem.html +0 -314
  95. package/docs/ViewStream.html +0 -2249
  96. package/docs/ViewStream_ViewStream.html +0 -503
  97. package/docs/custom/css/jsdoc-viewstream.css +0 -377
  98. package/docs/custom/layout.tmpl +0 -47
  99. package/docs/dom-item.js.html +0 -213
  100. package/docs/fonts/OpenSans-Bold-webfont.eot +0 -0
  101. package/docs/fonts/OpenSans-Bold-webfont.svg +0 -1830
  102. package/docs/fonts/OpenSans-Bold-webfont.woff +0 -0
  103. package/docs/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
  104. package/docs/fonts/OpenSans-BoldItalic-webfont.svg +0 -1830
  105. package/docs/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
  106. package/docs/fonts/OpenSans-Italic-webfont.eot +0 -0
  107. package/docs/fonts/OpenSans-Italic-webfont.svg +0 -1830
  108. package/docs/fonts/OpenSans-Italic-webfont.woff +0 -0
  109. package/docs/fonts/OpenSans-Light-webfont.eot +0 -0
  110. package/docs/fonts/OpenSans-Light-webfont.svg +0 -1831
  111. package/docs/fonts/OpenSans-Light-webfont.woff +0 -0
  112. package/docs/fonts/OpenSans-LightItalic-webfont.eot +0 -0
  113. package/docs/fonts/OpenSans-LightItalic-webfont.svg +0 -1835
  114. package/docs/fonts/OpenSans-LightItalic-webfont.woff +0 -0
  115. package/docs/fonts/OpenSans-Regular-webfont.eot +0 -0
  116. package/docs/fonts/OpenSans-Regular-webfont.svg +0 -1831
  117. package/docs/fonts/OpenSans-Regular-webfont.woff +0 -0
  118. package/docs/global.html +0 -548
  119. package/docs/index-custom.html +0 -79
  120. package/docs/index.html +0 -82
  121. package/docs/jsdoc.config.json +0 -22
  122. package/docs/scripts/linenumber.js +0 -25
  123. package/docs/scripts/prettify/Apache-License-2.0.txt +0 -202
  124. package/docs/scripts/prettify/lang-css.js +0 -2
  125. package/docs/scripts/prettify/prettify.js +0 -28
  126. package/docs/styles/jsdoc-default.css +0 -358
  127. package/docs/styles/prettify-jsdoc.css +0 -111
  128. package/docs/styles/prettify-tomorrow.css +0 -132
  129. package/docs/view-stream.js.html +0 -767
@@ -1,7 +1,7 @@
1
- import { Channel } from './channel';
2
- import { Observable } from 'rxjs';
3
- import { map } from 'rxjs/operators';
4
- import {equals, path, compose,prop, filter,replace, lensProp, over, omit, test, keys, either, toUpper} from 'ramda';
1
+ import { Channel } from './channel'
2
+ import { Observable } from 'rxjs'
3
+ import { map } from 'rxjs/operators'
4
+ import { equals, path, compose, prop, filter, replace, lensProp, over, omit, test, keys, either, toUpper } from 'ramda'
5
5
 
6
6
  export class SpyneChannelUI extends Channel {
7
7
  /**
@@ -21,46 +21,109 @@ export class SpyneChannelUI extends Channel {
21
21
  */
22
22
 
23
23
  constructor(name = 'CHANNEL_UI', props = {}) {
24
- props.sendCachedPayload = false;
25
- super(name, props);
26
- this.keyEventsLoaded = false;
27
- this.keyCodeArr = [];
24
+ props.sendCachedPayload = false
25
+ super(name, props)
26
+ this.keyEventsLoaded = false
27
+ this.keyCodeArr = []
28
28
  }
29
29
 
30
30
  addRegisteredActions() {
31
31
  return [
32
+ 'CHANNEL_UI_DOMCONTENTLOADED_EVENT',
33
+ 'CHANNEL_UI_ABORT_EVENT',
34
+ 'CHANNEL_UI_ACTIVATE_EVENT',
35
+ 'CHANNEL_UI_ADDTRACK_EVENT',
36
+ 'CHANNEL_UI_AFTERPRINT_EVENT',
37
+ 'CHANNEL_UI_AFTERSCRIPTEXECUTE_EVENT',
38
+ 'CHANNEL_UI_ANIMATIONCANCEL_EVENT',
32
39
  'CHANNEL_UI_ANIMATIONEND_EVENT',
33
40
  'CHANNEL_UI_ANIMATIONITERATION_EVENT',
34
41
  'CHANNEL_UI_ANIMATIONSTART_EVENT',
42
+ 'CHANNEL_UI_APPINSTALLED_EVENT',
35
43
  'CHANNEL_UI_AUDIOEND_EVENT',
36
- 'CHANNEL_UI_AUDIOPROCESS_EVENT',
37
44
  'CHANNEL_UI_AUDIOSTART_EVENT',
45
+ 'CHANNEL_UI_AUXCLICK_EVENT',
46
+ 'CHANNEL_UI_BEFOREINPUT_EVENT',
47
+ 'CHANNEL_UI_BEFOREPRINT_EVENT',
48
+ 'CHANNEL_UI_BEFOREUNLOAD_EVENT',
49
+ 'CHANNEL_UI_BEGINEVENT_EVENT',
50
+ 'CHANNEL_UI_BLOCKED_EVENT',
38
51
  'CHANNEL_UI_BLUR_EVENT',
39
- 'CHANNEL_UI_CACHED_EVENT',
40
- 'CHANNEL_UI_CANPLAYTHROUGH_EVENT',
52
+ 'CHANNEL_UI_BOUNDARY_EVENT',
53
+ 'CHANNEL_UI_BUFFEREDAMOUNTLOW_EVENT',
54
+ 'CHANNEL_UI_CANCEL_EVENT',
41
55
  'CHANNEL_UI_CANPLAY_EVENT',
56
+ 'CHANNEL_UI_CANPLAYTHROUGH_EVENT',
42
57
  'CHANNEL_UI_CHANGE_EVENT',
43
- 'CHANNEL_UI_CHECKBOXSTATECHANGE_EVENT',
44
58
  'CHANNEL_UI_CLICK_EVENT',
59
+ 'CHANNEL_UI_CLOSE_EVENT',
60
+ 'CHANNEL_UI_CLOSING_EVENT',
45
61
  'CHANNEL_UI_COMPLETE_EVENT',
62
+ 'CHANNEL_UI_COMPOSITIONEND_EVENT',
63
+ 'CHANNEL_UI_COMPOSITIONSTART_EVENT',
64
+ 'CHANNEL_UI_COMPOSITIONUPDATE_EVENT',
65
+ 'CHANNEL_UI_CONNECT_EVENT',
66
+ 'CHANNEL_UI_CONNECTIONSTATECHANGE_EVENT',
67
+ 'CHANNEL_UI_CONTENTDELETE_EVENT',
46
68
  'CHANNEL_UI_CONTEXTMENU_EVENT',
47
69
  'CHANNEL_UI_COPY_EVENT',
70
+ 'CHANNEL_UI_CUECHANGE_EVENT',
48
71
  'CHANNEL_UI_CUT_EVENT',
72
+ 'CHANNEL_UI_DATACHANNEL_EVENT',
49
73
  'CHANNEL_UI_DBLCLICK_EVENT',
74
+ 'CHANNEL_UI_DEVICECHANGE_EVENT',
75
+ 'CHANNEL_UI_DEVICEMOTION_EVENT',
76
+ 'CHANNEL_UI_DEVICEORIENTATION_EVENT',
77
+ 'CHANNEL_UI_DRAG_EVENT',
78
+ 'CHANNEL_UI_DRAGEND_EVENT',
79
+ 'CHANNEL_UI_DRAGENTER_EVENT',
80
+ 'CHANNEL_UI_DRAGLEAVE_EVENT',
81
+ 'CHANNEL_UI_DRAGOVER_EVENT',
82
+ 'CHANNEL_UI_DRAGSTART_EVENT',
83
+ 'CHANNEL_UI_DROP_EVENT',
50
84
  'CHANNEL_UI_DURATIONCHANGE_EVENT',
51
85
  'CHANNEL_UI_EMPTIED_EVENT',
86
+ 'CHANNEL_UI_END_EVENT',
87
+ 'CHANNEL_UI_ENDEVENT_EVENT',
52
88
  'CHANNEL_UI_ENDED_EVENT',
53
- 'CHANNEL_UI_EVENT',
89
+ 'CHANNEL_UI_ENTERPICTUREINPICTURE_EVENT',
90
+ 'CHANNEL_UI_ERROR_EVENT',
91
+ 'CHANNEL_UI_FOCUS_EVENT',
54
92
  'CHANNEL_UI_FOCUSIN_EVENT',
55
93
  'CHANNEL_UI_FOCUSOUT_EVENT',
56
- 'CHANNEL_UI_FOCUS_EVENT',
94
+ 'CHANNEL_UI_FORMDATA_EVENT',
95
+ 'CHANNEL_UI_FULLSCREENCHANGE_EVENT',
96
+ 'CHANNEL_UI_FULLSCREENERROR_EVENT',
97
+ 'CHANNEL_UI_GAMEPADCONNECTED_EVENT',
98
+ 'CHANNEL_UI_GAMEPADDISCONNECTED_EVENT',
99
+ 'CHANNEL_UI_GATHERINGSTATECHANGE_EVENT',
100
+ 'CHANNEL_UI_GESTURECHANGE_EVENT',
101
+ 'CHANNEL_UI_GESTUREEND_EVENT',
102
+ 'CHANNEL_UI_GESTURESTART_EVENT',
103
+ 'CHANNEL_UI_GOTPOINTERCAPTURE_EVENT',
57
104
  'CHANNEL_UI_HASHCHANGE_EVENT',
105
+ 'CHANNEL_UI_ICECANDIDATE_EVENT',
106
+ 'CHANNEL_UI_ICECANDIDATEERROR_EVENT',
107
+ 'CHANNEL_UI_ICECONNECTIONSTATECHANGE_EVENT',
108
+ 'CHANNEL_UI_ICEGATHERINGSTATECHANGE_EVENT',
58
109
  'CHANNEL_UI_INPUT_EVENT',
110
+ 'CHANNEL_UI_INPUTSOURCESCHANGE_EVENT',
111
+ 'CHANNEL_UI_INSTALL_EVENT',
112
+ 'CHANNEL_UI_INVALID_EVENT',
59
113
  'CHANNEL_UI_KEYDOWN_EVENT',
60
- 'CHANNEL_UI_KEYPRESS_EVENT',
61
114
  'CHANNEL_UI_KEYUP_EVENT',
115
+ 'CHANNEL_UI_LANGUAGECHANGE_EVENT',
116
+ 'CHANNEL_UI_LEAVEPICTUREINPICTURE_EVENT',
117
+ 'CHANNEL_UI_LOAD_EVENT',
62
118
  'CHANNEL_UI_LOADEDDATA_EVENT',
63
119
  'CHANNEL_UI_LOADEDMETADATA_EVENT',
120
+ 'CHANNEL_UI_LOADEND_EVENT',
121
+ 'CHANNEL_UI_LOADSTART_EVENT',
122
+ 'CHANNEL_UI_LOSTPOINTERCAPTURE_EVENT',
123
+ 'CHANNEL_UI_MARK_EVENT',
124
+ 'CHANNEL_UI_MERCHANTVALIDATION_EVENT',
125
+ 'CHANNEL_UI_MESSAGE_EVENT',
126
+ 'CHANNEL_UI_MESSAGEERROR_EVENT',
64
127
  'CHANNEL_UI_MOUSEDOWN_EVENT',
65
128
  'CHANNEL_UI_MOUSEENTER_EVENT',
66
129
  'CHANNEL_UI_MOUSELEAVE_EVENT',
@@ -68,119 +131,194 @@ export class SpyneChannelUI extends Channel {
68
131
  'CHANNEL_UI_MOUSEOUT_EVENT',
69
132
  'CHANNEL_UI_MOUSEOVER_EVENT',
70
133
  'CHANNEL_UI_MOUSEUP_EVENT',
71
- 'CHANNEL_UI_MOUSEWHEEL_EVENT',
134
+ 'CHANNEL_UI_MUTE_EVENT',
135
+ 'CHANNEL_UI_NEGOTIATIONNEEDED_EVENT',
136
+ 'CHANNEL_UI_NOMATCH_EVENT',
137
+ 'CHANNEL_UI_NOTIFICATIONCLICK_EVENT',
138
+ 'CHANNEL_UI_OFFLINE_EVENT',
139
+ 'CHANNEL_UI_ONLINE_EVENT',
140
+ 'CHANNEL_UI_OPEN_EVENT',
141
+ 'CHANNEL_UI_ORIENTATIONCHANGE_EVENT',
142
+ 'CHANNEL_UI_PAGEHIDE_EVENT',
143
+ 'CHANNEL_UI_PAGESHOW_EVENT',
144
+ 'CHANNEL_UI_PASTE_EVENT',
72
145
  'CHANNEL_UI_PAUSE_EVENT',
73
- 'CHANNEL_UI_PLAYING_EVENT',
146
+ 'CHANNEL_UI_PAYERDETAILCHANGE_EVENT',
147
+ 'CHANNEL_UI_PAYMENTMETHODCHANGE_EVENT',
74
148
  'CHANNEL_UI_PLAY_EVENT',
75
- 'CHANNEL_UI_RADIOSTATECHANGE_EVENT',
149
+ 'CHANNEL_UI_PLAYING_EVENT',
150
+ 'CHANNEL_UI_POINTERCANCEL_EVENT',
151
+ 'CHANNEL_UI_POINTERDOWN_EVENT',
152
+ 'CHANNEL_UI_POINTERENTER_EVENT',
153
+ 'CHANNEL_UI_POINTERLEAVE_EVENT',
154
+ 'CHANNEL_UI_POINTERLOCKCHANGE_EVENT',
155
+ 'CHANNEL_UI_POINTERLOCKERROR_EVENT',
156
+ 'CHANNEL_UI_POINTERMOVE_EVENT',
157
+ 'CHANNEL_UI_POINTEROUT_EVENT',
158
+ 'CHANNEL_UI_POINTEROVER_EVENT',
159
+ 'CHANNEL_UI_POINTERUP_EVENT',
160
+ 'CHANNEL_UI_POPSTATE_EVENT',
161
+ 'CHANNEL_UI_PROGRESS_EVENT',
162
+ 'CHANNEL_UI_PUSH_EVENT',
163
+ 'CHANNEL_UI_PUSHSUBSCRIPTIONCHANGE_EVENT',
76
164
  'CHANNEL_UI_RATECHANGE_EVENT',
77
165
  'CHANNEL_UI_READYSTATECHANGE_EVENT',
166
+ 'CHANNEL_UI_REJECTIONHANDLED_EVENT',
167
+ 'CHANNEL_UI_REMOVETRACK_EVENT',
168
+ 'CHANNEL_UI_REMOVESTREAM_EVENT',
169
+ 'CHANNEL_UI_REPEATEVENT_EVENT',
170
+ 'CHANNEL_UI_RESET_EVENT',
171
+ 'CHANNEL_UI_RESIZE_EVENT',
172
+ 'CHANNEL_UI_RESOURCETIMINGBUFFERFULL_EVENT',
173
+ 'CHANNEL_UI_RESULT_EVENT',
174
+ 'CHANNEL_UI_RESUME_EVENT',
175
+ 'CHANNEL_UI_SCROLL_EVENT',
176
+ 'CHANNEL_UI_SEARCH_EVENT',
78
177
  'CHANNEL_UI_SEEKED_EVENT',
79
178
  'CHANNEL_UI_SEEKING_EVENT',
80
179
  'CHANNEL_UI_SELECT_EVENT',
180
+ 'CHANNEL_UI_SELECTEDCANDIDATEPAIRCHANGE_EVENT',
181
+ 'CHANNEL_UI_SELECTEND_EVENT',
182
+ 'CHANNEL_UI_SELECTIONCHANGE_EVENT',
183
+ 'CHANNEL_UI_SELECTSTART_EVENT',
184
+ 'CHANNEL_UI_SHIPPINGADDRESSCHANGE_EVENT',
185
+ 'CHANNEL_UI_SHIPPINGOPTIONCHANGE_EVENT',
186
+ 'CHANNEL_UI_SIGNALINGSTATECHANGE_EVENT',
187
+ 'CHANNEL_UI_SLOTCHANGE_EVENT',
188
+ 'CHANNEL_UI_SOUNDEND_EVENT',
189
+ 'CHANNEL_UI_SOUNDSTART_EVENT',
190
+ 'CHANNEL_UI_SPEECHEND_EVENT',
191
+ 'CHANNEL_UI_SPEECHSTART_EVENT',
192
+ 'CHANNEL_UI_SQUEEZE_EVENT',
193
+ 'CHANNEL_UI_SQUEEZEEND_EVENT',
194
+ 'CHANNEL_UI_SQUEEZESTART_EVENT',
81
195
  'CHANNEL_UI_STALLED_EVENT',
196
+ 'CHANNEL_UI_START_EVENT',
197
+ 'CHANNEL_UI_STATECHANGE_EVENT',
198
+ 'CHANNEL_UI_STORAGE_EVENT',
82
199
  'CHANNEL_UI_SUBMIT_EVENT',
200
+ 'CHANNEL_UI_SUCCESS_EVENT',
83
201
  'CHANNEL_UI_SUSPEND_EVENT',
84
- 'CHANNEL_UI_SVGABORT_EVENT',
85
- 'CHANNEL_UI_SVGERROR_EVENT',
86
- 'CHANNEL_UI_SVGLOAD_EVENT',
87
- 'CHANNEL_UI_SVGRESIZE_EVENT',
88
- 'CHANNEL_UI_SVGSCROLL_EVENT',
89
- 'CHANNEL_UI_SVGUNLOAD_EVENT',
90
- 'CHANNEL_UI_SVGZOOM_EVENT',
202
+ 'CHANNEL_UI_TIMEOUT_EVENT',
91
203
  'CHANNEL_UI_TIMEUPDATE_EVENT',
204
+ 'CHANNEL_UI_TOGGLE_EVENT',
205
+ 'CHANNEL_UI_TONECHANGE_EVENT',
92
206
  'CHANNEL_UI_TOUCHCANCEL_EVENT',
93
207
  'CHANNEL_UI_TOUCHEND_EVENT',
94
208
  'CHANNEL_UI_TOUCHMOVE_EVENT',
95
209
  'CHANNEL_UI_TOUCHSTART_EVENT',
210
+ 'CHANNEL_UI_TRACK_EVENT',
211
+ 'CHANNEL_UI_TRANSITIONCANCEL_EVENT',
96
212
  'CHANNEL_UI_TRANSITIONEND_EVENT',
97
- 'CHANNEL_UI_VALUECHANGE_EVENT',
213
+ 'CHANNEL_UI_TRANSITIONRUN_EVENT',
214
+ 'CHANNEL_UI_TRANSITIONSTART_EVENT',
215
+ 'CHANNEL_UI_UNHANDLEDREJECTION_EVENT',
216
+ 'CHANNEL_UI_UNLOAD_EVENT',
217
+ 'CHANNEL_UI_UNMUTE_EVENT',
218
+ 'CHANNEL_UI_UPGRADENEEDED_EVENT',
219
+ 'CHANNEL_UI_VERSIONCHANGE_EVENT',
220
+ 'CHANNEL_UI_VISIBILITYCHANGE_EVENT',
221
+ 'CHANNEL_UI_VOICESCHANGED_EVENT',
98
222
  'CHANNEL_UI_VOLUMECHANGE_EVENT',
223
+ 'CHANNEL_UI_VRDISPLAYACTIVATE_EVENT',
224
+ 'CHANNEL_UI_VRDISPLAYBLUR_EVENT',
225
+ 'CHANNEL_UI_VRDISPLAYCONNECT_EVENT',
226
+ 'CHANNEL_UI_VRDISPLAYDEACTIVATE_EVENT',
227
+ 'CHANNEL_UI_VRDISPLAYDISCONNECT_EVENT',
228
+ 'CHANNEL_UI_VRDISPLAYFOCUS_EVENT',
229
+ 'CHANNEL_UI_VRDISPLAYPOINTERRESTRICTED_EVENT',
230
+ 'CHANNEL_UI_VRDISPLAYPOINTERUNRESTRICTED_EVENT',
231
+ 'CHANNEL_UI_VRDISPLAYPRESENTCHANGE_EVENT',
99
232
  'CHANNEL_UI_WAITING_EVENT',
233
+ 'CHANNEL_UI_WEBGLCONTEXTCREATIONERROR_EVENT',
234
+ 'CHANNEL_UI_WEBGLCONTEXTLOST_EVENT',
235
+ 'CHANNEL_UI_WEBGLCONTEXTRESTORED_EVENT',
236
+ 'CHANNEL_UI_WEBKITMOUSEFORCECHANGED_EVENT',
237
+ 'CHANNEL_UI_WEBKITMOUSEFORCEDOWN_EVENT',
238
+ 'CHANNEL_UI_WEBKITMOUSEFORCEUP_EVENT',
239
+ 'CHANNEL_UI_WEBKITMOUSEFORCEWILLBEGIN_EVENT',
100
240
  'CHANNEL_UI_WHEEL_EVENT'
101
- ];
241
+ ]
102
242
  }
103
243
 
104
244
  loadKeyStream() {
105
- let keyUps = Observable.fromEvent(document, 'keyup');
106
- let filterKeys = e => this.keyCodeArr.indexOf(e.keyCode) >= 0;
245
+ const keyUps = Observable.fromEvent(document, 'keyup')
246
+ const filterKeys = e => this.keyCodeArr.indexOf(e.keyCode) >= 0
107
247
  this.keyPresses$ = keyUps.groupBy(e => e.keyCode)
108
248
  .mergeAll()
109
249
  .filter(filterKeys)
110
250
  .repeat()
111
- .subscribe(this.onKeyPressed.bind(this));
251
+ .subscribe(this.onKeyPressed.bind(this))
112
252
  }
113
253
 
114
254
  addKeyEvent(num) {
115
255
  if (this.keyEventsLoaded === false) {
116
- this.loadKeyStream();
256
+ this.loadKeyStream()
117
257
  }
118
- this.keyEventsLoaded = true;
119
- this.registerKey(num);
258
+ this.keyEventsLoaded = true
259
+ this.registerKey(num)
120
260
  }
121
261
 
122
262
  registerKey(c) {
123
- this.keyCodeArr.push(c);
263
+ this.keyCodeArr.push(c)
124
264
  }
125
265
 
126
266
  onKeyPressed(evt) {
127
- console.log('key is ', evt);
128
- }
129
- static removeSSID(pl){
130
- const routeLens = lensProp(['payload']);
131
- const omitSSID = over(routeLens, omit(['vsid']));
132
- return omitSSID(pl);
267
+ // console.log('key is ', evt);
133
268
  }
134
269
 
270
+ static removeSSID(pl) {
271
+ const routeLens = lensProp(['payload'])
272
+ const omitSSID = over(routeLens, omit(['vsid']))
273
+ return omitSSID(pl)
274
+ }
135
275
 
136
276
  onIncomingObservable(obj) {
137
- let eqsName = equals(obj.name, this.props.name);
138
- obj.data = SpyneChannelUI.removeSSID(obj.data);
139
- let {payload, srcElement} = obj.data;
140
- let dataObj = obsVal => ({ payload, srcElement, event: obsVal });
141
- let onSuccess = (obj) => obj.observable.pipe(map(dataObj))
142
- .subscribe(this.onUIEvent.bind(this));
143
- let onError = () => {};
144
- return eqsName === true ? onSuccess(obj) : onError();
277
+ const eqsName = equals(obj.name, this.props.name)
278
+ obj.data = SpyneChannelUI.removeSSID(obj.data)
279
+ const { payload, srcElement } = obj.data
280
+ const dataObj = obsVal => ({ payload, srcElement, event: obsVal })
281
+ const onSuccess = (obj) => obj.observable.pipe(map(dataObj))
282
+ .subscribe(this.onUIEvent.bind(this))
283
+ const onError = () => {}
284
+ return eqsName === true ? onSuccess(obj) : onError()
145
285
  }
146
286
 
147
287
  getActionState(val) {
148
- let typeVal = path(['event', 'type']);
149
- let typeOverRideVal = path(['event', 'typeOverRide']);
150
- let eventType = compose(toUpper, either(typeOverRideVal, typeVal));
151
- let type = eventType(val);
152
- let mainAction = 'CHANNEL_UI';
153
- return type !== undefined ? `${mainAction}_${type}_EVENT` : mainAction;
288
+ const typeVal = path(['event', 'type'])
289
+ const typeOverRideVal = path(['event', 'typeOverRide'])
290
+ const eventType = compose(toUpper, either(typeOverRideVal, typeVal))
291
+ const type = eventType(val)
292
+ const mainAction = 'CHANNEL_UI'
293
+ return type !== undefined ? `${mainAction}_${type}_EVENT` : mainAction
154
294
  }
155
295
 
156
- static checkForEventMethods(obs){
157
- const re = /^(event)([A-Z].*)([A-Z].*)$/gm;
158
- const getMethods = compose(filter(test(re)), keys, prop('payload'));
159
- const methodsArr = getMethods(obs);
160
- if (methodsArr.length>=1) {
161
- const evt = prop('event', obs);
296
+ static checkForEventMethods(obs) {
297
+ const re = /^(event)([A-Z].*)([A-Z].*)$/gm
298
+ const getMethods = compose(filter(test(re)), keys, prop('payload'))
299
+ const methodsArr = getMethods(obs)
300
+ if (methodsArr.length >= 1) {
301
+ const evt = prop('event', obs)
162
302
  if (evt !== undefined) {
163
- const methodUpdate = (match,p1,p2,p3,p4)=>String(p2).toLowerCase()+p3+p4;
164
- const methodStrReplace = replace(/^(event)([A-Z])(.*)([A-Z].*)$/gm, methodUpdate);
165
- const runMethod = (methodStr)=>{
166
- const m = methodStrReplace(methodStr);
167
- if (evt[m]!==undefined && typeof(evt[m])==='function') {evt[m]();}
168
- };
303
+ const methodUpdate = (match, p1, p2, p3, p4) => String(p2).toLowerCase() + p3 + p4
304
+ const methodStrReplace = replace(/^(event)([A-Z])(.*)([A-Z].*)$/gm, methodUpdate)
305
+ const runMethod = (methodStr) => {
306
+ const m = methodStrReplace(methodStr)
307
+ if (evt[m] !== undefined && typeof (evt[m]) === 'function') { evt[m]() }
308
+ }
169
309
  methodsArr.forEach(runMethod)
170
310
  }
171
311
  }
172
312
 
173
- return obs;
313
+ return obs
174
314
  }
175
315
 
176
-
177
-
178
316
  onUIEvent(obs) {
179
- SpyneChannelUI.checkForEventMethods(obs);
180
- obs['action'] = this.getActionState(obs);
181
- const action = obs.action;// this.getActionState(obs);
182
- const { payload, srcElement } = obs;
183
- const event = obs.event;
184
- this.sendChannelPayload(action, payload, srcElement, event);
317
+ SpyneChannelUI.checkForEventMethods(obs)
318
+ obs.action = this.getActionState(obs)
319
+ const action = obs.action// this.getActionState(obs);
320
+ const { payload, srcElement } = obs
321
+ const event = obs.event
322
+ this.sendChannelPayload(action, payload, srcElement, event)
185
323
  }
186
324
  }