blackbaud / skyux2

SKY UX 2 is the new version of Blackbaud’s user experience framework that implements Blackbaud design patterns. It extends the framework to abstract many complexities of modern web development and takes advantage of Angular 2 to increase the tooling, testing, and performance available.
https://developer.blackbaud.com/skyux
MIT License
32 stars 65 forks source link

Added demo for multiselect grids #2230

Closed Blackbaud-AlexKingman closed 5 years ago

codecov-io commented 5 years ago

Codecov Report

Merging #2230 into master will not change coverage. The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           master    #2230   +/-   ##
=======================================
  Coverage   98.34%   98.34%           
=======================================
  Files          22       22           
  Lines         121      121           
  Branches       12       12           
=======================================
  Hits          119      119           
  Misses          2        2

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 703af35...8fe7e43. Read the comment docs.

Blackbaud-AlexKingman commented 5 years ago

@Blackbaud-ToddRoberts Good thought. Would it help to point out that the select/clear all functionality is native to the ListViewGridsComponent?

Blackbaud-ToddRoberts commented 5 years ago

Is the intent behind including the select/clear all buttons that it's possible to programmatically select/clear all? I do think we need to point out that the functionality is (or will be?) built in to List View Grid.

Blackbaud-AlexKingman commented 5 years ago

@Blackbaud-ToddRoberts Yeah, the intent was to show how to programmatically control it. I think the the question we need to answer is what does a consumer do if they want a vanilla grid with multiselect? Do we show them how to programmatically control it? Or do we tell them they have to use list-view-grids?

Blackbaud-ToddRoberts commented 5 years ago

What would the downside be of "requiring" the use of list view grid to get select/clear all? I also forget why the select/clear toolbar was built into list view rather than here?

Blackbaud-AlexKingman commented 5 years ago

@Blackbaud-ToddRoberts The grid doesn't contain toolbars. We'd have to make toolbars a dependency of grids which would go against our vision of keeping the baseline grids library lightweight. Toolbars are introduced in the list-view-grids library which also seemed like a better fit for the select/deselect all toolbar, as you said that's a more realistic use-case anyways.

The only downside to requiring a consumer to use list-view-grids is they'd have to import more libraries to use it. Not a deal breaker, but I think we need to be prepared for the question.

Blackbaud-ToddRoberts commented 5 years ago

If it's important to show the programmatic selection in the demo, we should use the UI that we use for List View Grid with the link buttons and "only show selected" so that we communicate the way it should be handled, even if it's done the "hard way" with a basic grid. We would still need to call out that the functionality is not built into grid and point people to list view grid for the straightforward approach.

Blackbaud-AlexKingman commented 5 years ago

@Blackbaud-ToddRoberts Fair point. Based on your feedback, I think the best move here is to remove the select all/clear all buttons from the demo. However, put something in the docs that steers users to list-view-grids if they want that functionality.

Does that sounds reasonable?

Blackbaud-ToddRoberts commented 5 years ago

@Blackbaud-AlexKingman Yeah makes sense to me