Security News
Supply Chain Attack Detected in Solana's web3.js Library
A supply chain attack has been detected in versions 1.95.6 and 1.95.7 of the popular @solana/web3.js library.
@ticketevolution/seatmaps-client
Advanced tools
A client side JavaScript library that enables users to view interactive seating charts for tickets available via the Ticket Evolution API.
A client side JavaScript library that enables users to view seatmaps for available tickets on Ticket Evolution by:
venueId
and configurationId
, from Ticket Evolution AWS S3 buckets using the mapsDomain
(defaults to maps.ticketevolution.com)..build
function which accepts the id
of the element as an argument (see below for an example DOM setup).sectionPercentile
configurations and the available ticketGroups
(and any selectedSections
if provided).Note: Sections will not color and you will not be able to highlight/toggle sections via the map or the API until ticket groups are supplied to the map, either through ticketGroups
configuration or updateTicketGroups
API.
After instantiation, a public API is available with a limited number of functions to interact with the map.
Help: Ticket Evolution
tevomaps.js
wget https://raw.githubusercontent.com/ticketevolution/seatmaps-client/master/build/tevomaps.js
tevomaps.js
, create a map root, and build a map<div id='my-map'></div>
<script src="tevomaps.js"></script>
<script>
// create a new seatmap
var seatmap = new Tevomaps({
venueId: '10',
configurationId: '1046',
ticketGroups: [{
tevo_section_name: 'upper end zone 232',
retail_price: 100
}]
});
// turn element with ID of 'my-map' into a seatmap for config 1046
var seatmapApi = seatmap.build('my-map');
// perform some actions, like highlighting section "upper end zone 232"
seatmapApi.highlightSection('upper end zone 232');
</script>
npm
or yarn
npm install --save @ticketevolution/seatmaps-client
or
yarn add @ticketevolution/seatmaps-client
@ticketevolution/seatmaps-client
// main.js
import Tevomaps from '@ticketevolution/seatmaps-client'
// create a new seatmap
const seatmap = new Tevomaps({
venueId: '10',
configurationId: '1046',
ticketGroups: [{
tevo_section_name: 'upper end zone 232',
retail_price: 100
}]
});
// turn element with ID of 'my-map' into a seatmap for config 1046
const seatmapApi = seatmap.build('my-map');
// perform some actions, like highlighting section "upper end zone 232"
seatmapApi.highlightSection('upper end zone 232')
class Tevomaps
new Tevomaps(options: object)
Options:
Name | Required | Type | Default Value | Description |
---|---|---|---|---|
venueId | ✓ | string | Ticket Map Venue ID | |
configurationId | ✓ | string | Ticket Map Configuration ID | |
sectionPercentiles | object | { '0.2': '#FFC515', '0.4': '#f2711c', '0.6': '#D6226A', '0.8': '#a333c8', '1': '#2A6EBB' } | Define percentiles to color sections based on their average ticket group price. Ticket groups which fall within a given range will display the associated color on the map for their section. ie. Given an event with 100 ticket groups, with each ticket group price incrementing by $1 from $100 to $200, a section whose average ticket group price is $110 will be displayed as #FFC515 , and a section whose average price of $175 will be displayed as #a333c8 . | |
mapFontFamily | string | Set a default font for the map. Native browser fonts available, a list below is provided but results may vary depending upon the browser and browser version. • Helvetica • Arial • Times • Times New Roman • Courier • Courier New • Verdana • Tahoma | ||
mapsDomain | string | https://maps.ticketevolution.com | The domain from which map SVGs and manifests will be fetched. To pull maps from the development environment, use https://maps-dev.ticketevolution.com | |
onSelection | function | A function which will be called by Tevomaps when a section of the map has been clicked. It will pass as arguments an array of all currently selected section IDs and expect nothing back.onSelection: function (sectionIds) { console.log(sectionIds); //=> ['id-1','id-2'] } Note: This method is also called when a section is deselected. If all sections are deselected, the sectionIds array will be empty.Note: This method will always return lower case section names, you will need to take that in consideration when you do string comparisons. | ||
selectedSections | string[] | [] | An array of section IDs for the map to initially highlight by default when it is rendered. | |
ticketGroups | TicketGroup[] | [] | An array of ticket groups to be used for section pricing. Expects each ticket group to adhere to the TicketGroup interface. This API was designed for you to directly pass into the client library the response from the Ticket Evolution /v9/ticket_groups endpoint. Note that include_tevo_section_mappings must be true in that API request. | |
showControls | boolean | true | When set to true, the map controls (the zoom in, zoom out, reset zoom, and clear selection buttons) will be visible. | |
showLegend | boolean | true | When set to true, the map legend will be visible. | |
mouseControlEnabled | boolean | true | When set to true, the map will respond to mouse events (such as click, move, and hover). |
updateTicketGroups(groups: TicketGroup[])
Changes the collection of ticket groups in the map used to calculate available sections and section prices. Useful if you have a feature for filtering ticket groups and you want the map to update.
highlightSection(section: string)
Temporarily colors the given section by making it more opaque. This is the same effect used for hovering on a section.
unhighlightSection(section: string)
Removes the highlight effect of the given section, if it's not selected, by reverting it back to its base transparency. This is the same effect used for hovering off on a section.
selectSection(section: string)
This is the same effect used for clicking on a section to select it. It colors the section and will not revert back by hovering off it or calling unhighlightSection
. Calls the onSelection
callback with the updated array of selected sections.
deselectSection(section: string)
This is the same effect used for clicking on a section to deselect it. It reverts the color of the section and is the only way to unhighlight a selected section. Calls the onSelection
callback with the updated array of selected sections.
Name | Properties |
---|---|
TicketGroup | { tevo_section_name: string; retail_price: number; } |
The below instructions will get the project up and running on your local machine for development and testing purposes.
node
yarn
make
git
make
We've made the startup process simple by using a Makefile for all common workflows.
To see what Makefile commands are available, in your terminal shell run make
or make help
. It will list all the available Makefile commands with their descriptions.
Target | Effect |
---|---|
help | Display all other make targets and their effects |
install | Install client and server side packages for development |
start | Start the development server |
yarn
or npm
A slew of npm/yarn scripts are also present to make development a bit easier:
Script | Effect |
---|---|
build | Compiles and bundles all source into build/tevomaps.js and build/tevomaps.js.gz |
watch | Builds the project, then watches source files for changes (rebuilds on each change) |
start | Starts the using-module example using webpack-dev-server |
analyze | Analyses the build process that would create build/tevomaps.js |
lint | Uses eslint to lint all source code |
Once you have completed the above steps, contribution to the repository is as follows:
<issue-number>-<brief-branch-description>
npm run build
and bump the version number in the package.json according to (semantic versioning rules)[https://semver.org]FAQs
A client side JavaScript library that enables users to view interactive seating charts for tickets available via the Ticket Evolution API.
The npm package @ticketevolution/seatmaps-client receives a total of 454 weekly downloads. As such, @ticketevolution/seatmaps-client popularity was classified as not popular.
We found that @ticketevolution/seatmaps-client demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
A supply chain attack has been detected in versions 1.95.6 and 1.95.7 of the popular @solana/web3.js library.
Research
Security News
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.