@plusscommunities/pluss-maintenance-app-forms 8.0.9-beta.2 → 8.0.9-beta.4

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.
@@ -59,7 +59,7 @@ class MaintenanceUserPicker extends Component {
59
59
  if (_.isEmpty(this.props.users)) {
60
60
  return /*#__PURE__*/React.createElement(View, {
61
61
  style: {
62
- marginTop: 16
62
+ marginTop: 8
63
63
  }
64
64
  }, /*#__PURE__*/React.createElement(Components.Spinner, null));
65
65
  }
@@ -73,7 +73,7 @@ class MaintenanceUserPicker extends Component {
73
73
  }
74
74
  return /*#__PURE__*/React.createElement(Components.FormCard, {
75
75
  style: {
76
- marginTop: 16
76
+ marginTop: 8
77
77
  }
78
78
  }, this.renderOptions(filteredUsers));
79
79
  }
@@ -175,7 +175,9 @@ const styles = {
175
175
  searchContainer: {
176
176
  flexDirection: "row",
177
177
  alignItems: "center",
178
- margin: 15,
178
+ marginHorizontal: 15,
179
+ marginTop: 10,
180
+ marginBottom: 0,
179
181
  backgroundColor: "#fff",
180
182
  borderRadius: 8,
181
183
  paddingHorizontal: 12,
@@ -1 +1 @@
1
- {"version":3,"names":["React","Component","_","TouchableOpacity","View","ScrollView","Text","TextInput","Keyboard","connect","Icon","Services","Components","Colours","MaintenanceUserPicker","constructor","args","_defineProperty","currentUser","searchText","text","setState","state","users","props","length","searchLower","toLowerCase","filter","user","displayName","unit","includes","UNSAFE_componentWillMount","onPressBack","navigation","goBack","onUserPress","dismiss","onSelectUser","setTimeout","renderMain","isEmpty","createElement","style","marginTop","Spinner","filteredUsers","getFilteredUsers","styles","noResultsContainer","noResultsText","FormCard","renderOptions","map","index","key","onPress","bind","FormCardSection","label","labelStyle","height","margin","hasUnderline","hasContent","rowContainer","userContainer","ProfilePic","profilePic","Diameter","labelText","name","type","iconStyle","color","fontSize","isEqual","COLOUR_GREEN","renderSearch","searchContainer","searchIcon","placeholder","autoCorrect","placeholderTextColor","TEXT_MID_ALPHA50","onChangeText","onChangeSearch","value","underlineColorAndroid","COLOUR_TRANSPARENT","returnKeyType","clearButton","clearIcon","render","container","Header","leftIcon","onPressLeft","flex","keyboardShouldPersistTaps","keyboardDismissMode","position","backgroundColor","flexDirection","justifyContent","alignItems","fontFamily","TEXT_DARK","marginLeft","borderRadius","paddingHorizontal","paddingVertical","marginRight","padding","TEXT_LIGHT","textAlign"],"sources":["MaintenanceUserPicker.js"],"sourcesContent":["import React, { Component } from \"react\";\nimport _ from \"lodash\";\nimport { TouchableOpacity, View, ScrollView, Text, TextInput, Keyboard } from \"react-native\";\nimport { connect } from \"react-redux\";\nimport { Icon } from \"@rneui/themed\";\nimport { Services } from \"../feature.config\";\nimport { Components, Colours } from \"../core.config\";\n\nclass MaintenanceUserPicker extends Component {\n\tstate = {\n\t\tcurrentUser: null,\n\t\tsearchText: \"\",\n\t};\n\n\tUNSAFE_componentWillMount() {\n\t\tthis.setState({ currentUser: this.props.currentUser });\n\t}\n\n\tonPressBack() {\n\t\tServices.navigation.goBack();\n\t}\n\n\tonUserPress(user) {\n\t\tKeyboard.dismiss();\n\t\tthis.props.onSelectUser(user);\n\t\tthis.setState({ currentUser: user });\n\t\tsetTimeout(() => {\n\t\t\tthis.onPressBack();\n\t\t}, 200);\n\t}\n\n\tonChangeSearch = (text) => {\n\t\tthis.setState({ searchText: text });\n\t};\n\n\tgetFilteredUsers = () => {\n\t\tconst { searchText } = this.state;\n\t\tconst { users } = this.props;\n\t\tif (!users) return [];\n\t\tif (!searchText || searchText.length === 0) return users;\n\t\tconst searchLower = searchText.toLowerCase();\n\t\treturn users.filter((user) => {\n\t\t\tconst displayName = (user.displayName || \"\").toLowerCase();\n\t\t\tconst unit = (user.unit || \"\").toLowerCase();\n\t\t\treturn displayName.includes(searchLower) || unit.includes(searchLower);\n\t\t});\n\t};\n\n\trenderMain() {\n\t\tif (_.isEmpty(this.props.users)) {\n\t\t\treturn (\n\t\t\t\t<View style={{ marginTop: 16 }}>\n\t\t\t\t\t<Components.Spinner />\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\n\t\tconst filteredUsers = this.getFilteredUsers();\n\t\tif (filteredUsers.length === 0 && this.state.searchText.length > 0) {\n\t\t\treturn (\n\t\t\t\t<View style={styles.noResultsContainer}>\n\t\t\t\t\t<Text style={styles.noResultsText}>No users found</Text>\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<Components.FormCard style={{ marginTop: 16 }}>\n\t\t\t\t{this.renderOptions(filteredUsers)}\n\t\t\t</Components.FormCard>\n\t\t);\n\t}\n\n\trenderOptions(users) {\n\t\treturn users.map((user, index) => {\n\t\t\treturn (\n\t\t\t\t<TouchableOpacity\n\t\t\t\t\tkey={index}\n\t\t\t\t\tonPress={this.onUserPress.bind(this, user)}\n\t\t\t\t>\n\t\t\t\t\t<Components.FormCardSection\n\t\t\t\t\t\tlabel={user.displayName}\n\t\t\t\t\t\tlabelStyle={{ height: 0, margin: 0 }}\n\t\t\t\t\t\thasUnderline\n\t\t\t\t\t\thasContent\n\t\t\t\t\t>\n\t\t\t\t\t\t<View style={styles.rowContainer}>\n\t\t\t\t\t\t\t<View style={styles.userContainer}>\n\t\t\t\t\t\t\t\t<Components.ProfilePic\n\t\t\t\t\t\t\t\t\tProfilePic={user.profilePic}\n\t\t\t\t\t\t\t\t\tDiameter={30}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<Text style={styles.labelText}>{user.displayName}</Text>\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tname=\"check-circle\"\n\t\t\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\t\t\ticonStyle={[\n\t\t\t\t\t\t\t\t\t{ color: \"#d5d9e0\", fontSize: 20 },\n\t\t\t\t\t\t\t\t\t_.isEqual(user, this.state.currentUser) && {\n\t\t\t\t\t\t\t\t\t\tcolor: Colours.COLOUR_GREEN,\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/>\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</Components.FormCardSection>\n\t\t\t\t</TouchableOpacity>\n\t\t\t);\n\t\t});\n\t}\n\n\trenderSearch() {\n\t\treturn (\n\t\t\t<View style={styles.searchContainer}>\n\t\t\t\t<Icon name=\"search\" type=\"font-awesome\" iconStyle={styles.searchIcon} />\n\t\t\t\t<TextInput\n\t\t\t\t\tplaceholder=\"Search by name or unit\"\n\t\t\t\t\tautoCorrect={false}\n\t\t\t\t\tplaceholderTextColor={Colours.TEXT_MID_ALPHA50}\n\t\t\t\t\tonChangeText={this.onChangeSearch}\n\t\t\t\t\tvalue={this.state.searchText}\n\t\t\t\t\tstyle={styles.searchText}\n\t\t\t\t\tunderlineColorAndroid={Colours.COLOUR_TRANSPARENT}\n\t\t\t\t\treturnKeyType=\"search\"\n\t\t\t\t/>\n\t\t\t\t{this.state.searchText.length > 0 && (\n\t\t\t\t\t<TouchableOpacity onPress={() => this.onChangeSearch(\"\")} style={styles.clearButton}>\n\t\t\t\t\t\t<Icon name=\"times-circle\" type=\"font-awesome\" iconStyle={styles.clearIcon} />\n\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t)}\n\t\t\t</View>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<View style={styles.container}>\n\t\t\t\t<Components.Header\n\t\t\t\t\tleftIcon=\"angle-left\"\n\t\t\t\t\tonPressLeft={this.onPressBack.bind(this)}\n\t\t\t\t\ttext=\"Select user\"\n\t\t\t\t/>\n\t\t\t\t{this.renderSearch()}\n\t\t\t\t<ScrollView style={{ flex: 1 }} keyboardShouldPersistTaps=\"handled\" keyboardDismissMode=\"on-drag\">\n\t\t\t\t\t{this.renderMain()}\n\t\t\t\t</ScrollView>\n\t\t\t</View>\n\t\t);\n\t}\n}\n\nconst styles = {\n\tcontainer: {\n\t\tflex: 1,\n\t\tposition: \"relative\",\n\t\tbackgroundColor: \"#f0f0f5\",\n\t},\n\trowContainer: {\n\t\tflexDirection: \"row\",\n\t\tjustifyContent: \"space-between\",\n\t},\n\tuserContainer: {\n\t\tflexDirection: \"row\",\n\t\talignItems: \"center\",\n\t},\n\tlabelText: {\n\t\tfontFamily: \"sf-medium\",\n\t\tfontSize: 16,\n\t\tcolor: Colours.TEXT_DARK,\n\t\tmarginLeft: 8,\n\t},\n\tsearchContainer: {\n\t\tflexDirection: \"row\",\n\t\talignItems: \"center\",\n\t\tmargin: 15,\n\t\tbackgroundColor: \"#fff\",\n\t\tborderRadius: 8,\n\t\tpaddingHorizontal: 12,\n\t\tpaddingVertical: 8,\n\t},\n\tsearchIcon: {\n\t\tfontSize: 16,\n\t\tmarginRight: 10,\n\t\tcolor: Colours.TEXT_MID_ALPHA50,\n\t},\n\tsearchText: {\n\t\tflex: 1,\n\t\tfontSize: 16,\n\t\tfontFamily: \"sf-regular\",\n\t\tcolor: Colours.TEXT_DARK,\n\t\tpadding: 0,\n\t},\n\tclearButton: {\n\t\tpadding: 4,\n\t},\n\tclearIcon: {\n\t\tfontSize: 16,\n\t\tcolor: Colours.TEXT_MID_ALPHA50,\n\t},\n\tnoResultsContainer: {\n\t\talignItems: \"center\",\n\t\tjustifyContent: \"center\",\n\t\tpaddingVertical: 40,\n\t},\n\tnoResultsText: {\n\t\tfontSize: 16,\n\t\tfontFamily: \"sf-regular\",\n\t\tcolor: Colours.TEXT_LIGHT,\n\t\ttextAlign: \"center\",\n\t},\n};\n\nexport default connect(null, {})(MaintenanceUserPicker);\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,OAAOC,CAAC,MAAM,QAAQ;AACtB,SAASC,gBAAgB,EAAEC,IAAI,EAAEC,UAAU,EAAEC,IAAI,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,cAAc;AAC5F,SAASC,OAAO,QAAQ,aAAa;AACrC,SAASC,IAAI,QAAQ,eAAe;AACpC,SAASC,QAAQ,QAAQ,mBAAmB;AAC5C,SAASC,UAAU,EAAEC,OAAO,QAAQ,gBAAgB;AAEpD,MAAMC,qBAAqB,SAASb,SAAS,CAAC;EAAAc,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,gBACrC;MACPC,WAAW,EAAE,IAAI;MACjBC,UAAU,EAAE;IACb,CAAC;IAAAF,eAAA,yBAmBiBG,IAAI,IAAK;MAC1B,IAAI,CAACC,QAAQ,CAAC;QAAEF,UAAU,EAAEC;MAAK,CAAC,CAAC;IACpC,CAAC;IAAAH,eAAA,2BAEkB,MAAM;MACxB,MAAM;QAAEE;MAAW,CAAC,GAAG,IAAI,CAACG,KAAK;MACjC,MAAM;QAAEC;MAAM,CAAC,GAAG,IAAI,CAACC,KAAK;MAC5B,IAAI,CAACD,KAAK,EAAE,OAAO,EAAE;MACrB,IAAI,CAACJ,UAAU,IAAIA,UAAU,CAACM,MAAM,KAAK,CAAC,EAAE,OAAOF,KAAK;MACxD,MAAMG,WAAW,GAAGP,UAAU,CAACQ,WAAW,CAAC,CAAC;MAC5C,OAAOJ,KAAK,CAACK,MAAM,CAAEC,IAAI,IAAK;QAC7B,MAAMC,WAAW,GAAG,CAACD,IAAI,CAACC,WAAW,IAAI,EAAE,EAAEH,WAAW,CAAC,CAAC;QAC1D,MAAMI,IAAI,GAAG,CAACF,IAAI,CAACE,IAAI,IAAI,EAAE,EAAEJ,WAAW,CAAC,CAAC;QAC5C,OAAOG,WAAW,CAACE,QAAQ,CAACN,WAAW,CAAC,IAAIK,IAAI,CAACC,QAAQ,CAACN,WAAW,CAAC;MACvE,CAAC,CAAC;IACH,CAAC;EAAA;EAhCDO,yBAAyBA,CAAA,EAAG;IAC3B,IAAI,CAACZ,QAAQ,CAAC;MAAEH,WAAW,EAAE,IAAI,CAACM,KAAK,CAACN;IAAY,CAAC,CAAC;EACvD;EAEAgB,WAAWA,CAAA,EAAG;IACbvB,QAAQ,CAACwB,UAAU,CAACC,MAAM,CAAC,CAAC;EAC7B;EAEAC,WAAWA,CAACR,IAAI,EAAE;IACjBrB,QAAQ,CAAC8B,OAAO,CAAC,CAAC;IAClB,IAAI,CAACd,KAAK,CAACe,YAAY,CAACV,IAAI,CAAC;IAC7B,IAAI,CAACR,QAAQ,CAAC;MAAEH,WAAW,EAAEW;IAAK,CAAC,CAAC;IACpCW,UAAU,CAAC,MAAM;MAChB,IAAI,CAACN,WAAW,CAAC,CAAC;IACnB,CAAC,EAAE,GAAG,CAAC;EACR;EAmBAO,UAAUA,CAAA,EAAG;IACZ,IAAIvC,CAAC,CAACwC,OAAO,CAAC,IAAI,CAAClB,KAAK,CAACD,KAAK,CAAC,EAAE;MAChC,oBACCvB,KAAA,CAAA2C,aAAA,CAACvC,IAAI;QAACwC,KAAK,EAAE;UAAEC,SAAS,EAAE;QAAG;MAAE,gBAC9B7C,KAAA,CAAA2C,aAAA,CAAC/B,UAAU,CAACkC,OAAO,MAAE,CAChB,CAAC;IAET;IAEA,MAAMC,aAAa,GAAG,IAAI,CAACC,gBAAgB,CAAC,CAAC;IAC7C,IAAID,aAAa,CAACtB,MAAM,KAAK,CAAC,IAAI,IAAI,CAACH,KAAK,CAACH,UAAU,CAACM,MAAM,GAAG,CAAC,EAAE;MACnE,oBACCzB,KAAA,CAAA2C,aAAA,CAACvC,IAAI;QAACwC,KAAK,EAAEK,MAAM,CAACC;MAAmB,gBACtClD,KAAA,CAAA2C,aAAA,CAACrC,IAAI;QAACsC,KAAK,EAAEK,MAAM,CAACE;MAAc,GAAC,gBAAoB,CAClD,CAAC;IAET;IAEA,oBACCnD,KAAA,CAAA2C,aAAA,CAAC/B,UAAU,CAACwC,QAAQ;MAACR,KAAK,EAAE;QAAEC,SAAS,EAAE;MAAG;IAAE,GAC5C,IAAI,CAACQ,aAAa,CAACN,aAAa,CACb,CAAC;EAExB;EAEAM,aAAaA,CAAC9B,KAAK,EAAE;IACpB,OAAOA,KAAK,CAAC+B,GAAG,CAAC,CAACzB,IAAI,EAAE0B,KAAK,KAAK;MACjC,oBACCvD,KAAA,CAAA2C,aAAA,CAACxC,gBAAgB;QAChBqD,GAAG,EAAED,KAAM;QACXE,OAAO,EAAE,IAAI,CAACpB,WAAW,CAACqB,IAAI,CAAC,IAAI,EAAE7B,IAAI;MAAE,gBAE3C7B,KAAA,CAAA2C,aAAA,CAAC/B,UAAU,CAAC+C,eAAe;QAC1BC,KAAK,EAAE/B,IAAI,CAACC,WAAY;QACxB+B,UAAU,EAAE;UAAEC,MAAM,EAAE,CAAC;UAAEC,MAAM,EAAE;QAAE,CAAE;QACrCC,YAAY;QACZC,UAAU;MAAA,gBAEVjE,KAAA,CAAA2C,aAAA,CAACvC,IAAI;QAACwC,KAAK,EAAEK,MAAM,CAACiB;MAAa,gBAChClE,KAAA,CAAA2C,aAAA,CAACvC,IAAI;QAACwC,KAAK,EAAEK,MAAM,CAACkB;MAAc,gBACjCnE,KAAA,CAAA2C,aAAA,CAAC/B,UAAU,CAACwD,UAAU;QACrBA,UAAU,EAAEvC,IAAI,CAACwC,UAAW;QAC5BC,QAAQ,EAAE;MAAG,CACb,CAAC,eACFtE,KAAA,CAAA2C,aAAA,CAACrC,IAAI;QAACsC,KAAK,EAAEK,MAAM,CAACsB;MAAU,GAAE1C,IAAI,CAACC,WAAkB,CAClD,CAAC,eACP9B,KAAA,CAAA2C,aAAA,CAACjC,IAAI;QACJ8D,IAAI,EAAC,cAAc;QACnBC,IAAI,EAAC,cAAc;QACnBC,SAAS,EAAE,CACV;UAAEC,KAAK,EAAE,SAAS;UAAEC,QAAQ,EAAE;QAAG,CAAC,EAClC1E,CAAC,CAAC2E,OAAO,CAAChD,IAAI,EAAE,IAAI,CAACP,KAAK,CAACJ,WAAW,CAAC,IAAI;UAC1CyD,KAAK,EAAE9D,OAAO,CAACiE;QAChB,CAAC;MACA,CACF,CACI,CACqB,CACX,CAAC;IAErB,CAAC,CAAC;EACH;EAEAC,YAAYA,CAAA,EAAG;IACd,oBACC/E,KAAA,CAAA2C,aAAA,CAACvC,IAAI;MAACwC,KAAK,EAAEK,MAAM,CAAC+B;IAAgB,gBACnChF,KAAA,CAAA2C,aAAA,CAACjC,IAAI;MAAC8D,IAAI,EAAC,QAAQ;MAACC,IAAI,EAAC,cAAc;MAACC,SAAS,EAAEzB,MAAM,CAACgC;IAAW,CAAE,CAAC,eACxEjF,KAAA,CAAA2C,aAAA,CAACpC,SAAS;MACT2E,WAAW,EAAC,wBAAwB;MACpCC,WAAW,EAAE,KAAM;MACnBC,oBAAoB,EAAEvE,OAAO,CAACwE,gBAAiB;MAC/CC,YAAY,EAAE,IAAI,CAACC,cAAe;MAClCC,KAAK,EAAE,IAAI,CAAClE,KAAK,CAACH,UAAW;MAC7ByB,KAAK,EAAEK,MAAM,CAAC9B,UAAW;MACzBsE,qBAAqB,EAAE5E,OAAO,CAAC6E,kBAAmB;MAClDC,aAAa,EAAC;IAAQ,CACtB,CAAC,EACD,IAAI,CAACrE,KAAK,CAACH,UAAU,CAACM,MAAM,GAAG,CAAC,iBAChCzB,KAAA,CAAA2C,aAAA,CAACxC,gBAAgB;MAACsD,OAAO,EAAEA,CAAA,KAAM,IAAI,CAAC8B,cAAc,CAAC,EAAE,CAAE;MAAC3C,KAAK,EAAEK,MAAM,CAAC2C;IAAY,gBACnF5F,KAAA,CAAA2C,aAAA,CAACjC,IAAI;MAAC8D,IAAI,EAAC,cAAc;MAACC,IAAI,EAAC,cAAc;MAACC,SAAS,EAAEzB,MAAM,CAAC4C;IAAU,CAAE,CAC3D,CAEd,CAAC;EAET;EAEAC,MAAMA,CAAA,EAAG;IACR,oBACC9F,KAAA,CAAA2C,aAAA,CAACvC,IAAI;MAACwC,KAAK,EAAEK,MAAM,CAAC8C;IAAU,gBAC7B/F,KAAA,CAAA2C,aAAA,CAAC/B,UAAU,CAACoF,MAAM;MACjBC,QAAQ,EAAC,YAAY;MACrBC,WAAW,EAAE,IAAI,CAAChE,WAAW,CAACwB,IAAI,CAAC,IAAI,CAAE;MACzCtC,IAAI,EAAC;IAAa,CAClB,CAAC,EACD,IAAI,CAAC2D,YAAY,CAAC,CAAC,eACpB/E,KAAA,CAAA2C,aAAA,CAACtC,UAAU;MAACuC,KAAK,EAAE;QAAEuD,IAAI,EAAE;MAAE,CAAE;MAACC,yBAAyB,EAAC,SAAS;MAACC,mBAAmB,EAAC;IAAS,GAC/F,IAAI,CAAC5D,UAAU,CAAC,CACN,CACP,CAAC;EAET;AACD;AAEA,MAAMQ,MAAM,GAAG;EACd8C,SAAS,EAAE;IACVI,IAAI,EAAE,CAAC;IACPG,QAAQ,EAAE,UAAU;IACpBC,eAAe,EAAE;EAClB,CAAC;EACDrC,YAAY,EAAE;IACbsC,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE;EACjB,CAAC;EACDtC,aAAa,EAAE;IACdqC,aAAa,EAAE,KAAK;IACpBE,UAAU,EAAE;EACb,CAAC;EACDnC,SAAS,EAAE;IACVoC,UAAU,EAAE,WAAW;IACvB/B,QAAQ,EAAE,EAAE;IACZD,KAAK,EAAE9D,OAAO,CAAC+F,SAAS;IACxBC,UAAU,EAAE;EACb,CAAC;EACD7B,eAAe,EAAE;IAChBwB,aAAa,EAAE,KAAK;IACpBE,UAAU,EAAE,QAAQ;IACpB3C,MAAM,EAAE,EAAE;IACVwC,eAAe,EAAE,MAAM;IACvBO,YAAY,EAAE,CAAC;IACfC,iBAAiB,EAAE,EAAE;IACrBC,eAAe,EAAE;EAClB,CAAC;EACD/B,UAAU,EAAE;IACXL,QAAQ,EAAE,EAAE;IACZqC,WAAW,EAAE,EAAE;IACftC,KAAK,EAAE9D,OAAO,CAACwE;EAChB,CAAC;EACDlE,UAAU,EAAE;IACXgF,IAAI,EAAE,CAAC;IACPvB,QAAQ,EAAE,EAAE;IACZ+B,UAAU,EAAE,YAAY;IACxBhC,KAAK,EAAE9D,OAAO,CAAC+F,SAAS;IACxBM,OAAO,EAAE;EACV,CAAC;EACDtB,WAAW,EAAE;IACZsB,OAAO,EAAE;EACV,CAAC;EACDrB,SAAS,EAAE;IACVjB,QAAQ,EAAE,EAAE;IACZD,KAAK,EAAE9D,OAAO,CAACwE;EAChB,CAAC;EACDnC,kBAAkB,EAAE;IACnBwD,UAAU,EAAE,QAAQ;IACpBD,cAAc,EAAE,QAAQ;IACxBO,eAAe,EAAE;EAClB,CAAC;EACD7D,aAAa,EAAE;IACdyB,QAAQ,EAAE,EAAE;IACZ+B,UAAU,EAAE,YAAY;IACxBhC,KAAK,EAAE9D,OAAO,CAACsG,UAAU;IACzBC,SAAS,EAAE;EACZ;AACD,CAAC;AAED,eAAe3G,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAACK,qBAAqB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","Component","_","TouchableOpacity","View","ScrollView","Text","TextInput","Keyboard","connect","Icon","Services","Components","Colours","MaintenanceUserPicker","constructor","args","_defineProperty","currentUser","searchText","text","setState","state","users","props","length","searchLower","toLowerCase","filter","user","displayName","unit","includes","UNSAFE_componentWillMount","onPressBack","navigation","goBack","onUserPress","dismiss","onSelectUser","setTimeout","renderMain","isEmpty","createElement","style","marginTop","Spinner","filteredUsers","getFilteredUsers","styles","noResultsContainer","noResultsText","FormCard","renderOptions","map","index","key","onPress","bind","FormCardSection","label","labelStyle","height","margin","hasUnderline","hasContent","rowContainer","userContainer","ProfilePic","profilePic","Diameter","labelText","name","type","iconStyle","color","fontSize","isEqual","COLOUR_GREEN","renderSearch","searchContainer","searchIcon","placeholder","autoCorrect","placeholderTextColor","TEXT_MID_ALPHA50","onChangeText","onChangeSearch","value","underlineColorAndroid","COLOUR_TRANSPARENT","returnKeyType","clearButton","clearIcon","render","container","Header","leftIcon","onPressLeft","flex","keyboardShouldPersistTaps","keyboardDismissMode","position","backgroundColor","flexDirection","justifyContent","alignItems","fontFamily","TEXT_DARK","marginLeft","marginHorizontal","marginBottom","borderRadius","paddingHorizontal","paddingVertical","marginRight","padding","TEXT_LIGHT","textAlign"],"sources":["MaintenanceUserPicker.js"],"sourcesContent":["import React, { Component } from \"react\";\nimport _ from \"lodash\";\nimport { TouchableOpacity, View, ScrollView, Text, TextInput, Keyboard } from \"react-native\";\nimport { connect } from \"react-redux\";\nimport { Icon } from \"@rneui/themed\";\nimport { Services } from \"../feature.config\";\nimport { Components, Colours } from \"../core.config\";\n\nclass MaintenanceUserPicker extends Component {\n\tstate = {\n\t\tcurrentUser: null,\n\t\tsearchText: \"\",\n\t};\n\n\tUNSAFE_componentWillMount() {\n\t\tthis.setState({ currentUser: this.props.currentUser });\n\t}\n\n\tonPressBack() {\n\t\tServices.navigation.goBack();\n\t}\n\n\tonUserPress(user) {\n\t\tKeyboard.dismiss();\n\t\tthis.props.onSelectUser(user);\n\t\tthis.setState({ currentUser: user });\n\t\tsetTimeout(() => {\n\t\t\tthis.onPressBack();\n\t\t}, 200);\n\t}\n\n\tonChangeSearch = (text) => {\n\t\tthis.setState({ searchText: text });\n\t};\n\n\tgetFilteredUsers = () => {\n\t\tconst { searchText } = this.state;\n\t\tconst { users } = this.props;\n\t\tif (!users) return [];\n\t\tif (!searchText || searchText.length === 0) return users;\n\t\tconst searchLower = searchText.toLowerCase();\n\t\treturn users.filter((user) => {\n\t\t\tconst displayName = (user.displayName || \"\").toLowerCase();\n\t\t\tconst unit = (user.unit || \"\").toLowerCase();\n\t\t\treturn displayName.includes(searchLower) || unit.includes(searchLower);\n\t\t});\n\t};\n\n\trenderMain() {\n\t\tif (_.isEmpty(this.props.users)) {\n\t\t\treturn (\n\t\t\t\t<View style={{ marginTop: 8 }}>\n\t\t\t\t\t<Components.Spinner />\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\n\t\tconst filteredUsers = this.getFilteredUsers();\n\t\tif (filteredUsers.length === 0 && this.state.searchText.length > 0) {\n\t\t\treturn (\n\t\t\t\t<View style={styles.noResultsContainer}>\n\t\t\t\t\t<Text style={styles.noResultsText}>No users found</Text>\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<Components.FormCard style={{ marginTop: 8 }}>\n\t\t\t\t{this.renderOptions(filteredUsers)}\n\t\t\t</Components.FormCard>\n\t\t);\n\t}\n\n\trenderOptions(users) {\n\t\treturn users.map((user, index) => {\n\t\t\treturn (\n\t\t\t\t<TouchableOpacity\n\t\t\t\t\tkey={index}\n\t\t\t\t\tonPress={this.onUserPress.bind(this, user)}\n\t\t\t\t>\n\t\t\t\t\t<Components.FormCardSection\n\t\t\t\t\t\tlabel={user.displayName}\n\t\t\t\t\t\tlabelStyle={{ height: 0, margin: 0 }}\n\t\t\t\t\t\thasUnderline\n\t\t\t\t\t\thasContent\n\t\t\t\t\t>\n\t\t\t\t\t\t<View style={styles.rowContainer}>\n\t\t\t\t\t\t\t<View style={styles.userContainer}>\n\t\t\t\t\t\t\t\t<Components.ProfilePic\n\t\t\t\t\t\t\t\t\tProfilePic={user.profilePic}\n\t\t\t\t\t\t\t\t\tDiameter={30}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<Text style={styles.labelText}>{user.displayName}</Text>\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tname=\"check-circle\"\n\t\t\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\t\t\ticonStyle={[\n\t\t\t\t\t\t\t\t\t{ color: \"#d5d9e0\", fontSize: 20 },\n\t\t\t\t\t\t\t\t\t_.isEqual(user, this.state.currentUser) && {\n\t\t\t\t\t\t\t\t\t\tcolor: Colours.COLOUR_GREEN,\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/>\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</Components.FormCardSection>\n\t\t\t\t</TouchableOpacity>\n\t\t\t);\n\t\t});\n\t}\n\n\trenderSearch() {\n\t\treturn (\n\t\t\t<View style={styles.searchContainer}>\n\t\t\t\t<Icon name=\"search\" type=\"font-awesome\" iconStyle={styles.searchIcon} />\n\t\t\t\t<TextInput\n\t\t\t\t\tplaceholder=\"Search by name or unit\"\n\t\t\t\t\tautoCorrect={false}\n\t\t\t\t\tplaceholderTextColor={Colours.TEXT_MID_ALPHA50}\n\t\t\t\t\tonChangeText={this.onChangeSearch}\n\t\t\t\t\tvalue={this.state.searchText}\n\t\t\t\t\tstyle={styles.searchText}\n\t\t\t\t\tunderlineColorAndroid={Colours.COLOUR_TRANSPARENT}\n\t\t\t\t\treturnKeyType=\"search\"\n\t\t\t\t/>\n\t\t\t\t{this.state.searchText.length > 0 && (\n\t\t\t\t\t<TouchableOpacity onPress={() => this.onChangeSearch(\"\")} style={styles.clearButton}>\n\t\t\t\t\t\t<Icon name=\"times-circle\" type=\"font-awesome\" iconStyle={styles.clearIcon} />\n\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t)}\n\t\t\t</View>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<View style={styles.container}>\n\t\t\t\t<Components.Header\n\t\t\t\t\tleftIcon=\"angle-left\"\n\t\t\t\t\tonPressLeft={this.onPressBack.bind(this)}\n\t\t\t\t\ttext=\"Select user\"\n\t\t\t\t/>\n\t\t\t\t{this.renderSearch()}\n\t\t\t\t<ScrollView style={{ flex: 1 }} keyboardShouldPersistTaps=\"handled\" keyboardDismissMode=\"on-drag\">\n\t\t\t\t\t{this.renderMain()}\n\t\t\t\t</ScrollView>\n\t\t\t</View>\n\t\t);\n\t}\n}\n\nconst styles = {\n\tcontainer: {\n\t\tflex: 1,\n\t\tposition: \"relative\",\n\t\tbackgroundColor: \"#f0f0f5\",\n\t},\n\trowContainer: {\n\t\tflexDirection: \"row\",\n\t\tjustifyContent: \"space-between\",\n\t},\n\tuserContainer: {\n\t\tflexDirection: \"row\",\n\t\talignItems: \"center\",\n\t},\n\tlabelText: {\n\t\tfontFamily: \"sf-medium\",\n\t\tfontSize: 16,\n\t\tcolor: Colours.TEXT_DARK,\n\t\tmarginLeft: 8,\n\t},\n\tsearchContainer: {\n\t\tflexDirection: \"row\",\n\t\talignItems: \"center\",\n\t\tmarginHorizontal: 15,\n\t\tmarginTop: 10,\n\t\tmarginBottom: 0,\n\t\tbackgroundColor: \"#fff\",\n\t\tborderRadius: 8,\n\t\tpaddingHorizontal: 12,\n\t\tpaddingVertical: 8,\n\t},\n\tsearchIcon: {\n\t\tfontSize: 16,\n\t\tmarginRight: 10,\n\t\tcolor: Colours.TEXT_MID_ALPHA50,\n\t},\n\tsearchText: {\n\t\tflex: 1,\n\t\tfontSize: 16,\n\t\tfontFamily: \"sf-regular\",\n\t\tcolor: Colours.TEXT_DARK,\n\t\tpadding: 0,\n\t},\n\tclearButton: {\n\t\tpadding: 4,\n\t},\n\tclearIcon: {\n\t\tfontSize: 16,\n\t\tcolor: Colours.TEXT_MID_ALPHA50,\n\t},\n\tnoResultsContainer: {\n\t\talignItems: \"center\",\n\t\tjustifyContent: \"center\",\n\t\tpaddingVertical: 40,\n\t},\n\tnoResultsText: {\n\t\tfontSize: 16,\n\t\tfontFamily: \"sf-regular\",\n\t\tcolor: Colours.TEXT_LIGHT,\n\t\ttextAlign: \"center\",\n\t},\n};\n\nexport default connect(null, {})(MaintenanceUserPicker);\n"],"mappings":"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","ignoreList":[]}
@@ -113,7 +113,7 @@ class MaintenanceRequest extends Component {
113
113
  console.log("Could not fetch user details for auto-population:", error);
114
114
  } finally {
115
115
  // In any case, we still need a title. Inform the user to set one form field as a title.
116
- if (!state.title && !update.title) {
116
+ if (!this.state.title && !update.title) {
117
117
  update.title = "[Missing title - Set one of the form field as title in the community manager]";
118
118
  }
119
119
  }
@@ -242,7 +242,7 @@ class MaintenanceRequest extends Component {
242
242
  });
243
243
  this.setImages(imagesUpdate, imageFieldId);
244
244
  });
