{"version":3,"file":"js/rescript-bundles-blog-posts-analytics-BlogPostsDashboardAnalytics-res-6e6d8387e3d6e07ab3f1.chunk.js","mappings":"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","sources":["webpack://datacenters/./client/app/rescript/bundles/blog-posts/analytics/BlogPostsDashboardAnalytics.res.js"],"sourcesContent":["// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as H1 from \"../../../styleguide/components/Heading/H1.res.js\";\nimport * as ID from \"../../../libs/ID.res.js\";\nimport * as Hooks from \"../../../libs/Hooks.res.js\";\nimport * as Table from \"../../../styleguide/components/Table/Table.res.js\";\nimport * as React from \"react\";\nimport * as Control from \"../../../styleguide/components/Control/Control.res.js\";\nimport * as Popover from \"../../../styleguide/components/Popover/Popover.res.js\";\nimport * as $$Promise from \"../../../bindings/Promise.res.js\";\nimport * as Spinner from \"../../../styleguide/components/Spinner/Spinner.res.js\";\nimport * as Belt_Set from \"rescript/lib/es6/belt_Set.js\";\nimport * as Checkbox from \"../../../styleguide/forms/Checkbox/Checkbox.res.js\";\nimport * as Dropdown from \"../../../styleguide/forms/Dropdown/Dropdown.res.js\";\nimport * as IconMenu from \"../../../styleguide/icons/IconMenu.res.js\";\nimport * as TableRow from \"../../../styleguide/components/Table/TableRow.res.js\";\nimport * as Container from \"../../../styleguide/components/Container/Container.res.js\";\nimport * as TableBody from \"../../../styleguide/components/Table/TableBody.res.js\";\nimport * as TableCell from \"../../../styleguide/components/Table/TableCell.res.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as Pagination from \"../../../styleguide/components/Pagination/Pagination.res.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 IconSorting from \"../../../styleguide/icons/IconSorting.res.js\";\nimport * as SearchField from \"../../../styleguide/forms/SearchField/SearchField.res.js\";\nimport * as TableHeader from \"../../../styleguide/components/Table/TableHeader.res.js\";\nimport * as Api_BlogPost from \"../../../api/blog-posts/Api_BlogPost.res.js\";\nimport * as SentryLogger from \"../../../loggers/SentryLogger.res.js\";\nimport * as ReactDebounce from \"rescript-debounce-react/src/ReactDebounce.res.js\";\nimport * as BlogPostNavbar from \"../common/navbar/BlogPostNavbar.res.js\";\nimport * as Routes_BlogPost from \"../../../routes/common/Routes_BlogPost.res.js\";\nimport * as TableHeaderCell from \"../../../styleguide/components/Table/TableHeaderCell.res.js\";\nimport * as BlogPostsOptions from \"../dashboard/BlogPostsOptions.res.js\";\nimport * as DashboardIndexCss from \"../../../styleguide/dashboard/components/views/index/DashboardIndexCss.res.js\";\nimport * as DashboardTableCss from \"../../../styleguide/dashboard/components/table/DashboardTableCss.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as DashboardFilterCss from \"../../../styleguide/dashboard/components/filters/DashboardFilterCss.res.js\";\n\nvar initialState_sortBy = {\n NAME: \"TotalViews\",\n VAL: \"Desc\"\n};\n\nvar initialState_categoryFilter = ID.$$Set.make();\n\nvar initialState = {\n status: \"FetchingBlogPosts\",\n currentPage: 1,\n totalPages: 1,\n sortBy: initialState_sortBy,\n search: \"\",\n categoryFilter: initialState_categoryFilter\n};\n\nfunction BlogPostsDashboardAnalytics$default(props) {\n var categories = props.categories;\n var container = React.useRef(null);\n var searchBlogPosts = ReactDebounce.useDebounced(300, (function (param) {\n param.dispatch({\n TAG: \"PerformSearch\",\n _0: param.state.search\n });\n }));\n var match = Hooks.useReducer(initialState, (function (state, action) {\n if (typeof action !== \"object\") {\n if (action === \"FetchBlogPosts\") {\n return {\n TAG: \"SideEffects\",\n _0: (function (param) {\n var dispatch = param.dispatch;\n var state = param.state;\n var match = state.search;\n var tmp = match === \"\" ? undefined : state.search;\n $$Promise.wait(Api_BlogPost.fetchBlogPostsAnalytics(state.currentPage, tmp, state.sortBy, Belt_Set.toList(state.categoryFilter)), (function (x) {\n if (x.TAG === \"Ok\") {\n return dispatch({\n TAG: \"SucceedBlogPostsFetch\",\n _0: x._0\n });\n }\n SentryLogger.error1({\n rootModule: \"BlogPostsDashboardAnalytics\",\n subModulePath: /* [] */0,\n value: \"default\",\n fullPath: \"BlogPostsDashboardAnalytics.default\"\n }, \"BlogPostsDashboardAnalytics::FetchBlogPosts::Error\", [\n \"Error\",\n x._0\n ]);\n dispatch(\"FailBlogPostsFetch\");\n }));\n })\n };\n } else {\n return {\n TAG: \"Update\",\n _0: {\n status: \"FailedBlogPostsFetch\",\n currentPage: state.currentPage,\n totalPages: state.totalPages,\n sortBy: state.sortBy,\n search: state.search,\n categoryFilter: state.categoryFilter\n }\n };\n }\n }\n switch (action.TAG) {\n case \"SucceedBlogPostsFetch\" :\n var res = action._0;\n return {\n TAG: \"UpdateWithSideEffects\",\n _0: {\n status: {\n TAG: \"Ready\",\n _0: res.blogPosts\n },\n currentPage: res.currentPage,\n totalPages: res.totalPages,\n sortBy: state.sortBy,\n search: state.search,\n categoryFilter: state.categoryFilter\n },\n _1: (function (param) {\n Belt_Option.map(Caml_option.nullable_to_opt(container.current), (function (prim) {\n return prim.scrollTop;\n }));\n })\n };\n case \"UpdatePage\" :\n var nextPage = action._0;\n var match = state.status;\n if (typeof match !== \"object\" && match === \"FetchingBlogPosts\") {\n return \"NoUpdate\";\n }\n if (state.currentPage !== nextPage) {\n return {\n TAG: \"UpdateWithSideEffects\",\n _0: {\n status: \"FetchingBlogPosts\",\n currentPage: nextPage,\n totalPages: state.totalPages,\n sortBy: state.sortBy,\n search: state.search,\n categoryFilter: state.categoryFilter\n },\n _1: (function (param) {\n param.dispatch(\"FetchBlogPosts\");\n })\n };\n } else {\n return \"NoUpdate\";\n }\n case \"SortBy\" :\n var sort = action._0;\n var match$1 = state.status;\n if (typeof match$1 !== \"object\" && match$1 === \"FetchingBlogPosts\") {\n return \"NoUpdate\";\n }\n var tmp;\n if (sort === \"ThisWeek\") {\n var match$2 = state.sortBy;\n tmp = typeof match$2 === \"object\" && match$2.NAME === \"ThisWeek\" && match$2.VAL === \"Desc\" ? ({\n NAME: \"ThisWeek\",\n VAL: \"Asc\"\n }) : ({\n NAME: \"ThisWeek\",\n VAL: \"Desc\"\n });\n } else if (sort === \"Title\") {\n var match$3 = state.sortBy;\n tmp = typeof match$3 === \"object\" && match$3.NAME === \"Title\" && match$3.VAL === \"Desc\" ? ({\n NAME: \"Title\",\n VAL: \"Asc\"\n }) : ({\n NAME: \"Title\",\n VAL: \"Desc\"\n });\n } else if (sort === \"TotalViews\") {\n var match$4 = state.sortBy;\n tmp = typeof match$4 === \"object\" && match$4.NAME === \"TotalViews\" && match$4.VAL === \"Desc\" ? ({\n NAME: \"TotalViews\",\n VAL: \"Asc\"\n }) : ({\n NAME: \"TotalViews\",\n VAL: \"Desc\"\n });\n } else if (sort === \"LastWeek\") {\n var match$5 = state.sortBy;\n tmp = typeof match$5 === \"object\" && match$5.NAME === \"LastWeek\" && match$5.VAL === \"Desc\" ? ({\n NAME: \"LastWeek\",\n VAL: \"Asc\"\n }) : ({\n NAME: \"LastWeek\",\n VAL: \"Desc\"\n });\n } else {\n var match$6 = state.sortBy;\n tmp = typeof match$6 === \"object\" && match$6.NAME === \"Category\" && match$6.VAL !== \"Desc\" ? ({\n NAME: \"Category\",\n VAL: \"Desc\"\n }) : ({\n NAME: \"Category\",\n VAL: \"Asc\"\n });\n }\n return {\n TAG: \"UpdateWithSideEffects\",\n _0: {\n status: \"FetchingBlogPosts\",\n currentPage: state.currentPage,\n totalPages: state.totalPages,\n sortBy: tmp,\n search: state.search,\n categoryFilter: state.categoryFilter\n },\n _1: (function (param) {\n param.dispatch(\"FetchBlogPosts\");\n })\n };\n case \"UpdateSearchInput\" :\n return {\n TAG: \"UpdateWithSideEffects\",\n _0: {\n status: state.status,\n currentPage: state.currentPage,\n totalPages: state.totalPages,\n sortBy: state.sortBy,\n search: action._0,\n categoryFilter: state.categoryFilter\n },\n _1: searchBlogPosts\n };\n case \"PerformSearch\" :\n var match$7 = state.status;\n if (typeof match$7 !== \"object\" && match$7 === \"FetchingBlogPosts\") {\n return \"NoUpdate\";\n }\n if (action._0 !== state.search) {\n return \"NoUpdate\";\n } else {\n return {\n TAG: \"UpdateWithSideEffects\",\n _0: {\n status: \"FetchingBlogPosts\",\n currentPage: state.currentPage,\n totalPages: state.totalPages,\n sortBy: state.sortBy,\n search: state.search,\n categoryFilter: state.categoryFilter\n },\n _1: (function (param) {\n param.dispatch(\"FetchBlogPosts\");\n })\n };\n }\n case \"ToggleCategoryFilter\" :\n var categoryId = action._0;\n var match$8 = state.status;\n if (typeof match$8 !== \"object\" && match$8 === \"FetchingBlogPosts\") {\n return \"NoUpdate\";\n }\n var categoryFilter = Belt_Set.has(state.categoryFilter, categoryId) ? Belt_Set.remove(state.categoryFilter, categoryId) : Belt_Set.add(state.categoryFilter, categoryId);\n return {\n TAG: \"UpdateWithSideEffects\",\n _0: {\n status: \"FetchingBlogPosts\",\n currentPage: state.currentPage,\n totalPages: state.totalPages,\n sortBy: state.sortBy,\n search: state.search,\n categoryFilter: categoryFilter\n },\n _1: (function (param) {\n param.dispatch(\"FetchBlogPosts\");\n })\n };\n \n }\n }));\n var dispatch = match[1];\n var state = match[0];\n React.useEffect((function () {\n dispatch(\"FetchBlogPosts\");\n }), []);\n var len = categories.length;\n var tmp;\n if (len !== 1 && len !== 0) {\n var x = Belt_Set.size(state.categoryFilter);\n tmp = JsxRuntime.jsxs(Dropdown.make, {\n children: [\n JsxRuntime.jsx(Dropdown.Trigger.make, {\n className: DashboardFilterCss.dropdown,\n children: x !== 0 ? (\n x !== 1 ? String(x) + \" Categories\" : \"1 Category\"\n ) : \"All Categories\"\n }),\n JsxRuntime.jsx(Dropdown.Body.make, {\n position: {\n TAG: \"Below\",\n _0: \"LeftEdge\"\n },\n className: DashboardFilterCss.dropdownBody,\n children: Belt_Array.map(categories, (function (category) {\n var id = \"blogPost-categories-filter--category-\" + ID.toString(category.id);\n return JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(Checkbox.make, {\n id: id,\n size: \"SM\",\n checked: Belt_Set.has(state.categoryFilter, category.id),\n onChange: (function (param) {\n dispatch({\n TAG: \"ToggleCategoryFilter\",\n _0: category.id\n });\n })\n }),\n JsxRuntime.jsx(\"label\", {\n children: category.title,\n className: DashboardFilterCss.label,\n htmlFor: id\n })\n ],\n className: DashboardFilterCss.dropdownBodyRow\n }, id);\n }))\n })\n ]\n });\n } else {\n tmp = null;\n }\n var match$1 = state.sortBy;\n var match$2 = state.sortBy;\n var match$3 = state.sortBy;\n var match$4 = state.sortBy;\n var match$5 = state.sortBy;\n var blogPosts = state.status;\n var tmp$1;\n if (typeof blogPosts !== \"object\") {\n tmp$1 = blogPosts === \"FetchingBlogPosts\" ? JsxRuntime.jsx(TableRow.make, {\n children: JsxRuntime.jsx(TableCell.make, {\n colSpan: 7,\n children: JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(Spinner.make, {\n size: \"XL\",\n color: \"Teal\"\n }),\n className: DashboardTableCss.spinner\n })\n })\n }) : JsxRuntime.jsx(TableRow.make, {\n className: DashboardTableCss.fetchError,\n children: JsxRuntime.jsx(TableCell.make, {\n colSpan: 7,\n children: \"Something went wrong during the search\"\n })\n });\n } else {\n var blogPosts$1 = blogPosts._0;\n tmp$1 = blogPosts$1.length !== 0 ? Belt_Array.map(blogPosts$1, (function (blogPost) {\n return JsxRuntime.jsxs(TableRow.make, {\n children: [\n JsxRuntime.jsx(TableCell.make, {\n children: JsxRuntime.jsx(\"a\", {\n children: blogPost.title,\n className: DashboardTableCss.tableLink,\n href: Routes_BlogPost.Dashboard.edit(blogPost.id)\n })\n }),\n JsxRuntime.jsx(TableCell.make, {\n children: blogPost.category\n }),\n JsxRuntime.jsx(TableCell.make, {\n children: String(blogPost.ahoyEventsCount)\n }),\n JsxRuntime.jsx(TableCell.make, {\n children: String(blogPost.thisWeek)\n }),\n JsxRuntime.jsx(TableCell.make, {\n children: String(blogPost.lastWeek)\n }),\n JsxRuntime.jsx(TableCell.make, {\n children: JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsxs(Popover.make, {\n children: [\n JsxRuntime.jsx(Popover.Trigger.make, {\n children: JsxRuntime.jsx(Control.make, {\n children: JsxRuntime.jsx(IconMenu.make, {\n size: \"MD\",\n color: \"Teal\"\n })\n })\n }),\n JsxRuntime.jsxs(Dropdown.Body.make, {\n position: {\n TAG: \"Below\",\n _0: \"RightEdge\"\n },\n className: DashboardFilterCss.dropdownBody,\n children: [\n JsxRuntime.jsx(Control.make, {\n className: DashboardFilterCss.dropdownBodyRow,\n children: JsxRuntime.jsx(\"a\", {\n children: \"Edit\",\n className: DashboardFilterCss.dropdownBodyLink,\n href: Routes_BlogPost.Dashboard.edit(blogPost.id)\n })\n }),\n JsxRuntime.jsx(Control.make, {\n className: DashboardFilterCss.dropdownBodyRow,\n children: JsxRuntime.jsx(\"a\", {\n children: \"View\",\n className: DashboardFilterCss.dropdownBodyLink,\n href: Routes_BlogPost.show(blogPost.slug)\n })\n })\n ]\n })\n ]\n }),\n className: DashboardIndexCss.menu\n })\n })\n ]\n }, ID.toString(blogPost.id));\n })) : JsxRuntime.jsx(TableRow.make, {\n className: DashboardTableCss.fetchError,\n children: JsxRuntime.jsx(TableCell.make, {\n colSpan: 7,\n children: \"No blog posts were found.\"\n })\n });\n }\n return JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(BlogPostNavbar.make, {\n selectedCategory: \"Analytics\"\n }),\n JsxRuntime.jsxs(Container.make, {\n className: DashboardIndexCss.layout,\n setRef: Caml_option.some(container),\n children: [\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(H1.make, {\n className: DashboardIndexCss.title,\n children: \"Blog Post Analytics\"\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(SearchField.make, {\n id: \"blogPosts-search\",\n value: state.search,\n placeholder: \"Search by title, category, or date\",\n inputClassName: DashboardFilterCss.searchField,\n onChange: (function ($$event) {\n dispatch({\n TAG: \"UpdateSearchInput\",\n _0: $$event.target.value\n });\n })\n }),\n tmp,\n JsxRuntime.jsx(BlogPostsOptions.make, {})\n ],\n className: DashboardIndexCss.headerControls\n })\n ],\n className: DashboardIndexCss.header\n }),\n JsxRuntime.jsx(\"section\", {\n children: JsxRuntime.jsxs(Table.make, {\n className: DashboardTableCss.table,\n children: [\n JsxRuntime.jsx(TableHeader.make, {\n children: JsxRuntime.jsxs(TableRow.make, {\n children: [\n JsxRuntime.jsx(TableHeaderCell.make, {\n children: JsxRuntime.jsx(Control.make, {\n onClick: (function (param) {\n dispatch({\n TAG: \"SortBy\",\n _0: \"Title\"\n });\n }),\n children: JsxRuntime.jsxs(\"span\", {\n children: [\n \"Blog Post\",\n JsxRuntime.jsx(IconSorting.make, {\n size: \"XXS\",\n direction: typeof match$1 === \"object\" && match$1.NAME === \"Title\" ? match$1.VAL : undefined\n })\n ],\n className: DashboardTableCss.controlCell\n })\n })\n }),\n JsxRuntime.jsx(TableHeaderCell.make, {\n children: JsxRuntime.jsx(Control.make, {\n onClick: (function (param) {\n dispatch({\n TAG: \"SortBy\",\n _0: \"Category\"\n });\n }),\n children: JsxRuntime.jsxs(\"span\", {\n children: [\n \"Category\",\n JsxRuntime.jsx(IconSorting.make, {\n size: \"XXS\",\n direction: typeof match$2 === \"object\" && match$2.NAME === \"Category\" ? match$2.VAL : undefined\n })\n ],\n className: DashboardTableCss.controlCell\n })\n })\n }),\n JsxRuntime.jsx(TableHeaderCell.make, {\n children: JsxRuntime.jsx(Control.make, {\n onClick: (function (param) {\n dispatch({\n TAG: \"SortBy\",\n _0: \"TotalViews\"\n });\n }),\n children: JsxRuntime.jsxs(\"span\", {\n children: [\n \"Page Views\",\n JsxRuntime.jsx(IconSorting.make, {\n size: \"XXS\",\n direction: typeof match$3 === \"object\" && match$3.NAME === \"TotalViews\" ? match$3.VAL : undefined\n })\n ],\n className: DashboardTableCss.controlCell\n })\n })\n }),\n JsxRuntime.jsx(TableHeaderCell.make, {\n children: JsxRuntime.jsx(Control.make, {\n onClick: (function (param) {\n dispatch({\n TAG: \"SortBy\",\n _0: \"ThisWeek\"\n });\n }),\n children: JsxRuntime.jsxs(\"span\", {\n children: [\n \"This Week\",\n JsxRuntime.jsx(IconSorting.make, {\n size: \"XXS\",\n direction: typeof match$4 === \"object\" && match$4.NAME === \"ThisWeek\" ? match$4.VAL : undefined\n })\n ],\n className: DashboardTableCss.controlCell\n })\n })\n }),\n JsxRuntime.jsx(TableHeaderCell.make, {\n children: JsxRuntime.jsx(Control.make, {\n onClick: (function (param) {\n dispatch({\n TAG: \"SortBy\",\n _0: \"LastWeek\"\n });\n }),\n children: JsxRuntime.jsxs(\"span\", {\n children: [\n \"Last Week\",\n JsxRuntime.jsx(IconSorting.make, {\n size: \"XXS\",\n direction: typeof match$5 === \"object\" && match$5.NAME === \"LastWeek\" ? match$5.VAL : undefined\n })\n ],\n className: DashboardTableCss.controlCell\n })\n })\n }),\n JsxRuntime.jsx(TableHeaderCell.make, {\n children: \"\"\n })\n ]\n })\n }),\n JsxRuntime.jsx(TableBody.make, {\n children: tmp$1\n })\n ]\n }),\n className: DashboardTableCss.tableWrapper\n }),\n state.totalPages > 1 ? JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(Pagination.make, {\n currentPage: state.currentPage,\n totalPages: state.totalPages,\n onPageClick: (function (x) {\n dispatch({\n TAG: \"UpdatePage\",\n _0: x\n });\n })\n }),\n className: DashboardIndexCss.pagination\n }) : null\n ]\n })\n ]\n });\n}\n\nvar TableCss;\n\nvar Css;\n\nvar Filters;\n\nvar $$default = BlogPostsDashboardAnalytics$default;\n\nexport {\n TableCss ,\n Css ,\n Filters ,\n initialState ,\n $$default as default,\n}\n/* initialState Not a pure module */\n"],"names":["initialState","status","currentPage","totalPages","sortBy","NAME","VAL","search","categoryFilter","ID","make","$$default","props","categories","container","React","searchBlogPosts","ReactDebounce","param","dispatch","TAG","_0","state","match","Hooks","action","tmp","undefined","$$Promise","Api_BlogPost","Belt_Set","x","SentryLogger","rootModule","subModulePath","value","fullPath","res","blogPosts","_1","Belt_Option","Caml_option","current","prim","scrollTop","nextPage","sort","match$1","match$2","match$3","match$4","match$5","match$6","match$7","categoryId","match$8","len","length","JsxRuntime","Dropdown","children","className","DashboardFilterCss","String","position","Belt_Array","category","id","Checkbox","size","checked","onChange","title","htmlFor","tmp$1","TableRow","TableCell","colSpan","Spinner","color","DashboardTableCss","blogPosts$1","blogPost","href","Routes_BlogPost","edit","ahoyEventsCount","thisWeek","lastWeek","Popover","Control","IconMenu","slug","DashboardIndexCss","BlogPostNavbar","selectedCategory","Container","setRef","H1","SearchField","placeholder","inputClassName","$$event","target","BlogPostsOptions","Table","TableHeader","TableHeaderCell","onClick","IconSorting","direction","TableBody","Pagination","onPageClick"],"sourceRoot":""}