@wavemaker/app-rn-runtime 11.7.0-rc.5562 → 11.7.0-rc.5570
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.
- app-rn-runtime/components/basic/anchor/anchor.component.js.map +1 -1
- app-rn-runtime/components/container/container.component.js +3 -1
- app-rn-runtime/components/container/container.component.js.map +1 -1
- app-rn-runtime/components/container/panel/panel.component.js +1 -1
- app-rn-runtime/components/container/panel/panel.component.js.map +1 -1
- app-rn-runtime/components/data/form/form-action/form-action.component.js.map +1 -1
- app-rn-runtime/components/data/list/list.component.js +25 -18
- app-rn-runtime/components/data/list/list.component.js.map +1 -1
- app-rn-runtime/components/data/list/list.styles.js +0 -2
- app-rn-runtime/components/data/list/list.styles.js.map +1 -1
- app-rn-runtime/components/input/baseinput/baseinput.component.js +2 -0
- app-rn-runtime/components/input/baseinput/baseinput.component.js.map +1 -1
- app-rn-runtime/components/navigation/navbar/navbar.props.js.map +1 -1
- app-rn-runtime/components/navigation/navitem/navitem.component.js.map +1 -1
- app-rn-runtime/components/navigation/navitem/navitem.props.js.map +1 -1
- app-rn-runtime/components/navigation/popover/popover.component.js.map +1 -1
- app-rn-runtime/core/base.component.js +21 -15
- app-rn-runtime/core/base.component.js.map +1 -1
- app-rn-runtime/core/event-notifier.js +13 -4
- app-rn-runtime/core/event-notifier.js.map +1 -1
- app-rn-runtime/core/tappable.component.js +75 -39
- app-rn-runtime/core/tappable.component.js.map +1 -1
- app-rn-runtime/package.json +3 -3
- app-rn-runtime/runtime/base-partial.component.js +10 -5
- app-rn-runtime/runtime/base-partial.component.js.map +1 -1
@@ -7,8 +7,10 @@ import { Platform, View } from "react-native";
|
|
7
7
|
import { get } from "lodash";
|
8
8
|
import injector from "./injector";
|
9
9
|
import { TouchableRipple } from "react-native-paper";
|
10
|
-
export
|
10
|
+
export const TappableContext = /*#__PURE__*/React.createContext(null);
|
11
|
+
export class SyntheticEvent {
|
11
12
|
constructor() {
|
13
|
+
// as the event is being used in onPress, onPressOut and onLongTap the TapEvent is renamed to SyntheticEvent
|
12
14
|
_defineProperty(this, "propagationEnabled", true);
|
13
15
|
}
|
14
16
|
stopPropagation() {
|
@@ -22,88 +24,122 @@ export class Tappable extends React.Component {
|
|
22
24
|
_defineProperty(this, "lastTap", 0);
|
23
25
|
_defineProperty(this, "lastDoubleTap", 0);
|
24
26
|
_defineProperty(this, "isLongTap", false);
|
27
|
+
_defineProperty(this, "parent", null);
|
28
|
+
}
|
29
|
+
async triggerTap() {
|
30
|
+
var _this$parent;
|
31
|
+
let e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new SyntheticEvent();
|
32
|
+
if (!e.propagationEnabled) {
|
33
|
+
return;
|
34
|
+
}
|
35
|
+
const target = this.props.target;
|
36
|
+
if (this.props.onTap) {
|
37
|
+
await this.props.onTap(e);
|
38
|
+
} else {
|
39
|
+
await (target === null || target === void 0 ? void 0 : target.invokeEventCallback('onTap', [e, target]));
|
40
|
+
}
|
41
|
+
(_this$parent = this.parent) === null || _this$parent === void 0 ? void 0 : _this$parent.triggerTap(e);
|
25
42
|
}
|
26
43
|
onPress(e) {
|
27
44
|
var _this$props$target;
|
28
45
|
this.lastPress = Date.now();
|
29
46
|
const target = this.props.target;
|
30
|
-
|
31
|
-
|
32
|
-
setTimeout(() => {
|
33
|
-
Tappable.CURRENT_EVENT = null;
|
34
|
-
}, 10);
|
35
|
-
}
|
36
|
-
const syntheticEvent = Tappable.CURRENT_EVENT;
|
37
|
-
this.props.onTouchStart && this.props.onTouchStart(e || syntheticEvent);
|
38
|
-
(_this$props$target = this.props.target) === null || _this$props$target === void 0 ? void 0 : _this$props$target.invokeEventCallback('onTouchstart', [syntheticEvent, this.props.target]);
|
47
|
+
this.props.onTouchStart && this.props.onTouchStart(e);
|
48
|
+
(_this$props$target = this.props.target) === null || _this$props$target === void 0 ? void 0 : _this$props$target.invokeEventCallback('onTouchstart', [e, this.props.target]);
|
39
49
|
const currentTime = Date.now();
|
40
50
|
const tapDelta = currentTime - this.lastTap;
|
41
51
|
if (this.isLongTap) {
|
42
52
|
this.isLongTap = false;
|
43
53
|
return;
|
44
54
|
}
|
45
|
-
if (
|
55
|
+
if (e.propagationEnabled) {
|
46
56
|
var _injector$FOCUSED_ELE;
|
47
57
|
(_injector$FOCUSED_ELE = injector.FOCUSED_ELEMENT.get()) === null || _injector$FOCUSED_ELE === void 0 ? void 0 : _injector$FOCUSED_ELE.blur();
|
48
58
|
if (this.lastDoubleTap !== this.lastTap && tapDelta < 500) {
|
49
59
|
this.props.onDoubleTap && this.props.onDoubleTap(e);
|
50
60
|
setTimeout(() => {
|
51
|
-
target === null || target === void 0 ? void 0 : target.invokeEventCallback('onDoubletap', [
|
61
|
+
target === null || target === void 0 ? void 0 : target.invokeEventCallback('onDoubletap', [e, target]);
|
52
62
|
}, 200);
|
53
63
|
this.lastDoubleTap = currentTime;
|
54
64
|
}
|
55
65
|
setTimeout(() => {
|
66
|
+
var _this$parent2;
|
67
|
+
if (!e.propagationEnabled) {
|
68
|
+
return;
|
69
|
+
}
|
56
70
|
if (this.props.onTap) {
|
57
|
-
this.props.onTap(e
|
71
|
+
this.props.onTap(e);
|
58
72
|
} else {
|
59
|
-
target === null || target === void 0 ? void 0 : target.invokeEventCallback('onTap', [
|
73
|
+
target === null || target === void 0 ? void 0 : target.invokeEventCallback('onTap', [e, target]);
|
60
74
|
}
|
75
|
+
(_this$parent2 = this.parent) === null || _this$parent2 === void 0 ? void 0 : _this$parent2.onPress(e);
|
61
76
|
}, 200);
|
62
77
|
this.lastTap = currentTime;
|
63
78
|
}
|
64
79
|
}
|
65
80
|
onLongTap(e) {
|
66
|
-
|
67
|
-
|
81
|
+
if (!e.propagationEnabled) {
|
82
|
+
return;
|
83
|
+
}
|
84
|
+
this.props.onLongTap && this.props.onLongTap(e);
|
68
85
|
setTimeout(() => {
|
69
|
-
var _this$props$target2;
|
70
|
-
(_this$props$target2 = this.props.target) === null || _this$props$target2 === void 0 ? void 0 : _this$props$target2.invokeEventCallback('onLongtap', [
|
86
|
+
var _this$props$target2, _this$parent3;
|
87
|
+
(_this$props$target2 = this.props.target) === null || _this$props$target2 === void 0 ? void 0 : _this$props$target2.invokeEventCallback('onLongtap', [e, this.props.target]);
|
88
|
+
(_this$parent3 = this.parent) === null || _this$parent3 === void 0 ? void 0 : _this$parent3.onPressOut(e);
|
71
89
|
}, 200);
|
72
90
|
this.isLongTap = true;
|
73
91
|
}
|
74
92
|
onPressOut(e) {
|
75
|
-
|
76
|
-
|
93
|
+
if (!e.propagationEnabled) {
|
94
|
+
return;
|
95
|
+
}
|
96
|
+
this.props.onTouchEnd && this.props.onTouchEnd(e);
|
77
97
|
setTimeout(() => {
|
78
|
-
var _this$props$target3;
|
79
|
-
(_this$props$target3 = this.props.target) === null || _this$props$target3 === void 0 ? void 0 : _this$props$target3.invokeEventCallback('onTouchend', [
|
98
|
+
var _this$props$target3, _this$parent4;
|
99
|
+
(_this$props$target3 = this.props.target) === null || _this$props$target3 === void 0 ? void 0 : _this$props$target3.invokeEventCallback('onTouchend', [e, this.props.target]);
|
100
|
+
(_this$parent4 = this.parent) === null || _this$parent4 === void 0 ? void 0 : _this$parent4.onPressOut(e);
|
80
101
|
}, 200);
|
81
102
|
this.isLongTap = false;
|
82
103
|
}
|
104
|
+
setParent(parent) {
|
105
|
+
if (parent && this.parent !== parent) {
|
106
|
+
this.parent = parent;
|
107
|
+
}
|
108
|
+
}
|
83
109
|
render() {
|
84
110
|
const target = this.props.target;
|
85
111
|
if (target !== null && target !== void 0 && target.props.onTap || target !== null && target !== void 0 && target.props.onLongtap || target !== null && target !== void 0 && target.props.onDoubletap || this.props.onTap || this.props.onLongTap || this.props.onDoubleTap) {
|
86
|
-
return /*#__PURE__*/React.createElement(
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
112
|
+
return /*#__PURE__*/React.createElement(TappableContext.Consumer, null, parent => {
|
113
|
+
this.setParent(parent);
|
114
|
+
return /*#__PURE__*/React.createElement(TappableContext.Provider, {
|
115
|
+
value: this
|
116
|
+
}, /*#__PURE__*/React.createElement(TouchableRipple, _extends({
|
117
|
+
rippleColor: this.props.rippleColor,
|
118
|
+
borderless: true
|
119
|
+
}, Platform.OS === 'android' || Platform.OS === 'web' ? {
|
120
|
+
accessibilityLabel: this.props.testID,
|
121
|
+
testID: this.props.testID
|
122
|
+
} : {
|
123
|
+
// accessible: false,
|
124
|
+
testID: this.props.testID
|
125
|
+
}, {
|
126
|
+
disabled: get(target === null || target === void 0 ? void 0 : target.proxy, 'disabled'),
|
127
|
+
style: this.props.styles,
|
128
|
+
onPress: e => {
|
129
|
+
var _e$target;
|
130
|
+
if ((e === null || e === void 0 || (_e$target = e.target) === null || _e$target === void 0 ? void 0 : _e$target.tagName) === 'INPUT') {
|
131
|
+
return;
|
132
|
+
}
|
133
|
+
this.onPress(new SyntheticEvent());
|
134
|
+
},
|
135
|
+
onLongPress: e => this.onLongTap(new SyntheticEvent()),
|
136
|
+
onPressOut: e => this.onPressOut(new SyntheticEvent())
|
137
|
+
}), /*#__PURE__*/React.createElement(React.Fragment, null, this.props.children)));
|
138
|
+
});
|
102
139
|
}
|
103
140
|
return /*#__PURE__*/React.createElement(View, {
|
104
141
|
style: this.props.styles
|
105
142
|
}, this.props.children);
|
106
143
|
}
|
107
144
|
}
|
108
|
-
_defineProperty(Tappable, "CURRENT_EVENT", null);
|
109
145
|
//# sourceMappingURL=tappable.component.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","Platform","View","get","injector","TouchableRipple","TapEvent","constructor","_defineProperty","stopPropagation","propagationEnabled","Tappable","Component","props","onPress","e","_this$props$target","lastPress","Date","now","target","CURRENT_EVENT","setTimeout","syntheticEvent","onTouchStart","invokeEventCallback","currentTime","tapDelta","lastTap","isLongTap","_injector$FOCUSED_ELE","FOCUSED_ELEMENT","blur","lastDoubleTap","onDoubleTap","onTap","onLongTap","_this$props$target2","onPressOut","onTouchEnd","_this$props$target3","render","onLongtap","onDoubletap","createElement","_extends","rippleColor","borderless","OS","accessibilityLabel","testID","disabled","proxy","style","styles","onLongPress","Fragment","children"],"sources":["tappable.component.tsx"],"sourcesContent":["import { BaseComponent } from \"@wavemaker/app-rn-runtime/core/base.component\";\nimport React from \"react\";\nimport { GestureResponderEvent, Platform, View } from \"react-native\";\nimport { get } from \"lodash\";\nimport injector from \"./injector\";\nimport { TouchableRipple } from \"react-native-paper\";\nimport ThemeVariables from \"../styles/theme.variables\";\n\n\ninterface TappableProps {\n testID?: string;\n children?: any\n styles?: any;\n target?: BaseComponent<any, any, any>;\n onTap?: (e: any) => void;\n onLongTap?: (e: any) => void; \n onDoubleTap?: (e: any) => void;\n onTouchStart? : (e: any) => void;\n onTouchEnd? : (e: any) => void;\n rippleColor?: string;\n}\n\nexport class TapEvent {\n propagationEnabled = true;\n \n constructor() {\n\n }\n\n stopPropagation() {\n this.propagationEnabled = false;\n }\n}\n\nexport class Tappable extends React.Component<TappableProps, any> {\n private lastPress = 0;\n private lastTap = 0;\n private lastDoubleTap = 0;\n private isLongTap = false;\n\n static CURRENT_EVENT: TapEvent = null as any;\n \n constructor(props: any) {\n super(props);\n }\n\n onPress(e?: GestureResponderEvent): void { \n this.lastPress = Date.now();\n const target = this.props.target;\n if (!Tappable.CURRENT_EVENT) {\n Tappable.CURRENT_EVENT = new TapEvent();\n setTimeout(() => {\n Tappable.CURRENT_EVENT = null as any;\n }, 10);\n }\n const syntheticEvent = Tappable.CURRENT_EVENT;\n this.props.onTouchStart && this.props.onTouchStart(e || syntheticEvent);\n this.props.target?.invokeEventCallback('onTouchstart', [syntheticEvent, this.props.target]);\n const currentTime = Date.now();\n const tapDelta = currentTime - this.lastTap;\n if (this.isLongTap) {\n this.isLongTap = false;\n return;\n }\n if (syntheticEvent.propagationEnabled) {\n injector.FOCUSED_ELEMENT.get()?.blur();\n if(this.lastDoubleTap !== this.lastTap \n && tapDelta < 500) {\n this.props.onDoubleTap && this.props.onDoubleTap(e);\n setTimeout(() => {\n target?.invokeEventCallback('onDoubletap', [syntheticEvent, target]);\n }, 200);\n this.lastDoubleTap = currentTime;\n }\n setTimeout(() => {\n if (this.props.onTap) {\n this.props.onTap(e || syntheticEvent);\n } else {\n target?.invokeEventCallback('onTap', [syntheticEvent, target]);\n }\n }, 200);\n this.lastTap = currentTime;\n }\n }\n\n onLongTap(e?: GestureResponderEvent): void {\n const syntheticEvent = Tappable.CURRENT_EVENT;\n this.props.onLongTap && this.props.onLongTap(e || syntheticEvent);\n setTimeout(() => {\n this.props.target?.invokeEventCallback('onLongtap', [syntheticEvent, this.props.target]);\n }, 200);\n this.isLongTap = true;\n }\n \n onPressOut(e?: GestureResponderEvent): void {\n const syntheticEvent = Tappable.CURRENT_EVENT;\n this.props.onTouchEnd && this.props.onTouchEnd(e || syntheticEvent);\n setTimeout(() => {\n this.props.target?.invokeEventCallback('onTouchend', [syntheticEvent, this.props.target]);\n }, 200);\n this.isLongTap = false;\n }\n\n render() {\n const target = this.props.target;\n if (target?.props.onTap \n || target?.props.onLongtap \n || target?.props.onDoubletap \n || this.props.onTap \n || this.props.onLongTap \n || this.props.onDoubleTap) {\n return (\n <TouchableRipple\n rippleColor={this.props.rippleColor}\n borderless = {true}\n {...(Platform.OS === 'android' || Platform.OS === 'web') ? {\n accessibilityLabel: this.props.testID,\n testID: this.props.testID\n }: {\n // accessible: false,\n testID: this.props.testID\n }} \n disabled={get(target?.proxy, 'disabled')}\n style={this.props.styles}\n onPress={() => this.onPress()}\n onLongPress={() => this.onLongTap()}\n onPressOut={() => this.onPressOut()}>\n <>{this.props.children}</>\n </TouchableRipple>\n );\n }\n return (<View style={this.props.styles}>{this.props.children}</View>);\n }\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["React","Platform","View","get","injector","TouchableRipple","TappableContext","createContext","SyntheticEvent","constructor","_defineProperty","stopPropagation","propagationEnabled","Tappable","Component","props","triggerTap","_this$parent","e","arguments","length","undefined","target","onTap","invokeEventCallback","parent","onPress","_this$props$target","lastPress","Date","now","onTouchStart","currentTime","tapDelta","lastTap","isLongTap","_injector$FOCUSED_ELE","FOCUSED_ELEMENT","blur","lastDoubleTap","onDoubleTap","setTimeout","_this$parent2","onLongTap","_this$props$target2","_this$parent3","onPressOut","onTouchEnd","_this$props$target3","_this$parent4","setParent","render","onLongtap","onDoubletap","createElement","Consumer","Provider","value","_extends","rippleColor","borderless","OS","accessibilityLabel","testID","disabled","proxy","style","styles","_e$target","tagName","onLongPress","Fragment","children"],"sources":["tappable.component.tsx"],"sourcesContent":["import { BaseComponent } from \"@wavemaker/app-rn-runtime/core/base.component\";\nimport React from \"react\";\nimport { GestureResponderEvent, Platform, View } from \"react-native\";\nimport { get } from \"lodash\";\nimport injector from \"./injector\";\nimport { TouchableRipple } from \"react-native-paper\";\nimport ThemeVariables from \"../styles/theme.variables\";\nimport { isDefined } from \"./utils\";\n\nexport const TappableContext = React.createContext<Tappable>(null as any);\n\ninterface TappableProps {\n testID?: string;\n children?: any\n styles?: any;\n target?: BaseComponent<any, any, any>;\n onTap?: (e: any) => void;\n onLongTap?: (e: any) => void; \n onDoubleTap?: (e: any) => void;\n onTouchStart? : (e: any) => void;\n onTouchEnd? : (e: any) => void;\n rippleColor?: string;\n}\n\nexport class SyntheticEvent {\n // as the event is being used in onPress, onPressOut and onLongTap the TapEvent is renamed to SyntheticEvent\n propagationEnabled = true;\n \n constructor() {\n\n }\n\n stopPropagation() {\n this.propagationEnabled = false;\n }\n}\n\nexport class Tappable extends React.Component<TappableProps, any> {\n private lastPress = 0;\n private lastTap = 0;\n private lastDoubleTap = 0;\n private isLongTap = false;\n private parent:Tappable = null as any;\n \n constructor(props: any) {\n super(props);\n }\n\n async triggerTap(e = new SyntheticEvent()) {\n if (!e.propagationEnabled) {\n return;\n }\n const target = this.props.target;\n if (this.props.onTap) {\n await this.props.onTap(e);\n } else {\n await target?.invokeEventCallback('onTap', [e, target]);\n }\n this.parent?.triggerTap(e);\n }\n\n onPress(e: SyntheticEvent): void { \n this.lastPress = Date.now();\n const target = this.props.target;\n this.props.onTouchStart && this.props.onTouchStart(e);\n this.props.target?.invokeEventCallback('onTouchstart', [e, this.props.target]);\n const currentTime = Date.now();\n const tapDelta = currentTime - this.lastTap;\n if (this.isLongTap) {\n this.isLongTap = false;\n return;\n }\n if (e.propagationEnabled) {\n injector.FOCUSED_ELEMENT.get()?.blur();\n if(this.lastDoubleTap !== this.lastTap \n && tapDelta < 500) {\n this.props.onDoubleTap && this.props.onDoubleTap(e);\n setTimeout(() => {\n target?.invokeEventCallback('onDoubletap', [e, target]);\n }, 200);\n this.lastDoubleTap = currentTime;\n }\n setTimeout(() => {\n if (!e.propagationEnabled) {\n return;\n }\n if (this.props.onTap) {\n this.props.onTap(e);\n } else {\n target?.invokeEventCallback('onTap', [e, target]);\n }\n this.parent?.onPress(e);\n }, 200);\n this.lastTap = currentTime;\n }\n }\n\n onLongTap(e: SyntheticEvent): void {\n if(!e.propagationEnabled){\n return;\n }\n this.props.onLongTap && this.props.onLongTap(e);\n setTimeout(() => {\n this.props.target?.invokeEventCallback('onLongtap', [e, this.props.target]);\n this.parent?.onPressOut(e);\n }, 200);\n this.isLongTap = true;\n }\n \n onPressOut(e: SyntheticEvent): void {\n if(!e.propagationEnabled){\n return;\n } \n this.props.onTouchEnd && this.props.onTouchEnd(e);\n setTimeout(() => {\n this.props.target?.invokeEventCallback('onTouchend', [e, this.props.target]);\n this.parent?.onPressOut(e);\n }, 200);\n this.isLongTap = false;\n }\n private setParent(parent: Tappable) {\n if (parent && this.parent !== parent) {\n this.parent = parent;\n }\n }\n\n render() {\n const target = this.props.target;\n if (target?.props.onTap \n || target?.props.onLongtap \n || target?.props.onDoubletap \n || this.props.onTap \n || this.props.onLongTap \n || this.props.onDoubleTap) {\n return (\n <TappableContext.Consumer>{(parent) => {\n this.setParent(parent);\n return( <TappableContext.Provider value={this}>\n <TouchableRipple\n rippleColor={this.props.rippleColor}\n borderless = {true}\n {...(Platform.OS === 'android' || Platform.OS === 'web') ? {\n accessibilityLabel: this.props.testID,\n testID: this.props.testID\n }: {\n // accessible: false,\n testID: this.props.testID\n }} \n disabled={get(target?.proxy, 'disabled')}\n style={this.props.styles}\n onPress={(e?: GestureResponderEvent) => {\n if ((e?.target as any)?.tagName === 'INPUT') {\n return;\n }\n this.onPress(new SyntheticEvent())\n }}\n onLongPress={(e?: GestureResponderEvent) => this.onLongTap(new SyntheticEvent())}\n onPressOut={(e?: GestureResponderEvent) => this.onPressOut(new SyntheticEvent())}>\n <>{this.props.children}</>\n </TouchableRipple>\n </TappableContext.Provider>)}}</TappableContext.Consumer>\n \n );\n }\n return (<View style={this.props.styles}>{this.props.children}</View>);\n }\n}\n"],"mappings":"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"}
|
app-rn-runtime/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@wavemaker/app-rn-runtime",
|
3
|
-
"version": "11.7.0-rc.
|
3
|
+
"version": "11.7.0-rc.5570",
|
4
4
|
"description": "''",
|
5
5
|
"main": "index",
|
6
6
|
"module": "index",
|
@@ -49,7 +49,7 @@
|
|
49
49
|
"@react-navigation/native": "6.1.7",
|
50
50
|
"@react-navigation/stack": "^6.3.7",
|
51
51
|
"@types/lodash-es": "^4.17.6",
|
52
|
-
"@wavemaker/variables": "11.7.0-rc.
|
52
|
+
"@wavemaker/variables": "11.7.0-rc.5570",
|
53
53
|
"axios": "^1.4.0",
|
54
54
|
"color": "4.2.3",
|
55
55
|
"cross-env": "^5.2.0",
|
@@ -131,7 +131,7 @@
|
|
131
131
|
"typescript": "^5.1.3",
|
132
132
|
"victory-native": "36.6.11",
|
133
133
|
"yargs": "^16.2.0",
|
134
|
-
"@wavemaker/variables": "11.7.0-rc.
|
134
|
+
"@wavemaker/variables": "11.7.0-rc.5570"
|
135
135
|
},
|
136
136
|
"jest": {
|
137
137
|
"preset": "react-native",
|
@@ -22,11 +22,6 @@ export default class BasePartial extends BaseFragment {
|
|
22
22
|
onFragmentReady() {
|
23
23
|
return super.onFragmentReady().then(() => {
|
24
24
|
this.onContentReady();
|
25
|
-
const parent = this.props.parent;
|
26
|
-
if (parent) {
|
27
|
-
parent.Widgets = this.Widgets;
|
28
|
-
parent.Variables = this.fragmentVariables;
|
29
|
-
}
|
30
25
|
this.invokeEventCallback('onLoad', [this]);
|
31
26
|
});
|
32
27
|
}
|
@@ -48,6 +43,16 @@ export default class BasePartial extends BaseFragment {
|
|
48
43
|
delete parent.Variables;
|
49
44
|
}
|
50
45
|
}
|
46
|
+
componentDidUpdate(prevProps, prevState, snapshot) {
|
47
|
+
super.componentDidUpdate(prevProps, prevState, snapshot);
|
48
|
+
const parent = this.props.parent;
|
49
|
+
if (parent) {
|
50
|
+
parent.pageParams = this.pageParams;
|
51
|
+
parent.partialParams = this.pageParams;
|
52
|
+
parent.Widgets = this.Widgets;
|
53
|
+
parent.Variables = this.fragmentVariables;
|
54
|
+
}
|
55
|
+
}
|
51
56
|
renderWidget(props) {
|
52
57
|
return this.renderPartial();
|
53
58
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["WmPartial","BaseFragment","BasePartial","constructor","props","_defineProperty","isPartOfPrefab","prefab","App","appConfig","app","Actions","Object","assign","Variables","serviceDefinitions","Prefab","baseUrl","watcher","parentWatcher","create","onFragmentReady","then","onContentReady","
|
1
|
+
{"version":3,"names":["WmPartial","BaseFragment","BasePartial","constructor","props","_defineProperty","isPartOfPrefab","prefab","App","appConfig","app","Actions","Object","assign","Variables","serviceDefinitions","Prefab","baseUrl","watcher","parentWatcher","create","onFragmentReady","then","onContentReady","invokeEventCallback","prefabname","_this$Prefab","onComponentInit","w","targetWidget","onComponentDestroy","parent","Widgets","componentDidUpdate","prevProps","prevState","snapshot","pageParams","partialParams","fragmentVariables","renderWidget","renderPartial"],"sources":["base-partial.component.tsx"],"sourcesContent":["import { BaseComponent } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmPartial from '@wavemaker/app-rn-runtime/components/page/partial/partial.component';\nimport BaseFragment, { FragmentProps, FragmentState } from './base-fragment.component';\nimport { ReactNode } from 'react';\nimport BasePrefab from './base-prefab.component';\nimport { Watcher } from './watcher';\nexport interface PartialProps extends FragmentProps {\n serviceDefinitions: any;\n prefab: any;\n parent: any;\n onLoad?: Function;\n parentWatcher: Watcher;\n}\n\nexport interface PartialState extends FragmentState<PartialProps> {}\n\nexport default abstract class BasePartial extends BaseFragment<PartialProps, PartialState> {\n private partialParams: any = {};\n Prefab: BasePrefab = null as any;\n\n constructor(props: PartialProps) {\n super(props);\n const isPartOfPrefab = !!this.props.prefab;\n this.App = this.appConfig.app;\n this.Actions = Object.assign({}, isPartOfPrefab ? {} : this.App.Actions);\n this.Variables = Object.assign({}, isPartOfPrefab ? {} : this.App.Variables);\n this.serviceDefinitions = this.props.serviceDefinitions;\n if (isPartOfPrefab) {\n this.Prefab = this.props.prefab;\n this.baseUrl =this.Prefab.baseUrl;\n }\n this.watcher = props.parentWatcher.create();\n }\n\n onFragmentReady() {\n return super.onFragmentReady().then(() => {\n this.onContentReady();\n this.invokeEventCallback('onLoad', [this]);\n });\n }\n\n get prefabname() {\n return this.Prefab?.props.prefabname;\n }\n\n onComponentInit(w: BaseComponent<any, any, any>) {\n super.onComponentInit(w);\n if (w instanceof WmPartial) {\n this.targetWidget = w;\n }\n }\n\n onComponentDestroy(w: BaseComponent<any, any, any>): void {\n super.onComponentDestroy(w);\n const parent: any = this.props.parent;\n if (parent) {\n delete (parent as any).Widgets;\n delete (parent as any).Variables;\n }\n }\n\n componentDidUpdate(prevProps: Readonly<PartialProps>, prevState: Readonly<PartialState>, snapshot?: any): void {\n super.componentDidUpdate(prevProps, prevState, snapshot);\n const parent: any = this.props.parent;\n if (parent) {\n parent.pageParams = (this as any).pageParams;\n parent.partialParams = (this as any).pageParams;\n parent.Widgets = this.Widgets;\n parent.Variables = this.fragmentVariables;\n }\n }\n\n abstract renderPartial(): ReactNode;\n\n renderWidget(props: PartialProps) {\n return this.renderPartial();\n }\n}\n"],"mappings":";;;AACA,OAAOA,SAAS,MAAM,qEAAqE;AAC3F,OAAOC,YAAY,MAAwC,2BAA2B;AActF,eAAe,MAAeC,WAAW,SAASD,YAAY,CAA6B;EAIvFE,WAAWA,CAACC,KAAmB,EAAE;IAC7B,KAAK,CAACA,KAAK,CAAC;IAACC,eAAA,wBAJY,CAAC,CAAC;IAAAA,eAAA,iBACV,IAAI;IAIrB,MAAMC,cAAc,GAAG,CAAC,CAAC,IAAI,CAACF,KAAK,CAACG,MAAM;IAC1C,IAAI,CAACC,GAAG,GAAG,IAAI,CAACC,SAAS,CAACC,GAAG;IAC7B,IAAI,CAACC,OAAO,GAAGC,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAEP,cAAc,GAAG,CAAC,CAAC,GAAG,IAAI,CAACE,GAAG,CAACG,OAAO,CAAC;IACxE,IAAI,CAACG,SAAS,GAAGF,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAEP,cAAc,GAAG,CAAC,CAAC,GAAG,IAAI,CAACE,GAAG,CAACM,SAAS,CAAC;IAC5E,IAAI,CAACC,kBAAkB,GAAG,IAAI,CAACX,KAAK,CAACW,kBAAkB;IACvD,IAAIT,cAAc,EAAE;MAClB,IAAI,CAACU,MAAM,GAAG,IAAI,CAACZ,KAAK,CAACG,MAAM;MAC/B,IAAI,CAACU,OAAO,GAAE,IAAI,CAACD,MAAM,CAACC,OAAO;IACnC;IACA,IAAI,CAACC,OAAO,GAAGd,KAAK,CAACe,aAAa,CAACC,MAAM,CAAC,CAAC;EAC/C;EAEAC,eAAeA,CAAA,EAAG;IAChB,OAAO,KAAK,CAACA,eAAe,CAAC,CAAC,CAACC,IAAI,CAAC,MAAM;MACxC,IAAI,CAACC,cAAc,CAAC,CAAC;MACrB,IAAI,CAACC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC,CAAC;EACJ;EAEA,IAAIC,UAAUA,CAAA,EAAG;IAAA,IAAAC,YAAA;IACf,QAAAA,YAAA,GAAO,IAAI,CAACV,MAAM,cAAAU,YAAA,uBAAXA,YAAA,CAAatB,KAAK,CAACqB,UAAU;EACtC;EAEAE,eAAeA,CAACC,CAA+B,EAAE;IAC/C,KAAK,CAACD,eAAe,CAACC,CAAC,CAAC;IACxB,IAAIA,CAAC,YAAY5B,SAAS,EAAE;MAC1B,IAAI,CAAC6B,YAAY,GAAGD,CAAC;IACvB;EACF;EAEAE,kBAAkBA,CAACF,CAA+B,EAAQ;IACxD,KAAK,CAACE,kBAAkB,CAACF,CAAC,CAAC;IAC3B,MAAMG,MAAW,GAAG,IAAI,CAAC3B,KAAK,CAAC2B,MAAM;IACrC,IAAIA,MAAM,EAAE;MACV,OAAQA,MAAM,CAASC,OAAO;MAC9B,OAAQD,MAAM,CAASjB,SAAS;IAClC;EACF;EAEAmB,kBAAkBA,CAACC,SAAiC,EAAEC,SAAiC,EAAEC,QAAc,EAAQ;IAC7G,KAAK,CAACH,kBAAkB,CAACC,SAAS,EAAEC,SAAS,EAAEC,QAAQ,CAAC;IACxD,MAAML,MAAW,GAAG,IAAI,CAAC3B,KAAK,CAAC2B,MAAM;IACrC,IAAIA,MAAM,EAAE;MACVA,MAAM,CAACM,UAAU,GAAI,IAAI,CAASA,UAAU;MAC5CN,MAAM,CAACO,aAAa,GAAK,IAAI,CAASD,UAAU;MAChDN,MAAM,CAACC,OAAO,GAAG,IAAI,CAACA,OAAO;MAC7BD,MAAM,CAACjB,SAAS,GAAG,IAAI,CAACyB,iBAAiB;IAC3C;EACF;EAIAC,YAAYA,CAACpC,KAAmB,EAAE;IAChC,OAAO,IAAI,CAACqC,aAAa,CAAC,CAAC;EAC7B;AACJ"}
|