{"remainingRequest":"/Users/admin/projects/dms/src/dealer_admin/node_modules/thread-loader/dist/cjs.js!/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/thread-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":["import \"core-js/modules/es6.regexp.search\";\nimport _toConsumableArray from \"/Users/admin/projects/dms/src/dealer_admin/node_modules/@babel/runtime-corejs2/helpers/esm/toConsumableArray.js\";\nimport _createForOfIteratorHelper from \"/Users/admin/projects/dms/src/dealer_admin/node_modules/@babel/runtime-corejs2/helpers/esm/createForOfIteratorHelper.js\";\n//\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\nimport Fuse from 'fuse.js';\nimport path from 'path';\nexport 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(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 = _createForOfIteratorHelper(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.resolve(basePath, router.path),\n            title: _toConsumableArray(prefixTitle)\n          };\n          if (router.meta && router.meta.title) {\n            data.title = [].concat(_toConsumableArray(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(_toConsumableArray(res), _toConsumableArray(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]}