devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
171 lines (169 loc) • 5.57 kB
JavaScript
/**
* DevExtreme (cjs/__internal/ui/map/m_provider.js)
* Version: 24.2.6
* Build date: Mon Mar 17 2025
*
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _index = require("../../../common/core/events/utils/index");
var _class = _interopRequireDefault(require("../../../core/class"));
var _iterator = require("../../../core/utils/iterator");
var _type = require("../../../core/utils/type");
function _interopRequireDefault(e) {
return e && e.__esModule ? e : {
default: e
}
}
class Provider extends(_class.default.inherit({})) {
_defaultRouteWeight() {
return 5
}
_defaultRouteOpacity() {
return .5
}
_defaultRouteColor() {
return "#0000FF"
}
ctor(map, $container) {
this._mapWidget = map;
this._$container = $container
}
render(markerOptions, routeOptions) {
return this._renderImpl().then((() => Promise.all([this._applyFunctionIfNeeded("addMarkers", markerOptions), this._applyFunctionIfNeeded("addRoutes", routeOptions)]).then((() => true))))
}
_renderImpl() {
_class.default.abstract()
}
updateDimensions() {
_class.default.abstract()
}
updateMapType() {
_class.default.abstract()
}
updateDisabled() {
_class.default.abstract()
}
updateBounds() {
_class.default.abstract()
}
updateCenter() {
_class.default.abstract()
}
updateZoom() {
_class.default.abstract()
}
updateControls() {
_class.default.abstract()
}
updateMarkers(markerOptionsToRemove, markerOptionsToAdd) {
return new Promise((resolve => this._applyFunctionIfNeeded("removeMarkers", markerOptionsToRemove).then((removeValue => {
this._applyFunctionIfNeeded("addMarkers", markerOptionsToAdd).then((addValue => {
resolve(addValue || removeValue)
}))
}))))
}
addMarkers(options) {
_class.default.abstract()
}
removeMarkers(options) {
_class.default.abstract()
}
adjustViewport() {
_class.default.abstract()
}
updateRoutes(routeOptionsToRemove, routeOptionsToAdd) {
return new Promise((resolve => this._applyFunctionIfNeeded("removeRoutes", routeOptionsToRemove).then((removeValue => {
this._applyFunctionIfNeeded("addRoutes", routeOptionsToAdd).then((addValue => {
resolve(addValue || removeValue)
}))
}))))
}
addRoutes(options) {
_class.default.abstract()
}
removeRoutes(options) {
_class.default.abstract()
}
clean() {
_class.default.abstract()
}
map() {
return this._map
}
isEventsCanceled(e) {
return false
}
_option(name, value) {
if (void 0 === value) {
return this._mapWidget.option(name)
}
this._mapWidget.setOptionSilent(name, value)
}
_keyOption(providerName) {
const key = this._option("apiKey");
return void 0 === key[providerName] ? key : key[providerName]
}
_parseTooltipOptions(option) {
return {
text: option.text || option,
visible: option.isShown || false
}
}
_getLatLng(location) {
if ("string" === typeof location) {
const coords = (0, _iterator.map)(location.split(","), (item => item.trim()));
const numericRegex = /^[-+]?[0-9]*\.?[0-9]*$/;
if (2 === coords.length && coords[0].match(numericRegex) && coords[1].match(numericRegex)) {
return {
lat: parseFloat(coords[0]),
lng: parseFloat(coords[1])
}
}
} else if (Array.isArray(location) && 2 === location.length) {
return {
lat: location[0],
lng: location[1]
}
} else if ((0, _type.isPlainObject)(location) && (0, _type.isNumeric)(location.lat) && (0, _type.isNumeric)(location.lng)) {
return location
}
return null
}
_areBoundsSet() {
return this._option("bounds.northEast") && this._option("bounds.southWest")
}
_addEventNamespace(name) {
return (0, _index.addNamespace)(name, this._mapWidget.NAME)
}
_applyFunctionIfNeeded(fnName, array) {
if (!array.length) {
return Promise.resolve()
}
return this[fnName](array)
}
_fireAction(name, actionArguments) {
this._mapWidget._createActionByOption(name)(actionArguments)
}
_fireClickAction(actionArguments) {
this._fireAction("onClick", actionArguments)
}
_fireMarkerAddedAction(actionArguments) {
this._fireAction("onMarkerAdded", actionArguments)
}
_fireMarkerRemovedAction(actionArguments) {
this._fireAction("onMarkerRemoved", actionArguments)
}
_fireRouteAddedAction(actionArguments) {
this._fireAction("onRouteAdded", actionArguments)
}
_fireRouteRemovedAction(actionArguments) {
this._fireAction("onRouteRemoved", actionArguments)
}
}
var _default = exports.default = Provider;