{"version":3,"file":"js/rescript-bundles-user-dashboard-projects-create-network-project-providers-selection-36709088a59a59a60d04.chunk.js","mappings":"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","sources":["webpack://datacenters/./client/app/rescript/bindings/Notification.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-network-project-providers-selection/CreateNetworkProjectProvidersSelection.scss?9f2d","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-network-project-providers-selection/CreateNetworkProjectProvidersSelection_SelectProvidersSection.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-network-project-providers-selection/CreateNetworkProjectProvidersSelection.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-network-project-providers-selection/CreateNetworkProjectProvidersSelection__JsBridge.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-network-project-providers-selection/index.js"],"sourcesContent":["// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as ReactNotifications from \"react-notifications\";\n\nvar Container = {};\n\nfunction success(message, title, timeout) {\n ReactNotifications.NotificationManager.success(message, title, timeout);\n}\n\nfunction error(message, title, timeout) {\n ReactNotifications.NotificationManager.error(message, title, timeout);\n}\n\nvar NotificationManager = {\n success: success,\n error: error\n};\n\nvar Manager = {};\n\nexport {\n Container ,\n NotificationManager ,\n Manager ,\n}\n/* react-notifications Not a pure module */\n","// extracted by mini-css-extract-plugin\nexport var column = \"CreateNetworkProjectProvidersSelection__column__VeZoJ\";\nexport var container = \"CreateNetworkProjectProvidersSelection__container__r2gHr\";\nexport var contentWrapper = \"CreateNetworkProjectProvidersSelection__contentWrapper__RvwSp\";\nexport var deselectAll = \"CreateNetworkProjectProvidersSelection__deselectAll__trq3y\";\nexport var flex = \"CreateNetworkProjectProvidersSelection__flex__QGNqH\";\nexport var flexColumn = \"CreateNetworkProjectProvidersSelection__flexColumn__Hp1Nd\";\nexport var gap1 = \"CreateNetworkProjectProvidersSelection__gap1__yWgUK\";\nexport var gap2 = \"CreateNetworkProjectProvidersSelection__gap2___czgX\";\nexport var gap3 = \"CreateNetworkProjectProvidersSelection__gap3__rEhvj\";\nexport var gap4 = \"CreateNetworkProjectProvidersSelection__gap4__tgUDQ\";\nexport var gap5 = \"CreateNetworkProjectProvidersSelection__gap5__X1p8F\";\nexport var heading = \"CreateNetworkProjectProvidersSelection__heading__Qz1xB\";\nexport var row = \"CreateNetworkProjectProvidersSelection__row__WLSWs\";\nexport var selectProvidersSectionHeading = \"CreateNetworkProjectProvidersSelection__selectProvidersSectionHeading__wTAvF\";\nexport var subHeading = \"CreateNetworkProjectProvidersSelection__subHeading__VgJzF\";","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as ID from \"../../../../libs/ID.res.js\";\nimport * as Js_array from \"rescript/lib/es6/js_array.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ProviderSelectionTile from \"../_components/ProviderSelectionTile/ProviderSelectionTile.res.js\";\nimport * as CreateNetworkProjectProvidersSelectionScss from \"./CreateNetworkProjectProvidersSelection.scss\";\n\nvar css = CreateNetworkProjectProvidersSelectionScss;\n\nfunction CreateNetworkProjectProvidersSelection_SelectProvidersSection(props) {\n var userRole = props.userRole;\n var toggleProviderSelection = props.toggleProviderSelection;\n var selectedProviders = props.selectedProviders;\n return JsxRuntime.jsxs(JsxRuntime.Fragment, {\n children: [\n JsxRuntime.jsx(\"h2\", {\n children: \"Select Providers\",\n className: css.selectProvidersSectionHeading\n }),\n JsxRuntime.jsx(\"p\", {\n children: \"Deselect all\",\n className: css.deselectAll,\n onClick: props.onDeselectAll\n }),\n Belt_Array.map(props.providers, (function (provider) {\n return JsxRuntime.jsx(ProviderSelectionTile.make, {\n provider: provider,\n checked: Js_array.includes(provider.id, selectedProviders),\n onToggle: (function (param) {\n toggleProviderSelection(provider);\n }),\n userRole: userRole,\n selectedProviders: selectedProviders\n }, ID.toString(provider.id) + \"-Provider-Selection-Tile\");\n }))\n ]\n });\n}\n\nvar make = CreateNetworkProjectProvidersSelection_SelectProvidersSection;\n\nexport {\n css ,\n make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Api from \"../../../../api/Api.res.js\";\nimport * as Url from \"../../../../utils/Url.res.js\";\nimport * as Hooks from \"../../../../libs/Hooks.res.js\";\nimport * as React from \"react\";\nimport * as Project from \"../../../../models/Project.res.js\";\nimport * as $$Promise from \"../../../../bindings/Promise.res.js\";\nimport * as Caml_obj from \"rescript/lib/es6/caml_obj.js\";\nimport * as Debounce from \"rescript-debounce/src/Debounce.res.js\";\nimport * as Js_array from \"rescript/lib/es6/js_array.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as Visibility from \"../../../../libs/Visibility.res.js\";\nimport * as $$Notification from \"../../../../bindings/Notification.res.js\";\nimport * as SentryLogger from \"../../../../loggers/SentryLogger.res.js\";\nimport * as ProjectWizard from \"../_components/ProjectWizard/ProjectWizard.res.js\";\nimport * as Routes_Project from \"../../../../routes/common/Routes_Project.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ReactNotifications from \"react-notifications\";\nimport * as SignInModalContainer from \"../../../../styleguide/modals/SignInModal/SignInModalContainer.res.js\";\nimport * as ProjectWizardNavigation from \"../_components/ProjectWizardNavigation/ProjectWizardNavigation.res.js\";\nimport * as CreateNetworkProjectProvidersSelectionScss from \"./CreateNetworkProjectProvidersSelection.scss\";\nimport * as CreateNetworkProjectProvidersSelection_SelectProvidersSection from \"./CreateNetworkProjectProvidersSelection_SelectProvidersSection.res.js\";\n\nvar css = CreateNetworkProjectProvidersSelectionScss;\n\nvar persistDraft = Debounce.make(900, (function (param) {\n if (param[1].TAG === \"Draft\") {\n return $$Promise.wait(Api.saveProjectProvidersSelectionDraft(param[0]), (function (x) {\n if (x.TAG === \"Ok\") {\n return $$Notification.NotificationManager.success(\"Draft saved!\", \"\", 1000);\n }\n SentryLogger.error1({\n rootModule: \"CreateNetworkProjectProvidersSelection\",\n subModulePath: {\n hd: \"Api\",\n tl: /* [] */0\n },\n value: \"persistDraft\",\n fullPath: \"CreateNetworkProjectProvidersSelection.Api.persistDraft\"\n }, \"SaveNetworkProjectProvidersSelectionDraft::Error\", [\n \"Error\",\n x._0\n ]);\n $$Notification.NotificationManager.error(\"Something went wrong trying to save the draft\", \"\", 1000);\n }));\n }\n \n }));\n\nfunction submitForm(selectedProvidersIds, networkType, context) {\n if (context.TAG === \"Draft\") {\n return $$Promise.wait(Api.saveNetworkProjectProvidersSelection(selectedProvidersIds), (function (x) {\n if (x.TAG === \"Ok\") {\n return Url.visit(Routes_Project.Network.GeneralInfo.$$new(networkType));\n }\n SentryLogger.error1({\n rootModule: \"CreateNetworkProjectProvidersSelection\",\n subModulePath: {\n hd: \"Api\",\n tl: /* [] */0\n },\n value: \"submitForm\",\n fullPath: \"CreateNetworkProjectProvidersSelection.Api.submitForm\"\n }, \"SaveNetworkProjectProvidersSelection::Error\", [\n \"Error\",\n x._0\n ]);\n $$Notification.NotificationManager.error(\"Something went wrong trying to save the draft\", \"\", 1000);\n }));\n }\n var projectId = context.projectId;\n $$Promise.wait(Api.updateNetworkProjectProvidersSelection(selectedProvidersIds, projectId), (function (x) {\n if (x.TAG === \"Ok\") {\n return Url.visit(Routes_Project.Network.GeneralInfo.show(projectId));\n }\n SentryLogger.error1({\n rootModule: \"CreateNetworkProjectProvidersSelection\",\n subModulePath: {\n hd: \"Api\",\n tl: /* [] */0\n },\n value: \"submitForm\",\n fullPath: \"CreateNetworkProjectProvidersSelection.Api.submitForm\"\n }, \"UpdateNetworkProjectProvidersSelection::Error\", [\n \"Error\",\n x._0\n ]);\n $$Notification.NotificationManager.error(\"Something went wrong trying to update the project\", \"\", 1000);\n }));\n}\n\nfunction saveDraftProjectAndContinueLater(selectedProvidersIds, context) {\n if (context.TAG === \"Draft\") {\n return $$Promise.wait(Api.saveNetworkDraftProjectProvidersSelection(selectedProvidersIds), (function (x) {\n if (x.TAG === \"Ok\") {\n return Url.visit(Routes_Project.index);\n }\n SentryLogger.error1({\n rootModule: \"CreateNetworkProjectProvidersSelection\",\n subModulePath: {\n hd: \"Api\",\n tl: /* [] */0\n },\n value: \"saveDraftProjectAndContinueLater\",\n fullPath: \"CreateNetworkProjectProvidersSelection.Api.saveDraftProjectAndContinueLater\"\n }, \"saveDraftProjectAndContinueLater::saveProjectDraft::Error\", [\n \"Error\",\n x._0\n ]);\n $$Notification.NotificationManager.error(\"Something went wrong trying to save the draft\", \"\", 1000);\n }));\n } else {\n return $$Promise.wait(Api.updateProjectProvidersSelection(selectedProvidersIds, context.projectId), (function (x) {\n if (x.TAG === \"Ok\") {\n return Url.visit(Routes_Project.index);\n }\n SentryLogger.error1({\n rootModule: \"CreateNetworkProjectProvidersSelection\",\n subModulePath: {\n hd: \"Api\",\n tl: /* [] */0\n },\n value: \"saveDraftProjectAndContinueLater\",\n fullPath: \"CreateNetworkProjectProvidersSelection.Api.saveDraftProjectAndContinueLater\"\n }, \"UpdateNetworkProjectProvidersSelection::Error\", [\n \"Error\",\n x._0\n ]);\n $$Notification.NotificationManager.error(\"Something went wrong trying to update the project\", \"\", 1000);\n }));\n }\n}\n\nvar Api$1 = {\n persistDraft: persistDraft,\n submitForm: submitForm,\n saveDraftProjectAndContinueLater: saveDraftProjectAndContinueLater\n};\n\nfunction CreateNetworkProjectProvidersSelection(props) {\n var userRole = props.userRole;\n var projectStatus = props.projectStatus;\n var userLoginStatus = props.userLoginStatus;\n var networkType = props.networkType;\n var providers = props.providers;\n var context = props.context;\n var match = React.useState(function () {\n return \"Hidden\";\n });\n var toggleSignInModal = match[1];\n var signInModal = match[0];\n var initialState = React.useMemo((function () {\n var tmp;\n if (context.TAG === \"Draft\") {\n var selectedProvidersIds = context.selectedProvidersIds;\n tmp = selectedProvidersIds !== undefined ? selectedProvidersIds : (\n userRole === \"User\" ? Belt_Array.map(Belt_Array.slice(providers, 0, 0), (function (p) {\n return p.id;\n })) : Belt_Array.map(providers, (function (p) {\n return p.id;\n }))\n );\n } else {\n tmp = context.selectedProvidersIds;\n }\n return {\n selectedProviders: tmp,\n userLoginStatus: userLoginStatus\n };\n }), providers);\n var match$1 = Hooks.useReducer(initialState, (function (state, action) {\n if (typeof action !== \"object\") {\n return {\n TAG: \"UpdateWithSideEffects\",\n _0: {\n selectedProviders: [],\n userLoginStatus: state.userLoginStatus\n },\n _1: (function (param) {\n persistDraft([\n [],\n context\n ]);\n })\n };\n }\n if (action.TAG !== \"ToggleProviderSelection\") {\n return {\n TAG: \"UpdateWithSideEffects\",\n _0: {\n selectedProviders: state.selectedProviders,\n userLoginStatus: action._0\n },\n _1: (function (param) {\n saveDraftProjectAndContinueLater(state.selectedProviders, context);\n })\n };\n }\n var provider = action._0;\n var selectedProviders = Js_array.includes(provider.id, state.selectedProviders) ? Js_array.filter((function (id) {\n return Caml_obj.notequal(id, provider.id);\n }), state.selectedProviders) : Belt_Array.concat(state.selectedProviders, [provider.id]);\n return {\n TAG: \"UpdateWithSideEffects\",\n _0: {\n selectedProviders: selectedProviders,\n userLoginStatus: state.userLoginStatus\n },\n _1: (function (param) {\n persistDraft([\n selectedProviders,\n context\n ]);\n })\n };\n }));\n var dispatch = match$1[1];\n var state = match$1[0];\n var navigationPreviousControl = React.useMemo((function () {\n return [\n \"Back\",\n (function () {\n if (context.TAG === \"Draft\") {\n return Url.visit(Routes_Project.Network.Configuration.$$new(networkType));\n } else {\n return Url.visit(Routes_Project.Network.Configuration.show(context.projectId, networkType));\n }\n }),\n \"Enabled\"\n ];\n }), [networkType]);\n var navigationNextControl = React.useMemo((function () {\n var match = state.selectedProviders;\n return [\n \"Next Step\",\n (function () {\n submitForm(state.selectedProviders, networkType, context);\n }),\n match.length !== 0 ? \"Enabled\" : \"Disabled\"\n ];\n }), [\n state.selectedProviders,\n networkType\n ]);\n var navigationContinueLaterControl = React.useMemo((function () {\n var match = state.userLoginStatus;\n if (match === \"LoggedIn\" && projectStatus === \"Draft\") {\n return [\n \"Save and Continue Later\",\n (function () {\n saveDraftProjectAndContinueLater(state.selectedProviders, context);\n })\n ];\n }\n \n }), [state.selectedProviders]);\n var tmp;\n tmp = context.TAG === \"Draft\" ? \"Select\" : \"Edit\";\n var tmp$1;\n tmp$1 = signInModal === \"Shown\" ? JsxRuntime.jsx(SignInModalContainer.make, {\n close: (function () {\n toggleSignInModal(function (param) {\n return Visibility.toggle(signInModal);\n });\n }),\n callback: (function () {\n dispatch({\n TAG: \"ToggleLoginStatus\",\n _0: \"LoggedIn\"\n });\n }),\n setUserData: props.setUserData,\n subTitle: \"Sign In to save the project detail and continue later\"\n }) : null;\n return JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(ReactNotifications.NotificationContainer, {}),\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"h1\", {\n children: \"Step 2: \" + (tmp + (\" Your \" + (Project.Network.toString(networkType) + \" Providers\"))),\n className: css.heading\n }),\n JsxRuntime.jsx(ProjectWizard.H2.make, {\n children: Project.Network.toH2(networkType)\n }),\n JsxRuntime.jsx(\"div\", {\n children: Project.Network.toDescription(networkType),\n className: css.subHeading\n }),\n JsxRuntime.jsx(CreateNetworkProjectProvidersSelection_SelectProvidersSection.make, {\n providers: providers,\n selectedProviders: state.selectedProviders,\n onDeselectAll: (function (param) {\n dispatch(\"DeselectAll\");\n }),\n toggleProviderSelection: (function (provider) {\n dispatch({\n TAG: \"ToggleProviderSelection\",\n _0: provider\n });\n }),\n userRole: userRole\n })\n ],\n className: css.contentWrapper\n }),\n JsxRuntime.jsx(ProjectWizardNavigation.make, {\n stepLabel: \"Step 2 of 3\",\n controls: {\n TAG: \"PreviousAndNextAndContinueLater\",\n next: navigationNextControl,\n previous: navigationPreviousControl,\n continueLater: navigationContinueLaterControl\n },\n mobile: props.mobile\n }),\n tmp$1\n ],\n className: css.container\n });\n}\n\nvar make = CreateNetworkProjectProvidersSelection;\n\nexport {\n css ,\n Api$1 as Api,\n make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as ID from \"../../../../libs/ID.res.js\";\nimport * as React from \"react\";\nimport * as Project from \"../../../../models/Project.res.js\";\nimport * as Provider from \"../../../../models/Provider.res.js\";\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 RailsContext from \"../../../../models/RailsContext.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as Json_Decode$JsonCombinators from \"@glennsl/rescript-json-combinators/src/Json_Decode.res.js\";\nimport * as CreateNetworkProjectProvidersSelection from \"./CreateNetworkProjectProvidersSelection.res.js\";\n\nfunction CreateNetworkProjectProvidersSelection__JsBridge$default(props) {\n var status = props.status;\n var selectedProvidersIds = props.selectedProvidersIds;\n var projectId = props.projectId;\n var networkType = props.networkType;\n var providers = props.providers;\n var railsContext = props.railsContext;\n var railsContext$1 = React.useMemo((function () {\n return RailsContext.fromJson(railsContext);\n }), [railsContext]);\n var providers$1 = React.useMemo((function () {\n return Belt_Array.map(providers, Provider.Simple.fromJson);\n }), [providers]);\n var networkType$1 = React.useMemo((function () {\n return Project.Network.fromString(networkType);\n }), [networkType]);\n var projectId$1 = React.useMemo((function () {\n return Belt_Result.getExn(Json_Decode$JsonCombinators.decode(projectId, Json_Decode$JsonCombinators.option(Project.Id.decoder)));\n }), [projectId]);\n var context = React.useMemo((function () {\n var match = Belt_Array.map(selectedProvidersIds, ID.fromJson);\n if (projectId$1 !== undefined) {\n return {\n TAG: \"Project\",\n projectId: Caml_option.valFromOption(projectId$1),\n selectedProvidersIds: match\n };\n } else if (match.length !== 0) {\n return {\n TAG: \"Draft\",\n selectedProvidersIds: match\n };\n } else {\n return {\n TAG: \"Draft\",\n selectedProvidersIds: undefined\n };\n }\n }), [\n projectId$1,\n selectedProvidersIds\n ]);\n var projectStatus = React.useMemo((function () {\n return Project.Status.fromString(status);\n }), [status]);\n return JsxRuntime.jsx(CreateNetworkProjectProvidersSelection.make, {\n mobile: railsContext$1.mobile,\n context: context,\n providers: providers$1,\n networkType: networkType$1,\n userLoginStatus: railsContext$1.userLoginStatus,\n setUserData: props.reduxfunction.setUserData,\n projectStatus: projectStatus,\n userRole: railsContext$1.userRole\n });\n}\n\nvar $$default = CreateNetworkProjectProvidersSelection__JsBridge$default;\n\nexport {\n $$default as default,\n}\n/* ID 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 CreateNetworkProjectProvidersSelection from './CreateNetworkProjectProvidersSelection__JsBridge.res.js';\n\nconst mapDispatchToProps = dispatch => ({\n reduxfunction: {\n setUserData: userData => {\n dispatch(setUserData(userData));\n },\n },\n});\n\nconst CreateNetworkProjectProvidersSelectionContainer = connect(\n null,\n mapDispatchToProps,\n)(CreateNetworkProjectProvidersSelection);\n\nexport default ({ context, ...props }) => (\n \n \n \n);\n"],"names":["NotificationManager","success","message","title","timeout","ReactNotifications","error","column","container","contentWrapper","deselectAll","flex","flexColumn","gap1","gap2","gap3","gap4","gap5","heading","row","selectProvidersSectionHeading","subHeading","css","CreateNetworkProjectProvidersSelectionScss","make","props","userRole","toggleProviderSelection","selectedProviders","JsxRuntime","children","className","onClick","onDeselectAll","Belt_Array","providers","provider","ProviderSelectionTile","checked","Js_array","id","onToggle","param","ID","persistDraft","Debounce","TAG","$$Promise","Api","x","$$Notification","SentryLogger","rootModule","subModulePath","hd","tl","value","fullPath","_0","submitForm","selectedProvidersIds","networkType","context","Url","Routes_Project","GeneralInfo","$$new","projectId","show","saveDraftProjectAndContinueLater","tmp","tmp$1","projectStatus","userLoginStatus","match","React","toggleSignInModal","signInModal","initialState","undefined","p","match$1","Hooks","state","action","_1","Caml_obj","dispatch","navigationPreviousControl","Configuration","navigationNextControl","length","navigationContinueLaterControl","SignInModalContainer","close","Visibility","callback","setUserData","subTitle","Project","toString","ProjectWizard","toH2","toDescription","CreateNetworkProjectProvidersSelection_SelectProvidersSection","ProjectWizardNavigation","stepLabel","controls","next","previous","continueLater","mobile","$$default","status","railsContext","railsContext$1","RailsContext","providers$1","Provider","fromJson","networkType$1","fromString","projectId$1","Belt_Result","Json_Decode$JsonCombinators","decoder","Caml_option","CreateNetworkProjectProvidersSelection","reduxfunction","CreateNetworkProjectProvidersSelectionContainer","connect","userData","_ref","_objectWithoutProperties","_excluded","ReduxProvider"],"sourceRoot":""}