{"version":3,"file":"js/rescript-bundles-dashboard-edit-product-general-tab-ec94e23708cb40b8d908.chunk.js","mappings":"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","sources":["webpack://datacenters/./client/app/rescript/bundles/dashboard-edit-product/general-tab/DashboardEditProductGeneralTab.res.js","webpack://datacenters/./client/app/rescript/bundles/dashboard-edit-product/general-tab/index.js"],"sourcesContent":["// 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 Button from \"../../../styleguide/components/Button/Button.res.js\";\nimport * as $$Promise from \"../../../bindings/Promise.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 SentryLogger from \"../../../loggers/SentryLogger.res.js\";\nimport * as Routes_Product from \"../../../routes/common/Routes_Product.res.js\";\nimport * as ProductCategory from \"../../../models/ProductCategory.res.js\";\nimport * as ProviderAsFilter from \"../../../models/ProviderAsFilter.res.js\";\nimport * as ColocationProduct from \"../../../models/ColocationProduct.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as DashboardProductEditorHeader from \"../../common/dashboard/DashboardProductEditorHeader.res.js\";\nimport * as DashboardProductEditorLayout from \"../../common/dashboard/DashboardProductEditorLayout.res.js\";\nimport * as DashboardProductFeatureEditor from \"../../common/dashboard/DashboardProductFeatureEditor.res.js\";\nimport * as DashboardProductEditorActionBar from \"../../common/dashboard/DashboardProductEditorActionBar.res.js\";\nimport * as DashboardProductEditorGeneralTab from \"../../common/dashboard/DashboardProductEditorGeneralTab.res.js\";\nimport * as DashboardProductEditorContextMenu from \"../../common/dashboard/DashboardProductEditorContextMenu.res.js\";\nimport * as DashboardProductEditorUnarchiveLink from \"../../common/dashboard/DashboardProductEditorUnarchiveLink.res.js\";\nimport * as DashboardProductEditorGeneralTabData from \"../../common/dashboard/DashboardProductEditorGeneralTabData.res.js\";\nimport * as DashboardProductEditorActiveStatusToggle from \"../../common/dashboard/DashboardProductEditorActiveStatusToggle.res.js\";\n\nfunction DashboardEditProductGeneralTab$DashboardEditProductGeneralTab(props) {\n var product = props.product;\n var initialState = React.useMemo((function () {\n return {\n product: product,\n status: \"Editing\",\n input: DashboardProductEditorGeneralTabData.Input.fromProductDraft(product),\n results: undefined,\n submissionError: false\n };\n }), []);\n var match = Hooks.useReducer(initialState, (function (state, action) {\n if (typeof action !== \"object\") {\n switch (action) {\n case \"AddFeature\" :\n var match = state.status;\n if (match !== \"Editing\") {\n return \"NoUpdate\";\n }\n if (state.input.features.length >= ColocationProduct.maxFeatures) {\n return \"NoUpdate\";\n }\n var init = state.input;\n return {\n TAG: \"Update\",\n _0: {\n product: state.product,\n status: state.status,\n input: {\n name: init.name,\n description: init.description,\n providerId: init.providerId,\n category: init.category,\n subcategory: init.subcategory,\n startDate: init.startDate,\n endDate: init.endDate,\n isExclusiveOffer: init.isExclusiveOffer,\n pricePerMonth: init.pricePerMonth,\n setupFee: init.setupFee,\n term: init.term,\n powerCircuit: init.powerCircuit,\n bandwidth: init.bandwidth,\n ipAllocation: init.ipAllocation,\n totalPowerKw: init.totalPowerKw,\n features: Belt_Array.concat(state.input.features, [DashboardProductFeatureEditor.Input.empty])\n },\n results: state.results,\n submissionError: state.submissionError\n }\n };\n case \"Validate\" :\n return {\n TAG: \"Update\",\n _0: {\n product: state.product,\n status: state.status,\n input: state.input,\n results: DashboardProductEditorGeneralTabData.Validate.all(state.input),\n submissionError: state.submissionError\n }\n };\n case \"Submit\" :\n var match$1 = state.status;\n if (match$1 === \"Editing\") {\n return {\n TAG: \"UpdateWithSideEffects\",\n _0: {\n product: state.product,\n status: state.status,\n input: state.input,\n results: DashboardProductEditorGeneralTabData.Validate.all(state.input),\n submissionError: state.submissionError\n },\n _1: (function (param) {\n if (DashboardProductEditorGeneralTabData.Validate.valid(Belt_Option.getExn(param.state.results))) {\n return param.dispatch({\n TAG: \"SaveChanges\",\n _0: product.id\n });\n }\n \n })\n };\n } else {\n return \"NoUpdate\";\n }\n case \"FailSubmission\" :\n return {\n TAG: \"Update\",\n _0: {\n product: state.product,\n status: \"Editing\",\n input: state.input,\n results: state.results,\n submissionError: true\n }\n };\n \n }\n } else {\n switch (action.TAG) {\n case \"UpdateProduct\" :\n return {\n TAG: \"Update\",\n _0: {\n product: action._0,\n status: state.status,\n input: state.input,\n results: state.results,\n submissionError: state.submissionError\n }\n };\n case \"UpdateInput\" :\n var input = action._0;\n var match$2 = state.status;\n if (match$2 !== \"Editing\") {\n return \"NoUpdate\";\n }\n var match$3 = state.results;\n if (match$3 !== undefined) {\n return {\n TAG: \"UpdateWithSideEffects\",\n _0: {\n product: state.product,\n status: state.status,\n input: input,\n results: state.results,\n submissionError: state.submissionError\n },\n _1: (function (param) {\n param.dispatch(\"Validate\");\n })\n };\n } else {\n return {\n TAG: \"Update\",\n _0: {\n product: state.product,\n status: state.status,\n input: input,\n results: state.results,\n submissionError: state.submissionError\n }\n };\n }\n case \"UpdateFeature\" :\n var input$1 = action._1;\n var idx = action._0;\n var match$4 = state.status;\n if (match$4 !== \"Editing\") {\n return \"NoUpdate\";\n }\n var init$1 = state.input;\n var state_product = state.product;\n var state_status = state.status;\n var state_input = {\n name: init$1.name,\n description: init$1.description,\n providerId: init$1.providerId,\n category: init$1.category,\n subcategory: init$1.subcategory,\n startDate: init$1.startDate,\n endDate: init$1.endDate,\n isExclusiveOffer: init$1.isExclusiveOffer,\n pricePerMonth: init$1.pricePerMonth,\n setupFee: init$1.setupFee,\n term: init$1.term,\n powerCircuit: init$1.powerCircuit,\n bandwidth: init$1.bandwidth,\n ipAllocation: init$1.ipAllocation,\n totalPowerKw: init$1.totalPowerKw,\n features: Belt_Array.mapWithIndex(state.input.features, (function (idx$p, input$p) {\n if (idx$p === idx) {\n return input$1;\n } else {\n return input$p;\n }\n }))\n };\n var state_results = state.results;\n var state_submissionError = state.submissionError;\n var state$1 = {\n product: state_product,\n status: state_status,\n input: state_input,\n results: state_results,\n submissionError: state_submissionError\n };\n var match$5 = state_results;\n if (match$5 !== undefined) {\n return {\n TAG: \"UpdateWithSideEffects\",\n _0: state$1,\n _1: (function (param) {\n param.dispatch(\"Validate\");\n })\n };\n } else {\n return {\n TAG: \"Update\",\n _0: state$1\n };\n }\n case \"RemoveFeature\" :\n var idx$1 = action._0;\n var match$6 = state.status;\n if (match$6 !== \"Editing\") {\n return \"NoUpdate\";\n }\n var init$2 = state.input;\n return {\n TAG: \"Update\",\n _0: {\n product: state.product,\n status: state.status,\n input: {\n name: init$2.name,\n description: init$2.description,\n providerId: init$2.providerId,\n category: init$2.category,\n subcategory: init$2.subcategory,\n startDate: init$2.startDate,\n endDate: init$2.endDate,\n isExclusiveOffer: init$2.isExclusiveOffer,\n pricePerMonth: init$2.pricePerMonth,\n setupFee: init$2.setupFee,\n term: init$2.term,\n powerCircuit: init$2.powerCircuit,\n bandwidth: init$2.bandwidth,\n ipAllocation: init$2.ipAllocation,\n totalPowerKw: init$2.totalPowerKw,\n features: Belt_Array.keepWithIndex(state.input.features, (function (param, idx$p) {\n return idx$p !== idx$1;\n }))\n },\n results: Belt_Option.map(state.results, (function (results) {\n return {\n name: results.name,\n description: results.description,\n providerId: results.providerId,\n category: results.category,\n subcategory: results.subcategory,\n startDate: results.startDate,\n endDate: results.endDate,\n pricePerMonth: results.pricePerMonth,\n setupFee: results.setupFee,\n term: results.term,\n powerCircuit: results.powerCircuit,\n bandwidth: results.bandwidth,\n ipAllocation: results.ipAllocation,\n totalPowerKw: results.totalPowerKw,\n features: Belt_Array.keepWithIndex(results.features, (function (param, idx$p) {\n return idx$p !== idx$1;\n }))\n };\n })),\n submissionError: state.submissionError\n }\n };\n case \"SaveChanges\" :\n var productId = action._0;\n return {\n TAG: \"UpdateWithSideEffects\",\n _0: {\n product: state.product,\n status: \"Submitting\",\n input: state.input,\n results: state.results,\n submissionError: state.submissionError\n },\n _1: (function (param) {\n var dispatch = param.dispatch;\n $$Promise.wait(Api.updateProductGeneralData(productId, param.state.input), (function (x) {\n if (x.TAG === \"Ok\") {\n return dispatch({\n TAG: \"GoToNextTab\",\n _0: x._0.id\n });\n }\n SentryLogger.error1({\n rootModule: \"DashboardEditProductGeneralTab\",\n subModulePath: {\n hd: \"DashboardEditProductGeneralTab\",\n tl: /* [] */0\n },\n value: \"make\",\n fullPath: \"DashboardEditProductGeneralTab.DashboardEditProductGeneralTab.make\"\n }, \"DashboardEditProductGeneralTab::SaveChanges::Error\", [\n \"Error\",\n x._0\n ]);\n dispatch(\"FailSubmission\");\n }));\n })\n };\n case \"GoToNextTab\" :\n var id = action._0;\n return {\n TAG: \"SideEffects\",\n _0: (function (param) {\n Url.visit(Routes_Product.Dashboard.editLocation(id));\n })\n };\n \n }\n }\n }));\n var dispatch = match[1];\n var state = match[0];\n var match$1 = state.product.status;\n var tmp;\n var exit = 0;\n switch (match$1) {\n case \"Active\" :\n var match$2 = state.status;\n tmp = JsxRuntime.jsxs(JsxRuntime.Fragment, {\n children: [\n JsxRuntime.jsx(DashboardProductEditorActiveStatusToggle.make, {\n productId: product.id,\n status: \"Active\",\n busy: match$2 !== \"Editing\"\n }),\n JsxRuntime.jsx(DashboardProductEditorContextMenu.make, {\n product: state.product,\n onUpdated: (function (product) {\n dispatch({\n TAG: \"UpdateProduct\",\n _0: product\n });\n })\n })\n ]\n });\n break;\n case \"Disabled\" :\n var match$3 = state.status;\n tmp = JsxRuntime.jsxs(JsxRuntime.Fragment, {\n children: [\n JsxRuntime.jsx(DashboardProductEditorActiveStatusToggle.make, {\n productId: product.id,\n status: \"Disabled\",\n busy: match$3 !== \"Editing\"\n }),\n JsxRuntime.jsx(DashboardProductEditorContextMenu.make, {\n product: state.product,\n onUpdated: (function (product) {\n dispatch({\n TAG: \"UpdateProduct\",\n _0: product\n });\n })\n })\n ]\n });\n break;\n case \"Draft\" :\n case \"Expired\" :\n exit = 1;\n break;\n case \"Archived\" :\n tmp = JsxRuntime.jsx(DashboardProductEditorUnarchiveLink.make, {\n productId: product.id,\n onUnarchived: (function (product) {\n dispatch({\n TAG: \"UpdateProduct\",\n _0: product\n });\n })\n });\n break;\n \n }\n if (exit === 1) {\n tmp = JsxRuntime.jsx(DashboardProductEditorContextMenu.make, {\n product: state.product,\n onUpdated: (function (product) {\n dispatch({\n TAG: \"UpdateProduct\",\n _0: product\n });\n })\n });\n }\n var match$4 = state.status;\n return JsxRuntime.jsxs(DashboardProductEditorLayout.make, {\n children: [\n JsxRuntime.jsx(DashboardProductEditorHeader.make, {\n product: product,\n active: \"GeneralTab\"\n }),\n JsxRuntime.jsx(DashboardProductEditorGeneralTab.make, {\n input: state.input,\n categories: props.categories,\n providers: props.providers,\n bandwidthOptions: props.bandwidthOptions,\n ipAllocationOptions: props.ipAllocationOptions,\n powerOptions: props.powerOptions,\n termOptions: props.termOptions,\n results: state.results,\n update: (function (input) {\n dispatch({\n TAG: \"UpdateInput\",\n _0: input\n });\n }),\n addFeature: (function () {\n dispatch(\"AddFeature\");\n }),\n updateFeature: (function (idx, input) {\n dispatch({\n TAG: \"UpdateFeature\",\n _0: idx,\n _1: input\n });\n }),\n removeFeature: (function (idx) {\n dispatch({\n TAG: \"RemoveFeature\",\n _0: idx\n });\n }),\n submit: (function (param) {\n dispatch(\"Submit\");\n }),\n children: JsxRuntime.jsxs(DashboardProductEditorActionBar.make, {\n children: [\n JsxRuntime.jsx(DashboardProductEditorActionBar.ContextControls.make, {\n children: tmp\n }),\n JsxRuntime.jsx(DashboardProductEditorActionBar.$$Error.make, {\n children: state.submissionError ? \"Something went wrong\" : null\n }),\n JsxRuntime.jsx(Button.make, {\n size: \"LG\",\n color: \"Primary\",\n expanded: true,\n busy: match$4 !== \"Editing\",\n submit: true,\n children: \"Save changes\"\n })\n ]\n })\n })\n ]\n });\n}\n\nvar DashboardEditProductGeneralTab = {\n Input: undefined,\n Validate: undefined,\n ValidationResult: undefined,\n make: DashboardEditProductGeneralTab$DashboardEditProductGeneralTab\n};\n\nfunction DashboardEditProductGeneralTab$default(props) {\n var props$1 = props.props;\n var providers = props$1.providers;\n var tmp;\n if (providers.length !== 1) {\n tmp = {\n NAME: \"Many\",\n VAL: Belt_Array.map(providers, ProviderAsFilter.fromJs)\n };\n } else {\n var provider = providers[0];\n tmp = {\n NAME: \"One\",\n VAL: ProviderAsFilter.fromJs(provider)\n };\n }\n return JsxRuntime.jsx(DashboardEditProductGeneralTab$DashboardEditProductGeneralTab, {\n product: ColocationProduct.Draft.fromJs(props$1.product),\n providers: tmp,\n categories: Belt_Array.map(props$1.categories, ProductCategory.fromJs),\n bandwidthOptions: props$1.bandwidthOptions,\n ipAllocationOptions: props$1.ipAllocationOptions,\n powerOptions: props$1.powerOptions,\n termOptions: props$1.termOptions\n });\n}\n\nvar $$default = DashboardEditProductGeneralTab$default;\n\nexport {\n DashboardEditProductGeneralTab ,\n $$default as default,\n}\n/* Api Not a pure module */\n","import * as React from 'react';\n\nimport DashboardEditProductGeneralTab from './DashboardEditProductGeneralTab.res.js';\n\nexport default ({ context, ...props }) => <DashboardEditProductGeneralTab props={props} context={context} />;\n"],"names":["DashboardEditProductGeneralTab$DashboardEditProductGeneralTab","props","tmp","product","initialState","React","status","input","DashboardProductEditorGeneralTabData","fromProductDraft","results","undefined","submissionError","match","Hooks","state","action","features","length","ColocationProduct","init","TAG","_0","name","description","providerId","category","subcategory","startDate","endDate","isExclusiveOffer","pricePerMonth","setupFee","term","powerCircuit","bandwidth","ipAllocation","totalPowerKw","Belt_Array","DashboardProductFeatureEditor","empty","all","_1","param","valid","Belt_Option","dispatch","id","input$1","idx","init$1","state_product","state_status","state_input","idx$p","input$p","state_results","state$1","idx$1","init$2","productId","$$Promise","Api","x","SentryLogger","rootModule","subModulePath","hd","tl","value","fullPath","Url","Routes_Product","editLocation","exit","match$2","JsxRuntime","children","DashboardProductEditorActiveStatusToggle","busy","DashboardProductEditorContextMenu","onUpdated","match$3","DashboardProductEditorUnarchiveLink","onUnarchived","match$4","DashboardProductEditorLayout","DashboardProductEditorHeader","active","DashboardProductEditorGeneralTab","categories","providers","bandwidthOptions","ipAllocationOptions","powerOptions","termOptions","update","addFeature","updateFeature","removeFeature","submit","DashboardProductEditorActionBar","make","Button","size","color","expanded","$$default","props$1","NAME","VAL","ProviderAsFilter","provider","fromJs","ProductCategory","_ref","context","_objectWithoutProperties","_excluded","DashboardEditProductGeneralTab"],"sourceRoot":""}