@hopara/iframe 2.4.56 → 2.4.58

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 (38) hide show
  1. package/build/client.js +1 -1
  2. package/build/service-worker.js +1 -1
  3. package/build/types/src/client/index.d.ts +43 -0
  4. package/build/types/src/demo/Demo.d.ts +5 -0
  5. package/build/types/src/demo/index.d.ts +1 -0
  6. package/build/types/src/events/EventEmitter.d.ts +15 -0
  7. package/build/types/src/events/EventReceiver.d.ts +5 -0
  8. package/build/types/src/events/Events.d.ts +69 -0
  9. package/build/types/src/index.d.ts +1 -0
  10. package/build/types/src/service-worker.d.ts +1 -0
  11. package/build/types/src/view/Provider.d.ts +73 -0
  12. package/build/types/src/view/Router.d.ts +1 -0
  13. package/build/types/src/view/View.d.ts +24 -0
  14. package/build/types/src/view/index.d.ts +1 -0
  15. package/package.json +8 -8
  16. package/src/client/index.ts +256 -0
  17. package/src/demo/Demo.tsx +119 -0
  18. package/src/demo/index.tsx +7 -0
  19. package/src/demo/resources/assets-data.json +20552 -0
  20. package/src/demo/resources/buildings-data.json +56 -0
  21. package/src/demo/resources/sensors-data.json +830 -0
  22. package/src/events/EventEmitter.ts +90 -0
  23. package/src/events/EventReceiver.ts +24 -0
  24. package/src/events/Events.ts +86 -0
  25. package/src/index.ts +2 -0
  26. package/src/react-app-env.d.ts +9 -0
  27. package/src/service-worker.ts +1 -0
  28. package/src/view/Provider.tsx +258 -0
  29. package/src/view/Router.tsx +35 -0
  30. package/src/view/View.tsx +159 -0
  31. package/src/view/index.tsx +20 -0
  32. package/tasks/preprocessHTML.js +0 -74
  33. package/tests/golden-images/circle-layer-with-entities.png +0 -0
  34. package/tests/golden-images/circle-layer.png +0 -0
  35. package/tests/golden-images/diff/circle-layer.png +0 -0
  36. package/tests/golden-images/temp/circle-layer.png +0 -0
  37. package/tests/spec/view.system.test.js +0 -57
  38. package/tests/systemTest.js +0 -15
