@plusscommunities/pluss-maintenance-app 8.0.17-beta.7 → 8.0.17
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.
|
@@ -4,6 +4,7 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
|
|
|
4
4
|
import React, { Component } from "react";
|
|
5
5
|
import { Text } from "@plusscommunities/pluss-core-app/components";
|
|
6
6
|
import { View, TouchableOpacity, Modal, ScrollView, Dimensions } from "react-native";
|
|
7
|
+
import { SafeAreaProvider, SafeAreaView } from "react-native-safe-area-context";
|
|
7
8
|
import { connect } from "react-redux";
|
|
8
9
|
import _ from "lodash";
|
|
9
10
|
import { maintenanceActions } from "../apis";
|
|
@@ -199,16 +200,17 @@ class FilterPopupMenu extends Component {
|
|
|
199
200
|
transparent: true,
|
|
200
201
|
animationType: "slide",
|
|
201
202
|
onRequestClose: this.onDone
|
|
202
|
-
}, /*#__PURE__*/React.createElement(View, {
|
|
203
|
+
}, /*#__PURE__*/React.createElement(SafeAreaProvider, null, /*#__PURE__*/React.createElement(View, {
|
|
203
204
|
style: styles.container
|
|
204
|
-
}, /*#__PURE__*/React.createElement(
|
|
205
|
-
style: styles.menu
|
|
205
|
+
}, /*#__PURE__*/React.createElement(SafeAreaView, {
|
|
206
|
+
style: styles.menu,
|
|
207
|
+
edges: ["bottom"]
|
|
206
208
|
}, this.renderTitle(), /*#__PURE__*/React.createElement(ScrollView, {
|
|
207
209
|
style: styles.optionContent
|
|
208
210
|
}, this.renderOptions("Status", this.getStatusOptions(), "selectedStatus"), isStaff ? this.renderOptions("Priority", this.getPriorityOptions(), "selectedPriority") : null, this.renderOptions("Type", this.state.types, "selectedType"), canFilterAssignee ? this.state.loadingAssignees ? this.renderOptions("Assigned To", [{
|
|
209
211
|
label: "Loading...",
|
|
210
212
|
value: ""
|
|
211
|
-
}], "selectedAssignee") : this.renderOptions("Assigned To", this.state.assignees, "selectedAssignee") : null), this.renderCancel())));
|
|
213
|
+
}], "selectedAssignee") : this.renderOptions("Assigned To", this.state.assignees, "selectedAssignee") : null), this.renderCancel()))));
|
|
212
214
|
}
|
|
213
215
|
}
|
|
214
216
|
const styles = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Component","Text","View","TouchableOpacity","Modal","ScrollView","Dimensions","connect","_","maintenanceActions","Colours","Helper","getJobStatusOptions","jobPriorityOptions","getDefaultJobPriority","values","SCREEN_HEIGHT","get","height","FilterPopupMenu","constructor","props","_defineProperty","statusOptions","options","label","value","map","s","text","priorityOptions","defaultPriority","p","res","getAssignees","site","newState","loadingAssignees","assignees","data","Users","t","displayName","id","orderBy","splice","some","a","state","selectedAssignee","setState","error","console","getJobTypes","getSite","types","typeName","key","_this$getStatusOption","_this$getPriorityOpti","_this$state$assignees","onClose","selectedStatus","selectedPriority","selectedType","status","statusText","getStatusOptions","find","o","priority","priorityText","getPriorityOptions","type","assignee","assigneeName","componentDidMount","isEmpty","refreshTypes","componentDidUpdate","prevProps","renderTitle","title","createElement","style","styles","titleContainer","titleText","renderCancel","colourBrandingMain","cancelText","onPress","onDone","cancelContainer","color","renderOptions","selectedKey","optionsContainer","optionsTitle","selected","backgroundColor","onSelectOption","optionContainer","borderColor","optionText","render","isStaff","user","category","canFilterAssignee","includes","permissions","permissionMaintenanceTracking","permissionMaintenanceAssignment","visible","transparent","animationType","onRequestClose","container","menu","optionContent","position","bottom","left","right","top","zIndex","borderTopLeftRadius","borderTopRightRadius","maxHeight","paddingVertical","LINEGREY","borderTopWidth","paddingHorizontal","fontFamily","fontSize","textAlign","TEXT_DARK","padding","borderBottomWidth","marginHorizontal","marginBottom","flex","flexDirection","flexWrap","alignItems","justifyContent","minWidth","borderRadius","borderWidth","marginRight","mapStateToProps","getMainBrandingColourFromState","statusTypes","reducerKey","jobstatuses"],"sources":["FilterPopupMenu.js"],"sourcesContent":["import React, { Component } from \"react\";\nimport { Text } from \"@plusscommunities/pluss-core-app/components\";\nimport {\n\tView,\n\tTouchableOpacity,\n\tModal,\n\tScrollView,\n\tDimensions,\n} from \"react-native\";\nimport { connect } from \"react-redux\";\nimport _ from \"lodash\";\nimport { maintenanceActions } from \"../apis\";\nimport { Colours, Helper } from \"../core.config\";\nimport {\n\tgetJobStatusOptions,\n\tjobPriorityOptions,\n\tgetDefaultJobPriority,\n} from \"../helper\";\nimport { values } from \"../values.config\";\n\nconst SCREEN_HEIGHT = Dimensions.get(\"window\").height;\n\nclass FilterPopupMenu extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\ttypes: props.types || [],\n\t\t\tselectedStatus: props.status || \"\",\n\t\t\tselectedPriority: props.priority || \"\",\n\t\t\tselectedType: props.type || \"\",\n\t\t\tselectedAssignee: props.assignee || \"\",\n\t\t\tassignees: [],\n\t\t\tloadingAssignees: true,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.getAssignees();\n\t\tif (_.isEmpty(this.state.types)) this.refreshTypes();\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tif (prevProps.site !== this.props.site) {\n\t\t\tthis.refreshTypes();\n\t\t}\n\t}\n\n\tgetStatusOptions = () => {\n\t\tconst statusOptions = getJobStatusOptions(this.props);\n\t\tconst options = [\n\t\t\t{\n\t\t\t\tlabel: \"All\",\n\t\t\t\tvalue: \"\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: \"Incomplete\",\n\t\t\t\tvalue: \"Incomplete\",\n\t\t\t},\n\t\t\t...statusOptions.map((s) => ({\n\t\t\t\tlabel: s.text,\n\t\t\t\tvalue: s.text,\n\t\t\t})),\n\t\t];\n\t\t// console.log('getStatusOptions', JSON.stringify(options, null, 2));\n\t\treturn options;\n\t};\n\n\tgetPriorityOptions = () => {\n\t\tconst priorityOptions = jobPriorityOptions;\n\t\tconst defaultPriority = getDefaultJobPriority();\n\t\tconst options = [\n\t\t\t{\n\t\t\t\tlabel: \"All\",\n\t\t\t\tvalue: \"\",\n\t\t\t},\n\t\t\t...priorityOptions.map((p) => ({\n\t\t\t\tlabel: p.label,\n\t\t\t\tvalue:\n\t\t\t\t\tp.label === defaultPriority?.label ? `${p.label}|undefined` : p.label,\n\t\t\t})),\n\t\t];\n\t\t// console.log('getPriorityOptions', JSON.stringify(options, null, 2));\n\t\treturn options;\n\t};\n\n\tgetAssignees = async () => {\n\t\ttry {\n\t\t\tconst res = await maintenanceActions.getAssignees(this.props.site);\n\t\t\tconst newState = { loadingAssignees: false };\n\t\t\tlet assignees = res.data.Users.map((t) => {\n\t\t\t\treturn { label: t.displayName, value: t.id };\n\t\t\t});\n\t\t\tassignees = _.orderBy(assignees, \"label\");\n\n\t\t\tassignees.splice(0, 0, { label: \"All\", value: \"\" });\n\n\t\t\tif (!assignees.some((a) => a.value === this.state.selectedAssignee)) {\n\t\t\t\tnewState.selectedAssignee = \"\";\n\t\t\t}\n\t\t\tnewState.assignees = assignees;\n\t\t\t// console.log('refreshassignees', assignees);\n\t\t\tthis.setState(newState);\n\t\t} catch (error) {\n\t\t\tconsole.error(\"getAssignees\", error);\n\t\t\tthis.setState({ loadingAssignees: false });\n\t\t}\n\t};\n\n\trefreshTypes = async () => {\n\t\tconst { data } = await maintenanceActions.getJobTypes(\n\t\t\tHelper.getSite(this.props.site),\n\t\t);\n\t\tconst types = data.map((t) => {\n\t\t\treturn { label: t.typeName, value: t.typeName };\n\t\t});\n\t\ttypes.splice(0, 0, { label: \"All\", value: \"\" });\n\t\t// console.log('refreshTypes', types);\n\t\tthis.setState({ types });\n\t};\n\n\tonSelectOption = (key, value) => {\n\t\tconst newState = {};\n\t\tnewState[key] = value;\n\t\tthis.setState(newState);\n\t};\n\n\tonDone = () => {\n\t\tconst { onClose } = this.props;\n\t\tconst { selectedStatus, selectedPriority, selectedType, selectedAssignee } =\n\t\t\tthis.state;\n\t\tif (onClose)\n\t\t\tonClose({\n\t\t\t\tstatus: selectedStatus,\n\t\t\t\tstatusText: this.getStatusOptions().find(\n\t\t\t\t\t(o) => o.value === selectedStatus,\n\t\t\t\t)?.label,\n\t\t\t\tpriority: selectedPriority,\n\t\t\t\tpriorityText: this.getPriorityOptions().find(\n\t\t\t\t\t(o) => o.value === selectedPriority,\n\t\t\t\t)?.label,\n\t\t\t\ttype: selectedType,\n\t\t\t\tassignee: selectedAssignee,\n\t\t\t\tassigneeName: this.state.assignees.find(\n\t\t\t\t\t(a) => a.value === selectedAssignee,\n\t\t\t\t)?.label,\n\t\t\t});\n\t};\n\n\trenderTitle() {\n\t\tconst { title } = this.props;\n\t\treturn (\n\t\t\t<View style={styles.titleContainer}>\n\t\t\t\t<Text style={styles.titleText}>{title || \"Filter By\"}</Text>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderCancel() {\n\t\tconst { colourBrandingMain, cancelText } = this.props;\n\t\treturn (\n\t\t\t<TouchableOpacity onPress={this.onDone}>\n\t\t\t\t<View style={styles.cancelContainer}>\n\t\t\t\t\t<Text style={[styles.cancelText, { color: colourBrandingMain }]}>\n\t\t\t\t\t\t{cancelText || \"Done\"}\n\t\t\t\t\t</Text>\n\t\t\t\t</View>\n\t\t\t</TouchableOpacity>\n\t\t);\n\t}\n\n\trenderOptions(title, options, selectedKey) {\n\t\tconst { colourBrandingMain } = this.props;\n\t\treturn (\n\t\t\t<View style={styles.optionsContainer}>\n\t\t\t\t<Text style={styles.optionsTitle}>{title}</Text>\n\t\t\t\t<View style={styles.options}>\n\t\t\t\t\t{options.map((o) => {\n\t\t\t\t\t\tconst selected = this.state[selectedKey];\n\t\t\t\t\t\tconst backgroundColor =\n\t\t\t\t\t\t\to.value === selected ? colourBrandingMain : \"#fff\";\n\t\t\t\t\t\tconst color = o.value === selected ? \"#fff\" : colourBrandingMain;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\t\t\tkey={o.label}\n\t\t\t\t\t\t\t\tonPress={() => this.onSelectOption(selectedKey, o.value)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\t\t\t\tstyles.optionContainer,\n\t\t\t\t\t\t\t\t\t\t{ backgroundColor, borderColor: colourBrandingMain },\n\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<Text style={[styles.optionText, { color }]}>{o.label}</Text>\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</View>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trender() {\n\t\t// console.log('FilterPopupMenu', JSON.stringify({ category: this.props.user.category, permissions: this.props.user.permissions }, null, 2))\n\t\tconst isStaff = this.props.user.category === \"staff\";\n\t\tconst canFilterAssignee =\n\t\t\tthis.props.user.category === \"master\" ||\n\t\t\tthis.props.user.category === \"staff\" ||\n\t\t\t_.includes(\n\t\t\t\tthis.props.user.permissions,\n\t\t\t\tvalues.permissionMaintenanceTracking,\n\t\t\t) ||\n\t\t\t_.includes(\n\t\t\t\tthis.props.user.permissions,\n\t\t\t\tvalues.permissionMaintenanceAssignment,\n\t\t\t);\n\n\t\treturn (\n\t\t\t<Modal\n\t\t\t\tvisible\n\t\t\t\ttransparent\n\t\t\t\tanimationType=\"slide\"\n\t\t\t\tonRequestClose={this.onDone}\n\t\t\t>\n\t\t\t\t<View style={styles.container}>\n\t\t\t\t\t<View style={styles.menu}>\n\t\t\t\t\t\t{this.renderTitle()}\n\t\t\t\t\t\t<ScrollView style={styles.optionContent}>\n\t\t\t\t\t\t\t{this.renderOptions(\n\t\t\t\t\t\t\t\t\"Status\",\n\t\t\t\t\t\t\t\tthis.getStatusOptions(),\n\t\t\t\t\t\t\t\t\"selectedStatus\",\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{isStaff\n\t\t\t\t\t\t\t\t? this.renderOptions(\n\t\t\t\t\t\t\t\t\t\t\"Priority\",\n\t\t\t\t\t\t\t\t\t\tthis.getPriorityOptions(),\n\t\t\t\t\t\t\t\t\t\t\"selectedPriority\",\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t\t{this.renderOptions(\"Type\", this.state.types, \"selectedType\")}\n\t\t\t\t\t\t\t{canFilterAssignee\n\t\t\t\t\t\t\t\t? this.state.loadingAssignees\n\t\t\t\t\t\t\t\t\t? this.renderOptions(\n\t\t\t\t\t\t\t\t\t\t\t\"Assigned To\",\n\t\t\t\t\t\t\t\t\t\t\t[{ label: \"Loading...\", value: \"\" }],\n\t\t\t\t\t\t\t\t\t\t\t\"selectedAssignee\",\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t: this.renderOptions(\n\t\t\t\t\t\t\t\t\t\t\t\"Assigned To\",\n\t\t\t\t\t\t\t\t\t\t\tthis.state.assignees,\n\t\t\t\t\t\t\t\t\t\t\t\"selectedAssignee\",\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t</ScrollView>\n\t\t\t\t\t\t{this.renderCancel()}\n\t\t\t\t\t</View>\n\t\t\t\t</View>\n\t\t\t</Modal>\n\t\t);\n\t}\n}\n\nconst styles = {\n\tcontainer: {\n\t\tposition: \"absolute\",\n\t\tbottom: 0,\n\t\tleft: 0,\n\t\tright: 0,\n\t\ttop: 0,\n\t\tbackgroundColor: \"rgba(0,0,0,0.5)\",\n\t\tzIndex: 1000,\n\t},\n\tmenu: {\n\t\tposition: \"absolute\",\n\t\tbottom: 0,\n\t\tleft: 0,\n\t\tright: 0,\n\t\tbackgroundColor: \"#fff\",\n\t\tborderTopLeftRadius: 12,\n\t\tborderTopRightRadius: 12,\n\t\tmaxHeight: SCREEN_HEIGHT * 0.8,\n\t},\n\tcancelContainer: {\n\t\tpaddingVertical: 16,\n\t\tborderColor: Colours.LINEGREY,\n\t\tborderTopWidth: 1,\n\t\tpaddingHorizontal: 16,\n\t},\n\tcancelText: {\n\t\tfontFamily: \"sf-medium\",\n\t\tfontSize: 16,\n\t\ttextAlign: \"center\",\n\t\tcolor: Colours.TEXT_DARK,\n\t},\n\ttitleContainer: {\n\t\tpadding: 16,\n\t\tborderColor: Colours.LINEGREY,\n\t\tborderBottomWidth: 1,\n\t},\n\ttitleText: {\n\t\tfontFamily: \"sf-semibold\",\n\t\tfontSize: 16,\n\t\ttextAlign: \"center\",\n\t\tcolor: Colours.TEXT_DARK,\n\t},\n\toptionContent: {\n\t\tpaddingVertical: 10,\n\t},\n\toptionsContainer: {\n\t\tmarginHorizontal: 14,\n\t},\n\toptionsTitle: {\n\t\tfontFamily: \"sf-semibold\",\n\t\tmarginBottom: 4,\n\t},\n\toptions: {\n\t\tflex: 1,\n\t\tflexDirection: \"row\",\n\t\tflexWrap: \"wrap\",\n\t},\n\toptionContainer: {\n\t\tflexDirection: \"row\",\n\t\talignItems: \"center\",\n\t\tjustifyContent: \"center\",\n\t\tminWidth: 50,\n\t\theight: 30,\n\t\tpaddingHorizontal: 8,\n\t\tborderRadius: 4,\n\t\tborderWidth: 1,\n\t\tmarginRight: 8,\n\t\tmarginBottom: 8,\n\t},\n\toptionText: {\n\t\tcolor: \"#fff\",\n\t\ttextAlign: \"center\",\n\t\tfontFamily: \"sf-semibold\",\n\t\tfontSize: 13,\n\t},\n};\n\nconst mapStateToProps = (state) => {\n\tconst { user } = state;\n\n\treturn {\n\t\tuser,\n\t\tsite: user.site,\n\t\tcolourBrandingMain: Colours.getMainBrandingColourFromState(state),\n\t\tstatusTypes: state[values.reducerKey].jobstatuses,\n\t};\n};\n\nexport default connect(mapStateToProps, {})(FilterPopupMenu);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","Component","Text","View","TouchableOpacity","Modal","ScrollView","Dimensions","SafeAreaProvider","SafeAreaView","connect","_","maintenanceActions","Colours","Helper","getJobStatusOptions","jobPriorityOptions","getDefaultJobPriority","values","SCREEN_HEIGHT","get","height","FilterPopupMenu","constructor","props","_defineProperty","statusOptions","options","label","value","map","s","text","priorityOptions","defaultPriority","p","res","getAssignees","site","newState","loadingAssignees","assignees","data","Users","t","displayName","id","orderBy","splice","some","a","state","selectedAssignee","setState","error","console","getJobTypes","getSite","types","typeName","key","_this$getStatusOption","_this$getPriorityOpti","_this$state$assignees","onClose","selectedStatus","selectedPriority","selectedType","status","statusText","getStatusOptions","find","o","priority","priorityText","getPriorityOptions","type","assignee","assigneeName","componentDidMount","isEmpty","refreshTypes","componentDidUpdate","prevProps","renderTitle","title","createElement","style","styles","titleContainer","titleText","renderCancel","colourBrandingMain","cancelText","onPress","onDone","cancelContainer","color","renderOptions","selectedKey","optionsContainer","optionsTitle","selected","backgroundColor","onSelectOption","optionContainer","borderColor","optionText","render","isStaff","user","category","canFilterAssignee","includes","permissions","permissionMaintenanceTracking","permissionMaintenanceAssignment","visible","transparent","animationType","onRequestClose","container","menu","edges","optionContent","position","bottom","left","right","top","zIndex","borderTopLeftRadius","borderTopRightRadius","maxHeight","paddingVertical","LINEGREY","borderTopWidth","paddingHorizontal","fontFamily","fontSize","textAlign","TEXT_DARK","padding","borderBottomWidth","marginHorizontal","marginBottom","flex","flexDirection","flexWrap","alignItems","justifyContent","minWidth","borderRadius","borderWidth","marginRight","mapStateToProps","getMainBrandingColourFromState","statusTypes","reducerKey","jobstatuses"],"sources":["FilterPopupMenu.js"],"sourcesContent":["import React, { Component } from \"react\";\nimport { Text } from \"@plusscommunities/pluss-core-app/components\";\nimport {\n\tView,\n\tTouchableOpacity,\n\tModal,\n\tScrollView,\n\tDimensions,\n} from \"react-native\";\nimport {\n\tSafeAreaProvider,\n\tSafeAreaView,\n} from \"react-native-safe-area-context\";\nimport { connect } from \"react-redux\";\nimport _ from \"lodash\";\nimport { maintenanceActions } from \"../apis\";\nimport { Colours, Helper } from \"../core.config\";\nimport {\n\tgetJobStatusOptions,\n\tjobPriorityOptions,\n\tgetDefaultJobPriority,\n} from \"../helper\";\nimport { values } from \"../values.config\";\n\nconst SCREEN_HEIGHT = Dimensions.get(\"window\").height;\n\nclass FilterPopupMenu extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\ttypes: props.types || [],\n\t\t\tselectedStatus: props.status || \"\",\n\t\t\tselectedPriority: props.priority || \"\",\n\t\t\tselectedType: props.type || \"\",\n\t\t\tselectedAssignee: props.assignee || \"\",\n\t\t\tassignees: [],\n\t\t\tloadingAssignees: true,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.getAssignees();\n\t\tif (_.isEmpty(this.state.types)) this.refreshTypes();\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tif (prevProps.site !== this.props.site) {\n\t\t\tthis.refreshTypes();\n\t\t}\n\t}\n\n\tgetStatusOptions = () => {\n\t\tconst statusOptions = getJobStatusOptions(this.props);\n\t\tconst options = [\n\t\t\t{\n\t\t\t\tlabel: \"All\",\n\t\t\t\tvalue: \"\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: \"Incomplete\",\n\t\t\t\tvalue: \"Incomplete\",\n\t\t\t},\n\t\t\t...statusOptions.map((s) => ({\n\t\t\t\tlabel: s.text,\n\t\t\t\tvalue: s.text,\n\t\t\t})),\n\t\t];\n\t\t// console.log('getStatusOptions', JSON.stringify(options, null, 2));\n\t\treturn options;\n\t};\n\n\tgetPriorityOptions = () => {\n\t\tconst priorityOptions = jobPriorityOptions;\n\t\tconst defaultPriority = getDefaultJobPriority();\n\t\tconst options = [\n\t\t\t{\n\t\t\t\tlabel: \"All\",\n\t\t\t\tvalue: \"\",\n\t\t\t},\n\t\t\t...priorityOptions.map((p) => ({\n\t\t\t\tlabel: p.label,\n\t\t\t\tvalue:\n\t\t\t\t\tp.label === defaultPriority?.label ? `${p.label}|undefined` : p.label,\n\t\t\t})),\n\t\t];\n\t\t// console.log('getPriorityOptions', JSON.stringify(options, null, 2));\n\t\treturn options;\n\t};\n\n\tgetAssignees = async () => {\n\t\ttry {\n\t\t\tconst res = await maintenanceActions.getAssignees(this.props.site);\n\t\t\tconst newState = { loadingAssignees: false };\n\t\t\tlet assignees = res.data.Users.map((t) => {\n\t\t\t\treturn { label: t.displayName, value: t.id };\n\t\t\t});\n\t\t\tassignees = _.orderBy(assignees, \"label\");\n\n\t\t\tassignees.splice(0, 0, { label: \"All\", value: \"\" });\n\n\t\t\tif (!assignees.some((a) => a.value === this.state.selectedAssignee)) {\n\t\t\t\tnewState.selectedAssignee = \"\";\n\t\t\t}\n\t\t\tnewState.assignees = assignees;\n\t\t\t// console.log('refreshassignees', assignees);\n\t\t\tthis.setState(newState);\n\t\t} catch (error) {\n\t\t\tconsole.error(\"getAssignees\", error);\n\t\t\tthis.setState({ loadingAssignees: false });\n\t\t}\n\t};\n\n\trefreshTypes = async () => {\n\t\tconst { data } = await maintenanceActions.getJobTypes(\n\t\t\tHelper.getSite(this.props.site),\n\t\t);\n\t\tconst types = data.map((t) => {\n\t\t\treturn { label: t.typeName, value: t.typeName };\n\t\t});\n\t\ttypes.splice(0, 0, { label: \"All\", value: \"\" });\n\t\t// console.log('refreshTypes', types);\n\t\tthis.setState({ types });\n\t};\n\n\tonSelectOption = (key, value) => {\n\t\tconst newState = {};\n\t\tnewState[key] = value;\n\t\tthis.setState(newState);\n\t};\n\n\tonDone = () => {\n\t\tconst { onClose } = this.props;\n\t\tconst { selectedStatus, selectedPriority, selectedType, selectedAssignee } =\n\t\t\tthis.state;\n\t\tif (onClose)\n\t\t\tonClose({\n\t\t\t\tstatus: selectedStatus,\n\t\t\t\tstatusText: this.getStatusOptions().find(\n\t\t\t\t\t(o) => o.value === selectedStatus,\n\t\t\t\t)?.label,\n\t\t\t\tpriority: selectedPriority,\n\t\t\t\tpriorityText: this.getPriorityOptions().find(\n\t\t\t\t\t(o) => o.value === selectedPriority,\n\t\t\t\t)?.label,\n\t\t\t\ttype: selectedType,\n\t\t\t\tassignee: selectedAssignee,\n\t\t\t\tassigneeName: this.state.assignees.find(\n\t\t\t\t\t(a) => a.value === selectedAssignee,\n\t\t\t\t)?.label,\n\t\t\t});\n\t};\n\n\trenderTitle() {\n\t\tconst { title } = this.props;\n\t\treturn (\n\t\t\t<View style={styles.titleContainer}>\n\t\t\t\t<Text style={styles.titleText}>{title || \"Filter By\"}</Text>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderCancel() {\n\t\tconst { colourBrandingMain, cancelText } = this.props;\n\t\treturn (\n\t\t\t<TouchableOpacity onPress={this.onDone}>\n\t\t\t\t<View style={styles.cancelContainer}>\n\t\t\t\t\t<Text style={[styles.cancelText, { color: colourBrandingMain }]}>\n\t\t\t\t\t\t{cancelText || \"Done\"}\n\t\t\t\t\t</Text>\n\t\t\t\t</View>\n\t\t\t</TouchableOpacity>\n\t\t);\n\t}\n\n\trenderOptions(title, options, selectedKey) {\n\t\tconst { colourBrandingMain } = this.props;\n\t\treturn (\n\t\t\t<View style={styles.optionsContainer}>\n\t\t\t\t<Text style={styles.optionsTitle}>{title}</Text>\n\t\t\t\t<View style={styles.options}>\n\t\t\t\t\t{options.map((o) => {\n\t\t\t\t\t\tconst selected = this.state[selectedKey];\n\t\t\t\t\t\tconst backgroundColor =\n\t\t\t\t\t\t\to.value === selected ? colourBrandingMain : \"#fff\";\n\t\t\t\t\t\tconst color = o.value === selected ? \"#fff\" : colourBrandingMain;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\t\t\tkey={o.label}\n\t\t\t\t\t\t\t\tonPress={() => this.onSelectOption(selectedKey, o.value)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\t\t\t\tstyles.optionContainer,\n\t\t\t\t\t\t\t\t\t\t{ backgroundColor, borderColor: colourBrandingMain },\n\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<Text style={[styles.optionText, { color }]}>{o.label}</Text>\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</View>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trender() {\n\t\t// console.log('FilterPopupMenu', JSON.stringify({ category: this.props.user.category, permissions: this.props.user.permissions }, null, 2))\n\t\tconst isStaff = this.props.user.category === \"staff\";\n\t\tconst canFilterAssignee =\n\t\t\tthis.props.user.category === \"master\" ||\n\t\t\tthis.props.user.category === \"staff\" ||\n\t\t\t_.includes(\n\t\t\t\tthis.props.user.permissions,\n\t\t\t\tvalues.permissionMaintenanceTracking,\n\t\t\t) ||\n\t\t\t_.includes(\n\t\t\t\tthis.props.user.permissions,\n\t\t\t\tvalues.permissionMaintenanceAssignment,\n\t\t\t);\n\n\t\treturn (\n\t\t\t<Modal\n\t\t\t\tvisible\n\t\t\t\ttransparent\n\t\t\t\tanimationType=\"slide\"\n\t\t\t\tonRequestClose={this.onDone}\n\t\t\t>\n\t\t\t\t<SafeAreaProvider>\n\t\t\t\t\t<View style={styles.container}>\n\t\t\t\t\t\t<SafeAreaView style={styles.menu} edges={[\"bottom\"]}>\n\t\t\t\t\t\t\t{this.renderTitle()}\n\t\t\t\t\t\t\t<ScrollView style={styles.optionContent}>\n\t\t\t\t\t\t\t\t{this.renderOptions(\n\t\t\t\t\t\t\t\t\t\"Status\",\n\t\t\t\t\t\t\t\t\tthis.getStatusOptions(),\n\t\t\t\t\t\t\t\t\t\"selectedStatus\",\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{isStaff\n\t\t\t\t\t\t\t\t\t? this.renderOptions(\n\t\t\t\t\t\t\t\t\t\t\t\"Priority\",\n\t\t\t\t\t\t\t\t\t\t\tthis.getPriorityOptions(),\n\t\t\t\t\t\t\t\t\t\t\t\"selectedPriority\",\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t\t\t{this.renderOptions(\"Type\", this.state.types, \"selectedType\")}\n\t\t\t\t\t\t\t\t{canFilterAssignee\n\t\t\t\t\t\t\t\t\t? this.state.loadingAssignees\n\t\t\t\t\t\t\t\t\t\t? this.renderOptions(\n\t\t\t\t\t\t\t\t\t\t\t\t\"Assigned To\",\n\t\t\t\t\t\t\t\t\t\t\t\t[{ label: \"Loading...\", value: \"\" }],\n\t\t\t\t\t\t\t\t\t\t\t\t\"selectedAssignee\",\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t: this.renderOptions(\n\t\t\t\t\t\t\t\t\t\t\t\t\"Assigned To\",\n\t\t\t\t\t\t\t\t\t\t\t\tthis.state.assignees,\n\t\t\t\t\t\t\t\t\t\t\t\t\"selectedAssignee\",\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t\t</ScrollView>\n\t\t\t\t\t\t\t{this.renderCancel()}\n\t\t\t\t\t\t</SafeAreaView>\n\t\t\t\t\t</View>\n\t\t\t\t</SafeAreaProvider>\n\t\t\t</Modal>\n\t\t);\n\t}\n}\n\nconst styles = {\n\tcontainer: {\n\t\tposition: \"absolute\",\n\t\tbottom: 0,\n\t\tleft: 0,\n\t\tright: 0,\n\t\ttop: 0,\n\t\tbackgroundColor: \"rgba(0,0,0,0.5)\",\n\t\tzIndex: 1000,\n\t},\n\tmenu: {\n\t\tposition: \"absolute\",\n\t\tbottom: 0,\n\t\tleft: 0,\n\t\tright: 0,\n\t\tbackgroundColor: \"#fff\",\n\t\tborderTopLeftRadius: 12,\n\t\tborderTopRightRadius: 12,\n\t\tmaxHeight: SCREEN_HEIGHT * 0.8,\n\t},\n\tcancelContainer: {\n\t\tpaddingVertical: 16,\n\t\tborderColor: Colours.LINEGREY,\n\t\tborderTopWidth: 1,\n\t\tpaddingHorizontal: 16,\n\t},\n\tcancelText: {\n\t\tfontFamily: \"sf-medium\",\n\t\tfontSize: 16,\n\t\ttextAlign: \"center\",\n\t\tcolor: Colours.TEXT_DARK,\n\t},\n\ttitleContainer: {\n\t\tpadding: 16,\n\t\tborderColor: Colours.LINEGREY,\n\t\tborderBottomWidth: 1,\n\t},\n\ttitleText: {\n\t\tfontFamily: \"sf-semibold\",\n\t\tfontSize: 16,\n\t\ttextAlign: \"center\",\n\t\tcolor: Colours.TEXT_DARK,\n\t},\n\toptionContent: {\n\t\tpaddingVertical: 10,\n\t},\n\toptionsContainer: {\n\t\tmarginHorizontal: 14,\n\t},\n\toptionsTitle: {\n\t\tfontFamily: \"sf-semibold\",\n\t\tmarginBottom: 4,\n\t},\n\toptions: {\n\t\tflex: 1,\n\t\tflexDirection: \"row\",\n\t\tflexWrap: \"wrap\",\n\t},\n\toptionContainer: {\n\t\tflexDirection: \"row\",\n\t\talignItems: \"center\",\n\t\tjustifyContent: \"center\",\n\t\tminWidth: 50,\n\t\theight: 30,\n\t\tpaddingHorizontal: 8,\n\t\tborderRadius: 4,\n\t\tborderWidth: 1,\n\t\tmarginRight: 8,\n\t\tmarginBottom: 8,\n\t},\n\toptionText: {\n\t\tcolor: \"#fff\",\n\t\ttextAlign: \"center\",\n\t\tfontFamily: \"sf-semibold\",\n\t\tfontSize: 13,\n\t},\n};\n\nconst mapStateToProps = (state) => {\n\tconst { user } = state;\n\n\treturn {\n\t\tuser,\n\t\tsite: user.site,\n\t\tcolourBrandingMain: Colours.getMainBrandingColourFromState(state),\n\t\tstatusTypes: state[values.reducerKey].jobstatuses,\n\t};\n};\n\nexport default connect(mapStateToProps, {})(FilterPopupMenu);\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plusscommunities/pluss-maintenance-app",
|
|
3
|
-
"version": "8.0.17
|
|
3
|
+
"version": "8.0.17",
|
|
4
4
|
"description": "Extension package to enable maintenance on Pluss Communities Platform",
|
|
5
5
|
"main": "dist/module/index.js",
|
|
6
6
|
"module": "dist/module/index.js",
|
|
7
7
|
"react-native": "src/index.js",
|
|
8
|
-
"files": [
|
|
8
|
+
"files": [
|
|
9
|
+
"dist/",
|
|
10
|
+
"src/"
|
|
11
|
+
],
|
|
9
12
|
"scripts": {
|
|
10
13
|
"build": "npm i && bob build",
|
|
11
14
|
"betapatch": "npm version prepatch --preid=beta",
|
|
@@ -44,6 +47,8 @@
|
|
|
44
47
|
"react-native-builder-bob": {
|
|
45
48
|
"source": "src",
|
|
46
49
|
"output": "dist",
|
|
47
|
-
"targets": [
|
|
50
|
+
"targets": [
|
|
51
|
+
"module"
|
|
52
|
+
]
|
|
48
53
|
}
|
|
49
54
|
}
|
|
@@ -7,6 +7,10 @@ import {
|
|
|
7
7
|
ScrollView,
|
|
8
8
|
Dimensions,
|
|
9
9
|
} from "react-native";
|
|
10
|
+
import {
|
|
11
|
+
SafeAreaProvider,
|
|
12
|
+
SafeAreaView,
|
|
13
|
+
} from "react-native-safe-area-context";
|
|
10
14
|
import { connect } from "react-redux";
|
|
11
15
|
import _ from "lodash";
|
|
12
16
|
import { maintenanceActions } from "../apis";
|
|
@@ -223,40 +227,42 @@ class FilterPopupMenu extends Component {
|
|
|
223
227
|
animationType="slide"
|
|
224
228
|
onRequestClose={this.onDone}
|
|
225
229
|
>
|
|
226
|
-
<
|
|
227
|
-
<View style={styles.
|
|
228
|
-
{
|
|
229
|
-
|
|
230
|
-
{
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
"Priority",
|
|
238
|
-
this.getPriorityOptions(),
|
|
239
|
-
"selectedPriority",
|
|
240
|
-
)
|
|
241
|
-
: null}
|
|
242
|
-
{this.renderOptions("Type", this.state.types, "selectedType")}
|
|
243
|
-
{canFilterAssignee
|
|
244
|
-
? this.state.loadingAssignees
|
|
230
|
+
<SafeAreaProvider>
|
|
231
|
+
<View style={styles.container}>
|
|
232
|
+
<SafeAreaView style={styles.menu} edges={["bottom"]}>
|
|
233
|
+
{this.renderTitle()}
|
|
234
|
+
<ScrollView style={styles.optionContent}>
|
|
235
|
+
{this.renderOptions(
|
|
236
|
+
"Status",
|
|
237
|
+
this.getStatusOptions(),
|
|
238
|
+
"selectedStatus",
|
|
239
|
+
)}
|
|
240
|
+
{isStaff
|
|
245
241
|
? this.renderOptions(
|
|
246
|
-
"
|
|
247
|
-
|
|
248
|
-
"
|
|
249
|
-
)
|
|
250
|
-
: this.renderOptions(
|
|
251
|
-
"Assigned To",
|
|
252
|
-
this.state.assignees,
|
|
253
|
-
"selectedAssignee",
|
|
242
|
+
"Priority",
|
|
243
|
+
this.getPriorityOptions(),
|
|
244
|
+
"selectedPriority",
|
|
254
245
|
)
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
246
|
+
: null}
|
|
247
|
+
{this.renderOptions("Type", this.state.types, "selectedType")}
|
|
248
|
+
{canFilterAssignee
|
|
249
|
+
? this.state.loadingAssignees
|
|
250
|
+
? this.renderOptions(
|
|
251
|
+
"Assigned To",
|
|
252
|
+
[{ label: "Loading...", value: "" }],
|
|
253
|
+
"selectedAssignee",
|
|
254
|
+
)
|
|
255
|
+
: this.renderOptions(
|
|
256
|
+
"Assigned To",
|
|
257
|
+
this.state.assignees,
|
|
258
|
+
"selectedAssignee",
|
|
259
|
+
)
|
|
260
|
+
: null}
|
|
261
|
+
</ScrollView>
|
|
262
|
+
{this.renderCancel()}
|
|
263
|
+
</SafeAreaView>
|
|
258
264
|
</View>
|
|
259
|
-
</
|
|
265
|
+
</SafeAreaProvider>
|
|
260
266
|
</Modal>
|
|
261
267
|
);
|
|
262
268
|
}
|