(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[49],{

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/ComputerApplications.vue?vue&type=script&lang=js&":
/*!************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/ComputerApplications.vue?vue&type=script&lang=js& ***!
  \************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vue_context_src_sass_vue_context_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue-context/src/sass/vue-context.scss */ \"./node_modules/vue-context/src/sass/vue-context.scss\");\n/* harmony import */ var vue_context_src_sass_vue_context_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue_context_src_sass_vue_context_scss__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _utils_paging__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/utils/paging */ \"./src/utils/paging.js\");\n/* harmony import */ var _utils_date__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/utils/date */ \"./src/utils/date.js\");\n/* harmony import */ var _utils_http__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/utils/http */ \"./src/utils/http.js\");\n/* harmony import */ var _utils_document__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/utils/document */ \"./src/utils/document.js\");\n/* harmony import */ var _utils_order__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/utils/order */ \"./src/utils/order.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  components: {\n    TableEffect: () => __webpack_require__.e(/*! import() */ 13).then(__webpack_require__.bind(null, /*! @/components/singles/TableEffect.vue */ \"./src/components/singles/TableEffect.vue\")),\n    Tips: () => __webpack_require__.e(/*! import() */ 11).then(__webpack_require__.bind(null, /*! @/components/main/Tips.vue */ \"./src/components/main/Tips.vue\")),\n    Title: () => __webpack_require__.e(/*! import() */ 4).then(__webpack_require__.bind(null, /*! @/components/singles/Title.vue */ \"./src/components/singles/Title.vue\")),\n    SearchBar: () => __webpack_require__.e(/*! import() */ 6).then(__webpack_require__.bind(null, /*! @/components/main/SearchBar.vue */ \"./src/components/main/SearchBar.vue\")),\n    HeaderIcon: () => __webpack_require__.e(/*! import() */ 35).then(__webpack_require__.bind(null, /*! @/components/main/HeaderIcon.vue */ \"./src/components/main/HeaderIcon.vue\")),\n    Paging: () => __webpack_require__.e(/*! import() */ 12).then(__webpack_require__.bind(null, /*! @/components/main/paging/Nav.vue */ \"./src/components/main/paging/Nav.vue\")),\n    EditSingleField: () => Promise.all(/*! import() */[__webpack_require__.e(0), __webpack_require__.e(1), __webpack_require__.e(7)]).then(__webpack_require__.bind(null, /*! @/components/singles/EditSingleField/component.vue */ \"./src/components/singles/EditSingleField/component.vue\")),\n    LoaderOne: () => __webpack_require__.e(/*! import() */ 17).then(__webpack_require__.bind(null, /*! @/components/singles/LoaderOne.vue */ \"./src/components/singles/LoaderOne.vue\")),\n    VueContext: () => __webpack_require__.e(/*! import() */ 15).then(__webpack_require__.bind(null, /*! vue-context */ \"./node_modules/vue-context/src/js/index.js\"))\n  },\n  computed: {\n    date() {\n      return date => {\n        return Object(_utils_date__WEBPACK_IMPORTED_MODULE_2__[\"toReadableDate\"])(date);\n      };\n    },\n    filtered() {\n      return this.items.slice(this.paging.start, this.paging.page * this.paging.max);\n    },\n    key() {\n      return item => {\n        return item.name + item.version + item.installed + item.id;\n      };\n    }\n  },\n  data() {\n    return {\n      items: [],\n      allItems: [],\n      firstLoadDone: false,\n      downloading: false,\n      searching: false,\n      tempFilter: \"\",\n      filter: \"\",\n      saving: false,\n      searchId: Object(_utils_document__WEBPACK_IMPORTED_MODULE_4__[\"getId\"])(),\n      paging: {\n        page: 1,\n        max: 15,\n        start: 0,\n        pages: []\n      }\n    };\n  },\n  async created() {\n    try {\n      await this.getApplications();\n      this.firstLoadDone = true;\n    } catch (err) {\n      console.log(err);\n      this.$helpers.notify(\"Error\", \"Could not get data.\", \"danger\", 5000);\n    }\n  },\n  beforeDestroy() {},\n  methods: {\n    handleOrder(path) {\n      this.items = this.order(this.items, path);\n    },\n    order(items, path) {\n      var _this$$store$state$se;\n      const stateOrder = (_this$$store$state$se = this.$store.state.settings.user.computerApplications) === null || _this$$store$state$se === void 0 ? void 0 : _this$$store$state$se.order;\n      let reversed = false;\n      if ((stateOrder === null || stateOrder === void 0 ? void 0 : stateOrder.path) === path) reversed = !stateOrder.reversed;\n      this.$store.dispatch(\"settings/setUser\", {\n        path: \"computerApplications\",\n        key: \"order\",\n        value: {\n          path,\n          reversed\n        }\n      });\n      return Object(_utils_order__WEBPACK_IMPORTED_MODULE_5__[\"_order\"])(items, {\n        path,\n        reversed\n      });\n    },\n    setPageMax(size) {\n      this.paging.max = size;\n      this.setPage(1);\n      this.setPages(this.items);\n    },\n    setPage(page) {\n      this.paging.start = Object(_utils_paging__WEBPACK_IMPORTED_MODULE_1__[\"getStartIndex\"])(page, this.paging.max);\n      this.paging.page = page;\n    },\n    focus: _utils_document__WEBPACK_IMPORTED_MODULE_4__[\"focus\"],\n    async getApplications() {\n      var _this$$store$state$se2, _this$$store$state$se3;\n      this.searching = true;\n      await this.$store.dispatch(\"settings/getUserSetting\", {\n        path: \"computerApplications\",\n        key: \"order\"\n      });\n      const stateOrder = (_this$$store$state$se2 = this.$store.state.settings.user.computerApplications) === null || _this$$store$state$se2 === void 0 ? void 0 : _this$$store$state$se2.order;\n      const res = await Object(_utils_http__WEBPACK_IMPORTED_MODULE_3__[\"postApi\"])(\"get/computerApplications\", {\n        domainUID: this.$route.params.domainUID,\n        computerUIDs: [this.$route.params.computerUID]\n      });\n      const paging = (_this$$store$state$se3 = this.$store.state.settings.user.computerApplications) === null || _this$$store$state$se3 === void 0 ? void 0 : _this$$store$state$se3.paging;\n      if (paging && paging.max) this.paging.max = paging.max;\n      this.setPages(res[0].applications);\n      this.items = Object(_utils_order__WEBPACK_IMPORTED_MODULE_5__[\"_order\"])(res[0].applications, stateOrder);\n      this.allItems = res[0].applications;\n      this.searching = false;\n      Object(_utils_document__WEBPACK_IMPORTED_MODULE_4__[\"focus\"])(this.searchId);\n    },\n    setPages(items) {\n      this.paging.pages = Object(_utils_paging__WEBPACK_IMPORTED_MODULE_1__[\"getNumbers\"])(items, this.paging.max);\n    },\n    async search(searchStr) {\n      var _this$$store$state$se4;\n      this.searching = true;\n      const stateOrder = (_this$$store$state$se4 = this.$store.state.settings.user.computerApplications) === null || _this$$store$state$se4 === void 0 ? void 0 : _this$$store$state$se4.order;\n      searchStr = searchStr.trim().toLowerCase();\n      this.filter = searchStr;\n      if (searchStr != \"\") {\n        this.items = this.order(this.allItems.filter(x => {\n          var _x$version, _x$license;\n          return x.name.toLowerCase().includes(searchStr) || ((_x$version = x.version) === null || _x$version === void 0 ? void 0 : _x$version.includes(searchStr)) || ((_x$license = x.license) === null || _x$license === void 0 ? void 0 : _x$license.toLowerCase().includes(searchStr));\n        }), stateOrder);\n      } else this.items = this.order(this.allItems, stateOrder);\n      this.setPages(this.items);\n      this.setPage(1);\n      this.searching = false;\n      Object(_utils_document__WEBPACK_IMPORTED_MODULE_4__[\"focus\"])(this.searchId);\n    },\n    toggleRename(item) {\n      const index = this.items.findIndex(x => item == x);\n      this.$set(this.items, index, {\n        ...item,\n        ...{\n          edit: !item.edit\n        }\n      });\n    },\n    async rename(item, text) {\n      this.saving = true;\n      text = text.trim();\n      await Object(_utils_http__WEBPACK_IMPORTED_MODULE_3__[\"postApi\"])(\"set/applicationLicense\", {\n        domainUID: this.$route.params.domainUID,\n        computerUID: this.$route.params.computerUID,\n        name: item.name,\n        key: text,\n        version: item.version\n      });\n      const index = this.items.findIndex(x => item == x);\n      const newItem = {\n        ...item,\n        ...{\n          key: text\n        }\n      };\n      this.$set(this.items, index, newItem);\n      this.toggleRename(newItem);\n      this.saving = false;\n    },\n    download() {\n      this.downloading = true;\n      let text = `Name;Version;License;Installed;Date\\r\\n`;\n      this.items.filter(x => x).map(x => text += `${(x === null || x === void 0 ? void 0 : x.name) || \"\"};${(x === null || x === void 0 ? void 0 : x.version) || \"\"};${(x === null || x === void 0 ? void 0 : x.key) || \"\"};${x.installed ? \"Yes\" : \"No\"};${x.timeChanged ? Object(_utils_date__WEBPACK_IMPORTED_MODULE_2__[\"toReadableDate\"])(x.timeChanged) : \"\"};\\r\\n`);\n      const computer = this.$store.getters[\"computer/singleComputer\"](this.$route.params.computerUID);\n      let computerName = \"\";\n      if (computer) computerName = computer.name + \"_\";\n      Object(_utils_document__WEBPACK_IMPORTED_MODULE_4__[\"downloadFile\"])(Object(_utils_document__WEBPACK_IMPORTED_MODULE_4__[\"getTextUrl\"])(text), `${computerName}applications.csv`);\n      this.downloading = false;\n    }\n  }\n});\n\n//# sourceURL=webpack:///./src/views/ComputerApplications.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"7d40fa80-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/ComputerApplications.vue?vue&type=template&id=1937b818&":
/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"7d40fa80-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/ComputerApplications.vue?vue&type=template&id=1937b818& ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"section\",\n    { staticClass: \"section\" },\n    [\n      _c(\n        \"div\",\n        { staticClass: \"container\" },\n        [\n          _c(\n            \"Title\",\n            [\n              _vm._v(\" Applications \"),\n              !_vm.downloading\n                ? _c(\"HeaderIcon\", {\n                    attrs: {\n                      icon: \"mdi-file-download\",\n                      tooltip: \"Download CSV\"\n                    },\n                    on: {\n                      click: function($event) {\n                        return _vm.download()\n                      }\n                    }\n                  })\n                : _vm._e(),\n              _vm.downloading\n                ? _c(\"span\", { staticClass: \"spinner small\" })\n                : _vm._e()\n            ],\n            1\n          ),\n          _c(\"SearchBar\", {\n            attrs: {\n              id: _vm.searchId,\n              selectOnSubmit: true,\n              loading: _vm.searching,\n              focus: true\n            },\n            on: {\n              submit: function($event) {\n                return _vm.search($event)\n              }\n            },\n            model: {\n              value: _vm.tempFilter,\n              callback: function($$v) {\n                _vm.tempFilter = $$v\n              },\n              expression: \"tempFilter\"\n            }\n          }),\n          _vm.firstLoadDone && _vm.items.length !== 0\n            ? _c(\n                \"Tips\",\n                {\n                  attrs: {\n                    path: \"computerApplications\",\n                    xKey: \"dismissedTips\",\n                    property: \"rightClick\",\n                    rightClickIconVisible: true\n                  }\n                },\n                [\n                  _vm._v(\n                    \"Right-click on a license cell to open the context menu \"\n                  )\n                ]\n              )\n            : _vm._e(),\n          _c(\"LoaderOne\", {\n            directives: [\n              {\n                name: \"show\",\n                rawName: \"v-show\",\n                value: !_vm.firstLoadDone,\n                expression: \"!firstLoadDone\"\n              }\n            ]\n          }),\n          _c(\n            \"p\",\n            {\n              directives: [\n                {\n                  name: \"show\",\n                  rawName: \"v-show\",\n                  value:\n                    !_vm.searching &&\n                    _vm.firstLoadDone &&\n                    _vm.items.length === 0,\n                  expression:\n                    \"!searching && firstLoadDone && items.length === 0\"\n                }\n              ]\n            },\n            [_c(\"i\", [_vm._v(\"No applications.\")])]\n          ),\n          _vm.firstLoadDone && _vm.items.length !== 0\n            ? _c(\n                \"table\",\n                { staticClass: \"table is-hoverable is-fullwidth is-narrow\" },\n                [\n                  _c(\"thead\", [\n                    _c(\"tr\", { staticClass: \"is-unselectable\" }, [\n                      _c(\n                        \"th\",\n                        {\n                          on: {\n                            click: function($event) {\n                              return _vm.handleOrder(\"name\")\n                            }\n                          }\n                        },\n                        [_vm._v(\"Name\")]\n                      ),\n                      _c(\n                        \"th\",\n                        {\n                          on: {\n                            click: function($event) {\n                              return _vm.handleOrder(\"version\")\n                            }\n                          }\n                        },\n                        [_vm._v(\"Version\")]\n                      ),\n                      _c(\n                        \"th\",\n                        {\n                          on: {\n                            click: function($event) {\n                              return _vm.handleOrder(\"key\")\n                            }\n                          }\n                        },\n                        [_vm._v(\"License\")]\n                      ),\n                      _c(\n                        \"th\",\n                        {\n                          on: {\n                            click: function($event) {\n                              return _vm.handleOrder(\"installed\")\n                            }\n                          }\n                        },\n                        [_vm._v(\"Installed\")]\n                      ),\n                      _c(\n                        \"th\",\n                        {\n                          on: {\n                            click: function($event) {\n                              return _vm.handleOrder(\"timeChanged\")\n                            }\n                          }\n                        },\n                        [_vm._v(\"When\")]\n                      )\n                    ])\n                  ]),\n                  _c(\n                    \"TableEffect\",\n                    { attrs: { skipGroupTransition: true } },\n                    _vm._l(_vm.filtered, function(item) {\n                      return _c(\"tr\", { key: _vm.key(item) }, [\n                        _c(\"td\", [_vm._v(_vm._s(item.name))]),\n                        _c(\"td\", [_vm._v(_vm._s(item.version))]),\n                        _c(\n                          \"td\",\n                          {\n                            on: {\n                              contextmenu: function($event) {\n                                $event.preventDefault()\n                                return _vm.$refs.menu.open($event, item)\n                              }\n                            }\n                          },\n                          [\n                            !item.edit && item.key && item.key !== \"\"\n                              ? _c(\"span\", { staticClass: \"clickable\" }, [\n                                  _vm._v(_vm._s(item.key))\n                                ])\n                              : _vm._e(),\n                            !item.edit && (!item.key || item.key === \"\")\n                              ? _c(\"span\", { staticClass: \"clickable\" }, [\n                                  _c(\"i\", [_vm._v(\"No license\")])\n                                ])\n                              : _vm._e(),\n                            item.edit\n                              ? _c(\"EditSingleField\", {\n                                  attrs: {\n                                    text: item.key,\n                                    validation: \"\",\n                                    type: \"text\",\n                                    name: \"name\",\n                                    isLoading: _vm.saving\n                                  },\n                                  on: {\n                                    save: function($event) {\n                                      return _vm.rename(item, $event)\n                                    },\n                                    cancel: function($event) {\n                                      return _vm.toggleRename(item)\n                                    }\n                                  }\n                                })\n                              : _vm._e()\n                          ],\n                          1\n                        ),\n                        _c(\"td\", [\n                          _c(\"span\", { staticClass: \"icon\" }, [\n                            _c(\"i\", {\n                              staticClass: \"mdi\",\n                              class: {\n                                \"mdi-check has-text-success\": item.installed,\n                                \"mdi-delete has-text-grey\": !item.installed\n                              }\n                            })\n                          ])\n                        ]),\n                        _c(\"td\", [\n                          item.timeChanged\n                            ? _c(\"span\", [\n                                _vm._v(\n                                  \" \" + _vm._s(_vm.date(item.timeChanged)) + \" \"\n                                )\n                              ])\n                            : _c(\"span\", [_c(\"i\", [_vm._v(\"Unknown\")])])\n                        ])\n                      ])\n                    }),\n                    0\n                  )\n                ],\n                1\n              )\n            : _vm._e(),\n          _vm.items && _vm.items.length > 0\n            ? _c(\"Paging\", {\n                attrs: {\n                  items: _vm.paging.pages,\n                  selected: _vm.paging.page,\n                  size: _vm.paging.max,\n                  hasOptions: true,\n                  autosave: \"computerApplications\"\n                },\n                on: {\n                  change: function($event) {\n                    return _vm.setPage($event)\n                  },\n                  size: function($event) {\n                    return _vm.setPageMax($event)\n                  }\n                }\n              })\n            : _vm._e()\n        ],\n        1\n      ),\n      _c(\"vue-context\", {\n        ref: \"menu\",\n        scopedSlots: _vm._u([\n          {\n            key: \"default\",\n            fn: function(child) {\n              return [\n                _c(\"li\", [\n                  _c(\n                    \"a\",\n                    {\n                      on: {\n                        click: function($event) {\n                          $event.preventDefault()\n                          return _vm.toggleRename(child.data)\n                        }\n                      }\n                    },\n                    [_vm._v(\"Edit\")]\n                  )\n                ])\n              ]\n            }\n          }\n        ])\n      })\n    ],\n    1\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/views/ComputerApplications.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%227d40fa80-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-context/src/sass/vue-context.scss":
/*!*********************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-3-1!./node_modules/postcss-loader/src??ref--8-oneOf-3-2!./node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-3-3!./node_modules/vue-context/src/sass/vue-context.scss ***!
  \*********************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"@charset \\\"UTF-8\\\";\\n.v-context, .v-context ul {\\n  background-color: #fff;\\n  background-clip: padding-box;\\n  border-radius: 0.25rem;\\n  border: 1px solid rgba(0, 0, 0, 0.15);\\n  -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\\n          box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\\n  display: block;\\n  margin: 0;\\n  padding: 10px 0;\\n  min-width: 10rem;\\n  z-index: 1500;\\n  position: fixed;\\n  list-style: none;\\n  -webkit-box-sizing: border-box;\\n          box-sizing: border-box;\\n  max-height: calc(100% - 50px);\\n  overflow-y: auto;\\n}\\n.v-context > li, .v-context ul > li {\\n  margin: 0;\\n  position: relative;\\n}\\n.v-context > li > a, .v-context ul > li > a {\\n  display: block;\\n  padding: 0.5rem 1.5rem;\\n  font-weight: 400;\\n  color: #212529;\\n  text-decoration: none;\\n  white-space: nowrap;\\n  background-color: transparent;\\n  border: 0;\\n}\\n.v-context > li > a:hover, .v-context > li > a:focus, .v-context ul > li > a:hover, .v-context ul > li > a:focus {\\n  text-decoration: none;\\n  color: #212529;\\n  background-color: #f8f9fa;\\n}\\n.v-context > li > a:focus, .v-context ul > li > a:focus {\\n  outline: 0;\\n}\\n.v-context:focus, .v-context ul:focus {\\n  outline: 0;\\n}\\n.v-context__sub > a:after {\\n  content: \\\"⯈\\\";\\n  float: right;\\n  padding-left: 1rem;\\n}\\n.v-context__sub > ul {\\n  display: none;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./node_modules/vue-context/src/sass/vue-context.scss?./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-3-1!./node_modules/postcss-loader/src??ref--8-oneOf-3-2!./node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-3-3");

/***/ }),

