Commit Graph

1047 Commits (53ce61a6372ab7ee5234695d6fa4fa2a5f03bf6e)

Author SHA1 Message Date
Johannes Riegler c2e830bcb3 Fixed #7021 - Galleria: thumbnails don't work on mobile 2025-02-12 12:25:13 +01:00
Mehdi Rande 5f4408d6df Fix: Add removeCallback and index in Autocomplete chip slot definition 2025-02-12 09:02:33 +01:00
Mehdi Rande f6293cf4f5 Fix: Trigger outsideClickListener in capture phase to handle stopPropagation
This commit addresses the issue where the overlay in components does not hide
when clicking outside the component, if the click event is stopped using
stopPropagation on an element or its parents.

The solution changes the event listener for detecting outside clicks to be
triggered in the capture phase instead of the bubbling phase.
This ensures that the outside click is correctly detected even if
stopPropagation is called.
2025-02-11 18:34:43 +01:00
Aditya Chandra b6cc223bcc fix: wrong tabList inkbar placement when using default value 2025-02-11 22:04:33 +07:00
tugcekucukoglu 7a3b228ae3 Refactor #7090 - For Tab 2025-02-10 10:09:53 +03:00
tugcekucukoglu 8a50610fd6 Fixed #7222 - DataTable: Colspan not working correctly when selectionMode='single' in Column 2025-02-10 09:56:27 +03:00
Henry Nguyen af5e626064
Fix multi-row range selection on lazily paginated multi-selection Datatable
On a datatable that has the paginator enabled, with lazy=true, and selectionMode="multiple", then on the first page, shift-clicking multiple rows functions properly as expected by selecting all shift-clicked rows. However, when navigating to any page other than the first page, shift-clicking does NOT work, and instead cancels out any selection.

What's happening is that inside the [`selectRange()`](https://github.com/primefaces/primevue/blob/master/packages/primevue/src/datatable/DataTable.vue#L1190) method of datatable, `this.processedData` contains an array of data that is rendered on the current page of the table, and we use the indexes of rows that the user has shift+clicked in order to access the array by those indexes, which we call [`rangeStart` and `rangeEnd`](https://github.com/primefaces/primevue/blob/master/packages/primevue/src/datatable/DataTable.vue#L1190). For example, consider a collection of data containing 50 total items. On a datatable displaying 10 rows at a time, `this.processedData` will contain an array of length 10, and when the user shift+clicks the first three rows, we will assign a `rangeStart` of 0 and a `rangeEnd` of 2 for selection.

The problem is that when we navigate to the other pages other than the first, `this.processedData` still only contains a subset of the total dataset, but our `rangeStart` and `rangeEnd` indexes contain the indexes relative to the entire total dataset. Continuing on with the previous example, when we navigate to page 2 and try to shift+click the first three rows, `this.processedData` still only contains an array of length 10, since we are only rendering 10 items at a time, but `rangeStart` will be 10 and `rangeEnd` will be 12, which are both outside the bounds of the `this.processedData` array so no rows end up being selected.

