Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(gridState): Grid State & Presets for columns (position, size, visibility) #74

Merged
merged 15 commits into from Jun 5, 2018

Conversation

ghiscoding
Copy link
Owner

@ghiscoding ghiscoding commented Jun 5, 2018

reference #67

  • Grid State & Presets now works with Columns (Filters, Sorters, Pagination, Position, Size & Visibility)
  • fixed a few issues found with ClearFilters and ClearSorting not updating GridState property
  • added a new Example 15 to demo Grid State & Presets with Local Storage

- when having preset don't use columnDef searchTerms
- clearFilters and refresh browser was misbehaving because it wasn't saving correct filters in Grid State
- previously each filter reset was trigger a grid state change (e.g. 5 columns, meant 5 grid state change)
- remove all previous grid state change on clear
- add new Event Aggregator for a Clear Filter/Sort
- Grid State now gets triggered once per clear action
- re-creating the ColumnPicker/GridMenu every time user switched locale, was causing all control events to be destroyed and so wasn't triggering a Grid State change because the events no longer existed
- now we aren't destroying the Control objects, we are instead using object pointers to update any translations
@ghiscoding ghiscoding merged commit 8bfc3f4 into feature/new-major-2-release Jun 5, 2018
ghiscoding added a commit that referenced this pull request Jun 5, 2018
* refactor(services): refactor singleton Services into transient
- also add new AureliaGridInstance

* refactor(service): rename GridExtraService to GridService

* deprecate(service): delete GridExtraUtil & move function to GridService

* refactor(code): remove deprecated "onBackendEventApi"

* refactor(code): remove deprecated "selectOptions" from SelectFilter

* refactor(code): remove deprecated FormElementType

* refactor(model): remove exportWithFormatter from the GridOptions

* refactor(service): remove deprecated initOptions replaced by init

* refactor(model): remove deprecated "dataFilters"

* refactor(backend): all backend service methods renamed as processOnX
- to remove confusion with Event Emitters, the 3 Backend Service API methods were renamed to start with the prefix "processOnX" instead of "onX"
- for example onFilterChanged is now processOnFilterChanged

* refactor(gridOptions): all Grid Menu showX were renamed hideX
- since we had both "hideX" (in SlickGrid) and "showX", it's better to rename them all to "hideX" for consistencies

* refactor(events): change aurelia event prefix
- to make a distinction between Aurelia Events vs SlickGrid Events, we will use (asg for Aurelia, sg for SlickGrid)

* refactor(i18n): add i18n Grid Options instead of using params

* refactor(grid): add multiple grids in a view

* refactor(searchTerm): remove searchTerm and only use searchTerms
- prior to this, user could predefined searchTerm (singular) or searchTerms (array). To simplify the logic, the singular searchTerm has been dropped in favor of the array searchTerms

* refactor(example): fix multiple grids not displayed

* refactor(styling): change highlight and selected row color to blueish

* refactor(styling): make selected row a little darker

* refactor(formatter): console error should contain new grid options i18n

* update readme

* refactor(services): add singleton(true) decorator for multiple grids

* fix(i18n): make sure all Services use correct Grid Options i18n

* refactor(example): make row selection titles more obvious

* refactor(event): renamed onGridStateServiceChanged to onGridStateChanged

* feat(grid): expose Slick Grid & DataView objects in AureliaGridInstance

* fix(grid): Dynamically Add Column Header was broken with non-singleton

* refactor(styling): change mouse hover & selection background colors

* refactor(example): add 2x grids in the Basic Grid sample

* refactor(editor): move all Editor params into editor
- instead of using the generic "params" to pass collection and other arguments, we will use the "editor" object
- doing this brings TS types and intellisense

* refactor(service): refactored delete/update item functions

* fix(sorter): issue #72 circular dependency from last PR #70

* fix(event): remove e.stopImmediatePropagation to fix issue #60

* refactor(columnDef): make editor.type the Editor class export function

editor.type was enum, but that means the library would be responsible for finding the editor.
Also, special logic would have to be in place for custom editors.
By making editor.type the exported class function all we have to do is pass it is slickgrid to create

* refactor(example): fixed onCellChange event and advertise delete feature

* refactor(event): expose event to columnDef onCellClick and onCellChange

* refactor(event): use subscriptions array and loop to unsubscribe
- also do the same with Services, make an array and loop through when disposing them

* refactor(editor): change ColumnEditor.type to ColumnEditor.model

* refactor(filter): use Filter model on ColumnFilter, remove FilterType

* feat(gridState): Grid State & Presets for columns (position, size, visibility) (#74)
@ghiscoding ghiscoding deleted the feature/grid-state-columns branch July 26, 2018 18:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant