@plusscommunities/pluss-webview-app 3.0.0 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/module/components/WidgetLarge.js +92 -12
- package/dist/module/components/WidgetLarge.js.map +1 -1
- package/dist/module/components/WidgetSmall.js +92 -12
- package/dist/module/components/WidgetSmall.js.map +1 -1
- package/dist/module/core.config.js +17 -0
- package/dist/module/core.config.js.map +1 -0
- package/dist/module/feature.config.js +9 -1
- package/dist/module/feature.config.js.map +1 -1
- package/dist/module/index.js +3 -1
- package/dist/module/index.js.map +1 -1
- package/dist/module/screens/WebPage.js +0 -3
- package/dist/module/screens/WebPage.js.map +1 -1
- package/dist/module/screens/WebViewPage.js +51 -0
- package/dist/module/screens/WebViewPage.js.map +1 -0
- package/package.json +5 -3
- package/src/components/WidgetLarge.js +77 -3
- package/src/components/WidgetSmall.js +77 -3
- package/src/core.config.js +5 -0
- package/src/feature.config.js +11 -1
- package/src/index.js +2 -1
- package/src/screens/WebViewPage.js +42 -0
|
@@ -1,24 +1,80 @@
|
|
|
1
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
-
|
|
1
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
3
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
3
4
|
import React, { Component } from 'react';
|
|
4
|
-
import { View, StyleSheet } from 'react-native';
|
|
5
|
+
import { View, Text, StyleSheet } from 'react-native';
|
|
5
6
|
import { WebView } from 'react-native-webview';
|
|
6
|
-
|
|
7
|
+
import { connect } from 'react-redux';
|
|
8
|
+
import _ from 'lodash';
|
|
9
|
+
import { Colours, Components } from '../core.config';
|
|
10
|
+
import { Services } from '../feature.config';
|
|
7
11
|
class WidgetLarge extends Component {
|
|
8
12
|
constructor(props) {
|
|
9
13
|
super(props);
|
|
10
|
-
|
|
11
14
|
_defineProperty(this, "onLoadStart", () => {});
|
|
12
|
-
|
|
13
15
|
_defineProperty(this, "onLoadEnd", () => {});
|
|
14
|
-
|
|
16
|
+
_defineProperty(this, "onGoToFullpage", () => {
|
|
17
|
+
const {
|
|
18
|
+
options
|
|
19
|
+
} = this.props;
|
|
20
|
+
Services.navigation.navigate('webViewPage', {
|
|
21
|
+
url: options['webUrl'],
|
|
22
|
+
headerTitle: this.getTitle()
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
_defineProperty(this, "getTitle", () => {
|
|
26
|
+
const {
|
|
27
|
+
options
|
|
28
|
+
} = this.props;
|
|
29
|
+
if (options && !_.isEmpty(options.Title)) return options.Title;
|
|
30
|
+
return 'Web View';
|
|
31
|
+
});
|
|
15
32
|
this.state = {};
|
|
16
33
|
}
|
|
17
|
-
|
|
18
34
|
render() {
|
|
19
35
|
const {
|
|
20
|
-
options
|
|
36
|
+
options,
|
|
37
|
+
colourBrandingMain
|
|
21
38
|
} = this.props;
|
|
39
|
+
if (options.isWebViewSeparatePage) {
|
|
40
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
41
|
+
style: [styles.buttonContainer, {
|
|
42
|
+
backgroundColor: Colours.hexToRGBAstring(colourBrandingMain, 0.2)
|
|
43
|
+
}]
|
|
44
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
45
|
+
style: styles.upperContainer
|
|
46
|
+
}, /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(Text, {
|
|
47
|
+
style: [styles.title, {
|
|
48
|
+
color: colourBrandingMain
|
|
49
|
+
}]
|
|
50
|
+
}, this.getTitle()))), /*#__PURE__*/React.createElement(Components.InlineButton, {
|
|
51
|
+
onPress: this.onGoToFullpage,
|
|
52
|
+
color: colourBrandingMain,
|
|
53
|
+
style: styles.button,
|
|
54
|
+
large: true
|
|
55
|
+
}, options.buttonText));
|
|
56
|
+
// return (
|
|
57
|
+
// <View style={styles.sectionContainer}>
|
|
58
|
+
// <View style={styles.sectionPadding}>
|
|
59
|
+
// <View style={styles.sectionHeading}>
|
|
60
|
+
// <Text style={styles.sectionTitle}>{this.getTitle()}</Text>
|
|
61
|
+
// </View>
|
|
62
|
+
// </View>
|
|
63
|
+
// <View style={styles.buttonContainer}>
|
|
64
|
+
// <Components.InlineButton
|
|
65
|
+
// onPress={this.onGoToFullpage}
|
|
66
|
+
// color={colourBrandingMain}
|
|
67
|
+
// touchableStyle={{ paddingTop: 6 }}
|
|
68
|
+
// textStyle={{ color: '#fff' }}
|
|
69
|
+
// large
|
|
70
|
+
// >
|
|
71
|
+
// {options.buttonText}
|
|
72
|
+
// </Components.InlineButton>
|
|
73
|
+
// </View>
|
|
74
|
+
// </View>
|
|
75
|
+
// );
|
|
76
|
+
}
|
|
77
|
+
|
|
22
78
|
return /*#__PURE__*/React.createElement(View, {
|
|
23
79
|
style: styles.container
|
|
24
80
|
}, this.props.ListHeaderComponent, /*#__PURE__*/React.createElement(WebView, {
|
|
@@ -30,9 +86,7 @@ class WidgetLarge extends Component {
|
|
|
30
86
|
onLoadEnd: this.onLoadEnd
|
|
31
87
|
}));
|
|
32
88
|
}
|
|
33
|
-
|
|
34
89
|
}
|
|
35
|
-
|
|
36
90
|
const styles = StyleSheet.create({
|
|
37
91
|
container: {
|
|
38
92
|
flex: 1
|
|
@@ -41,7 +95,33 @@ const styles = StyleSheet.create({
|
|
|
41
95
|
flex: 1,
|
|
42
96
|
alignItems: 'center',
|
|
43
97
|
justifyContent: 'center'
|
|
98
|
+
},
|
|
99
|
+
buttonContainer: {
|
|
100
|
+
width: '100%',
|
|
101
|
+
alignItems: 'center',
|
|
102
|
+
justifyContent: 'center',
|
|
103
|
+
padding: 16
|
|
104
|
+
},
|
|
105
|
+
upperContainer: {
|
|
106
|
+
flexDirection: 'row',
|
|
107
|
+
alignItems: 'center',
|
|
108
|
+
justifyContent: 'space-between'
|
|
109
|
+
},
|
|
110
|
+
title: {
|
|
111
|
+
fontFamily: 'sf-semibold',
|
|
112
|
+
fontSize: 16
|
|
113
|
+
},
|
|
114
|
+
button: {
|
|
115
|
+
paddingHorizontal: 40,
|
|
116
|
+
marginTop: 16
|
|
44
117
|
}
|
|
45
118
|
});
|
|
46
|
-
|
|
119
|
+
const mapStateToProps = state => {
|
|
120
|
+
return {
|
|
121
|
+
colourBrandingMain: Colours.getMainBrandingColourFromState(state)
|
|
122
|
+
};
|
|
123
|
+
};
|
|
124
|
+
export default connect(mapStateToProps, {}, null, {
|
|
125
|
+
forwardRef: true
|
|
126
|
+
})(WidgetLarge);
|
|
47
127
|
//# sourceMappingURL=WidgetLarge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Component","View","StyleSheet","WebView","WidgetLarge","constructor","props","state","render","
|
|
1
|
+
{"version":3,"names":["React","Component","View","Text","StyleSheet","WebView","connect","_","Colours","Components","Services","WidgetLarge","constructor","props","_defineProperty","options","navigation","navigate","url","headerTitle","getTitle","isEmpty","Title","state","render","colourBrandingMain","isWebViewSeparatePage","createElement","style","styles","buttonContainer","backgroundColor","hexToRGBAstring","upperContainer","title","color","InlineButton","onPress","onGoToFullpage","button","large","buttonText","container","ListHeaderComponent","source","uri","webContainer","onLoadStart","onLoadEnd","create","flex","alignItems","justifyContent","width","padding","flexDirection","fontFamily","fontSize","paddingHorizontal","marginTop","mapStateToProps","getMainBrandingColourFromState","forwardRef"],"sources":["WidgetLarge.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { View, Text, StyleSheet } from 'react-native';\nimport { WebView } from 'react-native-webview';\nimport { connect } from 'react-redux';\nimport _ from 'lodash';\nimport { Colours, Components } from '../core.config';\nimport { Services } from '../feature.config';\n\nclass WidgetLarge extends Component {\n constructor(props) {\n super(props);\n this.state = {};\n }\n\n onLoadStart = () => {};\n onLoadEnd = () => {};\n\n onGoToFullpage = () => {\n const { options } = this.props;\n Services.navigation.navigate('webViewPage', { url: options['webUrl'], headerTitle: this.getTitle() });\n };\n\n getTitle = () => {\n const { options } = this.props;\n if (options && !_.isEmpty(options.Title)) return options.Title;\n return 'Web View';\n };\n\n render() {\n const { options, colourBrandingMain } = this.props;\n if (options.isWebViewSeparatePage) {\n return (\n <View style={[styles.buttonContainer, { backgroundColor: Colours.hexToRGBAstring(colourBrandingMain, 0.2) }]}>\n <View style={styles.upperContainer}>\n <View>\n <Text style={[styles.title, { color: colourBrandingMain }]}>{this.getTitle()}</Text>\n </View>\n </View>\n <Components.InlineButton onPress={this.onGoToFullpage} color={colourBrandingMain} style={styles.button} large>\n {options.buttonText}\n </Components.InlineButton>\n </View>\n );\n // return (\n // <View style={styles.sectionContainer}>\n // <View style={styles.sectionPadding}>\n // <View style={styles.sectionHeading}>\n // <Text style={styles.sectionTitle}>{this.getTitle()}</Text>\n // </View>\n // </View>\n // <View style={styles.buttonContainer}>\n // <Components.InlineButton\n // onPress={this.onGoToFullpage}\n // color={colourBrandingMain}\n // touchableStyle={{ paddingTop: 6 }}\n // textStyle={{ color: '#fff' }}\n // large\n // >\n // {options.buttonText}\n // </Components.InlineButton>\n // </View>\n // </View>\n // );\n }\n return (\n <View style={styles.container}>\n {this.props.ListHeaderComponent}\n <WebView\n source={{ uri: options['webUrl'] }}\n style={styles.webContainer}\n onLoadStart={this.onLoadStart}\n onLoadEnd={this.onLoadEnd}\n />\n </View>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n webContainer: {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center',\n },\n buttonContainer: {\n width: '100%',\n alignItems: 'center',\n justifyContent: 'center',\n padding: 16,\n },\n upperContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n },\n title: {\n fontFamily: 'sf-semibold',\n fontSize: 16,\n },\n button: {\n paddingHorizontal: 40,\n marginTop: 16,\n },\n});\n\nconst mapStateToProps = state => {\n return {\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n };\n};\n\nexport default connect(mapStateToProps, {}, null, { forwardRef: true })(WidgetLarge);\n"],"mappings":"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"}
|
|
@@ -1,24 +1,80 @@
|
|
|
1
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
-
|
|
1
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
3
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
3
4
|
import React, { Component } from 'react';
|
|
4
|
-
import { View, StyleSheet } from 'react-native';
|
|
5
|
+
import { View, Text, StyleSheet } from 'react-native';
|
|
5
6
|
import { WebView } from 'react-native-webview';
|
|
6
|
-
|
|
7
|
+
import { connect } from 'react-redux';
|
|
8
|
+
import _ from 'lodash';
|
|
9
|
+
import { Colours, Components } from '../core.config';
|
|
10
|
+
import { Services } from '../feature.config';
|
|
7
11
|
class WidgetSmall extends Component {
|
|
8
12
|
constructor(props) {
|
|
9
13
|
super(props);
|
|
10
|
-
|
|
11
14
|
_defineProperty(this, "onLoadStart", () => {});
|
|
12
|
-
|
|
13
15
|
_defineProperty(this, "onLoadEnd", () => {});
|
|
14
|
-
|
|
16
|
+
_defineProperty(this, "onGoToFullpage", () => {
|
|
17
|
+
const {
|
|
18
|
+
options
|
|
19
|
+
} = this.props;
|
|
20
|
+
Services.navigation.navigate('webViewPage', {
|
|
21
|
+
url: options['webUrl'],
|
|
22
|
+
headerTitle: this.getTitle()
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
_defineProperty(this, "getTitle", () => {
|
|
26
|
+
const {
|
|
27
|
+
options
|
|
28
|
+
} = this.props;
|
|
29
|
+
if (options && !_.isEmpty(options.Title)) return options.Title;
|
|
30
|
+
return 'Web View';
|
|
31
|
+
});
|
|
15
32
|
this.state = {};
|
|
16
33
|
}
|
|
17
|
-
|
|
18
34
|
render() {
|
|
19
35
|
const {
|
|
20
|
-
options
|
|
36
|
+
options,
|
|
37
|
+
colourBrandingMain
|
|
21
38
|
} = this.props;
|
|
39
|
+
if (options.isWebViewSeparatePage) {
|
|
40
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
41
|
+
style: [styles.buttonContainer, {
|
|
42
|
+
backgroundColor: Colours.hexToRGBAstring(colourBrandingMain, 0.2)
|
|
43
|
+
}]
|
|
44
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
45
|
+
style: styles.upperContainer
|
|
46
|
+
}, /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(Text, {
|
|
47
|
+
style: [styles.title, {
|
|
48
|
+
color: colourBrandingMain
|
|
49
|
+
}]
|
|
50
|
+
}, this.getTitle()))), /*#__PURE__*/React.createElement(Components.InlineButton, {
|
|
51
|
+
onPress: this.onGoToFullpage,
|
|
52
|
+
color: colourBrandingMain,
|
|
53
|
+
style: styles.button,
|
|
54
|
+
large: true
|
|
55
|
+
}, options.buttonText));
|
|
56
|
+
// return (
|
|
57
|
+
// <View style={styles.sectionContainer}>
|
|
58
|
+
// <View style={styles.sectionPadding}>
|
|
59
|
+
// <View style={styles.sectionHeading}>
|
|
60
|
+
// <Text style={styles.sectionTitle}>{this.getTitle()}</Text>
|
|
61
|
+
// </View>
|
|
62
|
+
// </View>
|
|
63
|
+
// <View style={styles.buttonContainer}>
|
|
64
|
+
// <Components.InlineButton
|
|
65
|
+
// onPress={this.onGoToFullpage}
|
|
66
|
+
// color={colourBrandingMain}
|
|
67
|
+
// touchableStyle={{ paddingTop: 6 }}
|
|
68
|
+
// textStyle={{ color: '#fff' }}
|
|
69
|
+
// large
|
|
70
|
+
// >
|
|
71
|
+
// {options.buttonText}
|
|
72
|
+
// </Components.InlineButton>
|
|
73
|
+
// </View>
|
|
74
|
+
// </View>
|
|
75
|
+
// );
|
|
76
|
+
}
|
|
77
|
+
|
|
22
78
|
return /*#__PURE__*/React.createElement(View, {
|
|
23
79
|
style: styles.container
|
|
24
80
|
}, /*#__PURE__*/React.createElement(WebView, {
|
|
@@ -30,9 +86,7 @@ class WidgetSmall extends Component {
|
|
|
30
86
|
onLoadEnd: this.onLoadEnd
|
|
31
87
|
}));
|
|
32
88
|
}
|
|
33
|
-
|
|
34
89
|
}
|
|
35
|
-
|
|
36
90
|
const styles = StyleSheet.create({
|
|
37
91
|
container: {
|
|
38
92
|
height: 300,
|
|
@@ -43,7 +97,33 @@ const styles = StyleSheet.create({
|
|
|
43
97
|
flex: 1,
|
|
44
98
|
alignItems: 'center',
|
|
45
99
|
justifyContent: 'center'
|
|
100
|
+
},
|
|
101
|
+
buttonContainer: {
|
|
102
|
+
width: '100%',
|
|
103
|
+
alignItems: 'center',
|
|
104
|
+
justifyContent: 'center',
|
|
105
|
+
padding: 16
|
|
106
|
+
},
|
|
107
|
+
upperContainer: {
|
|
108
|
+
flexDirection: 'row',
|
|
109
|
+
alignItems: 'center',
|
|
110
|
+
justifyContent: 'space-between'
|
|
111
|
+
},
|
|
112
|
+
title: {
|
|
113
|
+
fontFamily: 'sf-semibold',
|
|
114
|
+
fontSize: 16
|
|
115
|
+
},
|
|
116
|
+
button: {
|
|
117
|
+
paddingHorizontal: 40,
|
|
118
|
+
marginTop: 16
|
|
46
119
|
}
|
|
47
120
|
});
|
|
48
|
-
|
|
121
|
+
const mapStateToProps = state => {
|
|
122
|
+
return {
|
|
123
|
+
colourBrandingMain: Colours.getMainBrandingColourFromState(state)
|
|
124
|
+
};
|
|
125
|
+
};
|
|
126
|
+
export default connect(mapStateToProps, {}, null, {
|
|
127
|
+
forwardRef: true
|
|
128
|
+
})(WidgetSmall);
|
|
49
129
|
//# sourceMappingURL=WidgetSmall.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Component","View","StyleSheet","WebView","WidgetSmall","constructor","props","state","render","
|
|
1
|
+
{"version":3,"names":["React","Component","View","Text","StyleSheet","WebView","connect","_","Colours","Components","Services","WidgetSmall","constructor","props","_defineProperty","options","navigation","navigate","url","headerTitle","getTitle","isEmpty","Title","state","render","colourBrandingMain","isWebViewSeparatePage","createElement","style","styles","buttonContainer","backgroundColor","hexToRGBAstring","upperContainer","title","color","InlineButton","onPress","onGoToFullpage","button","large","buttonText","container","source","uri","webContainer","onLoadStart","onLoadEnd","create","height","paddingTop","paddingBottom","flex","alignItems","justifyContent","width","padding","flexDirection","fontFamily","fontSize","paddingHorizontal","marginTop","mapStateToProps","getMainBrandingColourFromState","forwardRef"],"sources":["WidgetSmall.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { View, Text, StyleSheet } from 'react-native';\nimport { WebView } from 'react-native-webview';\nimport { connect } from 'react-redux';\nimport _ from 'lodash';\nimport { Colours, Components } from '../core.config';\nimport { Services } from '../feature.config';\n\nclass WidgetSmall extends Component {\n constructor(props) {\n super(props);\n this.state = {};\n }\n\n onLoadStart = () => {};\n onLoadEnd = () => {};\n\n onGoToFullpage = () => {\n const { options } = this.props;\n Services.navigation.navigate('webViewPage', { url: options['webUrl'], headerTitle: this.getTitle() });\n };\n\n getTitle = () => {\n const { options } = this.props;\n if (options && !_.isEmpty(options.Title)) return options.Title;\n return 'Web View';\n };\n\n render() {\n const { options, colourBrandingMain } = this.props;\n if (options.isWebViewSeparatePage) {\n return (\n <View style={[styles.buttonContainer, { backgroundColor: Colours.hexToRGBAstring(colourBrandingMain, 0.2) }]}>\n <View style={styles.upperContainer}>\n <View>\n <Text style={[styles.title, { color: colourBrandingMain }]}>{this.getTitle()}</Text>\n </View>\n </View>\n <Components.InlineButton onPress={this.onGoToFullpage} color={colourBrandingMain} style={styles.button} large>\n {options.buttonText}\n </Components.InlineButton>\n </View>\n );\n // return (\n // <View style={styles.sectionContainer}>\n // <View style={styles.sectionPadding}>\n // <View style={styles.sectionHeading}>\n // <Text style={styles.sectionTitle}>{this.getTitle()}</Text>\n // </View>\n // </View>\n // <View style={styles.buttonContainer}>\n // <Components.InlineButton\n // onPress={this.onGoToFullpage}\n // color={colourBrandingMain}\n // touchableStyle={{ paddingTop: 6 }}\n // textStyle={{ color: '#fff' }}\n // large\n // >\n // {options.buttonText}\n // </Components.InlineButton>\n // </View>\n // </View>\n // );\n }\n return (\n <View style={styles.container}>\n <WebView\n source={{ uri: options['webUrl'] }}\n style={styles.webContainer}\n onLoadStart={this.onLoadStart}\n onLoadEnd={this.onLoadEnd}\n />\n </View>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n container: {\n height: 300,\n paddingTop: 8,\n paddingBottom: 8,\n },\n webContainer: {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center',\n },\n buttonContainer: {\n width: '100%',\n alignItems: 'center',\n justifyContent: 'center',\n padding: 16,\n },\n upperContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n },\n title: {\n fontFamily: 'sf-semibold',\n fontSize: 16,\n },\n button: {\n paddingHorizontal: 40,\n marginTop: 16,\n },\n});\n\nconst mapStateToProps = state => {\n return {\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n };\n};\n\nexport default connect(mapStateToProps, {}, null, { forwardRef: true })(WidgetSmall);\n"],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// import * as PlussCore from '../../pluss-core/src';
|
|
2
|
+
import * as PlussCore from '@plusscommunities/pluss-core-app';
|
|
3
|
+
const {
|
|
4
|
+
Apis,
|
|
5
|
+
Fonts,
|
|
6
|
+
Actions,
|
|
7
|
+
ActionTypes,
|
|
8
|
+
Config,
|
|
9
|
+
Components,
|
|
10
|
+
Styles,
|
|
11
|
+
Session,
|
|
12
|
+
Helper,
|
|
13
|
+
Constants,
|
|
14
|
+
Colours
|
|
15
|
+
} = PlussCore;
|
|
16
|
+
export { Apis, Fonts, Actions, ActionTypes, Config, Components, Styles, Session, Helper, Constants, Colours };
|
|
17
|
+
//# sourceMappingURL=core.config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["PlussCore","Apis","Fonts","Actions","ActionTypes","Config","Components","Styles","Session","Helper","Constants","Colours"],"sources":["core.config.js"],"sourcesContent":["// import * as PlussCore from '../../pluss-core/src';\nimport * as PlussCore from '@plusscommunities/pluss-core-app';\n\nconst { Apis, Fonts, Actions, ActionTypes, Config, Components, Styles, Session, Helper, Constants, Colours } = PlussCore;\nexport { Apis, Fonts, Actions, ActionTypes, Config, Components, Styles, Session, Helper, Constants, Colours };\n"],"mappings":"AAAA;AACA,OAAO,KAAKA,SAAS,MAAM,kCAAkC;AAE7D,MAAM;EAAEC,IAAI;EAAEC,KAAK;EAAEC,OAAO;EAAEC,WAAW;EAAEC,MAAM;EAAEC,UAAU;EAAEC,MAAM;EAAEC,OAAO;EAAEC,MAAM;EAAEC,SAAS;EAAEC;AAAQ,CAAC,GAAGX,SAAS;AACxH,SAASC,IAAI,EAAEC,KAAK,EAAEC,OAAO,EAAEC,WAAW,EAAEC,MAAM,EAAEC,UAAU,EAAEC,MAAM,EAAEC,OAAO,EAAEC,MAAM,EAAEC,SAAS,EAAEC,OAAO"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
+
// import * as PlussCore from '../../pluss-core/src';
|
|
2
|
+
import * as PlussCore from '@plusscommunities/pluss-core-app';
|
|
1
3
|
export const Services = {
|
|
2
4
|
navigation: null
|
|
3
5
|
};
|
|
6
|
+
export const BaseComponents = {
|
|
7
|
+
NotificationBell: null
|
|
8
|
+
};
|
|
4
9
|
const FeatureConfig = {
|
|
5
10
|
key: 'web',
|
|
6
11
|
title: 'Web',
|
|
@@ -9,6 +14,7 @@ const FeatureConfig = {
|
|
|
9
14
|
viewBox: '0 0 24 24',
|
|
10
15
|
navigate: 'web'
|
|
11
16
|
},
|
|
17
|
+
hideTabBar: ['webViewPage'],
|
|
12
18
|
env: {
|
|
13
19
|
baseStage: '',
|
|
14
20
|
baseAPIUrl: '',
|
|
@@ -25,7 +31,9 @@ const FeatureConfig = {
|
|
|
25
31
|
newEventDefaults: '',
|
|
26
32
|
defaultAllowComments: true
|
|
27
33
|
},
|
|
28
|
-
init: (environment, navigation) => {
|
|
34
|
+
init: (environment, navigation, notificationBell) => {
|
|
35
|
+
BaseComponents.NotificationBell = notificationBell;
|
|
36
|
+
PlussCore.Config.init(environment, navigation);
|
|
29
37
|
FeatureConfig.env = environment;
|
|
30
38
|
Services.navigation = navigation;
|
|
31
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Services","navigation","FeatureConfig","key","title","gridMenu","icon","viewBox","navigate","env","baseStage","baseAPIUrl","hasGradientHeader","defaultProfileImage","tinyChatDefault","baseUploadsUrl","allowMediaDownload","allowMediaSharing","awsUploadsBucket","awsStorageBucket","preferredSite","strings","newEventDefaults","defaultAllowComments","init","environment"],"sources":["feature.config.js"],"sourcesContent":["
|
|
1
|
+
{"version":3,"names":["PlussCore","Services","navigation","BaseComponents","NotificationBell","FeatureConfig","key","title","gridMenu","icon","viewBox","navigate","hideTabBar","env","baseStage","baseAPIUrl","hasGradientHeader","defaultProfileImage","tinyChatDefault","baseUploadsUrl","allowMediaDownload","allowMediaSharing","awsUploadsBucket","awsStorageBucket","preferredSite","strings","newEventDefaults","defaultAllowComments","init","environment","notificationBell","Config"],"sources":["feature.config.js"],"sourcesContent":["// import * as PlussCore from '../../pluss-core/src';\nimport * as PlussCore from '@plusscommunities/pluss-core-app';\n\nexport const Services = {\n navigation: null,\n};\n\nexport const BaseComponents = {\n NotificationBell: null,\n};\n\nconst FeatureConfig = {\n key: 'web',\n title: 'Web',\n gridMenu: {\n icon: 'tab_news2',\n viewBox: '0 0 24 24',\n navigate: 'web',\n },\n hideTabBar: ['webViewPage'],\n env: {\n baseStage: '',\n baseAPIUrl: '',\n hasGradientHeader: false,\n defaultProfileImage: '',\n tinyChatDefault: '',\n baseUploadsUrl: '',\n allowMediaDownload: false,\n allowMediaSharing: false,\n awsUploadsBucket: '',\n awsStorageBucket: '',\n preferredSite: '',\n strings: {},\n newEventDefaults: '',\n defaultAllowComments: true,\n },\n init: (environment, navigation, notificationBell) => {\n BaseComponents.NotificationBell = notificationBell;\n PlussCore.Config.init(environment, navigation);\n FeatureConfig.env = environment;\n Services.navigation = navigation;\n },\n};\nexport default FeatureConfig;\n"],"mappings":"AAAA;AACA,OAAO,KAAKA,SAAS,MAAM,kCAAkC;AAE7D,OAAO,MAAMC,QAAQ,GAAG;EACtBC,UAAU,EAAE;AACd,CAAC;AAED,OAAO,MAAMC,cAAc,GAAG;EAC5BC,gBAAgB,EAAE;AACpB,CAAC;AAED,MAAMC,aAAa,GAAG;EACpBC,GAAG,EAAE,KAAK;EACVC,KAAK,EAAE,KAAK;EACZC,QAAQ,EAAE;IACRC,IAAI,EAAE,WAAW;IACjBC,OAAO,EAAE,WAAW;IACpBC,QAAQ,EAAE;EACZ,CAAC;EACDC,UAAU,EAAE,CAAC,aAAa,CAAC;EAC3BC,GAAG,EAAE;IACHC,SAAS,EAAE,EAAE;IACbC,UAAU,EAAE,EAAE;IACdC,iBAAiB,EAAE,KAAK;IACxBC,mBAAmB,EAAE,EAAE;IACvBC,eAAe,EAAE,EAAE;IACnBC,cAAc,EAAE,EAAE;IAClBC,kBAAkB,EAAE,KAAK;IACzBC,iBAAiB,EAAE,KAAK;IACxBC,gBAAgB,EAAE,EAAE;IACpBC,gBAAgB,EAAE,EAAE;IACpBC,aAAa,EAAE,EAAE;IACjBC,OAAO,EAAE,CAAC,CAAC;IACXC,gBAAgB,EAAE,EAAE;IACpBC,oBAAoB,EAAE;EACxB,CAAC;EACDC,IAAI,EAAEA,CAACC,WAAW,EAAE3B,UAAU,EAAE4B,gBAAgB,KAAK;IACnD3B,cAAc,CAACC,gBAAgB,GAAG0B,gBAAgB;IAClD9B,SAAS,CAAC+B,MAAM,CAACH,IAAI,CAACC,WAAW,EAAE3B,UAAU,CAAC;IAC9CG,aAAa,CAACQ,GAAG,GAAGgB,WAAW;IAC/B5B,QAAQ,CAACC,UAAU,GAAGA,UAAU;EAClC;AACF,CAAC;AACD,eAAeG,aAAa"}
|
package/dist/module/index.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import WebPage from './screens/WebPage';
|
|
2
|
+
import WebViewPage from './screens/WebViewPage';
|
|
2
3
|
export const Screens = {
|
|
3
|
-
web: WebPage
|
|
4
|
+
web: WebPage,
|
|
5
|
+
webViewPage: WebViewPage
|
|
4
6
|
};
|
|
5
7
|
export { default as Config } from './feature.config';
|
|
6
8
|
export { default as WidgetSmall } from './components/WidgetSmall';
|
package/dist/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["WebPage","Screens","web","default","Config","WidgetSmall","WidgetLarge"],"sources":["index.js"],"sourcesContent":["import WebPage from './screens/WebPage';\n\nexport const Screens = { web: WebPage };\nexport { default as Config } from './feature.config';\nexport { default as WidgetSmall } from './components/WidgetSmall';\nexport { default as WidgetLarge } from './components/WidgetLarge';\n"],"mappings":"AAAA,OAAOA,
|
|
1
|
+
{"version":3,"names":["WebPage","WebViewPage","Screens","web","webViewPage","default","Config","WidgetSmall","WidgetLarge"],"sources":["index.js"],"sourcesContent":["import WebPage from './screens/WebPage';\nimport WebViewPage from './screens/WebViewPage';\n\nexport const Screens = { web: WebPage, webViewPage: WebViewPage };\nexport { default as Config } from './feature.config';\nexport { default as WidgetSmall } from './components/WidgetSmall';\nexport { default as WidgetLarge } from './components/WidgetLarge';\n"],"mappings":"AAAA,OAAOA,OAAO,MAAM,mBAAmB;AACvC,OAAOC,WAAW,MAAM,uBAAuB;AAE/C,OAAO,MAAMC,OAAO,GAAG;EAAEC,GAAG,EAAEH,OAAO;EAAEI,WAAW,EAAEH;AAAY,CAAC;AACjE,SAASI,OAAO,IAAIC,MAAM,QAAQ,kBAAkB;AACpD,SAASD,OAAO,IAAIE,WAAW,QAAQ,0BAA0B;AACjE,SAASF,OAAO,IAAIG,WAAW,QAAQ,0BAA0B"}
|
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
import React, { PureComponent } from 'react';
|
|
2
2
|
import WidgetLarge from '../components/WidgetLarge';
|
|
3
|
-
|
|
4
3
|
class WebPage extends PureComponent {
|
|
5
4
|
render() {
|
|
6
5
|
return /*#__PURE__*/React.createElement(WidgetLarge, this.props);
|
|
7
6
|
}
|
|
8
|
-
|
|
9
7
|
}
|
|
10
|
-
|
|
11
8
|
export default WebPage;
|
|
12
9
|
//# sourceMappingURL=WebPage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","PureComponent","WidgetLarge","WebPage","render","props"],"sources":["WebPage.js"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport WidgetLarge from '../components/WidgetLarge';\n\nclass WebPage extends PureComponent {\n render() {\n return <WidgetLarge {...this.props} />;\n }\n}\n\nexport default WebPage;\n"],"mappings":"AAAA,OAAOA,
|
|
1
|
+
{"version":3,"names":["React","PureComponent","WidgetLarge","WebPage","render","createElement","props"],"sources":["WebPage.js"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport WidgetLarge from '../components/WidgetLarge';\n\nclass WebPage extends PureComponent {\n render() {\n return <WidgetLarge {...this.props} />;\n }\n}\n\nexport default WebPage;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,aAAa,QAAQ,OAAO;AAC5C,OAAOC,WAAW,MAAM,2BAA2B;AAEnD,MAAMC,OAAO,SAASF,aAAa,CAAC;EAClCG,MAAMA,CAAA,EAAG;IACP,oBAAOJ,KAAA,CAAAK,aAAA,CAACH,WAAW,EAAK,IAAI,CAACI,KAAQ,CAAC;EACxC;AACF;AAEA,eAAeH,OAAO"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
3
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
4
|
+
import React, { Component } from 'react';
|
|
5
|
+
import { View, StyleSheet } from 'react-native';
|
|
6
|
+
import { WebView } from 'react-native-webview';
|
|
7
|
+
import { Components } from '../core.config';
|
|
8
|
+
import { Services } from '../feature.config';
|
|
9
|
+
class WebViewPage extends Component {
|
|
10
|
+
constructor(props) {
|
|
11
|
+
super(props);
|
|
12
|
+
_defineProperty(this, "onLoadStart", () => {});
|
|
13
|
+
_defineProperty(this, "onLoadEnd", () => {});
|
|
14
|
+
_defineProperty(this, "onPressBack", () => {
|
|
15
|
+
Services.navigation.goBack();
|
|
16
|
+
});
|
|
17
|
+
this.state = {};
|
|
18
|
+
}
|
|
19
|
+
render() {
|
|
20
|
+
const {
|
|
21
|
+
url,
|
|
22
|
+
headerTitle
|
|
23
|
+
} = this.props;
|
|
24
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
25
|
+
style: styles.container
|
|
26
|
+
}, /*#__PURE__*/React.createElement(Components.Header, {
|
|
27
|
+
leftIcon: "angle-left",
|
|
28
|
+
onPressLeft: this.onPressBack,
|
|
29
|
+
text: headerTitle
|
|
30
|
+
}), /*#__PURE__*/React.createElement(WebView, {
|
|
31
|
+
source: {
|
|
32
|
+
uri: url
|
|
33
|
+
},
|
|
34
|
+
style: styles.webContainer,
|
|
35
|
+
onLoadStart: this.onLoadStart,
|
|
36
|
+
onLoadEnd: this.onLoadEnd
|
|
37
|
+
}));
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
const styles = StyleSheet.create({
|
|
41
|
+
container: {
|
|
42
|
+
flex: 1
|
|
43
|
+
},
|
|
44
|
+
webContainer: {
|
|
45
|
+
flex: 1,
|
|
46
|
+
alignItems: 'center',
|
|
47
|
+
justifyContent: 'center'
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
export default WebViewPage;
|
|
51
|
+
//# sourceMappingURL=WebViewPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Component","View","StyleSheet","WebView","Components","Services","WebViewPage","constructor","props","_defineProperty","navigation","goBack","state","render","url","headerTitle","createElement","style","styles","container","Header","leftIcon","onPressLeft","onPressBack","text","source","uri","webContainer","onLoadStart","onLoadEnd","create","flex","alignItems","justifyContent"],"sources":["WebViewPage.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { View, StyleSheet } from 'react-native';\nimport { WebView } from 'react-native-webview';\nimport { Components } from '../core.config';\nimport { Services } from '../feature.config';\n\nclass WebViewPage extends Component {\n constructor(props) {\n super(props);\n this.state = {};\n }\n\n onLoadStart = () => {};\n onLoadEnd = () => {};\n\n onPressBack = () => {\n Services.navigation.goBack();\n };\n\n render() {\n const { url, headerTitle } = this.props;\n return (\n <View style={styles.container}>\n <Components.Header leftIcon=\"angle-left\" onPressLeft={this.onPressBack} text={headerTitle} />\n <WebView source={{ uri: url }} style={styles.webContainer} onLoadStart={this.onLoadStart} onLoadEnd={this.onLoadEnd} />\n </View>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n webContainer: {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center',\n },\n});\n\nexport default WebViewPage;\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAC/C,SAASC,OAAO,QAAQ,sBAAsB;AAC9C,SAASC,UAAU,QAAQ,gBAAgB;AAC3C,SAASC,QAAQ,QAAQ,mBAAmB;AAE5C,MAAMC,WAAW,SAASN,SAAS,CAAC;EAClCO,WAAWA,CAACC,KAAK,EAAE;IACjB,KAAK,CAACA,KAAK,CAAC;IAACC,eAAA,sBAID,MAAM,CAAC,CAAC;IAAAA,eAAA,oBACV,MAAM,CAAC,CAAC;IAAAA,eAAA,sBAEN,MAAM;MAClBJ,QAAQ,CAACK,UAAU,CAACC,MAAM,CAAC,CAAC;IAC9B,CAAC;IARC,IAAI,CAACC,KAAK,GAAG,CAAC,CAAC;EACjB;EASAC,MAAMA,CAAA,EAAG;IACP,MAAM;MAAEC,GAAG;MAAEC;IAAY,CAAC,GAAG,IAAI,CAACP,KAAK;IACvC,oBACET,KAAA,CAAAiB,aAAA,CAACf,IAAI;MAACgB,KAAK,EAAEC,MAAM,CAACC;IAAU,gBAC5BpB,KAAA,CAAAiB,aAAA,CAACZ,UAAU,CAACgB,MAAM;MAACC,QAAQ,EAAC,YAAY;MAACC,WAAW,EAAE,IAAI,CAACC,WAAY;MAACC,IAAI,EAAET;IAAY,CAAE,CAAC,eAC7FhB,KAAA,CAAAiB,aAAA,CAACb,OAAO;MAACsB,MAAM,EAAE;QAAEC,GAAG,EAAEZ;MAAI,CAAE;MAACG,KAAK,EAAEC,MAAM,CAACS,YAAa;MAACC,WAAW,EAAE,IAAI,CAACA,WAAY;MAACC,SAAS,EAAE,IAAI,CAACA;IAAU,CAAE,CAClH,CAAC;EAEX;AACF;AAEA,MAAMX,MAAM,GAAGhB,UAAU,CAAC4B,MAAM,CAAC;EAC/BX,SAAS,EAAE;IACTY,IAAI,EAAE;EACR,CAAC;EACDJ,YAAY,EAAE;IACZI,IAAI,EAAE,CAAC;IACPC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB;AACF,CAAC,CAAC;AAEF,eAAe3B,WAAW"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plusscommunities/pluss-webview-app",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0",
|
|
4
4
|
"description": "Extension package to enable webview on Pluss Communities Platform",
|
|
5
5
|
"main": "dist/module/index.js",
|
|
6
6
|
"module": "dist/module/index.js",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"src/"
|
|
11
11
|
],
|
|
12
12
|
"scripts": {
|
|
13
|
-
"build": "npm i && bob build",
|
|
13
|
+
"build": "npm i --legacy-peer-deps && bob build",
|
|
14
14
|
"betapatch": "npm version prepatch --preid=beta",
|
|
15
15
|
"patch": "npm version patch",
|
|
16
16
|
"betaupload": "npm run build && npm publish --access public --tag beta",
|
|
@@ -21,8 +21,10 @@
|
|
|
21
21
|
"author": "Phillip Suh",
|
|
22
22
|
"license": "ISC",
|
|
23
23
|
"dependencies": {
|
|
24
|
+
"@plusscommunities/pluss-core-app": "4.0.0",
|
|
25
|
+
"lodash": "^4.17.4",
|
|
24
26
|
"react": "18.2.0",
|
|
25
|
-
"react-native": "0.71.
|
|
27
|
+
"react-native": "0.71.13",
|
|
26
28
|
"react-native-webview": "11.26.0"
|
|
27
29
|
},
|
|
28
30
|
"devDependencies": {
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import React, { Component } from 'react';
|
|
2
|
-
import { View, StyleSheet } from 'react-native';
|
|
2
|
+
import { View, Text, StyleSheet } from 'react-native';
|
|
3
3
|
import { WebView } from 'react-native-webview';
|
|
4
|
+
import { connect } from 'react-redux';
|
|
5
|
+
import _ from 'lodash';
|
|
6
|
+
import { Colours, Components } from '../core.config';
|
|
7
|
+
import { Services } from '../feature.config';
|
|
4
8
|
|
|
5
9
|
class WidgetLarge extends Component {
|
|
6
10
|
constructor(props) {
|
|
@@ -11,8 +15,53 @@ class WidgetLarge extends Component {
|
|
|
11
15
|
onLoadStart = () => {};
|
|
12
16
|
onLoadEnd = () => {};
|
|
13
17
|
|
|
14
|
-
|
|
18
|
+
onGoToFullpage = () => {
|
|
19
|
+
const { options } = this.props;
|
|
20
|
+
Services.navigation.navigate('webViewPage', { url: options['webUrl'], headerTitle: this.getTitle() });
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
getTitle = () => {
|
|
15
24
|
const { options } = this.props;
|
|
25
|
+
if (options && !_.isEmpty(options.Title)) return options.Title;
|
|
26
|
+
return 'Web View';
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
render() {
|
|
30
|
+
const { options, colourBrandingMain } = this.props;
|
|
31
|
+
if (options.isWebViewSeparatePage) {
|
|
32
|
+
return (
|
|
33
|
+
<View style={[styles.buttonContainer, { backgroundColor: Colours.hexToRGBAstring(colourBrandingMain, 0.2) }]}>
|
|
34
|
+
<View style={styles.upperContainer}>
|
|
35
|
+
<View>
|
|
36
|
+
<Text style={[styles.title, { color: colourBrandingMain }]}>{this.getTitle()}</Text>
|
|
37
|
+
</View>
|
|
38
|
+
</View>
|
|
39
|
+
<Components.InlineButton onPress={this.onGoToFullpage} color={colourBrandingMain} style={styles.button} large>
|
|
40
|
+
{options.buttonText}
|
|
41
|
+
</Components.InlineButton>
|
|
42
|
+
</View>
|
|
43
|
+
);
|
|
44
|
+
// return (
|
|
45
|
+
// <View style={styles.sectionContainer}>
|
|
46
|
+
// <View style={styles.sectionPadding}>
|
|
47
|
+
// <View style={styles.sectionHeading}>
|
|
48
|
+
// <Text style={styles.sectionTitle}>{this.getTitle()}</Text>
|
|
49
|
+
// </View>
|
|
50
|
+
// </View>
|
|
51
|
+
// <View style={styles.buttonContainer}>
|
|
52
|
+
// <Components.InlineButton
|
|
53
|
+
// onPress={this.onGoToFullpage}
|
|
54
|
+
// color={colourBrandingMain}
|
|
55
|
+
// touchableStyle={{ paddingTop: 6 }}
|
|
56
|
+
// textStyle={{ color: '#fff' }}
|
|
57
|
+
// large
|
|
58
|
+
// >
|
|
59
|
+
// {options.buttonText}
|
|
60
|
+
// </Components.InlineButton>
|
|
61
|
+
// </View>
|
|
62
|
+
// </View>
|
|
63
|
+
// );
|
|
64
|
+
}
|
|
16
65
|
return (
|
|
17
66
|
<View style={styles.container}>
|
|
18
67
|
{this.props.ListHeaderComponent}
|
|
@@ -36,6 +85,31 @@ const styles = StyleSheet.create({
|
|
|
36
85
|
alignItems: 'center',
|
|
37
86
|
justifyContent: 'center',
|
|
38
87
|
},
|
|
88
|
+
buttonContainer: {
|
|
89
|
+
width: '100%',
|
|
90
|
+
alignItems: 'center',
|
|
91
|
+
justifyContent: 'center',
|
|
92
|
+
padding: 16,
|
|
93
|
+
},
|
|
94
|
+
upperContainer: {
|
|
95
|
+
flexDirection: 'row',
|
|
96
|
+
alignItems: 'center',
|
|
97
|
+
justifyContent: 'space-between',
|
|
98
|
+
},
|
|
99
|
+
title: {
|
|
100
|
+
fontFamily: 'sf-semibold',
|
|
101
|
+
fontSize: 16,
|
|
102
|
+
},
|
|
103
|
+
button: {
|
|
104
|
+
paddingHorizontal: 40,
|
|
105
|
+
marginTop: 16,
|
|
106
|
+
},
|
|
39
107
|
});
|
|
40
108
|
|
|
41
|
-
|
|
109
|
+
const mapStateToProps = state => {
|
|
110
|
+
return {
|
|
111
|
+
colourBrandingMain: Colours.getMainBrandingColourFromState(state),
|
|
112
|
+
};
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
export default connect(mapStateToProps, {}, null, { forwardRef: true })(WidgetLarge);
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import React, { Component } from 'react';
|
|
2
|
-
import { View, StyleSheet } from 'react-native';
|
|
2
|
+
import { View, Text, StyleSheet } from 'react-native';
|
|
3
3
|
import { WebView } from 'react-native-webview';
|
|
4
|
+
import { connect } from 'react-redux';
|
|
5
|
+
import _ from 'lodash';
|
|
6
|
+
import { Colours, Components } from '../core.config';
|
|
7
|
+
import { Services } from '../feature.config';
|
|
4
8
|
|
|
5
9
|
class WidgetSmall extends Component {
|
|
6
10
|
constructor(props) {
|
|
@@ -11,8 +15,53 @@ class WidgetSmall extends Component {
|
|
|
11
15
|
onLoadStart = () => {};
|
|
12
16
|
onLoadEnd = () => {};
|
|
13
17
|
|
|
14
|
-
|
|
18
|
+
onGoToFullpage = () => {
|
|
19
|
+
const { options } = this.props;
|
|
20
|
+
Services.navigation.navigate('webViewPage', { url: options['webUrl'], headerTitle: this.getTitle() });
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
getTitle = () => {
|
|
15
24
|
const { options } = this.props;
|
|
25
|
+
if (options && !_.isEmpty(options.Title)) return options.Title;
|
|
26
|
+
return 'Web View';
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
render() {
|
|
30
|
+
const { options, colourBrandingMain } = this.props;
|
|
31
|
+
if (options.isWebViewSeparatePage) {
|
|
32
|
+
return (
|
|
33
|
+
<View style={[styles.buttonContainer, { backgroundColor: Colours.hexToRGBAstring(colourBrandingMain, 0.2) }]}>
|
|
34
|
+
<View style={styles.upperContainer}>
|
|
35
|
+
<View>
|
|
36
|
+
<Text style={[styles.title, { color: colourBrandingMain }]}>{this.getTitle()}</Text>
|
|
37
|
+
</View>
|
|
38
|
+
</View>
|
|
39
|
+
<Components.InlineButton onPress={this.onGoToFullpage} color={colourBrandingMain} style={styles.button} large>
|
|
40
|
+
{options.buttonText}
|
|
41
|
+
</Components.InlineButton>
|
|
42
|
+
</View>
|
|
43
|
+
);
|
|
44
|
+
// return (
|
|
45
|
+
// <View style={styles.sectionContainer}>
|
|
46
|
+
// <View style={styles.sectionPadding}>
|
|
47
|
+
// <View style={styles.sectionHeading}>
|
|
48
|
+
// <Text style={styles.sectionTitle}>{this.getTitle()}</Text>
|
|
49
|
+
// </View>
|
|
50
|
+
// </View>
|
|
51
|
+
// <View style={styles.buttonContainer}>
|
|
52
|
+
// <Components.InlineButton
|
|
53
|
+
// onPress={this.onGoToFullpage}
|
|
54
|
+
// color={colourBrandingMain}
|
|
55
|
+
// touchableStyle={{ paddingTop: 6 }}
|
|
56
|
+
// textStyle={{ color: '#fff' }}
|
|
57
|
+
// large
|
|
58
|
+
// >
|
|
59
|
+
// {options.buttonText}
|
|
60
|
+
// </Components.InlineButton>
|
|
61
|
+
// </View>
|
|
62
|
+
// </View>
|
|
63
|
+
// );
|
|
64
|
+
}
|
|
16
65
|
return (
|
|
17
66
|
<View style={styles.container}>
|
|
18
67
|
<WebView
|
|
@@ -37,6 +86,31 @@ const styles = StyleSheet.create({
|
|
|
37
86
|
alignItems: 'center',
|
|
38
87
|
justifyContent: 'center',
|
|
39
88
|
},
|
|
89
|
+
buttonContainer: {
|
|
90
|
+
width: '100%',
|
|
91
|
+
alignItems: 'center',
|
|
92
|
+
justifyContent: 'center',
|
|
93
|
+
padding: 16,
|
|
94
|
+
},
|
|
95
|
+
upperContainer: {
|
|
96
|
+
flexDirection: 'row',
|
|
97
|
+
alignItems: 'center',
|
|
98
|
+
justifyContent: 'space-between',
|
|
99
|
+
},
|
|
100
|
+
title: {
|
|
101
|
+
fontFamily: 'sf-semibold',
|
|
102
|
+
fontSize: 16,
|
|
103
|
+
},
|
|
104
|
+
button: {
|
|
105
|
+
paddingHorizontal: 40,
|
|
106
|
+
marginTop: 16,
|
|
107
|
+
},
|
|
40
108
|
});
|
|
41
109
|
|
|
42
|
-
|
|
110
|
+
const mapStateToProps = state => {
|
|
111
|
+
return {
|
|
112
|
+
colourBrandingMain: Colours.getMainBrandingColourFromState(state),
|
|
113
|
+
};
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
export default connect(mapStateToProps, {}, null, { forwardRef: true })(WidgetSmall);
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
// import * as PlussCore from '../../pluss-core/src';
|
|
2
|
+
import * as PlussCore from '@plusscommunities/pluss-core-app';
|
|
3
|
+
|
|
4
|
+
const { Apis, Fonts, Actions, ActionTypes, Config, Components, Styles, Session, Helper, Constants, Colours } = PlussCore;
|
|
5
|
+
export { Apis, Fonts, Actions, ActionTypes, Config, Components, Styles, Session, Helper, Constants, Colours };
|
package/src/feature.config.js
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
|
+
// import * as PlussCore from '../../pluss-core/src';
|
|
2
|
+
import * as PlussCore from '@plusscommunities/pluss-core-app';
|
|
3
|
+
|
|
1
4
|
export const Services = {
|
|
2
5
|
navigation: null,
|
|
3
6
|
};
|
|
4
7
|
|
|
8
|
+
export const BaseComponents = {
|
|
9
|
+
NotificationBell: null,
|
|
10
|
+
};
|
|
11
|
+
|
|
5
12
|
const FeatureConfig = {
|
|
6
13
|
key: 'web',
|
|
7
14
|
title: 'Web',
|
|
@@ -10,6 +17,7 @@ const FeatureConfig = {
|
|
|
10
17
|
viewBox: '0 0 24 24',
|
|
11
18
|
navigate: 'web',
|
|
12
19
|
},
|
|
20
|
+
hideTabBar: ['webViewPage'],
|
|
13
21
|
env: {
|
|
14
22
|
baseStage: '',
|
|
15
23
|
baseAPIUrl: '',
|
|
@@ -26,7 +34,9 @@ const FeatureConfig = {
|
|
|
26
34
|
newEventDefaults: '',
|
|
27
35
|
defaultAllowComments: true,
|
|
28
36
|
},
|
|
29
|
-
init: (environment, navigation) => {
|
|
37
|
+
init: (environment, navigation, notificationBell) => {
|
|
38
|
+
BaseComponents.NotificationBell = notificationBell;
|
|
39
|
+
PlussCore.Config.init(environment, navigation);
|
|
30
40
|
FeatureConfig.env = environment;
|
|
31
41
|
Services.navigation = navigation;
|
|
32
42
|
},
|
package/src/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import WebPage from './screens/WebPage';
|
|
2
|
+
import WebViewPage from './screens/WebViewPage';
|
|
2
3
|
|
|
3
|
-
export const Screens = { web: WebPage };
|
|
4
|
+
export const Screens = { web: WebPage, webViewPage: WebViewPage };
|
|
4
5
|
export { default as Config } from './feature.config';
|
|
5
6
|
export { default as WidgetSmall } from './components/WidgetSmall';
|
|
6
7
|
export { default as WidgetLarge } from './components/WidgetLarge';
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import React, { Component } from 'react';
|
|
2
|
+
import { View, StyleSheet } from 'react-native';
|
|
3
|
+
import { WebView } from 'react-native-webview';
|
|
4
|
+
import { Components } from '../core.config';
|
|
5
|
+
import { Services } from '../feature.config';
|
|
6
|
+
|
|
7
|
+
class WebViewPage extends Component {
|
|
8
|
+
constructor(props) {
|
|
9
|
+
super(props);
|
|
10
|
+
this.state = {};
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
onLoadStart = () => {};
|
|
14
|
+
onLoadEnd = () => {};
|
|
15
|
+
|
|
16
|
+
onPressBack = () => {
|
|
17
|
+
Services.navigation.goBack();
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
render() {
|
|
21
|
+
const { url, headerTitle } = this.props;
|
|
22
|
+
return (
|
|
23
|
+
<View style={styles.container}>
|
|
24
|
+
<Components.Header leftIcon="angle-left" onPressLeft={this.onPressBack} text={headerTitle} />
|
|
25
|
+
<WebView source={{ uri: url }} style={styles.webContainer} onLoadStart={this.onLoadStart} onLoadEnd={this.onLoadEnd} />
|
|
26
|
+
</View>
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
const styles = StyleSheet.create({
|
|
32
|
+
container: {
|
|
33
|
+
flex: 1,
|
|
34
|
+
},
|
|
35
|
+
webContainer: {
|
|
36
|
+
flex: 1,
|
|
37
|
+
alignItems: 'center',
|
|
38
|
+
justifyContent: 'center',
|
|
39
|
+
},
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
export default WebViewPage;
|