vue-cesium
Version:
Vue 3.x components for CesiumJS.
89 lines (84 loc) • 4.01 kB
JavaScript
Object.defineProperty(exports, '__esModule', { value: true });
var vue = require('vue');
require('../../../composables/index.js');
var defaultProps = require('./defaultProps.js');
require('../../../utils/util.js');
var useDrawingFab = require('../../../composables/use-drawing/use-drawing-fab.js');
var index = require('./sightline/index.js');
var index$1 = require('./viewshed/index.js');
var emits$1 = require('../../../utils/emits.js');
var lodashEs = require('lodash-es');
var index$2 = require('../../../composables/use-locale/index.js');
var shared = require('@vue/shared');
;
const emits = {
...emits$1.drawingEmit,
fabUpdated: (value) => true,
clearEvt: (e, viewer) => true
};
var Analyses = vue.defineComponent({
name: "VcAnalyses",
props: defaultProps.analysesProps,
emits,
setup(props, ctx) {
var _a;
const instance = vue.getCurrentInstance();
instance.cesiumClass = "VcAnalyses";
const { t } = index$2.useLocale();
const options = {};
const clearActionOpts = vue.reactive(Object.assign({}, defaultProps.defaultOptions.clearActionOpts, props.clearActionOpts));
const mainFabOpts = vue.reactive(Object.assign({}, defaultProps.defaultOptions.mainFabOpts, props.mainFabOpts));
const fabActionOpts = vue.reactive(Object.assign({}, defaultProps.defaultOptions.fabActionOpts, props.fabActionOpts));
const sightlineActionOpts = vue.reactive(
Object.assign({}, defaultProps.defaultOptions.sightlineActionOpts, mergeActionOpts("sightlineActionOpts"))
);
const sightlineAnalysisOpts = vue.reactive(lodashEs.merge(lodashEs.cloneDeep(defaultProps.defaultOptions.sightlineAnalysisOpts), props.sightlineAnalysisOpts));
const viewshedActionOpts = vue.reactive(
Object.assign({}, defaultProps.defaultOptions.viewshedActionOpts, mergeActionOpts("viewshedActionOpts"))
);
const viewshedAnalysisOpts = vue.reactive(lodashEs.merge(lodashEs.cloneDeep(defaultProps.defaultOptions.viewshedAnalysisOpts), props.viewshedAnalysisOpts));
options.sightlineActionOpts = sightlineActionOpts;
options.sightlineAnalysisOpts = sightlineAnalysisOpts;
options.viewshedActionOpts = viewshedActionOpts;
options.viewshedAnalysisOpts = viewshedAnalysisOpts;
options.clearActionOpts = clearActionOpts;
const drawingActionInstances = vue.computed(() => {
return props.analyses.map((analysisName) => ({
name: analysisName,
type: "analysis",
actionStyle: {
background: options[`${shared.camelize(analysisName)}ActionOpts`].color,
color: options[`${shared.camelize(analysisName)}ActionOpts`].textColor
},
actionClass: `vc-analysis-${analysisName} vc-analysis-button`,
actionRef: vue.ref(null),
actionOpts: options[`${shared.camelize(analysisName)}ActionOpts`],
cmp: getDrawingCmp(analysisName),
cmpRef: vue.ref(null),
cmpOpts: options[`${shared.camelize(analysisName)}AnalysisOpts`],
tip: options[`${shared.camelize(analysisName)}ActionOpts`].tooltip.tip || t(`vc.analysis.${shared.camelize(analysisName)}.tip`),
isActive: false
}));
});
function getDrawingCmp(name) {
switch (name) {
case "sightline":
return index["default"];
case "viewshed":
return index$1["default"];
default:
return void 0;
}
}
function mergeActionOpts(actionName) {
return lodashEs.isEqual(defaultProps.defaultOptions[actionName], props[actionName]) ? fabActionOpts : Object.assign({}, fabActionOpts, props[actionName]);
}
return (_a = useDrawingFab["default"](props, ctx, instance, drawingActionInstances, mainFabOpts, clearActionOpts, "analysis")) == null ? void 0 : _a.renderContent;
}
});
exports.analysesProps = defaultProps.analysesProps;
exports.VcAnalysisSightline = index["default"];
exports.VcAnalysisViewshed = index$1["default"];
exports["default"] = Analyses;
//# sourceMappingURL=index.js.map
;