{"version":3,"file":"js/rescript-bundles-user-dashboard-projects-create-internet-rfp-project-general-information-10b00004203c145a8d1a.chunk.js","mappings":"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","sources":["webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-internet-rfp-project-general-information/CreateInternetRfpProjectGeneralInformation.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-internet-rfp-project-general-information/CreateInternetRfpProjectGeneralInformation__JsBridge.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-internet-rfp-project-general-information/index.js"],"sourcesContent":["// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Api from \"../../../../api/Api.res.js\";\nimport * as $$Date from \"../../../../libs/Date.res.js\";\nimport * as React from \"react\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as Belt_Result from \"rescript/lib/es6/belt_Result.js\";\nimport * as Caml_option from \"rescript/lib/es6/caml_option.js\";\nimport * as Routes_Project from \"../../../../routes/common/Routes_Project.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as Json$JsonCombinators from \"@glennsl/rescript-json-combinators/src/Json.res.js\";\nimport * as Json_Decode$JsonCombinators from \"@glennsl/rescript-json-combinators/src/Json_Decode.res.js\";\nimport * as ProjectWizardGeneralInformation from \"../_components/ProjectWizardGeneralInformation/ProjectWizardGeneralInformation.res.js\";\n\nvar decoder = Json_Decode$JsonCombinators.object(function (field) {\n return {\n startDate: field.required(\"startDate\", $$Date.Naive.decoder),\n contractLength: field.required(\"contractLength\", Json_Decode$JsonCombinators.$$int)\n };\n });\n\nfunction fromJson(json) {\n return Belt_Result.getExn(Json$JsonCombinators.decode(json, decoder));\n}\n\nvar Configuration = {\n decoder: decoder,\n fromJson: fromJson\n};\n\nfunction title(param) {\n return \"Internet RFP Project\";\n}\n\nfunction description(configurations) {\n return \"The proposed Internet project has a projected service start date of \" + (Belt_Array.map(configurations, (function (config) {\n return $$Date.Naive.format(config.startDate, \"dd MMM yyyy\");\n })).join(\", \") + (\" with a contract term of \" + (Belt_Array.map(configurations, (function (config) {\n return String(config.contractLength / 12 | 0);\n })).join(\", \") + \" years.\")));\n}\n\nvar ProjectInfo = {\n title: title,\n description: description\n};\n\nfunction createProject(extra, extra$1, extra$2, extra$3, extra$4, extra$5, extra$6, extra$7, extra$8, extra$9) {\n return Api.createNewProject({\n TAG: \"Internet\",\n _0: \"Rfp\"\n }, extra, extra$1, extra$2, extra$3, extra$4, extra$5, extra$6, extra$7, extra$8, extra$9);\n}\n\nfunction saveDraftProjectAndContinueLater(extra) {\n return Api.saveInternetDraftProjectAndContinueLater(\"Internet\", {\n TAG: \"Internet\",\n _0: \"Rfp\"\n }, extra);\n}\n\nvar Api$1 = {\n saveDraft: Api.saveProjectGeneralInfoDraft,\n createProject: createProject,\n updateProject: Api.updateProject,\n saveDraftProjectAndContinueLater: saveDraftProjectAndContinueLater\n};\n\nfunction CreateInternetRfpProjectGeneralInformation(props) {\n var description$1 = props.description;\n var configurations = props.configurations;\n var title = props.title;\n var projectId = props.projectId;\n var title$1 = React.useMemo((function () {\n if (title !== undefined && title !== \"\") {\n return title;\n } else {\n return \"Internet RFP Project\";\n }\n }), [\n title,\n props.category\n ]);\n var description$2 = React.useMemo((function () {\n if (description$1 !== undefined && description$1 !== \"\") {\n return description$1;\n } else {\n return description(configurations);\n }\n }), [\n description$1,\n configurations\n ]);\n var navigationBackButtonLocation = React.useMemo((function () {\n if (projectId !== undefined) {\n return Routes_Project.Internet.Provider.editSelector(Caml_option.valFromOption(projectId));\n } else {\n return Routes_Project.Internet.Provider.newSelector;\n }\n }), [projectId]);\n return JsxRuntime.jsx(ProjectWizardGeneralInformation.make, {\n api: Api$1,\n userLoginStatus: props.userLoginStatus,\n userRole: props.userRole,\n projectId: projectId,\n title: title$1,\n description: description$2,\n alreadyUploadedDocuments: props.alreadyUploadedDocuments,\n businessName: props.businessName,\n businessContactName: props.businessContactName,\n businessEmail: props.businessEmail,\n businessPhone: props.businessPhone,\n headquartersAddress: props.headquartersAddress,\n contacts: props.contacts,\n isAgent: props.isAgent,\n navigationTotalSteps: 3,\n navigationBackButtonLocation: navigationBackButtonLocation,\n mobile: props.mobile,\n status: props.status\n });\n}\n\nvar make = CreateInternetRfpProjectGeneralInformation;\n\nexport {\n Configuration ,\n ProjectInfo ,\n Api$1 as Api,\n make ,\n}\n/* decoder Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as React from \"react\";\nimport * as Project from \"../../../../models/Project.res.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as Belt_Option from \"rescript/lib/es6/belt_Option.js\";\nimport * as Caml_option from \"rescript/lib/es6/caml_option.js\";\nimport * as UserContact from \"../../../../models/UserContact.res.js\";\nimport * as RailsContext from \"../../../../models/RailsContext.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as CreateInternetRfpProjectGeneralInformation from \"./CreateInternetRfpProjectGeneralInformation.res.js\";\n\nfunction CreateInternetRfpProjectGeneralInformation__JsBridge$default(props) {\n var railsContext = props.railsContext;\n var jsProps = props.jsProps;\n var railsContext$1 = React.useMemo((function () {\n return RailsContext.fromJson(railsContext);\n }), [railsContext]);\n var projectId = React.useMemo((function () {\n return Caml_option.nullable_to_opt(jsProps.projectId);\n }), [jsProps.projectId]);\n var category = Project.Category.fromString(jsProps.category, jsProps.subcategory);\n var title = React.useMemo((function () {\n return Caml_option.nullable_to_opt(jsProps.title);\n }), [jsProps.title]);\n var description = React.useMemo((function () {\n return Caml_option.nullable_to_opt(jsProps.description);\n }), [jsProps.description]);\n var alreadyUploadedDocuments = React.useMemo((function () {\n return Belt_Array.map(jsProps.documents, Project.$$Document.fromJs);\n }), [jsProps.documents]);\n var businessName = React.useMemo((function () {\n return Belt_Option.getWithDefault(Caml_option.nullable_to_opt(jsProps.businessName), \"\");\n }), [jsProps.businessName]);\n var businessContactName = React.useMemo((function () {\n return Belt_Option.getWithDefault(Caml_option.nullable_to_opt(jsProps.businessContactName), \"\");\n }), [jsProps.businessContactName]);\n var businessEmail = React.useMemo((function () {\n return Belt_Option.getWithDefault(Caml_option.nullable_to_opt(jsProps.businessEmail), \"\");\n }), [jsProps.businessEmail]);\n var businessPhone = React.useMemo((function () {\n return Belt_Option.getWithDefault(Caml_option.nullable_to_opt(jsProps.businessPhone), \"\");\n }), [jsProps.businessPhone]);\n var headquartersAddress = React.useMemo((function () {\n return Belt_Option.getWithDefault(Caml_option.nullable_to_opt(jsProps.headquartersAddress), \"\");\n }), [jsProps.headquartersAddress]);\n var contacts = React.useMemo((function () {\n return Belt_Array.map(jsProps.contacts, UserContact.fromJs);\n }), [jsProps.contacts]);\n var status = React.useMemo((function () {\n return Project.Status.fromJson(jsProps.status);\n }), [jsProps.status]);\n var configurations = React.useMemo((function () {\n return Belt_Array.map(jsProps.internetRfpConfigurations, CreateInternetRfpProjectGeneralInformation.Configuration.fromJson);\n }), []);\n return JsxRuntime.jsx(CreateInternetRfpProjectGeneralInformation.make, {\n userLoginStatus: railsContext$1.userLoginStatus,\n userRole: railsContext$1.userRole,\n projectId: projectId,\n category: category,\n title: title,\n configurations: configurations,\n description: description,\n alreadyUploadedDocuments: alreadyUploadedDocuments,\n businessName: businessName,\n businessContactName: businessContactName,\n businessEmail: businessEmail,\n businessPhone: businessPhone,\n headquartersAddress: headquartersAddress,\n contacts: contacts,\n isAgent: jsProps.isAgent,\n mobile: railsContext$1.mobile,\n status: status\n });\n}\n\nvar $$default = CreateInternetRfpProjectGeneralInformation__JsBridge$default;\n\nexport {\n $$default as default,\n}\n/* react Not a pure module */\n","import * as React from 'react';\nimport ReduxProvider from 'ReduxProvider';\nimport { connect } from 'react-redux';\nimport { setUserData } from 'Client/common/actions/userActions';\nimport CreateInternetRfpProjectGeneralInformation from './CreateInternetRfpProjectGeneralInformation__JsBridge.res.js';\n\nconst mapDispatchToProps = dispatch => ({\n redux: {\n setUserData: userData => {\n dispatch(setUserData(userData));\n },\n },\n});\n\nconst CreateInternetRfpProjectGeneralInformationContainer = connect(\n null,\n mapDispatchToProps,\n)(CreateInternetRfpProjectGeneralInformation);\n\nexport default ({ context, ...props }) => (\n \n \n \n);\n"],"names":["decoder","Json_Decode$JsonCombinators","field","startDate","required","$$Date","contractLength","Configuration","json","Belt_Result","Json$JsonCombinators","description","configurations","Belt_Array","config","format","join","String","Api$1","saveDraft","Api","createProject","extra","extra$1","extra$2","extra$3","extra$4","extra$5","extra$6","extra$7","extra$8","extra$9","TAG","_0","updateProject","saveDraftProjectAndContinueLater","make","props","description$1","title","projectId","title$1","React","undefined","category","description$2","navigationBackButtonLocation","Routes_Project","Provider","editSelector","Caml_option","newSelector","JsxRuntime","ProjectWizardGeneralInformation","api","userLoginStatus","userRole","alreadyUploadedDocuments","businessName","businessContactName","businessEmail","businessPhone","headquartersAddress","contacts","isAgent","navigationTotalSteps","mobile","status","$$default","railsContext","jsProps","railsContext$1","RailsContext","Project","fromString","subcategory","documents","fromJs","Belt_Option","UserContact","fromJson","internetRfpConfigurations","CreateInternetRfpProjectGeneralInformation","CreateInternetRfpProjectGeneralInformationContainer","connect","dispatch","redux","setUserData","userData","_ref","context","_objectWithoutProperties","_excluded","ReduxProvider"],"sourceRoot":""}