@convep_mobilogy/react-native-qms-plugin 0.10.4 → 0.10.6

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 (27) hide show
  1. package/android/build.gradle +1 -1
  2. package/ios/QmsPlugin/QmsDashboardViewManager.mm +408 -2
  3. package/ios/QmsPlugin/QmsModule.mm +221 -0
  4. package/ios/QmsPlugin/UIViewController+QmsAnalytics.m +292 -19
  5. package/ios/QmsPluginFramework.xcframework/Info.plist +5 -5
  6. package/ios/QmsPluginFramework.xcframework/ios-arm64/QmsPluginFramework.framework/Assets.car +0 -0
  7. package/ios/QmsPluginFramework.xcframework/ios-arm64/QmsPluginFramework.framework/Info.plist +0 -0
  8. package/ios/QmsPluginFramework.xcframework/ios-arm64/QmsPluginFramework.framework/Montserrat-Bold.ttf +0 -0
  9. package/ios/QmsPluginFramework.xcframework/ios-arm64/QmsPluginFramework.framework/Montserrat-Medium.ttf +0 -0
  10. package/ios/QmsPluginFramework.xcframework/ios-arm64/QmsPluginFramework.framework/Montserrat-Regular.ttf +0 -0
  11. package/ios/QmsPluginFramework.xcframework/ios-arm64/QmsPluginFramework.framework/QmsPluginFramework +0 -0
  12. package/ios/QmsPluginFramework.xcframework/ios-arm64/QmsPluginFramework.framework/_CodeSignature/CodeResources +36 -3
  13. package/ios/QmsPluginFramework.xcframework/ios-arm64_x86_64-simulator/QmsPluginFramework.framework/Assets.car +0 -0
  14. package/ios/QmsPluginFramework.xcframework/ios-arm64_x86_64-simulator/QmsPluginFramework.framework/Info.plist +0 -0
  15. package/ios/QmsPluginFramework.xcframework/ios-arm64_x86_64-simulator/QmsPluginFramework.framework/Montserrat-Bold.ttf +0 -0
  16. package/ios/QmsPluginFramework.xcframework/ios-arm64_x86_64-simulator/QmsPluginFramework.framework/Montserrat-Medium.ttf +0 -0
  17. package/ios/QmsPluginFramework.xcframework/ios-arm64_x86_64-simulator/QmsPluginFramework.framework/Montserrat-Regular.ttf +0 -0
  18. package/ios/QmsPluginFramework.xcframework/ios-arm64_x86_64-simulator/QmsPluginFramework.framework/QmsPluginFramework +0 -0
  19. package/ios/QmsPluginFramework.xcframework/ios-arm64_x86_64-simulator/QmsPluginFramework.framework/_CodeSignature/CodeResources +36 -3
  20. package/lib/module/QmsDashboardView.android.js +16 -16
  21. package/lib/module/QmsDashboardView.android.js.map +1 -1
  22. package/lib/module/QmsDashboardView.ios.js +38 -12
  23. package/lib/module/QmsDashboardView.ios.js.map +1 -1
  24. package/lib/typescript/src/QmsDashboardView.ios.d.ts.map +1 -1
  25. package/package.json +1 -1
  26. package/src/QmsDashboardView.android.tsx +16 -16
  27. package/src/QmsDashboardView.ios.tsx +64 -25
@@ -6,7 +6,7 @@
6
6
  <dict>
7
7
  <key>Assets.car</key>
8
8
  <data>
9
- 1i2tuf6x04oClRQdI25h80iAWww=
9
+ kEpAubglJYNFlRT4LSRI2MmXQlg=
10
10
  </data>
11
11
  <key>Headers/QmsPlugin.h</key>
12
12
  <data>
@@ -18,12 +18,24 @@
18
18
  </data>
19
19
  <key>Info.plist</key>
20
20
  <data>
21
- bbhIYcGh7MnGD7V1rEns5GGhP1g=
21
+ JbxihZ4sCAWUHTvrrd52zH0b8tw=
22
22
  </data>
23
23
  <key>Modules/module.modulemap</key>
24
24
  <data>
25
25
  BD9YnWBkeFmDcuOl4cAjALd/7yw=
26
26
  </data>
27
+ <key>Montserrat-Bold.ttf</key>
28
+ <data>
29
+ vnwUOAcKtjfhFxaRXk5QkDcm3Mg=
30
+ </data>
31
+ <key>Montserrat-Medium.ttf</key>
32
+ <data>
33
+ d/NVNBXYWMZTuupFqsqyAZZ3YzQ=
34
+ </data>
35
+ <key>Montserrat-Regular.ttf</key>
36
+ <data>
37
+ 7BPvHyyZ+HgNby6z+fJ++J8wFhs=
38
+ </data>
27
39
  </dict>
28
40
  <key>files2</key>
29
41
  <dict>
@@ -31,7 +43,7 @@
31
43
  <dict>
32
44
  <key>hash2</key>
33
45
  <data>
34
- 1mZEAflZoNOaTXIhGRR7gPGBZ99fx2jFZ147Fkro4WM=
46
+ 0sUdnIkwFavEcnM4vnqYtEL76ynKxgMhnZSeTzEv99c=
35
47
  </data>
