@forstaglobal/react-native-mobilesdk 3.9.2-beta.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 (53) hide show
  1. package/LICENSE +13 -0
  2. package/README.md +158 -0
  3. package/android/build.gradle +110 -0
  4. package/android/gradle.properties +5 -0
  5. package/android/src/main/AndroidManifest.xml +3 -0
  6. package/android/src/main/AndroidManifestNew.xml +2 -0
  7. package/android/src/main/java/com/mobilesdk/MobileSdkModule.kt +283 -0
  8. package/android/src/main/java/com/mobilesdk/MobileSdkPackage.kt +17 -0
  9. package/android/src/main/java/com/mobilesdk/module/MobileBridge.kt +15 -0
  10. package/android/src/main/java/com/mobilesdk/module/TriggerCallback.kt +60 -0
  11. package/ios/MobileSdk-Bridging-Header.h +2 -0
  12. package/ios/MobileSdk.mm +118 -0
  13. package/ios/MobileSdk.swift +257 -0
  14. package/ios/Mobilesdk.xcodeproj/project.pbxproj +351 -0
  15. package/ios/Mobilesdk.xcodeproj/project.xcworkspace/contents.xcworkspacedata +4 -0
  16. package/ios/Mobilesdk.xcworkspace/contents.xcworkspacedata +10 -0
  17. package/ios/Mobilesdk.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  18. package/ios/Module/Exts.swift +16 -0
  19. package/ios/Module/MobileTriggerCallback.swift +49 -0
  20. package/ios/Module/SdkEmitter.mm +5 -0
  21. package/ios/Module/SdkEmitter.swift +26 -0
  22. package/ios/Podfile +7 -0
  23. package/ios/Podfile.lock +16 -0
  24. package/lib/commonjs/index.js +161 -0
  25. package/lib/commonjs/index.js.map +1 -0
  26. package/lib/commonjs/models/models.js +2 -0
  27. package/lib/commonjs/models/models.js.map +1 -0
  28. package/lib/commonjs/program/triggerCallback.js +38 -0
  29. package/lib/commonjs/program/triggerCallback.js.map +1 -0
  30. package/lib/commonjs/views/surveyWebView.js +60 -0
  31. package/lib/commonjs/views/surveyWebView.js.map +1 -0
  32. package/lib/module/index.js +116 -0
  33. package/lib/module/index.js.map +1 -0
  34. package/lib/module/models/models.js +2 -0
  35. package/lib/module/models/models.js.map +1 -0
  36. package/lib/module/program/triggerCallback.js +31 -0
  37. package/lib/module/program/triggerCallback.js.map +1 -0
  38. package/lib/module/views/surveyWebView.js +50 -0
  39. package/lib/module/views/surveyWebView.js.map +1 -0
  40. package/lib/typescript/index.d.ts +39 -0
  41. package/lib/typescript/index.d.ts.map +1 -0
  42. package/lib/typescript/models/models.d.ts +15 -0
  43. package/lib/typescript/models/models.d.ts.map +1 -0
  44. package/lib/typescript/program/triggerCallback.d.ts +20 -0
  45. package/lib/typescript/program/triggerCallback.d.ts.map +1 -0
  46. package/lib/typescript/views/surveyWebView.d.ts +17 -0
  47. package/lib/typescript/views/surveyWebView.d.ts.map +1 -0
  48. package/package.json +137 -0
  49. package/react-native-mobilesdk.podspec +43 -0
  50. package/src/index.tsx +202 -0
  51. package/src/models/models.ts +16 -0
  52. package/src/program/triggerCallback.ts +51 -0
  53. package/src/views/surveyWebView.tsx +69 -0
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TriggerManager = void 0;
7
+ var _reactNative = require("react-native");
8
+ class Manager {
9
+ listener = null;
10
+ sdkEmitter = _reactNative.NativeModules.SdkEmitter;
11
+ triggerManagerEmitter = new _reactNative.NativeEventEmitter(this.sdkEmitter);
12
+ constructor() {
13
+ this.triggerManagerEmitter.addListener('__mobileOnWebSurveyStart', this.onWebSurveyStart);
14
+ this.triggerManagerEmitter.addListener('__mobileOnScenarioLoad', this.onScenarioLoad);
15
+ this.triggerManagerEmitter.addListener('__mobileOnScenarioError', this.onScenarioError);
16
+ }
17
+ setSdkListener(callbackListener) {
18
+ this.listener = callbackListener;
19
+ }
20
+ removeSdkListener() {
21
+ this.listener = null;
22
+ }
23
+ onWebSurveyStart = event => {
24
+ var _this$listener;
25
+ (_this$listener = this.listener) === null || _this$listener === void 0 || _this$listener.onSurveyWebview(event);
26
+ };
27
+ onScenarioLoad = event => {
28
+ var _this$listener2;
29
+ (_this$listener2 = this.listener) === null || _this$listener2 === void 0 || _this$listener2.onScenarioLoad(event);
30
+ };
31
+ onScenarioError = event => {
32
+ var _this$listener3;
33
+ (_this$listener3 = this.listener) === null || _this$listener3 === void 0 || _this$listener3.onScenarioError(event);
34
+ };
35
+ }
36
+ const TriggerManager = new Manager();
37
+ exports.TriggerManager = TriggerManager;
38
+ //# sourceMappingURL=triggerCallback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","Manager","listener","sdkEmitter","NativeModules","SdkEmitter","triggerManagerEmitter","NativeEventEmitter","constructor","addListener","onWebSurveyStart","onScenarioLoad","onScenarioError","setSdkListener","callbackListener","removeSdkListener","event","_this$listener","onSurveyWebview","_this$listener2","_this$listener3","TriggerManager","exports"],"sourceRoot":"../../../src","sources":["program/triggerCallback.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAQA,MAAMC,OAAO,CAAC;EACJC,QAAQ,GAAwB,IAAI;EACpCC,UAAU,GAAGC,0BAAa,CAACC,UAAU;EACrCC,qBAAqB,GAAG,IAAIC,+BAAkB,CAAC,IAAI,CAACJ,UAAU,CAAC;EAEvEK,WAAWA,CAAA,EAAG;IACZ,IAAI,CAACF,qBAAqB,CAACG,WAAW,CACpC,0BAA0B,EAC1B,IAAI,CAACC,gBACP,CAAC;IACD,IAAI,CAACJ,qBAAqB,CAACG,WAAW,CACpC,wBAAwB,EACxB,IAAI,CAACE,cACP,CAAC;IACD,IAAI,CAACL,qBAAqB,CAACG,WAAW,CACpC,yBAAyB,EACzB,IAAI,CAACG,eACP,CAAC;EACH;EAEOC,cAAcA,CAACC,gBAA8B,EAAE;IACpD,IAAI,CAACZ,QAAQ,GAAGY,gBAAgB;EAClC;EAEOC,iBAAiBA,CAAA,EAAG;IACzB,IAAI,CAACb,QAAQ,GAAG,IAAI;EACtB;EAEQQ,gBAAgB,GAAIM,KAAsB,IAAK;IAAA,IAAAC,cAAA;IACrD,CAAAA,cAAA,OAAI,CAACf,QAAQ,cAAAe,cAAA,eAAbA,cAAA,CAAeC,eAAe,CAACF,KAAK,CAAC;EACvC,CAAC;EAEOL,cAAc,GAAIK,KAAwB,IAAK;IAAA,IAAAG,eAAA;IACrD,CAAAA,eAAA,OAAI,CAACjB,QAAQ,cAAAiB,eAAA,eAAbA,eAAA,CAAeR,cAAc,CAACK,KAAK,CAAC;EACtC,CAAC;EAEOJ,eAAe,GAAII,KAAwB,IAAK;IAAA,IAAAI,eAAA;IACtD,CAAAA,eAAA,OAAI,CAAClB,QAAQ,cAAAkB,eAAA,eAAbA,eAAA,CAAeR,eAAe,CAACI,KAAK,CAAC;EACvC,CAAC;AACH;AAEO,MAAMK,cAAc,GAAG,IAAIpB,OAAO,CAAC,CAAC;AAACqB,OAAA,CAAAD,cAAA,GAAAA,cAAA"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _reactNativeWebview = _interopRequireDefault(require("react-native-webview"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _reactNative = require("react-native");
10
+ var _index = require("../index");
11
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
12
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
15
+ class SurveyWebView extends _react.Component {
16
+ sdkEmitter = _reactNative.NativeModules.SdkEmitter;
17
+ triggerManagerEmitter = new _reactNative.NativeEventEmitter(this.sdkEmitter);
18
+ loaded = false;
19
+ constructor(props) {
20
+ super(props);
21
+ this.triggerManagerEmitter.addListener('__mobileOnSurveyClosed', this.__onSurveyClosed);
22
+ }
23
+ __onSurveyClosed = () => {
24
+ var _this$props$onSurveyC, _this$props;
25
+ (_this$props$onSurveyC = (_this$props = this.props).onSurveyClosed) === null || _this$props$onSurveyC === void 0 || _this$props$onSurveyC.call(_this$props);
26
+ };
27
+ load() {
28
+ if (!this.loaded) {
29
+ (0, _index.injectWebView)();
30
+ this.loaded = true;
31
+ }
32
+ }
33
+ onMessage = event => {
34
+ var _this$props$onMessage, _this$props2;
35
+ this.__onSurveyClosed();
36
+ (_this$props$onMessage = (_this$props2 = this.props).onMessage) === null || _this$props$onMessage === void 0 || _this$props$onMessage.call(_this$props2, event);
37
+ };
38
+ render() {
39
+ let {
40
+ injectedJavaScriptBeforeContentLoaded
41
+ } = this.props;
42
+ if (_reactNative.Platform.OS === 'ios') {
43
+ injectedJavaScriptBeforeContentLoaded += ` \nwindow['mobileBridge'] = { onSurveyEnd: function() { window.ReactNativeWebView?.postMessage(''); } };`;
44
+ }
45
+ return /*#__PURE__*/_react.default.createElement(_reactNativeWebview.default, _extends({
46
+ nativeID: 'surveyWebViews'
47
+ }, this.props, {
48
+ domStorageEnabled: true,
49
+ javaScriptEnabled: true,
50
+ onLoad: () => {
51
+ this.load();
52
+ },
53
+ injectedJavaScriptForMainFrameOnly: false,
54
+ injectedJavaScriptBeforeContentLoaded: injectedJavaScriptBeforeContentLoaded,
55
+ onMessage: this.onMessage
56
+ }));
57
+ }
58
+ }
59
+ exports.default = SurveyWebView;
60
+ //# sourceMappingURL=surveyWebView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNativeWebview","_interopRequireDefault","require","_react","_interopRequireWildcard","_reactNative","_index","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","SurveyWebView","Component","sdkEmitter","NativeModules","SdkEmitter","triggerManagerEmitter","NativeEventEmitter","loaded","constructor","props","addListener","__onSurveyClosed","_this$props$onSurveyC","_this$props","onSurveyClosed","load","injectWebView","onMessage","event","_this$props$onMessage","_this$props2","render","injectedJavaScriptBeforeContentLoaded","Platform","OS","createElement","nativeID","domStorageEnabled","javaScriptEnabled","onLoad","injectedJavaScriptForMainFrameOnly","exports"],"sourceRoot":"../../../src","sources":["views/surveyWebView.tsx"],"mappings":"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"}
@@ -0,0 +1,116 @@
1
+ import { NativeModules, Platform } from 'react-native';
2
+ import SurveyWebView from './views/surveyWebView';
3
+ import { TriggerManager } from './program/triggerCallback';
4
+ const LINKING_ERROR = `The package 'react-native-mobilesdk' doesn't seem to be linked. Make sure: \n\n` + Platform.select({
5
+ ios: "- You have run 'pod install'\n",
6
+ default: ''
7
+ }) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
8
+ const MobileSdk = NativeModules.MobileSdk ? NativeModules.MobileSdk : new Proxy({}, {
9
+ get() {
10
+ throw new Error(LINKING_ERROR);
11
+ }
12
+ });
13
+ export { SurveyWebView, TriggerManager };
14
+ export function injectWebView() {
15
+ MobileSdk.injectWebView();
16
+ }
17
+
18
+ // Confirmit
19
+ export function initSdk() {
20
+ return MobileSdk.initSdk();
21
+ }
22
+ export function enableLog(enable) {
23
+ MobileSdk.enableLog(enable);
24
+ }
25
+
26
+ // Trigger
27
+ export function notifyEvent(event) {
28
+ MobileSdk.notifyEvent(event);
29
+ }
30
+ export function notifyAppForeground(data) {
31
+ MobileSdk.notifyAppForeground(data);
32
+ }
33
+ export function deleteProgram(serverId, programKey, deleteCustomData) {
34
+ return MobileSdk.deleteProgram(serverId, programKey, deleteCustomData);
35
+ }
36
+ export function deleteAll(deleteCustomData) {
37
+ return MobileSdk.deleteAll(deleteCustomData);
38
+ }
39
+ export function setCallback(serverId, programKey) {
40
+ MobileSdk.setCallback(serverId, programKey);
41
+ }
42
+ export function removeCallback(serverId, programKey) {
43
+ MobileSdk.removeCallback(serverId, programKey);
44
+ }
45
+ export function triggerDownload(serverId, programKey) {
46
+ return MobileSdk.triggerDownload(serverId, programKey);
47
+ }
48
+ export function notifyEventWithData(event, data) {
49
+ MobileSdk.notifyEventWithData(event, data);
50
+ }
51
+
52
+ // Server
53
+ export async function getUs() {
54
+ return transformServer(await MobileSdk.getUs());
55
+ }
56
+ export async function getUk() {
57
+ return transformServer(await MobileSdk.getUk());
58
+ }
59
+ export async function getAustralia() {
60
+ return transformServer(await MobileSdk.getAustralia());
61
+ }
62
+ export async function getCanada() {
63
+ return transformServer(await MobileSdk.getCanada());
64
+ }
65
+ export async function getGermany() {
66
+ return transformServer(await MobileSdk.getGermany());
67
+ }
68
+ export async function getHxPlatform() {
69
+ return transformServer(await MobileSdk.getHxPlatform());
70
+ }
71
+ export async function getHxAustralia() {
72
+ return transformServer(await MobileSdk.getHxAustralia());
73
+ }
74
+ export async function configureUs(clientId, clientSecret) {
75
+ return await MobileSdk.configureUs(clientId, clientSecret);
76
+ }
77
+ export async function configureUk(clientId, clientSecret) {
78
+ return await MobileSdk.configureUk(clientId, clientSecret);
79
+ }
80
+ export async function configureAustralia(clientId, clientSecret) {
81
+ return await MobileSdk.configureAustralia(clientId, clientSecret);
82
+ }
83
+ export async function configureCanada(clientId, clientSecret) {
84
+ return await MobileSdk.configureCanada(clientId, clientSecret);
85
+ }
86
+ export async function configureGermany(clientId, clientSecret) {
87
+ return await MobileSdk.configureGermany(clientId, clientSecret);
88
+ }
89
+ export async function configureHxPlatform(clientId, clientSecret) {
90
+ return await MobileSdk.configureHxPlatform(clientId, clientSecret);
91
+ }
92
+ export async function configureHxAustralia(clientId, clientSecret) {
93
+ return await MobileSdk.configureHxAustralia(clientId, clientSecret);
94
+ }
95
+ export async function configureServer(name, host, clientId, clientSecret) {
96
+ return transformServer(await MobileSdk.configureServer(name, host, clientId, clientSecret));
97
+ }
98
+ export async function getServer(serverId) {
99
+ return transformServer(await MobileSdk.getServer(serverId));
100
+ }
101
+ export async function getServers() {
102
+ const result = await MobileSdk.getServers();
103
+ const servers = [];
104
+ for (const server of result) {
105
+ servers.push(transformServer(server));
106
+ }
107
+ return servers;
108
+ }
109
+ function transformServer(result) {
110
+ return {
111
+ host: result.host,
112
+ name: result.name,
113
+ serverId: result.serverId
114
+ };
115
+ }
116
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NativeModules","Platform","SurveyWebView","TriggerManager","LINKING_ERROR","select","ios","default","MobileSdk","Proxy","get","Error","injectWebView","initSdk","enableLog","enable","notifyEvent","event","notifyAppForeground","data","deleteProgram","serverId","programKey","deleteCustomData","deleteAll","setCallback","removeCallback","triggerDownload","notifyEventWithData","getUs","transformServer","getUk","getAustralia","getCanada","getGermany","getHxPlatform","getHxAustralia","configureUs","clientId","clientSecret","configureUk","configureAustralia","configureCanada","configureGermany","configureHxPlatform","configureHxAustralia","configureServer","name","host","getServer","getServers","result","servers","server","push"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["models/models.ts"],"mappings":""}
@@ -0,0 +1,31 @@
1
+ import { NativeEventEmitter, NativeModules } from 'react-native';
2
+ class Manager {
3
+ listener = null;
4
+ sdkEmitter = NativeModules.SdkEmitter;
5
+ triggerManagerEmitter = new NativeEventEmitter(this.sdkEmitter);
6
+ constructor() {
7
+ this.triggerManagerEmitter.addListener('__mobileOnWebSurveyStart', this.onWebSurveyStart);
8
+ this.triggerManagerEmitter.addListener('__mobileOnScenarioLoad', this.onScenarioLoad);
9
+ this.triggerManagerEmitter.addListener('__mobileOnScenarioError', this.onScenarioError);
10
+ }
11
+ setSdkListener(callbackListener) {
12
+ this.listener = callbackListener;
13
+ }
14
+ removeSdkListener() {
15
+ this.listener = null;
16
+ }
17
+ onWebSurveyStart = event => {
18
+ var _this$listener;
19
+ (_this$listener = this.listener) === null || _this$listener === void 0 || _this$listener.onSurveyWebview(event);
20
+ };
21
+ onScenarioLoad = event => {
22
+ var _this$listener2;
23
+ (_this$listener2 = this.listener) === null || _this$listener2 === void 0 || _this$listener2.onScenarioLoad(event);
24
+ };
25
+ onScenarioError = event => {
26
+ var _this$listener3;
27
+ (_this$listener3 = this.listener) === null || _this$listener3 === void 0 || _this$listener3.onScenarioError(event);
28
+ };
29
+ }
30
+ export const TriggerManager = new Manager();
31
+ //# sourceMappingURL=triggerCallback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NativeEventEmitter","NativeModules","Manager","listener","sdkEmitter","SdkEmitter","triggerManagerEmitter","constructor","addListener","onWebSurveyStart","onScenarioLoad","onScenarioError","setSdkListener","callbackListener","removeSdkListener","event","_this$listener","onSurveyWebview","_this$listener2","_this$listener3","TriggerManager"],"sourceRoot":"../../../src","sources":["program/triggerCallback.ts"],"mappings":"AACA,SAASA,kBAAkB,EAAEC,aAAa,QAAQ,cAAc;AAQhE,MAAMC,OAAO,CAAC;EACJC,QAAQ,GAAwB,IAAI;EACpCC,UAAU,GAAGH,aAAa,CAACI,UAAU;EACrCC,qBAAqB,GAAG,IAAIN,kBAAkB,CAAC,IAAI,CAACI,UAAU,CAAC;EAEvEG,WAAWA,CAAA,EAAG;IACZ,IAAI,CAACD,qBAAqB,CAACE,WAAW,CACpC,0BAA0B,EAC1B,IAAI,CAACC,gBACP,CAAC;IACD,IAAI,CAACH,qBAAqB,CAACE,WAAW,CACpC,wBAAwB,EACxB,IAAI,CAACE,cACP,CAAC;IACD,IAAI,CAACJ,qBAAqB,CAACE,WAAW,CACpC,yBAAyB,EACzB,IAAI,CAACG,eACP,CAAC;EACH;EAEOC,cAAcA,CAACC,gBAA8B,EAAE;IACpD,IAAI,CAACV,QAAQ,GAAGU,gBAAgB;EAClC;EAEOC,iBAAiBA,CAAA,EAAG;IACzB,IAAI,CAACX,QAAQ,GAAG,IAAI;EACtB;EAEQM,gBAAgB,GAAIM,KAAsB,IAAK;IAAA,IAAAC,cAAA;IACrD,CAAAA,cAAA,OAAI,CAACb,QAAQ,cAAAa,cAAA,eAAbA,cAAA,CAAeC,eAAe,CAACF,KAAK,CAAC;EACvC,CAAC;EAEOL,cAAc,GAAIK,KAAwB,IAAK;IAAA,IAAAG,eAAA;IACrD,CAAAA,eAAA,OAAI,CAACf,QAAQ,cAAAe,eAAA,eAAbA,eAAA,CAAeR,cAAc,CAACK,KAAK,CAAC;EACtC,CAAC;EAEOJ,eAAe,GAAII,KAAwB,IAAK;IAAA,IAAAI,eAAA;IACtD,CAAAA,eAAA,OAAI,CAAChB,QAAQ,cAAAgB,eAAA,eAAbA,eAAA,CAAeR,eAAe,CAACI,KAAK,CAAC;EACvC,CAAC;AACH;AAEA,OAAO,MAAMK,cAAc,GAAG,IAAIlB,OAAO,CAAC,CAAC"}
@@ -0,0 +1,50 @@
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+ import WebView from 'react-native-webview';
3
+ import React, { Component } from 'react';
4
+ import { NativeEventEmitter, NativeModules, Platform } from 'react-native';
5
+ import { injectWebView } from '../index';
6
+ export default class SurveyWebView extends Component {
7
+ sdkEmitter = NativeModules.SdkEmitter;
8
+ triggerManagerEmitter = new NativeEventEmitter(this.sdkEmitter);
9
+ loaded = false;
10
+ constructor(props) {
11
+ super(props);
12
+ this.triggerManagerEmitter.addListener('__mobileOnSurveyClosed', this.__onSurveyClosed);
13
+ }
14
+ __onSurveyClosed = () => {
15
+ var _this$props$onSurveyC, _this$props;
16
+ (_this$props$onSurveyC = (_this$props = this.props).onSurveyClosed) === null || _this$props$onSurveyC === void 0 || _this$props$onSurveyC.call(_this$props);
17
+ };
18
+ load() {
19
+ if (!this.loaded) {
20
+ injectWebView();
21
+ this.loaded = true;
22
+ }
23
+ }
24
+ onMessage = event => {
25
+ var _this$props$onMessage, _this$props2;
26
+ this.__onSurveyClosed();
27
+ (_this$props$onMessage = (_this$props2 = this.props).onMessage) === null || _this$props$onMessage === void 0 || _this$props$onMessage.call(_this$props2, event);
28
+ };
29
+ render() {
30
+ let {
31
+ injectedJavaScriptBeforeContentLoaded
32
+ } = this.props;
33
+ if (Platform.OS === 'ios') {
34
+ injectedJavaScriptBeforeContentLoaded += ` \nwindow['mobileBridge'] = { onSurveyEnd: function() { window.ReactNativeWebView?.postMessage(''); } };`;
35
+ }
36
+ return /*#__PURE__*/React.createElement(WebView, _extends({
37
+ nativeID: 'surveyWebViews'
38
+ }, this.props, {
39
+ domStorageEnabled: true,
40
+ javaScriptEnabled: true,
41
+ onLoad: () => {
42
+ this.load();
43
+ },
44
+ injectedJavaScriptForMainFrameOnly: false,
45
+ injectedJavaScriptBeforeContentLoaded: injectedJavaScriptBeforeContentLoaded,
46
+ onMessage: this.onMessage
47
+ }));
48
+ }
49
+ }
50
+ //# sourceMappingURL=surveyWebView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["WebView","React","Component","NativeEventEmitter","NativeModules","Platform","injectWebView","SurveyWebView","sdkEmitter","SdkEmitter","triggerManagerEmitter","loaded","constructor","props","addListener","__onSurveyClosed","_this$props$onSurveyC","_this$props","onSurveyClosed","call","load","onMessage","event","_this$props$onMessage","_this$props2","render","injectedJavaScriptBeforeContentLoaded","OS","createElement","_extends","nativeID","domStorageEnabled","javaScriptEnabled","onLoad","injectedJavaScriptForMainFrameOnly"],"sourceRoot":"../../../src","sources":["views/surveyWebView.tsx"],"mappings":";AAAA,OAAOA,OAAO,MAAM,sBAAsB;AAK1C,OAAOC,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,kBAAkB,EAAEC,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AAC1E,SAASC,aAAa,QAAQ,UAAU;AAMxC,eAAe,MAAMC,aAAa,SAASL,SAAS,CAAqB;EAC/DM,UAAU,GAAGJ,aAAa,CAACK,UAAU;EACrCC,qBAAqB,GAAG,IAAIP,kBAAkB,CAAC,IAAI,CAACK,UAAU,CAAC;EAE/DG,MAAM,GAAG,KAAK;EAEtBC,WAAWA,CAACC,KAAyB,EAAE;IACrC,KAAK,CAACA,KAAK,CAAC;IAEZ,IAAI,CAACH,qBAAqB,CAACI,WAAW,CACpC,wBAAwB,EACxB,IAAI,CAACC,gBACP,CAAC;EACH;EAEQA,gBAAgB,GAAGA,CAAA,KAAM;IAAA,IAAAC,qBAAA,EAAAC,WAAA;IAC/B,CAAAD,qBAAA,IAAAC,WAAA,OAAI,CAACJ,KAAK,EAACK,cAAc,cAAAF,qBAAA,eAAzBA,qBAAA,CAAAG,IAAA,CAAAF,WAA4B,CAAC;EAC/B,CAAC;EAEDG,IAAIA,CAAA,EAAG;IACL,IAAI,CAAC,IAAI,CAACT,MAAM,EAAE;MAChBL,aAAa,CAAC,CAAC;MACf,IAAI,CAACK,MAAM,GAAG,IAAI;IACpB;EACF;EAEQU,SAAS,GAAIC,KAA0B,IAAK;IAAA,IAAAC,qBAAA,EAAAC,YAAA;IAClD,IAAI,CAACT,gBAAgB,CAAC,CAAC;IACvB,CAAAQ,qBAAA,IAAAC,YAAA,OAAI,CAACX,KAAK,EAACQ,SAAS,cAAAE,qBAAA,eAApBA,qBAAA,CAAAJ,IAAA,CAAAK,YAAA,EAAuBF,KAAK,CAAC;EAC/B,CAAC;EAEDG,MAAMA,CAAA,EAAG;IACP,IAAI;MAAEC;IAAsC,CAAC,GAAG,IAAI,CAACb,KAAK;IAE1D,IAAIR,QAAQ,CAACsB,EAAE,KAAK,KAAK,EAAE;MACzBD,qCAAqC,IAAK,0GAAyG;IACrJ;IAEA,oBACEzB,KAAA,CAAA2B,aAAA,CAAC5B,OAAO,EAAA6B,QAAA;MACNC,QAAQ,EAAE;IAAiB,GACvB,IAAI,CAACjB,KAAK;MACdkB,iBAAiB,EAAE,IAAK;MACxBC,iBAAiB,EAAE,IAAK;MACxBC,MAAM,EAAEA,CAAA,KAAM;QACZ,IAAI,CAACb,IAAI,CAAC,CAAC;MACb,CAAE;MACFc,kCAAkC,EAAE,KAAM;MAC1CR,qCAAqC,EACnCA,qCACD;MACDL,SAAS,EAAE,IAAI,CAACA;IAAU,EAC3B,CAAC;EAEN;AACF"}
@@ -0,0 +1,39 @@
1
+ import type { IServerModel, IWebSurveyModel, IScenarioCallback } from './models/models';
2
+ import SurveyWebView from './views/surveyWebView';
3
+ import type { ISdkListener } from './program/triggerCallback';
4
+ import { TriggerManager } from './program/triggerCallback';
5
+ export type { IScenarioCallback, IServerModel, IWebSurveyModel, ISdkListener, };
6
+ export { SurveyWebView, TriggerManager };
7
+ export declare function injectWebView(): void;
8
+ export declare function initSdk(): any;
9
+ export declare function enableLog(enable: Boolean): void;
10
+ export declare function notifyEvent(event: String): void;
11
+ export declare function notifyAppForeground(data: {
12
+ [Name: string]: string;
13
+ }): void;
14
+ export declare function deleteProgram(serverId: string, programKey: string, deleteCustomData: boolean): Promise<void>;
15
+ export declare function deleteAll(deleteCustomData: boolean): Promise<void>;
16
+ export declare function setCallback(serverId: string, programKey: string): void;
17
+ export declare function removeCallback(serverId: string, programKey: string): void;
18
+ export declare function triggerDownload(serverId: string, programKey: string): Promise<boolean>;
19
+ export declare function notifyEventWithData(event: string, data: {
20
+ [Name: string]: string;
21
+ }): void;
22
+ export declare function getUs(): Promise<IServerModel>;
23
+ export declare function getUk(): Promise<IServerModel>;
24
+ export declare function getAustralia(): Promise<IServerModel>;
25
+ export declare function getCanada(): Promise<IServerModel>;
26
+ export declare function getGermany(): Promise<IServerModel>;
27
+ export declare function getHxPlatform(): Promise<IServerModel>;
28
+ export declare function getHxAustralia(): Promise<IServerModel>;
29
+ export declare function configureUs(clientId: string, clientSecret: string): Promise<void>;
30
+ export declare function configureUk(clientId: string, clientSecret: string): Promise<void>;
31
+ export declare function configureAustralia(clientId: string, clientSecret: string): Promise<void>;
32
+ export declare function configureCanada(clientId: string, clientSecret: string): Promise<void>;
33
+ export declare function configureGermany(clientId: string, clientSecret: string): Promise<void>;
34
+ export declare function configureHxPlatform(clientId: string, clientSecret: string): Promise<void>;
35
+ export declare function configureHxAustralia(clientId: string, clientSecret: string): Promise<void>;
36
+ export declare function configureServer(name: string, host: string, clientId: string, clientSecret: string): Promise<IServerModel>;
37
+ export declare function getServer(serverId: string): Promise<IServerModel>;
38
+ export declare function getServers(): Promise<IServerModel[]>;
39
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export interface IServerModel {
2
+ serverId: string;
3
+ name: string;
4
+ host: string;
5
+ }
6
+ export interface IWebSurveyModel {
7
+ token: string;
8
+ url: string;
9
+ }
10
+ export interface IScenarioCallback {
11
+ serverId: string;
12
+ programKey: string;
13
+ error: string;
14
+ }
15
+ //# sourceMappingURL=models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/models/models.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf"}
@@ -0,0 +1,20 @@
1
+ import type { IScenarioCallback, IWebSurveyModel } from '../models/models';
2
+ export interface ISdkListener {
3
+ onSurveyWebview(model: IWebSurveyModel): void;
4
+ onScenarioLoad(model: IScenarioCallback): void;
5
+ onScenarioError(model: IScenarioCallback): void;
6
+ }
7
+ declare class Manager {
8
+ private listener;
9
+ private sdkEmitter;
10
+ private triggerManagerEmitter;
11
+ constructor();
12
+ setSdkListener(callbackListener: ISdkListener): void;
13
+ removeSdkListener(): void;
14
+ private onWebSurveyStart;
15
+ private onScenarioLoad;
16
+ private onScenarioError;
17
+ }
18
+ export declare const TriggerManager: Manager;
19
+ export {};
20
+ //# sourceMappingURL=triggerCallback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"triggerCallback.d.ts","sourceRoot":"","sources":["../../../src/program/triggerCallback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAG3E,MAAM,WAAW,YAAY;IAC3B,eAAe,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;IAC9C,cAAc,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC/C,eAAe,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACjD;AAED,cAAM,OAAO;IACX,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,qBAAqB,CAA2C;;IAiBjE,cAAc,CAAC,gBAAgB,EAAE,YAAY;IAI7C,iBAAiB;IAIxB,OAAO,CAAC,gBAAgB,CAEtB;IAEF,OAAO,CAAC,cAAc,CAEpB;IAEF,OAAO,CAAC,eAAe,CAErB;CACH;AAED,eAAO,MAAM,cAAc,SAAgB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { WebViewProps } from 'react-native-webview';
2
+ import React, { Component } from 'react';
3
+ interface SurveyWebViewProps extends WebViewProps {
4
+ onSurveyClosed?: () => void;
5
+ }
6
+ export default class SurveyWebView extends Component<SurveyWebViewProps> {
7
+ private sdkEmitter;
8
+ private triggerManagerEmitter;
9
+ private loaded;
10
+ constructor(props: SurveyWebViewProps);
11
+ private __onSurveyClosed;
12
+ load(): void;
13
+ private onMessage;
14
+ render(): React.JSX.Element;
15
+ }
16
+ export {};
17
+ //# sourceMappingURL=surveyWebView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"surveyWebView.d.ts","sourceRoot":"","sources":["../../../src/views/surveyWebView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,YAAY,EACb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIzC,UAAU,kBAAmB,SAAQ,YAAY;IAC/C,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,SAAS,CAAC,kBAAkB,CAAC;IACtE,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,qBAAqB,CAA2C;IAExE,OAAO,CAAC,MAAM,CAAS;gBAEX,KAAK,EAAE,kBAAkB;IASrC,OAAO,CAAC,gBAAgB,CAEvB;IAED,IAAI;IAOJ,OAAO,CAAC,SAAS,CAGf;IAEF,MAAM;CAwBP"}
package/package.json ADDED
@@ -0,0 +1,137 @@
1
+ {
2
+ "name": "@forstaglobal/react-native-mobilesdk",
3
+ "version": "3.9.2-beta.0",
4
+ "description": "React Native wrapper library for DigitalFeedbackSDK",
5
+ "main": "lib/commonjs/index",
6
+ "module": "lib/module/index",
7
+ "types": "lib/typescript/index.d.ts",
8
+ "react-native": "src/index",
9
+ "source": "src/index",
10
+ "files": [
11
+ "src",
12
+ "lib",
13
+ "android",
14
+ "ios",
15
+ "cpp",
16
+ "*.podspec",
17
+ "!lib/typescript/example",
18
+ "!ios/build",
19
+ "!ios/Pods",
20
+ "!android/build",
21
+ "!android/gradle",
22
+ "!android/gradlew",
23
+ "!android/gradlew.bat",
24
+ "!android/local.properties",
25
+ "!**/__fixtures__",
26
+ "!**/__mocks__",
27
+ "!**/.*"
28
+ ],
29
+ "scripts": {
30
+ "typecheck": "tsc --noEmit",
31
+ "lint": "eslint \"**/*.{js,ts,tsx}\"",
32
+ "prepack": "bob build",
33
+ "release": "release-it",
34
+ "example": "yarn --cwd example",
35
+ "build:android": "cd example/android && ./gradlew assembleDebug --no-daemon --console=plain -PreactNativeArchitectures=arm64-v8a",
36
+ "build:ios": "cd example/ios && xcodebuild -workspace MobilesdkExample.xcworkspace -scheme MobilesdkExample -configuration Debug -sdk iphonesimulator CC=clang CPLUSPLUS=clang++ LD=clang LDPLUSPLUS=clang++ GCC_OPTIMIZATION_LEVEL=0 GCC_PRECOMPILE_PREFIX_HEADER=YES ASSETCATALOG_COMPILER_OPTIMIZATION=time DEBUG_INFORMATION_FORMAT=dwarf COMPILER_INDEX_STORE_ENABLE=NO",
37
+ "bootstrap": "yarn example && yarn install && yarn example pods",
38
+ "clean": "del-cli android/build example/android/build example/android/app/build example/ios/build"
39
+ },
40
+ "keywords": [
41
+ "react-native",
42
+ "ios",
43
+ "android"
44
+ ],
45
+ "repository": "https://github.com/ForstaGlobal/DigitalFeedbackMobileSDK",
46
+ "author": "forsta <digitalfeedbacksdk@forsta.com> (https://github.com/ForstaGlobal/DigitalFeedbackMobileSDK)",
47
+ "license": "MIT",
48
+ "bugs": {
49
+ "url": "https://github.com/ForstaGlobal/DigitalFeedbackMobileSDK/"
50
+ },
51
+ "homepage": "https://github.com/ForstaGlobal/DigitalFeedbackMobileSDK/",
52
+ "publishConfig": {
53
+ "registry": "https://registry.npmjs.org/"
54
+ },
55
+ "devDependencies": {
56
+ "@commitlint/config-conventional": "^17.0.2",
57
+ "@evilmartians/lefthook": "^1.2.2",
58
+ "@react-native-community/eslint-config": "^3.0.2",
59
+ "@release-it/conventional-changelog": "^5.0.0",
60
+ "@types/jest": "^28.1.2",
61
+ "@types/react": "~17.0.21",
62
+ "@types/react-native": "0.70.0",
63
+ "commitlint": "^17.0.2",
64
+ "del-cli": "^5.0.0",
65
+ "eslint": "^8.4.1",
66
+ "eslint-config-prettier": "^8.5.0",
67
+ "eslint-plugin-import": "^2.29.0",
68
+ "eslint-plugin-prettier": "^4.0.0",
69
+ "jest": "^28.1.1",
70
+ "pod-install": "^0.1.0",
71
+ "prettier": "^2.0.5",
72
+ "react": "18.2.0",
73
+ "react-native": "0.72.4",
74
+ "react-native-builder-bob": "^0.21.3",
75
+ "release-it": "^15.0.0",
76
+ "turbo": "^1.10.7",
77
+ "typescript": "^5.0.2"
78
+ },
79
+ "resolutions": {
80
+ "@types/react": "17.0.21"
81
+ },
82
+ "peerDependencies": {
83
+ "react": "*",
84
+ "react-native": "*",
85
+ "react-native-webview": ">=13.6.2"
86
+ },
87
+ "engines": {
88
+ "node": ">= 16.0.0"
89
+ },
90
+ "packageManager": "^yarn@1.22.15",
91
+ "jest": {
92
+ "preset": "react-native",
93
+ "modulePathIgnorePatterns": [
94
+ "<rootDir>/example/node_modules",
95
+ "<rootDir>/lib/"
96
+ ]
97
+ },
98
+ "commitlint": {
99
+ "extends": [
100
+ "@commitlint/config-conventional"
101
+ ]
102
+ },
103
+ "release-it": {
104
+ "git": {
105
+ "commitMessage": "chore: release ${version}",
106
+ "tagName": "v${version}"
107
+ },
108
+ "npm": {
109
+ "publish": true
110
+ },
111
+ "github": {
112
+ "release": true
113
+ },
114
+ "plugins": {
115
+ "@release-it/conventional-changelog": {
116
+ "preset": "angular"
117
+ }
118
+ }
119
+ },
120
+ "react-native-builder-bob": {
121
+ "source": "src",
122
+ "output": "lib",
123
+ "targets": [
124
+ "commonjs",
125
+ "module",
126
+ [
127
+ "typescript",
128
+ {
129
+ "project": "tsconfig.build.json"
130
+ }
131
+ ]
132
+ ]
133
+ },
134
+ "dependencies": {
135
+ "react-native-webview": ">=13.6.2"
136
+ }
137
+ }
@@ -0,0 +1,43 @@
1
+ require "json"
2
+
3
+ package = JSON.parse(File.read(File.join(__dir__, "package.json")))
4
+ folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32'
5
+
6
+ Pod::Spec.new do |s|
7
+ s.name = "react-native-mobilesdk"
8
+ s.version = package["version"]
9
+ s.summary = package["description"]
10
+ s.homepage = package["homepage"]
11
+ s.license = package["license"]
12
+ s.authors = package["author"]
13
+
14
+ s.platforms = { :ios => "12.0" }
15
+ s.source = { :git => "https://github.com/ForstaGlobal/DigitalFeedbackMobileSDK/react-native-mobilesdk.git", :tag => "#{s.version}" }
16
+
17
+ s.source_files = "ios/**/*.{h,m,mm,swift}"
18
+
19
+ # Use install_modules_dependencies helper to install the dependencies if React Native version >=0.71.0.
20
+ # See https://github.com/facebook/react-native/blob/febf6b7f33fdb4904669f99d795eba4c0f95d7bf/scripts/cocoapods/new_architecture.rb#L79.
21
+ if respond_to?(:install_modules_dependencies, true)
22
+ install_modules_dependencies(s)
23
+ else
24
+ s.dependency "React-Core"
25
+
26
+ # Don't install the dependencies when we run `pod install` in the old architecture.
27
+ if ENV['RCT_NEW_ARCH_E-reaNABLED'] == '1' then
28
+ s.compiler_flags = folly_compiler_flags + " -DRCT_NEW_ARCH_ENABLED=1"
29
+ s.pod_target_xcconfig = {
30
+ "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\"",
31
+ "OTHER_CPLUSPLUSFLAGS" => "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1",
32
+ "CLANG_CXX_LANGUAGE_STANDARD" => "c++17"
33
+ }
34
+ s.dependency "React-Codegen"
35
+ s.dependency "RCT-Folly"
36
+ s.dependency "RCTRequired"
37
+ s.dependency "RCTTypeSafety"
38
+ s.dependency "ReactCommon/turbomodule/core"
39
+ end
40
+ end
41
+
42
+ s.dependency "ConfirmitMobileSDK", "3.9.2-beta.0"
43
+ end