New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

leaflet-easyprint

Package Overview
Dependencies
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

leaflet-easyprint - npm Package Compare versions

Comparing version 1.0.0 to 2.0.0

.eslintrc

25

package.json
{
"name": "leaflet-easyprint",
"version": "1.0.0",
"version": "2.0.0",
"description": "A leaflet plugin which adds an icon to print the map",

@@ -10,2 +10,7 @@ "main": "dist/leaflet.easyPrint.js",

},
"scripts": {
"build": "rollup -c",
"dev": "rollup -c -w",
"prepublish": "npm run build"
},
"keywords": [

@@ -19,3 +24,19 @@ "leaflet"

},
"homepage": "https://github.com/rowanwins/leaflet-easyPrint#readme"
"homepage": "https://github.com/rowanwins/leaflet-easyPrint#readme",
"dependencies": {
"dom-to-image": "^2.5.2",
"file-saver": "^1.3.3"
},
"devDependencies": {
"babel-plugin-external-helpers": "^6.22.0",
"babel-preset-latest": "^6.24.1",
"eslint": "^4.0.0",
"eslint-config-mourner": "^2.0.1",
"rollup": "^0.41.6",
"rollup-plugin-babel": "^2.7.1",
"rollup-plugin-commonjs": "^8.0.2",
"rollup-plugin-node-resolve": "^3.0.0",
"rollup-plugin-uglify": "^1.0.2",
"rollup-watch": "^3.2.2"
}
}

78

README.md
## leaflet-easyPrint
A simple [leaflet](http://www.leafletjs.com) plugin which adds an icon to print or export a map.
A simple [leaflet](http://www.leafletjs.com) plugin which adds an icon to print the map. Compatible with both Leaflet v1+ and 0.7.
## Features
* Supports resizing to prefined sizes (A4 Landscape & Portait) as well as custom sizes
* Supports saving to png, as well as printing
* Compatible with both Leaflet v1+ and 0.7
* Tested on Chrome, Firefox, IE & Edge
Check out the [demo](http://rowanwins.github.com/leaflet-easyPrint/).
### Usage
**Step 1.** Include the required js files in your document.
### Download
You can either download this repo directly or install via NPM.
````
npm install leaflet-easyprint
````
```html
<script src="dist/leaflet.easyPrint.js"></script>
```
**Step 2.** Add the following line of code to your map script
``` js
L.easyPrint().addTo(map)
```
**Step 3.**
### Options
You can pass a number of options to the plugin to control various settings.

@@ -25,18 +23,56 @@

| ------------- |--------------|--------------|---------------|
| title | string | 'Print map' | Sets the text which appears as the tooltip of the print button |
| position | [Leaflet control position](http://leafletjs.com/reference.html#control-positions) | 'topleft' | Position the print button |
| elementsToHide | string | none | Enables you to pass through a string of html elements to hide when the user prints the page |
| title | string | 'Print map' | Sets the text which appears as the tooltip of the print/export button |
| position | [Leaflet control position](http://leafletjs.com/reference-1.1.0.html#controls) | 'topleft' | Positions the print button |
| sizeModes | array | `Current` | Options available include `Current`, `A4Portrait`, `A4Landscape` or a [custom size object](#custom-print-sizes) |
| exportOnly | Boolean | `false` | If set to `true` the map is exported to a png file |
| tileLayer | [Leaflet control position](http://leafletjs.com/reference-1.1.0.html#tilelayer) | `null` | A tile layer that you can wait for to draw (helpful when resizing) |
| tileWait | Integer | 500 | How long to wait for the tiles to draw (helpful when resizing) |
| filename | string | 'map' | Name of the file if export only option set to true |
| hidden | Boolean | false | Set to true if you don't want to display the toolbar. Instead you can create your own buttons or fire print events programtically. You still need to call `addTo(map)` to set the leaflet map context. |
Here's an example of passing through some options.
``` js
### Example
````
L.easyPrint({
title: 'My awesome print button',
position: 'bottomright',
elementsToHide: 'p, h2'
sizeModes: ['A4Portrait', 'A4Landscape']
}).addTo(map);
```
````
### Methods / Using programmatically
| Method | Options | Description |
| --------------|--------------|--------------|
| printMap(size) | Print size name, either 'CurrentSize', 'A4Portait', 'A4Landscape', or the `className` of a custom size | Manually trigger a print operation |
````
var printPlugin = L.easyPrint({
hidden: true,
sizeModes: ['A4Portrait']
}).addTo(map);
printPlugin.printMap('A4Portait');
````
### Custom Print Sizes
You can create additional print sizes by passing in some options. Width & Height are defined in pixels at 90DPI. THe css class ought to contain a background base64 encoded svg image.
````
var a3Size = {
width: 2339,
height: 3308,
className: 'a3CssClass',
tooltip: 'A custom A3 size'
}
// in css
.easyPrintHolder .a3CssClass {
background-image: url(data:image/svg+xml;utf8;base64,PD9...go=);
}
````
### Acknowledgements
Huge hats off go to [mourner](https://github.com/mourner) and all the [contributors](https://github.com/Leaflet/Leaflet/graphs/contributors) to the leaflet.js project, it's an amazing piece of open source software!
ALso uses [dom-to-image](https://github.com/tsayen/dom-to-image) and [FileSaver](https://github.com/eligrey/FileSaver.js) under the hood.
And finally thanks to [IcoMoon](http://icomoon.io/) for the print icon.

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc