This repository has been archived by the owner on Dec 12, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 16
Fix some connector parts so that they are compatible with IE11 #220
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Review status: all files reviewed at latest revision, all discussions resolved. Comments from Reviewable |
denis-anisimov
pushed a commit
that referenced
this pull request
Jun 11, 2018
* Use alphabetical order for bean-grid columns by default (#217) * Use alphabetical order for bean-grid columns by default and improve javadocs of the bean-grid constructor. * Port change test class from framework (#215) * Port change test class from framework Original PR is vaadin/framework#10635 * Fix some connector parts so that they are compatible with IE11 (#220) * Fix some connector parts so that they are compatible with IE11 * Provide an IT test to click Vaadin button inside Grid via space (#221) * Provide an IT test to click Vaadin button inside Grid via space IT verification test for #37. Closes #37. * Add IT test for #4109 (#222) * Add IT test for #4109 * Merge branch 'master' into 4109-component-renderer
tltv
added a commit
that referenced
this pull request
Jun 20, 2018
* Use alphabetical order for bean-grid columns by default (#217) * Use alphabetical order for bean-grid columns by default and improve javadocs of the bean-grid constructor. * Port change test class from framework (#215) * Port change test class from framework Original PR is vaadin/framework#10635 * Fix some connector parts so that they are compatible with IE11 (#220) * Fix some connector parts so that they are compatible with IE11 * Provide an IT test to click Vaadin button inside Grid via space (#221) * Provide an IT test to click Vaadin button inside Grid via space IT verification test for #37. Closes #37. * Add IT test for #4109 (#222) * Add IT test for #4109 * Merge branch 'master' into 4109-component-renderer
denis-anisimov
pushed a commit
that referenced
this pull request
Jun 20, 2018
* Use alphabetical order for bean-grid columns by default (#217) * Use alphabetical order for bean-grid columns by default and improve javadocs of the bean-grid constructor. * Port change test class from framework (#215) * Port change test class from framework Original PR is vaadin/framework#10635 * Fix some connector parts so that they are compatible with IE11 (#220) * Fix some connector parts so that they are compatible with IE11 * Provide an IT test to click Vaadin button inside Grid via space (#221) * Provide an IT test to click Vaadin button inside Grid via space IT verification test for #37. Closes #37. * Add IT test for #4109 (#222) * Add IT test for #4109 * Merge branch 'master' into 4109-component-renderer * Disable test for reverted fix. (#226) * Fix flow dependency to be pom instead of jar (#230) * Fix type of flow dependency * Fix type pom on the wrong dependency (#231) * Copied TreeGrid API from framework 8 Reusing Vaadin 8 API as much as possible. removed/commented off all client RPC calls and non-existing methods. Added new methods: TreeGrid.addHierarchyColumn, TreeGrid.setParentRequestedRange, HierarchicalDataComunicator.setParentRequestedRange, HierarchyMapper.fetchRootItems, HierarchyMapper.fetchChildItems and HierarchyMapper.countChildItems. * Added protected createDataCommunicator method and changed visibilities Changed compareMaybeComparables, createColumnId and arrayUpdater to protected. UpdateQueue and UpdateQueue.enqueue to public. For easier access from TreeGrid subclass. * Added support for fetching range of child nodes for parent node for TreeGrid * Added basic TreeGrid section * Programmatic expand/collapse * Updated GridView demo for TreeGrid programmatic expand/collapse * Added ExpandEvent and CollapseEvent * Created copies from Framework 8 hierarchical backend data provider classes * Moved classes in org.* to com.* * Added demo for AbstractBackEndHierarchicalDataProvider Reorganized TreeGrid sections to TreeGrid page. Changed HierarchyMapper.getRootSize() to use count query instead of fetching childs. * Clear subcache when root is cleared * setItemCollapseAllowedProvider refresh all * Improved caching * Removed getHierarchyColumn, setHierarchyColumn(Column) and setHierarchyColumn(String) Also added javadoc, removed registerTreeGridRpc and moved getItemCollapseAllowedProvider method. * Removed set/getItemCollapseAllowedProvider * Changed Demo to use AtomicInteger for person id Running all IT tests had synchronizing issue with primitive int. * Changed expand/collapse event handling Usage of on-expanded-changed in template resulted in client side exceptions on init. Changed handling by overriding _expandedInstanceChangedCallback in gridConnector.js. * Added basic IT for TreeGrid Added TreeGridElement for IT tests. * Added expand(T, Integer) and collapse(T, Integer) back * Added type check for UpdateQueue for unit tests * Migrated V8 unit tests for TreeGrid * Added TreeGridScrollingIT Also cleaned unnecessary commented code off and added missing Copyright notice. * Made propertySet protected for TreeGrid * Returning false when collapse(T) called with null * Fixed hasExpandToggle to catch NoSuchElementException and return false * Added setHierarchyColumn(String) and setColumns(String, Collection) To be able to change hierarchy column. * Migrated V8 TreeGridBasicFeatures integration test * Refactored hierarchy column change logic Added setHierarchyColumn(String, ValueProvider) and updated setColumns(String, ValueProvider, Collection) to make it possible to change hierarchy column value provider. * Refactoring logic from Grid to TreeGrid Created TreeGridArrayUpdater and TreeUpdate interfaces for TreeGrid. Change keeps TreeGrid specific logic separated better from Grid base class. * Added communication controller for TreeGridcontroller This keeps client side sub-levels in synch with the server in a same manner as Grid keeps root levels in synch. This class works as replacement for the Grid's internal logic. Logic is exactly same but with added parent context. Now its used only for controlling sub-levels. * Took CommunicationController in use for TreeGrid gridConnector.js 'clear' and 'set' functions has new parameters for parent context: parent index and parent key. Added 'clearExpanded' function to clear expanded items array from the server side when needed. For example when data provider is changed on server side. Added 'ensureHierarchy' function to refresh hierarchy cache properly on reset. * Fixed 'clear' not passing correct parent for 'updateGridCache' * Re-enabled KeyMapper.remove and added checks for undefined caches Sub-caches may be undefined if grid-element clears cache and at the same time server calls clear or set on sub-level page. grid-element should win in these situations and clear/set should leave grid's cache untouched. * Updated TreeGrid's basic keyboard navigation tests TreeGrid does not handle keyboard navigation in a same way as V8 did. Arrow keys does not expand/collapse. Space key expands/collapses when focus is in tree toggle cell. * Migrated TreeGridChanginghierarchy integration test from V8 * Migrated V8 TreeGridHugeTree integration test * Migrated more V8 TreeGrid tests Added also test scoped dependency to 'vaadin-radio-button-flow'. * Removed ItemCollapseAllowedProvider and fixed in-memory sorting * Migrated V8 TreeGridExpandDataRequest integration test * Optimized TreeDataProvider and removed index from generated row data HierarchyMapper can get you the index, but it should not be used in generated row data as it will fetch the whole tree. Removed parentindex parameter from set and clear functions. Updated gridConnector.js caching to get the proper level cache by unique id instead of index. This was done by overriding Vaadin.Grid.ItemCache.ensureSubCacheForScaledIndex and adding new function called 'getCacheAndIndexByKey'. * Added sanity checks * Renamed getItemCacheByKey to getCacheByKey and fixed dataProvider * Updated recursive expand/collapse tests * Fixed getChildCount ignoring filter * Use 'key' as a default item id property * Changed GridView TreeGrid to use its own PersonWithLevel type Some Grid tests fails otherwise with the new unexpected level field. No need to touch Grid tests with this approach. * Migrated TreeGridInitialExpand and TreeGridHugeTreeNavigation V8 tests Navigation tests rewritten as grid element's navigation does not support right/left keys to collapse/expand. Space key on tree cell is used for that. * Added support to select all TreeGrid rows in multi-select mode * Check that parentCache exist server side refreshItem call on hidden row is one example when parentCache may be undefined. * Makes select all checkbox visible in test UI * Migrated V8 integration test deselect all is not working atm. * Migrated V8 TreeGridClientSort integration test * Updated GridSerializableTest for TreeGrid Made also couple classes and fields Serializable * Changed button caption * Minor code formatting * Minor code style and javadoc refactoring * Fixed TreeGrid test * Removed unused interface * No need to implement DataGenerator in HierarchyMapper * Minor code style refactoring * Made HierarchyMapper Serializable again It used to implement DataGenerated which was already Serializable. * Removed unused 'pageSize' and 'page' arguments from public methods And some minor code style refactoring. * Removed additional 'uniquekey' from the generated row data Using just 'key' by default. Additional property is not required. * Added TODO * Added new line * Replaced Grid.createDataCommunicator with a new protected constructor Takes in DataCommunicatorBuilder object which builds the DataCommunicator. TreeGrid has TreeDataCommunicatorBuilder extension of it. Changed few protected fields to private and added protected getter. Removed unused UpdateQueue constructors. * Added TODO for actions needed after moving class to 'flow'data' module * Added Copyright notice * Removed syncClient parameter from the public API Usage of public API will now always synchronize expand/collapse back to client. * Changed UpdateQueue back to private * Updated JavaDoc Removed non-existing syncClient description. * Refactored complex lambda in resetColumns * Replaced if block with Stream filter * Added toggle button to disable Grid for tests * Changed few new functions from grid to grid.$connector. * Removed tabs * Renamed test class 'Sex' to 'Gender' * Resolved minor review change requests * Fixed JavaDoc * Fixed HierarchicalCommunicatorTest During migrating FW8, lost a call to beforeClientResponse. It used to be a public method in connector itself and now its deeper inside the UI logic and this test can reach it via mocks only. * Wrapped blocks into curly brackets * Refactored tests Added missing JavaDoc for protected methods. renamed AbstractTreeGridIT.before() to setupTreeGridand id(String) to makeId(String). * removed unused setDataProvider method * Changed to use @testpath and open() * Minor code style changes resolving code review findings * Refactored TreeGridScrolling test Extends AbstractTreeGridIT. Removed 'test' prefix. Removed TODO that does not look like a valid task for this test anymore. * Refactored constructors to avoid call of overridden protected method Needed to get rid of direct usage of Grid instance (this) and Grid.element and also few others in TreeGrid constructor. Updated ArrayUpdater implementations to take in target element and other needed variables via new data object UpdateQueueData. As updates are always executed lazily on attach, UpdateQueueData can be updated in the end of the constructor. Moved unique key property and unique key value provider specific methods from TreeGrid to Grid. Only TreeGrid is really using them currently but as its also part of grid-element's API and now supported in connector, sounds good to have them in Grid base class. Made them all protected. * Made DataCommunicatorBuilder Serializable * Added check for undefined cache * Fixed wrong index usage in _getPageIfSameLevel Also changed 'inst.item === undefined' to 'inst.item == undefined' to make it work also with null in 'inst.item'. * Created test page for upcoming TreeGrid page change tests * Added TreeGridPageSizeIT Also minor refactoring in related test classes. * Added TreeGridItemDetailsRendererIT Plus added method in GridTRElement to get details TD element. * Changed int parameters to to String Key can be other than numbers. * Fixed previously opened details being lost on collapse * Removed all @SInCE annotations from JavaDoc All that were copied form from FW8 were removed. * Minor code style refactoring Removed @author JavaDoc and added new line in end. * Removed static fields from test failing in TC Tests succeeds when run locally but fails in TC. Static fields are suspects as tests may run in paraller. * Removed unnecessary Math.max for _virtualStart and _virtualEnd Checking for values below zero is not necessary for _virtualStart and _virtualEnd. * tree-grid rebase (#225) * Use alphabetical order for bean-grid columns by default (#217) * Use alphabetical order for bean-grid columns by default and improve javadocs of the bean-grid constructor. * Port change test class from framework (#215) * Port change test class from framework Original PR is vaadin/framework#10635 * Fix some connector parts so that they are compatible with IE11 (#220) * Fix some connector parts so that they are compatible with IE11 * Provide an IT test to click Vaadin button inside Grid via space (#221) * Provide an IT test to click Vaadin button inside Grid via space IT verification test for #37. Closes #37. * Add IT test for #4109 (#222) * Add IT test for #4109 * Merge branch 'master' into 4109-component-renderer * IE11 fixes Lost these two fixes during rebase with master and now taking them back. * Removed unnecessary double calls in Grid() constructor This fixes all failing Grid tests. * Changed @ClientCallable value to DisabledUpdateMode.ONLY_WHEN_ENABLED In TreeGrid.updateExpandedState methods. * Added missing JavaDoc * Fixed typo in @route path name * Reset all global variables in @before * Removed static field from test bean To fix failing test in TC. * Moved classes in 'com.vaadin.data.*' to 'com.vaadin.flow.data.*' Added 'com.vaadin.flow.data.provider' and 'com.vaadin.flow.data.provider.hierarchy'. Moved classes will move to 'flow-data' at some point and this change is preparation for that. * Added missing 'abstract' to AbstractTreeGridIT class * Added more asserts to test * Added assert to test and increased timeout This assert reveals if arrow keys right/left actually makes grid to scroll into focused element. * Rebased tree-grid with master Resolved one conflict in ButtonInGridIT. * Merge branch 'tree-grid' into tree-grid-rebase
denis-anisimov
pushed a commit
that referenced
this pull request
Jun 26, 2018
* Use alphabetical order for bean-grid columns by default (#217) * Use alphabetical order for bean-grid columns by default and improve javadocs of the bean-grid constructor. * Port change test class from framework (#215) * Port change test class from framework Original PR is vaadin/framework#10635 * Fix some connector parts so that they are compatible with IE11 (#220) * Fix some connector parts so that they are compatible with IE11 * Provide an IT test to click Vaadin button inside Grid via space (#221) * Provide an IT test to click Vaadin button inside Grid via space IT verification test for #37. Closes #37. * Add IT test for #4109 (#222) * Add IT test for #4109 * Merge branch 'master' into 4109-component-renderer * Disable test for reverted fix. (#226) * Fix flow dependency to be pom instead of jar (#230) * Fix type of flow dependency * Fix type pom on the wrong dependency (#231) * Copied TreeGrid API from framework 8 Reusing Vaadin 8 API as much as possible. removed/commented off all client RPC calls and non-existing methods. Added new methods: TreeGrid.addHierarchyColumn, TreeGrid.setParentRequestedRange, HierarchicalDataComunicator.setParentRequestedRange, HierarchyMapper.fetchRootItems, HierarchyMapper.fetchChildItems and HierarchyMapper.countChildItems. * Added protected createDataCommunicator method and changed visibilities Changed compareMaybeComparables, createColumnId and arrayUpdater to protected. UpdateQueue and UpdateQueue.enqueue to public. For easier access from TreeGrid subclass. * Added support for fetching range of child nodes for parent node for TreeGrid * Added basic TreeGrid section * Programmatic expand/collapse * Updated GridView demo for TreeGrid programmatic expand/collapse * Added ExpandEvent and CollapseEvent * Created copies from Framework 8 hierarchical backend data provider classes * Moved classes in org.* to com.* * Added demo for AbstractBackEndHierarchicalDataProvider Reorganized TreeGrid sections to TreeGrid page. Changed HierarchyMapper.getRootSize() to use count query instead of fetching childs. * Clear subcache when root is cleared * setItemCollapseAllowedProvider refresh all * Improved caching * Removed getHierarchyColumn, setHierarchyColumn(Column) and setHierarchyColumn(String) Also added javadoc, removed registerTreeGridRpc and moved getItemCollapseAllowedProvider method. * Removed set/getItemCollapseAllowedProvider * Changed Demo to use AtomicInteger for person id Running all IT tests had synchronizing issue with primitive int. * Changed expand/collapse event handling Usage of on-expanded-changed in template resulted in client side exceptions on init. Changed handling by overriding _expandedInstanceChangedCallback in gridConnector.js. * Added basic IT for TreeGrid Added TreeGridElement for IT tests. * Added expand(T, Integer) and collapse(T, Integer) back * Added type check for UpdateQueue for unit tests * Migrated V8 unit tests for TreeGrid * Added TreeGridScrollingIT Also cleaned unnecessary commented code off and added missing Copyright notice. * Made propertySet protected for TreeGrid * Returning false when collapse(T) called with null * Fixed hasExpandToggle to catch NoSuchElementException and return false * Added setHierarchyColumn(String) and setColumns(String, Collection) To be able to change hierarchy column. * Migrated V8 TreeGridBasicFeatures integration test * Refactored hierarchy column change logic Added setHierarchyColumn(String, ValueProvider) and updated setColumns(String, ValueProvider, Collection) to make it possible to change hierarchy column value provider. * Refactoring logic from Grid to TreeGrid Created TreeGridArrayUpdater and TreeUpdate interfaces for TreeGrid. Change keeps TreeGrid specific logic separated better from Grid base class. * Added communication controller for TreeGridcontroller This keeps client side sub-levels in synch with the server in a same manner as Grid keeps root levels in synch. This class works as replacement for the Grid's internal logic. Logic is exactly same but with added parent context. Now its used only for controlling sub-levels. * Took CommunicationController in use for TreeGrid gridConnector.js 'clear' and 'set' functions has new parameters for parent context: parent index and parent key. Added 'clearExpanded' function to clear expanded items array from the server side when needed. For example when data provider is changed on server side. Added 'ensureHierarchy' function to refresh hierarchy cache properly on reset. * Fixed 'clear' not passing correct parent for 'updateGridCache' * Re-enabled KeyMapper.remove and added checks for undefined caches Sub-caches may be undefined if grid-element clears cache and at the same time server calls clear or set on sub-level page. grid-element should win in these situations and clear/set should leave grid's cache untouched. * Updated TreeGrid's basic keyboard navigation tests TreeGrid does not handle keyboard navigation in a same way as V8 did. Arrow keys does not expand/collapse. Space key expands/collapses when focus is in tree toggle cell. * Migrated TreeGridChanginghierarchy integration test from V8 * Migrated V8 TreeGridHugeTree integration test * Migrated more V8 TreeGrid tests Added also test scoped dependency to 'vaadin-radio-button-flow'. * Removed ItemCollapseAllowedProvider and fixed in-memory sorting * Migrated V8 TreeGridExpandDataRequest integration test * Optimized TreeDataProvider and removed index from generated row data HierarchyMapper can get you the index, but it should not be used in generated row data as it will fetch the whole tree. Removed parentindex parameter from set and clear functions. Updated gridConnector.js caching to get the proper level cache by unique id instead of index. This was done by overriding Vaadin.Grid.ItemCache.ensureSubCacheForScaledIndex and adding new function called 'getCacheAndIndexByKey'. * Added sanity checks * Renamed getItemCacheByKey to getCacheByKey and fixed dataProvider * Updated recursive expand/collapse tests * Fixed getChildCount ignoring filter * Use 'key' as a default item id property * Changed GridView TreeGrid to use its own PersonWithLevel type Some Grid tests fails otherwise with the new unexpected level field. No need to touch Grid tests with this approach. * Migrated TreeGridInitialExpand and TreeGridHugeTreeNavigation V8 tests Navigation tests rewritten as grid element's navigation does not support right/left keys to collapse/expand. Space key on tree cell is used for that. * Added support to select all TreeGrid rows in multi-select mode * Check that parentCache exist server side refreshItem call on hidden row is one example when parentCache may be undefined. * Makes select all checkbox visible in test UI * Migrated V8 integration test deselect all is not working atm. * Migrated V8 TreeGridClientSort integration test * Updated GridSerializableTest for TreeGrid Made also couple classes and fields Serializable * Changed button caption * Minor code formatting * Minor code style and javadoc refactoring * Fixed TreeGrid test * Removed unused interface * No need to implement DataGenerator in HierarchyMapper * Minor code style refactoring * Made HierarchyMapper Serializable again It used to implement DataGenerated which was already Serializable. * Removed unused 'pageSize' and 'page' arguments from public methods And some minor code style refactoring. * Removed additional 'uniquekey' from the generated row data Using just 'key' by default. Additional property is not required. * Added TODO * Added new line * Replaced Grid.createDataCommunicator with a new protected constructor Takes in DataCommunicatorBuilder object which builds the DataCommunicator. TreeGrid has TreeDataCommunicatorBuilder extension of it. Changed few protected fields to private and added protected getter. Removed unused UpdateQueue constructors. * Added TODO for actions needed after moving class to 'flow'data' module * Added Copyright notice * Removed syncClient parameter from the public API Usage of public API will now always synchronize expand/collapse back to client. * Changed UpdateQueue back to private * Updated JavaDoc Removed non-existing syncClient description. * Refactored complex lambda in resetColumns * Replaced if block with Stream filter * Added toggle button to disable Grid for tests * Changed few new functions from grid to grid.$connector. * Removed tabs * Renamed test class 'Sex' to 'Gender' * Resolved minor review change requests * Fixed JavaDoc * Fixed HierarchicalCommunicatorTest During migrating FW8, lost a call to beforeClientResponse. It used to be a public method in connector itself and now its deeper inside the UI logic and this test can reach it via mocks only. * Wrapped blocks into curly brackets * Refactored tests Added missing JavaDoc for protected methods. renamed AbstractTreeGridIT.before() to setupTreeGridand id(String) to makeId(String). * removed unused setDataProvider method * Changed to use @testpath and open() * Minor code style changes resolving code review findings * Refactored TreeGridScrolling test Extends AbstractTreeGridIT. Removed 'test' prefix. Removed TODO that does not look like a valid task for this test anymore. * Refactored constructors to avoid call of overridden protected method Needed to get rid of direct usage of Grid instance (this) and Grid.element and also few others in TreeGrid constructor. Updated ArrayUpdater implementations to take in target element and other needed variables via new data object UpdateQueueData. As updates are always executed lazily on attach, UpdateQueueData can be updated in the end of the constructor. Moved unique key property and unique key value provider specific methods from TreeGrid to Grid. Only TreeGrid is really using them currently but as its also part of grid-element's API and now supported in connector, sounds good to have them in Grid base class. Made them all protected. * Made DataCommunicatorBuilder Serializable * Added check for undefined cache * Fixed wrong index usage in _getPageIfSameLevel Also changed 'inst.item === undefined' to 'inst.item == undefined' to make it work also with null in 'inst.item'. * Created test page for upcoming TreeGrid page change tests * Added TreeGridPageSizeIT Also minor refactoring in related test classes. * Added TreeGridItemDetailsRendererIT Plus added method in GridTRElement to get details TD element. * Changed int parameters to to String Key can be other than numbers. * Fixed previously opened details being lost on collapse * Removed all @SInCE annotations from JavaDoc All that were copied form from FW8 were removed. * Minor code style refactoring Removed @author JavaDoc and added new line in end. * Removed static fields from test failing in TC Tests succeeds when run locally but fails in TC. Static fields are suspects as tests may run in paraller. * Removed unnecessary Math.max for _virtualStart and _virtualEnd Checking for values below zero is not necessary for _virtualStart and _virtualEnd. * tree-grid rebase (#225) * Use alphabetical order for bean-grid columns by default (#217) * Use alphabetical order for bean-grid columns by default and improve javadocs of the bean-grid constructor. * Port change test class from framework (#215) * Port change test class from framework Original PR is vaadin/framework#10635 * Fix some connector parts so that they are compatible with IE11 (#220) * Fix some connector parts so that they are compatible with IE11 * Provide an IT test to click Vaadin button inside Grid via space (#221) * Provide an IT test to click Vaadin button inside Grid via space IT verification test for #37. Closes #37. * Add IT test for #4109 (#222) * Add IT test for #4109 * Merge branch 'master' into 4109-component-renderer * IE11 fixes Lost these two fixes during rebase with master and now taking them back. * Removed unnecessary double calls in Grid() constructor This fixes all failing Grid tests. * Changed @ClientCallable value to DisabledUpdateMode.ONLY_WHEN_ENABLED In TreeGrid.updateExpandedState methods. * Added missing JavaDoc * Fixed typo in @route path name * Reset all global variables in @before * Removed static field from test bean To fix failing test in TC. * Moved classes in 'com.vaadin.data.*' to 'com.vaadin.flow.data.*' Added 'com.vaadin.flow.data.provider' and 'com.vaadin.flow.data.provider.hierarchy'. Moved classes will move to 'flow-data' at some point and this change is preparation for that. * Added missing 'abstract' to AbstractTreeGridIT class * Added more asserts to test * Added assert to test and increased timeout This assert reveals if arrow keys right/left actually makes grid to scroll into focused element. * Rebased tree-grid with master Resolved one conflict in ButtonInGridIT. * Merge branch 'tree-grid' into tree-grid-rebase
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This change is