@wavemaker/app-rn-runtime 11.14.3-rc.6401 → 11.15.0-2.247
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/actions/notification-action.js +1 -0
- package/actions/notification-action.js.map +1 -1
- package/components/basic/bottomsheet/bottomsheet.component.js +58 -23
- package/components/basic/bottomsheet/bottomsheet.component.js.map +1 -1
- package/components/basic/button/button.component.js +56 -7
- package/components/basic/button/button.component.js.map +1 -1
- package/components/basic/button/button.styles.js +0 -1
- package/components/basic/button/button.styles.js.map +1 -1
- package/components/basic/message/message.component.js +1 -1
- package/components/basic/message/message.component.js.map +1 -1
- package/components/basic/message/message.props.js +1 -0
- package/components/basic/message/message.props.js.map +1 -1
- package/components/basic/picture/picture.component.js +2 -2
- package/components/basic/picture/picture.component.js.map +1 -1
- package/components/chart/bar-chart/bar-chart.component.js +13 -2
- package/components/chart/bar-chart/bar-chart.component.js.map +1 -1
- package/components/chart/bar-chart/bar-chart.props.js +1 -0
- package/components/chart/bar-chart/bar-chart.props.js.map +1 -1
- package/components/container/accordion/accordion.component.js +10 -3
- package/components/container/accordion/accordion.component.js.map +1 -1
- package/components/container/accordion/accordion.styles.js +6 -2
- package/components/container/accordion/accordion.styles.js.map +1 -1
- package/components/container/container.component.js +132 -50
- package/components/container/container.component.js.map +1 -1
- package/components/container/container.props.js +1 -0
- package/components/container/container.props.js.map +1 -1
- package/components/container/panel/panel.component.js +8 -1
- package/components/container/panel/panel.component.js.map +1 -1
- package/components/container/panel/panel.props.js +2 -0
- package/components/container/panel/panel.props.js.map +1 -1
- package/components/container/tile/tile.component.js +3 -0
- package/components/container/tile/tile.component.js.map +1 -1
- package/components/container/wizard/wizard.component.js +1 -1
- package/components/container/wizard/wizard.component.js.map +1 -1
- package/components/container/wizard/wizard.props.js +1 -0
- package/components/container/wizard/wizard.props.js.map +1 -1
- package/components/container/wizard/wizard.styles.js +0 -13
- package/components/container/wizard/wizard.styles.js.map +1 -1
- package/components/data/form/form-body/form-body.component.js +2 -1
- package/components/data/form/form-body/form-body.component.js.map +1 -1
- package/components/data/form/form-footer/form-footer.component.js +2 -1
- package/components/data/form/form-footer/form-footer.component.js.map +1 -1
- package/components/input/chips/chips.component.js +2 -2
- package/components/input/chips/chips.component.js.map +1 -1
- package/components/input/chips/chips.styles.js +1 -0
- package/components/input/chips/chips.styles.js.map +1 -1
- package/components/input/currency/currency.component.js +3 -1
- package/components/input/currency/currency.component.js.map +1 -1
- package/components/input/epoch/base-datetime.component.js +3 -1
- package/components/input/epoch/base-datetime.component.js.map +1 -1
- package/components/input/number/number.component.js +2 -1
- package/components/input/number/number.component.js.map +1 -1
- package/components/input/select/select.component.js +76 -35
- package/components/input/select/select.component.js.map +1 -1
- package/components/input/text/text.component.js +2 -1
- package/components/input/text/text.component.js.map +1 -1
- package/components/input/textarea/textarea.component.js +2 -1
- package/components/input/textarea/textarea.component.js.map +1 -1
- package/components/input/toggle/toggle.component.js +12 -4
- package/components/input/toggle/toggle.component.js.map +1 -1
- package/components/input/toggle/toggle.props.js +5 -0
- package/components/input/toggle/toggle.props.js.map +1 -1
- package/components/navigation/popover/popover.component.js +5 -1
- package/components/navigation/popover/popover.component.js.map +1 -1
- package/core/advanced-promise-rejection-tracker.js +208 -0
- package/core/advanced-promise-rejection-tracker.js.map +1 -0
- package/core/base.component.js +8 -3
- package/core/base.component.js.map +1 -1
- package/core/components/error-fallback/error-fallback.component.js +50 -18
- package/core/components/error-fallback/error-fallback.component.js.map +1 -1
- package/core/components/error-fallback/error-fallback.styles.js +4 -1
- package/core/components/error-fallback/error-fallback.styles.js.map +1 -1
- package/core/error-boundary.component.js +17 -1
- package/core/error-boundary.component.js.map +1 -1
- package/core/fixed-view.component.js +19 -2
- package/core/fixed-view.component.js.map +1 -1
- package/core/global-error-handler.service.js +103 -0
- package/core/global-error-handler.service.js.map +1 -0
- package/core/tappable.component.js +7 -4
- package/core/tappable.component.js.map +1 -1
- package/core/toast.service.js.map +1 -1
- package/npm-shrinkwrap.json +802 -712
- package/package-lock.json +802 -712
- package/package.json +2 -2
- package/runtime/App.js +124 -13
- package/runtime/App.js.map +1 -1
- package/runtime/base-page.component.js +11 -2
- package/runtime/base-page.component.js.map +1 -1
- package/runtime/navigator/drawer.navigator.js +1 -0
- package/runtime/navigator/drawer.navigator.js.map +1 -1
- package/runtime/services/device/camera-service.js +31 -20
- package/runtime/services/device/camera-service.js.map +1 -1
- package/styles/theme.js +17 -3
- package/styles/theme.js.map +1 -1
- package/styles/theme.variables.js +2 -0
- package/styles/theme.variables.js.map +1 -1
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
2
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
3
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
4
|
+
/**
|
|
5
|
+
* Advanced Promise Rejection Tracker
|
|
6
|
+
*
|
|
7
|
+
* Provides comprehensive promise rejection tracking across different JavaScript engines.
|
|
8
|
+
* This module addresses the critical gap where API call failures and async function errors
|
|
9
|
+
* are not caught by React Error Boundaries, ensuring all promise rejections are handled.
|
|
10
|
+
*
|
|
11
|
+
* Engine Support:
|
|
12
|
+
* - Web: Uses browser's 'unhandledrejection' event
|
|
13
|
+
* - Hermes: Uses HermesInternal.enablePromiseRejectionTracker
|
|
14
|
+
* - JSC: Uses React Native's 'promise/setimmediate/rejection-tracking' module
|
|
15
|
+
*
|
|
16
|
+
* Coverage Includes:
|
|
17
|
+
* - API call failures (fetch, axios, any HTTP library)
|
|
18
|
+
* - Async function errors (unhandled throws in async/await)
|
|
19
|
+
* - Manual Promise.reject() calls
|
|
20
|
+
* - Third-party library promise rejections
|
|
21
|
+
*
|
|
22
|
+
* Research Notes:
|
|
23
|
+
* This implementation was developed through extensive research into React Native's
|
|
24
|
+
* promise handling across different engines. Each engine has its own optimal approach:
|
|
25
|
+
* - Hermes provides a native tracking API that hooks into the engine's internals
|
|
26
|
+
* - JSC can use React Native's internal promise tracking module
|
|
27
|
+
* - Web browsers have standardized unhandledrejection events
|
|
28
|
+
*
|
|
29
|
+
* The approach automatically detects the best available method and falls back
|
|
30
|
+
* gracefully when native tracking is unavailable.
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
import { Platform } from 'react-native';
|
|
34
|
+
|
|
35
|
+
// TypeScript declarations for global objects
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Multi-engine promise rejection tracking implementation
|
|
39
|
+
*/
|
|
40
|
+
export class AdvancedPromiseRejectionTracker {
|
|
41
|
+
constructor(onRejection) {
|
|
42
|
+
_defineProperty(this, "onRejectionHandler", void 0);
|
|
43
|
+
_defineProperty(this, "cleanupFunctions", []);
|
|
44
|
+
this.onRejectionHandler = onRejection;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Setup promise rejection tracking based on available APIs
|
|
49
|
+
* Returns true if native tracking was enabled, false if fallback used
|
|
50
|
+
*/
|
|
51
|
+
setup() {
|
|
52
|
+
// Automatically detect and setup the best available promise rejection tracking method
|
|
53
|
+
|
|
54
|
+
if (Platform.OS === 'web') {
|
|
55
|
+
return this.setupWebTracking();
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// For mobile platforms, try native tracking methods in order of preference
|
|
59
|
+
if (this.setupHermesTracking()) {
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// Fallback to React Native internal tracking for JSC
|
|
64
|
+
if (this.setupReactNativeTracking()) {
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// No native tracking available - this should rarely happen in modern RN versions
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Method 1: Web Environment - Use unhandledrejection event
|
|
74
|
+
*/
|
|
75
|
+
setupWebTracking() {
|
|
76
|
+
try {
|
|
77
|
+
if (typeof window === 'undefined' || !window.addEventListener) {
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
const handler = event => {
|
|
81
|
+
event.preventDefault(); // Prevent browser's default handling
|
|
82
|
+
const error = event.reason instanceof Error ? event.reason : new Error(String(event.reason));
|
|
83
|
+
this.onRejectionHandler(error);
|
|
84
|
+
};
|
|
85
|
+
window.addEventListener('unhandledrejection', handler);
|
|
86
|
+
this.cleanupFunctions.push(() => {
|
|
87
|
+
window.removeEventListener('unhandledrejection', handler);
|
|
88
|
+
});
|
|
89
|
+
return true;
|
|
90
|
+
} catch (error) {
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Method 2: Hermes Engine - Use HermesInternal API
|
|
97
|
+
*/
|
|
98
|
+
setupHermesTracking() {
|
|
99
|
+
try {
|
|
100
|
+
// Check if Hermes engine is available
|
|
101
|
+
const hermesInternal = global.HermesInternal;
|
|
102
|
+
if (hermesInternal && typeof hermesInternal.enablePromiseRejectionTracker === 'function') {
|
|
103
|
+
hermesInternal.enablePromiseRejectionTracker({
|
|
104
|
+
allRejections: true,
|
|
105
|
+
// Track both handled and unhandled rejections
|
|
106
|
+
onUnhandled: (id, error) => {
|
|
107
|
+
this.onRejectionHandler(error);
|
|
108
|
+
},
|
|
109
|
+
onHandled: id => {
|
|
110
|
+
// Promise was handled later - could be used for analytics in the future
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
// Cleanup function (if available)
|
|
115
|
+
this.cleanupFunctions.push(() => {
|
|
116
|
+
// Hermes doesn't provide a disable method, but we can set a no-op handler
|
|
117
|
+
if (hermesInternal !== null && hermesInternal !== void 0 && hermesInternal.enablePromiseRejectionTracker) {
|
|
118
|
+
hermesInternal.enablePromiseRejectionTracker({
|
|
119
|
+
allRejections: false,
|
|
120
|
+
onUnhandled: () => {},
|
|
121
|
+
onHandled: () => {}
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
return true;
|
|
126
|
+
}
|
|
127
|
+
return false;
|
|
128
|
+
} catch (error) {
|
|
129
|
+
return false;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* Method 3: React Native Internal - Use promise/setimmediate/rejection-tracking for JSC
|
|
135
|
+
*/
|
|
136
|
+
setupReactNativeTracking() {
|
|
137
|
+
try {
|
|
138
|
+
// Try to access React Native's internal promise tracking module
|
|
139
|
+
const tracking = require('promise/setimmediate/rejection-tracking');
|
|
140
|
+
if (tracking && typeof tracking.enable === 'function') {
|
|
141
|
+
tracking.enable({
|
|
142
|
+
allRejections: true,
|
|
143
|
+
onUnhandled: (id, error) => {
|
|
144
|
+
this.onRejectionHandler(error);
|
|
145
|
+
},
|
|
146
|
+
onHandled: id => {
|
|
147
|
+
// Promise was handled later - tracking for potential analytics
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
this.cleanupFunctions.push(() => {
|
|
151
|
+
// Try to disable tracking if possible
|
|
152
|
+
if (tracking.disable && typeof tracking.disable === 'function') {
|
|
153
|
+
tracking.disable();
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
return true;
|
|
157
|
+
}
|
|
158
|
+
return false;
|
|
159
|
+
} catch (error) {
|
|
160
|
+
return false;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* Clean up all tracking mechanisms
|
|
166
|
+
*/
|
|
167
|
+
cleanup() {
|
|
168
|
+
// Clean up all tracking mechanisms and restore original state
|
|
169
|
+
this.cleanupFunctions.forEach(cleanup => {
|
|
170
|
+
try {
|
|
171
|
+
cleanup();
|
|
172
|
+
} catch (error) {
|
|
173
|
+
// Silently handle cleanup errors to avoid disrupting app shutdown
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
this.cleanupFunctions = [];
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* Helper function to detect JavaScript engine (simplified for Web/Hermes/JSC)
|
|
182
|
+
*/
|
|
183
|
+
export function detectJavaScriptEngine() {
|
|
184
|
+
if (Platform.OS === 'web') {
|
|
185
|
+
return 'web';
|
|
186
|
+
}
|
|
187
|
+
if (typeof global.HermesInternal !== 'undefined') {
|
|
188
|
+
return 'hermes';
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
// For non-Hermes engines on mobile, assume JSC (most common)
|
|
192
|
+
return 'jsc';
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* Public API for easy integration
|
|
197
|
+
*/
|
|
198
|
+
/**
|
|
199
|
+
* Sets up advanced promise rejection tracking with automatic engine detection
|
|
200
|
+
* @param onRejection Callback function to handle unhandled promise rejections
|
|
201
|
+
* @returns AdvancedPromiseRejectionTracker instance for cleanup and testing
|
|
202
|
+
*/
|
|
203
|
+
export function setupAdvancedPromiseRejectionTracking(onRejection) {
|
|
204
|
+
const tracker = new AdvancedPromiseRejectionTracker(onRejection);
|
|
205
|
+
tracker.setup();
|
|
206
|
+
return tracker;
|
|
207
|
+
}
|
|
208
|
+
//# sourceMappingURL=advanced-promise-rejection-tracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Platform","AdvancedPromiseRejectionTracker","constructor","onRejection","_defineProperty","onRejectionHandler","setup","OS","setupWebTracking","setupHermesTracking","setupReactNativeTracking","window","addEventListener","handler","event","preventDefault","error","reason","Error","String","cleanupFunctions","push","removeEventListener","hermesInternal","global","HermesInternal","enablePromiseRejectionTracker","allRejections","onUnhandled","id","onHandled","tracking","require","enable","disable","cleanup","forEach","detectJavaScriptEngine","setupAdvancedPromiseRejectionTracking","tracker"],"sources":["advanced-promise-rejection-tracker.ts"],"sourcesContent":["/**\n * Advanced Promise Rejection Tracker\n *\n * Provides comprehensive promise rejection tracking across different JavaScript engines.\n * This module addresses the critical gap where API call failures and async function errors\n * are not caught by React Error Boundaries, ensuring all promise rejections are handled.\n *\n * Engine Support:\n * - Web: Uses browser's 'unhandledrejection' event\n * - Hermes: Uses HermesInternal.enablePromiseRejectionTracker\n * - JSC: Uses React Native's 'promise/setimmediate/rejection-tracking' module\n *\n * Coverage Includes:\n * - API call failures (fetch, axios, any HTTP library)\n * - Async function errors (unhandled throws in async/await)\n * - Manual Promise.reject() calls\n * - Third-party library promise rejections\n *\n * Research Notes:\n * This implementation was developed through extensive research into React Native's\n * promise handling across different engines. Each engine has its own optimal approach:\n * - Hermes provides a native tracking API that hooks into the engine's internals\n * - JSC can use React Native's internal promise tracking module\n * - Web browsers have standardized unhandledrejection events\n *\n * The approach automatically detects the best available method and falls back\n * gracefully when native tracking is unavailable.\n */\n\nimport { Platform } from 'react-native';\n\n// TypeScript declarations for global objects\ndeclare global {\n interface Global {\n HermesInternal?: {\n enablePromiseRejectionTracker?: (options: {\n allRejections: boolean;\n onUnhandled: (id: number, error: any) => void;\n onHandled: (id: number) => void;\n }) => void;\n };\n }\n}\n\nexport interface PromiseRejectionHandler {\n (error: any): void;\n}\n\n/**\n * Multi-engine promise rejection tracking implementation\n */\nexport class AdvancedPromiseRejectionTracker {\n private onRejectionHandler: PromiseRejectionHandler;\n private cleanupFunctions: (() => void)[] = [];\n\n constructor(onRejection: PromiseRejectionHandler) {\n this.onRejectionHandler = onRejection;\n }\n\n /**\n * Setup promise rejection tracking based on available APIs\n * Returns true if native tracking was enabled, false if fallback used\n */\n public setup(): boolean {\n // Automatically detect and setup the best available promise rejection tracking method\n\n if (Platform.OS === 'web') {\n return this.setupWebTracking();\n }\n\n // For mobile platforms, try native tracking methods in order of preference\n if (this.setupHermesTracking()) {\n return true;\n }\n\n // Fallback to React Native internal tracking for JSC\n if (this.setupReactNativeTracking()) {\n return true;\n }\n\n // No native tracking available - this should rarely happen in modern RN versions\n return false;\n }\n\n /**\n * Method 1: Web Environment - Use unhandledrejection event\n */\n private setupWebTracking(): boolean {\n try {\n if (typeof window === 'undefined' || !window.addEventListener) {\n return false;\n }\n\n const handler = (event: PromiseRejectionEvent) => {\n event.preventDefault(); // Prevent browser's default handling\n const error =\n event.reason instanceof Error\n ? event.reason\n : new Error(String(event.reason));\n this.onRejectionHandler(error);\n };\n\n window.addEventListener('unhandledrejection', handler);\n this.cleanupFunctions.push(() => {\n window.removeEventListener('unhandledrejection', handler);\n });\n\n return true;\n } catch (error) {\n return false;\n }\n }\n\n /**\n * Method 2: Hermes Engine - Use HermesInternal API\n */\n private setupHermesTracking(): boolean {\n try {\n // Check if Hermes engine is available\n const hermesInternal = (global as any).HermesInternal;\n if (\n hermesInternal &&\n typeof hermesInternal.enablePromiseRejectionTracker === 'function'\n ) {\n hermesInternal.enablePromiseRejectionTracker({\n allRejections: true, // Track both handled and unhandled rejections\n onUnhandled: (id: number, error: any) => {\n this.onRejectionHandler(error);\n },\n onHandled: (id: number) => {\n // Promise was handled later - could be used for analytics in the future\n },\n });\n\n // Cleanup function (if available)\n this.cleanupFunctions.push(() => {\n // Hermes doesn't provide a disable method, but we can set a no-op handler\n if (hermesInternal?.enablePromiseRejectionTracker) {\n hermesInternal.enablePromiseRejectionTracker({\n allRejections: false,\n onUnhandled: () => {},\n onHandled: () => {},\n });\n }\n });\n\n return true;\n }\n return false;\n } catch (error) {\n return false;\n }\n }\n\n /**\n * Method 3: React Native Internal - Use promise/setimmediate/rejection-tracking for JSC\n */\n private setupReactNativeTracking(): boolean {\n try {\n // Try to access React Native's internal promise tracking module\n const tracking = require('promise/setimmediate/rejection-tracking');\n\n if (tracking && typeof tracking.enable === 'function') {\n tracking.enable({\n allRejections: true,\n onUnhandled: (id: number, error: any) => {\n this.onRejectionHandler(error);\n },\n onHandled: (id: number) => {\n // Promise was handled later - tracking for potential analytics\n },\n });\n\n this.cleanupFunctions.push(() => {\n // Try to disable tracking if possible\n if (tracking.disable && typeof tracking.disable === 'function') {\n tracking.disable();\n }\n });\n\n return true;\n }\n return false;\n } catch (error) {\n return false;\n }\n }\n\n /**\n * Clean up all tracking mechanisms\n */\n public cleanup(): void {\n // Clean up all tracking mechanisms and restore original state\n this.cleanupFunctions.forEach((cleanup) => {\n try {\n cleanup();\n } catch (error) {\n // Silently handle cleanup errors to avoid disrupting app shutdown\n }\n });\n this.cleanupFunctions = [];\n }\n}\n\n/**\n * Helper function to detect JavaScript engine (simplified for Web/Hermes/JSC)\n */\nexport function detectJavaScriptEngine(): 'web' | 'hermes' | 'jsc' {\n if (Platform.OS === 'web') {\n return 'web';\n }\n\n if (typeof (global as any).HermesInternal !== 'undefined') {\n return 'hermes';\n }\n\n // For non-Hermes engines on mobile, assume JSC (most common)\n return 'jsc';\n}\n\n/**\n * Public API for easy integration\n */\n/**\n * Sets up advanced promise rejection tracking with automatic engine detection\n * @param onRejection Callback function to handle unhandled promise rejections\n * @returns AdvancedPromiseRejectionTracker instance for cleanup and testing\n */\nexport function setupAdvancedPromiseRejectionTracking(\n onRejection: PromiseRejectionHandler\n): AdvancedPromiseRejectionTracker {\n const tracker = new AdvancedPromiseRejectionTracker(onRejection);\n tracker.setup();\n return tracker;\n}\n"],"mappings":";;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,QAAQ,QAAQ,cAAc;;AAEvC;;AAiBA;AACA;AACA;AACA,OAAO,MAAMC,+BAA+B,CAAC;EAI3CC,WAAWA,CAACC,WAAoC,EAAE;IAAAC,eAAA;IAAAA,eAAA,2BAFP,EAAE;IAG3C,IAAI,CAACC,kBAAkB,GAAGF,WAAW;EACvC;;EAEA;AACF;AACA;AACA;EACSG,KAAKA,CAAA,EAAY;IACtB;;IAEA,IAAIN,QAAQ,CAACO,EAAE,KAAK,KAAK,EAAE;MACzB,OAAO,IAAI,CAACC,gBAAgB,CAAC,CAAC;IAChC;;IAEA;IACA,IAAI,IAAI,CAACC,mBAAmB,CAAC,CAAC,EAAE;MAC9B,OAAO,IAAI;IACb;;IAEA;IACA,IAAI,IAAI,CAACC,wBAAwB,CAAC,CAAC,EAAE;MACnC,OAAO,IAAI;IACb;;IAEA;IACA,OAAO,KAAK;EACd;;EAEA;AACF;AACA;EACUF,gBAAgBA,CAAA,EAAY;IAClC,IAAI;MACF,IAAI,OAAOG,MAAM,KAAK,WAAW,IAAI,CAACA,MAAM,CAACC,gBAAgB,EAAE;QAC7D,OAAO,KAAK;MACd;MAEA,MAAMC,OAAO,GAAIC,KAA4B,IAAK;QAChDA,KAAK,CAACC,cAAc,CAAC,CAAC,CAAC,CAAC;QACxB,MAAMC,KAAK,GACTF,KAAK,CAACG,MAAM,YAAYC,KAAK,GACzBJ,KAAK,CAACG,MAAM,GACZ,IAAIC,KAAK,CAACC,MAAM,CAACL,KAAK,CAACG,MAAM,CAAC,CAAC;QACrC,IAAI,CAACZ,kBAAkB,CAACW,KAAK,CAAC;MAChC,CAAC;MAEDL,MAAM,CAACC,gBAAgB,CAAC,oBAAoB,EAAEC,OAAO,CAAC;MACtD,IAAI,CAACO,gBAAgB,CAACC,IAAI,CAAC,MAAM;QAC/BV,MAAM,CAACW,mBAAmB,CAAC,oBAAoB,EAAET,OAAO,CAAC;MAC3D,CAAC,CAAC;MAEF,OAAO,IAAI;IACb,CAAC,CAAC,OAAOG,KAAK,EAAE;MACd,OAAO,KAAK;IACd;EACF;;EAEA;AACF;AACA;EACUP,mBAAmBA,CAAA,EAAY;IACrC,IAAI;MACF;MACA,MAAMc,cAAc,GAAIC,MAAM,CAASC,cAAc;MACrD,IACEF,cAAc,IACd,OAAOA,cAAc,CAACG,6BAA6B,KAAK,UAAU,EAClE;QACAH,cAAc,CAACG,6BAA6B,CAAC;UAC3CC,aAAa,EAAE,IAAI;UAAE;UACrBC,WAAW,EAAEA,CAACC,EAAU,EAAEb,KAAU,KAAK;YACvC,IAAI,CAACX,kBAAkB,CAACW,KAAK,CAAC;UAChC,CAAC;UACDc,SAAS,EAAGD,EAAU,IAAK;YACzB;UAAA;QAEJ,CAAC,CAAC;;QAEF;QACA,IAAI,CAACT,gBAAgB,CAACC,IAAI,CAAC,MAAM;UAC/B;UACA,IAAIE,cAAc,aAAdA,cAAc,eAAdA,cAAc,CAAEG,6BAA6B,EAAE;YACjDH,cAAc,CAACG,6BAA6B,CAAC;cAC3CC,aAAa,EAAE,KAAK;cACpBC,WAAW,EAAEA,CAAA,KAAM,CAAC,CAAC;cACrBE,SAAS,EAAEA,CAAA,KAAM,CAAC;YACpB,CAAC,CAAC;UACJ;QACF,CAAC,CAAC;QAEF,OAAO,IAAI;MACb;MACA,OAAO,KAAK;IACd,CAAC,CAAC,OAAOd,KAAK,EAAE;MACd,OAAO,KAAK;IACd;EACF;;EAEA;AACF;AACA;EACUN,wBAAwBA,CAAA,EAAY;IAC1C,IAAI;MACF;MACA,MAAMqB,QAAQ,GAAGC,OAAO,CAAC,yCAAyC,CAAC;MAEnE,IAAID,QAAQ,IAAI,OAAOA,QAAQ,CAACE,MAAM,KAAK,UAAU,EAAE;QACrDF,QAAQ,CAACE,MAAM,CAAC;UACdN,aAAa,EAAE,IAAI;UACnBC,WAAW,EAAEA,CAACC,EAAU,EAAEb,KAAU,KAAK;YACvC,IAAI,CAACX,kBAAkB,CAACW,KAAK,CAAC;UAChC,CAAC;UACDc,SAAS,EAAGD,EAAU,IAAK;YACzB;UAAA;QAEJ,CAAC,CAAC;QAEF,IAAI,CAACT,gBAAgB,CAACC,IAAI,CAAC,MAAM;UAC/B;UACA,IAAIU,QAAQ,CAACG,OAAO,IAAI,OAAOH,QAAQ,CAACG,OAAO,KAAK,UAAU,EAAE;YAC9DH,QAAQ,CAACG,OAAO,CAAC,CAAC;UACpB;QACF,CAAC,CAAC;QAEF,OAAO,IAAI;MACb;MACA,OAAO,KAAK;IACd,CAAC,CAAC,OAAOlB,KAAK,EAAE;MACd,OAAO,KAAK;IACd;EACF;;EAEA;AACF;AACA;EACSmB,OAAOA,CAAA,EAAS;IACrB;IACA,IAAI,CAACf,gBAAgB,CAACgB,OAAO,CAAED,OAAO,IAAK;MACzC,IAAI;QACFA,OAAO,CAAC,CAAC;MACX,CAAC,CAAC,OAAOnB,KAAK,EAAE;QACd;MAAA;IAEJ,CAAC,CAAC;IACF,IAAI,CAACI,gBAAgB,GAAG,EAAE;EAC5B;AACF;;AAEA;AACA;AACA;AACA,OAAO,SAASiB,sBAAsBA,CAAA,EAA6B;EACjE,IAAIrC,QAAQ,CAACO,EAAE,KAAK,KAAK,EAAE;IACzB,OAAO,KAAK;EACd;EAEA,IAAI,OAAQiB,MAAM,CAASC,cAAc,KAAK,WAAW,EAAE;IACzD,OAAO,QAAQ;EACjB;;EAEA;EACA,OAAO,KAAK;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASa,qCAAqCA,CACnDnC,WAAoC,EACH;EACjC,MAAMoC,OAAO,GAAG,IAAItC,+BAA+B,CAACE,WAAW,CAAC;EAChEoC,OAAO,CAACjC,KAAK,CAAC,CAAC;EACf,OAAOiC,OAAO;AAChB","ignoreList":[]}
|
package/core/base.component.js
CHANGED
|
@@ -324,12 +324,17 @@ export class BaseComponent extends React.Component {
|
|
|
324
324
|
invokeEventCallback(eventName, args) {
|
|
325
325
|
//@ts-ignore
|
|
326
326
|
const callBack = this.props[eventName];
|
|
327
|
+
const appConfig = injector.get('APP_CONFIG');
|
|
327
328
|
args = args && args.map(a => a === this ? this.proxy : a);
|
|
328
329
|
if (callBack) {
|
|
329
330
|
try {
|
|
330
331
|
return callBack.apply(this.proxy, args);
|
|
331
332
|
} catch (e) {
|
|
333
|
+
var _appConfig$preference;
|
|
332
334
|
console.error(e);
|
|
335
|
+
if ((appConfig === null || appConfig === void 0 || (_appConfig$preference = appConfig.preferences) === null || _appConfig$preference === void 0 ? void 0 : _appConfig$preference.enableGlobalErrorHandler) === true) {
|
|
336
|
+
throw e; // Re-throwing error to let ErrorBoundary or Global Handler catch it
|
|
337
|
+
}
|
|
333
338
|
}
|
|
334
339
|
}
|
|
335
340
|
}
|
|
@@ -605,7 +610,7 @@ export class BaseComponent extends React.Component {
|
|
|
605
610
|
text: this.theme.getStyle('app-' + selectedLocale)
|
|
606
611
|
}, {
|
|
607
612
|
text: this.theme.getStyle(this.defaultClass + '-' + selectedLocale)
|
|
608
|
-
}, props.disabled ? this.theme.getStyle(this.defaultClass + '-disabled') : null, this.isRTL ? this.theme.getStyle(this.defaultClass + '-rtl') : null, classname && this.theme.getStyle(classname), this.isRTL && classname ? this.theme.getStyle(classname + '-rtl') : null, props.showindevice && this.theme.getStyle('d-all-none ' + props.showindevice.map(d => `d-${d}-flex`).join(' ')), this.props.styles, {
|
|
613
|
+
}, props.disabled ? this.theme.getStyle(this.defaultClass + '-disabled') : null, this.isRTL ? this.theme.getStyle(this.defaultClass + '-rtl') : null, classname && this.theme.getStyle(classname), classname && props.disabled ? this.theme.getStyle(`${classname}.${this.defaultClass}-disabled`) : null, this.isRTL && classname ? this.theme.getStyle(classname + '-rtl') : null, props.showindevice && this.theme.getStyle('d-all-none ' + props.showindevice.map(d => `d-${d}-flex`).join(' ')), this.props.styles, {
|
|
609
614
|
root: this.styleOverrides,
|
|
610
615
|
text: this.styleOverrides
|
|
611
616
|
});
|
|
@@ -613,8 +618,8 @@ export class BaseComponent extends React.Component {
|
|
|
613
618
|
if (classname && this.childComponentStyleKeys.length > 0) {
|
|
614
619
|
const customStyles = this.theme.getStyle(classname);
|
|
615
620
|
this.childComponentStyleKeys.forEach(key => {
|
|
616
|
-
if (customStyles && this.
|
|
617
|
-
this.
|
|
621
|
+
if (customStyles && this.calcStyles && this.calcStyles[key]) {
|
|
622
|
+
this.calcStyles[key] = this.theme.mergeStyle(this.calcStyles[key], customStyles);
|
|
618
623
|
}
|
|
619
624
|
});
|
|
620
625
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["assign","isUndefined","isNil","isObject","isArray","isString","isEqual","React","AccessibilityInfo","Dimensions","InteractionManager","Platform","StyleSheet","View","Animatable","ThemeVariables","CalcExpression","StyleProps","getStyleName","BackgroundComponent","injector","ROOT_LOGGER","deepCopy","getPosition","setPosition","BASE_THEME","ThemeConsumer","ThemeEvent","EventNotifier","PropsProvider","assignIn","HideMode","AssetConsumer","FixedView","TextIdPrefixConsumer","isScreenReaderEnabled","TappableContext","WmComponentNode","WIDGET_LOGGER","extend","ParentContext","createContext","BaseComponentState","constructor","_defineProperty","undefined","defineStyles","styles","text","fontFamily","INSTANCE","baseFont","userSelect","BaseProps","args","BaseComponent","Component","markupProps","defaultClass","defaultProps","defaultState","ADD_TO_DOM","createElement","Fragment","I18nService","get","x","y","width","height","px","py","_this$parent$state","isPageContentWidget","isCurrentParentIsContent","parent","showSkeletonInPageContent","state","props","showskeleton","notifier","name","componentNode","instance","propertyProvider","show","$new","$old","debug","initialized","styleName","styleOverrides","setTimeout","cleanRefresh","onPropertyChange","_INSTANCE","_showView","deferload","check","proxy","Proxy","target","prop","receiver","propName","toString","has","Reflect","set","value","overrideProp","updateState","cleanup","push","updateStateTimeouts","forEach","v","clearTimeout","theme","subscribe","CHANGE","vw","vh","reestimateDimensions","forceUpdate","addEventListener","remove","destroyParentListeners","_this$parent","_this$parent2","_this$layout","_this$layout2","d","pw","layout","ph","w","h","dimensions","notify","event","fn","emitToParent","isRTL","i18nService","isRTLLocale","animate","setState","animationId","Date","now","animatableProps","setProp","setPropDefault","setDefault","getDefaultStyles","getStyle","reset","newPartialState","callback","destroyed","stateFn","oldState","oldProps","newState","Object","keys","k","onUpdateState","_this$props$listener","_this$props$listener2","listener","onComponentChange","timeoutId","splice","indexOf","shouldComponentUpdate","nextProps","nextState","nextContext","key","componentDidMount","onComponentInit","componentWillAttach","isFixed","isSticky","hide","componentWillDetach","componentWillUnmount","_this$parent3","onComponentDestroy","f","destroy","componentDidUpdate","prevProps","prevState","snapshot","invokeEventCallback","eventName","callBack","map","a","apply","e","console","error","showView","isVisible","refresh","renderSkeleton","parentListenerDestroyers","setParent","add","hasStyleCalcExpression","getName","handleLayout","ref","_this$getName","call","newLayoutPosition","nativeEvent","componentRef","baseView","measure","updateLayout","runAfterInteractions","requestAnimationFrame","_event$nativeEvent","copyStyles","property","from","to","renderFixedContainer","style","rootStyle","left","top","bottom","right","root","mergeStyle","addAnimation","renderWidget","n","_extends","setBackground","bgStyle","_background","image","backgroundImage","position","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","borderRadius","highlight","onTouchStart","borderWidth","overflow","backgroundColor","borderColor","borderStyle","zIndex","absoluteFill","getTestId","suffix","id","testIdPrefix","getTestProps","OS","accessibilityLabel","testID","accessible","getStyleClassName","classname","getTestPropsForInput","getTestPropsForAction","getTestPropsForLabel","getLayoutOfWidget","getLayout","scrollToTop","scrollToEnd","scrollToPosition","widgetName","_this$getLayoutOfWidg","positionY","evaluateCalcStyles","result","i","startsWith","p","evaluate","getDependenciesFromContext","Consumer","tappable","closestTappable","loadAsset","_this$parent4","_showSkeleton","hideSkeletonInPageContentWhenDisabledInPage","Provider","render","selectedLocale","getSelectedLocale","info","hideMode","DONOT_ADD_TO_DOM","calcStyles","disabled","showindevice","join","childComponentStyleKeys","length","customStyles","hasOwnProperty","eleToRender"],"sources":["base.component.tsx"],"sourcesContent":["import { assign, isUndefined, isNil, isObject, isArray, isString, isEqual } from 'lodash';\nimport React, { ReactNode } from 'react';\nimport { AccessibilityInfo, Dimensions, InteractionManager, LayoutChangeEvent, LayoutRectangle, Platform, StyleSheet, TextStyle, View, ViewStyle } from 'react-native';\nimport { AnimatableProps } from 'react-native-animatable';\nimport * as Animatable from 'react-native-animatable';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport { CalcExpression } from '@wavemaker/app-rn-runtime/styles/calc';\nimport { StyleProps, getStyleName } from '@wavemaker/app-rn-runtime/styles/style-props';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport { ROOT_LOGGER } from '@wavemaker/app-rn-runtime/core/logger';\nimport { deepCopy, getPosition, setPosition } from '@wavemaker/app-rn-runtime/core/utils';\nimport BASE_THEME, { NamedStyles, AllStyle, ThemeConsumer, ThemeEvent, Theme } from '../styles/theme';\nimport EventNotifier from './event-notifier';\nimport { PropsProvider } from './props.provider';\nimport { assignIn } from 'lodash-es';\nimport { HideMode } from './if.component';\nimport { AssetConsumer } from './asset.provider';\nimport { FixedView } from './fixed-view.component';\nimport { TextIdPrefixConsumer } from './testid.provider';\nimport { isScreenReaderEnabled } from './accessibility';\nimport { Tappable, TappableContext } from './tappable.component';\nimport { WmComponentNode } from './wm-component-tree';\n\nexport const WIDGET_LOGGER = ROOT_LOGGER.extend('widget');\n\nexport const ParentContext = React.createContext(null as any);\n\nexport class BaseComponentState<T extends BaseProps> {\n public animationId?: number = 0;\n public animatableProps?: AnimatableProps<ViewStyle> = undefined;\n public props = {} as T;\n public hide? = false;\n public highlight? = false;\n}\n\nexport type BaseStyles = NamedStyles<any> & {\n root: AllStyle,\n text: TextStyle & {userSelect?: 'none'| 'text'}\n}\n\nexport function defineStyles<T>(styles: T): T {\n return deepCopy({\n text: {\n fontFamily: ThemeVariables.INSTANCE.baseFont,\n userSelect: 'text'\n }\n }, styles);\n}\n\nexport interface LifecycleListener {\n onComponentChange?: (c: BaseComponent<any, any, any>) => void;\n onComponentInit?: (c: BaseComponent<any, any, any>) => void;\n onComponentDestroy?: (c: BaseComponent<any, any, any>) => void;\n}\n\ninterface Layout {\n x: number;\n y: number;\n width: number;\n height: number;\n px: number;\n py: number;\n}\n\nexport class BaseProps extends StyleProps {\n id?: string = null as any;\n name?: string = null as any;\n key?: any = null as any;\n disabled? = false;\n show? = true as Boolean | String | Number;\n styles?: any = null;\n classname?: string = null as any;\n listener?: LifecycleListener = null as any;\n showindevice?: ('xs'|'sm'|'md'|'lg'|'xl'|'xxl')[] = null as any;\n showskeleton?: boolean = undefined;\n deferload?: boolean = false;\n showskeletonchildren?: boolean = true;\n disabletoucheffect?:boolean = false;\n isdefault?: boolean = false;\n}\n\nexport abstract class BaseComponent<T extends BaseProps, S extends BaseComponentState<T>, L extends BaseStyles> extends React.Component<T, S> {\n private calcStyles: L = null as any;\n public styles: L = null as any;\n public hideMode = HideMode.ADD_TO_DOM;\n private propertyProvider: PropsProvider<T>;\n public proxy: BaseComponent<T, S, L>;\n public _INSTANCE: BaseComponent<T, S, L>;\n public initialized = false;\n public cleanup = [] as Function[];\n public theme = BASE_THEME;\n public updateStateTimeouts= [] as NodeJS.Timeout[];\n public parent: BaseComponent<any, any, any> = null as any;\n public destroyed = false;\n public _showSkeleton = false;\n public isFixed = false;\n public isSticky = false;\n public notifier = new EventNotifier();\n private parentListenerDestroyers = [] as Function[];\n public _background = <></>;\n private styleOverrides = {} as any;\n public loadAsset: (path: string) => number | string = null as any;\n private i18nService = injector.I18nService.get();\n public testIdPrefix = '';\n private _showView = true;\n public closestTappable?: Tappable; \n public componentNode: WmComponentNode;\n public layout: Layout = {\n x: 0, y:0, width:0, height:0, px:0, py:0\n };\n public baseView: any = View;\n private vw = Dimensions.get('window').width;\n private vh = Dimensions.get('window').height;\n private hasStyleCalcExpression = false;\n private dimensions: {\n vw?: number,\n vh?: number,\n pw?: number,\n ph?: number,\n w?: number,\n h?: number\n } = {} as any;\n protected childComponentStyleKeys: string[] = [];\n\n constructor(markupProps: T, public defaultClass: string, defaultProps?: T, defaultState?: S) {\n super(markupProps);\n this.state = (defaultState || {} as S);\n this.notifier.name = this.props.name || '';\n this.componentNode = new WmComponentNode({\n instance: this\n });\n this.propertyProvider = new PropsProvider<T>(\n assign({show: true}, defaultProps),\n assign({}, markupProps),\n (name: string, $new: any, $old: any) => {\n WIDGET_LOGGER.debug(() => `${this.props.name || this.constructor.name}: ${name} changed from ${$old} to ${$new}`);\n if (this.initialized) {\n const styleName = getStyleName(name);\n if (styleName) {\n if ($new === undefined) {\n delete this.styleOverrides[styleName];\n } else {\n this.styleOverrides[styleName] = $new;\n }\n }\n }\n if (name === 'showskeleton' && this.initialized) {\n setTimeout(() => this.cleanRefresh(), 100);\n }\n this.onPropertyChange(name, $new, $old);\n });\n //@ts-ignore\n this.state.props =this.propertyProvider.get();\n this._INSTANCE = this;\n //@ts-ignore\n this._showView = !this.props.deferload;\n this.propertyProvider.check();\n //@ts-ignore\n this.proxy = (new Proxy(this, {\n get: (target, prop, receiver): any => {\n const propName = prop.toString();\n if (this.propertyProvider.has(propName)) {\n //@ts-ignore\n return this.state.props[propName];\n }\n return Reflect.get(target, prop, receiver);\n },\n set: (target: any, prop, value: any): any => {\n const propName = prop.toString();\n if (this.propertyProvider.has(propName)) {\n // @ts-ignore\n const props = {} as any;\n this.propertyProvider.overrideProp(propName, value);\n props[propName] = value;\n this.updateState({\n props: props\n } as S);\n return true;\n } else {\n return Reflect.set(target, prop, value);\n }\n }\n }));\n this.cleanup.push(() => {\n this.updateStateTimeouts.forEach(v => clearTimeout(v));\n });\n this.cleanup.push(this.theme.subscribe(ThemeEvent.CHANGE, () => {\n this.vw = Dimensions.get('window').width;\n this.vh = Dimensions.get('window').height;\n if (this.reestimateDimensions) {\n this.reestimateDimensions();\n }\n this.forceUpdate();\n }));\n this.cleanup.push(AccessibilityInfo.addEventListener('screenReaderChanged',\n () => {\n setTimeout(() => {\n this.forceUpdate();\n }, 100);\n },\n ).remove);\n this.cleanup.push(() => {\n this.destroyParentListeners();\n });\n }\n \n public reestimateDimensions() {\n const d = {\n vw: this.vw,\n vh: this.vh,\n pw: this.parent?.layout?.width,\n ph: this.parent?.layout?.height,\n w: this.layout?.width,\n h: this.layout?.height\n }\n if (!isEqual(this.dimensions, d)) {\n this.dimensions = d;\n this.notify('layoutChange', []);\n return true;\n }\n return false;\n }\n\n public subscribe(event: string, fn: Function) {\n return this.notifier.subscribe(event, fn);\n }\n\n public notify(event: string, args: any[], emitToParent = false) {\n return this.notifier.notify(event, args, emitToParent);\n }\n\n public get isRTL(){\n return this.i18nService.isRTLLocale();\n }\n\n public animate(props: AnimatableProps<ViewStyle>) {\n this.setState({\n animationId: Date.now(),\n animatableProps: props\n });\n }\n\n setProp(propName: string, value: any) {\n this.propertyProvider.set(propName, value);\n this.updateState({props: {}} as S);\n }\n\n setPropDefault(propName: string, value: any) {\n this.propertyProvider.setDefault(propName, value);\n }\n \n onPropertyChange(name: string, $new: any, $old: any) { \n }\n \n getDefaultStyles() {\n return this.theme.getStyle(this.defaultClass);\n }\n\n reset() {\n\n }\n\n updateState(newPartialState: S, callback?: ()=>void) {\n if (this.destroyed) {\n return;\n }\n const stateFn = (oldState: S) => {\n const oldProps = oldState.props;\n const newState = this.initialized ? assignIn({}, oldState, newPartialState) : assignIn(oldState, newPartialState);\n if (newPartialState.props) {\n Object.keys(newPartialState.props).forEach((k) => {\n //@ts-ignore\n oldProps[k] = newState.props[k];\n });\n newState.props = oldProps;\n }\n return newState;\n };\n const onUpdateState = () => {\n callback && callback();\n this.props.listener?.onComponentChange\n && this.props.listener?.onComponentChange(this);\n }\n if (!this.initialized) {\n this.state = stateFn(this.state);\n onUpdateState();\n } else {\n const timeoutId = setTimeout(() => {\n this.setState(stateFn, onUpdateState);\n this.updateStateTimeouts.splice(this.updateStateTimeouts.indexOf(timeoutId), 1);\n });\n this.updateStateTimeouts.push(timeoutId);\n }\n }\n\n shouldComponentUpdate(nextProps: T, nextState: S, nextContext: any) {\n if (this.propertyProvider.check(nextProps)) {\n return true;\n }\n for(let key in nextState) {\n if(key !== 'props' && (!(key in this.state) || nextState[key] !== this.state[key])) {\n return true;\n }\n }\n\n for(let key in this.state) {\n if(key !== 'props' && (!(key in nextState) || this.state[key] !== nextState[key])) {\n return true;\n }\n }\n return false;\n }\n\n componentDidMount() {\n if (this.props.listener && this.props.listener.onComponentInit) {\n this.props.listener.onComponentInit(this.proxy);\n }\n this.initialized = true;\n }\n\n componentWillAttach() {\n if (this.isFixed || this.isSticky) {\n this.setState({hide: false});\n }\n }\n\n componentWillDetach() {\n if (this.isFixed || this.isSticky) {\n this.setState({hide: true});\n }\n }\n\n componentWillUnmount() {\n this.destroyed = true;\n if (this.props.listener && this.props.listener.onComponentDestroy) {\n this.props.listener.onComponentDestroy(this.proxy);\n }\n this.cleanup.forEach(f => f && f());\n this.parent?.componentNode?.remove(this.componentNode);\n this.notifier.destroy();\n this.notifier.notify('destroy', []);\n }\n \n componentDidUpdate(prevProps: Readonly<T>, prevState: Readonly<S>, snapshot?: any): void {\n if (this.propertyProvider.check(this.props)) {\n this.forceUpdate();\n }\n }\n\n invokeEventCallback(eventName: string, args: any[]) {\n //@ts-ignore\n const callBack: Function = this.props[eventName];\n args = args && args.map(a => (a === this) ? this.proxy : a)\n if (callBack) {\n try {\n return callBack.apply(this.proxy, args);\n } catch(e) {\n console.error(e);\n }\n }\n }\n\n showView() {\n return this.isVisible();\n }\n\n isVisible() {\n const show = this.state.props.show;\n return show !== false && show !== 'false' && show !== '0' && !isNil(show) && show !== \"\";\n }\n\n protected abstract renderWidget(props: T): ReactNode;\n\n public refresh() {\n this.forceUpdate();\n }\n\n public cleanRefresh() {\n this.forceUpdate(() => this.notifier.notify('forceUpdate', []));\n }\n \n public renderSkeleton (props: T): ReactNode {\n return null;\n }\n\n public destroyParentListeners() {\n this.parentListenerDestroyers.map(fn => fn());\n }\n\n protected setParent(parent: BaseComponent<any, any, any>) {\n if (parent && this.parent !== parent) {\n this.parent = parent;\n this.parent.componentNode.add(this.componentNode);\n this.notifier.setParent(parent.notifier);\n this.destroyParentListeners();\n this.parentListenerDestroyers = [\n this.parent.subscribe('forceUpdate', () => {\n this.forceUpdate();\n }),\n this.parent.subscribe('layoutChange', () => {\n if (this.reestimateDimensions && this.reestimateDimensions() && this.hasStyleCalcExpression) {\n this.forceUpdate();\n }\n return false;\n }),\n this.parent.subscribe('destroy', () => {\n this.destroyParentListeners();\n })\n ];\n }\n }\n\n protected getName() {\n return this.props.name;\n }\n\n public handleLayout(event: LayoutChangeEvent, ref: React.RefObject<View> | null = null) {\n const key = this?.getName?.();\n if(key){\n const newLayoutPosition = {\n [key as string]: {\n y: event.nativeEvent.layout.y,\n x: event.nativeEvent.layout.x\n }\n }\n setPosition(newLayoutPosition);\n const componentRef = ref !== null ? ref : this.baseView \n // Layout values by measure\n if(componentRef?.measure){\n const updateLayout = ()=>{\n componentRef.measure((x = 0, y = 0, width = 0, height = 0, px = 0, py = 0) => {\n this.layout = { x, y, width, height, px, py }\n if (this.reestimateDimensions && this.reestimateDimensions() && this.hasStyleCalcExpression) {\n this.forceUpdate();\n }\n }); \n }\n updateLayout();\n InteractionManager.runAfterInteractions(() => {\n requestAnimationFrame(updateLayout); \n })\n }\n } else {\n this.layout = event.nativeEvent?.layout as any;\n if (this.reestimateDimensions && this.reestimateDimensions() && this.hasStyleCalcExpression) {\n this.forceUpdate();\n }\n }\n }\n \n copyStyles(property: string, from: any, to: any) {\n if (!isUndefined(from[property])) {\n to[property] = from[property];\n }\n }\n\n renderFixedContainer(props: T) {\n const style = {} as ViewStyle;\n const rootStyle = {\n left: 0,\n top: 0,\n bottom: 0,\n right: 0,\n width: \"100%\",\n height: \"100%\"\n } as ViewStyle;\n this.copyStyles('left', this.styles.root, style);\n this.copyStyles('top', this.styles.root, style);\n this.copyStyles('right', this.styles.root, style);\n this.copyStyles('bottom', this.styles.root, style);\n this.copyStyles('width', this.styles.root, style);\n this.copyStyles('height', this.styles.root, style);\n this.styles = this.theme.mergeStyle(this.styles, {root: rootStyle});\n return (<FixedView style={style} theme={this.theme}>{this.addAnimation(this.renderWidget(props))}</FixedView>);\n }\n\n private addAnimation(n: ReactNode) {\n if (!this.state.animatableProps) {\n return (\n <>\n {n}\n </>\n )\n }\n return (\n <Animatable.View \n key={this.state.animationId} \n {...this.state.animatableProps}\n >\n {n}\n </Animatable.View>);\n }\n \n private setBackground() {\n const bgStyle = this.styles.root as any;\n this._background = (\n <>\n <BackgroundComponent \n image={bgStyle.backgroundImage}\n position={bgStyle.backgroundPosition}\n size={bgStyle.backgroundSize}\n repeat={bgStyle.backgroundRepeat}\n resizeMode={bgStyle.backgroundResizeMode}\n style={{borderRadius: this.styles.root.borderRadius}}>\n </BackgroundComponent>\n {this.state.highlight ? (<View onTouchStart={() => {\n this.setState({\n highlight: false\n })\n }} style={[{\n borderWidth: 2,\n overflow: 'hidden',\n backgroundColor: '#FFFF0033', \n borderColor: 'orange',\n borderStyle: 'dashed',\n zIndex: 1000,\n borderRadius: 0,\n }, StyleSheet.absoluteFill]}></View>) : null}\n </>\n );\n delete (this.styles.root as any)['backgroundImage'];\n delete (this.styles.root as any)['backgroundPosition'];\n delete (this.styles.root as any)['backgroundResizeMode'];\n delete (this.styles.root as any)['backgroundSize'];\n delete (this.styles.root as any)['backgroundRepeat'];\n }\n\n public getTestId(suffix?: string) {\n let id = this.props.id || this.props.name;\n if (this.testIdPrefix) {\n id = this.testIdPrefix + '_' + id;\n }\n if (suffix) {\n id = id + '_' + suffix;\n }\n return id;\n }\n\n public getTestProps(suffix?: string) {\n let id = this.getTestId(suffix);\n if (isScreenReaderEnabled()) {\n return {};\n }\n if (Platform.OS === 'android' || Platform.OS === 'web') {\n return {\n accessibilityLabel: id,\n testID: id\n };\n }\n return {\n accessible: false,\n testID: id\n };\n }\n\n public getStyleClassName() {\n return this.state.props.classname;\n }\n\n public getTestPropsForInput(suffix?: string) {\n return this.getTestProps(suffix || 'i');\n }\n\n public getTestPropsForAction(suffix?: string) {\n return this.getTestProps(suffix || 'a');\n }\n\n public getTestPropsForLabel(suffix?: string) {\n return this.getTestProps(suffix || 'l');\n }\n\n public getLayoutOfWidget(name: string): {x: number, y: number} | undefined {\n return getPosition(name)\n }\n\n public getLayout() {\n return this.layout ;\n }\n\n public scrollToTop(){\n this.notify('scrollToPosition', [{\n x: 0,\n y: 0\n }]);\n }\n\n public scrollToEnd() {\n this.notify('scrollToEnd', []);\n }\n\n scrollToPosition(widgetName: string) {\n const positionY = this.getLayoutOfWidget(widgetName)?.y; // Safe access\n this.notify('scrollToPosition', [{\n x: 0,\n y: positionY,\n }]);\n }\n\n public hideSkeletonInPageContentWhenDisabledInPage = () => {\n const isPageContentWidget = this.defaultClass && this.defaultClass === 'app-page-content'\n const isCurrentParentIsContent = this.parent && this.parent.defaultClass && this.parent.defaultClass === 'app-content'\n const showSkeletonInPageContent = this.parent && this.parent.state?.props?.showskeleton === false\n \n if(isPageContentWidget && isCurrentParentIsContent && showSkeletonInPageContent) {\n return false;\n }\n return undefined;\n }\n\n private evaluateCalcStyles(styles: any) {\n const result = {} as any;\n Object.keys(styles).forEach(k => {\n const value = styles[k];\n if (isArray(value)) {\n result[k] = value.map((v, i) => {\n return this.evaluateCalcStyles(v);\n });\n } else if (isObject(value)) {\n result[k] = this.evaluateCalcStyles(value);\n } else if (isString(value) && value.startsWith('calc(')) {\n result[k] = new CalcExpression(value, {\n vw: this.dimensions.vw || 0,\n vh: this.dimensions.vh || 0,\n p: (k === 'height' ? this.dimensions.ph : this.dimensions.pw) || 0,\n }).evaluate();\n } else {\n result[k] = value;\n }\n });\n return result;\n }\n \n private getDependenciesFromContext(fn: () => ReactNode) {\n return (\n <TappableContext.Consumer>{(tappable) => {\n this.closestTappable = tappable;\n return (\n <TextIdPrefixConsumer>\n {(testIdPrefix) => {\n this.testIdPrefix = testIdPrefix || '';\n return (<AssetConsumer>\n {(loadAsset) => {\n this.loadAsset = loadAsset;\n return (<ParentContext.Consumer>\n {(parent) => {\n this.setParent(parent);\n this._showSkeleton = this.state.props.showskeleton !== false \n && (this.parent?._showSkeleton || this.state.props.showskeleton === true) && this.hideSkeletonInPageContentWhenDisabledInPage() === undefined\n return (\n <ParentContext.Provider value={this}>\n <ThemeConsumer>\n {(theme) => { \n this.theme = theme || BASE_THEME;\n return fn();\n }}\n </ThemeConsumer>\n </ParentContext.Provider>);\n }} \n </ParentContext.Consumer>);\n }}\n </AssetConsumer>);\n }}\n </TextIdPrefixConsumer>)}}\n </TappableContext.Consumer>); \n }\n \n public render(): ReactNode {\n const props = this.state.props;\n const selectedLocale = this.i18nService.getSelectedLocale();\n return this.getDependenciesFromContext(() => {\n WIDGET_LOGGER.info(() => `${this.props.name || this.constructor.name} is rendering.`);\n this._showView = this._showView || this.showView();\n if (this.state.hide \n || (!this.isVisible() && this.hideMode === HideMode.DONOT_ADD_TO_DOM)\n || !this._showView) {\n return null;\n }\n this.isFixed = false;\n const classname = this.getStyleClassName();\n this.calcStyles = this.theme.mergeStyle(\n this.getDefaultStyles(),\n {text: this.theme.getStyle('app-' + selectedLocale)},\n {text: this.theme.getStyle(this.defaultClass + '-' + selectedLocale)},\n props.disabled ? this.theme.getStyle(this.defaultClass + '-disabled') : null,\n this.isRTL ? this.theme.getStyle(this.defaultClass + '-rtl') : null,\n classname && this.theme.getStyle(classname),\n this.isRTL && classname ? this.theme.getStyle(classname + '-rtl') : null,\n props.showindevice && this.theme.getStyle('d-all-none ' + props.showindevice.map(d => `d-${d}-flex`).join(' ')),\n this.props.styles,\n {\n root: this.styleOverrides,\n text: this.styleOverrides\n }\n );\n // Merge child component styles from custom classes\n if (classname && this.childComponentStyleKeys.length > 0) {\n const customStyles = this.theme.getStyle(classname);\n this.childComponentStyleKeys.forEach(key => {\n if (customStyles && this.styles && this.styles[key]) {\n (this.styles as any)[key] = this.theme.mergeStyle(this.styles[key], customStyles);\n }\n });\n }\n \n this.hasStyleCalcExpression = false;\n\n this.styles = this.evaluateCalcStyles(this.calcStyles);\n if (this.styles.root.hasOwnProperty('_background')) {\n delete this.styles.root.backgroundColor;\n }\n if (!this.isVisible()) {\n assign(this.styles, this.theme.getStyle('hidden'))\n }\n let eleToRender = (this._showSkeleton && this.renderSkeleton(props));\n if (eleToRender) {\n return eleToRender;\n }\n this.setBackground();\n this.isFixed = (this.styles.root.position as any) === 'fixed';\n if (this.isFixed) {\n this.styles.root.position = undefined;\n return this.renderFixedContainer(props);\n }\n return this.addAnimation(this.renderWidget(this.state.props)); \n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["assign","isUndefined","isNil","isObject","isArray","isString","isEqual","React","AccessibilityInfo","Dimensions","InteractionManager","Platform","StyleSheet","View","Animatable","ThemeVariables","CalcExpression","StyleProps","getStyleName","BackgroundComponent","injector","ROOT_LOGGER","deepCopy","getPosition","setPosition","BASE_THEME","ThemeConsumer","ThemeEvent","EventNotifier","PropsProvider","assignIn","HideMode","AssetConsumer","FixedView","TextIdPrefixConsumer","isScreenReaderEnabled","TappableContext","WmComponentNode","WIDGET_LOGGER","extend","ParentContext","createContext","BaseComponentState","constructor","_defineProperty","undefined","defineStyles","styles","text","fontFamily","INSTANCE","baseFont","userSelect","BaseProps","args","BaseComponent","Component","markupProps","defaultClass","defaultProps","defaultState","ADD_TO_DOM","createElement","Fragment","I18nService","get","x","y","width","height","px","py","_this$parent$state","isPageContentWidget","isCurrentParentIsContent","parent","showSkeletonInPageContent","state","props","showskeleton","notifier","name","componentNode","instance","propertyProvider","show","$new","$old","debug","initialized","styleName","styleOverrides","setTimeout","cleanRefresh","onPropertyChange","_INSTANCE","_showView","deferload","check","proxy","Proxy","target","prop","receiver","propName","toString","has","Reflect","set","value","overrideProp","updateState","cleanup","push","updateStateTimeouts","forEach","v","clearTimeout","theme","subscribe","CHANGE","vw","vh","reestimateDimensions","forceUpdate","addEventListener","remove","destroyParentListeners","_this$parent","_this$parent2","_this$layout","_this$layout2","d","pw","layout","ph","w","h","dimensions","notify","event","fn","emitToParent","isRTL","i18nService","isRTLLocale","animate","setState","animationId","Date","now","animatableProps","setProp","setPropDefault","setDefault","getDefaultStyles","getStyle","reset","newPartialState","callback","destroyed","stateFn","oldState","oldProps","newState","Object","keys","k","onUpdateState","_this$props$listener","_this$props$listener2","listener","onComponentChange","timeoutId","splice","indexOf","shouldComponentUpdate","nextProps","nextState","nextContext","key","componentDidMount","onComponentInit","componentWillAttach","isFixed","isSticky","hide","componentWillDetach","componentWillUnmount","_this$parent3","onComponentDestroy","f","destroy","componentDidUpdate","prevProps","prevState","snapshot","invokeEventCallback","eventName","callBack","appConfig","map","a","apply","e","_appConfig$preference","console","error","preferences","enableGlobalErrorHandler","showView","isVisible","refresh","renderSkeleton","parentListenerDestroyers","setParent","add","hasStyleCalcExpression","getName","handleLayout","ref","_this$getName","call","newLayoutPosition","nativeEvent","componentRef","baseView","measure","updateLayout","runAfterInteractions","requestAnimationFrame","_event$nativeEvent","copyStyles","property","from","to","renderFixedContainer","style","rootStyle","left","top","bottom","right","root","mergeStyle","addAnimation","renderWidget","n","_extends","setBackground","bgStyle","_background","image","backgroundImage","position","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","borderRadius","highlight","onTouchStart","borderWidth","overflow","backgroundColor","borderColor","borderStyle","zIndex","absoluteFill","getTestId","suffix","id","testIdPrefix","getTestProps","OS","accessibilityLabel","testID","accessible","getStyleClassName","classname","getTestPropsForInput","getTestPropsForAction","getTestPropsForLabel","getLayoutOfWidget","getLayout","scrollToTop","scrollToEnd","scrollToPosition","widgetName","_this$getLayoutOfWidg","positionY","evaluateCalcStyles","result","i","startsWith","p","evaluate","getDependenciesFromContext","Consumer","tappable","closestTappable","loadAsset","_this$parent4","_showSkeleton","hideSkeletonInPageContentWhenDisabledInPage","Provider","render","selectedLocale","getSelectedLocale","info","hideMode","DONOT_ADD_TO_DOM","calcStyles","disabled","showindevice","join","childComponentStyleKeys","length","customStyles","hasOwnProperty","eleToRender"],"sources":["base.component.tsx"],"sourcesContent":["import { assign, isUndefined, isNil, isObject, isArray, isString, isEqual } from 'lodash';\nimport React, { ReactNode } from 'react';\nimport { AccessibilityInfo, Dimensions, InteractionManager, LayoutChangeEvent, LayoutRectangle, Platform, StyleSheet, TextStyle, View, ViewStyle } from 'react-native';\nimport { AnimatableProps } from 'react-native-animatable';\nimport * as Animatable from 'react-native-animatable';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport { CalcExpression } from '@wavemaker/app-rn-runtime/styles/calc';\nimport { StyleProps, getStyleName } from '@wavemaker/app-rn-runtime/styles/style-props';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport { ROOT_LOGGER } from '@wavemaker/app-rn-runtime/core/logger';\nimport { deepCopy, getPosition, setPosition } from '@wavemaker/app-rn-runtime/core/utils';\nimport BASE_THEME, { NamedStyles, AllStyle, ThemeConsumer, ThemeEvent, Theme } from '../styles/theme';\nimport EventNotifier from './event-notifier';\nimport { PropsProvider } from './props.provider';\nimport { assignIn } from 'lodash-es';\nimport { HideMode } from './if.component';\nimport { AssetConsumer } from './asset.provider';\nimport { FixedView } from './fixed-view.component';\nimport { TextIdPrefixConsumer } from './testid.provider';\nimport { isScreenReaderEnabled } from './accessibility';\nimport { Tappable, TappableContext } from './tappable.component';\nimport { WmComponentNode } from './wm-component-tree';\nimport AppConfig from './AppConfig';\n\nexport const WIDGET_LOGGER = ROOT_LOGGER.extend('widget');\n\nexport const ParentContext = React.createContext(null as any);\n\nexport class BaseComponentState<T extends BaseProps> {\n public animationId?: number = 0;\n public animatableProps?: AnimatableProps<ViewStyle> = undefined;\n public props = {} as T;\n public hide? = false;\n public highlight? = false;\n}\n\nexport type BaseStyles = NamedStyles<any> & {\n root: AllStyle,\n text: TextStyle & {userSelect?: 'none'| 'text'}\n}\n\nexport function defineStyles<T>(styles: T): T {\n return deepCopy({\n text: {\n fontFamily: ThemeVariables.INSTANCE.baseFont,\n userSelect: 'text'\n }\n }, styles);\n}\n\nexport interface LifecycleListener {\n onComponentChange?: (c: BaseComponent<any, any, any>) => void;\n onComponentInit?: (c: BaseComponent<any, any, any>) => void;\n onComponentDestroy?: (c: BaseComponent<any, any, any>) => void;\n}\n\ninterface Layout {\n x: number;\n y: number;\n width: number;\n height: number;\n px: number;\n py: number;\n}\n\nexport class BaseProps extends StyleProps {\n id?: string = null as any;\n name?: string = null as any;\n key?: any = null as any;\n disabled? = false;\n show? = true as Boolean | String | Number;\n styles?: any = null;\n classname?: string = null as any;\n listener?: LifecycleListener = null as any;\n showindevice?: ('xs'|'sm'|'md'|'lg'|'xl'|'xxl')[] = null as any;\n showskeleton?: boolean = undefined;\n deferload?: boolean = false;\n showskeletonchildren?: boolean = true;\n disabletoucheffect?:boolean = false;\n isdefault?: boolean = false;\n}\n\nexport abstract class BaseComponent<T extends BaseProps, S extends BaseComponentState<T>, L extends BaseStyles> extends React.Component<T, S> {\n private calcStyles: L = null as any;\n public styles: L = null as any;\n public hideMode = HideMode.ADD_TO_DOM;\n private propertyProvider: PropsProvider<T>;\n public proxy: BaseComponent<T, S, L>;\n public _INSTANCE: BaseComponent<T, S, L>;\n public initialized = false;\n public cleanup = [] as Function[];\n public theme = BASE_THEME;\n public updateStateTimeouts= [] as NodeJS.Timeout[];\n public parent: BaseComponent<any, any, any> = null as any;\n public destroyed = false;\n public _showSkeleton = false;\n public isFixed = false;\n public isSticky = false;\n public notifier = new EventNotifier();\n private parentListenerDestroyers = [] as Function[];\n public _background = <></>;\n private styleOverrides = {} as any;\n public loadAsset: (path: string) => number | string = null as any;\n private i18nService = injector.I18nService.get();\n public testIdPrefix = '';\n private _showView = true;\n public closestTappable?: Tappable;\n public componentNode: WmComponentNode;\n public layout: Layout = {\n x: 0, y:0, width:0, height:0, px:0, py:0\n };\n public baseView: any = View;\n private vw = Dimensions.get('window').width;\n private vh = Dimensions.get('window').height;\n private hasStyleCalcExpression = false;\n private dimensions: {\n vw?: number,\n vh?: number,\n pw?: number,\n ph?: number,\n w?: number,\n h?: number\n } = {} as any;\n protected childComponentStyleKeys: string[] = [];\n\n constructor(markupProps: T, public defaultClass: string, defaultProps?: T, defaultState?: S) {\n super(markupProps);\n this.state = (defaultState || {} as S);\n this.notifier.name = this.props.name || '';\n this.componentNode = new WmComponentNode({\n instance: this\n });\n this.propertyProvider = new PropsProvider<T>(\n assign({show: true}, defaultProps),\n assign({}, markupProps),\n (name: string, $new: any, $old: any) => {\n WIDGET_LOGGER.debug(() => `${this.props.name || this.constructor.name}: ${name} changed from ${$old} to ${$new}`);\n if (this.initialized) {\n const styleName = getStyleName(name);\n if (styleName) {\n if ($new === undefined) {\n delete this.styleOverrides[styleName];\n } else {\n this.styleOverrides[styleName] = $new;\n }\n }\n }\n if (name === 'showskeleton' && this.initialized) {\n setTimeout(() => this.cleanRefresh(), 100);\n }\n this.onPropertyChange(name, $new, $old);\n });\n //@ts-ignore\n this.state.props =this.propertyProvider.get();\n this._INSTANCE = this;\n //@ts-ignore\n this._showView = !this.props.deferload;\n this.propertyProvider.check();\n //@ts-ignore\n this.proxy = (new Proxy(this, {\n get: (target, prop, receiver): any => {\n const propName = prop.toString();\n if (this.propertyProvider.has(propName)) {\n //@ts-ignore\n return this.state.props[propName];\n }\n return Reflect.get(target, prop, receiver);\n },\n set: (target: any, prop, value: any): any => {\n const propName = prop.toString();\n if (this.propertyProvider.has(propName)) {\n // @ts-ignore\n const props = {} as any;\n this.propertyProvider.overrideProp(propName, value);\n props[propName] = value;\n this.updateState({\n props: props\n } as S);\n return true;\n } else {\n return Reflect.set(target, prop, value);\n }\n }\n }));\n this.cleanup.push(() => {\n this.updateStateTimeouts.forEach(v => clearTimeout(v));\n });\n this.cleanup.push(this.theme.subscribe(ThemeEvent.CHANGE, () => {\n this.vw = Dimensions.get('window').width;\n this.vh = Dimensions.get('window').height;\n if (this.reestimateDimensions) {\n this.reestimateDimensions();\n }\n this.forceUpdate();\n }));\n this.cleanup.push(AccessibilityInfo.addEventListener('screenReaderChanged',\n () => {\n setTimeout(() => {\n this.forceUpdate();\n }, 100);\n },\n ).remove);\n this.cleanup.push(() => {\n this.destroyParentListeners();\n });\n }\n\n public reestimateDimensions() {\n const d = {\n vw: this.vw,\n vh: this.vh,\n pw: this.parent?.layout?.width,\n ph: this.parent?.layout?.height,\n w: this.layout?.width,\n h: this.layout?.height\n }\n if (!isEqual(this.dimensions, d)) {\n this.dimensions = d;\n this.notify('layoutChange', []);\n return true;\n }\n return false;\n }\n\n public subscribe(event: string, fn: Function) {\n return this.notifier.subscribe(event, fn);\n }\n\n public notify(event: string, args: any[], emitToParent = false) {\n return this.notifier.notify(event, args, emitToParent);\n }\n\n public get isRTL(){\n return this.i18nService.isRTLLocale();\n }\n\n public animate(props: AnimatableProps<ViewStyle>) {\n this.setState({\n animationId: Date.now(),\n animatableProps: props\n });\n }\n\n setProp(propName: string, value: any) {\n this.propertyProvider.set(propName, value);\n this.updateState({props: {}} as S);\n }\n\n setPropDefault(propName: string, value: any) {\n this.propertyProvider.setDefault(propName, value);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n }\n\n getDefaultStyles() {\n return this.theme.getStyle(this.defaultClass);\n }\n\n reset() {\n\n }\n\n updateState(newPartialState: S, callback?: ()=>void) {\n if (this.destroyed) {\n return;\n }\n const stateFn = (oldState: S) => {\n const oldProps = oldState.props;\n const newState = this.initialized ? assignIn({}, oldState, newPartialState) : assignIn(oldState, newPartialState);\n if (newPartialState.props) {\n Object.keys(newPartialState.props).forEach((k) => {\n //@ts-ignore\n oldProps[k] = newState.props[k];\n });\n newState.props = oldProps;\n }\n return newState;\n };\n const onUpdateState = () => {\n callback && callback();\n this.props.listener?.onComponentChange\n && this.props.listener?.onComponentChange(this);\n }\n if (!this.initialized) {\n this.state = stateFn(this.state);\n onUpdateState();\n } else {\n const timeoutId = setTimeout(() => {\n this.setState(stateFn, onUpdateState);\n this.updateStateTimeouts.splice(this.updateStateTimeouts.indexOf(timeoutId), 1);\n });\n this.updateStateTimeouts.push(timeoutId);\n }\n }\n\n shouldComponentUpdate(nextProps: T, nextState: S, nextContext: any) {\n if (this.propertyProvider.check(nextProps)) {\n return true;\n }\n for(let key in nextState) {\n if(key !== 'props' && (!(key in this.state) || nextState[key] !== this.state[key])) {\n return true;\n }\n }\n\n for(let key in this.state) {\n if(key !== 'props' && (!(key in nextState) || this.state[key] !== nextState[key])) {\n return true;\n }\n }\n return false;\n }\n\n componentDidMount() {\n if (this.props.listener && this.props.listener.onComponentInit) {\n this.props.listener.onComponentInit(this.proxy);\n }\n this.initialized = true;\n }\n\n componentWillAttach() {\n if (this.isFixed || this.isSticky) {\n this.setState({hide: false});\n }\n }\n\n componentWillDetach() {\n if (this.isFixed || this.isSticky) {\n this.setState({hide: true});\n }\n }\n\n componentWillUnmount() {\n this.destroyed = true;\n if (this.props.listener && this.props.listener.onComponentDestroy) {\n this.props.listener.onComponentDestroy(this.proxy);\n }\n this.cleanup.forEach(f => f && f());\n this.parent?.componentNode?.remove(this.componentNode);\n this.notifier.destroy();\n this.notifier.notify('destroy', []);\n }\n\n componentDidUpdate(prevProps: Readonly<T>, prevState: Readonly<S>, snapshot?: any): void {\n if (this.propertyProvider.check(this.props)) {\n this.forceUpdate();\n }\n }\n\n invokeEventCallback(eventName: string, args: any[]) {\n //@ts-ignore\n const callBack: Function = this.props[eventName];\n const appConfig = injector.get<AppConfig>('APP_CONFIG');\n\n args = args && args.map(a => (a === this) ? this.proxy : a)\n if (callBack) {\n try {\n return callBack.apply(this.proxy, args);\n } catch(e) {\n console.error(e);\n if(appConfig?.preferences?.enableGlobalErrorHandler === true){\n throw e; // Re-throwing error to let ErrorBoundary or Global Handler catch it\n }\n }\n }\n }\n\n showView() {\n return this.isVisible();\n }\n\n isVisible() {\n const show = this.state.props.show;\n return show !== false && show !== 'false' && show !== '0' && !isNil(show) && show !== \"\";\n }\n\n protected abstract renderWidget(props: T): ReactNode;\n\n public refresh() {\n this.forceUpdate();\n }\n\n public cleanRefresh() {\n this.forceUpdate(() => this.notifier.notify('forceUpdate', []));\n }\n\n public renderSkeleton (props: T): ReactNode {\n return null;\n }\n\n public destroyParentListeners() {\n this.parentListenerDestroyers.map(fn => fn());\n }\n\n protected setParent(parent: BaseComponent<any, any, any>) {\n if (parent && this.parent !== parent) {\n this.parent = parent;\n this.parent.componentNode.add(this.componentNode);\n this.notifier.setParent(parent.notifier);\n this.destroyParentListeners();\n this.parentListenerDestroyers = [\n this.parent.subscribe('forceUpdate', () => {\n this.forceUpdate();\n }),\n this.parent.subscribe('layoutChange', () => {\n if (this.reestimateDimensions && this.reestimateDimensions() && this.hasStyleCalcExpression) {\n this.forceUpdate();\n }\n return false;\n }),\n this.parent.subscribe('destroy', () => {\n this.destroyParentListeners();\n })\n ];\n }\n }\n\n protected getName() {\n return this.props.name;\n }\n\n public handleLayout(event: LayoutChangeEvent, ref: React.RefObject<View> | null = null) {\n const key = this?.getName?.();\n if(key){\n const newLayoutPosition = {\n [key as string]: {\n y: event.nativeEvent.layout.y,\n x: event.nativeEvent.layout.x\n }\n }\n setPosition(newLayoutPosition);\n const componentRef = ref !== null ? ref : this.baseView\n // Layout values by measure\n if(componentRef?.measure){\n const updateLayout = ()=>{\n componentRef.measure((x = 0, y = 0, width = 0, height = 0, px = 0, py = 0) => {\n this.layout = { x, y, width, height, px, py }\n if (this.reestimateDimensions && this.reestimateDimensions() && this.hasStyleCalcExpression) {\n this.forceUpdate();\n }\n });\n }\n updateLayout();\n InteractionManager.runAfterInteractions(() => {\n requestAnimationFrame(updateLayout);\n })\n }\n } else {\n this.layout = event.nativeEvent?.layout as any;\n if (this.reestimateDimensions && this.reestimateDimensions() && this.hasStyleCalcExpression) {\n this.forceUpdate();\n }\n }\n }\n\n copyStyles(property: string, from: any, to: any) {\n if (!isUndefined(from[property])) {\n to[property] = from[property];\n }\n }\n\n renderFixedContainer(props: T) {\n const style = {} as ViewStyle;\n const rootStyle = {\n left: 0,\n top: 0,\n bottom: 0,\n right: 0,\n width: \"100%\",\n height: \"100%\"\n } as ViewStyle;\n this.copyStyles('left', this.styles.root, style);\n this.copyStyles('top', this.styles.root, style);\n this.copyStyles('right', this.styles.root, style);\n this.copyStyles('bottom', this.styles.root, style);\n this.copyStyles('width', this.styles.root, style);\n this.copyStyles('height', this.styles.root, style);\n this.styles = this.theme.mergeStyle(this.styles, {root: rootStyle});\n return (<FixedView style={style} theme={this.theme}>{this.addAnimation(this.renderWidget(props))}</FixedView>);\n }\n\n private addAnimation(n: ReactNode) {\n if (!this.state.animatableProps) {\n return (\n <>\n {n}\n </>\n )\n }\n return (\n <Animatable.View\n key={this.state.animationId}\n {...this.state.animatableProps}\n >\n {n}\n </Animatable.View>);\n }\n\n private setBackground() {\n const bgStyle = this.styles.root as any;\n this._background = (\n <>\n <BackgroundComponent\n image={bgStyle.backgroundImage}\n position={bgStyle.backgroundPosition}\n size={bgStyle.backgroundSize}\n repeat={bgStyle.backgroundRepeat}\n resizeMode={bgStyle.backgroundResizeMode}\n style={{borderRadius: this.styles.root.borderRadius}}>\n </BackgroundComponent>\n {this.state.highlight ? (<View onTouchStart={() => {\n this.setState({\n highlight: false\n })\n }} style={[{\n borderWidth: 2,\n overflow: 'hidden',\n backgroundColor: '#FFFF0033',\n borderColor: 'orange',\n borderStyle: 'dashed',\n zIndex: 1000,\n borderRadius: 0,\n }, StyleSheet.absoluteFill]}></View>) : null}\n </>\n );\n delete (this.styles.root as any)['backgroundImage'];\n delete (this.styles.root as any)['backgroundPosition'];\n delete (this.styles.root as any)['backgroundResizeMode'];\n delete (this.styles.root as any)['backgroundSize'];\n delete (this.styles.root as any)['backgroundRepeat'];\n }\n\n public getTestId(suffix?: string) {\n let id = this.props.id || this.props.name;\n if (this.testIdPrefix) {\n id = this.testIdPrefix + '_' + id;\n }\n if (suffix) {\n id = id + '_' + suffix;\n }\n return id;\n }\n\n public getTestProps(suffix?: string) {\n let id = this.getTestId(suffix);\n if (isScreenReaderEnabled()) {\n return {};\n }\n if (Platform.OS === 'android' || Platform.OS === 'web') {\n return {\n accessibilityLabel: id,\n testID: id\n };\n }\n return {\n accessible: false,\n testID: id\n };\n }\n\n public getStyleClassName() {\n return this.state.props.classname;\n }\n\n public getTestPropsForInput(suffix?: string) {\n return this.getTestProps(suffix || 'i');\n }\n\n public getTestPropsForAction(suffix?: string) {\n return this.getTestProps(suffix || 'a');\n }\n\n public getTestPropsForLabel(suffix?: string) {\n return this.getTestProps(suffix || 'l');\n }\n\n public getLayoutOfWidget(name: string): {x: number, y: number} | undefined {\n return getPosition(name)\n }\n\n public getLayout() {\n return this.layout ;\n }\n\n public scrollToTop(){\n this.notify('scrollToPosition', [{\n x: 0,\n y: 0\n }]);\n }\n\n public scrollToEnd() {\n this.notify('scrollToEnd', []);\n }\n\n scrollToPosition(widgetName: string) {\n const positionY = this.getLayoutOfWidget(widgetName)?.y; // Safe access\n this.notify('scrollToPosition', [{\n x: 0,\n y: positionY,\n }]);\n }\n\n public hideSkeletonInPageContentWhenDisabledInPage = () => {\n const isPageContentWidget = this.defaultClass && this.defaultClass === 'app-page-content'\n const isCurrentParentIsContent = this.parent && this.parent.defaultClass && this.parent.defaultClass === 'app-content'\n const showSkeletonInPageContent = this.parent && this.parent.state?.props?.showskeleton === false\n\n if(isPageContentWidget && isCurrentParentIsContent && showSkeletonInPageContent) {\n return false;\n }\n return undefined;\n }\n\n private evaluateCalcStyles(styles: any) {\n const result = {} as any;\n Object.keys(styles).forEach(k => {\n const value = styles[k];\n if (isArray(value)) {\n result[k] = value.map((v, i) => {\n return this.evaluateCalcStyles(v);\n });\n } else if (isObject(value)) {\n result[k] = this.evaluateCalcStyles(value);\n } else if (isString(value) && value.startsWith('calc(')) {\n result[k] = new CalcExpression(value, {\n vw: this.dimensions.vw || 0,\n vh: this.dimensions.vh || 0,\n p: (k === 'height' ? this.dimensions.ph : this.dimensions.pw) || 0,\n }).evaluate();\n } else {\n result[k] = value;\n }\n });\n return result;\n }\n\n private getDependenciesFromContext(fn: () => ReactNode) {\n return (\n <TappableContext.Consumer>{(tappable) => {\n this.closestTappable = tappable;\n return (\n <TextIdPrefixConsumer>\n {(testIdPrefix) => {\n this.testIdPrefix = testIdPrefix || '';\n return (<AssetConsumer>\n {(loadAsset) => {\n this.loadAsset = loadAsset;\n return (<ParentContext.Consumer>\n {(parent) => {\n this.setParent(parent);\n this._showSkeleton = this.state.props.showskeleton !== false\n && (this.parent?._showSkeleton || this.state.props.showskeleton === true) && this.hideSkeletonInPageContentWhenDisabledInPage() === undefined\n return (\n <ParentContext.Provider value={this}>\n <ThemeConsumer>\n {(theme) => {\n this.theme = theme || BASE_THEME;\n return fn();\n }}\n </ThemeConsumer>\n </ParentContext.Provider>);\n }}\n </ParentContext.Consumer>);\n }}\n </AssetConsumer>);\n }}\n </TextIdPrefixConsumer>)}}\n </TappableContext.Consumer>);\n }\n\n public render(): ReactNode {\n const props = this.state.props;\n const selectedLocale = this.i18nService.getSelectedLocale();\n return this.getDependenciesFromContext(() => {\n WIDGET_LOGGER.info(() => `${this.props.name || this.constructor.name} is rendering.`);\n this._showView = this._showView || this.showView();\n if (this.state.hide\n || (!this.isVisible() && this.hideMode === HideMode.DONOT_ADD_TO_DOM)\n || !this._showView) {\n return null;\n }\n this.isFixed = false;\n const classname = this.getStyleClassName();\n this.calcStyles = this.theme.mergeStyle(\n this.getDefaultStyles(),\n {text: this.theme.getStyle('app-' + selectedLocale)},\n {text: this.theme.getStyle(this.defaultClass + '-' + selectedLocale)},\n props.disabled ? this.theme.getStyle(this.defaultClass + '-disabled') : null,\n this.isRTL ? this.theme.getStyle(this.defaultClass + '-rtl') : null,\n classname && this.theme.getStyle(classname),\n classname && props.disabled ? this.theme.getStyle(`${classname}.${this.defaultClass}-disabled`) : null,\n this.isRTL && classname ? this.theme.getStyle(classname + '-rtl') : null,\n props.showindevice && this.theme.getStyle('d-all-none ' + props.showindevice.map(d => `d-${d}-flex`).join(' ')),\n this.props.styles,\n {\n root: this.styleOverrides,\n text: this.styleOverrides\n }\n );\n // Merge child component styles from custom classes\n if (classname && this.childComponentStyleKeys.length > 0) {\n const customStyles = this.theme.getStyle(classname);\n this.childComponentStyleKeys.forEach(key => {\n if (customStyles && this.calcStyles && (this.calcStyles as any)[key]) {\n (this.calcStyles as any)[key] = this.theme.mergeStyle((this.calcStyles as any)[key], customStyles);\n }\n });\n }\n\n this.hasStyleCalcExpression = false;\n\n this.styles = this.evaluateCalcStyles(this.calcStyles);\n if (this.styles.root.hasOwnProperty('_background')) {\n delete this.styles.root.backgroundColor;\n }\n if (!this.isVisible()) {\n assign(this.styles, this.theme.getStyle('hidden'))\n }\n let eleToRender = (this._showSkeleton && this.renderSkeleton(props));\n if (eleToRender) {\n return eleToRender;\n }\n this.setBackground();\n this.isFixed = (this.styles.root.position as any) === 'fixed';\n if (this.isFixed) {\n this.styles.root.position = undefined;\n return this.renderFixedContainer(props);\n }\n return this.addAnimation(this.renderWidget(this.state.props));\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|