@plusscommunities/pluss-feature-builder-app-d 1.0.3-beta.2 → 8.0.1-auth.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/actions/featureBuilderActions.js +8 -4
- package/dist/module/actions/featureBuilderActions.js.map +1 -1
- package/dist/module/actions/featureBuilderStringsActions.js +4 -6
- package/dist/module/actions/featureBuilderStringsActions.js.map +1 -1
- package/dist/module/actions/index.js +0 -2
- package/dist/module/actions/index.js.map +1 -1
- package/dist/module/actions/types.js +0 -2
- package/dist/module/actions/types.js.map +1 -1
- package/dist/module/components/FeatureDetailScreen.js +324 -355
- package/dist/module/components/FeatureDetailScreen.js.map +1 -1
- package/dist/module/components/FeatureListItem.js +38 -47
- package/dist/module/components/FeatureListItem.js.map +1 -1
- package/dist/module/components/FeatureListScreen.js +123 -94
- package/dist/module/components/FeatureListScreen.js.map +1 -1
- package/dist/module/components/FieldRenderer.js +76 -91
- package/dist/module/components/FieldRenderer.js.map +1 -1
- package/dist/module/components/FileDownload.js +23 -30
- package/dist/module/components/FileDownload.js.map +1 -1
- package/dist/module/components/WidgetGrid.js +51 -56
- package/dist/module/components/WidgetGrid.js.map +1 -1
- package/dist/module/components/WidgetLarge.js +109 -111
- package/dist/module/components/WidgetLarge.js.map +1 -1
- package/dist/module/components/WidgetSmall.js +107 -109
- package/dist/module/components/WidgetSmall.js.map +1 -1
- package/dist/module/components/common/index.js +1 -2
- package/dist/module/components/common/index.js.map +1 -1
- package/dist/module/components/layouts/CondensedList.js +64 -75
- package/dist/module/components/layouts/CondensedList.js.map +1 -1
- package/dist/module/components/layouts/FeatureImageList.js +50 -60
- package/dist/module/components/layouts/FeatureImageList.js.map +1 -1
- package/dist/module/components/layouts/RoundImageList.js +53 -62
- package/dist/module/components/layouts/RoundImageList.js.map +1 -1
- package/dist/module/components/layouts/SquareImageList.js +53 -62
- package/dist/module/components/layouts/SquareImageList.js.map +1 -1
- package/dist/module/config/index.js +0 -2
- package/dist/module/config/index.js.map +1 -1
- package/dist/module/core.config.js +1 -4
- package/dist/module/core.config.js.map +1 -1
- package/dist/module/feature.config.js +9 -8
- package/dist/module/feature.config.js.map +1 -1
- package/dist/module/index.js +0 -2
- package/dist/module/index.js.map +1 -1
- package/dist/module/js/Colors.js +0 -2
- package/dist/module/js/Colors.js.map +1 -1
- package/dist/module/js/FieldTypes.js +0 -2
- package/dist/module/js/FieldTypes.js.map +1 -1
- package/dist/module/js/NavigationService.js +0 -2
- package/dist/module/js/NavigationService.js.map +1 -1
- package/dist/module/js/Styles.js +0 -2
- package/dist/module/js/Styles.js.map +1 -1
- package/dist/module/js/helpers.js +7 -6
- package/dist/module/js/helpers.js.map +1 -1
- package/dist/module/js/index.js +0 -2
- package/dist/module/js/index.js.map +1 -1
- package/dist/module/js/spacing.js +0 -2
- package/dist/module/js/spacing.js.map +1 -1
- package/dist/module/js/types.js +0 -2
- package/dist/module/js/types.js.map +1 -1
- package/dist/module/reducers/featureBuilderReducer.js +0 -2
- package/dist/module/reducers/featureBuilderReducer.js.map +1 -1
- package/dist/module/utils/featureSelectors.js +0 -2
- package/dist/module/utils/featureSelectors.js.map +1 -1
- package/dist/module/utils/selectors.js +13 -9
- package/dist/module/utils/selectors.js.map +1 -1
- package/dist/module/values.config.a.js +0 -2
- package/dist/module/values.config.a.js.map +1 -1
- package/dist/module/values.config.b.js +0 -2
- package/dist/module/values.config.b.js.map +1 -1
- package/dist/module/values.config.c.js +0 -2
- package/dist/module/values.config.c.js.map +1 -1
- package/dist/module/values.config.d.js +0 -2
- package/dist/module/values.config.d.js.map +1 -1
- package/dist/module/values.config.default.js +2 -4
- package/dist/module/values.config.default.js.map +1 -1
- package/dist/module/values.config.js +0 -2
- package/dist/module/values.config.js.map +1 -1
- package/dist/module/webapi/featureBuilderAPI.js +0 -2
- package/dist/module/webapi/featureBuilderAPI.js.map +1 -1
- package/dist/module/webapi/helper.js +0 -2
- package/dist/module/webapi/helper.js.map +1 -1
- package/dist/module/webapi/index.js +0 -2
- package/dist/module/webapi/index.js.map +1 -1
- package/package.json +19 -14
- package/src/actions/featureBuilderActions.js +10 -2
- package/src/components/FeatureDetailScreen.js +2 -2
- package/src/components/FeatureListItem.js +2 -2
- package/src/components/FeatureListScreen.js +87 -61
- package/src/components/FieldRenderer.js +3 -8
- package/src/components/FileDownload.js +2 -2
- package/src/components/WidgetGrid.js +2 -1
- package/src/components/WidgetLarge.js +36 -28
- package/src/components/WidgetSmall.js +34 -26
- package/src/components/common/index.js +1 -0
- package/src/components/layouts/CondensedList.js +4 -3
- package/src/components/layouts/FeatureImageList.js +4 -3
- package/src/components/layouts/RoundImageList.js +4 -3
- package/src/components/layouts/SquareImageList.js +4 -3
- package/src/core.config.js +0 -2
- package/src/values.config.default.js +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Component","View","Text","StyleSheet","connect","Components","Colours","values","loadTargetFeature","toTitleCase","str","toLowerCase","split","map","word","charAt","toUpperCase","slice","join","RoundImageList","CondensedList","SquareImageList","FeatureImageList","jsx","_jsx","jsxs","_jsxs","FeatureListScreen","componentDidMount","props","getLayoutComponent","layoutType","layoutTypes","round","square","feature","render","definition","listings","loading","error","navigation","mainColor","style","styles","container","children","Header","text","leftIcon","onPressLeft","goBack","center","errorText","InlineButton","onPress","title","featureName","LoadingIndicator","visible","layout","type","LayoutComponent","featureDefinition","colourBrandingMain","onItemPress","item","navigate","screens","featureDetail","listing","featureTitle","refreshing","onRefresh","EmptyStateWidget","height","create","flex","backgroundColor","justifyContent","alignItems","padding","marginBottom","fontSize","color","textAlign","mapStateToProps","state","reducerKey","getMainBrandingColourFromState"],"sourceRoot":"../../../src","sources":["components/FeatureListScreen.js"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","Component","View","StyleSheet","Text","connect","Components","Colours","values","loadTargetFeature","Services","toTitleCase","str","toLowerCase","split","map","word","charAt","toUpperCase","slice","join","RoundImageList","CondensedList","SquareImageList","FeatureImageList","FeatureListScreen","constructor","args","_defineProperty","layoutType","layoutTypes","round","square","feature","definition","options","props","Title","title","featureName","componentDidMount","renderContent","listings","loading","error","mainColor","isWidget","createElement","style","styles","center","errorText","InlineButton","onPress","LoadingIndicator","visible","_definition$layout","layout","type","LayoutComponent","getLayoutComponent","getTitle","featureDefinition","colourBrandingMain","onItemPress","item","navigation","navigate","screens","featureDetail","listing","featureTitle","refreshing","onRefresh","EmptyStateWidget","height","render","content","widgetContainer","widgetPadding","widgetHeading","widgetTitle","container","Header","text","leftIcon","onPressLeft","goBack","create","flex","backgroundColor","justifyContent","alignItems","padding","marginBottom","fontSize","color","textAlign","paddingTop","paddingHorizontal","paddingBottom","flexDirection","alignContent","fontFamily","TEXT_DARKEST","mapStateToProps","state","_state$values$reducer","_state$values$reducer2","_state$values$reducer3","_state$values$reducer4","reducerKey","getMainBrandingColourFromState"],"sources":["FeatureListScreen.js"],"sourcesContent":["import React, { Component } from \"react\";\nimport { View, StyleSheet } from \"react-native\";\nimport { Text } from \"@plusscommunities/pluss-core-app/components\";\nimport { connect } from \"react-redux\";\nimport { Components, Colours } from \"../core.config\";\nimport { values } from \"../values.config\";\nimport { loadTargetFeature } from \"../actions/featureBuilderActions\";\nimport { Services } from \"../feature.config\";\n\n// Helper function to title case a string\nconst toTitleCase = (str) => {\n\tif (!str) return str;\n\treturn str\n\t\t.toLowerCase()\n\t\t.split(\" \")\n\t\t.map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n\t\t.join(\" \");\n};\n\n// Layouts\nimport RoundImageList from \"./layouts/RoundImageList\";\nimport CondensedList from \"./layouts/CondensedList\";\nimport SquareImageList from \"./layouts/SquareImageList\";\nimport FeatureImageList from \"./layouts/FeatureImageList\";\n\nclass FeatureListScreen extends Component {\n\tcomponentDidMount() {\n\t\t// Trigger the fetch sequence\n\t\tthis.props.loadTargetFeature();\n\t}\n\n\tgetLayoutComponent = (layoutType) => {\n\t\tswitch (layoutType) {\n\t\t\tcase values.layoutTypes.round:\n\t\t\t\treturn RoundImageList;\n\t\t\tcase values.layoutTypes.square:\n\t\t\t\treturn SquareImageList;\n\t\t\tcase values.layoutTypes.feature:\n\t\t\t\treturn FeatureImageList;\n\t\t\tdefault:\n\t\t\t\treturn CondensedList;\n\t\t}\n\t};\n\n\tgetTitle = () => {\n\t\tconst { definition, options } = this.props;\n\t\tif (options?.Title) return options.Title;\n\t\treturn toTitleCase(definition?.title || values.featureName);\n\t};\n\n\trenderContent() {\n\t\tconst { definition, listings, loading, error, mainColor, isWidget } =\n\t\t\tthis.props;\n\n\t\t// 1. Error\n\t\tif (error) {\n\t\t\treturn (\n\t\t\t\t<View style={styles.center}>\n\t\t\t\t\t<Text style={styles.errorText}>{error}</Text>\n\t\t\t\t\t<Components.InlineButton onPress={this.props.loadTargetFeature}>\n\t\t\t\t\t\tRetry\n\t\t\t\t\t</Components.InlineButton>\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\n\t\t// 2. Loading\n\t\tif (loading && !definition) {\n\t\t\tif (this.props.isWidget) return null;\n\t\t\treturn <Components.LoadingIndicator visible={true} />;\n\t\t}\n\n\t\t// 3. List\n\t\tif (definition) {\n\t\t\tconst layoutType = definition.layout?.type || \"condensed\";\n\t\t\tconst LayoutComponent = this.getLayoutComponent(layoutType);\n\t\t\tconst title = this.getTitle();\n\n\t\t\treturn (\n\t\t\t\t<LayoutComponent\n\t\t\t\t\tlistings={listings}\n\t\t\t\t\tfeatureDefinition={definition}\n\t\t\t\t\tcolourBrandingMain={mainColor}\n\t\t\t\t\ttitle={title}\n\t\t\t\t\tonItemPress={(item) => {\n\t\t\t\t\t\tServices.navigation.navigate(values.screens.featureDetail, {\n\t\t\t\t\t\t\tlisting: item,\n\t\t\t\t\t\t\tfeatureDefinition: definition,\n\t\t\t\t\t\t\tfeatureTitle: title,\n\t\t\t\t\t\t});\n\t\t\t\t\t}}\n\t\t\t\t\trefreshing={loading}\n\t\t\t\t\tisWidget={isWidget}\n\t\t\t\t\tonRefresh={this.props.loadTargetFeature}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\t// 4. Empty\n\t\treturn (\n\t\t\t<View style={styles.center}>\n\t\t\t\t<Components.EmptyStateWidget\n\t\t\t\t\ttitle=\"Feature not available\"\n\t\t\t\t\theight={120}\n\t\t\t\t/>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { isWidget } = this.props;\n\t\tconst title = this.getTitle();\n\t\tconst content = this.renderContent();\n\n\t\tif (isWidget) {\n\t\t\treturn (\n\t\t\t\t<View style={styles.widgetContainer}>\n\t\t\t\t\t<View style={styles.widgetPadding}>\n\t\t\t\t\t\t<View style={styles.widgetHeading}>\n\t\t\t\t\t\t\t<Text style={styles.widgetTitle}>{title}</Text>\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</View>\n\t\t\t\t\t{content}\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<View style={styles.container}>\n\t\t\t\t<Components.Header\n\t\t\t\t\ttext={title}\n\t\t\t\t\tleftIcon=\"angle-left\"\n\t\t\t\t\tonPressLeft={() => Services.navigation.goBack()}\n\t\t\t\t/>\n\t\t\t\t{content}\n\t\t\t</View>\n\t\t);\n\t}\n}\n\nconst styles = StyleSheet.create({\n\tcontainer: { flex: 1, backgroundColor: \"#fff\" },\n\tcenter: {\n\t\tflex: 1,\n\t\tjustifyContent: \"center\",\n\t\talignItems: \"center\",\n\t\tpadding: 20,\n\t},\n\terrorText: {\n\t\tmarginBottom: 10,\n\t\tfontSize: 16,\n\t\tcolor: \"#666\",\n\t\ttextAlign: \"center\",\n\t},\n\twidgetContainer: {\n\t\tbackgroundColor: \"#fff\",\n\t\tpaddingTop: 16,\n\t},\n\twidgetPadding: {\n\t\tpaddingHorizontal: 16,\n\t\tpaddingBottom: 6,\n\t},\n\twidgetHeading: {\n\t\tmarginBottom: 4,\n\t\tflexDirection: \"row\",\n\t\talignContent: \"flex-start\",\n\t\tjustifyContent: \"space-between\",\n\t},\n\twidgetTitle: {\n\t\tfontFamily: \"sf-bold\",\n\t\tfontSize: 24,\n\t\tcolor: Colours.TEXT_DARKEST,\n\t},\n});\n\nconst mapStateToProps = (state) => ({\n\tdefinition: state[values.reducerKey]?.feature,\n\tlistings: state[values.reducerKey]?.listings,\n\tloading: state[values.reducerKey]?.loading,\n\terror: state[values.reducerKey]?.error,\n\tmainColor: Colours.getMainBrandingColourFromState(state),\n});\n\nexport default connect(mapStateToProps, { loadTargetFeature })(\n\tFeatureListScreen,\n);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
1
|
import React from "react";
|
|
4
|
-
import { Text
|
|
5
|
-
import {
|
|
2
|
+
import { Text } from "@plusscommunities/pluss-core-app/components";
|
|
3
|
+
import { View, StyleSheet, TouchableOpacity, Linking } from "react-native";
|
|
4
|
+
import { FontAwesome } from "./common";
|
|
6
5
|
import { Colours, Components, Helper } from "../core.config";
|
|
7
6
|
import { Attachment, InlineButton } from "./common";
|
|
8
7
|
import { FIELD_TYPES, isCTAField, isImageField, isLinkField } from "../js/FieldTypes";
|
|
@@ -12,7 +11,6 @@ import { SPACING } from "../js/spacing";
|
|
|
12
11
|
* Smart Field Renderer Component
|
|
13
12
|
* Renders different field types based on field definition and value
|
|
14
13
|
*/
|
|
15
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
16
14
|
const FieldRenderer = ({
|
|
17
15
|
fieldId,
|
|
18
16
|
fieldValue,
|
|
@@ -21,8 +19,9 @@ const FieldRenderer = ({
|
|
|
21
19
|
color,
|
|
22
20
|
style
|
|
23
21
|
}) => {
|
|
24
|
-
|
|
25
|
-
const
|
|
22
|
+
var _fieldDefinition$valu;
|
|
23
|
+
const fieldType = fieldDefinition === null || fieldDefinition === void 0 ? void 0 : fieldDefinition.type;
|
|
24
|
+
const fieldLabel = (fieldDefinition === null || fieldDefinition === void 0 || (_fieldDefinition$valu = fieldDefinition.values) === null || _fieldDefinition$valu === void 0 ? void 0 : _fieldDefinition$valu.label) || fieldId;
|
|
26
25
|
const handleLinkPress = url => {
|
|
27
26
|
if (url) {
|
|
28
27
|
Linking.openURL(url).catch(err => {
|
|
@@ -34,104 +33,90 @@ const FieldRenderer = ({
|
|
|
34
33
|
// If no field type, try to infer from value structure
|
|
35
34
|
if (!fieldType) {
|
|
36
35
|
if (isCTAField(fieldValue)) {
|
|
37
|
-
return /*#__PURE__*/
|
|
36
|
+
return /*#__PURE__*/React.createElement(InlineButton, {
|
|
38
37
|
large: true,
|
|
39
38
|
color: color || Colours.BRANDING_MAIN,
|
|
40
39
|
style: style,
|
|
41
|
-
onPress: () => fieldValue
|
|
42
|
-
|
|
43
|
-
});
|
|
40
|
+
onPress: () => (fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.url) && handleLinkPress(fieldValue.url)
|
|
41
|
+
}, (fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.label) || fieldLabel);
|
|
44
42
|
}
|
|
45
43
|
if (isImageField(fieldValue)) {
|
|
46
44
|
// Handle image fields - typically rendered elsewhere in layouts
|
|
47
45
|
return null;
|
|
48
46
|
}
|
|
49
47
|
if (isLinkField(fieldValue)) {
|
|
50
|
-
return /*#__PURE__*/
|
|
48
|
+
return /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
51
49
|
style: [styles.linkContainer, style],
|
|
52
|
-
onPress: () => handleLinkPress(fieldValue)
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
})]
|
|
65
|
-
});
|
|
50
|
+
onPress: () => handleLinkPress(fieldValue)
|
|
51
|
+
}, /*#__PURE__*/React.createElement(FontAwesome, {
|
|
52
|
+
name: "link",
|
|
53
|
+
size: 16,
|
|
54
|
+
color: color || Colours.BRANDING_MAIN,
|
|
55
|
+
style: styles.linkIcon
|
|
56
|
+
}), /*#__PURE__*/React.createElement(Text, {
|
|
57
|
+
style: [styles.linkText, {
|
|
58
|
+
color: color || Colours.BRANDING_MAIN
|
|
59
|
+
}],
|
|
60
|
+
numberOfLines: 2
|
|
61
|
+
}, fieldValue));
|
|
66
62
|
}
|
|
67
63
|
|
|
68
64
|
// Default to text field
|
|
69
|
-
return /*#__PURE__*/
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
children: fieldValue
|
|
74
|
-
})
|
|
75
|
-
});
|
|
65
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Text, {
|
|
66
|
+
style: [styles.text, style],
|
|
67
|
+
numberOfLines: 3
|
|
68
|
+
}, fieldValue));
|
|
76
69
|
}
|
|
77
70
|
|
|
78
71
|
// Type-based rendering
|
|
79
72
|
switch (fieldType) {
|
|
80
73
|
case FIELD_TYPES.CTA:
|
|
81
|
-
return /*#__PURE__*/
|
|
74
|
+
return /*#__PURE__*/React.createElement(InlineButton, {
|
|
82
75
|
large: true,
|
|
83
76
|
color: color || Colours.BRANDING_MAIN,
|
|
84
77
|
style: style,
|
|
85
|
-
onPress: () => fieldValue
|
|
86
|
-
|
|
87
|
-
});
|
|
78
|
+
onPress: () => (fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.url) && handleLinkPress(fieldValue.url)
|
|
79
|
+
}, (fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.label) || fieldLabel);
|
|
88
80
|
case FIELD_TYPES.TITLE:
|
|
89
81
|
case FIELD_TYPES.TEXT:
|
|
90
|
-
return /*#__PURE__*/
|
|
82
|
+
return /*#__PURE__*/React.createElement(Text, {
|
|
91
83
|
style: [styles.text, styles.titleText, style],
|
|
92
|
-
numberOfLines: 2
|
|
93
|
-
|
|
94
|
-
});
|
|
84
|
+
numberOfLines: 2
|
|
85
|
+
}, fieldValue);
|
|
95
86
|
case FIELD_TYPES.DESCRIPTION:
|
|
96
|
-
return /*#__PURE__*/
|
|
97
|
-
style: [styles.text, styles.descriptionText, style]
|
|
98
|
-
|
|
99
|
-
});
|
|
87
|
+
return /*#__PURE__*/React.createElement(Text, {
|
|
88
|
+
style: [styles.text, styles.descriptionText, style]
|
|
89
|
+
}, fieldValue);
|
|
100
90
|
case FIELD_TYPES.EMAIL:
|
|
101
|
-
return /*#__PURE__*/
|
|
91
|
+
return /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
102
92
|
style: [styles.linkContainer, style],
|
|
103
|
-
onPress: () => handleLinkPress(`mailto:${fieldValue}`)
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
})]
|
|
116
|
-
});
|
|
93
|
+
onPress: () => handleLinkPress(`mailto:${fieldValue}`)
|
|
94
|
+
}, /*#__PURE__*/React.createElement(FontAwesome, {
|
|
95
|
+
name: "envelope",
|
|
96
|
+
size: 16,
|
|
97
|
+
color: color || Colours.BRANDING_MAIN,
|
|
98
|
+
style: styles.linkIcon
|
|
99
|
+
}), /*#__PURE__*/React.createElement(Text, {
|
|
100
|
+
style: [styles.linkText, {
|
|
101
|
+
color: color || Colours.BRANDING_MAIN
|
|
102
|
+
}],
|
|
103
|
+
numberOfLines: 1
|
|
104
|
+
}, fieldValue));
|
|
117
105
|
case FIELD_TYPES.NUMBER:
|
|
118
|
-
return /*#__PURE__*/
|
|
119
|
-
style: [styles.text, styles.numberText, style]
|
|
120
|
-
|
|
121
|
-
});
|
|
106
|
+
return /*#__PURE__*/React.createElement(Text, {
|
|
107
|
+
style: [styles.text, styles.numberText, style]
|
|
108
|
+
}, fieldValue);
|
|
122
109
|
case FIELD_TYPES.DATE:
|
|
123
|
-
return /*#__PURE__*/
|
|
124
|
-
style: [styles.dateContainer, style]
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
})]
|
|
134
|
-
});
|
|
110
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
111
|
+
style: [styles.dateContainer, style]
|
|
112
|
+
}, /*#__PURE__*/React.createElement(FontAwesome, {
|
|
113
|
+
name: "calendar",
|
|
114
|
+
size: 16,
|
|
115
|
+
color: Colours.TEXT_LIGHT,
|
|
116
|
+
style: styles.dateIcon
|
|
117
|
+
}), /*#__PURE__*/React.createElement(Text, {
|
|
118
|
+
style: [styles.text, styles.dateText]
|
|
119
|
+
}, fieldValue));
|
|
135
120
|
case FIELD_TYPES.IMAGE:
|
|
136
121
|
case FIELD_TYPES.FEATURE_IMAGE:
|
|
137
122
|
// Images are typically rendered by the layout components
|
|
@@ -139,23 +124,23 @@ const FieldRenderer = ({
|
|
|
139
124
|
case FIELD_TYPES.FILE:
|
|
140
125
|
// Handle both single file and multiple files (array)
|
|
141
126
|
const files = Array.isArray(fieldValue) ? fieldValue : [fieldValue];
|
|
142
|
-
return /*#__PURE__*/
|
|
143
|
-
style: styles.filesContainer
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
127
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
128
|
+
style: styles.filesContainer
|
|
129
|
+
}, files.map((file, index) => {
|
|
130
|
+
var _file$url;
|
|
131
|
+
// Skip null/undefined files
|
|
132
|
+
if (!file) return null;
|
|
133
|
+
return /*#__PURE__*/React.createElement(Attachment, {
|
|
134
|
+
key: index,
|
|
135
|
+
onPress: () => onFieldPress && onFieldPress(fieldId, file),
|
|
136
|
+
title: (file === null || file === void 0 ? void 0 : file.name) || (file === null || file === void 0 || (_file$url = file.url) === null || _file$url === void 0 ? void 0 : _file$url.split("/").pop()) || "Document"
|
|
137
|
+
});
|
|
138
|
+
}));
|
|
153
139
|
default:
|
|
154
|
-
return /*#__PURE__*/
|
|
140
|
+
return /*#__PURE__*/React.createElement(Text, {
|
|
155
141
|
style: [styles.text, style],
|
|
156
|
-
numberOfLines: 3
|
|
157
|
-
|
|
158
|
-
});
|
|
142
|
+
numberOfLines: 3
|
|
143
|
+
}, fieldValue);
|
|
159
144
|
}
|
|
160
145
|
};
|
|
161
146
|
const styles = StyleSheet.create({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Text","View","StyleSheet","TouchableOpacity","Linking","FontAwesome","Colours","Components","Helper","Attachment","InlineButton","FIELD_TYPES","isCTAField","isImageField","isLinkField","SPACING","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","FieldRenderer","fieldId","fieldValue","fieldDefinition","onFieldPress","color","style","fieldType","type","fieldLabel","values","label","handleLinkPress","url","openURL","catch","err","large","BRANDING_MAIN","onPress","children","styles","linkContainer","name","size","linkIcon","linkText","numberOfLines","text","CTA","TITLE","TEXT","titleText","DESCRIPTION","descriptionText","EMAIL","NUMBER","numberText","DATE","dateContainer","TEXT_LIGHT","dateIcon","dateText","IMAGE","FEATURE_IMAGE","FILE","files","Array","isArray","filesContainer","map","file","index","title","split","pop","create","fontFamily","fontSize","TEXT_DARK","fontWeight","lineHeight","marginVertical","flexDirection","alignItems","paddingVertical","XS","marginRight","SM","textDecorationLine","fileContainer","backgroundColor","BACKGROUND_LIGHT","padding","borderRadius","fileIcon","fileText","flex"],"sourceRoot":"../../../src","sources":["components/FieldRenderer.js"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","Text","View","StyleSheet","TouchableOpacity","Linking","FontAwesome","Colours","Components","Helper","Attachment","InlineButton","FIELD_TYPES","isCTAField","isImageField","isLinkField","SPACING","FieldRenderer","fieldId","fieldValue","fieldDefinition","onFieldPress","color","style","_fieldDefinition$valu","fieldType","type","fieldLabel","values","label","handleLinkPress","url","openURL","catch","err","createElement","large","BRANDING_MAIN","onPress","styles","linkContainer","name","size","linkIcon","linkText","numberOfLines","Fragment","text","CTA","TITLE","TEXT","titleText","DESCRIPTION","descriptionText","EMAIL","NUMBER","numberText","DATE","dateContainer","TEXT_LIGHT","dateIcon","dateText","IMAGE","FEATURE_IMAGE","FILE","files","Array","isArray","filesContainer","map","file","index","_file$url","key","title","split","pop","create","fontFamily","fontSize","TEXT_DARK","fontWeight","lineHeight","marginVertical","flexDirection","alignItems","paddingVertical","XS","marginRight","SM","textDecorationLine","fileContainer","backgroundColor","BACKGROUND_LIGHT","padding","borderRadius","fileIcon","fileText","flex"],"sources":["FieldRenderer.js"],"sourcesContent":["import React from \"react\";\nimport { Text } from \"@plusscommunities/pluss-core-app/components\";\nimport { View, StyleSheet, TouchableOpacity, Linking } from \"react-native\";\nimport { FontAwesome } from \"./common\";\nimport { Colours, Components, Helper } from \"../core.config\";\nimport { Attachment, InlineButton } from \"./common\";\nimport {\n\tFIELD_TYPES,\n\tisCTAField,\n\tisImageField,\n\tisLinkField,\n} from \"../js/FieldTypes\";\nimport { SPACING } from \"../js/spacing\";\n\n/**\n * Smart Field Renderer Component\n * Renders different field types based on field definition and value\n */\nconst FieldRenderer = ({\n\tfieldId,\n\tfieldValue,\n\tfieldDefinition,\n\tonFieldPress,\n\tcolor,\n\tstyle,\n}) => {\n\tconst fieldType = fieldDefinition?.type;\n\tconst fieldLabel = fieldDefinition?.values?.label || fieldId;\n\n\tconst handleLinkPress = (url) => {\n\t\tif (url) {\n\t\t\tLinking.openURL(url).catch((err) => {\n\t\t\t\t// Silently handle URL open errors\n\t\t\t});\n\t\t}\n\t};\n\n\t// If no field type, try to infer from value structure\n\tif (!fieldType) {\n\t\tif (isCTAField(fieldValue)) {\n\t\t\treturn (\n\t\t\t\t<InlineButton\n\t\t\t\t\tlarge\n\t\t\t\t\tcolor={color || Colours.BRANDING_MAIN}\n\t\t\t\t\tstyle={style}\n\t\t\t\t\tonPress={() => fieldValue?.url && handleLinkPress(fieldValue.url)}\n\t\t\t\t>\n\t\t\t\t\t{fieldValue?.label || fieldLabel}\n\t\t\t\t</InlineButton>\n\t\t\t);\n\t\t}\n\n\t\tif (isImageField(fieldValue)) {\n\t\t\t// Handle image fields - typically rendered elsewhere in layouts\n\t\t\treturn null;\n\t\t}\n\n\t\tif (isLinkField(fieldValue)) {\n\t\t\treturn (\n\t\t\t\t<TouchableOpacity\n\t\t\t\t\tstyle={[styles.linkContainer, style]}\n\t\t\t\t\tonPress={() => handleLinkPress(fieldValue)}\n\t\t\t\t>\n\t\t\t\t\t<FontAwesome\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\tsize={16}\n\t\t\t\t\t\tcolor={color || Colours.BRANDING_MAIN}\n\t\t\t\t\t\tstyle={styles.linkIcon}\n\t\t\t\t\t/>\n\t\t\t\t\t<Text\n\t\t\t\t\t\tstyle={[styles.linkText, { color: color || Colours.BRANDING_MAIN }]}\n\t\t\t\t\t\tnumberOfLines={2}\n\t\t\t\t\t>\n\t\t\t\t\t\t{fieldValue}\n\t\t\t\t\t</Text>\n\t\t\t\t</TouchableOpacity>\n\t\t\t);\n\t\t}\n\n\t\t// Default to text field\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Text style={[styles.text, style]} numberOfLines={3}>\n\t\t\t\t\t{fieldValue}\n\t\t\t\t</Text>\n\t\t\t</>\n\t\t);\n\t}\n\n\t// Type-based rendering\n\tswitch (fieldType) {\n\t\tcase FIELD_TYPES.CTA:\n\t\t\treturn (\n\t\t\t\t<InlineButton\n\t\t\t\t\tlarge\n\t\t\t\t\tcolor={color || Colours.BRANDING_MAIN}\n\t\t\t\t\tstyle={style}\n\t\t\t\t\tonPress={() => fieldValue?.url && handleLinkPress(fieldValue.url)}\n\t\t\t\t>\n\t\t\t\t\t{fieldValue?.label || fieldLabel}\n\t\t\t\t</InlineButton>\n\t\t\t);\n\n\t\tcase FIELD_TYPES.TITLE:\n\t\tcase FIELD_TYPES.TEXT:\n\t\t\treturn (\n\t\t\t\t<Text style={[styles.text, styles.titleText, style]} numberOfLines={2}>\n\t\t\t\t\t{fieldValue}\n\t\t\t\t</Text>\n\t\t\t);\n\n\t\tcase FIELD_TYPES.DESCRIPTION:\n\t\t\treturn (\n\t\t\t\t<Text style={[styles.text, styles.descriptionText, style]}>\n\t\t\t\t\t{fieldValue}\n\t\t\t\t</Text>\n\t\t\t);\n\n\t\tcase FIELD_TYPES.EMAIL:\n\t\t\treturn (\n\t\t\t\t<TouchableOpacity\n\t\t\t\t\tstyle={[styles.linkContainer, style]}\n\t\t\t\t\tonPress={() => handleLinkPress(`mailto:${fieldValue}`)}\n\t\t\t\t>\n\t\t\t\t\t<FontAwesome\n\t\t\t\t\t\tname=\"envelope\"\n\t\t\t\t\t\tsize={16}\n\t\t\t\t\t\tcolor={color || Colours.BRANDING_MAIN}\n\t\t\t\t\t\tstyle={styles.linkIcon}\n\t\t\t\t\t/>\n\t\t\t\t\t<Text\n\t\t\t\t\t\tstyle={[styles.linkText, { color: color || Colours.BRANDING_MAIN }]}\n\t\t\t\t\t\tnumberOfLines={1}\n\t\t\t\t\t>\n\t\t\t\t\t\t{fieldValue}\n\t\t\t\t\t</Text>\n\t\t\t\t</TouchableOpacity>\n\t\t\t);\n\n\t\tcase FIELD_TYPES.NUMBER:\n\t\t\treturn (\n\t\t\t\t<Text style={[styles.text, styles.numberText, style]}>\n\t\t\t\t\t{fieldValue}\n\t\t\t\t</Text>\n\t\t\t);\n\n\t\tcase FIELD_TYPES.DATE:\n\t\t\treturn (\n\t\t\t\t<View style={[styles.dateContainer, style]}>\n\t\t\t\t\t<FontAwesome\n\t\t\t\t\t\tname=\"calendar\"\n\t\t\t\t\t\tsize={16}\n\t\t\t\t\t\tcolor={Colours.TEXT_LIGHT}\n\t\t\t\t\t\tstyle={styles.dateIcon}\n\t\t\t\t\t/>\n\t\t\t\t\t<Text style={[styles.text, styles.dateText]}>{fieldValue}</Text>\n\t\t\t\t</View>\n\t\t\t);\n\n\t\tcase FIELD_TYPES.IMAGE:\n\t\tcase FIELD_TYPES.FEATURE_IMAGE:\n\t\t\t// Images are typically rendered by the layout components\n\t\t\treturn null;\n\n\t\tcase FIELD_TYPES.FILE:\n\t\t\t// Handle both single file and multiple files (array)\n\t\t\tconst files = Array.isArray(fieldValue) ? fieldValue : [fieldValue];\n\t\t\treturn (\n\t\t\t\t<View style={styles.filesContainer}>\n\t\t\t\t\t{files.map((file, index) => {\n\t\t\t\t\t\t// Skip null/undefined files\n\t\t\t\t\t\tif (!file) return null;\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Attachment\n\t\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\t\tonPress={() => onFieldPress && onFieldPress(fieldId, file)}\n\t\t\t\t\t\t\t\ttitle={file?.name || file?.url?.split(\"/\").pop() || \"Document\"}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</View>\n\t\t\t);\n\n\t\tdefault:\n\t\t\treturn (\n\t\t\t\t<Text style={[styles.text, style]} numberOfLines={3}>\n\t\t\t\t\t{fieldValue}\n\t\t\t\t</Text>\n\t\t\t);\n\t}\n};\n\nconst styles = StyleSheet.create({\n\ttext: {\n\t\tfontFamily: \"sf-regular\",\n\t\tfontSize: 16,\n\t\tcolor: Colours.TEXT_DARK,\n\t},\n\ttitleText: {\n\t\tfontFamily: \"sf-semibold\",\n\t\tfontSize: 16,\n\t\tfontWeight: \"600\",\n\t},\n\tdescriptionText: {\n\t\tfontFamily: \"sf-regular\",\n\t\tfontSize: 14,\n\t\tlineHeight: 20,\n\t\tmarginVertical: 12,\n\t},\n\tnumberText: {\n\t\tfontFamily: \"sf-medium\",\n\t\tfontSize: 16,\n\t\tfontWeight: \"500\",\n\t},\n\tlinkContainer: {\n\t\tflexDirection: \"row\",\n\t\talignItems: \"center\",\n\t\tpaddingVertical: SPACING.XS,\n\t},\n\tlinkIcon: {\n\t\tmarginRight: SPACING.SM,\n\t},\n\tlinkText: {\n\t\tfontFamily: \"sf-medium\",\n\t\tfontSize: 16,\n\t\ttextDecorationLine: \"underline\",\n\t},\n\tdateContainer: {\n\t\tflexDirection: \"row\",\n\t\talignItems: \"center\",\n\t\tpaddingVertical: SPACING.XS,\n\t},\n\tdateIcon: {\n\t\tmarginRight: SPACING.SM,\n\t},\n\tdateText: {\n\t\tfontFamily: \"sf-regular\",\n\t\tfontSize: 14,\n\t\tcolor: Colours.TEXT_LIGHT,\n\t},\n\tfileContainer: {\n\t\tflexDirection: \"row\",\n\t\talignItems: \"center\",\n\t\tpaddingVertical: SPACING.XS,\n\t\tbackgroundColor: Colours.BACKGROUND_LIGHT,\n\t\tpadding: SPACING.SM,\n\t\tborderRadius: SPACING.XS,\n\t},\n\tfileIcon: {\n\t\tmarginRight: SPACING.SM,\n\t},\n\tfileText: {\n\t\tfontFamily: \"sf-medium\",\n\t\tfontSize: 14,\n\t\tflex: 1,\n\t},\n\t// File container for multiple attachments\n\tfilesContainer: {\n\t\tmarginVertical: SPACING.XS,\n\t},\n});\n\nexport default FieldRenderer;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,45 +1,38 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
1
|
import React from "react";
|
|
4
|
-
import { View,
|
|
5
|
-
import { FontAwesome } from "@
|
|
2
|
+
import { View, TouchableOpacity, StyleSheet } from "react-native";
|
|
3
|
+
import { Text, FontAwesome } from "@plusscommunities/pluss-core-app/components";
|
|
6
4
|
import { Colours } from "../core.config";
|
|
7
5
|
import { SPACING } from "../js/spacing";
|
|
8
6
|
import { TEXT_DARK } from "../core.config";
|
|
9
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
7
|
const FileDownload = ({
|
|
11
8
|
file,
|
|
12
9
|
onPress,
|
|
13
10
|
color,
|
|
14
11
|
style
|
|
15
12
|
}) => {
|
|
16
|
-
const fileName = file
|
|
13
|
+
const fileName = (file === null || file === void 0 ? void 0 : file.name) || (file === null || file === void 0 ? void 0 : file.url) && file.url.split("?")[0].split("#")[0].split("/").pop() || "Document";
|
|
17
14
|
const downloadColor = color || Colours.BRANDING_MAIN;
|
|
18
|
-
return /*#__PURE__*/
|
|
15
|
+
return /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
19
16
|
style: [styles.container, style],
|
|
20
|
-
onPress: () => onPress && onPress(file)
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
color: downloadColor
|
|
40
|
-
})]
|
|
41
|
-
})]
|
|
42
|
-
});
|
|
17
|
+
onPress: () => onPress && onPress(file)
|
|
18
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
19
|
+
style: styles.extensionIcon
|
|
20
|
+
}, /*#__PURE__*/React.createElement(FontAwesome, {
|
|
21
|
+
name: "paperclip",
|
|
22
|
+
size: 16,
|
|
23
|
+
color: downloadColor
|
|
24
|
+
})), /*#__PURE__*/React.createElement(View, {
|
|
25
|
+
style: styles.textContainer
|
|
26
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
27
|
+
style: [styles.fileName, {
|
|
28
|
+
color: TEXT_DARK
|
|
29
|
+
}],
|
|
30
|
+
numberOfLines: 1
|
|
31
|
+
}, fileName), /*#__PURE__*/React.createElement(FontAwesome, {
|
|
32
|
+
name: "download",
|
|
33
|
+
size: 16,
|
|
34
|
+
color: downloadColor
|
|
35
|
+
})));
|
|
43
36
|
};
|
|
44
37
|
const styles = StyleSheet.create({
|
|
45
38
|
container: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","
|
|
1
|
+
{"version":3,"names":["React","View","TouchableOpacity","StyleSheet","Text","FontAwesome","Colours","SPACING","TEXT_DARK","FileDownload","file","onPress","color","style","fileName","name","url","split","pop","downloadColor","BRANDING_MAIN","createElement","styles","container","extensionIcon","size","textContainer","numberOfLines","create","flexDirection","alignItems","paddingVertical","SM","paddingRight","MD","backgroundColor","borderRadius","XS","marginVertical","width","height","justifyContent","flex","fontFamily","fontSize","fontWeight","lineHeight","marginRight","marginLeft"],"sources":["FileDownload.js"],"sourcesContent":["import React from \"react\";\nimport { View, TouchableOpacity, StyleSheet } from \"react-native\";\nimport { Text, FontAwesome } from \"@plusscommunities/pluss-core-app/components\";\nimport { Colours } from \"../core.config\";\nimport { SPACING } from \"../js/spacing\";\nimport { TEXT_DARK } from \"../core.config\";\n\nconst FileDownload = ({ file, onPress, color, style }) => {\n\tconst fileName =\n\t\tfile?.name ||\n\t\t(file?.url && file.url.split(\"?\")[0].split(\"#\")[0].split(\"/\").pop()) ||\n\t\t\"Document\";\n\tconst downloadColor = color || Colours.BRANDING_MAIN;\n\n\treturn (\n\t\t<TouchableOpacity\n\t\t\tstyle={[styles.container, style]}\n\t\t\tonPress={() => onPress && onPress(file)}\n\t\t>\n\t\t\t<View style={styles.extensionIcon}>\n\t\t\t\t<FontAwesome name=\"paperclip\" size={16} color={downloadColor} />\n\t\t\t</View>\n\n\t\t\t<View style={styles.textContainer}>\n\t\t\t\t<Text style={[styles.fileName, { color: TEXT_DARK }]} numberOfLines={1}>\n\t\t\t\t\t{fileName}\n\t\t\t\t</Text>\n\t\t\t\t<FontAwesome name=\"download\" size={16} color={downloadColor} />\n\t\t\t</View>\n\t\t</TouchableOpacity>\n\t);\n};\n\nconst styles = StyleSheet.create({\n\tcontainer: {\n\t\tflexDirection: \"row\",\n\t\talignItems: \"center\",\n\t\tpaddingVertical: SPACING.SM,\n\t\tpaddingRight: SPACING.MD,\n\t\tbackgroundColor: \"#ffffff\",\n\t\tborderRadius: SPACING.XS,\n\t\tmarginVertical: SPACING.XS / 2,\n\t},\n\textensionIcon: {\n\t\twidth: 32,\n\t\theight: 32,\n\t\tborderRadius: SPACING.XS / 2,\n\t\tjustifyContent: \"center\",\n\t\talignItems: \"center\",\n\t\tbackgroundColor: \"#f5f5f5\",\n\t},\n\ttextContainer: {\n\t\tflex: 1,\n\t\tflexDirection: \"row\",\n\t\tjustifyContent: \"space-between\",\n\t\talignItems: \"center\",\n\t},\n\tfileName: {\n\t\tfontFamily: \"sf-medium\",\n\t\tfontSize: 16,\n\t\tfontWeight: \"600\",\n\t\tlineHeight: 20,\n\t\tflex: 1,\n\t\tmarginRight: SPACING.SM,\n\t\tmarginLeft: SPACING.SM,\n\t},\n});\n\nexport default FileDownload;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,gBAAgB,EAAEC,UAAU,QAAQ,cAAc;AACjE,SAASC,IAAI,EAAEC,WAAW,QAAQ,6CAA6C;AAC/E,SAASC,OAAO,QAAQ,gBAAgB;AACxC,SAASC,OAAO,QAAQ,eAAe;AACvC,SAASC,SAAS,QAAQ,gBAAgB;AAE1C,MAAMC,YAAY,GAAGA,CAAC;EAAEC,IAAI;EAAEC,OAAO;EAAEC,KAAK;EAAEC;AAAM,CAAC,KAAK;EACzD,MAAMC,QAAQ,GACb,CAAAJ,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEK,IAAI,KACT,CAAAL,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEM,GAAG,KAAIN,IAAI,CAACM,GAAG,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAACA,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAACA,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAAC,CAAE,IACpE,UAAU;EACX,MAAMC,aAAa,GAAGP,KAAK,IAAIN,OAAO,CAACc,aAAa;EAEpD,oBACCpB,KAAA,CAAAqB,aAAA,CAACnB,gBAAgB;IAChBW,KAAK,EAAE,CAACS,MAAM,CAACC,SAAS,EAAEV,KAAK,CAAE;IACjCF,OAAO,EAAEA,CAAA,KAAMA,OAAO,IAAIA,OAAO,CAACD,IAAI;EAAE,gBAExCV,KAAA,CAAAqB,aAAA,CAACpB,IAAI;IAACY,KAAK,EAAES,MAAM,CAACE;EAAc,gBACjCxB,KAAA,CAAAqB,aAAA,CAAChB,WAAW;IAACU,IAAI,EAAC,WAAW;IAACU,IAAI,EAAE,EAAG;IAACb,KAAK,EAAEO;EAAc,CAAE,CAC1D,CAAC,eAEPnB,KAAA,CAAAqB,aAAA,CAACpB,IAAI;IAACY,KAAK,EAAES,MAAM,CAACI;EAAc,gBACjC1B,KAAA,CAAAqB,aAAA,CAACjB,IAAI;IAACS,KAAK,EAAE,CAACS,MAAM,CAACR,QAAQ,EAAE;MAAEF,KAAK,EAAEJ;IAAU,CAAC,CAAE;IAACmB,aAAa,EAAE;EAAE,GACrEb,QACI,CAAC,eACPd,KAAA,CAAAqB,aAAA,CAAChB,WAAW;IAACU,IAAI,EAAC,UAAU;IAACU,IAAI,EAAE,EAAG;IAACb,KAAK,EAAEO;EAAc,CAAE,CACzD,CACW,CAAC;AAErB,CAAC;AAED,MAAMG,MAAM,GAAGnB,UAAU,CAACyB,MAAM,CAAC;EAChCL,SAAS,EAAE;IACVM,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,eAAe,EAAExB,OAAO,CAACyB,EAAE;IAC3BC,YAAY,EAAE1B,OAAO,CAAC2B,EAAE;IACxBC,eAAe,EAAE,SAAS;IAC1BC,YAAY,EAAE7B,OAAO,CAAC8B,EAAE;IACxBC,cAAc,EAAE/B,OAAO,CAAC8B,EAAE,GAAG;EAC9B,CAAC;EACDb,aAAa,EAAE;IACde,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVJ,YAAY,EAAE7B,OAAO,CAAC8B,EAAE,GAAG,CAAC;IAC5BI,cAAc,EAAE,QAAQ;IACxBX,UAAU,EAAE,QAAQ;IACpBK,eAAe,EAAE;EAClB,CAAC;EACDT,aAAa,EAAE;IACdgB,IAAI,EAAE,CAAC;IACPb,aAAa,EAAE,KAAK;IACpBY,cAAc,EAAE,eAAe;IAC/BX,UAAU,EAAE;EACb,CAAC;EACDhB,QAAQ,EAAE;IACT6B,UAAU,EAAE,WAAW;IACvBC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,UAAU,EAAE,EAAE;IACdJ,IAAI,EAAE,CAAC;IACPK,WAAW,EAAExC,OAAO,CAACyB,EAAE;IACvBgB,UAAU,EAAEzC,OAAO,CAACyB;EACrB;AACD,CAAC,CAAC;AAEF,eAAevB,YAAY","ignoreList":[]}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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); }
|
|
3
4
|
import React, { Component } from "react";
|
|
4
|
-
import {
|
|
5
|
+
import { View, StyleSheet, TouchableOpacity } from "react-native";
|
|
6
|
+
import { Text } from "@plusscommunities/pluss-core-app/components";
|
|
5
7
|
import { connect } from "react-redux";
|
|
6
8
|
import _ from "lodash";
|
|
7
9
|
import { Services } from "../feature.config";
|
|
@@ -11,10 +13,33 @@ import { getTargetFeatureDefinition } from "../utils/featureSelectors";
|
|
|
11
13
|
import { SPACING } from "../js/spacing";
|
|
12
14
|
import { getMainBrandingColourFromState } from "../js";
|
|
13
15
|
import { loadTargetFeature } from "../actions/featureBuilderActions";
|
|
14
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
15
16
|
class WidgetGrid extends Component {
|
|
16
17
|
constructor(props) {
|
|
17
18
|
super(props);
|
|
19
|
+
_defineProperty(this, "refresh", () => {
|
|
20
|
+
this.onLoadingChanged(true, async () => {
|
|
21
|
+
try {
|
|
22
|
+
await loadTargetFeature()(this.props.dispatch, () => this.props.getState);
|
|
23
|
+
} catch (error) {
|
|
24
|
+
console.error("FeatureBuilder WidgetGrid - Error in refresh:", error);
|
|
25
|
+
} finally {
|
|
26
|
+
this.onLoadingChanged(false);
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
_defineProperty(this, "onLoadingChanged", (loading, callback) => {
|
|
31
|
+
this.setState({
|
|
32
|
+
loading
|
|
33
|
+
}, () => {
|
|
34
|
+
if (this.props.onLoadingChanged) this.props.onLoadingChanged(this.state.loading);
|
|
35
|
+
if (callback) callback();
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
_defineProperty(this, "onPress", () => {
|
|
39
|
+
Services.navigation.navigate(values.screens.featureList, {
|
|
40
|
+
options: this.props.options
|
|
41
|
+
});
|
|
42
|
+
});
|
|
18
43
|
this.state = {
|
|
19
44
|
loading: false
|
|
20
45
|
};
|
|
@@ -27,68 +52,38 @@ class WidgetGrid extends Component {
|
|
|
27
52
|
this.refresh();
|
|
28
53
|
}
|
|
29
54
|
}
|
|
30
|
-
refresh = () => {
|
|
31
|
-
this.onLoadingChanged(true, async () => {
|
|
32
|
-
try {
|
|
33
|
-
await loadTargetFeature()(this.props.dispatch, () => this.props.getState);
|
|
34
|
-
} catch (error) {
|
|
35
|
-
console.error("FeatureBuilder WidgetGrid - Error in refresh:", error);
|
|
36
|
-
} finally {
|
|
37
|
-
this.onLoadingChanged(false);
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
};
|
|
41
|
-
onLoadingChanged = (loading, callback) => {
|
|
42
|
-
this.setState({
|
|
43
|
-
loading
|
|
44
|
-
}, () => {
|
|
45
|
-
if (this.props.onLoadingChanged) this.props.onLoadingChanged(this.state.loading);
|
|
46
|
-
if (callback) callback();
|
|
47
|
-
});
|
|
48
|
-
};
|
|
49
|
-
onPress = () => {
|
|
50
|
-
Services.navigation.navigate(values.screens.featureList, {
|
|
51
|
-
options: this.props.options
|
|
52
|
-
});
|
|
53
|
-
};
|
|
54
55
|
render() {
|
|
55
56
|
const {
|
|
56
57
|
colourBrandingMain,
|
|
57
58
|
featureDefinitions,
|
|
58
59
|
targetFeatureDefinition
|
|
59
60
|
} = this.props;
|
|
60
|
-
const title = targetFeatureDefinition
|
|
61
|
+
const title = (targetFeatureDefinition === null || targetFeatureDefinition === void 0 ? void 0 : targetFeatureDefinition.title) || (targetFeatureDefinition === null || targetFeatureDefinition === void 0 ? void 0 : targetFeatureDefinition.displayName) || values.featureName || "Feature Builder";
|
|
61
62
|
const isLoading = this.state.loading;
|
|
62
|
-
const featureCount = featureDefinitions
|
|
63
|
-
return /*#__PURE__*/
|
|
63
|
+
const featureCount = (featureDefinitions === null || featureDefinitions === void 0 ? void 0 : featureDefinitions.length) || 0;
|
|
64
|
+
return /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
64
65
|
onPress: this.onPress,
|
|
65
|
-
style: [styles.container]
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
children: /*#__PURE__*/_jsx(Text, {
|
|
83
|
-
style: styles.iconText,
|
|
84
|
-
children: "\u2699"
|
|
85
|
-
})
|
|
86
|
-
})]
|
|
87
|
-
})
|
|
88
|
-
});
|
|
66
|
+
style: [styles.container]
|
|
67
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
68
|
+
style: [styles.button, {
|
|
69
|
+
backgroundColor: colourBrandingMain
|
|
70
|
+
}]
|
|
71
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
72
|
+
style: styles.buttonTitleSection
|
|
73
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
74
|
+
style: [styles.buttonTitle, styles.buttonTitleLarge],
|
|
75
|
+
numberOfLines: 2
|
|
76
|
+
}, isLoading ? "Loading..." : title), /*#__PURE__*/React.createElement(Text, {
|
|
77
|
+
style: styles.subtitleText
|
|
78
|
+
}, isLoading ? "Please wait..." : `${featureCount} Feature${featureCount !== 1 ? "s" : ""} Available`)), /*#__PURE__*/React.createElement(View, {
|
|
79
|
+
style: styles.iconContainer
|
|
80
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
81
|
+
style: styles.iconText
|
|
82
|
+
}, "\u2699"))));
|
|
89
83
|
}
|
|
90
84
|
}
|
|
91
85
|
const mapStateToProps = state => {
|
|
86
|
+
var _state$strings;
|
|
92
87
|
const {
|
|
93
88
|
user,
|
|
94
89
|
notifications
|
|
@@ -100,7 +95,7 @@ const mapStateToProps = state => {
|
|
|
100
95
|
targetFeatureDefinition,
|
|
101
96
|
site: user.site,
|
|
102
97
|
dataUpdated: notifications.dataUpdated[values.notificationKey],
|
|
103
|
-
strings: state.strings
|
|
98
|
+
strings: ((_state$strings = state.strings) === null || _state$strings === void 0 ? void 0 : _state$strings.config) || {}
|
|
104
99
|
};
|
|
105
100
|
};
|
|
106
101
|
const styles = StyleSheet.create({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Component","Text","View","StyleSheet","TouchableOpacity","connect","_","Services","values","selectActiveFeatureDefinitions","getTargetFeatureDefinition","SPACING","getMainBrandingColourFromState","loadTargetFeature","jsx","_jsx","jsxs","_jsxs","WidgetGrid","constructor","props","state","loading","componentDidMount","refresh","componentDidUpdate","prevProps","dataUpdated","onLoadingChanged","dispatch","getState","error","console","callback","setState","onPress","navigation","navigate","screens","featureList","options","render","colourBrandingMain","featureDefinitions","targetFeatureDefinition","title","displayName","featureName","isLoading","featureCount","length","style","styles","container","children","button","backgroundColor","buttonTitleSection","buttonTitle","buttonTitleLarge","numberOfLines","subtitleText","iconContainer","iconText","mapStateToProps","user","notifications","site","notificationKey","strings","config","create","marginHorizontal","SM","marginVertical","borderRadius","padding","MD","minHeight","justifyContent","alignItems","flexDirection","flex","marginRight","color","fontSize","fontWeight","marginTop","XS","width","height","forwardRef"],"sourceRoot":"../../../src","sources":["components/WidgetGrid.js"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","Component","View","StyleSheet","TouchableOpacity","Text","connect","_","Services","values","selectActiveFeatureDefinitions","getTargetFeatureDefinition","SPACING","getMainBrandingColourFromState","loadTargetFeature","WidgetGrid","constructor","props","_defineProperty","onLoadingChanged","dispatch","getState","error","console","loading","callback","setState","state","navigation","navigate","screens","featureList","options","componentDidMount","refresh","componentDidUpdate","prevProps","dataUpdated","render","colourBrandingMain","featureDefinitions","targetFeatureDefinition","title","displayName","featureName","isLoading","featureCount","length","createElement","onPress","style","styles","container","button","backgroundColor","buttonTitleSection","buttonTitle","buttonTitleLarge","numberOfLines","subtitleText","iconContainer","iconText","mapStateToProps","_state$strings","user","notifications","site","notificationKey","strings","config","create","marginHorizontal","SM","marginVertical","borderRadius","padding","MD","minHeight","justifyContent","alignItems","flexDirection","flex","marginRight","color","fontSize","fontWeight","marginTop","XS","width","height","forwardRef"],"sources":["WidgetGrid.js"],"sourcesContent":["import React, { Component } from \"react\";\nimport { View, StyleSheet, TouchableOpacity } from \"react-native\";\nimport { Text } from \"@plusscommunities/pluss-core-app/components\";\nimport { connect } from \"react-redux\";\nimport _ from \"lodash\";\nimport { Services } from \"../feature.config\";\nimport { values } from \"../values.config\";\nimport { selectActiveFeatureDefinitions } from \"../utils/selectors\";\nimport { getTargetFeatureDefinition } from \"../utils/featureSelectors\";\nimport { SPACING } from \"../js/spacing\";\nimport { getMainBrandingColourFromState } from \"../js\";\nimport { loadTargetFeature } from \"../actions/featureBuilderActions\";\n\nclass WidgetGrid extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = { loading: false };\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.refresh();\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tif (!prevProps.dataUpdated && this.props.dataUpdated) {\n\t\t\tthis.refresh();\n\t\t}\n\t}\n\n\trefresh = () => {\n\t\tthis.onLoadingChanged(true, async () => {\n\t\t\ttry {\n\t\t\t\tawait loadTargetFeature()(\n\t\t\t\t\tthis.props.dispatch,\n\t\t\t\t\t() => this.props.getState,\n\t\t\t\t);\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(\"FeatureBuilder WidgetGrid - Error in refresh:\", error);\n\t\t\t} finally {\n\t\t\t\tthis.onLoadingChanged(false);\n\t\t\t}\n\t\t});\n\t};\n\n\tonLoadingChanged = (loading, callback) => {\n\t\tthis.setState({ loading }, () => {\n\t\t\tif (this.props.onLoadingChanged)\n\t\t\t\tthis.props.onLoadingChanged(this.state.loading);\n\t\t\tif (callback) callback();\n\t\t});\n\t};\n\n\tonPress = () => {\n\t\tServices.navigation.navigate(values.screens.featureList, {\n\t\t\toptions: this.props.options,\n\t\t});\n\t};\n\n\trender() {\n\t\tconst { colourBrandingMain, featureDefinitions, targetFeatureDefinition } =\n\t\t\tthis.props;\n\n\t\tconst title =\n\t\t\ttargetFeatureDefinition?.title ||\n\t\t\ttargetFeatureDefinition?.displayName ||\n\t\t\tvalues.featureName ||\n\t\t\t\"Feature Builder\";\n\n\t\tconst isLoading = this.state.loading;\n\t\tconst featureCount = featureDefinitions?.length || 0;\n\n\t\treturn (\n\t\t\t<TouchableOpacity onPress={this.onPress} style={[styles.container]}>\n\t\t\t\t<View\n\t\t\t\t\tstyle={[\n\t\t\t\t\t\tstyles.button,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tbackgroundColor: colourBrandingMain,\n\t\t\t\t\t\t},\n\t\t\t\t\t]}\n\t\t\t\t>\n\t\t\t\t\t<View style={styles.buttonTitleSection}>\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\tstyle={[styles.buttonTitle, styles.buttonTitleLarge]}\n\t\t\t\t\t\t\tnumberOfLines={2}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{isLoading ? \"Loading...\" : title}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t<Text style={styles.subtitleText}>\n\t\t\t\t\t\t\t{isLoading\n\t\t\t\t\t\t\t\t? \"Please wait...\"\n\t\t\t\t\t\t\t\t: `${featureCount} Feature${featureCount !== 1 ? \"s\" : \"\"} Available`}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</View>\n\t\t\t\t\t<View style={styles.iconContainer}>\n\t\t\t\t\t\t<Text style={styles.iconText}>⚙</Text>\n\t\t\t\t\t</View>\n\t\t\t\t</View>\n\t\t\t</TouchableOpacity>\n\t\t);\n\t}\n}\n\nconst mapStateToProps = (state) => {\n\tconst { user, notifications } = state;\n\n\tconst targetFeatureDefinition = getTargetFeatureDefinition(state);\n\n\treturn {\n\t\tcolourBrandingMain: getMainBrandingColourFromState(state),\n\t\tfeatureDefinitions: selectActiveFeatureDefinitions(state),\n\t\ttargetFeatureDefinition,\n\t\tsite: user.site,\n\t\tdataUpdated: notifications.dataUpdated[values.notificationKey],\n\t\tstrings: state.strings?.config || {},\n\t};\n};\n\nconst styles = StyleSheet.create({\n\tcontainer: {\n\t\tmarginHorizontal: SPACING.SM,\n\t\tmarginVertical: SPACING.SM,\n\t},\n\tbutton: {\n\t\tborderRadius: SPACING.SM,\n\t\tpadding: SPACING.MD,\n\t\tminHeight: 120,\n\t\tjustifyContent: \"space-between\",\n\t\talignItems: \"flex-start\",\n\t\tflexDirection: \"row\",\n\t},\n\tbuttonTitleSection: {\n\t\tflex: 1,\n\t\tmarginRight: SPACING.MD,\n\t\tjustifyContent: \"center\",\n\t},\n\tbuttonTitle: {\n\t\tcolor: \"#fff\",\n\t\tfontSize: 16,\n\t\tfontWeight: \"600\",\n\t},\n\tbuttonTitleLarge: {\n\t\tfontSize: 18,\n\t},\n\tsubtitleText: {\n\t\tcolor: \"rgba(255, 255, 255, 0.8)\",\n\t\tfontSize: 12,\n\t\tmarginTop: SPACING.XS,\n\t},\n\ticonContainer: {\n\t\twidth: 50,\n\t\theight: 50,\n\t\tborderRadius: 25,\n\t\tbackgroundColor: \"rgba(255, 255, 255, 0.2)\",\n\t\tjustifyContent: \"center\",\n\t\talignItems: \"center\",\n\t},\n\ticonText: {\n\t\tfontSize: 24,\n\t\tcolor: \"#fff\",\n\t},\n});\n\nexport default connect(mapStateToProps, null, null, { forwardRef: true })(\n\tWidgetGrid,\n);\n"],"mappings":"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","ignoreList":[]}
|