Remove TbInject decorator.
This commit is contained in:
		
							parent
							
								
									cac6233e52
								
							
						
					
					
						commit
						d91ebeb1e9
					
				@ -42,8 +42,9 @@ const resolveJQueryPlugin: Plugin = {
 | 
			
		||||
  name: 'tb-resolve-jquery-plugin',
 | 
			
		||||
  setup(build: PluginBuild) {
 | 
			
		||||
    if (isProduction()) {
 | 
			
		||||
      build.onResolve({filter: /^(jquery|\$)$/}, (args) => {
 | 
			
		||||
        return {path: require.resolve('jquery')};
 | 
			
		||||
      const jQueryPath = require.resolve('jquery');
 | 
			
		||||
      build.onResolve({filter: /^(jquery|\$)$/}, () => {
 | 
			
		||||
        return {path: jQueryPath};
 | 
			
		||||
      })
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
@ -63,7 +64,7 @@ const compressorPlugin: Plugin = {
 | 
			
		||||
        if (!compressFileTypes.some((ext) => ext === path.extname(file.path))) continue;
 | 
			
		||||
        if (file.contents.byteLength <= compressThreshold) continue;
 | 
			
		||||
        const compressedContent = await gzipContent(file.contents);
 | 
			
		||||
        const compressedFilePath = `${file.path}${outputExt}`; //path.join(outputDir, `${path.basename(file.path)}${outputExt}`);
 | 
			
		||||
        const compressedFilePath = `${file.path}${outputExt}`;
 | 
			
		||||
        gzippedFiles.push(
 | 
			
		||||
          {
 | 
			
		||||
            path: compressedFilePath,
 | 
			
		||||
 | 
			
		||||
@ -3,9 +3,9 @@
 | 
			
		||||
  "version": "3.9.0",
 | 
			
		||||
  "scripts": {
 | 
			
		||||
    "ng": "ng",
 | 
			
		||||
    "start": "ng serve --configuration development --host 0.0.0.0 --open",
 | 
			
		||||
    "start": "node --max_old_space_size=8048 ./node_modules/@angular/cli/bin/ng serve --configuration development --host 0.0.0.0 --open",
 | 
			
		||||
    "build": "ng build",
 | 
			
		||||
    "build:prod": "ng build --configuration production",
 | 
			
		||||
    "build:prod": "node --max_old_space_size=4096 ./node_modules/@angular/cli/bin/ng build --configuration production",
 | 
			
		||||
    "build:types": "node generate-types.js",
 | 
			
		||||
    "build:icon-metadata": "node generate-icon-metadata.js",
 | 
			
		||||
    "lint": "ng lint",
 | 
			
		||||
 | 
			
		||||
@ -100,7 +100,6 @@ import * as TruncateWithTooltipDirective from '@shared/directives/truncate-with-
 | 
			
		||||
 | 
			
		||||
import * as coercion from '@shared/decorators/coercion';
 | 
			
		||||
import * as enumerable from '@shared/decorators/enumerable';
 | 
			
		||||
import * as TbInject from '@shared/decorators/tb-inject';
 | 
			
		||||
 | 
			
		||||
import * as FooterComponent from '@shared/components/footer.component';
 | 
			
		||||
import * as LogoComponent from '@shared/components/logo.component';
 | 
			
		||||
@ -432,7 +431,6 @@ class ModulesMap implements IModulesMap {
 | 
			
		||||
 | 
			
		||||
    '@shared/decorators/coercion': coercion,
 | 
			
		||||
    '@shared/decorators/enumerable': enumerable,
 | 
			
		||||
    '@shared/decorators/tb-inject': TbInject,
 | 
			
		||||
 | 
			
		||||
    '@shared/import-export/import-export.service': ImportExportService,
 | 
			
		||||
    '@shared/import-export/import-dialog.component': ImportDialogComponent,
 | 
			
		||||
 | 
			
		||||
@ -16,13 +16,10 @@
 | 
			
		||||
 | 
			
		||||
import { MatDialogRef } from '@angular/material/dialog';
 | 
			
		||||
import { Directive, inject, InjectionToken } from '@angular/core';
 | 
			
		||||
import { Store } from '@ngrx/store';
 | 
			
		||||
import { AppState } from '@core/core.state';
 | 
			
		||||
import { Router } from '@angular/router';
 | 
			
		||||
import { PageComponent } from '@shared/components/page.component';
 | 
			
		||||
import { CustomDialogContainerComponent } from './custom-dialog-container.component';
 | 
			
		||||
import { UntypedFormBuilder, Validators } from '@angular/forms';
 | 
			
		||||
import { TbInject } from '@shared/decorators/tb-inject';
 | 
			
		||||
 | 
			
		||||
export const CUSTOM_DIALOG_DATA = new InjectionToken<CustomDialogData>('ConfigDialogData');
 | 
			
		||||
 | 
			
		||||
@ -42,8 +39,8 @@ export class CustomDialogComponent extends PageComponent {
 | 
			
		||||
  public data = inject(CUSTOM_DIALOG_DATA);
 | 
			
		||||
  public fb = inject(UntypedFormBuilder);
 | 
			
		||||
 | 
			
		||||
  constructor(@TbInject(Store) protected store: Store<AppState>) {
 | 
			
		||||
    super(store);
 | 
			
		||||
  constructor() {
 | 
			
		||||
    super();
 | 
			
		||||
    // @ts-ignore
 | 
			
		||||
    this.validators = Validators;
 | 
			
		||||
    this.data.controller(this);
 | 
			
		||||
 | 
			
		||||
@ -16,8 +16,6 @@
 | 
			
		||||
 | 
			
		||||
import { PageComponent } from '@shared/components/page.component';
 | 
			
		||||
import { Directive, inject, Injector, OnDestroy, OnInit } from '@angular/core';
 | 
			
		||||
import { Store } from '@ngrx/store';
 | 
			
		||||
import { AppState } from '@core/core.state';
 | 
			
		||||
import {
 | 
			
		||||
  IDynamicWidgetComponent,
 | 
			
		||||
  widgetContextToken,
 | 
			
		||||
@ -50,7 +48,6 @@ import { DatePipe } from '@angular/common';
 | 
			
		||||
import { TranslateService } from '@ngx-translate/core';
 | 
			
		||||
import { DomSanitizer } from '@angular/platform-browser';
 | 
			
		||||
import { Router } from '@angular/router';
 | 
			
		||||
import { TbInject } from '@shared/decorators/tb-inject';
 | 
			
		||||
import { MillisecondsToTimeStringPipe } from '@shared/pipe/milliseconds-to-time-string.pipe';
 | 
			
		||||
import { UserSettingsService } from '@core/http/user-settings.service';
 | 
			
		||||
import { ImagePipe } from '@shared/pipe/image.pipe';
 | 
			
		||||
@ -76,8 +73,8 @@ export class DynamicWidgetComponent extends PageComponent implements IDynamicWid
 | 
			
		||||
  public readonly errorMessages = inject(widgetErrorMessagesToken);
 | 
			
		||||
  public readonly widgetTitlePanel = inject(widgetTitlePanelToken);
 | 
			
		||||
 | 
			
		||||
  constructor(@TbInject(Store) protected store: Store<AppState>) {
 | 
			
		||||
    super(store);
 | 
			
		||||
  constructor() {
 | 
			
		||||
    super();
 | 
			
		||||
    this.ctx.$injector = this.$injector;
 | 
			
		||||
    this.ctx.deviceService = this.$injector.get(DeviceService);
 | 
			
		||||
    this.ctx.assetService = this.$injector.get(AssetService);
 | 
			
		||||
 | 
			
		||||
@ -14,7 +14,7 @@
 | 
			
		||||
/// limitations under the License.
 | 
			
		||||
///
 | 
			
		||||
 | 
			
		||||
import { Directive, OnDestroy } from '@angular/core';
 | 
			
		||||
import { Directive, inject, OnDestroy } from '@angular/core';
 | 
			
		||||
import { select, Store } from '@ngrx/store';
 | 
			
		||||
import { AppState } from '@core/core.state';
 | 
			
		||||
import { Observable, Subscription } from 'rxjs';
 | 
			
		||||
@ -25,13 +25,15 @@ import { AbstractControl } from '@angular/forms';
 | 
			
		||||
@Directive()
 | 
			
		||||
export abstract class PageComponent implements OnDestroy {
 | 
			
		||||
 | 
			
		||||
  protected store: Store<AppState> = inject(Store<AppState>);
 | 
			
		||||
 | 
			
		||||
  isLoading$: Observable<boolean>;
 | 
			
		||||
  loadingSubscription: Subscription;
 | 
			
		||||
  disabledOnLoadFormControls: Array<AbstractControl> = [];
 | 
			
		||||
 | 
			
		||||
  showMainLoadingBar = true;
 | 
			
		||||
 | 
			
		||||
  protected constructor(protected store: Store<AppState>) {
 | 
			
		||||
  protected constructor(...args: unknown[]) {
 | 
			
		||||
    this.isLoading$ = this.store.pipe(delay(0), select(selectIsLoading), share());
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -16,4 +16,3 @@
 | 
			
		||||
 | 
			
		||||
export * from './coercion';
 | 
			
		||||
export * from './enumerable';
 | 
			
		||||
export * from './tb-inject';
 | 
			
		||||
 | 
			
		||||
@ -1,23 +0,0 @@
 | 
			
		||||
///
 | 
			
		||||
/// Copyright © 2016-2024 The Thingsboard Authors
 | 
			
		||||
///
 | 
			
		||||
/// 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 { Inject, Type } from '@angular/core';
 | 
			
		||||
 | 
			
		||||
export function TbInject<T>(token: any): (target: Type<T>, key: any, paramIndex: number) => void {
 | 
			
		||||
  return (target: Type<T>, key: any, paramIndex: number) => {
 | 
			
		||||
    Inject(token)(target, key, paramIndex);
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user