Currently there is [code that meant to account for this](https://github.com/primefaces/primevue/blob/master/packages/primevue/src/datatable/DataTable.vue#L1182C13-L1182C45), by subtracting the number rows from previous pages so that we get the properly offset indexes relative to the `this.processedData` subset, not the total. Specifically, it first determines `rangeStart` and `rangeEnd` relative to the total dataset, and then subtracts `this.first` from both values, where `this.first` appears as though it's meant to be the number of items that are contained in the pages previous to the current page (a.k.a. the index of the _first_ item on the _current_ page of the subset of data from the total dataset).

The bug is that `this.first` does not actually contain the expected value here to properly perform the offset. Continuing from the above example, when shift+clicking the first three rows on the second page of results, `rangeStart` and `rangeEnd` will be 10 and 12 respectively, and we would expect that we subtract 10 from the first page of results to get correct values of 0 and 2. However, `this.first` is actually 0, and so we end up with `rangeStart` and `rangeEnd` of 10 and 12, which are outside the bounds of `this.processedData` which cannot be processed on subsequent lines.

This PR attempts to fix this bug by adjusting the subtraction to use `this.d_first` instead of `this.first`, which has been confirmed to contain the desired value of the total number of rows in previous pages. In the above example, it contains 10 for the second page, 20 for the third page, 30 for the fourth page, so on, which causes `rangeStart` and `rangeEnd` to contain the proper expected values for accessing `this.processedData` correctly.

Alternatively, we could've instead updated the assignment of `this.first` to contain `this.d_first`, so that the current code here would function correctly. However, I'm not sure what other undesired effects that might cause, so am requesting more knowledgeable eyes to review the above proposal. Many thanks!! 🙏 ❤️
2025-02-08 23:34:28 -08:00
tugcekucukoglu ff3b7a58a9 Fixed #7219 - Multiselect unnecessarily scrolling to bottom of options on open 2025-02-07 16:26:28 +03:00
tugcekucukoglu 01c488f08e Fixed #7221 - Dock: Blocked aria-hidden on an element error 2025-02-07 16:12:16 +03:00
Tuğçe Küçükoğlu 238404aa68
Merge pull request #7210 from MstrVLT/Fix-Issue-#7208
fix(VirtualScroller): Typo - missing calculations for grid column
2025-02-07 10:06:16 +03:00
SamVanini 4a333b684e feat(datatable): Added generics to type data and newData #7194 2025-02-06 23:07:54 +01:00
tugcekucukoglu 013583d9a4 Format fix 2025-02-06 19:08:30 +03:00
tugcekucukoglu 61cb4594b0 Fixed #7209 - Form components: wrong default value of variant prop in .d.ts files 2025-02-06 17:37:09 +03:00
VLT 92063b98b1
Missing calculation for grid column 2025-02-06 16:35:01 +03:00
Tuğçe Küçükoğlu df90418496
Merge pull request #7207 from MstrVLT/Fix-Issue-#6986
fix(VirtualScroller): #7208
2025-02-06 16:14:12 +03:00
VLT 6af6a2730d
Fix Issue primefaces#6986 2025-02-06 13:24:13 +03:00
Tuğçe Küçükoğlu a8796c2775
Merge pull request #7205 from wangziling/fix-confirm-dialog-types
fix(confirmdialog): fix the missing of the pass-though prop named `mask`
2025-02-06 12:35:23 +03:00
王子凌 fa7f4d80d0 fix(confirmdialog): fix the missing of the pass-though prop named `mask` 2025-02-06 11:44:32 +08:00
王子凌 020d7f9cc3 fix(select): fix the missing of the pass-though prop named `dropdownIcon` 2025-02-06 10:48:03 +08:00
tugcekucukoglu 41bbf66544 Fixed #7180 - FileUpload shouldn't post to url if none is provided 2025-02-05 12:00:02 +03:00
王子凌 b07257958c fix(fileupload): fix the types of the `content` slot 2025-02-05 14:09:58 +08:00
Tuğçe Küçükoğlu b2cd1f8501
Merge pull request #7186 from qburst/fix--7185
fix: filter input reference check on overlay close
2025-02-04 13:11:20 +03:00
navedqb dea20c573b
fix: check filter input reference before focusing 2025-02-04 15:25:00 +05:30
Benedikt Lang e508660c38 feat(datatable): add types for slotProps 2025-01-31 13:41:58 +01:00
tugcekucukoglu 2a2c07ddb2 Fixed #7173 - Eslint 9 version update changes 2025-01-31 12:53:30 +03:00
Mert Sincan 7d70280d79 feat: Added utils methods to primevue package 2025-01-28 20:12:43 +00:00
Mert Sincan 68e0813622 refactor: update utils.d.ts 2025-01-28 20:08:32 +00:00
GitHub Actions Bot ecde5f788c Update API doc 2025-01-28 19:58:04 +00:00
Mert Sincan 303959438a fix: Base Presets: CSS var --p-scrollbar-width is not defined. Fixes #6094 2025-01-28 19:56:48 +00:00
Mert Sincan 9ac4c5a07f fix: update '@primeuix/styles' imports to use 'style' instead of 'theme' across multiple components 2025-01-28 12:37:54 +00:00
tugcekucukoglu f158e4b500 Lint fixes 2025-01-28 11:33:24 +03:00
Tuğçe Küçükoğlu baf52b0066
Merge pull request #7147 from mrheinen/master
DataTable : Allow ctrl-c during selection mode (port from Vue 3 PR)
2025-01-28 11:28:18 +03:00
lucas strübi 57edb423f9 feat(InputNumber): French keyboard decimal support 2025-01-27 23:52:49 +01:00
Mert Sincan 7a7a19ce74 refactor: update filterfill export in package.json 2025-01-27 22:41:51 +00:00
tugcekucukoglu b6c7b434b1 Refactor #6986 2025-01-27 18:05:01 +03:00
tugcekucukoglu 4852576beb Fixed #7153 - Port all styles to @primeuix/styles 2025-01-27 14:52:25 +03:00
Jupiter 4ae05194ed
feat(Password): add cursor pointer to ToggleMask icon (#7132)
Co-authored-by: hxl <52553624@qq.com>
2025-01-27 09:42:58 +00:00
Mert Sincan 36e418b726 refactor: #7153 - For InputOtp and InputText 2025-01-27 09:37:20 +00:00
tugcekucukoglu e3238dbd7c Fixed #7150 - TreeTable: node added to column context options 2025-01-27 10:46:05 +03:00
niels c862d1adc5 Allow ctrl-c during selection mode 2025-01-25 15:48:55 +01:00
Tuğçe Küçükoğlu 1babaf4f4d
Merge pull request #7131 from dec87/master
fix(floatlabel): correct font.weight style key weight for active label
2025-01-24 11:47:41 +03:00
Tuğçe Küçükoğlu 44c877ef4c
Merge pull request #7129 from ducmerida/fix/7128-accordion-expand-collapse-icons-direction
Fix reversed Expand/Collapse icons of AccordionHeader.vue
2025-01-22 15:32:54 +03:00
Damian Celmer 89c46a3b0d fix(floatlabel): correct font.weight style key weight for active label 2025-01-22 11:09:07 +01:00
tugcekucukoglu a77e375e4f Fixed #7123 - Dialog close button when label is empty 2025-01-22 12:36:21 +03:00
tugcekucukoglu 682caf013d Fixed #7130 - Missing exposed methods in types 2025-01-22 10:57:56 +03:00
Tuğçe Küçükoğlu 5c78108edc
Merge pull request #7127 from J-Michalek/fix/select-exposed-methods
fix(select): add exposed methods to types
2025-01-22 10:44:10 +03:00
Tuğçe Küçükoğlu 5ccc07fc94
Merge pull request #7125 from J-Michalek/fix/multiselect-exposed-methods
fix(multi-select): add exposed methods to types
2025-01-22 10:43:38 +03:00
David Cardós Uc e6d81c8528
Fix reversed Expand/Collapse icons of AccordionHeader.vue 2025-01-21 13:13:57 -06:00
J-Michalek 69dfde2e4e Revert "fix(multi-select): add exposed methods to types"
This reverts commit 4bb3c3d3a6.
2025-01-21 16:05:32 +01:00
J-Michalek 41ffafde26 fix(select): add exposed methods to types 2025-01-21 15:44:13 +01:00
J-Michalek 4bb3c3d3a6 fix(multi-select): add exposed methods to types 2025-01-21 15:39:10 +01:00
tugcekucukoglu 9d9de4f0fd Fixed #7110 - InputMask: Problem with input prompt cursor on Windows 2025-01-21 13:35:56 +03:00
tugcekucukoglu 8cf1b0596b Fixed #7107 2025-01-21 13:14:11 +03:00
Tuğçe Küçükoğlu 737327360b
Merge pull request #7122 from J-Michalek/fix/multiselect-chip-slot-param
docs(multi-select): add missing removeCallback prop on chip slot
2025-01-21 11:30:38 +03:00
tugcekucukoglu 54d2d30a78 Refactor 2025-01-21 11:28:18 +03:00
Tuğçe Küçükoğlu ee12f40984
Merge pull request #7119 from J-Michalek/fix/datepicker-and-select-realign-after-orientation-change
fix(date-picker-and-select): realign after orientation change
2025-01-21 11:26:37 +03:00
Jakub Michálek f4f7c18881 docs(multi-select): add missing removeCallback prop on chip slot 2025-01-21 07:41:17 +01:00
J-Michalek 260b571673 fix(select): reallign popup after orientation change 2025-01-20 16:54:09 +01:00
J-Michalek 0d7694ac25 fix(date-picker): reallign popup after orientation change 2025-01-20 16:53:51 +01:00
tugcekucukoglu 7b9e98a811 Fixed #7095 - Virtual Scroller: Event first and last behave differently 2025-01-20 15:41:36 +03:00
Tuğçe Küçükoğlu a8cc66d391
Merge pull request #7111 from J-Michalek/fix/textarea-resize
fix(textarea): issues with ResizeObserver inside of Firefox
2025-01-20 09:22:03 +03:00
Jakub Michálek 67f02c2ee7 fix(textarea): issues with ResizeObserver inside of Firefox 2025-01-17 13:16:10 +01:00
tugcekucukoglu 2bfc867ec0 Change from hasRowFilter to hasFilter 2025-01-15 15:40:35 +03:00
Tuğçe Küçükoğlu cb7f072529
Merge pull request #7099 from J-Michalek/fix/splitter-minsize
fix(splitter): minSize behavior during fast mouse movement
2025-01-15 10:52:02 +03:00
tugcekucukoglu 8c2cf5d84c Refactor #6954 2025-01-15 10:06:17 +03:00
Tuğçe Küçükoğlu b01abbf429
Merge pull request #7097 from J-Michalek/fix/editor-broken-toolbar-buttons
fix(editor): broken color buttons after modelValue update
2025-01-15 10:05:48 +03:00
Tuğçe Küçükoğlu b9a8efc871
Merge pull request #7094 from J-Michalek/fix/dialog-escape-closing
fix(dialog): escape closing when not closable via button
2025-01-15 09:58:10 +03:00
Jakub Michálek 9544fa57aa fix(splitter): minSize behavior during fast mouse movement 2025-01-14 19:18:22 +01:00
Jakub Michálek 643d43dd8b chore(dialog): delete console log 2025-01-14 16:31:52 +01:00
Jakub Michálek 02c7af18b9 chore(dialog): remove accidental changes 2025-01-14 16:31:18 +01:00
Jakub Michálek 06316c56b6 fix(editor): broken color buttons after modelValue update 2025-01-14 15:58:07 +01:00
Mert Sincan b2fcf9e9c4 refactor: remove console.log from Galleria 2025-01-14 14:44:26 +00:00
Mert Sincan cae2ad57ed fix: Improve BaseDirective structure
Fixes #7096
2025-01-14 14:43:14 +00:00
Jakub Michálek 7f3fb4a6c1 fix(dialog): escape closing when not closable via button 2025-01-14 15:22:06 +01:00
tugcekucukoglu 49c9303c75 Refactor #7093 2025-01-14 17:00:29 +03:00
tugcekucukoglu 6b52bf031a Fixed #7093 2025-01-14 16:55:37 +03:00
Tuğçe Küçükoğlu b0fe902463
Merge pull request #7060 from m-meier/fix/editor-semantichtml
feat(Editor): improve quill 2 support by using getSemanticHTML and adjust list css for version 2, fixes #7061
2025-01-14 16:54:54 +03:00
Cagatay Civici 0975f41110 Fixed #7017 - Size support for Icon Only Buttons 2025-01-14 15:50:15 +03:00
Mert Sincan 5fa6e72459 Merge branch 'master' of https://github.com/primefaces/primevue 2025-01-14 12:18:56 +00:00
Mert Sincan ca8d2d9d5a refactor: #7090 for BadgeDirective 2025-01-14 12:17:52 +00:00
Mert Sincan 85b7d30eaa refactor: #7090 for Tooltip 2025-01-14 12:17:29 +00:00
Cagatay Civici a89625515e Fixed #7085 - ProgressSpinner Token Names Invalid 2025-01-14 15:14:34 +03:00
Cagatay Civici dcaeb76411 Fixed #6738 - DataTable: size variant still using hardcode size 2025-01-14 15:10:50 +03:00
Cagatay Civici d4c6dbfc1f Merge branch 'master' of https://github.com/primefaces/primevue 2025-01-14 14:59:29 +03:00
Cagatay Civici e427f85a6b Fixed #7086 - Refactor ToggleButton Implementation and Design Tokens 2025-01-14 14:59:22 +03:00
tugcekucukoglu 6c0e96fdcc Fixed #7092 - Change showClearButton as false and use FilterFillIcon for row filtering 2025-01-14 14:52:34 +03:00
Mert Sincan fc6acef8d8 refactor: #7090 for DynamicDialog 2025-01-14 11:46:06 +00:00
Mert Sincan cfdee00127 refactor: #7090 for Rating 2025-01-14 11:43:27 +00:00
Mert Sincan b70064cb0c refactor: #7090 for DynamicDialog 2025-01-14 11:43:20 +00:00
Mert Sincan 08cc312f62 refactor: #7090 for Dock 2025-01-14 11:43:12 +00:00
Mert Sincan f061fc1d02 refactor: #7090 for DatePicker 2025-01-14 11:43:06 +00:00
Mert Sincan 7fb5b3985b refactor: #7090 for DataTable 2025-01-14 11:42:49 +00:00
Mert Sincan bb57b0ae23 refactor: #7090 for TreeSelect 2025-01-14 11:13:50 +00:00
Mert Sincan f36d6c0285 refactor: #7090 for TieredMenu 2025-01-14 11:13:41 +00:00
Mert Sincan 6498320863 refactor: #7090 for TabView 2025-01-14 11:13:31 +00:00
Mert Sincan 0252af5a20 refactor: #7090 for Tabs 2025-01-14 11:13:25 +00:00
Mert Sincan 60c596db96 refactor: #7090 for Stepper 2025-01-14 11:13:19 +00:00
Mert Sincan 4a3306b97e refactor: #7090 for SplitButton 2025-01-14 11:13:13 +00:00
Mert Sincan 157883e0bf refactor: #7090 for SpeedDial 2025-01-14 11:13:05 +00:00
Mert Sincan 4ba78a88a6 refactor: #7090 for Select 2025-01-14 11:12:55 +00:00