From 902e2860f4706900d248126ce91f75d9a31bc641 Mon Sep 17 00:00:00 2001 From: Fawad Mirzad Date: Mon, 15 Feb 2021 06:22:53 +0100 Subject: [PATCH] Remove dead code --- package.json | 2 +- src/components/mapImpl.js | 184 -------------------------------------- 2 files changed, 1 insertion(+), 185 deletions(-) delete mode 100644 src/components/mapImpl.js diff --git a/package.json b/package.json index c67d064..e336cc5 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@fawmi/vue-google-maps", "description": "Google Map components for Vue.js 3", - "version": "0.7.8", + "version": "0.7.9", "private": false, "main": "src/main.js", "keywords": [ diff --git a/src/components/mapImpl.js b/src/components/mapImpl.js deleted file mode 100644 index 9b0d870..0000000 --- a/src/components/mapImpl.js +++ /dev/null @@ -1,184 +0,0 @@ -import bindEvents from '../utils/bindEvents.js' -import { bindProps, getPropsValues } from '../utils/bindProps.js' -import mountableMixin from '../utils/mountableMixin.js' - -import TwoWayBindingWrapper from '../utils/TwoWayBindingWrapper.js' -import WatchPrimitiveProperties from '../utils/WatchPrimitiveProperties.js' -import { mappedPropsToVueProps } from './build-component.js' - -const props = { - center: { - required: true, - twoWay: true, - type: Object, - noBind: true, - }, - zoom: { - required: false, - twoWay: true, - type: Number, - noBind: true, - }, - heading: { - type: Number, - twoWay: true, - }, - mapTypeId: { - twoWay: true, - type: String, - }, - tilt: { - twoWay: true, - type: Number, - }, - options: { - type: Object, - default() { - return {} - }, - }, -} - -const events = [ - 'bounds_changed', - 'click', - 'dblclick', - 'drag', - 'dragend', - 'dragstart', - 'idle', - 'mousemove', - 'mouseout', - 'mouseover', - 'resize', - 'rightclick', - 'tilesloaded', -] - -// Plain Google Maps methods exposed here for convenience -const linkedMethods = ['panBy', 'panTo', 'panToBounds', 'fitBounds'].reduce((all, methodName) => { - all[methodName] = function () { - if (this.$mapObject) { - this.$mapObject[methodName].apply(this.$mapObject, arguments) - } - } - return all -}, {}) - -// Other convenience methods exposed by Vue Google Maps -const customMethods = { - resize() { - if (this.$mapObject) { - google.maps.event.trigger(this.$mapObject, 'resize') - } - }, - resizePreserveCenter() { - if (!this.$mapObject) { - return - } - - const oldCenter = this.$mapObject.getCenter() - google.maps.event.trigger(this.$mapObject, 'resize') - this.$mapObject.setCenter(oldCenter) - }, - - /// Override mountableMixin::_resizeCallback - /// because resizePreserveCenter is usually the - /// expected behaviour - _resizeCallback() { - this.resizePreserveCenter() - }, -} - -export default { - mixins: [mountableMixin], - props: mappedPropsToVueProps(props), - - provide() { - this.$mapPromise = new Promise((resolve, reject) => { - this.$mapPromiseDeferred = { resolve, reject } - }) - return { - $mapPromise: this.$mapPromise, - } - }, - emits: ['center_changed', 'zoom_changed', 'bounds_changed'], - computed: { - finalLat() { - return this.center && typeof this.center.lat === 'function' - ? this.center.lat() - : this.center.lat - }, - finalLng() { - return this.center && typeof this.center.lng === 'function' - ? this.center.lng() - : this.center.lng - }, - finalLatLng() { - return { lat: this.finalLat, lng: this.finalLng } - }, - }, - - watch: { - zoom(zoom) { - if (this.$mapObject) { - this.$mapObject.setZoom(zoom) - } - }, - }, - - mounted() { - return this.$gmapApiPromiseLazy() - .then(() => { - // getting the DOM element where to create the map - const element = this.$refs['vue-map'] - - // creating the map - const options = { - ...this.options, - ...getPropsValues(this, props), - } - delete options.options - this.$mapObject = new google.maps.Map(element, options) - - // binding properties (two and one way) - bindProps(this, this.$mapObject, props) - // binding events - bindEvents(this, this.$mapObject, events) - - // manually trigger center and zoom - TwoWayBindingWrapper((increment, decrement, shouldUpdate) => { - this.$mapObject.addListener('center_changed', () => { - if (shouldUpdate()) { - this.$emit('center_changed', this.$mapObject.getCenter()) - } - decrement() - }) - - const updateCenter = () => { - increment() - this.$mapObject.setCenter(this.finalLatLng) - } - - WatchPrimitiveProperties(this, ['finalLat', 'finalLng'], updateCenter) - }) - this.$mapObject.addListener('zoom_changed', () => { - this.$emit('zoom_changed', this.$mapObject.getZoom()) - }) - this.$mapObject.addListener('bounds_changed', () => { - this.$emit('bounds_changed', this.$mapObject.getBounds()) - }) - - this.$mapPromiseDeferred.resolve(this.$mapObject) - - return this.$mapObject - }) - .catch((error) => { - throw error - }) - }, - methods: { - ...customMethods, - ...linkedMethods, - }, -}