{"remainingRequest":"/Users/admin/projects/dms/src/dealer_admin/node_modules/babel-loader/lib/index.js!/Users/admin/projects/dms/src/dealer_admin/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/admin/projects/dms/src/dealer_admin/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/admin/projects/dms/src/dealer_admin/src/components/HeaderSearch/index.vue?vue&type=script&lang=js","dependencies":[{"path":"/Users/admin/projects/dms/src/dealer_admin/src/components/HeaderSearch/index.vue","mtime":1713161556000},{"path":"/Users/admin/projects/dms/src/dealer_admin/babel.config.js","mtime":1713161556000},{"path":"/Users/admin/projects/dms/src/dealer_admin/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/Users/admin/projects/dms/src/dealer_admin/node_modules/babel-loader/lib/index.js","mtime":456789000000},{"path":"/Users/admin/projects/dms/src/dealer_admin/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/Users/admin/projects/dms/src/dealer_admin/node_modules/vue-loader/lib/index.js","mtime":499162500000}],"contextDependencies":[],"result":["\"use strict\";\n\nvar _interopRequireDefault = require(\"/Users/admin/projects/dms/src/dealer_admin/node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nrequire(\"core-js/modules/es6.regexp.search\");\nvar _toConsumableArray2 = _interopRequireDefault(require(\"/Users/admin/projects/dms/src/dealer_admin/node_modules/@babel/runtime-corejs2/helpers/toConsumableArray.js\"));\nvar _createForOfIteratorHelper2 = _interopRequireDefault(require(\"/Users/admin/projects/dms/src/dealer_admin/node_modules/@babel/runtime-corejs2/helpers/createForOfIteratorHelper.js\"));\nvar _fuse = _interopRequireDefault(require(\"fuse.js\"));\nvar _path = _interopRequireDefault(require(\"path\"));\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n// fuse is a lightweight fuzzy-search module\n// make search results more in line with expectations\nvar _default = exports.default = {\n  name: 'HeaderSearch',\n  data: function data() {\n    return {\n      search: '',\n      options: [],\n      searchPool: [],\n      show: false,\n      fuse: undefined\n    };\n  },\n  computed: {\n    routes: function routes() {\n      return this.$store.getters.permission_routes;\n    }\n  },\n  watch: {\n    routes: function routes() {\n      this.searchPool = this.generateRoutes(this.routes);\n    },\n    searchPool: function searchPool(list) {\n      this.initFuse(list);\n    },\n    show: function show(value) {\n      if (value) {\n        document.body.addEventListener('click', this.close);\n      } else {\n        document.body.removeEventListener('click', this.close);\n      }\n    }\n  },\n  mounted: function mounted() {\n    this.searchPool = this.generateRoutes(this.routes);\n  },\n  methods: {\n    click: function click() {\n      this.show = !this.show;\n      if (this.show) {\n        this.$refs.headerSearchSelect && this.$refs.headerSearchSelect.focus();\n      }\n    },\n    close: function close() {\n      this.$refs.headerSearchSelect && this.$refs.headerSearchSelect.blur();\n      this.options = [];\n      this.show = false;\n    },\n    change: function change(val) {\n      var _this = this;\n      this.$router.push(val.path);\n      this.search = '';\n      this.options = [];\n      this.$nextTick(function () {\n        _this.show = false;\n      });\n    },\n    initFuse: function initFuse(list) {\n      this.fuse = new _fuse.default(list, {\n        shouldSort: true,\n        threshold: 0.4,\n        location: 0,\n        distance: 100,\n        maxPatternLength: 32,\n        minMatchCharLength: 1,\n        keys: [{\n          name: 'title',\n          weight: 0.7\n        }, {\n          name: 'path',\n          weight: 0.3\n        }]\n      });\n    },\n    // Filter out the routes that can be displayed in the sidebar\n    // And generate the internationalized title\n    generateRoutes: function generateRoutes(routes) {\n      var basePath = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '/';\n      var prefixTitle = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n      var res = [];\n      var _iterator = (0, _createForOfIteratorHelper2.default)(routes),\n        _step;\n      try {\n        for (_iterator.s(); !(_step = _iterator.n()).done;) {\n          var router = _step.value;\n          // skip hidden router\n          if (router.hidden) {\n            continue;\n          }\n          var data = {\n            path: _path.default.resolve(basePath, router.path),\n            title: (0, _toConsumableArray2.default)(prefixTitle)\n          };\n          if (router.meta && router.meta.title) {\n            data.title = [].concat((0, _toConsumableArray2.default)(data.title), [router.meta.title]);\n            if (router.redirect !== 'noRedirect') {\n              // only push the routes with title\n              // special case: need to exclude parent router without redirect\n              res.push(data);\n            }\n          }\n\n          // recursive child routes\n          if (router.children) {\n            var tempRoutes = this.generateRoutes(router.children, data.path, data.title);\n            if (tempRoutes.length >= 1) {\n              res = [].concat((0, _toConsumableArray2.default)(res), (0, _toConsumableArray2.default)(tempRoutes));\n            }\n          }\n        }\n      } catch (err) {\n        _iterator.e(err);\n      } finally {\n        _iterator.f();\n      }\n      return res;\n    },\n    querySearch: function querySearch(query) {\n      if (query !== '') {\n        this.options = this.fuse.search(query);\n      } else {\n        this.options = [];\n      }\n    }\n  }\n};",null]}