casc-cesium
Version:
Vue 3.x components for CesiumJS.
30 lines (27 loc) • 1.05 kB
JavaScript
import { getCurrentInstance, inject } from 'vue';
import useLog from '../private/use-log.mjs';
import { vcKey } from '../../utils/config.mjs';
function useVueCesium(containerId) {
var _a, _b;
const instance = getCurrentInstance();
const provides = instance.parent == null ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides;
if ((!provides || !(vcKey in provides)) && !containerId) {
containerId = "cesiumContainer";
}
const logger = useLog();
if (instance) {
if (containerId) {
const $vc = (_b = (_a = instance.appContext.config.globalProperties) == null ? void 0 : _a.$VueCesium) == null ? void 0 : _b[containerId];
if (!$vc) {
logger.warn(`Failed to get $vc, reason: vc-viewer with containerId: ${containerId} was not found.`);
}
return $vc;
} else {
return inject(vcKey);
}
} else {
logger.warn("VueCesium useVueCesium() can only be used inside setup().");
}
}
export { useVueCesium as default };
//# sourceMappingURL=index.mjs.map