/***/ "./node_modules/vue-context/src/sass/vue-context.scss":
/*!************************************************************!*\
  !*** ./node_modules/vue-context/src/sass/vue-context.scss ***!
  \************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../css-loader/dist/cjs.js??ref--8-oneOf-3-1!../../../postcss-loader/src??ref--8-oneOf-3-2!../../../sass-loader/dist/cjs.js??ref--8-oneOf-3-3!./vue-context.scss */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-context/src/sass/vue-context.scss\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"40ce638c\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./node_modules/vue-context/src/sass/vue-context.scss?");

/***/ }),

/***/ "./src/utils/date.js":
/*!***************************!*\
  !*** ./src/utils/date.js ***!
  \***************************/
/*! exports provided: fromNow, normalize, fromJson, toReadable, toReadableDate, convert, duration */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fromNow\", function() { return fromNow; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"normalize\", function() { return normalize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fromJson\", function() { return fromJson; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toReadable\", function() { return toReadable; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toReadableDate\", function() { return toReadableDate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"convert\", function() { return convert; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"duration\", function() { return duration; });\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_0__);\n\nfunction fromNow(date) {\n  if (date) return moment__WEBPACK_IMPORTED_MODULE_0___default()(normalize(date)).fromNow();else return \"\";\n}\nfunction normalize(date) {\n  if (date && typeof date === \"string\" && !date.includes(\":\")) return parseInt(date);else return date;\n}\nfunction fromJson(jsonDate) {\n  var offset = new Date().getTimezoneOffset();\n  var parts = /\\/Date\\((-?\\d+)([+-]\\d{2})?(\\d{2})?.*/.exec(jsonDate);\n  if (parts[2] == undefined) parts[2] = 0;\n  if (parts[3] == undefined) parts[3] = 0;\n  return new Date(+parts[1] + offset + parts[2] * 3600000 + parts[3] * 60000);\n}\nfunction toReadable(date) {\n  if (date) {\n    date = convert(normalize(date));\n    return date.toLocaleDateString([], {\n      //weekday: \"narrow\",\n      year: \"numeric\",\n      month: \"numeric\",\n      day: \"numeric\",\n      hour: \"numeric\",\n      minute: \"numeric\",\n      hour12: false\n    });\n  }\n  return \"\";\n}\nfunction toReadableDate(date) {\n  if (date && date != \"\") {\n    date = convert(normalize(date));\n    return date.toLocaleDateString();\n  }\n  return \"\";\n}\nfunction convert(dateStr) {\n  if (dateStr) {\n    const dateObj = new Date(dateStr);\n    return dateObj;\n  }\n  return null;\n}\nfunction duration(date1, date2) {\n  const start = moment__WEBPACK_IMPORTED_MODULE_0___default()(date1);\n  const end = moment__WEBPACK_IMPORTED_MODULE_0___default()(date2);\n  const duration = end.diff(start, \"minutes\", true);\n  return +(Math.round(duration + \"e+2\") + \"e-2\");\n}\n\n//# sourceURL=webpack:///./src/utils/date.js?");

