alfresco-ng2-components/docs/content-services/components/search-date-range-advanced-tabbed.component.md
swapnil.verma 640a736530 [ACS-4985] Resolved e2e test cases
[ACS-4985] Revert test fix for e2e execution. Updated search.config.ts for e2e test cases
Testing global install of webdriver-manager for e2e webdriver fix
[ACS-4985] Resolved e2e test failures
[ACS-4985] Increased value for drag emulation to account for increased width of the side filters panel in demo-shell search results window.
[ACS-4985] Resolved unit test failures
[ACS-4985] Resolved lint issues
[ACS-4985] Moved new components to v6.2.0 in versionIndex.md
[ACS-4985] Added documentation to versionIndex.md and README.md
[ACS-4985] Moved inLast input field back to input type number.
[ACS-4985] Resolved issue where typing a special character after adding some numbers in the 'In the last' input field would clear out the field
[ACS-4985] Updated test cases after query generation changes
[ACS-4985] Added missing null check when generating query
[ACS-4985] Added *ngFor back to the search-date-range-advanced-tabbed.component.html
[ACS-4985] Updated query generation logic. Now both 'In the last' and 'Between' options use the start date to end date query format
[ACS-4985] Removed ANY case from switch (will be handled by default case)
[ACS-4985] Split declarations into multiple lines
[ACS-4985] Fixed code smell in regex
[ACS-4985] Updated dates in documentation
[ACS-4985] Updated documentation
[ACS-4985] Added link for AngularMaterial bug for CSS workaround
[ACS-4985] Added test cases for end date validation. Fixed minor issue when setting invalid date error on between date form fields
[ACS-4985] Added validation when user manually enters the start and end dates
[ACS-4985] Added borders to inputs
[ACS-4985] Updated test cases for SearchDateRangeAdvancedTabbedComponent
[ACS-4985] Transferred business logic from SearchDateRangeAdvancedComponent and SearchFilterTabbedComponent to SearchDateRangeAdvancedTabbedComponent. Updated test cases accordingly
[ACS-4985] Resolved PR review comments
[ACS-4985] Removed unused code from base-query-builder.service.ts
[ACS-4985] Resolved linting and unit test issues
[ACS-4985] Resolved minor issues where switching between tabs could sometime cause the tab content to not show up
[ACS-4985] Resolved minor issues with display label creation
[ACS-4985] Updated component to use MatDateFnsAdapter. BetweenStartDate and BetweenEndDate are now formatted when selected from the calender
[ACS-4985] Resolved issue where clear button would not clear the values properly
[ACS-4985] Added @angular/material-date-fns-adapter package
[ACS-4985] Added image for updated documentation
[ACS-4985] Added validation to SearchDateRangeAdvancedComponent
[ACS-4985] Updated documentation for components
[ACS-4985] Removed disableUpdateOnSubmit flag from search widgets
[ACS-4985] Updated the documentation for the components
[ACS-4985] Added test cases for SearchDateRangeAdvancedTabbedComponent. Moved pending logic from template to typescript
[ACS-4985] Added clear and apply button to SearchDateRangeAdvancedTabbedComponent. Moved logic from template to typescript file
[ACS-4985] Updated test cases for SearchFilterTabbedComponent. Added safety checks to component
[ACS-4985] Added field validation to test case
[ACS-4985] Updated SearchDateRangeAdvancedTabbed component to no longer use getters and setters
[ACS-4985] Updated test cases for SearchDateRangeAdvancedComponent. Minor updates to the component template and logic. Component no longer uses getters and setters in template
[ACS-4985] Updated SearchDateRangeAdvancedTabbed component to use variables instead of getters and setters
[ACS-4985] Updated app.cconfig for demo-shell to use new date-range-advanced configuration
ACS-4985 Fixed issue with nx build, some clean ups, using changes in configuration
[ACS-4985] Updated test cases for changed date format
[ACS-4985] Updated date formats for SearchDateRangeAdvancedComponent
[ACS-4985] Removed fdescribe test cases for SearchDateRangeAdvancedComponent.
[ACS-4985] Fixed test cases for SearchDateRangeAdvancedComponent.
[ACS-4985] Fixed erroneous imports
[ACS-4985] Added license headers and re-ordered imports
[ACS-4985] Updated test cases for SearchDateRangeAdvancedComponent from moment.js to date-fns
[ACS-4985] Migrated SearchDateRangeAdvancedComponent from moment.js to date-fns
Added import for BaseQueryBuilderService in public-api.ts. Fixes #8647
[ACS-4985] Updated imports in test cases
[ACS-4985] Added exports for SearchDateRangeAdvanced and SearchFilterTabbed components to public-api.ts. Updated imports in both components
[ACS-4985] Resolved minor issue where the reset method would still trigger multiple api calls when used with the TabbedComponent
[ACS-4985] Added test cases for SearchDateRangeAdvancedComponent. Minor update to test cases for SearchFilterTabbedComponent
[ACS-4985] Updated Labels for 'In last' date range option
[ACS-4985] Updated SearchModule declarations. Fixed minor typo in SearchFilterTabbedComponent
[ACS-4985] Added test cases for SearchFilterTabbedComponent. Added test case placeholders for SearchDateRangeAdvancedComponent
[ACS-4985] Added data-automation-id to search-date-range-advanced.component.html
[ACS-4985] Added test cases for SearchFilterTabbedComponent
[ACS-4985] Removed vertical mode from SearchFilterTabbedComponent
[ACS-4985] Updated UI for search filters. Minor fixes
[ACS-4985] Added documentation for SearchFilterTabbedComponent and SearchDateRangeAdvancedComponent
[ACS-4985] Added compatibility of all search filters/facets with SearchFilterTabbedComponent
[ACS-4985] Using widget-composite component now correctly updates the search query on submit. Added optional property to disable update on submit button click for widget-composite.
[ACS-4985] Added SearchFilterTabbedComponent and SearchDateRangeAdvancedComponent. Added config for using the new components
2023-07-24 09:28:11 +02:00