245
- _defineProperty(this, "onLibrarySelected", uri => {
245
+ _defineProperty(this, "onLibrarySelectedImage", uri => {
246
246
  const {
247
247
  imageFieldId
248
248
  } = this.state;
@@ -1 +1 @@
1
- {"version":3,"names":["React","Component","Dimensions","Platform","KeyboardAvoidingView","ScrollView","Text","TouchableOpacity","View","Switch","FlatList","ImageBackground","Keyboard","DateTimePicker","Icon","_","moment","connect","jobAdded","maintenanceActions","userActions","Services","Components","Colours","Helper","Config","values","PHOTO_SIZE","get","width","MaintenanceRequest","constructor","props","_defineProperty","_this$props$permissio","hasUserManagement","permissions","includes","setState","canCreateOnBehalf","loadSiteUsers","setDefaultUser","response","getSiteUsers","site","users","sortBy","data","Items","u","displayName","toLowerCase","error","console","log","userType","defaultUser","userId","uid","profilePic","selectedUser","userName","roomNumber","unit","phone","isEmpty","phoneNumber","update","state","customFields","some","title","length","navigation","navigate","screenUserPicker","currentUser","onSelectUser","bind","user","Id","fetchUser","userDetails","fieldId","answer","cloneDeep","field","isTitle","undefined","xor","join","dismiss","dateFieldId","popUpType","type","isDateTimePickerVisible","date","dateObj","format","uploadUri","imageUri","imageFieldId","imagesUpdate","getImages","splice","uploading","uploadProgress","allowRetry","setImages","progress","map","img","uri","percentage","url","replace","thumbNailExists","thumbNailUrl","getThumb300","waitForThumbnails","get1400","documentUri","documentName","documentExt","documentFieldId","documentsUpdate","getDocuments","setDocuments","doc","mandatory","checkMandatory","isBoolean","imagesList","getImageUrls","documentsList","getDocumentAnswers","isArray","isNil","checkFormat","isEmail","isValid","valid","uploadingImage","submitting","imageUploader","showUploadMenu","description","isHome","times","setTimeout","scrollContainer","scrollTo","y","images","updatedCustomFields","sendMaintenanceRequest","getSite","then","res","success","refreshRequest","searchResult","onSubmissionSuccess","confirmationToShow","catch","err","id","job","getJob","every","index","isFieldValid","customFieldImages","Array","add","callback","filter","checkThumb","setInterval","Promise","all","image","resolve","newImage","push","imageExists","thumbnailsExist","clearInterval","customFieldDocuments","name","ext","showFullscreenVideo","currentVideoUrl","fail","showError","loadingTypes","forceCustomFields","types","keyboardTypes","email","text","componentDidMount","checkUserPermissions","getJobTypes","componentWillUnmount","onPressBack","goBack","onPressType","screenJobTypePicker","currentType","onSelectType","pickType","onCloseConfirmationPopup","onBack","onConfirmationReset","getDefaultJob","selected","find","t","typeName","hasCustomFields","noType","jobId","defaultType","submitRequest","connected","message","validateCustomFields","submit","renderImageUploader","createElement","ImageUploader","ref","onUploadStarted","onUploadStartedImage","onUploadSuccess","onUploadSuccessImage","onUploadFailed","onUploadFailedImage","onUploadProgress","onUploadProgressImage","onLibrarySelected","onLibrarySelectedImage","size","quality","fileName","popupTitle","allowsEditing","multiple","hideLibrary","renderImage","item","isVideoUrl","isVideo","activeOpacity","onPress","style","styles","imageContainer","imageContainerNotEmpty","marginLeft","marginTop","imageCircle","iconStyle","addImageIcon","ImageUploadProgress","uploader","color","colourBrandingMain","imageBackground","source","getImageSource","imagePlayContainer","toggleFullscreenVideo","imageControlIcon","removeImage","renderDocument","key","documentContainer","documentTypeContainer","backgroundColor","documentTypeText","documentText","removeDocumentButton","removeDocument","removeDocumentIcon","renderSuccess","padding","flex","requestSuccess","renderImageList","imageListContainer","imageListContainerEmpty","keyboardShouldPersistTaps","enableEmptySections","renderItem","keyExtractor","numColumns","renderDocumentList","documentListContainer","document","DocumentUploader","buttonTitle","allowedTypes","onUploadStartedDocument","onUploadProgressDocument","onUploadSuccessDocument","onUploadFailedDocument","disabled","renderDateField","sectionStyle","displayText","placeHolder","icon","errorText","GenericInputSection","label","required","dateContainer","dateFieldButton","onOpenDatePicker","dateFieldContainer","dateText","dateIcon","dateClearButton","onClearDate","removeIcon","renderField","marginBottom","inputType","value","onChange","onChangeToggleAnswer","options","o","Label","Value","i","isActive","onChangeCheckboxAnswer","multiChoiceOption","hitSlop","top","left","bottom","right","TickIcon","tick","unticked","multiChoiceText","placeholder","onChangeText","val","onChangeAnswer","editable","squaredCorners","autoCapitalize","keyboardType","staticTitle","staticText","toParagraphed","renderCustomFields","FormCard","renderForm","_this$state$selectedU","_this$state$selectedU2","_this$state$selectedU3","Spinner","paddingBottom","LoadingIndicator","visible","FormCardSection","textValue","hasContent","hasUnderline","borderBottomWidth","borderBottomColor","LINEGREY","onPressUser","userPickerContainer","profileContainer","ProfilePic","Diameter","nameText","sectionTitle","fontSize","onChangeName","paddingHorizontal","paddingVertical","flexDirection","justifyContent","textJobType","marginRight","Fragment","autoCorrect","multiline","autoGrow","alignItems","position","env","strings","MAINTENANCE_HOME","onValueChange","trackColor","false","true","thumbColor","OS","minHeight","renderRegisterConfirmation","ConfirmationPopup","confirmText","textEntityName","repeatText","onClose","onPressAction","renderVideoPlayerPopup","VideoPopup","showFullscreenButton","renderNoType","WarningPopup","infoText","padHorizontal","render","behavior","viewContainer","container","Header","leftIcon","onPressLeft","featureKey","textFeatureTitle","rightText","onPressRight","absoluteRight","isVisible","onConfirm","onDateSelected","onCancel","mode","headerTextIOS","Date","fontFamily","COLOUR_TANGERINE","TEXT_DARK","textAlign","BOXGREY","height","borderStyle","borderWidth","borderColor","borderRadius","PINKISH_GREY","textShadowColor","textShadowOffset","TEXT_DARKEST","lineHeight","TEXT_BLUEGREY","paddingLeft","mapStateToProps","_state$strings","connection","getMainBrandingColourFromState","config"],"sources":["ServiceRequest.js"],"sourcesContent":["import React, { Component } from \"react\";\nimport {\n\tDimensions,\n\tPlatform,\n\tKeyboardAvoidingView,\n\tScrollView,\n\tText,\n\tTouchableOpacity,\n\tView,\n\tSwitch,\n\tFlatList,\n\tImageBackground,\n\tKeyboard,\n} from \"react-native\";\nimport DateTimePicker from \"react-native-modal-datetime-picker\";\nimport { Icon } from \"@rneui/themed\";\nimport _ from \"lodash\";\nimport moment from \"moment\";\nimport { connect } from \"react-redux\";\nimport { jobAdded } from \"../actions\";\nimport { maintenanceActions, userActions } from \"../apis\";\nimport { Services } from \"../feature.config\";\nimport { Components, Colours, Helper, Config } from \"../core.config\";\nimport { values } from \"../values.config\";\n\nconst PHOTO_SIZE = (Dimensions.get(\"window\").width - 64) / 3;\n\nclass MaintenanceRequest extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tsubmitting: false,\n\t\t\tsuccess: false,\n\t\t\tfail: false,\n\t\t\terror: null,\n\t\t\tshowError: false,\n\t\t\tloadingTypes: values.forceCustomFields,\n\n\t\t\tuserName: \"\",\n\t\t\troomNumber: \"\",\n\t\t\tphone: \"\",\n\t\t\ttitle: \"\",\n\t\t\tdescription: \"\",\n\t\t\ttimes: \"\",\n\n\t\t\ttype: \"General\",\n\n\t\t\tuploadingImage: false,\n\t\t\timages: [\n\t\t\t\t{\n\t\t\t\t\tadd: true,\n\t\t\t\t},\n\t\t\t],\n\t\t\tshowFullscreenVideo: false,\n\t\t\tcurrentVideoUrl: \"\",\n\n\t\t\tisHome: false,\n\n\t\t\ttypes: [],\n\n\t\t\tconfirmationToShow: false,\n\n\t\t\tcustomFields: [],\n\t\t\tcustomFieldImages: {},\n\t\t\tcustomFieldDocuments: {},\n\t\t\tisDateTimePickerVisible: false,\n\t\t\tpopUpType: \"date\",\n\t\t\tdateFieldId: null,\n\t\t\timageFieldId: null,\n\n\t\t\t// PC-1255: On-behalf request fields\n\t\t\tcanCreateOnBehalf: false,\n\t\t\tselectedUser: null,\n\t\t\tusers: [],\n\t\t};\n\t\tthis.checkThumb = null;\n\t\tthis.keyboardTypes = {\n\t\t\tphone: \"phone-pad\",\n\t\t\temail: \"email-address\",\n\t\t\ttext: \"default\",\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.checkUserPermissions();\n\t\tthis.getJobTypes();\n\t}\n\n\tcheckUserPermissions = async () => {\n\t\t// PC-1255: Check if user has userManagement permission\n\t\tconst hasUserManagement =\n\t\t\tthis.props.permissions?.includes(\"userManagement\") || false;\n\n\t\tif (hasUserManagement) {\n\t\t\tthis.setState({ canCreateOnBehalf: true });\n\t\t\t// Load site users for picker\n\t\t\tawait this.loadSiteUsers();\n\t\t} else {\n\t\t\t// Default to logged-in user for non-staff or staff without permission\n\t\t\tthis.setDefaultUser();\n\t\t}\n\t};\n\n\tloadSiteUsers = async () => {\n\t\ttry {\n\t\t\tconst response = await userActions.getSiteUsers(this.props.site);\n\t\t\t// PC-1255: Load all users (not just residents) to match web admin behavior\n\t\t\tconst users = _.sortBy(response.data.Items || [], (u) =>\n\t\t\t\t(u.displayName || \"\").toLowerCase(),\n\t\t\t);\n\t\t\tthis.setState({ users });\n\t\t} catch (error) {\n\t\t\tconsole.log(\"Error loading site users:\", error);\n\t\t\t// Fall back to default user if loading fails\n\t\t\tthis.setDefaultUser();\n\t\t}\n\t};\n\n\tsetDefaultUser = () => {\n\t\tif (this.props.userType !== \"KIOSK\") {\n\t\t\tconst defaultUser = {\n\t\t\t\tuserId: this.props.uid,\n\t\t\t\tdisplayName: this.props.displayName,\n\t\t\t\tprofilePic: this.props.profilePic,\n\t\t\t};\n\t\t\tthis.setState({\n\t\t\t\tselectedUser: defaultUser,\n\t\t\t\tuserName: this.props.displayName,\n\t\t\t\troomNumber: this.props.unit,\n\t\t\t\tphone: !_.isEmpty(this.props.phoneNumber) ? this.props.phoneNumber : \"\",\n\t\t\t});\n\t\t}\n\t};\n\n\tcomponentWillUnmount() {\n\t\tclearInterval(this.checkThumb);\n\t}\n\n\tonChangeName = (userName) => {\n\t\tconst update = { userName };\n\t\tif (\n\t\t\t!this.state.customFields ||\n\t\t\t!_.some(this.state.customFields, \"isTitle\")\n\t\t) {\n\t\t\tupdate.title = userName;\n\t\t}\n\t\tthis.setState(update);\n\t};\n\n\t// PC-1255: Handle user picker navigation\n\tonPressUser = () => {\n\t\tconst { users, selectedUser } = this.state;\n\t\tif (!users || users.length === 0) return;\n\n\t\tServices.navigation.navigate(values.screenUserPicker, {\n\t\t\tcurrentUser: selectedUser,\n\t\t\tusers,\n\t\t\tonSelectUser: this.onSelectUser.bind(this),\n\t\t});\n\t};\n\n\t// PC-1255: Handle user selection and auto-populate contact details\n\tonSelectUser = async (user) => {\n\t\tconst update = {\n\t\t\tselectedUser: user,\n\t\t\tuserName: user.displayName,\n\t\t};\n\n\t\t// PC-1255: Try to fetch full user details for auto-population\n\t\ttry {\n\t\t\t// getSiteUsers returns 'Id', but fetchUser expects 'userId'\n\t\t\tconst userId = user.userId || user.Id;\n\t\t\tconst response = await userActions.fetchUser(this.props.site, userId);\n\t\t\tif (response.data && response.data.user) {\n\t\t\t\tconst userDetails = response.data.user;\n\t\t\t\tif (userDetails.phoneNumber) {\n\t\t\t\t\tupdate.phone = userDetails.phoneNumber;\n\t\t\t\t}\n\t\t\t\tif (userDetails.unit) {\n\t\t\t\t\tupdate.roomNumber = userDetails.unit;\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\t!this.state.customFields ||\n\t\t\t\t\t!_.some(this.state.customFields, \"isTitle\")\n\t\t\t\t) {\n\t\t\t\t\tupdate.title = userDetails.displayName || null;\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (error) {\n\t\t\t// Permission denied (403) or other error - continue without auto-population\n\t\t\t// User can still manually enter contact details\n\t\t\tconsole.log(\"Could not fetch user details for auto-population:\", error);\n\t\t} finally {\n\t\t\t// In any case, we still need a title. Inform the user to set one form field as a title.\n\t\t\tif (!state.title && !update.title) {\n\t\t\t\tupdate.title =\n\t\t\t\t\t\"[Missing title - Set one of the form field as title in the community manager]\";\n\t\t\t}\n\t\t}\n\t\tthis.setState(update);\n\t};\n\n\tonChangeAnswer = (fieldId, answer) => {\n\t\tconst update = { customFields: _.cloneDeep(this.state.customFields) };\n\t\tconst field = update.customFields[fieldId];\n\t\tfield.answer = answer;\n\t\tif (field.isTitle) update.title = field.answer;\n\t\tthis.setState(update);\n\t};\n\n\tonChangeToggleAnswer = (fieldId, answer) => {\n\t\tconst update = { customFields: _.cloneDeep(this.state.customFields) };\n\t\tconst field = update.customFields[fieldId];\n\t\tfield.answer = field.answer === answer ? undefined : answer;\n\t\tif (field.isTitle) update.title = field.answer;\n\t\tthis.setState(update);\n\t};\n\n\tonChangeCheckboxAnswer = (fieldId, answer) => {\n\t\tconst update = { customFields: _.cloneDeep(this.state.customFields) };\n\t\tconst field = update.customFields[fieldId];\n\t\tfield.answer = _.xor(field.answer || [], [answer]);\n\t\tif (field.isTitle) update.title = field.answer.join(\", \");\n\t\tthis.setState(update);\n\t};\n\n\tonOpenDatePicker = (field, fieldId) => {\n\t\tKeyboard.dismiss();\n\t\tthis.setState({\n\t\t\tdateFieldId: fieldId,\n\t\t\tpopUpType: field.type,\n\t\t\tisDateTimePickerVisible: true,\n\t\t});\n\t};\n\n\tonClearDate = (fieldId) => {\n\t\tconst update = { customFields: _.cloneDeep(this.state.customFields) };\n\t\tconst field = update.customFields[fieldId];\n\t\tfield.answer = undefined;\n\t\tif (field.isTitle) update.title = field.answer;\n\t\tthis.setState(update);\n\t};\n\n\tonDateSelected = (date) => {\n\t\tconst { customFields, dateFieldId, popUpType } = this.state;\n\t\tconst update = {\n\t\t\tcustomFields: _.cloneDeep(customFields),\n\t\t\tisDateTimePickerVisible: false,\n\t\t\tfieldId: null,\n\t\t};\n\t\tconst field = update.customFields[dateFieldId];\n\t\tconst dateObj = moment(date);\n\t\tif (popUpType === \"date\") {\n\t\t\tfield.answer = dateObj.format(\"YYYY-MM-DD\");\n\t\t\tif (field.isTitle) update.title = dateObj.format(\"DD MMM YYYY\");\n\t\t} else {\n\t\t\tfield.answer = dateObj.format(\"HH:mm\");\n\t\t\tif (field.isTitle) update.title = dateObj.format(\"h:mm a\");\n\t\t}\n\t\tthis.setState(update);\n\t};\n\n\tonUploadStartedImage = (uploadUri, imageUri) => {\n\t\tconst { imageFieldId } = this.state;\n\t\tconst imagesUpdate = this.getImages(imageFieldId);\n\t\timagesUpdate.splice(imagesUpdate.length - 1, 0, {\n\t\t\tuploading: true,\n\t\t\tuploadProgress: \"0%\",\n\t\t\tuploadUri,\n\t\t\timageUri,\n\t\t\tallowRetry: true,\n\t\t});\n\n\t\tthis.setImages(imagesUpdate, imageFieldId);\n\t};\n\n\tonUploadProgressImage = (progress) => {\n\t\tconst { imageFieldId } = this.state;\n\t\tconst imagesUpdate = this.getImages(imageFieldId);\n\t\timagesUpdate.map((img) => {\n\t\t\tif (img.uploadUri === progress.uri) {\n\t\t\t\timg.uploadProgress = progress.percentage;\n\t\t\t\timg.uploading = true;\n\t\t\t\timg.allowRetry = true;\n\t\t\t}\n\t\t});\n\n\t\tthis.setImages(imagesUpdate, imageFieldId);\n\t};\n\n\tonUploadSuccessImage = async (uri, uploadUri) => {\n\t\tconst { imageFieldId } = this.state;\n\t\tconst imagesUpdate = this.getImages(imageFieldId);\n\t\timagesUpdate.map((img) => {\n\t\t\tif (img.uploadUri === uploadUri && img.uploading) {\n\t\t\t\timg.url = uri.replace(\"/general/\", \"/general1400/\");\n\t\t\t\timg.thumbNailExists = false;\n\t\t\t\timg.thumbNailUrl = Helper.getThumb300(img.url);\n\t\t\t\timg.allowRetry = true;\n\t\t\t}\n\t\t});\n\n\t\tthis.setImages(imagesUpdate, imageFieldId, () => this.waitForThumbnails());\n\t};\n\n\tonUploadFailedImage = (uploadUri) => {\n\t\tconst { imageFieldId } = this.state;\n\t\tconst imagesUpdate = this.getImages(imageFieldId);\n\t\timagesUpdate.map((img) => {\n\t\t\tif (img.uploadUri === uploadUri) {\n\t\t\t\timg.uploading = true; // Requried for retry\n\t\t\t\timg.uploadProgress = \"\";\n\t\t\t\timg.allowRetry = true;\n\t\t\t}\n\t\t});\n\n\t\tthis.setImages(imagesUpdate, imageFieldId);\n\t};\n\n\tonLibrarySelected = (uri) => {\n\t\tconst { imageFieldId } = this.state;\n\t\tconst imagesUpdate = this.getImages(imageFieldId);\n\t\timagesUpdate.splice(imagesUpdate.length - 1, 0, {\n\t\t\tuploading: false,\n\t\t\tallowRetry: false,\n\t\t\turl: Helper.get1400(uri),\n\t\t\tthumbNailExists: true,\n\t\t\tthumbNailUrl: Helper.getThumb300(uri),\n\t\t});\n\n\t\tthis.setImages(imagesUpdate, imageFieldId);\n\t};\n\n\tonUploadStartedDocument = (\n\t\tuploadUri,\n\t\tdocumentUri,\n\t\tdocumentName,\n\t\tdocumentExt,\n\t\tdocumentFieldId,\n\t) => {\n\t\tconst documentsUpdate = this.getDocuments(documentFieldId);\n\t\tdocumentsUpdate.splice(documentsUpdate.length - 1, 0, {\n\t\t\tuploading: true,\n\t\t\tuploadProgress: \"0%\",\n\t\t\tuploadUri,\n\t\t\tdocumentUri,\n\t\t\tdocumentName,\n\t\t\tdocumentExt,\n\t\t\tallowRetry: true,\n\t\t});\n\n\t\tthis.setDocuments(documentsUpdate, documentFieldId);\n\t};\n\n\tonUploadProgressDocument = (progress, documentFieldId) => {\n\t\tconst documentsUpdate = this.getDocuments(documentFieldId);\n\t\tdocumentsUpdate.map((doc) => {\n\t\t\tif (doc.uploadUri === progress.uri) {\n\t\t\t\tdoc.uploadProgress = progress.percentage;\n\t\t\t\tdoc.uploading = true;\n\t\t\t\tdoc.allowRetry = true;\n\t\t\t}\n\t\t});\n\n\t\tthis.setDocuments(documentsUpdate, documentFieldId);\n\t};\n\n\tonUploadSuccessDocument = async (uri, uploadUri, documentFieldId) => {\n\t\tconst documentsUpdate = this.getDocuments(documentFieldId);\n\t\tdocumentsUpdate.map((doc) => {\n\t\t\tif (doc.uploadUri === uploadUri && doc.uploading) {\n\t\t\t\tdoc.uploading = false;\n\t\t\t\tdoc.uploadProgress = \"100%\";\n\t\t\t\tdoc.url = uri;\n\t\t\t\tdoc.allowRetry = true;\n\t\t\t}\n\t\t});\n\n\t\tthis.setDocuments(documentsUpdate, documentFieldId);\n\t};\n\n\tonUploadFailedDocument = (uploadUri, documentFieldId) => {\n\t\tconst documentsUpdate = this.getDocuments(documentFieldId);\n\t\tdocumentsUpdate.map((doc) => {\n\t\t\tif (doc.uploadUri === uploadUri) {\n\t\t\t\tdoc.uploading = true; // Requried for retry\n\t\t\t\tdoc.uploadProgress = \"\";\n\t\t\t\tdoc.allowRetry = true;\n\t\t\t}\n\t\t});\n\n\t\tthis.setDocuments(documentsUpdate, documentFieldId);\n\t};\n\n\tonPressBack() {\n\t\tServices.navigation.goBack();\n\t}\n\n\tonPressType() {\n\t\tServices.navigation.navigate(values.screenJobTypePicker, {\n\t\t\tcurrentType: this.state.type,\n\t\t\ttypes: this.state.types,\n\t\t\tonSelectType: this.pickType.bind(this),\n\t\t});\n\t}\n\n\tonCloseConfirmationPopup() {\n\t\tthis.setState({\n\t\t\tconfirmationToShow: false,\n\t\t});\n\t\tServices.navigation.goBack();\n\t\tthis.props.onBack && this.props.onBack();\n\t}\n\n\tonConfirmationReset() {\n\t\tthis.setState(\n\t\t\t{\n\t\t\t\tconfirmationToShow: false,\n\t\t\t\ttitle: \"\",\n\t\t\t\tdescription: \"\",\n\t\t\t\ttimes: \"\",\n\t\t\t\tisHome: false,\n\t\t\t\tuploadingImage: false,\n\t\t\t\timages: [\n\t\t\t\t\t{\n\t\t\t\t\t\tadd: true,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tsubmitting: false,\n\t\t\t\tsuccess: false,\n\t\t\t\tfail: false,\n\t\t\t\tcustomFields: [],\n\t\t\t\tcustomFieldImages: {},\n\t\t\t\tcustomFieldDocuments: {},\n\t\t\t\tisDateTimePickerVisible: false,\n\t\t\t\tpopUpType: \"date\",\n\t\t\t\tdateFieldId: null,\n\t\t\t\timageFieldId: null,\n\t\t\t},\n\t\t\t() => this.pickType(this.state.type),\n\t\t);\n\t}\n\n\tisFieldValid = (field, fieldId) => {\n\t\tconst { mandatory, type, answer } = field;\n\t\tif ([\"staticTitle\", \"staticText\"].includes(type)) return true;\n\n\t\tconst checkMandatory = () => {\n\t\t\tif (!mandatory) return true;\n\t\t\tswitch (type) {\n\t\t\t\tcase \"yn\":\n\t\t\t\t\treturn _.isBoolean(answer);\n\t\t\t\tcase \"image\":\n\t\t\t\t\tconst imagesList = this.getImageUrls(fieldId);\n\t\t\t\t\treturn imagesList.length > 0;\n\t\t\t\tcase \"document\":\n\t\t\t\t\tconst documentsList = this.getDocumentAnswers(fieldId);\n\t\t\t\t\treturn documentsList.length > 0;\n\t\t\t\tcase \"checkbox\":\n\t\t\t\t\treturn _.isArray(answer) && answer.length > 0;\n\t\t\t\tdefault:\n\t\t\t\t\treturn !_.isNil(answer) && !_.isEmpty(answer);\n\t\t\t}\n\t\t};\n\t\tconst checkFormat = () => {\n\t\t\tif (_.isNil(answer) || _.isEmpty(answer)) return true;\n\t\t\tswitch (type) {\n\t\t\t\tcase \"email\":\n\t\t\t\t\treturn Helper.isEmail(answer);\n\t\t\t\tcase \"date\":\n\t\t\t\t\treturn moment(answer, \"YYYY-MM-DD\", true).isValid();\n\t\t\t\tcase \"time\":\n\t\t\t\t\treturn moment(answer, \"HH:mm\", true).isValid();\n\t\t\t\tdefault:\n\t\t\t\t\treturn true;\n\t\t\t}\n\t\t};\n\n\t\tconst valid = checkMandatory() && checkFormat();\n\t\treturn valid;\n\t};\n\n\tgetJobTypes() {\n\t\tmaintenanceActions\n\t\t\t.getJobTypes(Helper.getSite(this.props.site))\n\t\t\t.then((res) => {\n\t\t\t\tthis.setState(\n\t\t\t\t\t{\n\t\t\t\t\t\ttypes: res.data,\n\t\t\t\t\t},\n\t\t\t\t\t() => {\n\t\t\t\t\t\tthis.getDefaultJob();\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t})\n\t\t\t.catch(() => {});\n\t}\n\n\tpickType(type) {\n\t\tconst { types } = this.state;\n\t\tconst selected = types.find((t) => t.typeName === type) || {};\n\t\tif (values.forceCustomFields && !selected.hasCustomFields) {\n\t\t\tthis.setState({\n\t\t\t\ttype,\n\t\t\t\tcustomFields: [],\n\t\t\t\tnoType: true,\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tconst update = {\n\t\t\ttype,\n\t\t\tcustomFields:\n\t\t\t\tselected.hasCustomFields && selected.customFields.length > 0\n\t\t\t\t\t? _.cloneDeep(selected.customFields)\n\t\t\t\t\t: [],\n\t\t\tloadingTypes: false,\n\t\t};\n\n\t\tif (\n\t\t\t!_.isEmpty(update.customFields) &&\n\t\t\t!_.some(update.customFields, \"isTitle\")\n\t\t) {\n\t\t\tupdate.title = this.state.userName;\n\t\t}\n\n\t\tthis.setState(update);\n\t}\n\n\tgetDefaultJob() {\n\t\tconst { types, jobId } = this.state;\n\t\tif (types.length !== 0 && jobId == null) {\n\t\t\tconst defaultType = types[0];\n\t\t\tthis.pickType(defaultType.typeName);\n\t\t}\n\t}\n\n\tshowUploadMenu = (fieldId) => {\n\t\tKeyboard.dismiss();\n\t\tif (this.state.uploadingImage || this.state.submitting) {\n\t\t\treturn;\n\t\t}\n\t\tif (fieldId) this.setState({ imageFieldId: fieldId });\n\t\tthis.imageUploader.showUploadMenu();\n\t};\n\n\tsubmit = async () => {\n\t\tthis.setState({ submitting: true });\n\n\t\tlet description = this.state.description;\n\n\t\tif (this.state.isHome) {\n\t\t\tdescription = description + `. -- Times Available: ${this.state.times}`;\n\t\t}\n\n\t\tsetTimeout(() => {\n\t\t\tthis.scrollContainer.scrollTo({ y: 0 });\n\t\t}, 100);\n\n\t\tconst images = this.getImageUrls();\n\n\t\t// Fix custom images field answers\n\t\tconst customFields = _.cloneDeep(this.state.customFields);\n\t\tconst updatedCustomFields = customFields.map((field, fieldId) => {\n\t\t\tif (field.type === \"image\") field.answer = this.getImageUrls(fieldId);\n\t\t\tif (field.type === \"document\")\n\t\t\t\tfield.answer = this.getDocumentAnswers(fieldId);\n\t\t\treturn field;\n\t\t});\n\n\t\tmaintenanceActions\n\t\t\t.sendMaintenanceRequest(\n\t\t\t\tthis.props.uid,\n\t\t\t\tthis.state.userName,\n\t\t\t\tthis.state.phone,\n\t\t\t\tthis.state.roomNumber,\n\t\t\t\tthis.state.title,\n\t\t\t\tdescription,\n\t\t\t\tnull,\n\t\t\t\tthis.state.type,\n\t\t\t\timages,\n\t\t\t\tHelper.getSite(this.props.site),\n\t\t\t\tthis.state.isHome,\n\t\t\t\tthis.state.times,\n\t\t\t\tupdatedCustomFields,\n\t\t\t)\n\t\t\t.then((res) => {\n\t\t\t\tif (res.data.success) {\n\t\t\t\t\tthis.refreshRequest(res.data.searchResult);\n\t\t\t\t\tif (this.props.onSubmissionSuccess)\n\t\t\t\t\t\tthis.props.onSubmissionSuccess(res.data);\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tsubmitting: false,\n\t\t\t\t\t\tsuccess: true,\n\t\t\t\t\t\tconfirmationToShow: true,\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tsubmitting: false,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tconsole.log(\"maintenance submission fail.\");\n\t\t\t\tconsole.log(err);\n\t\t\t\tthis.setState({\n\t\t\t\t\tsubmitting: false,\n\t\t\t\t});\n\t\t\t});\n\t};\n\n\trefreshRequest = async (id) => {\n\t\ttry {\n\t\t\tconst job = await maintenanceActions.getJob(\n\t\t\t\tHelper.getSite(this.props.site),\n\t\t\t\tid,\n\t\t\t);\n\t\t\tthis.props.jobAdded(job.data);\n\t\t} catch (error) {\n\t\t\tconsole.log(\"refreshRequest error\", error);\n\t\t}\n\t};\n\n\tvalidateCustomFields = () => {\n\t\tconst { customFields } = this.state;\n\t\tif (!customFields || customFields.length === 0) return true;\n\n\t\treturn customFields.every((field, index) => {\n\t\t\tconst isValid = this.isFieldValid(field, index);\n\t\t\treturn isValid;\n\t\t});\n\t};\n\n\tsubmitRequest() {\n\t\tconst {\n\t\t\tcustomFields,\n\t\t\tsubmitting,\n\t\t\tuploadingImage,\n\t\t\ttitle,\n\t\t\troomNumber,\n\t\t\tisHome,\n\t\t\ttimes,\n\t\t} = this.state;\n\t\tconst hasCustomFields = customFields && customFields.length > 0;\n\n\t\tif (submitting || !this.props.connected) {\n\t\t\tif (!this.props.connected) {\n\t\t\t\tthis.setState({\n\t\t\t\t\terror: { message: \"No internet connection detected\" },\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tif (uploadingImage) return;\n\n\t\tthis.setState({ error: null, showError: false });\n\n\t\t// PC-1255: Validate user selection for on-behalf requests\n\t\tif (this.state.canCreateOnBehalf && !this.state.selectedUser) {\n\t\t\tconsole.log(\"submitRequest - no user selected for on-behalf request\");\n\t\t\tthis.setState({ showError: true });\n\t\t\treturn;\n\t\t}\n\n\t\tif (title.length === 0 || !roomNumber || roomNumber.length === 0) {\n\t\t\tconsole.log(\"submitRequest - error\", { title, roomNumber });\n\t\t\tthis.setState({ showError: true });\n\t\t\treturn;\n\t\t}\n\t\tif (hasCustomFields) {\n\t\t\tif (!this.validateCustomFields()) {\n\t\t\t\tconsole.log(\"submitRequest - custom fields error\");\n\t\t\t\tthis.setState({ showError: true });\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else {\n\t\t\tif (isHome && times.length < 2) {\n\t\t\t\tconsole.log(\"submitRequest - error\", { isHome, times });\n\t\t\t\tthis.setState({ showError: true });\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tthis.submit();\n\t}\n\n\tgetImages = (fieldId = null) => {\n\t\tconst { images, customFieldImages } = this.state;\n\t\tconst imagesList = _.cloneDeep(\n\t\t\tfieldId ? customFieldImages[fieldId] : images,\n\t\t);\n\t\tif (!imagesList || !Array.isArray(imagesList) || imagesList.length === 0) {\n\t\t\treturn [{ add: true }];\n\t\t}\n\t\treturn imagesList;\n\t};\n\n\tsetImages = (imagesList, fieldId = null, callback = null) => {\n\t\tlet update = {};\n\t\tif (fieldId) {\n\t\t\tconst customFieldImages = _.cloneDeep(this.state.customFieldImages);\n\t\t\tcustomFieldImages[fieldId] = imagesList;\n\t\t\tupdate = { customFieldImages };\n\t\t} else {\n\t\t\tupdate = { images: imagesList };\n\t\t}\n\t\tthis.setState(update, callback);\n\t};\n\n\tgetImageUrls = (fieldId = null) => {\n\t\tconst imagesList = this.getImages(fieldId);\n\t\treturn _.filter(imagesList, (img) => {\n\t\t\treturn !img.uploading && !img.add;\n\t\t}).map((img) => {\n\t\t\treturn img.url;\n\t\t});\n\t};\n\n\twaitForThumbnails = () => {\n\t\tif (this.checkThumb) return;\n\n\t\tthis.checkThumb = setInterval(async () => {\n\t\t\tconst { imageFieldId } = this.state;\n\t\t\tconst imagesList = this.getImages(imageFieldId);\n\t\t\tconst imagesUpdate = [];\n\t\t\tawait Promise.all(\n\t\t\t\timagesList.map((image) => {\n\t\t\t\t\treturn new Promise(async (resolve) => {\n\t\t\t\t\t\tconst newImage = { ...image };\n\t\t\t\t\t\timagesUpdate.push(newImage);\n\t\t\t\t\t\tif (newImage.url && !newImage.thumbNailExists) {\n\t\t\t\t\t\t\tnewImage.uploading = false;\n\t\t\t\t\t\t\tnewImage.allowRetry = false;\n\t\t\t\t\t\t\tnewImage.thumbNailExists = await Helper.imageExists(\n\t\t\t\t\t\t\t\tnewImage.thumbNailUrl,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tresolve(newImage.thumbNailExists);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tresolve(true);\n\t\t\t\t\t});\n\t\t\t\t}),\n\t\t\t);\n\t\t\tconst thumbnailsExist = imagesUpdate.every(\n\t\t\t\t(image) => !image.url || image.thumbNailExists,\n\t\t\t);\n\t\t\tif (thumbnailsExist) {\n\t\t\t\tclearInterval(this.checkThumb);\n\t\t\t\tthis.checkThumb = null;\n\t\t\t\tthis.setImages(imagesUpdate, imageFieldId);\n\t\t\t}\n\t\t}, 2000);\n\t};\n\n\tremoveImage = (index, fieldId) => {\n\t\tconst imagesUpdate = this.getImages(fieldId);\n\t\timagesUpdate.splice(index, 1);\n\n\t\tthis.setImages(imagesUpdate, fieldId);\n\t};\n\n\tgetDocuments = (fieldId) => {\n\t\tconst { customFieldDocuments } = this.state;\n\t\tconst documentsList = _.cloneDeep(customFieldDocuments[fieldId]) || [];\n\t\treturn documentsList;\n\t};\n\n\tsetDocuments = (documentsList, fieldId) => {\n\t\tlet update = {};\n\t\tconst customFieldDocuments = _.cloneDeep(this.state.customFieldDocuments);\n\t\tcustomFieldDocuments[fieldId] = documentsList;\n\t\tupdate = { customFieldDocuments };\n\t\tthis.setState(update);\n\t};\n\n\tgetDocumentAnswers = (fieldId) => {\n\t\tconst documentsList = this.getDocuments(fieldId);\n\t\treturn _.filter(documentsList, (doc) => {\n\t\t\treturn !doc.uploading && doc.url;\n\t\t}).map((doc) => {\n\t\t\treturn {\n\t\t\t\tname: doc.documentName,\n\t\t\t\text: doc.documentExt,\n\t\t\t\turl: doc.url,\n\t\t\t};\n\t\t});\n\t};\n\n\tremoveDocument = (index, fieldId) => {\n\t\tconst documentsUpdate = this.getDocuments(fieldId);\n\t\tdocumentsUpdate.splice(index, 1);\n\n\t\tthis.setDocuments(documentsUpdate, fieldId);\n\t};\n\n\ttoggleFullscreenVideo = (url) => {\n\t\tif (typeof url !== \"string\") url = \"\";\n\t\tthis.setState({\n\t\t\tshowFullscreenVideo: url.length > 0,\n\t\t\tcurrentVideoUrl: url,\n\t\t});\n\t};\n\n\trenderImageUploader() {\n\t\treturn (\n\t\t\t<Components.ImageUploader\n\t\t\t\tref={(ref) => (this.imageUploader = ref)}\n\t\t\t\tonUploadStarted={this.onUploadStartedImage}\n\t\t\t\tonUploadSuccess={this.onUploadSuccessImage}\n\t\t\t\tonUploadFailed={this.onUploadFailedImage}\n\t\t\t\tonUploadProgress={this.onUploadProgressImage}\n\t\t\t\tonLibrarySelected={this.onLibrarySelectedImage}\n\t\t\t\tsize={{ width: 1400 }}\n\t\t\t\tquality={0.8}\n\t\t\t\tfileName={\"serviceImage\"}\n\t\t\t\tpopupTitle={\"Upload Image\"}\n\t\t\t\tuserId={this.props.uid}\n\t\t\t\tallowsEditing={false}\n\t\t\t\tmultiple\n\t\t\t\thideLibrary\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderImage(item, index, fieldId = null) {\n\t\tconst isVideoUrl = Helper.isVideo(item.url);\n\t\tconst imagesList = this.getImages(fieldId);\n\n\t\tif (item.add) {\n\t\t\treturn (\n\t\t\t\t<TouchableOpacity\n\t\t\t\t\tactiveOpacity={0.8}\n\t\t\t\t\tonPress={() => this.showUploadMenu(fieldId)}\n\t\t\t\t>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\tstyles.imageContainer,\n\t\t\t\t\t\t\timagesList.length > 1 && styles.imageContainerNotEmpty,\n\t\t\t\t\t\t\tindex % 3 === 0 && { marginLeft: 0 },\n\t\t\t\t\t\t\tindex > 2 && { marginTop: 8 },\n\t\t\t\t\t\t]}\n\t\t\t\t\t>\n\t\t\t\t\t\t<View style={styles.imageCircle}>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tname=\"camera\"\n\t\t\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\t\t\ticonStyle={styles.addImageIcon}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</View>\n\t\t\t\t</TouchableOpacity>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={[\n\t\t\t\t\tstyles.imageContainer,\n\t\t\t\t\timagesList.length > 1 && styles.imageContainerNotEmpty,\n\t\t\t\t\tindex % 3 === 0 && { marginLeft: 0 },\n\t\t\t\t\tindex > 2 && { marginTop: 8 },\n\t\t\t\t]}\n\t\t\t>\n\t\t\t\t{item.uploading ? (\n\t\t\t\t\t<Components.ImageUploadProgress\n\t\t\t\t\t\tuploader={this.imageUploader}\n\t\t\t\t\t\timage={item}\n\t\t\t\t\t\tcolor={this.props.colourBrandingMain}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<ImageBackground\n\t\t\t\t\t\tstyle={styles.imageBackground}\n\t\t\t\t\t\tsource={Helper.getImageSource(\n\t\t\t\t\t\t\titem.thumbNailExists ? item.thumbNailUrl : item.url,\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{isVideoUrl && (\n\t\t\t\t\t\t\t<View style={styles.imagePlayContainer}>\n\t\t\t\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\t\t\t\tonPress={this.toggleFullscreenVideo.bind(this, item.url)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\tname=\"play\"\n\t\t\t\t\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\t\t\t\t\ticonStyle={styles.imageControlIcon}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\t\tstyle={styles.removeImage}\n\t\t\t\t\t\t\tonPress={() => this.removeImage(index, fieldId)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tname=\"remove\"\n\t\t\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\t\t\ticonStyle={styles.imageControlIcon}\n\t\t\t\t\t\t\t\tstyle={styles.removeImage}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t</ImageBackground>\n\t\t\t\t)}\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderDocument(item, index, fieldId) {\n\t\tconst { colourBrandingMain } = this.props;\n\t\treturn (\n\t\t\t<View key={index} style={styles.documentContainer}>\n\t\t\t\t<View\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\t...styles.documentTypeContainer,\n\t\t\t\t\t\tbackgroundColor: colourBrandingMain,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<Text style={styles.documentTypeText}>{item.documentExt}</Text>\n\t\t\t\t</View>\n\t\t\t\t<Text\n\t\t\t\t\tstyle={styles.documentText}\n\t\t\t\t>{`${item.documentName}${item.uploading ? ` - ${item.uploadProgress}` : \"\"}`}</Text>\n\t\t\t\t{!item.uploading && (\n\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\tstyle={styles.removeDocumentButton}\n\t\t\t\t\t\tonPress={() => this.removeDocument(index, fieldId)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tname=\"remove\"\n\t\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\t\ticonStyle={{\n\t\t\t\t\t\t\t\t...styles.removeDocumentIcon,\n\t\t\t\t\t\t\t\tcolor: colourBrandingMain,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t)}\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderSuccess() {\n\t\treturn (\n\t\t\t<View style={{ padding: 16, flex: 1, backgroundColor: \"#fff\" }}>\n\t\t\t\t<Text style={styles.requestSuccess}>\n\t\t\t\t\tYour request has been submitted. Thank you.\n\t\t\t\t</Text>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderImageList(fieldId = null) {\n\t\tconst imagesList = this.getImages(fieldId);\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={[\n\t\t\t\t\tstyles.imageListContainer,\n\t\t\t\t\timagesList.length < 2 && styles.imageListContainerEmpty,\n\t\t\t\t]}\n\t\t\t>\n\t\t\t\t<FlatList\n\t\t\t\t\tkeyboardShouldPersistTaps=\"always\"\n\t\t\t\t\tenableEmptySections\n\t\t\t\t\tdata={imagesList}\n\t\t\t\t\trenderItem={({ item, index }) =>\n\t\t\t\t\t\tthis.renderImage(item, index, fieldId)\n\t\t\t\t\t}\n\t\t\t\t\tkeyExtractor={(item, index) => index}\n\t\t\t\t\tnumColumns={3}\n\t\t\t\t/>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderDocumentList(fieldId) {\n\t\tconst documentsList = this.getDocuments(fieldId);\n\t\treturn (\n\t\t\t<View style={styles.documentListContainer}>\n\t\t\t\t{documentsList.length > 0\n\t\t\t\t\t? documentsList.map((document, index) =>\n\t\t\t\t\t\t\tthis.renderDocument(document, index, fieldId),\n\t\t\t\t\t\t)\n\t\t\t\t\t: null}\n\t\t\t\t<Components.DocumentUploader\n\t\t\t\t\tbuttonTitle=\"Add Files\"\n\t\t\t\t\tallowedTypes={[\"application/pdf\"]}\n\t\t\t\t\tonUploadStarted={(uploadUri, uri, name, ext) =>\n\t\t\t\t\t\tthis.onUploadStartedDocument(uploadUri, uri, name, ext, fieldId)\n\t\t\t\t\t}\n\t\t\t\t\tonUploadProgress={(progress) =>\n\t\t\t\t\t\tthis.onUploadProgressDocument(progress, fieldId)\n\t\t\t\t\t}\n\t\t\t\t\tonUploadSuccess={(uri, uploadUri) =>\n\t\t\t\t\t\tthis.onUploadSuccessDocument(uri, uploadUri, fieldId)\n\t\t\t\t\t}\n\t\t\t\t\tonUploadFailed={(uploadUri) =>\n\t\t\t\t\t\tthis.onUploadFailedDocument(uploadUri, fieldId)\n\t\t\t\t\t}\n\t\t\t\t\tfileName=\"serviceDocument\"\n\t\t\t\t\tuserId={this.props.uid}\n\t\t\t\t\tdisabled={false}\n\t\t\t\t\tmultiple\n\t\t\t\t/>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderDateField(field, fieldId, sectionStyle) {\n\t\tlet displayText, placeHolder, icon, errorText;\n\t\tif (field.type === \"date\") {\n\t\t\tdisplayText = field.answer\n\t\t\t\t? moment(field.answer, \"YYYY-MM-DD\").format(\"DD MMM YYYY\")\n\t\t\t\t: \"\";\n\t\t\tplaceHolder = \"dd mmm yyyy\";\n\t\t\ticon = \"calendar\";\n\t\t\terrorText = \"Not a valid date\";\n\t\t} else {\n\t\t\tdisplayText = field.answer\n\t\t\t\t? moment(field.answer, \"HH:mm\").format(\"h:mm a\")\n\t\t\t\t: \"\";\n\t\t\tplaceHolder = \"--:-- --\";\n\t\t\ticon = \"clock-o\";\n\t\t\terrorText = \"Not a valid time\";\n\t\t}\n\n\t\treturn (\n\t\t\t<Components.GenericInputSection\n\t\t\t\tkey={fieldId}\n\t\t\t\tlabel={field.label}\n\t\t\t\tsectionStyle={sectionStyle}\n\t\t\t\tisValid={() => this.isFieldValid(field, fieldId)}\n\t\t\t\trequired={field.mandatory}\n\t\t\t\tshowError={this.state.showError}\n\t\t\t\terrorText={errorText}\n\t\t\t>\n\t\t\t\t<View style={styles.dateContainer}>\n\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\tstyle={styles.dateFieldButton}\n\t\t\t\t\t\tonPress={() => this.onOpenDatePicker(field, fieldId)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<View style={styles.dateFieldContainer}>\n\t\t\t\t\t\t\t<Text style={styles.dateText}>{displayText || placeHolder}</Text>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\t\t\tname={icon}\n\t\t\t\t\t\t\t\ticonStyle={styles.dateIcon}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t{displayText ? (\n\t\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\t\tstyle={styles.dateClearButton}\n\t\t\t\t\t\t\tonPress={() => this.onClearDate(fieldId)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\t\t\tname=\"times\"\n\t\t\t\t\t\t\t\ticonStyle={styles.removeIcon}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t) : null}\n\t\t\t\t</View>\n\t\t\t</Components.GenericInputSection>\n\t\t);\n\t}\n\n\trenderField(field, fieldId) {\n\t\tconst sectionStyle = {\n\t\t\tmarginTop: fieldId === 0 ? 24 : 0,\n\t\t\tmarginBottom: 24,\n\t\t};\n\t\tswitch (field.type) {\n\t\t\tcase \"yn\":\n\t\t\t\treturn (\n\t\t\t\t\t<Components.GenericInputSection\n\t\t\t\t\t\tkey={fieldId}\n\t\t\t\t\t\tlabel={field.label}\n\t\t\t\t\t\tsectionStyle={sectionStyle}\n\t\t\t\t\t\tinputType=\"toggle\"\n\t\t\t\t\t\tvalue={field.answer}\n\t\t\t\t\t\tonChange={(answer) => this.onChangeToggleAnswer(fieldId, answer)}\n\t\t\t\t\t\tisValid={() => this.isFieldValid(field, fieldId)}\n\t\t\t\t\t\tshowError={this.state.showError}\n\t\t\t\t\t\trequired={field.mandatory}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\tcase \"multichoice\":\n\t\t\t\treturn (\n\t\t\t\t\t<Components.GenericInputSection\n\t\t\t\t\t\tkey={fieldId}\n\t\t\t\t\t\tlabel={field.label}\n\t\t\t\t\t\tsectionStyle={sectionStyle}\n\t\t\t\t\t\tinputType=\"radio\"\n\t\t\t\t\t\tvalue={field.answer}\n\t\t\t\t\t\tonChange={(answer) => this.onChangeToggleAnswer(fieldId, answer)}\n\t\t\t\t\t\toptions={field.values.map((o) => {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tLabel: o,\n\t\t\t\t\t\t\t\tValue: o,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tisValid={() => this.isFieldValid(field, fieldId)}\n\t\t\t\t\t\tshowError={this.state.showError}\n\t\t\t\t\t\trequired={field.mandatory}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\tcase \"checkbox\":\n\t\t\t\treturn (\n\t\t\t\t\t<Components.GenericInputSection\n\t\t\t\t\t\tkey={fieldId}\n\t\t\t\t\t\tlabel={field.label}\n\t\t\t\t\t\tsectionStyle={sectionStyle}\n\t\t\t\t\t\tisValid={() => this.isFieldValid(field, fieldId)}\n\t\t\t\t\t\tshowError={this.state.showError}\n\t\t\t\t\t\trequired={field.mandatory}\n\t\t\t\t\t>\n\t\t\t\t\t\t{field.values.map((o, i) => {\n\t\t\t\t\t\t\tconst isActive = field.answer && _.includes(field.answer, o);\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\t\t\t\tonPress={() => this.onChangeCheckboxAnswer(fieldId, o)}\n\t\t\t\t\t\t\t\t\tkey={i}\n\t\t\t\t\t\t\t\t\tstyle={styles.multiChoiceOption}\n\t\t\t\t\t\t\t\t\thitSlop={{ top: 8, left: 8, bottom: 8, right: 8 }}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{isActive ? (\n\t\t\t\t\t\t\t\t\t\t<Components.TickIcon\n\t\t\t\t\t\t\t\t\t\t\tstyle={styles.tick}\n\t\t\t\t\t\t\t\t\t\t\tsize={20}\n\t\t\t\t\t\t\t\t\t\t\tcolor={this.props.colourBrandingMain}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<View style={styles.unticked} />\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t<Text style={styles.multiChoiceText}>{o}</Text>\n\t\t\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</Components.GenericInputSection>\n\t\t\t\t);\n\t\t\tcase \"text\":\n\t\t\tcase \"email\":\n\t\t\tcase \"phone\":\n\t\t\t\treturn (\n\t\t\t\t\t<Components.GenericInputSection\n\t\t\t\t\t\tkey={fieldId}\n\t\t\t\t\t\tlabel={field.label}\n\t\t\t\t\t\tplaceholder={field.placeHolder}\n\t\t\t\t\t\tvalue={field.answer}\n\t\t\t\t\t\tonChangeText={(val) => this.onChangeAnswer(fieldId, val)}\n\t\t\t\t\t\teditable\n\t\t\t\t\t\tsquaredCorners\n\t\t\t\t\t\tisValid={() => this.isFieldValid(field, fieldId)}\n\t\t\t\t\t\tshowError={this.state.showError}\n\t\t\t\t\t\terrorText={field.type === \"email\" ? \"Not a valid email\" : undefined}\n\t\t\t\t\t\trequired={field.mandatory}\n\t\t\t\t\t\tsectionStyle={sectionStyle}\n\t\t\t\t\t\tautoCapitalize=\"sentences\"\n\t\t\t\t\t\tkeyboardType={this.keyboardTypes[field.type]}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\tcase \"staticTitle\":\n\t\t\t\treturn (\n\t\t\t\t\t<Text\n\t\t\t\t\t\tkey={fieldId}\n\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\tstyles.staticTitle,\n\t\t\t\t\t\t\t{ color: this.props.colourBrandingMain },\n\t\t\t\t\t\t\tsectionStyle,\n\t\t\t\t\t\t]}\n\t\t\t\t\t>\n\t\t\t\t\t\t{field.label}\n\t\t\t\t\t</Text>\n\t\t\t\t);\n\t\t\tcase \"staticText\":\n\t\t\t\treturn (\n\t\t\t\t\t<View key={fieldId} style={[styles.staticText, sectionStyle]}>\n\t\t\t\t\t\t{Helper.toParagraphed(field.label, styles.staticText)}\n\t\t\t\t\t</View>\n\t\t\t\t);\n\t\t\tcase \"date\":\n\t\t\tcase \"time\":\n\t\t\t\treturn this.renderDateField(field, fieldId, sectionStyle);\n\t\t\tcase \"image\":\n\t\t\t\treturn (\n\t\t\t\t\t<Components.GenericInputSection\n\t\t\t\t\t\tkey={fieldId}\n\t\t\t\t\t\tlabel={field.label}\n\t\t\t\t\t\tsectionStyle={sectionStyle}\n\t\t\t\t\t\tisValid={() => this.isFieldValid(field, fieldId)}\n\t\t\t\t\t\trequired={field.mandatory}\n\t\t\t\t\t\tshowError={this.state.showError}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.renderImageList(fieldId)}\n\t\t\t\t\t</Components.GenericInputSection>\n\t\t\t\t);\n\t\t\tcase \"document\":\n\t\t\t\treturn (\n\t\t\t\t\t<Components.GenericInputSection\n\t\t\t\t\t\tkey={fieldId}\n\t\t\t\t\t\tlabel={field.label}\n\t\t\t\t\t\tsectionStyle={sectionStyle}\n\t\t\t\t\t\tisValid={() => this.isFieldValid(field, fieldId)}\n\t\t\t\t\t\trequired={field.mandatory}\n\t\t\t\t\t\tshowError={this.state.showError}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.renderDocumentList(fieldId)}\n\t\t\t\t\t</Components.GenericInputSection>\n\t\t\t\t);\n\t\t\tdefault:\n\t\t\t\treturn null;\n\t\t}\n\t}\n\n\trenderCustomFields() {\n\t\tconst { customFields } = this.state;\n\t\tif (!customFields || customFields.length === 0) return null;\n\n\t\treturn (\n\t\t\t<Components.FormCard style={{ marginTop: 16 }}>\n\t\t\t\t{customFields.map((field, i) => this.renderField(field, i))}\n\t\t\t</Components.FormCard>\n\t\t);\n\t}\n\n\trenderForm() {\n\t\tconst { customFields, loadingTypes } = this.state;\n\t\tconst hasCustomFields = customFields && customFields.length > 0;\n\n\t\tif (loadingTypes) {\n\t\t\treturn <Components.Spinner />;\n\t\t}\n\n\t\treturn (\n\t\t\t<View style={{ flex: 1 }}>\n\t\t\t\t<ScrollView\n\t\t\t\t\tkeyboardShouldPersistTaps=\"always\"\n\t\t\t\t\tstyle={{ flex: 1 }}\n\t\t\t\t\tref={(ref) => (this.scrollContainer = ref)}\n\t\t\t\t>\n\t\t\t\t\t<View style={{ paddingBottom: 2 }}>\n\t\t\t\t\t\t<Components.LoadingIndicator visible={this.state.submitting} />\n\t\t\t\t\t\t{this.state.error && (\n\t\t\t\t\t\t\t<Text style={styles.errorText}>{this.state.error}</Text>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<Components.FormCard style={{ marginTop: 16 }}>\n\t\t\t\t\t\t\t{/* PC-1255: User picker for on-behalf requests */}\n\t\t\t\t\t\t\t{this.state.canCreateOnBehalf && (\n\t\t\t\t\t\t\t\t<Components.FormCardSection\n\t\t\t\t\t\t\t\t\tlabel={\"Select User\"}\n\t\t\t\t\t\t\t\t\ttextValue={this.state.selectedUser?.displayName}\n\t\t\t\t\t\t\t\t\thasContent\n\t\t\t\t\t\t\t\t\thasUnderline\n\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\terrorText=\"Please select a user.\"\n\t\t\t\t\t\t\t\t\tshowError={this.state.showError && !this.state.selectedUser}\n\t\t\t\t\t\t\t\t\tsectionStyle={{\n\t\t\t\t\t\t\t\t\t\tborderBottomWidth: 1,\n\t\t\t\t\t\t\t\t\t\tborderBottomColor: Colours.LINEGREY,\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<TouchableOpacity onPress={this.onPressUser}>\n\t\t\t\t\t\t\t\t\t\t<View style={styles.userPickerContainer}>\n\t\t\t\t\t\t\t\t\t\t\t<View style={styles.profileContainer}>\n\t\t\t\t\t\t\t\t\t\t\t\t<Components.ProfilePic\n\t\t\t\t\t\t\t\t\t\t\t\t\tProfilePic={this.state.selectedUser?.profilePic}\n\t\t\t\t\t\t\t\t\t\t\t\t\tDiameter={30}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t<Text style={styles.nameText}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.selectedUser?.displayName ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Select User\"}\n\t\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\t\tname=\"angle-right\"\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\t\t\t\t\t\t\ticonStyle={[\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.sectionTitle,\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfontSize: 20,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor: this.props.colourBrandingMain,\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t\t\t\t</Components.FormCardSection>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{/* PC-1255: Hide Name field when creating on behalf - name comes from selected user */}\n\t\t\t\t\t\t\t{!this.state.canCreateOnBehalf && (\n\t\t\t\t\t\t\t\t<Components.FormCardSection\n\t\t\t\t\t\t\t\t\tlabel={\"Name\"}\n\t\t\t\t\t\t\t\t\tplaceholder={\"Enter your name\"}\n\t\t\t\t\t\t\t\t\ttextValue={this.state.userName}\n\t\t\t\t\t\t\t\t\tonChangeText={(userName) => this.onChangeName(userName)}\n\t\t\t\t\t\t\t\t\teditable={\n\t\t\t\t\t\t\t\t\t\tthis.props.userType === \"KIOSK\" &&\n\t\t\t\t\t\t\t\t\t\tthis.state.submitting === false\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tisValid={() => {\n\t\t\t\t\t\t\t\t\t\treturn this.state.userName.length > 1;\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\terrorText=\"Please enter your name.\"\n\t\t\t\t\t\t\t\t\tshowError={\n\t\t\t\t\t\t\t\t\t\tthis.state.showError && this.state.userName.length < 2\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\thasUnderline\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<Components.FormCardSection\n\t\t\t\t\t\t\t\tlabel={\"Contact number\"}\n\t\t\t\t\t\t\t\tplaceholder={\"Enter phone number\"}\n\t\t\t\t\t\t\t\ttextValue={this.state.phone}\n\t\t\t\t\t\t\t\tonChangeText={(phone) => this.setState({ phone })}\n\t\t\t\t\t\t\t\teditable={this.state.submitting === false}\n\t\t\t\t\t\t\t\thasUnderline\n\t\t\t\t\t\t\t\tkeyboardType={\"phone-pad\"}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Components.FormCardSection\n\t\t\t\t\t\t\t\tlabel={\"Address\"}\n\t\t\t\t\t\t\t\tplaceholder={\"Enter your address\"}\n\t\t\t\t\t\t\t\ttextValue={this.state.roomNumber}\n\t\t\t\t\t\t\t\tonChangeText={(roomNumber) => this.setState({ roomNumber })}\n\t\t\t\t\t\t\t\teditable={this.state.submitting === false}\n\t\t\t\t\t\t\t\thasUnderline\n\t\t\t\t\t\t\t\tisValid={() => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\tthis.state.roomNumber && this.state.roomNumber.length > 1\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\trequired\n\t\t\t\t\t\t\t\terrorText=\"Please provide your address.\"\n\t\t\t\t\t\t\t\tshowError={\n\t\t\t\t\t\t\t\t\tthis.state.showError &&\n\t\t\t\t\t\t\t\t\t(!this.state.roomNumber || this.state.roomNumber.length < 2)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Components.FormCard>\n\t\t\t\t\t\t<Components.FormCard\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tmarginTop: 16,\n\t\t\t\t\t\t\t\tpaddingHorizontal: 24,\n\t\t\t\t\t\t\t\tpaddingVertical: 16,\n\t\t\t\t\t\t\t\tflexDirection: \"row\",\n\t\t\t\t\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Text style={styles.sectionTitle}>{values.textJobType}</Text>\n\t\t\t\t\t\t\t<TouchableOpacity onPress={this.onPressType.bind(this)}>\n\t\t\t\t\t\t\t\t<View style={{ flexDirection: \"row\" }}>\n\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\t\t\t\t\tstyles.sectionTitle,\n\t\t\t\t\t\t\t\t\t\t\t{ color: this.props.colourBrandingMain, marginRight: 16 },\n\t\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{this.state.type}\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\tname=\"angle-right\"\n\t\t\t\t\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\t\t\t\t\ticonStyle={[\n\t\t\t\t\t\t\t\t\t\t\tstyles.sectionTitle,\n\t\t\t\t\t\t\t\t\t\t\t{ fontSize: 20, color: this.props.colourBrandingMain },\n\t\t\t\t\t\t\t\t\t\t]}\n\t\t\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</TouchableOpacity>\n\t\t\t\t\t\t</Components.FormCard>\n\t\t\t\t\t\t{hasCustomFields ? (\n\t\t\t\t\t\t\tthis.renderCustomFields()\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Components.FormCard style={{ marginTop: 16 }}>\n\t\t\t\t\t\t\t\t\t<Components.FormCardSection\n\t\t\t\t\t\t\t\t\t\tlabel={\"Title\"}\n\t\t\t\t\t\t\t\t\t\tplaceholder={\"Enter a title for your request\"}\n\t\t\t\t\t\t\t\t\t\ttextValue={this.state.title}\n\t\t\t\t\t\t\t\t\t\tonChangeText={(title) => this.setState({ title })}\n\t\t\t\t\t\t\t\t\t\teditable={this.state.submitting === false}\n\t\t\t\t\t\t\t\t\t\thasUnderline\n\t\t\t\t\t\t\t\t\t\tisValid={() => {\n\t\t\t\t\t\t\t\t\t\t\treturn this.state.title.length > 1;\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\t\terrorText=\"Please provide a title.\"\n\t\t\t\t\t\t\t\t\t\tshowError={\n\t\t\t\t\t\t\t\t\t\t\tthis.state.showError && this.state.title.length < 2\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tautoCorrect\n\t\t\t\t\t\t\t\t\t\tmultiline\n\t\t\t\t\t\t\t\t\t\tautoGrow\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<Components.FormCardSection\n\t\t\t\t\t\t\t\t\t\tlabel={\"Description\"}\n\t\t\t\t\t\t\t\t\t\tplaceholder={\"Describe your request here in detail\"}\n\t\t\t\t\t\t\t\t\t\ttextValue={this.state.description}\n\t\t\t\t\t\t\t\t\t\tonChangeText={(description) =>\n\t\t\t\t\t\t\t\t\t\t\tthis.setState({ description })\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\teditable={this.state.submitting === false}\n\t\t\t\t\t\t\t\t\t\thasUnderline\n\t\t\t\t\t\t\t\t\t\tautoCorrect\n\t\t\t\t\t\t\t\t\t\tmultiline\n\t\t\t\t\t\t\t\t\t\tautoGrow\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</Components.FormCard>\n\t\t\t\t\t\t\t\t<Components.FormCard\n\t\t\t\t\t\t\t\t\tstyle={{ marginTop: 16, paddingHorizontal: 24 }}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\t\t\t\t\t\tpaddingVertical: 16,\n\t\t\t\t\t\t\t\t\t\t\t\tflexDirection: \"row\",\n\t\t\t\t\t\t\t\t\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\t\t\t\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\t\t\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tthis.state.isHome && {\n\t\t\t\t\t\t\t\t\t\t\t\tborderBottomWidth: 1,\n\t\t\t\t\t\t\t\t\t\t\t\tborderBottomColor: Colours.LINEGREY,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Text style={styles.sectionTitle}>\n\t\t\t\t\t\t\t\t\t\t\t{Config.env.strings.MAINTENANCE_HOME}\n\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t<Switch\n\t\t\t\t\t\t\t\t\t\t\tvalue={this.state.isHome}\n\t\t\t\t\t\t\t\t\t\t\tdisabled={this.state.submitting}\n\t\t\t\t\t\t\t\t\t\t\tonValueChange={(value) =>\n\t\t\t\t\t\t\t\t\t\t\t\tthis.setState({ isHome: value })\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\ttrackColor={{\n\t\t\t\t\t\t\t\t\t\t\t\tfalse: \"#ddd\",\n\t\t\t\t\t\t\t\t\t\t\t\ttrue: this.props.colourBrandingMain,\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tthumbColor={Platform.OS === \"android\" ? \"#fff\" : null}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t{this.state.isHome && (\n\t\t\t\t\t\t\t\t\t\t<Components.FormCardSection\n\t\t\t\t\t\t\t\t\t\t\tlabel={\"Available times\"}\n\t\t\t\t\t\t\t\t\t\t\tplaceholder={\n\t\t\t\t\t\t\t\t\t\t\t\t\"Describe your available times here in detail.\"\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\ttextValue={this.state.times}\n\t\t\t\t\t\t\t\t\t\t\tonChangeText={(times) => this.setState({ times })}\n\t\t\t\t\t\t\t\t\t\t\teditable={this.state.submitting === false}\n\t\t\t\t\t\t\t\t\t\t\thasUnderline\n\t\t\t\t\t\t\t\t\t\t\tisValid={() => {\n\t\t\t\t\t\t\t\t\t\t\t\treturn this.state.times.length > 1;\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\t\t\terrorText=\"Please provide available times.\"\n\t\t\t\t\t\t\t\t\t\t\tshowError={\n\t\t\t\t\t\t\t\t\t\t\t\tthis.state.showError &&\n\t\t\t\t\t\t\t\t\t\t\t\tthis.state.isHome &&\n\t\t\t\t\t\t\t\t\t\t\t\tthis.state.times.length < 2\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tminHeight={40}\n\t\t\t\t\t\t\t\t\t\t\tautoCorrect\n\t\t\t\t\t\t\t\t\t\t\tmultiline\n\t\t\t\t\t\t\t\t\t\t\tautoGrow\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</Components.FormCard>\n\t\t\t\t\t\t\t\t{this.renderImageList()}\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</View>\n\t\t\t\t</ScrollView>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderRegisterConfirmation() {\n\t\treturn (\n\t\t\t<Components.ConfirmationPopup\n\t\t\t\tconfirmText={`${values.textEntityName} submitted`}\n\t\t\t\trepeatText={\"Submit another\"}\n\t\t\t\tvisible={this.state.confirmationToShow}\n\t\t\t\tonClose={this.onCloseConfirmationPopup.bind(this)}\n\t\t\t\tonPressAction={this.onConfirmationReset.bind(this)}\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderVideoPlayerPopup() {\n\t\tconst { showFullscreenVideo, currentVideoUrl } = this.state;\n\t\tif (!currentVideoUrl) return;\n\n\t\treturn (\n\t\t\t<Components.VideoPopup\n\t\t\t\turi={currentVideoUrl}\n\t\t\t\tvisible={showFullscreenVideo}\n\t\t\t\tshowFullscreenButton={false}\n\t\t\t\tonClose={this.toggleFullscreenVideo}\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderNoType() {\n\t\tif (!this.state.noType) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<Components.WarningPopup\n\t\t\t\tconfirmText={\"No forms are available\"}\n\t\t\t\tinfoText={\"Check back later for forms.\"}\n\t\t\t\tvisible={this.state.noType}\n\t\t\t\tonClose={this.onPressBack.bind(this)}\n\t\t\t\tpadHorizontal\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { submitting, success, isDateTimePickerVisible, popUpType } =\n\t\t\tthis.state;\n\n\t\treturn (\n\t\t\t<KeyboardAvoidingView behavior={\"padding\"} style={styles.viewContainer}>\n\t\t\t\t{this.renderImageUploader()}\n\t\t\t\t<View style={styles.container}>\n\t\t\t\t\t<Components.Header\n\t\t\t\t\t\tleftIcon=\"angle-left\"\n\t\t\t\t\t\tonPressLeft={this.onPressBack.bind(this)}\n\t\t\t\t\t\ttext={\n\t\t\t\t\t\t\tthis.props.strings[`${values.featureKey}_textFeatureTitle`] ||\n\t\t\t\t\t\t\tvalues.textFeatureTitle\n\t\t\t\t\t\t}\n\t\t\t\t\t\trightText={submitting || success ? null : \"Done\"}\n\t\t\t\t\t\tonPressRight={this.submitRequest.bind(this)}\n\t\t\t\t\t\tabsoluteRight\n\t\t\t\t\t/>\n\t\t\t\t\t{this.renderForm()}\n\t\t\t\t</View>\n\t\t\t\t{this.renderRegisterConfirmation()}\n\t\t\t\t{this.renderVideoPlayerPopup()}\n\t\t\t\t{this.renderNoType()}\n\t\t\t\t<DateTimePicker\n\t\t\t\t\tisVisible={isDateTimePickerVisible}\n\t\t\t\t\tonConfirm={this.onDateSelected}\n\t\t\t\t\tonCancel={() => this.setState({ isDateTimePickerVisible: false })}\n\t\t\t\t\tmode={popUpType}\n\t\t\t\t\theaderTextIOS={`Pick a ${popUpType}`}\n\t\t\t\t\tdate={new Date()}\n\t\t\t\t/>\n\t\t\t</KeyboardAvoidingView>\n\t\t);\n\t}\n}\n\nconst styles = {\n\tviewContainer: {\n\t\tflex: 1,\n\t\tbackgroundColor: \"#fff\",\n\t},\n\tcontainer: {\n\t\tflex: 1,\n\t\tposition: \"relative\",\n\t\tbackgroundColor: \"#f0f0f5\",\n\t},\n\terrorText: {\n\t\tfontFamily: \"sf-regular\",\n\t\tcolor: Colours.COLOUR_TANGERINE,\n\t\tfontSize: 16,\n\t},\n\trequestSuccess: {\n\t\tfontFamily: \"sf-regular\",\n\t\tcolor: Colours.TEXT_DARK,\n\t\tfontSize: 17,\n\t\ttextAlign: \"center\",\n\t},\n\tsectionTitle: {\n\t\tfontFamily: \"sf-regular\",\n\t\tfontSize: 17,\n\t\tcolor: Colours.TEXT_DARK,\n\t},\n\timageListContainer: {\n\t\tmarginTop: 8,\n\t\tpadding: 8,\n\t\tflexDirection: \"row\",\n\t\tbackgroundColor: Colours.BOXGREY,\n\t\tminHeight: 106,\n\t},\n\timageListContainerEmpty: {\n\t\tjustifyContent: \"center\",\n\t\talignItems: \"center\",\n\t\tflexDirection: \"column\",\n\t},\n\tdocumentListContainer: {\n\t\tmarginTop: 8,\n\t\tflexDirection: \"column\",\n\t\talignItems: \"flex-start\",\n\t},\n\timageContainer: {\n\t\twidth: PHOTO_SIZE,\n\t\theight: PHOTO_SIZE,\n\t\tborderStyle: \"dashed\",\n\t\tjustifyContent: \"center\",\n\t\talignItems: \"center\",\n\t\tborderWidth: 1,\n\t\tborderColor: Colours.LINEGREY,\n\t\tborderRadius: 4,\n\t\tmarginLeft: 8,\n\t},\n\timageContainerNotEmpty: {\n\t\tborderWidth: 1,\n\t\tborderColor: Colours.LINEGREY,\n\t\tbackgroundColor: \"#fff\",\n\t\tborderStyle: \"dashed\",\n\t},\n\timageBackground: {\n\t\tflex: 1,\n\t\theight: \"100%\",\n\t\twidth: \"100%\",\n\t\tborderRadius: 4,\n\t},\n\timageCircle: {\n\t\twidth: 90,\n\t\theight: 90,\n\t\tborderRadius: 45,\n\t\tbackgroundColor: Colours.PINKISH_GREY,\n\t\tjustifyContent: \"center\",\n\t},\n\taddImageIcon: {\n\t\tcolor: \"#fff\",\n\t\tfontSize: 32,\n\t},\n\timagePlayContainer: {\n\t\tposition: \"absolute\",\n\t\ttop: 0,\n\t\tleft: 0,\n\t\tright: 0,\n\t\tbottom: 0,\n\t\talignItems: \"center\",\n\t\tjustifyContent: \"center\",\n\t},\n\timageControlIcon: {\n\t\tcolor: \"#fff\",\n\t\tfontSize: 20,\n\t\ttextShadowColor: \"rgba(0,0,0,0.3)\",\n\t\ttextShadowOffset: { width: 2, height: 2 },\n\t},\n\tremoveImage: {\n\t\tposition: \"absolute\",\n\t\ttop: 0,\n\t\tright: 0,\n\t\tpadding: 4,\n\t\twidth: 40,\n\t\theight: 40,\n\t\talignItems: \"center\",\n\t\tjustifyContent: \"center\",\n\t},\n\tstaticTitle: {\n\t\tfontSize: 20,\n\t\tfontFamily: \"sf-semibold\",\n\t\tcolor: Colours.TEXT_DARKEST,\n\t},\n\tstaticText: {\n\t\tfontSize: 17,\n\t\tfontFamily: \"sf-regular\",\n\t\tcolor: Colours.TEXT_DARKEST,\n\t\tlineHeight: 24,\n\t},\n\tmultiChoiceOption: {\n\t\tmarginTop: 16,\n\t\tflexDirection: \"row\",\n\t\talignItems: \"center\",\n\t\tminHeight: 20,\n\t},\n\tmultiChoiceText: {\n\t\tflex: 1,\n\t\tfontFamily: \"sf-medium\",\n\t\tfontSize: 14,\n\t\tcolor: Colours.TEXT_DARK,\n\t},\n\ttick: {\n\t\tmarginRight: 10,\n\t\tborderRadius: 4,\n\t},\n\tunticked: {\n\t\tmarginRight: 10,\n\t\twidth: 20,\n\t\theight: 20,\n\t\tborderColor: Colours.LINEGREY,\n\t\tborderWidth: 1,\n\t\tborderRadius: 4,\n\t},\n\tdateContainer: {\n\t\tflexDirection: \"row\",\n\t\talignItems: \"center\",\n\t},\n\tdateFieldButton: {\n\t\tflex: 1,\n\t},\n\tdateFieldContainer: {\n\t\tflexDirection: \"row\",\n\t\tborderRadius: 2,\n\t\tbackgroundColor: \"#ebeff2\",\n\t\tpadding: 8,\n\t\tmarginTop: 8,\n\t},\n\tdateText: {\n\t\tflex: 1,\n\t\tfontFamily: \"sf-regular\",\n\t\tfontSize: 16,\n\t\tcolor: \"#65686D\",\n\t},\n\tdateIcon: {\n\t\tfontSize: 18,\n\t\tcolor: Colours.TEXT_BLUEGREY,\n\t},\n\tdateClearButton: {\n\t\tpaddingLeft: 12,\n\t},\n\tremoveIcon: {\n\t\tfontSize: 26,\n\t\tcolor: Colours.TEXT_BLUEGREY,\n\t},\n\tdocumentContainer: {\n\t\tflexDirection: \"row\",\n\t\talignItems: \"center\",\n\t\tjustifyContent: \"space-between\",\n\t\tpaddingVertical: 4,\n\t},\n\tdocumentTypeContainer: {\n\t\twidth: 50,\n\t\theight: 60,\n\t\tjustifyContent: \"center\",\n\t\talignItems: \"center\",\n\t\tborderRadius: 5,\n\t\tmarginRight: 8,\n\t},\n\tdocumentTypeText: {\n\t\tcolor: \"#fff\",\n\t\tfontFamily: \"sf-semibold\",\n\t\ttextAlign: \"center\",\n\t},\n\tdocumentText: {\n\t\tflex: 1,\n\t\tfontFamily: \"sf-semibold\",\n\t\tfontSize: 16,\n\t\tcolor: \"#65686D\",\n\t},\n\tremoveDocumentButton: {\n\t\tpadding: 4,\n\t\twidth: 40,\n\t\theight: 40,\n\t\talignItems: \"center\",\n\t\tjustifyContent: \"center\",\n\t\tmarginLeft: 8,\n\t},\n\tremoveDocumentIcon: {\n\t\tfontSize: 24,\n\t},\n\t// PC-1255: User picker styles\n\tuserPickerContainer: {\n\t\tflexDirection: \"row\",\n\t\tjustifyContent: \"space-between\",\n\t\talignItems: \"center\",\n\t},\n\tprofileContainer: {\n\t\tflexDirection: \"row\",\n\t\talignItems: \"center\",\n\t},\n\tnameText: {\n\t\tfontFamily: \"sf-medium\",\n\t\tfontSize: 16,\n\t\tcolor: Colours.TEXT_DARK,\n\t\tmarginLeft: 8,\n\t},\n};\n\nconst mapStateToProps = (state) => {\n\tconst { user, connection } = state;\n\tconst { displayName, profilePic, uid, site, unit, phoneNumber, permissions } =\n\t\tuser;\n\treturn {\n\t\tconnected: connection.connected,\n\t\tuserType: user.type,\n\t\tdisplayName,\n\t\tprofilePic,\n\t\tuid,\n\t\tsite,\n\t\tunit,\n\t\tphoneNumber,\n\t\tpermissions,\n\t\tcolourBrandingMain: Colours.getMainBrandingColourFromState(state),\n\t\tstrings: state.strings?.config || {},\n\t};\n};\n\nexport default connect(mapStateToProps, { jobAdded })(MaintenanceRequest);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Component","Dimensions","Platform","KeyboardAvoidingView","ScrollView","Text","TouchableOpacity","View","Switch","FlatList","ImageBackground","Keyboard","DateTimePicker","Icon","_","moment","connect","jobAdded","maintenanceActions","userActions","Services","Components","Colours","Helper","Config","values","PHOTO_SIZE","get","width","MaintenanceRequest","constructor","props","_defineProperty","_this$props$permissio","hasUserManagement","permissions","includes","setState","canCreateOnBehalf","loadSiteUsers","setDefaultUser","response","getSiteUsers","site","users","sortBy","data","Items","u","displayName","toLowerCase","error","console","log","userType","defaultUser","userId","uid","profilePic","selectedUser","userName","roomNumber","unit","phone","isEmpty","phoneNumber","update","state","customFields","some","title","length","navigation","navigate","screenUserPicker","currentUser","onSelectUser","bind","user","Id","fetchUser","userDetails","fieldId","answer","cloneDeep","field","isTitle","undefined","xor","join","dismiss","dateFieldId","popUpType","type","isDateTimePickerVisible","date","dateObj","format","uploadUri","imageUri","imageFieldId","imagesUpdate","getImages","splice","uploading","uploadProgress","allowRetry","setImages","progress","map","img","uri","percentage","url","replace","thumbNailExists","thumbNailUrl","getThumb300","waitForThumbnails","get1400","documentUri","documentName","documentExt","documentFieldId","documentsUpdate","getDocuments","setDocuments","doc","mandatory","checkMandatory","isBoolean","imagesList","getImageUrls","documentsList","getDocumentAnswers","isArray","isNil","checkFormat","isEmail","isValid","valid","uploadingImage","submitting","imageUploader","showUploadMenu","description","isHome","times","setTimeout","scrollContainer","scrollTo","y","images","updatedCustomFields","sendMaintenanceRequest","getSite","then","res","success","refreshRequest","searchResult","onSubmissionSuccess","confirmationToShow","catch","err","id","job","getJob","every","index","isFieldValid","customFieldImages","Array","add","callback","filter","checkThumb","setInterval","Promise","all","image","resolve","newImage","push","imageExists","thumbnailsExist","clearInterval","customFieldDocuments","name","ext","showFullscreenVideo","currentVideoUrl","fail","showError","loadingTypes","forceCustomFields","types","keyboardTypes","email","text","componentDidMount","checkUserPermissions","getJobTypes","componentWillUnmount","onPressBack","goBack","onPressType","screenJobTypePicker","currentType","onSelectType","pickType","onCloseConfirmationPopup","onBack","onConfirmationReset","getDefaultJob","selected","find","t","typeName","hasCustomFields","noType","jobId","defaultType","submitRequest","connected","message","validateCustomFields","submit","renderImageUploader","createElement","ImageUploader","ref","onUploadStarted","onUploadStartedImage","onUploadSuccess","onUploadSuccessImage","onUploadFailed","onUploadFailedImage","onUploadProgress","onUploadProgressImage","onLibrarySelected","onLibrarySelectedImage","size","quality","fileName","popupTitle","allowsEditing","multiple","hideLibrary","renderImage","item","isVideoUrl","isVideo","activeOpacity","onPress","style","styles","imageContainer","imageContainerNotEmpty","marginLeft","marginTop","imageCircle","iconStyle","addImageIcon","ImageUploadProgress","uploader","color","colourBrandingMain","imageBackground","source","getImageSource","imagePlayContainer","toggleFullscreenVideo","imageControlIcon","removeImage","renderDocument","key","documentContainer","documentTypeContainer","backgroundColor","documentTypeText","documentText","removeDocumentButton","removeDocument","removeDocumentIcon","renderSuccess","padding","flex","requestSuccess","renderImageList","imageListContainer","imageListContainerEmpty","keyboardShouldPersistTaps","enableEmptySections","renderItem","keyExtractor","numColumns","renderDocumentList","documentListContainer","document","DocumentUploader","buttonTitle","allowedTypes","onUploadStartedDocument","onUploadProgressDocument","onUploadSuccessDocument","onUploadFailedDocument","disabled","renderDateField","sectionStyle","displayText","placeHolder","icon","errorText","GenericInputSection","label","required","dateContainer","dateFieldButton","onOpenDatePicker","dateFieldContainer","dateText","dateIcon","dateClearButton","onClearDate","removeIcon","renderField","marginBottom","inputType","value","onChange","onChangeToggleAnswer","options","o","Label","Value","i","isActive","onChangeCheckboxAnswer","multiChoiceOption","hitSlop","top","left","bottom","right","TickIcon","tick","unticked","multiChoiceText","placeholder","onChangeText","val","onChangeAnswer","editable","squaredCorners","autoCapitalize","keyboardType","staticTitle","staticText","toParagraphed","renderCustomFields","FormCard","renderForm","_this$state$selectedU","_this$state$selectedU2","_this$state$selectedU3","Spinner","paddingBottom","LoadingIndicator","visible","FormCardSection","textValue","hasContent","hasUnderline","borderBottomWidth","borderBottomColor","LINEGREY","onPressUser","userPickerContainer","profileContainer","ProfilePic","Diameter","nameText","sectionTitle","fontSize","onChangeName","paddingHorizontal","paddingVertical","flexDirection","justifyContent","textJobType","marginRight","Fragment","autoCorrect","multiline","autoGrow","alignItems","position","env","strings","MAINTENANCE_HOME","onValueChange","trackColor","false","true","thumbColor","OS","minHeight","renderRegisterConfirmation","ConfirmationPopup","confirmText","textEntityName","repeatText","onClose","onPressAction","renderVideoPlayerPopup","VideoPopup","showFullscreenButton","renderNoType","WarningPopup","infoText","padHorizontal","render","behavior","viewContainer","container","Header","leftIcon","onPressLeft","featureKey","textFeatureTitle","rightText","onPressRight","absoluteRight","isVisible","onConfirm","onDateSelected","onCancel","mode","headerTextIOS","Date","fontFamily","COLOUR_TANGERINE","TEXT_DARK","textAlign","BOXGREY","height","borderStyle","borderWidth","borderColor","borderRadius","PINKISH_GREY","textShadowColor","textShadowOffset","TEXT_DARKEST","lineHeight","TEXT_BLUEGREY","paddingLeft","mapStateToProps","_state$strings","connection","getMainBrandingColourFromState","config"],"sources":["ServiceRequest.js"],"sourcesContent":["import React, { Component } from \"react\";\nimport {\n\tDimensions,\n\tPlatform,\n\tKeyboardAvoidingView,\n\tScrollView,\n\tText,\n\tTouchableOpacity,\n\tView,\n\tSwitch,\n\tFlatList,\n\tImageBackground,\n\tKeyboard,\n} from \"react-native\";\nimport DateTimePicker from \"react-native-modal-datetime-picker\";\nimport { Icon } from \"@rneui/themed\";\nimport _ from \"lodash\";\nimport moment from \"moment\";\nimport { connect } from \"react-redux\";\nimport { jobAdded } from \"../actions\";\nimport { maintenanceActions, userActions } from \"../apis\";\nimport { Services } from \"../feature.config\";\nimport { Components, Colours, Helper, Config } from \"../core.config\";\nimport { values } from \"../values.config\";\n\nconst PHOTO_SIZE = (Dimensions.get(\"window\").width - 64) / 3;\n\nclass MaintenanceRequest extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tsubmitting: false,\n\t\t\tsuccess: false,\n\t\t\tfail: false,\n\t\t\terror: null,\n\t\t\tshowError: false,\n\t\t\tloadingTypes: values.forceCustomFields,\n\n\t\t\tuserName: \"\",\n\t\t\troomNumber: \"\",\n\t\t\tphone: \"\",\n\t\t\ttitle: \"\",\n\t\t\tdescription: \"\",\n\t\t\ttimes: \"\",\n\n\t\t\ttype: \"General\",\n\n\t\t\tuploadingImage: false,\n\t\t\timages: [\n\t\t\t\t{\n\t\t\t\t\tadd: true,\n\t\t\t\t},\n\t\t\t],\n\t\t\tshowFullscreenVideo: false,\n\t\t\tcurrentVideoUrl: \"\",\n\n\t\t\tisHome: false,\n\n\t\t\ttypes: [],\n\n\t\t\tconfirmationToShow: false,\n\n\t\t\tcustomFields: [],\n\t\t\tcustomFieldImages: {},\n\t\t\tcustomFieldDocuments: {},\n\t\t\tisDateTimePickerVisible: false,\n\t\t\tpopUpType: \"date\",\n\t\t\tdateFieldId: null,\n\t\t\timageFieldId: null,\n\n\t\t\t// PC-1255: On-behalf request fields\n\t\t\tcanCreateOnBehalf: false,\n\t\t\tselectedUser: null,\n\t\t\tusers: [],\n\t\t};\n\t\tthis.checkThumb = null;\n\t\tthis.keyboardTypes = {\n\t\t\tphone: \"phone-pad\",\n\t\t\temail: \"email-address\",\n\t\t\ttext: \"default\",\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.checkUserPermissions();\n\t\tthis.getJobTypes();\n\t}\n\n\tcheckUserPermissions = async () => {\n\t\t// PC-1255: Check if user has userManagement permission\n\t\tconst hasUserManagement =\n\t\t\tthis.props.permissions?.includes(\"userManagement\") || false;\n\n\t\tif (hasUserManagement) {\n\t\t\tthis.setState({ canCreateOnBehalf: true });\n\t\t\t// Load site users for picker\n\t\t\tawait this.loadSiteUsers();\n\t\t} else {\n\t\t\t// Default to logged-in user for non-staff or staff without permission\n\t\t\tthis.setDefaultUser();\n\t\t}\n\t};\n\n\tloadSiteUsers = async () => {\n\t\ttry {\n\t\t\tconst response = await userActions.getSiteUsers(this.props.site);\n\t\t\t// PC-1255: Load all users (not just residents) to match web admin behavior\n\t\t\tconst users = _.sortBy(response.data.Items || [], (u) =>\n\t\t\t\t(u.displayName || \"\").toLowerCase(),\n\t\t\t);\n\t\t\tthis.setState({ users });\n\t\t} catch (error) {\n\t\t\tconsole.log(\"Error loading site users:\", error);\n\t\t\t// Fall back to default user if loading fails\n\t\t\tthis.setDefaultUser();\n\t\t}\n\t};\n\n\tsetDefaultUser = () => {\n\t\tif (this.props.userType !== \"KIOSK\") {\n\t\t\tconst defaultUser = {\n\t\t\t\tuserId: this.props.uid,\n\t\t\t\tdisplayName: this.props.displayName,\n\t\t\t\tprofilePic: this.props.profilePic,\n\t\t\t};\n\t\t\tthis.setState({\n\t\t\t\tselectedUser: defaultUser,\n\t\t\t\tuserName: this.props.displayName,\n\t\t\t\troomNumber: this.props.unit,\n\t\t\t\tphone: !_.isEmpty(this.props.phoneNumber) ? this.props.phoneNumber : \"\",\n\t\t\t});\n\t\t}\n\t};\n\n\tcomponentWillUnmount() {\n\t\tclearInterval(this.checkThumb);\n\t}\n\n\tonChangeName = (userName) => {\n\t\tconst update = { userName };\n\t\tif (\n\t\t\t!this.state.customFields ||\n\t\t\t!_.some(this.state.customFields, \"isTitle\")\n\t\t) {\n\t\t\tupdate.title = userName;\n\t\t}\n\t\tthis.setState(update);\n\t};\n\n\t// PC-1255: Handle user picker navigation\n\tonPressUser = () => {\n\t\tconst { users, selectedUser } = this.state;\n\t\tif (!users || users.length === 0) return;\n\n\t\tServices.navigation.navigate(values.screenUserPicker, {\n\t\t\tcurrentUser: selectedUser,\n\t\t\tusers,\n\t\t\tonSelectUser: this.onSelectUser.bind(this),\n\t\t});\n\t};\n\n\t// PC-1255: Handle user selection and auto-populate contact details\n\tonSelectUser = async (user) => {\n\t\tconst update = {\n\t\t\tselectedUser: user,\n\t\t\tuserName: user.displayName,\n\t\t};\n\n\t\t// PC-1255: Try to fetch full user details for auto-population\n\t\ttry {\n\t\t\t// getSiteUsers returns 'Id', but fetchUser expects 'userId'\n\t\t\tconst userId = user.userId || user.Id;\n\t\t\tconst response = await userActions.fetchUser(this.props.site, userId);\n\t\t\tif (response.data && response.data.user) {\n\t\t\t\tconst userDetails = response.data.user;\n\t\t\t\tif (userDetails.phoneNumber) {\n\t\t\t\t\tupdate.phone = userDetails.phoneNumber;\n\t\t\t\t}\n\t\t\t\tif (userDetails.unit) {\n\t\t\t\t\tupdate.roomNumber = userDetails.unit;\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\t!this.state.customFields ||\n\t\t\t\t\t!_.some(this.state.customFields, \"isTitle\")\n\t\t\t\t) {\n\t\t\t\t\tupdate.title = userDetails.displayName || null;\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (error) {\n\t\t\t// Permission denied (403) or other error - continue without auto-population\n\t\t\t// User can still manually enter contact details\n\t\t\tconsole.log(\"Could not fetch user details for auto-population:\", error);\n\t\t} finally {\n\t\t\t// In any case, we still need a title. Inform the user to set one form field as a title.\n\t\t\tif (!this.state.title && !update.title) {\n\t\t\t\tupdate.title =\n\t\t\t\t\t\"[Missing title - Set one of the form field as title in the community manager]\";\n\t\t\t}\n\t\t}\n\t\tthis.setState(update);\n\t};\n\n\tonChangeAnswer = (fieldId, answer) => {\n\t\tconst update = { customFields: _.cloneDeep(this.state.customFields) };\n\t\tconst field = update.customFields[fieldId];\n\t\tfield.answer = answer;\n\t\tif (field.isTitle) update.title = field.answer;\n\t\tthis.setState(update);\n\t};\n\n\tonChangeToggleAnswer = (fieldId, answer) => {\n\t\tconst update = { customFields: _.cloneDeep(this.state.customFields) };\n\t\tconst field = update.customFields[fieldId];\n\t\tfield.answer = field.answer === answer ? undefined : answer;\n\t\tif (field.isTitle) update.title = field.answer;\n\t\tthis.setState(update);\n\t};\n\n\tonChangeCheckboxAnswer = (fieldId, answer) => {\n\t\tconst update = { customFields: _.cloneDeep(this.state.customFields) };\n\t\tconst field = update.customFields[fieldId];\n\t\tfield.answer = _.xor(field.answer || [], [answer]);\n\t\tif (field.isTitle) update.title = field.answer.join(\", \");\n\t\tthis.setState(update);\n\t};\n\n\tonOpenDatePicker = (field, fieldId) => {\n\t\tKeyboard.dismiss();\n\t\tthis.setState({\n\t\t\tdateFieldId: fieldId,\n\t\t\tpopUpType: field.type,\n\t\t\tisDateTimePickerVisible: true,\n\t\t});\n\t};\n\n\tonClearDate = (fieldId) => {\n\t\tconst update = { customFields: _.cloneDeep(this.state.customFields) };\n\t\tconst field = update.customFields[fieldId];\n\t\tfield.answer = undefined;\n\t\tif (field.isTitle) update.title = field.answer;\n\t\tthis.setState(update);\n\t};\n\n\tonDateSelected = (date) => {\n\t\tconst { customFields, dateFieldId, popUpType } = this.state;\n\t\tconst update = {\n\t\t\tcustomFields: _.cloneDeep(customFields),\n\t\t\tisDateTimePickerVisible: false,\n\t\t\tfieldId: null,\n\t\t};\n\t\tconst field = update.customFields[dateFieldId];\n\t\tconst dateObj = moment(date);\n\t\tif (popUpType === \"date\") {\n\t\t\tfield.answer = dateObj.format(\"YYYY-MM-DD\");\n\t\t\tif (field.isTitle) update.title = dateObj.format(\"DD MMM YYYY\");\n\t\t} else {\n\t\t\tfield.answer = dateObj.format(\"HH:mm\");\n\t\t\tif (field.isTitle) update.title = dateObj.format(\"h:mm a\");\n\t\t}\n\t\tthis.setState(update);\n\t};\n\n\tonUploadStartedImage = (uploadUri, imageUri) => {\n\t\tconst { imageFieldId } = this.state;\n\t\tconst imagesUpdate = this.getImages(imageFieldId);\n\t\timagesUpdate.splice(imagesUpdate.length - 1, 0, {\n\t\t\tuploading: true,\n\t\t\tuploadProgress: \"0%\",\n\t\t\tuploadUri,\n\t\t\timageUri,\n\t\t\tallowRetry: true,\n\t\t});\n\n\t\tthis.setImages(imagesUpdate, imageFieldId);\n\t};\n\n\tonUploadProgressImage = (progress) => {\n\t\tconst { imageFieldId } = this.state;\n\t\tconst imagesUpdate = this.getImages(imageFieldId);\n\t\timagesUpdate.map((img) => {\n\t\t\tif (img.uploadUri === progress.uri) {\n\t\t\t\timg.uploadProgress = progress.percentage;\n\t\t\t\timg.uploading = true;\n\t\t\t\timg.allowRetry = true;\n\t\t\t}\n\t\t});\n\n\t\tthis.setImages(imagesUpdate, imageFieldId);\n\t};\n\n\tonUploadSuccessImage = async (uri, uploadUri) => {\n\t\tconst { imageFieldId } = this.state;\n\t\tconst imagesUpdate = this.getImages(imageFieldId);\n\t\timagesUpdate.map((img) => {\n\t\t\tif (img.uploadUri === uploadUri && img.uploading) {\n\t\t\t\timg.url = uri.replace(\"/general/\", \"/general1400/\");\n\t\t\t\timg.thumbNailExists = false;\n\t\t\t\timg.thumbNailUrl = Helper.getThumb300(img.url);\n\t\t\t\timg.allowRetry = true;\n\t\t\t}\n\t\t});\n\n\t\tthis.setImages(imagesUpdate, imageFieldId, () => this.waitForThumbnails());\n\t};\n\n\tonUploadFailedImage = (uploadUri) => {\n\t\tconst { imageFieldId } = this.state;\n\t\tconst imagesUpdate = this.getImages(imageFieldId);\n\t\timagesUpdate.map((img) => {\n\t\t\tif (img.uploadUri === uploadUri) {\n\t\t\t\timg.uploading = true; // Requried for retry\n\t\t\t\timg.uploadProgress = \"\";\n\t\t\t\timg.allowRetry = true;\n\t\t\t}\n\t\t});\n\n\t\tthis.setImages(imagesUpdate, imageFieldId);\n\t};\n\n\tonLibrarySelectedImage = (uri) => {\n\t\tconst { imageFieldId } = this.state;\n\t\tconst imagesUpdate = this.getImages(imageFieldId);\n\t\timagesUpdate.splice(imagesUpdate.length - 1, 0, {\n\t\t\tuploading: false,\n\t\t\tallowRetry: false,\n\t\t\turl: Helper.get1400(uri),\n\t\t\tthumbNailExists: true,\n\t\t\tthumbNailUrl: Helper.getThumb300(uri),\n\t\t});\n\n\t\tthis.setImages(imagesUpdate, imageFieldId);\n\t};\n\n\tonUploadStartedDocument = (\n\t\tuploadUri,\n\t\tdocumentUri,\n\t\tdocumentName,\n\t\tdocumentExt,\n\t\tdocumentFieldId,\n\t) => {\n\t\tconst documentsUpdate = this.getDocuments(documentFieldId);\n\t\tdocumentsUpdate.splice(documentsUpdate.length - 1, 0, {\n\t\t\tuploading: true,\n\t\t\tuploadProgress: \"0%\",\n\t\t\tuploadUri,\n\t\t\tdocumentUri,\n\t\t\tdocumentName,\n\t\t\tdocumentExt,\n\t\t\tallowRetry: true,\n\t\t});\n\n\t\tthis.setDocuments(documentsUpdate, documentFieldId);\n\t};\n\n\tonUploadProgressDocument = (progress, documentFieldId) => {\n\t\tconst documentsUpdate = this.getDocuments(documentFieldId);\n\t\tdocumentsUpdate.map((doc) => {\n\t\t\tif (doc.uploadUri === progress.uri) {\n\t\t\t\tdoc.uploadProgress = progress.percentage;\n\t\t\t\tdoc.uploading = true;\n\t\t\t\tdoc.allowRetry = true;\n\t\t\t}\n\t\t});\n\n\t\tthis.setDocuments(documentsUpdate, documentFieldId);\n\t};\n\n\tonUploadSuccessDocument = async (uri, uploadUri, documentFieldId) => {\n\t\tconst documentsUpdate = this.getDocuments(documentFieldId);\n\t\tdocumentsUpdate.map((doc) => {\n\t\t\tif (doc.uploadUri === uploadUri && doc.uploading) {\n\t\t\t\tdoc.uploading = false;\n\t\t\t\tdoc.uploadProgress = \"100%\";\n\t\t\t\tdoc.url = uri;\n\t\t\t\tdoc.allowRetry = true;\n\t\t\t}\n\t\t});\n\n\t\tthis.setDocuments(documentsUpdate, documentFieldId);\n\t};\n\n\tonUploadFailedDocument = (uploadUri, documentFieldId) => {\n\t\tconst documentsUpdate = this.getDocuments(documentFieldId);\n\t\tdocumentsUpdate.map((doc) => {\n\t\t\tif (doc.uploadUri === uploadUri) {\n\t\t\t\tdoc.uploading = true; // Requried for retry\n\t\t\t\tdoc.uploadProgress = \"\";\n\t\t\t\tdoc.allowRetry = true;\n\t\t\t}\n\t\t});\n\n\t\tthis.setDocuments(documentsUpdate, documentFieldId);\n\t};\n\n\tonPressBack() {\n\t\tServices.navigation.goBack();\n\t}\n\n\tonPressType() {\n\t\tServices.navigation.navigate(values.screenJobTypePicker, {\n\t\t\tcurrentType: this.state.type,\n\t\t\ttypes: this.state.types,\n\t\t\tonSelectType: this.pickType.bind(this),\n\t\t});\n\t}\n\n\tonCloseConfirmationPopup() {\n\t\tthis.setState({\n\t\t\tconfirmationToShow: false,\n\t\t});\n\t\tServices.navigation.goBack();\n\t\tthis.props.onBack && this.props.onBack();\n\t}\n\n\tonConfirmationReset() {\n\t\tthis.setState(\n\t\t\t{\n\t\t\t\tconfirmationToShow: false,\n\t\t\t\ttitle: \"\",\n\t\t\t\tdescription: \"\",\n\t\t\t\ttimes: \"\",\n\t\t\t\tisHome: false,\n\t\t\t\tuploadingImage: false,\n\t\t\t\timages: [\n\t\t\t\t\t{\n\t\t\t\t\t\tadd: true,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tsubmitting: false,\n\t\t\t\tsuccess: false,\n\t\t\t\tfail: false,\n\t\t\t\tcustomFields: [],\n\t\t\t\tcustomFieldImages: {},\n\t\t\t\tcustomFieldDocuments: {},\n\t\t\t\tisDateTimePickerVisible: false,\n\t\t\t\tpopUpType: \"date\",\n\t\t\t\tdateFieldId: null,\n\t\t\t\timageFieldId: null,\n\t\t\t},\n\t\t\t() => this.pickType(this.state.type),\n\t\t);\n\t}\n\n\tisFieldValid = (field, fieldId) => {\n\t\tconst { mandatory, type, answer } = field;\n\t\tif ([\"staticTitle\", \"staticText\"].includes(type)) return true;\n\n\t\tconst checkMandatory = () => {\n\t\t\tif (!mandatory) return true;\n\t\t\tswitch (type) {\n\t\t\t\tcase \"yn\":\n\t\t\t\t\treturn _.isBoolean(answer);\n\t\t\t\tcase \"image\":\n\t\t\t\t\tconst imagesList = this.getImageUrls(fieldId);\n\t\t\t\t\treturn imagesList.length > 0;\n\t\t\t\tcase \"document\":\n\t\t\t\t\tconst documentsList = this.getDocumentAnswers(fieldId);\n\t\t\t\t\treturn documentsList.length > 0;\n\t\t\t\tcase \"checkbox\":\n\t\t\t\t\treturn _.isArray(answer) && answer.length > 0;\n\t\t\t\tdefault:\n\t\t\t\t\treturn !_.isNil(answer) && !_.isEmpty(answer);\n\t\t\t}\n\t\t};\n\t\tconst checkFormat = () => {\n\t\t\tif (_.isNil(answer) || _.isEmpty(answer)) return true;\n\t\t\tswitch (type) {\n\t\t\t\tcase \"email\":\n\t\t\t\t\treturn Helper.isEmail(answer);\n\t\t\t\tcase \"date\":\n\t\t\t\t\treturn moment(answer, \"YYYY-MM-DD\", true).isValid();\n\t\t\t\tcase \"time\":\n\t\t\t\t\treturn moment(answer, \"HH:mm\", true).isValid();\n\t\t\t\tdefault:\n\t\t\t\t\treturn true;\n\t\t\t}\n\t\t};\n\n\t\tconst valid = checkMandatory() && checkFormat();\n\t\treturn valid;\n\t};\n\n\tgetJobTypes() {\n\t\tmaintenanceActions\n\t\t\t.getJobTypes(Helper.getSite(this.props.site))\n\t\t\t.then((res) => {\n\t\t\t\tthis.setState(\n\t\t\t\t\t{\n\t\t\t\t\t\ttypes: res.data,\n\t\t\t\t\t},\n\t\t\t\t\t() => {\n\t\t\t\t\t\tthis.getDefaultJob();\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t})\n\t\t\t.catch(() => {});\n\t}\n\n\tpickType(type) {\n\t\tconst { types } = this.state;\n\t\tconst selected = types.find((t) => t.typeName === type) || {};\n\t\tif (values.forceCustomFields && !selected.hasCustomFields) {\n\t\t\tthis.setState({\n\t\t\t\ttype,\n\t\t\t\tcustomFields: [],\n\t\t\t\tnoType: true,\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tconst update = {\n\t\t\ttype,\n\t\t\tcustomFields:\n\t\t\t\tselected.hasCustomFields && selected.customFields.length > 0\n\t\t\t\t\t? _.cloneDeep(selected.customFields)\n\t\t\t\t\t: [],\n\t\t\tloadingTypes: false,\n\t\t};\n\n\t\tif (\n\t\t\t!_.isEmpty(update.customFields) &&\n\t\t\t!_.some(update.customFields, \"isTitle\")\n\t\t) {\n\t\t\tupdate.title = this.state.userName;\n\t\t}\n\n\t\tthis.setState(update);\n\t}\n\n\tgetDefaultJob() {\n\t\tconst { types, jobId } = this.state;\n\t\tif (types.length !== 0 && jobId == null) {\n\t\t\tconst defaultType = types[0];\n\t\t\tthis.pickType(defaultType.typeName);\n\t\t}\n\t}\n\n\tshowUploadMenu = (fieldId) => {\n\t\tKeyboard.dismiss();\n\t\tif (this.state.uploadingImage || this.state.submitting) {\n\t\t\treturn;\n\t\t}\n\t\tif (fieldId) this.setState({ imageFieldId: fieldId });\n\t\tthis.imageUploader.showUploadMenu();\n\t};\n\n\tsubmit = async () => {\n\t\tthis.setState({ submitting: true });\n\n\t\tlet description = this.state.description;\n\n\t\tif (this.state.isHome) {\n\t\t\tdescription = description + `. -- Times Available: ${this.state.times}`;\n\t\t}\n\n\t\tsetTimeout(() => {\n\t\t\tthis.scrollContainer.scrollTo({ y: 0 });\n\t\t}, 100);\n\n\t\tconst images = this.getImageUrls();\n\n\t\t// Fix custom images field answers\n\t\tconst customFields = _.cloneDeep(this.state.customFields);\n\t\tconst updatedCustomFields = customFields.map((field, fieldId) => {\n\t\t\tif (field.type === \"image\") field.answer = this.getImageUrls(fieldId);\n\t\t\tif (field.type === \"document\")\n\t\t\t\tfield.answer = this.getDocumentAnswers(fieldId);\n\t\t\treturn field;\n\t\t});\n\n\t\tmaintenanceActions\n\t\t\t.sendMaintenanceRequest(\n\t\t\t\tthis.props.uid,\n\t\t\t\tthis.state.userName,\n\t\t\t\tthis.state.phone,\n\t\t\t\tthis.state.roomNumber,\n\t\t\t\tthis.state.title,\n\t\t\t\tdescription,\n\t\t\t\tnull,\n\t\t\t\tthis.state.type,\n\t\t\t\timages,\n\t\t\t\tHelper.getSite(this.props.site),\n\t\t\t\tthis.state.isHome,\n\t\t\t\tthis.state.times,\n\t\t\t\tupdatedCustomFields,\n\t\t\t)\n\t\t\t.then((res) => {\n\t\t\t\tif (res.data.success) {\n\t\t\t\t\tthis.refreshRequest(res.data.searchResult);\n\t\t\t\t\tif (this.props.onSubmissionSuccess)\n\t\t\t\t\t\tthis.props.onSubmissionSuccess(res.data);\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tsubmitting: false,\n\t\t\t\t\t\tsuccess: true,\n\t\t\t\t\t\tconfirmationToShow: true,\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tsubmitting: false,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tconsole.log(\"maintenance submission fail.\");\n\t\t\t\tconsole.log(err);\n\t\t\t\tthis.setState({\n\t\t\t\t\tsubmitting: false,\n\t\t\t\t});\n\t\t\t});\n\t};\n\n\trefreshRequest = async (id) => {\n\t\ttry {\n\t\t\tconst job = await maintenanceActions.getJob(\n\t\t\t\tHelper.getSite(this.props.site),\n\t\t\t\tid,\n\t\t\t);\n\t\t\tthis.props.jobAdded(job.data);\n\t\t} catch (error) {\n\t\t\tconsole.log(\"refreshRequest error\", error);\n\t\t}\n\t};\n\n\tvalidateCustomFields = () => {\n\t\tconst { customFields } = this.state;\n\t\tif (!customFields || customFields.length === 0) return true;\n\n\t\treturn customFields.every((field, index) => {\n\t\t\tconst isValid = this.isFieldValid(field, index);\n\t\t\treturn isValid;\n\t\t});\n\t};\n\n\tsubmitRequest() {\n\t\tconst {\n\t\t\tcustomFields,\n\t\t\tsubmitting,\n\t\t\tuploadingImage,\n\t\t\ttitle,\n\t\t\troomNumber,\n\t\t\tisHome,\n\t\t\ttimes,\n\t\t} = this.state;\n\t\tconst hasCustomFields = customFields && customFields.length > 0;\n\n\t\tif (submitting || !this.props.connected) {\n\t\t\tif (!this.props.connected) {\n\t\t\t\tthis.setState({\n\t\t\t\t\terror: { message: \"No internet connection detected\" },\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tif (uploadingImage) return;\n\n\t\tthis.setState({ error: null, showError: false });\n\n\t\t// PC-1255: Validate user selection for on-behalf requests\n\t\tif (this.state.canCreateOnBehalf && !this.state.selectedUser) {\n\t\t\tconsole.log(\"submitRequest - no user selected for on-behalf request\");\n\t\t\tthis.setState({ showError: true });\n\t\t\treturn;\n\t\t}\n\n\t\tif (title.length === 0 || !roomNumber || roomNumber.length === 0) {\n\t\t\tconsole.log(\"submitRequest - error\", { title, roomNumber });\n\t\t\tthis.setState({ showError: true });\n\t\t\treturn;\n\t\t}\n\t\tif (hasCustomFields) {\n\t\t\tif (!this.validateCustomFields()) {\n\t\t\t\tconsole.log(\"submitRequest - custom fields error\");\n\t\t\t\tthis.setState({ showError: true });\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else {\n\t\t\tif (isHome && times.length < 2) {\n\t\t\t\tconsole.log(\"submitRequest - error\", { isHome, times });\n\t\t\t\tthis.setState({ showError: true });\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tthis.submit();\n\t}\n\n\tgetImages = (fieldId = null) => {\n\t\tconst { images, customFieldImages } = this.state;\n\t\tconst imagesList = _.cloneDeep(\n\t\t\tfieldId ? customFieldImages[fieldId] : images,\n\t\t);\n\t\tif (!imagesList || !Array.isArray(imagesList) || imagesList.length === 0) {\n\t\t\treturn [{ add: true }];\n\t\t}\n\t\treturn imagesList;\n\t};\n\n\tsetImages = (imagesList, fieldId = null, callback = null) => {\n\t\tlet update = {};\n\t\tif (fieldId) {\n\t\t\tconst customFieldImages = _.cloneDeep(this.state.customFieldImages);\n\t\t\tcustomFieldImages[fieldId] = imagesList;\n\t\t\tupdate = { customFieldImages };\n\t\t} else {\n\t\t\tupdate = { images: imagesList };\n\t\t}\n\t\tthis.setState(update, callback);\n\t};\n\n\tgetImageUrls = (fieldId = null) => {\n\t\tconst imagesList = this.getImages(fieldId);\n\t\treturn _.filter(imagesList, (img) => {\n\t\t\treturn !img.uploading && !img.add;\n\t\t}).map((img) => {\n\t\t\treturn img.url;\n\t\t});\n\t};\n\n\twaitForThumbnails = () => {\n\t\tif (this.checkThumb) return;\n\n\t\tthis.checkThumb = setInterval(async () => {\n\t\t\tconst { imageFieldId } = this.state;\n\t\t\tconst imagesList = this.getImages(imageFieldId);\n\t\t\tconst imagesUpdate = [];\n\t\t\tawait Promise.all(\n\t\t\t\timagesList.map((image) => {\n\t\t\t\t\treturn new Promise(async (resolve) => {\n\t\t\t\t\t\tconst newImage = { ...image };\n\t\t\t\t\t\timagesUpdate.push(newImage);\n\t\t\t\t\t\tif (newImage.url && !newImage.thumbNailExists) {\n\t\t\t\t\t\t\tnewImage.uploading = false;\n\t\t\t\t\t\t\tnewImage.allowRetry = false;\n\t\t\t\t\t\t\tnewImage.thumbNailExists = await Helper.imageExists(\n\t\t\t\t\t\t\t\tnewImage.thumbNailUrl,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tresolve(newImage.thumbNailExists);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tresolve(true);\n\t\t\t\t\t});\n\t\t\t\t}),\n\t\t\t);\n\t\t\tconst thumbnailsExist = imagesUpdate.every(\n\t\t\t\t(image) => !image.url || image.thumbNailExists,\n\t\t\t);\n\t\t\tif (thumbnailsExist) {\n\t\t\t\tclearInterval(this.checkThumb);\n\t\t\t\tthis.checkThumb = null;\n\t\t\t\tthis.setImages(imagesUpdate, imageFieldId);\n\t\t\t}\n\t\t}, 2000);\n\t};\n\n\tremoveImage = (index, fieldId) => {\n\t\tconst imagesUpdate = this.getImages(fieldId);\n\t\timagesUpdate.splice(index, 1);\n\n\t\tthis.setImages(imagesUpdate, fieldId);\n\t};\n\n\tgetDocuments = (fieldId) => {\n\t\tconst { customFieldDocuments } = this.state;\n\t\tconst documentsList = _.cloneDeep(customFieldDocuments[fieldId]) || [];\n\t\treturn documentsList;\n\t};\n\n\tsetDocuments = (documentsList, fieldId) => {\n\t\tlet update = {};\n\t\tconst customFieldDocuments = _.cloneDeep(this.state.customFieldDocuments);\n\t\tcustomFieldDocuments[fieldId] = documentsList;\n\t\tupdate = { customFieldDocuments };\n\t\tthis.setState(update);\n\t};\n\n\tgetDocumentAnswers = (fieldId) => {\n\t\tconst documentsList = this.getDocuments(fieldId);\n\t\treturn _.filter(documentsList, (doc) => {\n\t\t\treturn !doc.uploading && doc.url;\n\t\t}).map((doc) => {\n\t\t\treturn {\n\t\t\t\tname: doc.documentName,\n\t\t\t\text: doc.documentExt,\n\t\t\t\turl: doc.url,\n\t\t\t};\n\t\t});\n\t};\n\n\tremoveDocument = (index, fieldId) => {\n\t\tconst documentsUpdate = this.getDocuments(fieldId);\n\t\tdocumentsUpdate.splice(index, 1);\n\n\t\tthis.setDocuments(documentsUpdate, fieldId);\n\t};\n\n\ttoggleFullscreenVideo = (url) => {\n\t\tif (typeof url !== \"string\") url = \"\";\n\t\tthis.setState({\n\t\t\tshowFullscreenVideo: url.length > 0,\n\t\t\tcurrentVideoUrl: url,\n\t\t});\n\t};\n\n\trenderImageUploader() {\n\t\treturn (\n\t\t\t<Components.ImageUploader\n\t\t\t\tref={(ref) => (this.imageUploader = ref)}\n\t\t\t\tonUploadStarted={this.onUploadStartedImage}\n\t\t\t\tonUploadSuccess={this.onUploadSuccessImage}\n\t\t\t\tonUploadFailed={this.onUploadFailedImage}\n\t\t\t\tonUploadProgress={this.onUploadProgressImage}\n\t\t\t\tonLibrarySelected={this.onLibrarySelectedImage}\n\t\t\t\tsize={{ width: 1400 }}\n\t\t\t\tquality={0.8}\n\t\t\t\tfileName={\"serviceImage\"}\n\t\t\t\tpopupTitle={\"Upload Image\"}\n\t\t\t\tuserId={this.props.uid}\n\t\t\t\tallowsEditing={false}\n\t\t\t\tmultiple\n\t\t\t\thideLibrary\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderImage(item, index, fieldId = null) {\n\t\tconst isVideoUrl = Helper.isVideo(item.url);\n\t\tconst imagesList = this.getImages(fieldId);\n\n\t\tif (item.add) {\n\t\t\treturn (\n\t\t\t\t<TouchableOpacity\n\t\t\t\t\tactiveOpacity={0.8}\n\t\t\t\t\tonPress={() => this.showUploadMenu(fieldId)}\n\t\t\t\t>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\tstyles.imageContainer,\n\t\t\t\t\t\t\timagesList.length > 1 && styles.imageContainerNotEmpty,\n\t\t\t\t\t\t\tindex % 3 === 0 && { marginLeft: 0 },\n\t\t\t\t\t\t\tindex > 2 && { marginTop: 8 },\n\t\t\t\t\t\t]}\n\t\t\t\t\t>\n\t\t\t\t\t\t<View style={styles.imageCircle}>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tname=\"camera\"\n\t\t\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\t\t\ticonStyle={styles.addImageIcon}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</View>\n\t\t\t\t</TouchableOpacity>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={[\n\t\t\t\t\tstyles.imageContainer,\n\t\t\t\t\timagesList.length > 1 && styles.imageContainerNotEmpty,\n\t\t\t\t\tindex % 3 === 0 && { marginLeft: 0 },\n\t\t\t\t\tindex > 2 && { marginTop: 8 },\n\t\t\t\t]}\n\t\t\t>\n\t\t\t\t{item.uploading ? (\n\t\t\t\t\t<Components.ImageUploadProgress\n\t\t\t\t\t\tuploader={this.imageUploader}\n\t\t\t\t\t\timage={item}\n\t\t\t\t\t\tcolor={this.props.colourBrandingMain}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<ImageBackground\n\t\t\t\t\t\tstyle={styles.imageBackground}\n\t\t\t\t\t\tsource={Helper.getImageSource(\n\t\t\t\t\t\t\titem.thumbNailExists ? item.thumbNailUrl : item.url,\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{isVideoUrl && (\n\t\t\t\t\t\t\t<View style={styles.imagePlayContainer}>\n\t\t\t\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\t\t\t\tonPress={this.toggleFullscreenVideo.bind(this, item.url)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\tname=\"play\"\n\t\t\t\t\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\t\t\t\t\ticonStyle={styles.imageControlIcon}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\t\tstyle={styles.removeImage}\n\t\t\t\t\t\t\tonPress={() => this.removeImage(index, fieldId)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tname=\"remove\"\n\t\t\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\t\t\ticonStyle={styles.imageControlIcon}\n\t\t\t\t\t\t\t\tstyle={styles.removeImage}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t</ImageBackground>\n\t\t\t\t)}\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderDocument(item, index, fieldId) {\n\t\tconst { colourBrandingMain } = this.props;\n\t\treturn (\n\t\t\t<View key={index} style={styles.documentContainer}>\n\t\t\t\t<View\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\t...styles.documentTypeContainer,\n\t\t\t\t\t\tbackgroundColor: colourBrandingMain,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<Text style={styles.documentTypeText}>{item.documentExt}</Text>\n\t\t\t\t</View>\n\t\t\t\t<Text\n\t\t\t\t\tstyle={styles.documentText}\n\t\t\t\t>{`${item.documentName}${item.uploading ? ` - ${item.uploadProgress}` : \"\"}`}</Text>\n\t\t\t\t{!item.uploading && (\n\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\tstyle={styles.removeDocumentButton}\n\t\t\t\t\t\tonPress={() => this.removeDocument(index, fieldId)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tname=\"remove\"\n\t\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\t\ticonStyle={{\n\t\t\t\t\t\t\t\t...styles.removeDocumentIcon,\n\t\t\t\t\t\t\t\tcolor: colourBrandingMain,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t)}\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderSuccess() {\n\t\treturn (\n\t\t\t<View style={{ padding: 16, flex: 1, backgroundColor: \"#fff\" }}>\n\t\t\t\t<Text style={styles.requestSuccess}>\n\t\t\t\t\tYour request has been submitted. Thank you.\n\t\t\t\t</Text>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderImageList(fieldId = null) {\n\t\tconst imagesList = this.getImages(fieldId);\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={[\n\t\t\t\t\tstyles.imageListContainer,\n\t\t\t\t\timagesList.length < 2 && styles.imageListContainerEmpty,\n\t\t\t\t]}\n\t\t\t>\n\t\t\t\t<FlatList\n\t\t\t\t\tkeyboardShouldPersistTaps=\"always\"\n\t\t\t\t\tenableEmptySections\n\t\t\t\t\tdata={imagesList}\n\t\t\t\t\trenderItem={({ item, index }) =>\n\t\t\t\t\t\tthis.renderImage(item, index, fieldId)\n\t\t\t\t\t}\n\t\t\t\t\tkeyExtractor={(item, index) => index}\n\t\t\t\t\tnumColumns={3}\n\t\t\t\t/>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderDocumentList(fieldId) {\n\t\tconst documentsList = this.getDocuments(fieldId);\n\t\treturn (\n\t\t\t<View style={styles.documentListContainer}>\n\t\t\t\t{documentsList.length > 0\n\t\t\t\t\t? documentsList.map((document, index) =>\n\t\t\t\t\t\t\tthis.renderDocument(document, index, fieldId),\n\t\t\t\t\t\t)\n\t\t\t\t\t: null}\n\t\t\t\t<Components.DocumentUploader\n\t\t\t\t\tbuttonTitle=\"Add Files\"\n\t\t\t\t\tallowedTypes={[\"application/pdf\"]}\n\t\t\t\t\tonUploadStarted={(uploadUri, uri, name, ext) =>\n\t\t\t\t\t\tthis.onUploadStartedDocument(uploadUri, uri, name, ext, fieldId)\n\t\t\t\t\t}\n\t\t\t\t\tonUploadProgress={(progress) =>\n\t\t\t\t\t\tthis.onUploadProgressDocument(progress, fieldId)\n\t\t\t\t\t}\n\t\t\t\t\tonUploadSuccess={(uri, uploadUri) =>\n\t\t\t\t\t\tthis.onUploadSuccessDocument(uri, uploadUri, fieldId)\n\t\t\t\t\t}\n\t\t\t\t\tonUploadFailed={(uploadUri) =>\n\t\t\t\t\t\tthis.onUploadFailedDocument(uploadUri, fieldId)\n\t\t\t\t\t}\n\t\t\t\t\tfileName=\"serviceDocument\"\n\t\t\t\t\tuserId={this.props.uid}\n\t\t\t\t\tdisabled={false}\n\t\t\t\t\tmultiple\n\t\t\t\t/>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderDateField(field, fieldId, sectionStyle) {\n\t\tlet displayText, placeHolder, icon, errorText;\n\t\tif (field.type === \"date\") {\n\t\t\tdisplayText = field.answer\n\t\t\t\t? moment(field.answer, \"YYYY-MM-DD\").format(\"DD MMM YYYY\")\n\t\t\t\t: \"\";\n\t\t\tplaceHolder = \"dd mmm yyyy\";\n\t\t\ticon = \"calendar\";\n\t\t\terrorText = \"Not a valid date\";\n\t\t} else {\n\t\t\tdisplayText = field.answer\n\t\t\t\t? moment(field.answer, \"HH:mm\").format(\"h:mm a\")\n\t\t\t\t: \"\";\n\t\t\tplaceHolder = \"--:-- --\";\n\t\t\ticon = \"clock-o\";\n\t\t\terrorText = \"Not a valid time\";\n\t\t}\n\n\t\treturn (\n\t\t\t<Components.GenericInputSection\n\t\t\t\tkey={fieldId}\n\t\t\t\tlabel={field.label}\n\t\t\t\tsectionStyle={sectionStyle}\n\t\t\t\tisValid={() => this.isFieldValid(field, fieldId)}\n\t\t\t\trequired={field.mandatory}\n\t\t\t\tshowError={this.state.showError}\n\t\t\t\terrorText={errorText}\n\t\t\t>\n\t\t\t\t<View style={styles.dateContainer}>\n\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\tstyle={styles.dateFieldButton}\n\t\t\t\t\t\tonPress={() => this.onOpenDatePicker(field, fieldId)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<View style={styles.dateFieldContainer}>\n\t\t\t\t\t\t\t<Text style={styles.dateText}>{displayText || placeHolder}</Text>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\t\t\tname={icon}\n\t\t\t\t\t\t\t\ticonStyle={styles.dateIcon}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t{displayText ? (\n\t\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\t\tstyle={styles.dateClearButton}\n\t\t\t\t\t\t\tonPress={() => this.onClearDate(fieldId)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\t\t\tname=\"times\"\n\t\t\t\t\t\t\t\ticonStyle={styles.removeIcon}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t) : null}\n\t\t\t\t</View>\n\t\t\t</Components.GenericInputSection>\n\t\t);\n\t}\n\n\trenderField(field, fieldId) {\n\t\tconst sectionStyle = {\n\t\t\tmarginTop: fieldId === 0 ? 24 : 0,\n\t\t\tmarginBottom: 24,\n\t\t};\n\t\tswitch (field.type) {\n\t\t\tcase \"yn\":\n\t\t\t\treturn (\n\t\t\t\t\t<Components.GenericInputSection\n\t\t\t\t\t\tkey={fieldId}\n\t\t\t\t\t\tlabel={field.label}\n\t\t\t\t\t\tsectionStyle={sectionStyle}\n\t\t\t\t\t\tinputType=\"toggle\"\n\t\t\t\t\t\tvalue={field.answer}\n\t\t\t\t\t\tonChange={(answer) => this.onChangeToggleAnswer(fieldId, answer)}\n\t\t\t\t\t\tisValid={() => this.isFieldValid(field, fieldId)}\n\t\t\t\t\t\tshowError={this.state.showError}\n\t\t\t\t\t\trequired={field.mandatory}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\tcase \"multichoice\":\n\t\t\t\treturn (\n\t\t\t\t\t<Components.GenericInputSection\n\t\t\t\t\t\tkey={fieldId}\n\t\t\t\t\t\tlabel={field.label}\n\t\t\t\t\t\tsectionStyle={sectionStyle}\n\t\t\t\t\t\tinputType=\"radio\"\n\t\t\t\t\t\tvalue={field.answer}\n\t\t\t\t\t\tonChange={(answer) => this.onChangeToggleAnswer(fieldId, answer)}\n\t\t\t\t\t\toptions={field.values.map((o) => {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tLabel: o,\n\t\t\t\t\t\t\t\tValue: o,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tisValid={() => this.isFieldValid(field, fieldId)}\n\t\t\t\t\t\tshowError={this.state.showError}\n\t\t\t\t\t\trequired={field.mandatory}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\tcase \"checkbox\":\n\t\t\t\treturn (\n\t\t\t\t\t<Components.GenericInputSection\n\t\t\t\t\t\tkey={fieldId}\n\t\t\t\t\t\tlabel={field.label}\n\t\t\t\t\t\tsectionStyle={sectionStyle}\n\t\t\t\t\t\tisValid={() => this.isFieldValid(field, fieldId)}\n\t\t\t\t\t\tshowError={this.state.showError}\n\t\t\t\t\t\trequired={field.mandatory}\n\t\t\t\t\t>\n\t\t\t\t\t\t{field.values.map((o, i) => {\n\t\t\t\t\t\t\tconst isActive = field.answer && _.includes(field.answer, o);\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\t\t\t\tonPress={() => this.onChangeCheckboxAnswer(fieldId, o)}\n\t\t\t\t\t\t\t\t\tkey={i}\n\t\t\t\t\t\t\t\t\tstyle={styles.multiChoiceOption}\n\t\t\t\t\t\t\t\t\thitSlop={{ top: 8, left: 8, bottom: 8, right: 8 }}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{isActive ? (\n\t\t\t\t\t\t\t\t\t\t<Components.TickIcon\n\t\t\t\t\t\t\t\t\t\t\tstyle={styles.tick}\n\t\t\t\t\t\t\t\t\t\t\tsize={20}\n\t\t\t\t\t\t\t\t\t\t\tcolor={this.props.colourBrandingMain}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<View style={styles.unticked} />\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t<Text style={styles.multiChoiceText}>{o}</Text>\n\t\t\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</Components.GenericInputSection>\n\t\t\t\t);\n\t\t\tcase \"text\":\n\t\t\tcase \"email\":\n\t\t\tcase \"phone\":\n\t\t\t\treturn (\n\t\t\t\t\t<Components.GenericInputSection\n\t\t\t\t\t\tkey={fieldId}\n\t\t\t\t\t\tlabel={field.label}\n\t\t\t\t\t\tplaceholder={field.placeHolder}\n\t\t\t\t\t\tvalue={field.answer}\n\t\t\t\t\t\tonChangeText={(val) => this.onChangeAnswer(fieldId, val)}\n\t\t\t\t\t\teditable\n\t\t\t\t\t\tsquaredCorners\n\t\t\t\t\t\tisValid={() => this.isFieldValid(field, fieldId)}\n\t\t\t\t\t\tshowError={this.state.showError}\n\t\t\t\t\t\terrorText={field.type === \"email\" ? \"Not a valid email\" : undefined}\n\t\t\t\t\t\trequired={field.mandatory}\n\t\t\t\t\t\tsectionStyle={sectionStyle}\n\t\t\t\t\t\tautoCapitalize=\"sentences\"\n\t\t\t\t\t\tkeyboardType={this.keyboardTypes[field.type]}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\tcase \"staticTitle\":\n\t\t\t\treturn (\n\t\t\t\t\t<Text\n\t\t\t\t\t\tkey={fieldId}\n\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\tstyles.staticTitle,\n\t\t\t\t\t\t\t{ color: this.props.colourBrandingMain },\n\t\t\t\t\t\t\tsectionStyle,\n\t\t\t\t\t\t]}\n\t\t\t\t\t>\n\t\t\t\t\t\t{field.label}\n\t\t\t\t\t</Text>\n\t\t\t\t);\n\t\t\tcase \"staticText\":\n\t\t\t\treturn (\n\t\t\t\t\t<View key={fieldId} style={[styles.staticText, sectionStyle]}>\n\t\t\t\t\t\t{Helper.toParagraphed(field.label, styles.staticText)}\n\t\t\t\t\t</View>\n\t\t\t\t);\n\t\t\tcase \"date\":\n\t\t\tcase \"time\":\n\t\t\t\treturn this.renderDateField(field, fieldId, sectionStyle);\n\t\t\tcase \"image\":\n\t\t\t\treturn (\n\t\t\t\t\t<Components.GenericInputSection\n\t\t\t\t\t\tkey={fieldId}\n\t\t\t\t\t\tlabel={field.label}\n\t\t\t\t\t\tsectionStyle={sectionStyle}\n\t\t\t\t\t\tisValid={() => this.isFieldValid(field, fieldId)}\n\t\t\t\t\t\trequired={field.mandatory}\n\t\t\t\t\t\tshowError={this.state.showError}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.renderImageList(fieldId)}\n\t\t\t\t\t</Components.GenericInputSection>\n\t\t\t\t);\n\t\t\tcase \"document\":\n\t\t\t\treturn (\n\t\t\t\t\t<Components.GenericInputSection\n\t\t\t\t\t\tkey={fieldId}\n\t\t\t\t\t\tlabel={field.label}\n\t\t\t\t\t\tsectionStyle={sectionStyle}\n\t\t\t\t\t\tisValid={() => this.isFieldValid(field, fieldId)}\n\t\t\t\t\t\trequired={field.mandatory}\n\t\t\t\t\t\tshowError={this.state.showError}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.renderDocumentList(fieldId)}\n\t\t\t\t\t</Components.GenericInputSection>\n\t\t\t\t);\n\t\t\tdefault:\n\t\t\t\treturn null;\n\t\t}\n\t}\n\n\trenderCustomFields() {\n\t\tconst { customFields } = this.state;\n\t\tif (!customFields || customFields.length === 0) return null;\n\n\t\treturn (\n\t\t\t<Components.FormCard style={{ marginTop: 16 }}>\n\t\t\t\t{customFields.map((field, i) => this.renderField(field, i))}\n\t\t\t</Components.FormCard>\n\t\t);\n\t}\n\n\trenderForm() {\n\t\tconst { customFields, loadingTypes } = this.state;\n\t\tconst hasCustomFields = customFields && customFields.length > 0;\n\n\t\tif (loadingTypes) {\n\t\t\treturn <Components.Spinner />;\n\t\t}\n\n\t\treturn (\n\t\t\t<View style={{ flex: 1 }}>\n\t\t\t\t<ScrollView\n\t\t\t\t\tkeyboardShouldPersistTaps=\"always\"\n\t\t\t\t\tstyle={{ flex: 1 }}\n\t\t\t\t\tref={(ref) => (this.scrollContainer = ref)}\n\t\t\t\t>\n\t\t\t\t\t<View style={{ paddingBottom: 2 }}>\n\t\t\t\t\t\t<Components.LoadingIndicator visible={this.state.submitting} />\n\t\t\t\t\t\t{this.state.error && (\n\t\t\t\t\t\t\t<Text style={styles.errorText}>{this.state.error}</Text>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<Components.FormCard style={{ marginTop: 16 }}>\n\t\t\t\t\t\t\t{/* PC-1255: User picker for on-behalf requests */}\n\t\t\t\t\t\t\t{this.state.canCreateOnBehalf && (\n\t\t\t\t\t\t\t\t<Components.FormCardSection\n\t\t\t\t\t\t\t\t\tlabel={\"Select User\"}\n\t\t\t\t\t\t\t\t\ttextValue={this.state.selectedUser?.displayName}\n\t\t\t\t\t\t\t\t\thasContent\n\t\t\t\t\t\t\t\t\thasUnderline\n\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\terrorText=\"Please select a user.\"\n\t\t\t\t\t\t\t\t\tshowError={this.state.showError && !this.state.selectedUser}\n\t\t\t\t\t\t\t\t\tsectionStyle={{\n\t\t\t\t\t\t\t\t\t\tborderBottomWidth: 1,\n\t\t\t\t\t\t\t\t\t\tborderBottomColor: Colours.LINEGREY,\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<TouchableOpacity onPress={this.onPressUser}>\n\t\t\t\t\t\t\t\t\t\t<View style={styles.userPickerContainer}>\n\t\t\t\t\t\t\t\t\t\t\t<View style={styles.profileContainer}>\n\t\t\t\t\t\t\t\t\t\t\t\t<Components.ProfilePic\n\t\t\t\t\t\t\t\t\t\t\t\t\tProfilePic={this.state.selectedUser?.profilePic}\n\t\t\t\t\t\t\t\t\t\t\t\t\tDiameter={30}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t<Text style={styles.nameText}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.selectedUser?.displayName ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Select User\"}\n\t\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\t\tname=\"angle-right\"\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\t\t\t\t\t\t\ticonStyle={[\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.sectionTitle,\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfontSize: 20,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor: this.props.colourBrandingMain,\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t\t\t\t</Components.FormCardSection>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{/* PC-1255: Hide Name field when creating on behalf - name comes from selected user */}\n\t\t\t\t\t\t\t{!this.state.canCreateOnBehalf && (\n\t\t\t\t\t\t\t\t<Components.FormCardSection\n\t\t\t\t\t\t\t\t\tlabel={\"Name\"}\n\t\t\t\t\t\t\t\t\tplaceholder={\"Enter your name\"}\n\t\t\t\t\t\t\t\t\ttextValue={this.state.userName}\n\t\t\t\t\t\t\t\t\tonChangeText={(userName) => this.onChangeName(userName)}\n\t\t\t\t\t\t\t\t\teditable={\n\t\t\t\t\t\t\t\t\t\tthis.props.userType === \"KIOSK\" &&\n\t\t\t\t\t\t\t\t\t\tthis.state.submitting === false\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tisValid={() => {\n\t\t\t\t\t\t\t\t\t\treturn this.state.userName.length > 1;\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\terrorText=\"Please enter your name.\"\n\t\t\t\t\t\t\t\t\tshowError={\n\t\t\t\t\t\t\t\t\t\tthis.state.showError && this.state.userName.length < 2\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\thasUnderline\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<Components.FormCardSection\n\t\t\t\t\t\t\t\tlabel={\"Contact number\"}\n\t\t\t\t\t\t\t\tplaceholder={\"Enter phone number\"}\n\t\t\t\t\t\t\t\ttextValue={this.state.phone}\n\t\t\t\t\t\t\t\tonChangeText={(phone) => this.setState({ phone })}\n\t\t\t\t\t\t\t\teditable={this.state.submitting === false}\n\t\t\t\t\t\t\t\thasUnderline\n\t\t\t\t\t\t\t\tkeyboardType={\"phone-pad\"}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Components.FormCardSection\n\t\t\t\t\t\t\t\tlabel={\"Address\"}\n\t\t\t\t\t\t\t\tplaceholder={\"Enter your address\"}\n\t\t\t\t\t\t\t\ttextValue={this.state.roomNumber}\n\t\t\t\t\t\t\t\tonChangeText={(roomNumber) => this.setState({ roomNumber })}\n\t\t\t\t\t\t\t\teditable={this.state.submitting === false}\n\t\t\t\t\t\t\t\thasUnderline\n\t\t\t\t\t\t\t\tisValid={() => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\tthis.state.roomNumber && this.state.roomNumber.length > 1\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\trequired\n\t\t\t\t\t\t\t\terrorText=\"Please provide your address.\"\n\t\t\t\t\t\t\t\tshowError={\n\t\t\t\t\t\t\t\t\tthis.state.showError &&\n\t\t\t\t\t\t\t\t\t(!this.state.roomNumber || this.state.roomNumber.length < 2)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Components.FormCard>\n\t\t\t\t\t\t<Components.FormCard\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tmarginTop: 16,\n\t\t\t\t\t\t\t\tpaddingHorizontal: 24,\n\t\t\t\t\t\t\t\tpaddingVertical: 16,\n\t\t\t\t\t\t\t\tflexDirection: \"row\",\n\t\t\t\t\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Text style={styles.sectionTitle}>{values.textJobType}</Text>\n\t\t\t\t\t\t\t<TouchableOpacity onPress={this.onPressType.bind(this)}>\n\t\t\t\t\t\t\t\t<View style={{ flexDirection: \"row\" }}>\n\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\t\t\t\t\tstyles.sectionTitle,\n\t\t\t\t\t\t\t\t\t\t\t{ color: this.props.colourBrandingMain, marginRight: 16 },\n\t\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{this.state.type}\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\tname=\"angle-right\"\n\t\t\t\t\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\t\t\t\t\ticonStyle={[\n\t\t\t\t\t\t\t\t\t\t\tstyles.sectionTitle,\n\t\t\t\t\t\t\t\t\t\t\t{ fontSize: 20, color: this.props.colourBrandingMain },\n\t\t\t\t\t\t\t\t\t\t]}\n\t\t\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</TouchableOpacity>\n\t\t\t\t\t\t</Components.FormCard>\n\t\t\t\t\t\t{hasCustomFields ? (\n\t\t\t\t\t\t\tthis.renderCustomFields()\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Components.FormCard style={{ marginTop: 16 }}>\n\t\t\t\t\t\t\t\t\t<Components.FormCardSection\n\t\t\t\t\t\t\t\t\t\tlabel={\"Title\"}\n\t\t\t\t\t\t\t\t\t\tplaceholder={\"Enter a title for your request\"}\n\t\t\t\t\t\t\t\t\t\ttextValue={this.state.title}\n\t\t\t\t\t\t\t\t\t\tonChangeText={(title) => this.setState({ title })}\n\t\t\t\t\t\t\t\t\t\teditable={this.state.submitting === false}\n\t\t\t\t\t\t\t\t\t\thasUnderline\n\t\t\t\t\t\t\t\t\t\tisValid={() => {\n\t\t\t\t\t\t\t\t\t\t\treturn this.state.title.length > 1;\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\t\terrorText=\"Please provide a title.\"\n\t\t\t\t\t\t\t\t\t\tshowError={\n\t\t\t\t\t\t\t\t\t\t\tthis.state.showError && this.state.title.length < 2\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tautoCorrect\n\t\t\t\t\t\t\t\t\t\tmultiline\n\t\t\t\t\t\t\t\t\t\tautoGrow\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<Components.FormCardSection\n\t\t\t\t\t\t\t\t\t\tlabel={\"Description\"}\n\t\t\t\t\t\t\t\t\t\tplaceholder={\"Describe your request here in detail\"}\n\t\t\t\t\t\t\t\t\t\ttextValue={this.state.description}\n\t\t\t\t\t\t\t\t\t\tonChangeText={(description) =>\n\t\t\t\t\t\t\t\t\t\t\tthis.setState({ description })\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\teditable={this.state.submitting === false}\n\t\t\t\t\t\t\t\t\t\thasUnderline\n\t\t\t\t\t\t\t\t\t\tautoCorrect\n\t\t\t\t\t\t\t\t\t\tmultiline\n\t\t\t\t\t\t\t\t\t\tautoGrow\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</Components.FormCard>\n\t\t\t\t\t\t\t\t<Components.FormCard\n\t\t\t\t\t\t\t\t\tstyle={{ marginTop: 16, paddingHorizontal: 24 }}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\t\t\t\t\t\tpaddingVertical: 16,\n\t\t\t\t\t\t\t\t\t\t\t\tflexDirection: \"row\",\n\t\t\t\t\t\t\t\t\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\t\t\t\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\t\t\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tthis.state.isHome && {\n\t\t\t\t\t\t\t\t\t\t\t\tborderBottomWidth: 1,\n\t\t\t\t\t\t\t\t\t\t\t\tborderBottomColor: Colours.LINEGREY,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Text style={styles.sectionTitle}>\n\t\t\t\t\t\t\t\t\t\t\t{Config.env.strings.MAINTENANCE_HOME}\n\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t<Switch\n\t\t\t\t\t\t\t\t\t\t\tvalue={this.state.isHome}\n\t\t\t\t\t\t\t\t\t\t\tdisabled={this.state.submitting}\n\t\t\t\t\t\t\t\t\t\t\tonValueChange={(value) =>\n\t\t\t\t\t\t\t\t\t\t\t\tthis.setState({ isHome: value })\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\ttrackColor={{\n\t\t\t\t\t\t\t\t\t\t\t\tfalse: \"#ddd\",\n\t\t\t\t\t\t\t\t\t\t\t\ttrue: this.props.colourBrandingMain,\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tthumbColor={Platform.OS === \"android\" ? \"#fff\" : null}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t{this.state.isHome && (\n\t\t\t\t\t\t\t\t\t\t<Components.FormCardSection\n\t\t\t\t\t\t\t\t\t\t\tlabel={\"Available times\"}\n\t\t\t\t\t\t\t\t\t\t\tplaceholder={\n\t\t\t\t\t\t\t\t\t\t\t\t\"Describe your available times here in detail.\"\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\ttextValue={this.state.times}\n\t\t\t\t\t\t\t\t\t\t\tonChangeText={(times) => this.setState({ times })}\n\t\t\t\t\t\t\t\t\t\t\teditable={this.state.submitting === false}\n\t\t\t\t\t\t\t\t\t\t\thasUnderline\n\t\t\t\t\t\t\t\t\t\t\tisValid={() => {\n\t\t\t\t\t\t\t\t\t\t\t\treturn this.state.times.length > 1;\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\t\t\terrorText=\"Please provide available times.\"\n\t\t\t\t\t\t\t\t\t\t\tshowError={\n\t\t\t\t\t\t\t\t\t\t\t\tthis.state.showError &&\n\t\t\t\t\t\t\t\t\t\t\t\tthis.state.isHome &&\n\t\t\t\t\t\t\t\t\t\t\t\tthis.state.times.length < 2\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tminHeight={40}\n\t\t\t\t\t\t\t\t\t\t\tautoCorrect\n\t\t\t\t\t\t\t\t\t\t\tmultiline\n\t\t\t\t\t\t\t\t\t\t\tautoGrow\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</Components.FormCard>\n\t\t\t\t\t\t\t\t{this.renderImageList()}\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</View>\n\t\t\t\t</ScrollView>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderRegisterConfirmation() {\n\t\treturn (\n\t\t\t<Components.ConfirmationPopup\n\t\t\t\tconfirmText={`${values.textEntityName} submitted`}\n\t\t\t\trepeatText={\"Submit another\"}\n\t\t\t\tvisible={this.state.confirmationToShow}\n\t\t\t\tonClose={this.onCloseConfirmationPopup.bind(this)}\n\t\t\t\tonPressAction={this.onConfirmationReset.bind(this)}\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderVideoPlayerPopup() {\n\t\tconst { showFullscreenVideo, currentVideoUrl } = this.state;\n\t\tif (!currentVideoUrl) return;\n\n\t\treturn (\n\t\t\t<Components.VideoPopup\n\t\t\t\turi={currentVideoUrl}\n\t\t\t\tvisible={showFullscreenVideo}\n\t\t\t\tshowFullscreenButton={false}\n\t\t\t\tonClose={this.toggleFullscreenVideo}\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderNoType() {\n\t\tif (!this.state.noType) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<Components.WarningPopup\n\t\t\t\tconfirmText={\"No forms are available\"}\n\t\t\t\tinfoText={\"Check back later for forms.\"}\n\t\t\t\tvisible={this.state.noType}\n\t\t\t\tonClose={this.onPressBack.bind(this)}\n\t\t\t\tpadHorizontal\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { submitting, success, isDateTimePickerVisible, popUpType } =\n\t\t\tthis.state;\n\n\t\treturn (\n\t\t\t<KeyboardAvoidingView behavior={\"padding\"} style={styles.viewContainer}>\n\t\t\t\t{this.renderImageUploader()}\n\t\t\t\t<View style={styles.container}>\n\t\t\t\t\t<Components.Header\n\t\t\t\t\t\tleftIcon=\"angle-left\"\n\t\t\t\t\t\tonPressLeft={this.onPressBack.bind(this)}\n\t\t\t\t\t\ttext={\n\t\t\t\t\t\t\tthis.props.strings[`${values.featureKey}_textFeatureTitle`] ||\n\t\t\t\t\t\t\tvalues.textFeatureTitle\n\t\t\t\t\t\t}\n\t\t\t\t\t\trightText={submitting || success ? null : \"Done\"}\n\t\t\t\t\t\tonPressRight={this.submitRequest.bind(this)}\n\t\t\t\t\t\tabsoluteRight\n\t\t\t\t\t/>\n\t\t\t\t\t{this.renderForm()}\n\t\t\t\t</View>\n\t\t\t\t{this.renderRegisterConfirmation()}\n\t\t\t\t{this.renderVideoPlayerPopup()}\n\t\t\t\t{this.renderNoType()}\n\t\t\t\t<DateTimePicker\n\t\t\t\t\tisVisible={isDateTimePickerVisible}\n\t\t\t\t\tonConfirm={this.onDateSelected}\n\t\t\t\t\tonCancel={() => this.setState({ isDateTimePickerVisible: false })}\n\t\t\t\t\tmode={popUpType}\n\t\t\t\t\theaderTextIOS={`Pick a ${popUpType}`}\n\t\t\t\t\tdate={new Date()}\n\t\t\t\t/>\n\t\t\t</KeyboardAvoidingView>\n\t\t);\n\t}\n}\n\nconst styles = {\n\tviewContainer: {\n\t\tflex: 1,\n\t\tbackgroundColor: \"#fff\",\n\t},\n\tcontainer: {\n\t\tflex: 1,\n\t\tposition: \"relative\",\n\t\tbackgroundColor: \"#f0f0f5\",\n\t},\n\terrorText: {\n\t\tfontFamily: \"sf-regular\",\n\t\tcolor: Colours.COLOUR_TANGERINE,\n\t\tfontSize: 16,\n\t},\n\trequestSuccess: {\n\t\tfontFamily: \"sf-regular\",\n\t\tcolor: Colours.TEXT_DARK,\n\t\tfontSize: 17,\n\t\ttextAlign: \"center\",\n\t},\n\tsectionTitle: {\n\t\tfontFamily: \"sf-regular\",\n\t\tfontSize: 17,\n\t\tcolor: Colours.TEXT_DARK,\n\t},\n\timageListContainer: {\n\t\tmarginTop: 8,\n\t\tpadding: 8,\n\t\tflexDirection: \"row\",\n\t\tbackgroundColor: Colours.BOXGREY,\n\t\tminHeight: 106,\n\t},\n\timageListContainerEmpty: {\n\t\tjustifyContent: \"center\",\n\t\talignItems: \"center\",\n\t\tflexDirection: \"column\",\n\t},\n\tdocumentListContainer: {\n\t\tmarginTop: 8,\n\t\tflexDirection: \"column\",\n\t\talignItems: \"flex-start\",\n\t},\n\timageContainer: {\n\t\twidth: PHOTO_SIZE,\n\t\theight: PHOTO_SIZE,\n\t\tborderStyle: \"dashed\",\n\t\tjustifyContent: \"center\",\n\t\talignItems: \"center\",\n\t\tborderWidth: 1,\n\t\tborderColor: Colours.LINEGREY,\n\t\tborderRadius: 4,\n\t\tmarginLeft: 8,\n\t},\n\timageContainerNotEmpty: {\n\t\tborderWidth: 1,\n\t\tborderColor: Colours.LINEGREY,\n\t\tbackgroundColor: \"#fff\",\n\t\tborderStyle: \"dashed\",\n\t},\n\timageBackground: {\n\t\tflex: 1,\n\t\theight: \"100%\",\n\t\twidth: \"100%\",\n\t\tborderRadius: 4,\n\t},\n\timageCircle: {\n\t\twidth: 90,\n\t\theight: 90,\n\t\tborderRadius: 45,\n\t\tbackgroundColor: Colours.PINKISH_GREY,\n\t\tjustifyContent: \"center\",\n\t},\n\taddImageIcon: {\n\t\tcolor: \"#fff\",\n\t\tfontSize: 32,\n\t},\n\timagePlayContainer: {\n\t\tposition: \"absolute\",\n\t\ttop: 0,\n\t\tleft: 0,\n\t\tright: 0,\n\t\tbottom: 0,\n\t\talignItems: \"center\",\n\t\tjustifyContent: \"center\",\n\t},\n\timageControlIcon: {\n\t\tcolor: \"#fff\",\n\t\tfontSize: 20,\n\t\ttextShadowColor: \"rgba(0,0,0,0.3)\",\n\t\ttextShadowOffset: { width: 2, height: 2 },\n\t},\n\tremoveImage: {\n\t\tposition: \"absolute\",\n\t\ttop: 0,\n\t\tright: 0,\n\t\tpadding: 4,\n\t\twidth: 40,\n\t\theight: 40,\n\t\talignItems: \"center\",\n\t\tjustifyContent: \"center\",\n\t},\n\tstaticTitle: {\n\t\tfontSize: 20,\n\t\tfontFamily: \"sf-semibold\",\n\t\tcolor: Colours.TEXT_DARKEST,\n\t},\n\tstaticText: {\n\t\tfontSize: 17,\n\t\tfontFamily: \"sf-regular\",\n\t\tcolor: Colours.TEXT_DARKEST,\n\t\tlineHeight: 24,\n\t},\n\tmultiChoiceOption: {\n\t\tmarginTop: 16,\n\t\tflexDirection: \"row\",\n\t\talignItems: \"center\",\n\t\tminHeight: 20,\n\t},\n\tmultiChoiceText: {\n\t\tflex: 1,\n\t\tfontFamily: \"sf-medium\",\n\t\tfontSize: 14,\n\t\tcolor: Colours.TEXT_DARK,\n\t},\n\ttick: {\n\t\tmarginRight: 10,\n\t\tborderRadius: 4,\n\t},\n\tunticked: {\n\t\tmarginRight: 10,\n\t\twidth: 20,\n\t\theight: 20,\n\t\tborderColor: Colours.LINEGREY,\n\t\tborderWidth: 1,\n\t\tborderRadius: 4,\n\t},\n\tdateContainer: {\n\t\tflexDirection: \"row\",\n\t\talignItems: \"center\",\n\t},\n\tdateFieldButton: {\n\t\tflex: 1,\n\t},\n\tdateFieldContainer: {\n\t\tflexDirection: \"row\",\n\t\tborderRadius: 2,\n\t\tbackgroundColor: \"#ebeff2\",\n\t\tpadding: 8,\n\t\tmarginTop: 8,\n\t},\n\tdateText: {\n\t\tflex: 1,\n\t\tfontFamily: \"sf-regular\",\n\t\tfontSize: 16,\n\t\tcolor: \"#65686D\",\n\t},\n\tdateIcon: {\n\t\tfontSize: 18,\n\t\tcolor: Colours.TEXT_BLUEGREY,\n\t},\n\tdateClearButton: {\n\t\tpaddingLeft: 12,\n\t},\n\tremoveIcon: {\n\t\tfontSize: 26,\n\t\tcolor: Colours.TEXT_BLUEGREY,\n\t},\n\tdocumentContainer: {\n\t\tflexDirection: \"row\",\n\t\talignItems: \"center\",\n\t\tjustifyContent: \"space-between\",\n\t\tpaddingVertical: 4,\n\t},\n\tdocumentTypeContainer: {\n\t\twidth: 50,\n\t\theight: 60,\n\t\tjustifyContent: \"center\",\n\t\talignItems: \"center\",\n\t\tborderRadius: 5,\n\t\tmarginRight: 8,\n\t},\n\tdocumentTypeText: {\n\t\tcolor: \"#fff\",\n\t\tfontFamily: \"sf-semibold\",\n\t\ttextAlign: \"center\",\n\t},\n\tdocumentText: {\n\t\tflex: 1,\n\t\tfontFamily: \"sf-semibold\",\n\t\tfontSize: 16,\n\t\tcolor: \"#65686D\",\n\t},\n\tremoveDocumentButton: {\n\t\tpadding: 4,\n\t\twidth: 40,\n\t\theight: 40,\n\t\talignItems: \"center\",\n\t\tjustifyContent: \"center\",\n\t\tmarginLeft: 8,\n\t},\n\tremoveDocumentIcon: {\n\t\tfontSize: 24,\n\t},\n\t// PC-1255: User picker styles\n\tuserPickerContainer: {\n\t\tflexDirection: \"row\",\n\t\tjustifyContent: \"space-between\",\n\t\talignItems: \"center\",\n\t},\n\tprofileContainer: {\n\t\tflexDirection: \"row\",\n\t\talignItems: \"center\",\n\t},\n\tnameText: {\n\t\tfontFamily: \"sf-medium\",\n\t\tfontSize: 16,\n\t\tcolor: Colours.TEXT_DARK,\n\t\tmarginLeft: 8,\n\t},\n};\n\nconst mapStateToProps = (state) => {\n\tconst { user, connection } = state;\n\tconst { displayName, profilePic, uid, site, unit, phoneNumber, permissions } =\n\t\tuser;\n\treturn {\n\t\tconnected: connection.connected,\n\t\tuserType: user.type,\n\t\tdisplayName,\n\t\tprofilePic,\n\t\tuid,\n\t\tsite,\n\t\tunit,\n\t\tphoneNumber,\n\t\tpermissions,\n\t\tcolourBrandingMain: Colours.getMainBrandingColourFromState(state),\n\t\tstrings: state.strings?.config || {},\n\t};\n};\n\nexport default connect(mapStateToProps, { jobAdded })(MaintenanceRequest);\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plusscommunities/pluss-maintenance-app-forms",
3
- "version": "8.0.9-beta.2",
3
+ "version": "8.0.9-beta.4",
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",
@@ -49,7 +49,7 @@ class MaintenanceUserPicker extends Component {
49
49
  renderMain() {
50
50
  if (_.isEmpty(this.props.users)) {
51
51
  return (
52
- <View style={{ marginTop: 16 }}>
52
+ <View style={{ marginTop: 8 }}>
53
53
  <Components.Spinner />
54
54
  </View>
55
55
  );
@@ -65,7 +65,7 @@ class MaintenanceUserPicker extends Component {
65
65
  }
66
66
 
67
67
  return (
68
- <Components.FormCard style={{ marginTop: 16 }}>
68
+ <Components.FormCard style={{ marginTop: 8 }}>
69
69
  {this.renderOptions(filteredUsers)}
70
70
  </Components.FormCard>
71
71
  );
@@ -172,7 +172,9 @@ const styles = {
172
172
  searchContainer: {
173
173
  flexDirection: "row",
174
174
  alignItems: "center",
175
- margin: 15,
175
+ marginHorizontal: 15,
176
+ marginTop: 10,
177
+ marginBottom: 0,
176
178
  backgroundColor: "#fff",
177
179
  borderRadius: 8,
178
180
  paddingHorizontal: 12,
@@ -192,7 +192,7 @@ class MaintenanceRequest extends Component {
192
192
  console.log("Could not fetch user details for auto-population:", error);
193
193
  } finally {
194
194
  // In any case, we still need a title. Inform the user to set one form field as a title.
195
- if (!state.title && !update.title) {
195
+ if (!this.state.title && !update.title) {
196
196
  update.title =
197
197
  "[Missing title - Set one of the form field as title in the community manager]";
198
198
  }
@@ -317,7 +317,7 @@ class MaintenanceRequest extends Component {
317
317
  this.setImages(imagesUpdate, imageFieldId);
318
318
  };
319
319
 
320
- onLibrarySelected = (uri) => {
320
+ onLibrarySelectedImage = (uri) => {
321
321
  const { imageFieldId } = this.state;
322
322
  const imagesUpdate = this.getImages(imageFieldId);
323
323
  imagesUpdate.splice(imagesUpdate.length - 1, 0, {