{"id":20893472,"url":"https://github.com/arction/lcjs-example-0040-customlassointeraction","last_synced_at":"2025-03-12T19:14:48.363Z","repository":{"id":98723635,"uuid":"390317022","full_name":"Arction/lcjs-example-0040-customLassoInteraction","owner":"Arction","description":"A demo application showcasing using LightningChart JS to display custom user interactions using a lasso tool.","archived":false,"fork":false,"pushed_at":"2025-02-05T11:36:13.000Z","size":20077,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-02-05T12:31:30.974Z","etag":null,"topics":["demo","example","javascript","lasso-tool","lcjs","lightningchart-js","mouse-events","performance","point-plot","point-series","user-interaction","visualization","webgl"],"latest_commit_sha":null,"homepage":"https://www.arction.com/lightningchart-js-interactive-examples/examples/lcjs-example-0040-customLassoInteraction.html","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Arction.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-07-28T10:54:03.000Z","updated_at":"2025-02-05T11:35:16.000Z","dependencies_parsed_at":"2025-02-05T12:38:27.334Z","dependency_job_id":null,"html_url":"https://github.com/Arction/lcjs-example-0040-customLassoInteraction","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arction%2Flcjs-example-0040-customLassoInteraction","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arction%2Flcjs-example-0040-customLassoInteraction/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arction%2Flcjs-example-0040-customLassoInteraction/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arction%2Flcjs-example-0040-customLassoInteraction/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Arction","download_url":"https://codeload.github.com/Arction/lcjs-example-0040-customLassoInteraction/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243277498,"owners_count":20265352,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["demo","example","javascript","lasso-tool","lcjs","lightningchart-js","mouse-events","performance","point-plot","point-series","user-interaction","visualization","webgl"],"created_at":"2024-11-18T10:15:57.007Z","updated_at":"2025-03-12T19:14:48.344Z","avatar_url":"https://github.com/Arction.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JavaScript Lasso Selection Chart\n\n![JavaScript Lasso Selection Chart](customLassoInteraction-darkGold.png)\n\nThis demo application belongs to the set of examples for LightningChart JS, data visualization library for JavaScript.\r\n\r\nLightningChart JS is entirely GPU accelerated and performance optimized charting library for presenting massive amounts of data. It offers an easy way of creating sophisticated and interactive charts and adding them to your website or web application.\r\n\r\nThe demo can be used as an example or a seed project. Local execution requires the following steps:\r\n\r\n-   Make sure that relevant version of [Node.js](https://nodejs.org/en/download/) is installed\r\n-   Open the project folder in a terminal:\r\n\r\n          npm install              # fetches dependencies\r\n          npm start                # builds an application and starts the development server\r\n\r\n-   The application is available at _http://localhost:8080_ in your browser, webpack-dev-server provides hot reload functionality.\r\n\n\n## Description\n\nThis example showcases the creation of a custom user interaction.\r\n\r\nAny custom interaction can be implemented with different event subscription methods.\r\nIn this example, `addEventListener` is used to hook on to the event when user clicks mouse button inside the series area.\r\n`PolygonSeries` are used to draw a _lasso selection_ as the user clicks with mouse on the chart.\r\nFinally, after user clicks on any existing polygon point to close it, the data points that are inside the lasso are solved and highlighted using edit data API.\r\n\r\nThis idea of custom interactions can be extended to any application specific dynamic interaction, like deleting selected points, displaying them in a separate chart or moving them - imagination is the limit!\r\n\r\nSee also:\r\n\r\n-   https://lightningchart.com/js-charts/interactive-examples/examples/lcjs-example-0043-customTimeSelectionInteraction.html\r\n\n\n## API Links\n\n* [Lightning chart]\n* [Color factory CSS]\n* [2D Point shape options]\n* [Solid line style]\n* [Solid fill style]\n* [Chart XY]\n* [Point Series 2D]\n* [Polygon Series 2D]\n\n\n## Support\n\nIf you notice an error in the example code, please open an issue on [GitHub][0] repository of the entire example.\r\n\r\nOfficial [API documentation][1] can be found on [LightningChart][2] website.\r\n\r\nIf the docs and other materials do not solve your problem as well as implementation help is needed, ask on [StackOverflow][3] (tagged lightningchart).\r\n\r\nIf you think you found a bug in the LightningChart JavaScript library, please contact sales@lightningchart.com.\r\n\r\nDirect developer email support can be purchased through a [Support Plan][4] or by contacting sales@lightningchart.com.\r\n\r\n[0]: https://github.com/Arction/\r\n[1]: https://lightningchart.com/lightningchart-js-api-documentation/\r\n[2]: https://lightningchart.com\r\n[3]: https://stackoverflow.com/questions/tagged/lightningchart\r\n[4]: https://lightningchart.com/support-services/\r\n\n© LightningChart Ltd 2009-2022. All rights reserved.\r\n\n\n[Lightning chart]: https://lightningchart.com/js-charts/api-documentation/v7.0.1/functions/lightningChart-1.html\n[Color factory CSS]: https://lightningchart.com/js-charts/api-documentation/v7.0.1/functions/ColorCSS.html\n[2D Point shape options]: https://lightningchart.com/js-charts/api-documentation/v7.0.1/enums/PointShape.html\n[Solid line style]: https://lightningchart.com/js-charts/api-documentation/v7.0.1/classes/SolidLine.html\n[Solid fill style]: https://lightningchart.com/js-charts/api-documentation/v7.0.1/classes/SolidFill.html\n[Chart XY]: https://lightningchart.com/js-charts/api-documentation/v7.0.1/classes/ChartXY.html\n[Point Series 2D]: https://lightningchart.com/js-charts/api-documentation/v7.0.1/classes/PointSeries.html\n[Polygon Series 2D]: https://lightningchart.com/js-charts/api-documentation/v7.0.1/classes/PolygonSeries.html\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farction%2Flcjs-example-0040-customlassointeraction","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farction%2Flcjs-example-0040-customlassointeraction","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farction%2Flcjs-example-0040-customlassointeraction/lists"}