@avs/go 0.12.71730
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/dist/avs-go.min.js +2 -0
- package/dist/avs-go.min.js.LICENSE.txt +61 -0
- package/lib/LICENSE-avsthreejs +41 -0
- package/lib/avs-three.module.min.js +2 -0
- package/package.json +34 -0
- package/src/avs-data-source-mixin.js +61 -0
- package/src/avs-go-dataviz.js +1982 -0
- package/src/avs-go-dynamic-html.js +143 -0
- package/src/avs-go-info.js +124 -0
- package/src/avs-http-mixin.js +197 -0
- package/src/avs-renderer.js +36 -0
- package/src/avs-stream-mixin.js +65 -0
- package/src/constants.js +21 -0
- package/src/logo.js +21 -0
- package/webpack.config.js +29 -0
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2018 Advanced Visual Systems Inc.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*
|
|
17
|
+
* This product includes software developed at
|
|
18
|
+
* Advanced Visual Systems Inc. (http://www.avs.com)
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
import {PolymerElement, html} from '@polymer/polymer/polymer-element.js';
|
|
22
|
+
import '@polymer/polymer/lib/elements/dom-repeat.js';
|
|
23
|
+
import {afterNextRender} from '@polymer/polymer/lib/utils/render-status.js';
|
|
24
|
+
import {AvsHttpMixin} from './avs-http-mixin.js';
|
|
25
|
+
import {AvsDataSourceMixin} from './avs-data-source-mixin.js';
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* `avs-go-dynamic-html` is a Polymer 3.0 element which requests HTML by instancing
|
|
29
|
+
* the `dynamicHtmlName` class on the AVS/Go server application running at `url`.
|
|
30
|
+
* The HTML response is inserted into this element's shadow DOM.
|
|
31
|
+
*
|
|
32
|
+
* @customElement
|
|
33
|
+
* @polymer
|
|
34
|
+
* @appliesMixin AvsHttpMixin
|
|
35
|
+
* @appliesMixin AvsDataSourceMixin
|
|
36
|
+
*/
|
|
37
|
+
export class AvsGoDynamicHtml extends AvsDataSourceMixin(AvsHttpMixin(PolymerElement)) {
|
|
38
|
+
|
|
39
|
+
static get template() {
|
|
40
|
+
return html`
|
|
41
|
+
<template is="dom-repeat" items="{{linkCss}}">
|
|
42
|
+
<link rel="stylesheet" href="[[item]]">
|
|
43
|
+
</template>
|
|
44
|
+
<style>
|
|
45
|
+
#htmlDiv {
|
|
46
|
+
width: 100%;
|
|
47
|
+
height: 100%;
|
|
48
|
+
position: relative;
|
|
49
|
+
}
|
|
50
|
+
</style>
|
|
51
|
+
<div id="htmlDiv"></div>
|
|
52
|
+
`;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
static get properties() {
|
|
56
|
+
return {
|
|
57
|
+
/**
|
|
58
|
+
* The URL to an instance of AVS/Go server application.
|
|
59
|
+
*/
|
|
60
|
+
url: {
|
|
61
|
+
type: String
|
|
62
|
+
},
|
|
63
|
+
/**
|
|
64
|
+
* An array of strings specifying CSS files for use in the dynamic html.
|
|
65
|
+
*/
|
|
66
|
+
linkCss: {
|
|
67
|
+
type: Array,
|
|
68
|
+
value: function () {
|
|
69
|
+
return [];
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
/**
|
|
73
|
+
* The name of the dynamic html registered in the library map on the server.
|
|
74
|
+
*/
|
|
75
|
+
dynamicHtmlName: {
|
|
76
|
+
type: String
|
|
77
|
+
},
|
|
78
|
+
/**
|
|
79
|
+
* User properties passed directly to the server.
|
|
80
|
+
*/
|
|
81
|
+
dynamicHtmlUserProperties: {
|
|
82
|
+
type: Object,
|
|
83
|
+
value: {}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Assemble the model from our properties to send to the server.
|
|
90
|
+
*/
|
|
91
|
+
_assembleModel() {
|
|
92
|
+
if (this.dynamicHtmlName === undefined) {
|
|
93
|
+
this._logError( JSON.stringify( {"GoType":1, "error":"\'dynamic-html-name\' property must be set to the name of the dynamic html registered in the library map on the server."} ) );
|
|
94
|
+
return undefined;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
var model = {dynamicHtmlProperties:{}};
|
|
98
|
+
|
|
99
|
+
model.dynamicHtmlProperties.name = this.dynamicHtmlName;
|
|
100
|
+
if (this.dynamicHtmlUserProperties !== undefined) {
|
|
101
|
+
model.dynamicHtmlProperties.userProperties = this.dynamicHtmlUserProperties;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
this._addDataSourceProperties(model);
|
|
105
|
+
|
|
106
|
+
return model;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* HTTP error handler.
|
|
111
|
+
* @param event
|
|
112
|
+
*/
|
|
113
|
+
_handleHttpError(event) {
|
|
114
|
+
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* HTTP response handler.
|
|
119
|
+
* @param json JSON parsed from HTTP response.
|
|
120
|
+
*/
|
|
121
|
+
_handleHttpResponse(json) {
|
|
122
|
+
if (json.html !== undefined) {
|
|
123
|
+
this.$.htmlDiv.innerHTML = decodeURIComponent(json.html.replace(/\+/g, '%20'));
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
*
|
|
129
|
+
*/
|
|
130
|
+
connectedCallback() {
|
|
131
|
+
super.connectedCallback();
|
|
132
|
+
|
|
133
|
+
// Make sure all CSS and layout has been processed
|
|
134
|
+
afterNextRender(this, function() {
|
|
135
|
+
if (this.__initialized != true) {
|
|
136
|
+
this._httpRequest(this.url, this._handleHttpResponse.bind(this), undefined, this._handleHttpError.bind(this), this._assembleModel());
|
|
137
|
+
this.__initialized = true;
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
window.customElements.define('avs-go-dynamic-html', AvsGoDynamicHtml);
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2018 Advanced Visual Systems Inc.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*
|
|
17
|
+
* This product includes software developed at
|
|
18
|
+
* Advanced Visual Systems Inc. (http://www.avs.com)
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
import {PolymerElement} from '@polymer/polymer/polymer-element.js';
|
|
22
|
+
import {AvsHttpMixin} from './avs-http-mixin.js';
|
|
23
|
+
import {AvsDataSourceMixin} from './avs-data-source-mixin.js';
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* `avs-go-info` is a Polymer 3.0 element which requests JSON data by instancing
|
|
27
|
+
* the `infoName` class on the AVS/Go server application running at `url`.
|
|
28
|
+
* After setting both these properties call the `updateInfo()` method to send the request.
|
|
29
|
+
* Attach a listener for the `avs-go-info-response` event to receive the JSON response.
|
|
30
|
+
*
|
|
31
|
+
* Special case: use an `infoName` of `GetServerInfo` to request a listing of
|
|
32
|
+
* data sources, themes, scenes, info and dynamic HTML available at `url`.
|
|
33
|
+
*
|
|
34
|
+
* @customElement
|
|
35
|
+
* @polymer
|
|
36
|
+
* @appliesMixin AvsHttpMixin
|
|
37
|
+
* @appliesMixin AvsDataSourceMixin
|
|
38
|
+
*/
|
|
39
|
+
export class AvsGoInfo extends AvsDataSourceMixin(AvsHttpMixin(PolymerElement)) {
|
|
40
|
+
|
|
41
|
+
static get properties() {
|
|
42
|
+
return {
|
|
43
|
+
/**
|
|
44
|
+
* The URL to an instance of AVS/Go server application.
|
|
45
|
+
*/
|
|
46
|
+
url: {
|
|
47
|
+
type: String
|
|
48
|
+
},
|
|
49
|
+
/**
|
|
50
|
+
* The name of the info registered in the library map on the server.
|
|
51
|
+
*/
|
|
52
|
+
infoName: {
|
|
53
|
+
type: String
|
|
54
|
+
},
|
|
55
|
+
/**
|
|
56
|
+
* User properties passed directly to the server.
|
|
57
|
+
*/
|
|
58
|
+
infoUserProperties: {
|
|
59
|
+
type: Object,
|
|
60
|
+
value: {}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Send the request to the server.
|
|
68
|
+
*/
|
|
69
|
+
updateInfo() {
|
|
70
|
+
// Use avs-http-mixin to send the model to the server
|
|
71
|
+
var model = this._assembleModel();
|
|
72
|
+
if (model !== undefined) {
|
|
73
|
+
this._httpRequest(this.url, this._handleHttpResponse.bind(this), undefined, this._handleHttpError.bind(this), model);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Assemble the model from our properties to send to the server.
|
|
79
|
+
*/
|
|
80
|
+
_assembleModel() {
|
|
81
|
+
if (this.infoName === undefined) {
|
|
82
|
+
this._logError( JSON.stringify( {"GoType":1, "error":"\'info-name\' property must be set to the name of the info registered in the library map on the server."} ) );
|
|
83
|
+
return undefined;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
var model = {infoProperties:{}};
|
|
87
|
+
|
|
88
|
+
model.infoProperties.name = this.infoName;
|
|
89
|
+
if (this.infoUserProperties !== undefined) {
|
|
90
|
+
model.infoProperties.userProperties = this.infoUserProperties;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
this._addDataSourceProperties(model);
|
|
94
|
+
|
|
95
|
+
return model;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* HTTP error handler.
|
|
100
|
+
* @param event
|
|
101
|
+
*/
|
|
102
|
+
_handleHttpError(event) {
|
|
103
|
+
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* HTTP response handler.
|
|
108
|
+
* @param json JSON parsed from HTTP response.
|
|
109
|
+
*/
|
|
110
|
+
_handleHttpResponse(json) {
|
|
111
|
+
if (json.info !== undefined) {
|
|
112
|
+
var infoJSON = JSON.parse(decodeURIComponent(json.info.replace(/\+/g, '%20')));
|
|
113
|
+
var infoEvent = {detail: infoJSON};
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* JSON response from server.
|
|
117
|
+
* @event avs-go-info-response
|
|
118
|
+
*/
|
|
119
|
+
this.dispatchEvent(new CustomEvent('avs-go-info-response', infoEvent));
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
window.customElements.define('avs-go-info', AvsGoInfo);
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2018 Advanced Visual Systems Inc.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*
|
|
17
|
+
* This product includes software developed at
|
|
18
|
+
* Advanced Visual Systems Inc. (http://www.avs.com)
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
import {dedupingMixin} from '@polymer/polymer/lib/utils/mixin.js';
|
|
22
|
+
import {VERSION} from './constants.js';
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Mixin to provide client-server communication using `XMLHttpRequest`
|
|
26
|
+
*
|
|
27
|
+
* @polymer
|
|
28
|
+
* @mixinFunction
|
|
29
|
+
*/
|
|
30
|
+
export const AvsHttpMixin = dedupingMixin((superClass) => class extends superClass {
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Generate a HTTP request.
|
|
34
|
+
* @param url URL to an instance of AVS/Go server or file to get.
|
|
35
|
+
* @param model Model content to POST to the server (or undefined to generate a GET request).
|
|
36
|
+
*/
|
|
37
|
+
_httpRequest(url, onLoad, onProgress, onError, model) {
|
|
38
|
+
|
|
39
|
+
if ( url === undefined ) {
|
|
40
|
+
|
|
41
|
+
this.dispatchEvent(new CustomEvent('avs-error', {detail: "\'url\' property must point to an instance of AVS/Go server."} ));
|
|
42
|
+
|
|
43
|
+
return;
|
|
44
|
+
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// Cancel previous xhr
|
|
48
|
+
if ( this.xhr !== undefined ) {
|
|
49
|
+
|
|
50
|
+
this.xhr.cancel = true;
|
|
51
|
+
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
var xhr = new XMLHttpRequest();
|
|
55
|
+
var scope = this;
|
|
56
|
+
|
|
57
|
+
xhr.onload = function ( event ) {
|
|
58
|
+
|
|
59
|
+
if ( xhr.status === 200 ) {
|
|
60
|
+
|
|
61
|
+
var response = JSON.parse( xhr.responseText );
|
|
62
|
+
|
|
63
|
+
if ( response == undefined || response == null ) {
|
|
64
|
+
|
|
65
|
+
scope.dispatchEvent(new CustomEvent('avs-error', {detail: "Empty response received from AVS/Go server."} ));
|
|
66
|
+
|
|
67
|
+
if ( onError !== undefined ) {
|
|
68
|
+
|
|
69
|
+
onError( event );
|
|
70
|
+
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
} else {
|
|
74
|
+
|
|
75
|
+
if ( response.error !== undefined ) {
|
|
76
|
+
|
|
77
|
+
scope._logError( response.error );
|
|
78
|
+
|
|
79
|
+
if ( onError !== undefined ) {
|
|
80
|
+
|
|
81
|
+
onError( event );
|
|
82
|
+
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
} else if ( xhr.cancel === undefined && onLoad !== undefined ) {
|
|
86
|
+
|
|
87
|
+
onLoad( response );
|
|
88
|
+
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
} else {
|
|
94
|
+
|
|
95
|
+
scope.dispatchEvent(new CustomEvent('avs-error', {detail: "Network error connecting to AVS/Go server, status code " + xhr.status} ));
|
|
96
|
+
|
|
97
|
+
if ( onError !== undefined ) {
|
|
98
|
+
|
|
99
|
+
onError( event );
|
|
100
|
+
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
xhr.onprogress = onProgress;
|
|
108
|
+
|
|
109
|
+
xhr.onerror = function( event ) {
|
|
110
|
+
|
|
111
|
+
scope.dispatchEvent(new CustomEvent('avs-error', {detail: "Network error connecting to AVS/Go server."} ));
|
|
112
|
+
|
|
113
|
+
if ( onError !== undefined ) {
|
|
114
|
+
|
|
115
|
+
onError( event );
|
|
116
|
+
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
if ( model === undefined ) {
|
|
122
|
+
|
|
123
|
+
xhr.open( 'GET', url, true );
|
|
124
|
+
|
|
125
|
+
xhr.send();
|
|
126
|
+
|
|
127
|
+
} else {
|
|
128
|
+
|
|
129
|
+
var verArray = VERSION.split('.');
|
|
130
|
+
var version = [ parseInt(verArray[0]), parseInt(verArray[1]), parseInt(verArray[2]) ];
|
|
131
|
+
var body = {source: this.localName, model: model, version: version};
|
|
132
|
+
|
|
133
|
+
xhr.open( 'POST', url, true );
|
|
134
|
+
xhr.setRequestHeader( 'Content-type', 'application/json' );
|
|
135
|
+
|
|
136
|
+
xhr.send( JSON.stringify( body ) );
|
|
137
|
+
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
this.xhr = xhr;
|
|
141
|
+
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* @param error
|
|
146
|
+
*/
|
|
147
|
+
_logError(error) {
|
|
148
|
+
var output;
|
|
149
|
+
if (error == undefined || error == null) {
|
|
150
|
+
output = "An unknown error occurred on the AVS/Go server.";
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
var goException = JSON.parse(decodeURIComponent(error.replace(/\+/g, '%20')));
|
|
154
|
+
|
|
155
|
+
var output = "An error occurred on the AVS/Go server";
|
|
156
|
+
|
|
157
|
+
for (var key in goException) {
|
|
158
|
+
if (goException.hasOwnProperty(key)) {
|
|
159
|
+
if (output != "") {
|
|
160
|
+
output = output + "\n ";
|
|
161
|
+
}
|
|
162
|
+
output = output + key + " : ";
|
|
163
|
+
var child = goException[key];
|
|
164
|
+
if (child === Object(child)) {
|
|
165
|
+
output = output + JSON.stringify(child);
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
output = output + goException[key];
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
/*
|
|
174
|
+
if (goException.GoType != undefined) {
|
|
175
|
+
if (goException.GoType == 0 || goException.GoType == 3) {
|
|
176
|
+
console.log(output);
|
|
177
|
+
}
|
|
178
|
+
else if (goException.GoType == 1) {
|
|
179
|
+
console.warn(output);
|
|
180
|
+
}
|
|
181
|
+
else if (goException.GoType == 2) {
|
|
182
|
+
console.error(output);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
else {
|
|
186
|
+
console.log(output);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
*/
|
|
190
|
+
|
|
191
|
+
/**
|
|
192
|
+
* Error message from AVS/Go Web Component or Server.
|
|
193
|
+
* @event avs-error
|
|
194
|
+
*/
|
|
195
|
+
this.dispatchEvent(new CustomEvent('avs-error', {detail: output} ));
|
|
196
|
+
}
|
|
197
|
+
});
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2018 Advanced Visual Systems Inc.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*
|
|
17
|
+
* This product includes software developed at
|
|
18
|
+
* Advanced Visual Systems Inc. (http://www.avs.com)
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
import {WebGLRenderer} from 'three';
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* `avs-renderer` is a custom element created internally by
|
|
25
|
+
* `avs-go-dataviz` to share a single instance of THREE.WebGLRenderer
|
|
26
|
+
* between multiple viewers.
|
|
27
|
+
*
|
|
28
|
+
* @customElement
|
|
29
|
+
*/
|
|
30
|
+
export class AvsRenderer extends HTMLElement {
|
|
31
|
+
connectedCallback() {
|
|
32
|
+
this.webGLRenderer = new WebGLRenderer( {alpha: true} );
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
window.customElements.define('avs-renderer', AvsRenderer);
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2018 Advanced Visual Systems Inc.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*
|
|
17
|
+
* This product includes software developed at
|
|
18
|
+
* Advanced Visual Systems Inc. (http://www.avs.com)
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
import {dedupingMixin} from '@polymer/polymer/lib/utils/mixin.js';
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Mixin to add stream properties functionality.
|
|
25
|
+
*
|
|
26
|
+
* @polymer
|
|
27
|
+
* @mixinFunction
|
|
28
|
+
*/
|
|
29
|
+
export const AvsStreamMixin = dedupingMixin((superClass) => class extends superClass {
|
|
30
|
+
|
|
31
|
+
static get properties() {
|
|
32
|
+
return {
|
|
33
|
+
/**
|
|
34
|
+
* Enables streaming of objects from the server.
|
|
35
|
+
*/
|
|
36
|
+
streamEnable: {
|
|
37
|
+
type: Boolean
|
|
38
|
+
},
|
|
39
|
+
/**
|
|
40
|
+
* The number of objects streamed for the first chunk.
|
|
41
|
+
*/
|
|
42
|
+
streamChunkSizeFirst: {
|
|
43
|
+
type: Number
|
|
44
|
+
},
|
|
45
|
+
/**
|
|
46
|
+
* The number of objects streamed per chunk.
|
|
47
|
+
*/
|
|
48
|
+
streamChunkSize: {
|
|
49
|
+
type: Number
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Add stream properties to renderer properties.
|
|
56
|
+
* @param rendererProperties Property structure to add to.
|
|
57
|
+
*/
|
|
58
|
+
_addStreamProperties(rendererProperties) {
|
|
59
|
+
if (this.streamEnable) {
|
|
60
|
+
rendererProperties.streamProperties = {};
|
|
61
|
+
if (this.streamChunkSizeFirst !== undefined) rendererProperties.streamProperties.chunkSizeFirst = this.streamChunkSizeFirst;
|
|
62
|
+
if (this.streamChunkSize !== undefined) rendererProperties.streamProperties.chunkSize = this.streamChunkSize;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
});
|
package/src/constants.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2018 Advanced Visual Systems Inc.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*
|
|
17
|
+
* This product includes software developed at
|
|
18
|
+
* Advanced Visual Systems Inc. (http://www.avs.com)
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
export var VERSION = '0.12.71730';
|
package/src/logo.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2018 Advanced Visual Systems Inc.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*
|
|
17
|
+
* This product includes software developed at
|
|
18
|
+
* Advanced Visual Systems Inc. (http://www.avs.com)
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
export var LOGO = "<svg viewBox=\"0 0 12.170833 12.170834\" height=\"46\" width=\"46\"><path d=\"M 7.2486073,9.9076469 H 5.2849946 L 8.4704866,6.123394 6.2360101,3.4130208 7.1885217,2.271515 10.424524,6.122616 Z M 6.0677825,8.6164059 3.9785527,6.1181874 6.0843599,3.5947138 8.1676051,6.1217782 Z M 1.7215741,6.1177086 6.5503222,0.33124232 H 8.5047186 L 3.6754319,6.1184268 5.9155339,8.7972611 4.958833,9.9337997 Z M 7.3399924,2.0900614 9.0019205,0.09856041 H 6.441462 L 1.4175556,6.1188457 4.7994028,10.140329 H 7.3569887 L 10.728423,6.122616 Z\" style=\"display:inline;fill:#2e8cbd;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.0598462\" id=\"path22\" /><path d=\"M 7.2486073,9.9076469 H 5.2849946 L 8.4704866,6.123394 6.2360101,3.4130208 7.1885217,2.271515 10.424524,6.122616 Z M 6.0677825,8.6164059 3.9785527,6.1181874 6.0843599,3.5947138 8.1676051,6.1217782 Z M 1.7215741,6.1177086 6.5503222,0.33124232 H 8.5047186 L 3.6754319,6.1184268 5.9155339,8.7972611 4.958833,9.9337997 Z M 7.3399924,2.0900614 9.0019205,0.09856041 H 6.441462 L 1.4175556,6.1188457 4.7994028,10.140329 H 7.3569887 L 10.728423,6.122616 Z\" style=\"fill:none;stroke:#2e8cbd;stroke-width:0.179539;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1\" id=\"path26\" /><g id=\"g78\" class=\"spinnerBackground\"><path d=\"M 5.0916012,7.2951741 C 4.5581951,6.6568 4.1217726,6.1273448 4.1217726,6.1186069 c 0,-0.022412 1.9511841,-2.3603376 1.9654853,-2.3550616 0.00645,0.00237 0.4481639,0.5337638 0.981573,1.1808488 L 8.0386633,6.1209126 7.7794202,6.4289493 C 7.6368389,6.5983701 7.1955674,7.1235887 6.7988191,7.5961017 6.4020707,8.0686158 6.0738528,8.4553619 6.0694438,8.4555369 6.0650388,8.4557059 5.6250056,7.9335497 5.0916012,7.2951741 Z\" id=\"path39\" /><path d=\"M 5.5264617,9.7764122 C 5.5385577,9.7616559 6.2319291,8.9374956 7.0672769,7.9449584 7.9026265,6.9524246 8.5861155,6.1329723 8.5861409,6.1239554 8.5861681,6.1149485 8.0879549,5.5032753 7.4789997,4.7647 6.8700453,4.0261248 6.3741103,3.4156149 6.3769213,3.4080117 6.3797713,3.4004117 6.562373,3.1774787 6.7827896,2.9126121 7.164399,2.4540426 7.1848936,2.4323657 7.2117806,2.4588741 7.2273026,2.4741751 7.9274525,3.3048587 8.767655,4.3048177 L 10.295296,6.1229243 9.4136171,7.1736012 C 8.9286921,7.751474 8.2336861,8.5795488 7.8691565,9.0137659 L 7.2063776,9.8032561 H 6.3554188 c -0.7939025,0 -0.8494825,-0.00179 -0.8289571,-0.026839 z\" id=\"path41\" /><path d=\"M 3.4382986,7.9881037 C 2.6063322,7.0074024 1.9089456,6.1852746 1.8885531,6.1611518 L 1.8514763,6.1172937 4.2262773,3.2714352 6.6010789,0.42557499 H 7.4490822 8.2970851 L 7.0763447,1.8883334 c -3.0218884,3.6209928 -3.5158893,4.2139972 -3.519859,4.2252855 -0.00231,0.00662 0.4954141,0.6094855 1.1060858,1.3397178 0.6106728,0.7302338 1.1103133,1.3348316 1.1103133,1.3435515 0,0.017734 -0.7956667,0.9718373 -0.8117152,0.9733472 -0.00562,5.108e-4 -0.6909038,-0.80143 -1.522871,-1.7821306 z\" id=\"path43\" /></g></svg>";
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
module.exports = {
|
|
4
|
+
entry: [
|
|
5
|
+
"@babel/polyfill",
|
|
6
|
+
"@webcomponents/webcomponentsjs/custom-elements-es5-adapter.js",
|
|
7
|
+
"@webcomponents/webcomponentsjs/webcomponents-bundle.js",
|
|
8
|
+
"./src/avs-go-dataviz.js",
|
|
9
|
+
"./src/avs-go-dynamic-html.js",
|
|
10
|
+
"./src/avs-go-info.js"
|
|
11
|
+
],
|
|
12
|
+
output: {
|
|
13
|
+
filename: "avs-go.min.js"
|
|
14
|
+
},
|
|
15
|
+
module: {
|
|
16
|
+
rules: [
|
|
17
|
+
{
|
|
18
|
+
test: /\.js$/,
|
|
19
|
+
use: {
|
|
20
|
+
loader: 'babel-loader',
|
|
21
|
+
options: {
|
|
22
|
+
presets: ["@babel/preset-env"],
|
|
23
|
+
plugins: ["@babel/plugin-transform-classes"]
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
}
|
|
29
|
+
};
|