{"version":3,"file":"js/app.d8bfab63.js","mappings":"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","sources":["webpack://agent-portal/src/views/Login.vue","webpack://agent-portal/./node_modules/moment/locale/ sync ^\\.\\/.*$","webpack://agent-portal/./src/App.vue?d5e9","webpack://agent-portal/./src/components/MenuTile.vue?4e03","webpack://agent-portal/./src/components/MenuTile.vue","webpack://agent-portal/./src/components/MenuTile.vue?afa4","webpack://agent-portal/./src/components/MenuTile.vue?9b26","webpack://agent-portal/./src/util/UrlHelper.ts","webpack://agent-portal/./src/App.vue","webpack://agent-portal/./src/App.vue?c072","webpack://agent-portal/./src/App.vue?fc23","webpack://agent-portal/./src/views/Home.vue?3ea1","webpack://agent-portal/./src/components/ScreenTile.vue?20f5","webpack://agent-portal/./src/components/ScreenTile.vue","webpack://agent-portal/./src/components/ScreenTile.vue?db74","webpack://agent-portal/./src/components/ScreenTile.vue?ba72","webpack://agent-portal/./src/components/DefaultDashBoard.vue?ab74","webpack://agent-portal/./src/components/DefaultDashBoard.vue","webpack://agent-portal/./src/components/DefaultDashBoard.vue?d6ff","webpack://agent-portal/./src/components/DefaultDashBoard.vue?9f30","webpack://agent-portal/./src/views/Home.vue","webpack://agent-portal/./src/views/Home.vue?96e4","webpack://agent-portal/./src/views/Home.vue?8d6f","webpack://agent-portal/./src/views/favorite/Favorites.vue?5369","webpack://agent-portal/./src/views/favorite/ReportsTab.vue?3d46","webpack://agent-portal/./src/views/favorite/ReportsTab.vue","webpack://agent-portal/./src/views/favorite/ReportsTab.vue?7832","webpack://agent-portal/./src/views/favorite/ReportsTab.vue?49f1","webpack://agent-portal/./src/views/favorite/MDDocumentsTab.vue?14d8","webpack://agent-portal/./src/components/DocumentTile.vue?546d","webpack://agent-portal/./src/components/DocumentTile.vue","webpack://agent-portal/./src/components/DocumentTile.vue?2498","webpack://agent-portal/./src/components/DocumentTile.vue?2559","webpack://agent-portal/./src/views/favorite/MDDocumentsTab.vue","webpack://agent-portal/./src/views/favorite/MDDocumentsTab.vue?addc","webpack://agent-portal/./src/views/favorite/MDDocumentsTab.vue?5f15","webpack://agent-portal/./src/views/favorite/AgentResourcesTab.vue?6e4a","webpack://agent-portal/./src/components/ResourceTile.vue?4adb","webpack://agent-portal/./src/components/ResourceTile.vue","webpack://agent-portal/./src/components/ResourceTile.vue?dfe1","webpack://agent-portal/./src/components/ResourceTile.vue?0e0a","webpack://agent-portal/./src/views/favorite/AgentResourcesTab.vue","webpack://agent-portal/./src/views/favorite/AgentResourcesTab.vue?4865","webpack://agent-portal/./src/views/favorite/AgentResourcesTab.vue?1292","webpack://agent-portal/./src/views/favorite/ReinsuranceResourcesTab.vue?8d5b","webpack://agent-portal/./src/components/ResourceDirectoryTile.vue?b955","webpack://agent-portal/./src/components/ResourceDirectoryTile.vue","webpack://agent-portal/./src/components/ResourceDirectoryTile.vue?af32","webpack://agent-portal/./src/components/ResourceDirectoryTile.vue?17f0","webpack://agent-portal/./src/views/favorite/ReinsuranceResourcesTab.vue","webpack://agent-portal/./src/views/favorite/ReinsuranceResourcesTab.vue?c836","webpack://agent-portal/./src/views/favorite/ReinsuranceResourcesTab.vue?496d","webpack://agent-portal/./src/views/favorite/Favorites.vue","webpack://agent-portal/./src/views/favorite/Favorites.vue?f44a","webpack://agent-portal/./src/views/favorite/Favorites.vue?a8dc","webpack://agent-portal/./src/views/Proposals.vue?5a1e","webpack://agent-portal/./src/components/proposal/ProposalTile.vue?4ac1","webpack://agent-portal/./src/components/proposal/ProposalTile.vue","webpack://agent-portal/./src/components/proposal/ProposalTile.vue?6fff","webpack://agent-portal/./src/components/proposal/ProposalTile.vue?d4e0","webpack://agent-portal/./src/components/proposal/ProposalHistory.vue?26d8","webpack://agent-portal/./src/components/proposal/ProposalHistory.vue","webpack://agent-portal/./src/components/proposal/ProposalHistory.vue?b2da","webpack://agent-portal/./src/components/proposal/ProposalHistory.vue?bb15","webpack://agent-portal/./src/components/general/RemoveItemModal.vue?61d7","webpack://agent-portal/./src/components/general/modal/Modal.vue?a833","webpack://agent-portal/./src/components/general/modal/Modal.vue","webpack://agent-portal/./src/components/general/modal/Modal.vue?46e3","webpack://agent-portal/./src/components/general/modal/Modal.vue?c733","webpack://agent-portal/./src/components/general/modal/ModalBody.vue?099d","webpack://agent-portal/./src/components/general/modal/ModalBody.vue","webpack://agent-portal/./src/components/general/modal/ModalBody.vue?92be","webpack://agent-portal/./src/components/general/modal/ModalBody.vue?370b","webpack://agent-portal/./src/components/general/RemoveItemModal.vue","webpack://agent-portal/./src/components/general/RemoveItemModal.vue?2a09","webpack://agent-portal/./src/components/general/RemoveItemModal.vue?031f","webpack://agent-portal/./src/components/proposal/UpsertProposalModal.vue?41ac","webpack://agent-portal/./src/components/general/SmallDisplay.vue?0cc6","webpack://agent-portal/./src/components/general/SmallDisplay.vue","webpack://agent-portal/./src/components/general/SmallDisplay.vue?72cb","webpack://agent-portal/./src/components/general/SmallDisplay.vue?15f7","webpack://agent-portal/./src/components/general/Folder.vue?0d98","webpack://agent-portal/./src/components/proposal/UpsertProposalModal.vue","webpack://agent-portal/./src/components/general/Folder.vue","webpack://agent-portal/./src/components/general/Folder.vue?1541","webpack://agent-portal/./src/components/general/Folder.vue?cacb","webpack://agent-portal/./src/components/proposal/UpsertProposalModal.vue?56bb","webpack://agent-portal/./src/components/proposal/UpsertProposalModal.vue?ef93","webpack://agent-portal/./src/components/general/PendingChangeModal.vue?38da","webpack://agent-portal/./src/components/general/PendingChangeModal.vue","webpack://agent-portal/./src/components/general/PendingChangeModal.vue?4073","webpack://agent-portal/./src/components/general/PendingChangeModal.vue?1cf4","webpack://agent-portal/./src/views/Proposals.vue","webpack://agent-portal/./src/views/Proposals.vue?6664","webpack://agent-portal/./src/views/Proposals.vue?e061","webpack://agent-portal/./src/views/MDResources.vue?3548","webpack://agent-portal/./src/components/AddMDResourceModal.vue?8414","webpack://agent-portal/./src/components/AddMDResourceModal.vue","webpack://agent-portal/./src/components/AddMDResourceModal.vue?1bec","webpack://agent-portal/./src/components/AddMDResourceModal.vue?e515","webpack://agent-portal/./src/components/general/Breadcrumbs.vue?537e","webpack://agent-portal/src/components/general/Breadcrumbs.vue","webpack://agent-portal/./src/components/general/Breadcrumbs.vue?5218","webpack://agent-portal/./src/components/general/Breadcrumbs.vue","webpack://agent-portal/./src/components/ResourceRow.vue?28a9","webpack://agent-portal/./src/components/ResourceRow.vue","webpack://agent-portal/./src/components/ResourceRow.vue?dd01","webpack://agent-portal/./src/components/ResourceRow.vue?ec3e","webpack://agent-portal/./src/views/MDResources.vue","webpack://agent-portal/./src/views/MDResources.vue?d5f0","webpack://agent-portal/./src/views/MDResources.vue?0124","webpack://agent-portal/./src/views/AgentResources.vue?5ec2","webpack://agent-portal/./src/components/AddAgentResourceModal.vue?421f","webpack://agent-portal/./src/components/AddAgentResourceModal.vue","webpack://agent-portal/./src/components/AddAgentResourceModal.vue?daa0","webpack://agent-portal/./src/components/AddAgentResourceModal.vue?10b7","webpack://agent-portal/./src/views/AgentResources.vue","webpack://agent-portal/./src/views/AgentResources.vue?9c32","webpack://agent-portal/./src/views/AgentResources.vue?f559","webpack://agent-portal/./src/views/Reports.vue?5585","webpack://agent-portal/./src/components/CategoryTile.vue?cd53","webpack://agent-portal/./src/components/CategoryLink.vue?af90","webpack://agent-portal/./src/components/CategoryLink.vue","webpack://agent-portal/./src/components/CategoryLink.vue?b554","webpack://agent-portal/./src/components/CategoryLink.vue?6d54","webpack://agent-portal/./src/components/general/modal/ModalHeader.vue?5cad","webpack://agent-portal/./src/components/general/modal/ModalHeader.vue","webpack://agent-portal/./src/components/general/modal/ModalHeader.vue?4c1c","webpack://agent-portal/./src/components/general/modal/ModalHeader.vue?2cb0","webpack://agent-portal/./src/components/CategoryTile.vue","webpack://agent-portal/./src/components/CategoryTile.vue?7189","webpack://agent-portal/./src/components/CategoryTile.vue?5069","webpack://agent-portal/./src/views/Reports.vue","webpack://agent-portal/./src/views/Reports.vue?9a28","webpack://agent-portal/./src/views/Reports.vue?7fe1","webpack://agent-portal/./src/views/ShipmentsToDealers.vue?e173","webpack://agent-portal/./src/components/ShipmentTile.vue?4746","webpack://agent-portal/./src/components/ShipmentTile.vue","webpack://agent-portal/./src/components/ShipmentTile.vue?e079","webpack://agent-portal/./src/components/ShipmentTile.vue?8b68","webpack://agent-portal/./src/views/ShipmentsToDealers.vue","webpack://agent-portal/./src/views/ShipmentsToDealers.vue?393c","webpack://agent-portal/./src/views/ShipmentsToDealers.vue?a813","webpack://agent-portal/./src/views/UpdatesAndAlerts.vue?55e6","webpack://agent-portal/./src/components/alert/AdminAlertList.vue?9955","webpack://agent-portal/./src/dataLayer/Alerts.ts","webpack://agent-portal/./src/components/general/OkModal.vue?3c73","webpack://agent-portal/./src/components/general/OkModal.vue","webpack://agent-portal/./src/components/general/OkModal.vue?4687","webpack://agent-portal/./src/components/general/OkModal.vue?5906","webpack://agent-portal/./src/components/alert/AdminAlertList.vue","webpack://agent-portal/./src/components/alert/AdminAlertList.vue?9510","webpack://agent-portal/./src/components/alert/AdminAlertList.vue?932e","webpack://agent-portal/./src/components/alert/UserAlertList.vue?1b66","webpack://agent-portal/./src/components/alert/AlertThumbnail.vue?a388","webpack://agent-portal/./src/util/Format.ts","webpack://agent-portal/./src/components/alert/AlertThumbnail.vue","webpack://agent-portal/./src/components/alert/AlertThumbnail.vue?7752","webpack://agent-portal/./src/components/alert/AlertThumbnail.vue?8731","webpack://agent-portal/./src/components/alert/UserAlertList.vue","webpack://agent-portal/./src/components/alert/UserAlertList.vue?78a1","webpack://agent-portal/./src/components/alert/UserAlertList.vue?d0ed","webpack://agent-portal/./src/components/alert/AddAlertModal.vue?5e1c","webpack://agent-portal/./src/components/general/ImagePicker.vue?8332","webpack://agent-portal/./src/components/general/ImagePicker.vue","webpack://agent-portal/./src/components/general/ImagePicker.vue?8187","webpack://agent-portal/./src/components/general/ImagePicker.vue?d014","webpack://agent-portal/./src/components/DatePicker.vue?22e0","webpack://agent-portal/./src/components/DatePicker.vue","webpack://agent-portal/./src/components/DatePicker.vue?06d6","webpack://agent-portal/./src/components/DatePicker.vue?8d3c","webpack://agent-portal/./src/components/controls/QuillEditor.vue?fce6","webpack://agent-portal/./src/components/controls/QuillEditor.vue","webpack://agent-portal/./src/components/controls/QuillEditor.vue?5879","webpack://agent-portal/./src/components/controls/QuillEditor.vue?1436","webpack://agent-portal/./src/components/alert/AddAlertModal.vue","webpack://agent-portal/./src/components/alert/AddAlertModal.vue?2cda","webpack://agent-portal/./src/components/alert/AddAlertModal.vue?7f0b","webpack://agent-portal/./src/views/UpdatesAndAlerts.vue","webpack://agent-portal/./src/views/UpdatesAndAlerts.vue?f5d2","webpack://agent-portal/./src/views/UpdatesAndAlerts.vue?6d7e","webpack://agent-portal/./src/views/IConWebsite.vue?8452","webpack://agent-portal/./src/views/IConWebsite.vue","webpack://agent-portal/./src/views/IConWebsite.vue?1f92","webpack://agent-portal/./src/views/IConWebsite.vue?cf31","webpack://agent-portal/./src/views/RemittanceCloseCalendar.vue?d3c2","webpack://agent-portal/./src/components/calendar/AddEventModal.vue?52c9","webpack://agent-portal/./src/components/calendar/AddEventModal.vue","webpack://agent-portal/./src/components/calendar/AddEventModal.vue?1604","webpack://agent-portal/./src/components/calendar/AddEventModal.vue?8356","webpack://agent-portal/./src/views/RemittanceCloseCalendar.vue","webpack://agent-portal/./src/views/RemittanceCloseCalendar.vue?239e","webpack://agent-portal/./src/views/RemittanceCloseCalendar.vue?058f","webpack://agent-portal/./src/views/ReportView.vue?7c57","webpack://agent-portal/./src/views/ReportView.vue","webpack://agent-portal/./src/views/ReportView.vue?990f","webpack://agent-portal/./src/views/ReportView.vue?5538","webpack://agent-portal/./src/views/AdminManagement.vue?c5ad","webpack://agent-portal/./src/components/adminUsers/AddAdminUserModal.vue?82c4","webpack://agent-portal/./src/components/adminUsers/AddAdminUserModal.vue","webpack://agent-portal/./src/components/adminUsers/AddAdminUserModal.vue?5d0d","webpack://agent-portal/./src/components/adminUsers/AddAdminUserModal.vue?1e40","webpack://agent-portal/./src/views/AdminManagement.vue","webpack://agent-portal/./src/views/AdminManagement.vue?1a68","webpack://agent-portal/./src/views/AdminManagement.vue?1410","webpack://agent-portal/./src/views/CostUserManagement.vue?a43b","webpack://agent-portal/./src/components/costUsers/AddCostUserModal.vue?0536","webpack://agent-portal/./src/components/costUsers/AddCostUserModal.vue","webpack://agent-portal/./src/components/costUsers/AddCostUserModal.vue?ce0f","webpack://agent-portal/./src/components/costUsers/AddCostUserModal.vue?25cc","webpack://agent-portal/./src/views/CostUserManagement.vue","webpack://agent-portal/./src/views/CostUserManagement.vue?77a3","webpack://agent-portal/./src/views/CostUserManagement.vue?d1ad","webpack://agent-portal/./src/views/Login.vue?7b9d","webpack://agent-portal/./src/views/Login.vue?1606","webpack://agent-portal/./src/views/Login.vue","webpack://agent-portal/./src/views/AlertDetail.vue?12db","webpack://agent-portal/./src/components/alert/AlertList.vue?f0b7","webpack://agent-portal/./src/components/alert/AlertList.vue","webpack://agent-portal/./src/components/alert/AlertList.vue?02fc","webpack://agent-portal/./src/components/alert/AlertList.vue?ffed","webpack://agent-portal/./src/views/AlertDetail.vue","webpack://agent-portal/./src/views/AlertDetail.vue?6499","webpack://agent-portal/./src/views/AlertDetail.vue?2f71","webpack://agent-portal/./src/views/ReinsuranceResources.vue?c0bf","webpack://agent-portal/./src/views/ReinsuranceResources.vue","webpack://agent-portal/./src/views/ReinsuranceResources.vue?7632","webpack://agent-portal/./src/views/ReinsuranceResources.vue?ff8d","webpack://agent-portal/./src/store.ts","webpack://agent-portal/./src/router/index.ts","webpack://agent-portal/./src/plugins/vuetify.ts","webpack://agent-portal/./src/main.ts","webpack://agent-portal/./src/registerServiceWorker.ts","webpack://agent-portal/webpack/bootstrap","webpack://agent-portal/webpack/runtime/chunk loaded","webpack://agent-portal/webpack/runtime/compat get default export","webpack://agent-portal/webpack/runtime/define property getters","webpack://agent-portal/webpack/runtime/ensure chunk","webpack://agent-portal/webpack/runtime/get javascript chunk filename","webpack://agent-portal/webpack/runtime/get mini-css chunk filename","webpack://agent-portal/webpack/runtime/global","webpack://agent-portal/webpack/runtime/hasOwnProperty shorthand","webpack://agent-portal/webpack/runtime/load script","webpack://agent-portal/webpack/runtime/make namespace object","webpack://agent-portal/webpack/runtime/node module decorator","webpack://agent-portal/webpack/runtime/publicPath","webpack://agent-portal/webpack/runtime/jsonp chunk loading","webpack://agent-portal/webpack/startup"],"sourcesContent":["\r\n \r\n Login\r\n \r\n This is a temporary page to allow our developers to actually log into the\r\n app without using the shared login page\r\n \r\n Login\r\n \r\n\r\n\r\n","var map = {\n\t\"./af\": 2786,\n\t\"./af.js\": 2786,\n\t\"./ar\": 867,\n\t\"./ar-dz\": 4130,\n\t\"./ar-dz.js\": 4130,\n\t\"./ar-kw\": 6135,\n\t\"./ar-kw.js\": 6135,\n\t\"./ar-ly\": 6440,\n\t\"./ar-ly.js\": 6440,\n\t\"./ar-ma\": 7702,\n\t\"./ar-ma.js\": 7702,\n\t\"./ar-sa\": 6040,\n\t\"./ar-sa.js\": 6040,\n\t\"./ar-tn\": 7100,\n\t\"./ar-tn.js\": 7100,\n\t\"./ar.js\": 867,\n\t\"./az\": 1083,\n\t\"./az.js\": 1083,\n\t\"./be\": 9808,\n\t\"./be.js\": 9808,\n\t\"./bg\": 8338,\n\t\"./bg.js\": 8338,\n\t\"./bm\": 7438,\n\t\"./bm.js\": 7438,\n\t\"./bn\": 8905,\n\t\"./bn-bd\": 6225,\n\t\"./bn-bd.js\": 6225,\n\t\"./bn.js\": 8905,\n\t\"./bo\": 1560,\n\t\"./bo.js\": 1560,\n\t\"./br\": 1278,\n\t\"./br.js\": 1278,\n\t\"./bs\": 622,\n\t\"./bs.js\": 622,\n\t\"./ca\": 2468,\n\t\"./ca.js\": 2468,\n\t\"./cs\": 5822,\n\t\"./cs.js\": 5822,\n\t\"./cv\": 877,\n\t\"./cv.js\": 877,\n\t\"./cy\": 7373,\n\t\"./cy.js\": 7373,\n\t\"./da\": 4780,\n\t\"./da.js\": 4780,\n\t\"./de\": 9740,\n\t\"./de-at\": 217,\n\t\"./de-at.js\": 217,\n\t\"./de-ch\": 894,\n\t\"./de-ch.js\": 894,\n\t\"./de.js\": 9740,\n\t\"./dv\": 5300,\n\t\"./dv.js\": 5300,\n\t\"./el\": 837,\n\t\"./el.js\": 837,\n\t\"./en-au\": 8348,\n\t\"./en-au.js\": 8348,\n\t\"./en-ca\": 7925,\n\t\"./en-ca.js\": 7925,\n\t\"./en-gb\": 2243,\n\t\"./en-gb.js\": 2243,\n\t\"./en-ie\": 6436,\n\t\"./en-ie.js\": 6436,\n\t\"./en-il\": 7207,\n\t\"./en-il.js\": 7207,\n\t\"./en-in\": 4175,\n\t\"./en-in.js\": 4175,\n\t\"./en-nz\": 6319,\n\t\"./en-nz.js\": 6319,\n\t\"./en-sg\": 1662,\n\t\"./en-sg.js\": 1662,\n\t\"./eo\": 2915,\n\t\"./eo.js\": 2915,\n\t\"./es\": 5655,\n\t\"./es-do\": 5251,\n\t\"./es-do.js\": 5251,\n\t\"./es-mx\": 6112,\n\t\"./es-mx.js\": 6112,\n\t\"./es-us\": 1146,\n\t\"./es-us.js\": 1146,\n\t\"./es.js\": 5655,\n\t\"./et\": 5603,\n\t\"./et.js\": 5603,\n\t\"./eu\": 7763,\n\t\"./eu.js\": 7763,\n\t\"./fa\": 6959,\n\t\"./fa.js\": 6959,\n\t\"./fi\": 1897,\n\t\"./fi.js\": 1897,\n\t\"./fil\": 2549,\n\t\"./fil.js\": 2549,\n\t\"./fo\": 4694,\n\t\"./fo.js\": 4694,\n\t\"./fr\": 4470,\n\t\"./fr-ca\": 3049,\n\t\"./fr-ca.js\": 3049,\n\t\"./fr-ch\": 2330,\n\t\"./fr-ch.js\": 2330,\n\t\"./fr.js\": 4470,\n\t\"./fy\": 5044,\n\t\"./fy.js\": 5044,\n\t\"./ga\": 9295,\n\t\"./ga.js\": 9295,\n\t\"./gd\": 2101,\n\t\"./gd.js\": 2101,\n\t\"./gl\": 8794,\n\t\"./gl.js\": 8794,\n\t\"./gom-deva\": 7884,\n\t\"./gom-deva.js\": 7884,\n\t\"./gom-latn\": 3168,\n\t\"./gom-latn.js\": 3168,\n\t\"./gu\": 5349,\n\t\"./gu.js\": 5349,\n\t\"./he\": 4206,\n\t\"./he.js\": 4206,\n\t\"./hi\": 94,\n\t\"./hi.js\": 94,\n\t\"./hr\": 316,\n\t\"./hr.js\": 316,\n\t\"./hu\": 2138,\n\t\"./hu.js\": 2138,\n\t\"./hy-am\": 1423,\n\t\"./hy-am.js\": 1423,\n\t\"./id\": 9218,\n\t\"./id.js\": 9218,\n\t\"./is\": 135,\n\t\"./is.js\": 135,\n\t\"./it\": 626,\n\t\"./it-ch\": 150,\n\t\"./it-ch.js\": 150,\n\t\"./it.js\": 626,\n\t\"./ja\": 9183,\n\t\"./ja.js\": 9183,\n\t\"./jv\": 4286,\n\t\"./jv.js\": 4286,\n\t\"./ka\": 2105,\n\t\"./ka.js\": 2105,\n\t\"./kk\": 7772,\n\t\"./kk.js\": 7772,\n\t\"./km\": 8758,\n\t\"./km.js\": 8758,\n\t\"./kn\": 9282,\n\t\"./kn.js\": 9282,\n\t\"./ko\": 3730,\n\t\"./ko.js\": 3730,\n\t\"./ku\": 1408,\n\t\"./ku.js\": 1408,\n\t\"./ky\": 3291,\n\t\"./ky.js\": 3291,\n\t\"./lb\": 6841,\n\t\"./lb.js\": 6841,\n\t\"./lo\": 5466,\n\t\"./lo.js\": 5466,\n\t\"./lt\": 7010,\n\t\"./lt.js\": 7010,\n\t\"./lv\": 7595,\n\t\"./lv.js\": 7595,\n\t\"./me\": 9861,\n\t\"./me.js\": 9861,\n\t\"./mi\": 5493,\n\t\"./mi.js\": 5493,\n\t\"./mk\": 5966,\n\t\"./mk.js\": 5966,\n\t\"./ml\": 7341,\n\t\"./ml.js\": 7341,\n\t\"./mn\": 5115,\n\t\"./mn.js\": 5115,\n\t\"./mr\": 370,\n\t\"./mr.js\": 370,\n\t\"./ms\": 9847,\n\t\"./ms-my\": 1237,\n\t\"./ms-my.js\": 1237,\n\t\"./ms.js\": 9847,\n\t\"./mt\": 2126,\n\t\"./mt.js\": 2126,\n\t\"./my\": 6165,\n\t\"./my.js\": 6165,\n\t\"./nb\": 4924,\n\t\"./nb.js\": 4924,\n\t\"./ne\": 6744,\n\t\"./ne.js\": 6744,\n\t\"./nl\": 3901,\n\t\"./nl-be\": 9814,\n\t\"./nl-be.js\": 9814,\n\t\"./nl.js\": 3901,\n\t\"./nn\": 3877,\n\t\"./nn.js\": 3877,\n\t\"./oc-lnc\": 2135,\n\t\"./oc-lnc.js\": 2135,\n\t\"./pa-in\": 5858,\n\t\"./pa-in.js\": 5858,\n\t\"./pl\": 4495,\n\t\"./pl.js\": 4495,\n\t\"./pt\": 9520,\n\t\"./pt-br\": 7971,\n\t\"./pt-br.js\": 7971,\n\t\"./pt.js\": 9520,\n\t\"./ro\": 6459,\n\t\"./ro.js\": 6459,\n\t\"./ru\": 1793,\n\t\"./ru.js\": 1793,\n\t\"./sd\": 4048,\n\t\"./sd.js\": 4048,\n\t\"./se\": 490,\n\t\"./se.js\": 490,\n\t\"./si\": 124,\n\t\"./si.js\": 124,\n\t\"./sk\": 4249,\n\t\"./sk.js\": 4249,\n\t\"./sl\": 4985,\n\t\"./sl.js\": 4985,\n\t\"./sq\": 1104,\n\t\"./sq.js\": 1104,\n\t\"./sr\": 9131,\n\t\"./sr-cyrl\": 9915,\n\t\"./sr-cyrl.js\": 9915,\n\t\"./sr.js\": 9131,\n\t\"./ss\": 5893,\n\t\"./ss.js\": 5893,\n\t\"./sv\": 8760,\n\t\"./sv.js\": 8760,\n\t\"./sw\": 1172,\n\t\"./sw.js\": 1172,\n\t\"./ta\": 7333,\n\t\"./ta.js\": 7333,\n\t\"./te\": 3110,\n\t\"./te.js\": 3110,\n\t\"./tet\": 2095,\n\t\"./tet.js\": 2095,\n\t\"./tg\": 7321,\n\t\"./tg.js\": 7321,\n\t\"./th\": 9041,\n\t\"./th.js\": 9041,\n\t\"./tk\": 9005,\n\t\"./tk.js\": 9005,\n\t\"./tl-ph\": 5768,\n\t\"./tl-ph.js\": 5768,\n\t\"./tlh\": 9444,\n\t\"./tlh.js\": 9444,\n\t\"./tr\": 2397,\n\t\"./tr.js\": 2397,\n\t\"./tzl\": 8254,\n\t\"./tzl.js\": 8254,\n\t\"./tzm\": 1106,\n\t\"./tzm-latn\": 699,\n\t\"./tzm-latn.js\": 699,\n\t\"./tzm.js\": 1106,\n\t\"./ug-cn\": 9288,\n\t\"./ug-cn.js\": 9288,\n\t\"./uk\": 7691,\n\t\"./uk.js\": 7691,\n\t\"./ur\": 3795,\n\t\"./ur.js\": 3795,\n\t\"./uz\": 6791,\n\t\"./uz-latn\": 588,\n\t\"./uz-latn.js\": 588,\n\t\"./uz.js\": 6791,\n\t\"./vi\": 5666,\n\t\"./vi.js\": 5666,\n\t\"./x-pseudo\": 4378,\n\t\"./x-pseudo.js\": 4378,\n\t\"./yo\": 5805,\n\t\"./yo.js\": 5805,\n\t\"./zh-cn\": 3839,\n\t\"./zh-cn.js\": 3839,\n\t\"./zh-hk\": 5726,\n\t\"./zh-hk.js\": 5726,\n\t\"./zh-mo\": 9807,\n\t\"./zh-mo.js\": 9807,\n\t\"./zh-tw\": 4152,\n\t\"./zh-tw.js\": 4152\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 6700;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-app',[(!_vm.isMobile)?_c('v-system-bar',{attrs:{\"app\":\"\"}},[_c('v-container',{staticClass:\"py-0 fill-height\",attrs:{\"fluid\":\"\"}},[_c('a',{attrs:{\"href\":_vm.urls.dashboard}},[_c('v-img',{attrs:{\"src\":require(\"@/assets/logo.jpg\"),\"max-height\":\"50\",\"max-width\":\"200\"}})],1),_c('v-spacer'),_c('v-avatar',{staticClass:\"hidden-sm-and-down mr-7\",attrs:{\"color\":\"grey darken-3 shrink\",\"size\":\"32\"}},[_c('span',{staticStyle:{\"color\":\"white\"}},[_vm._v(_vm._s(_vm.user && _vm.user.fullName ? _vm.user.fullName.split(' ')[0][0] + _vm.user.fullName.split(' ')[1][0] : ''))])]),_c('span',{staticClass:\"hidden-sm-and-down\",staticStyle:{\"font-size\":\"16px\",\"color\":\"black\"}},[_vm._v(_vm._s(_vm.user ? _vm.user.fullName : ''))]),_c('v-responsive',{attrs:{\"max-width\":\"140\"}},[_c('v-menu',{scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({attrs:{\"icon\":\"\"}},'v-btn',attrs,false),on),[_c('CIcon',{attrs:{\"content\":_vm.icons.dropDown}})],1)]}}],null,false,4102313306)},[_c('v-list',_vm._l((_vm.getNavigationLinks()),function(item,index){return _c('v-list-item',{key:index},[_c('v-list-item-title',{staticClass:\"menu-link\",on:{\"click\":function () { return _vm.dropDownMenuChange(item); }}},[_vm._v(_vm._s(item)+\" \")])],1)}),1)],1)],1)],1)],1):_vm._e(),(_vm.isMobile)?_c('v-app-bar',{attrs:{\"color\":\"white\",\"dark\":\"\",\"prominent\":\"\",\"app\":\"\"}},[_c('v-app-bar-nav-icon',{staticStyle:{\"color\":\"black\",\"margin-top\":\"35px\"},on:{\"click\":function($event){$event.stopPropagation();_vm.drawer = !_vm.drawer}}}),_c('v-container',{staticClass:\"py-0 fill-height\",attrs:{\"fluid\":\"\"}},[_c('a',{attrs:{\"href\":_vm.urls.dashboard}},[_c('v-img',{attrs:{\"src\":require(\"@/assets/logo.jpg\"),\"max-height\":\"50\",\"max-width\":\"200\"}})],1),_c('v-spacer'),_c('v-avatar',{staticClass:\"hidden-sm-and-down mr-7\",attrs:{\"color\":\"grey darken-3 shrink\",\"size\":\"32\"}},[_c('span',{staticStyle:{\"color\":\"white\"}},[_vm._v(_vm._s(_vm.user && _vm.user.fullName ? _vm.user.fullName.split(' ')[0][0] + _vm.user.fullName.split(' ')[1][0] : ''))])]),_c('span',{staticClass:\"hidden-sm-and-down\",staticStyle:{\"font-size\":\"16px\",\"color\":\"black\"}},[_vm._v(_vm._s(_vm.user ? _vm.user.fullName : ''))]),_c('v-responsive',{attrs:{\"max-width\":\"140\"}},[_c('v-menu',{scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({attrs:{\"icon\":\"\"}},'v-btn',attrs,false),on),[_c('CIcon',{attrs:{\"content\":_vm.icons.dropDown}})],1)]}}],null,false,4102313306)},[_c('v-list',_vm._l((_vm.getNavigationLinks()),function(item,index){return _c('v-list-item',{key:index},[_c('v-list-item-title',{staticClass:\"menu-link\",on:{\"click\":function () { return _vm.dropDownMenuChange(item); }}},[_vm._v(_vm._s(item)+\" \")])],1)}),1)],1)],1)],1)],1):_vm._e(),_c('v-navigation-drawer',{staticClass:\"white lighten-3\",staticStyle:{\"top\":\"125px\",\"z-index\":\"1\"},attrs:{\"absolute\":\"\",\"temporary\":_vm.isMobile,\"permanent\":!_vm.isMobile,\"app\":\"\"},model:{value:(_vm.drawer),callback:function ($$v) {_vm.drawer=$$v},expression:\"drawer\"}},[_c('v-sheet',{attrs:{\"color\":\"white lighten-4\"}},[_c('v-list',{attrs:{\"color\":\"transparent\"}},[_c('span',{staticClass:\"side-menu hidden-sm-and-up\"},[_c('v-list-item-content',{staticClass:\"pa-4\"},[_c('v-list-item-title',[_c('v-avatar',{staticClass:\"hidden-sm-and-up mr-7\",staticStyle:{\"margin-left\":\"10px\"},attrs:{\"color\":\"grey darken-3 shrink\",\"size\":\"32\"}},[_c('span',{staticStyle:{\"color\":\"white\"}},[_vm._v(_vm._s(_vm.user && _vm.user.fullName ? _vm.user.fullName.split(' ')[0][0] + _vm.user.fullName.split(' ')[1][0] : ''))])]),_c('span',{staticStyle:{\"font-size\":\"16px\",\"color\":\"black\",\"margin-top\":\"5px\"}},[_vm._v(_vm._s(_vm.user ? _vm.user.fullName : ''))]),_c('span',{staticClass:\"v-list-item-menu-chevron\",staticStyle:{\"margin-left\":\"20px\",\"margin-top\":\"5px\"},on:{\"click\":function($event){_vm.sideMenuUserOpen = !_vm.sideMenuUserOpen}}},[_c('CIcon',{attrs:{\"content\":_vm.icons.dropDown}})],1)],1),_c('v-list-item-subtitle',[_c('div',[(_vm.sideMenuUserOpen)?_c('ul',_vm._l((_vm.getNavigationLinks()),function(item,index){return _c('li',{key:index},[_c('span',{staticClass:\"menu-link\",on:{\"click\":function () { return _vm.dropDownMenuChange(item); }}},[_vm._v(_vm._s(item))])])}),0):_vm._e()])])],1)],1),_c('menu-tile',{attrs:{\"title\":\"Home\",\"icon\":_vm.icons.home,\"route\":\"/\",\"mini\":_vm.mini}}),_c('menu-tile',{attrs:{\"title\":\"Favorites\",\"icon\":_vm.icons.favorite,\"route\":\"/favorites\",\"mini\":_vm.mini}}),(_vm.user.canAccessMdResources)?_c('menu-tile',{attrs:{\"title\":\"MD Resources\",\"icon\":_vm.icons.mdResources,\"route\":\"/md-resources\",\"mini\":_vm.mini}}):_vm._e(),_c('menu-tile',{attrs:{\"title\":\"Reinsurance Resources\",\"icon\":_vm.icons.reinsuranceResources,\"route\":\"/reinsurance-resources\",\"mini\":_vm.mini}}),_c('menu-tile',{attrs:{\"title\":\"Agent Resources\",\"icon\":_vm.icons.agentResources,\"route\":\"/agent-resources\",\"mini\":_vm.mini}}),_c('menu-tile',{attrs:{\"title\":\"Reports\",\"icon\":_vm.icons.reports,\"url\":_vm.urls.reportcenter,\"mini\":_vm.mini}}),_c('menu-tile',{attrs:{\"title\":\"Shipments to Dealers\",\"icon\":_vm.icons.shipments,\"route\":\"/shipments-to-dealers\",\"mini\":_vm.mini}}),_c('menu-tile',{attrs:{\"title\":\"Updates & Alerts\",\"icon\":_vm.icons.updates,\"route\":\"/updates-and-alerts\",\"mini\":_vm.mini}}),_c('menu-tile',{attrs:{\"title\":\"Online Contracting\",\"icon\":_vm.icons.econtracting,\"url\":_vm.urls.econtracting,\"mini\":_vm.mini}}),_c('menu-tile',{attrs:{\"title\":\"eStore\",\"icon\":_vm.icons.store,\"url\":_vm.urls.estore,\"mini\":_vm.mini}}),_c('menu-tile',{attrs:{\"title\":\"Contacts List\",\"icon\":_vm.icons.contacts,\"url\":_vm.urls.contacts,\"mini\":_vm.mini}}),_c('menu-tile',{attrs:{\"title\":\"Calendar\",\"icon\":_vm.icons.calendar,\"route\":\"/remittance-close-calendar\",\"mini\":_vm.mini}}),_c('menu-tile',{attrs:{\"title\":\"External Links\",\"icon\":_vm.icons.externalLinks,\"links\":[\n {\n url: _vm.urls.university,\n name: 'Portfolio University',\n },\n {\n url: _vm.urls.claims,\n name: 'Claim Status',\n },\n {\n url: _vm.urls.iconSite,\n name: 'iCon Website',\n },\n {\n url: _vm.urls.rateCard,\n name: 'Legacy NAE Rate Cards',\n } ]}})],1)],1)],1),_c('v-main',{staticClass:\"grey lighten-3 height-adjust\"},[_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',[_c('router-view')],1)],1)],1)],1),_c('v-footer',{attrs:{\"app\":\"\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[(_vm.route)?_c('router-link',{staticClass:\"side-menu\",attrs:{\"to\":_vm.route}},[_c('v-list-item-content',{staticClass:\"pa-4\"},[_c('v-list-item-title',[(_vm.icon !== undefined)?_c('CIcon',{staticClass:\"v-list-item-menu-icon\",attrs:{\"content\":_vm.icon}}):_vm._e(),(_vm.iconImage !== undefined)?_c('img',{attrs:{\"src\":_vm.iconImage}}):_vm._e(),_c('div',[_c('span',[_vm._v(_vm._s(_vm.title))])])],1)],1)],1):_vm._e(),(_vm.url)?_c('a',{staticClass:\"side-menu\",attrs:{\"href\":_vm.url,\"target\":\"_blank\"}},[_c('v-list-item-content',{staticClass:\"pa-4\"},[_c('v-list-item-title',[(_vm.icon !== undefined)?_c('CIcon',{staticClass:\"v-list-item-menu-icon\",attrs:{\"content\":_vm.icon}}):_vm._e(),(_vm.iconImage !== undefined)?_c('img',{attrs:{\"src\":_vm.iconImage}}):_vm._e(),_c('div',[_c('span',[_vm._v(_vm._s(_vm.title))])])],1)],1)],1):_vm._e(),(_vm.links)?_c('span',{staticClass:\"side-menu\"},[_c('v-list-item-content',{staticClass:\"pa-4\"},[_c('v-list-item-title',[(_vm.icon !== undefined)?_c('CIcon',{staticClass:\"v-list-item-menu-icon\",attrs:{\"content\":_vm.icon}}):_vm._e(),(_vm.iconImage !== undefined)?_c('img',{attrs:{\"src\":_vm.iconImage}}):_vm._e(),_c('div',{staticClass:\"link-menu-title\"},[_c('span',[_vm._v(_vm._s(_vm.title))]),(_vm.links)?_c('span',{staticClass:\"v-list-item-menu-chevron\",on:{\"click\":function($event){_vm.menuOpen = !_vm.menuOpen}}},[_c('CIcon',{attrs:{\"content\":_vm.menuOpen ? _vm.closeMenuIcon : _vm.openMenuIcon}})],1):_vm._e()])],1),_c('v-list-item-subtitle',[_c('div',[(_vm.links && _vm.menuOpen)?_c('ul',{staticClass:\"link-list\"},_vm._l((_vm.links),function(link){return _c('li',{key:link.url},[(_vm.icon !== undefined)?_c('CIcon',{staticClass:\"v-list-item-menu-icon\",attrs:{\"content\":_vm.icon}}):_vm._e(),((link.image || _vm.iconImage) !== undefined)?_c('img',{attrs:{\"src\":link.image || _vm.iconImage}}):_vm._e(),_c('a',{attrs:{\"target\":\"_blank\",\"href\":link.url}},[_vm._v(_vm._s(link.name))])],1)}),0):_vm._e()])])],1)],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport '../styles/menu-tile.css'\r\nimport { CIcon } from '@coreui/icons-vue'\r\nimport {\r\n cilExternalLink,\r\n cilChevronBottomAlt,\r\n cilChevronTopAlt,\r\n} from '@coreui/icons-pro'\r\n\r\nimport Vue, { PropOptions } from 'vue'\r\n\r\ninterface ILink {\r\n url: string\r\n name: string\r\n image?: string\r\n}\r\n\r\nexport default Vue.extend({\r\n data() {\r\n return {\r\n menuOpen: false,\r\n linkIcon: cilExternalLink,\r\n openMenuIcon: cilChevronBottomAlt,\r\n closeMenuIcon: cilChevronTopAlt,\r\n }\r\n },\r\n props: {\r\n title: {\r\n type: String,\r\n required: true,\r\n },\r\n icon: {\r\n type: Array,\r\n required: false,\r\n },\r\n iconImage: {\r\n type: String,\r\n required: false,\r\n },\r\n route: {\r\n type: String,\r\n required: false,\r\n },\r\n url: {\r\n type: String,\r\n required: false,\r\n },\r\n links: {\r\n type: Array,\r\n required: false,\r\n } as PropOptions,\r\n },\r\n name: 'MenuTile',\r\n components: { CIcon },\r\n methods: {},\r\n})\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MenuTile.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MenuTile.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MenuTile.vue?vue&type=template&id=2591bef5&\"\nimport script from \"./MenuTile.vue?vue&type=script&lang=ts&\"\nexport * from \"./MenuTile.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemSubtitle } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\ninstallComponents(component, {VListItemContent,VListItemSubtitle,VListItemTitle})\n","class UrlHelper {\r\n \r\n getApplicationUrl(appName: string, queryString?: string){\r\n if(queryString){\r\n return `/${appName}/${queryString}`;\r\n } else {\r\n return `/${appName}/`;\r\n }\r\n }\r\n}\r\n\r\nexport const urlHelper = new UrlHelper();","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport './styles/page.css'\r\nimport Vue from 'vue'\r\nimport {\r\n cilChevronBottomAlt,\r\n cilHome,\r\n cilStarCircle,\r\n cilLightbulb,\r\n cilCog,\r\n cilFlightTakeoff,\r\n cilCommentSquareExclamation,\r\n cilInfo,\r\n cilPhone,\r\n cilFile,\r\n cilCalendar,\r\n cilCart,\r\n cilLinkIntact,\r\n cilArchive,\r\n cilShieldCheck,\r\ncilDocument,\r\n} from '@coreui/icons-pro'\r\nimport MenuTile from './components/MenuTile.vue'\r\nimport { mapState } from 'vuex'\r\nimport { CIcon } from '@coreui/icons-vue'\r\nimport {urlHelper} from './util/UrlHelper'\r\n\r\n\r\n\r\nexport default Vue.extend({\r\n name: 'App',\r\n computed: {\r\n ...mapState(['user']),\r\n isMobile: function () {\r\n return window.innerWidth <= 960\r\n },\r\n },\r\n components: { CIcon, MenuTile },\r\n data: () => ({\r\n drawer: false,\r\n mini: false,\r\n sideMenuUserOpen: false,\r\n icons: {\r\n dropDown: cilChevronBottomAlt,\r\n home: cilHome,\r\n favorite: cilStarCircle,\r\n proposal: cilLightbulb,\r\n mdResources: cilArchive,\r\n agentResources: cilCog,\r\n shipments: cilFlightTakeoff,\r\n updates: cilCommentSquareExclamation,\r\n iconWebsite: cilInfo,\r\n contacts: cilPhone,\r\n calendar: cilCalendar,\r\n externalLinks: cilLinkIntact,\r\n store: cilCart,\r\n reports: cilFile,\r\n reinsuranceResources: cilShieldCheck,\r\n econtracting: cilDocument,\r\n },\r\n urls: {\r\n claims: urlHelper.getApplicationUrl('claims'),\r\n contracts: urlHelper.getApplicationUrl('contracts', 'Application/Default.aspx'),\r\n estore: urlHelper.getApplicationUrl('ordering','QuickOrder/Last'),\r\n econtracting: urlHelper.getApplicationUrl('econtracting'),\r\n university: 'https://www.portfolioco.university/',\r\n iconSite: 'https://fandiexpress.com/',\r\n rateCard: urlHelper.getApplicationUrl('ratecards', 'Portals/RateCards/Overview.aspx'),\r\n login: urlHelper.getApplicationUrl('login'),\r\n logout: urlHelper.getApplicationUrl('login', 'Account/LogOff'),\r\n dashboard: urlHelper.getApplicationUrl('login', 'Dashboard/Index'),\r\n contractLookup: urlHelper.getApplicationUrl('contractlookup'),\r\n contacts: urlHelper.getApplicationUrl('help', 'Topics/View/General/Contact-List'),\r\n reportcenter: urlHelper.getApplicationUrl('reportcenter')\r\n },\r\n }),\r\n methods: {\r\n getNavigationLinks() {\r\n if (this.user.isAdministrator) {\r\n return ['Admin', 'Cost Users', 'Logout']\r\n }\r\n return ['Logout']\r\n },\r\n dropDownMenuChange(event: string) {\r\n switch (event) {\r\n case 'Logout':\r\n document.cookie.split(';').forEach(function (c) {\r\n document.cookie = c\r\n .replace(/^ +/, '')\r\n .replace(\r\n /=.*/,\r\n '=;expires=' +\r\n new Date().toUTCString() +\r\n ';path=/;domain=.portfolioco.com;'\r\n )\r\n })\r\n window.location.href =\r\n urlHelper.getApplicationUrl(\"login\", \"Account/LogOff\")\r\n break\r\n case 'Admin':\r\n this.$router.push('/admins')\r\n break\r\n case 'Cost Users':\r\n this.$router.push('/costUsers')\r\n }\r\n },\r\n },\r\n})\r\n","import mod from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=3f9c1d31&\"\nimport script from \"./App.vue?vue&type=script&lang=ts&\"\nexport * from \"./App.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VApp } from 'vuetify/lib/components/VApp';\nimport { VAppBar } from 'vuetify/lib/components/VAppBar';\nimport { VAppBarNavIcon } from 'vuetify/lib/components/VAppBar';\nimport { VAvatar } from 'vuetify/lib/components/VAvatar';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VFooter } from 'vuetify/lib/components/VFooter';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemSubtitle } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VMain } from 'vuetify/lib/components/VMain';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VNavigationDrawer } from 'vuetify/lib/components/VNavigationDrawer';\nimport { VResponsive } from 'vuetify/lib/components/VResponsive';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VSystemBar } from 'vuetify/lib/components/VSystemBar';\ninstallComponents(component, {VApp,VAppBar,VAppBarNavIcon,VAvatar,VBtn,VCol,VContainer,VFooter,VImg,VList,VListItem,VListItemContent,VListItemSubtitle,VListItemTitle,VMain,VMenu,VNavigationDrawer,VResponsive,VRow,VSheet,VSpacer,VSystemBar})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ScreenTile',{attrs:{\"title\":\"Home\",\"subTitle\":\"Agent Portal\"}},[_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"flex-wrap\":\"wrap\",\"width\":\"100%\"}},[(_vm.loading)?_c('v-progress-linear',{staticStyle:{\"margin-top\":\"10px\"},attrs:{\"indeterminate\":\"\",\"color\":\"#4A3046\"}}):_vm._e(),_c('div',{staticClass:\"home-tile-display\"},[_c('DefaultDashBoard',{staticClass:\"home-tile\"})],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"screen-tile\"},[_c('div',{staticClass:\"screen-header\"},[(!_vm.tabs)?_c('div',{staticClass:\"screen-title-container\"},[_c('div',{staticClass:\"screen-title\"},[_vm._v(_vm._s(_vm.title))]),(_vm.subTitle)?_c('div',{staticClass:\"screen-subtitle\"},[_vm._v(_vm._s(_vm.subTitle))]):_vm._e()]):_c('div',[_c('v-tabs',{staticClass:\"screen-tabs\",attrs:{\"color\":\"white\",\"background-color\":\"#4A3046\"},model:{value:(_vm.tabModel),callback:function ($$v) {_vm.tabModel=$$v},expression:\"tabModel\"}},_vm._l((_vm.tabs),function(item){return _c('v-tab',{key:item,on:{\"click\":function($event){return _vm.$emit('on-tab-click', item)}}},[_vm._v(\" \"+_vm._s(item)+\" \")])}),1)],1),_vm._t(\"buttons\")],2),_c('v-sheet',{attrs:{\"rounded\":\"lg\",\"elevation\":\"3\"}},[_c(_vm.children,{tag:\"component\",staticClass:\"screen-content\"},[_vm._t(\"default\")],2)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport '../styles/screen-tile.css'\r\nimport Vue from 'vue'\r\n\r\nexport default Vue.extend({\r\n data() {\r\n return {\r\n tabModel: null as any,\r\n }\r\n },\r\n beforeMount: function () {\r\n this.tabModel = this.tab\r\n },\r\n props: {\r\n title: {\r\n type: String,\r\n required: true,\r\n },\r\n subTitle: {\r\n type: String,\r\n required: false,\r\n },\r\n children: {\r\n type: [String, Object],\r\n default: 'div',\r\n },\r\n actionText: {\r\n type: String,\r\n required: false,\r\n },\r\n tab: {\r\n type: String,\r\n required: false,\r\n },\r\n tabs: {\r\n type: Array,\r\n required: false,\r\n },\r\n },\r\n name: 'ScreenTile',\r\n methods: {},\r\n})\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ScreenTile.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ScreenTile.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ScreenTile.vue?vue&type=template&id=35ffce68&\"\nimport script from \"./ScreenTile.vue?vue&type=script&lang=ts&\"\nexport * from \"./ScreenTile.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\ninstallComponents(component, {VSheet,VTab,VTabs})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"height\":\"1000px\",\"width\":\"1500px\"},attrs:{\"id\":\"reportdiv\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\r\nimport { Vue } from 'vue-property-decorator'\r\nimport { CIcon } from '@coreui/icons-vue'\r\nimport ScreenTile from '../components/ScreenTile.vue'\r\nimport * as powerbi from 'powerbi-client'\r\nimport { cisStar, cilStar } from '@coreui/icons-pro'\r\n\r\ninterface IToken {\r\n description: string\r\n embedUrl: string\r\n id: string\r\n name: string\r\n token: {\r\n expiration: string\r\n token: string\r\n tokenId: string\r\n }\r\n}\r\n\r\ninterface IReport {\r\n id: string\r\n name: string\r\n description: string\r\n imageUrl: string\r\n favorite: boolean\r\n}\r\n\r\nexport default Vue.extend({\r\n data: function (): {\r\n loading: boolean\r\n detailedError: string | undefined\r\n } {\r\n return {\r\n loading: true,\r\n detailedError: undefined,\r\n \r\n }\r\n },\r\n components: { },\r\n \r\n mounted: async function () {\r\n const tokenRequest = await fetch(`/api/reports/default`)\r\n if (tokenRequest.ok) {\r\n const token = (await tokenRequest.json()) as IToken\r\n\r\n const permissions = powerbi.models.Permissions.All\r\n const config = {\r\n visualName: '',\r\n type: 'report',\r\n accessToken: token.token.token, // I'm not changing this, it's awesome\r\n embedUrl: token.embedUrl,\r\n tokenType: powerbi.models.TokenType.Embed,\r\n permissions,\r\n settings: {\r\n panes: {\r\n filters: {\r\n visible: true,\r\n },\r\n pageNavigation: {\r\n visible: true,\r\n },\r\n },\r\n },\r\n }\r\n\r\n // Embed the report and display it within the div container\r\n const embedder = new powerbi.service.Service(\r\n powerbi.factories.hpmFactory,\r\n powerbi.factories.wpmpFactory,\r\n powerbi.factories.routerFactory\r\n )\r\n\r\n const el = document.querySelector('#reportdiv') as HTMLElement\r\n if (el) {\r\n embedder.embed(el, config)\r\n }\r\n } else {\r\n const message = JSON.parse(await tokenRequest.text())\r\n this.detailedError = message.powerBIErrorMessage\r\n }\r\n this.loading = false\r\n },\r\n})\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DefaultDashBoard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DefaultDashBoard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DefaultDashBoard.vue?vue&type=template&id=45c43cb2&\"\nimport script from \"./DefaultDashBoard.vue?vue&type=script&lang=ts&\"\nexport * from \"./DefaultDashBoard.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue } from 'vue-property-decorator'\r\nimport ScreenTile from '../components/ScreenTile.vue'\r\nimport DefaultDashBoard from '../components/DefaultDashBoard.vue'\r\nimport '../styles/home.css'\r\n\r\nexport default Vue.extend({\r\n data: function () {\r\n return {\r\n loading: false,\r\n }\r\n },\r\n components: {\r\n ScreenTile,\r\n DefaultDashBoard,\r\n },\r\n})\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=559fed06&\"\nimport script from \"./Home.vue?vue&type=script&lang=ts&\"\nexport * from \"./Home.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\ninstallComponents(component, {VProgressLinear})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('ScreenTile',{attrs:{\"title\":\"Favorites\",\"subTitle\":\"Agent Portal\"}},[_c('v-tabs',{model:{value:(_vm.tab),callback:function ($$v) {_vm.tab=$$v},expression:\"tab\"}},_vm._l((_vm.tabs),function(item){return _c('v-tab',{key:item},[_vm._v(\" \"+_vm._s(item)+\" \")])}),1),_c('v-tabs-items',{staticStyle:{\"width\":\"100%\"},model:{value:(_vm.tab),callback:function ($$v) {_vm.tab=$$v},expression:\"tab\"}},_vm._l((_vm.tabs),function(item){return _c('v-tab-item',{key:item},[(item === 'md documents')?_c('MDDocumentsTab',{on:{\"view-document\":_vm.openMDDocument,\"remove-favorite\":_vm.removeFavorite}}):_vm._e(),(item === 'agent resources')?_c('AgentResourcesTab',{on:{\"view-document\":_vm.openAgentDocument,\"remove-favorite\":_vm.removeFavorite}}):_vm._e(),(item === 'reinsurance resources')?_c('ReinsuranceResourcesTab',{on:{\"view-document\":_vm.openReinsuranceResource,\"remove-favorite\":_vm.removeFavorite}}):_vm._e(),(item === 'reports')?_c('ReportsTab',{on:{\"remove-favorite\":_vm.removeFavorite}}):_vm._e()],1)}),1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"width\":\"100%\"}},[(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\",\"color\":\"#4A3046\"}}):_vm._e(),(!_vm.loading)?_c('div',[(_vm.reportFavorites.length === 0)?_c('div',{staticClass:\"empty-directory\"},[_vm._v(\" Nothing currently favorited. \")]):_vm._e(),_c('ul',{staticClass:\"report-list\"},_vm._l((_vm.reportFavorites),function(report){return _c('li',{key:report.id},[_c('span',{staticClass:\"favorite\",on:{\"click\":function($event){return _vm.removeFavorite(report.id)}}},[_c('CIcon',{staticStyle:{\"color\":\"#fff259\",\"cursor\":\"pointer\"},attrs:{\"content\":_vm.standardStarIcon}})],1),_c('router-link',{staticClass:\"report-favorite-link\",attrs:{\"to\":(\"/reports/\" + (report.reportId) + \"/\" + (report.reportName) + \"/true\")}},[_c('img',{staticClass:\"icon\",attrs:{\"src\":\"icons/favorite.png\"}}),_c('span',[_vm._v(\" \"+_vm._s(report.reportName)+\" \")])])],1)}),0)]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue } from 'vue-property-decorator'\r\nimport '../../styles/reports-tab.css'\r\nimport { cisStar } from '@coreui/icons-pro'\r\nimport { CIcon } from '@coreui/icons-vue'\r\n\r\ninterface IReportFavorite {\r\n reportId: string\r\n reportName: string\r\n id: number\r\n}\r\n\r\nexport default Vue.extend({\r\n data: function () {\r\n return {\r\n loading: true,\r\n reportFavorites: [] as IReportFavorite[],\r\n standardStarIcon: cisStar,\r\n }\r\n },\r\n mounted: async function () {\r\n this.reportFavorites = (await (\r\n await fetch('/api/favorites?reportsOnly=true')\r\n ).json()) as IReportFavorite[]\r\n this.loading = false\r\n },\r\n components: {\r\n CIcon,\r\n },\r\n methods: {\r\n removeFavorite(favoriteId) {\r\n this.$emit('remove-favorite', favoriteId)\r\n\r\n this.reportFavorites = this.reportFavorites.filter(\r\n (mdrf) => mdrf.id !== favoriteId\r\n )\r\n },\r\n },\r\n})\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ReportsTab.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ReportsTab.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ReportsTab.vue?vue&type=template&id=5dbf97d8&\"\nimport script from \"./ReportsTab.vue?vue&type=script&lang=ts&\"\nexport * from \"./ReportsTab.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\ninstallComponents(component, {VProgressLinear})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"width\":\"100%\"}},[(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\",\"color\":\"#4A3046\"}}):_vm._e(),(!_vm.loading)?_c('div',{staticClass:\"favorite-content\"},[(_vm.mdresourceFavorites.length === 0)?_c('div',{staticClass:\"empty-directory\"},[_vm._v(\" Nothing currently favorited. \")]):_vm._e(),_vm._l((_vm.mdresourceFavorites),function(item){return _c('DocumentTile',{key:item.id,attrs:{\"id\":item.id,\"title\":item.name,\"imageUrl\":item.imageUrl,\"createdDate\":new Date(item.createdDate),\"favorite\":{ id: item.favoriteId },\"isAdministrator\":false},on:{\"view-click\":function () { return _vm.$emit('view-document', item); },\"toggle-favorite\":function () { return _vm.removeFavoriteDocument(item.favoriteId); }}})})],2):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"document-tile\",on:{\"click\":function($event){return _vm.$emit('touchDoc')}}},[_c('div',{staticClass:\"document-icon\"},[(_vm.usePlaceholder)?_c('CIcon',{attrs:{\"content\":_vm.fileIcon}}):_c('img',{attrs:{\"src\":_vm.imageUrl,\"alt\":\"\"}})],1),_c('div',{staticClass:\"document-content\"},[_c('div',{staticClass:\"document-title\"},[_vm._v(_vm._s(_vm.searchPath ? _vm.searchPath : _vm.title))]),_c('div',{staticClass:\"document-creation-date\"},[_vm._v(\" Added \"+_vm._s(_vm.createdDate.toLocaleDateString('en-us', { year: 'numeric', month: 'long', day: 'numeric', }))+\" \")])]),_c('div',{staticClass:\"document-action\"},[_c('div',[(_vm.isAdministrator)?_c('span',{staticClass:\"document-edit-action\",on:{\"click\":_vm.onEditClick}},[_c('CIcon',{attrs:{\"content\":_vm.editIcon}})],1):_vm._e(),(_vm.isAdministrator)?_c('span',{staticClass:\"document-delete-action\",on:{\"click\":_vm.onDeleteClick}},[_c('CIcon',{attrs:{\"content\":_vm.deleteIcon}})],1):_vm._e(),_c('span',{staticClass:\"document-favorite-action\",on:{\"click\":_vm.onFavoriteClick}},[(!!_vm.favorite)?_c('CIcon',{staticStyle:{\"color\":\"#fff259\"},attrs:{\"content\":_vm.favoritedStarIcon}}):_c('CIcon',{attrs:{\"content\":_vm.standardStarIcon}})],1)]),_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":_vm.onViewClick}},[_vm._v(\"View\")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport '../styles/document-tile.css'\r\nimport { CIcon } from '@coreui/icons-vue'\r\nimport {\r\n cilFile,\r\n cisStar,\r\n cilStar,\r\n cilTrash,\r\n cilPencil,\r\n} from '@coreui/icons-pro'\r\nimport Vue from 'vue'\r\n\r\nexport default Vue.extend({\r\n data() {\r\n return {\r\n usePlaceholder: false,\r\n fileIcon: cilFile,\r\n favoritedStarIcon: cisStar,\r\n standardStarIcon: cilStar,\r\n deleteIcon: cilTrash,\r\n editIcon: cilPencil,\r\n }\r\n },\r\n props: {\r\n id: {\r\n type: Number,\r\n required: true,\r\n },\r\n title: {\r\n type: String,\r\n required: true,\r\n },\r\n imageUrl: {\r\n type: String,\r\n required: true,\r\n },\r\n createdDate: {\r\n type: Date,\r\n required: true,\r\n },\r\n favorite: {\r\n type: Object,\r\n required: false,\r\n },\r\n isAdministrator: {\r\n type: Boolean,\r\n required: true,\r\n },\r\n searchPath: {\r\n type: String,\r\n required: false,\r\n },\r\n },\r\n name: 'DocumentTile',\r\n components: { CIcon },\r\n mounted: async function () {\r\n try {\r\n const canLoadImage = await fetch(this.imageUrl)\r\n\r\n if (!canLoadImage.ok) this.usePlaceholder = true\r\n } catch {\r\n this.usePlaceholder = true\r\n }\r\n },\r\n methods: {\r\n onViewClick(e: Event) {\r\n e.preventDefault()\r\n this.$emit('view-click', this.id)\r\n },\r\n onFavoriteClick() {\r\n this.$emit('toggle-favorite', {\r\n favoriteId: this.favorite?.id,\r\n id: this.id,\r\n })\r\n },\r\n onDeleteClick() {\r\n this.$emit('delete-resource', this.id)\r\n },\r\n onEditClick() {\r\n this.$emit('edit-resource', this.id)\r\n },\r\n },\r\n})\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DocumentTile.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DocumentTile.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DocumentTile.vue?vue&type=template&id=8a52b30c&\"\nimport script from \"./DocumentTile.vue?vue&type=script&lang=ts&\"\nexport * from \"./DocumentTile.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue } from 'vue-property-decorator'\r\nimport DocumentTile from '../../components/DocumentTile.vue'\r\n\r\ninterface IMDResourceFavorite {\r\n id: number\r\n name: string\r\n description: string\r\n favoriteId: number\r\n createdDate: string\r\n resourceLink: string\r\n imageUrl: string\r\n}\r\n\r\nexport default Vue.extend({\r\n data: function () {\r\n return {\r\n loading: true,\r\n mdresourceFavorites: [] as IMDResourceFavorite[],\r\n }\r\n },\r\n mounted: async function () {\r\n this.mdresourceFavorites = await (\r\n await fetch(\r\n '/api/mdresources/favorites?' +\r\n new URLSearchParams({ isDirectory: 'false' })\r\n )\r\n ).json()\r\n this.mdresourceFavorites = this.mdresourceFavorites.map((x) => ({\r\n ...x,\r\n type: 'md-resources',\r\n }))\r\n this.loading = false\r\n },\r\n methods: {\r\n removeFavoriteDocument(favoriteId: number) {\r\n // Trigger the common api removal in the parent element\r\n this.$emit('remove-favorite', favoriteId)\r\n\r\n this.mdresourceFavorites = this.mdresourceFavorites.filter(\r\n (mdrf) => mdrf.favoriteId !== favoriteId\r\n )\r\n },\r\n },\r\n components: {\r\n DocumentTile,\r\n },\r\n})\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MDDocumentsTab.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MDDocumentsTab.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MDDocumentsTab.vue?vue&type=template&id=3ca72743&\"\nimport script from \"./MDDocumentsTab.vue?vue&type=script&lang=ts&\"\nexport * from \"./MDDocumentsTab.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\ninstallComponents(component, {VProgressLinear})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"width\":\"100%\"}},[(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\",\"color\":\"#4A3046\"}}):_vm._e(),(!_vm.loading)?_c('div',{staticClass:\"favorite-content\"},[(_vm.agentresourceFavorites.length === 0)?_c('div',{staticClass:\"empty-directory\"},[_vm._v(\" Nothing currently favorited. \")]):_vm._e(),_vm._l((_vm.agentresourceFavorites),function(item){return _c('ResourceTile',{key:item.id,attrs:{\"id\":item.id,\"title\":item.name,\"description\":item.description,\"imageUrl\":item.imageUrl,\"createdDate\":new Date(item.createdDate),\"favoriteId\":item.favoriteId,\"favorite\":true,\"isAdministrator\":false},on:{\"view-click\":function () { return _vm.$emit('view-document', item); },\"toggle-favorite\":function () { return _vm.removeFavoriteDocument(item.favoriteId); }}})})],2):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"resource-tile\"},[_c('div',{staticClass:\"resource-image\"},[(_vm.usePlaceholder)?_c('img',{attrs:{\"src\":\"/icons/favorite.png\",\"alt\":\"Placeholder image\"}}):_c('img',{attrs:{\"src\":_vm.imageUrl,\"alt\":\"\"}})]),_c('div',{staticClass:\"resource-content\"},[_c('div',{staticClass:\"resource-favorites\"},[(_vm.isAdministrator)?_c('span',{staticClass:\"resource-edit\",on:{\"click\":_vm.onEditClick}},[_c('CIcon',{attrs:{\"content\":_vm.editIcon}})],1):_vm._e(),(_vm.isAdministrator)?_c('span',{staticClass:\"resource-delete\",on:{\"click\":_vm.onDeleteClick}},[_c('CIcon',{attrs:{\"content\":_vm.deleteIcon}})],1):_vm._e(),_c('span',{on:{\"click\":_vm.onFavoriteClick}},[(!!_vm.favorite)?_c('CIcon',{staticStyle:{\"color\":\"#fff259\"},attrs:{\"content\":_vm.favoritedStarIcon}}):_c('CIcon',{attrs:{\"content\":_vm.standardStarIcon}})],1)]),_c('div',{staticClass:\"resource-title\"},[_vm._v(\" \"+_vm._s(_vm.title)+\" \")]),_c('div',{staticClass:\"resource-description\",domProps:{\"textContent\":_vm._s(_vm.description)}}),_c('a',{staticClass:\"view-link\",attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.$emit('view-click', _vm.id)}}},[_vm._v(\"View\")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport '../styles/resource-tile.css'\r\nimport { CIcon } from '@coreui/icons-vue'\r\nimport { cisStar, cilStar, cilTrash, cilPencil } from '@coreui/icons-pro'\r\nimport Vue from 'vue'\r\n\r\nexport default Vue.extend({\r\n data(): {\r\n usePlaceholder: boolean\r\n favoritedStarIcon: any[]\r\n standardStarIcon: any[]\r\n deleteIcon: any[]\r\n editIcon: any[]\r\n } {\r\n return {\r\n usePlaceholder: false,\r\n favoritedStarIcon: cisStar,\r\n standardStarIcon: cilStar,\r\n deleteIcon: cilTrash,\r\n editIcon: cilPencil,\r\n }\r\n },\r\n props: {\r\n id: {\r\n type: Number,\r\n required: true,\r\n },\r\n title: {\r\n type: String,\r\n required: true,\r\n },\r\n description: {\r\n type: String,\r\n required: false,\r\n },\r\n favorite: {\r\n type: Boolean,\r\n required: true,\r\n },\r\n favoriteId: {\r\n type: Number,\r\n required: false,\r\n },\r\n imageUrl: {\r\n type: String,\r\n required: false,\r\n },\r\n isAdministrator: {\r\n type: Boolean,\r\n required: true,\r\n },\r\n },\r\n mounted: async function () {\r\n try {\r\n const canLoadImage = await fetch(this.imageUrl)\r\n\r\n if (!canLoadImage.ok) this.usePlaceholder = true\r\n } catch {\r\n this.usePlaceholder = true\r\n }\r\n },\r\n methods: {\r\n onFavoriteClick(): void {\r\n this.$emit('toggle-favorite', {\r\n favoriteId: this.favoriteId,\r\n id: this.id,\r\n })\r\n },\r\n onDeleteClick(): void {\r\n this.$emit('delete-resource', this.id)\r\n },\r\n onEditClick(): void {\r\n this.$emit('edit-resource', this.id)\r\n },\r\n },\r\n name: 'ResourceTile',\r\n components: { CIcon },\r\n})\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ResourceTile.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ResourceTile.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ResourceTile.vue?vue&type=template&id=2feeda71&\"\nimport script from \"./ResourceTile.vue?vue&type=script&lang=ts&\"\nexport * from \"./ResourceTile.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue } from 'vue-property-decorator'\r\nimport ResourceTile from '../../components/ResourceTile.vue'\r\n\r\ninterface IAgentResourceFavorite {\r\n id: number\r\n name: string\r\n description: string\r\n favoriteId: number\r\n createdDate: string\r\n resourceLink: string\r\n imageUrl: string\r\n}\r\n\r\nexport default Vue.extend({\r\n data: function () {\r\n return {\r\n loading: true,\r\n agentresourceFavorites: [] as IAgentResourceFavorite[],\r\n }\r\n },\r\n mounted: async function () {\r\n this.agentresourceFavorites = await (\r\n await fetch('/api/agentresources/favorites')\r\n ).json()\r\n this.agentresourceFavorites = this.agentresourceFavorites.map((x) => ({\r\n ...x,\r\n type: 'agent-resources',\r\n }))\r\n this.loading = false\r\n },\r\n methods: {\r\n removeFavoriteDocument(favoriteId: number) {\r\n // Trigger the common api removal in the parent element\r\n this.$emit('remove-favorite', favoriteId)\r\n\r\n this.agentresourceFavorites = this.agentresourceFavorites.filter(\r\n (agentrf) => agentrf.favoriteId !== favoriteId\r\n )\r\n },\r\n },\r\n components: {\r\n ResourceTile,\r\n },\r\n})\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AgentResourcesTab.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AgentResourcesTab.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AgentResourcesTab.vue?vue&type=template&id=610790ef&\"\nimport script from \"./AgentResourcesTab.vue?vue&type=script&lang=ts&\"\nexport * from \"./AgentResourcesTab.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\ninstallComponents(component, {VProgressLinear})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"width\":\"100%\"}},[(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\",\"color\":\"#4A3046\"}}):_vm._e(),(!_vm.loading)?_c('div',{staticClass:\"favorite-content\"},[(_vm.agentresourceFavorites.length === 0)?_c('div',{staticClass:\"empty-directory\"},[_vm._v(\" Nothing currently favorited. \")]):_vm._e(),_vm._l((_vm.agentresourceFavorites),function(item){return _c('div',{key:item.id},[(item.isDirectory)?_c('div',[_c('ResourceDirectoryTile',{attrs:{\"title\":item.name,\"path\":(_vm.currentPath + '/' + item.name).replace('//', '/'),\"imageUrl\":_vm.favoriteIcon,\"folderIcon\":_vm.favoriteIcon,\"usePlaceholder\":false,\"favorite\":true,\"favoriteId\":item.favoriteId,\"numberOfDocuments\":item.numberOfChildren},on:{\"view-click\":function($event){return _vm.descendIntoDirectory(item.name, item.path)},\"toggle-favorite\":_vm.toggleFavorite}})],1):_c('div',[_c('ResourceTile',{key:item.id,attrs:{\"id\":item.id,\"title\":item.name,\"description\":item.description,\"createdDate\":new Date(item.createdDate),\"favoriteId\":item.favoriteId,\"favorite\":true,\"isAdministrator\":false},on:{\"view-click\":function () { return _vm.$emit('view-document', item); },\"toggle-favorite\":function () { return _vm.removeFavoriteDocument(item.favoriteId); }}})],1)])})],2):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"resource-directory-tile\"},[_c('div',{staticClass:\"resource-directory-image\"},[(!_vm.usePlaceholder)?_c('img',{attrs:{\"src\":_vm.imageUrl,\"alt\":\"\"}}):_vm._e()]),_c('div',{staticClass:\"resource-directory-content\"},[_c('div',{staticClass:\"resource-directory-favorites\"},[(_vm.isAdministrator)?_c('span',{staticClass:\"resource-directory-edit\",on:{\"click\":_vm.onEditClick}},[_c('CIcon',{attrs:{\"content\":_vm.editIcon}})],1):_vm._e(),(_vm.isAdministrator)?_c('span',{staticClass:\"resource-directory-delete\",on:{\"click\":_vm.onDeleteClick}},[_c('CIcon',{attrs:{\"content\":_vm.deleteIcon}})],1):_vm._e(),_c('span',{on:{\"click\":_vm.onFavoriteClick}},[(!!_vm.favorite)?_c('CIcon',{staticStyle:{\"color\":\"#fff259\"},attrs:{\"content\":_vm.favoritedStarIcon}}):_c('CIcon',{attrs:{\"content\":_vm.standardStarIcon}})],1)]),_c('div',[(_vm.imageUrl)?_c('div',{staticClass:\"resource-directory-title\"},[_vm._v(\" \"+_vm._s(_vm.title)+\" \")]):_c('div',{staticClass:\"resource-directory-title\"},[_c('CIcon',{attrs:{\"content\":_vm.folderIcon}}),_vm._v(\" \"+_vm._s(_vm.searchPath ? _vm.searchPath : _vm.title)+\" \")],1)]),_c('div',{staticClass:\"resource-directory-description\",domProps:{\"textContent\":_vm._s(_vm.description)}}),_c('a',{staticClass:\"view-link\",attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.$emit('view-click', _vm.id)}}},[_vm._v(\"View\")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport '../styles/resource-directory-tile.css'\r\nimport { CIcon } from '@coreui/icons-vue'\r\nimport {\r\n cisStar,\r\n cilStar,\r\n cilFolder,\r\n cilTrash,\r\n cilPencil,\r\n} from '@coreui/icons-pro'\r\nimport Vue from 'vue'\r\n\r\nexport default Vue.extend({\r\n data() {\r\n return {\r\n usePlaceholder: false,\r\n folderIcon: cilFolder,\r\n favoritedStarIcon: cisStar,\r\n standardStarIcon: cilStar,\r\n deleteIcon: cilTrash,\r\n editIcon: cilPencil,\r\n }\r\n },\r\n props: {\r\n id: {\r\n type: Number,\r\n required: false,\r\n },\r\n title: {\r\n type: String,\r\n required: true,\r\n },\r\n description: {\r\n type: String,\r\n required: false,\r\n },\r\n favorite: {\r\n type: Boolean,\r\n required: false,\r\n },\r\n favoriteId: {\r\n type: Number,\r\n required: false,\r\n },\r\n imageUrl: {\r\n type: String,\r\n required: false,\r\n },\r\n isAdministrator: {\r\n type: Boolean,\r\n required: false,\r\n },\r\n path: {\r\n type: String,\r\n required: false,\r\n },\r\n searchPath: {\r\n type: String,\r\n required: false,\r\n },\r\n },\r\n mounted: async function () {\r\n if (!this.imageUrl) this.usePlaceholder = true\r\n else {\r\n try {\r\n const canLoadImage = await fetch(this.imageUrl)\r\n\r\n if (!canLoadImage.ok) this.usePlaceholder = true\r\n } catch {\r\n this.usePlaceholder = true\r\n }\r\n }\r\n },\r\n methods: {\r\n onFavoriteClick() {\r\n this.$emit('toggle-favorite', {\r\n favoriteId: this.favoriteId,\r\n id: this.id,\r\n path: this.path,\r\n })\r\n },\r\n onDeleteClick(): void {\r\n this.$emit('delete-resource', this.id)\r\n },\r\n onEditClick(): void {\r\n this.$emit('edit-resource', this.id)\r\n },\r\n },\r\n name: 'ResourceDirectoryTile',\r\n components: { CIcon },\r\n})\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ResourceDirectoryTile.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ResourceDirectoryTile.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ResourceDirectoryTile.vue?vue&type=template&id=cf8eff66&\"\nimport script from \"./ResourceDirectoryTile.vue?vue&type=script&lang=ts&\"\nexport * from \"./ResourceDirectoryTile.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue } from 'vue-property-decorator'\r\nimport ResourceTile from '../../components/ResourceTile.vue'\r\nimport ResourceDirectoryTile from '../../components/ResourceDirectoryTile.vue'\r\n\r\ninterface IAgentResourceFavorite {\r\n id: number\r\n name: string\r\n description: string\r\n numberOfChildren: number\r\n isDirectory: boolean\r\n favoriteId: number\r\n createdDate: string\r\n resourceLink: string\r\n imageUrl: string\r\n}\r\n\r\nexport default Vue.extend({\r\n data: function () {\r\n return {\r\n loading: true,\r\n agentresourceFavorites: [] as IAgentResourceFavorite[],\r\n routes: [{ id: '', name: 'Reinsurance Resources' }] as {\r\n id: string | undefined\r\n name: string\r\n }[],\r\n currentPath: '/',\r\n favoriteIcon: \"../../icons/favorite.png\"\r\n }\r\n },\r\n mounted: async function () {\r\n this.agentresourceFavorites = await (\r\n await fetch('/api/ReinsuranceResources/favorites')\r\n ).json()\r\n this.agentresourceFavorites = this.agentresourceFavorites.map((x) => ({\r\n ...x,\r\n name: x.path.split('/')[x.path.split('/').length - 1],\r\n type: 'agent-resources',\r\n }))\r\n this.loading = false\r\n },\r\n methods: {\r\n removeFavoriteDocument(favoriteId: number) {\r\n // Trigger the common api removal in the parent element\r\n this.$emit('remove-favorite', favoriteId)\r\n\r\n this.agentresourceFavorites = this.agentresourceFavorites.filter(\r\n (agentrf) => agentrf.favoriteId !== favoriteId\r\n )\r\n },\r\n descendIntoDirectory: async function (name: string, path: string) {\r\n this.loading = true\r\n const newPath = (this.currentPath + '/').replace('//', '/') + path\r\n this.routes.push({\r\n id: newPath,\r\n name: name ?? '',\r\n })\r\n this.$router.push({\r\n name: 'Reinsurance Resources',\r\n params: { path: newPath },\r\n })\r\n this.currentPath = newPath\r\n this.reinsuranceResources = await (\r\n await fetch(`/api/reinsuranceresources?path=${newPath}`)\r\n ).json()\r\n \r\n this.loading = false\r\n },\r\n },\r\n components: {\r\n ResourceTile,\r\n ResourceDirectoryTile,\r\n },\r\n})\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ReinsuranceResourcesTab.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ReinsuranceResourcesTab.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ReinsuranceResourcesTab.vue?vue&type=template&id=0111c428&\"\nimport script from \"./ReinsuranceResourcesTab.vue?vue&type=script&lang=ts&\"\nexport * from \"./ReinsuranceResourcesTab.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\ninstallComponents(component, {VProgressLinear})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue } from 'vue-property-decorator'\r\nimport ScreenTile from '../../components/ScreenTile.vue'\r\nimport ReportsTab from './ReportsTab.vue'\r\nimport MDDocumentsTab from './MDDocumentsTab.vue'\r\nimport AgentResourcesTab from './AgentResourcesTab.vue'\r\nimport ReinsuranceResourcesTab from './ReinsuranceResourcesTab.vue'\r\nimport { mapState } from 'vuex'\r\n\r\nimport '../../styles/favorites.css'\r\n\r\ninterface IDocument {\r\n key: string\r\n id: number\r\n name: string\r\n createdDate: string\r\n favoriteId: number\r\n resourceLink: string\r\n source: string\r\n isDirectory: boolean\r\n type: string\r\n path?: string\r\n}\r\n\r\nexport default Vue.extend({\r\n data: function () {\r\n return {\r\n tab: 'folders',\r\n }\r\n },\r\n methods: {\r\n removeFavorite: async (favoriteId: number) => {\r\n await fetch(`/api/favorites/${favoriteId}`, { method: 'DELETE' })\r\n },\r\n openAgentDocument: async function (document: IDocument) {\r\n if (document.isDirectory) {\r\n this.$router.push(`/${document.type}/${document.id}`)\r\n return\r\n }\r\n try {\r\n const canOpenResource = await fetch(`${document.resourceLink}`)\r\n\r\n if (canOpenResource.ok) {\r\n window.open(document.resourceLink)\r\n }\r\n } catch {\r\n console.log('error')\r\n }\r\n },\r\n openMDDocument: async function (document: IDocument) {\r\n if (document.isDirectory) {\r\n this.$router.push(`/${document.type}/${document.id}`)\r\n return\r\n }\r\n try {\r\n const canOpenResource = await fetch(`${document.resourceLink}`)\r\n\r\n if (canOpenResource.ok) {\r\n window.open(document.resourceLink)\r\n }\r\n } catch {\r\n console.log('error')\r\n }\r\n },\r\n openReinsuranceResource: async function (document: IDocument) {\r\n if (!document.path) return\r\n const fileName =\r\n document.path.split('/')[document.path.split('/').length - 1]\r\n if (fileName.includes('.')) {\r\n // document\r\n window.open(`/api/reinsuranceresources/download?path=${document.path}`)\r\n } else {\r\n // folder\r\n this.$router.push(`/reinsurance-resources/${document.path}`)\r\n }\r\n },\r\n },\r\n computed: {\r\n ...mapState(['user']),\r\n tabs: function () {\r\n return this.user.canAccessMdResources\r\n ? [\r\n 'reports',\r\n 'md documents',\r\n 'agent resources',\r\n 'reinsurance resources',\r\n ]\r\n : ['reports', 'agent resources', 'reinsurance resources']\r\n },\r\n },\r\n components: {\r\n ScreenTile,\r\n ReportsTab,\r\n MDDocumentsTab,\r\n AgentResourcesTab,\r\n ReinsuranceResourcesTab,\r\n },\r\n})\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Favorites.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Favorites.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Favorites.vue?vue&type=template&id=e77e9d08&\"\nimport script from \"./Favorites.vue?vue&type=script&lang=ts&\"\nexport * from \"./Favorites.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabItem } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\nimport { VTabsItems } from 'vuetify/lib/components/VTabs';\ninstallComponents(component, {VTab,VTabItem,VTabs,VTabsItems})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('ScreenTile',{attrs:{\"title\":\"Proposals\",\"subTitle\":\"Agent Portal\"},scopedSlots:_vm._u([(!_vm.viewItem.id)?{key:\"buttons\",fn:function(){return [_c('button',{staticClass:\"screen-action\",on:{\"click\":function($event){_vm.showModal = true}}},[_c('CIcon',{attrs:{\"content\":_vm.addIcon}}),_vm._v(\" Create Proposal \")],1)]},proxy:true}:null],null,true)},[_c('UpsertProposalModal',{attrs:{\"editMode\":!!_vm.viewItem.id,\"showModal\":_vm.showModal,\"proposal\":_vm.viewItem.id\n ? Object.assign({}, _vm.viewItem,\n {selectedDocuments: _vm.proposalDocuments.map(function (pd) { return ({\n id: pd.documentId,\n name: pd.name,\n source: pd.source,\n }); })})\n : {}},on:{\"close\":_vm.upsertProposal}}),_c('RemoveItemModal',{attrs:{\"showModal\":_vm.showRemoveModal,\"item\":_vm.removeItem.id ? (\"proposal \" + (_vm.removeItem.title)) : ''},on:{\"close\":function () {\n _vm.showRemoveModal = false\n _vm.removeItem = {}\n },\"confirm\":function($event){return _vm.removeProposal(_vm.removeItem.id)}}}),_c('PendingChangeModal',{attrs:{\"showModal\":_vm.showPendingChangeModal},on:{\"close\":function($event){_vm.showPendingChangeModal = false},\"confirm\":function($event){return _vm.changeView(null)}}}),(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\",\"color\":\"#4A3046\"}}):(!_vm.viewItem.id)?_c('div',{staticStyle:{\"display\":\"flex\",\"flex-wrap\":\"wrap\"}},_vm._l((_vm.proposals),function(proposal){return _c('ProposalTile',{key:proposal.id,attrs:{\"title\":proposal.title,\"imageUrl\":proposal.imageUrl,\"documentsCount\":proposal.numberOfChildren,\"updatedAt\":new Date(proposal.updatedDate)},on:{\"view-click\":function () { return _vm.changeView(proposal.id); },\"remove-proposal\":function () {\n _vm.showRemoveModal = true\n _vm.removeItem = proposal\n }}})}),1):_c('div',{staticClass:\"proposal-details-container\"},[_c('div',{staticClass:\"proposal-details-actions-container\"},[_c('div',[_vm._v(\"< \"),_c('a',{on:{\"click\":_vm.confirmChange}},[_vm._v(\" Back\")])]),_c('div',[_c('button',{staticClass:\"screen-action\",attrs:{\"disabled\":_vm.producing},on:{\"click\":_vm.produce}},[_vm._v(\" PRODUCE \"),(_vm.producing)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\",\"color\":\"#4A3046\"}}):_vm._e()],1),_c('button',{staticClass:\"screen-action\",on:{\"click\":function($event){_vm.showModal = true}}},[_vm._v(\" EDIT \")]),(_vm.hasReorderedDocuments)?_c('button',{staticClass:\"screen-action main\",on:{\"click\":_vm.updateOrder}},[_vm._v(\" SAVE \")]):_vm._e()])]),_c('div',{staticClass:\"proposal-details-title\",domProps:{\"textContent\":_vm._s(_vm.viewItem.title)}}),_c('div',[_vm._v(\"These are some of the proposal details\")]),(_vm.loadingDetails)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\",\"color\":\"#4A3046\"}}):_vm._e(),_c('v-tabs',{model:{value:(_vm.currentTab),callback:function ($$v) {_vm.currentTab=$$v},expression:\"currentTab\"}},[_c('v-tab',[_vm._v(\"Documents\")]),_c('v-tab',[_vm._v(\"Production History\")])],1),_c('v-tabs-items',{staticStyle:{\"width\":\"100%\"},model:{value:(_vm.currentTab),callback:function ($$v) {_vm.currentTab=$$v},expression:\"currentTab\"}},[_c('v-tab-item',[(!_vm.loading)?_c('draggable',{staticStyle:{\"display\":\"flex\",\"flex-wrap\":\"wrap\"},on:{\"update\":function () { return (_vm.hasReorderedDocuments = true); }},model:{value:(_vm.proposalDocuments),callback:function ($$v) {_vm.proposalDocuments=$$v},expression:\"proposalDocuments\"}},_vm._l((_vm.proposalDocuments),function(proposalDocument){return _c('ProposalTile',{key:proposalDocument.id,attrs:{\"isDocument\":true,\"title\":proposalDocument.name,\"imageUrl\":proposalDocument.imageUrl,\"createdAt\":new Date(proposalDocument.createdDate)},on:{\"view-click\":function () { return _vm.openDocument(proposalDocument); }}})}),1):_vm._e()],1),_c('v-tab-item',[_c('proposal-history',{ref:\"propHistory\",attrs:{\"id\":_vm.viewItem.id}})],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"proposal-tile\"},[_c('div',{staticClass:\"proposal-image\"},[(_vm.usePlaceholder)?_c('img',{attrs:{\"src\":require(\"@/assets/placeholder-image.png\"),\"alt\":\"Placeholder image\"}}):_c('img',{attrs:{\"src\":_vm.imageUrl,\"alt\":\"\"}})]),_c('div',{staticClass:\"proposal-content\"},[(!_vm.isDocument)?_c('div',[_c('div',{staticClass:\"proposal-title\",domProps:{\"textContent\":_vm._s(_vm.title)}}),_c('div',{staticClass:\"proposal-updatedAt\",domProps:{\"textContent\":_vm._s((\"Last Updated: \" + (_vm.formatDate(_vm.updatedAt))))}}),_c('div',{staticClass:\"proposal-view-documents-container\"},[_c('div',{staticClass:\"proposal-view-documents-count\"},[_c('p',{staticClass:\"proposal-view-documents-counter\",domProps:{\"textContent\":_vm._s(_vm.documentsCount)}}),_c('p',[_vm._v(\"Documents / Screens\")])]),_c('a',{staticClass:\"proposal-view-documents-link\",on:{\"click\":function($event){return _vm.$emit('view-click')}}},[_vm._v(\" View \")])])]):_c('div',{staticStyle:{\"display\":\"flex\"}},[_c('div',{staticStyle:{\"width\":\"100%\"}},[_c('div',{staticClass:\"proposal-title\",domProps:{\"textContent\":_vm._s(_vm.title)}}),_c('div',{staticClass:\"proposal-createdAt\",domProps:{\"textContent\":_vm._s((\"Added \" + (_vm.formatDate(_vm.createdAt))))}})]),_c('div',{staticClass:\"proposal-view-documents-container\",staticStyle:{\"flex\":\"1\"}},[_c('a',{staticClass:\"proposal-view-documents-link\",on:{\"click\":function($event){return _vm.$emit('view-click')}}},[_vm._v(\" View \")])])])]),(!_vm.isDocument)?_c('div',{staticClass:\"proposal-hover-layer\",domProps:{\"textContent\":_vm._s('X')},on:{\"click\":function($event){return _vm.$emit('remove-proposal')}}}):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport '../../styles/proposal-tile.css'\r\nimport Vue from 'vue'\r\nimport moment from 'moment'\r\n\r\nexport default Vue.extend({\r\n data() {\r\n return {\r\n usePlaceholder: false,\r\n }\r\n },\r\n props: {\r\n isDocument: {\r\n type: Boolean,\r\n required: false,\r\n default: false,\r\n },\r\n title: {\r\n type: String,\r\n required: true,\r\n },\r\n updatedAt: {\r\n type: Date,\r\n required: false,\r\n },\r\n createdAt: {\r\n type: Date,\r\n required: false,\r\n },\r\n documentsCount: {\r\n type: Number,\r\n required: false,\r\n default: 0,\r\n },\r\n imageUrl: {\r\n type: String,\r\n required: false,\r\n },\r\n },\r\n mounted: async function () {\r\n try {\r\n const canLoadImage = await fetch(this.imageUrl)\r\n\r\n if (!canLoadImage.ok) this.usePlaceholder = true\r\n } catch {\r\n this.usePlaceholder = true\r\n }\r\n },\r\n methods: {\r\n formatDate: (date: string) => moment(date).format('MMM. DD YYYY'),\r\n },\r\n name: 'ProposalTile',\r\n})\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProposalTile.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProposalTile.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProposalTile.vue?vue&type=template&id=36ce24b0&\"\nimport script from \"./ProposalTile.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProposalTile.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-timeline',{attrs:{\"dense\":\"\"}},_vm._l((_vm.histories),function(history){return _c('v-timeline-item',{key:history.id,attrs:{\"small\":\"\"}},[_c('v-row',[_c('v-col',[_c('strong',[_c('a',{attrs:{\"href\":history.resourceLink}},[_vm._v(_vm._s(_vm.formatDate(history.productionDate)))])])])],1)],1)}),1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from 'vue'\r\nimport moment from 'moment'\r\n\r\nexport default Vue.extend({\r\n data() {\r\n return {\r\n histories: [],\r\n }\r\n },\r\n props: {\r\n id: {\r\n required: true,\r\n type: Number,\r\n },\r\n },\r\n methods: {\r\n formatDate: (date: Date) => moment.utc(date).fromNow(),\r\n refresh: async function () {\r\n this.histories = await (\r\n await fetch(`/api/proposals/${this.id}/history`)\r\n ).json()\r\n },\r\n },\r\n mounted: async function () {\r\n this.histories = await (\r\n await fetch(`/api/proposals/${this.id}/history`)\r\n ).json()\r\n },\r\n\r\n name: 'ProposalHistory',\r\n})\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProposalHistory.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProposalHistory.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProposalHistory.vue?vue&type=template&id=7faa81ff&\"\nimport script from \"./ProposalHistory.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProposalHistory.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTimeline } from 'vuetify/lib/components/VTimeline';\nimport { VTimelineItem } from 'vuetify/lib/components/VTimeline';\ninstallComponents(component, {VCol,VRow,VTimeline,VTimelineItem})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('Modal',{staticClass:\"common-modal\",attrs:{\"showModal\":_vm.showModal}},[_c('ModalBody',[_c('div',{staticClass:\"common-title\"},[_vm._v(\" Are you sure you want to remove \"+_vm._s(_vm.item)+\"? \")]),_c('div',{staticClass:\"common-actions-container\"},[_c('button',{staticClass:\"common-cancel-button\",on:{\"click\":function($event){return _vm.$emit('close')}}},[_vm._v(\" Cancel \")]),_c('button',{staticClass:\"common-delete-button\",on:{\"click\":function($event){return _vm.$emit('confirm')}}},[_c('CIcon',{attrs:{\"content\":_vm.trashIcon}}),_vm._v(\"Delete \")],1)])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.showModal)?_c('div',[_c('div',{staticClass:\"modal-mask\"}),_c('div',{staticClass:\"modal-wrapper\"},[_c(_vm.children,{tag:\"component\",staticClass:\"modal-container\"},[_vm._t(\"default\"),_c('div',{staticClass:\"modal-spacer\"})],2)],1)]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport '../../../styles/modal.css'\r\nimport Vue from 'vue'\r\n\r\nexport default Vue.extend({\r\n data() {\r\n return {}\r\n },\r\n props: {\r\n showModal: {\r\n type: Boolean,\r\n required: true,\r\n },\r\n children: {\r\n type: [String, Object],\r\n default: 'div',\r\n },\r\n },\r\n name: 'Modal',\r\n})\r\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Modal.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Modal.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Modal.vue?vue&type=template&id=7091a024&\"\nimport script from \"./Modal.vue?vue&type=script&lang=ts&\"\nexport * from \"./Modal.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm.children,{tag:\"div\",staticClass:\"modal-body\"},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\r\nimport Vue from 'vue'\r\n\r\nexport default Vue.extend({\r\n data() {\r\n return {}\r\n },\r\n props: {\r\n children: {\r\n type: [String, Object],\r\n default: 'div',\r\n },\r\n },\r\n name: 'ModalBody',\r\n})\r\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ModalBody.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ModalBody.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ModalBody.vue?vue&type=template&id=4b7459a8&\"\nimport script from \"./ModalBody.vue?vue&type=script&lang=ts&\"\nexport * from \"./ModalBody.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport '../../styles/common-modal.css'\r\nimport Modal from './modal/Modal.vue'\r\nimport ModalBody from './modal/ModalBody.vue'\r\nimport { CIcon } from '@coreui/icons-vue'\r\nimport { cidTrash } from '@coreui/icons-pro'\r\nimport Vue from 'vue'\r\n\r\nexport default Vue.extend({\r\n data() {\r\n return {\r\n trashIcon: cidTrash,\r\n }\r\n },\r\n props: {\r\n showModal: {\r\n type: Boolean,\r\n required: true,\r\n },\r\n item: {\r\n type: String,\r\n required: true,\r\n },\r\n },\r\n components: { Modal, ModalBody, CIcon },\r\n name: 'RemoveItemModal',\r\n})\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RemoveItemModal.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RemoveItemModal.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RemoveItemModal.vue?vue&type=template&id=4d67221a&\"\nimport script from \"./RemoveItemModal.vue?vue&type=script&lang=ts&\"\nexport * from \"./RemoveItemModal.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('Modal',{staticClass:\"upsert-proposal-modal\",attrs:{\"showModal\":_vm.showModal}},[_c('div',{staticClass:\"modal-header\"},[_c('div',{staticClass:\"modal-exit-icon\",on:{\"click\":function () { return _vm.close(undefined); }}},[_c('CIcon',{attrs:{\"content\":_vm.exitIcon}})],1)]),_c('ModalBody',[_c('div',{staticClass:\"upsert-proposal-title\"},[_vm._v(\" \"+_vm._s(_vm.editMode ? 'Update' : 'Create')+\" Your Proposal \")]),(!!_vm.imageData || _vm.proposal.imageUrl)?_c('img',{staticClass:\"upsert-proposal-populated-image\",attrs:{\"src\":_vm.imageData || _vm.proposal.imageUrl,\"alt\":\"\"},on:{\"click\":_vm.selectFile}}):_vm._e(),(!_vm.imageData && !_vm.proposal.imageUrl)?_c('div',{staticClass:\"upsert-proposal-image-container\",on:{\"click\":_vm.selectFile}},[_c('CIcon',{staticClass:\"upsert-proposal-image\",attrs:{\"content\":_vm.cameraIcon}})],1):_vm._e(),_c('input',{ref:\"fileinput\",staticStyle:{\"display\":\"none\"},attrs:{\"id\":\"file-input\",\"type\":\"file\",\"name\":\"name\",\"accept\":\"image/*\"}}),_c('v-container',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"error-messages\":_vm.titleErrors,\"label\":\"Title\",\"required\":\"\",\"outlined\":\"\",\"dense\":\"\"},on:{\"input\":function($event){return _vm.$v.title.$touch()},\"blur\":function($event){return _vm.$v.title.$touch()}},model:{value:(_vm.titleModel),callback:function ($$v) {_vm.titleModel=$$v},expression:\"titleModel\"}}),_c('SmallDisplay',{attrs:{\"title\":\"Add Documents\",\"loading\":_vm.loading},scopedSlots:_vm._u([{key:\"buttons\",fn:function(){return [_c('div',{staticClass:\"small-display-actions\"},[_c('button',{class:(\"small-display-action \" + (_vm.tab === 'mdResources' ? 'active' : '')),domProps:{\"textContent\":_vm._s('MD Resources')},on:{\"click\":function($event){_vm.tab = 'mdResources'}}}),_c('button',{class:(\"small-display-action \" + (_vm.tab === 'agentResources' ? 'active' : '')),domProps:{\"textContent\":_vm._s('Agent Resources')},on:{\"click\":function($event){_vm.tab = 'agentResources'}}})])]},proxy:true}])},[_c('div',{staticClass:\"upsert-proposal-possible-documents\"},_vm._l((_vm.tabDocuments),function(document){return _c('div',{key:((document.id) + \"-\" + (document.source))},[(!!document.documents)?_c('Folder',{attrs:{\"folder\":document,\"isRoot\":true,\"selectedDocuments\":_vm.selectedDocuments},on:{\"select-document\":_vm.selectDocument}}):_c('div',{staticClass:\"root-file\"},[_c('input',{attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":_vm.selectedDocuments.find(\n function (sd) { return sd.id === document.id &&\n sd.source === document.source; }\n )},on:{\"click\":function () { return _vm.selectDocument(document); }}}),_c('label',[_vm._v(_vm._s(document.name))])])],1)}),0)]),_c('SmallDisplay',{attrs:{\"title\":\"Selected Documents\"}},[_c('div',{staticClass:\"selected-documents-container\"},_vm._l((_vm.selectedDocuments),function(SDocument){return _c('div',{key:SDocument.id,staticClass:\"selected-document\",domProps:{\"textContent\":_vm._s(SDocument.name)}})}),0)])],1)],1)],1),_c('button',{staticClass:\"upsert-proposal-button\",attrs:{\"disabled\":_vm.saving},on:{\"click\":_vm.submit}},[_vm._v(\" \"+_vm._s(_vm.editMode ? 'UPDATE' : 'CREATE')+\" \")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"small-display\"},[_c('div',{staticClass:\"small-display-title\",domProps:{\"textContent\":_vm._s(_vm.title)}}),_vm._t(\"buttons\"),(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\",\"color\":\"#4A3046\"}}):_c(_vm.children,{tag:\"component\",staticClass:\"small-display-content\"},[_vm._t(\"default\")],2)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport '../../styles/small-display.css'\r\nimport Vue from 'vue'\r\n\r\nexport default Vue.extend({\r\n data() {\r\n return {}\r\n },\r\n props: {\r\n title: {\r\n type: String,\r\n required: true,\r\n },\r\n children: {\r\n type: [String, Object],\r\n default: 'div',\r\n },\r\n loading: {\r\n type: Boolean,\r\n required: false,\r\n },\r\n },\r\n name: 'SmallDisplay',\r\n})\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SmallDisplay.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SmallDisplay.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SmallDisplay.vue?vue&type=template&id=5fee7544&\"\nimport script from \"./SmallDisplay.vue?vue&type=script&lang=ts&\"\nexport * from \"./SmallDisplay.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\ninstallComponents(component, {VProgressLinear})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:(\"\" + (_vm.isRoot ? '' : 'folder'))},[_c('div',{staticClass:\"folder-name\"},[_c('CIcon',{attrs:{\"content\":_vm.folderIcon}}),_vm._v(\" \"+_vm._s(_vm.folder.name)+\" \")],1),(!!_vm.folder.documents.length)?_c('div',_vm._l((_vm.folder.documents),function(document){return _c('div',{key:document.id},[(document.documents)?_c('Folder',{attrs:{\"folder\":document,\"selectedDocuments\":_vm.selectedDocuments},on:{\"select-document\":_vm.selectDocument}}):_c('div',{staticClass:\"file\"},[_c('input',{attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":_vm.selectedDocuments.find(\n function (sd) { return sd.id === document.id && sd.source === document.source; }\n )},on:{\"click\":function($event){return _vm.$emit('select-document', document)}}}),_c('label',[_vm._v(_vm._s(document.name))])])],1)}),0):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport '../../styles/upsert-proposal-modal.css'\r\nimport Vue from 'vue'\r\nimport { CIcon } from '@coreui/icons-vue'\r\nimport { cilCamera, cilX, cilFolder } from '@coreui/icons-pro'\r\n\r\nimport { validationMixin } from 'vuelidate'\r\nimport { required } from 'vuelidate/lib/validators'\r\n\r\nimport Modal from '../general/modal/Modal.vue'\r\nimport ModalBody from '../general/modal/ModalBody.vue'\r\nimport SmallDisplay from '../general/SmallDisplay.vue'\r\nimport Folder from '../general/Folder.vue'\r\nimport { IValidationResult } from '../../util/IValidationResult'\r\n\r\nenum IDocumentSource {\r\n MDResource = 'MDResource',\r\n AgentResource = 'AgentResource',\r\n Report = 'Report',\r\n Other = 'Other',\r\n}\r\n\r\ninterface IDocument {\r\n id: number\r\n name?: string\r\n link?: string | undefined\r\n imageUrl?: string | undefined\r\n source: IDocumentSource\r\n documents?: IDocument[]\r\n}\r\n\r\ninterface IProposal {\r\n id: number\r\n title: string\r\n imageUrl: string | undefined\r\n documents?: IDocument[]\r\n numberOfChildren?: number\r\n}\r\n\r\ninterface IMDResource {\r\n id: number\r\n name: string\r\n parentId: number\r\n isDirectory: boolean\r\n imageUrl: string | undefined\r\n resourceLink: string | undefined\r\n}\r\n\r\ninterface IAgentResource {\r\n id: number\r\n name: string\r\n description: string\r\n imageUrl: string | undefined\r\n resourceLink: string | undefined\r\n}\r\n\r\nexport default Vue.extend({\r\n mixins: [validationMixin],\r\n validations: {\r\n title: { required },\r\n },\r\n data() {\r\n return {\r\n cameraIcon: cilCamera,\r\n exitIcon: cilX,\r\n folderIcon: cilFolder,\r\n title: '',\r\n imageData: '',\r\n\r\n tab: 'mdResources',\r\n tabs: ['mdResources', 'agentResources', 'reports'],\r\n errors: [],\r\n\r\n loading: true,\r\n saving: false,\r\n documents: {\r\n mdResources: [] as IDocument[],\r\n agentResources: [] as IDocument[],\r\n reports: [] as IDocument[],\r\n },\r\n selectedDocuments: [] as IDocument[],\r\n }\r\n },\r\n props: {\r\n showModal: {\r\n type: Boolean,\r\n required: true,\r\n },\r\n editMode: {\r\n type: Boolean,\r\n required: false,\r\n default: false,\r\n },\r\n proposal: {\r\n type: Object,\r\n required: false,\r\n default: null,\r\n },\r\n },\r\n watch: {\r\n proposal: function (val) {\r\n if (val.id) {\r\n this.title = val.title\r\n this.selectedDocuments = val.selectedDocuments\r\n } else {\r\n this.title = ''\r\n this.selectedDocuments = []\r\n }\r\n },\r\n },\r\n mounted: async function () {\r\n await this.populateMDResources()\r\n await this.populateAgentResources()\r\n this.loading = false\r\n },\r\n updated: function () {\r\n if (this.$refs.fileinput) {\r\n ;(this.$refs.fileinput as HTMLInputElement).onchange = () => {\r\n const files = (this.$refs.fileinput as HTMLInputElement).files\r\n\r\n if (files && files.length > 0) {\r\n const file = files[0]\r\n if (file) {\r\n this.imageData = URL.createObjectURL(file)\r\n }\r\n }\r\n }\r\n }\r\n },\r\n methods: {\r\n populateMDResources: async function () {\r\n const pullDocuments = async (id?: number): Promise => {\r\n const compiledDocuments: IDocument[] = []\r\n const resources: IMDResource[] = await (\r\n await fetch(`/api/mdresources${id ? `?parentId=${id}` : ''}`)\r\n ).json()\r\n\r\n for (const resource of resources) {\r\n const document: IDocument = {\r\n id: resource.id,\r\n name: resource.name,\r\n imageUrl: resource.imageUrl,\r\n link: resource.resourceLink,\r\n source: IDocumentSource.MDResource,\r\n }\r\n\r\n if (resource.isDirectory)\r\n document.documents = await pullDocuments(resource.id)\r\n\r\n compiledDocuments.push(document)\r\n }\r\n\r\n return compiledDocuments\r\n }\r\n\r\n this.documents.mdResources = await pullDocuments()\r\n },\r\n populateAgentResources: async function () {\r\n const compiledDocuments: IDocument[] = []\r\n const resources: IAgentResource[] = await (\r\n await fetch(`/api/agentresources`)\r\n ).json()\r\n\r\n for (const resource of resources) {\r\n const document: IDocument = {\r\n id: resource.id,\r\n name: resource.name,\r\n imageUrl: resource.imageUrl,\r\n link: resource.resourceLink,\r\n source: IDocumentSource.AgentResource,\r\n }\r\n\r\n compiledDocuments.push(document)\r\n }\r\n\r\n this.documents.agentResources = compiledDocuments\r\n },\r\n selectDocument: function (document: IDocument) {\r\n const existingDocument = this.selectedDocuments.find(\r\n (value) => value.id === document.id && value.source === document.source\r\n )\r\n\r\n if (existingDocument) {\r\n this.selectedDocuments = this.selectedDocuments.filter(\r\n (sd) => sd.id !== document.id || sd.source !== document.source\r\n )\r\n } else {\r\n this.selectedDocuments.push(document)\r\n }\r\n },\r\n submit: async function () {\r\n // TODO: Show error message if the selected documents are emtpy\r\n if (this.$v.title.$invalid || !this.selectDocument.length) {\r\n this.$v.$touch()\r\n return\r\n }\r\n\r\n this.saving = true\r\n\r\n const result = await fetch(\r\n `/api/proposals${this.editMode ? `/${this.proposal.id}` : ''}`,\r\n {\r\n method: this.editMode ? 'PUT' : 'POST',\r\n body: JSON.stringify({\r\n title: this.title,\r\n documents: this.selectedDocuments,\r\n }),\r\n headers: {\r\n 'Content-type': 'application/json; charset=UTF-8',\r\n },\r\n }\r\n )\r\n\r\n if (!result.ok) {\r\n this.errors = (await result.json()).map(\r\n (x: IValidationResult) => x.errorMessage\r\n )\r\n } else {\r\n const body = await result.json()\r\n const files = (this.$refs.fileinput as HTMLInputElement).files\r\n if (files && files.length > 0) {\r\n const file = files[0]\r\n if (file) {\r\n const uploadImageUrl = body.uploadImageUrl\r\n await fetch(uploadImageUrl, {\r\n method: 'PUT',\r\n body: file,\r\n headers: {\r\n 'Content-Type': 'image/png',\r\n 'x-ms-blob-type': 'BlockBlob',\r\n },\r\n })\r\n }\r\n }\r\n\r\n this.close({ ...body, numberOfChildren: this.selectedDocuments.length })\r\n }\r\n\r\n this.saving = false\r\n },\r\n selectFile: async function (): Promise {\r\n ;(this.$refs.fileinput as HTMLInputElement).click()\r\n },\r\n close: function (data: IProposal | undefined) {\r\n this.title = ''\r\n this.imageData = ''\r\n this.selectedDocuments = []\r\n\r\n this.$v.$reset()\r\n this.$emit('close', data)\r\n },\r\n },\r\n computed: {\r\n tabDocuments() {\r\n const vueInstance = this as any\r\n let activeDocuments: IDocument[] = []\r\n\r\n if (vueInstance.documents[vueInstance.tab].length)\r\n activeDocuments = vueInstance.documents[vueInstance.tab]\r\n\r\n return activeDocuments\r\n },\r\n titleErrors() {\r\n const vueInstance = this as any\r\n if (!vueInstance.titleModel) {\r\n return ['Title is required']\r\n }\r\n return []\r\n },\r\n titleModel: {\r\n get() {\r\n const vueInstance = this as any\r\n\r\n if (vueInstance.editMode) {\r\n return vueInstance.proposal.title || vueInstance.title\r\n }\r\n\r\n return vueInstance.title\r\n },\r\n set(value) {\r\n ;(this as any).title = value\r\n },\r\n },\r\n },\r\n components: { CIcon, Modal, ModalBody, SmallDisplay, Folder },\r\n name: 'UpsertProposalModal',\r\n})\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from 'vue'\r\nimport { CIcon } from '@coreui/icons-vue'\r\nimport { cilFolder } from '@coreui/icons-pro'\r\nimport '../../styles/folder.css'\r\n\r\nexport default Vue.extend({\r\n name: 'Folder',\r\n data() {\r\n return {\r\n folderIcon: cilFolder,\r\n }\r\n },\r\n props: {\r\n selectedDocuments: {\r\n type: [],\r\n required: true,\r\n },\r\n folder: {\r\n type: Object,\r\n required: true,\r\n },\r\n isRoot: {\r\n type: Boolean,\r\n required: false,\r\n default: false,\r\n },\r\n },\r\n methods: {\r\n selectDocument: function (document: any) {\r\n this.$emit('select-document', document)\r\n },\r\n },\r\n computed: {},\r\n components: { CIcon },\r\n})\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Folder.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Folder.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Folder.vue?vue&type=template&id=624ab314&\"\nimport script from \"./Folder.vue?vue&type=script&lang=ts&\"\nexport * from \"./Folder.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UpsertProposalModal.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UpsertProposalModal.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UpsertProposalModal.vue?vue&type=template&id=52475b84&\"\nimport script from \"./UpsertProposalModal.vue?vue&type=script&lang=ts&\"\nexport * from \"./UpsertProposalModal.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCol,VContainer,VRow,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('Modal',{staticClass:\"common-modal\",attrs:{\"showModal\":_vm.showModal}},[_c('ModalBody',[_c('div',{staticClass:\"common-title\"},[_vm._v(\" Are you sure you don't want to save your changes? \")]),_c('div',{staticClass:\"common-actions-container\"},[_c('button',{staticClass:\"common-cancel-button\",on:{\"click\":function($event){return _vm.$emit('close')}}},[_vm._v(\" Cancel \")]),_c('button',{staticClass:\"common-confirm-button\",on:{\"click\":function($event){return _vm.$emit('confirm')}}},[_vm._v(\" Confirm \")])])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport '../../styles/common-modal.css'\r\nimport Modal from './modal/Modal.vue'\r\nimport ModalBody from './modal/ModalBody.vue'\r\nimport Vue from 'vue'\r\n\r\nexport default Vue.extend({\r\n data() {\r\n return {}\r\n },\r\n props: {\r\n showModal: {\r\n type: Boolean,\r\n required: true,\r\n },\r\n },\r\n components: { Modal, ModalBody },\r\n name: 'PendingChangeModal',\r\n})\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./PendingChangeModal.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./PendingChangeModal.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PendingChangeModal.vue?vue&type=template&id=4caba31c&\"\nimport script from \"./PendingChangeModal.vue?vue&type=script&lang=ts&\"\nexport * from \"./PendingChangeModal.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport '../styles/proposals.css'\r\nimport { Vue } from 'vue-property-decorator'\r\nimport { CIcon } from '@coreui/icons-vue'\r\nimport { cilPlus } from '@coreui/icons-pro'\r\n\r\nimport draggable from 'vuedraggable'\r\nimport ScreenTile from '../components/ScreenTile.vue'\r\nimport ProposalTile from '../components/proposal/ProposalTile.vue'\r\nimport ProposalHistory from '../components/proposal/ProposalHistory.vue'\r\n\r\nimport RemoveItemModal from '../components/general/RemoveItemModal.vue'\r\nimport UpsertProposalModal from '../components/proposal/UpsertProposalModal.vue'\r\nimport PendingChangeModal from '../components/general/PendingChangeModal.vue'\r\n\r\ninterface IProposal {\r\n id: number\r\n title: string\r\n imageUrl: string | undefined\r\n updatedDate: string\r\n createdDate: string\r\n numberOfChildren: number\r\n}\r\n\r\ninterface IProposalDocument {\r\n id: number\r\n documentId: number\r\n name: string\r\n imageUrl: string | undefined\r\n resourceLink: string | undefined\r\n createdDate: string\r\n source: string\r\n}\r\n\r\nexport default Vue.extend({\r\n components: {\r\n ScreenTile,\r\n ProposalTile,\r\n UpsertProposalModal,\r\n RemoveItemModal,\r\n PendingChangeModal,\r\n CIcon,\r\n draggable,\r\n ProposalHistory,\r\n },\r\n data: function () {\r\n return {\r\n loading: true,\r\n loadingDetails: false,\r\n proposals: [] as IProposal[],\r\n\r\n originalOrder: [] as IProposalDocument[],\r\n proposalDocuments: [] as IProposalDocument[],\r\n\r\n viewItem: {} as IProposal,\r\n removeItem: {} as IProposal,\r\n\r\n showModal: false,\r\n showRemoveModal: false,\r\n showPendingChangeModal: false,\r\n hasReorderedDocuments: false,\r\n\r\n addIcon: cilPlus,\r\n\r\n currentTab: 0,\r\n producing: false,\r\n }\r\n },\r\n mounted: async function () {\r\n this.proposals = await (await fetch(`/api/proposals`)).json()\r\n this.loading = false\r\n },\r\n computed: {\r\n areDocumentInOriginalOrder(): boolean {\r\n if (!this.hasReorderedDocuments) return true\r\n\r\n let isSameOrder = true\r\n\r\n for (let index = 0; index < this.originalOrder.length; index++) {\r\n if (isSameOrder) {\r\n const oOPD = this.originalOrder[index]\r\n const cOPD = this.proposalDocuments[index]\r\n\r\n if (oOPD.id !== cOPD.id || oOPD.source !== cOPD.source)\r\n isSameOrder = false\r\n }\r\n }\r\n\r\n return isSameOrder\r\n },\r\n },\r\n methods: {\r\n updateOrder: async function () {\r\n // console.log('Updating order of proposal documents')\r\n\r\n try {\r\n const result = await fetch(`/api/proposals/${this.viewItem.id}`, {\r\n method: 'PUT',\r\n body: JSON.stringify({\r\n title: this.viewItem.title,\r\n documents: this.proposalDocuments.map((proposalDocument) => ({\r\n id: proposalDocument.documentId,\r\n name: proposalDocument.name,\r\n source: proposalDocument.source,\r\n })),\r\n }),\r\n headers: {\r\n 'Content-type': 'application/json; charset=UTF-8',\r\n },\r\n })\r\n\r\n // TODO: show an error toast\r\n if (!result.ok) {\r\n // console.log('Failed to update the order of the proposal documents')\r\n }\r\n } catch {\r\n // console.log('Failed to update the order of the proposal documents')\r\n }\r\n\r\n this.hasReorderedDocuments = false\r\n },\r\n upsertProposal: function (item: IProposal) {\r\n if (item) {\r\n if (this.viewItem?.id)\r\n this.proposals = this.proposals.filter(\r\n (proposal) => proposal.id !== item.id\r\n )\r\n this.proposals.push(item)\r\n }\r\n\r\n this.showModal = false\r\n this.changeView(null)\r\n },\r\n confirmChange: async function () {\r\n if (this.areDocumentInOriginalOrder) this.changeView(null)\r\n else this.showPendingChangeModal = true\r\n },\r\n changeView: async function (id: number | null) {\r\n if (id === null) {\r\n this.showPendingChangeModal = false\r\n this.hasReorderedDocuments = false\r\n this.viewItem = {} as IProposal\r\n this.proposalDocuments = []\r\n this.originalOrder = []\r\n } else {\r\n this.loadingDetails = true\r\n\r\n this.viewItem =\r\n this.proposals.find((proposal) => proposal.id === id) ??\r\n ({} as IProposal)\r\n this.proposalDocuments = await (\r\n await fetch(`/api/proposals/${id}/documents`)\r\n ).json()\r\n\r\n this.loadingDetails = false\r\n }\r\n },\r\n produce: async function () {\r\n this.producing = true\r\n await fetch(`/api/proposals/${this.viewItem.id}/produce`, {\r\n method: 'POST',\r\n })\r\n // move to history tab\r\n if (this.$refs.propHistory) {\r\n ;(this.$refs.propHistory as any).refresh()\r\n }\r\n this.producing = false\r\n this.currentTab = 1\r\n },\r\n removeProposal: async function (id: number | null) {\r\n if (id === null) {\r\n // console.log('Someone tried to remove nothing')\r\n return\r\n }\r\n\r\n this.showRemoveModal = false\r\n this.loading = true\r\n\r\n await fetch(`/api/proposals/${id}`, { method: 'DELETE' })\r\n\r\n this.proposals = this.proposals.filter((proposal) => proposal.id !== id)\r\n this.loading = false\r\n },\r\n openDocument: async function (document: IProposalDocument) {\r\n // TODO: Show a toast or some other message when errors happen\r\n try {\r\n const canOpenResource = await fetch(`${document.resourceLink}`)\r\n\r\n if (canOpenResource.ok) {\r\n // console.log('opening ' + document.resourceLink)\r\n window.open(document.resourceLink)\r\n } else {\r\n // console.log('Was unable to open resource' + document.resourceLink)\r\n }\r\n } catch {\r\n // console.log('Was unable to open resource' + document.resourceLink)\r\n }\r\n },\r\n },\r\n})\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Proposals.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Proposals.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Proposals.vue?vue&type=template&id=481a6721&\"\nimport script from \"./Proposals.vue?vue&type=script&lang=ts&\"\nexport * from \"./Proposals.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabItem } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\nimport { VTabsItems } from 'vuetify/lib/components/VTabs';\ninstallComponents(component, {VProgressLinear,VTab,VTabItem,VTabs,VTabsItems})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('ScreenTile',{attrs:{\"title\":\"MD Resources\",\"subTitle\":\"Agent Portal\"},scopedSlots:_vm._u([{key:\"buttons\",fn:function(){return [_c('div',[(_vm.user.isAdministrator)?_c('button',{staticClass:\"screen-action\",on:{\"click\":_vm.addResource}},[_c('CIcon',{attrs:{\"content\":_vm.mdresourceAddIcon}}),_vm._v(\" Add Resource \")],1):_vm._e(),(_vm.user.isAdministrator)?_c('button',{staticClass:\"screen-action\",on:{\"click\":_vm.resetResources}},[_c('CIcon',{attrs:{\"content\":_vm.mdresourceResetIcon}}),_vm._v(\" Delete All Resources \")],1):_vm._e()])]},proxy:true}])},[_c('div',{staticStyle:{\"width\":\"100%\"}},[_c('v-text-field',{staticClass:\"search-box\",attrs:{\"hint\":\"You can search by name\",\"label\":\"Search\"},on:{\"input\":_vm.onSearch},model:{value:(_vm.searchText),callback:function ($$v) {_vm.searchText=$$v},expression:\"searchText\"}}),_c('div',[_c('Breadcrumbs',{attrs:{\"routes\":_vm.routes},on:{\"click\":_vm.recurseUpTo}})],1)],1),(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\",\"color\":\"#4A3046\"}}):_vm._e(),_c('AddMDResourceModal',{attrs:{\"showModal\":_vm.showModal,\"type\":_vm.updateType,\"parentId\":_vm.parentId,\"resource\":_vm.editItem},on:{\"close\":_vm.resourceAdded}}),(_vm.deleteItem)?_c('RemoveItemModal',{attrs:{\"showModal\":!!_vm.showDeleteModal && !!_vm.deleteItem,\"item\":_vm.deleteItem.isDirectory\n ? ((_vm.deleteItem.name) + \" and all its contents\")\n : (\"\" + (_vm.deleteItem.name))},on:{\"close\":function () {\n _vm.showDeleteModal = false\n _vm.deleteItem = undefined\n },\"confirm\":_vm.deleteItemOnServer}}):_vm._e(),_c('RemoveItemModal',{attrs:{\"showModal\":!!_vm.showResetModal,\"item\":\"all items\"},on:{\"close\":function () {\n _vm.showResetModal = false\n },\"confirm\":_vm.resetResourcesOnServer}}),_c('div',{staticClass:\"tile-display\"},[(_vm.filteredMDResources.length === 0)?_c('div',{staticClass:\"empty-directory\"},[_vm._v(\" This directory is empty \")]):_vm._e(),_vm._l((_vm.filteredSortedMDResources),function(curResource){return _c('div',{key:curResource.id},[(curResource.isDirectory)?_c('ResourceDirectoryTile',{attrs:{\"id\":curResource.id,\"title\":curResource.name,\"cardIconUrl\":curResource.imageUrl,\"lastUpdated\":new Date(curResource.updatedDate),\"favorite\":curResource.favorite,\"numberOfDocuments\":curResource.numberOfChildren,\"isAdministrator\":_vm.user.isAdministrator,\"searchPath\":curResource.searchPath},on:{\"view-click\":function($event){return _vm.descendIntoDirectory(curResource.id)},\"toggle-favorite\":_vm.toggleFavorite,\"delete-resource\":_vm.deleteResource,\"edit-resource\":_vm.editResource}}):_vm._e()],1)})],2),_c('div',[_c('ul',{staticClass:\"file-list\"},_vm._l((_vm.filteredSortedMDResources),function(curResource){return _c('li',{key:curResource.id},[(!curResource.isDirectory)?_c('ResourceRow',{key:curResource.id,attrs:{\"id\":curResource.id,\"title\":curResource.name,\"description\":(new Date(curResource.createdDate)).toString(),\"favorite\":curResource.favorite !== null,\"favoriteId\":curResource.favorite !== null ? curResource.favorite.id : null,\"imageUrl\":curResource.imageUrl,\"isAdministrator\":_vm.user.isAdministrator,\"searchPath\":curResource.searchPath},on:{\"view-click\":_vm.openDocument,\"toggle-favorite\":_vm.toggleFavorite,\"delete-resource\":_vm.deleteResource,\"edit-resource\":_vm.editResource}}):_vm._e()],1)}),0)])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('Modal',{staticClass:\"add-mdresource-modal\",attrs:{\"showModal\":_vm.showModal}},[_c('div',{staticClass:\"modal-header\"},[_c('div',{staticClass:\"modal-exit-icon\",on:{\"click\":_vm.close}},[_c('CIcon',{attrs:{\"content\":_vm.exitIcon}})],1)]),_c('ModalBody',[_c('div',{staticClass:\"add-mdresource-title\"},[_vm._v(\" \"+_vm._s(_vm.type === 'add' ? 'Add' : 'Edit')+\" Resource \")]),(!!_vm.imageData)?_c('img',{staticClass:\"add-mdresource-populated-image\",attrs:{\"src\":_vm.imageData,\"alt\":\"\"},on:{\"click\":_vm.selectFile}}):_vm._e(),(!_vm.imageData)?_c('div',{staticClass:\"add-mdresource-image-container\",on:{\"click\":_vm.selectFile}},[_c('CIcon',{staticClass:\"add-mdresource-image\",attrs:{\"content\":_vm.imageIcon}})],1):_vm._e(),_c('input',{ref:\"imagefileinput\",staticStyle:{\"display\":\"none\"},attrs:{\"id\":\"image-file-input\",\"type\":\"file\",\"name\":\"name\",\"accept\":\"image/*\"}}),_c('v-container',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"error-messages\":_vm.nameErrors,\"label\":\"Name\",\"required\":\"\",\"outlined\":\"\"},model:{value:(_vm.name),callback:function ($$v) {_vm.name=$$v},expression:\"name\"}}),_c('v-switch',{attrs:{\"label\":\"Is a directory\"},model:{value:(_vm.isDirectory),callback:function ($$v) {_vm.isDirectory=$$v},expression:\"isDirectory\"}}),(!_vm.isDirectory)?_c('v-file-input',{ref:\"resourceFileInput\",attrs:{\"label\":\"Resource File\",\"outlined\":\"\",\"show-size\":\"\",\"accept\":\".pdf,.zip\"},model:{value:(_vm.resourceFile),callback:function ($$v) {_vm.resourceFile=$$v},expression:\"resourceFile\"}}):_vm._e(),(\n _vm.resourceFile &&\n _vm.resourceFile.name.toLowerCase().endsWith('.zip')\n )?_c('v-alert',{attrs:{\"border\":\"bottom\",\"colored-border\":\"\",\"type\":\"info\"}},[_vm._v(\" When uploading a zip file it will be expanded and the contents will be added rather than the actual zip file. It may take a moment to process before files are visible. \")]):_vm._e()],1)],1)],1),(_vm.errors && _vm.errors.length > 0)?_c('v-alert',{staticClass:\"validation-errors\",attrs:{\"border\":\"bottom\",\"colored-border\":\"\",\"type\":\"error\",\"elevation\":\"2\"}},[_c('ul',_vm._l((_vm.errors),function(err){return _c('li',{key:err},[_vm._v(_vm._s(err))])}),0)]):_vm._e(),_c('button',{staticClass:\"add-mdresource-button\",attrs:{\"disabled\":_vm.saving},on:{\"click\":_vm.add}},[_vm._v(\" \"+_vm._s(_vm.type === 'add' ? 'ADD' : 'UPDATE')+\" \")]),(_vm.saving)?_c('v-progress-linear',{staticStyle:{\"margin-top\":\"10px\"},attrs:{\"indeterminate\":\"\",\"color\":\"#4A3046\"}}):_vm._e()],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport '../styles/add-mdresource-modal.css'\r\nimport Vue from 'vue'\r\nimport Modal from './general/modal/Modal.vue'\r\nimport ModalBody from './general/modal/ModalBody.vue'\r\nimport { CIcon } from '@coreui/icons-vue'\r\nimport { cilX, cilImage } from '@coreui/icons-pro'\r\n\r\nimport { validationMixin } from 'vuelidate'\r\nimport { required } from 'vuelidate/lib/validators'\r\n\r\nimport { IValidationResult } from '../util/IValidationResult'\r\nimport * as mime from 'mime-types'\r\n\r\nexport default Vue.extend({\r\n mixins: [validationMixin],\r\n validations: {\r\n name: { required },\r\n },\r\n name: 'AddMDResourceModal',\r\n data() {\r\n return {\r\n saving: false,\r\n errors: [],\r\n imageData: '',\r\n\r\n name: '',\r\n isDirectory: false,\r\n\r\n exitIcon: cilX,\r\n imageIcon: cilImage,\r\n resourceFile: null as any,\r\n }\r\n },\r\n components: { CIcon, Modal, ModalBody },\r\n props: {\r\n showModal: {\r\n type: Boolean,\r\n required: true,\r\n },\r\n parentId: {\r\n type: Number,\r\n required: false,\r\n },\r\n type: {\r\n type: String,\r\n required: true,\r\n },\r\n resource: {\r\n type: Object,\r\n required: false,\r\n },\r\n },\r\n watch: {\r\n resource: {\r\n immediate: true,\r\n deep: true,\r\n handler(val) {\r\n if (val) {\r\n this.name = val.name\r\n this.isDirectory = val.isDirectory\r\n this.imageData = val.imageData\r\n }\r\n },\r\n },\r\n },\r\n updated: function () {\r\n if (this.$refs.imagefileinput) {\r\n ;(this.$refs.imagefileinput as HTMLInputElement).onchange = () => {\r\n const files = (this.$refs.imagefileinput as HTMLInputElement).files\r\n if (files && files.length > 0) {\r\n const file = files[0]\r\n if (file) {\r\n this.imageData = URL.createObjectURL(file)\r\n }\r\n }\r\n }\r\n }\r\n },\r\n methods: {\r\n close: function () {\r\n this.name = ''\r\n this.imageData = ''\r\n this.isDirectory = false\r\n this.resourceFile = null\r\n\r\n this.$v.$reset()\r\n this.$emit('close')\r\n },\r\n add: async function () {\r\n this.saving = true\r\n\r\n if (this.$v.name.$invalid) {\r\n this.$v.$touch()\r\n this.saving = false\r\n return\r\n }\r\n const result = await fetch('/api/mdresources', {\r\n method: this.type === 'add' ? 'POST' : 'PUT',\r\n body: JSON.stringify({\r\n name: this.name,\r\n isDirectory: this.isDirectory,\r\n parentId: this.parentId,\r\n isZipFile:\r\n !!this.resourceFile &&\r\n this.resourceFile.name.toLowerCase().endsWith('.zip'),\r\n id: this.resource?.id,\r\n }),\r\n headers: {\r\n 'Content-type': 'application/json; charset=UTF-8',\r\n },\r\n })\r\n if (!result.ok) {\r\n this.errors = (await result.json()).map(\r\n (x: IValidationResult) => x.errorMessage\r\n )\r\n } else {\r\n const body = await result.json()\r\n const files = (this.$refs.imagefileinput as HTMLInputElement).files\r\n if (files && files.length > 0) {\r\n const file = files[0]\r\n if (file) {\r\n const uploadImageUrl = body.uploadImageUrl\r\n await fetch(uploadImageUrl, {\r\n method: 'PUT',\r\n body: file,\r\n headers: {\r\n 'Content-Type': 'image/png',\r\n 'x-ms-blob-type': 'BlockBlob',\r\n },\r\n })\r\n }\r\n }\r\n\r\n if (this && this.resourceFile && this.resourceFile.name) {\r\n const uploadImageUrl = body.uploadResourceLink\r\n await fetch(uploadImageUrl, {\r\n method: 'PUT',\r\n body: this.resourceFile,\r\n headers: {\r\n 'Content-Type': mime.lookup(this.resourceFile.name) as string,\r\n 'x-ms-blob-type': 'BlockBlob',\r\n 'x-ms-blob-content-disposition': `attachment; filename=\"${\r\n this.resourceFile.name as string\r\n }\"`,\r\n },\r\n })\r\n }\r\n }\r\n\r\n this.saving = false\r\n this.close()\r\n },\r\n selectFile: async function () {\r\n ;(this.$refs.imagefileinput as HTMLInputElement).click()\r\n },\r\n },\r\n computed: {\r\n nameErrors(): string[] {\r\n const errors: string[] = []\r\n if (this.$v.name.$error) errors.push('Name is required')\r\n return errors\r\n },\r\n },\r\n})\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AddMDResourceModal.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AddMDResourceModal.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddMDResourceModal.vue?vue&type=template&id=303e7f9c&\"\nimport script from \"./AddMDResourceModal.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddMDResourceModal.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VFileInput } from 'vuetify/lib/components/VFileInput';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VAlert,VCol,VContainer,VFileInput,VProgressLinear,VRow,VSwitch,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',_vm._l((_vm.routes),function(item){return _c('span',{key:item.id},[_c('a',{staticClass:\"breadcrumb-link\",attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.onClick(item.id)}}},[_vm._v(_vm._s(item.name))]),_vm._v(\"/ \")])}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n {{\r\n item.name\r\n }}/\r\n \r\n \r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Breadcrumbs.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Breadcrumbs.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Breadcrumbs.vue?vue&type=template&id=739e3f9a&\"\nimport script from \"./Breadcrumbs.vue?vue&type=script&lang=js&\"\nexport * from \"./Breadcrumbs.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"resource-row\"},[(_vm.isAdministrator && this.$listeners['edit-resource'])?_c('span',{staticClass:\"resource-edit\",on:{\"click\":_vm.onEditClick}},[_c('CIcon',{attrs:{\"content\":_vm.editIcon}})],1):_vm._e(),(_vm.isAdministrator && this.$listeners['delete-resource'])?_c('span',{staticClass:\"resource-delete\",on:{\"click\":_vm.onDeleteClick}},[_c('CIcon',{attrs:{\"content\":_vm.deleteIcon}})],1):_vm._e(),_c('span',{staticClass:\"resource-favorite\",on:{\"click\":_vm.onFavoriteClick}},[(!!_vm.favorite)?_c('CIcon',{staticStyle:{\"color\":\"#fff259\"},attrs:{\"content\":_vm.favoritedStarIcon}}):_c('CIcon',{attrs:{\"content\":_vm.standardStarIcon}})],1),_c('a',{staticClass:\"view-link\",attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.$emit('view-click', _vm.id)}}},[_vm._v(_vm._s(_vm.searchPath ? _vm.searchPath : _vm.title))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport '../styles/resource-tile.css'\r\nimport { CIcon } from '@coreui/icons-vue'\r\nimport { cisStar, cilStar, cilTrash, cilPencil } from '@coreui/icons-pro'\r\nimport Vue from 'vue'\r\n\r\nexport default Vue.extend({\r\n data(): {\r\n usePlaceholder: boolean\r\n favoritedStarIcon: any[]\r\n standardStarIcon: any[]\r\n deleteIcon: any[]\r\n editIcon: any[]\r\n } {\r\n return {\r\n usePlaceholder: false,\r\n favoritedStarIcon: cisStar,\r\n standardStarIcon: cilStar,\r\n deleteIcon: cilTrash,\r\n editIcon: cilPencil,\r\n }\r\n },\r\n props: {\r\n id: {\r\n type: Number,\r\n required: false,\r\n },\r\n title: {\r\n type: String,\r\n required: true,\r\n },\r\n description: {\r\n type: String,\r\n required: false,\r\n },\r\n favorite: {\r\n type: Boolean,\r\n required: false,\r\n },\r\n favoriteId: {\r\n type: Number,\r\n required: false,\r\n },\r\n imageUrl: {\r\n type: String,\r\n required: false,\r\n },\r\n isAdministrator: {\r\n type: Boolean,\r\n required: true,\r\n },\r\n path: {\r\n type: String,\r\n required: false,\r\n },\r\n searchPath: {\r\n type: String,\r\n required: false,\r\n },\r\n },\r\n mounted: async function () {\r\n try {\r\n if (!this.imageUrl) {\r\n this.usePlaceholder = true\r\n return\r\n }\r\n const canLoadImage = await fetch(this.imageUrl)\r\n\r\n if (!canLoadImage.ok) this.usePlaceholder = true\r\n } catch {\r\n this.usePlaceholder = true\r\n }\r\n },\r\n methods: {\r\n onFavoriteClick(): void {\r\n this.$emit('toggle-favorite', {\r\n favoriteId: this.favoriteId,\r\n id: this.id,\r\n path: this.path,\r\n })\r\n },\r\n onDeleteClick(): void {\r\n this.$emit('delete-resource', this.id)\r\n },\r\n onEditClick(): void {\r\n this.$emit('edit-resource', this.id)\r\n },\r\n },\r\n name: 'ResourceRow',\r\n components: { CIcon },\r\n})\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ResourceRow.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ResourceRow.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ResourceRow.vue?vue&type=template&id=0b4d1d88&\"\nimport script from \"./ResourceRow.vue?vue&type=script&lang=ts&\"\nexport * from \"./ResourceRow.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport '../styles/md-resources.css'\r\nimport { Vue } from 'vue-property-decorator'\r\nimport { CIcon } from '@coreui/icons-vue'\r\nimport { cilFileAdd, cilQueueRemove } from '@coreui/icons-pro'\r\nimport ScreenTile from '../components/ScreenTile.vue'\r\nimport AddMDResourceModal from '../components/AddMDResourceModal.vue'\r\nimport Breadcrumbs from '../components/general/Breadcrumbs.vue'\r\nimport RemoveItemModal from '../components/general/RemoveItemModal.vue'\r\nimport { mapState } from 'vuex'\r\nimport ResourceDirectoryTile from '../components/ResourceDirectoryTile.vue'\r\nimport ResourceRow from '../components/ResourceRow.vue'\r\n\r\ninterface IFavorite {\r\n id: number\r\n username: string\r\n mddocumentId: number\r\n reportId: number\r\n}\r\n\r\ninterface IMDResource {\r\n id: number\r\n name: string\r\n imageUrl: string | undefined\r\n resourceLink: string | undefined\r\n isDirectory: boolean\r\n parentId: number\r\n favorite: IFavorite | null\r\n updatedDate: string\r\n createdDate: string\r\n numberOfChildren: number\r\n searchPath: string\r\n searchIdPath: string\r\n}\r\n\r\ninterface IModel {\r\n loading: boolean\r\n showModal: boolean\r\n showDeleteModal: boolean\r\n showResetModal: boolean\r\n deleteItem: IMDResource | undefined\r\n searchText: string\r\n mdresources: IMDResource[]\r\n favorites: IFavorite[]\r\n parentId: number | undefined\r\n routes: any[]\r\n mdresourceAddIcon: any[]\r\n mdresourceResetIcon: any[]\r\n updateType: string\r\n editItem: IMDResource | undefined\r\n onSearchId: number | undefined\r\n}\r\n\r\nexport default Vue.extend({\r\n data: function (): IModel {\r\n return {\r\n loading: true,\r\n favorites: [] as IFavorite[],\r\n mdresources: [] as IMDResource[],\r\n showDeleteModal: false,\r\n showResetModal: false,\r\n deleteItem: undefined,\r\n showModal: false,\r\n mdresourceAddIcon: cilFileAdd,\r\n mdresourceResetIcon: cilQueueRemove,\r\n searchText: '',\r\n updateType: 'add',\r\n parentId: undefined as number | undefined,\r\n routes: [{ id: undefined, name: 'MD Resources' }] as {\r\n id: number | undefined\r\n name: string\r\n }[],\r\n editItem: undefined as IMDResource | undefined,\r\n onSearchId: undefined as number | undefined,\r\n }\r\n },\r\n methods: {\r\n resourceAdded: async function () {\r\n this.loading = true\r\n this.showModal = false\r\n\r\n await this.loadResources()\r\n\r\n this.loading = false\r\n },\r\n recurseUpTo: async function (id: number) {\r\n this.loading = true\r\n const indexOfRoute = this.routes.findIndex((x) => x.id === id)\r\n this.routes = this.routes.slice(0, indexOfRoute + 1)\r\n this.parentId = this.routes[this.routes.length - 1]?.id\r\n await this.loadResources()\r\n\r\n this.loading = false\r\n },\r\n descendIntoDirectory: async function (id: number) {\r\n this.loading = true\r\n const mdResource = this.mdresources.find((x) => x.id === id)\r\n if (mdResource && mdResource.parentId != this.parentId) {\r\n const idArr = mdResource.searchIdPath.split(' / ')\r\n const pathArr = mdResource.searchPath.split(' / ')\r\n for (let i = 0; i < idArr.length; i++) {\r\n this.routes.push({\r\n id: idArr[i],\r\n name: pathArr[i],\r\n })\r\n }\r\n } else {\r\n this.routes.push({\r\n id,\r\n name: this.mdresources.find((x) => x.id === id)?.name ?? '',\r\n })\r\n }\r\n this.parentId = id\r\n this.$router.push({\r\n name: 'MD Resources',\r\n params: { directoryId: id },\r\n })\r\n await this.loadResources()\r\n\r\n this.loading = false\r\n },\r\n openDocument: async function (id: number) {\r\n const resource = this.mdresources.find((x) => x.id === id)\r\n\r\n // TODO: Show a toast or some other message when errors happen\r\n try {\r\n const canOpenResource = await fetch(`${resource?.resourceLink}`)\r\n\r\n if (canOpenResource.ok) {\r\n window.open(resource?.resourceLink)\r\n } else {\r\n // console.log('Was unable to open resource' + resource?.resourceLink)\r\n }\r\n } catch {\r\n // console.log('Was unable to open resource' + resource?.resourceLink)\r\n }\r\n },\r\n\r\n resetResources: async function () {\r\n this.showResetModal = true\r\n },\r\n\r\n resetResourcesOnServer: async function () {\r\n this.loading = true\r\n this.showResetModal = false\r\n await fetch(`/api/mdresources/reset`, {\r\n method: 'POST',\r\n })\r\n this.mdresources = []\r\n this.loading = false\r\n },\r\n\r\n addResource: async function () {\r\n this.updateType = 'add'\r\n this.showModal = true\r\n },\r\n\r\n editResource: async function (id: number) {\r\n this.updateType = 'edit'\r\n this.showModal = true\r\n this.editItem = this.mdresources.find((x) => x.id === id)\r\n },\r\n\r\n deleteResource: async function (id: number) {\r\n this.deleteItem = this.mdresources.find((x) => x.id === id)\r\n this.showDeleteModal = true\r\n },\r\n\r\n deleteItemOnServer: async function () {\r\n this.loading = true\r\n this.showDeleteModal = false\r\n\r\n if (this.deleteItem) {\r\n await fetch(`/api/mdresources/${this.deleteItem!.id}`, {\r\n method: 'DELETE',\r\n })\r\n if (this.searchText) {\r\n await this.loadResources()\r\n } else {\r\n this.mdresources = this.mdresources.filter(\r\n (x) => x.id !== this.deleteItem!.id\r\n )\r\n }\r\n }\r\n this.deleteItem = undefined\r\n this.loading = false\r\n },\r\n toggleFavorite: async function (params: {\r\n favoriteId?: number\r\n id?: number\r\n }) {\r\n if (params.favoriteId) {\r\n const response = await fetch(`/api/favorites/${params.favoriteId}`, {\r\n method: 'DELETE',\r\n })\r\n\r\n if (response.ok)\r\n this.favorites = this.favorites.filter(\r\n (favorite: IFavorite) => favorite.id !== params.favoriteId\r\n )\r\n } else if (params.id) {\r\n const response = await fetch('/api/favorites', {\r\n method: 'POST',\r\n body: JSON.stringify({\r\n mddocumentId: params.id,\r\n }),\r\n headers: {\r\n 'Content-type': 'application/json; charset=UTF-8',\r\n },\r\n })\r\n\r\n if (response.ok) this.favorites.push(await response.json())\r\n }\r\n },\r\n onSearch: async function () {\r\n // // delay call to server until user stops typing\r\n clearTimeout(this.onSearchId)\r\n this.onSearchId = setTimeout(() => {\r\n this.loadResources()\r\n }, 500)\r\n },\r\n loadResources: async function () {\r\n this.loading = true\r\n if (this.searchText) {\r\n this.mdresources = await (\r\n await fetch(\r\n `/api/mdresources/search?searchText=${this.searchText}${\r\n this.parentId ? `&parentId=${this.parentId}` : ''\r\n }`\r\n )\r\n ).json()\r\n } else {\r\n this.mdresources = await (\r\n await fetch(\r\n `/api/mdresources${\r\n this.parentId ? `?parentId=${this.parentId}` : ''\r\n }`\r\n )\r\n ).json()\r\n }\r\n this.loading = false\r\n },\r\n },\r\n computed: {\r\n mdResourcesWithFavorites(): IMDResource[] {\r\n return this.mdresources.map((mdresource: IMDResource) => {\r\n const favorite = this.favorites.find(\r\n (favorite: IFavorite) => favorite.mddocumentId === mdresource.id\r\n )\r\n\r\n return { ...mdresource, favorite: favorite ?? null }\r\n })\r\n },\r\n filteredMDResources(): IMDResource[] {\r\n if (this.searchText)\r\n return this.mdResourcesWithFavorites.filter((x) =>\r\n x.name?.toLowerCase()?.includes(this.searchText?.toLowerCase())\r\n )\r\n\r\n return this.mdResourcesWithFavorites\r\n },\r\n filteredSortedMDResources(): IMDResource[] {\r\n return this.filteredMDResources.slice().sort((a, b) => {\r\n if (a.isDirectory && a.name === 'Portfolio') {\r\n return -1\r\n }\r\n if (\r\n a.isDirectory &&\r\n a.name === 'Legacy Portfolio' &&\r\n b.isDirectory &&\r\n b.name !== 'Portfolio'\r\n ) {\r\n return -1\r\n }\r\n if (\r\n a.isDirectory &&\r\n a.name === 'Legacy NAE' &&\r\n b.isDirectory &&\r\n !b.name.includes('Portfolio')\r\n ) {\r\n return -1\r\n }\r\n if (a.isDirectory && !b.isDirectory) {\r\n return -1\r\n } else if (!a.isDirectory && b.isDirectory) {\r\n return 1\r\n } else {\r\n return a.name.localeCompare(b.name)\r\n }\r\n })\r\n },\r\n ...mapState(['user']),\r\n },\r\n mounted: async function () {\r\n this.parentId = null\r\n if (this.$attrs.directoryId) {\r\n this.parentId = parseInt(this.$attrs.directoryId) || 0\r\n }\r\n await this.loadResources()\r\n this.favorites = await (\r\n await fetch(\r\n '/api/favorites?' + new URLSearchParams({ mddocumentsOnly: 'true' })\r\n )\r\n ).json()\r\n this.loading = false\r\n },\r\n components: {\r\n ScreenTile,\r\n CIcon,\r\n ResourceDirectoryTile,\r\n ResourceRow,\r\n AddMDResourceModal,\r\n Breadcrumbs,\r\n RemoveItemModal,\r\n },\r\n})\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MDResources.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MDResources.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MDResources.vue?vue&type=template&id=cc6a1534&\"\nimport script from \"./MDResources.vue?vue&type=script&lang=ts&\"\nexport * from \"./MDResources.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VProgressLinear,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('ScreenTile',{attrs:{\"title\":\"Agent Resources\",\"subTitle\":\"Agent Portal\"},scopedSlots:_vm._u([{key:\"buttons\",fn:function(){return [(_vm.user.isAdministrator)?_c('div',[_c('button',{staticClass:\"screen-action\",on:{\"click\":_vm.addResource}},[_c('CIcon',{attrs:{\"content\":_vm.agentresourceAddIcon}}),_vm._v(\" Add Resource \")],1),(_vm.user.isAdministrator)?_c('button',{staticClass:\"screen-action\",on:{\"click\":_vm.resetResources}},[_c('CIcon',{attrs:{\"content\":_vm.agentresourceResetIcon}}),_vm._v(\" Delete All Resources \")],1):_vm._e()]):_vm._e()]},proxy:true}])},[_c('div',{staticStyle:{\"width\":\"100%\"}},[_c('v-text-field',{staticClass:\"search-box\",attrs:{\"hint\":\"You can search by name\",\"label\":\"Search\"},on:{\"input\":_vm.onSearch},model:{value:(_vm.searchText),callback:function ($$v) {_vm.searchText=$$v},expression:\"searchText\"}}),_c('div',[_c('Breadcrumbs',{attrs:{\"routes\":_vm.routes},on:{\"click\":_vm.recurseUpTo}})],1)],1),_c('AddAgentResourceModal',{attrs:{\"showModal\":_vm.showAddModal,\"parentId\":_vm.parentId,\"resource\":_vm.editItem,\"type\":_vm.updateType},on:{\"close\":_vm.resourceAdded}}),(_vm.deleteItem)?_c('RemoveItemModal',{attrs:{\"showModal\":!!_vm.showDeleteModal && !!_vm.deleteItem,\"item\":_vm.deleteItem.isDirectory\n ? ((_vm.deleteItem.name) + \" and all its contents\")\n : (\"\" + (_vm.deleteItem.name))},on:{\"close\":function () {\n _vm.showDeleteModal = false\n _vm.deleteItem = undefined\n },\"confirm\":_vm.deleteItemOnServer}}):_vm._e(),_c('RemoveItemModal',{attrs:{\"showModal\":!!_vm.showResetModal,\"item\":\"all items\"},on:{\"close\":function () {\n _vm.showResetModal = false\n },\"confirm\":_vm.resetResourcesOnServer}}),(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\",\"color\":\"#4A3046\"}}):_vm._e(),_c('div',{staticClass:\"tile-display\"},[(_vm.filteredSortedAgentResources.length === 0)?_c('div',{staticClass:\"empty-directory\"},[_vm._v(\" This directory is empty \")]):_vm._e(),_vm._l((_vm.filteredSortedAgentResources),function(curResource){return _c('div',{key:curResource.id},[(curResource.isDirectory)?_c('ResourceDirectoryTile',{attrs:{\"id\":curResource.id,\"title\":curResource.name,\"cardIconUrl\":curResource.imageUrl,\"lastUpdated\":new Date(curResource.lastUpdatedDate),\"favoriteId\":_vm.getFavoriteId(curResource.id),\"favorite\":_vm.getFavorite(curResource.id) !== undefined,\"numberOfDocuments\":curResource.numberOfChildren,\"description\":curResource.description,\"isAdministrator\":_vm.user.isAdministrator,\"imageUrl\":curResource.imageUrl,\"searchPath\":curResource.searchPath},on:{\"view-click\":function($event){return _vm.descendIntoDirectory(curResource.id)},\"toggle-favorite\":_vm.toggleFavorite,\"delete-resource\":_vm.deleteResource,\"edit-resource\":_vm.editResource}}):_vm._e()],1)})],2),_c('div',[_c('ul',{staticClass:\"file-list\"},_vm._l((_vm.filteredSortedAgentResources),function(curResource){return _c('li',{key:curResource.id},[(!curResource.isDirectory)?_c('ResourceRow',{key:curResource.id,attrs:{\"id\":curResource.id,\"title\":curResource.name,\"description\":curResource.description,\"imageUrl\":curResource.imageUrl,\"favoriteId\":_vm.getFavoriteId(curResource.id),\"favorite\":_vm.getFavorite(curResource.id) !== undefined,\"isAdministrator\":_vm.user.isAdministrator,\"searchPath\":curResource.searchPath},on:{\"view-click\":function () { return _vm.openDocument(curResource); },\"toggle-favorite\":_vm.toggleFavorite,\"delete-resource\":_vm.deleteResource,\"edit-resource\":_vm.editResource}}):_vm._e()],1)}),0)])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {\nvar this$1 = this;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('Modal',{staticClass:\"add-agentresource-modal\",attrs:{\"showModal\":_vm.showModal}},[_c('div',{staticClass:\"modal-header\"},[_c('div',{staticClass:\"modal-exit-icon\",on:{\"click\":function () { return this$1.close(null); }}},[_c('CIcon',{attrs:{\"content\":_vm.exitIcon}})],1)]),_c('ModalBody',[_c('div',{staticClass:\"add-agentresource-title\"},[_vm._v(\" \"+_vm._s(_vm.type === 'add' ? 'Add' : 'Edit')+\" Resource \")]),(!!_vm.imageData)?_c('img',{staticClass:\"add-agentresource-populated-image\",attrs:{\"src\":_vm.imageData,\"alt\":\"\"},on:{\"click\":_vm.selectFile}}):_vm._e(),(!_vm.imageData)?_c('div',{staticClass:\"add-agentresource-image-container\",on:{\"click\":_vm.selectFile}},[_c('CIcon',{staticClass:\"add-agentresource-image\",attrs:{\"content\":_vm.imageIcon}})],1):_vm._e(),_c('input',{ref:\"imagefileinput\",staticStyle:{\"display\":\"none\"},attrs:{\"id\":\"image-file-input\",\"type\":\"file\",\"name\":\"name\",\"accept\":\"image/*\"}}),_c('v-container',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"error-messages\":_vm.nameErrors,\"label\":\"Name\",\"required\":\"\",\"outlined\":\"\"},model:{value:(_vm.name),callback:function ($$v) {_vm.name=$$v},expression:\"name\"}}),_c('v-text-field',{attrs:{\"error-messages\":_vm.descriptionErrors,\"label\":\"Description\",\"required\":\"\",\"outlined\":\"\"},model:{value:(_vm.description),callback:function ($$v) {_vm.description=$$v},expression:\"description\"}}),_c('v-switch',{attrs:{\"label\":\"Is a directory\"},model:{value:(_vm.isDirectory),callback:function ($$v) {_vm.isDirectory=$$v},expression:\"isDirectory\"}}),(!_vm.isDirectory)?_c('v-file-input',{ref:\"resourceFileInput\",attrs:{\"label\":\"Resource File\",\"outlined\":\"\",\"show-size\":\"\",\"accept\":\".pdf,.zip\"},model:{value:(_vm.resourceFile),callback:function ($$v) {_vm.resourceFile=$$v},expression:\"resourceFile\"}}):_vm._e(),(\n _vm.resourceFile &&\n _vm.resourceFile.name.toLowerCase().endsWith('.zip')\n )?_c('v-alert',{attrs:{\"border\":\"bottom\",\"colored-border\":\"\",\"type\":\"info\"}},[_vm._v(\" When uploading a zip file it will be expanded and the contents will be added rather than the actual zip file. It may take a moment to process before files are visible. \")]):_vm._e()],1)],1)],1),(_vm.errors && _vm.errors.length > 0)?_c('v-alert',{staticClass:\"validation-errors\",attrs:{\"border\":\"bottom\",\"colored-border\":\"\",\"type\":\"error\",\"elevation\":\"2\"}},[_c('ul',_vm._l((_vm.errors),function(err){return _c('li',{key:err},[_vm._v(_vm._s(err))])}),0)]):_vm._e(),_c('button',{staticClass:\"add-agentresource-button\",attrs:{\"disabled\":_vm.saving},on:{\"click\":_vm.add}},[_vm._v(\" \"+_vm._s(_vm.type === 'add' ? 'ADD' : 'UPDATE')+\" \")]),(_vm.saving)?_c('v-progress-linear',{staticStyle:{\"margin-top\":\"10px\"},attrs:{\"indeterminate\":\"\",\"color\":\"#4A3046\"}}):_vm._e()],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport '../styles/add-agentresource-modal.css'\r\nimport Vue from 'vue'\r\nimport Modal from './general/modal/Modal.vue'\r\nimport ModalBody from './general/modal/ModalBody.vue'\r\nimport { CIcon } from '@coreui/icons-vue'\r\nimport { cilX, cilImage } from '@coreui/icons-pro'\r\n\r\nimport { validationMixin } from 'vuelidate'\r\nimport { required } from 'vuelidate/lib/validators'\r\n\r\nimport { IValidationResult } from '../util/IValidationResult'\r\nimport * as mime from 'mime-types'\r\n\r\nexport default Vue.extend({\r\n mixins: [validationMixin],\r\n validations: {\r\n name: { required },\r\n description: { required },\r\n },\r\n name: 'AddAgentResourceModal',\r\n data() {\r\n return {\r\n saving: false,\r\n errors: [],\r\n imageData: '',\r\n\r\n name: '',\r\n description: '',\r\n isDirectory: false,\r\n\r\n exitIcon: cilX,\r\n imageIcon: cilImage,\r\n resourceFile: null as any,\r\n }\r\n },\r\n components: { CIcon, Modal, ModalBody },\r\n props: {\r\n showModal: {\r\n type: Boolean,\r\n required: true,\r\n },\r\n parentId: {\r\n type: Number,\r\n required: false,\r\n },\r\n type: {\r\n type: String,\r\n required: true,\r\n },\r\n resource: {\r\n type: Object,\r\n required: false,\r\n },\r\n },\r\n watch: {\r\n resource: {\r\n immediate: true,\r\n deep: true,\r\n handler(val) {\r\n if (val) {\r\n this.name = val.name\r\n this.description = val.description\r\n this.isDirectory = val.isDirectory\r\n this.imageData = val.imageData\r\n }\r\n },\r\n },\r\n },\r\n updated: function () {\r\n if (this.$refs.imagefileinput) {\r\n ;(this.$refs.imagefileinput as HTMLInputElement).onchange = () => {\r\n const files = (this.$refs.imagefileinput as HTMLInputElement).files\r\n if (files && files.length > 0) {\r\n const file = files[0]\r\n if (file) {\r\n this.imageData = URL.createObjectURL(file)\r\n }\r\n }\r\n }\r\n }\r\n },\r\n methods: {\r\n close: function (data: any | undefined) {\r\n this.name = ''\r\n this.description = ''\r\n this.imageData = ''\r\n this.resourceFile = null\r\n\r\n this.$v.$reset()\r\n this.$emit('close', data)\r\n },\r\n add: async function () {\r\n this.saving = true\r\n\r\n if (this.$v.name.$invalid) {\r\n this.$v.$touch()\r\n this.saving = false\r\n return\r\n }\r\n const result = await fetch('/api/agentresources', {\r\n method: this.type === 'add' ? 'POST' : 'PUT',\r\n body: JSON.stringify({\r\n name: this.name,\r\n description: this.description,\r\n isDirectory: this.isDirectory,\r\n parentId: this.parentId,\r\n isZipFile:\r\n !!this.resourceFile &&\r\n this.resourceFile.name.toLowerCase().endsWith('.zip'),\r\n id: this.resource?.id,\r\n }),\r\n headers: {\r\n 'Content-type': 'application/json; charset=UTF-8',\r\n },\r\n })\r\n if (!result.ok) {\r\n this.errors = (await result.json()).map(\r\n (x: IValidationResult) => x.errorMessage\r\n )\r\n } else {\r\n const body = await result.json()\r\n const files = (this.$refs.imagefileinput as HTMLInputElement).files\r\n if (files && files.length > 0) {\r\n const file = files[0]\r\n if (file) {\r\n const uploadImageUrl = body.uploadImageUrl\r\n await fetch(uploadImageUrl, {\r\n method: 'PUT',\r\n body: file,\r\n headers: {\r\n 'Content-Type': 'image/png',\r\n 'x-ms-blob-type': 'BlockBlob',\r\n },\r\n })\r\n }\r\n }\r\n\r\n if (this && this.resourceFile && this.resourceFile.name) {\r\n const uploadImageUrl = body.uploadResourceLink\r\n await fetch(uploadImageUrl, {\r\n method: 'PUT',\r\n body: this.resourceFile,\r\n headers: {\r\n 'Content-Type': mime.lookup(this.resourceFile.name) as string,\r\n 'x-ms-blob-type': 'BlockBlob',\r\n 'x-ms-blob-content-disposition': `attachment; filename=\"${\r\n this.resourceFile.name as string\r\n }\"`,\r\n },\r\n })\r\n }\r\n\r\n this.close({ ...body, updatedDate: new Date() })\r\n }\r\n\r\n this.saving = false\r\n },\r\n selectFile: async function () {\r\n ;(this.$refs.imagefileinput as HTMLInputElement).click()\r\n },\r\n },\r\n computed: {\r\n nameErrors(): string[] {\r\n const errors: string[] = []\r\n if (this.$v.name.$error) errors.push('Name is required')\r\n return errors\r\n },\r\n descriptionErrors(): string[] {\r\n const errors: string[] = []\r\n if (this.$v.description.$error) errors.push('Description is required')\r\n return errors\r\n },\r\n },\r\n})\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AddAgentResourceModal.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AddAgentResourceModal.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddAgentResourceModal.vue?vue&type=template&id=245f0f3a&\"\nimport script from \"./AddAgentResourceModal.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddAgentResourceModal.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VFileInput } from 'vuetify/lib/components/VFileInput';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VAlert,VCol,VContainer,VFileInput,VProgressLinear,VRow,VSwitch,VTextField})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport '../styles/agent-resources.css'\r\nimport { Vue } from 'vue-property-decorator'\r\nimport ScreenTile from '../components/ScreenTile.vue'\r\nimport ResourceRow from '../components/ResourceRow.vue'\r\nimport ResourceDirectoryTile from '../components/ResourceDirectoryTile.vue'\r\nimport RemoveItemModal from '../components/general/RemoveItemModal.vue'\r\nimport { CIcon } from '@coreui/icons-vue'\r\nimport { cilFileAdd, cilQueueRemove } from '@coreui/icons-pro'\r\nimport AddAgentResourceModal from '../components/AddAgentResourceModal.vue'\r\nimport Breadcrumbs from '../components/general/Breadcrumbs.vue'\r\nimport { mapState } from 'vuex'\r\n\r\ninterface IFavorite {\r\n id: number\r\n username: string\r\n agentResourceId: number\r\n}\r\n\r\ninterface IAgentResource {\r\n id: number\r\n name: string\r\n description: string\r\n favorite: boolean\r\n favoriteId: number | undefined\r\n imageUrl: string\r\n resourceLink: string\r\n isDirectory: boolean\r\n parentId: number\r\n numberOfChildren: number\r\n searchPath: string\r\n searchIdPath: string\r\n lastUpdatedDate: Date\r\n}\r\n\r\ninterface IModel {\r\n loading: boolean\r\n numColumns: number\r\n showAddModal: boolean\r\n showDeleteModal: boolean\r\n showResetModal: boolean\r\n deleteItem: IAgentResource | undefined\r\n searchText: string\r\n agentResources: IAgentResource[]\r\n onSearchId: number | undefined\r\n agentresourceAddIcon: any\r\n agentresourceResetIcon: any[]\r\n favorites: IFavorite[]\r\n parentId: number | undefined\r\n routes: any[]\r\n updateType: string\r\n editItem: IAgentResource | undefined\r\n}\r\n\r\nexport default Vue.extend({\r\n components: {\r\n ScreenTile,\r\n ResourceRow,\r\n CIcon,\r\n AddAgentResourceModal,\r\n ResourceDirectoryTile,\r\n Breadcrumbs,\r\n RemoveItemModal,\r\n },\r\n data: function (): IModel {\r\n return {\r\n loading: true,\r\n showAddModal: false,\r\n showDeleteModal: false,\r\n showResetModal: false,\r\n deleteItem: undefined,\r\n searchText: '',\r\n numColumns: 3,\r\n agentResources: [] as IAgentResource[],\r\n onSearchId: undefined as number | undefined,\r\n favorites: [] as IFavorite[],\r\n agentresourceAddIcon: cilFileAdd,\r\n agentresourceResetIcon: cilQueueRemove,\r\n parentId: undefined as number | undefined,\r\n routes: [{ id: undefined, name: 'Agent Resources' }] as {\r\n id: number | undefined\r\n name: string\r\n }[],\r\n updateType: 'add',\r\n editItem: undefined as IAgentResource | undefined,\r\n }\r\n },\r\n mounted: async function () {\r\n if (this.$attrs.directoryId) {\r\n this.parentId = parseInt(this.$attrs.directoryId)\r\n }\r\n await this.loadResources()\r\n this.favorites = await (\r\n await fetch(\r\n '/api/favorites?' + new URLSearchParams({ agentResourcesOnly: 'true' })\r\n )\r\n ).json()\r\n this.loading = false\r\n },\r\n computed: {\r\n filteredAgentResources(): IAgentResource[] {\r\n if (this.searchText) {\r\n return this.agentResources.filter((x) =>\r\n x.name?.toLowerCase().includes(this.searchText?.toLowerCase())\r\n )\r\n }\r\n return this.agentResources\r\n },\r\n filteredSortedAgentResources(): IAgentResource[] {\r\n return this.filteredAgentResources.slice().sort((a, b) => {\r\n if (a.isDirectory && a.name === 'Portfolio') {\r\n return -1\r\n }\r\n if (\r\n a.isDirectory &&\r\n a.name === 'Legacy Portfolio' &&\r\n b.isDirectory &&\r\n b.name !== 'Portfolio'\r\n ) {\r\n return -1\r\n }\r\n if (\r\n a.isDirectory &&\r\n a.name === 'Legacy NAE' &&\r\n b.isDirectory &&\r\n !b.name.includes('Portfolio')\r\n ) {\r\n return -1\r\n }\r\n if (a.isDirectory && !b.isDirectory) {\r\n return -1\r\n } else if (!a.isDirectory && b.isDirectory) {\r\n return 1\r\n } else {\r\n return a.name.localeCompare(b.name)\r\n }\r\n })\r\n },\r\n\r\n ...mapState(['user']),\r\n },\r\n methods: {\r\n getFavorite: function (agentResourceId: number) {\r\n return this.favorites.find((x) => x.agentResourceId === agentResourceId)\r\n },\r\n getFavoriteId: function (agentResourceId: number) {\r\n return this.getFavorite(agentResourceId)?.id\r\n },\r\n\r\n resetResources: async function () {\r\n this.showResetModal = true\r\n },\r\n\r\n resetResourcesOnServer: async function () {\r\n this.loading = true\r\n this.showResetModal = false\r\n await fetch(`/api/agentResources/reset`, {\r\n method: 'POST',\r\n })\r\n this.agentResources = []\r\n this.loading = false\r\n },\r\n addResource: async function (id: number) {\r\n this.updateType = 'add'\r\n this.showAddModal = true\r\n },\r\n\r\n editResource: async function (id: number) {\r\n this.updateType = 'edit'\r\n this.showAddModal = true\r\n this.editItem = this.agentResources.find((x) => x.id === id)\r\n },\r\n\r\n resourceAdded: async function (item: IAgentResource) {\r\n this.loading = true\r\n this.showAddModal = false\r\n\r\n await this.loadResources()\r\n\r\n this.loading = false\r\n },\r\n recurseUpTo: async function (id: number) {\r\n this.loading = true\r\n const indexOfRoute = this.routes.findIndex((x) => x.id === id)\r\n this.routes = this.routes.slice(0, indexOfRoute + 1)\r\n this.parentId = this.routes[this.routes.length - 1]?.id\r\n await this.loadResources()\r\n\r\n this.loading = false\r\n },\r\n descendIntoDirectory: async function (id: number) {\r\n this.loading = true\r\n const agentResource = this.agentResources.find((x) => x.id === id)\r\n if (agentResource && agentResource.parentId != this.parentId) {\r\n const idArr = agentResource.searchIdPath.split(' / ')\r\n const pathArr = agentResource.searchPath.split(' / ')\r\n for (let i = 0; i < idArr.length; i++) {\r\n this.routes.push({\r\n id: idArr[i],\r\n name: pathArr[i],\r\n })\r\n }\r\n } else {\r\n this.routes.push({\r\n id,\r\n name: this.agentResources.find((x) => x.id === id)?.name ?? '',\r\n })\r\n }\r\n this.parentId = id\r\n this.$router.push({\r\n name: 'Agent Resources',\r\n params: { directoryId: id },\r\n })\r\n await this.loadResources()\r\n\r\n this.loading = false\r\n },\r\n openDocument: async (document: IAgentResource) => {\r\n // TODO: Show a toast or some other message when errors happen\r\n try {\r\n const canOpenResource = await fetch(`${document?.resourceLink}`)\r\n\r\n if (canOpenResource.ok) {\r\n window.open(document?.resourceLink)\r\n } else {\r\n // console.log('Was unable to open resource' + document?.resourceLink)\r\n }\r\n } catch {\r\n // console.log('Was unable to open resource' + document?.resourceLink)\r\n }\r\n },\r\n deleteResource: async function (id: number) {\r\n this.deleteItem = this.agentResources.find((x) => x.id === id)\r\n this.showDeleteModal = true\r\n },\r\n\r\n deleteItemOnServer: async function () {\r\n this.loading = true\r\n this.showDeleteModal = false\r\n\r\n if (this.deleteItem) {\r\n await fetch(`/api/agentresources/${this.deleteItem!.id}`, {\r\n method: 'DELETE',\r\n })\r\n if (this.searchText) {\r\n await this.loadResources()\r\n } else {\r\n this.agentResources = this.agentResources.filter(\r\n (x) => x.id !== this.deleteItem!.id\r\n )\r\n }\r\n }\r\n this.deleteItem = undefined\r\n this.loading = false\r\n },\r\n toggleFavorite: async function (params: {\r\n favoriteId?: number\r\n id?: number\r\n }) {\r\n if (params.favoriteId) {\r\n const response = await fetch(`/api/favorites/${params.favoriteId}`, {\r\n method: 'DELETE',\r\n })\r\n\r\n if (response.ok) {\r\n this.favorites = this.favorites.filter(\r\n (favorite: IFavorite) => favorite.id !== params.favoriteId\r\n )\r\n }\r\n } else if (params.id) {\r\n const response = await fetch('/api/favorites', {\r\n method: 'POST',\r\n body: JSON.stringify({\r\n agentResourceId: params.id,\r\n }),\r\n headers: {\r\n 'Content-type': 'application/json; charset=UTF-8',\r\n },\r\n })\r\n\r\n if (response.ok) {\r\n this.favorites.push(await response.json())\r\n }\r\n } else {\r\n console.log('Invalid Params')\r\n }\r\n },\r\n onSearch: async function () {\r\n // delay call to server until user stops typing\r\n clearTimeout(this.onSearchId)\r\n this.onSearchId = setTimeout(() => {\r\n this.loadResources()\r\n }, 500)\r\n },\r\n loadResources: async function () {\r\n this.loading = true\r\n if (this.searchText) {\r\n this.agentResources = await (\r\n await fetch(\r\n `/api/agentResources/search?searchText=${this.searchText}${\r\n this.parentId ? `&parentId=${this.parentId}` : ''\r\n }`\r\n )\r\n ).json()\r\n } else {\r\n this.agentResources = await (\r\n await fetch(\r\n `/api/agentResources${\r\n this.parentId ? `?parentId=${this.parentId}` : ''\r\n }`\r\n )\r\n ).json()\r\n }\r\n this.loading = false\r\n },\r\n },\r\n})\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AgentResources.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AgentResources.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AgentResources.vue?vue&type=template&id=15c62c9e&\"\nimport script from \"./AgentResources.vue?vue&type=script&lang=ts&\"\nexport * from \"./AgentResources.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VProgressLinear,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('ScreenTile',{attrs:{\"title\":\"Reports\",\"subTitle\":\"Agent Portal\"}},[(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\",\"color\":\"#4A3046\"}}):_vm._e(),_vm._l((_vm.reports),function(item){return _c('CategoryTile',{key:item.name,attrs:{\"title\":item.name,\"categories\":_vm.getReports(item.reports),\"click\":_vm.loadReport}})})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"category-tile\"},[_c('div',{staticClass:\"category-header\",domProps:{\"textContent\":_vm._s(_vm.title)}}),_c('div',{staticClass:\"category-content\"},[_vm._l((_vm.categoriesList),function(category,index){return _c('CategoryLink',{key:index,staticClass:\"category-link\",attrs:{\"title\":category.title,\"imageUrl\":category.imageUrl,\"favorite\":category.favorite},on:{\"click-category\":function($event){return _vm.clickCategory(category)}}})}),(_vm.categories.length > 3)?_c('CategoryLink',{attrs:{\"title\":\"more\",\"favorite\":undefined,\"imageUrl\":\"icons/more.png\"},on:{\"click-category\":_vm.openModal}}):_vm._e()],2),_c('Modal',{attrs:{\"showModal\":_vm.showModal}},[_c('ModalHeader',{attrs:{\"title\":\"Categories\",\"showExitButton\":true},on:{\"close\":function($event){_vm.showModal = false}}}),_c('ModalBody',_vm._l((_vm.categories),function(category,index){return _c('CategoryLink',{key:index,staticClass:\"category-link\",attrs:{\"title\":category.title,\"imageUrl\":category.imageUrl,\"favorite\":category.favorite},on:{\"click-category\":function($event){return _vm.clickCategory(category)}}})}),1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"category-link\",on:{\"click\":function($event){return _vm.$emit('click-category')}}},[_c('div',{staticClass:\"category-icon\"},[(_vm.imageUrl)?_c('img',{attrs:{\"src\":_vm.imageUrl,\"alt\":_vm.title,\"onerror\":\"this.onerror=null;this.src='icons/report-placeholder.svg'\"}}):_c('v-img',{attrs:{\"src\":\"icons/report-placeholder.svg\",\"alt\":\"Placeholder Image\"}}),_c('span',{staticClass:\"favorite\"},[(_vm.favorite === false)?_c('CIcon',{attrs:{\"content\":_vm.standardStarIcon}}):_vm._e(),(_vm.favorite === true)?_c('CIcon',{attrs:{\"content\":_vm.favoritedStarIcon}}):_vm._e()],1)],1),_c('div',{staticClass:\"category-text\",domProps:{\"textContent\":_vm._s(_vm.title)}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport '../styles/category-tile.css'\r\nimport Vue from 'vue'\r\nimport { CIcon } from '@coreui/icons-vue'\r\nimport { cisStar, cilStar } from '@coreui/icons-pro'\r\n\r\nexport default Vue.extend({\r\n data() {\r\n return {\r\n favoritedStarIcon: cisStar,\r\n standardStarIcon: cilStar,\r\n }\r\n },\r\n components: { CIcon },\r\n props: {\r\n title: {\r\n type: String,\r\n required: true,\r\n },\r\n imageUrl: {\r\n type: String,\r\n required: false,\r\n },\r\n favorite: {\r\n type: Boolean,\r\n required: false,\r\n },\r\n },\r\n name: 'CategoryLink',\r\n})\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CategoryLink.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CategoryLink.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CategoryLink.vue?vue&type=template&id=a3dbef02&\"\nimport script from \"./CategoryLink.vue?vue&type=script&lang=ts&\"\nexport * from \"./CategoryLink.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VImg } from 'vuetify/lib/components/VImg';\ninstallComponents(component, {VImg})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"modal-header\"},[_c('div',{staticClass:\"title\",domProps:{\"textContent\":_vm._s(_vm.title)}}),(_vm.showExitButton)?_c('button',{on:{\"click\":function($event){return _vm.$emit('close')}}},[_vm._v(\"X\")]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\r\nimport Vue from 'vue'\r\n\r\nexport default Vue.extend({\r\n data() {\r\n return {}\r\n },\r\n props: {\r\n title: {\r\n type: String,\r\n required: true,\r\n },\r\n showExitButton: {\r\n type: Boolean,\r\n required: false,\r\n default: false,\r\n },\r\n },\r\n name: 'ModalHeader',\r\n})\r\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ModalHeader.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ModalHeader.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ModalHeader.vue?vue&type=template&id=91385ac4&\"\nimport script from \"./ModalHeader.vue?vue&type=script&lang=ts&\"\nexport * from \"./ModalHeader.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport '../styles/category-tile.css'\r\nimport CategoryLink from './CategoryLink.vue'\r\nimport Modal from './general/modal/Modal.vue'\r\nimport ModalHeader from './general/modal/ModalHeader.vue'\r\nimport ModalBody from './general/modal/ModalBody.vue'\r\nimport Vue, { PropType } from 'vue'\r\n\r\ninterface Category {\r\n id: string\r\n title: string\r\n imageUrl?: string\r\n favorite?: boolean\r\n}\r\n\r\nexport default Vue.extend({\r\n data() {\r\n return {\r\n showModal: false,\r\n }\r\n },\r\n props: {\r\n title: {\r\n type: String,\r\n required: true,\r\n },\r\n categories: {\r\n type: Array as PropType>,\r\n required: true,\r\n },\r\n click: {\r\n type: Function,\r\n required: true,\r\n },\r\n },\r\n computed: {\r\n categoriesList(): Array {\r\n let categories = this.categories as Array\r\n categories = categories.filter((x) => x.title)\r\n\r\n let finalList: Array = []\r\n\r\n if (categories.length > 3) {\r\n finalList = categories.slice(0, 2)\r\n } else {\r\n finalList = categories\r\n }\r\n\r\n return finalList\r\n },\r\n },\r\n methods: {\r\n clickCategory(category: Category) {\r\n this.click(category)\r\n },\r\n openModal() {\r\n this.showModal = true\r\n window.scrollTo(0, 0)\r\n },\r\n },\r\n components: { CategoryLink, Modal, ModalHeader, ModalBody },\r\n name: 'CategoryTile',\r\n})\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CategoryTile.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CategoryTile.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CategoryTile.vue?vue&type=template&id=6eadbb47&\"\nimport script from \"./CategoryTile.vue?vue&type=script&lang=ts&\"\nexport * from \"./CategoryTile.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue } from 'vue-property-decorator'\r\nimport ScreenTile from '../components/ScreenTile.vue'\r\nimport CategoryTile from '../components/CategoryTile.vue'\r\n\r\ninterface IReport {\r\n id: string\r\n name: string\r\n description: string\r\n imageUrl: string\r\n favorite: boolean\r\n}\r\n\r\ninterface IReportGroup {\r\n name: string\r\n reports: IReport[]\r\n}\r\n\r\nexport default Vue.extend({\r\n components: { ScreenTile, CategoryTile },\r\n data: function () {\r\n return {\r\n loading: true,\r\n reports: [] as IReportGroup[],\r\n }\r\n },\r\n methods: {\r\n getReports: function (reports: IReport[]) {\r\n return reports.map((x) => ({\r\n title: x.name,\r\n id: x.id,\r\n imageUrl: x.imageUrl,\r\n favorite: x.favorite,\r\n description: x.description,\r\n }))\r\n },\r\n loadReport: async function (report: {\r\n id: string\r\n title: string\r\n favorite: boolean\r\n description: string\r\n }) {\r\n this.$router.push(\r\n `/reports/${report.id}/${report.description}/${report.favorite}`\r\n )\r\n },\r\n },\r\n mounted: async function () {\r\n const reports = (await (await fetch('/api/reports')).json()) as IReport[]\r\n const categories = Array.from(\r\n new Set(reports.map((x) => x.name.split(' - ')[0]))\r\n )\r\n\r\n for (const category of categories) {\r\n const reportGroup = {\r\n name: category,\r\n reports: reports\r\n .filter((x) => x.name.startsWith(category))\r\n .map((x) => ({\r\n id: x.id,\r\n description: x.name,\r\n name: x.name.split(' - ')[1],\r\n imageUrl: `icons/reports/${x.name}.svg`,\r\n favorite: x.favorite,\r\n })),\r\n }\r\n this.reports.push(reportGroup)\r\n }\r\n this.loading = false\r\n },\r\n})\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Reports.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Reports.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Reports.vue?vue&type=template&id=2c98c077&\"\nimport script from \"./Reports.vue?vue&type=script&lang=ts&\"\nexport * from \"./Reports.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\ninstallComponents(component, {VProgressLinear})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\",\"color\":\"#4A3046\"}}):_vm._e(),(!_vm.loading)?_c('div',[_c('ScreenTile',{attrs:{\"title\":\"Shipments To Dealers\",\"subTitle\":\"Agent Portal\"}},[_c('div',{staticClass:\"search-box-wrapper\"},[_c('v-text-field',{staticClass:\"search-box\",attrs:{\"outlined\":\"\",\"hint\":\"You can search for dealer names\",\"label\":\"Search...\"},model:{value:(_vm.searchText),callback:function ($$v) {_vm.searchText=$$v},expression:\"searchText\"}},[_c('v-icon',{attrs:{\"slot\":\"append\"},slot:\"append\"},[_vm._v(\" mdi-magnify \")])],1)],1),_vm._l((_vm.pagedShipments),function(item){return _c('ShipmentTile',{key:item.shipmentId,attrs:{\"dealerName\":item.accountName,\"title\":item.shipToName,\"description\":item.description,\"orderNumber\":item.shipmentId,\"trackingNumber\":item.trackingNumber,\"trackingUrl\":_vm.getTrackingUrl(item.trackingNumber,item.shipmentDate),\"shipmentDate\":item.shipmentDate}})}),_c('div',{staticClass:\"pagination-wrapper\"},[_c('v-pagination',{attrs:{\"length\":_vm.pages},model:{value:(_vm.page),callback:function ($$v) {_vm.page=$$v},expression:\"page\"}})],1)],2)],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"shipment-tile\"},[_c('div',{staticClass:\"shipment-details\"},[_vm._m(0),_c('div',{staticClass:\"shipment-detail\"},[_c('div',[_vm._v(\"Tracking #:\")]),(_vm.trackingUrl)?_c('a',{attrs:{\"href\":_vm.trackingUrl,\"target\":\"_blank\"},domProps:{\"textContent\":_vm._s(_vm.trackingNumber)}}):_c('div',{domProps:{\"textContent\":_vm._s(_vm.trackingNumber)}})]),_c('div',{staticClass:\"shipment-detail\"},[_c('div',[_vm._v(\"Order #:\")]),_c('div',{domProps:{\"textContent\":_vm._s(_vm.orderNumber)}})]),_c('div',{staticClass:\"shipment-detail\"},[_c('div',[_vm._v(\"Shipped:\")]),_c('div',{domProps:{\"textContent\":_vm._s(_vm.formatDate(_vm.shipmentDate))}})])]),_c('div',{staticClass:\"shipment-content\"},[_c('div',{staticClass:\"shipment-title\",domProps:{\"textContent\":_vm._s(_vm.title)}}),_c('div',{staticClass:\"shipment-description\",domProps:{\"textContent\":_vm._s(_vm.description)}})])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"shipment-dealer\"},[_c('img',{attrs:{\"src\":\"icons/ShipmentsDealers.svg\"}})])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport '../styles/shipment-tile.css'\r\n\r\nimport Vue from 'vue'\r\nimport moment from 'moment'\r\n\r\nexport default Vue.extend({\r\n data() {\r\n return {}\r\n },\r\n props: {\r\n dealerName: {\r\n type: String,\r\n required: true,\r\n },\r\n title: {\r\n type: String,\r\n required: true,\r\n },\r\n description: {\r\n type: String,\r\n required: true,\r\n },\r\n orderNumber: {\r\n type: Number,\r\n required: true,\r\n },\r\n trackingNumber: {\r\n type: String,\r\n required: true,\r\n },\r\n carrier: {\r\n type: String,\r\n required: false,\r\n },\r\n trackingUrl: {\r\n type: String,\r\n required: false,\r\n },\r\n shipmentDate: {\r\n type: Date,\r\n required: true,\r\n },\r\n },\r\n components: {},\r\n name: 'ShipmentTile',\r\n methods: {\r\n formatDate: (date: string) => moment(date).format('MMMM DD, YYYY'),\r\n },\r\n})\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ShipmentTile.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ShipmentTile.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ShipmentTile.vue?vue&type=template&id=f40dba52&\"\nimport script from \"./ShipmentTile.vue?vue&type=script&lang=ts&\"\nexport * from \"./ShipmentTile.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue } from 'vue-property-decorator'\r\nimport ScreenTile from '../components/ScreenTile.vue'\r\nimport ShipmentTile from '../components/ShipmentTile.vue'\r\nimport '../styles/shipments-to-dealers.css'\r\n\r\ninterface IShipment {\r\n accountName: string\r\n shipToName: string\r\n shipmentId: number\r\n trackingNumber: string\r\n description: string\r\n shipmentDate: Date\r\n shipmentMethodUsed: string\r\n}\r\n\r\ninterface IDbShipment {\r\n accountName: string\r\n shipToName: string\r\n shipmentId: number\r\n trackingNumber: string\r\n description: string\r\n created: Date\r\n shipmentMethodUsed: string\r\n}\r\n\r\nexport default Vue.extend({\r\n components: { ScreenTile, ShipmentTile },\r\n data: function () {\r\n return {\r\n loading: true,\r\n shipments: [] as IShipment[],\r\n searchText: '',\r\n page: 1,\r\n pageSize: 12,\r\n }\r\n },\r\n mounted: async function () {\r\n this.shipments = (await (await fetch('/api/shipments')).json()).map(\r\n (x: IDbShipment) => ({\r\n accountName: x.accountName,\r\n shipmentId: x.shipmentId,\r\n shipToName: x.shipToName ?? '',\r\n trackingNumber: x.trackingNumber,\r\n description: x.description ?? '',\r\n shipmentDate: new Date(x.created),\r\n shipmentMethodUsed: x.shipmentMethodUsed,\r\n })\r\n )\r\n this.loading = false\r\n },\r\n computed: {\r\n filteredShipments(): IShipment[] {\r\n return this.shipments.filter((x: IShipment) =>\r\n x.shipToName.toLowerCase().includes(this.searchText.toLowerCase())\r\n )\r\n },\r\n pagedShipments(): IShipment[] {\r\n return this.filteredShipments.slice(\r\n (this.page - 1) * this.pageSize,\r\n this.page * this.pageSize\r\n )\r\n },\r\n pages(): number {\r\n return Math.ceil(this.filteredShipments.length / this.pageSize)\r\n },\r\n },\r\n methods: {\r\n getTrackingUrl(trackingNumber: string, shipmentDate: Date) {\r\n if (shipmentDate < new Date(2023, 8, 1))\r\n return `https://www.ups.com/mobile/track?trackingNumber=${trackingNumber}`\r\n else\r\n return `https://www.fedex.com/fedextrack/?trknbr=${trackingNumber}`\r\n },\r\n },\r\n})\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ShipmentsToDealers.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ShipmentsToDealers.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ShipmentsToDealers.vue?vue&type=template&id=0ae2c81b&\"\nimport script from \"./ShipmentsToDealers.vue?vue&type=script&lang=ts&\"\nexport * from \"./ShipmentsToDealers.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VPagination } from 'vuetify/lib/components/VPagination';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VIcon,VPagination,VProgressLinear,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('ScreenTile',{attrs:{\"title\":\"Updates & Alerts\",\"subTitle\":\"Agent Portal\"},scopedSlots:_vm._u([{key:\"buttons\",fn:function(){return [(_vm.user.isAdministrator)?_c('button',{staticClass:\"screen-action\",on:{\"click\":_vm.showAddAlert}},[_c('CIcon',{attrs:{\"content\":_vm.alertAddIcon}}),_vm._v(\" Add Alert \")],1):_vm._e()]},proxy:true}])},[_c('div',[_c('span',{staticClass:\"tagFilterHeader\"},[_vm._v(\" Filters \")]),_c('div',{staticClass:\"tagFilterRow\"},_vm._l((_vm.alertTags),function(tag){return _c('v-chip',{key:tag.id,staticStyle:{\"margin-right\":\"5px\"},attrs:{\"color\":_vm.filteredTags.includes(tag.id) ? 'secondary' : null},on:{\"click\":function($event){return _vm.toggleTag(tag.id)}}},[_vm._v(_vm._s(tag.name))])}),1),_c('div',[(_vm.user.isAdministrator)?_c('v-switch',{staticClass:\"d-inline-block me-2\",attrs:{\"label\":\"Admin view\"},model:{value:(_vm.showAdmin),callback:function ($$v) {_vm.showAdmin=$$v},expression:\"showAdmin\"}}):_vm._e(),(!_vm.showAdmin)?_c('v-switch',{staticClass:\"d-inline-block ms-2\",attrs:{\"label\":\"Show All\"},model:{value:(_vm.showAllAlerts),callback:function ($$v) {_vm.showAllAlerts=$$v},expression:\"showAllAlerts\"}}):_vm._e()],1),(_vm.showAdmin && _vm.user.isAdministrator)?_c('AdminAlertList',{attrs:{\"tags\":_vm.filteredTags,\"alertTags\":_vm.alertTags},on:{\"onEdit\":_vm.showEditModal}}):_vm._e(),(!_vm.showAdmin)?_c('UserAlertList',{key:_vm.showAllAlerts,attrs:{\"tags\":_vm.filteredTags,\"alertTags\":_vm.alertTags,\"showAll\":_vm.showAllAlerts}}):_vm._e()],1),_c('add-alert-modal',{attrs:{\"show-modal\":_vm.showCreateModal,\"type\":_vm.updateType,\"alert-prop\":_vm.editAlert,\"edit-mode\":_vm.editAlert !== undefined},on:{\"close\":function($event){return _vm.onCreateModalClosed()}}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.loading)?_c('v-progress-linear',{staticStyle:{\"margin-top\":\"10px\"},attrs:{\"indeterminate\":\"\",\"color\":\"#4A3046\"}}):_vm._e(),_c('v-data-table',{attrs:{\"items\":_vm.alerts,\"headers\":_vm.headers},scopedSlots:_vm._u([{key:\"item.actions\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('v-icon',{staticClass:\"mr-2\",attrs:{\"small\":\"\"},on:{\"click\":function($event){return _vm.editItem(item)}}},[_vm._v(\" mdi-pencil \")]),_c('v-icon',{attrs:{\"small\":\"\"},on:{\"click\":function($event){return _vm.deleteItem(item)}}},[_vm._v(\" mdi-delete \")])]}},{key:\"item.startDate\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm._f(\"formatDate\")(item.startDate))+\" \")]}},{key:\"item.endDate\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm._f(\"formatDate\")(item.endDate))+\" \")]}},{key:\"item.startDisplayingOn\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm._f(\"formatDate\")(item.startDisplayingOn))+\" \")]}},{key:\"item.stopDisplayingOn\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm._f(\"formatDate\")(item.stopDisplayingOn))+\" \")]}},{key:\"item.tags\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm._f(\"convertToTags\")(item,item))+\" \")]}}])}),_c('RemoveItemModal',{attrs:{\"showModal\":_vm.showRemoveModal,\"item\":_vm.removeItem.title ? _vm.removeItem.title : ''},on:{\"close\":function($event){return _vm.closeRemoveModal()},\"confirm\":function($event){return _vm.deleteAlert()}}}),_c('OkModal',{attrs:{\"showModal\":_vm.showRemoveErrorModal,\"message\":(\"unable to delete \" + (_vm.removeItem.title))},on:{\"close\":function($event){return _vm.closeOkModal()}}}),(!_vm.loading && _vm.alerts.length === 0)?_c('div',[_c('div',{staticClass:\"alert alert-info\",attrs:{\"role\":\"alert\"}},[_vm._v(\"No matching alerts\")])]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import IAlert from '@/viewModel/IAlert'\r\nimport IAlertList from '@/viewModel/IAlertList'\r\nimport IAlertTag from '@/viewModel/IAlertTag'\r\n\r\nexport class Alerts {\r\n static convertTagsArrayToFlags(\r\n tagsArray: { title: string; value: number }[]\r\n ): number {\r\n let flags = 0\r\n for (let i = 0; i < tagsArray.length; i++) {\r\n const curTagValue = tagsArray[i]\r\n flags |= curTagValue.value\r\n }\r\n return flags\r\n }\r\n\r\n static async loadAlerts(\r\n tags: number[],\r\n matchAllTags: boolean,\r\n onlyUnread: boolean\r\n ): Promise {\r\n const queryString = new URLSearchParams()\r\n if (tags) queryString.append('tags', tags.join(','))\r\n if (matchAllTags !== undefined)\r\n queryString.append('matchAllTags', matchAllTags.toString())\r\n if (onlyUnread !== undefined)\r\n queryString.append('onlyUnread', onlyUnread.toString())\r\n const result = await fetch(`/api/Alerts?${queryString.toString()}`, {\r\n method: 'GET',\r\n headers: {\r\n 'Content-type': 'application/json; charset=UTF-8',\r\n },\r\n })\r\n if (!result.ok) {\r\n console.log(\r\n `failed to load alerts. response: ${result.status} ${result.statusText}`\r\n )\r\n return {} as IAlertList\r\n } else {\r\n return await result.json()\r\n }\r\n }\r\n\r\n static async loadAlertTags(): Promise {\r\n const result = await fetch(`/api/AlertTags`, {\r\n method: 'GET',\r\n headers: {\r\n 'Content-type': 'application/json; charset=UTF-8',\r\n },\r\n })\r\n return (await result.json()) as IAlertTag[]\r\n }\r\n\r\n static async loadAlert(id: string): Promise {\r\n const result = await fetch(`/api/Alert/${id}`, {\r\n method: 'GET',\r\n headers: {\r\n 'Content-type': 'application/json; charset=UTF-8',\r\n },\r\n })\r\n if (!result.ok) {\r\n return {} as IAlert\r\n } else {\r\n return await result.json()\r\n }\r\n }\r\n\r\n static async markRead(id: number): Promise {\r\n const result = await fetch(`/api/Alert/${id}/Read`, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-type': 'application/json; charset=UTF-8',\r\n },\r\n })\r\n return (await result.json()) as boolean\r\n }\r\n static async markUnRead(id: number): Promise {\r\n const result = await fetch(`/api/Alert/${id}/UnRead`, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-type': 'application/json; charset=UTF-8',\r\n },\r\n })\r\n return (await result.json()) as boolean\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('Modal',{staticClass:\"common-modal\",attrs:{\"showModal\":_vm.showModal}},[_c('ModalBody',[_c('div',{staticClass:\"common-title\"},[_vm._v(\" \"+_vm._s(_vm.message)+\" \")]),_c('div',{staticClass:\"common-actions-container\"},[_c('button',{staticClass:\"common-confirm-button\",on:{\"click\":function($event){return _vm.$emit('close')}}},[_vm._v(\" OK \")])])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport '../../styles/common-modal.css'\r\nimport Modal from './modal/Modal.vue'\r\nimport ModalBody from './modal/ModalBody.vue'\r\nimport Vue from 'vue'\r\n\r\nexport default Vue.extend({\r\n props: {\r\n showModal: {\r\n type: Boolean,\r\n required: true,\r\n },\r\n message: {\r\n type: String,\r\n required: true,\r\n },\r\n },\r\n components: { Modal, ModalBody },\r\n name: 'OkModal',\r\n})\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./OkModal.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./OkModal.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OkModal.vue?vue&type=template&id=ac10ebde&\"\nimport script from \"./OkModal.vue?vue&type=script&lang=ts&\"\nexport * from \"./OkModal.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue } from 'vue-property-decorator'\r\nimport '../../styles/view-tile.css'\r\nimport { Alerts } from '../../dataLayer/Alerts'\r\nimport IAlert from '../../viewModel/IAlert'\r\nimport RemoveItemModal from '../general/RemoveItemModal.vue'\r\nimport OkModal from '../general/OkModal.vue'\r\nimport moment from 'moment'\r\n\r\ninterface IData {\r\n removeItem: IAlert\r\n showRemoveModal: boolean\r\n showRemoveErrorModal: boolean\r\n alerts: IAlert[]\r\n isAdmin: boolean\r\n loading: boolean\r\n headers: { text: string; value: string }[]\r\n}\r\n\r\nexport default Vue.extend({\r\n components: { RemoveItemModal, OkModal },\r\n name: 'AdminAlertList',\r\n data: function (): IData {\r\n return {\r\n removeItem: {} as IAlert,\r\n showRemoveModal: false,\r\n showRemoveErrorModal: false,\r\n alerts: [] as IAlert[],\r\n isAdmin: false,\r\n loading: true,\r\n headers: [\r\n { text: 'Id', value: 'id' },\r\n { text: 'Title', value: 'title' },\r\n { text: 'Tags', value: 'tags' },\r\n { text: 'Event Start Date', value: 'startDate' },\r\n { text: 'Event End Date', value: 'endDate' },\r\n { text: 'Start Displaying On', value: 'startDisplayingOn' },\r\n { text: 'Stop Displaying On', value: 'stopDisplayingOn' },\r\n { text: 'Actions', value: 'actions' },\r\n ],\r\n }\r\n },\r\n mounted: async function (): Promise {\r\n await this.loadData()\r\n this.$root.$on('alerts-modified', () => {\r\n this.loadData()\r\n })\r\n },\r\n props: {\r\n tags: {\r\n type: Array,\r\n required: true,\r\n },\r\n alertTags: {\r\n type: Array,\r\n required: true,\r\n },\r\n },\r\n filters: {\r\n formatDate(date) {\r\n return moment(date).format('yyyy-MM-DD')\r\n },\r\n convertToTags(item) {\r\n return item.tags\r\n .map((x) => item.tagItems.find((y) => y.id === x).name)\r\n .join(', ')\r\n },\r\n },\r\n watch: {\r\n tags: async function () {\r\n await this.loadData()\r\n },\r\n },\r\n methods: {\r\n loadData: async function () {\r\n this.loading = true\r\n const viewModel = await Alerts.loadAlerts(\r\n this.tags as number[],\r\n false,\r\n false\r\n )\r\n this.alerts = viewModel.alerts\r\n for (const alert of this.alerts) {\r\n alert.tagItems = this.alertTags\r\n }\r\n this.isAdmin = viewModel.isAdmin\r\n this.loading = false\r\n },\r\n deleteItem(alert: IAlert) {\r\n this.removeItem = alert\r\n this.showRemoveModal = true\r\n },\r\n editItem(alert) {\r\n this.$emit('onEdit', alert)\r\n },\r\n deleteAlert: async function () {\r\n const result = await fetch(`/api/Alerts/${this.removeItem.id}`, {\r\n method: 'DELETE',\r\n headers: {\r\n 'Content-type': 'application/json; charset=UTF-8',\r\n },\r\n })\r\n if (result.ok) {\r\n this.alerts = this.alerts.filter(\r\n (alert: IAlert) => alert.id !== this.removeItem.id\r\n )\r\n this.removeItem = {} as IAlert\r\n } else {\r\n this.showRemoveErrorModal = true\r\n }\r\n this.showRemoveModal = false\r\n },\r\n closeRemoveModal() {\r\n this.showRemoveModal = false\r\n this.removeItem = {} as IAlert\r\n },\r\n closeOkModal() {\r\n this.removeItem = {} as IAlert\r\n this.showRemoveErrorModal = false\r\n },\r\n },\r\n})\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AdminAlertList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AdminAlertList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AdminAlertList.vue?vue&type=template&id=74554bc4&\"\nimport script from \"./AdminAlertList.vue?vue&type=script&lang=ts&\"\nexport * from \"./AdminAlertList.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\ninstallComponents(component, {VDataTable,VIcon,VProgressLinear})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.loading)?_c('v-progress-linear',{staticStyle:{\"margin-top\":\"10px\"},attrs:{\"indeterminate\":\"\",\"color\":\"#4A3046\"}}):_vm._e(),_c('div',{staticClass:\"alert-tile-display\"},_vm._l((_vm.alerts),function(curAlert){return _c('div',{key:curAlert.id,staticClass:\"view-body\"},[(!_vm.loading)?_c('AlertThumbnail',{attrs:{\"alert\":curAlert,\"alertTags\":_vm.alertTags}}):_vm._e()],1)}),0),(!_vm.loading && _vm.alerts.length === 0)?_c('div',[_c('div',{staticClass:\"alert alert-info\",attrs:{\"role\":\"alert\"}},[_vm._v(\"No matching alerts\")])]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{staticStyle:{\"margin-bottom\":\"20px\"},attrs:{\"max-width\":\"325\",\"min-height\":\"400\"}},[_c('img',{staticStyle:{\"max-width\":\"325px\",\"max-height\":\"85px\",\"min-height\":\"85px\"},attrs:{\"src\":_vm.imageUrl,\"alt\":\"cover image\"}}),_c('div',{staticClass:\"alert-date\"},[_vm._v(\" \"+_vm._s(_vm._f(\"formatDate\")(_vm.alert.startDate))+\" \"),(_vm.showEndDate)?_c('span',[_vm._v(\"- \"+_vm._s(_vm._f(\"formatDate\")(_vm.alert.endDate)))]):_vm._e()]),_c('v-card-title',{staticStyle:{\"word-break\":\"break-word\",\"min-height\":\"96px\",\"align-items\":\"start\"}},[_vm._v(_vm._s(_vm.alert.title))]),_c('v-card-text',[_c('div',{staticClass:\"view-description\",staticStyle:{\"min-height\":\"175px\",\"max-height\":\"175px\",\"margin-bottom\":\"10px\"},domProps:{\"innerHTML\":_vm._s(_vm.alert.shortContent)}}),_c('v-row',{staticStyle:{\"min-height\":\"50px\",\"max-height\":\"50px\",\"overflow\":\"hidden\"}},_vm._l((_vm.alert.tags),function(tag){return _c('v-chip',{key:tag,staticClass:\"ma-2\"},[_vm._v(\" \"+_vm._s((_vm.alertTags.find(function (t) { return t.id === tag; }) || {}).name)+\" \")])}),1)],1),_c('v-card-actions',[_c('v-row',[_c('v-col',[_c('router-link',{attrs:{\"to\":(\"/AlertDetail/\" + (_vm.alert.id) + \"?from=\" + (_vm.getFromUrl()))},nativeOn:{\"click\":function($event){return _vm.scrollToTop.apply(null, arguments)}}},[(_vm.showView)?_c('div',{staticClass:\"view-action\"},[_c('span',{staticClass:\"text-uppercase\"},[_vm._v(\" View \"),_c('CIcon',{attrs:{\"content\":_vm.arrowIcon}})],1)]):_vm._e()])],1),_c('v-col',[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.alert.alertRead),expression:\"!alert.alertRead\"}],staticClass:\"view-read\",attrs:{\"title\":\"Mark Read\"},on:{\"click\":function($event){return _vm.markRead(_vm.alert.id)}}},[_vm._v(\" NEW \"),_c('v-icon',[_vm._v(\"mdi-email-check-outline\")])],1)])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import moment from 'moment'\r\n\r\nexport default {\r\n formatDate: function (date: string): string {\r\n return moment(date).format('MMM. DD YYYY')\r\n },\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport '../../styles/view-tile.css'\r\nimport '../../styles/alert-tile.css'\r\nimport Vue, { PropOptions } from 'vue'\r\nimport Format from '../../util/Format'\r\nimport IAlert from '@/viewModel/IAlert'\r\nimport { Alerts } from '@/dataLayer/Alerts'\r\nimport moment from 'moment'\r\nimport { CIcon } from '@coreui/icons-vue'\r\nimport { cilArrowRight } from '@coreui/icons-pro'\r\n\r\nexport default Vue.extend({\r\n data() {\r\n return {\r\n imageUrl: '/img/wide-placeholder-image.png',\r\n arrowIcon: cilArrowRight,\r\n formatDateFn: (strDate: string) => Format.formatDate(strDate),\r\n }\r\n },\r\n components: {\r\n CIcon,\r\n },\r\n props: {\r\n alert: {\r\n type: Object,\r\n required: true,\r\n } as PropOptions,\r\n alertTags: {\r\n type: Array,\r\n required: true,\r\n } as PropOptions<{ id: number; name: string }[]>,\r\n showRead: {\r\n type: Boolean,\r\n required: false,\r\n default: true,\r\n } as PropOptions,\r\n showView: {\r\n type: Boolean,\r\n required: false,\r\n default: true,\r\n } as PropOptions,\r\n },\r\n mounted: async function () {\r\n if (this.alert.imageUrl) {\r\n try {\r\n const canLoadImage = await fetch(this.alert.imageUrl)\r\n\r\n if (canLoadImage.ok) this.imageUrl = this.alert.imageUrl\r\n } catch {\r\n // continue with default\r\n }\r\n }\r\n },\r\n filters: {\r\n formatDate(date) {\r\n return moment(date).format('yyyy-MM-DD')\r\n },\r\n },\r\n computed: {\r\n showEndDate: function () {\r\n return (\r\n this.alertDate &&\r\n moment(this.alert.endDate).format('yyyy-MM-DD') !==\r\n moment(this.alert.startDate).format('yyyy-MM-DD')\r\n )\r\n },\r\n },\r\n methods: {\r\n scrollToTop() {\r\n window.scrollTo(0, 0)\r\n },\r\n getFromUrl() {\r\n return this.$route.path\r\n },\r\n async markRead(id: number) {\r\n await Alerts.markRead(id)\r\n this.$emit('alert-read', id)\r\n window.location.reload();\r\n },\r\n },\r\n name: 'AlertThumbnail',\r\n})\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AlertThumbnail.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AlertThumbnail.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AlertThumbnail.vue?vue&type=template&id=116697ce&\"\nimport script from \"./AlertThumbnail.vue?vue&type=script&lang=ts&\"\nexport * from \"./AlertThumbnail.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardActions,VCardText,VCardTitle,VChip,VCol,VIcon,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue, { PropOptions } from 'vue'\r\nimport '../../styles/view-tile.css'\r\nimport '../../styles/user-alert-list.css'\r\nimport { Alerts } from '../../dataLayer/Alerts'\r\nimport IAlert from '../../viewModel/IAlert'\r\nimport AlertThumbnail from './AlertThumbnail.vue'\r\n\r\ninterface IData {\r\n removeItem: IAlert\r\n showRemoveModal: boolean\r\n showRemoveErrorModal: boolean\r\n alerts: IAlert[]\r\n isAdmin: boolean\r\n loading: boolean\r\n}\r\n\r\nexport default Vue.extend({\r\n components: { AlertThumbnail },\r\n name: 'UserAlertList',\r\n data: function (): IData {\r\n return {\r\n removeItem: {} as IAlert,\r\n showRemoveModal: false,\r\n showRemoveErrorModal: false,\r\n alerts: [] as IAlert[],\r\n isAdmin: false,\r\n loading: true,\r\n }\r\n },\r\n mounted: async function (): Promise {\r\n await this.loadData()\r\n this.$root.$on('alerts-modified', () => {\r\n this.loadData()\r\n })\r\n },\r\n props: {\r\n tags: {\r\n type: Array,\r\n required: true,\r\n },\r\n alertTags: { type: Array, required: true } as PropOptions<\r\n { id: string; name: string }[]\r\n >,\r\n showAll: {\r\n type: Boolean,\r\n required: false\r\n }\r\n },\r\n watch: {\r\n tags: async function () {\r\n await this.loadData()\r\n },\r\n },\r\n methods: {\r\n loadData: async function () {\r\n this.loading = true\r\n const viewModel = await Alerts.loadAlerts(\r\n this.tags as number[],\r\n false,\r\n !this.showAll\r\n )\r\n this.alerts = viewModel.alerts\r\n this.isAdmin = viewModel.isAdmin\r\n this.loading = false\r\n },\r\n },\r\n})\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserAlertList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserAlertList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UserAlertList.vue?vue&type=template&id=23d2e260&\"\nimport script from \"./UserAlertList.vue?vue&type=script&lang=ts&\"\nexport * from \"./UserAlertList.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\ninstallComponents(component, {VProgressLinear})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('Modal',{staticClass:\"add-alert-modal\",attrs:{\"showModal\":_vm.showModal}},[_c('div',{staticClass:\"modal-header\"},[_c('div',{staticClass:\"modal-exit-icon\",on:{\"click\":_vm.close}},[_c('CIcon',{attrs:{\"content\":_vm.exitIcon}})],1)]),_c('ModalBody',[_c('div',{staticClass:\"add-alert-title\"},[_vm._v(\" \"+_vm._s(_vm.type === 'add' ? 'Add' : 'Edit')+\" Alert \")]),_c('ImagePicker',{attrs:{\"imageUrl\":_vm.alertProp ? _vm.alertProp.imageUrl : null},on:{\"selection-changed\":_vm.onFilePicked}}),_c('v-container',[_c('v-row',[_c('v-col',[_c('v-text-field',{attrs:{\"error-messages\":_vm.titleErrors,\"label\":\"Title\",\"required\":\"\",\"outlined\":\"\",\"dense\":\"\"},model:{value:(_vm.title),callback:function ($$v) {_vm.title=$$v},expression:\"title\"}})],1)],1),_c('v-row',[_c('v-col',[_c('DatePicker',{attrs:{\"label\":\"Event Date\",\"minDate\":new Date(),\"errors\":_vm.startDateErrors},model:{value:(_vm.startDate),callback:function ($$v) {_vm.startDate=$$v},expression:\"startDate\"}}),_c('v-switch',{attrs:{\"label\":\"Display on calendar\"},model:{value:(_vm.displayOnCalendar),callback:function ($$v) {_vm.displayOnCalendar=$$v},expression:\"displayOnCalendar\"}})],1),_c('v-col',[_c('v-text-field',{attrs:{\"error-messages\":_vm.durationInDaysErrors,\"label\":\"Duration in Days\",\"required\":\"\",\"outlined\":\"\",\"dense\":\"\"},model:{value:(_vm.durationInDays),callback:function ($$v) {_vm.durationInDays=_vm._n($$v)},expression:\"durationInDays\"}})],1)],1),_c('v-row',[_c('v-col',[_c('DatePicker',{attrs:{\"label\":\"Start Displaying On\"},model:{value:(_vm.startDisplayingOn),callback:function ($$v) {_vm.startDisplayingOn=$$v},expression:\"startDisplayingOn\"}})],1),_c('v-col',[_c('DatePicker',{attrs:{\"label\":\"Stop Displaying On\"},model:{value:(_vm.stopDisplayingOn),callback:function ($$v) {_vm.stopDisplayingOn=$$v},expression:\"stopDisplayingOn\"}})],1)],1),_c('v-row',[_c('v-col',[_c('v-combobox',{attrs:{\"items\":_vm.tagItems,\"label\":\"Tags\",\"multiple\":\"\",\"outlined\":\"\",\"dense\":\"\",\"item-value\":\"value\",\"item-text\":\"title\",\"return-object\":\"\"},model:{value:(_vm.tags),callback:function ($$v) {_vm.tags=$$v},expression:\"tags\"}}),_c('QuillEditor',{model:{value:(_vm.content),callback:function ($$v) {_vm.content=$$v},expression:\"content\"}})],1)],1)],1),_c('button',{staticClass:\"add-alert-button\",attrs:{\"disabled\":_vm.saving},on:{\"click\":_vm.submit}},[_vm._v(\" \"+_vm._s(this.type === 'edit' ? 'UPDATE' : 'ADD')+\" \")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(!!_vm.imageData)?_c('img',{staticClass:\"add-alert-populated-image\",attrs:{\"src\":_vm.imageData,\"alt\":\"\"},on:{\"click\":_vm.selectFile}}):_vm._e(),(!_vm.imageData && _vm.imageUrl)?_c('img',{staticClass:\"add-alert-populated-image\",attrs:{\"src\":_vm.imageUrl,\"alt\":\"\"},on:{\"click\":_vm.selectFile}}):_vm._e(),(\n (_vm.imageHeight !== 0 && _vm.imageWidth / _vm.imageHeight > 4.25) ||\n _vm.imageWidth / _vm.imageHeight < 3.75\n )?_c('span',{staticClass:\"image-alert\"},[_c('v-alert',{attrs:{\"border\":\"top\",\"colored-border\":\"\",\"type\":\"info\",\"elevation\":\"2\"}},[_vm._v(\" Images look best if they have a 4:1 aspect ratio. This image has a 1:\"+_vm._s((_vm.imageWidth / _vm.imageHeight).toFixed(2))+\" aspect ratio. \")])],1):_vm._e(),(!_vm.imageData && !_vm.imageUrl)?_c('div',{staticClass:\"add-alert-image-container\",on:{\"click\":_vm.selectFile}},[_c('CIcon',{staticClass:\"add-alert-image\",attrs:{\"content\":_vm.cameraIcon}})],1):_vm._e(),_c('input',{ref:\"fileinput\",staticStyle:{\"display\":\"none\"},attrs:{\"id\":\"file-input\",\"type\":\"file\",\"name\":\"name\",\"accept\":\"image/*\"},on:{\"change\":_vm.fileSelectionChanged}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { CIcon } from '@coreui/icons-vue'\r\nimport { cilCamera, cilX } from '@coreui/icons-pro'\r\nimport Vue from 'vue'\r\n\r\nexport default Vue.extend({\r\n name: 'ImagePicker',\r\n data: function () {\r\n return {\r\n cameraIcon: cilCamera,\r\n xIcon: cilX,\r\n imageData: null,\r\n imageHeight: 0,\r\n imageWidth: 0,\r\n alertProp: null,\r\n }\r\n },\r\n props: {\r\n imageUrl: {\r\n type: String,\r\n default: '',\r\n }\r\n },\r\n methods: {\r\n selectFile: async function (): Promise {\r\n ;(this.$refs.fileinput as HTMLInputElement).click()\r\n },\r\n fileSelectionChanged() {\r\n const files = (this.$refs.fileinput as HTMLInputElement).files\r\n if (files && files[0]) {\r\n const file = files[0]\r\n this.$emit('selection-changed', file)\r\n\r\n //updated preview\r\n this.imageData = URL.createObjectURL(file)\r\n const img = new Image()\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-this-alias\r\n const setDimensions = this.setDimensions\r\n img.onload = function () {\r\n const me = this as any\r\n setDimensions(me.width, me.height)\r\n }\r\n img.src = URL.createObjectURL(file)\r\n }\r\n },\r\n setDimensions(x: number, y: number) {\r\n this.imageWidth = x\r\n this.imageHeight = y\r\n },\r\n },\r\n components: {\r\n CIcon,\r\n },\r\n})\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ImagePicker.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ImagePicker.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ImagePicker.vue?vue&type=template&id=4fd43ec4&\"\nimport script from \"./ImagePicker.vue?vue&type=script&lang=ts&\"\nexport * from \"./ImagePicker.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\ninstallComponents(component, {VAlert})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-menu',{ref:\"menu\",attrs:{\"close-on-content-click\":false,\"transition\":\"scale-transition\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-text-field',_vm._g(_vm._b({attrs:{\"label\":_vm.label,\"outlined\":\"\",\"dense\":\"\",\"readonly\":\"\",\"error-messages\":_vm.errors},model:{value:(_vm.date),callback:function ($$v) {_vm.date=$$v},expression:\"date\"}},'v-text-field',attrs,false),on))]}}]),model:{value:(_vm.menu),callback:function ($$v) {_vm.menu=$$v},expression:\"menu\"}},[_c('v-date-picker',{attrs:{\"min\":_vm.minDate ? _vm.minDate.toISOString().slice(0, 10) : '',\"no-title\":\"\",\"scrollable\":\"\"},model:{value:(_vm.date),callback:function ($$v) {_vm.date=$$v},expression:\"date\"}},[_c('v-spacer'),_c('v-btn',{attrs:{\"text\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){_vm.menu = false}}},[_vm._v(\"Cancel\")]),_c('v-btn',{attrs:{\"text\":\"\",\"color\":\"primary\"},on:{\"click\":_vm.save}},[_vm._v(\"OK\")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from 'vue'\r\nexport default Vue.extend({\r\n props: {\r\n label: {\r\n type: String,\r\n required: false,\r\n },\r\n minDate: {\r\n type: Date,\r\n required: false,\r\n },\r\n value: {\r\n type: String,\r\n required: false,\r\n },\r\n errors: {\r\n type: Array,\r\n required: false,\r\n },\r\n },\r\n name: 'DatePicker',\r\n methods: {\r\n save: function () {\r\n this.menu = false\r\n this.$emit('input', this.date)\r\n },\r\n },\r\n watch: {\r\n value: {\r\n immediate: true,\r\n deep: true,\r\n handler(val) {\r\n if (val) {\r\n this.date = val.substr(0, 10)\r\n }\r\n },\r\n },\r\n },\r\n data() {\r\n return {\r\n menu: false,\r\n date: this.value\r\n ? this.value.substr(0, 10)\r\n : new Date(Date.now() - new Date().getTimezoneOffset() * 60000)\r\n .toISOString()\r\n .substr(0, 10),\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DatePicker.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DatePicker.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DatePicker.vue?vue&type=template&id=05f1413c&\"\nimport script from \"./DatePicker.vue?vue&type=script&lang=ts&\"\nexport * from \"./DatePicker.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VDatePicker } from 'vuetify/lib/components/VDatePicker';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VDatePicker,VMenu,VSpacer,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('quill-editor',{attrs:{\"value\":_vm.content,\"options\":{\n modules: {\n toolbar: [\n [{ header: [2, false] }],\n ['bold', 'italic', 'underline', 'link'],\n [{ list: 'ordered' }, { list: 'bullet' }],\n [{ align: [] }],\n ['clean'] ],\n },\n }},on:{\"change\":_vm.handleInput}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from 'vue'\r\nimport 'quill/dist/quill.core.css'\r\nimport 'quill/dist/quill.snow.css'\r\nimport 'quill/dist/quill.bubble.css'\r\n\r\nimport { quillEditor } from 'vue-quill-editor'\r\nexport default Vue.extend({\r\n props: ['value'],\r\n components: {\r\n quillEditor,\r\n },\r\n data() {\r\n return {\r\n content: this.value,\r\n }\r\n },\r\n methods: {\r\n handleInput(e) {\r\n this.$emit('input', e.html)\r\n },\r\n },\r\n})\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./QuillEditor.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./QuillEditor.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./QuillEditor.vue?vue&type=template&id=2938a40d&\"\nimport script from \"./QuillEditor.vue?vue&type=script&lang=ts&\"\nexport * from \"./QuillEditor.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport '../../styles/add-alert-modal.css'\r\nimport Vue from 'vue'\r\nimport { CIcon } from '@coreui/icons-vue'\r\nimport { cilCamera, cilX } from '@coreui/icons-pro'\r\nimport ImagePicker from '../general/ImagePicker.vue'\r\nimport { validationMixin } from 'vuelidate'\r\nimport { required, integer, minValue } from 'vuelidate/lib/validators'\r\n\r\nimport Modal from '../general/modal/Modal.vue'\r\nimport ModalBody from '../general/modal/ModalBody.vue'\r\nimport { IValidationResult } from '../../util/IValidationResult'\r\nimport DatePicker from '../DatePicker.vue'\r\nimport IAlert from '../../viewModel/IAlert'\r\nimport { Alerts } from '@/dataLayer/Alerts'\r\n\r\nimport 'quill/dist/quill.core.css'\r\nimport 'quill/dist/quill.snow.css'\r\nimport 'quill/dist/quill.bubble.css'\r\n\r\nimport QuillEditor from '../controls/QuillEditor.vue'\r\n\r\ninterface IModel {\r\n cameraIcon: any[]\r\n exitIcon: any[]\r\n errors: string[]\r\n title: string\r\n content: string\r\n startDisplayingOn: string\r\n stopDisplayingOn: string\r\n addToCalendar: boolean\r\n startDate: string\r\n endDate: string\r\n durationInDays: number\r\n tags: { value: number; title: string }[]\r\n saving: boolean\r\n displayOnCalendar: boolean\r\n file: File | undefined\r\n}\r\n\r\nexport default Vue.extend({\r\n mixins: [validationMixin],\r\n validations: {\r\n title: { required },\r\n content: { required },\r\n durationInDays: { required, integer, minValue: minValue(1) },\r\n },\r\n data: (): IModel => {\r\n const curDate = new Date()\r\n const curDateStr = curDate.toISOString().substring(0, 10) // YYYY-MM-DD (required by v-date-picker)\r\n\r\n return {\r\n cameraIcon: cilCamera,\r\n exitIcon: cilX,\r\n errors: [],\r\n title: '',\r\n content: '',\r\n startDisplayingOn: curDateStr,\r\n stopDisplayingOn: curDateStr,\r\n startDate: curDateStr,\r\n endDate: curDateStr,\r\n addToCalendar: false,\r\n durationInDays: 1,\r\n tags: [],\r\n saving: false,\r\n displayOnCalendar: false,\r\n file: undefined,\r\n }\r\n },\r\n props: {\r\n showModal: {\r\n type: Boolean,\r\n required: true,\r\n },\r\n type: {\r\n type: String,\r\n required: true,\r\n },\r\n alertProp: {\r\n type: Object,\r\n required: false,\r\n },\r\n },\r\n watch: {\r\n alertProp: function (val) {\r\n if (val) {\r\n this.title = val.title\r\n this.content = val.content\r\n this.startDate = val.startDate\r\n this.durationInDays = val.durationInDays\r\n this.tags = this.tagItems.filter((x) => val.tags.includes(x.value))\r\n this.startDisplayingOn = val.startDisplayingOn\r\n this.stopDisplayingOn = val.stopDisplayingOn\r\n this.displayOnCalendar = val.displayOnCalendar\r\n }\r\n },\r\n },\r\n\r\n methods: {\r\n submit: async function () {\r\n if (\r\n this.$v.title.$invalid ||\r\n this.$v.content.$invalid ||\r\n this.$v.durationInDays.$invalid\r\n ) {\r\n this.$v.$touch()\r\n return\r\n }\r\n\r\n this.saving = true\r\n try {\r\n const result = await fetch('/api/Alerts', {\r\n method: this.type === 'edit' ? 'PUT' : 'POST',\r\n body: JSON.stringify({\r\n id: this.alertProp && this.alertProp.id ? this.alertProp.id : 0,\r\n title: this.title,\r\n content: this.content,\r\n shortContent: '',\r\n startDate: new Date(this.startDate),\r\n stopDisplayingOn: new Date(this.stopDisplayingOn),\r\n startDisplayingOn: new Date(this.startDisplayingOn),\r\n durationInDays: this.durationInDays,\r\n displayOnCalendar: this.displayOnCalendar,\r\n imageUrl: '',\r\n tags: this.tags.map((x) => x.value),\r\n } as IAlert),\r\n headers: {\r\n 'Content-type': 'application/json; charset=UTF-8',\r\n },\r\n })\r\n if (!result.ok) {\r\n this.errors = await result.json()\r\n } else {\r\n const createdAlert = await result.json()\r\n\r\n if (this.file) {\r\n const uploadImageUrl = createdAlert.uploadImageUrl\r\n\r\n await fetch(uploadImageUrl, {\r\n method: 'PUT',\r\n body: this.file,\r\n headers: {\r\n 'Content-Type': 'image/png',\r\n 'x-ms-blob-type': 'BlockBlob',\r\n },\r\n })\r\n }\r\n\r\n this.close(createdAlert)\r\n }\r\n } finally {\r\n this.saving = false\r\n }\r\n },\r\n onFilePicked: function (file: File) {\r\n this.file = file\r\n },\r\n\r\n close(data: IModel | undefined): void {\r\n this.$emit('close', data)\r\n this.resetData()\r\n },\r\n resetData() {\r\n const curDate = new Date()\r\n const curDateStr = curDate.toISOString().substring(0, 10)\r\n this.title = ''\r\n this.content = ''\r\n this.startDisplayingOn = curDateStr\r\n this.stopDisplayingOn = curDateStr\r\n this.startDate = curDateStr\r\n this.endDate = curDateStr\r\n this.addToCalendar = false\r\n this.durationInDays = 1\r\n this.imageData = ''\r\n this.imageWidth = 0\r\n this.imageHeight = 0\r\n this.tags = []\r\n this.saving = false\r\n this.errors = []\r\n this.displayOnCalendar = false\r\n },\r\n setDimensions(x, y) {\r\n this.imageWidth = x\r\n this.imageHeight = y\r\n },\r\n },\r\n computed: {\r\n tagItems(): { value: number; title: string }[] {\r\n return [\r\n { value: 1, title: 'News' },\r\n { value: 2, title: 'Underwriters' },\r\n { value: 3, title: 'Product Updates' },\r\n { value: 4, title: 'Company Updates' },\r\n { value: 5, title: 'Industry' },\r\n { value: 6, title: 'Compliance' },\r\n ]\r\n },\r\n titleErrors(): string[] {\r\n const errors: string[] = []\r\n\r\n if (this.$v.title.$error) errors.push('Title is required')\r\n return errors\r\n },\r\n contentErrors(): string[] {\r\n const errors: string[] = []\r\n\r\n if (this.$v.content.$error) errors.push('Content is required')\r\n return errors\r\n },\r\n durationInDaysErrors(): string[] {\r\n const errors: string[] = []\r\n\r\n if (this.$v.durationInDays.$error)\r\n errors.push('Duration in Days must be a positive, whole number.')\r\n return errors\r\n },\r\n startDateErrors(): string[] {\r\n return this.errors\r\n .filter((x) => x.propertyName === 'StartDate')\r\n .map((x) => x.errorMessage)\r\n },\r\n },\r\n components: { ImagePicker, CIcon, Modal, ModalBody, DatePicker, QuillEditor },\r\n name: 'AddAlertModal',\r\n})\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AddAlertModal.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AddAlertModal.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddAlertModal.vue?vue&type=template&id=51a22be3&\"\nimport script from \"./AddAlertModal.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddAlertModal.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VCombobox } from 'vuetify/lib/components/VCombobox';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCol,VCombobox,VContainer,VRow,VSwitch,VTextField})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue } from 'vue-property-decorator'\r\nimport ScreenTile from '../components/ScreenTile.vue'\r\nimport AdminAlertList from '../components/alert/AdminAlertList.vue'\r\nimport UserAlertList from '../components/alert/UserAlertList.vue'\r\nimport { CIcon } from '@coreui/icons-vue'\r\nimport { cilAlarmAdd } from '@coreui/icons-pro'\r\nimport AddAlertModal from '@/components/alert/AddAlertModal.vue'\r\nimport { Alerts } from '../dataLayer/Alerts'\r\nimport IAlertTag from '@/viewModel/IAlertTag'\r\nimport { mapState } from 'vuex'\r\nimport IAlert from '@/viewModel/IAlert'\r\n\r\nexport default Vue.extend({\r\n components: {\r\n ScreenTile,\r\n AdminAlertList,\r\n CIcon,\r\n AddAlertModal,\r\n UserAlertList,\r\n },\r\n data: function () {\r\n return {\r\n alertAddIcon: cilAlarmAdd,\r\n showCreateModal: false,\r\n filteredTags: [] as number[],\r\n updateType: 'add',\r\n alertTags: [] as IAlertTag[],\r\n showAdmin: false,\r\n editAlert: undefined as IAlert | undefined,\r\n showAllAlerts: false,\r\n }\r\n },\r\n watch: {\r\n showAllAlerts(value) {\r\n console.log(`Show All Alerts: ${value}`);\r\n //this.showAllToggle();\r\n }\r\n },\r\n async mounted() {\r\n await this.loadAlertTags()\r\n },\r\n computed: {\r\n ...mapState(['user']),\r\n },\r\n methods: {\r\n onCreateModalClosed: async function () {\r\n this.showCreateModal = false\r\n this.alertTags = await Alerts.loadAlertTags()\r\n this.$root.$emit('alerts-modified', null)\r\n },\r\n loadAlertTags: async function () {\r\n this.alertTags = await Alerts.loadAlertTags()\r\n },\r\n toggleTag: function (tagValue: number) {\r\n if (this.filteredTags.includes(tagValue)) {\r\n this.filteredTags = this.filteredTags.filter((x) => x !== tagValue)\r\n } else {\r\n this.filteredTags.push(tagValue)\r\n }\r\n },\r\n toggleTagFlag: function (tagValue: number) {\r\n if (this.filteredTags.includes(tagValue)) {\r\n this.filteredTags = this.filteredTags.filter(function (value) {\r\n return value !== tagValue\r\n })\r\n } else {\r\n this.filteredTags.push(tagValue)\r\n }\r\n },\r\n showAddAlert() {\r\n this.editAlert = undefined\r\n this.updateType = 'add'\r\n this.showCreateModal = true\r\n },\r\n showEditModal(evt) {\r\n this.editAlert = evt\r\n this.updateType = 'edit'\r\n this.showCreateModal = true\r\n },\r\n showAllToggle: function() {\r\n this.$root.$emit('alerts-modified', null)\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UpdatesAndAlerts.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UpdatesAndAlerts.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UpdatesAndAlerts.vue?vue&type=template&id=057bc700&\"\nimport script from \"./UpdatesAndAlerts.vue?vue&type=script&lang=ts&\"\nexport * from \"./UpdatesAndAlerts.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\ninstallComponents(component, {VChip,VSwitch})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('ScreenTile',{attrs:{\"title\":\"iCon Website\",\"subTitle\":\"Agent Portal\"}},[_c('div',[_vm._v(\"This is some dynamic content\")])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\r\nimport { Vue } from 'vue-property-decorator'\r\nimport ScreenTile from '../components/ScreenTile.vue'\r\n\r\nexport default Vue.extend({\r\n components: { ScreenTile },\r\n})\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./IConWebsite.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./IConWebsite.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./IConWebsite.vue?vue&type=template&id=03842af0&\"\nimport script from \"./IConWebsite.vue?vue&type=script&lang=ts&\"\nexport * from \"./IConWebsite.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('ScreenTile',{attrs:{\"title\":\"Calendar\",\"subTitle\":\"Agent Portal\"},scopedSlots:_vm._u([{key:\"buttons\",fn:function(){return [_c('div',[(_vm.user.isAdministrator)?_c('button',{staticClass:\"screen-action\",on:{\"click\":_vm.showAdd}},[_c('CIcon',{attrs:{\"content\":_vm.calendarAddIcon}}),_vm._v(\"Add Event \")],1):_vm._e(),_c('button',{staticClass:\"screen-action\",on:{\"click\":_vm.exportToPDF}},[_c('CIcon',{attrs:{\"content\":_vm.pdfIcon}}),_vm._v(\"Export to PDF \")],1)])]},proxy:true}])},[_c('AddEventModal',{attrs:{\"showModal\":_vm.showModal,\"type\":_vm.addEditType,\"editEvent\":_vm.selectedEvent},on:{\"close\":function($event){_vm.showModal = false},\"refresh\":function($event){return _vm.getEvents()}}}),_c('v-row',{staticClass:\"fill-height\"},[(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\",\"color\":\"#4A3046\"}}):_vm._e(),_c('v-col',[_c('v-sheet',{staticClass:\"hidden-sm-and-down\",attrs:{\"height\":\"64\"}},[_c('v-toolbar',{attrs:{\"flat\":\"\"}},[_c('v-btn',{staticClass:\"mr-4\",attrs:{\"outlined\":\"\",\"color\":\"grey darken-2\"},on:{\"click\":_vm.setToday}},[_vm._v(\"Today\")]),_c('v-btn',{attrs:{\"fab\":\"\",\"text\":\"\",\"small\":\"\",\"color\":\"grey darken-2\"},on:{\"click\":_vm.prev}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"mdi-chevron-left\")])],1),_c('v-btn',{attrs:{\"fab\":\"\",\"text\":\"\",\"small\":\"\",\"color\":\"grey darken-2\"},on:{\"click\":_vm.next}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"mdi-chevron-right\")])],1),_c('v-toolbar-title',[_vm._v(\" \"+_vm._s(_vm.$refs.calendar ? _vm.$refs.calendar.title : ((new Date().toLocaleString('default', { month: 'long', })) + \" \" + (new Date().getFullYear())))+\" \")]),_c('v-spacer'),_c('v-menu',{attrs:{\"bottom\":\"\",\"right\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({attrs:{\"outlined\":\"\",\"color\":\"grey darken-2\"}},'v-btn',attrs,false),on),[_c('span',[_vm._v(_vm._s(_vm.typeToLabel[_vm.type]))]),_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\"mdi-menu-down\")])],1)]}}])},[_c('v-list',[_c('v-list-item',{on:{\"click\":function($event){_vm.type = 'day'}}},[_c('v-list-item-title',[_vm._v(\"Day\")])],1),_c('v-list-item',{on:{\"click\":function($event){_vm.type = 'week'}}},[_c('v-list-item-title',[_vm._v(\"Week\")])],1),_c('v-list-item',{on:{\"click\":function($event){_vm.type = 'month'}}},[_c('v-list-item-title',[_vm._v(\"Month\")])],1)],1)],1)],1)],1),_c('v-sheet',{staticClass:\"hidden-sm-and-up\"},_vm._l((_vm.eventGroupsAfterToday),function(group){return _c('div',{key:group.key},[_c('h3',[_vm._v(_vm._s(_vm.monthName(new Date(group[0].start))))]),_vm._l((group),function(entry){return _c('v-card',{key:entry.id,staticClass:\"event-card\",style:({ 'border-color': entry.color })},[_c('v-card-title',[_c('span',[_vm._v(_vm._s(entry.name))])]),_c('v-card-subtitle',[_vm._v(\" \"+_vm._s(entry.start)+\" \")]),_c('v-card-text',[_vm._v(\" \"+_vm._s(entry.details)+\" \")])],1)})],2)}),0),_c('v-sheet',{staticClass:\"hidden-sm-and-down\",attrs:{\"height\":\"600\"}},[_c('v-calendar',{ref:\"calendar\",attrs:{\"color\":\"primary\",\"type\":_vm.type,\"events\":_vm.events},on:{\"click:event\":_vm.showEvent,\"click:more\":_vm.viewDay,\"click:date\":_vm.viewDay},model:{value:(_vm.focus),callback:function ($$v) {_vm.focus=$$v},expression:\"focus\"}}),_c('div',{staticClass:\"legend\"},_vm._l((_vm.colors),function(color){return _c('span',{key:color.name,staticClass:\"legend-item\"},[_c('div',{staticClass:\"legend-color\",style:('background-color: ' + color.color)}),_c('span',[_vm._v(_vm._s(color.name))])])}),0),_c('v-menu',{attrs:{\"close-on-content-click\":false,\"activator\":_vm.selectedElement,\"offset-x\":\"\"},model:{value:(_vm.selectedOpen),callback:function ($$v) {_vm.selectedOpen=$$v},expression:\"selectedOpen\"}},[(_vm.selectedEvent)?_c('v-card',{attrs:{\"color\":\"grey lighten-4\",\"min-width\":\"350px\",\"flat\":\"\"}},[_c('v-toolbar',{attrs:{\"color\":_vm.selectedEvent.color,\"dark\":\"\"}},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.selectedEvent.name))]),_c('v-spacer')],1),_c('v-card-text',[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.selectedEvent.details)}})]),_c('v-card-actions',[_c('v-btn',{attrs:{\"text\":\"\",\"color\":\"secondary\"},on:{\"click\":function($event){_vm.selectedOpen = false}}},[_vm._v(\"Close\")]),_c('v-btn',{attrs:{\"text\":\"\",\"color\":\"secondary\"},on:{\"click\":function($event){return _vm.exportToICS(_vm.selectedEvent)}}},[_c('CIcon',{attrs:{\"content\":_vm.downloadIcon}}),_vm._v(\"Download\")],1),(_vm.user.isAdministrator && _vm.selectedEvent.id)?_c('v-btn',{attrs:{\"text\":\"\",\"color\":\"secondary\"},on:{\"click\":function($event){return _vm.showEdit(_vm.selectedEvent.id)}}},[_vm._v(\"Edit\")]):_vm._e(),(_vm.user.isAdministrator && _vm.selectedEvent.id)?_c('v-btn',{attrs:{\"text\":\"\",\"color\":\"red\"},on:{\"click\":function($event){return _vm.deleteEvent(_vm.selectedEvent.id)}}},[_vm._v(\"Delete\")]):_vm._e()],1)],1):_vm._e()],1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('Modal',{staticClass:\"add-event-modal\",attrs:{\"showModal\":_vm.showModal}},[_c('div',{staticClass:\"modal-header\"},[_c('div',{staticClass:\"modal-exit-icon\",on:{\"click\":_vm.close}},[_c('CIcon',{attrs:{\"content\":_vm.exitIcon}})],1)]),_c('ModalBody',[_c('div',{staticClass:\"add-event-title\"},[_vm._v(\" \"+_vm._s(_vm.type === 'add' ? 'Add' : 'Edit')+\" Event \")]),_c('v-container',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('DatePicker',{attrs:{\"label\":\"Start Date\"},model:{value:(_vm.date),callback:function ($$v) {_vm.date=$$v},expression:\"date\"}}),_c('DatePicker',{attrs:{\"label\":\"End Date\"},model:{value:(_vm.endDate),callback:function ($$v) {_vm.endDate=$$v},expression:\"endDate\"}}),_c('v-select',{attrs:{\"item-text\":\"name\",\"item-value\":\"id\",\"items\":_vm.categories,\"error-messages\":_vm.categoryErrors,\"label\":\"Category\",\"required\":\"\",\"outlined\":\"\",\"dense\":\"\"},on:{\"change\":_vm.populateTypes,\"click\":function($event){return _vm.$v.selectedCategory.$touch()}},model:{value:(_vm.selectedCategory),callback:function ($$v) {_vm.selectedCategory=$$v},expression:\"selectedCategory\"}}),(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\",\"color\":\"#4A3046\"}}):_vm._e(),_c('v-select',{attrs:{\"item-text\":\"name\",\"item-value\":\"id\",\"items\":_vm.types,\"error-messages\":_vm.typeErrors,\"label\":\"Type\",\"required\":\"\",\"outlined\":\"\",\"dense\":\"\"},on:{\"click\":function($event){return _vm.$v.eventTypeId.$touch()}},model:{value:(_vm.eventTypeId),callback:function ($$v) {_vm.eventTypeId=$$v},expression:\"eventTypeId\"}}),_c('v-text-field',{attrs:{\"error-messages\":_vm.nameErrors,\"label\":\"Name\",\"required\":\"\",\"outlined\":\"\",\"dense\":\"\"},on:{\"input\":function($event){return _vm.$v.name.$touch()},\"blur\":function($event){return _vm.$v.name.$touch()}},model:{value:(_vm.name),callback:function ($$v) {_vm.name=$$v},expression:\"name\"}}),_c('QuillEditor',{model:{value:(_vm.description),callback:function ($$v) {_vm.description=$$v},expression:\"description\"}})],1)],1)],1),_c('button',{staticClass:\"add-event-button\",attrs:{\"disabled\":_vm.saving},on:{\"click\":_vm.add}},[_vm._v(\" \"+_vm._s(this.type === 'edit' ? 'UPDATE' : 'ADD')+\" \")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from 'vue'\r\nimport { validationMixin } from 'vuelidate'\r\nimport { required, maxLength } from 'vuelidate/lib/validators'\r\n\r\nimport Modal from '../general/modal/Modal.vue'\r\nimport ModalBody from '../general/modal/ModalBody.vue'\r\nimport DatePicker from '../DatePicker.vue'\r\nimport QuillEditor from '../controls/QuillEditor.vue'\r\nimport { CIcon } from '@coreui/icons-vue'\r\nimport { cilX } from '@coreui/icons-pro'\r\nimport '../../styles/add-event-modal.css'\r\n\r\nexport default Vue.extend({\r\n mixins: [validationMixin],\r\n validations: {\r\n name: { required },\r\n description: { required },\r\n selectedCategory: {\r\n selected: (value) => value !== -1,\r\n },\r\n eventTypeId: {\r\n selected: (value) => value !== -1,\r\n },\r\n },\r\n data() {\r\n return {\r\n name: '',\r\n description: '',\r\n date: new Date().toISOString().substring(0, 10),\r\n endDate: new Date().toISOString().substring(0, 10),\r\n\r\n categories: [],\r\n selectedCategory: -1,\r\n types: [],\r\n eventTypeId: -1,\r\n\r\n exitIcon: cilX,\r\n\r\n saving: false,\r\n loading: false,\r\n }\r\n },\r\n props: {\r\n showModal: {\r\n type: Boolean,\r\n required: true,\r\n },\r\n type: {\r\n type: String,\r\n required: true,\r\n },\r\n editEvent: {\r\n type: Object,\r\n required: false,\r\n },\r\n },\r\n mounted: async function () {\r\n this.categories = await (await fetch('/api/Calendar/Categories')).json()\r\n },\r\n watch: {\r\n editEvent: {\r\n immediate: true,\r\n handler: async function (val) {\r\n if (this.type === 'edit') {\r\n this.name = val.name\r\n this.description = val.details\r\n this.selectedCategory = val.categoryId\r\n this.date = val.start\r\n this.endDate = val.end\r\n await this.populateTypes()\r\n this.eventTypeId = val.typeId\r\n }\r\n },\r\n },\r\n },\r\n methods: {\r\n populateTypes: async function () {\r\n this.loading = true\r\n this.types = await (\r\n await fetch(`/api/Calendar/Categories/${this.selectedCategory}/Types`)\r\n ).json()\r\n this.loading = false\r\n },\r\n close: function () {\r\n this.name = ''\r\n this.description = ''\r\n this.eventTypeId = -1\r\n this.selectedCategory = -1\r\n this.date = new Date().toISOString().substr(0, 10)\r\n this.$v.$reset()\r\n this.$emit('close')\r\n },\r\n add: async function () {\r\n if (\r\n this.$v.name.$invalid ||\r\n this.$v.selectedCategory.$invalid ||\r\n this.$v.eventTypeId.$invalid ||\r\n this.$v.description.$invalid\r\n ) {\r\n this.$v.$touch()\r\n return\r\n }\r\n\r\n this.saving = true\r\n\r\n await fetch('/api/Calendar', {\r\n method: this.type === 'edit' ? 'PUT' : 'POST',\r\n body: JSON.stringify({\r\n id: this.type === 'edit' ? this.editEvent.id : 0,\r\n name: this.name,\r\n description: this.description,\r\n date: this.date,\r\n endDate: this.endDate,\r\n eventTypeId: this.eventTypeId,\r\n }),\r\n })\r\n this.close()\r\n this.$emit('refresh')\r\n this.saving = false\r\n },\r\n },\r\n computed: {\r\n nameErrors() {\r\n const vueInstance = this as any\r\n\r\n const errors: any[] = []\r\n if (!vueInstance.$v.name.$dirty) return errors\r\n !vueInstance.$v.name.required && errors.push('Name is required')\r\n return errors\r\n },\r\n categoryErrors() {\r\n const vueInstance = this as any\r\n\r\n const errors: any[] = []\r\n if (!vueInstance.$v.selectedCategory.$dirty) return errors\r\n !vueInstance.$v.selectedCategory.selected &&\r\n errors.push('Category is required')\r\n return errors\r\n },\r\n typeErrors() {\r\n const vueInstance = this as any\r\n\r\n const errors: any[] = []\r\n if (!vueInstance.$v.eventTypeId.$dirty) return errors\r\n !vueInstance.$v.eventTypeId.selected && errors.push('Type is required')\r\n return errors\r\n },\r\n descriptionErrors() {\r\n const vueInstance = this as any\r\n\r\n const errors: any[] = []\r\n if (!vueInstance.$v.description.$dirty) return errors\r\n !vueInstance.$v.description.maxLength &&\r\n errors.push(\r\n `Description length can't exceed ${vueInstance.$v.description.$params.maxLength.max} characters`\r\n )\r\n return errors\r\n },\r\n },\r\n components: { CIcon, Modal, ModalBody, DatePicker, QuillEditor },\r\n name: 'AddEventModal',\r\n})\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AddEventModal.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AddEventModal.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddEventModal.vue?vue&type=template&id=12d50db2&\"\nimport script from \"./AddEventModal.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddEventModal.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCol,VContainer,VProgressLinear,VRow,VSelect,VTextField})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue } from 'vue-property-decorator'\r\nimport { CIcon } from '@coreui/icons-vue'\r\nimport {\r\n cilCalendarPlus,\r\n cilFilePdf,\r\n cilDataTransferDown,\r\n} from '@coreui/icons-pro'\r\nimport ScreenTile from '../components/ScreenTile.vue'\r\nimport AddEventModal from '../components/calendar/AddEventModal.vue'\r\nimport { mapState } from 'vuex'\r\nimport '../styles/calendar.css'\r\nimport * as _ from 'lodash'\r\n\r\ninterface IEvent {\r\n name: string\r\n start: Date\r\n end: Date\r\n color: string\r\n timed: boolean\r\n details: string\r\n}\r\n\r\nexport default Vue.extend({\r\n components: { ScreenTile, CIcon, AddEventModal },\r\n data: function () {\r\n return {\r\n focus: '',\r\n type: 'month',\r\n typeToLabel: {\r\n month: 'Month',\r\n week: 'Week',\r\n day: 'Day',\r\n } as {\r\n [key: string]: string\r\n },\r\n selectedEvent: null as any,\r\n selectedElement: null as any,\r\n selectedOpen: false,\r\n events: [] as IEvent[],\r\n showModal: false,\r\n addEditType: 'edit',\r\n calendarAddIcon: cilCalendarPlus,\r\n downloadIcon: cilDataTransferDown,\r\n pdfIcon: cilFilePdf,\r\n colors: [\r\n { name: 'Extension payments', color: '#2F353A' },\r\n { name: 'Tax estimates', color: '#005EB8' },\r\n { name: 'Annual BRT/Renewal', color: '#5867CF' },\r\n {\r\n name: 'Deadline Reinsurance Distribution Request',\r\n color: '#5A7631',\r\n },\r\n { name: 'Remittance Close', color: '#95B466' },\r\n { name: 'Holiday', color: '#FED201' },\r\n { name: 'Special Event', color: '#f44336' },\r\n { name: 'Filing Deadline', color: '#00bcd4' },\r\n ],\r\n loading: false,\r\n }\r\n },\r\n async mounted() {\r\n if (this.$refs.calendar) {\r\n ;(this.$refs.calendar as any).updateTimes()\r\n this.focus = ''\r\n this.loading = true\r\n await this.getEvents()\r\n this.loading = false\r\n }\r\n },\r\n computed: {\r\n ...mapState(['user']),\r\n eventsAfterToday: function () {\r\n if (!this || !this.events) return []\r\n return this.events\r\n .filter(\r\n (event) => new Date(event.start).getTime() > new Date().getTime()\r\n )\r\n .sort((a, b) => (a.start < b.start ? -1 : 1))\r\n },\r\n eventGroupsAfterToday: function () {\r\n return _.groupBy(\r\n this.eventsAfterToday,\r\n (e) =>\r\n `${new Date(e.start).getFullYear()}-${new Date(e.start).getMonth()}`\r\n )\r\n },\r\n },\r\n methods: {\r\n getEvents: async function () {\r\n const serverEvents = await (await fetch('/api/Calendar')).json()\r\n this.events = serverEvents.map((x: any) => ({\r\n name: x.name,\r\n start: x.date.split('T')[0],\r\n end: x.endDate ? x.endDate.split('T')[0] : x.date.split('T')[0],\r\n color: x.color,\r\n timed: false,\r\n id: x.id,\r\n details: x.description,\r\n categoryId: x.categoryId,\r\n typeId: x.typeId,\r\n }))\r\n const today = new Date()\r\n const today_year = `0000${today.getFullYear().toString()}`.slice(-4)\r\n const today_month = `00${(today.getMonth() + 1).toString()}`.slice(-2)\r\n const today_day = `00${today.getDate().toString()}`.slice(-2)\r\n const todayFormatted = `${today_year}-${today_month}-${today_day}`\r\n this.events.push({\r\n name: 'Today',\r\n start: todayFormatted,\r\n end: todayFormatted,\r\n color: 'blue',\r\n timed: false,\r\n details: \"It's today! Make it the best day you can make it\",\r\n })\r\n },\r\n deleteEvent: async function (id: number) {\r\n await (await fetch(`/api/Calendar/${id}`, { method: 'delete' })).json()\r\n this.selectedOpen = false\r\n this.getEvents()\r\n },\r\n showAdd: async function () {\r\n this.addEditType = 'add'\r\n this.showModal = true\r\n },\r\n showEdit: async function () {\r\n this.selectedOpen = false\r\n this.addEditType = 'edit'\r\n this.showModal = true\r\n },\r\n setToday() {\r\n this.focus = ''\r\n },\r\n prev() {\r\n if (this.$refs.calendar) (this.$refs.calendar as any).prev()\r\n },\r\n next() {\r\n if (this.$refs.calendar) (this.$refs.calendar as any).next()\r\n },\r\n viewDay({ date }: { date: string }) {\r\n this.focus = date\r\n this.type = 'day'\r\n },\r\n exportToPDF: function () {\r\n window.open('/api/Calendar/Export')\r\n },\r\n exportToICS: function (event) {\r\n ;(this as any).$ics.removeAllEvents()\r\n const localStart = new Date(event.start)\r\n localStart.setMinutes(\r\n localStart.getMinutes() + localStart.getTimezoneOffset()\r\n )\r\n const localEnd = new Date(event.end)\r\n localEnd.setMinutes(localEnd.getMinutes() + localEnd.getTimezoneOffset())\r\n ;(this as any).$ics.addEvent(\r\n 'en-us',\r\n event.name,\r\n event.details,\r\n '',\r\n localStart,\r\n localEnd\r\n )\r\n ;(this as any).$ics.download(event.name)\r\n },\r\n monthName: function (date) {\r\n return date.toLocaleString('en-US', { month: 'long' })\r\n },\r\n showEvent: async function ({\r\n nativeEvent,\r\n event,\r\n }: {\r\n nativeEvent: Event\r\n event: any\r\n }) {\r\n const open = () => {\r\n this.selectedEvent = event\r\n this.selectedElement = nativeEvent.target\r\n requestAnimationFrame(() =>\r\n requestAnimationFrame(() => {\r\n this.selectedOpen = true\r\n })\r\n )\r\n }\r\n\r\n if (this.selectedOpen) {\r\n this.selectedOpen = false\r\n requestAnimationFrame(() => requestAnimationFrame(() => open()))\r\n } else {\r\n open()\r\n }\r\n nativeEvent.stopPropagation()\r\n },\r\n },\r\n})\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RemittanceCloseCalendar.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RemittanceCloseCalendar.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RemittanceCloseCalendar.vue?vue&type=template&id=23a3fe0a&\"\nimport script from \"./RemittanceCloseCalendar.vue?vue&type=script&lang=ts&\"\nexport * from \"./RemittanceCloseCalendar.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCalendar } from 'vuetify/lib/components/VCalendar';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardSubtitle } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCalendar,VCard,VCardActions,VCardSubtitle,VCardText,VCardTitle,VCol,VIcon,VList,VListItem,VListItemTitle,VMenu,VProgressLinear,VRow,VSheet,VSpacer,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('ScreenTile',{attrs:{\"title\":\"Report\",\"subTitle\":\"Agent Portal\"},scopedSlots:_vm._u([{key:\"buttons\",fn:function(){return [_c('div',[_c('button',{staticClass:\"screen-action\",on:{\"click\":_vm.toggleFavorite}},[(_vm.favoriteStatus)?_c('span',[_c('CIcon',{attrs:{\"content\":_vm.favoritedStarIcon}}),_vm._v(\" Remove from Favorites\")],1):_c('span',[_c('CIcon',{attrs:{\"content\":_vm.standardStarIcon}}),_vm._v(\" Add to Favorites\")],1)])])]},proxy:true}])},[(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\",\"color\":\"#4A3046\"}}):_vm._e(),(_vm.detailedError)?_c('div',{staticStyle:{\"width\":\"100%\"}},[_c('v-alert',{attrs:{\"type\":\"error\"}},[_c('div',[_vm._v(\"Power BI Message: \"+_vm._s(_vm.detailedError))]),_c('p',[_vm._v(\" Frequently this error is seen because the contact id is not set up properly in the report. PBIX reports must expect a role of \\\"DealerAgentUsers\\\" and then use the UserName() to filter the data. \")])])],1):_vm._e(),_c('div',{staticStyle:{\"height\":\"1000px\",\"width\":\"1500px\"},attrs:{\"id\":\"reportdiv\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue } from 'vue-property-decorator'\r\nimport { CIcon } from '@coreui/icons-vue'\r\nimport ScreenTile from '../components/ScreenTile.vue'\r\nimport * as powerbi from 'powerbi-client'\r\nimport { cisStar, cilStar } from '@coreui/icons-pro'\r\n\r\ninterface IToken {\r\n description: string\r\n embedUrl: string\r\n id: string\r\n name: string\r\n token: {\r\n expiration: string\r\n token: string\r\n tokenId: string\r\n }\r\n}\r\n\r\nexport default Vue.extend({\r\n props: {\r\n reportId: {\r\n required: true,\r\n type: String,\r\n },\r\n reportName: {\r\n required: true,\r\n type: String,\r\n },\r\n favorite: {\r\n required: false,\r\n type: Boolean,\r\n },\r\n },\r\n data: function (): {\r\n loading: boolean\r\n favoritedStarIcon: any[]\r\n standardStarIcon: any[]\r\n favoriteOverride: boolean | undefined\r\n detailedError: string | undefined\r\n } {\r\n return {\r\n loading: true,\r\n favoritedStarIcon: cisStar,\r\n standardStarIcon: cilStar,\r\n favoriteOverride: undefined as boolean | undefined,\r\n detailedError: undefined,\r\n }\r\n },\r\n computed: {\r\n favoriteStatus: function (): boolean {\r\n if (this.favoriteOverride !== undefined) {\r\n return this.favoriteOverride\r\n }\r\n return this.favorite\r\n },\r\n },\r\n components: { ScreenTile, CIcon },\r\n methods: {\r\n toggleFavorite: async function () {\r\n if (!this.favoriteStatus) {\r\n await fetch('/api/favorites', {\r\n method: 'POST',\r\n body: JSON.stringify({\r\n reportId: this.reportId,\r\n reportName: this.reportName,\r\n }),\r\n headers: {\r\n 'Content-type': 'application/json; charset=UTF-8',\r\n },\r\n })\r\n this.favoriteOverride = true\r\n } else {\r\n await fetch(`/api/favorites/reports/${this.reportId}`, {\r\n method: 'DELETE',\r\n })\r\n this.favoriteOverride = false\r\n }\r\n },\r\n },\r\n mounted: async function () {\r\n const tokenRequest = await fetch(`/api/reports/${this.reportId}`)\r\n if (tokenRequest.ok) {\r\n const token = (await tokenRequest.json()) as IToken\r\n\r\n const permissions = powerbi.models.Permissions.All\r\n const config = {\r\n visualName: '',\r\n type: 'report',\r\n accessToken: token.token.token, // I'm not changing this, it's awesome\r\n embedUrl: token.embedUrl,\r\n tokenType: powerbi.models.TokenType.Embed,\r\n permissions,\r\n settings: {\r\n panes: {\r\n filters: {\r\n visible: true,\r\n },\r\n pageNavigation: {\r\n visible: true,\r\n },\r\n },\r\n },\r\n }\r\n\r\n // Embed the report and display it within the div container\r\n const embedder = new powerbi.service.Service(\r\n powerbi.factories.hpmFactory,\r\n powerbi.factories.wpmpFactory,\r\n powerbi.factories.routerFactory\r\n )\r\n\r\n const el = document.querySelector('#reportdiv') as HTMLElement\r\n if (el) {\r\n embedder.embed(el, config)\r\n }\r\n } else {\r\n const message = JSON.parse(await tokenRequest.text())\r\n this.detailedError = message.powerBIErrorMessage\r\n }\r\n this.loading = false\r\n },\r\n})\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ReportView.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ReportView.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ReportView.vue?vue&type=template&id=6bfc11ec&\"\nimport script from \"./ReportView.vue?vue&type=script&lang=ts&\"\nexport * from \"./ReportView.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\ninstallComponents(component, {VAlert,VProgressLinear})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('ScreenTile',{attrs:{\"title\":\"Admin Users\",\"subTitle\":\"Agent Portal\"},scopedSlots:_vm._u([{key:\"buttons\",fn:function(){return [_c('div',[_c('button',{staticClass:\"screen-action\",on:{\"click\":function($event){_vm.showAddDialog = true}}},[_c('CIcon',{attrs:{\"content\":_vm.userAddIcon}}),_vm._v(\" Add Admin User \")],1)])]},proxy:true}])},[(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\",\"color\":\"#4A3046\"}}):_vm._e(),_c('v-data-table',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.records,\"items-per-page\":5},scopedSlots:_vm._u([{key:\"item.actions\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('v-icon',{attrs:{\"small\":\"\"},on:{\"click\":function($event){return _vm.openDelete(item)}}},[_vm._v(\" mdi-delete \")])]}}])})],1),_c('RemoveItemModal',{attrs:{\"showModal\":_vm.showDeleteDialog,\"item\":_vm.deleteItem.id ? ((_vm.deleteItem.fullName) + \" as an administrator\") : ''},on:{\"close\":function () {\n _vm.showDeleteDialog = false\n _vm.removeItem = {}\n },\"confirm\":function($event){return _vm.deleteItemOnServer(_vm.deleteItem.id)}}}),_c('AddAdminUserModal',{attrs:{\"showModal\":_vm.showAddDialog},on:{\"close\":_vm.userAdded}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('Modal',{staticClass:\"add-mdresource-modal\",attrs:{\"showModal\":_vm.showModal}},[_c('div',{staticClass:\"modal-header\"},[_c('div',{staticClass:\"modal-exit-icon\",on:{\"click\":_vm.close}},[_c('CIcon',{attrs:{\"content\":_vm.exitIcon}})],1)]),_c('ModalBody',[_c('div',{staticClass:\"add-mdresource-title\"},[_vm._v(\"Add Admin User\")]),_c('v-container',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-autocomplete',{attrs:{\"items\":_vm.items,\"loading\":_vm.loading,\"search-input\":_vm.search,\"color\":\"white\",\"hide-no-data\":\"\",\"hide-selected\":\"\",\"item-text\":\"contactFullName\",\"item-value\":\"contactEmail\",\"label\":\"Users\",\"placeholder\":\"Start typing to Search\",\"prepend-icon\":\"mdi-database-search\",\"return-object\":\"\"},on:{\"update:searchInput\":function($event){_vm.search=$event},\"update:search-input\":function($event){_vm.search=$event}},model:{value:(_vm.selectedItem),callback:function ($$v) {_vm.selectedItem=$$v},expression:\"selectedItem\"}})],1)],1)],1),(_vm.errors && _vm.errors.length > 0)?_c('v-alert',{staticClass:\"validation-errors\",attrs:{\"border\":\"bottom\",\"colored-border\":\"\",\"type\":\"error\",\"elevation\":\"2\"}},[_c('ul',_vm._l((_vm.errors),function(err){return _c('li',{key:err},[_vm._v(_vm._s(err))])}),0)]):_vm._e(),_c('button',{staticClass:\"add-mdresource-button\",on:{\"click\":_vm.add}},[_vm._v(\"ADD\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport '../../styles/add-adminuser-modal.css'\r\nimport Vue from 'vue'\r\nimport Modal from '../general/modal/Modal.vue'\r\nimport ModalBody from '../general/modal/ModalBody.vue'\r\nimport { CIcon } from '@coreui/icons-vue'\r\nimport { cilX } from '@coreui/icons-pro'\r\nimport { IValidationResult } from '../../util/IValidationResult'\r\n\r\nexport default Vue.extend({\r\n name: 'AddAdminUserModal',\r\n data() {\r\n return {\r\n errors: [] as IValidationResult[],\r\n loading: false,\r\n selectedItem: { contactEmail: '' },\r\n exitIcon: cilX,\r\n items: [],\r\n search: '',\r\n }\r\n },\r\n components: { CIcon, Modal, ModalBody },\r\n props: {\r\n showModal: {\r\n type: Boolean,\r\n required: true,\r\n },\r\n },\r\n\r\n methods: {\r\n close: function () {\r\n this.$emit('close')\r\n },\r\n add: async function () {\r\n await fetch('/api/PortalAdmin/Users', {\r\n method: 'POST',\r\n body: JSON.stringify({\r\n email: this.selectedItem.contactEmail,\r\n }),\r\n headers: {\r\n 'Content-type': 'application/json; charset=UTF-8',\r\n },\r\n })\r\n this.$emit('close')\r\n },\r\n },\r\n watch: {\r\n async search(val) {\r\n if (!val) return\r\n if (val.length < 3) return\r\n\r\n if (this.loading) return\r\n\r\n this.loading = true\r\n try {\r\n this.items = await (\r\n await fetch(`/api/PortalAdmin/Users/Search?term=${val}`)\r\n ).json()\r\n } finally {\r\n this.loading = false\r\n }\r\n },\r\n },\r\n})\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AddAdminUserModal.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AddAdminUserModal.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddAdminUserModal.vue?vue&type=template&id=5855ff1c&\"\nimport script from \"./AddAdminUserModal.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddAdminUserModal.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAlert,VAutocomplete,VCol,VContainer,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue } from 'vue-property-decorator'\r\nimport ScreenTile from '../components/ScreenTile.vue'\r\nimport RemoveItemModal from '../components/general/RemoveItemModal.vue'\r\nimport { CIcon } from '@coreui/icons-vue'\r\nimport { cilUserFemalePlus } from '@coreui/icons-pro'\r\nimport AddAdminUserModal from '../components/adminUsers/AddAdminUserModal.vue'\r\n\r\ninterface Item {\r\n id: number\r\n fullName: string\r\n}\r\n\r\nexport default Vue.extend({\r\n data: function () {\r\n return {\r\n loading: true,\r\n showDeleteDialog: false,\r\n showAddDialog: false,\r\n deleteItem: { id: 0, fullName: '' },\r\n records: [],\r\n headers: [\r\n { text: 'Email', value: 'email' },\r\n { text: 'Full Name', value: 'fullName' },\r\n { text: 'Created By', value: 'createdBy' },\r\n { text: 'Created On', value: 'createdDate' },\r\n { text: 'Actions', value: 'actions', sortable: false },\r\n ],\r\n userAddIcon: cilUserFemalePlus,\r\n }\r\n },\r\n mounted: async function () {\r\n this.records = await (await fetch('/api/portaladmin/users')).json()\r\n this.loading = false\r\n },\r\n methods: {\r\n openDelete(item: Item) {\r\n this.showDeleteDialog = true\r\n this.deleteItem = item\r\n },\r\n async deleteItemOnServer(id: number) {\r\n await (\r\n await fetch(`/api/portaladmin/users/${id}`, {\r\n method: 'DELETE',\r\n })\r\n ).json()\r\n this.loading = true\r\n this.records = await (await fetch('/api/portaladmin/users')).json()\r\n this.loading = false\r\n this.showDeleteDialog = false\r\n },\r\n async userAdded() {\r\n this.loading = true\r\n this.records = await (await fetch('/api/portaladmin/users')).json()\r\n this.loading = false\r\n this.showAddDialog = false\r\n },\r\n },\r\n components: {\r\n ScreenTile,\r\n RemoveItemModal,\r\n CIcon,\r\n AddAdminUserModal,\r\n },\r\n})\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AdminManagement.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AdminManagement.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AdminManagement.vue?vue&type=template&id=be9589ca&\"\nimport script from \"./AdminManagement.vue?vue&type=script&lang=ts&\"\nexport * from \"./AdminManagement.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\ninstallComponents(component, {VDataTable,VIcon,VProgressLinear})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('ScreenTile',{attrs:{\"title\":\"Cost Users\",\"subTitle\":\"Agent Portal\"},scopedSlots:_vm._u([{key:\"buttons\",fn:function(){return [_c('div',[_c('button',{staticClass:\"screen-action\",on:{\"click\":function($event){_vm.showAddDialog = true}}},[_c('CIcon',{attrs:{\"content\":_vm.userAddIcon}}),_vm._v(\" Add Cost User \")],1)])]},proxy:true}])},[(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\",\"color\":\"#4A3046\"}}):_vm._e(),_c('v-data-table',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.records,\"items-per-page\":5},scopedSlots:_vm._u([{key:\"item.actions\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('v-icon',{attrs:{\"small\":\"\"},on:{\"click\":function($event){return _vm.openDelete(item)}}},[_vm._v(\" mdi-delete \")])]}}])})],1),_c('RemoveItemModal',{attrs:{\"showModal\":_vm.showDeleteDialog,\"item\":_vm.deleteItem.id ? ((_vm.deleteItem.fullName) + \" as an cost user\") : ''},on:{\"close\":function () {\n _vm.showDeleteDialog = false\n _vm.removeItem = {}\n },\"confirm\":function($event){return _vm.deleteItemOnServer(_vm.deleteItem.id)}}}),_c('AddCostUserModal',{attrs:{\"showModal\":_vm.showAddDialog},on:{\"close\":_vm.userAdded}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('Modal',{staticClass:\"add-mdresource-modal\",attrs:{\"showModal\":_vm.showModal}},[_c('div',{staticClass:\"modal-header\"},[_c('div',{staticClass:\"modal-exit-icon\",on:{\"click\":_vm.close}},[_c('CIcon',{attrs:{\"content\":_vm.exitIcon}})],1)]),_c('ModalBody',[_c('div',{staticClass:\"add-mdresource-title\"},[_vm._v(\"Add Cost User\")]),_c('v-container',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-autocomplete',{attrs:{\"items\":_vm.items,\"loading\":_vm.loading,\"search-input\":_vm.search,\"color\":\"white\",\"hide-no-data\":\"\",\"hide-selected\":\"\",\"item-text\":\"contactFullName\",\"item-value\":\"contactEmail\",\"label\":\"Users\",\"placeholder\":\"Start typing to Search\",\"prepend-icon\":\"mdi-database-search\",\"return-object\":\"\"},on:{\"update:searchInput\":function($event){_vm.search=$event},\"update:search-input\":function($event){_vm.search=$event}},model:{value:(_vm.selectedItem),callback:function ($$v) {_vm.selectedItem=$$v},expression:\"selectedItem\"}})],1)],1)],1),(_vm.errors && _vm.errors.length > 0)?_c('v-alert',{staticClass:\"validation-errors\",attrs:{\"border\":\"bottom\",\"colored-border\":\"\",\"type\":\"error\",\"elevation\":\"2\"}},[_c('ul',_vm._l((_vm.errors),function(err){return _c('li',{key:err},[_vm._v(_vm._s(err))])}),0)]):_vm._e(),_c('button',{staticClass:\"add-mdresource-button\",on:{\"click\":_vm.add}},[_vm._v(\"ADD\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport '../../styles/add-adminuser-modal.css'\r\nimport Vue from 'vue'\r\nimport Modal from '../general/modal/Modal.vue'\r\nimport ModalBody from '../general/modal/ModalBody.vue'\r\nimport { CIcon } from '@coreui/icons-vue'\r\nimport { cilX } from '@coreui/icons-pro'\r\nimport { IValidationResult } from '../../util/IValidationResult'\r\n\r\nexport default Vue.extend({\r\n name: 'AddCostUserModal',\r\n data() {\r\n return {\r\n errors: [] as IValidationResult[],\r\n loading: false,\r\n selectedItem: { contactEmail: '' },\r\n exitIcon: cilX,\r\n items: [],\r\n search: '',\r\n }\r\n },\r\n components: { CIcon, Modal, ModalBody },\r\n props: {\r\n showModal: {\r\n type: Boolean,\r\n required: true,\r\n },\r\n },\r\n\r\n methods: {\r\n close: function () {\r\n this.$emit('close')\r\n },\r\n add: async function () {\r\n await fetch('/api/CostUsers/Users', {\r\n method: 'POST',\r\n body: JSON.stringify({\r\n email: this.selectedItem.contactEmail,\r\n }),\r\n headers: {\r\n 'Content-type': 'application/json; charset=UTF-8',\r\n },\r\n })\r\n this.$emit('close')\r\n },\r\n },\r\n watch: {\r\n async search(val) {\r\n if (!val) return\r\n if (val.length < 3) return\r\n\r\n if (this.loading) return\r\n\r\n this.loading = true\r\n try {\r\n this.items = await (\r\n await fetch(`/api/CostUsers/Users/Search?term=${val}`)\r\n ).json()\r\n } finally {\r\n this.loading = false\r\n }\r\n },\r\n },\r\n})\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AddCostUserModal.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AddCostUserModal.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddCostUserModal.vue?vue&type=template&id=06b5f9dc&\"\nimport script from \"./AddCostUserModal.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddCostUserModal.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAlert,VAutocomplete,VCol,VContainer,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue } from 'vue-property-decorator'\r\nimport ScreenTile from '../components/ScreenTile.vue'\r\nimport RemoveItemModal from '../components/general/RemoveItemModal.vue'\r\nimport { CIcon } from '@coreui/icons-vue'\r\nimport { cilUserFemalePlus } from '@coreui/icons-pro'\r\nimport AddCostUserModal from '../components/costUsers/AddCostUserModal.vue'\r\n\r\ninterface Item {\r\n id: number\r\n fullName: string\r\n}\r\n\r\nexport default Vue.extend({\r\n data: function () {\r\n return {\r\n loading: true,\r\n showDeleteDialog: false,\r\n showAddDialog: false,\r\n deleteItem: { id: 0, fullName: '' },\r\n records: [],\r\n headers: [\r\n { text: 'Email', value: 'email' },\r\n { text: 'Full Name', value: 'fullName' },\r\n { text: 'Created By', value: 'createdBy' },\r\n { text: 'Created On', value: 'createdDate' },\r\n { text: 'Actions', value: 'actions', sortable: false },\r\n ],\r\n userAddIcon: cilUserFemalePlus,\r\n }\r\n },\r\n mounted: async function () {\r\n this.records = await (await fetch('/api/costusers/users')).json()\r\n this.loading = false\r\n },\r\n methods: {\r\n openDelete(item: Item) {\r\n this.showDeleteDialog = true\r\n this.deleteItem = item\r\n },\r\n async deleteItemOnServer(id: number) {\r\n await (\r\n await fetch(`/api/costusers/users/${id}`, {\r\n method: 'DELETE',\r\n })\r\n ).json()\r\n this.loading = true\r\n this.records = await (await fetch('/api/costusers/users')).json()\r\n this.loading = false\r\n this.showDeleteDialog = false\r\n },\r\n async userAdded() {\r\n this.loading = true\r\n this.records = await (await fetch('/api/costusers/users')).json()\r\n this.loading = false\r\n this.showAddDialog = false\r\n },\r\n },\r\n components: {\r\n ScreenTile,\r\n RemoveItemModal,\r\n CIcon,\r\n AddCostUserModal,\r\n },\r\n})\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CostUserManagement.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CostUserManagement.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CostUserManagement.vue?vue&type=template&id=1d08324d&\"\nimport script from \"./CostUserManagement.vue?vue&type=script&lang=ts&\"\nexport * from \"./CostUserManagement.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\ninstallComponents(component, {VDataTable,VIcon,VProgressLinear})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"login\"},[_c('h1',[_vm._v(\"Login\")]),_c('p',[_vm._v(\" This is a temporary page to allow our developers to actually log into the app without using the shared login page \")]),_c('v-btn',{on:{\"click\":_vm.login}},[_vm._v(\"Login\")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Login.vue?vue&type=template&id=c03bc428&\"\nimport script from \"./Login.vue?vue&type=script&lang=js&\"\nexport * from \"./Login.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\ninstallComponents(component, {VBtn})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('ScreenTile',{attrs:{\"title\":\"Updates\",\"subTitle\":_vm.loading ? '' : _vm.formatDateFn(_vm.alert.startDate.toString())},scopedSlots:_vm._u([{key:\"buttons\",fn:function(){return [_c('button',{staticClass:\"screen-action\",on:{\"click\":_vm.markUnRead}},[_c('v-icon',[_vm._v(\"mdi-email-check-outline\")]),_vm._v(\" Mark As Unread \")],1),_c('button',{staticClass:\"screen-action\",on:{\"click\":_vm.returnToUpdateAlerts}},[_c('v-icon',[_vm._v(\"mdi-email-check-outline\")]),_vm._v(\" Return to Updates & Alerts \")],1)]},proxy:true}])},[(_vm.loading)?_c('v-progress-linear',{staticStyle:{\"margin-top\":\"10px\"},attrs:{\"indeterminate\":\"\",\"color\":\"#4A3046\"}}):_vm._e(),(!_vm.loading)?_c('v-container',{staticStyle:{\"max-width\":\"none\"}},[_c('v-row',[_c('v-col',[_c('router-link',{staticStyle:{\"font-weight\":\"bold\"},attrs:{\"to\":_vm.$route.query.from != undefined ? _vm.$route.query.from : ''}},[_vm._v(_vm._s(_vm.$route.query.from == '' ? 'Home' : 'Updates & Alerts'))]),_c('br'),_c('br'),_c('h1',[_vm._v(_vm._s(_vm.alert.title))]),_c('v-row',[_c('v-col',_vm._l((_vm.applicableTags),function(tag){return _c('v-chip',{key:tag.id,staticStyle:{\"margin-right\":\"5px\"},attrs:{\"color\":_vm.alert.tags.includes(tag.id) ? 'secondary' : null}},[_vm._v(_vm._s(tag.name)+\" \")])}),1)],1),_c('div',{staticClass:\"alert-date\"},[_vm._v(\" \"+_vm._s(_vm._f(\"formatDate\")(_vm.alert.startDate))+\" \"),(_vm.showEndDate)?_c('span',[_vm._v(\"- \"+_vm._s(_vm._f(\"formatDate\")(_vm.alert.endDate)))]):_vm._e()]),(_vm.canLoadImage)?_c('img',{attrs:{\"src\":_vm.alert.imageUrl}}):_vm._e(),_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.alert.content)}})],1)],1),_c('div',{staticStyle:{\"margin-top\":\"20px\"}},[(_vm.relatedAlerts.length > 0)?_c('h4',[_vm._v(\"Related Articles\")]):_vm._e(),_c('AlertList',{attrs:{\"alerts\":_vm.relatedAlerts,\"showBorder\":false,\"showTitle\":false,\"isColumnLayout\":false,\"alertTags\":_vm.alertTags}})],1)],1):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{style:(((_vm.isColumnLayout ? 'max-width:100%;' : 'width:1500px;') + \" border: solid \" + (_vm.showBorder ? 1 : 0) + \"px grey; padding: 3px\"))},[(_vm.alerts)?_c('div',{staticStyle:{\"padding\":\"20px\"}},[(_vm.showTitle && _vm.alerts.length > 0)?_c('div',[_c('h3',[_vm._v(\"Portfolio News\")])]):_vm._e()]):_vm._e(),_c('div',{staticClass:\"alert-tile-display\"},[_vm._l((_vm.alerts),function(alert){return _c('div',{key:alert.id,staticClass:\"view-body\"},[_c('AlertThumbnail',{attrs:{\"alert\":alert,\"alertTags\":_vm.alertTags},on:{\"alert-read\":_vm.markRead}})],1)}),(_vm.alerts.length === 0)?_c('div',{staticClass:\"view-body\"},[_c('AlertThumbnail',{attrs:{\"alert\":{\n id: 0,\n title: 'No News is Good News!',\n shortContent: 'Keep checking here for latest news and updates',\n tags: [],\n createdAt: new Date(),\n imageUrl: '/img/logo.jpg'\n },\"showRead\":false,\"showView\":false}})],1):_vm._e()],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue } from 'vue-property-decorator'\r\nimport '../../styles/view-tile.css'\r\nimport AlertThumbnail from './AlertThumbnail.vue'\r\nimport IAlert from '../../viewModel/IAlert'\r\nimport { PropOptions } from 'vue'\r\nimport IAlertTag from '@/viewModel/IAlertTag'\r\nexport default Vue.extend({\r\n components: { AlertThumbnail },\r\n name: 'AlertList',\r\n props: {\r\n alerts: {\r\n type: Array,\r\n required: true,\r\n } as PropOptions,\r\n alertTags: {\r\n type: Array,\r\n required: true,\r\n } as PropOptions,\r\n showTitle: {\r\n type: Boolean,\r\n required: true,\r\n },\r\n showBorder: {\r\n type: Boolean,\r\n required: true,\r\n },\r\n isColumnLayout: {\r\n type: Boolean,\r\n required: true,\r\n },\r\n },\r\n methods: {\r\n markRead(id: number) {\r\n this.$emit('markRead', id)\r\n },\r\n },\r\n})\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AlertList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AlertList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AlertList.vue?vue&type=template&id=f1610c36&\"\nimport script from \"./AlertList.vue?vue&type=script&lang=ts&\"\nexport * from \"./AlertList.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Alerts } from '@/dataLayer/Alerts'\r\nimport IAlert from '@/viewModel/IAlert'\r\nimport AlertList from '@/components/alert/AlertList.vue'\r\nimport { Vue } from 'vue-property-decorator'\r\nimport ScreenTile from '../components/ScreenTile.vue'\r\nimport '../styles/alert-detail.css'\r\nimport Format from '@/util/Format'\r\nimport IAlertTag from '@/viewModel/IAlertTag'\r\nimport moment from 'moment'\r\n\r\nexport default Vue.extend({\r\n data: function () {\r\n return {\r\n alert: {} as IAlert,\r\n loading: true,\r\n canLoadImage: false,\r\n tagsArray: [] as string[],\r\n relatedAlerts: [] as IAlert[],\r\n alertTags: [] as IAlertTag[],\r\n formatDateFn: (strDate: string) => strDate,\r\n }\r\n },\r\n props: {\r\n id: {\r\n type: String,\r\n required: true,\r\n },\r\n },\r\n async mounted() {\r\n await this.loadAlert()\r\n await this.loadAlertTags()\r\n this.loading = false\r\n\r\n try {\r\n const canLoadImage = await fetch(this.alert.imageUrl)\r\n\r\n if (canLoadImage.ok) this.canLoadImage = true\r\n } catch {}\r\n },\r\n watch: {\r\n id: function () {\r\n this.loadAlert()\r\n },\r\n },\r\n filters: {\r\n formatDate(date) {\r\n return moment(date).format('yyyy-MM-DD')\r\n },\r\n },\r\n created() {\r\n this.formatDateFn = Format.formatDate\r\n },\r\n computed: {\r\n applicableTags: function () {\r\n return this.alertTags.filter((tag) => this.alert.tags.includes(tag.id))\r\n },\r\n\r\n showEndDate: function () {\r\n return (\r\n this.alertDate &&\r\n moment(this.alert.endDate).format('yyyy-MM-DD') !==\r\n moment(this.alert.startDate).format('yyyy-MM-DD')\r\n )\r\n },\r\n },\r\n methods: {\r\n loadAlert: async function () {\r\n this.loading = true\r\n\r\n this.alert = await Alerts.loadAlert(this.id)\r\n\r\n if(this.alert.alertRead == false)\r\n {\r\n await Alerts.markRead(this.id)\r\n }\r\n\r\n const relatedAlertsViewModel = await Alerts.loadAlerts(\r\n this.alert.tags,\r\n false,\r\n true\r\n ) // show any article that has at least 1 checkbox matching\r\n this.relatedAlerts = relatedAlertsViewModel.alerts.filter(\r\n (alert: IAlert) => alert.id !== this.alert.id\r\n )\r\n },\r\n loadAlertTags: async function () {\r\n this.alertTags = await Alerts.loadAlertTags()\r\n },\r\n markRead: async function () {\r\n await Alerts.markRead(this.alert.id)\r\n },\r\n markUnRead: async function () {\r\n await Alerts.markUnRead(this.alert.id)\r\n this.$router.push('/updates-and-alerts')\r\n },\r\n returnToUpdateAlerts() {\r\n this.$router.push('/updates-and-alerts')\r\n },\r\n },\r\n components: { ScreenTile, AlertList },\r\n})\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AlertDetail.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AlertDetail.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AlertDetail.vue?vue&type=template&id=19198473&\"\nimport script from \"./AlertDetail.vue?vue&type=script&lang=ts&\"\nexport * from \"./AlertDetail.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VChip,VCol,VContainer,VIcon,VProgressLinear,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('ScreenTile',{attrs:{\"title\":\"Reinsurance Resources\",\"subTitle\":\"Agent Portal\"}},[_c('div',{staticStyle:{\"width\":\"100%\"}},[_c('v-text-field',{staticClass:\"search-box\",attrs:{\"hint\":\"You can search by name\",\"label\":\"Search\"},on:{\"input\":_vm.debounceSearch}}),_c('div',[_c('Breadcrumbs',{attrs:{\"routes\":_vm.routes},on:{\"click\":_vm.recurseUpTo}})],1)],1),(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\",\"color\":\"#4A3046\"}}):_vm._e(),_c('div',{staticClass:\"tile-display\"},[(_vm.filteredReinsuranceResources.length === 0 && !_vm.loading)?_c('div',{staticClass:\"empty-directory\"},[_vm._v(\" This directory is empty \")]):_vm._e(),_vm._l((_vm.filteredSortedReinsuranceResources),function(curResource){return _c('div',{key:curResource.id},[(curResource.isDirectory)?_c('ResourceDirectoryTile',{attrs:{\"title\":curResource.name,\"path\":(_vm.currentPath + '/' + curResource.name).replace('//', '/'),\"favorite\":!!curResource.favorite,\"favoriteId\":curResource.favorite ? curResource.favorite.id : null,\"numberOfDocuments\":curResource.numberOfChildren},on:{\"view-click\":function($event){return _vm.descendIntoDirectory(curResource.name)},\"toggle-favorite\":_vm.toggleFavorite}}):_vm._e()],1)})],2),_c('div',[_c('ul',_vm._l((_vm.filteredSortedReinsuranceResourcesFiles),function(curResource){return _c('li',{key:curResource.name},[_c('ResourceRow',{attrs:{\"path\":curResource.path.replace('//', '/'),\"title\":curResource.name,\"favoriteId\":curResource.favorite ? curResource.favorite.id : null,\"favorite\":!!curResource.favorite,\"isAdministrator\":_vm.user.isAdministrator},on:{\"view-click\":function () { return _vm.openDocument(curResource); },\"toggle-favorite\":_vm.toggleFavorite}})],1)}),0)])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport '../styles/agent-resources.css'\r\nimport { Vue } from 'vue-property-decorator'\r\n\r\nimport ScreenTile from '../components/ScreenTile.vue'\r\nimport ResourceRow from '../components/ResourceRow.vue'\r\nimport ResourceDirectoryTile from '../components/ResourceDirectoryTile.vue'\r\nimport Breadcrumbs from '../components/general/Breadcrumbs.vue'\r\nimport * as _ from 'lodash'\r\n\r\nimport { mapState } from 'vuex'\r\n\r\ninterface IFavorite {\r\n id: number\r\n username: string\r\n reinsruanceResourcePath: string\r\n}\r\n\r\ninterface IReinsuranceResource {\r\n name: string\r\n numberOfChildren: number\r\n favorite?: { id: number; reinsruanceResourcePath: string }\r\n path: string\r\n}\r\n\r\ninterface IModel {\r\n loading: boolean\r\n searchText: string\r\n reinsuranceResources: IReinsuranceResource[]\r\n favorites: IFavorite[]\r\n routes: any[]\r\n currentPath: string\r\n}\r\n\r\nexport default Vue.extend({\r\n data: function (): IModel {\r\n return {\r\n loading: true,\r\n favorites: [] as IFavorite[],\r\n reinsuranceResources: [] as IReinsuranceResource[],\r\n searchText: '',\r\n routes: [{ id: '', name: 'Reinsurance Resources' }] as {\r\n id: string | undefined\r\n name: string\r\n }[],\r\n currentPath: '/',\r\n }\r\n },\r\n methods: {\r\n debounceSearch: _.debounce(function (searchText) {\r\n this.search(searchText)\r\n }, 500),\r\n recurseUpTo: async function (path: string) {\r\n this.loading = true\r\n\r\n const indexOfRoute = this.routes.findIndex((x) => x.id === path)\r\n this.routes = this.routes.slice(0, indexOfRoute + 1)\r\n\r\n this.reinsuranceResources = await (\r\n await fetch(`/api/reinsuranceresources?path=${encodeURIComponent(path)}`)\r\n ).json()\r\n\r\n this.currentPath = path\r\n this.loading = false\r\n },\r\n search: async function (searchText: string) {\r\n this.reinsuranceResources = []\r\n this.loading = true\r\n if (searchText === '')\r\n this.reinsuranceResources = await (\r\n await fetch(`/api/reinsuranceresources?path=${encodeURIComponent(this.currentPath)}`)\r\n ).json()\r\n else\r\n this.reinsuranceResources = await (\r\n await fetch(`/api/reinsuranceresources/search?search=${encodeURIComponent(searchText)}¤tPath=${encodeURIComponent(this.currentPath)}`)\r\n ).json()\r\n this.loading = false\r\n },\r\n descendIntoDirectory: async function (name: string) {\r\n this.loading = true\r\n const newPath = (this.currentPath + '/').replace('//', '/') + name\r\n this.routes.push({\r\n id: newPath,\r\n name: name ?? '',\r\n })\r\n this.$router.push({\r\n name: 'Reinsurance Resources',\r\n params: { path: newPath },\r\n })\r\n this.currentPath = newPath\r\n this.reinsuranceResources = await (\r\n await fetch(`/api/reinsuranceresources?path=${encodeURIComponent(newPath)}`)\r\n ).json()\r\n\r\n this.loading = false\r\n },\r\n openDocument: async function (document: { path: string }) {\r\n let path = document.path\r\n if(path.startsWith('/')){\r\n path = path.substring(1)\r\n }\r\n const encodedPath = encodeURIComponent(path)\r\n window.open(\r\n `/api/reinsuranceresources/download?path=${encodedPath}`\r\n )\r\n },\r\n\r\n toggleFavorite: async function (params: {\r\n favoriteId?: number\r\n path?: string\r\n }) {\r\n if (params.favoriteId) {\r\n const response = await fetch(`/api/favorites/${params.favoriteId}`, {\r\n method: 'DELETE',\r\n })\r\n\r\n if (response.ok)\r\n this.favorites = this.favorites.filter(\r\n (favorite: IFavorite) => favorite.id !== params.favoriteId\r\n )\r\n } else if (params.path) {\r\n const response = await fetch('/api/favorites', {\r\n method: 'POST',\r\n body: JSON.stringify({\r\n reinsruanceResourcePath: params.path,\r\n }),\r\n headers: {\r\n 'Content-type': 'application/json; charset=UTF-8',\r\n },\r\n })\r\n\r\n if (response.ok) this.favorites.push(await response.json())\r\n }\r\n },\r\n },\r\n computed: {\r\n reinsuranceResourcesWithFavorites(): IReinsuranceResource[] {\r\n return this.reinsuranceResources.map(\r\n (mdresource: IReinsuranceResource) => {\r\n const favorite = this.favorites.find(\r\n (favorite: IFavorite) =>\r\n favorite.reinsruanceResourcePath ===\r\n `${this.currentPath}/${mdresource.name}`.replace('//', '/')\r\n )\r\n\r\n return { ...mdresource, favorite: favorite ?? null }\r\n }\r\n )\r\n },\r\n filteredReinsuranceResources(): IReinsuranceResource[] {\r\n if (this.searchText)\r\n return this.reinsuranceResourcesWithFavorites.filter((x) =>\r\n x.name?.toLowerCase()?.includes(this.searchText?.toLowerCase())\r\n )\r\n\r\n return this.reinsuranceResourcesWithFavorites\r\n },\r\n filteredSortedReinsuranceResources(): IReinsuranceResource[] {\r\n return this.filteredReinsuranceResources.slice().sort((a, b) => {\r\n const aIsY = a.name === \"Published in past 30 days\";\r\n const bIsY = b.name === \"Published in past 30 days\";\r\n\r\n if (aIsY && !bIsY) return 1;\r\n \r\n if (!aIsY && bIsY) return -1;\r\n return a.name.localeCompare(b.name)\r\n })\r\n },\r\n\r\n filteredSortedReinsuranceResourcesFiles(): IReinsuranceResource[] {\r\n return this.filteredSortedReinsuranceResources.filter(\r\n (x) => !x.isDirectory\r\n )\r\n },\r\n ...mapState(['user']),\r\n },\r\n mounted: async function () {\r\n if (this.$attrs.path) {\r\n this.currentPath = this.$attrs.path || '/'\r\n let accumulator = ''\r\n for (const segment of this.currentPath\r\n .split('/')\r\n .filter((x) => x.length > 0)) {\r\n accumulator += '/' + segment\r\n this.routes.push({ id: accumulator, name: segment })\r\n }\r\n }\r\n this.reinsuranceResources = await (this.currentPath\r\n ? await fetch(`/api/reinsuranceresources?path=${encodeURIComponent(this.currentPath)}`)\r\n : await fetch(`/api/reinsuranceresources`)\r\n ).json()\r\n this.favorites = await (\r\n await fetch(\r\n '/api/favorites?' +\r\n new URLSearchParams({ reinsuranceResourcesOnly: 'true' })\r\n )\r\n ).json()\r\n this.loading = false\r\n },\r\n components: {\r\n ScreenTile,\r\n ResourceDirectoryTile,\r\n ResourceRow,\r\n Breadcrumbs,\r\n },\r\n})\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ReinsuranceResources.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ReinsuranceResources.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ReinsuranceResources.vue?vue&type=template&id=6548eadc&\"\nimport script from \"./ReinsuranceResources.vue?vue&type=script&lang=ts&\"\nexport * from \"./ReinsuranceResources.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VProgressLinear,VTextField})\n","import Vuex from 'vuex'\r\nimport Vue from 'vue'\r\n\r\nVue.use(Vuex)\r\nconst store = new Vuex.Store({\r\n state: {\r\n user: {\r\n name: undefined,\r\n fullName: undefined,\r\n isAdministrator: false,\r\n canAccessMdResources: false,\r\n },\r\n },\r\n mutations: {\r\n setUser(state, user) {\r\n state.user = user\r\n },\r\n },\r\n})\r\n\r\nexport default store\r\n","import Vue from 'vue'\r\nimport VueRouter, { RouteConfig } from 'vue-router'\r\nimport Home from '../views/Home.vue'\r\nimport Favorites from '../views/favorite/Favorites.vue'\r\nimport Proposals from '../views/Proposals.vue'\r\nimport MDResources from '../views/MDResources.vue'\r\nimport AgentResources from '../views/AgentResources.vue'\r\nimport Reports from '../views/Reports.vue'\r\nimport ShipmentsToDealers from '../views/ShipmentsToDealers.vue'\r\nimport UpdatesAndAlerts from '../views/UpdatesAndAlerts.vue'\r\nimport IConWebsite from '../views/IConWebsite.vue'\r\nimport RemittanceCloseCalendar from '../views/RemittanceCloseCalendar.vue'\r\nimport ReportView from '../views/ReportView.vue'\r\nimport AdminManagement from '../views/AdminManagement.vue'\r\nimport CostUserManagement from '../views/CostUserManagement.vue'\r\nimport Login from '../views/Login.vue'\r\nimport AlertDetail from '../views/AlertDetail.vue'\r\nimport ReinsuranceResources from '../views/ReinsuranceResources.vue'\r\nimport store from '../store'\r\nimport ICS from '@inventivegroup/vue-ics'\r\nimport { urlHelper } from \"../util/UrlHelper\"\r\n\r\nVue.use(VueRouter)\r\nVue.use(ICS, {})\r\n\r\nconst routes: Array = [\r\n {\r\n path: '/',\r\n name: 'Home',\r\n component: Home,\r\n },\r\n {\r\n path: '/login',\r\n name: 'Login',\r\n component: Login,\r\n meta: {\r\n public: true,\r\n },\r\n },\r\n {\r\n path: '/favorites',\r\n name: 'Favorites',\r\n component: Favorites,\r\n },\r\n {\r\n path: '/proposals',\r\n name: 'Proposals',\r\n component: Proposals,\r\n },\r\n {\r\n path: '/md-resources/:directoryId?',\r\n name: 'MD Resources',\r\n component: MDResources,\r\n props: (route) => ({\r\n ...route.params,\r\n }),\r\n },\r\n {\r\n path: '/reinsurance-resources/:path?',\r\n name: 'Reinsurance Resources',\r\n component: ReinsuranceResources,\r\n props: (route) => ({\r\n ...route.params,\r\n }),\r\n },\r\n\r\n {\r\n path: '/agent-resources/:directoryId?',\r\n name: 'Agent Resources',\r\n component: AgentResources,\r\n props: (route) => ({\r\n ...route.params,\r\n }),\r\n },\r\n {\r\n path: '/reports',\r\n name: 'ReportList',\r\n component: Reports,\r\n },\r\n {\r\n path: '/reports/:reportId/:reportName/:favorite',\r\n name: 'Reports',\r\n component: ReportView,\r\n props: (route) => ({\r\n ...route.params,\r\n favorite: route.params.favorite === 'true',\r\n }),\r\n },\r\n {\r\n path: '/shipments-to-dealers',\r\n name: 'Shipments to Dealers',\r\n component: ShipmentsToDealers,\r\n },\r\n {\r\n path: '/updates-and-alerts',\r\n name: 'Updates & Alerts',\r\n component: UpdatesAndAlerts,\r\n },\r\n {\r\n path: '/icon-website',\r\n name: 'iCon Website',\r\n component: IConWebsite,\r\n },\r\n {\r\n path: '/remittance-close-calendar',\r\n name: 'Remittance Close Calendar',\r\n component: RemittanceCloseCalendar,\r\n },\r\n {\r\n path: '/AlertDetail/:id',\r\n name: 'Alert Detail',\r\n component: AlertDetail,\r\n props: true,\r\n },\r\n {\r\n path: '/admins',\r\n name: 'Admin Management',\r\n component: AdminManagement,\r\n meta: {\r\n admin: true,\r\n },\r\n },\r\n {\r\n path: '/costUsers',\r\n name: 'Cost User Management',\r\n component: CostUserManagement,\r\n meta: {\r\n admin: true,\r\n },\r\n },\r\n {\r\n path: '/about',\r\n name: 'About',\r\n // route level code-splitting\r\n // this generates a separate chunk (about.[hash].js) for this route\r\n // which is lazy-loaded when the route is visited.\r\n component: () =>\r\n import(/* webpackChunkName: \"about\" */ '../views/About.vue'),\r\n },\r\n]\r\n\r\nconst router = new VueRouter({\r\n mode: 'history',\r\n base: process.env.BASE_URL,\r\n routes\r\n})\r\n\r\nfunction isInDebug() {\r\n return !!(window as any).webpackHotUpdate\r\n}\r\n\r\nrouter.beforeEach((to, from, next) => {\r\n if (!to.meta) next()\r\n else if (to.meta.public) next()\r\n else if (to.meta.admin && store.state.user.isAdministrator) next()\r\n else if (to.meta.admin && !store.state.user.isAdministrator) {\r\n if (isInDebug()) {\r\n next({ name: 'Login' })\r\n } else {\r\n window.location.href = \"/\"\r\n }\r\n } else if (document.cookie.includes('APAUTH')) next()\r\n else {\r\n if (isInDebug()) {\r\n next({ name: 'Login' })\r\n } else {\r\n window.location.href = urlHelper.getApplicationUrl(\"login\",\"?ReturnUrl=\" + urlHelper.getApplicationUrl(\"agents\", window.location.pathname))\r\n }\r\n }\r\n})\r\n\r\nexport default router\r\n","import Vue from 'vue'\r\nimport Vuetify from 'vuetify/lib/framework'\r\n\r\nVue.use(Vuetify)\r\n\r\nexport default new Vuetify({})\r\n","import Vue from 'vue'\r\nimport App from './App.vue'\r\nimport router from './router'\r\nimport vuetify from './plugins/vuetify'\r\nimport store from './store'\r\nimport './registerServiceWorker'\r\n\r\nVue.config.productionTip = false\r\nfunction createApp() {\r\n new Vue({\r\n router,\r\n store,\r\n vuetify,\r\n render: (h) => h(App),\r\n }).$mount('#app')\r\n}\r\n\r\ntry {\r\n if (document.cookie.includes('APAUTH')) {\r\n fetch('/api/me').then((x) =>\r\n x.json().then((user) => {\r\n store.commit('setUser', user)\r\n createApp()\r\n })\r\n )\r\n } else {\r\n createApp()\r\n }\r\n} catch {\r\n createApp()\r\n}\r\n","/* eslint-disable no-console */\r\n\r\nimport { register } from 'register-service-worker'\r\n\r\nif (process.env.NODE_ENV === 'production') {\r\n register(`${process.env.BASE_URL}service-worker.js`, {\r\n ready() {\r\n console.log(\r\n 'App is being served from cache by a service worker.\\n' +\r\n 'For more details, visit https://goo.gl/AFskqB'\r\n )\r\n },\r\n registered() {\r\n console.log('Service worker has been registered.')\r\n },\r\n cached() {\r\n console.log('Content has been cached for offline use.')\r\n },\r\n updatefound() {\r\n console.log('New content is downloading.')\r\n },\r\n updated() {\r\n console.log('New content is available; please refresh.')\r\n },\r\n offline() {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n )\r\n },\r\n error(error) {\r\n console.error('Error during service worker registration:', error)\r\n },\r\n })\r\n}\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + \"about\" + \".\" + \"74c5529d\" + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"agent-portal:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkagent_portal\"] = self[\"webpackChunkagent_portal\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(8865); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["module","exports","methods","login","cookieValue","document","cookie","window","location","href","replace","map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","render","_vm","this","_h","$createElement","_c","_self","isMobile","_e","attrs","staticClass","urls","dashboard","staticStyle","_v","_s","user","fullName","split","scopedSlots","_u","key","fn","ref","on","_g","_b","icons","dropDown","_l","getNavigationLinks","item","index","dropDownMenuChange","$event","stopPropagation","drawer","model","value","callback","$$v","expression","sideMenuUserOpen","home","mini","favorite","mdResources","reinsuranceResources","agentResources","reports","reportcenter","shipments","updates","econtracting","store","estore","contacts","calendar","externalLinks","url","university","name","claims","iconSite","rateCard","staticRenderFns","route","undefined","icon","iconImage","title","menuOpen","closeMenuIcon","openMenuIcon","links","link","image","data","linkIcon","c","props","type","String","required","Array","components","CIcon","component","VListItemContent","UrlHelper","getApplicationUrl","appName","queryString","urlHelper","computed","innerWidth","MenuTile","proposal","iconWebsite","contracts","logout","contractLookup","isAdministrator","event","forEach","Date","toUTCString","$router","push","VApp","tabs","tabModel","$emit","subTitle","_t","children","tag","beforeMount","tab","default","actionText","VSheet","loading","detailedError","mounted","async","tokenRequest","fetch","ok","token","json","permissions","powerbi","models","Permissions","All","config","visualName","accessToken","embedUrl","tokenType","TokenType","Embed","settings","panes","filters","visible","pageNavigation","embedder","service","Service","factories","hpmFactory","wpmpFactory","routerFactory","el","querySelector","embed","message","JSON","parse","text","powerBIErrorMessage","ScreenTile","DefaultDashBoard","VProgressLinear","openMDDocument","removeFavorite","openAgentDocument","openReinsuranceResource","reportFavorites","length","report","standardStarIcon","reportName","favoriteId","filter","mdrf","mdresourceFavorites","imageUrl","createdDate","removeFavoriteDocument","fileIcon","searchPath","toLocaleDateString","year","month","day","onEditClick","editIcon","onDeleteClick","deleteIcon","onFavoriteClick","favoritedStarIcon","onViewClick","usePlaceholder","Number","Boolean","canLoadImage","preventDefault","URLSearchParams","isDirectory","x","DocumentTile","agentresourceFavorites","description","domProps","agentrf","ResourceTile","currentPath","favoriteIcon","numberOfChildren","descendIntoDirectory","path","toggleFavorite","folderIcon","routes","newPath","params","ResourceDirectoryTile","method","canOpenResource","resourceLink","open","console","log","fileName","includes","canAccessMdResources","ReportsTab","MDDocumentsTab","AgentResourcesTab","ReinsuranceResourcesTab","VTab","viewItem","showModal","addIcon","proxy","assign","selectedDocuments","proposalDocuments","pd","documentId","source","upsertProposal","showRemoveModal","removeItem","removeProposal","showPendingChangeModal","changeView","confirmChange","producing","produce","updateOrder","currentTab","hasReorderedDocuments","proposalDocument","openDocument","updatedDate","isDocument","formatDate","createdAt","updatedAt","documentsCount","date","format","history","productionDate","histories","fromNow","refresh","VCol","trashIcon","Modal","ModalBody","close","exitIcon","editMode","imageData","selectFile","cameraIcon","titleErrors","$v","$touch","titleModel","class","documents","selectDocument","find","sd","SDocument","saving","submit","IDocumentSource","isRoot","folder","mixins","validations","errors","watch","val","populateMDResources","populateAgentResources","updated","$refs","fileinput","onchange","files","file","URL","createObjectURL","pullDocuments","compiledDocuments","resources","resource","MDResource","AgentResource","existingDocument","$invalid","result","body","stringify","headers","uploadImageUrl","errorMessage","click","$reset","tabDocuments","vueInstance","activeDocuments","get","set","SmallDisplay","Folder","ProposalTile","UpsertProposalModal","RemoveItemModal","PendingChangeModal","draggable","ProposalHistory","loadingDetails","proposals","originalOrder","areDocumentInOriginalOrder","isSameOrder","oOPD","cOPD","propHistory","addResource","mdresourceAddIcon","resetResources","mdresourceResetIcon","onSearch","searchText","recurseUpTo","updateType","parentId","editItem","resourceAdded","showDeleteModal","deleteItem","deleteItemOnServer","showResetModal","resetResourcesOnServer","filteredMDResources","curResource","deleteResource","editResource","toString","imageIcon","nameErrors","resourceFile","toLowerCase","endsWith","err","add","immediate","deep","handler","imagefileinput","isZipFile","uploadResourceLink","$error","VAlert","onClick","$listeners","favorites","mdresources","onSearchId","loadResources","indexOfRoute","findIndex","slice","mdResource","idArr","searchIdPath","pathArr","i","directoryId","response","mddocumentId","clearTimeout","setTimeout","mdResourcesWithFavorites","mdresource","filteredSortedMDResources","sort","a","b","localeCompare","$attrs","parseInt","mddocumentsOnly","ResourceRow","AddMDResourceModal","Breadcrumbs","agentresourceAddIcon","agentresourceResetIcon","showAddModal","filteredSortedAgentResources","lastUpdatedDate","getFavoriteId","getFavorite","this$1","descriptionErrors","AddAgentResourceModal","numColumns","agentResourcesOnly","filteredAgentResources","agentResourceId","agentResource","getReports","loadReport","category","clickCategory","categories","openModal","VImg","showExitButton","Function","categoriesList","finalList","scrollTo","CategoryLink","ModalHeader","CategoryTile","from","Set","reportGroup","startsWith","slot","shipmentId","accountName","shipToName","trackingNumber","getTrackingUrl","shipmentDate","pages","page","_m","trackingUrl","orderNumber","dealerName","carrier","ShipmentTile","pageSize","created","shipmentMethodUsed","filteredShipments","pagedShipments","Math","ceil","VIcon","showAddAlert","alertAddIcon","filteredTags","toggleTag","showAdmin","showAllAlerts","alertTags","showEditModal","showCreateModal","editAlert","onCreateModalClosed","alerts","_f","startDate","endDate","startDisplayingOn","stopDisplayingOn","closeRemoveModal","deleteAlert","showRemoveErrorModal","closeOkModal","Alerts","static","tagsArray","flags","curTagValue","tags","matchAllTags","onlyUnread","append","join","status","statusText","OkModal","isAdmin","loadData","$root","$on","convertToTags","tagItems","y","viewModel","loadAlerts","alert","VDataTable","curAlert","shortContent","t","getFromUrl","nativeOn","scrollToTop","apply","arguments","arrowIcon","directives","rawName","alertRead","markRead","formatDateFn","strDate","Format","showRead","showView","showEndDate","alertDate","$route","reload","VCard","AlertThumbnail","showAll","alertProp","onFilePicked","startDateErrors","displayOnCalendar","durationInDaysErrors","durationInDays","_n","content","imageHeight","imageWidth","toFixed","fileSelectionChanged","xIcon","img","Image","setDimensions","onload","me","width","height","src","label","menu","minDate","toISOString","save","substr","now","getTimezoneOffset","VBtn","modules","toolbar","header","list","align","handleInput","quillEditor","html","integer","minValue","curDate","curDateStr","substring","addToCalendar","createdAlert","resetData","contentErrors","propertyName","ImagePicker","DatePicker","QuillEditor","AdminAlertList","AddAlertModal","UserAlertList","loadAlertTags","tagValue","toggleTagFlag","evt","showAllToggle","VChip","showAdd","calendarAddIcon","exportToPDF","pdfIcon","addEditType","selectedEvent","getEvents","setToday","prev","next","toLocaleString","getFullYear","typeToLabel","group","monthName","start","entry","style","color","details","events","showEvent","viewDay","focus","selectedElement","selectedOpen","exportToICS","downloadIcon","showEdit","deleteEvent","categoryErrors","populateTypes","selectedCategory","types","typeErrors","eventTypeId","selected","editEvent","categoryId","end","typeId","$dirty","maxLength","$params","max","AddEventModal","week","colors","updateTimes","eventsAfterToday","getTime","eventGroupsAfterToday","getMonth","serverEvents","timed","today","today_year","today_month","today_day","getDate","todayFormatted","$ics","removeAllEvents","localStart","setMinutes","getMinutes","localEnd","addEvent","download","nativeEvent","target","requestAnimationFrame","reportId","favoriteOverride","favoriteStatus","showAddDialog","userAddIcon","records","openDelete","showDeleteDialog","userAdded","items","search","selectedItem","contactEmail","email","sortable","AddAdminUserModal","AddCostUserModal","markUnRead","returnToUpdateAlerts","query","relatedAlerts","isColumnLayout","showBorder","showTitle","loadAlert","applicableTags","relatedAlertsViewModel","AlertList","debounceSearch","filteredReinsuranceResources","encodeURIComponent","encodedPath","reinsruanceResourcePath","reinsuranceResourcesWithFavorites","filteredSortedReinsuranceResources","aIsY","bIsY","filteredSortedReinsuranceResourcesFiles","accumulator","segment","reinsuranceResourcesOnly","state","mutations","setUser","Home","Login","meta","public","Favorites","Proposals","MDResources","ReinsuranceResources","AgentResources","Reports","ReportView","ShipmentsToDealers","UpdatesAndAlerts","IConWebsite","RemittanceCloseCalendar","AlertDetail","AdminManagement","admin","CostUserManagement","router","mode","base","isInDebug","webpackHotUpdate","beforeEach","to","pathname","createApp","vuetify","h","App","$mount","ready","registered","cached","updatefound","offline","error","then","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","call","m","deferred","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","j","every","splice","r","n","getter","__esModule","d","definition","defineProperty","enumerable","f","chunkId","Promise","all","reduce","promises","u","miniCssF","g","globalThis","obj","prop","prototype","hasOwnProperty","inProgress","dataWebpackPrefix","l","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","onScriptComplete","onerror","doneFns","parentNode","removeChild","bind","head","appendChild","Symbol","toStringTag","nmd","paths","p","installedChunks","installedChunkData","promise","reject","loadingEnded","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""}
\r\n This is a temporary page to allow our developers to actually log into the\r\n app without using the shared login page\r\n