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