{"version":3,"file":"portal.mjs","sources":["../../../../../packages/utils/private/portal.ts"],"sourcesContent":["/*\n * @Author: zouyaoji@https://github.com/zouyaoji\n * @Date: 2021-04-06 09:21:02\n * @LastEditTime: 2021-10-02 10:54:02\n * @LastEditors: zouyaoji\n * @Description:\n * @FilePath: \\vue-cesium@next\\packages\\utils\\private\\portal.ts\n */\nimport { getParentVm } from './vm'\n\nexport const portalList: Array<any> = []\n\nexport function getPortalVm(el) {\n  return portalList.find(vm => vm.__vcPortalInnerRef.value !== null && vm.__vcPortalInnerRef.value.contains(el))\n}\n\nexport function closePortalMenus(vm, evt) {\n  do {\n    if (vm.$options.name === 'VcMenu') {\n      vm.hide(evt)\n\n      // is this a point of separation?\n      if (vm.$props.separateClosePopup === true) {\n        return getParentVm(vm)\n      }\n    } else if (vm.__vcPortalInnerRef !== void 0) {\n      // treat it as point of separation if parent is QPopupProxy\n      // (so mobile matches desktop behavior)\n      // and hide it too\n      const parent = getParentVm(vm)\n\n      if (parent !== void 0 && parent.$options.name === 'VcPopupProxy') {\n        vm.hide(evt)\n        return parent\n      } else {\n        return vm\n      }\n    }\n\n    vm = getParentVm(vm)\n  } while (vm !== void 0 && vm !== null)\n}\n\nexport function closePortals(vm, evt, depth) {\n  while (depth !== 0 && vm !== void 0 && vm !== null) {\n    if (vm.__vcPortalInnerRef !== void 0) {\n      depth--\n\n      if (vm.$options.name === 'VcMenu') {\n        vm = closePortalMenus(vm, evt)\n        continue\n      }\n\n      vm.hide(evt)\n    }\n\n    vm = getParentVm(vm)\n  }\n}\n"],"names":[],"mappings":";;;AAUO,MAAM,aAAyB,GAAC;AAEhC,SAAS,YAAY,EAAI,EAAA;AAC9B,EAAA,OAAO,UAAW,CAAA,IAAA,CAAK,CAAM,EAAA,KAAA,EAAA,CAAG,kBAAmB,CAAA,KAAA,KAAU,IAAQ,IAAA,EAAA,CAAG,kBAAmB,CAAA,KAAA,CAAM,QAAS,CAAA,EAAE,CAAC,CAAA,CAAA;AAC/G,CAAA;AAEgB,SAAA,gBAAA,CAAiB,IAAI,GAAK,EAAA;AACxC,EAAG,GAAA;AACD,IAAI,IAAA,EAAA,CAAG,QAAS,CAAA,IAAA,KAAS,QAAU,EAAA;AACjC,MAAA,EAAA,CAAG,KAAK,GAAG,CAAA,CAAA;AAGX,MAAI,IAAA,EAAA,CAAG,MAAO,CAAA,kBAAA,KAAuB,IAAM,EAAA;AACzC,QAAA,OAAO,YAAY,EAAE,CAAA,CAAA;AAAA,OACvB;AAAA,KACF,MAAA,IAAW,EAAG,CAAA,kBAAA,KAAuB,KAAQ,CAAA,EAAA;AAI3C,MAAM,MAAA,MAAA,GAAS,YAAY,EAAE,CAAA,CAAA;AAE7B,MAAA,IAAI,MAAW,KAAA,KAAA,CAAA,IAAU,MAAO,CAAA,QAAA,CAAS,SAAS,cAAgB,EAAA;AAChE,QAAA,EAAA,CAAG,KAAK,GAAG,CAAA,CAAA;AACX,QAAO,OAAA,MAAA,CAAA;AAAA,OACF,MAAA;AACL,QAAO,OAAA,EAAA,CAAA;AAAA,OACT;AAAA,KACF;AAEA,IAAA,EAAA,GAAK,YAAY,EAAE,CAAA,CAAA;AAAA,GACrB,QAAS,EAAO,KAAA,KAAA,CAAA,IAAU,EAAO,KAAA,IAAA,EAAA;AACnC,CAAA;AAEgB,SAAA,YAAA,CAAa,EAAI,EAAA,GAAA,EAAK,KAAO,EAAA;AAC3C,EAAA,OAAO,KAAU,KAAA,CAAA,IAAK,EAAO,KAAA,KAAA,CAAA,IAAU,OAAO,IAAM,EAAA;AAClD,IAAI,IAAA,EAAA,CAAG,uBAAuB,KAAQ,CAAA,EAAA;AACpC,MAAA,KAAA,EAAA,CAAA;AAEA,MAAI,IAAA,EAAA,CAAG,QAAS,CAAA,IAAA,KAAS,QAAU,EAAA;AACjC,QAAK,EAAA,GAAA,gBAAA,CAAiB,IAAI,GAAG,CAAA,CAAA;AAC7B,QAAA,SAAA;AAAA,OACF;AAEA,MAAA,EAAA,CAAG,KAAK,GAAG,CAAA,CAAA;AAAA,KACb;AAEA,IAAA,EAAA,GAAK,YAAY,EAAE,CAAA,CAAA;AAAA,GACrB;AACF;;;;"}