vue-cesium
Version:
Vue 3.x components for CesiumJS.
183 lines (178 loc) • 9.31 kB
JavaScript
Object.defineProperty(exports, '__esModule', { value: true });
var vue = require('vue');
var defaultProps = require('./defaultProps.js');
require('../../../utils/util.js');
var index = require('./distance/index.js');
var index$1 = require('./polyline/index.js');
var index$2 = require('./horizontal/index.js');
var index$3 = require('./vertical/index.js');
var index$4 = require('./height/index.js');
var index$5 = require('./point/index.js');
var index$6 = require('./area/index.js');
var index$7 = require('./rectangle/index.js');
var index$8 = require('./regular/index.js');
require('../../../composables/index.js');
var useDrawingFab = require('../../../composables/use-drawing/use-drawing-fab.js');
var emits$1 = require('../../../utils/emits.js');
var lodashEs = require('lodash-es');
var index$9 = require('../../../composables/use-locale/index.js');
var shared = require('@vue/shared');
;
const emits = {
...emits$1.drawingEmit,
fabUpdated: (value) => true,
clearEvt: (e, viewer) => true
};
var Measurements = vue.defineComponent({
name: "VcMeasurements",
props: defaultProps.measurementsProps,
emits,
setup(props, ctx) {
var _a;
const instance = vue.getCurrentInstance();
instance.cesiumClass = "VcMeasurements";
const { t } = index$9.useLocale();
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 distanceActionOpts = vue.reactive(
Object.assign({}, defaultProps.defaultOptions.distanceActionOpts, mergeActionOpts("distanceActionOpts"))
);
const distanceMeasurementOpts = vue.reactive(
lodashEs.merge(lodashEs.cloneDeep(defaultProps.defaultOptions.distanceMeasurementOpts), props.distanceMeasurementOpts)
);
const componentDistanceActionOpts = vue.reactive(
Object.assign({}, defaultProps.defaultOptions.componentDistanceActionOpts, mergeActionOpts("componentDistanceActionOpts"))
);
const componentDistanceMeasurementOpts = vue.reactive(
lodashEs.merge(lodashEs.cloneDeep(defaultProps.defaultOptions.componentDistanceMeasurementOpts), props.componentDistanceMeasurementOpts)
);
const polylineActionOpts = vue.reactive(
Object.assign({}, defaultProps.defaultOptions.polylineActionOpts, mergeActionOpts("polylineActionOpts"))
);
const polylineMeasurementOpts = vue.reactive(
lodashEs.merge(lodashEs.cloneDeep(defaultProps.defaultOptions.polylineMeasurementOpts), props.polylineMeasurementOpts)
);
const horizontalActionOpts = vue.reactive(
Object.assign({}, defaultProps.defaultOptions.horizontalActionOpts, mergeActionOpts("horizontalActionOpts"))
);
const horizontalMeasurementOpts = vue.reactive(
lodashEs.merge(lodashEs.cloneDeep(defaultProps.defaultOptions.horizontalMeasurementOpts), props.horizontalMeasurementOpts)
);
const verticalActionOpts = vue.reactive(
Object.assign({}, defaultProps.defaultOptions.verticalActionOpts, mergeActionOpts("verticalActionOpts"))
);
const verticalMeasurementOpts = vue.reactive(
lodashEs.merge(lodashEs.cloneDeep(defaultProps.defaultOptions.verticalMeasurementOpts), props.verticalMeasurementOpts)
);
const heightActionOpts = vue.reactive(Object.assign({}, defaultProps.defaultOptions.heightActionOpts, mergeActionOpts("heightActionOpts")));
const heightMeasurementOpts = vue.reactive(lodashEs.merge(lodashEs.cloneDeep(defaultProps.defaultOptions.heightMeasurementOpts), props.heightMeasurementOpts));
const areaActionOpts = vue.reactive(Object.assign({}, defaultProps.defaultOptions.areaActionOpts, mergeActionOpts("areaActionOpts")));
const areaMeasurementOpts = vue.reactive(
lodashEs.merge(lodashEs.cloneDeep(defaultProps.defaultOptions.areaMeasurementOpts), props.areaMeasurementOpts)
);
const pointActionOpts = vue.reactive(Object.assign({}, defaultProps.defaultOptions.pointActionOpts, mergeActionOpts("pointActionOpts")));
const pointMeasurementOpts = vue.reactive(lodashEs.merge(lodashEs.cloneDeep(defaultProps.defaultOptions.pointMeasurementOpts), props.pointMeasurementOpts));
const rectangleActionOpts = vue.reactive(
Object.assign({}, defaultProps.defaultOptions.rectangleActionOpts, mergeActionOpts("rectangleActionOpts"))
);
const rectangleMeasurementOpts = vue.reactive(
lodashEs.merge(lodashEs.cloneDeep(defaultProps.defaultOptions.rectangleMeasurementOpts), props.rectangleMeasurementOpts)
);
const regularActionOpts = vue.reactive(
Object.assign({}, defaultProps.defaultOptions.regularActionOpts, mergeActionOpts("regularActionOpts"))
);
const regularMeasurementOpts = vue.reactive(
lodashEs.merge(lodashEs.cloneDeep(defaultProps.defaultOptions.regularMeasurementOpts), props.regularMeasurementOpts)
);
const circleActionOpts = vue.reactive(Object.assign({}, defaultProps.defaultOptions.circleActionOpts, mergeActionOpts("circleActionOpts")));
const circleMeasurementOpts = vue.reactive(
lodashEs.merge(lodashEs.cloneDeep(defaultProps.defaultOptions.circleMeasurementOpts), props.circleMeasurementOpts)
);
const options = {};
options.distanceActionOpts = distanceActionOpts;
options.distanceMeasurementOpts = distanceMeasurementOpts;
options.componentDistanceActionOpts = componentDistanceActionOpts;
options.componentDistanceMeasurementOpts = componentDistanceMeasurementOpts;
options.polylineActionOpts = polylineActionOpts;
options.polylineMeasurementOpts = polylineMeasurementOpts;
options.horizontalActionOpts = horizontalActionOpts;
options.horizontalMeasurementOpts = horizontalMeasurementOpts;
options.verticalActionOpts = verticalActionOpts;
options.verticalMeasurementOpts = verticalMeasurementOpts;
options.heightActionOpts = heightActionOpts;
options.heightMeasurementOpts = heightMeasurementOpts;
options.areaActionOpts = areaActionOpts;
options.areaMeasurementOpts = areaMeasurementOpts;
options.pointActionOpts = pointActionOpts;
options.pointMeasurementOpts = pointMeasurementOpts;
options.rectangleActionOpts = rectangleActionOpts;
options.rectangleMeasurementOpts = rectangleMeasurementOpts;
options.regularActionOpts = regularActionOpts;
options.regularMeasurementOpts = regularMeasurementOpts;
options.circleActionOpts = circleActionOpts;
options.circleMeasurementOpts = circleMeasurementOpts;
options.clearActionOpts = clearActionOpts;
const drawingActionInstances = vue.computed(() => {
return props.measurements.map((measurement) => ({
name: measurement,
type: "measurement",
actionStyle: {
background: options[`${shared.camelize(measurement)}ActionOpts`].color,
color: options[`${shared.camelize(measurement)}ActionOpts`].textColor
},
actionClass: `vc-measure-${measurement} vc-measure-button`,
actionRef: vue.ref(null),
actionOpts: options[`${shared.camelize(measurement)}ActionOpts`],
cmp: getMeasurementCmp(measurement),
cmpRef: vue.ref(null),
cmpOpts: options[`${shared.camelize(measurement)}MeasurementOpts`],
tip: options[`${shared.camelize(measurement)}ActionOpts`].tooltip.tip || t(`vc.measurement.${measurement}.tip`),
isActive: false
}));
});
function getMeasurementCmp(name) {
switch (name) {
case "distance":
case "component-distance":
return index["default"];
case "polyline":
return index$1["default"];
case "horizontal":
return index$2["default"];
case "vertical":
return index$3["default"];
case "height":
return index$4["default"];
case "point":
return index$5["default"];
case "area":
return index$6["default"];
case "rectangle":
return index$7["default"];
case "regular":
case "circle":
return index$8["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, "measurement")) == null ? void 0 : _a.renderContent;
}
});
exports.measurementsProps = defaultProps.measurementsProps;
exports.VcMeasurementDistance = index["default"];
exports.VcMeasurementPolyline = index$1["default"];
exports.VcMeasurementHorizontal = index$2["default"];
exports.VcMeasurementVertical = index$3["default"];
exports.VcMeasurementHeight = index$4["default"];
exports.VcMeasurementPoint = index$5["default"];
exports.VcMeasurementArea = index$6["default"];
exports.VcMeasurementRectangle = index$7["default"];
exports.VcMeasurementRegular = index$8["default"];
exports["default"] = Measurements;
//# sourceMappingURL=index.js.map
;