npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@ui-grid/selection

v4.12.7

Published

This module provides row selection to ui-grid

Downloads

19

Readme

UI-Grid Selection

The selection plugin for UI-Grid provides the ability to select rows in the grid.

Getting Started

You can install @ui-grid/selection via:

npm i --save @ui-grid/selection

Once you install you need to load the respective JS and CSS files as seen bellow:

<link rel="stylesheet" href="/node_modules/@ui-grid/core/css/ui-grid.min.css" type="text/css">
<link rel="stylesheet" href="/node_modules/@ui-grid/selection/css/ui-grid.selection.min.css" type="text/css">
<script src="/node_modules/@ui-grid/core/js/ui-grid.core.min.js">
<script src="/node_modules/@ui-grid/selection/js/ui-grid.selection.min.js">

Alternatively, if you are using Webpack or RequireJS to load your dependencies, you can do the following at the top of the file that needs it:

require('@ui-grid/core');
require('@ui-grid/selection');

Once you load the file, you need to include 'ui.grid.selection' module in your angularJS app's dependencies, and add the ui-grid-selection directive to your grid element.

angular.module('myApp', [
    'ui.grid',
    'ui.grid.selection'
]);
<div ui-grid="$ctrl.gridOptions" ui-grid-selection>

After getting it setup, you can use the gridOptions.onRegisterApi callback to register the rowSelectionChanged event and log when the row is selected. By default the selection plugin will divide selection changes into batch events and single events, there are two different events provided in the api. By setting enableSelectionBatchEvent: false you can cause it to instead just call the single event in a loop - which may be useful if you're doing client rather than server side processing of the changes.

By default the module will provide a row header with checkboxes that allow selection of individual rows. If you set the enableRowHeaderSelection gridOption to false, then the row header is hidden and a click on the row will result in selection of that row.

If you want to allow both clicking on the row, and also clicking on the rowHeader, you can set enableFullRowSelection to true.

Setting the multiSelect gridOption to true will allow selecting multiple rows, setting to false will allow selection of only one row at a time.

If you have multiSelect: false, then an additional option noUnselect will mean that a row is always selected. You can select a different row (which will unselect the current row), but you cannot manually unselect the current row by clicking on it. This means that at least one row is always selected, other than when you first open the grid. If necessary you could programatically select the first row upon page open.

If multiSelect: true, another option modifierKeysToMultiSelect may be used. If set to true this will allow selecting multiple rows only if the Ctrl-Key, Cmd-Key (Mac) or the Shift-Key is used when selecting, if set to false then it allows selecting multiple rows by individually clicking them.

By default a selectAll box is shown at the top of the rowHeader. If multiSelect: true is set then this will allow you to select all visible rows. Note that the selectAll does not watch for new data, so if you are using the selectAll function and you add data to the grid, you need to check grid.api.selection.getSelectAllState, and if it is currently ticked, then manually call grid.api.selection.selectAllVisibleRows after your data has been added.

The selectAll box can be disabled by setting enableSelectAll to false.

You can set the selection row header column width by setting 'selectionRowHeaderWidth' option.

You can use an isRowSelectable function to determine which rows are selectable. If you set this function in the options after grid initialization you need to call gridApi.core.notifyDataChange(uiGridConstants.dataChange.OPTIONS) to enable the option.

Example

You can find an example of this plugin in action on our website

API Documentation

Documentation for this plugin is provided in the api documentation, but we recommend that you pay special attention to the following:

Issues

You can find issues that are specific to this UI-Grid plugin by looking for the label grid-selection in the ui-grid github issues page.

License

MIT