all files / maps/user-interaction/ tooltip.js

94.42% Statements 220/233
85.38% Branches 222/260
100% Functions 14/14
94.83% Lines 220/232
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430   268× 268× 268×   108× 108× 108× 108× 108× 108× 108×     102× 102× 102× 102×   108×       108× 108× 108× 108× 108× 108× 108× 108× 108× 108× 108× 108× 108× 108× 108× 108× 108× 108× 108× 108× 107× 107×   108× 108×     108× 107×   105× 22× 22× 22×     22× 22× 22×   22× 22× 27× 25× 416× 416×   416×   416×     416× 17× 17× 17× 17×         22× 22× 17× 17× 17× 51× 47×               22× 22×     16× 16×       16×           83× 63× 63× 63× 63× 63× 63× 62× 50×     12×       12× 12×                 20× 20× 20× 20× 20× 20× 20× 14×                   107× 100× 54×     46×       46× 46×         46×   100×               100× 100×       100×         100×               100× 99× 99×   99× 99×   99×   99×   99×   99×   99×               99×                                         99×                                     99×     99× 99× 99× 99×                       100× 99×         100× 99×                           100× 100×     99×   100×   65× 65× 65× 236× 236×     65×         12× 12×   12×   10× 10× 10× 10×       268×   259×     259×     257×   259× 259×   287× 44×   43×     43×     42×   43× 43×     3430×   266× 45×   266× 266×        
define(["require", "exports", "../index", "@syncfusion/ej2-svg-base", "@syncfusion/ej2-base", "../utils/helper"], function (require, exports, index_1, ej2_svg_base_1, ej2_base_1, helper_1) {
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    var MapsTooltip = (function () {
        function MapsTooltip(maps) {
            this.maps = maps;
            this.tooltipId = this.maps.element.id + '_mapsTooltip';
            this.addEventListener();
        }
        MapsTooltip.prototype.renderTooltip = function (e) {
            var _this = this;
            var pageX;
            var pageY;
            var target;
            var touchArg;
            var tooltipArgs;
            if (e.type.indexOf('touch') !== -1) {
                this.isTouch = true;
                touchArg = e;
                pageX = touchArg.changedTouches[0].pageX;
                pageY = touchArg.changedTouches[0].pageY;
                target = touchArg.target;
            }
            else {
                this.isTouch = e.pointerType === 'touch';
                pageX = e.pageX;
                pageY = e.pageY;
                target = e.target;
            }
            if (target.id.indexOf(this.maps.element.id) === -1) {
                var ancestor = target.closest('.' + this.maps.element.id + '_marker_template_element');
                Iif (!ej2_base_1.isNullOrUndefined(ancestor) && ancestor.id.indexOf('_MarkerIndex_') > -1) {
                    target = ancestor;
                }
            }
            var option;
            var polygonTooltipOption;
            var currentData = '';
            var targetId = target.id;
            var tooltipEle;
            var templateData = [];
            var keyString;
            var index = targetId.indexOf('_LayerIndex_') > -1 && parseFloat(targetId.split('_LayerIndex_')[1].split('_')[0]);
            var layer = this.maps.layersCollection[index];
            var tooltipContent = [];
            var markerFill;
            var location = helper_1.getMousePosition(pageX, pageY, this.maps.svgObject);
            this.tooltipTargetID = targetId;
            var polygonTextStyle;
            var polygonFill;
            var polygon;
            var latitude = null;
            var longitude = null;
            var latLongValue = this.maps.getClickLocation(targetId, e.pageX, e.pageY, target, e['layerX'], e['layerY'], 'tooltip');
            if (!ej2_base_1.isNullOrUndefined(latLongValue)) {
                latitude = latLongValue.latitude;
                longitude = latLongValue.longitude;
            }
            var isPolygon = targetId.indexOf('_PolygonIndex_') > -1;
            var istooltipRender = (targetId.indexOf('_shapeIndex_') > -1)
                || (targetId.indexOf('_MarkerIndex_') > -1) || (targetId.indexOf('_BubbleIndex_') > -1)
                || (targetId.indexOf('_PolygonIndex_') > -1);
            if (istooltipRender && this.maps.markerDragArgument === null) {
                if (targetId.indexOf('_PolygonIndex_') > -1) {
                    var polygonIndex = parseInt(targetId.split('_PolygonIndex_')[1].split('_')[0], 10);
                    polygonTooltipOption = layer.polygonSettings.tooltipSettings;
                    polygon = layer.polygonSettings.polygons[polygonIndex];
                    polygonTextStyle = polygonTooltipOption.textStyle;
                    polygonFill = polygonTooltipOption.fill;
                    tooltipContent.push(polygon.tooltipText);
                }
                else if (targetId.indexOf('_shapeIndex_') > -1) {
                    option = layer.tooltipSettings;
                    var shape = parseInt(targetId.split('_shapeIndex_')[1].split('_')[0], 10);
                    Iif (ej2_base_1.isNullOrUndefined(layer.layerData) || ej2_base_1.isNullOrUndefined(layer.layerData[shape])) {
                        return;
                    }
                    var value = layer.layerData[shape]['property'];
                    var isShape = false;
                    var properties = (Object.prototype.toString.call(layer.shapePropertyPath) === '[object Array]' ?
                        layer.shapePropertyPath : [layer.shapePropertyPath]);
                    Eif (!ej2_base_1.isNullOrUndefined(properties)) {
                        for (var k = 0; k < properties.length; k++) {
                            if (!ej2_base_1.isNullOrUndefined(layer.dataSource) && !ej2_base_1.isNullOrUndefined(layer.shapeDataPath)) {
                                for (var i = 0; i < layer['dataSource']['length']; i++) {
                                    var data = layer.dataSource[i];
                                    var dataPath = (layer.shapeDataPath.indexOf('.') > -1) ?
                                        (helper_1.getValueFromObject(data, layer.shapeDataPath)) : data[layer.shapeDataPath];
                                    var dataPathValue = !ej2_base_1.isNullOrUndefined(dataPath) && isNaN(data[layer.shapeDataPath])
                                        ? dataPath.toLowerCase() : dataPath;
                                    var propertyValue = !ej2_base_1.isNullOrUndefined(value[properties[k]])
                                        && isNaN(value[properties[k]]) ? value[properties[k]].toLowerCase() :
                                        value[properties[k]];
                                    if (dataPathValue === propertyValue) {
                                        isShape = true;
                                        index = i;
                                        k = properties.length;
                                        break;
                                    }
                                }
                            }
                        }
                        index = isShape ? index : null;
                        if (layer['dataSource'] && layer['dataSource']['length'] > 0) {
                            Eif (!ej2_base_1.isNullOrUndefined(layer.dataSource[index])) {
                                templateData = JSON.parse(JSON.stringify(layer.dataSource[index]));
                                for (keyString in value) {
                                    if (!templateData.hasOwnProperty(keyString)) {
                                        templateData[keyString] = value[keyString];
                                    }
                                }
                            }
                        }
                        else {
                            templateData = value;
                        }
                    }
                    Eif (option.visible && ((!ej2_base_1.isNullOrUndefined(index) && !isNaN(index)) || (!ej2_base_1.isNullOrUndefined(value)))) {
                        if (layer.tooltipSettings.format) {
                            currentData = this.formatter(layer.tooltipSettings.format, templateData);
                        }
                        else {
                            var shapePath = helper_1.checkPropertyPath(layer.shapeDataPath, layer.shapePropertyPath, value);
                            currentData = (!ej2_base_1.isNullOrUndefined(layer.dataSource) && !ej2_base_1.isNullOrUndefined(index)) ?
                                helper_1.formatValue(((option.valuePath.indexOf('.') > -1) ?
                                    (helper_1.getValueFromObject(layer.dataSource[index], option.valuePath)) :
                                    layer.dataSource[index][option.valuePath]), this.maps) : value[shapePath];
                            if (ej2_base_1.isNullOrUndefined(currentData) && !ej2_base_1.isNullOrUndefined(option.valuePath)) {
                                currentData = (option.valuePath.indexOf('.') > -1) ?
                                    (helper_1.getValueFromObject(value, option.valuePath)) : value[option.valuePath];
                            }
                        }
                    }
                }
                else if (targetId.indexOf('_MarkerIndex_') > -1) {
                    var markerIdex = parseInt(targetId.split('_MarkerIndex_')[1].split('_')[0], 10);
                    var dataIndex = parseInt(targetId.split('_MarkerIndex_')[1].split('_')[2], 10);
                    var marker = layer.markerSettings[markerIdex];
                    option = marker.tooltipSettings;
                    templateData = marker.dataSource[dataIndex];
                    if (option.visible && !isNaN(markerIdex)) {
                        if (marker.tooltipSettings.format) {
                            currentData = this.formatter(marker.tooltipSettings.format, marker.dataSource[dataIndex]);
                        }
                        else {
                            Iif (typeof marker.template !== 'function' && marker.template && !marker.tooltipSettings.valuePath) {
                                currentData = marker.template.split('>')[1].split('<')[0];
                            }
                            else {
                                Eif (!ej2_base_1.isNullOrUndefined(marker.tooltipSettings.valuePath)) {
                                    currentData =
                                        helper_1.formatValue(((marker.tooltipSettings.valuePath.indexOf('.') > -1) ?
                                            (helper_1.getValueFromObject(marker.dataSource[dataIndex], marker.tooltipSettings.valuePath)) :
                                            marker.dataSource[dataIndex][marker.tooltipSettings.valuePath]), this.maps);
                                }
                            }
                        }
                    }
                }
                else Eif (targetId.indexOf('_BubbleIndex_') > -1) {
                    var bubbleIndex = parseInt(targetId.split('_BubbleIndex_')[1].split('_')[0], 10);
                    var dataIndex = parseInt(targetId.split('_BubbleIndex_')[1].split('_')[2], 10);
                    var bubble = layer.bubbleSettings[bubbleIndex];
                    option = bubble.tooltipSettings;
                    templateData = bubble.dataSource[dataIndex];
                    if (option.visible && !isNaN(dataIndex)) {
                        if (bubble.tooltipSettings.format) {
                            currentData = this.formatter(bubble.tooltipSettings.format, bubble.dataSource[dataIndex]);
                        }
                        else {
                            Eif (!ej2_base_1.isNullOrUndefined(bubble.tooltipSettings.valuePath)) {
                                currentData =
                                    helper_1.formatValue(((bubble.tooltipSettings.valuePath.indexOf('.') > -1) ?
                                        (helper_1.getValueFromObject(bubble.dataSource[dataIndex], bubble.tooltipSettings.valuePath)) :
                                        bubble.dataSource[dataIndex][bubble.tooltipSettings.valuePath]), this.maps);
                            }
                        }
                    }
                }
                if (isPolygon ? polygonTooltipOption.visible : option.visible) {
                    if (document.getElementById(this.tooltipId)) {
                        tooltipEle = document.getElementById(this.tooltipId);
                    }
                    else {
                        tooltipEle = ej2_base_1.createElement('div', {
                            id: this.maps.element.id + '_mapsTooltip',
                            className: 'EJ2-maps-Tooltip'
                        });
                        Eif (ej2_base_1.isNullOrUndefined(isPolygon ? polygon.tooltipTemplate : option.template) || (isPolygon ? polygon.tooltipTemplate === '' : option.template === '') || this.maps.tooltipDisplayMode === 'MouseMove') {
                            tooltipEle.style.cssText = 'position: absolute;pointer-events:none;';
                        }
                        else {
                            tooltipEle.style.position = 'absolute';
                        }
                        document.getElementById(this.maps.element.id + '_Secondary_Element').appendChild(tooltipEle);
                    }
                    Iif (typeof (isPolygon ? polygon.tooltipTemplate !== 'function' : option.template !== 'function') && (isPolygon ? polygon.tooltipTemplate !== null : option.template !== null) && Object.keys(typeof (isPolygon ? polygon.tooltipTemplate === 'object' : option.template === 'object') ? (isPolygon ? polygon.tooltipTemplate : option.template) : {}).length === 1) {
                        if (isPolygon) {
                            polygon.tooltipTemplate = polygon.tooltipTemplate[Object.keys(polygon.tooltipTemplate)[0]];
                        }
                        else {
                            option.template = option.template[Object.keys(option.template)[0]];
                        }
                    }
                    templateData = this.setTooltipContent(option, templateData);
                    var tooltipTextStyle = {
                        color: isPolygon ? polygonTextStyle.color : option.textStyle.color, fontFamily: isPolygon ? polygonTextStyle.fontFamily : option.textStyle.fontFamily, fontStyle: isPolygon ? polygonTextStyle.fontStyle : option.textStyle.fontStyle,
                        fontWeight: isPolygon ? polygonTextStyle.fontWeight : option.textStyle.fontWeight, opacity: isPolygon ? polygonTextStyle.opacity : option.textStyle.opacity, size: isPolygon ? polygonTextStyle.size : option.textStyle.size
                    };
                    var tooltipOption = {
                        location: location, text: tooltipContent, data: templateData,
                        textStyle: tooltipTextStyle,
                        template: isPolygon ? polygon.tooltipTemplate : option.template
                    };
                    tooltipArgs = {
                        cancel: false, name: index_1.tooltipRender,
                        options: tooltipOption,
                        fill: isPolygon ? polygonFill : option.fill,
                        maps: this.maps, latitude: latitude, longitude: longitude,
                        element: target, eventArgs: e, content: isPolygon ? (!ej2_base_1.isNullOrUndefined(polygon.tooltipText) ? polygon.tooltipText : '') :
                            !ej2_base_1.isNullOrUndefined(currentData) ? currentData.toString() : ''
                    };
                    if (tooltipArgs.content !== '' || tooltipArgs.options['template'] !== '') {
                        this.maps.trigger(index_1.tooltipRender, tooltipArgs, function (args) {
                            Eif (!tooltipArgs.cancel && !ej2_base_1.isNullOrUndefined(currentData) &&
                                (targetId.indexOf('_cluster_') === -1 && targetId.indexOf('_dataLabel_') === -1)) {
                                _this.maps['isProtectedOnChange'] = true;
                                tooltipArgs.options['textStyle']['size'] = tooltipArgs.options['textStyle']['size']
                                    || _this.maps.themeStyle.fontSize;
                                tooltipArgs.options['textStyle']['color'] = tooltipArgs.options['textStyle']['color']
                                    || _this.maps.themeStyle.tooltipFontColor;
                                tooltipArgs.options['textStyle']['fontFamily'] = tooltipArgs.options['textStyle']['fontFamily']
                                    || _this.maps.themeStyle.fontFamily;
                                tooltipArgs.options['textStyle']['fontWeight'] = tooltipArgs.options['textStyle']['fontWeight']
                                    || _this.maps.themeStyle.fontWeight;
                                tooltipArgs.options['textStyle']['opacity'] = tooltipArgs.options['textStyle']['opacity']
                                    || _this.maps.themeStyle.tooltipTextOpacity;
                                var borderObject = isPolygon ? {
                                    color: polygonTooltipOption.border.color ||
                                        _this.maps.themeStyle.tooltipBorderColor, width: polygonTooltipOption.border.width,
                                    opacity: polygonTooltipOption.border.opacity
                                } : {
                                    color: option.border.color ||
                                        _this.maps.themeStyle.tooltipBorderColor, width: option.border.width, opacity: option.border.opacity
                                };
                                Iif (tooltipArgs.cancel) {
                                    _this.svgTooltip = new ej2_svg_base_1.Tooltip({
                                        theme: _this.maps.theme,
                                        enable: true,
                                        header: '',
                                        data: option['data'],
                                        template: option['template'],
                                        content: tooltipArgs.content.toString() !== currentData.toString() ? [tooltipArgs.content.toString()] :
                                            [currentData.toString()],
                                        shapes: [],
                                        location: option['location'],
                                        palette: [markerFill],
                                        areaBounds: _this.maps.mapAreaRect,
                                        textStyle: option['textStyle'],
                                        availableSize: _this.maps.availableSize,
                                        fill: option.fill || _this.maps.themeStyle.tooltipFillColor,
                                        enableShadow: true,
                                        border: borderObject
                                    });
                                }
                                else {
                                    _this.svgTooltip = new ej2_svg_base_1.Tooltip({
                                        theme: _this.maps.theme,
                                        enable: true,
                                        header: '',
                                        data: tooltipArgs.options['data'],
                                        template: tooltipArgs.options['template'],
                                        content: tooltipArgs.content.toString() !== currentData.toString() ? [tooltipArgs.content.toString()] :
                                            [currentData.toString()],
                                        shapes: [],
                                        location: tooltipArgs.options['location'],
                                        palette: [markerFill],
                                        areaBounds: _this.maps.mapAreaRect,
                                        textStyle: tooltipArgs.options['textStyle'],
                                        availableSize: _this.maps.availableSize,
                                        fill: tooltipArgs.fill || _this.maps.themeStyle.tooltipFillColor,
                                        enableShadow: true,
                                        border: borderObject
                                    });
                                }
                                Iif (_this.maps.isVue || _this.maps.isVue3) {
                                    _this.svgTooltip.controlInstance = _this.maps;
                                }
                                _this.svgTooltip.opacity = _this.maps.themeStyle.tooltipFillOpacity || _this.svgTooltip.opacity;
                                _this.svgTooltip.appendTo(tooltipEle);
                                _this.maps.renderReactTemplates();
                                if (_this.maps.isDevice) {
                                    var timer = targetId.indexOf('_MarkerIndex_') > -1 || targetId.indexOf('_BubbleIndex_') > -1
                                        || targetId.indexOf('_shapeIndex_') > -1 ? option.duration : polygonTooltipOption.duration;
                                    timer = (!ej2_base_1.isNullOrUndefined(timer) && timer > 0) ? timer : (timer < 0) ? 2000 : null;
                                    Eif (timer !== null) {
                                        clearTimeout(_this.tooltipTimer);
                                        _this.tooltipTimer = setTimeout(_this.removeTooltip.bind(_this), timer);
                                    }
                                }
                            }
                            else {
                                _this.clearTooltip(e.target);
                            }
                        });
                    }
                    else {
                        this.clearTooltip(e.target);
                    }
                    if (this.svgTooltip) {
                        this.maps.trigger('tooltipRenderComplete', {
                            cancel: false, name: 'tooltipRenderComplete', maps: this.maps, options: tooltipOption,
                            element: this.svgTooltip.element
                        });
                    }
                    if (this.svgTooltip) {
                        this.maps.trigger('tooltipRenderComplete', {
                            cancel: false, name: 'tooltipRenderComplete', maps: this.maps, options: tooltipOption, element: this.svgTooltip.element
                        });
                    }
                    else {
                        this.clearTooltip(e.target);
                    }
                }
                else {
                    this.clearTooltip(e.target);
                }
            }
            else {
                var tooltipElement = e.target.closest('#' + this.maps.element.id + '_mapsTooltipparent_template');
                Eif (ej2_base_1.isNullOrUndefined(tooltipElement)) {
                    this.clearTooltip(e.target);
                }
            }
        };
        MapsTooltip.prototype.setTooltipContent = function (options, templateData) {
            var localData = ej2_base_1.extend({}, templateData, null, true);
            if (this.maps.format && !isNaN(Number(localData[options.valuePath]))) {
                localData[options.valuePath] = helper_1.Internalize(this.maps, Number(localData[options.valuePath]));
            }
            else {
                localData = Object.keys(localData).length ? localData : undefined;
            }
            return localData;
        };
        MapsTooltip.prototype.formatter = function (format, data) {
            Iif (data === void 0) { data = {}; }
            var keys = Object.keys(data);
            for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
                var key = keys_1[_i];
                format = (typeof data[key] === 'object') ? helper_1.convertStringToValue('', format, data, this.maps) :
                    format.split('${' + key + '}').join(helper_1.formatValue(data[key], this.maps));
            }
            return format;
        };
        MapsTooltip.prototype.mouseUpHandler = function (e) {
            if (!ej2_base_1.isNullOrUndefined(this.maps)) {
                this.renderTooltip(e);
                if (this.maps.tooltipDisplayMode === 'MouseMove') {
                    clearTimeout(this.tooltipTimer);
                    this.tooltipTimer = setTimeout(this.removeTooltip.bind(this), 2000);
                }
            }
        };
        MapsTooltip.prototype.removeTooltip = function () {
            var isTooltipRemoved = false;
            if (document.getElementsByClassName('EJ2-maps-Tooltip').length > 0) {
                ej2_base_1.remove(document.getElementsByClassName('EJ2-maps-Tooltip')[0]);
                isTooltipRemoved = true;
            }
            return isTooltipRemoved;
        };
        MapsTooltip.prototype.clearTooltip = function (element) {
            var tooltipElement = element.closest('#' + this.maps.element.id + '_mapsTooltipparent_template');
            Eif (ej2_base_1.isNullOrUndefined(tooltipElement)) {
                var isTooltipRemoved = this.removeTooltip();
                if (isTooltipRemoved) {
                    this.maps.clearTemplate();
                }
            }
        };
        MapsTooltip.prototype.addEventListener = function () {
            if (this.maps.isDestroyed) {
                return;
            }
            Iif (this.maps.tooltipDisplayMode === 'DoubleClick') {
                this.maps.on('dblclick', this.renderTooltip, this);
            }
            else if (this.maps.tooltipDisplayMode === 'Click') {
                this.maps.on(ej2_base_1.Browser.touchEndEvent, this.mouseUpHandler, this);
            }
            else {
                this.maps.on(ej2_base_1.Browser.touchMoveEvent, this.renderTooltip, this);
            }
            this.maps.on(ej2_base_1.Browser.touchCancelEvent, this.removeTooltip, this);
            this.maps.element.addEventListener('contextmenu', this.removeTooltip);
        };
        MapsTooltip.prototype.removeEventListener = function () {
            if (this.maps) {
                if (this.maps.isDestroyed) {
                    return;
                }
                Iif (this.maps.tooltipDisplayMode === 'DoubleClick') {
                    this.maps.off('dblclick', this.renderTooltip);
                }
                else if (this.maps.tooltipDisplayMode === 'Click') {
                    this.maps.off(ej2_base_1.Browser.touchEndEvent, this.mouseUpHandler);
                }
                else {
                    this.maps.off(ej2_base_1.Browser.touchMoveEvent, this.renderTooltip);
                }
                this.maps.off(ej2_base_1.Browser.touchCancelEvent, this.removeTooltip);
                this.maps.element.removeEventListener('contextmenu', this.removeTooltip);
            }
        };
        MapsTooltip.prototype.getModuleName = function () {
            return 'MapsTooltip';
        };
        MapsTooltip.prototype.destroy = function () {
            if (!ej2_base_1.isNullOrUndefined(this.svgTooltip)) {
                this.svgTooltip.destroy();
            }
            this.svgTooltip = null;
            this.maps = null;
        };
        return MapsTooltip;
    }());
    exports.MapsTooltip = MapsTooltip;
});