Browse Source

fix: ts-toolbelt build errors for ng-packs

pull/20244/head
sumeyyeKurtulus 2 years ago
parent
commit
f5b030a001
  1. 2
      npm/ng-packs/package.json
  2. 4
      npm/ng-packs/packages/components/extensible/src/lib/components/extensible-form/extensible-form.component.ts
  3. 14
      npm/ng-packs/packages/components/extensible/src/lib/utils/form-props.util.ts
  4. 47
      npm/ng-packs/packages/components/extensible/src/lib/utils/props.util.ts
  5. 2
      npm/ng-packs/packages/components/extensible/src/lib/utils/typeahead.util.ts
  6. 4
      npm/ng-packs/packages/components/tsconfig.json
  7. 9
      npm/ng-packs/packages/core/src/lib/models/environment.ts

2
npm/ng-packs/package.json

@ -124,7 +124,7 @@
"should-quote": "^1.0.0",
"ts-jest": "29.1.0",
"ts-node": "10.9.1",
"ts-toolbelt": "6.15.4",
"ts-toolbelt": "^9.0.0",
"tslib": "^2.0.0",
"tslint": "~6.1.0",
"typescript": "~5.3.0",

4
npm/ng-packs/packages/components/extensible/src/lib/components/extensible-form/extensible-form.component.ts