@@ -0,0 +1,20 @@
1
+ import React from 'react'
2
+ import {createRoot} from 'react-dom/client'
3
+ import { View } from './View'
4
+ import * as serviceWorkerRegistration from '@hopara/service-worker/src/Registration'
5
+ import { initRum } from '@hopara/rum'
6
+
7
+ initRum({
8
+ service: 'embedded',
9
+ sessionReplaySampleRate: 0,
10
+ // we need to set this to true to be able to record sessions in iframes
11
+ usePartitionedCrossSiteSessionCookie: true,
12
+ trackViewsManually: true
13
+ })
14
+
15
+ createRoot(
16
+ document.getElementById('root') as Element)
17
+ .render(
18
+ <View />)
19
+
20
+ serviceWorkerRegistration.register()
@@ -1,74 +0,0 @@
1
- const fs = require('fs')
2
- const path = require('path')
3
- const pkg = require('../package.json')
4
-
5
- const appVersion = () => {
6
- if (!process.env.BUILD_NUMBER) return pkg.version
7
- return `${pkg.version}+${process.env.BUILD_NUMBER}`
8
- }
9
-
10
- const getGTMKey = () => {
11
- if (process.env.BUILD_ENV === 'production') return 'GTM-5HS5GGJQ'
12
- return 'GTM-PSBHVD56'
13
- }
14
-
15
- const gtagKey = () => {
16
- if (process.env.BUILD_ENV === 'production') return 'G-VFNH0BEP1Z'
17
- return 'G-0J2G78CGQY'
18
- }
19
-
20
- const resolvePath = (resourcePath) => {
21
- return path.resolve(__dirname, '..', resourcePath)
22
- }
23
-
24
- const readFile = (path) => new Promise((resolve, reject) => {
25
- fs.readFile(path, 'utf8', (err, data) => {
26
- if (err) return reject(err)
27
- return resolve(data)
28
- })
29
- })
30
-
31
- const saveFile = (path, data) => new Promise((resolve, reject) => {
32
- fs.writeFile(path, data, 'utf8', (err) => {
33
- if (err) return reject(err)
34
- return resolve()
35
- })
36
- })
37
-
38
- const replaceIn = (replaceCases, str) => {
39
- return replaceCases.reduce((str, c) => {
40
- return str.replace(new RegExp(c[0], 'g'), c[1])
41
- }, str)
42
- }
43
-
44
- module.exports.main = () => {
45
- const srcPath = resolvePath('./resources/index.html')
46
- const destPath = resolvePath('./public/index.html')
47
-
48
- const CONFIG = {
49
- gmtKey: process.env.GTM_KEY || getGTMKey(),
50
- gtagKey: process.env.GTAG_KEY || gtagKey(),
51
- appName: process.env.GTAG_APP_NAME || 'Kyrix',
52
- appVersion: appVersion(),
53
- }
54
-
55
- const replaceCases = [
56
- ['%VERSION%', appVersion()],
57
- ['%GTM_KEY%', CONFIG.gmtKey],
58
- ['%GTAG_KEY%', CONFIG.gtagKey],
59
- ['%GTAG_APP_NAME%', CONFIG.appName],
60
- ['%GTAG_APP_VERSION%', CONFIG.appVersion],
61
- ]
62
-
63
- readFile(srcPath)
64
- .then((fileString) => {
65
- const replacedFileString = replaceIn(replaceCases, fileString)
66
- return saveFile(destPath, replacedFileString)
67
- })
68
- .then(() => process.exit(0))
69
- .catch(() => process.exit(1))
70
- }
71
-
72
- // execute script
73
- // eslint-disable-next-line no-invalid-this
74
- this.main()
@@ -1,57 +0,0 @@
1
- const path = require('path')
2
- const {responses, httpServer, front} = require('@hopara/system-test')
3
- const mockServer = require('mockttp').getLocal({cors: httpServer.cors})
4
-
5
- const waitTime = () => {
6
- if (process.env.DEBUGGER) return 1200000
7
- return 2000
8
- }
9
-
10
- const mismatchPercentage = 0.2
11
-
12
- const goldenImagesDir = path.resolve(__dirname, '..', 'golden-images')
13
-
14
- module.exports = {
15
- 'before': async () => await mockServer.start(httpServer.port),
16
- 'after': async () => await mockServer.stop(),
17
-
18
- 'Circle Layer': (browser) => {
19
- mockServer.get('/visualization/circle').thenReply(200, JSON.stringify(responses.visualization.circle))
20
- mockServer.get('/view/queryName/row').thenReply(200, JSON.stringify(responses.geo.circle))
21
-
22
- browser.setWindowSize(1280, 800)
23
- .url(`http://localhost:${front.port}/`)
24
- .execute(() => {
25
- window.postMessage({
26
- toolbar: false,
27
- visualizationId: 'circle',
28
- tenant: 'hopara.io',
29
- accessToken: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyLCJ0ZW5hbnRzIjpbImhvcGFyYS5pbyJdLCJzY29wZSI6ImFwcDpsaXN0IGFwcDpyZWFkIHJlc291cmNlOnJlYWQgcm93OnJlYWQgdGVuYW50OnJlYWQgcmVzb3VyY2U6d3JpdGUgcm93OndyaXRlIGRhdGEtc291cmNlOnJlYWQgYXBwOndyaXRlIHRhYmxlOndyaXRlIGRhdGEtc291cmNlOndyaXRlIHZpZXc6d3JpdGUiLCJleHAiOjIwMzM5MjU2NTV9.wr6kuk3y42nT9V19U8kNMTp5iPSqJuds7IQp03ILH18',
30
- targetElementId: 'embedded-target-element',
31
- __hopara__eventType__: 'init',
32
- }, '*')
33
- })
34
- .pause(waitTime())
35
- .waitForElementVisible('#visualization-nav-bar')
36
- .compareScreenshot('circle-layer.png', mismatchPercentage, goldenImagesDir)
37
- },
38
- // 'Circle Layer With Entites': (browser) => {
39
- // mockServer.get('/visualization/circle').thenReply(200, JSON.stringify(responses.visualization.circleWithEntities))
40
- // mockServer.get('/view/queryName/row').thenReply(200, JSON.stringify(responses.geo.circle))
41
- //
42
- // browser.setWindowSize(1280, 800)
43
- // .url(`http://localhost:${front.port}/`)
44
- // .execute(() => {
45
- // window.postMessage({
46
- // visualizationId: 'circle',
47
- // tenant: 'hopara.io',
48
- // accessToken: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyLCJ0ZW5hbnRzIjpbImhvcGFyYS5pbyJdLCJzY29wZSI6ImFwcDpsaXN0IGFwcDpyZWFkIHJlc291cmNlOnJlYWQgcm93OnJlYWQgdGVuYW50OnJlYWQgcmVzb3VyY2U6d3JpdGUgcm93OndyaXRlIGRhdGEtc291cmNlOnJlYWQgYXBwOndyaXRlIHRhYmxlOndyaXRlIGRhdGEtc291cmNlOndyaXRlIHZpZXc6d3JpdGUiLCJleHAiOjIwMzM5MjU2NTV9.wr6kuk3y42nT9V19U8kNMTp5iPSqJuds7IQp03ILH18',
49
- // targetElementId: 'embedded-target-element',
50
- // __hopara__eventType__: 'init'
51
- // }, '*')
52
- // })
53
- // .pause(waitTime())
54
- // .waitForElementVisible('#_hopara_main_view_')
55
- // .compareScreenshot('circle-layer-with-entities.png', mismatchPercentage)
56
- // },
57
- }
@@ -1,15 +0,0 @@
1
- /* eslint-disable no-invalid-this */
2
- const path = require('path')
3
- const {nightwatch} = require('@hopara/system-test')
4
-
5
- const BUILD_DIR_NAME = process.env['BUILD_DIR_NAME'] || 'build'
6
- const buildPath = path.resolve(__dirname, '../', BUILD_DIR_NAME)
7
- const server = nightwatch.createServer(buildPath)
8
-
9
- server.listen(3456, 'localhost', function(err) {
10
- // eslint-disable-next-line
11
- console.log('server starting...', this.address())
12
-
13
- if (err) throw err
14
- nightwatch.spawCmd(this)
15
- })