react-native-map4d-map-dtqg 0.1.4 → 0.1.5

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 (217) hide show
  1. package/README.md +58 -0
  2. package/android/.gradle/9.2.0/fileHashes/fileHashes.lock +0 -0
  3. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  4. package/android/.gradle/buildOutputCleanup/cache.properties +1 -1
  5. package/android/build.gradle +2 -2
  6. package/android/src/main/java/com/reactnativemap4dmap/Map4dMapModule.java +39 -27
  7. package/ios/Map4dMap.h +12 -3
  8. package/ios/Map4dMap.m +108 -3
  9. package/ios/Map4dMapTurbo.mm +16 -0
  10. package/ios/RMFCircleManager.m +40 -68
  11. package/ios/RMFDirectionsRendererManager.m +26 -24
  12. package/ios/RMFMapViewManager.m +64 -149
  13. package/ios/RMFMarkerManager.m +36 -64
  14. package/ios/RMFPOIManager.m +40 -74
  15. package/ios/RMFPolygonManager.m +38 -60
  16. package/ios/RMFPolylineManager.m +36 -58
  17. package/ios/building/RMFBuildingManager.m +36 -64
  18. package/lib/commonjs/components/MFBanDoSo/constants.js +27 -0
  19. package/lib/commonjs/components/MFBanDoSo/constants.js.map +1 -0
  20. package/lib/commonjs/components/MFBanDoSo/helpers.js +200 -0
  21. package/lib/commonjs/components/MFBanDoSo/helpers.js.map +1 -0
  22. package/lib/commonjs/components/MFBanDoSo/propTypes.js +18 -0
  23. package/lib/commonjs/components/MFBanDoSo/propTypes.js.map +1 -0
  24. package/lib/commonjs/components/MFBanDoSo/styles.js +328 -0
  25. package/lib/commonjs/components/MFBanDoSo/styles.js.map +1 -0
  26. package/lib/commonjs/components/MFBanDoSo/ui.js +220 -0
  27. package/lib/commonjs/components/MFBanDoSo/ui.js.map +1 -0
  28. package/lib/commonjs/components/MFBanDoSo.js +190 -73
  29. package/lib/commonjs/components/MFBanDoSo.js.map +1 -1
  30. package/lib/commonjs/components/MFBuilding.js +15 -90
  31. package/lib/commonjs/components/MFBuilding.js.map +1 -1
  32. package/lib/commonjs/components/MFCircle.js +20 -88
  33. package/lib/commonjs/components/MFCircle.js.map +1 -1
  34. package/lib/commonjs/components/MFDirectionsRenderer.js +15 -93
  35. package/lib/commonjs/components/MFDirectionsRenderer.js.map +1 -1
  36. package/lib/commonjs/components/MFMapView.js +50 -147
  37. package/lib/commonjs/components/MFMapView.js.map +1 -1
  38. package/lib/commonjs/components/MFMarker.js +15 -101
  39. package/lib/commonjs/components/MFMarker.js.map +1 -1
  40. package/lib/commonjs/components/MFPOI.js +17 -92
  41. package/lib/commonjs/components/MFPOI.js.map +1 -1
  42. package/lib/commonjs/components/MFPolygon.js +15 -87
  43. package/lib/commonjs/components/MFPolygon.js.map +1 -1
  44. package/lib/commonjs/components/MFPolyline.js +17 -87
  45. package/lib/commonjs/components/MFPolyline.js.map +1 -1
  46. package/lib/commonjs/components/MFTileOverlay.js +7 -15
  47. package/lib/commonjs/components/MFTileOverlay.js.map +1 -1
  48. package/lib/commonjs/components/Map4dMapView.js +1 -4
  49. package/lib/commonjs/components/Map4dMapView.js.map +1 -1
  50. package/lib/commonjs/components/extends/AreaFocusManager.js +4 -38
  51. package/lib/commonjs/components/extends/AreaFocusManager.js.map +1 -1
  52. package/lib/commonjs/components/extends/AreaFocuser.js +1 -17
  53. package/lib/commonjs/components/extends/AreaFocuser.js.map +1 -1
  54. package/lib/commonjs/components/extends/BoundHelper.js +0 -6
  55. package/lib/commonjs/components/extends/BoundHelper.js.map +1 -1
  56. package/lib/commonjs/components/extends/area/AreaFocusAreas.js +0 -37
  57. package/lib/commonjs/components/extends/area/AreaFocusAreas.js.map +1 -1
  58. package/lib/commonjs/components/extends/area/AreaFocusGeometryUtils.js +1 -35
  59. package/lib/commonjs/components/extends/area/AreaFocusGeometryUtils.js.map +1 -1
  60. package/lib/commonjs/components/extends/area/AreaFocusSession.js +0 -18
  61. package/lib/commonjs/components/extends/area/AreaFocusSession.js.map +1 -1
  62. package/lib/commonjs/components/extends/area/AreaFocusTypes.js +2 -3
  63. package/lib/commonjs/components/extends/area/AreaFocusTypes.js.map +1 -1
  64. package/lib/commonjs/components/internal/DefaultRoadmapStyle.js +1 -2
  65. package/lib/commonjs/components/internal/DefaultRoadmapStyle.js.map +1 -1
  66. package/lib/commonjs/components/internal/GeojsonStyleUtils.js +20 -31
  67. package/lib/commonjs/components/internal/GeojsonStyleUtils.js.map +1 -1
  68. package/lib/commonjs/index.js +0 -11
  69. package/lib/commonjs/index.js.map +1 -1
  70. package/lib/commonjs/native/Map4dMapNativeModule.js +10 -0
  71. package/lib/commonjs/native/Map4dMapNativeModule.js.map +1 -0
  72. package/lib/commonjs/native/NativeModuleResolver.js +35 -0
  73. package/lib/commonjs/native/NativeModuleResolver.js.map +1 -0
  74. package/lib/commonjs/native/ViewManagerCommand.js +67 -0
  75. package/lib/commonjs/native/ViewManagerCommand.js.map +1 -0
  76. package/lib/commonjs/package.json +1 -0
  77. package/lib/commonjs/specs/NativeMap4dMap.js +9 -0
  78. package/lib/commonjs/specs/NativeMap4dMap.js.map +1 -0
  79. package/lib/module/components/MFBanDoSo/constants.js +22 -0
  80. package/lib/module/components/MFBanDoSo/constants.js.map +1 -0
  81. package/lib/module/components/MFBanDoSo/helpers.js +188 -0
  82. package/lib/module/components/MFBanDoSo/helpers.js.map +1 -0
  83. package/lib/module/components/MFBanDoSo/propTypes.js +14 -0
  84. package/lib/module/components/MFBanDoSo/propTypes.js.map +1 -0
  85. package/lib/module/components/MFBanDoSo/styles.js +325 -0
  86. package/lib/module/components/MFBanDoSo/styles.js.map +1 -0
  87. package/lib/module/components/MFBanDoSo/ui.js +213 -0
  88. package/lib/module/components/MFBanDoSo/ui.js.map +1 -0
  89. package/lib/module/components/MFBanDoSo.js +192 -63
  90. package/lib/module/components/MFBanDoSo.js.map +1 -1
  91. package/lib/module/components/MFBuilding.js +17 -82
  92. package/lib/module/components/MFBuilding.js.map +1 -1
  93. package/lib/module/components/MFCircle.js +22 -80
  94. package/lib/module/components/MFCircle.js.map +1 -1
  95. package/lib/module/components/MFDirectionsRenderer.js +16 -85
  96. package/lib/module/components/MFDirectionsRenderer.js.map +1 -1
  97. package/lib/module/components/MFMapView.js +51 -136
  98. package/lib/module/components/MFMapView.js.map +1 -1
  99. package/lib/module/components/MFMarker.js +17 -92
  100. package/lib/module/components/MFMarker.js.map +1 -1
  101. package/lib/module/components/MFPOI.js +19 -84
  102. package/lib/module/components/MFPOI.js.map +1 -1
  103. package/lib/module/components/MFPolygon.js +17 -79
  104. package/lib/module/components/MFPolygon.js.map +1 -1
  105. package/lib/module/components/MFPolyline.js +19 -79
  106. package/lib/module/components/MFPolyline.js.map +1 -1
  107. package/lib/module/components/MFTileOverlay.js +10 -9
  108. package/lib/module/components/MFTileOverlay.js.map +1 -1
  109. package/lib/module/components/Map4dMapView.js +2 -0
  110. package/lib/module/components/Map4dMapView.js.map +1 -1
  111. package/lib/module/components/extends/AreaFocusManager.js +6 -32
  112. package/lib/module/components/extends/AreaFocusManager.js.map +1 -1
  113. package/lib/module/components/extends/AreaFocuser.js +3 -15
  114. package/lib/module/components/extends/AreaFocuser.js.map +1 -1
  115. package/lib/module/components/extends/BoundHelper.js +2 -5
  116. package/lib/module/components/extends/BoundHelper.js.map +1 -1
  117. package/lib/module/components/extends/area/AreaFocusAreas.js +2 -33
  118. package/lib/module/components/extends/area/AreaFocusAreas.js.map +1 -1
  119. package/lib/module/components/extends/area/AreaFocusGeometryUtils.js +2 -32
  120. package/lib/module/components/extends/area/AreaFocusGeometryUtils.js.map +1 -1
  121. package/lib/module/components/extends/area/AreaFocusSession.js +2 -17
  122. package/lib/module/components/extends/area/AreaFocusSession.js.map +1 -1
  123. package/lib/module/components/extends/area/AreaFocusTypes.js +3 -0
  124. package/lib/module/components/extends/area/AreaFocusTypes.js.map +1 -1
  125. package/lib/module/components/internal/DefaultRoadmapStyle.js +2 -0
  126. package/lib/module/components/internal/DefaultRoadmapStyle.js.map +1 -1
  127. package/lib/module/components/internal/GeojsonStyleUtils.js +21 -28
  128. package/lib/module/components/internal/GeojsonStyleUtils.js.map +1 -1
  129. package/lib/module/index.js +2 -0
  130. package/lib/module/index.js.map +1 -1
  131. package/lib/module/native/Map4dMapNativeModule.js +5 -0
  132. package/lib/module/native/Map4dMapNativeModule.js.map +1 -0
  133. package/lib/module/native/NativeModuleResolver.js +29 -0
  134. package/lib/module/native/NativeModuleResolver.js.map +1 -0
  135. package/lib/module/native/ViewManagerCommand.js +61 -0
  136. package/lib/module/native/ViewManagerCommand.js.map +1 -0
  137. package/lib/module/specs/NativeMap4dMap.js +5 -0
  138. package/lib/module/specs/NativeMap4dMap.js.map +1 -0
  139. package/lib/typescript/components/MFBanDoSo/constants.d.ts +8 -0
  140. package/lib/typescript/components/MFBanDoSo/constants.d.ts.map +1 -0
  141. package/lib/typescript/components/MFBanDoSo/helpers.d.ts +14 -0
  142. package/lib/typescript/components/MFBanDoSo/helpers.d.ts.map +1 -0
  143. package/lib/typescript/components/MFBanDoSo/propTypes.d.ts +2 -0
  144. package/lib/typescript/components/MFBanDoSo/propTypes.d.ts.map +1 -0
  145. package/lib/typescript/components/MFBanDoSo/styles.d.ts +462 -0
  146. package/lib/typescript/components/MFBanDoSo/styles.d.ts.map +1 -0
  147. package/lib/typescript/components/MFBanDoSo/ui.d.ts +30 -0
  148. package/lib/typescript/components/MFBanDoSo/ui.d.ts.map +1 -0
  149. package/lib/typescript/components/MFBanDoSo.d.ts +37 -0
  150. package/lib/typescript/components/MFBanDoSo.d.ts.map +1 -0
  151. package/lib/typescript/components/MFBuilding.d.ts +24 -0
  152. package/lib/typescript/components/MFBuilding.d.ts.map +1 -0
  153. package/lib/typescript/components/MFCircle.d.ts +24 -0
  154. package/lib/typescript/components/MFCircle.d.ts.map +1 -0
  155. package/lib/typescript/components/MFDirectionsRenderer.d.ts +19 -0
  156. package/lib/typescript/components/MFDirectionsRenderer.d.ts.map +1 -0
  157. package/lib/typescript/components/MFMapView.d.ts +66 -0
  158. package/lib/typescript/components/MFMapView.d.ts.map +1 -0
  159. package/lib/typescript/components/MFMarker.d.ts +26 -0
  160. package/lib/typescript/components/MFMarker.d.ts.map +1 -0
  161. package/lib/typescript/components/MFPOI.d.ts +24 -0
  162. package/lib/typescript/components/MFPOI.d.ts.map +1 -0
  163. package/lib/typescript/components/MFPolygon.d.ts +24 -0
  164. package/lib/typescript/components/MFPolygon.d.ts.map +1 -0
  165. package/lib/typescript/components/MFPolyline.d.ts +24 -0
  166. package/lib/typescript/components/MFPolyline.d.ts.map +1 -0
  167. package/lib/typescript/components/MFTileOverlay.d.ts +12 -0
  168. package/lib/typescript/components/MFTileOverlay.d.ts.map +1 -0
  169. package/lib/typescript/components/Map4dMapView.d.ts +8 -7
  170. package/lib/typescript/components/Map4dMapView.d.ts.map +1 -0
  171. package/lib/typescript/components/extends/AreaFocusManager.d.ts +34 -0
  172. package/lib/typescript/components/extends/AreaFocusManager.d.ts.map +1 -0
  173. package/lib/typescript/components/extends/AreaFocuser.d.ts +15 -0
  174. package/lib/typescript/components/extends/AreaFocuser.d.ts.map +1 -0
  175. package/lib/typescript/components/extends/BoundHelper.d.ts +11 -0
  176. package/lib/typescript/components/extends/BoundHelper.d.ts.map +1 -0
  177. package/lib/typescript/components/extends/area/AreaFocusAreas.d.ts +58 -0
  178. package/lib/typescript/components/extends/area/AreaFocusAreas.d.ts.map +1 -0
  179. package/lib/typescript/components/extends/area/AreaFocusGeometryUtils.d.ts +19 -0
  180. package/lib/typescript/components/extends/area/AreaFocusGeometryUtils.d.ts.map +1 -0
  181. package/lib/typescript/components/extends/area/AreaFocusSession.d.ts +14 -0
  182. package/lib/typescript/components/extends/area/AreaFocusSession.d.ts.map +1 -0
  183. package/lib/typescript/components/extends/area/AreaFocusTypes.d.ts +40 -0
  184. package/lib/typescript/components/extends/area/AreaFocusTypes.d.ts.map +1 -0
  185. package/lib/typescript/components/internal/DefaultRoadmapStyle.d.ts +820 -0
  186. package/lib/typescript/components/internal/DefaultRoadmapStyle.d.ts.map +1 -0
  187. package/lib/typescript/components/internal/GeojsonStyleUtils.d.ts +3 -0
  188. package/lib/typescript/components/internal/GeojsonStyleUtils.d.ts.map +1 -0
  189. package/lib/typescript/index.d.ts +13 -0
  190. package/lib/typescript/index.d.ts.map +1 -0
  191. package/lib/typescript/native/Map4dMapNativeModule.d.ts +2 -0
  192. package/lib/typescript/native/Map4dMapNativeModule.d.ts.map +1 -0
  193. package/lib/typescript/native/NativeModuleResolver.d.ts +3 -0
  194. package/lib/typescript/native/NativeModuleResolver.d.ts.map +1 -0
  195. package/lib/typescript/native/ViewManagerCommand.d.ts +11 -0
  196. package/lib/typescript/native/ViewManagerCommand.d.ts.map +1 -0
  197. package/package.json +27 -11
  198. package/src/components/MFBanDoSo/constants.js +32 -0
  199. package/src/components/MFBanDoSo/helpers.js +273 -0
  200. package/src/components/MFBanDoSo/propTypes.js +14 -0
  201. package/src/components/MFBanDoSo/styles.js +316 -0
  202. package/src/components/MFBanDoSo/ui.js +230 -0
  203. package/src/components/MFBanDoSo.js +268 -78
  204. package/src/components/MFBuilding.js +8 -48
  205. package/src/components/MFCircle.js +8 -48
  206. package/src/components/MFDirectionsRenderer.js +8 -47
  207. package/src/components/MFMapView.js +31 -53
  208. package/src/components/MFMarker.js +9 -50
  209. package/src/components/MFPOI.js +8 -48
  210. package/src/components/MFPolygon.js +8 -48
  211. package/src/components/MFPolyline.js +8 -48
  212. package/src/components/internal/GeojsonStyleUtils.js +3 -0
  213. package/src/native/Map4dMapNativeModule.js +3 -0
  214. package/src/native/NativeModuleResolver.js +33 -0
  215. package/src/native/ViewManagerCommand.js +82 -0
  216. package/src/specs/NativeMap4dMap.js +12 -0
  217. package/ios/Map4dMapViewManager.m +0 -34
