mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
chore: remove deprecated Angular api (#9516)
This commit is contained in:
@@ -34,7 +34,6 @@ import { MatTooltipModule } from '@angular/material/tooltip';
|
||||
import { MatDatetimepickerModule, MatNativeDatetimeModule } from '@mat-datetimepicker/core';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
|
||||
import { CardViewContentProxyDirective } from './directives/card-view-content-proxy.directive';
|
||||
import { CardViewComponent } from './components/card-view/card-view.component';
|
||||
import { CardViewBoolItemComponent } from './components/card-view-boolitem/card-view-boolitem.component';
|
||||
import { CardViewDateItemComponent } from './components/card-view-dateitem/card-view-dateitem.component';
|
||||
@@ -77,7 +76,6 @@ import { SelectFilterInputComponent } from './components/card-view-selectitem/se
|
||||
CardViewKeyValuePairsItemComponent,
|
||||
CardViewSelectItemComponent,
|
||||
CardViewItemDispatcherComponent,
|
||||
CardViewContentProxyDirective,
|
||||
CardViewArrayItemComponent,
|
||||
SelectFilterInputComponent
|
||||
],
|
||||
|
@@ -22,7 +22,6 @@ import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { By } from '@angular/platform-browser';
|
||||
import { CardViewItem } from '../../interfaces/card-view-item.interface';
|
||||
import { CardItemTypeService } from '../../services/card-item-types.service';
|
||||
import { CardViewContentProxyDirective } from '../../directives/card-view-content-proxy.directive';
|
||||
import { CardViewItemDispatcherComponent } from './card-view-item-dispatcher.component';
|
||||
|
||||
@Component({
|
||||
@@ -35,7 +34,6 @@ export class CardViewShinyCustomElementItemComponent {
|
||||
}
|
||||
|
||||
describe('CardViewItemDispatcherComponent', () => {
|
||||
|
||||
let fixture: ComponentFixture<CardViewItemDispatcherComponent>;
|
||||
let cardItemTypeService: CardItemTypeService;
|
||||
let component: CardViewItemDispatcherComponent;
|
||||
@@ -45,12 +43,8 @@ describe('CardViewItemDispatcherComponent', () => {
|
||||
cardItemTypeService.setComponentTypeResolver('shiny-custom-element', () => CardViewShinyCustomElementItemComponent);
|
||||
|
||||
TestBed.configureTestingModule({
|
||||
declarations: [
|
||||
CardViewItemDispatcherComponent,
|
||||
CardViewShinyCustomElementItemComponent,
|
||||
CardViewContentProxyDirective
|
||||
],
|
||||
providers: [ { provide: CardItemTypeService, useValue: cardItemTypeService } ]
|
||||
declarations: [CardViewItemDispatcherComponent, CardViewShinyCustomElementItemComponent],
|
||||
providers: [{ provide: CardItemTypeService, useValue: cardItemTypeService }]
|
||||
});
|
||||
|
||||
TestBed.compileComponents();
|
||||
@@ -83,7 +77,6 @@ describe('CardViewItemDispatcherComponent', () => {
|
||||
});
|
||||
|
||||
describe('Sub-component creation', () => {
|
||||
|
||||
it('should load the CardViewShinyCustomElementItemComponent', () => {
|
||||
const innerElement = fixture.debugElement.query(By.css('[data-automation-id="found-me"]'));
|
||||
expect(innerElement).not.toBeNull();
|
||||
@@ -108,7 +101,7 @@ describe('CardViewItemDispatcherComponent', () => {
|
||||
expect(shinyCustomElementItemComponent.displayEmpty).toBe(component.displayEmpty);
|
||||
});
|
||||
|
||||
it('should update the subcomponent\'s input parameters', () => {
|
||||
it('should update the subcomponent input parameters', () => {
|
||||
const expectedEditable = false;
|
||||
const expectedDisplayEmpty = true;
|
||||
const expectedProperty = {};
|
||||
@@ -139,8 +132,7 @@ describe('CardViewItemDispatcherComponent', () => {
|
||||
});
|
||||
|
||||
describe('Angular life-cycle methods', () => {
|
||||
|
||||
let shinyCustomElementItemComponent;
|
||||
let shinyCustomElementItemComponent: any;
|
||||
|
||||
const lifeCycleMethods = [
|
||||
'ngOnChanges',
|
||||
|
@@ -15,22 +15,14 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import {
|
||||
Component,
|
||||
Input,
|
||||
OnChanges,
|
||||
SimpleChange,
|
||||
SimpleChanges,
|
||||
ViewChild
|
||||
} from '@angular/core';
|
||||
import { Component, Input, OnChanges, SimpleChange, SimpleChanges, ViewChild, ViewContainerRef } from '@angular/core';
|
||||
import { CardViewItem } from '../../interfaces/card-view-item.interface';
|
||||
import { CardItemTypeService } from '../../services/card-item-types.service';
|
||||
import { CardViewContentProxyDirective } from '../../directives/card-view-content-proxy.directive';
|
||||
import { DEFAULT_SEPARATOR } from '../card-view-textitem/card-view-textitem.component';
|
||||
|
||||
@Component({
|
||||
selector: 'adf-card-view-item-dispatcher',
|
||||
template: '<ng-template adf-card-view-content-proxy></ng-template>'
|
||||
template: '<ng-template #content></ng-template>'
|
||||
})
|
||||
export class CardViewItemDispatcherComponent implements OnChanges {
|
||||
@Input()
|
||||
@@ -60,15 +52,15 @@ export class CardViewItemDispatcherComponent implements OnChanges {
|
||||
@Input()
|
||||
displayLabelForChips: boolean = false;
|
||||
|
||||
@ViewChild(CardViewContentProxyDirective, { static: true })
|
||||
private content: CardViewContentProxyDirective;
|
||||
|
||||
private loaded: boolean = false;
|
||||
private componentReference: any = null;
|
||||
|
||||
public ngOnInit;
|
||||
public ngDoCheck;
|
||||
|
||||
@ViewChild('content', { read: ViewContainerRef, static: true })
|
||||
content!: ViewContainerRef;
|
||||
|
||||
constructor(private cardItemTypeService: CardItemTypeService) {
|
||||
const dynamicLifeCycleMethods = [
|
||||
'ngOnInit',
|
||||
@@ -91,10 +83,9 @@ export class CardViewItemDispatcherComponent implements OnChanges {
|
||||
this.loaded = true;
|
||||
}
|
||||
|
||||
Object.entries(changes)
|
||||
.forEach(([changeName, change]: [string, SimpleChange]) => {
|
||||
this.componentReference.instance[changeName] = change.currentValue;
|
||||
});
|
||||
Object.entries(changes).forEach(([changeName, change]: [string, SimpleChange]) => {
|
||||
this.componentReference.instance[changeName] = change.currentValue;
|
||||
});
|
||||
|
||||
this.proxy('ngOnChanges', changes);
|
||||
}
|
||||
@@ -102,7 +93,7 @@ export class CardViewItemDispatcherComponent implements OnChanges {
|
||||
private loadComponent() {
|
||||
const factoryClass = this.cardItemTypeService.resolveComponentType(this.property);
|
||||
|
||||
this.componentReference = this.content.viewContainerRef.createComponent(factoryClass);
|
||||
this.componentReference = this.content.createComponent(factoryClass);
|
||||
|
||||
this.componentReference.instance.editable = this.editable;
|
||||
this.componentReference.instance.property = this.property;
|
||||
|
@@ -1,25 +0,0 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
*
|
||||
* 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 { Directive, ViewContainerRef } from '@angular/core';
|
||||
|
||||
@Directive({
|
||||
selector: '[adf-card-view-content-proxy]'
|
||||
})
|
||||
export class CardViewContentProxyDirective {
|
||||
constructor(public viewContainerRef: ViewContainerRef) { }
|
||||
}
|
@@ -32,6 +32,4 @@ export * from './interfaces/card-view.interfaces';
|
||||
export * from './validators/card-view.validators';
|
||||
export * from './models/card-view.models';
|
||||
export * from './services/card-view.services';
|
||||
export * from './directives/card-view-content-proxy.directive';
|
||||
|
||||
export * from './card-view.module';
|
||||
|
@@ -15,7 +15,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { Directive, Input, HostListener, Component, ViewContainerRef, ComponentFactoryResolver, ViewEncapsulation, OnInit } from '@angular/core';
|
||||
import { Directive, Input, HostListener, Component, ViewContainerRef, ViewEncapsulation, OnInit } from '@angular/core';
|
||||
import { ClipboardService } from './clipboard.service';
|
||||
|
||||
@Directive({
|
||||
@@ -36,16 +36,12 @@ export class ClipboardDirective {
|
||||
// eslint-disable-next-line @angular-eslint/no-input-rename
|
||||
@Input('clipboard-notification') message: string;
|
||||
|
||||
constructor(private clipboardService: ClipboardService,
|
||||
public viewContainerRef: ViewContainerRef,
|
||||
private resolver: ComponentFactoryResolver) {}
|
||||
|
||||
constructor(private clipboardService: ClipboardService, public viewContainerRef: ViewContainerRef) {}
|
||||
|
||||
@HostListener('mouseenter')
|
||||
showTooltip() {
|
||||
if (this.placeholder) {
|
||||
const componentFactory = this.resolver.resolveComponentFactory(ClipboardComponent);
|
||||
const componentRef = this.viewContainerRef.createComponent(componentFactory).instance;
|
||||
const componentRef = this.viewContainerRef.createComponent(ClipboardComponent).instance;
|
||||
componentRef.placeholder = this.placeholder;
|
||||
}
|
||||
}
|
||||
@@ -70,14 +66,14 @@ export class ClipboardDirective {
|
||||
}
|
||||
}
|
||||
|
||||
private copyContentToClipboard(content) {
|
||||
private copyContentToClipboard(content: string) {
|
||||
this.clipboardService.copyContentToClipboard(content, this.message);
|
||||
}
|
||||
}
|
||||
|
||||
@Component({
|
||||
selector: 'adf-copy-content-tooltip',
|
||||
template: `<span class='adf-copy-tooltip'>{{ placeholder | translate }} </span>`,
|
||||
template: `<span class="adf-copy-tooltip">{{ placeholder | translate }} </span>`,
|
||||
encapsulation: ViewEncapsulation.None
|
||||
})
|
||||
export class ClipboardComponent implements OnInit {
|
||||
|
@@ -19,10 +19,8 @@ import {
|
||||
Compiler,
|
||||
Component,
|
||||
ComponentFactory,
|
||||
ComponentFactoryResolver,
|
||||
ComponentRef,
|
||||
Input,
|
||||
ModuleWithComponentFactories,
|
||||
NgModule,
|
||||
OnDestroy,
|
||||
OnInit,
|
||||
@@ -70,12 +68,7 @@ export class FormFieldComponent implements OnInit, OnDestroy {
|
||||
|
||||
focus: boolean = false;
|
||||
|
||||
constructor(
|
||||
private formRenderingService: FormRenderingService,
|
||||
private componentFactoryResolver: ComponentFactoryResolver,
|
||||
private visibilityService: WidgetVisibilityService,
|
||||
private compiler: Compiler
|
||||
) {}
|
||||
constructor(private formRenderingService: FormRenderingService, private visibilityService: WidgetVisibilityService, private compiler: Compiler) {}
|
||||
|
||||
ngOnInit() {
|
||||
const w: any = window;
|
||||
@@ -95,8 +88,7 @@ export class FormFieldComponent implements OnInit, OnDestroy {
|
||||
} else {
|
||||
const componentType = this.formRenderingService.resolveComponentType(originalField);
|
||||
if (componentType) {
|
||||
const factory = this.componentFactoryResolver.resolveComponentFactory(componentType);
|
||||
this.componentRef = this.container.createComponent(factory);
|
||||
this.componentRef = this.container.createComponent(componentType);
|
||||
const instance = this.componentRef.instance;
|
||||
instance.field = this.field;
|
||||
instance.fieldChanged.subscribe((field) => {
|
||||
@@ -153,7 +145,7 @@ export class FormFieldComponent implements OnInit, OnDestroy {
|
||||
const decoratedCmp = Component(metadata)(cmpClass);
|
||||
const moduleClass = class RuntimeComponentModule {};
|
||||
const decoratedNgModule = NgModule({ imports: [], declarations: [decoratedCmp] })(moduleClass);
|
||||
const module: ModuleWithComponentFactories<any> = compiler.compileModuleAndAllComponentsSync(decoratedNgModule);
|
||||
const module = compiler.compileModuleAndAllComponentsSync(decoratedNgModule);
|
||||
|
||||
return module.componentFactories.find((x) => x.componentType === decoratedCmp);
|
||||
}
|
||||
|
Reference in New Issue
Block a user