spyne 0.19.0 → 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.
- package/.eslintrc.js +4 -3
- package/.travis.yml +24 -11
- package/karma.conf.js +76 -86
- package/lib/spyne.esm.js +15 -0
- package/lib/spyne.esm.js.map +1 -0
- package/lib/spyne.umd.js +9565 -0
- package/package.json +46 -26
- package/rollup.config.js +26 -0
- package/src/spyne/channels/channel-fetch-class.js +39 -43
- package/src/spyne/channels/channel-payload-class.js +61 -74
- package/src/spyne/channels/channel-proxy.js +25 -26
- package/src/spyne/channels/channel.js +141 -149
- package/src/spyne/channels/channels-config.js +46 -47
- package/src/spyne/channels/channels-map.js +61 -65
- package/src/spyne/channels/spyne-channel-lifecycle.js +12 -12
- package/src/spyne/channels/spyne-channel-route.js +241 -250
- package/src/spyne/channels/spyne-channel-ui.js +213 -75
- package/src/spyne/channels/spyne-channel-window.js +157 -157
- package/src/spyne/spyne-app.js +32 -19
- package/src/spyne/spyne-plugins.js +55 -70
- package/src/spyne/spyne.js +23 -23
- package/src/spyne/utils/channel-config-validator.js +10 -10
- package/src/spyne/utils/channel-fetch-util.js +72 -55
- package/src/spyne/utils/channel-payload-filter.js +89 -100
- package/src/spyne/utils/deep-merge.js +31 -29
- package/src/spyne/utils/frp-tools.js +108 -92
- package/src/spyne/utils/gc.js +6 -6
- package/src/spyne/utils/mixins/base-core-mixins.js +17 -15
- package/src/spyne/utils/mixins/base-streams-mixins.js +9 -9
- package/src/spyne/utils/route-channel-updater.js +23 -29
- package/src/spyne/utils/safe-clone.js +40 -58
- package/src/spyne/utils/sanitize-html.js +35 -0
- package/src/spyne/utils/security-policy.js +11 -0
- package/src/spyne/utils/spyne-app-properties.js +110 -114
- package/src/spyne/utils/spyne-logger.js +4 -11
- package/src/spyne/utils/spyne-plugins-methods.js +38 -63
- package/src/spyne/utils/spyne-trait.js +33 -33
- package/src/spyne/utils/spyne-utils-channel-route-url.js +229 -153
- package/src/spyne/utils/spyne-utils-channel-route.js +128 -138
- package/src/spyne/utils/spyne-utils-channel-window.js +39 -39
- package/src/spyne/utils/viewstream-animations.js +12 -12
- package/src/spyne/utils/viewstream-observables.js +45 -45
- package/src/spyne/views/dom-element-template.js +111 -114
- package/src/spyne/views/dom-element.js +82 -84
- package/src/spyne/views/view-stream-broadcaster.js +66 -62
- package/src/spyne/views/view-stream-element.js +105 -106
- package/src/spyne/views/view-stream-payload.js +25 -27
- package/src/spyne/views/view-stream-selector.js +157 -163
- package/src/spyne/views/view-stream.js +416 -640
- package/src/tests/channels/channel-dom.test.js +15 -15
- package/src/tests/channels/channel-fetch.test.js +51 -62
- package/src/tests/channels/channel-payload-class.test.js +50 -63
- package/src/tests/channels/channel-payload-filter.test.js +133 -193
- package/src/tests/channels/channel-route.test.js +102 -112
- package/src/tests/channels/channel-stream-item.test.js +19 -19
- package/src/tests/channels/channel-ui.test.js +15 -27
- package/src/tests/channels/channel-util-dom.test.js +31 -31
- package/src/tests/channels/channel.test.js +20 -25
- package/src/tests/channels/route-utils.test.js +61 -66
- package/src/tests/channels/url-utils.test.js +151 -151
- package/src/tests/channels/view-stream-broadcaster.test.js +7 -7
- package/src/tests/import.test.js +5 -5
- package/src/tests/index.js +6 -7
- package/src/tests/index.test.js +6 -8
- package/src/tests/mocks/channel-payload-data.js +218 -220
- package/src/tests/mocks/enhancer.test.js +5 -5
- package/src/tests/mocks/payload-ui.js +87 -90
- package/src/tests/mocks/routes-data.js +264 -266
- package/src/tests/mocks/spyne-docs.mocks.js +3 -3
- package/src/tests/mocks/template-renderer.mocks.js +47 -47
- package/src/tests/mocks/utils-data.js +78 -79
- package/src/tests/mocks/viewstream-internal-payload.mocks.js +50 -50
- package/src/tests/mocks/window-events-arr.js +1 -1
- package/src/tests/package-json.spec.test.js +9 -0
- package/src/tests/spyne-app.test.js +15 -18
- package/src/tests/spyne-plugin.test.js +16 -20
- package/src/tests/utils/channel-action-filter.test.js +84 -86
- package/src/tests/utils/channel-data-packet-generator.unused.js +62 -86
- package/src/tests/utils/channel-fetch-util.test.js +64 -66
- package/src/tests/utils/frp-tools.test.js +19 -19
- package/src/tests/utils/plugins-methods.test.js +31 -55
- package/src/tests/utils/security.test.js +10 -0
- package/src/tests/utils/spyne-app-properties.test.js +4 -8
- package/src/tests/views/dom-el-selectors.test.js +112 -119
- package/src/tests/views/dom-el-template-proxy.test.js +7 -0
- package/src/tests/views/dom-el-template.test.js +186 -156
- package/src/tests/views/dom-el.test.js +58 -56
- package/src/tests/views/view-stream-enhancer-loader.test.js +2 -2
- package/src/tests/views/view-stream-enhancer.test.js +11 -11
- package/src/tests/views/view-stream.test.js +22 -33
- package/webpack.config.js +76 -67
- package/docs/-_%20Solves%20equations%20of%20the%20form%20a%20_%20x%20=%20b.html +0 -487
- package/docs/DomItem.html +0 -298
- package/docs/DomItem_DomItem.html +0 -314
- package/docs/ViewStream.html +0 -2249
- package/docs/ViewStream_ViewStream.html +0 -503
- package/docs/custom/css/jsdoc-viewstream.css +0 -377
- package/docs/custom/layout.tmpl +0 -47
- package/docs/dom-item.js.html +0 -213
- package/docs/fonts/OpenSans-Bold-webfont.eot +0 -0
- package/docs/fonts/OpenSans-Bold-webfont.svg +0 -1830
- package/docs/fonts/OpenSans-Bold-webfont.woff +0 -0
- package/docs/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
- package/docs/fonts/OpenSans-BoldItalic-webfont.svg +0 -1830
- package/docs/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
- package/docs/fonts/OpenSans-Italic-webfont.eot +0 -0
- package/docs/fonts/OpenSans-Italic-webfont.svg +0 -1830
- package/docs/fonts/OpenSans-Italic-webfont.woff +0 -0
- package/docs/fonts/OpenSans-Light-webfont.eot +0 -0
- package/docs/fonts/OpenSans-Light-webfont.svg +0 -1831
- package/docs/fonts/OpenSans-Light-webfont.woff +0 -0
- package/docs/fonts/OpenSans-LightItalic-webfont.eot +0 -0
- package/docs/fonts/OpenSans-LightItalic-webfont.svg +0 -1835
- package/docs/fonts/OpenSans-LightItalic-webfont.woff +0 -0
- package/docs/fonts/OpenSans-Regular-webfont.eot +0 -0
- package/docs/fonts/OpenSans-Regular-webfont.svg +0 -1831
- package/docs/fonts/OpenSans-Regular-webfont.woff +0 -0
- package/docs/global.html +0 -548
- package/docs/index-custom.html +0 -79
- package/docs/index.html +0 -82
- package/docs/jsdoc.config.json +0 -22
- package/docs/scripts/linenumber.js +0 -25
- package/docs/scripts/prettify/Apache-License-2.0.txt +0 -202
- package/docs/scripts/prettify/lang-css.js +0 -2
- package/docs/scripts/prettify/prettify.js +0 -28
- package/docs/styles/jsdoc-default.css +0 -358
- package/docs/styles/prettify-jsdoc.css +0 -111
- package/docs/styles/prettify-tomorrow.css +0 -132
- 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
|
-
'
|
|
40
|
-
'
|
|
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
|
-
'
|
|
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
|
-
'
|
|
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
|
-
'
|
|
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
|
-
'
|
|
146
|
+
'CHANNEL_UI_PAYERDETAILCHANGE_EVENT',
|
|
147
|
+
'CHANNEL_UI_PAYMENTMETHODCHANGE_EVENT',
|
|
74
148
|
'CHANNEL_UI_PLAY_EVENT',
|
|
75
|
-
'
|
|
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
|
-
'
|
|
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
|
-
'
|
|
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
|
-
|
|
106
|
-
|
|
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
|
-
|
|
138
|
-
obj.data = SpyneChannelUI.removeSSID(obj.data)
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
.subscribe(this.onUIEvent.bind(this))
|
|
143
|
-
|
|
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
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
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
|
|
181
|
-
const action = obs.action
|
|
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
|
}
|