├── .babelrc ├── .eslintrc.js ├── .github └── FUNDING.yml ├── .gitignore ├── LICENSE ├── README.md ├── Vue2LeafletGoogleMutant.vue ├── build.config.js ├── dist ├── Vue2LeafletGoogleMutant.js └── Vue2LeafletGoogleMutant.js.map ├── example.vue ├── package-lock.json ├── package.json └── yarn.lock /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["es2015", "stage-2"], 3 | "plugins": ["transform-runtime"], 4 | "comments": false 5 | } 6 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | parser: 'babel-eslint', 4 | parserOptions: { 5 | sourceType: 'module' 6 | }, 7 | // https://github.com/feross/standard/blob/master/RULES.md#javascript-standard-style 8 | extends: 'standard', 9 | // required to lint *.vue files 10 | plugins: [ 11 | 'html' 12 | ], 13 | "globals": { 14 | window: true, 15 | document: true 16 | }, 17 | // add your custom rules here 18 | 'rules': { 19 | // allow paren-less arrow functions 20 | 'arrow-parens': 0, 21 | // allow async-await 22 | 'generator-star-spacing': 0, 23 | // allow debugger during development 24 | 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0, 25 | // added by Julian Perelli 26 | 'brace-style': [2, 'stroustrup'] 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | ko_fi: jperelli 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | 6 | # Runtime data 7 | pids 8 | *.pid 9 | *.seed 10 | 11 | # Directory for instrumented libs generated by jscoverage/JSCover 12 | lib-cov 13 | 14 | # Coverage directory used by tools like istanbul 15 | coverage 16 | 17 | # nyc test coverage 18 | .nyc_output 19 | 20 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 21 | .grunt 22 | 23 | # node-waf configuration 24 | .lock-wscript 25 | 26 | # Compiled binary addons (http://nodejs.org/api/addons.html) 27 | build/Release 28 | 29 | # Dependency directories 30 | node_modules 31 | jspm_packages 32 | 33 | # Optional npm cache directory 34 | .npm 35 | 36 | # Optional REPL history 37 | .node_repl_history 38 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Julián Perelli 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # vue2-leaflet-googlemutant 2 | 3 | This is a [googlemutant plugin](https://gitlab.com/IvanSanchez/Leaflet.GridLayer.GoogleMutant) extension for [vue2-leaflet package](https://github.com/KoRiGaN/Vue2Leaflet) 4 | 5 | ## Install 6 | 7 | npm install --save vue2-leaflet-googlemutant vue2-leaflet leaflet leaflet.gridlayer.googlemutant 8 | 9 | ## Demo 10 | 11 | git clone git@github.com:jperelli/vue2-leaflet-googlemutant.git 12 | cd vue2-leaflet-googlemutant 13 | yarn 14 | yarn example 15 | 16 | # or alternatively using npm 17 | npm install 18 | npm run example 19 | 20 | Then you should be able to navigate with your browser and see the demo in http://localhost:4000/ 21 | 22 | You can see the demo code in the file [example.vue](example.vue) 23 | 24 | ## Usage 25 | 26 | ### on <template> add 27 | 28 | something like this 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | For available languages and regions, refer to Google Maps documentation on [localizing the map](https://developers.google.com/maps/documentation/javascript/localization). 38 | 39 | ### on <script> add 40 | 41 | #### option 1 42 | 43 | In the same template file, at ` 88 | -------------------------------------------------------------------------------- /build.config.js: -------------------------------------------------------------------------------- 1 | var nodeExternals = require('webpack-node-externals'); 2 | 3 | module.exports = { 4 | webpack: { 5 | externals: [ 6 | nodeExternals(), 7 | {'leaflet': 'L'}, 8 | {'leaflet.gridlayer.googlemutant': {root: ['L', 'gridLayer', 'googleMutant']}} 9 | ] 10 | } 11 | } -------------------------------------------------------------------------------- /dist/Vue2LeafletGoogleMutant.js: -------------------------------------------------------------------------------- 1 | (function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("babel-runtime/helpers/typeof"),require("leaflet"),require("leaflet.gridlayer.googlemutant"),require("vue2-leaflet")):"function"==typeof define&&define.amd?define(["babel-runtime/helpers/typeof","leaflet","leaflet.gridlayer.googlemutant","vue2-leaflet"],t):"object"==typeof exports?exports.Vue2LeafletGoogleMutant=t(require("babel-runtime/helpers/typeof"),require("leaflet"),require("leaflet.gridlayer.googlemutant"),require("vue2-leaflet")):e.Vue2LeafletGoogleMutant=t(e["babel-runtime/helpers/typeof"],e.leaflet,e["leaflet.gridlayer.googlemutant"],e["vue2-leaflet"])})(this,function(e,t,r,n){return function(e){function t(n){if(r[n])return r[n].exports;var o=r[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var r={};return t.m=e,t.c=r,t.i=function(e){return e},t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/",t(t.s=8)}([function(e,t,r){var n=r(2)(r(1),r(3),null,null);e.exports=n.exports},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=r(4),i=n(o),a=r(5),u=n(a);r(6);var l=r(7),f={options:{type:Object,default:function(){return{}}},apikey:{type:String,default:function(){return""}},lang:{type:String,default:null},region:{type:String,default:null},name:{type:String,default:""},layerType:{type:String,default:"base"},visible:{type:Boolean,default:!0}};t.default={props:f,data:function(){return{ready:!1}},mounted:function(){if(this.mapObject=u.default.gridLayer.googleMutant(this.options),u.default.DomEvent.on(this.mapObject,this.$listeners),(0,l.propsBinder)(this,this.mapObject,f),"object"!==("undefined"==typeof google?"undefined":(0,i.default)(google))||"object"!==(0,i.default)(google.maps)){var e=document.createElement("script"),t="https://maps.googleapis.com/maps/api/js?key="+this.apikey;t+=this.lang?"&language="+this.lang:"",t+=this.region?"®ion="+this.region:"",e.setAttribute("src",t),document.head.appendChild(e)}this.ready=!0,this.parentContainer=(0,l.findRealParent)(this.$parent),this.parentContainer.addLayer(this,!this.visible)},beforeDestroy:function(){this.parentContainer.removeLayer(this)},methods:{addLayer:function(e,t){t||this.mapObject.addLayer(e.mapObject)},removeLayer:function(e,t){t||this.mapObject.removeLayer(e.mapObject)}}}},function(e,t){e.exports=function(e,t,r,n){var o,i=e=e||{},a=typeof e.default;"object"!==a&&"function"!==a||(o=e,i=e.default);var u="function"==typeof i?i.options:i;if(t&&(u.render=t.render,u.staticRenderFns=t.staticRenderFns),r&&(u._scopeId=r),n){var l=u.computed||(u.computed={});Object.keys(n).forEach(function(e){var t=n[e];l[e]=function(){return t}})}return{esModule:o,exports:i,options:u}}},function(e,t){e.exports={render:function(){var e=this,t=e.$createElement;return(e._self._c||t)("div",{staticStyle:{display:"none"}},[e.ready?e._t("default"):e._e()],2)},staticRenderFns:[]}},function(e,t){e.exports=require("babel-runtime/helpers/typeof")},function(e,t){e.exports=require("leaflet")},function(e,t){e.exports=require("leaflet.gridlayer.googlemutant")},function(e,t){e.exports=require("vue2-leaflet")},function(e,t,r){e.exports=r(0)}])}); 2 | //# sourceMappingURL=Vue2LeafletGoogleMutant.js.map -------------------------------------------------------------------------------- /dist/Vue2LeafletGoogleMutant.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 1809b8884727b497887b","webpack:///Vue2LeafletGoogleMutant.js","webpack:///./Vue2LeafletGoogleMutant.vue","webpack:///Vue2LeafletGoogleMutant.vue","webpack:///./~/vue-loader/lib/component-normalizer.js","webpack:///./Vue2LeafletGoogleMutant.vue?08ed","webpack:///external \"babel-runtime/helpers/typeof\"","webpack:///external \"leaflet\"","webpack:///external \"leaflet.gridlayer.googlemutant\"","webpack:///external \"vue2-leaflet\""],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_4__","__WEBPACK_EXTERNAL_MODULE_5__","__WEBPACK_EXTERNAL_MODULE_6__","__WEBPACK_EXTERNAL_MODULE_7__","__webpack_require__","moduleId","installedModules","i","l","modules","call","m","c","value","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","Component","_interopRequireDefault","obj","default","_typeof2","_typeof3","_leaflet","_leaflet2","options","type","apikey","String","lang","region","layerType","visible","Boolean","props","data","ready","mounted","mapObject","scriptUrl","googleapisscript","setAttribute","document","head","appendChild","parentContainer","addLayer","beforeDestroy","removeLayer","methods","alreadyAdded","layer","alreadyRemoved","rawScriptExports","compiledTemplate","scopeId","cssModules","esModule","scriptExports","render","staticRenderFns","_scopeId","computed","keys","forEach","key","_vm","_h","$createElement","_self","_c","staticStyle","_t","_e"],"mappings":"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","file":"Vue2LeafletGoogleMutant.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"babel-runtime/helpers/typeof\"), require(\"leaflet\"), require(\"leaflet.gridlayer.googlemutant\"), require(\"vue2-leaflet\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"babel-runtime/helpers/typeof\", \"leaflet\", \"leaflet.gridlayer.googlemutant\", \"vue2-leaflet\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Vue2LeafletGoogleMutant\"] = factory(require(\"babel-runtime/helpers/typeof\"), require(\"leaflet\"), require(\"leaflet.gridlayer.googlemutant\"), require(\"vue2-leaflet\"));\n\telse\n\t\troot[\"Vue2LeafletGoogleMutant\"] = factory(root[\"babel-runtime/helpers/typeof\"], root[\"leaflet\"], root[\"leaflet.gridlayer.googlemutant\"], root[\"vue2-leaflet\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_4__, __WEBPACK_EXTERNAL_MODULE_5__, __WEBPACK_EXTERNAL_MODULE_6__, __WEBPACK_EXTERNAL_MODULE_7__) {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 8);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 1809b8884727b497887b","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"babel-runtime/helpers/typeof\"), require(\"leaflet\"), require(\"leaflet.gridlayer.googlemutant\"), require(\"vue2-leaflet\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"babel-runtime/helpers/typeof\", \"leaflet\", \"leaflet.gridlayer.googlemutant\", \"vue2-leaflet\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Vue2LeafletGoogleMutant\"] = factory(require(\"babel-runtime/helpers/typeof\"), require(\"leaflet\"), require(\"leaflet.gridlayer.googlemutant\"), require(\"vue2-leaflet\"));\n\telse\n\t\troot[\"Vue2LeafletGoogleMutant\"] = factory(root[\"babel-runtime/helpers/typeof\"], root[\"leaflet\"], root[\"leaflet.gridlayer.googlemutant\"], root[\"vue2-leaflet\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_4__, __WEBPACK_EXTERNAL_MODULE_5__, __WEBPACK_EXTERNAL_MODULE_6__, __WEBPACK_EXTERNAL_MODULE_7__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 8);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(2)(\n /* script */\n __webpack_require__(1),\n /* template */\n __webpack_require__(3),\n /* scopeId */\n null,\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof2 = __webpack_require__(4);\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nvar _leaflet = __webpack_require__(5);\n\nvar _leaflet2 = _interopRequireDefault(_leaflet);\n\n__webpack_require__(6);\n\nvar _vue2Leaflet = __webpack_require__(7);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar props = {\n options: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n apikey: {\n type: String,\n default: function _default() {\n return '';\n }\n },\n lang: {\n type: String,\n default: null\n },\n region: {\n type: String,\n default: null\n },\n name: {\n type: String,\n default: ''\n },\n layerType: {\n type: String,\n default: 'base'\n },\n visible: {\n type: Boolean,\n default: true\n }\n};\n\nexports.default = {\n props: props,\n data: function data() {\n return {\n ready: false\n };\n },\n mounted: function mounted() {\n this.mapObject = _leaflet2.default.gridLayer.googleMutant(this.options);\n _leaflet2.default.DomEvent.on(this.mapObject, this.$listeners);\n (0, _vue2Leaflet.propsBinder)(this, this.mapObject, props);\n\n if (!((typeof google === 'undefined' ? 'undefined' : (0, _typeof3.default)(google)) === 'object' && (0, _typeof3.default)(google.maps) === 'object')) {\n var googleapisscript = document.createElement('script');\n var scriptUrl = 'https://maps.googleapis.com/maps/api/js?key=' + this.apikey;\n\n scriptUrl += this.lang ? '&language=' + this.lang : '';\n scriptUrl += this.region ? '®ion=' + this.region : '';\n\n googleapisscript.setAttribute('src', scriptUrl);\n document.head.appendChild(googleapisscript);\n }\n\n this.ready = true;\n this.parentContainer = (0, _vue2Leaflet.findRealParent)(this.$parent);\n this.parentContainer.addLayer(this, !this.visible);\n },\n beforeDestroy: function beforeDestroy() {\n this.parentContainer.removeLayer(this);\n },\n\n methods: {\n addLayer: function addLayer(layer, alreadyAdded) {\n if (!alreadyAdded) {\n this.mapObject.addLayer(layer.mapObject);\n }\n },\n removeLayer: function removeLayer(layer, alreadyRemoved) {\n if (!alreadyRemoved) {\n this.mapObject.removeLayer(layer.mapObject);\n }\n }\n }\n};\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\nmodule.exports = function normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n scopeId,\n cssModules\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.staticRenderFns\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = scopeId\n }\n\n // inject cssModules\n if (cssModules) {\n var computed = options.computed || (options.computed = {})\n Object.keys(cssModules).forEach(function (key) {\n var module = cssModules[key]\n computed[key] = function () { return module }\n })\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n staticStyle: {\n \"display\": \"none\"\n }\n }, [(_vm.ready) ? _vm._t(\"default\") : _vm._e()], 2)\n},staticRenderFns: []}\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/typeof\");\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"leaflet\");\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"leaflet.gridlayer.googlemutant\");\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"vue2-leaflet\");\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(0);\n\n\n/***/ })\n/******/ ]);\n});\n\n\n// WEBPACK FOOTER //\n// Vue2LeafletGoogleMutant.js","var Component = require(\"!./node_modules/vue-loader/lib/component-normalizer\")(\n /* script */\n require(\"!!babel-loader!./node_modules/vue-loader/lib/selector?type=script&index=0!./Vue2LeafletGoogleMutant.vue\"),\n /* template */\n require(\"!!./node_modules/vue-loader/lib/template-compiler?id=data-v-666a5fc6!./node_modules/vue-loader/lib/selector?type=template&index=0!./Vue2LeafletGoogleMutant.vue\"),\n /* scopeId */\n null,\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./Vue2LeafletGoogleMutant.vue\n// module id = 0\n// module chunks = 0","\n\n\n\n\n\n// WEBPACK FOOTER //\n// Vue2LeafletGoogleMutant.vue?05835520","module.exports = function normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n scopeId,\n cssModules\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.staticRenderFns\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = scopeId\n }\n\n // inject cssModules\n if (cssModules) {\n var computed = options.computed || (options.computed = {})\n Object.keys(cssModules).forEach(function (key) {\n var module = cssModules[key]\n computed[key] = function () { return module }\n })\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/component-normalizer.js\n// module id = 2\n// module chunks = 0","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n staticStyle: {\n \"display\": \"none\"\n }\n }, [(_vm.ready) ? _vm._t(\"default\") : _vm._e()], 2)\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler.js?id=data-v-666a5fc6!./~/vue-loader/lib/selector.js?type=template&index=0!./Vue2LeafletGoogleMutant.vue\n// module id = 3\n// module chunks = 0","module.exports = require(\"babel-runtime/helpers/typeof\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"babel-runtime/helpers/typeof\"\n// module id = 4\n// module chunks = 0","module.exports = require(\"leaflet\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"leaflet\"\n// module id = 5\n// module chunks = 0","module.exports = require(\"leaflet.gridlayer.googlemutant\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"leaflet.gridlayer.googlemutant\"\n// module id = 6\n// module chunks = 0","module.exports = require(\"vue2-leaflet\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"vue2-leaflet\"\n// module id = 7\n// module chunks = 0"],"sourceRoot":""} -------------------------------------------------------------------------------- /example.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 33 | 34 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vue2-leaflet-googlemutant", 3 | "version": "2.0.0", 4 | "description": "googlemutant plugin extension for vue2-leaflet package", 5 | "main": "dist/Vue2LeafletGoogleMutant.js", 6 | "scripts": { 7 | "build": "vue build Vue2LeafletGoogleMutant.vue --prod --lib --config build.config.js", 8 | "example": "vue build example.vue", 9 | "example-geojson": "vue build example-geojson.vue" 10 | }, 11 | "repository": { 12 | "type": "git", 13 | "url": "git+ssh://git@github.com/jperelli/vue2-leaflet-googlemutant.git" 14 | }, 15 | "keywords": [ 16 | "vue2", 17 | "leaflet", 18 | "googlemutant" 19 | ], 20 | "author": "Julián Perelli (http://jperelli.com.ar/)", 21 | "license": "MIT", 22 | "bugs": { 23 | "url": "https://github.com/jperelli/vue2-leaflet-googlemutant/issues" 24 | }, 25 | "homepage": "https://github.com/jperelli/vue2-leaflet-googlemutant#readme", 26 | "dependencies": {}, 27 | "devDependencies": { 28 | "babel-preset-env": "^1.6.0", 29 | "leaflet": "^1.4.0", 30 | "leaflet.gridlayer.googlemutant": "^0.8.0", 31 | "vue-cli": "~2.8.2", 32 | "vue2-leaflet": "^2.1.1", 33 | "webpack-node-externals": "^1.5.4" 34 | }, 35 | "peerDependencies": { 36 | "leaflet": "^1.4.0", 37 | "leaflet.gridlayer.googlemutant": "^0.8.0", 38 | "vue2-leaflet": "^2.1.1" 39 | } 40 | } 41 | --------------------------------------------------------------------------------