114 lines
5.9 KiB
Markdown

---
Title: Search date range advanced tabbed component
Added: v6.2.0
Status: Active
Last reviewed: 2023-07-10
---
# [Search date range advanced tabbed component](../../../lib/content-services/src/lib/search/components/search-date-range-advanced-tabbed/search-date-range-advanced-tabbed.component.ts "Defined in search-date-range-advanced-tabbed.component.ts")
Represents a tabbed advanced date range [search widget](../../../lib/content-services/src/lib/search/models/search-widget.interface.ts) for
the [Search Filter component](search-filter.component.md).
![Date Range Advanced Widget](../../docassets/images/search-date-range-advanced-tabbed.png)
## Basic usage
```json
{
"search": {
"categories": [
{
"id": "createdModifiedDateRange",
"name": "Date",
"enabled": true,
"component": {
"selector": "date-range-advanced",
"settings": {
"dateFormat": "dd-MMM-yy",
"maxDate": "today",
"field": "cm:created, cm:modified",
"displayedLabelsByField": {
"cm:created": "Created Date",
"cm:modified": "Modified Date"
}
}
}
}
]
}
}
```
### Settings
| Name | Type | Description |
|------------------------|---------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| field | string | Fields to apply the query to. Multiple, comma separated fields can be passed, to create multiple tabs per field. Required value |
| dateFormat | string | Date format. Dates used by the datepicker are Javascript Date objects, using [date-fns](https://date-fns.org/v2.30.0/docs/format) for formatting, so you can use any date format supported by the library. Default is 'dd-MMM-yy (sample date - 07-Jun-23) |
| maxDate | string | A fixed date (in format mentioned above, default format: dd-MMM-yy) or the string `"today"` that will set the maximum searchable date. Default is today. |
| displayedLabelsByField | { [key: string]: string } | A javascript object containing the different display labels to be used for each tab name, identified by the field for a particular tab. |
## Details
This component creates a tabbed layout where each tab consists of the [SearchDateRangeAdvanced](./search-date-range-advanced-tabbed.component.md) component, which allows user to create a query containing multiple date related queries in one go.
See the [Search filter component](search-filter.component.md) for full details of how to use widgets in a search query.
### Custom date format
You can set the date range picker to work with any date format your app requires. You can use
any date format supported by the [date-fns](https://date-fns.org/v2.30.0/docs/format) library
in the `dateFormat` and in the `maxDate` setting:
```json
{
"search": {
"categories": [
{
"id": "createdModifiedDateRange",
"name": "Date",
"enabled": true,
"component": {
"selector": "date-range-advanced",
"settings": {
"dateFormat": "dd-MMM-yy",
"maxDate": "02-May-23",
"field": "cm:created, cm:modified",
"displayedLabelsByField": {
"cm:created": "Created Date",
"cm:modified": "Modified Date"
}
}
}
}
]
}
}
```
The [SearchDateRangeAdvanced](./search-date-range-advanced-tabbed.component.md) component allows 3 different kinds of date related operations to be performed.
Based on what information is provided to that component, this component will create different kinds of queries -
- Anytime - No date filters are applied on the `field`. This option is selected by default
- In the last - Allows to user to apply a filter to only show results from the last 'n' unit of time.
- Between - Allows the user to select a range of dates to filter the search results.
The queries generated by this filter when using the 'In the last' or 'Between' options is of the form -
`<field>:[<from_date> TO <to_date>]`
## See also
- [Search Configuration Guide](../../user-guide/search-configuration-guide.md)
- [Search Query Builder service](../services/search-query-builder.service.md)
- [Search Widget Interface](../interfaces/search-widget.interface.md)
- [Search check list component](search-check-list.component.md)
- [Search date range component](search-date-range.component.md)
- [Search number range component](search-number-range.component.md)
- [Search radio component](search-radio.component.md)
- [Search slider component](search-slider.component.md)
- [Search text component](search-text.component.md)
- [Search filter tabbed component](search-filter-tabbed.component.md)