36
48
  </dict>
37
49
  <key>Headers/QmsPlugin.h</key>
@@ -55,6 +67,27 @@
55
67
  e+P6RtiuicqWfZ3H2B43r960DPkFwUWqXKWU+w7OVD0=
56
68
  </data>
57
69
  </dict>
70
+ <key>Montserrat-Bold.ttf</key>
71
+ <dict>
72
+ <key>hash2</key>
73
+ <data>
74
+ f6k9fapcL4gaZycinCEXgt5rdgCPvWNGs9dmTo/IP0M=
75
+ </data>
76
+ </dict>
77
+ <key>Montserrat-Medium.ttf</key>
78
+ <dict>
79
+ <key>hash2</key>
80
+ <data>
81
+ zRYcujo83PaK1yGSD80WTIfnt8yea61RAnjD+jeNkdI=
82
+ </data>
83
+ </dict>
84
+ <key>Montserrat-Regular.ttf</key>
85
+ <dict>
86
+ <key>hash2</key>
87
+ <data>
88
+ 75z5nwF1vvUwuIk0vZBPz1b3c87G/U37jMr3ziu9OV4=
89
+ </data>
90
+ </dict>
58
91
  </dict>
59
92
  <key>rules</key>
60
93
  <dict>
@@ -35,19 +35,19 @@ export const QmsDashboardView = ({
35
35
  const resolvedToken = user_token ?? token ?? userToken ?? '';
36
36
  const hasPayload = payload != null && Object.keys(payload).length > 0;
37
37
  if (autoShow && QmsModule?.showQms) {
38
- if (themeColor && QmsModule?.setPrimaryColor) {
39
- QmsModule.setPrimaryColor(themeColor);
38
+ if (QmsModule?.setPrimaryColor) {
39
+ QmsModule.setPrimaryColor(themeColor ?? '');
40
40
  }
41
- const resolvedHeaderColor = headerThemeColor ?? headerTextColor;
42
- if (resolvedHeaderColor && QmsModule?.setHeaderTextColor) {
41
+ const resolvedHeaderColor = headerThemeColor ?? headerTextColor ?? '';
42
+ if (QmsModule?.setHeaderTextColor) {
43
43
  QmsModule.setHeaderTextColor(resolvedHeaderColor);
44
44
  }
45
- const resolvedHeaderIconColor = headerThemeColor ?? headerIconColor;
46
- if (resolvedHeaderIconColor && QmsModule?.setHeaderIconColor) {
45
+ const resolvedHeaderIconColor = headerThemeColor ?? headerIconColor ?? '';
46
+ if (QmsModule?.setHeaderIconColor) {
47
47
  QmsModule.setHeaderIconColor(resolvedHeaderIconColor);
48
48
  }
49
- if (accentColor && QmsModule?.setAccentColor) {
50
- QmsModule.setAccentColor(accentColor);
49
+ if (QmsModule?.setAccentColor) {
50
+ QmsModule.setAccentColor(accentColor ?? '');
51
51
  }
52
52
  if (QmsModule?.setFontFamily) {
53
53
  QmsModule.setFontFamily(fontFamily ?? '');
@@ -61,19 +61,19 @@ export const QmsDashboardView = ({
61
61
  }
62
62
  }, [clientID, clientCode, ClientID, ClientCode, user_token, token, userToken, autoShow, themeColor, headerThemeColor, headerTextColor, headerIconColor, accentColor, fontFamily, isOrigin, payload]);
63
63
  useEffect(() => {
64
- if (themeColor && QmsModule?.setPrimaryColor) {
65
- QmsModule.setPrimaryColor(themeColor);
64
+ if (QmsModule?.setPrimaryColor) {
65
+ QmsModule.setPrimaryColor(themeColor ?? '');
66
66
  }
67
- const resolvedHeaderColor = headerThemeColor ?? headerTextColor;
68
- if (resolvedHeaderColor && QmsModule?.setHeaderTextColor) {
67
+ const resolvedHeaderColor = headerThemeColor ?? headerTextColor ?? '';
68
+ if (QmsModule?.setHeaderTextColor) {
69
69
  QmsModule.setHeaderTextColor(resolvedHeaderColor);
70
70
  }
71
- const resolvedHeaderIconColor = headerThemeColor ?? headerIconColor;
72
- if (resolvedHeaderIconColor && QmsModule?.setHeaderIconColor) {
71
+ const resolvedHeaderIconColor = headerThemeColor ?? headerIconColor ?? '';
72
+ if (QmsModule?.setHeaderIconColor) {
73
73
  QmsModule.setHeaderIconColor(resolvedHeaderIconColor);
74
74
  }
75
- if (accentColor && QmsModule?.setAccentColor) {
76
- QmsModule.setAccentColor(accentColor);
75
+ if (QmsModule?.setAccentColor) {
76
+ QmsModule.setAccentColor(accentColor ?? '');
77
77
  }
78
78
  if (QmsModule?.setFontFamily) {
79
79
  QmsModule.setFontFamily(fontFamily ?? '');
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","DeviceEventEmitter","NativeModules","View","jsx","_jsx","QmsModule","QmsDashboardView","style","onClose","onLogout","onAnalyticsScreen","onAnalyticsEvent","clientID","clientCode","ClientID","ClientCode","user_token","token","userToken","autoShow","themeColor","headerThemeColor","headerTextColor","headerIconColor","accentColor","fontFamily","isOrigin","payload","resolvedClientID","resolvedClientCode","resolvedToken","hasPayload","Object","keys","length","showQms","setPrimaryColor","resolvedHeaderColor","setHeaderTextColor","resolvedHeaderIconColor","setHeaderIconColor","setAccentColor","setFontFamily","showQmsWithPayload","subscription","addListener","remove","event","screenName","screenClass","eventName","params"],"sourceRoot":"../../src","sources":["QmsDashboardView.android.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,kBAAkB,EAAEC,aAAa,EAAEC,IAAI,QAAQ,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGvE,MAAM;EAAEC;AAAU,CAAC,GAAGJ,aAqBrB;AAED,OAAO,MAAMK,gBAAiD,GAAGA,CAAC;EAChEC,KAAK;EACLC,OAAO;EACPC,QAAQ;EACRC,iBAAiB;EACjBC,gBAAgB;EAChBC,QAAQ;EACRC,UAAU;EACVC,QAAQ;EACRC,UAAU;EACVC,UAAU;EACVC,KAAK;EACLC,SAAS;EACTC,QAAQ,GAAG,IAAI;EACfC,UAAU;EACVC,gBAAgB;EAChBC,eAAe;EACfC,eAAe;EACfC,WAAW;EACXC,UAAU;EACVC,QAAQ,GAAG,KAAK;EAChBC;AACF,CAAC,KAAK;EACJ5B,SAAS,CAAC,MAAM;IACd,MAAM6B,gBAAgB,GAAGhB,QAAQ,IAAIE,QAAQ,IAAI,EAAE;IACnD,MAAMe,kBAAkB,GAAGhB,UAAU,IAAIE,UAAU,IAAI,EAAE;IACzD,MAAMe,aAAa,GAAGd,UAAU,IAAIC,KAAK,IAAIC,SAAS,IAAI,EAAE;IAC5D,MAAMa,UAAU,GAAGJ,OAAO,IAAI,IAAI,IAAIK,MAAM,CAACC,IAAI,CAACN,OAAO,CAAC,CAACO,MAAM,GAAG,CAAC;IAErE,IAAIf,QAAQ,IAAId,SAAS,EAAE8B,OAAO,EAAE;MAClC,IAAIf,UAAU,IAAIf,SAAS,EAAE+B,eAAe,EAAE;QAC5C/B,SAAS,CAAC+B,eAAe,CAAChB,UAAU,CAAC;MACvC;MACA,MAAMiB,mBAAmB,GAAGhB,gBAAgB,IAAIC,eAAe;MAC/D,IAAIe,mBAAmB,IAAIhC,SAAS,EAAEiC,kBAAkB,EAAE;QACxDjC,SAAS,CAACiC,kBAAkB,CAACD,mBAAmB,CAAC;MACnD;MACA,MAAME,uBAAuB,GAAGlB,gBAAgB,IAAIE,eAAe;MACnE,IAAIgB,uBAAuB,IAAIlC,SAAS,EAAEmC,kBAAkB,EAAE;QAC5DnC,SAAS,CAACmC,kBAAkB,CAACD,uBAAuB,CAAC;MACvD;MACA,IAAIf,WAAW,IAAInB,SAAS,EAAEoC,cAAc,EAAE;QAC5CpC,SAAS,CAACoC,cAAc,CAACjB,WAAW,CAAC;MACvC;MACA,IAAInB,SAAS,EAAEqC,aAAa,EAAE;QAC5BrC,SAAS,CAACqC,aAAa,CAACjB,UAAU,IAAI,EAAE,CAAC;MAC3C;MACA;MACA,IAAIM,UAAU,IAAI1B,SAAS,EAAEsC,kBAAkB,EAAE;QAC/CtC,SAAS,CAACsC,kBAAkB,CAC1Bb,aAAa,EACbF,gBAAgB,EAChBC,kBAAkB,EAClBH,QAAQ,EACRC,OACF,CAAC;MACH,CAAC,MAAM;QACLtB,SAAS,CAAC8B,OAAO,CACfL,aAAa,EACbF,gBAAgB,EAChBC,kBAAkB,EAClBH,QACF,CAAC;MACH;IACF;EACF,CAAC,EAAE,CACDd,QAAQ,EACRC,UAAU,EACVC,QAAQ,EACRC,UAAU,EACVC,UAAU,EACVC,KAAK,EACLC,SAAS,EACTC,QAAQ,EACRC,UAAU,EACVC,gBAAgB,EAChBC,eAAe,EACfC,eAAe,EACfC,WAAW,EACXC,UAAU,EACVC,QAAQ,EACRC,OAAO,CACR,CAAC;EAEF5B,SAAS,CAAC,MAAM;IACd,IAAIqB,UAAU,IAAIf,SAAS,EAAE+B,eAAe,EAAE;MAC5C/B,SAAS,CAAC+B,eAAe,CAAChB,UAAU,CAAC;IACvC;IACA,MAAMiB,mBAAmB,GAAGhB,gBAAgB,IAAIC,eAAe;IAC/D,IAAIe,mBAAmB,IAAIhC,SAAS,EAAEiC,kBAAkB,EAAE;MACxDjC,SAAS,CAACiC,kBAAkB,CAACD,mBAAmB,CAAC;IACnD;IACA,MAAME,uBAAuB,GAAGlB,gBAAgB,IAAIE,eAAe;IACnE,IAAIgB,uBAAuB,IAAIlC,SAAS,EAAEmC,kBAAkB,EAAE;MAC5DnC,SAAS,CAACmC,kBAAkB,CAACD,uBAAuB,CAAC;IACvD;IACA,IAAIf,WAAW,IAAInB,SAAS,EAAEoC,cAAc,EAAE;MAC5CpC,SAAS,CAACoC,cAAc,CAACjB,WAAW,CAAC;IACvC;IACA,IAAInB,SAAS,EAAEqC,aAAa,EAAE;MAC5BrC,SAAS,CAACqC,aAAa,CAACjB,UAAU,IAAI,EAAE,CAAC;IAC3C;EACF,CAAC,EAAE,CACDL,UAAU,EACVC,gBAAgB,EAChBC,eAAe,EACfC,eAAe,EACfC,WAAW,EACXC,UAAU,CACX,CAAC;EAEF1B,SAAS,CAAC,MAAM;IACd,IAAI,CAACS,OAAO,EAAE;IACd,MAAMoC,YAAY,GAAG5C,kBAAkB,CAAC6C,WAAW,CAAC,eAAe,EAAE,MACnErC,OAAO,CAAC,CACV,CAAC;IACD,OAAO,MAAMoC,YAAY,CAACE,MAAM,CAAC,CAAC;EACpC,CAAC,EAAE,CAACtC,OAAO,CAAC,CAAC;EAEbT,SAAS,CAAC,MAAM;IACd,IAAI,CAACU,QAAQ,EAAE;IACf,MAAMmC,YAAY,GAAG5C,kBAAkB,CAAC6C,WAAW,CAAC,gBAAgB,EAAE,MACpEpC,QAAQ,CAAC,CACX,CAAC;IACD,OAAO,MAAMmC,YAAY,CAACE,MAAM,CAAC,CAAC;EACpC,CAAC,EAAE,CAACrC,QAAQ,CAAC,CAAC;EAEdV,SAAS,CAAC,MAAM;IACd,IAAI,CAACW,iBAAiB,EAAE;IACxB,MAAMkC,YAAY,GAAG5C,kBAAkB,CAAC6C,WAAW,CACjD,yBAAyB,EACxBE,KAAqD,IACpDrC,iBAAiB,CAACqC,KAAK,EAAEC,UAAU,EAAED,KAAK,EAAEE,WAAW,CAC3D,CAAC;IACD,OAAO,MAAML,YAAY,CAACE,MAAM,CAAC,CAAC;EACpC,CAAC,EAAE,CAACpC,iBAAiB,CAAC,CAAC;EAEvBX,SAAS,CAAC,MAAM;IACd,IAAI,CAACY,gBAAgB,EAAE;IACvB,MAAMiC,YAAY,GAAG5C,kBAAkB,CAAC6C,WAAW,CACjD,wBAAwB,EACvBE,KAAgE,IAC/DpC,gBAAgB,CAACoC,KAAK,EAAEG,SAAS,EAAEH,KAAK,EAAEI,MAAM,IAAI,IAAI,CAC5D,CAAC;IACD,OAAO,MAAMP,YAAY,CAACE,MAAM,CAAC,CAAC;EACpC,CAAC,EAAE,CAACnC,gBAAgB,CAAC,CAAC;;EAEtB;EACA;EACA,oBAAOP,IAAA,CAACF,IAAI;IAACK,KAAK,EAAEA;EAAM,CAAE,CAAC;AAC/B,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","DeviceEventEmitter","NativeModules","View","jsx","_jsx","QmsModule","QmsDashboardView","style","onClose","onLogout","onAnalyticsScreen","onAnalyticsEvent","clientID","clientCode","ClientID","ClientCode","user_token","token","userToken","autoShow","themeColor","headerThemeColor","headerTextColor","headerIconColor","accentColor","fontFamily","isOrigin","payload","resolvedClientID","resolvedClientCode","resolvedToken","hasPayload","Object","keys","length","showQms","setPrimaryColor","resolvedHeaderColor","setHeaderTextColor","resolvedHeaderIconColor","setHeaderIconColor","setAccentColor","setFontFamily","showQmsWithPayload","subscription","addListener","remove","event","screenName","screenClass","eventName","params"],"sourceRoot":"../../src","sources":["QmsDashboardView.android.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,16 +1,16 @@
1
1
  "use strict";
2
2
 
3
3
  import React, { useEffect } from 'react';
4
- import { NativeEventEmitter, NativeModules, requireNativeComponent } from 'react-native';
4
+ import { DeviceEventEmitter, NativeEventEmitter, NativeModules, requireNativeComponent } from 'react-native';
5
5
  import { jsx as _jsx } from "react/jsx-runtime";
6
6
  // Make sure your iOS native view manager is exported as "QmsDashboardView"
7
7
  const NativeQmsDashboardView = requireNativeComponent('QmsDashboardView');
8
8
  export const QmsDashboardView = props => {
9
9
  const {
10
10
  onClose,
11
+ onLogout,
11
12
  onAnalyticsScreen,
12
13
  onAnalyticsEvent,
13
- // onLogout,
14
14
  clientID,
15
15
  clientCode,
16
16
  ClientID,
@@ -18,18 +18,32 @@ export const QmsDashboardView = props => {
18
18
  user_token,
19
19
  userToken,
20
20
  token,
21
- // isOrigin,
21
+ isOrigin = false,
22
22
  // autoShow is Android-only; ignored on iOS
23
+ themeColor,
23
24
  headerThemeColor,
24
25
  headerTextColor,
25
26
  headerIconColor,
27
+ accentColor,
28
+ fontFamily = '',
29
+ payload,
26
30
  ...rest
27
31
  } = props;
28
32
  const resolvedClientID = clientID ?? ClientID ?? '';
29
33
  const resolvedClientCode = clientCode ?? ClientCode ?? '';
30
34
  const resolvedToken = user_token ?? token ?? userToken ?? '';
35
+ const resolvedHeaderColor = headerThemeColor ?? headerTextColor ?? '';
36
+ const resolvedHeaderIconColor = headerThemeColor ?? headerIconColor ?? '';
31
37
  useEffect(() => {
32
- if (!onClose && !onAnalyticsScreen && !onAnalyticsEvent) return;
38
+ const module = NativeModules.QmsModule;
39
+ module?.setPrimaryColor?.(themeColor ?? '');
40
+ module?.setHeaderTextColor?.(resolvedHeaderColor);
41
+ module?.setHeaderIconColor?.(resolvedHeaderIconColor);
42
+ module?.setAccentColor?.(accentColor ?? '');
43
+ module?.setFontFamily?.(fontFamily ?? '');
44
+ }, [themeColor, resolvedHeaderColor, resolvedHeaderIconColor, accentColor, fontFamily]);
45
+ useEffect(() => {
46
+ if (!onClose && !onLogout) return;
33
47
  const nativeEmitterModule = NativeModules.QmsDashboardEmitter;
34
48
  if (!nativeEmitterModule) return;
35
49
  const emitter = new NativeEventEmitter(nativeEmitterModule);
@@ -37,21 +51,33 @@ export const QmsDashboardView = props => {
37
51
  if (onClose) {
38
52
  subscriptions.push(emitter.addListener('onClose', onClose));
39
53
  }
40
- if (onAnalyticsScreen) {
41
- subscriptions.push(emitter.addListener('onAnalyticsScreen', payload => onAnalyticsScreen(payload?.screenName, payload?.screenClass)));
42
- }
43
- if (onAnalyticsEvent) {
44
- subscriptions.push(emitter.addListener('onAnalyticsEvent', payload => onAnalyticsEvent(payload?.eventName, payload?.params ?? null)));
54
+ if (onLogout) {
55
+ subscriptions.push(emitter.addListener('onLogout', onLogout));
45
56
  }
46
57
  return () => subscriptions.forEach(sub => sub.remove());
47
- }, [onClose, onAnalyticsScreen, onAnalyticsEvent]);
58
+ }, [onClose, onLogout]);
59
+ useEffect(() => {
60
+ if (!onAnalyticsScreen) return;
61
+ const subscription = DeviceEventEmitter.addListener('QmsSdkOnAnalyticsScreen', payload => onAnalyticsScreen(payload?.screenName, payload?.screenClass));
62
+ return () => subscription.remove();
63
+ }, [onAnalyticsScreen]);
64
+ useEffect(() => {
65
+ if (!onAnalyticsEvent) return;
66
+ const subscription = DeviceEventEmitter.addListener('QmsSdkOnAnalyticsEvent', payload => onAnalyticsEvent(payload?.eventName, payload?.params ?? null));
67
+ return () => subscription.remove();
68
+ }, [onAnalyticsEvent]);
48
69
  return /*#__PURE__*/_jsx(NativeQmsDashboardView, {
49
70
  ...rest,
50
71
  ClientID: resolvedClientID,
51
72
  ClientCode: resolvedClientCode,
52
73
  user_token: resolvedToken,
53
- headerTextColor: headerThemeColor ?? headerTextColor,
54
- headerIconColor: headerThemeColor ?? headerIconColor
74
+ isOrigin: isOrigin,
75
+ themeColor: themeColor,
76
+ headerTextColor: resolvedHeaderColor,
77
+ headerIconColor: resolvedHeaderIconColor,
78
+ accentColor: accentColor,
79
+ fontFamily: fontFamily,
80
+ payload: payload ?? null
55
81
  });
56
82
  };
57
83
  //# sourceMappingURL=QmsDashboardView.ios.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","NativeEventEmitter","NativeModules","requireNativeComponent","jsx","_jsx","NativeQmsDashboardView","QmsDashboardView","props","onClose","onAnalyticsScreen","onAnalyticsEvent","clientID","clientCode","ClientID","ClientCode","user_token","userToken","token","headerThemeColor","headerTextColor","headerIconColor","rest","resolvedClientID","resolvedClientCode","resolvedToken","nativeEmitterModule","QmsDashboardEmitter","emitter","subscriptions","push","addListener","payload","screenName","screenClass","eventName","params","forEach","sub","remove"],"sourceRoot":"../../src","sources":["QmsDashboardView.ios.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SACEC,kBAAkB,EAClBC,aAAa,EACbC,sBAAsB,QACjB,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGtB;AACA,MAAMC,sBAAsB,GAC1BH,sBAAsB,CAAwB,kBAAkB,CAAC;AAEnE,OAAO,MAAMI,gBAAiD,GAAIC,KAAK,IAAK;EAC1E,MAAM;IACJC,OAAO;IACPC,iBAAiB;IACjBC,gBAAgB;IAChB;IACAC,QAAQ;IACRC,UAAU;IACVC,QAAQ;IACRC,UAAU;IACVC,UAAU;IACVC,SAAS;IACTC,KAAK;IACL;IACA;IACAC,gBAAgB;IAChBC,eAAe;IACfC,eAAe;IACf,GAAGC;EACL,CAAC,GAAGd,KAAK;EAET,MAAMe,gBAAgB,GAAGX,QAAQ,IAAIE,QAAQ,IAAI,EAAE;EACnD,MAAMU,kBAAkB,GAAGX,UAAU,IAAIE,UAAU,IAAI,EAAE;EACzD,MAAMU,aAAa,GAAGT,UAAU,IAAIE,KAAK,IAAID,SAAS,IAAI,EAAE;EAE5DjB,SAAS,CAAC,MAAM;IACd,IAAI,CAACS,OAAO,IAAI,CAACC,iBAAiB,IAAI,CAACC,gBAAgB,EAAE;IACzD,MAAMe,mBAAmB,GAAGxB,aAAa,CAACyB,mBAAmB;IAC7D,IAAI,CAACD,mBAAmB,EAAE;IAC1B,MAAME,OAAO,GAAG,IAAI3B,kBAAkB,CAACyB,mBAAmB,CAAC;IAC3D,MAAMG,aAAuC,GAAG,EAAE;IAClD,IAAIpB,OAAO,EAAE;MACXoB,aAAa,CAACC,IAAI,CAACF,OAAO,CAACG,WAAW,CAAC,SAAS,EAAEtB,OAAO,CAAC,CAAC;IAC7D;IACA,IAAIC,iBAAiB,EAAE;MACrBmB,aAAa,CAACC,IAAI,CAChBF,OAAO,CAACG,WAAW,CACjB,mBAAmB,EAClBC,OAAuD,IACtDtB,iBAAiB,CAACsB,OAAO,EAAEC,UAAU,EAAED,OAAO,EAAEE,WAAW,CAC/D,CACF,CAAC;IACH;IACA,IAAIvB,gBAAgB,EAAE;MACpBkB,aAAa,CAACC,IAAI,CAChBF,OAAO,CAACG,WAAW,CACjB,kBAAkB,EACjBC,OAGA,IAAKrB,gBAAgB,CAACqB,OAAO,EAAEG,SAAS,EAAEH,OAAO,EAAEI,MAAM,IAAI,IAAI,CACpE,CACF,CAAC;IACH;IACA,OAAO,MAAMP,aAAa,CAACQ,OAAO,CAAEC,GAAG,IAAKA,GAAG,CAACC,MAAM,CAAC,CAAC,CAAC;EAC3D,CAAC,EAAE,CAAC9B,OAAO,EAAEC,iBAAiB,EAAEC,gBAAgB,CAAC,CAAC;EAElD,oBACEN,IAAA,CAACC,sBAAsB;IAAA,GACjBgB,IAAI;IACRR,QAAQ,EAAES,gBAAiB;IAC3BR,UAAU,EAAES,kBAAmB;IAC/BR,UAAU,EAAES,aAAc;IAC1BL,eAAe,EAAED,gBAAgB,IAAIC,eAAgB;IACrDC,eAAe,EAAEF,gBAAgB,IAAIE;EAAgB,CACtD,CAAC;AAEN,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","DeviceEventEmitter","NativeEventEmitter","NativeModules","requireNativeComponent","jsx","_jsx","NativeQmsDashboardView","QmsDashboardView","props","onClose","onLogout","onAnalyticsScreen","onAnalyticsEvent","clientID","clientCode","ClientID","ClientCode","user_token","userToken","token","isOrigin","themeColor","headerThemeColor","headerTextColor","headerIconColor","accentColor","fontFamily","payload","rest","resolvedClientID","resolvedClientCode","resolvedToken","resolvedHeaderColor","resolvedHeaderIconColor","module","QmsModule","setPrimaryColor","setHeaderTextColor","setHeaderIconColor","setAccentColor","setFontFamily","nativeEmitterModule","QmsDashboardEmitter","emitter","subscriptions","push","addListener","forEach","sub","remove","subscription","screenName","screenClass","eventName","params"],"sourceRoot":"../../src","sources":["QmsDashboardView.ios.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"QmsDashboardView.ios.d.ts","sourceRoot":"","sources":["../../../src/QmsDashboardView.ios.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAMzC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAMtE,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAmE5D,CAAC"}
1
+ {"version":3,"file":"QmsDashboardView.ios.d.ts","sourceRoot":"","sources":["../../../src/QmsDashboardView.ios.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAOzC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAMtE,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAyG5D,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@convep_mobilogy/react-native-qms-plugin",
3
- "version": "0.10.4",
3
+ "version": "0.10.6",
4
4
  "description": "To handle defect managment",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -55,19 +55,19 @@ export const QmsDashboardView: React.FC<QmsDashboardViewProps> = ({
55
55
  const hasPayload = payload != null && Object.keys(payload).length > 0;
56
56
 
57
57
  if (autoShow && QmsModule?.showQms) {
58
- if (themeColor && QmsModule?.setPrimaryColor) {
59
- QmsModule.setPrimaryColor(themeColor);
58
+ if (QmsModule?.setPrimaryColor) {
59
+ QmsModule.setPrimaryColor(themeColor ?? '');
60
60
  }
61
- const resolvedHeaderColor = headerThemeColor ?? headerTextColor;
62
- if (resolvedHeaderColor && QmsModule?.setHeaderTextColor) {
61
+ const resolvedHeaderColor = headerThemeColor ?? headerTextColor ?? '';
62
+ if (QmsModule?.setHeaderTextColor) {
63
63
  QmsModule.setHeaderTextColor(resolvedHeaderColor);
64
64
  }
65
- const resolvedHeaderIconColor = headerThemeColor ?? headerIconColor;
66
- if (resolvedHeaderIconColor && QmsModule?.setHeaderIconColor) {
65
+ const resolvedHeaderIconColor = headerThemeColor ?? headerIconColor ?? '';
66
+ if (QmsModule?.setHeaderIconColor) {
67
67
  QmsModule.setHeaderIconColor(resolvedHeaderIconColor);
68
68
  }
69
- if (accentColor && QmsModule?.setAccentColor) {
70
- QmsModule.setAccentColor(accentColor);
69
+ if (QmsModule?.setAccentColor) {
70
+ QmsModule.setAccentColor(accentColor ?? '');
71
71
  }
72
72
  if (QmsModule?.setFontFamily) {
73
73
  QmsModule.setFontFamily(fontFamily ?? '');
@@ -110,19 +110,19 @@ export const QmsDashboardView: React.FC<QmsDashboardViewProps> = ({
110
110
  ]);
111
111
 
112
112
  useEffect(() => {
113
- if (themeColor && QmsModule?.setPrimaryColor) {
114
- QmsModule.setPrimaryColor(themeColor);
113
+ if (QmsModule?.setPrimaryColor) {
114
+ QmsModule.setPrimaryColor(themeColor ?? '');
115
115
  }
116
- const resolvedHeaderColor = headerThemeColor ?? headerTextColor;
117
- if (resolvedHeaderColor && QmsModule?.setHeaderTextColor) {
116
+ const resolvedHeaderColor = headerThemeColor ?? headerTextColor ?? '';
117
+ if (QmsModule?.setHeaderTextColor) {
118
118
  QmsModule.setHeaderTextColor(resolvedHeaderColor);
119
119
  }
120
- const resolvedHeaderIconColor = headerThemeColor ?? headerIconColor;
121
- if (resolvedHeaderIconColor && QmsModule?.setHeaderIconColor) {
120
+ const resolvedHeaderIconColor = headerThemeColor ?? headerIconColor ?? '';
121
+ if (QmsModule?.setHeaderIconColor) {
122
122
  QmsModule.setHeaderIconColor(resolvedHeaderIconColor);
123
123
  }
124
- if (accentColor && QmsModule?.setAccentColor) {
125
- QmsModule.setAccentColor(accentColor);
124
+ if (QmsModule?.setAccentColor) {
125
+ QmsModule.setAccentColor(accentColor ?? '');
126
126
  }
127
127
  if (QmsModule?.setFontFamily) {
128
128
  QmsModule.setFontFamily(fontFamily ?? '');
@@ -1,5 +1,6 @@
1
1
  import React, { useEffect } from 'react';
2
2
  import {
3
+ DeviceEventEmitter,
3
4
  NativeEventEmitter,
4
5
  NativeModules,
5
6
  requireNativeComponent,
@@ -13,9 +14,9 @@ const NativeQmsDashboardView =
13
14
  export const QmsDashboardView: React.FC<QmsDashboardViewProps> = (props) => {
14
15
  const {
15
16
  onClose,
17
+ onLogout,
16
18
  onAnalyticsScreen,
17
19
  onAnalyticsEvent,
18
- // onLogout,
19
20
  clientID,
20
21
  clientCode,
21
22
  ClientID,
@@ -23,20 +24,50 @@ export const QmsDashboardView: React.FC<QmsDashboardViewProps> = (props) => {
23
24
  user_token,
24
25
  userToken,
25
26
  token,
26
- // isOrigin,
27
+ isOrigin = false,
27
28
  // autoShow is Android-only; ignored on iOS
29
+ themeColor,
28
30
  headerThemeColor,
29
31
  headerTextColor,
30
32
  headerIconColor,
33
+ accentColor,
34
+ fontFamily = '',
35
+ payload,
31
36
  ...rest
32
37
  } = props;
33
38
 
34
39
  const resolvedClientID = clientID ?? ClientID ?? '';
35
40
  const resolvedClientCode = clientCode ?? ClientCode ?? '';
36
41
  const resolvedToken = user_token ?? token ?? userToken ?? '';
42
+ const resolvedHeaderColor = headerThemeColor ?? headerTextColor ?? '';
43
+ const resolvedHeaderIconColor = headerThemeColor ?? headerIconColor ?? '';
37
44
 
38
45
  useEffect(() => {
39
- if (!onClose && !onAnalyticsScreen && !onAnalyticsEvent) return;
46
+ const module = NativeModules.QmsModule as
47
+ | {
48
+ setPrimaryColor?: (hexColor?: string) => void;
49
+ setHeaderTextColor?: (hexColor?: string) => void;
50
+ setHeaderIconColor?: (hexColor?: string) => void;
51
+ setAccentColor?: (hexColor?: string) => void;
52
+ setFontFamily?: (fontFamily?: string) => void;
53
+ }
54
+ | undefined;
55
+
56
+ module?.setPrimaryColor?.(themeColor ?? '');
57
+ module?.setHeaderTextColor?.(resolvedHeaderColor);
58
+ module?.setHeaderIconColor?.(resolvedHeaderIconColor);
59
+ module?.setAccentColor?.(accentColor ?? '');
60
+ module?.setFontFamily?.(fontFamily ?? '');
61
+ }, [
62
+ themeColor,
63
+ resolvedHeaderColor,
64
+ resolvedHeaderIconColor,
65
+ accentColor,
66
+ fontFamily,
67
+ ]);
68
+
69
+ useEffect(() => {
70
+ if (!onClose && !onLogout) return;
40
71
  const nativeEmitterModule = NativeModules.QmsDashboardEmitter;
41
72
  if (!nativeEmitterModule) return;
42
73
  const emitter = new NativeEventEmitter(nativeEmitterModule);
@@ -44,28 +75,31 @@ export const QmsDashboardView: React.FC<QmsDashboardViewProps> = (props) => {
44
75
  if (onClose) {
45
76
  subscriptions.push(emitter.addListener('onClose', onClose));
46
77
  }
47
- if (onAnalyticsScreen) {
48
- subscriptions.push(
49
- emitter.addListener(
50
- 'onAnalyticsScreen',
51
- (payload?: { screenName?: string; screenClass?: string }) =>
52
- onAnalyticsScreen(payload?.screenName, payload?.screenClass)
53
- )
54
- );
55
- }
56
- if (onAnalyticsEvent) {
57
- subscriptions.push(
58
- emitter.addListener(
59
- 'onAnalyticsEvent',
60
- (payload?: {
61
- eventName?: string;
62
- params?: Record<string, unknown>;
63
- }) => onAnalyticsEvent(payload?.eventName, payload?.params ?? null)
64
- )
65
- );
78
+ if (onLogout) {
79
+ subscriptions.push(emitter.addListener('onLogout', onLogout));
66
80
  }
67
81
  return () => subscriptions.forEach((sub) => sub.remove());
68
- }, [onClose, onAnalyticsScreen, onAnalyticsEvent]);
82
+ }, [onClose, onLogout]);
83
+
84
+ useEffect(() => {
85
+ if (!onAnalyticsScreen) return;
86
+ const subscription = DeviceEventEmitter.addListener(
87
+ 'QmsSdkOnAnalyticsScreen',
88
+ (payload?: { screenName?: string; screenClass?: string }) =>
89
+ onAnalyticsScreen(payload?.screenName, payload?.screenClass)
90
+ );
91
+ return () => subscription.remove();
92
+ }, [onAnalyticsScreen]);
93
+
94
+ useEffect(() => {
95
+ if (!onAnalyticsEvent) return;
96
+ const subscription = DeviceEventEmitter.addListener(
97
+ 'QmsSdkOnAnalyticsEvent',
98
+ (payload?: { eventName?: string; params?: Record<string, unknown> }) =>
99
+ onAnalyticsEvent(payload?.eventName, payload?.params ?? null)
100
+ );
101
+ return () => subscription.remove();
102
+ }, [onAnalyticsEvent]);
69
103
 
70
104
  return (
71
105
  <NativeQmsDashboardView
@@ -73,8 +107,13 @@ export const QmsDashboardView: React.FC<QmsDashboardViewProps> = (props) => {
73
107
  ClientID={resolvedClientID}
74
108
  ClientCode={resolvedClientCode}
75
109
  user_token={resolvedToken}
76
- headerTextColor={headerThemeColor ?? headerTextColor}
77
- headerIconColor={headerThemeColor ?? headerIconColor}
110
+ isOrigin={isOrigin}
111
+ themeColor={themeColor}
112
+ headerTextColor={resolvedHeaderColor}
113
+ headerIconColor={resolvedHeaderIconColor}
114
+ accentColor={accentColor}
115
+ fontFamily={fontFamily}
116
+ payload={payload ?? null}
78
117
  />
79
118
  );
80
119
  };