/***/ }),

/***/ "./src/utils/paging.js":
/*!*****************************!*\
  !*** ./src/utils/paging.js ***!
  \*****************************/
/*! exports provided: getNumbers, getPackageObj, getPackageNumbers, getStartIndex */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getNumbers\", function() { return getNumbers; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getPackageObj\", function() { return getPackageObj; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getPackageNumbers\", function() { return getPackageNumbers; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getStartIndex\", function() { return getStartIndex; });\nfunction getNumbers(items, size) {\n  if (!size) size = 10;\n  const numberArray = [];\n  const total = items.length;\n  if (total != 0) {\n    const numbers = total / size;\n    for (let i = 0; i < numbers; i++) {\n      numberArray.push(i + 1);\n    }\n  } else numberArray.push(1);\n  return numberArray;\n}\nfunction getPackageObj(packagesObj, start, end) {\n  const newObj = {};\n  Object.keys(packagesObj).filter((key, index) => index >= start && index < end ? newObj[key] = packagesObj[key] : false);\n  return newObj;\n}\nfunction getPackageNumbers(total, size) {\n  if (!size) size = 10;\n  const numberArray = [];\n  if (total != 0) {\n    const numbers = total / size;\n    for (let i = 0; i < numbers; i++) {\n      numberArray.push(i + 1);\n    }\n  } else numberArray.push(1);\n  return numberArray;\n}\nfunction getStartIndex(page, size) {\n  page = page - 1;\n  const comb = page * size;\n  if (!comb || comb < 0) return 0;else return comb;\n}\n\n//# sourceURL=webpack:///./src/utils/paging.js?");

