Move search-input-text from content-services to core (#8239)

* Move search-input-text from content-services to core

* Move SearchConfigurationInterface into the content-services since is content related

* Rename search-configuration.interface file to search-component.interface

* Update import SearchConfigurationInterface from content-services

* Decouple SearchComponentInterface from js-api

* Decaplre NodeEntry instead using type any

* Remove comment

* Update component import to fix unit test

* Import SearchTextModule into core
This commit is contained in:
Amedeo Lepore 2023-02-06 18:40:28 +01:00 committed by GitHub
parent c12b4284ef
commit 4c7e500ea8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
28 changed files with 73 additions and 36 deletions

View File

@ -113,7 +113,7 @@ for more information about installing and using the source code.
| The main purpose of the Notification history component is list all the notification received in the current session. They will disappear from the list after the refresh. | [Source](../lib/core/src/lib/notifications/components/notification-history.component.ts) | |
| [Pagination Component](core/components/pagination.component.md) | Adds pagination to the component it is used with. | [Source](../lib/core/src/lib/pagination/pagination.component.ts) |
| [Rich Text Editor component](core/components/rich-text-editor.md) | Wrap Editor.js element to show a Rich Text editor allows to add formatted text. | [Source](../lib/core/src/lib/rich-text-editor/rich-text-editor.component.ts) |
| [Search Text Input Component](core/components/search-text-input.component.md) | Displays a input text that supports autocompletion | [Source](lib/content-services/src/lib/search-text/search-text-input.component.ts) |
| [Search Text Input Component](core/components/search-text-input.component.md) | Displays a input text that supports autocompletion | [Source](../lib/core/src/lib/search-text/search-text-input.component.ts) |
| [Sidebar action menu component](core/components/sidebar-action-menu.component.md) | Displays a sidebar-action menu information panel. | [Source](../lib/core/src/lib/layout/components/sidebar-action/sidebar-action-menu.component.ts) |
| [Sidenav Layout component](core/components/sidenav-layout.component.md) | Displays the standard three-region ADF application layout. | [Source](../lib/core/src/lib/layout/components/sidenav-layout/sidenav-layout.component.ts) |
| [Snackbar Content Component](core/components/snackbar-content.component.md) | Custom content for Snackbar which allows use icon as action. | [Source](../lib/core/src/lib/snackbar-content/snackbar-content.component.ts) |

View File

@ -5,7 +5,7 @@ Status: Active
Last reviewed: 2019-11-06
---
# [Search Text Input Component](lib/content-services/src/lib/search-text/search-text-input.component.ts "Defined in search-text-input.component.ts")
- # [Search Text Input Component](../../../lib/core/src/lib/search-text/search-text-input.component.ts "Defined in search-text-input.component.ts")
Displays a input text that supports autocompletion

View File

@ -4,7 +4,7 @@ Added: v2.1.0
Status: Active
---
# [Search Configuration interface](lib/content-services/src/lib/common/interface/search-configuration.interface.ts "Defined in search-configuration.interface.ts")
# [Search Configuration interface](../../../lib/core/src/lib/common/interface/search-configuration.interface.ts "Defined in search-configuration.interface.ts")
Provides fine control of parameters to a search.

View File

@ -133,7 +133,6 @@ v6.0.0 and after:
| `SharedLinksApiService` | `@alfresco/adf-core` | `@alfresco/adf-process-services` |
| `LockService` | `@alfresco/adf-core` | `@alfresco/adf-process-services` |
| `FavoritesApiService` | `@alfresco/adf-core` | `@alfresco/adf-process-services` |
| `SearchConfigurationInterface` | `@alfresco/adf-core` | `@alfresco/adf-content-services` |
### Update Data-table a data change

View File

@ -15,9 +15,7 @@
* limitations under the License.
*/
import { QueryBody, NodePaging } from '@alfresco/js-api';
import { Subject } from 'rxjs';
import { ElementRef } from '@angular/core';
import { QueryBody } from '@alfresco/js-api';
export interface SearchConfigurationInterface {
@ -32,17 +30,3 @@ export interface SearchConfigurationInterface {
generateQueryBody(searchTerm: string, maxResults: number, skipCount: number): QueryBody;
}
export interface SearchComponentInterface {
panel: ElementRef;
showPanel: boolean;
results: NodePaging;
isOpen: boolean;
keyPressedStream: Subject<string>;
displayWith: ((value: any) => string) | null;
resetResults(): void;
hidePanel(): void;
setVisibility(): void;
}

View File

@ -18,4 +18,5 @@
export * from './services/favorites-api.service';
export * from './services/card-view-content-update.service';
export * from './services/sites.service';
export * from './interface/search-configuration.interface';
export * from './interfaces/search-configuration.interface';

View File

@ -18,7 +18,7 @@
import { CommonModule } from '@angular/common';
import { NgModule, ModuleWithProviders, APP_INITIALIZER } from '@angular/core';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { CoreModule, TRANSLATION_PROVIDER } from '@alfresco/adf-core';
import { CoreModule, TRANSLATION_PROVIDER, SearchTextModule } from '@alfresco/adf-core';
import { MaterialModule } from './material.module';
@ -47,7 +47,6 @@ import { VersionCompatibilityService } from './version-compatibility/version-com
import { ContentPipeModule } from './pipes/content-pipe.module';
import { NodeCommentsModule } from './node-comments/node-comments.module';
import { TreeModule } from './tree/tree.module';
import { SearchTextModule } from './search-text/search-text-input.module';
import { AlfrescoViewerModule } from './viewer/alfresco-viewer.module';
@NgModule({

View File

@ -16,8 +16,8 @@
*/
import { QueryBody } from '@alfresco/js-api';
import { SearchConfigurationInterface } from '../../../common/interface/search-configuration.interface';
import { Injectable, Optional, Inject, InjectionToken } from '@angular/core';
import { SearchConfigurationInterface } from '../../../common/interfaces/search-configuration.interface';
export const SEARCH_QUERY_TOKEN = new InjectionToken<QueryProvider>('Alfresco Search Query Token');
export interface QueryProvider {

View File

@ -20,6 +20,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import {
AuthenticationService,
SearchTextInputComponent,
setupTestBed,
UserPreferencesService
} from '@alfresco/adf-core';
@ -29,7 +30,6 @@ import { SearchService } from '../services/search.service';
import { of } from 'rxjs';
import { ContentTestingModule } from '../../testing/content.testing.module';
import { TranslateModule } from '@ngx-translate/core';
import { SearchTextInputComponent } from '../../search-text/search-text-input.component';
@Component({
template: `

View File

@ -15,7 +15,7 @@
* limitations under the License.
*/
import { AuthenticationService, ThumbnailService } from '@alfresco/adf-core';
import { AuthenticationService, ThumbnailService, SearchTextInputComponent } from '@alfresco/adf-core';
import { Component, EventEmitter, Input, OnDestroy, Output,
QueryList, ViewEncapsulation, ViewChild, ViewChildren, TemplateRef, ContentChild } from '@angular/core';
import { NodeEntry } from '@alfresco/js-api';
@ -23,7 +23,6 @@ import { Subject } from 'rxjs';
import { SearchComponent } from './search.component';
import { MatListItem } from '@angular/material/list';
import { EmptySearchResultComponent } from './empty-search-result.component';
import { SearchTextInputComponent } from '../../search-text/search-text-input.component';
@Component({
selector: 'adf-search-control',

View File

@ -16,7 +16,6 @@
*/
import { SearchService } from '../services/search.service';
import { SearchComponentInterface } from '../../common/interface/search-configuration.interface';
import {
AfterContentInit,
Component,
@ -34,6 +33,7 @@ import {
import { NodePaging, ResultSetPaging } from '@alfresco/js-api';
import { Subject } from 'rxjs';
import { debounceTime, takeUntil } from 'rxjs/operators';
import { SearchComponentInterface } from '@alfresco/adf-core';
@Component({
selector: 'adf-search',

View File

@ -20,7 +20,7 @@ import { NgModule } from '@angular/core';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { MaterialModule } from '../material.module';
import { CoreModule } from '@alfresco/adf-core';
import { CoreModule, SearchTextModule } from '@alfresco/adf-core';
import { SearchControlComponent } from './components/search-control.component';
import { SearchComponent } from './components/search.component';
@ -47,7 +47,6 @@ import { SearchFacetFieldComponent } from './components/search-facet-field/searc
import { SearchWidgetChipComponent } from './components/search-filter-chips/search-widget-chip/search-widget-chip.component';
import { SearchFacetChipComponent } from './components/search-filter-chips/search-facet-chip/search-facet-chip.component';
import { ResetSearchDirective } from './components/reset-search.directive';
import { SearchTextModule } from '../search-text/search-text-input.module';
@NgModule({
imports: [

View File

@ -17,7 +17,7 @@
import { Injectable } from '@angular/core';
import { QueryBody } from '@alfresco/js-api';
import { SearchConfigurationInterface } from '../../common/interface/search-configuration.interface';
import { SearchConfigurationInterface } from '../../common/interfaces/search-configuration.interface';
@Injectable({
providedIn: 'root'

View File

@ -43,7 +43,6 @@ export * from './lib/pipes/index';
export * from './lib/common/index';
export * from './lib/tree/index';
export * from './lib/category/index';
export * from './lib/search-text/index';
export * from './lib/viewer/index';
export * from './lib/content.module';

View File

@ -28,6 +28,8 @@ export * from './services/sort-by-category.service';
export * from './models/log-levels.model';
export * from './interface/search-component.interface';
export * from './mock/app-config.service.mock';
export * from './utils';

View File

@ -0,0 +1,49 @@
/*!
* @license
* Copyright 2019 Alfresco Software, Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { ElementRef } from '@angular/core';
import { Subject } from 'rxjs';
interface Node {
id: string;
}
interface NodeEntry {
entry: Node;
}
interface NodePagingList {
entries?: NodeEntry[];
}
interface NodePaging {
list?: NodePagingList;
}
export interface SearchComponentInterface {
panel: ElementRef;
showPanel: boolean;
results: NodePaging;
isOpen: boolean;
keyPressedStream: Subject<string>;
displayWith: ((value: any) => string) | null;
resetResults(): void;
hidePanel(): void;
setVisibility(): void;
}

View File

@ -56,6 +56,7 @@ import { TranslateLoaderService } from './translation/translate-loader.service';
import { ExtensionsModule } from '@alfresco/adf-extensions';
import { directionalityConfigFactory } from './common/services/directionality-config-factory';
import { DirectionalityConfigService } from './common/services/directionality-config.service';
import { SearchTextModule } from './search-text/search-text-input.module';
import { AlfrescoJsClientsModule } from '@alfresco/adf-core/api';
import { AuthenticationInterceptor, Authentication } from '@alfresco/adf-core/auth';
import { LegacyApiClientModule } from './api-factories/legacy-api-client.module';
@ -96,6 +97,7 @@ import { MAT_SNACK_BAR_DEFAULT_OPTIONS } from '@angular/material/snack-bar';
IconModule,
SortingPickerModule,
NotificationHistoryModule,
SearchTextModule,
BlankPageModule,
LegacyApiClientModule,
AlfrescoJsClientsModule,
@ -137,6 +139,7 @@ import { MAT_SNACK_BAR_DEFAULT_OPTIONS } from '@angular/material/snack-bar';
SortingPickerModule,
IconModule,
NotificationHistoryModule,
SearchTextModule,
BlankPageModule,
RichTextEditorModule
]

View File

@ -16,12 +16,14 @@
*/
import { ComponentFixture, TestBed, discardPeriodicTasks, fakeAsync, tick } from '@angular/core/testing';
import { CoreTestingModule, UserPreferencesService, setupTestBed } from '@alfresco/adf-core';
import { CoreTestingModule } from '../testing/core.testing.module';
import { SearchTextInputComponent } from './search-text-input.component';
import { DebugElement } from '@angular/core';
import { By } from '@angular/platform-browser';
import { Subject } from 'rxjs';
import { TranslateModule } from '@ngx-translate/core';
import { UserPreferencesService } from '../common/services/user-preferences.service';
import { setupTestBed } from '../testing/setup-test-bed';
describe('SearchTextInputComponent', () => {

View File

@ -20,7 +20,7 @@ import { Subject, Observable, Subscription } from 'rxjs';
import { debounceTime, takeUntil, filter } from 'rxjs/operators';
import { Direction } from '@angular/cdk/bidi';
import { searchAnimation } from './animations';
import { UserPreferencesService } from '@alfresco/adf-core';
import { UserPreferencesService } from '../common/services/user-preferences.service';
import { SearchTextStateEnum, SearchAnimationState, SearchAnimationDirection } from './models/search-text-input.model';
@Component({

View File

@ -33,7 +33,7 @@ import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';
import { DOCUMENT } from '@angular/common';
import { Observable, Subject, Subscription, merge, of, fromEvent } from 'rxjs';
import { filter, switchMap, takeUntil } from 'rxjs/operators';
import { SearchComponentInterface } from '../common/interface/search-configuration.interface';
import { SearchComponentInterface } from '../common/interface/search-component.interface';
export const SEARCH_AUTOCOMPLETE_VALUE_ACCESSOR: any = {
provide: NG_VALUE_ACCESSOR,

View File

@ -43,6 +43,7 @@ export * from './lib/icon/index';
export * from './lib/notifications/index';
export * from './lib/blank-page/index';
export * from './lib/rich-text-editor/index';
export * from './lib/search-text/index';
export * from './lib/snackbar-content/index';
export * from './lib/translation/index';