@@ -18,6 +18,26 @@
18
18
 
19
19
  RCT_EXPORT_MODULE(RMFPOI)
20
20
 
21
+ - (void)withPOIForTag:(nonnull NSNumber *)reactTag
22
+ handler:(void (^)(RMFPOI *poi))handler
23
+ {
24
+ RCTUIManager *uiManager = self.bridge.uiManager;
25
+ if (uiManager == nil) {
26
+ RCTLogError(@"UIManager is unavailable on iOS runtime");
27
+ return;
28
+ }
29
+
30
+ [uiManager addUIBlock:^(__unused RCTUIManager *manager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
31
+ id view = viewRegistry[reactTag];
32
+ if (![view isKindOfClass:[RMFPOI class]]) {
33
+ RCTLogError(@"Invalid view returned from registry, expecting RMFPOI, got: %@", view);
34
+ return;
35
+ }
36
+
37
+ handler((RMFPOI *)view);
38
+ }];
39
+ }
40
+
21
41
  - (UIView *)view {
22
42
  RMFPOI * poi = [[RMFPOI alloc] init];
23
43
  return poi;
@@ -39,44 +59,26 @@ RCT_EXPORT_VIEW_PROPERTY(onPress, RCTBubblingEventBlock)
39
59
  RCT_EXPORT_METHOD(setCoordinate:(nonnull NSNumber *)reactTag
40
60
  withCoordinate:(id)coordinate)
41
61
  {
42
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
43
- id view = viewRegistry[reactTag];
44
- if (![view isKindOfClass:[RMFPOI class]]) {
45
- RCTLogError(@"Invalid view returned from registry, expecting RMFMarker, got: %@", view);
46
- } else {
47
- RMFPOI *poi = (RMFPOI *)view;
48
- [poi setCoordinate:[RCTConvert CLLocationCoordinate2D:coordinate]];
49
- }
62
+ [self withPOIForTag:reactTag handler:^(RMFPOI *poi) {
63
+ [poi setCoordinate:[RCTConvert CLLocationCoordinate2D:coordinate]];
50
64
  }];
51
65
  }
52
66
 
53
67
  RCT_EXPORT_METHOD(setTitle:(nonnull NSNumber *)reactTag
54
68
  withTitle:(NSString*)title)
55
69
  {
56
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
57
- id view = viewRegistry[reactTag];
58
- if (![view isKindOfClass:[RMFPOI class]]) {
59
- RCTLogError(@"Invalid view returned from registry, expecting RMFMarker, got: %@", view);
60
- } else {
61
- RMFPOI *poi = (RMFPOI *)view;
62
- [poi setTitle:title];
63
- }
70
+ [self withPOIForTag:reactTag handler:^(RMFPOI *poi) {
71
+ [poi setTitle:title];
64
72
  }];
65
73
  }
66
74
 
67
75
  RCT_EXPORT_METHOD(setTitleColor:(nonnull NSNumber *)reactTag
68
76
  withColor:(id)json)
69
77
  {
70
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
71
- id view = viewRegistry[reactTag];
72
- if (![view isKindOfClass:[RMFPOI class]]) {
73
- RCTLogError(@"Invalid view returned from registry, expecting RMFMarker, got: %@", view);
74
- } else {
75
- RMFPOI *poi = (RMFPOI *)view;
76
- UIColor* color = [RCTConvert UIColor:json];
77
- if (color != nil) {
78
- [poi setTitleColor:color];
79
- }
78
+ [self withPOIForTag:reactTag handler:^(RMFPOI *poi) {
79
+ UIColor* color = [RCTConvert UIColor:json];
80
+ if (color != nil) {
81
+ [poi setTitleColor:color];
80
82
  }
81
83
  }];
82
84
  }
@@ -84,84 +86,48 @@ RCT_EXPORT_METHOD(setTitleColor:(nonnull NSNumber *)reactTag
84
86
  RCT_EXPORT_METHOD(setSubTitle:(nonnull NSNumber *)reactTag
85
87
  withSubTitle:(NSString*)subTitle)
86
88
  {
87
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
88
- id view = viewRegistry[reactTag];
89
- if (![view isKindOfClass:[RMFPOI class]]) {
90
- RCTLogError(@"Invalid view returned from registry, expecting RMFMarker, got: %@", view);
91
- } else {
92
- RMFPOI *poi = (RMFPOI *)view;
93
- [poi setSubtitle:subTitle];
94
- }
89
+ [self withPOIForTag:reactTag handler:^(RMFPOI *poi) {
90
+ [poi setSubtitle:subTitle];
95
91
  }];
96
92
  }
97
93
 
98
94
  RCT_EXPORT_METHOD(setPoiType:(nonnull NSNumber *)reactTag
99
95
  withType:(NSString*)type)
100
96
  {
101
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
102
- id view = viewRegistry[reactTag];
103
- if (![view isKindOfClass:[RMFPOI class]]) {
104
- RCTLogError(@"Invalid view returned from registry, expecting RMFMarker, got: %@", view);
105
- } else {
106
- RMFPOI *poi = (RMFPOI *)view;
107
- [poi setPoiType:type];
108
- }
97
+ [self withPOIForTag:reactTag handler:^(RMFPOI *poi) {
98
+ [poi setPoiType:type];
109
99
  }];
110
100
  }
111
101
 
112
102
  RCT_EXPORT_METHOD(setIcon:(nonnull NSNumber *)reactTag
113
103
  withIcon:(id)json)
114
104
  {
115
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
116
- id view = viewRegistry[reactTag];
117
- if (![view isKindOfClass:[RMFPOI class]]) {
118
- RCTLogError(@"Invalid view returned from registry, expecting RMFMarker, got: %@", view);
119
- } else {
120
- RMFPOI *poi = (RMFPOI *)view;
121
- [poi setIcon:[RCTConvert RMFIcon:json]];
122
- }
105
+ [self withPOIForTag:reactTag handler:^(RMFPOI *poi) {
106
+ [poi setIcon:[RCTConvert RMFIcon:json]];
123
107
  }];
124
108
  }
125
109
 
126
110
  RCT_EXPORT_METHOD(setZIndex:(nonnull NSNumber *)reactTag
127
111
  withZIndex:(float)zIndex)
128
112
  {
129
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
130
- id view = viewRegistry[reactTag];
131
- if (![view isKindOfClass:[RMFPOI class]]) {
132
- RCTLogError(@"Invalid view returned from registry, expecting RMFMarker, got: %@", view);
133
- } else {
134
- RMFPOI *poi = (RMFPOI *)view;
135
- [poi setZIndex:zIndex];
136
- }
113
+ [self withPOIForTag:reactTag handler:^(RMFPOI *poi) {
114
+ [poi setZIndex:zIndex];
137
115
  }];
138
116
  }
139
117
 
140
118
  RCT_EXPORT_METHOD(setVisible:(nonnull NSNumber *)reactTag
141
119
  visible:(BOOL)visible)
142
120
  {
143
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
144
- id view = viewRegistry[reactTag];
145
- if (![view isKindOfClass:[RMFPOI class]]) {
146
- RCTLogError(@"Invalid view returned from registry, expecting RMFMarker, got: %@", view);
147
- } else {
148
- RMFPOI *poi = (RMFPOI *)view;
149
- [poi setVisible:visible];
150
- }
121
+ [self withPOIForTag:reactTag handler:^(RMFPOI *poi) {
122
+ [poi setVisible:visible];
151
123
  }];
152
124
  }
153
125
 
154
126
  RCT_EXPORT_METHOD(setUserData:(nonnull NSNumber *)reactTag
155
127
  userData:(id)json)
156
128
  {
157
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
158
- id view = viewRegistry[reactTag];
159
- if (![view isKindOfClass:[RMFPOI class]]) {
160
- RCTLogError(@"Invalid view returned from registry, expecting RMFMarker, got: %@", view);
161
- } else {
162
- RMFPOI *poi = (RMFPOI *)view;
163
- [poi setUserData:[RCTConvert NSDictionary:json]];
164
- }
129
+ [self withPOIForTag:reactTag handler:^(RMFPOI *poi) {
130
+ [poi setUserData:[RCTConvert NSDictionary:json]];
165
131
  }];
166
132
  }
167
133
 
@@ -17,6 +17,26 @@
17
17
 
18
18
  RCT_EXPORT_MODULE(RMFPolygon)
19
19
 
20
+ - (void)withPolygonForTag:(nonnull NSNumber *)reactTag
21
+ handler:(void (^)(RMFPolygon *polygon))handler
22
+ {
23
+ RCTUIManager *uiManager = self.bridge.uiManager;
24
+ if (uiManager == nil) {
25
+ RCTLogError(@"UIManager is unavailable on iOS runtime");
26
+ return;
27
+ }
28
+
29
+ [uiManager addUIBlock:^(__unused RCTUIManager *manager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
30
+ id view = viewRegistry[reactTag];
31
+ if (![view isKindOfClass:[RMFPolygon class]]) {
32
+ RCTLogError(@"Invalid view returned from registry, expecting RMFPolygon, got: %@", view);
33
+ return;
34
+ }
35
+
36
+ handler((RMFPolygon *)view);
37
+ }];
38
+ }
39
+
20
40
  - (UIView *)view {
21
41
  RMFPolygon* polygon = [[RMFPolygon alloc] init];
22
42
  return polygon;
@@ -37,44 +57,26 @@ RCT_EXPORT_VIEW_PROPERTY(onPress, RCTBubblingEventBlock)
37
57
  RCT_EXPORT_METHOD(setCoordinates:(nonnull NSNumber *)reactTag
38
58
  withCoordinates:(id)coordinates)
39
59
  {
40
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
41
- id view = viewRegistry[reactTag];
42
- if (![view isKindOfClass:[RMFPolygon class]]) {
43
- RCTLogError(@"Invalid view returned from registry, expecting RMFPolygon, got: %@", view);
44
- } else {
45
- RMFPolygon *polygon = (RMFPolygon *)view;
46
- [polygon setCoordinates:[RCTConvert RMFCoordinateArray:coordinates]];
47
- }
60
+ [self withPolygonForTag:reactTag handler:^(RMFPolygon *polygon) {
61
+ [polygon setCoordinates:[RCTConvert RMFCoordinateArray:coordinates]];
48
62
  }];
49
63
  }
50
64
 
51
65
  RCT_EXPORT_METHOD(setHoles:(nonnull NSNumber *)reactTag
52
66
  withHoles:(id)holes)
53
67
  {
54
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
55
- id view = viewRegistry[reactTag];
56
- if (![view isKindOfClass:[RMFPolygon class]]) {
57
- RCTLogError(@"Invalid view returned from registry, expecting RMFPolygon, got: %@", view);
58
- } else {
59
- RMFPolygon *polygon = (RMFPolygon *)view;
60
- [polygon setHoles:[RCTConvert RMFCoordinateArrayArray:holes]];
61
- }
68
+ [self withPolygonForTag:reactTag handler:^(RMFPolygon *polygon) {
69
+ [polygon setHoles:[RCTConvert RMFCoordinateArrayArray:holes]];
62
70
  }];
63
71
  }
64
72
 
65
73
  RCT_EXPORT_METHOD(setFillColor:(nonnull NSNumber *)reactTag
66
74
  color:(id)json)
67
75
  {
68
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
69
- id view = viewRegistry[reactTag];
70
- if (![view isKindOfClass:[RMFPolygon class]]) {
71
- RCTLogError(@"Invalid view returned from registry, expecting RMFPolygon, got: %@", view);
72
- } else {
73
- RMFPolygon *polygon = (RMFPolygon *)view;
74
- UIColor* color = [RCTConvert UIColor:json];
75
- if (color != nil) {
76
- [polygon setFillColor:color];
77
- }
76
+ [self withPolygonForTag:reactTag handler:^(RMFPolygon *polygon) {
77
+ UIColor* color = [RCTConvert UIColor:json];
78
+ if (color != nil) {
79
+ [polygon setFillColor:color];
78
80
  }
79
81
  }];
80
82
  }
@@ -82,16 +84,10 @@ RCT_EXPORT_METHOD(setFillColor:(nonnull NSNumber *)reactTag
82
84
  RCT_EXPORT_METHOD(setStrokeColor:(nonnull NSNumber *)reactTag
83
85
  color:(id)json)
84
86
  {
85
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
86
- id view = viewRegistry[reactTag];
87
- if (![view isKindOfClass:[RMFPolygon class]]) {
88
- RCTLogError(@"Invalid view returned from registry, expecting RMFPolygon, got: %@", view);
89
- } else {
90
- RMFPolygon *polygon = (RMFPolygon *)view;
91
- UIColor* color = [RCTConvert UIColor:json];
92
- if (color != nil) {
93
- [polygon setStrokeColor:color];
94
- }
87
+ [self withPolygonForTag:reactTag handler:^(RMFPolygon *polygon) {
88
+ UIColor* color = [RCTConvert UIColor:json];
89
+ if (color != nil) {
90
+ [polygon setStrokeColor:color];
95
91
  }
96
92
  }];
97
93
  }
@@ -99,42 +95,24 @@ RCT_EXPORT_METHOD(setStrokeColor:(nonnull NSNumber *)reactTag
99
95
  RCT_EXPORT_METHOD(setStrokeWidth:(nonnull NSNumber *)reactTag
100
96
  width:(CGFloat)width)
101
97
  {
102
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
103
- id view = viewRegistry[reactTag];
104
- if (![view isKindOfClass:[RMFPolygon class]]) {
105
- RCTLogError(@"Invalid view returned from registry, expecting RMFPolygon, got: %@", view);
106
- } else {
107
- RMFPolygon *polygon = (RMFPolygon *)view;
108
- [polygon setStrokeWidth:width];
109
- }
98
+ [self withPolygonForTag:reactTag handler:^(RMFPolygon *polygon) {
99
+ [polygon setStrokeWidth:width];
110
100
  }];
111
101
  }
112
102
 
113
103
  RCT_EXPORT_METHOD(setVisible:(nonnull NSNumber *)reactTag
114
104
  visible:(BOOL)visible)
115
105
  {
116
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
117
- id view = viewRegistry[reactTag];
118
- if (![view isKindOfClass:[RMFPolygon class]]) {
119
- RCTLogError(@"Invalid view returned from registry, expecting RMFPolygon, got: %@", view);
120
- } else {
121
- RMFPolygon *polygon = (RMFPolygon *)view;
122
- [polygon setVisible:visible];
123
- }
106
+ [self withPolygonForTag:reactTag handler:^(RMFPolygon *polygon) {
107
+ [polygon setVisible:visible];
124
108
  }];
125
109
  }
126
110
 
127
111
  RCT_EXPORT_METHOD(setUserData:(nonnull NSNumber *)reactTag
128
112
  userData:(id)json)
129
113
  {
130
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
131
- id view = viewRegistry[reactTag];
132
- if (![view isKindOfClass:[RMFPolygon class]]) {
133
- RCTLogError(@"Invalid view returned from registry, expecting RMFPolygon, got: %@", view);
134
- } else {
135
- RMFPolygon *polygon = (RMFPolygon *)view;
136
- [polygon setUserData:[RCTConvert NSDictionary:json]];
137
- }
114
+ [self withPolygonForTag:reactTag handler:^(RMFPolygon *polygon) {
115
+ [polygon setUserData:[RCTConvert NSDictionary:json]];
138
116
  }];
139
117
  }
140
118
 
@@ -18,6 +18,26 @@
18
18
 
19
19
  RCT_EXPORT_MODULE(RMFPolyline)
20
20
 
21
+ - (void)withPolylineForTag:(nonnull NSNumber *)reactTag
22
+ handler:(void (^)(RMFPolyline *polyline))handler
23
+ {
24
+ RCTUIManager *uiManager = self.bridge.uiManager;
25
+ if (uiManager == nil) {
26
+ RCTLogError(@"UIManager is unavailable on iOS runtime");
27
+ return;
28
+ }
29
+
30
+ [uiManager addUIBlock:^(__unused RCTUIManager *manager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
31
+ id view = viewRegistry[reactTag];
32
+ if (![view isKindOfClass:[RMFPolyline class]]) {
33
+ RCTLogError(@"Invalid view returned from registry, expecting RMFPolyline, got: %@", view);
34
+ return;
35
+ }
36
+
37
+ handler((RMFPolyline *)view);
38
+ }];
39
+ }
40
+
21
41
  - (UIView *)view {
22
42
  RMFPolyline * polyline = [[RMFPolyline alloc] init];
23
43
  return polyline;
@@ -37,44 +57,26 @@ RCT_EXPORT_VIEW_PROPERTY(onPress, RCTBubblingEventBlock)
37
57
  RCT_EXPORT_METHOD(setCoordinates:(nonnull NSNumber *)reactTag
38
58
  withCoordinates:(id)coordinates)
39
59
  {
40
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
41
- id view = viewRegistry[reactTag];
42
- if (![view isKindOfClass:[RMFPolyline class]]) {
43
- RCTLogError(@"Invalid view returned from registry, expecting RMFCircle, got: %@", view);
44
- } else {
45
- RMFPolyline *polyline = (RMFPolyline *)view;
46
- [polyline setCoordinates:[RCTConvert RMFCoordinateArray:coordinates]];
47
- }
60
+ [self withPolylineForTag:reactTag handler:^(RMFPolyline *polyline) {
61
+ [polyline setCoordinates:[RCTConvert RMFCoordinateArray:coordinates]];
48
62
  }];
49
63
  }
50
64
 
51
65
  RCT_EXPORT_METHOD(setWidth:(nonnull NSNumber *)reactTag
52
66
  width:(CGFloat)width)
53
67
  {
54
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
55
- id view = viewRegistry[reactTag];
56
- if (![view isKindOfClass:[RMFPolyline class]]) {
57
- RCTLogError(@"Invalid view returned from registry, expecting RMFCircle, got: %@", view);
58
- } else {
59
- RMFPolyline *polyline = (RMFPolyline *)view;
60
- [polyline setWidth:width];
61
- }
68
+ [self withPolylineForTag:reactTag handler:^(RMFPolyline *polyline) {
69
+ [polyline setWidth:width];
62
70
  }];
63
71
  }
64
72
 
65
73
  RCT_EXPORT_METHOD(setColor:(nonnull NSNumber *)reactTag
66
74
  color:(id)json)
67
75
  {
68
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
69
- id view = viewRegistry[reactTag];
70
- if (![view isKindOfClass:[RMFPolyline class]]) {
71
- RCTLogError(@"Invalid view returned from registry, expecting RMFCircle, got: %@", view);
72
- } else {
73
- RMFPolyline *polyline = (RMFPolyline *)view;
74
- UIColor* color = [RCTConvert UIColor:json];
75
- if (color != nil) {
76
- [polyline setColor:color];
77
- }
76
+ [self withPolylineForTag:reactTag handler:^(RMFPolyline *polyline) {
77
+ UIColor* color = [RCTConvert UIColor:json];
78
+ if (color != nil) {
79
+ [polyline setColor:color];
78
80
  }
79
81
  }];
80
82
  }
@@ -82,56 +84,32 @@ RCT_EXPORT_METHOD(setColor:(nonnull NSNumber *)reactTag
82
84
  RCT_EXPORT_METHOD(setLineStyle:(nonnull NSNumber *)reactTag
83
85
  style:(NSString*)style)
84
86
  {
85
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
86
- id view = viewRegistry[reactTag];
87
- if (![view isKindOfClass:[RMFPolyline class]]) {
88
- RCTLogError(@"Invalid view returned from registry, expecting RMFCircle, got: %@", view);
89
- } else {
90
- RMFPolyline *polyline = (RMFPolyline *)view;
91
- [polyline setLineStyle:style];
92
- }
87
+ [self withPolylineForTag:reactTag handler:^(RMFPolyline *polyline) {
88
+ [polyline setLineStyle:style];
93
89
  }];
94
90
  }
95
91
 
96
92
  RCT_EXPORT_METHOD(setZIndex:(nonnull NSNumber *)reactTag
97
93
  zIndex:(float)zIndex)
98
94
  {
99
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
100
- id view = viewRegistry[reactTag];
101
- if (![view isKindOfClass:[RMFPolyline class]]) {
102
- RCTLogError(@"Invalid view returned from registry, expecting RMFCircle, got: %@", view);
103
- } else {
104
- RMFPolyline *polyline = (RMFPolyline *)view;
105
- [polyline setZIndex:zIndex];
106
- }
95
+ [self withPolylineForTag:reactTag handler:^(RMFPolyline *polyline) {
96
+ [polyline setZIndex:zIndex];
107
97
  }];
108
98
  }
109
99
 
110
100
  RCT_EXPORT_METHOD(setVisible:(nonnull NSNumber *)reactTag
111
101
  visible:(BOOL)visible)
112
102
  {
113
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
114
- id view = viewRegistry[reactTag];
115
- if (![view isKindOfClass:[RMFPolyline class]]) {
116
- RCTLogError(@"Invalid view returned from registry, expecting RMFCircle, got: %@", view);
117
- } else {
118
- RMFPolyline *polyline = (RMFPolyline *)view;
119
- [polyline setVisible:visible];
120
- }
103
+ [self withPolylineForTag:reactTag handler:^(RMFPolyline *polyline) {
104
+ [polyline setVisible:visible];
121
105
  }];
122
106
  }
123
107
 
124
108
  RCT_EXPORT_METHOD(setUserData:(nonnull NSNumber *)reactTag
125
109
  userData:(id)json)
126
110
  {
127
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
128
- id view = viewRegistry[reactTag];
129
- if (![view isKindOfClass:[RMFPolyline class]]) {
130
- RCTLogError(@"Invalid view returned from registry, expecting RMFCircle, got: %@", view);
131
- } else {
132
- RMFPolyline *polyline = (RMFPolyline *)view;
133
- [polyline setUserData:[RCTConvert NSDictionary:json]];
134
- }
111
+ [self withPolylineForTag:reactTag handler:^(RMFPolyline *polyline) {
112
+ [polyline setUserData:[RCTConvert NSDictionary:json]];
135
113
  }];
136
114
  }
137
115
 
@@ -16,6 +16,26 @@
16
16
 
17
17
  RCT_EXPORT_MODULE(RMFBuilding)
18
18
 
19
+ - (void)withBuildingForTag:(nonnull NSNumber *)reactTag
20
+ handler:(void (^)(RMFBuilding *building))handler
21
+ {
22
+ RCTUIManager *uiManager = self.bridge.uiManager;
23
+ if (uiManager == nil) {
24
+ RCTLogError(@"UIManager is unavailable on iOS runtime");
25
+ return;
26
+ }
27
+
28
+ [uiManager addUIBlock:^(__unused RCTUIManager *manager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
29
+ id view = viewRegistry[reactTag];
30
+ if (![view isKindOfClass:[RMFBuilding class]]) {
31
+ RCTLogError(@"Invalid view returned from registry, expecting RMFBuilding, got: %@", view);
32
+ return;
33
+ }
34
+
35
+ handler((RMFBuilding *)view);
36
+ }];
37
+ }
38
+
19
39
  - (UIView *)view {
20
40
  RMFBuilding *building = [[RMFBuilding alloc] init];
21
41
  return building;
@@ -35,98 +55,50 @@ RCT_EXPORT_VIEW_PROPERTY(userData, NSDictionary)
35
55
  RCT_EXPORT_VIEW_PROPERTY(onPress, RCTBubblingEventBlock)
36
56
 
37
57
  RCT_EXPORT_METHOD(setName:(nonnull NSNumber *)reactTag name:(NSString *)name) {
38
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
39
- id view = viewRegistry[reactTag];
40
- if (![view isKindOfClass:[RMFBuilding class]]) {
41
- RCTLogError(@"Invalid view returned from registry, expecting RMFBuilding, got: %@", view);
42
- } else {
43
- RMFBuilding *building = (RMFBuilding *)view;
44
- [building setName:name];
45
- }
58
+ [self withBuildingForTag:reactTag handler:^(RMFBuilding *building) {
59
+ [building setName:name];
46
60
  }];
47
61
  }
48
62
 
49
63
  RCT_EXPORT_METHOD(setScale:(nonnull NSNumber *)reactTag scale:(double)scale) {
50
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
51
- id view = viewRegistry[reactTag];
52
- if (![view isKindOfClass:[RMFBuilding class]]) {
53
- RCTLogError(@"Invalid view returned from registry, expecting RMFBuilding, got: %@", view);
54
- } else {
55
- RMFBuilding *building = (RMFBuilding *)view;
56
- [building setScale:scale];
57
- }
64
+ [self withBuildingForTag:reactTag handler:^(RMFBuilding *building) {
65
+ [building setScale:scale];
58
66
  }];
59
67
  }
60
68
 
61
69
  RCT_EXPORT_METHOD(setBearing:(nonnull NSNumber *)reactTag bearing:(CGFloat)bearing) {
62
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
63
- id view = viewRegistry[reactTag];
64
- if (![view isKindOfClass:[RMFBuilding class]]) {
65
- RCTLogError(@"Invalid view returned from registry, expecting RMFBuilding, got: %@", view);
66
- } else {
67
- RMFBuilding *building = (RMFBuilding *)view;
68
- [building setBearing:bearing];
69
- }
70
+ [self withBuildingForTag:reactTag handler:^(RMFBuilding *building) {
71
+ [building setBearing:bearing];
70
72
  }];
71
73
  }
72
74
 
73
75
  RCT_EXPORT_METHOD(setElevation:(nonnull NSNumber *)reactTag elevation:(double)elevation) {
74
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
75
- id view = viewRegistry[reactTag];
76
- if (![view isKindOfClass:[RMFBuilding class]]) {
77
- RCTLogError(@"Invalid view returned from registry, expecting RMFBuilding, got: %@", view);
78
- } else {
79
- RMFBuilding *building = (RMFBuilding *)view;
80
- [building setElevation:elevation];
81
- }
76
+ [self withBuildingForTag:reactTag handler:^(RMFBuilding *building) {
77
+ [building setElevation:elevation];
82
78
  }];
83
79
  }
84
80
 
85
81
  RCT_EXPORT_METHOD(setSelected:(nonnull NSNumber *)reactTag selected:(BOOL)selected) {
86
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
87
- id view = viewRegistry[reactTag];
88
- if (![view isKindOfClass:[RMFBuilding class]]) {
89
- RCTLogError(@"Invalid view returned from registry, expecting RMFBuilding, got: %@", view);
90
- } else {
91
- RMFBuilding *building = (RMFBuilding *)view;
92
- [building setSelected:selected];
93
- }
82
+ [self withBuildingForTag:reactTag handler:^(RMFBuilding *building) {
83
+ [building setSelected:selected];
94
84
  }];
95
85
  }
96
86
 
97
87
  RCT_EXPORT_METHOD(setTouchable:(nonnull NSNumber *)reactTag touchable:(BOOL)touchable) {
98
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
99
- id view = viewRegistry[reactTag];
100
- if (![view isKindOfClass:[RMFBuilding class]]) {
101
- RCTLogError(@"Invalid view returned from registry, expecting RMFBuilding, got: %@", view);
102
- } else {
103
- RMFBuilding *building = (RMFBuilding *)view;
104
- [building setTouchable:touchable];
105
- }
88
+ [self withBuildingForTag:reactTag handler:^(RMFBuilding *building) {
89
+ [building setTouchable:touchable];
106
90
  }];
107
91
  }
108
92
 
109
93
  RCT_EXPORT_METHOD(setVisible:(nonnull NSNumber *)reactTag visible:(BOOL)visible) {
110
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
111
- id view = viewRegistry[reactTag];
112
- if (![view isKindOfClass:[RMFBuilding class]]) {
113
- RCTLogError(@"Invalid view returned from registry, expecting RMFBuilding, got: %@", view);
114
- } else {
115
- RMFBuilding *building = (RMFBuilding *)view;
116
- [building setVisible:visible];
117
- }
94
+ [self withBuildingForTag:reactTag handler:^(RMFBuilding *building) {
95
+ [building setVisible:visible];
118
96
  }];
119
97
  }
120
98
 
121
99
  RCT_EXPORT_METHOD(setUserData:(nonnull NSNumber *)reactTag userData:(id)json) {
122
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
123
- id view = viewRegistry[reactTag];
124
- if (![view isKindOfClass:[RMFBuilding class]]) {
125
- RCTLogError(@"Invalid view returned from registry, expecting RMFBuilding, got: %@", view);
126
- } else {
127
- RMFBuilding *building = (RMFBuilding *)view;
128
- [building setUserData:[RCTConvert NSDictionary:json]];
129
- }
100
+ [self withBuildingForTag:reactTag handler:^(RMFBuilding *building) {
101
+ [building setUserData:[RCTConvert NSDictionary:json]];
130
102
  }];
131
103
  }
132
104
 
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SELECTOR_TITLE = exports.SELECTOR_OPEN_DURATION_MS = exports.SELECTOR_DRAWER_TRANSLATE_X = exports.SELECTOR_CLOSE_DURATION_MS = exports.LEGEND_TITLE = void 0;
7
+ exports.getCategoryConfigUrl = getCategoryConfigUrl;
8
+ exports.getSourceUrl = getSourceUrl;
9
+ const SELECTOR_DRAWER_TRANSLATE_X = exports.SELECTOR_DRAWER_TRANSLATE_X = -320;
10
+ const SELECTOR_OPEN_DURATION_MS = exports.SELECTOR_OPEN_DURATION_MS = 240;
11
+ const SELECTOR_CLOSE_DURATION_MS = exports.SELECTOR_CLOSE_DURATION_MS = 210;
12
+ const SELECTOR_TITLE = exports.SELECTOR_TITLE = 'Chọn lớp dữ liệu trên bản đồ';
13
+ const LEGEND_TITLE = exports.LEGEND_TITLE = 'Chú giải';
14
+ const API_HOST = 'https://cmcdtqg-gateway.dieuhanhso.vn';
15
+ const SOURCE_URL_PATH = 'bds/api/tile/vector/{z}/{x}/{y}.pbf?p=1';
16
+ const CATEGORY_CONFIG_URL_PATH = 'bds/api/BanDo/dau-tu/category-config';
17
+ function buildApiUrl(path, isStaging) {
18
+ const stagingSegment = isStaging ? '/staging' : '';
19
+ return `${API_HOST}${stagingSegment}/${path}`;
20
+ }
21
+ function getSourceUrl(isStaging) {
22
+ return buildApiUrl(SOURCE_URL_PATH, isStaging);
23
+ }
24
+ function getCategoryConfigUrl(isStaging) {
25
+ return buildApiUrl(CATEGORY_CONFIG_URL_PATH, isStaging);
26
+ }
27
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SELECTOR_DRAWER_TRANSLATE_X","exports","SELECTOR_OPEN_DURATION_MS","SELECTOR_CLOSE_DURATION_MS","SELECTOR_TITLE","LEGEND_TITLE","API_HOST","SOURCE_URL_PATH","CATEGORY_CONFIG_URL_PATH","buildApiUrl","path","isStaging","stagingSegment","getSourceUrl","getCategoryConfigUrl"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/MFBanDoSo/constants.js"],"mappings":";;;;;;;;AAAA,MAAMA,2BAA2B,GAAAC,OAAA,CAAAD,2BAAA,GAAG,CAAC,GAAG;AACxC,MAAME,yBAAyB,GAAAD,OAAA,CAAAC,yBAAA,GAAG,GAAG;AACrC,MAAMC,0BAA0B,GAAAF,OAAA,CAAAE,0BAAA,GAAG,GAAG;AACtC,MAAMC,cAAc,GAAAH,OAAA,CAAAG,cAAA,GAAG,8BAA8B;AACrD,MAAMC,YAAY,GAAAJ,OAAA,CAAAI,YAAA,GAAG,UAAU;AAE/B,MAAMC,QAAQ,GAAG,uCAAuC;AACxD,MAAMC,eAAe,GAAG,yCAAyC;AACjE,MAAMC,wBAAwB,GAAG,sCAAsC;AAEvE,SAASC,WAAWA,CAACC,IAAI,EAAEC,SAAS,EAAE;EACpC,MAAMC,cAAc,GAAGD,SAAS,GAAG,UAAU,GAAG,EAAE;EAClD,OAAO,GAAGL,QAAQ,GAAGM,cAAc,IAAIF,IAAI,EAAE;AAC/C;AAEA,SAASG,YAAYA,CAACF,SAAS,EAAE;EAC/B,OAAOF,WAAW,CAACF,eAAe,EAAEI,SAAS,CAAC;AAChD;AAEA,SAASG,oBAAoBA,CAACH,SAAS,EAAE;EACvC,OAAOF,WAAW,CAACD,wBAAwB,EAAEG,SAAS,CAAC;AACzD","ignoreList":[]}