From 9b7fd267ecdf216278e6a0ec119c80a2358c4114 Mon Sep 17 00:00:00 2001 From: sumeyyeKurtulus Date: Wed, 17 Jul 2024 16:50:18 +0300 Subject: [PATCH] fix: build errors --- .../extensible/src/lib/models/actions.ts | 6 ++++-- .../src/lib/models/entity-actions.ts | 9 +++++---- .../extensible/src/lib/models/entity-props.ts | 10 ++++++---- .../extensible/src/lib/models/form-props.ts | 9 +++++---- .../extensible/src/lib/models/props.ts | 6 ++++-- .../src/lib/models/toolbar-actions.ts | 20 +++++++++++-------- .../src/lib/utils/form-props.util.ts | 8 ++------ .../extensible/src/lib/utils/props.util.ts | 2 +- 8 files changed, 39 insertions(+), 31 deletions(-) diff --git a/npm/ng-packs/packages/components/extensible/src/lib/models/actions.ts b/npm/ng-packs/packages/components/extensible/src/lib/models/actions.ts index 07e3c0b91e..82c995f3cb 100644 --- a/npm/ng-packs/packages/components/extensible/src/lib/models/actions.ts +++ b/npm/ng-packs/packages/components/extensible/src/lib/models/actions.ts @@ -22,8 +22,10 @@ export abstract class ActionData { } } -export type ReadonlyActionData = O.Readonly, 'data'>>; - +export type ReadonlyActionData = O.Merge< + O.Readonly, 'data' | 'record'>>, + { record: R } +>; export abstract class Action { constructor( public readonly permission: string, diff --git a/npm/ng-packs/packages/components/extensible/src/lib/models/entity-actions.ts b/npm/ng-packs/packages/components/extensible/src/lib/models/entity-actions.ts index eb103cb1bd..9c28f270d5 100644 --- a/npm/ng-packs/packages/components/extensible/src/lib/models/entity-actions.ts +++ b/npm/ng-packs/packages/components/extensible/src/lib/models/entity-actions.ts @@ -47,10 +47,11 @@ export class EntityAction extends Action { } } -export type EntityActionOptions = O.Optional< - O.Writable>, - 'permission' | 'visible' | 'icon' ->; +type OptionalKeys = 'permission' | 'visible' | 'icon'; +type PartialEntityActionOptions = O.Partial, OptionalKeys>>; +type FilteredEntityActionOptions = O.Omit, OptionalKeys>; +export type EntityActionOptions = PartialEntityActionOptions & + FilteredEntityActionOptions; export type EntityActionDefaults = Record[]>; export type EntityActionContributorCallback = ActionContributorCallback< diff --git a/npm/ng-packs/packages/components/extensible/src/lib/models/entity-props.ts b/npm/ng-packs/packages/components/extensible/src/lib/models/entity-props.ts index 7692457cd8..b06845af98 100644 --- a/npm/ng-packs/packages/components/extensible/src/lib/models/entity-props.ts +++ b/npm/ng-packs/packages/components/extensible/src/lib/models/entity-props.ts @@ -71,8 +71,7 @@ export class EntityProp extends Prop { } } -export type EntityPropOptions = O.Optional< - O.Writable>, +type OptionalKeys = | 'permission' | 'visible' | 'columnVisible' @@ -83,8 +82,11 @@ export type EntityPropOptions = O.Optional< | 'valueResolver' | 'action' | 'component' - | 'enumList' ->; + | 'enumList'; + +type PartialEntityPropOptions = O.Partial, OptionalKeys>>; +type FilteredEntityPropOptions = O.Omit, OptionalKeys>; +export type EntityPropOptions = PartialEntityPropOptions & FilteredEntityPropOptions; export type EntityPropDefaults = Record[]>; export type EntityPropContributorCallback = PropContributorCallback>; diff --git a/npm/ng-packs/packages/components/extensible/src/lib/models/form-props.ts b/npm/ng-packs/packages/components/extensible/src/lib/models/form-props.ts index c1b8cacbe2..f9f3736dee 100644 --- a/npm/ng-packs/packages/components/extensible/src/lib/models/form-props.ts +++ b/npm/ng-packs/packages/components/extensible/src/lib/models/form-props.ts @@ -131,8 +131,7 @@ export class FormPropData extends PropData { } } -export type FormPropOptions = O.Optional< - O.Writable>, +type OptionalKeys = | 'permission' | 'visible' | 'displayName' @@ -147,8 +146,10 @@ export type FormPropOptions = O.Optional< | 'id' | 'displayTextResolver' | 'formText' - | 'tooltip' ->; + | 'tooltip'; +type PartialFormPropOptions = O.Partial, OptionalKeys>>; +type FilteredFormPropOptions = O.Omit, OptionalKeys>; +export type FormPropOptions = PartialFormPropOptions & FilteredFormPropOptions; export type CreateFormPropDefaults = Record[]>; export type CreateFormPropContributorCallback = PropContributorCallback>; diff --git a/npm/ng-packs/packages/components/extensible/src/lib/models/props.ts b/npm/ng-packs/packages/components/extensible/src/lib/models/props.ts index 2c88bd9939..549e6aa43d 100644 --- a/npm/ng-packs/packages/components/extensible/src/lib/models/props.ts +++ b/npm/ng-packs/packages/components/extensible/src/lib/models/props.ts @@ -24,8 +24,10 @@ export abstract class PropData { } } -export type ReadonlyPropData = O.Readonly, 'data'>>; - +export type ReadonlyPropData = O.Merge< + O.Readonly, 'data' | 'record'>>, + { record: R } +>; export abstract class Prop { constructor( public readonly type: ePropType, diff --git a/npm/ng-packs/packages/components/extensible/src/lib/models/toolbar-actions.ts b/npm/ng-packs/packages/components/extensible/src/lib/models/toolbar-actions.ts index 02b26a8173..b54f2e8256 100644 --- a/npm/ng-packs/packages/components/extensible/src/lib/models/toolbar-actions.ts +++ b/npm/ng-packs/packages/components/extensible/src/lib/models/toolbar-actions.ts @@ -61,15 +61,19 @@ export class ToolbarComponent extends Action { } } -export type ToolbarActionOptions = O.Optional< - O.Writable>, - 'permission' | 'visible' | 'icon' | 'btnClass' ->; - -export type ToolbarComponentOptions = O.Optional< - O.Writable>, - 'permission' | 'visible' | 'action' +type OptionalActionKeys = 'permission' | 'visible' | 'icon' | 'btnClass'; +type PartialToolbarActionOptions = O.Partial, OptionalActionKeys>>; +type FilteredToolbarActionOptions = O.Omit, OptionalActionKeys>; +export type ToolbarActionOptions = PartialToolbarActionOptions & + FilteredToolbarActionOptions; + +type OptionalComponentKeys = 'permission' | 'visible' | 'action'; +type PartialToolbarComponentOptions = O.Partial< + O.Pick, OptionalComponentKeys> >; +type FilteredToolbarComponentOptions = O.Omit, OptionalComponentKeys>; +export type ToolbarComponentOptions = PartialToolbarComponentOptions & + FilteredToolbarComponentOptions; export type ToolbarActionDefault = ToolbarAction | ToolbarComponent; diff --git a/npm/ng-packs/packages/components/extensible/src/lib/utils/form-props.util.ts b/npm/ng-packs/packages/components/extensible/src/lib/utils/form-props.util.ts index aacc6fe597..75b8487b31 100644 --- a/npm/ng-packs/packages/components/extensible/src/lib/utils/form-props.util.ts +++ b/npm/ng-packs/packages/components/extensible/src/lib/utils/form-props.util.ts @@ -16,7 +16,7 @@ export function generateFormFromProps(data: PropData) { const extraForm = new UntypedFormGroup({}); form.addControl(EXTRA_PROPERTIES_KEY, extraForm); - const record: any = data.record || {}; + const record = data.record || {}; const type = JSON.stringify(record) === '{}' ? 'create' : 'edit'; const props: FormPropList = extensions[`${type}FormProps`].get(identifier).props; const extraProperties = record[EXTRA_PROPERTIES_KEY] || {}; @@ -24,11 +24,7 @@ export function generateFormFromProps(data: PropData) { props.forEach(({ value: prop }) => { const name = prop.name; const isExtraProperty = prop.isExtra || name in extraProperties; - let value = isExtraProperty - ? extraProperties[name as string] - : name in record - ? record[name] - : undefined; + let value = isExtraProperty ? extraProperties[name] : name in record ? record[name] : undefined; if (typeof value === 'undefined') value = prop.defaultValue; diff --git a/npm/ng-packs/packages/components/extensible/src/lib/utils/props.util.ts b/npm/ng-packs/packages/components/extensible/src/lib/utils/props.util.ts index ccd00d3862..7207858036 100644 --- a/npm/ng-packs/packages/components/extensible/src/lib/utils/props.util.ts +++ b/npm/ng-packs/packages/components/extensible/src/lib/utils/props.util.ts @@ -26,7 +26,7 @@ import { export function createExtraPropertyValueResolver( name: string, ): PropCallback> { - 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>(