/***/ }),

/***/ "./src/views/ComputerApplications.vue":
/*!********************************************!*\
  !*** ./src/views/ComputerApplications.vue ***!
  \********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ComputerApplications_vue_vue_type_template_id_1937b818___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ComputerApplications.vue?vue&type=template&id=1937b818& */ \"./src/views/ComputerApplications.vue?vue&type=template&id=1937b818&\");\n/* harmony import */ var _ComputerApplications_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ComputerApplications.vue?vue&type=script&lang=js& */ \"./src/views/ComputerApplications.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n  _ComputerApplications_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _ComputerApplications_vue_vue_type_template_id_1937b818___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _ComputerApplications_vue_vue_type_template_id_1937b818___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  null,\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/views/ComputerApplications.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/views/ComputerApplications.vue?");

/***/ }),

/***/ "./src/views/ComputerApplications.vue?vue&type=script&lang=js&":
/*!*********************************************************************!*\
  !*** ./src/views/ComputerApplications.vue?vue&type=script&lang=js& ***!
  \*********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ComputerApplications_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib??vue-loader-options!./ComputerApplications.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/ComputerApplications.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ComputerApplications_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./src/views/ComputerApplications.vue?");

/***/ }),

/***/ "./src/views/ComputerApplications.vue?vue&type=template&id=1937b818&":
/*!***************************************************************************!*\
  !*** ./src/views/ComputerApplications.vue?vue&type=template&id=1937b818& ***!
  \***************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_7d40fa80_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ComputerApplications_vue_vue_type_template_id_1937b818___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"7d40fa80-vue-loader-template\"}!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib??vue-loader-options!./ComputerApplications.vue?vue&type=template&id=1937b818& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"7d40fa80-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/ComputerApplications.vue?vue&type=template&id=1937b818&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_7d40fa80_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ComputerApplications_vue_vue_type_template_id_1937b818___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_7d40fa80_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ComputerApplications_vue_vue_type_template_id_1937b818___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/views/ComputerApplications.vue?");

/***/ })

}]);