lightning-base-components 1.21.5-alpha → 1.21.7-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/metadata/raptor.json +46 -4
- package/package.json +125 -3
- package/scopedImports/@salesforce-label-LightningColorPicker.a11yDefaultText.js +1 -0
- package/scopedImports/@salesforce-label-LightningDatatable.multiColumnSortingToast.js +1 -0
- package/scopedImports/@salesforce-label-LightningDatatable.sortingMenuColumns.js +1 -0
- package/scopedImports/@salesforce-label-LightningDatatable.sortingMenuMultiColumnSort.js +1 -0
- package/scopedImports/@salesforce-label-LightningDatatable.sortingMenuRows.js +1 -0
- package/scopedImports/@salesforce-label-LightningDatatable.sortingMenuTooltip.js +1 -0
- package/scopedImports/@salesforce-label-LightningForm.dependentFieldsListHeading.js +1 -1
- package/scopedImports/@salesforce-label-LightningLookup.advancedSearchMobile.js +1 -1
- package/scopedImports/@salesforce-label-LightningLookup.modalTitle.js +1 -0
- package/scopedImports/@salesforce-label-LightningMultiColumnSortingModal.addRule.js +1 -0
- package/scopedImports/@salesforce-label-LightningMultiColumnSortingModal.applyButton.js +1 -0
- package/scopedImports/@salesforce-label-LightningMultiColumnSortingModal.cancelButton.js +1 -0
- package/scopedImports/@salesforce-label-LightningMultiColumnSortingModal.clearButton.js +1 -0
- package/scopedImports/@salesforce-label-LightningMultiColumnSortingModal.duplicateValueValidation.js +1 -0
- package/scopedImports/@salesforce-label-LightningMultiColumnSortingModal.firstRuleHeading.js +1 -0
- package/scopedImports/@salesforce-label-LightningMultiColumnSortingModal.modalTitle.js +1 -0
- package/scopedImports/@salesforce-label-LightningMultiColumnSortingModal.otherRuleHeading.js +1 -0
- package/scopedImports/@salesforce-label-LightningMultiColumnSortingModal.ruleLimit.js +1 -0
- package/scopedImports/@salesforce-label-LightningMultiColumnSortingModal.ruleLimitReached.js +1 -0
- package/scopedImports/@salesforce-label-LightningPrimitiveColumnSorter.ascending.js +1 -0
- package/scopedImports/@salesforce-label-LightningPrimitiveColumnSorter.descending.js +1 -0
- package/scopedImports/@salesforce-label-LightningPrimitiveColumnSorter.dropdownPlaceholder.js +1 -0
- package/scopedImports/@salesforce-label-LightningPrimitiveColumnSorter.missingValueValidation.js +1 -0
- package/scopedImports/@salesforce-label-LightningPrimitiveColumnSorter.moveDownTooltip.js +1 -0
- package/scopedImports/@salesforce-label-LightningPrimitiveColumnSorter.moveUpTooltip.js +1 -0
- package/scopedImports/@salesforce-label-LightningProgressIndicator.pathCurrentStage.js +1 -0
- package/scopedImports/@salesforce-label-LightningRecordPicker.emptyStateNoResultText.js +1 -0
- package/scopedImports/@salesforce-label-LightningRecordPicker.messageWhenSearchTermTooShort.js +1 -0
- package/scopedImports/@salesforce-label-LightningRecordPicker.resultCountDescriptionForMoreThanOneHundredRecords.js +1 -0
- package/scopedImports/@salesforce-label-LightningRecordPicker.resultCountDescriptionForMultipleRecords.js +1 -0
- package/scopedImports/@salesforce-label-LightningRecordPicker.resultCountDescriptionForOneRecord.js +1 -0
- package/scopedImports/@salesforce-label-LightningRecordPicker.resultsLoading.js +1 -0
- package/scopedImports/@salesforce-label-LightningRecordPicker.searchInputHelp.js +1 -0
- package/src/lightning/accordion/accordion.js +21 -14
- package/src/lightning/accordionSection/button.slds.css +16 -15
- package/src/lightning/alert/alert.js +10 -8
- package/src/lightning/ariaObserver/ariaObserver.js +19 -5
- package/src/lightning/badge/badge.slds.css +1 -1
- package/src/lightning/baseCombobox/base-combobox.slds.css +1 -1
- package/src/lightning/baseCombobox/baseCombobox.html +2 -1
- package/src/lightning/baseCombobox/baseCombobox.js +21 -0
- package/src/lightning/baseCombobox/input-text.slds.css +5 -5
- package/src/lightning/button/button.js +5 -0
- package/src/lightning/button/button.slds.css +16 -15
- package/src/lightning/buttonIcon/__docs__/buttonIcon.md +4 -0
- package/src/lightning/buttonIcon/__examples__/basic/basic.html +17 -1
- package/src/lightning/buttonIcon/button-icon.slds.css +41 -25
- package/src/lightning/buttonIconStateful/button-icon-stateful.slds.css +33 -229
- package/src/lightning/buttonIconStateful/button-icon.slds.css +41 -25
- package/src/lightning/buttonIconStateful/button.slds.css +16 -15
- package/src/lightning/buttonMenu/button-icon.slds.css +41 -25
- package/src/lightning/buttonMenu/button-menu.slds.css +41 -15
- package/src/lightning/buttonMenu/button.slds.css +16 -15
- package/src/lightning/buttonMenu/buttonMenu.css +1 -1
- package/src/lightning/buttonMenu/buttonMenu.html +1 -1
- package/src/lightning/buttonMenu/buttonMenu.js +44 -4
- package/src/lightning/buttonStateful/button-stateful.slds.css +1 -4
- package/src/lightning/buttonStateful/button.slds.css +16 -15
- package/src/lightning/calendar/calendar.html +3 -4
- package/src/lightning/card/card.html +1 -1
- package/src/lightning/colorPickerCustom/colorPickerCustom.html +1 -1
- package/src/lightning/colorPickerCustom/colorPickerCustom.js +0 -9
- package/src/lightning/colorPickerCustom/input-text.slds.css +5 -5
- package/src/lightning/combobox/form-element.slds.css +5 -1
- package/src/lightning/confirm/confirm.js +10 -8
- package/src/lightning/datatable/__docs__/datatable.md +0 -3
- package/src/lightning/datatable/__examples__disabled/customComponentPopupTableWrapper/README.md +17 -0
- package/src/lightning/datatable/__examples__disabled/customComponentPopupTableWrapper/customComponentPopupTableWrapper.html +11 -0
- package/src/lightning/datatable/__examples__disabled/customComponentPopupTableWrapper/customComponentPopupTableWrapper.js +25 -0
- package/src/lightning/datatable/__examples__disabled/customComponentPopupTableWrapper/generateData.js +15 -0
- package/src/lightning/datatable/__examples__disabled/myCustomTypePopupTable/customInput.html +4 -0
- package/src/lightning/datatable/__examples__disabled/myCustomTypePopupTable/myCustomTypePopupTable.js +17 -0
- package/src/lightning/datatable/__examples__disabled/myCustomTypePopupTable/nestedSimpleComponentParent.html +7 -0
- package/src/lightning/datatable/__examples__disabled/simpleComponentPopupNested/simpleComponentPopupNested.html +31 -0
- package/src/lightning/datatable/__examples__disabled/simpleComponentPopupNested/simpleComponentPopupNested.js +36 -0
- package/src/lightning/datatable/columnWidthManager.js +19 -16
- package/src/lightning/datatable/columns.js +90 -42
- package/src/lightning/datatable/datatable.js +571 -148
- package/src/lightning/datatable/errors.js +1 -1
- package/src/lightning/datatable/indexes.js +32 -21
- package/src/lightning/datatable/infiniteLoading.js +7 -6
- package/src/lightning/datatable/inlineEdit.js +52 -64
- package/src/lightning/datatable/keyboard.js +583 -195
- package/src/lightning/datatable/renderManager.js +21 -27
- package/src/lightning/datatable/rowLevelActions.js +5 -14
- package/src/lightning/datatable/rowSelection.js +36 -17
- package/src/lightning/datatable/rowSelectionShared.js +1 -0
- package/src/lightning/datatable/rows.js +224 -132
- package/src/lightning/datatable/rowsInlining.js +473 -0
- package/src/lightning/datatable/sort.js +40 -15
- package/src/lightning/datatable/state.js +17 -4
- package/src/lightning/datatable/templates/div/div.html +807 -91
- package/src/lightning/datatable/templates/div/div.lbc.synthetic.css +29 -3
- package/src/lightning/datatable/templates/table/table.css +29 -1
- package/src/lightning/datatable/templates/table/table.html +786 -87
- package/src/lightning/datatable/tree.js +0 -33
- package/src/lightning/datatable/utils.js +50 -0
- package/src/lightning/datatable/virtualization.js +44 -19
- package/src/lightning/datatable/wrapText.js +7 -10
- package/src/lightning/datepicker/datepicker.html +3 -1
- package/src/lightning/datepicker/datepicker.js +43 -4
- package/src/lightning/datepicker/form-element.slds.css +5 -1
- package/src/lightning/datepicker/input-text.slds.css +5 -5
- package/src/lightning/datetimepicker/datetimepicker.html +7 -1
- package/src/lightning/datetimepicker/datetimepicker.js +30 -2
- package/src/lightning/datetimepicker/form-element.slds.css +5 -1
- package/src/lightning/datetimepicker/input-text.slds.css +5 -5
- package/src/lightning/dualListbox/form-element.slds.css +5 -1
- package/src/lightning/focusTrap/focusTrap.css +7 -0
- package/src/lightning/groupedCombobox/form-element.slds.css +5 -1
- package/src/lightning/groupedCombobox/input-text.slds.css +5 -5
- package/src/lightning/helptext/button-icon.slds.css +41 -25
- package/src/lightning/helptext/form-element.slds.css +5 -1
- package/src/lightning/icon/__docs__/icon.md +0 -2
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/account_score.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/aggregate.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/app_form_participant.html +11 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/app_form_product_participant.html +12 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/cost_model.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/labels.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/list_fee.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/list_rate.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/party_profile.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/path_experiment.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/people_score.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/price_adjustment_schedule.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/price_adjustment_tier.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/program_cohort.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/program_cohort_member.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/rate_adjustment.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/record_consent.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/whatsapp.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/templates.js +40 -1
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/aggregate.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/array.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/bottom_group_alignment.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/cant_sync.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/center_group_alignment.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/columns.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/fully_synced.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/inner_join.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/join.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/left_join.html +14 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/macros.html +2 -2
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/not_in_sync.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/not_saved.html +9 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/outer_join.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/path_experiment.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/program_cohort.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/program_cohort_member.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/record_consent.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/right_join.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/skill.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/sync_in_progress.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/top_group_alignment.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/account_score.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/aggregate.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/app_form_participant.html +11 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/app_form_product_participant.html +12 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/cost_model.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/labels.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/list_fee.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/list_rate.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/party_profile.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/path_experiment.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/people_score.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/price_adjustment_schedule.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/price_adjustment_tier.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/program_cohort.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/program_cohort_member.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/rate_adjustment.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/record_consent.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/whatsapp.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/templates.js +40 -1
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/aggregate.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/array.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/bottom_group_alignment.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/cant_sync.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/center_group_alignment.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/columns.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/fully_synced.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/inner_join.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/join.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/left_join.html +14 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/macros.html +2 -2
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/not_in_sync.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/not_saved.html +9 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/outer_join.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/path_experiment.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/program_cohort.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/program_cohort_member.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/record_consent.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/right_join.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/skill.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/sync_in_progress.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/top_group_alignment.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/account_score.html +8 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/aggregate.html +8 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/app_form_participant.html +11 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/app_form_product_participant.html +12 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/cost_model.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/labels.html +8 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/list_fee.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/list_rate.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/party_profile.html +8 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/path_experiment.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/people_score.html +8 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/price_adjustment_schedule.html +8 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/price_adjustment_tier.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/program_cohort.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/program_cohort_member.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/rate_adjustment.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/record_consent.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/whatsapp.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/templates.js +19 -1
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/account_score.html +8 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/aggregate.html +8 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/app_form_participant.html +11 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/app_form_product_participant.html +12 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/cost_model.html +7 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/labels.html +8 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/list_fee.html +7 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/list_rate.html +7 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/party_profile.html +8 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/path_experiment.html +7 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/people_score.html +8 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/price_adjustment_schedule.html +8 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/price_adjustment_tier.html +7 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/program_cohort.html +7 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/program_cohort_member.html +7 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/rate_adjustment.html +7 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/record_consent.html +7 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/whatsapp.html +7 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/templates.js +19 -1
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/templates.js +22 -1
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/aggregate.html +8 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/array.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/bottom_group_alignment.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/cant_sync.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/center_group_alignment.html +8 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/columns.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/fully_synced.html +8 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/inner_join.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/join.html +8 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/left_join.html +14 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/macros.html +2 -2
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/not_in_sync.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/not_saved.html +9 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/outer_join.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/path_experiment.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/program_cohort.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/program_cohort_member.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/record_consent.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/right_join.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/skill.html +8 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/sync_in_progress.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/top_group_alignment.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/templates.js +22 -1
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/aggregate.html +8 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/array.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/bottom_group_alignment.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/cant_sync.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/center_group_alignment.html +8 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/columns.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/fully_synced.html +8 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/inner_join.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/join.html +8 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/left_join.html +14 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/macros.html +2 -2
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/not_in_sync.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/not_saved.html +9 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/outer_join.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/path_experiment.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/program_cohort.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/program_cohort_member.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/record_consent.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/right_join.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/skill.html +8 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/sync_in_progress.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/top_group_alignment.html +7 -0
- package/src/lightning/iconUtils/iconColors.js +1 -1
- package/src/lightning/input/form-element.slds.css +5 -1
- package/src/lightning/input/input.html +16 -2
- package/src/lightning/input/input.js +91 -3
- package/src/lightning/input/input.js-meta.xml +3 -0
- package/src/lightning/inputAddress/addressFormat.js +25 -11
- package/src/lightning/inputAddress/fieldsLayout.js +3 -0
- package/src/lightning/inputAddress/form-element.slds.css +5 -1
- package/src/lightning/inputAddress/input-text.slds.css +5 -5
- package/src/lightning/inputAddress/inputAddress.html +1 -1
- package/src/lightning/inputAddress/inputAddress.js +27 -11
- package/src/lightning/inputLocation/form-element.slds.css +5 -1
- package/src/lightning/inputLocation/input-text.slds.css +5 -5
- package/src/lightning/inputName/form-element.slds.css +5 -1
- package/src/lightning/inputName/input-text.slds.css +5 -5
- package/src/lightning/internationalizationLibrary/address/AddressFormat.js +2 -0
- package/src/lightning/layout/__docs__/layout.md +0 -2
- package/src/lightning/lookupAddress/form-element.slds.css +5 -1
- package/src/lightning/menuItem/menu-item.slds.css +3 -1
- package/src/lightning/modal/__modalUtils__/modalContainerTestConstants.js +7 -3
- package/src/lightning/modal/__modalUtils__/modalContainerTestMethods.js +18 -11
- package/src/lightning/modal/__modalUtils__/modalContainerTestMockData.js +1 -1
- package/src/lightning/modalBase/modalBase.css +4 -0
- package/src/lightning/modalBase/modalBase.html +16 -21
- package/src/lightning/modalBase/modalBase.js +51 -87
- package/src/lightning/modalHeader/modalHeader.html +3 -15
- package/src/lightning/modalHeader/modalHeader.js +14 -61
- package/src/lightning/multiColumnSortingModal/multiColumnSortingModal.css +14 -0
- package/src/lightning/multiColumnSortingModal/multiColumnSortingModal.html +55 -0
- package/src/lightning/multiColumnSortingModal/multiColumnSortingModal.js +430 -0
- package/src/lightning/multiColumnSortingModal/multiColumnSortingModal.js-meta.xml +4 -0
- package/src/lightning/overlayManager/overlayManager.js +16 -0
- package/src/lightning/pill/pill.js +19 -13
- package/src/lightning/pillContainer/button.slds.css +16 -15
- package/src/lightning/pillContainer/pillContainer.js +2 -1
- package/src/lightning/pillContainer/standardPillContainer.html +6 -2
- package/src/lightning/positionLibrary/direction.js +19 -0
- package/src/lightning/primitiveBubble/primitiveBubble.js +33 -11
- package/src/lightning/primitiveColorpickerButton/primitiveColorpickerButton.html +2 -2
- package/src/lightning/primitiveColorpickerButton/primitiveColorpickerButton.js +8 -0
- package/src/lightning/primitiveColumnSorter/primitiveColumnSorter.css +34 -0
- package/src/lightning/primitiveColumnSorter/primitiveColumnSorter.html +60 -0
- package/src/lightning/primitiveColumnSorter/primitiveColumnSorter.js +107 -0
- package/src/lightning/primitiveHeaderFactory/primitiveHeaderFactory.js +37 -4
- package/src/lightning/primitiveHeaderFactory/sortingMenuHeader.css +5 -0
- package/src/lightning/primitiveHeaderFactory/sortingMenuHeader.html +9 -0
- package/src/lightning/primitiveInputCheckbox/form-element.slds.css +5 -1
- package/src/lightning/primitiveInputCheckbox/input-checkbox.slds.css +3 -3
- package/src/lightning/primitiveInputCheckbox/primitiveInputCheckbox.html +1 -1
- package/src/lightning/primitiveInputCheckboxButton/form-element.slds.css +5 -1
- package/src/lightning/primitiveInputCheckboxButton/input-checkbox-button.slds.css +6 -5
- package/src/lightning/primitiveInputCheckboxButton/primitiveInputCheckboxButton.html +1 -1
- package/src/lightning/primitiveInputColor/form-element.slds.css +5 -1
- package/src/lightning/primitiveInputColor/input-text.slds.css +5 -5
- package/src/lightning/primitiveInputColor/primitiveInputColor.html +5 -2
- package/src/lightning/primitiveInputColor/primitiveInputColor.js +2 -0
- package/src/lightning/primitiveInputFile/button.slds.css +16 -15
- package/src/lightning/primitiveInputFile/form-element.slds.css +5 -1
- package/src/lightning/primitiveInputFile/primitiveInputFile.html +1 -1
- package/src/lightning/primitiveInputRadio/primitiveInputRadio.html +1 -1
- package/src/lightning/primitiveInputSimple/form-element.slds.css +5 -1
- package/src/lightning/primitiveInputSimple/input-text.slds.css +5 -5
- package/src/lightning/primitiveInputSimple/primitiveInputSimple.html +3 -2
- package/src/lightning/primitiveInputSimple/primitiveInputSimple.js +15 -0
- package/src/lightning/primitiveInputToggle/form-element.slds.css +5 -1
- package/src/lightning/primitiveInputToggle/input-toggle.slds.css +16 -14
- package/src/lightning/primitiveInputToggle/primitiveInputToggle.html +1 -1
- package/src/lightning/progressBar/progress-bar.slds.css +1 -1
- package/src/lightning/progressIndicator/path.html +8 -2
- package/src/lightning/progressIndicator/progressIndicator.js +26 -2
- package/src/lightning/progressRing/progress-ring.slds.css +1 -1
- package/src/lightning/progressStep/progressStep.js +2 -1
- package/src/lightning/prompt/prompt.js +11 -9
- package/src/lightning/radioGroup/form-element.slds.css +5 -1
- package/src/lightning/radioGroup/input-radio-group.slds.css +4 -10
- package/src/lightning/select/form-element.slds.css +5 -1
- package/src/lightning/select/select.js +89 -7
- package/src/lightning/tabBar/tab-bar.slds.css +11 -0
- package/src/lightning/tabset/tabset.slds.css +1 -1
- package/src/lightning/textarea/__examples__/various/various.html +18 -1
- package/src/lightning/textarea/form-element.slds.css +5 -1
- package/src/lightning/textarea/textarea.html +1 -0
- package/src/lightning/textarea/textarea.js +25 -0
- package/src/lightning/textarea/textarea.slds.css +2 -2
- package/src/lightning/timepicker/form-element.slds.css +5 -1
- package/src/lightning/timepicker/timepicker.html +4 -1
- package/src/lightning/timepicker/timepicker.js +3 -0
- package/src/lightning/toast/button-icon.slds.css +41 -25
- package/src/lightning/tooltipLibrary/tooltipLibrary.js +4 -15
- package/src/lightning/verticalNavigationItem/vertical-navigation-item.slds.css +1 -1
- package/src/lightning/verticalNavigationItemBadge/badge.slds.css +1 -1
- package/src/lightning/verticalNavigationItemBadge/vertical-navigation-item.slds.css +1 -1
- package/src/lightning/verticalNavigationItemIcon/vertical-navigation-item.slds.css +1 -1
- package/src/lightning/verticalNavigationOverflow/button.slds.css +16 -15
- package/src/lightning/verticalNavigationOverflow/vertical-navigation-item.slds.css +1 -1
- package/scopedImports/@salesforce-label-LightningLookup.messageWhenSearchTermTooShort.js +0 -1
- package/src/lightning/datatable/columns-shared.js +0 -12
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<lightning-button-icon
|
|
3
|
+
icon-name="utility:price_book_entries"
|
|
4
|
+
class="slds-m-horizontal_small price-selector-icon"
|
|
5
|
+
variant="bare" size="medium" alternative-text="Pricing Options"
|
|
6
|
+
onclick={openPopup}
|
|
7
|
+
data-navigation="enable"
|
|
8
|
+
tabindex={internalTabIndex}
|
|
9
|
+
></lightning-button-icon>
|
|
10
|
+
|
|
11
|
+
<!-- Since the only element that will appear on focus or blur of the custom cell is the button icon -->
|
|
12
|
+
<!-- We do not need to pass data-navigation here or tabindex since the popup will not exist on focus or blur -->
|
|
13
|
+
<!-- Which is where focus handling is handled by the datatable -->
|
|
14
|
+
<lightning-popup aria-describedby="popup-body" onkeydown={handleKeyDown}>
|
|
15
|
+
<div class="slds-popover slds-is-absolute slds-m-top_medium">
|
|
16
|
+
<header class="slds-popover__header price-selector-header slds-p-around_small">
|
|
17
|
+
<h2 class="slds-text-title_bold">Header</h2>
|
|
18
|
+
</header>
|
|
19
|
+
<div id="popup-body" class="slds-popover__body">
|
|
20
|
+
<div class="price-selector slds-p-horizontal_small">
|
|
21
|
+
<lightning-radio-group options={priceOptions1}
|
|
22
|
+
type="radio">
|
|
23
|
+
</lightning-radio-group>
|
|
24
|
+
</div>
|
|
25
|
+
<div class="price-selector-button slds-p-top_medium slds-p-bottom_xx-small">
|
|
26
|
+
<lightning-button variant="brand" label={buttonLabel1} title={buttonLabel1} class="slds-m-left_x-small" onclick={closePopup}></lightning-button>
|
|
27
|
+
</div>
|
|
28
|
+
</div>
|
|
29
|
+
</div>
|
|
30
|
+
</lightning-popup>
|
|
31
|
+
</template>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { LightningElement, api } from 'lwc';
|
|
2
|
+
|
|
3
|
+
export default class CustomComponent extends LightningElement {
|
|
4
|
+
// Passing internal tab index down from parent.
|
|
5
|
+
@api internalTabIndex;
|
|
6
|
+
buttonLabel1 = 'XYZ';
|
|
7
|
+
priceOptions;
|
|
8
|
+
priceOptions1 = [
|
|
9
|
+
{ label: 'Sales', value: 'option1' },
|
|
10
|
+
{ label: 'Force', value: 'option2' },
|
|
11
|
+
];
|
|
12
|
+
// When inside the popup we want to ensure that the keypresses do no bubble up to the table
|
|
13
|
+
handleKeyDown(event) {
|
|
14
|
+
event.stopPropagation();
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
openPopup() {
|
|
18
|
+
const referenceElement = this.template.querySelector(
|
|
19
|
+
'lightning-button-icon'
|
|
20
|
+
);
|
|
21
|
+
// Show the popup relative to the button, and left-align
|
|
22
|
+
// the top of the popup with the bottom of the button
|
|
23
|
+
this.popup.show(referenceElement, {
|
|
24
|
+
reference: { horizontal: 'left', vertical: 'bottom' },
|
|
25
|
+
popup: { horizontal: 'left', vertical: 'top' },
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
closePopup() {
|
|
30
|
+
this.popup.close();
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
get popup() {
|
|
34
|
+
return this.template.querySelector('lightning-popup');
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -53,7 +53,6 @@ export function updateColumnWidths(columns, widthsData, adjustedWidths) {
|
|
|
53
53
|
*/
|
|
54
54
|
export class ColumnWidthManager {
|
|
55
55
|
columnWidthMode = FIXED_WIDTH_MODE;
|
|
56
|
-
resizeObserverAvailable = typeof ResizeObserver === 'function';
|
|
57
56
|
|
|
58
57
|
// Flag to indicate resetting column widths is needed.
|
|
59
58
|
// Could be with or without `autoResizingUpdate`.
|
|
@@ -212,17 +211,11 @@ export class ColumnWidthManager {
|
|
|
212
211
|
* @param {Object} newData The new data
|
|
213
212
|
* @param {Array} columns The column definitions
|
|
214
213
|
*/
|
|
215
|
-
handleDataChange(
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
if (this.columnWidthMode === AUTO_WIDTH_MODE) {
|
|
221
|
-
if (this.hasDataChanged(previousData, newData)) {
|
|
222
|
-
this.isResizingUpdateQueued = true;
|
|
223
|
-
this.setAutoResizingUpdate(columns);
|
|
224
|
-
}
|
|
225
|
-
}
|
|
214
|
+
handleDataChange(columns) {
|
|
215
|
+
// Resize columns with auto-resizing update only if the mode is auto
|
|
216
|
+
if (this.columnWidthMode === AUTO_WIDTH_MODE) {
|
|
217
|
+
this.isResizingUpdateQueued = true;
|
|
218
|
+
this.setAutoResizingUpdate(columns);
|
|
226
219
|
}
|
|
227
220
|
}
|
|
228
221
|
|
|
@@ -268,7 +261,6 @@ export class ColumnWidthManager {
|
|
|
268
261
|
// When columns are resized with the resizer, a horizontal scroller appears.
|
|
269
262
|
// Adjusting the columns size will respect widths already set and try to fit this column.
|
|
270
263
|
this.isResizingUpdateQueued = true;
|
|
271
|
-
this.setAutoResizingUpdate(columns);
|
|
272
264
|
}
|
|
273
265
|
}
|
|
274
266
|
}
|
|
@@ -287,6 +279,19 @@ export class ColumnWidthManager {
|
|
|
287
279
|
}
|
|
288
280
|
}
|
|
289
281
|
|
|
282
|
+
/**
|
|
283
|
+
* React to change in show-actions-menu
|
|
284
|
+
*
|
|
285
|
+
* @param {Any} previousValue The previous column value
|
|
286
|
+
* @param {Any} newValue The new column value
|
|
287
|
+
* @param {Array} columns The column definitions
|
|
288
|
+
*/
|
|
289
|
+
handleActionsColumnChange(previousValue, newValue, columns) {
|
|
290
|
+
if (columns.length > 0 && previousValue !== newValue) {
|
|
291
|
+
this.isResizingUpdateQueued = true;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
|
|
290
295
|
/**
|
|
291
296
|
* React to change in show-row-number-column
|
|
292
297
|
*
|
|
@@ -348,9 +353,7 @@ export class ColumnWidthManager {
|
|
|
348
353
|
if (widthsData.columnWidths.length > 0) {
|
|
349
354
|
// Can resize from DOM when table is visible.
|
|
350
355
|
// Otherwise, only when `ResizeObserver` is available in browser.
|
|
351
|
-
return (
|
|
352
|
-
this.resizeObserverAvailable || isTableRenderedVisible(template)
|
|
353
|
-
);
|
|
356
|
+
return isTableRenderedVisible(template);
|
|
354
357
|
}
|
|
355
358
|
return true;
|
|
356
359
|
}
|
|
@@ -2,8 +2,12 @@ import labelRowNumber from '@salesforce/label/LightningDatatable.rowNumber';
|
|
|
2
2
|
import rowActionsDefaultAriaLabel from '@salesforce/label/LightningDatatable.rowActionsDefaultAriaLabel';
|
|
3
3
|
import { normalizeBoolean } from 'lightning/utilsPrivate';
|
|
4
4
|
import { isObjectLike } from './utils';
|
|
5
|
+
import { addHeaderIndex, getCellByKeys, HEADER_ROW_KEY } from './indexes';
|
|
5
6
|
import { ROW_NUMBER_INITIAL_WIDTH } from './rowNumber';
|
|
6
|
-
import {
|
|
7
|
+
import {
|
|
8
|
+
SELECTABLE_HEADER_TYPE,
|
|
9
|
+
SORTING_MENU_HEADER_TYPE,
|
|
10
|
+
} from './rowSelectionShared';
|
|
7
11
|
|
|
8
12
|
const i18n = {
|
|
9
13
|
rowActionsDefaultAriaLabel,
|
|
@@ -29,6 +33,14 @@ const SELECTABLE_COLUMN = {
|
|
|
29
33
|
tabIndex: -1,
|
|
30
34
|
};
|
|
31
35
|
|
|
36
|
+
const SORTING_MENU_COLUMN = {
|
|
37
|
+
type: SORTING_MENU_HEADER_TYPE,
|
|
38
|
+
fixedWidth: 32,
|
|
39
|
+
internal: true,
|
|
40
|
+
tabIndex: -1,
|
|
41
|
+
resizable: false,
|
|
42
|
+
};
|
|
43
|
+
|
|
32
44
|
/**
|
|
33
45
|
* Steps through and corrects column definitions inconsistencies.
|
|
34
46
|
*
|
|
@@ -43,15 +55,33 @@ const SELECTABLE_COLUMN = {
|
|
|
43
55
|
* @param {Array} rawColumns - The user provided column definitions to normalize
|
|
44
56
|
* @param {Object} types - The type handling factory
|
|
45
57
|
*/
|
|
46
|
-
export function
|
|
58
|
+
export function setColumns(state, rawColumns, types) {
|
|
59
|
+
// Untracked state changes.
|
|
60
|
+
state.hadTreeDataTypePreviously = state.treeColumn !== undefined;
|
|
61
|
+
state.treeColumn = undefined;
|
|
62
|
+
|
|
63
|
+
// Remove old header indexes.
|
|
64
|
+
let { headerIndexes } = state;
|
|
65
|
+
const { indexes } = state;
|
|
66
|
+
// Don't clear all indexes just remove old header indexes from the shared indexes object.
|
|
67
|
+
for (let i = 0, { length } = headerIndexes; i < length; i += 1) {
|
|
68
|
+
// Setting to `undefined` instead of using `delete` for better performance.
|
|
69
|
+
indexes[headerIndexes[i].cellKeyValue] = undefined;
|
|
70
|
+
}
|
|
71
|
+
|
|
47
72
|
const { length: colCount } = rawColumns;
|
|
48
73
|
if (colCount === 0) {
|
|
49
74
|
// Tracked state change.
|
|
50
75
|
state.columns = [];
|
|
76
|
+
// Untracked state changes.
|
|
77
|
+
state.headerIndexes = [];
|
|
51
78
|
return;
|
|
52
79
|
}
|
|
80
|
+
|
|
81
|
+
// var to track the column where the last action column is present
|
|
82
|
+
let lastActionColumnIndex = -1;
|
|
53
83
|
let normColCount = colCount;
|
|
54
|
-
let { showRowNumberColumn } = state;
|
|
84
|
+
let { showRowNumberColumn, showActionsMenu } = state;
|
|
55
85
|
const notHideCheckboxColumn = !state.hideCheckboxColumn;
|
|
56
86
|
|
|
57
87
|
if (!showRowNumberColumn) {
|
|
@@ -70,10 +100,33 @@ export function normalizeColumns(state, rawColumns, types) {
|
|
|
70
100
|
if (notHideCheckboxColumn) {
|
|
71
101
|
normColCount += 1;
|
|
72
102
|
}
|
|
73
|
-
const normalizedColumns = Array(normColCount);
|
|
74
103
|
|
|
104
|
+
// set variable to see if there is an 'action' column present
|
|
105
|
+
rawColumns.forEach((column, index) => {
|
|
106
|
+
if (column.type === 'action') {
|
|
107
|
+
lastActionColumnIndex = index;
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
|
|
111
|
+
const isActionColumnInEnd = lastActionColumnIndex === rawColumns.length - 1;
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* only want to add an extra column for the sorting menu if type='action' column is
|
|
115
|
+
* not in the last column of datatable, if it is, then we can use its column header
|
|
116
|
+
* for the sorting menu
|
|
117
|
+
**/
|
|
118
|
+
if (showActionsMenu && !isActionColumnInEnd) {
|
|
119
|
+
normColCount += 1;
|
|
120
|
+
}
|
|
121
|
+
let normalizedColumns = Array(normColCount);
|
|
122
|
+
|
|
123
|
+
// Store in caches early so data can be referenced by other methods
|
|
124
|
+
// during initialization.
|
|
125
|
+
headerIndexes = Array(normColCount);
|
|
75
126
|
// Tracked state change.
|
|
76
127
|
state.columns = normalizedColumns;
|
|
128
|
+
// Untracked state change.
|
|
129
|
+
state.headerIndexes = headerIndexes;
|
|
77
130
|
|
|
78
131
|
let firstColumnForReaders = 0;
|
|
79
132
|
if (showRowNumberColumn) {
|
|
@@ -90,6 +143,15 @@ export function normalizeColumns(state, rawColumns, types) {
|
|
|
90
143
|
);
|
|
91
144
|
firstColumnForReaders += 1;
|
|
92
145
|
}
|
|
146
|
+
|
|
147
|
+
// if there is no action column existing, assign SORTING_MENU_COLUMN to last column
|
|
148
|
+
if (showActionsMenu && !isActionColumnInEnd) {
|
|
149
|
+
normalizedColumns[normColCount - 1] = Object.assign(
|
|
150
|
+
// Assign to the last column
|
|
151
|
+
{},
|
|
152
|
+
SORTING_MENU_COLUMN
|
|
153
|
+
);
|
|
154
|
+
}
|
|
93
155
|
for (let colIndex = 0; colIndex < colCount; colIndex += 1) {
|
|
94
156
|
normalizedColumns[colIndex + firstColumnForReaders] =
|
|
95
157
|
rawColumns[colIndex];
|
|
@@ -176,13 +238,24 @@ export function normalizeColumns(state, rawColumns, types) {
|
|
|
176
238
|
}
|
|
177
239
|
|
|
178
240
|
// Generate colKeyValue after normalizing customer column.
|
|
179
|
-
|
|
180
|
-
|
|
241
|
+
const colKeyValue =
|
|
242
|
+
normCol.colKeyValue ||
|
|
243
|
+
`${colName || colIndex}-${columnType}-${colIndex}`;
|
|
244
|
+
|
|
245
|
+
normCol.colKeyValue = colKeyValue;
|
|
181
246
|
normCol.isLastCol = colIndex === normColCount - 1;
|
|
247
|
+
normCol.isScopeCol = colIndex === firstColumnForReaders;
|
|
248
|
+
normCol.name = colName;
|
|
182
249
|
normCol.tabIndex = -1;
|
|
183
250
|
|
|
251
|
+
addHeaderIndex(headerIndexes, indexes, colKeyValue, colIndex);
|
|
252
|
+
|
|
184
253
|
// normalize tree column
|
|
185
254
|
if (normCol.type === 'tree') {
|
|
255
|
+
if (state.treeColumn === undefined) {
|
|
256
|
+
// Untracked state changes
|
|
257
|
+
state.treeColumn = normCol;
|
|
258
|
+
}
|
|
186
259
|
// normalized subType attributes
|
|
187
260
|
const { typeAttributes } = normCol;
|
|
188
261
|
const typeAttributesOverrides = {};
|
|
@@ -201,15 +274,14 @@ export function normalizeColumns(state, rawColumns, types) {
|
|
|
201
274
|
|
|
202
275
|
// partially inline updateHeaderInternalActions from datatable/headerActions
|
|
203
276
|
const { actions } = normCol;
|
|
204
|
-
const isLastColumn = colIndex === normColCount - 1;
|
|
205
277
|
normCol.actions = {
|
|
206
278
|
menuAlignment:
|
|
207
|
-
|
|
279
|
+
normCol.isLastCol ||
|
|
208
280
|
normalizedColumns[colIndex + 1].type === 'action'
|
|
209
281
|
? 'auto-right'
|
|
210
282
|
: 'auto-left',
|
|
211
283
|
customerActions: Array.isArray(actions) ? actions : [],
|
|
212
|
-
internalActions:
|
|
284
|
+
internalActions: [],
|
|
213
285
|
};
|
|
214
286
|
}
|
|
215
287
|
}
|
|
@@ -247,19 +319,6 @@ export function getCellAttributesValues(column) {
|
|
|
247
319
|
return isObjectLike(cellAttributes) ? cellAttributes : {};
|
|
248
320
|
}
|
|
249
321
|
|
|
250
|
-
/**
|
|
251
|
-
* Generates a unique column key value.
|
|
252
|
-
*
|
|
253
|
-
* @param {Object} columnMetadata The object for an specific column metadata
|
|
254
|
-
* @param {Integer} index Optionally, the index of the column.
|
|
255
|
-
* @returns {String} It generates the column key value based on the column field name and type.
|
|
256
|
-
*/
|
|
257
|
-
export function generateColKeyValue(columnMetadata, index) {
|
|
258
|
-
const { columnKey, fieldName, type } = columnMetadata;
|
|
259
|
-
const prefix = columnKey || fieldName || index;
|
|
260
|
-
return `${prefix}-${type}-${index}`;
|
|
261
|
-
}
|
|
262
|
-
|
|
263
322
|
/**
|
|
264
323
|
* Return the index in dt.columns (user definition) related to colKeyValue.
|
|
265
324
|
* -1 if no column with that key exist or if its internal.
|
|
@@ -270,8 +329,13 @@ export function generateColKeyValue(columnMetadata, index) {
|
|
|
270
329
|
*/
|
|
271
330
|
export function getUserColumnIndex(state, colKeyValue) {
|
|
272
331
|
const { columns } = state;
|
|
273
|
-
const
|
|
274
|
-
|
|
332
|
+
const headerCell = getCellByKeys(state, HEADER_ROW_KEY, colKeyValue);
|
|
333
|
+
const colIndex = headerCell && headerCell.colIndex;
|
|
334
|
+
if (
|
|
335
|
+
colIndex === undefined ||
|
|
336
|
+
colIndex === -1 ||
|
|
337
|
+
columns[colIndex].internal
|
|
338
|
+
) {
|
|
275
339
|
return -1;
|
|
276
340
|
}
|
|
277
341
|
let internalColumns = 0;
|
|
@@ -284,23 +348,6 @@ export function getUserColumnIndex(state, colKeyValue) {
|
|
|
284
348
|
return colIndex - internalColumns;
|
|
285
349
|
}
|
|
286
350
|
|
|
287
|
-
/**
|
|
288
|
-
* It generate headerIndexes based in the current metadata
|
|
289
|
-
* headerIndexes represent the position of the header(column)
|
|
290
|
-
* based on the unique colKeyValue
|
|
291
|
-
*
|
|
292
|
-
* These indexes are set in the state object - `state.headerIndexes`
|
|
293
|
-
*
|
|
294
|
-
* @param {Object} columns The current normalized column metadata
|
|
295
|
-
* @returns {Object} headerIndexes e.g. { 'name-text': 0, 'amount-number': 1 }
|
|
296
|
-
*/
|
|
297
|
-
export const generateHeaderIndexes = function (columns) {
|
|
298
|
-
return columns.reduce((prev, col, index) => {
|
|
299
|
-
prev[generateColKeyValue(col, index)] = index;
|
|
300
|
-
return prev;
|
|
301
|
-
}, {});
|
|
302
|
-
};
|
|
303
|
-
|
|
304
351
|
/**
|
|
305
352
|
* Return the index in state.columns (internal definition) related to colKeyValue.
|
|
306
353
|
*
|
|
@@ -309,5 +356,6 @@ export const generateHeaderIndexes = function (columns) {
|
|
|
309
356
|
* @returns {Number} The index in state.columns
|
|
310
357
|
*/
|
|
311
358
|
export function getStateColumnIndex(state, colKeyValue) {
|
|
312
|
-
|
|
359
|
+
const headerCell = getCellByKeys(state, HEADER_ROW_KEY, colKeyValue);
|
|
360
|
+
return headerCell === undefined ? -1 : headerCell.colIndex;
|
|
313
361
|
}
|