@ -55,7 +55,7 @@ export class ExtensibleFormComponent<R = any> {
extraPropertiesKey = EXTRA_PROPERTIES_KEY;
groupedPropList!: GroupedFormPropList;
groupedPropListOfArray: FormProp<any>[][];
groupedPropListOfArray!: FormProp<any>[][];
record!: R;
get form(): UntypedFormGroup {
@ -76,7 +76,7 @@ export class ExtensibleFormComponent<R = any> {
}
//TODO: Reactor this method
isAnyGroupMemberVisible(index: number, data) {
isAnyGroupMemberVisible(index: number, data: any) {
const { items } = this.groupedPropList;
const formPropList = items[index].formPropList.toArray();
return formPropList.some(prop => prop.visible(data));

14
npm/ng-packs/packages/components/extensible/src/lib/utils/form-props.util.ts

@ -1,10 +1,10 @@
import { UntypedFormControl, UntypedFormGroup } from '@angular/forms';
import { DateTimeAdapter,DateAdapter,TimeAdapter } from '@abp/ng.theme.shared';
import { DateTimeAdapter, DateAdapter, TimeAdapter } from '@abp/ng.theme.shared';
import { EXTRA_PROPERTIES_KEY } from '../constants/extra-properties';
import { ePropType } from '../enums/props.enum';
import { FormPropList } from "../models/form-props";
import { PropData } from "../models/props";
import { FormPropList } from '../models/form-props';
import { PropData } from '../models/props';
import { ExtensionsService } from '../services/extensions.service';
import { EXTENSIONS_IDENTIFIER } from '../tokens/extensions.token';
@ -16,7 +16,7 @@ export function generateFormFromProps<R = any>(data: PropData<R>) {
const extraForm = new UntypedFormGroup({});
form.addControl(EXTRA_PROPERTIES_KEY, extraForm);
const record = data.record || {};
const record: any = data.record || {};
const type = JSON.stringify(record) === '{}' ? 'create' : 'edit';
const props: FormPropList<R> = extensions[`${type}FormProps`].get(identifier).props;
const extraProperties = record[EXTRA_PROPERTIES_KEY] || {};
@ -24,7 +24,11 @@ export function generateFormFromProps<R = any>(data: PropData<R>) {
props.forEach(({ value: prop }) => {
const name = prop.name;
const isExtraProperty = prop.isExtra || name in extraProperties;
let value = isExtraProperty ? extraProperties[name] : name in record ? record[name] : undefined;
let value = isExtraProperty
? extraProperties[name as string]
: name in record
? record[name]
: undefined;
if (typeof value === 'undefined') value = prop.defaultValue;

47
npm/ng-packs/packages/components/extensible/src/lib/utils/props.util.ts

@ -26,7 +26,7 @@ import {
export function createExtraPropertyValueResolver<T>(
name: string,
): PropCallback<T, Observable<any>> {
return (data?) => of((data.record as { [key: string]: any })[EXTRA_PROPERTIES_KEY][name]);
return (data?) => of((data?.record as { [key: string]: any })[EXTRA_PROPERTIES_KEY][name]);
}
export function mergeWithDefaultProps<F extends PropsFactory<any>>(
@ -47,26 +47,29 @@ export function mergeWithDefaultProps<F extends PropsFactory<any>>(
);
});
}
type InferredPropDefaults<F> = F extends EntityPropsFactory<infer RE>
? EntityPropDefaults<RE>
: F extends CreateFormPropsFactory<infer RCF>
? CreateFormPropDefaults<RCF>
: F extends EditFormPropsFactory<infer REF>
? EditFormPropDefaults<REF>
: never;
type InferredPropDefaults<F> =
F extends EntityPropsFactory<infer RE>
? EntityPropDefaults<RE>
: F extends CreateFormPropsFactory<infer RCF>
? CreateFormPropDefaults<RCF>
: F extends EditFormPropsFactory<infer REF>
? EditFormPropDefaults<REF>
: never;
type InferredPropContributorCallbacks<F> = F extends EntityPropsFactory<infer RE>
? EntityPropContributorCallbacks<RE>
: F extends CreateFormPropsFactory<infer RCF>
? CreateFormPropContributorCallbacks<RCF>
: F extends EditFormPropsFactory<infer REF>
? EditFormPropContributorCallbacks<REF>
: never;
type InferredPropContributorCallbacks<F> =
F extends EntityPropsFactory<infer RE>
? EntityPropContributorCallbacks<RE>
: F extends CreateFormPropsFactory<infer RCF>
? CreateFormPropContributorCallbacks<RCF>
: F extends EditFormPropsFactory<infer REF>
? EditFormPropContributorCallbacks<REF>
: never;
type InferredProps<F> = F extends EntityPropsFactory<infer RE>
? EntityProps<RE>
: F extends CreateFormPropsFactory<infer RCF>
? FormProps<RCF>
: F extends EditFormPropsFactory<infer REF>
? FormProps<REF>
: never;
type InferredProps<F> =
F extends EntityPropsFactory<infer RE>
? EntityProps<RE>
: F extends CreateFormPropsFactory<infer RCF>
? FormProps<RCF>
: F extends EditFormPropsFactory<infer REF>
? FormProps<REF>
: never;

2
npm/ng-packs/packages/components/extensible/src/lib/utils/typeahead.util.ts

@ -39,7 +39,7 @@ export function createTypeaheadOptions(
}
export function getTypeaheadType(lookup: ExtensionPropertyUiLookupDto, name: string) {
if (!!lookup.url) {
if (!lookup.url) {
return ePropType.Typeahead;
} else {
return name.endsWith(TYPEAHEAD_TEXT_SUFFIX) ? ePropType.Hidden : undefined;

4
npm/ng-packs/packages/components/tsconfig.json

@ -11,6 +11,8 @@
}
],
"compilerOptions": {
"target": "es2020"
"target": "es2020",
"strict": true,
"strictNullChecks": true
}
}

9
npm/ng-packs/packages/core/src/lib/models/environment.ts

@ -1,5 +1,6 @@
import { AuthConfig } from 'angular-oauth2-oidc';
import { ABP } from './common';
import { O } from 'ts-toolbelt';
export interface Environment {
apis: Apis;
@ -20,17 +21,17 @@ export interface ApplicationInfo {
export interface HasAdditional {
[key: string]: string;
}
export interface ApiConfig extends Partial<HasAdditional>{
export interface ApiConfig extends O.Partial<HasAdditional> {
url: string;
rootNamespace?: string;
rootNamespace: string;
}
export interface Apis {
[key: string]: Partial<ApiConfig>;
[key: string]: O.Partial<ApiConfig>;
default: ApiConfig;
}
export type customMergeFn = (localEnv: Partial<Environment>, remoteEnv: any) => Environment;
export type customMergeFn = (localEnv: O.Partial<Environment>, remoteEnv: any) => Environment;
export interface RemoteEnv {
url: string;

Loading…
Cancel
Save