@mediusinc/mng-commons 7.0.0 → 7.0.1-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -42,6 +42,9 @@ function enumModelGeneric(type, i18nBaseKey = null, nameAsValue = false) {
42
42
 
43
43
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
44
44
  class TypeDescriptor {
45
+ constructor() {
46
+ this.__brand = 'TypeDescriptor';
47
+ }
45
48
  }
46
49
  function type() {
47
50
  return new TypeDescriptor();
@@ -1 +1 @@
1
- {"version":3,"file":"mediusinc-mng-commons-model.mjs","sources":["../../model/src/data-providers/base-from-type-data-provider.factory.ts","../../model/src/descriptors/enum.descriptor.ts","../../model/src/descriptors/type.descriptor.ts","../../model/src/descriptors/model.descriptor.ts","../../model/src/helpers/i18n.ts","../../model/src/index.ts","../../model/src/mediusinc-mng-commons-model.ts"],"sourcesContent":["import {DataProviderInst, ServiceClassType} from '@mediusinc/mng-commons/core';\n\nimport {ModelDescriptor} from '../descriptors/model.descriptor';\nimport {TypeDescriptor} from '../descriptors/type.descriptor';\n\n/**\n * Creates and returns an instance of `DataProviderInst` with the specified options for managing editor data.\n *\n * @param {Object} [opts] - The options object to configure the data provider.\n * @param {TypeDescriptor<Model> | ModelDescriptor<Model>} [opts.type] - The descriptor defining the type of model.\n * @param {ServiceClassType<Service>} [opts.service] - The service class type associated with the data provider.\n * @return {DataProviderInst<Model, Service, ServiceClass>} An instance of `EditorDataProviderInst` configured according to the provided options.\n */\nexport function dataProvider<Model, Service = undefined, ServiceClass = Service extends undefined ? undefined : ServiceClassType<Service>>(opts?: {\n type?: TypeDescriptor<Model> | ModelDescriptor<Model>;\n service?: ServiceClassType<Service>;\n}): DataProviderInst<Model, Service, ServiceClass> {\n return new DataProviderInst<Model, Service, ServiceClass>(opts?.service as ServiceClass);\n}\n","import {EnumType, findReflectEnumName} from '@mediusinc/mng-commons/core';\n\nexport class EnumDescriptor<Enum> {\n private readonly _value: Enum;\n private readonly _type: EnumType;\n private readonly _nameAsValue;\n private readonly _i18nBaseKey: string | null;\n\n public constructor(value: Enum, type: EnumType, i18nBaseKey?: string | null, nameAsValue = false) {\n this._value = value;\n this._type = type;\n this._nameAsValue = nameAsValue;\n\n if (typeof i18nBaseKey === 'undefined') {\n i18nBaseKey = findReflectEnumName(type);\n }\n this._i18nBaseKey = i18nBaseKey;\n }\n\n public get type() {\n return this._type;\n }\n\n public get i18nBaseKey() {\n return this._i18nBaseKey;\n }\n\n public get nameAsValue() {\n return this._nameAsValue;\n }\n}\n\nexport function enumModel<Enum>(value: Enum, type: EnumType, i18nBaseKey: string | undefined | null = null, nameAsValue = false) {\n return new EnumDescriptor<Enum>(value, type, i18nBaseKey, nameAsValue);\n}\n\nexport function enumModelGeneric<Enum = any>(type: EnumType, i18nBaseKey: string | undefined | null = null, nameAsValue = false) {\n return new EnumDescriptor<Enum>(undefined as Enum, type, i18nBaseKey, nameAsValue);\n}\n","// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class TypeDescriptor<Type> {}\n\nexport function type<Type>(): TypeDescriptor<Type> {\n return new TypeDescriptor<Type>();\n}\n","import {IModelDescriptor} from '@mediusinc/mng-commons/core';\n\nimport {TypeDescriptor} from './type.descriptor';\n\nexport class ModelDescriptor<Model> implements IModelDescriptor<Model> {\n protected _i18nBaseKey: string;\n protected _idProperty?: string;\n protected _titleProperty?: string | ((item: Model) => string);\n\n public constructor(idProperty?: string, titleProperty?: string | ((item: Model) => string), i18nBaseKey?: string) {\n this._idProperty = idProperty;\n this._titleProperty = titleProperty;\n this._i18nBaseKey = i18nBaseKey ?? '';\n }\n\n public get i18nBaseKey() {\n return this._i18nBaseKey;\n }\n\n public get idProperty() {\n return this._idProperty;\n }\n\n public get titleProperty() {\n return this._titleProperty;\n }\n\n public withIdProperty(property: keyof Model): this {\n this._idProperty = property as string;\n return this;\n }\n\n public withIdPropertyUnsafe(property: string): this {\n this._idProperty = property;\n return this;\n }\n\n public withTitleProperty(property: keyof Model): this {\n this._titleProperty = property as string;\n return this;\n }\n\n public withTitlePropertyUnsafe(property: string): this {\n this._titleProperty = property;\n return this;\n }\n\n public withI18nBase(base: string): this {\n this._i18nBaseKey = base;\n return this;\n }\n\n public copy(): ModelDescriptor<Model> {\n return new ModelDescriptor<Model>(this._idProperty, this._titleProperty, this._i18nBaseKey);\n }\n}\n\nexport type ModelDescriptorCreateOpts<Model> = {\n id?: keyof Model;\n title?: keyof Model | ((item: Model) => string);\n i18nBase?: string;\n};\n\nexport function model<Model>(): ModelDescriptor<Model>;\nexport function model<Model>(opts: ModelDescriptorCreateOpts<Model>): ModelDescriptor<Model>;\nexport function model<Model>(type: TypeDescriptor<Model>, opts?: ModelDescriptorCreateOpts<Model>): ModelDescriptor<Model>;\nexport function model<Model>(typeOrOpts?: TypeDescriptor<Model> | ModelDescriptorCreateOpts<Model>, opts?: ModelDescriptorCreateOpts<Model>) {\n if (typeOrOpts == null) {\n return new ModelDescriptor<Model>();\n } else if (typeOrOpts instanceof TypeDescriptor) {\n return new ModelDescriptor<Model>(opts?.id as string, opts?.title as string, opts?.i18nBase);\n } else {\n const modelOpts = typeOrOpts as ModelDescriptorCreateOpts<Model>;\n return new ModelDescriptor<Model>(modelOpts?.id as string, modelOpts?.title as string, modelOpts?.i18nBase);\n }\n}\n","import {TranslateService} from '@ngx-translate/core';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {KeyOfType, getI18n, getI18nTypeKeyBasePath, getI18nTypeParams, getI18nTypeParamsAsync} from '@mediusinc/mng-commons/core';\n\nimport {ModelDescriptor} from '../descriptors/model.descriptor';\n\ntype ModelI18nOptsType = {\n customKey?: string;\n fallbackKey?: string;\n item?: any;\n params?: any;\n};\n\nexport function getI18nForModel(translate: TranslateService, model: ModelDescriptor<any>, keyPath: string, opts?: ModelI18nOptsType): string | null {\n const keys = getKeysByPriority(model, keyPath, opts?.customKey, opts?.fallbackKey);\n const i18nParams = getI18nModelParams(translate, model, opts?.item, opts?.params);\n return getI18n(translate, i18nParams, ...keys);\n}\n\nexport function getI18nModelParams(translate: TranslateService, model?: ModelDescriptor<any>, item?: any, params: any = {}): any {\n const i18nParams = getI18nTypeParams(translate, model?.i18nBaseKey, item, params);\n return populateI18nModelParams(model?.idProperty, model?.titleProperty, item, i18nParams);\n}\n\nexport function getI18nModelParamsAsync(translate: TranslateService, model?: ModelDescriptor<any>, item?: any, params: any = {}): Observable<any> {\n return getI18nTypeParamsAsync(translate, model?.i18nBaseKey, item, params).pipe(\n map(i18nParams => populateI18nModelParams(model?.idProperty, model?.titleProperty, item, i18nParams))\n );\n}\n\nfunction populateI18nModelParams(idProperty?: KeyOfType, titleProperty?: KeyOfType | ((item: any) => string), item?: any, params: any = {}): any {\n const paramsRes = {...params, itemId: '', itemTitle: ''};\n if (item) {\n if (idProperty && item[idProperty]) {\n paramsRes.itemId = item[idProperty];\n }\n if (typeof titleProperty === 'function') {\n paramsRes.itemTitle = titleProperty(item);\n } else if (titleProperty && item[titleProperty]) {\n paramsRes.itemTitle = item[titleProperty];\n }\n }\n return paramsRes;\n}\n\nfunction getKeysByPriority(model: ModelDescriptor<any>, keyPath: string, customKey?: string, fallbackKey?: string) {\n const keys = [];\n if (customKey) {\n keys.push(customKey);\n } else {\n const modelActionKey = getI18nTypeKeyBasePath(model.i18nBaseKey, keyPath);\n keys.push(modelActionKey);\n if (keyPath !== modelActionKey) {\n keys.push(keyPath);\n }\n if (fallbackKey) {\n keys.push(fallbackKey);\n }\n }\n return keys;\n}\n","// data providers\nexport * from './data-providers/base-from-type-data-provider.factory';\n\n// descriptors\nexport * from './descriptors/enum.descriptor';\nexport * from './descriptors/model.descriptor';\nexport * from './descriptors/type.descriptor';\n\n// helpers\nexport * from './helpers/i18n';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mediusinc-mng-commons-model.mjs","sources":["../../model/src/data-providers/base-from-type-data-provider.factory.ts","../../model/src/descriptors/enum.descriptor.ts","../../model/src/descriptors/type.descriptor.ts","../../model/src/descriptors/model.descriptor.ts","../../model/src/helpers/i18n.ts","../../model/src/index.ts","../../model/src/mediusinc-mng-commons-model.ts"],"sourcesContent":["import {DataProviderInst, ServiceClassType} from '@mediusinc/mng-commons/core';\n\nimport {ModelDescriptor} from '../descriptors/model.descriptor';\nimport {TypeDescriptor} from '../descriptors/type.descriptor';\n\n/**\n * Creates and returns an instance of `DataProviderInst` with the specified options for managing editor data.\n *\n * @param {Object} [opts] - The options object to configure the data provider.\n * @param {TypeDescriptor<Model> | ModelDescriptor<Model>} [opts.type] - The descriptor defining the type of model.\n * @param {ServiceClassType<Service>} [opts.service] - The service class type associated with the data provider.\n * @return {DataProviderInst<Model, Service, ServiceClass>} An instance of `EditorDataProviderInst` configured according to the provided options.\n */\nexport function dataProvider<Model, Service = undefined, ServiceClass = Service extends undefined ? undefined : ServiceClassType<Service>>(opts?: {\n type?: TypeDescriptor<Model> | ModelDescriptor<Model>;\n service?: ServiceClassType<Service>;\n}): DataProviderInst<Model, Service, ServiceClass> {\n return new DataProviderInst<Model, Service, ServiceClass>(opts?.service as ServiceClass);\n}\n","import {EnumType, findReflectEnumName} from '@mediusinc/mng-commons/core';\n\nexport class EnumDescriptor<Enum> {\n private readonly _value: Enum;\n private readonly _type: EnumType;\n private readonly _nameAsValue;\n private readonly _i18nBaseKey: string | null;\n\n public constructor(value: Enum, type: EnumType, i18nBaseKey?: string | null, nameAsValue = false) {\n this._value = value;\n this._type = type;\n this._nameAsValue = nameAsValue;\n\n if (typeof i18nBaseKey === 'undefined') {\n i18nBaseKey = findReflectEnumName(type);\n }\n this._i18nBaseKey = i18nBaseKey;\n }\n\n public get type() {\n return this._type;\n }\n\n public get i18nBaseKey() {\n return this._i18nBaseKey;\n }\n\n public get nameAsValue() {\n return this._nameAsValue;\n }\n}\n\nexport function enumModel<Enum>(value: Enum, type: EnumType, i18nBaseKey: string | undefined | null = null, nameAsValue = false) {\n return new EnumDescriptor<Enum>(value, type, i18nBaseKey, nameAsValue);\n}\n\nexport function enumModelGeneric<Enum = any>(type: EnumType, i18nBaseKey: string | undefined | null = null, nameAsValue = false) {\n return new EnumDescriptor<Enum>(undefined as Enum, type, i18nBaseKey, nameAsValue);\n}\n","// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class TypeDescriptor<Type> {\n private readonly __brand = 'TypeDescriptor';\n}\n\nexport function type<Type>(): TypeDescriptor<Type> {\n return new TypeDescriptor<Type>();\n}\n","import {IModelDescriptor} from '@mediusinc/mng-commons/core';\n\nimport {TypeDescriptor} from './type.descriptor';\n\nexport class ModelDescriptor<Model> implements IModelDescriptor<Model> {\n protected _i18nBaseKey: string;\n protected _idProperty?: string;\n protected _titleProperty?: string | ((item: Model) => string);\n\n public constructor(idProperty?: string, titleProperty?: string | ((item: Model) => string), i18nBaseKey?: string) {\n this._idProperty = idProperty;\n this._titleProperty = titleProperty;\n this._i18nBaseKey = i18nBaseKey ?? '';\n }\n\n public get i18nBaseKey() {\n return this._i18nBaseKey;\n }\n\n public get idProperty() {\n return this._idProperty;\n }\n\n public get titleProperty() {\n return this._titleProperty;\n }\n\n public withIdProperty(property: keyof Model): this {\n this._idProperty = property as string;\n return this;\n }\n\n public withIdPropertyUnsafe(property: string): this {\n this._idProperty = property;\n return this;\n }\n\n public withTitleProperty(property: keyof Model): this {\n this._titleProperty = property as string;\n return this;\n }\n\n public withTitlePropertyUnsafe(property: string): this {\n this._titleProperty = property;\n return this;\n }\n\n public withI18nBase(base: string): this {\n this._i18nBaseKey = base;\n return this;\n }\n\n public copy(): ModelDescriptor<Model> {\n return new ModelDescriptor<Model>(this._idProperty, this._titleProperty, this._i18nBaseKey);\n }\n}\n\nexport type ModelDescriptorCreateOpts<Model> = {\n id?: keyof Model;\n title?: keyof Model | ((item: Model) => string);\n i18nBase?: string;\n};\n\nexport function model<Model>(): ModelDescriptor<Model>;\nexport function model<Model>(opts: ModelDescriptorCreateOpts<Model>): ModelDescriptor<Model>;\nexport function model<Model>(type: TypeDescriptor<Model>, opts?: ModelDescriptorCreateOpts<Model>): ModelDescriptor<Model>;\nexport function model<Model>(typeOrOpts?: TypeDescriptor<Model> | ModelDescriptorCreateOpts<Model>, opts?: ModelDescriptorCreateOpts<Model>) {\n if (typeOrOpts == null) {\n return new ModelDescriptor<Model>();\n } else if (typeOrOpts instanceof TypeDescriptor) {\n return new ModelDescriptor<Model>(opts?.id as string, opts?.title as string, opts?.i18nBase);\n } else {\n const modelOpts = typeOrOpts as ModelDescriptorCreateOpts<Model>;\n return new ModelDescriptor<Model>(modelOpts?.id as string, modelOpts?.title as string, modelOpts?.i18nBase);\n }\n}\n","import {TranslateService} from '@ngx-translate/core';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {KeyOfType, getI18n, getI18nTypeKeyBasePath, getI18nTypeParams, getI18nTypeParamsAsync} from '@mediusinc/mng-commons/core';\n\nimport {ModelDescriptor} from '../descriptors/model.descriptor';\n\ntype ModelI18nOptsType = {\n customKey?: string;\n fallbackKey?: string;\n item?: any;\n params?: any;\n};\n\nexport function getI18nForModel(translate: TranslateService, model: ModelDescriptor<any>, keyPath: string, opts?: ModelI18nOptsType): string | null {\n const keys = getKeysByPriority(model, keyPath, opts?.customKey, opts?.fallbackKey);\n const i18nParams = getI18nModelParams(translate, model, opts?.item, opts?.params);\n return getI18n(translate, i18nParams, ...keys);\n}\n\nexport function getI18nModelParams(translate: TranslateService, model?: ModelDescriptor<any>, item?: any, params: any = {}): any {\n const i18nParams = getI18nTypeParams(translate, model?.i18nBaseKey, item, params);\n return populateI18nModelParams(model?.idProperty, model?.titleProperty, item, i18nParams);\n}\n\nexport function getI18nModelParamsAsync(translate: TranslateService, model?: ModelDescriptor<any>, item?: any, params: any = {}): Observable<any> {\n return getI18nTypeParamsAsync(translate, model?.i18nBaseKey, item, params).pipe(\n map(i18nParams => populateI18nModelParams(model?.idProperty, model?.titleProperty, item, i18nParams))\n );\n}\n\nfunction populateI18nModelParams(idProperty?: KeyOfType, titleProperty?: KeyOfType | ((item: any) => string), item?: any, params: any = {}): any {\n const paramsRes = {...params, itemId: '', itemTitle: ''};\n if (item) {\n if (idProperty && item[idProperty]) {\n paramsRes.itemId = item[idProperty];\n }\n if (typeof titleProperty === 'function') {\n paramsRes.itemTitle = titleProperty(item);\n } else if (titleProperty && item[titleProperty]) {\n paramsRes.itemTitle = item[titleProperty];\n }\n }\n return paramsRes;\n}\n\nfunction getKeysByPriority(model: ModelDescriptor<any>, keyPath: string, customKey?: string, fallbackKey?: string) {\n const keys = [];\n if (customKey) {\n keys.push(customKey);\n } else {\n const modelActionKey = getI18nTypeKeyBasePath(model.i18nBaseKey, keyPath);\n keys.push(modelActionKey);\n if (keyPath !== modelActionKey) {\n keys.push(keyPath);\n }\n if (fallbackKey) {\n keys.push(fallbackKey);\n }\n }\n return keys;\n}\n","// data providers\nexport * from './data-providers/base-from-type-data-provider.factory';\n\n// descriptors\nexport * from './descriptors/enum.descriptor';\nexport * from './descriptors/model.descriptor';\nexport * from './descriptors/type.descriptor';\n\n// helpers\nexport * from './helpers/i18n';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mediusinc-mng-commons-table-api-class.mjs","sources":["../../table/api/class/src/class-table-attribute-converter.ts","../../table/api/class/src/class-table-data-provider.factory.ts","../../table/api/class/src/class-table-descriptor-helpers.ts","../../table/api/class/src/class-table-descriptor.factory.ts","../../table/api/class/src/mediusinc-mng-commons-table-api-class.ts"],"sourcesContent":["import {ClassAttributeDef, ClassType, CommonsInternalError, EnumType, TypeRegistry} from '@mediusinc/mng-commons/core';\nimport {ColumnDisplayTypeEnum, ColumnTypeEnum} from '@mediusinc/mng-commons/table/api';\n\nimport {TableClassAttributeDef} from './class-table-attribute.model';\n\n/**\n * converts string type to column type enum, default is string\n * @param attributeType\n */\nexport function getColumnTypeFromClassAttributeDefType(attributeType: string): ColumnTypeEnum {\n const typeRegistry = TypeRegistry.get();\n if (typeRegistry.findEnum(attributeType) as EnumType) {\n attributeType = 'enum';\n } else if (typeRegistry.findType(attributeType) as ClassType<any>) {\n attributeType = 'class';\n }\n\n switch (attributeType.toLowerCase()) {\n case 'number':\n case 'currency':\n return ColumnTypeEnum.Number;\n case 'boolean':\n return ColumnTypeEnum.Boolean;\n case 'date':\n return ColumnTypeEnum.Date;\n case 'enum':\n return ColumnTypeEnum.Enum;\n case 'custom':\n return ColumnTypeEnum.Custom;\n case 'class':\n return ColumnTypeEnum.String;\n case 'string':\n default:\n return ColumnTypeEnum.String;\n }\n}\n\nexport function getColumnDisplayTypeFromColumnType(columnType: ColumnTypeEnum, attributeType: string): ColumnDisplayTypeEnum {\n switch (columnType) {\n case ColumnTypeEnum.Number:\n return attributeType === 'currency' ? ColumnDisplayTypeEnum.Currency : ColumnDisplayTypeEnum.Number;\n case ColumnTypeEnum.Boolean:\n return ColumnDisplayTypeEnum.Boolean;\n case ColumnTypeEnum.Date:\n return ColumnDisplayTypeEnum.Date;\n case ColumnTypeEnum.Enum:\n return ColumnDisplayTypeEnum.Enum;\n case ColumnTypeEnum.Custom:\n return ColumnDisplayTypeEnum.Component;\n case ColumnTypeEnum.String:\n default:\n return ColumnDisplayTypeEnum.String;\n }\n}\n\nexport function expandClassAttributeDefWithTableDef(attributes?: Array<ClassAttributeDef> | null): TableClassAttributeDef[] {\n if (!attributes) {\n throw new CommonsInternalError('Class attribute definition is null, problem with TypeRegistry::findAttributesDefinitionByClassType?', {name: 'TableviewUtilsError'});\n }\n\n const typeRegistry = TypeRegistry.get();\n const tableClassAttributeDef: TableClassAttributeDef[] = [];\n for (const attribute of attributes) {\n const enumType = typeRegistry.findEnum(attribute.type);\n const columnType = enumType ? ColumnTypeEnum.Enum : getColumnTypeFromClassAttributeDefType(attribute.type);\n tableClassAttributeDef.push({\n name: attribute.name,\n baseName: attribute.baseName,\n type: attribute.type,\n subtype: attribute.subtype,\n columnType: enumType ? ColumnTypeEnum.Enum : getColumnTypeFromClassAttributeDefType(attribute.type),\n columnDisplayType: getColumnDisplayTypeFromColumnType(columnType, attribute.type),\n enumType: typeRegistry.findEnum(attribute.type) as EnumType,\n classType: typeRegistry.findType(attribute.type) as ClassType<any>\n });\n }\n\n return tableClassAttributeDef;\n}\n\n/**\n * returns attributes from class type and extends to typed def with column and field enum type\n * @param type class type\n */\nexport function getTableClassAttributeDef<T>(type: ClassType<T>): TableClassAttributeDef[] {\n return expandClassAttributeDefWithTableDef(TypeRegistry.get().findAttributesDefinitionByClassType(type));\n}\n","import {ClassType, ServiceClassType} from '@mediusinc/mng-commons/core';\nimport {TableDataProviderInst} from '@mediusinc/mng-commons/table/api';\n\nexport function tableDataProviderFromClass<Model, Sorts = keyof Model, Filters extends keyof any = keyof Model>(\n type: ClassType<Model>\n): TableDataProviderInst<Model, undefined, Sorts, Filters, undefined>;\nexport function tableDataProviderFromClass<Model, Service = any, Sorts = keyof Model, Filters extends keyof any = keyof Model>(\n type: ClassType<Model>,\n serviceType: ServiceClassType<Service>\n): TableDataProviderInst<Model, Service, Sorts, Filters, ServiceClassType<Service>>;\nexport function tableDataProviderFromClass<Model, Service = any, Sorts = keyof Model, Filters extends keyof any = keyof Model, ServiceClass = ServiceClassType<Service>>(\n type: ClassType<Model>,\n serviceType?: ServiceClass\n) {\n return new TableDataProviderInst<Model, Service, Sorts, Filters, ServiceClass>(serviceType as ServiceClass);\n}\n","import {CommonsInternalError, EnumType, ILookupDataProvider, TypeRegistry} from '@mediusinc/mng-commons/core';\nimport {FilterLookupDescriptor} from '@mediusinc/mng-commons/filter';\nimport {EnumDescriptor, enumModelGeneric} from '@mediusinc/mng-commons/model';\nimport {ModelClassDescriptor, findClassTitleAttribute} from '@mediusinc/mng-commons/model/class';\nimport {ColumnDescriptor, ColumnDisplayTypeEnum, ColumnTypeEnum, TableDescriptorInst} from '@mediusinc/mng-commons/table/api';\n\nimport {getTableClassAttributeDef} from './class-table-attribute-converter';\nimport {TableClassAttributeDef} from './class-table-attribute.model';\n\n/**\n * generates column based on attributes\n * @param desc Table descriptor\n * @param attribute attribute map\n * @param column if provided, replaced by new, otherwise new is created\n * @param args additional parameters\n */\nexport function upsertTableColumnFromAttributeDef<ColumnModel, TableModel>(\n desc: TableDescriptorInst<TableModel, any, any>,\n attribute: TableClassAttributeDef,\n column?: ColumnDescriptor<ColumnModel, TableModel>,\n ...args: any[]\n): ColumnDescriptor<ColumnModel, TableModel> {\n if (column == null) {\n column = desc.addColumnUnsafe(attribute.name);\n }\n\n if (attribute.columnType === ColumnTypeEnum.Enum && args.length === 0 && attribute.enumType) {\n args = [enumModelGeneric(attribute.enumType)];\n }\n\n column = column.asType(attribute.columnType, attribute.columnDisplayType, ...args);\n if (attribute.classType) {\n const titleProperty = findClassTitleAttribute(attribute.classType) ?? undefined;\n if (titleProperty) {\n column.withGetter(value => value?.[titleProperty as keyof object]);\n }\n } else {\n desc.addFilterFromColumnDescriptorUnsafe(column, false);\n desc.withSortUnsafe(column.property);\n }\n\n return column;\n}\n\n/**\n * defines modified type of column\n * DO NOT USE with enum (use withCustomEnumType)\n * @param descriptor table descriptor\n * @param property column name\n * @param columnType modified type\n * @param args additional attributes\n * @param columnDisplayType\n */\nexport function modifyTableClassAttributeColumnType<\n TableModel,\n Property extends keyof TableModel,\n ColumnModel = NonNullable<TableModel[Property]>,\n ColumnValue = TableModel[Property]\n>(\n descriptor: TableDescriptorInst<TableModel, any, any>,\n property: Property,\n columnType?: ColumnTypeEnum,\n columnDisplayType?: ColumnDisplayTypeEnum,\n ...args: any[]\n): ColumnDescriptor<ColumnModel, TableModel, ColumnValue> | null {\n return modifyTableClassAttributeColumnTypeUnsafe<TableModel, ColumnModel, ColumnValue>(descriptor, property as string, columnType, columnDisplayType, ...args);\n}\n\nexport function modifyTableClassAttributeColumnTypeUnsafe<TableModel, ColumnModel = any, ColumnValue = ColumnModel>(\n descriptor: TableDescriptorInst<TableModel, any, any>,\n property: string,\n columnType?: ColumnTypeEnum,\n columnDisplayType?: ColumnDisplayTypeEnum,\n ...args: any[]\n): ColumnDescriptor<ColumnModel, TableModel, ColumnValue> | null {\n if (!(descriptor.model instanceof ModelClassDescriptor)) {\n throw new CommonsInternalError(\n `withColumnModifiedType cannot be executed for property ${property}: Model descriptor is not of type 'ModelClassDescriptor' is not defined.`\n );\n }\n\n const attributeDef = getTableClassAttributeDef(descriptor.model.classType).find(attr => attr.name === property);\n\n if (attributeDef != null) {\n attributeDef.columnType = columnType ?? attributeDef.columnType;\n attributeDef.columnDisplayType = columnDisplayType ?? attributeDef.columnDisplayType;\n return upsertTableColumnFromAttributeDef(\n descriptor,\n attributeDef,\n descriptor.columns.find(col => col.property === attributeDef.name),\n ...args\n );\n }\n\n return null;\n}\n\n/**\n * defines custom enum type for column\n * @param descriptor table descriptor\n * @param property column name\n * @param enumDesc Enum descriptor.\n */\nexport function modifyTableClassAttributeColumnEnum<\n TableModel,\n Property extends keyof TableModel,\n Enum extends NonNullable<TableModel[Property]>,\n ColumnModel = NonNullable<TableModel[Property]>,\n ColumnValue = TableModel[Property]\n>(descriptor: TableDescriptorInst<TableModel, any, any>, property: Property, enumDesc?: EnumDescriptor<Enum>): ColumnDescriptor<ColumnModel, TableModel, ColumnValue> | null {\n return tableDescriptorModifyEnumColumnUnsafe<TableModel, Enum, ColumnModel, ColumnValue>(descriptor, property as string, enumDesc);\n}\n\nexport function tableDescriptorModifyEnumColumnUnsafe<TableModel, Enum = any, ColumnModel = any, ColumnValue = ColumnModel>(\n descriptor: TableDescriptorInst<TableModel, any, any>,\n property: string,\n enumDesc?: EnumDescriptor<Enum>\n): ColumnDescriptor<ColumnModel, TableModel, ColumnValue> | null {\n if (!(descriptor.model instanceof ModelClassDescriptor)) {\n throw new CommonsInternalError(\n `withColumnModifiedEnum cannot be executed for property ${property}: Model descriptor is not of type 'ModelClassDescriptor' is not defined.`\n );\n }\n\n const attributeDef = getTableClassAttributeDef(descriptor.model.classType).find(attr => attr.name === property);\n\n if (attributeDef != null) {\n attributeDef.columnType = ColumnTypeEnum.Enum;\n upsertTableColumnFromAttributeDef(\n descriptor,\n attributeDef,\n descriptor.columns.find(col => col.property === property),\n enumDesc ?? enumModelGeneric(TypeRegistry.get().findEnum(attributeDef.type) as EnumType)\n );\n }\n\n return null;\n}\n\n/**\n * modifies column with class and lookup provider\n * @param descriptor table descriptor\n * @param property column name\n * @param lookupProvider lookupProvider for class\n * @param optionsLabelProperty\n * @param filterProperty\n */\nexport function modifyTableColumnFilterLookup<TableModel, Property extends keyof TableModel, Service, ColumnModel = NonNullable<TableModel[Property]>>(\n descriptor: TableDescriptorInst<TableModel, any, any>,\n property: Property,\n lookupProvider?: ILookupDataProvider<ColumnModel, any>,\n optionsLabelProperty?: keyof ColumnModel,\n filterProperty?: keyof ColumnModel\n): FilterLookupDescriptor<ColumnModel, TableModel, Service> | null {\n return modifyTableColumnFilterLookupUnsafe<TableModel, Service, ColumnModel>(\n descriptor,\n property as string,\n lookupProvider,\n optionsLabelProperty as string,\n filterProperty as string\n );\n}\n\nexport function modifyTableColumnFilterLookupUnsafe<TableModel, Service, ColumnModel>(\n descriptor: TableDescriptorInst<TableModel, any, any>,\n property: string,\n lookupProvider?: ILookupDataProvider<ColumnModel, Service>,\n optionsLabelProperty?: string,\n filterProperty?: string\n): FilterLookupDescriptor<ColumnModel, TableModel, Service> | null {\n const column = descriptor.columns.find(col => col.property === property);\n if (column) {\n const filter = descriptor.addFilterLookupUnsafe(column.property, lookupProvider, filterProperty);\n if (optionsLabelProperty) {\n filter.withOptionsLabelPropertyUnsafe(optionsLabelProperty);\n }\n return filter;\n }\n return null;\n}\n","import {ClassType} from '@mediusinc/mng-commons/core';\nimport {modelClass} from '@mediusinc/mng-commons/model/class';\nimport {TableDescriptorCreateOptsType, TableDescriptorInst} from '@mediusinc/mng-commons/table/api';\n\nimport {getTableClassAttributeDef} from './class-table-attribute-converter';\nimport {TableClassAttributeDef} from './class-table-attribute.model';\nimport {upsertTableColumnFromAttributeDef} from './class-table-descriptor-helpers';\n\nexport function tableDescriptorFromClass<TableModel, Sorts = keyof TableModel, Filters = keyof TableModel>(\n type: ClassType<TableModel>,\n opts?: TableDescriptorCreateOptsType<TableModel>\n): TableDescriptorInst<TableModel, Sorts, Filters> {\n return new TableDescriptorInst<TableModel, Sorts, Filters>(modelClass<TableModel>(type as ClassType<TableModel>, opts));\n}\n\n/**\n * generates descriptor based on type attribute definition\n * @param type class type\n * @param attributes\n * @param opts\n */\nexport function tableDescriptorFromClassAttrsDef<TableModel, Sorts = keyof TableModel, Filters = keyof TableModel>(\n type: ClassType<TableModel>,\n attributes?: TableClassAttributeDef[],\n opts?: TableDescriptorCreateOptsType<TableModel>\n): TableDescriptorInst<TableModel, Sorts, Filters> {\n const descriptor = new TableDescriptorInst<TableModel, Sorts, Filters>(modelClass(type, opts), true);\n (attributes ?? getTableClassAttributeDef(type))\n .filter(attr => !attr.type.includes('Set') && !attr.type.includes('Array'))\n .forEach(attr => upsertTableColumnFromAttributeDef(descriptor, attr));\n return descriptor;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mediusinc-mng-commons-table-api-class.mjs","sources":["../../table/api/class/src/class-table-attribute-converter.ts","../../table/api/class/src/class-table-data-provider.factory.ts","../../table/api/class/src/class-table-descriptor-helpers.ts","../../table/api/class/src/class-table-descriptor.factory.ts","../../table/api/class/src/mediusinc-mng-commons-table-api-class.ts"],"sourcesContent":["import {ClassAttributeDef, ClassType, CommonsInternalError, EnumType, TypeRegistry} from '@mediusinc/mng-commons/core';\nimport {ColumnDisplayTypeEnum, ColumnTypeEnum} from '@mediusinc/mng-commons/table/api';\n\nimport {TableClassAttributeDef} from './class-table-attribute.model';\n\n/**\n * converts string type to column type enum, default is string\n * @param attributeType\n */\nexport function getColumnTypeFromClassAttributeDefType(attributeType: string): ColumnTypeEnum {\n const typeRegistry = TypeRegistry.get();\n if (typeRegistry.findEnum(attributeType) as EnumType) {\n attributeType = 'enum';\n } else if (typeRegistry.findType(attributeType) as ClassType<any>) {\n attributeType = 'class';\n }\n\n switch (attributeType.toLowerCase()) {\n case 'number':\n case 'currency':\n return ColumnTypeEnum.Number;\n case 'boolean':\n return ColumnTypeEnum.Boolean;\n case 'date':\n return ColumnTypeEnum.Date;\n case 'enum':\n return ColumnTypeEnum.Enum;\n case 'custom':\n return ColumnTypeEnum.Custom;\n case 'class':\n return ColumnTypeEnum.String;\n case 'string':\n default:\n return ColumnTypeEnum.String;\n }\n}\n\nexport function getColumnDisplayTypeFromColumnType(columnType: ColumnTypeEnum, attributeType: string): ColumnDisplayTypeEnum {\n switch (columnType) {\n case ColumnTypeEnum.Number:\n return attributeType === 'currency' ? ColumnDisplayTypeEnum.Currency : ColumnDisplayTypeEnum.Number;\n case ColumnTypeEnum.Boolean:\n return ColumnDisplayTypeEnum.Boolean;\n case ColumnTypeEnum.Date:\n return ColumnDisplayTypeEnum.Date;\n case ColumnTypeEnum.Enum:\n return ColumnDisplayTypeEnum.Enum;\n case ColumnTypeEnum.Custom:\n return ColumnDisplayTypeEnum.Component;\n case ColumnTypeEnum.String:\n default:\n return ColumnDisplayTypeEnum.String;\n }\n}\n\nexport function expandClassAttributeDefWithTableDef(attributes?: Array<ClassAttributeDef> | null): TableClassAttributeDef[] {\n if (!attributes) {\n throw new CommonsInternalError('Class attribute definition is null, problem with TypeRegistry::findAttributesDefinitionByClassType?', {name: 'TableviewUtilsError'});\n }\n\n const typeRegistry = TypeRegistry.get();\n const tableClassAttributeDef: TableClassAttributeDef[] = [];\n for (const attribute of attributes) {\n const enumType = typeRegistry.findEnum(attribute.type);\n const columnType = enumType ? ColumnTypeEnum.Enum : getColumnTypeFromClassAttributeDefType(attribute.type);\n tableClassAttributeDef.push({\n name: attribute.name,\n baseName: attribute.baseName,\n type: attribute.type,\n subtype: attribute.subtype,\n columnType: enumType ? ColumnTypeEnum.Enum : getColumnTypeFromClassAttributeDefType(attribute.type),\n columnDisplayType: getColumnDisplayTypeFromColumnType(columnType, attribute.type),\n enumType: typeRegistry.findEnum(attribute.type) as EnumType,\n classType: typeRegistry.findType(attribute.type) as ClassType<any>\n });\n }\n\n return tableClassAttributeDef;\n}\n\n/**\n * returns attributes from class type and extends to typed def with column and field enum type\n * @param type class type\n */\nexport function getTableClassAttributeDef<T>(type: ClassType<T>): TableClassAttributeDef[] {\n return expandClassAttributeDefWithTableDef(TypeRegistry.get().findAttributesDefinitionByClassType(type));\n}\n","import {ClassType, ServiceClassType} from '@mediusinc/mng-commons/core';\nimport {TableDataProviderInst} from '@mediusinc/mng-commons/table/api';\n\nexport function tableDataProviderFromClass<Model, Sorts = keyof Model, Filters extends keyof any = keyof Model>(\n type: ClassType<Model>\n): TableDataProviderInst<Model, undefined, Sorts, Filters, undefined>;\nexport function tableDataProviderFromClass<Model, Service = any, Sorts = keyof Model, Filters extends keyof any = keyof Model>(\n type: ClassType<Model>,\n serviceType: ServiceClassType<Service>\n): TableDataProviderInst<Model, Service, Sorts, Filters, ServiceClassType<Service>>;\nexport function tableDataProviderFromClass<Model, Service = any, Sorts = keyof Model, Filters extends keyof any = keyof Model, ServiceClass = ServiceClassType<Service>>(\n type: ClassType<Model>,\n serviceType?: ServiceClass\n) {\n return new TableDataProviderInst<Model, Service, Sorts, Filters, ServiceClass>(serviceType as ServiceClass);\n}\n","import {CommonsInternalError, EnumType, ILookupDataProvider, TypeRegistry} from '@mediusinc/mng-commons/core';\nimport {FilterLookupDescriptor} from '@mediusinc/mng-commons/filter';\nimport {EnumDescriptor, enumModelGeneric} from '@mediusinc/mng-commons/model';\nimport {ModelClassDescriptor, findClassTitleAttribute} from '@mediusinc/mng-commons/model/class';\nimport {ColumnDescriptor, ColumnDisplayTypeEnum, ColumnTypeEnum, TableDescriptorInst} from '@mediusinc/mng-commons/table/api';\n\nimport {getTableClassAttributeDef} from './class-table-attribute-converter';\nimport {TableClassAttributeDef} from './class-table-attribute.model';\n\n/**\n * generates column based on attributes\n * @param desc Table descriptor\n * @param attribute attribute map\n * @param column if provided, replaced by new, otherwise new is created\n * @param args additional parameters\n */\nexport function upsertTableColumnFromAttributeDef<ColumnModel, TableModel>(\n desc: TableDescriptorInst<TableModel, any, any>,\n attribute: TableClassAttributeDef,\n column?: ColumnDescriptor<ColumnModel, TableModel>,\n ...args: any[]\n): ColumnDescriptor<ColumnModel, TableModel> {\n if (column == null) {\n column = desc.addColumnUnsafe(attribute.name);\n }\n\n if (attribute.columnType === ColumnTypeEnum.Enum && args.length === 0 && attribute.enumType) {\n args = [enumModelGeneric(attribute.enumType)];\n }\n\n column = column.asType(attribute.columnType, attribute.columnDisplayType, ...args);\n if (attribute.classType) {\n const titleProperty = findClassTitleAttribute(attribute.classType) ?? undefined;\n if (titleProperty) {\n column.withGetter(value => value?.[titleProperty as keyof object]);\n }\n } else {\n desc.addFilterFromColumnDescriptorUnsafe(column, false);\n desc.withSortUnsafe(column.property);\n }\n\n return column;\n}\n\n/**\n * defines modified type of column\n * DO NOT USE with enum (use withCustomEnumType)\n * @param descriptor table descriptor\n * @param property column name\n * @param columnType modified type\n * @param args additional attributes\n * @param columnDisplayType\n */\nexport function modifyTableClassAttributeColumnType<\n TableModel,\n Property extends keyof TableModel,\n ColumnModel = NonNullable<TableModel[Property]>,\n ColumnValue = TableModel[Property]\n>(\n descriptor: TableDescriptorInst<TableModel, any, any>,\n property: Property,\n columnType?: ColumnTypeEnum,\n columnDisplayType?: ColumnDisplayTypeEnum,\n ...args: any[]\n): ColumnDescriptor<ColumnModel, TableModel, ColumnValue> | null {\n return modifyTableClassAttributeColumnTypeUnsafe<TableModel, ColumnModel, ColumnValue>(descriptor, property as string, columnType, columnDisplayType, ...args);\n}\n\nexport function modifyTableClassAttributeColumnTypeUnsafe<TableModel, ColumnModel = any, ColumnValue = ColumnModel>(\n descriptor: TableDescriptorInst<TableModel, any, any>,\n property: string,\n columnType?: ColumnTypeEnum,\n columnDisplayType?: ColumnDisplayTypeEnum,\n ...args: any[]\n): ColumnDescriptor<ColumnModel, TableModel, ColumnValue> | null {\n if (!(descriptor.model instanceof ModelClassDescriptor)) {\n throw new CommonsInternalError(\n `withColumnModifiedType cannot be executed for property ${property}: Model descriptor is not of type 'ModelClassDescriptor' is not defined.`\n );\n }\n\n const attributeDef = getTableClassAttributeDef(descriptor.model.classType).find(attr => attr.name === property);\n\n if (attributeDef != null) {\n attributeDef.columnType = columnType ?? attributeDef.columnType;\n attributeDef.columnDisplayType = columnDisplayType ?? attributeDef.columnDisplayType;\n return upsertTableColumnFromAttributeDef(\n descriptor,\n attributeDef,\n descriptor.columns.find(col => col.property === attributeDef.name),\n ...args\n );\n }\n\n return null;\n}\n\n/**\n * defines custom enum type for column\n * @param descriptor table descriptor\n * @param property column name\n * @param enumDesc Enum descriptor.\n */\nexport function modifyTableClassAttributeColumnEnum<\n TableModel,\n Property extends keyof TableModel,\n Enum extends NonNullable<TableModel[Property]>,\n ColumnModel = NonNullable<TableModel[Property]>,\n ColumnValue = TableModel[Property]\n>(descriptor: TableDescriptorInst<TableModel, any, any>, property: Property, enumDesc?: EnumDescriptor<Enum>): ColumnDescriptor<ColumnModel, TableModel, ColumnValue> | null {\n return tableDescriptorModifyEnumColumnUnsafe<TableModel, Enum, ColumnModel, ColumnValue>(descriptor, property as string, enumDesc);\n}\n\nexport function tableDescriptorModifyEnumColumnUnsafe<TableModel, Enum = any, ColumnModel = any, ColumnValue = ColumnModel>(\n descriptor: TableDescriptorInst<TableModel, any, any>,\n property: string,\n enumDesc?: EnumDescriptor<Enum>\n): ColumnDescriptor<ColumnModel, TableModel, ColumnValue> | null {\n if (!(descriptor.model instanceof ModelClassDescriptor)) {\n throw new CommonsInternalError(\n `withColumnModifiedEnum cannot be executed for property ${property}: Model descriptor is not of type 'ModelClassDescriptor' is not defined.`\n );\n }\n\n const attributeDef = getTableClassAttributeDef(descriptor.model.classType).find(attr => attr.name === property);\n\n if (attributeDef != null) {\n attributeDef.columnType = ColumnTypeEnum.Enum;\n upsertTableColumnFromAttributeDef(\n descriptor,\n attributeDef,\n descriptor.columns.find(col => col.property === property),\n enumDesc ?? enumModelGeneric(TypeRegistry.get().findEnum(attributeDef.type) as EnumType)\n );\n }\n\n return null;\n}\n\n/**\n * modifies column with class and lookup provider\n * @param descriptor table descriptor\n * @param property column name\n * @param lookupProvider lookupProvider for class\n * @param optionsLabelProperty\n * @param filterProperty\n */\nexport function modifyTableColumnFilterLookup<TableModel, Property extends keyof TableModel, Service, ColumnModel = NonNullable<TableModel[Property]>>(\n descriptor: TableDescriptorInst<TableModel, any, any>,\n property: Property,\n lookupProvider?: ILookupDataProvider<ColumnModel, any>,\n optionsLabelProperty?: keyof ColumnModel,\n filterProperty?: keyof ColumnModel\n): FilterLookupDescriptor<ColumnModel, TableModel, Service> | null {\n return modifyTableColumnFilterLookupUnsafe<TableModel, Service, ColumnModel>(\n descriptor,\n property as string,\n lookupProvider,\n optionsLabelProperty as string,\n filterProperty as string\n );\n}\n\nexport function modifyTableColumnFilterLookupUnsafe<TableModel, Service, ColumnModel>(\n descriptor: TableDescriptorInst<TableModel, any, any>,\n property: string,\n lookupProvider?: ILookupDataProvider<ColumnModel, Service>,\n optionsLabelProperty?: string,\n filterProperty?: string\n): FilterLookupDescriptor<ColumnModel, TableModel, Service> | null {\n const column = descriptor.columns.find(col => col.property === property);\n if (column) {\n const filter = descriptor.addFilterLookupUnsafe(column.property, lookupProvider, filterProperty);\n if (optionsLabelProperty) {\n filter.withOptionsLabelPropertyUnsafe(optionsLabelProperty);\n }\n return filter;\n }\n return null;\n}\n","import {ClassType} from '@mediusinc/mng-commons/core';\nimport {modelClass} from '@mediusinc/mng-commons/model/class';\nimport {TableDescriptorCreateOptsType, TableDescriptorInst} from '@mediusinc/mng-commons/table/api';\n\nimport {getTableClassAttributeDef} from './class-table-attribute-converter';\nimport {TableClassAttributeDef} from './class-table-attribute.model';\nimport {upsertTableColumnFromAttributeDef} from './class-table-descriptor-helpers';\n\nexport function tableDescriptorFromClass<TableModel, Sorts = keyof TableModel, Filters = keyof TableModel>(\n type: ClassType<TableModel>,\n opts?: TableDescriptorCreateOptsType<TableModel, Sorts, Filters>\n): TableDescriptorInst<TableModel, Sorts, Filters> {\n return new TableDescriptorInst<TableModel, Sorts, Filters>(modelClass<TableModel>(type as ClassType<TableModel>, opts));\n}\n\n/**\n * generates descriptor based on type attribute definition\n * @param type class type\n * @param attributes\n * @param opts\n */\nexport function tableDescriptorFromClassAttrsDef<TableModel, Sorts = keyof TableModel, Filters = keyof TableModel>(\n type: ClassType<TableModel>,\n attributes?: TableClassAttributeDef[],\n opts?: TableDescriptorCreateOptsType<TableModel, Sorts, Filters>\n): TableDescriptorInst<TableModel, Sorts, Filters> {\n const descriptor = new TableDescriptorInst<TableModel, Sorts, Filters>(modelClass(type, opts), true);\n (attributes ?? getTableClassAttributeDef(type))\n .filter(attr => !attr.type.includes('Set') && !attr.type.includes('Array'))\n .forEach(attr => upsertTableColumnFromAttributeDef(descriptor, attr));\n return descriptor;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -243,9 +243,16 @@ function tableviewDescriptorFromClassAttrsDef(type, columnAttributes, fieldAttri
243
243
  const descriptor = new TableviewDescriptorInst(model);
244
244
  descriptor.withTableDescriptor(tableDescriptorFromClassAttrsDef(type, columnAttributes, opts));
245
245
  if (fieldAttributes !== null) {
246
- descriptor.withEditDescriptor(editorDescriptorFromClassAttrsDef(type, fieldAttributes ?? columnAttributes, { ...opts, tableviewEditorType: TableviewEditorTypeEnum.Edit }));
247
- descriptor.withDetailsDescriptor(editorDescriptorFromClassAttrsDef(type, fieldAttributes ?? columnAttributes, { ...opts, tableviewEditorType: TableviewEditorTypeEnum.Details }).withDisabled());
248
- descriptor.withAddDescriptor(editorDescriptorFromClassAttrsDef(type, fieldAttributes ?? columnAttributes, { ...opts, tableviewEditorType: TableviewEditorTypeEnum.Add }));
246
+ const editorOpts = {
247
+ ...opts,
248
+ parentEditorType: opts?.parentEditorType
249
+ };
250
+ descriptor.withEditDescriptor(editorDescriptorFromClassAttrsDef(type, fieldAttributes ?? columnAttributes, {
251
+ ...editorOpts,
252
+ tableviewEditorType: TableviewEditorTypeEnum.Edit
253
+ }));
254
+ descriptor.withDetailsDescriptor(editorDescriptorFromClassAttrsDef(type, fieldAttributes ?? columnAttributes, { ...editorOpts, tableviewEditorType: TableviewEditorTypeEnum.Details }).withDisabled());
255
+ descriptor.withAddDescriptor(editorDescriptorFromClassAttrsDef(type, fieldAttributes ?? columnAttributes, { ...editorOpts, tableviewEditorType: TableviewEditorTypeEnum.Add }));
249
256
  }
250
257
  return descriptor;
251
258
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mediusinc-mng-commons-tableview-api-class.mjs","sources":["../../tableview/api/class/src/editor/class-editor-attribute-converter.ts","../../tableview/api/class/src/editor/class-editor-data-provider.factory.ts","../../tableview/api/class/src/editor/class-editor-descriptor-helpers.ts","../../tableview/api/class/src/editor/class-editor-descriptor.factory.ts","../../tableview/api/class/src/tableview/class-tableview-attribute-converter.ts","../../tableview/api/class/src/tableview/class-tableview-descriptor.factory.ts","../../tableview/api/class/src/tableview/class-tableview-descriptor-helpers.ts","../../tableview/api/class/src/tableview/class-tableview-data-provider.factory.ts","../../tableview/api/class/src/index.ts","../../tableview/api/class/src/mediusinc-mng-commons-tableview-api-class.ts"],"sourcesContent":["import {ClassAttributeDef, ClassType, CommonsInternalError, EnumType, TypeRegistry} from '@mediusinc/mng-commons/core';\nimport {ColumnDisplayTypeEnum, ColumnTypeEnum} from '@mediusinc/mng-commons/table/api';\nimport {FieldInputTypeEnum} from '@mediusinc/mng-commons/tableview/api';\n\nimport {EditorClassAttributeDef} from './class-editor-attribute.model';\n\n/**\n * converts string type to type enum, default is text\n * @param attributeType\n */\nexport function getFieldInputTypeFromClassAttributeDefType(attributeType: string): FieldInputTypeEnum {\n switch (attributeType) {\n case 'hidden':\n return FieldInputTypeEnum.Hidden;\n case 'label':\n return FieldInputTypeEnum.Label;\n case 'textarea':\n return FieldInputTypeEnum.Textarea;\n case 'number':\n return FieldInputTypeEnum.Number;\n case 'currency':\n return FieldInputTypeEnum.Currency;\n case 'switch':\n case 'boolean':\n return FieldInputTypeEnum.Switch;\n case 'radio':\n return FieldInputTypeEnum.Radio;\n case 'datepicker':\n return FieldInputTypeEnum.Datepicker;\n case 'mask':\n return FieldInputTypeEnum.Mask;\n case 'file':\n return FieldInputTypeEnum.File;\n case 'custom':\n return FieldInputTypeEnum.Custom;\n case 'text':\n default:\n return FieldInputTypeEnum.Text;\n }\n}\n\n/**\n * convert column type to equivalent field input type\n * @param type column type\n * @param displayType column display type\n */\nexport function getFieldInputTypeFromColumnType(type: ColumnTypeEnum, displayType?: ColumnDisplayTypeEnum): FieldInputTypeEnum {\n switch (type) {\n case ColumnTypeEnum.Number:\n return displayType === ColumnDisplayTypeEnum.Currency ? FieldInputTypeEnum.Currency : FieldInputTypeEnum.Number;\n case ColumnTypeEnum.Boolean:\n return FieldInputTypeEnum.Switch;\n case ColumnTypeEnum.Date:\n return FieldInputTypeEnum.Datepicker;\n case ColumnTypeEnum.Custom:\n return FieldInputTypeEnum.Custom;\n case ColumnTypeEnum.String:\n case ColumnTypeEnum.Enum:\n default:\n return FieldInputTypeEnum.Text;\n }\n}\n\nexport function expandClassAttributeDefWithEditorDef(attributes?: Array<ClassAttributeDef> | null): EditorClassAttributeDef[] {\n if (!attributes) {\n throw new CommonsInternalError('Class attribute definition is null, problem with TypeRegistry::findAttributesDefinitionByClassType?', {name: 'TableviewUtilsError'});\n }\n\n const typeRegistry = TypeRegistry.get();\n const editorClassAttributeDef: EditorClassAttributeDef[] = [];\n for (const attribute of attributes) {\n editorClassAttributeDef.push({\n name: attribute.name,\n baseName: attribute.baseName,\n type: attribute.type,\n subtype: attribute.subtype,\n fieldType: getFieldInputTypeFromClassAttributeDefType(attribute.type),\n classType: typeRegistry.findType(attribute.type) as ClassType<any>,\n enumType: typeRegistry.findEnum(attribute.type) as EnumType\n });\n }\n\n return editorClassAttributeDef;\n}\n\n/**\n * returns attributes from class type and extends to typed def with column and field enum type\n * @param type class type\n */\nexport function getEditorClassAttributeDef<T>(type: ClassType<T>): EditorClassAttributeDef[] {\n return expandClassAttributeDefWithEditorDef(TypeRegistry.get().findAttributesDefinitionByClassType(type));\n}\n","import {ClassType, ServiceClassType} from '@mediusinc/mng-commons/core';\nimport {EditorDataProviderInst} from '@mediusinc/mng-commons/tableview/api';\n\nexport function editorDataProviderFromClass<Model>(type: ClassType<Model>): EditorDataProviderInst<Model, undefined, undefined>;\nexport function editorDataProviderFromClass<Model, Service = any>(\n type: ClassType<Model>,\n serviceType: ServiceClassType<Service>\n): EditorDataProviderInst<Model, Service, ServiceClassType<Service>>;\nexport function editorDataProviderFromClass<Model, Service = any, ServiceClass = ServiceClassType<Service>>(type: ClassType<Model>, serviceType?: ServiceClass) {\n return new EditorDataProviderInst<Model, Service, ServiceClass>(serviceType as ServiceClass);\n}\n","import {CommonsInternalError, EnumType, ILookupDataProvider, TypeRegistry} from '@mediusinc/mng-commons/core';\nimport {EnumDescriptor, enumModelGeneric} from '@mediusinc/mng-commons/model';\nimport {ModelClassDescriptor} from '@mediusinc/mng-commons/model/class';\nimport {getColumnDisplayTypeFromColumnType, getColumnTypeFromClassAttributeDefType} from '@mediusinc/mng-commons/table/api/class';\nimport {AFieldDescriptor, EditorDescriptorInst, FieldInputDescriptor, FieldInputTypeEnum, FieldLookupDescriptor} from '@mediusinc/mng-commons/tableview/api';\n\nimport {getEditorClassAttributeDef, getFieldInputTypeFromColumnType} from './class-editor-attribute-converter';\nimport {EditorClassAttributeDef} from './class-editor-attribute.model';\n\n/**\n * Generates field based on attribute definition, used for auto model\n * @param descriptor Editor descriptor instance.\n * @param attribute Attribute definition.\n * @param field Optional, if defined will be replaced, otherwise new will be generated.\n * @param args Optional additional arguments mapped to filed type. Arguments depend on possible arguments on fields.\n * @internal\n */\nexport function upsertEditorFieldFromAttributeDef<T>(\n descriptor: EditorDescriptorInst<T, any>,\n attribute: EditorClassAttributeDef,\n field?: AFieldDescriptor<any, T>,\n ...args: any[]\n): AFieldDescriptor<any, T> {\n if (field == null) {\n field = descriptor.addFieldUnsafe(attribute.name);\n }\n\n if (field instanceof FieldInputDescriptor) {\n if (attribute.enumType) {\n return field.asRadioFromEnum(enumModelGeneric(attribute.enumType));\n } else {\n const tableColumnType = getColumnTypeFromClassAttributeDefType(attribute.type);\n const tableColumnDisplayType = getColumnDisplayTypeFromColumnType(tableColumnType, attribute.type);\n return field.asType(attribute.fieldType ?? getFieldInputTypeFromColumnType(tableColumnType, tableColumnDisplayType), ...args);\n }\n }\n\n return field;\n}\n\n/**\n * Modifies selected field by field property. For enums use {withFieldModifiedEnum} instead.\n * @param descriptor Editor descriptor.\n * @param property Model's property name.\n * @param fieldType new field type for selected field\n * @param args additional parameters for field\n */\nexport function modifyEditorClassAttributeFieldType<\n EditorModel,\n Property extends keyof EditorModel,\n FieldModel = NonNullable<EditorModel[Property]>,\n FieldValue = EditorModel[Property]\n>(\n descriptor: EditorDescriptorInst<EditorModel, any>,\n property: Property,\n fieldType: FieldInputTypeEnum,\n ...args: any[]\n): AFieldDescriptor<FieldModel, EditorModel, FieldValue> | null {\n return modifyEditorClassAttributeFieldTypeUnsafe<EditorModel, FieldModel, FieldValue>(descriptor, property as string, fieldType, ...args);\n}\n\nexport function modifyEditorClassAttributeFieldTypeUnsafe<EditorModel, FieldModel = any, FieldValue = FieldModel>(\n descriptor: EditorDescriptorInst<EditorModel, any>,\n property: string,\n fieldType: FieldInputTypeEnum,\n ...args: any[]\n): AFieldDescriptor<FieldModel, EditorModel, FieldValue> | null {\n if (!(descriptor.model instanceof ModelClassDescriptor)) {\n throw new CommonsInternalError(`withFieldModifiedType cannot be executed for property ${property}: Model descriptor is not of type 'ModelClassDescriptor' is not defined.`);\n }\n\n const attribute = getEditorClassAttributeDef(descriptor.model.classType).find(attribute => attribute.name === property);\n if (attribute) {\n attribute.fieldType = fieldType;\n return upsertEditorFieldFromAttributeDef(\n descriptor,\n attribute,\n descriptor.fields.find(fi => fi.property === property),\n ...args\n );\n }\n\n return null;\n}\n\n/**\n * Modifies selected field with enum type.\n * @param descriptor Editor descriptor.\n * @param property Model's property name.\n * @param enumModel Enum descriptor.\n * @param values\n */\nexport function modifyEditorClassAttributeFieldEnum<\n EditorModel,\n Property extends keyof EditorModel,\n Enum extends NonNullable<EditorModel[Property]>,\n FieldModel = NonNullable<EditorModel[Property]>,\n FieldValue = EditorModel[Property]\n>(\n descriptor: EditorDescriptorInst<EditorModel, any>,\n property: Property,\n enumModel?: EnumDescriptor<Enum>,\n values?: Array<Enum>\n): AFieldDescriptor<FieldModel, EditorModel, FieldValue> | null {\n return modifyEditorClassAttributeFieldEnumUnsafe<EditorModel, Enum, FieldModel, FieldValue>(descriptor, property as string, enumModel, values);\n}\n\nexport function modifyEditorClassAttributeFieldEnumUnsafe<EditorModel, Enum = any, FieldModel = any, FieldValue = FieldModel>(\n descriptor: EditorDescriptorInst<EditorModel, any>,\n property: string,\n enumDesc?: EnumDescriptor<Enum>,\n values?: Array<Enum>\n): AFieldDescriptor<FieldModel, EditorModel, FieldValue> | null {\n if (!(descriptor.model instanceof ModelClassDescriptor)) {\n throw new CommonsInternalError(`withFieldModifiedType cannot be executed for property ${property}: Model descriptor is not of type 'ModelClassDescriptor' is not defined.`);\n }\n\n const attribute = getEditorClassAttributeDef(descriptor.model.classType).find(a => a.name === property);\n if (attribute) {\n attribute.fieldType = FieldInputTypeEnum.Radio;\n const field = descriptor.fields.find(f => f.property === property);\n if (field && field instanceof FieldInputDescriptor) {\n field.asRadioFromEnum(enumDesc ?? enumModelGeneric(TypeRegistry.get().findEnum(attribute.type) as EnumType), values);\n }\n return field ?? null;\n }\n\n return null;\n}\n\n/**\n * Modifies selected field with lookup field.\n * @param descriptor Editor descriptor.\n * @param property Model's property name.\n * @param lookupProvider provider to be added to field\n * @param titleProperty\n */\nexport function modifyEditorFieldLookup<\n EditorModel,\n Property extends keyof EditorModel,\n Service,\n FieldModel = NonNullable<EditorModel[Property]>,\n FieldValue = EditorModel[Property]\n>(\n descriptor: EditorDescriptorInst<EditorModel, any>,\n property: Property,\n lookupProvider: ILookupDataProvider<FieldModel, Service>,\n titleProperty?: keyof FieldModel\n): FieldLookupDescriptor<FieldModel, EditorModel, Service, FieldValue> {\n return modifyEditorFieldLookupUnsafe<EditorModel, Service, FieldModel, FieldValue>(descriptor, property as string, lookupProvider, titleProperty as string);\n}\n\nexport function modifyEditorFieldLookupUnsafe<EditorModel, Service, FieldModel = any, FieldValue = FieldModel>(\n descriptor: EditorDescriptorInst<EditorModel, any>,\n property: string,\n lookupProvider: ILookupDataProvider<FieldModel, Service>,\n titleProperty?: string\n): FieldLookupDescriptor<FieldModel, EditorModel, Service, FieldValue> {\n descriptor.removeFieldUnsafe(property);\n const field = descriptor.addFieldLookupUnsafe<FieldModel, Service, FieldValue>(property, {serviceProvider: lookupProvider}).asAutocomplete();\n\n if (titleProperty) {\n field.withOptionsLabelPropertyUnsafe(titleProperty);\n }\n\n return field;\n}\n","import {ClassType} from '@mediusinc/mng-commons/core';\nimport {modelClass} from '@mediusinc/mng-commons/model/class';\nimport {EditorDescriptorCreateOptsType, EditorDescriptorInst} from '@mediusinc/mng-commons/tableview/api';\n\nimport {getEditorClassAttributeDef} from './class-editor-attribute-converter';\nimport {EditorClassAttributeDef} from './class-editor-attribute.model';\nimport {upsertEditorFieldFromAttributeDef} from './class-editor-descriptor-helpers';\n\nexport function editorDescriptorFromClass<EditorModel, ParentEditorModel = undefined>(\n type: ClassType<EditorModel>,\n opts?: EditorDescriptorCreateOptsType<EditorModel, ParentEditorModel>\n): EditorDescriptorInst<EditorModel, ParentEditorModel> {\n return new EditorDescriptorInst<EditorModel, ParentEditorModel>(modelClass<EditorModel>(type as ClassType<EditorModel>, opts), opts?.tableviewEditorType);\n}\n\n/**\n * Generates descriptor based on type attribute definition\n * @param type class type\n * @param attributes\n * @param opts\n */\nexport function editorDescriptorFromClassAttrsDef<EditorModel, ParentEditorModel = undefined>(\n type: ClassType<EditorModel>,\n attributes?: EditorClassAttributeDef[],\n opts?: EditorDescriptorCreateOptsType<EditorModel, ParentEditorModel>\n): EditorDescriptorInst<EditorModel, ParentEditorModel> {\n const descriptor = new EditorDescriptorInst<EditorModel, ParentEditorModel>(modelClass(type, opts), opts?.tableviewEditorType);\n (attributes ?? getEditorClassAttributeDef(type))\n .filter(attr => !attr.type.includes('Set') && !attr.type.includes('Array'))\n .forEach(attr => upsertEditorFieldFromAttributeDef(descriptor, attr));\n return descriptor;\n}\n","import {ClassAttributeDef, ClassType, CommonsInternalError, EnumType, TypeRegistry} from '@mediusinc/mng-commons/core';\nimport {ColumnTypeEnum} from '@mediusinc/mng-commons/table/api';\nimport {getColumnDisplayTypeFromColumnType, getColumnTypeFromClassAttributeDefType} from '@mediusinc/mng-commons/table/api/class';\n\nimport {getFieldInputTypeFromClassAttributeDefType} from '../editor/class-editor-attribute-converter';\nimport {TableviewClassAttributeDef} from './class-tableview-attribute.model';\n\nexport function expandClassAttributeDefWithTableviewDef(attributes?: Array<ClassAttributeDef> | null): TableviewClassAttributeDef[] {\n if (!attributes) {\n throw new CommonsInternalError('Class attribute definition is null, problem with TypeRegistry::findAttributesDefinitionByClassType?', {name: 'TableviewUtilsError'});\n }\n\n const typeRegistry = TypeRegistry.get();\n const tableClassAttributeDef: TableviewClassAttributeDef[] = [];\n for (const attribute of attributes) {\n const enumType = typeRegistry.findEnum(attribute.type);\n const columnType = enumType ? ColumnTypeEnum.Enum : getColumnTypeFromClassAttributeDefType(attribute.type);\n tableClassAttributeDef.push({\n name: attribute.name,\n baseName: attribute.baseName,\n type: attribute.type,\n subtype: attribute.subtype,\n columnType: enumType ? ColumnTypeEnum.Enum : getColumnTypeFromClassAttributeDefType(attribute.type),\n columnDisplayType: getColumnDisplayTypeFromColumnType(columnType, attribute.type),\n fieldType: getFieldInputTypeFromClassAttributeDefType(attribute.type),\n enumType: typeRegistry.findEnum(attribute.type) as EnumType,\n classType: typeRegistry.findType(attribute.type) as ClassType<any>\n });\n }\n\n return tableClassAttributeDef;\n}\n\n/**\n * returns attributes from class type and extends to typed def with column and field enum type\n * @param type class type\n */\nexport function getTableviewClassAttributeDef<T>(type: ClassType<T>): TableviewClassAttributeDef[] {\n return expandClassAttributeDefWithTableviewDef(TypeRegistry.get().findAttributesDefinitionByClassType(type));\n}\n","import {ClassType} from '@mediusinc/mng-commons/core';\nimport {modelClass} from '@mediusinc/mng-commons/model/class';\nimport {tableDescriptorFromClassAttrsDef} from '@mediusinc/mng-commons/table/api/class';\nimport {TableviewDescriptorCreateMultiModelWithModelDescriptorOptsType, TableviewDescriptorInst, TableviewEditorTypeEnum} from '@mediusinc/mng-commons/tableview/api';\n\nimport {editorDescriptorFromClassAttrsDef} from '../editor/class-editor-descriptor.factory';\nimport {TableviewClassAttributeDef} from './class-tableview-attribute.model';\n\nexport function tableviewDescriptorFromClass<TableviewModel, Sorts = keyof TableviewModel, Filters = keyof TableviewModel, ParentEditorModel = undefined>(\n type: ClassType<TableviewModel>,\n opts?: TableviewDescriptorCreateMultiModelWithModelDescriptorOptsType<TableviewModel>\n): TableviewDescriptorInst<TableviewModel, Sorts, Filters, ParentEditorModel> {\n return new TableviewDescriptorInst<TableviewModel, Sorts, Filters, ParentEditorModel>(modelClass<TableviewModel>(type as ClassType<TableviewModel>, opts));\n}\n\n/**\n * generates descriptor based on type attribute definition\n * @param type class type\n * @param columnAttributes\n * @param fieldAttributes\n * @param opts\n */\nexport function tableviewDescriptorFromClassAttrsDef<TableviewModel, Sorts = keyof TableviewModel, Filters = keyof TableviewModel>(\n type: ClassType<TableviewModel>,\n columnAttributes?: TableviewClassAttributeDef[],\n fieldAttributes?: TableviewClassAttributeDef[] | null,\n opts?: TableviewDescriptorCreateMultiModelWithModelDescriptorOptsType<TableviewModel>\n): TableviewDescriptorInst<TableviewModel, Sorts, Filters> {\n const model = modelClass(type, opts);\n const descriptor = new TableviewDescriptorInst<TableviewModel, Sorts, Filters>(model);\n descriptor.withTableDescriptor(tableDescriptorFromClassAttrsDef<TableviewModel, Sorts, Filters>(type, columnAttributes, opts));\n\n if (fieldAttributes !== null) {\n descriptor.withEditDescriptor(editorDescriptorFromClassAttrsDef(type, fieldAttributes ?? columnAttributes, {...opts, tableviewEditorType: TableviewEditorTypeEnum.Edit}));\n descriptor.withDetailsDescriptor(\n editorDescriptorFromClassAttrsDef(type, fieldAttributes ?? columnAttributes, {...opts, tableviewEditorType: TableviewEditorTypeEnum.Details}).withDisabled()\n );\n descriptor.withAddDescriptor(editorDescriptorFromClassAttrsDef(type, fieldAttributes ?? columnAttributes, {...opts, tableviewEditorType: TableviewEditorTypeEnum.Add}));\n }\n\n return descriptor;\n}\n","import {ClassType, CommonsInternalError, ILookupDataProvider, TypeRegistry} from '@mediusinc/mng-commons/core';\nimport {EnumDescriptor} from '@mediusinc/mng-commons/model';\nimport {ModelClassDescriptor, findClassTitleAttribute} from '@mediusinc/mng-commons/model/class';\nimport {ColumnDisplayTypeEnum, ColumnTypeEnum} from '@mediusinc/mng-commons/table/api';\nimport {modifyTableClassAttributeColumnTypeUnsafe, modifyTableColumnFilterLookupUnsafe, tableDescriptorModifyEnumColumnUnsafe} from '@mediusinc/mng-commons/table/api/class';\nimport {FieldInputTypeEnum, TableviewDescriptorInst} from '@mediusinc/mng-commons/tableview/api';\n\nimport {getFieldInputTypeFromColumnType} from '../editor/class-editor-attribute-converter';\nimport {modifyEditorClassAttributeFieldEnumUnsafe, modifyEditorClassAttributeFieldTypeUnsafe, modifyEditorFieldLookupUnsafe} from '../editor/class-editor-descriptor-helpers';\nimport {getTableviewClassAttributeDef} from './class-tableview-attribute-converter';\n\n/**\n * creates column and field with custom type, for example currency\n * if field exists, it is replaced\n * DO NOT USE WITH TYPES WHERE ARGS ARE REQUIRED - ERROR WILL BE THROWN\n * for enum use withEnumType\n * for custom class use withClassType\n * @param descriptor Tableview descriptor\n * @param property name of field\n * @param columnType required column type\n * @param fieldType optional, if not provided it is converted from column type\n * @param columnDisplayType optional\n */\nexport function modifyTableviewClassAttributeType<TableviewModel>(\n descriptor: TableviewDescriptorInst<TableviewModel, any, any>,\n property: keyof TableviewModel,\n columnType: ColumnTypeEnum,\n fieldType?: FieldInputTypeEnum,\n columnDisplayType?: ColumnDisplayTypeEnum\n): boolean {\n return modifyTableviewClassAttributeTypeUnsafe(descriptor, property as string, columnType, fieldType, columnDisplayType);\n}\n\nexport function modifyTableviewClassAttributeTypeUnsafe<TableviewModel>(\n descriptor: TableviewDescriptorInst<TableviewModel, any, any>,\n property: string,\n columnType: ColumnTypeEnum,\n fieldType?: FieldInputTypeEnum,\n columnDisplayType?: ColumnDisplayTypeEnum\n): boolean {\n if (!(descriptor.model instanceof ModelClassDescriptor)) {\n throw new CommonsInternalError(`withFieldModifiedType cannot be executed for property ${property}: Model descriptor is not of type 'ModelClassDescriptor' is not defined.`);\n }\n if (columnType === ColumnTypeEnum.Enum) {\n throw new CommonsInternalError('Do not use with types where args are required', {name: 'TableviewDescriptorError'});\n }\n\n const attributeDef = getTableviewClassAttributeDef(descriptor.model.classType).find(attr => attr.name === property);\n\n if (attributeDef != null) {\n fieldType ??= getFieldInputTypeFromColumnType(columnType, columnDisplayType);\n attributeDef.fieldType = fieldType;\n modifyTableClassAttributeColumnTypeUnsafe(descriptor.table, property, columnType, columnDisplayType);\n modifyEditorClassAttributeFieldTypeUnsafe(descriptor.editEditor, property, fieldType);\n modifyEditorClassAttributeFieldTypeUnsafe(descriptor.addEditor, property, fieldType);\n modifyEditorClassAttributeFieldTypeUnsafe(descriptor.detailsEditor, property, fieldType);\n return true;\n }\n\n return false;\n}\n\n/**\n * creates column with enum type\n * if fields exists, it is replaced\n * @param descriptor Tableview descriptor\n * @param property property name\n * @param enumDesc type of enum\n * @param fieldType type of field, optional, default is Text\n */\nexport function modifyTableviewClassAttributeEnum<TableviewModel, Property extends keyof TableviewModel, Enum extends NonNullable<TableviewModel[Property]>>(\n descriptor: TableviewDescriptorInst<TableviewModel, any, any>,\n property: Property,\n enumDesc?: EnumDescriptor<Enum>,\n fieldType?: FieldInputTypeEnum\n): boolean {\n return modifyTableviewClassAttributeEnumUnsafe<TableviewModel, Enum>(descriptor, property as string, enumDesc, fieldType);\n}\n\nexport function modifyTableviewClassAttributeEnumUnsafe<TableviewModel, Enum = any>(\n descriptor: TableviewDescriptorInst<TableviewModel, any, any>,\n property: string,\n enumDesc?: EnumDescriptor<Enum>,\n fieldType?: FieldInputTypeEnum\n): boolean {\n if (!(descriptor.model instanceof ModelClassDescriptor)) {\n throw new CommonsInternalError(`withFieldModifiedType cannot be executed for property ${property}: Model descriptor is not of type 'ModelClassDescriptor' is not defined.`);\n }\n const attributeDef = getTableviewClassAttributeDef(descriptor.model.classType).find(attr => attr.name === property);\n\n if (attributeDef != null) {\n attributeDef.fieldType = fieldType ?? FieldInputTypeEnum.Text;\n tableDescriptorModifyEnumColumnUnsafe(descriptor.table, property, enumDesc);\n modifyEditorClassAttributeFieldEnumUnsafe(descriptor.editEditor, property, enumDesc);\n modifyEditorClassAttributeFieldEnumUnsafe(descriptor.addEditor, property, enumDesc);\n modifyEditorClassAttributeFieldEnumUnsafe(descriptor.detailsEditor, property, enumDesc);\n return true;\n }\n\n return false;\n}\n\n/**\n * generates column with custom class type\n * field is generated only if lookupProvider is provided\n * @param descriptor Tableview descriptor\n * @param property property name\n * @param type class type of object\n * @param titleProperty\n * @param lookupProvider\n * @param optionsLabelProperty\n * @param filterProperty\n */\nexport function modifyTableviewLookup<TableviewModel, Property extends keyof TableviewModel, LookupModel = NonNullable<TableviewModel[Property]>>(\n descriptor: TableviewDescriptorInst<TableviewModel, any, any>,\n property: Property,\n type?: ClassType<LookupModel>,\n lookupProvider?: ILookupDataProvider<LookupModel>,\n titleProperty?: keyof LookupModel,\n optionsLabelProperty?: keyof LookupModel,\n filterProperty?: keyof LookupModel\n): boolean {\n return modifyTableviewLookupUnsafe(descriptor, property as string, type, lookupProvider, titleProperty as string, optionsLabelProperty as string, filterProperty as string);\n}\n\nexport function modifyTableviewLookupUnsafe<TableviewModel, LookupModel>(\n descriptor: TableviewDescriptorInst<TableviewModel, any, any>,\n property: string,\n type?: ClassType<LookupModel>,\n lookupProvider?: ILookupDataProvider<LookupModel>,\n titleProperty?: string,\n optionsLabelProperty?: string,\n filterProperty?: string\n): boolean {\n if (!(descriptor.model instanceof ModelClassDescriptor)) {\n throw new CommonsInternalError(`withFieldModifiedType cannot be executed for property ${property}: Model descriptor is not of type 'ModelClassDescriptor' is not defined.`);\n }\n\n const attributeDef = getTableviewClassAttributeDef(descriptor.model.classType).find(attr => attr.name === property);\n\n if (attributeDef != null) {\n type ??= attributeDef.classType ?? TypeRegistry.get().findType(attributeDef.type);\n titleProperty ??= type ? (findClassTitleAttribute(type) ?? undefined) : undefined;\n optionsLabelProperty ??= titleProperty;\n attributeDef.columnType = ColumnTypeEnum.String;\n attributeDef.fieldType = FieldInputTypeEnum.Text;\n\n if (lookupProvider != null) {\n modifyTableColumnFilterLookupUnsafe(descriptor.table, property, lookupProvider, optionsLabelProperty, filterProperty);\n modifyEditorFieldLookupUnsafe(descriptor.addEditor, property, lookupProvider, optionsLabelProperty);\n modifyEditorFieldLookupUnsafe(descriptor.detailsEditor, property, lookupProvider, optionsLabelProperty);\n modifyEditorFieldLookupUnsafe(descriptor.editEditor, property, lookupProvider, optionsLabelProperty);\n return true;\n } else {\n const column = descriptor.table.getColumnUnsafe(property) ?? descriptor.addColumnUnsafe(property);\n if (titleProperty) {\n column.withGetter(value => value?.[titleProperty as keyof object]);\n }\n return true;\n }\n }\n\n return false;\n}\n","import {ClassType, ServiceClassType} from '@mediusinc/mng-commons/core';\nimport {TableviewDataProviderInst} from '@mediusinc/mng-commons/tableview/api';\n\nexport function tableviewDataProviderFromClass<Model, Sorts = keyof Model, Filters extends keyof any = keyof Model>(\n type: ClassType<Model>\n): TableviewDataProviderInst<Model, undefined, Sorts, Filters, undefined>;\nexport function tableviewDataProviderFromClass<Model, Service = any, Sorts = keyof Model, Filters extends keyof any = keyof Model>(\n type: ClassType<Model>,\n serviceType: ServiceClassType<Service>\n): TableviewDataProviderInst<Model, Service, Sorts, Filters, ServiceClassType<Service>>;\nexport function tableviewDataProviderFromClass<Model, Service = any, Sorts = keyof Model, Filters extends keyof any = keyof Model, ServiceClass = ServiceClassType<Service>>(\n type: ClassType<Model>,\n serviceType?: ServiceClass\n) {\n return new TableviewDataProviderInst<Model, Service, Sorts, Filters, ServiceClass>(serviceType as ServiceClass);\n}\n","// editor\nexport * from './editor/class-editor-attribute.model';\nexport * from './editor/class-editor-attribute-converter';\nexport * from './editor/class-editor-data-provider.factory';\nexport * from './editor/class-editor-descriptor.factory';\nexport * from './editor/class-editor-descriptor-helpers';\n\n// tableview\nexport * from './tableview/class-tableview-attribute.model';\nexport * from './tableview/class-tableview-attribute-converter';\nexport * from './tableview/class-tableview-descriptor.factory';\nexport * from './tableview/class-tableview-descriptor-helpers';\nexport * from './tableview/class-tableview-data-provider.factory';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mediusinc-mng-commons-tableview-api-class.mjs","sources":["../../tableview/api/class/src/editor/class-editor-attribute-converter.ts","../../tableview/api/class/src/editor/class-editor-data-provider.factory.ts","../../tableview/api/class/src/editor/class-editor-descriptor-helpers.ts","../../tableview/api/class/src/editor/class-editor-descriptor.factory.ts","../../tableview/api/class/src/tableview/class-tableview-attribute-converter.ts","../../tableview/api/class/src/tableview/class-tableview-descriptor.factory.ts","../../tableview/api/class/src/tableview/class-tableview-descriptor-helpers.ts","../../tableview/api/class/src/tableview/class-tableview-data-provider.factory.ts","../../tableview/api/class/src/index.ts","../../tableview/api/class/src/mediusinc-mng-commons-tableview-api-class.ts"],"sourcesContent":["import {ClassAttributeDef, ClassType, CommonsInternalError, EnumType, TypeRegistry} from '@mediusinc/mng-commons/core';\nimport {ColumnDisplayTypeEnum, ColumnTypeEnum} from '@mediusinc/mng-commons/table/api';\nimport {FieldInputTypeEnum} from '@mediusinc/mng-commons/tableview/api';\n\nimport {EditorClassAttributeDef} from './class-editor-attribute.model';\n\n/**\n * converts string type to type enum, default is text\n * @param attributeType\n */\nexport function getFieldInputTypeFromClassAttributeDefType(attributeType: string): FieldInputTypeEnum {\n switch (attributeType) {\n case 'hidden':\n return FieldInputTypeEnum.Hidden;\n case 'label':\n return FieldInputTypeEnum.Label;\n case 'textarea':\n return FieldInputTypeEnum.Textarea;\n case 'number':\n return FieldInputTypeEnum.Number;\n case 'currency':\n return FieldInputTypeEnum.Currency;\n case 'switch':\n case 'boolean':\n return FieldInputTypeEnum.Switch;\n case 'radio':\n return FieldInputTypeEnum.Radio;\n case 'datepicker':\n return FieldInputTypeEnum.Datepicker;\n case 'mask':\n return FieldInputTypeEnum.Mask;\n case 'file':\n return FieldInputTypeEnum.File;\n case 'custom':\n return FieldInputTypeEnum.Custom;\n case 'text':\n default:\n return FieldInputTypeEnum.Text;\n }\n}\n\n/**\n * convert column type to equivalent field input type\n * @param type column type\n * @param displayType column display type\n */\nexport function getFieldInputTypeFromColumnType(type: ColumnTypeEnum, displayType?: ColumnDisplayTypeEnum): FieldInputTypeEnum {\n switch (type) {\n case ColumnTypeEnum.Number:\n return displayType === ColumnDisplayTypeEnum.Currency ? FieldInputTypeEnum.Currency : FieldInputTypeEnum.Number;\n case ColumnTypeEnum.Boolean:\n return FieldInputTypeEnum.Switch;\n case ColumnTypeEnum.Date:\n return FieldInputTypeEnum.Datepicker;\n case ColumnTypeEnum.Custom:\n return FieldInputTypeEnum.Custom;\n case ColumnTypeEnum.String:\n case ColumnTypeEnum.Enum:\n default:\n return FieldInputTypeEnum.Text;\n }\n}\n\nexport function expandClassAttributeDefWithEditorDef(attributes?: Array<ClassAttributeDef> | null): EditorClassAttributeDef[] {\n if (!attributes) {\n throw new CommonsInternalError('Class attribute definition is null, problem with TypeRegistry::findAttributesDefinitionByClassType?', {name: 'TableviewUtilsError'});\n }\n\n const typeRegistry = TypeRegistry.get();\n const editorClassAttributeDef: EditorClassAttributeDef[] = [];\n for (const attribute of attributes) {\n editorClassAttributeDef.push({\n name: attribute.name,\n baseName: attribute.baseName,\n type: attribute.type,\n subtype: attribute.subtype,\n fieldType: getFieldInputTypeFromClassAttributeDefType(attribute.type),\n classType: typeRegistry.findType(attribute.type) as ClassType<any>,\n enumType: typeRegistry.findEnum(attribute.type) as EnumType\n });\n }\n\n return editorClassAttributeDef;\n}\n\n/**\n * returns attributes from class type and extends to typed def with column and field enum type\n * @param type class type\n */\nexport function getEditorClassAttributeDef<T>(type: ClassType<T>): EditorClassAttributeDef[] {\n return expandClassAttributeDefWithEditorDef(TypeRegistry.get().findAttributesDefinitionByClassType(type));\n}\n","import {ClassType, ServiceClassType} from '@mediusinc/mng-commons/core';\nimport {EditorDataProviderInst} from '@mediusinc/mng-commons/tableview/api';\n\nexport function editorDataProviderFromClass<Model>(type: ClassType<Model>): EditorDataProviderInst<Model, undefined, undefined>;\nexport function editorDataProviderFromClass<Model, Service = any>(\n type: ClassType<Model>,\n serviceType: ServiceClassType<Service>\n): EditorDataProviderInst<Model, Service, ServiceClassType<Service>>;\nexport function editorDataProviderFromClass<Model, Service = any, ServiceClass = ServiceClassType<Service>>(type: ClassType<Model>, serviceType?: ServiceClass) {\n return new EditorDataProviderInst<Model, Service, ServiceClass>(serviceType as ServiceClass);\n}\n","import {CommonsInternalError, EnumType, ILookupDataProvider, TypeRegistry} from '@mediusinc/mng-commons/core';\nimport {EnumDescriptor, enumModelGeneric} from '@mediusinc/mng-commons/model';\nimport {ModelClassDescriptor} from '@mediusinc/mng-commons/model/class';\nimport {getColumnDisplayTypeFromColumnType, getColumnTypeFromClassAttributeDefType} from '@mediusinc/mng-commons/table/api/class';\nimport {AFieldDescriptor, EditorDescriptorInst, FieldInputDescriptor, FieldInputTypeEnum, FieldLookupDescriptor} from '@mediusinc/mng-commons/tableview/api';\n\nimport {getEditorClassAttributeDef, getFieldInputTypeFromColumnType} from './class-editor-attribute-converter';\nimport {EditorClassAttributeDef} from './class-editor-attribute.model';\n\n/**\n * Generates field based on attribute definition, used for auto model\n * @param descriptor Editor descriptor instance.\n * @param attribute Attribute definition.\n * @param field Optional, if defined will be replaced, otherwise new will be generated.\n * @param args Optional additional arguments mapped to filed type. Arguments depend on possible arguments on fields.\n * @internal\n */\nexport function upsertEditorFieldFromAttributeDef<T>(\n descriptor: EditorDescriptorInst<T, any>,\n attribute: EditorClassAttributeDef,\n field?: AFieldDescriptor<any, T>,\n ...args: any[]\n): AFieldDescriptor<any, T> {\n if (field == null) {\n field = descriptor.addFieldUnsafe(attribute.name);\n }\n\n if (field instanceof FieldInputDescriptor) {\n if (attribute.enumType) {\n return field.asRadioFromEnum(enumModelGeneric(attribute.enumType));\n } else {\n const tableColumnType = getColumnTypeFromClassAttributeDefType(attribute.type);\n const tableColumnDisplayType = getColumnDisplayTypeFromColumnType(tableColumnType, attribute.type);\n return field.asType(attribute.fieldType ?? getFieldInputTypeFromColumnType(tableColumnType, tableColumnDisplayType), ...args);\n }\n }\n\n return field;\n}\n\n/**\n * Modifies selected field by field property. For enums use {withFieldModifiedEnum} instead.\n * @param descriptor Editor descriptor.\n * @param property Model's property name.\n * @param fieldType new field type for selected field\n * @param args additional parameters for field\n */\nexport function modifyEditorClassAttributeFieldType<\n EditorModel,\n Property extends keyof EditorModel,\n FieldModel = NonNullable<EditorModel[Property]>,\n FieldValue = EditorModel[Property]\n>(\n descriptor: EditorDescriptorInst<EditorModel, any>,\n property: Property,\n fieldType: FieldInputTypeEnum,\n ...args: any[]\n): AFieldDescriptor<FieldModel, EditorModel, FieldValue> | null {\n return modifyEditorClassAttributeFieldTypeUnsafe<EditorModel, FieldModel, FieldValue>(descriptor, property as string, fieldType, ...args);\n}\n\nexport function modifyEditorClassAttributeFieldTypeUnsafe<EditorModel, FieldModel = any, FieldValue = FieldModel>(\n descriptor: EditorDescriptorInst<EditorModel, any>,\n property: string,\n fieldType: FieldInputTypeEnum,\n ...args: any[]\n): AFieldDescriptor<FieldModel, EditorModel, FieldValue> | null {\n if (!(descriptor.model instanceof ModelClassDescriptor)) {\n throw new CommonsInternalError(`withFieldModifiedType cannot be executed for property ${property}: Model descriptor is not of type 'ModelClassDescriptor' is not defined.`);\n }\n\n const attribute = getEditorClassAttributeDef(descriptor.model.classType).find(attribute => attribute.name === property);\n if (attribute) {\n attribute.fieldType = fieldType;\n return upsertEditorFieldFromAttributeDef(\n descriptor,\n attribute,\n descriptor.fields.find(fi => fi.property === property),\n ...args\n );\n }\n\n return null;\n}\n\n/**\n * Modifies selected field with enum type.\n * @param descriptor Editor descriptor.\n * @param property Model's property name.\n * @param enumModel Enum descriptor.\n * @param values\n */\nexport function modifyEditorClassAttributeFieldEnum<\n EditorModel,\n Property extends keyof EditorModel,\n Enum extends NonNullable<EditorModel[Property]>,\n FieldModel = NonNullable<EditorModel[Property]>,\n FieldValue = EditorModel[Property]\n>(\n descriptor: EditorDescriptorInst<EditorModel, any>,\n property: Property,\n enumModel?: EnumDescriptor<Enum>,\n values?: Array<Enum>\n): AFieldDescriptor<FieldModel, EditorModel, FieldValue> | null {\n return modifyEditorClassAttributeFieldEnumUnsafe<EditorModel, Enum, FieldModel, FieldValue>(descriptor, property as string, enumModel, values);\n}\n\nexport function modifyEditorClassAttributeFieldEnumUnsafe<EditorModel, Enum = any, FieldModel = any, FieldValue = FieldModel>(\n descriptor: EditorDescriptorInst<EditorModel, any>,\n property: string,\n enumDesc?: EnumDescriptor<Enum>,\n values?: Array<Enum>\n): AFieldDescriptor<FieldModel, EditorModel, FieldValue> | null {\n if (!(descriptor.model instanceof ModelClassDescriptor)) {\n throw new CommonsInternalError(`withFieldModifiedType cannot be executed for property ${property}: Model descriptor is not of type 'ModelClassDescriptor' is not defined.`);\n }\n\n const attribute = getEditorClassAttributeDef(descriptor.model.classType).find(a => a.name === property);\n if (attribute) {\n attribute.fieldType = FieldInputTypeEnum.Radio;\n const field = descriptor.fields.find(f => f.property === property);\n if (field && field instanceof FieldInputDescriptor) {\n field.asRadioFromEnum(enumDesc ?? enumModelGeneric(TypeRegistry.get().findEnum(attribute.type) as EnumType), values);\n }\n return field ?? null;\n }\n\n return null;\n}\n\n/**\n * Modifies selected field with lookup field.\n * @param descriptor Editor descriptor.\n * @param property Model's property name.\n * @param lookupProvider provider to be added to field\n * @param titleProperty\n */\nexport function modifyEditorFieldLookup<\n EditorModel,\n Property extends keyof EditorModel,\n Service,\n FieldModel = NonNullable<EditorModel[Property]>,\n FieldValue = EditorModel[Property]\n>(\n descriptor: EditorDescriptorInst<EditorModel, any>,\n property: Property,\n lookupProvider: ILookupDataProvider<FieldModel, Service>,\n titleProperty?: keyof FieldModel\n): FieldLookupDescriptor<FieldModel, EditorModel, Service, FieldValue> {\n return modifyEditorFieldLookupUnsafe<EditorModel, Service, FieldModel, FieldValue>(descriptor, property as string, lookupProvider, titleProperty as string);\n}\n\nexport function modifyEditorFieldLookupUnsafe<EditorModel, Service, FieldModel = any, FieldValue = FieldModel>(\n descriptor: EditorDescriptorInst<EditorModel, any>,\n property: string,\n lookupProvider: ILookupDataProvider<FieldModel, Service>,\n titleProperty?: string\n): FieldLookupDescriptor<FieldModel, EditorModel, Service, FieldValue> {\n descriptor.removeFieldUnsafe(property);\n const field = descriptor.addFieldLookupUnsafe<FieldModel, Service, FieldValue>(property, {serviceProvider: lookupProvider}).asAutocomplete();\n\n if (titleProperty) {\n field.withOptionsLabelPropertyUnsafe(titleProperty);\n }\n\n return field;\n}\n","import {ClassType} from '@mediusinc/mng-commons/core';\nimport {modelClass} from '@mediusinc/mng-commons/model/class';\nimport {EditorDescriptorCreateOptsType, EditorDescriptorInst} from '@mediusinc/mng-commons/tableview/api';\n\nimport {getEditorClassAttributeDef} from './class-editor-attribute-converter';\nimport {EditorClassAttributeDef} from './class-editor-attribute.model';\nimport {upsertEditorFieldFromAttributeDef} from './class-editor-descriptor-helpers';\n\nexport function editorDescriptorFromClass<EditorModel, ParentEditorModel = undefined>(\n type: ClassType<EditorModel>,\n opts?: EditorDescriptorCreateOptsType<EditorModel, ParentEditorModel>\n): EditorDescriptorInst<EditorModel, ParentEditorModel> {\n return new EditorDescriptorInst<EditorModel, ParentEditorModel>(modelClass<EditorModel>(type as ClassType<EditorModel>, opts), opts?.tableviewEditorType);\n}\n\n/**\n * Generates descriptor based on type attribute definition\n * @param type class type\n * @param attributes\n * @param opts\n */\nexport function editorDescriptorFromClassAttrsDef<EditorModel, ParentEditorModel = undefined>(\n type: ClassType<EditorModel>,\n attributes?: EditorClassAttributeDef[],\n opts?: EditorDescriptorCreateOptsType<EditorModel, ParentEditorModel>\n): EditorDescriptorInst<EditorModel, ParentEditorModel> {\n const descriptor = new EditorDescriptorInst<EditorModel, ParentEditorModel>(modelClass(type, opts), opts?.tableviewEditorType);\n (attributes ?? getEditorClassAttributeDef(type))\n .filter(attr => !attr.type.includes('Set') && !attr.type.includes('Array'))\n .forEach(attr => upsertEditorFieldFromAttributeDef(descriptor, attr));\n return descriptor;\n}\n","import {ClassAttributeDef, ClassType, CommonsInternalError, EnumType, TypeRegistry} from '@mediusinc/mng-commons/core';\nimport {ColumnTypeEnum} from '@mediusinc/mng-commons/table/api';\nimport {getColumnDisplayTypeFromColumnType, getColumnTypeFromClassAttributeDefType} from '@mediusinc/mng-commons/table/api/class';\n\nimport {getFieldInputTypeFromClassAttributeDefType} from '../editor/class-editor-attribute-converter';\nimport {TableviewClassAttributeDef} from './class-tableview-attribute.model';\n\nexport function expandClassAttributeDefWithTableviewDef(attributes?: Array<ClassAttributeDef> | null): TableviewClassAttributeDef[] {\n if (!attributes) {\n throw new CommonsInternalError('Class attribute definition is null, problem with TypeRegistry::findAttributesDefinitionByClassType?', {name: 'TableviewUtilsError'});\n }\n\n const typeRegistry = TypeRegistry.get();\n const tableClassAttributeDef: TableviewClassAttributeDef[] = [];\n for (const attribute of attributes) {\n const enumType = typeRegistry.findEnum(attribute.type);\n const columnType = enumType ? ColumnTypeEnum.Enum : getColumnTypeFromClassAttributeDefType(attribute.type);\n tableClassAttributeDef.push({\n name: attribute.name,\n baseName: attribute.baseName,\n type: attribute.type,\n subtype: attribute.subtype,\n columnType: enumType ? ColumnTypeEnum.Enum : getColumnTypeFromClassAttributeDefType(attribute.type),\n columnDisplayType: getColumnDisplayTypeFromColumnType(columnType, attribute.type),\n fieldType: getFieldInputTypeFromClassAttributeDefType(attribute.type),\n enumType: typeRegistry.findEnum(attribute.type) as EnumType,\n classType: typeRegistry.findType(attribute.type) as ClassType<any>\n });\n }\n\n return tableClassAttributeDef;\n}\n\n/**\n * returns attributes from class type and extends to typed def with column and field enum type\n * @param type class type\n */\nexport function getTableviewClassAttributeDef<T>(type: ClassType<T>): TableviewClassAttributeDef[] {\n return expandClassAttributeDefWithTableviewDef(TypeRegistry.get().findAttributesDefinitionByClassType(type));\n}\n","import {ClassType} from '@mediusinc/mng-commons/core';\nimport {ModelDescriptor, TypeDescriptor} from '@mediusinc/mng-commons/model';\nimport {modelClass} from '@mediusinc/mng-commons/model/class';\nimport {tableDescriptorFromClassAttrsDef} from '@mediusinc/mng-commons/table/api/class';\nimport {\n EditorDescriptorInst,\n TableviewDescriptorCreateMultiModelWithModelDescriptorOptsType,\n TableviewDescriptorInst,\n TableviewEditorTypeEnum\n} from '@mediusinc/mng-commons/tableview/api';\n\nimport {editorDescriptorFromClassAttrsDef} from '../editor/class-editor-descriptor.factory';\nimport {TableviewClassAttributeDef} from './class-tableview-attribute.model';\n\nexport function tableviewDescriptorFromClass<TableviewModel, Sorts = keyof TableviewModel, Filters = keyof TableviewModel, ParentEditorModel = undefined>(\n type: ClassType<TableviewModel>,\n opts?: TableviewDescriptorCreateMultiModelWithModelDescriptorOptsType<TableviewModel>\n): TableviewDescriptorInst<TableviewModel, Sorts, Filters, ParentEditorModel> {\n return new TableviewDescriptorInst<TableviewModel, Sorts, Filters, ParentEditorModel>(modelClass<TableviewModel>(type as ClassType<TableviewModel>, opts));\n}\n\n/**\n * generates descriptor based on type attribute definition\n * @param type class type\n * @param columnAttributes\n * @param fieldAttributes\n * @param opts\n */\nexport function tableviewDescriptorFromClassAttrsDef<TableviewModel, Sorts = keyof TableviewModel, Filters = keyof TableviewModel, ParentEditorModel = undefined>(\n type: ClassType<TableviewModel>,\n columnAttributes?: TableviewClassAttributeDef[],\n fieldAttributes?: TableviewClassAttributeDef[] | null,\n opts?: TableviewDescriptorCreateMultiModelWithModelDescriptorOptsType<TableviewModel, Sorts, Filters, ParentEditorModel>\n): TableviewDescriptorInst<TableviewModel, Sorts, Filters, ParentEditorModel> {\n const model = modelClass(type, opts);\n const descriptor = new TableviewDescriptorInst<TableviewModel, Sorts, Filters, ParentEditorModel>(model);\n descriptor.withTableDescriptor(tableDescriptorFromClassAttrsDef<TableviewModel, Sorts, Filters>(type, columnAttributes, opts));\n\n if (fieldAttributes !== null) {\n const editorOpts = {\n ...opts,\n parentEditorType: opts?.parentEditorType as TypeDescriptor<ParentEditorModel> | ModelDescriptor<ParentEditorModel> | EditorDescriptorInst<ParentEditorModel, any>\n };\n\n descriptor.withEditDescriptor(\n editorDescriptorFromClassAttrsDef(type, fieldAttributes ?? columnAttributes, {\n ...editorOpts,\n tableviewEditorType: TableviewEditorTypeEnum.Edit\n })\n );\n descriptor.withDetailsDescriptor(\n editorDescriptorFromClassAttrsDef(type, fieldAttributes ?? columnAttributes, {...editorOpts, tableviewEditorType: TableviewEditorTypeEnum.Details}).withDisabled()\n );\n descriptor.withAddDescriptor(\n editorDescriptorFromClassAttrsDef(type, fieldAttributes ?? columnAttributes, {...editorOpts, tableviewEditorType: TableviewEditorTypeEnum.Add})\n );\n }\n\n return descriptor;\n}\n","import {ClassType, CommonsInternalError, ILookupDataProvider, TypeRegistry} from '@mediusinc/mng-commons/core';\nimport {EnumDescriptor} from '@mediusinc/mng-commons/model';\nimport {ModelClassDescriptor, findClassTitleAttribute} from '@mediusinc/mng-commons/model/class';\nimport {ColumnDisplayTypeEnum, ColumnTypeEnum} from '@mediusinc/mng-commons/table/api';\nimport {modifyTableClassAttributeColumnTypeUnsafe, modifyTableColumnFilterLookupUnsafe, tableDescriptorModifyEnumColumnUnsafe} from '@mediusinc/mng-commons/table/api/class';\nimport {FieldInputTypeEnum, TableviewDescriptorInst} from '@mediusinc/mng-commons/tableview/api';\n\nimport {getFieldInputTypeFromColumnType} from '../editor/class-editor-attribute-converter';\nimport {modifyEditorClassAttributeFieldEnumUnsafe, modifyEditorClassAttributeFieldTypeUnsafe, modifyEditorFieldLookupUnsafe} from '../editor/class-editor-descriptor-helpers';\nimport {getTableviewClassAttributeDef} from './class-tableview-attribute-converter';\n\n/**\n * creates column and field with custom type, for example currency\n * if field exists, it is replaced\n * DO NOT USE WITH TYPES WHERE ARGS ARE REQUIRED - ERROR WILL BE THROWN\n * for enum use withEnumType\n * for custom class use withClassType\n * @param descriptor Tableview descriptor\n * @param property name of field\n * @param columnType required column type\n * @param fieldType optional, if not provided it is converted from column type\n * @param columnDisplayType optional\n */\nexport function modifyTableviewClassAttributeType<TableviewModel>(\n descriptor: TableviewDescriptorInst<TableviewModel, any, any>,\n property: keyof TableviewModel,\n columnType: ColumnTypeEnum,\n fieldType?: FieldInputTypeEnum,\n columnDisplayType?: ColumnDisplayTypeEnum\n): boolean {\n return modifyTableviewClassAttributeTypeUnsafe(descriptor, property as string, columnType, fieldType, columnDisplayType);\n}\n\nexport function modifyTableviewClassAttributeTypeUnsafe<TableviewModel>(\n descriptor: TableviewDescriptorInst<TableviewModel, any, any>,\n property: string,\n columnType: ColumnTypeEnum,\n fieldType?: FieldInputTypeEnum,\n columnDisplayType?: ColumnDisplayTypeEnum\n): boolean {\n if (!(descriptor.model instanceof ModelClassDescriptor)) {\n throw new CommonsInternalError(`withFieldModifiedType cannot be executed for property ${property}: Model descriptor is not of type 'ModelClassDescriptor' is not defined.`);\n }\n if (columnType === ColumnTypeEnum.Enum) {\n throw new CommonsInternalError('Do not use with types where args are required', {name: 'TableviewDescriptorError'});\n }\n\n const attributeDef = getTableviewClassAttributeDef(descriptor.model.classType).find(attr => attr.name === property);\n\n if (attributeDef != null) {\n fieldType ??= getFieldInputTypeFromColumnType(columnType, columnDisplayType);\n attributeDef.fieldType = fieldType;\n modifyTableClassAttributeColumnTypeUnsafe(descriptor.table, property, columnType, columnDisplayType);\n modifyEditorClassAttributeFieldTypeUnsafe(descriptor.editEditor, property, fieldType);\n modifyEditorClassAttributeFieldTypeUnsafe(descriptor.addEditor, property, fieldType);\n modifyEditorClassAttributeFieldTypeUnsafe(descriptor.detailsEditor, property, fieldType);\n return true;\n }\n\n return false;\n}\n\n/**\n * creates column with enum type\n * if fields exists, it is replaced\n * @param descriptor Tableview descriptor\n * @param property property name\n * @param enumDesc type of enum\n * @param fieldType type of field, optional, default is Text\n */\nexport function modifyTableviewClassAttributeEnum<TableviewModel, Property extends keyof TableviewModel, Enum extends NonNullable<TableviewModel[Property]>>(\n descriptor: TableviewDescriptorInst<TableviewModel, any, any>,\n property: Property,\n enumDesc?: EnumDescriptor<Enum>,\n fieldType?: FieldInputTypeEnum\n): boolean {\n return modifyTableviewClassAttributeEnumUnsafe<TableviewModel, Enum>(descriptor, property as string, enumDesc, fieldType);\n}\n\nexport function modifyTableviewClassAttributeEnumUnsafe<TableviewModel, Enum = any>(\n descriptor: TableviewDescriptorInst<TableviewModel, any, any>,\n property: string,\n enumDesc?: EnumDescriptor<Enum>,\n fieldType?: FieldInputTypeEnum\n): boolean {\n if (!(descriptor.model instanceof ModelClassDescriptor)) {\n throw new CommonsInternalError(`withFieldModifiedType cannot be executed for property ${property}: Model descriptor is not of type 'ModelClassDescriptor' is not defined.`);\n }\n const attributeDef = getTableviewClassAttributeDef(descriptor.model.classType).find(attr => attr.name === property);\n\n if (attributeDef != null) {\n attributeDef.fieldType = fieldType ?? FieldInputTypeEnum.Text;\n tableDescriptorModifyEnumColumnUnsafe(descriptor.table, property, enumDesc);\n modifyEditorClassAttributeFieldEnumUnsafe(descriptor.editEditor, property, enumDesc);\n modifyEditorClassAttributeFieldEnumUnsafe(descriptor.addEditor, property, enumDesc);\n modifyEditorClassAttributeFieldEnumUnsafe(descriptor.detailsEditor, property, enumDesc);\n return true;\n }\n\n return false;\n}\n\n/**\n * generates column with custom class type\n * field is generated only if lookupProvider is provided\n * @param descriptor Tableview descriptor\n * @param property property name\n * @param type class type of object\n * @param titleProperty\n * @param lookupProvider\n * @param optionsLabelProperty\n * @param filterProperty\n */\nexport function modifyTableviewLookup<TableviewModel, Property extends keyof TableviewModel, LookupModel = NonNullable<TableviewModel[Property]>>(\n descriptor: TableviewDescriptorInst<TableviewModel, any, any>,\n property: Property,\n type?: ClassType<LookupModel>,\n lookupProvider?: ILookupDataProvider<LookupModel>,\n titleProperty?: keyof LookupModel,\n optionsLabelProperty?: keyof LookupModel,\n filterProperty?: keyof LookupModel\n): boolean {\n return modifyTableviewLookupUnsafe(descriptor, property as string, type, lookupProvider, titleProperty as string, optionsLabelProperty as string, filterProperty as string);\n}\n\nexport function modifyTableviewLookupUnsafe<TableviewModel, LookupModel>(\n descriptor: TableviewDescriptorInst<TableviewModel, any, any>,\n property: string,\n type?: ClassType<LookupModel>,\n lookupProvider?: ILookupDataProvider<LookupModel>,\n titleProperty?: string,\n optionsLabelProperty?: string,\n filterProperty?: string\n): boolean {\n if (!(descriptor.model instanceof ModelClassDescriptor)) {\n throw new CommonsInternalError(`withFieldModifiedType cannot be executed for property ${property}: Model descriptor is not of type 'ModelClassDescriptor' is not defined.`);\n }\n\n const attributeDef = getTableviewClassAttributeDef(descriptor.model.classType).find(attr => attr.name === property);\n\n if (attributeDef != null) {\n type ??= attributeDef.classType ?? TypeRegistry.get().findType(attributeDef.type);\n titleProperty ??= type ? (findClassTitleAttribute(type) ?? undefined) : undefined;\n optionsLabelProperty ??= titleProperty;\n attributeDef.columnType = ColumnTypeEnum.String;\n attributeDef.fieldType = FieldInputTypeEnum.Text;\n\n if (lookupProvider != null) {\n modifyTableColumnFilterLookupUnsafe(descriptor.table, property, lookupProvider, optionsLabelProperty, filterProperty);\n modifyEditorFieldLookupUnsafe(descriptor.addEditor, property, lookupProvider, optionsLabelProperty);\n modifyEditorFieldLookupUnsafe(descriptor.detailsEditor, property, lookupProvider, optionsLabelProperty);\n modifyEditorFieldLookupUnsafe(descriptor.editEditor, property, lookupProvider, optionsLabelProperty);\n return true;\n } else {\n const column = descriptor.table.getColumnUnsafe(property) ?? descriptor.addColumnUnsafe(property);\n if (titleProperty) {\n column.withGetter(value => value?.[titleProperty as keyof object]);\n }\n return true;\n }\n }\n\n return false;\n}\n","import {ClassType, ServiceClassType} from '@mediusinc/mng-commons/core';\nimport {TableviewDataProviderInst} from '@mediusinc/mng-commons/tableview/api';\n\nexport function tableviewDataProviderFromClass<Model, Sorts = keyof Model, Filters extends keyof any = keyof Model>(\n type: ClassType<Model>\n): TableviewDataProviderInst<Model, undefined, Sorts, Filters, undefined>;\nexport function tableviewDataProviderFromClass<Model, Service = any, Sorts = keyof Model, Filters extends keyof any = keyof Model>(\n type: ClassType<Model>,\n serviceType: ServiceClassType<Service>\n): TableviewDataProviderInst<Model, Service, Sorts, Filters, ServiceClassType<Service>>;\nexport function tableviewDataProviderFromClass<Model, Service = any, Sorts = keyof Model, Filters extends keyof any = keyof Model, ServiceClass = ServiceClassType<Service>>(\n type: ClassType<Model>,\n serviceType?: ServiceClass\n) {\n return new TableviewDataProviderInst<Model, Service, Sorts, Filters, ServiceClass>(serviceType as ServiceClass);\n}\n","// editor\nexport * from './editor/class-editor-attribute.model';\nexport * from './editor/class-editor-attribute-converter';\nexport * from './editor/class-editor-data-provider.factory';\nexport * from './editor/class-editor-descriptor.factory';\nexport * from './editor/class-editor-descriptor-helpers';\n\n// tableview\nexport * from './tableview/class-tableview-attribute.model';\nexport * from './tableview/class-tableview-attribute-converter';\nexport * from './tableview/class-tableview-descriptor.factory';\nexport * from './tableview/class-tableview-descriptor-helpers';\nexport * from './tableview/class-tableview-data-provider.factory';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1276,7 +1276,6 @@ class FieldValidationDescriptor {
1276
1276
  }
1277
1277
  }
1278
1278
 
1279
- const fieldDescriptorEmptyLabelType = '_emptyLabel';
1280
1279
  class AGenericFieldDescriptor {
1281
1280
  // eslint-disable-next-line @typescript-eslint/no-empty-function
1282
1281
  constructor() {
@@ -1432,8 +1431,13 @@ class AFieldDescriptor extends AGenericFieldDescriptor {
1432
1431
  this._labelUseModelBase = useModelBase;
1433
1432
  return this;
1434
1433
  }
1434
+ /**
1435
+ * Set label to empty string.
1436
+ *
1437
+ * @deprecated Use `withLabel('')` instead.
1438
+ */
1435
1439
  withEmptyLabel() {
1436
- this._label = fieldDescriptorEmptyLabelType;
1440
+ this._label = '';
1437
1441
  return this;
1438
1442
  }
1439
1443
  withPlaceholder(placeholder) {
@@ -1576,6 +1580,7 @@ class AFieldDescriptor extends AGenericFieldDescriptor {
1576
1580
  obj._config = objectDeepCopy(this._config);
1577
1581
  obj._formlyConfig = objectDeepCopy(this._formlyConfig);
1578
1582
  obj._label = this._label;
1583
+ obj._labelUseModelBase = this._labelUseModelBase;
1579
1584
  obj._placeholder = this._placeholder;
1580
1585
  obj._labelInfoTooltip = this._labelInfoTooltip;
1581
1586
  obj._labelInfoTooltipIcon = this._labelInfoTooltipIcon;
@@ -4306,5 +4311,5 @@ function tableviewDataProviderFromDescriptor(descriptor, serviceType) {
4306
4311
  * Generated bundle index. Do not edit.
4307
4312
  */
4308
4313
 
4309
- export { AFieldDescriptor, AFieldGroupDescriptor, AFormlyCustomFieldComponent, AGenericFieldDescriptor, ActionActivationTriggerEnum, ActionDescriptorInst, ActionEditorDescriptorInst, ActionEditorSubmitDescriptorInst, ActionEditorSubmitTypeEnum, ActionInstanceStateEnum, ActionLinkDescriptorInst, ActionPositionEnum, ActionTypeEnum, CommonsActionError, DATA_LANGUAGE_DROPDOWN_COMPONENT_IT, DataProviderExecutor, DynamicTableviewDataProviderInst, EDITOR_DEFAULT_GROUP_NAME, EditorDataProviderInst, EditorDescriptorInst, EditorDescriptorNestedObjectWrapper, FieldActionDescriptor, FieldGroupDescriptor, FieldGroupTypeEnum, FieldInputDescriptor, FieldInputTypeEnum, FieldLookupDescriptor, FieldLookupEnumDescriptor, FieldLookupTypeEnum, FieldManyEditorActionEnum, FieldManyEditorDescriptor, FieldManyEditorTypeEnum, FieldManyToManyEditorActionEnum, FieldManyToManyEditorDescriptor, FieldManyToManyEditorTypeEnum, FieldSizeEnum, FieldTabGroupDescriptor, FieldValidationDescriptor, FormEventTypeEnum, FormFieldEventComponentSubtype, FormFieldEventDialogSubtype, FormFieldEventTypeEnum, TableviewActionDefaultCategories, TableviewDataProviderInst, TableviewDefaultActionsEnum, TableviewDescriptorInst, TableviewDynamicDescriptorInt, TableviewEditorTypeEnum, TableviewInputBuilder, action, actionEditor, actionEditorCancel, actionEditorGetProviderCfgObj, actionEditorOnEditor, actionEditorOnTableRow, actionEditorOnTableTop, actionEditorSubmit, actionGetProviderCfgObj, actionLink, actionLinkFromAction, actionOnEditor, actionOnTableRow, actionOnTableTop, convertDataToStringWithDelimiter, editorDataProvider, editorDescriptor, fieldDescriptorEmptyLabelType, fieldLookupGetProviderCfgObj, fieldManyToManyGetProviderCfgObj, getDataProviderService, runCreateFromDataProvider, runDeleteFromDataProvider, runFetchFromDataProvider, runFnFromDataProviderOrFail, runFnFromDataProviderOrFallback, runGetAllFromDataProvider, runUpdateFromDataProvider, saveFileAs, tableview, tableviewActionAddOnTable, tableviewActionDeleteActionName, tableviewActionDeleteOnDetails, tableviewActionDeleteOnTable, tableviewActionDetailsOnTable, tableviewActionEditOnDetails, tableviewActionEditOnTable, tableviewActionEditorAddActionName, tableviewActionEditorAddRoute, tableviewActionEditorDetailsActionName, tableviewActionEditorDetailsRoute, tableviewActionEditorEditActionName, tableviewActionEditorEditRoute, tableviewActionExportCsvOnTable, tableviewActionExportJsonOnTable, tableviewActionExportOnTable, tableviewActionLocalizationLangSelectOnTable, tableviewActionRefreshOnTable, tableviewCreateDefaultAction, tableviewCreateDefaultActions, tableviewDataProvider, tableviewDataProviderFromDescriptor, tableviewDescriptor, tableviewDescriptorMultiModel, tableviewDynamicDataProvider, tableviewDynamicDescriptor, tableviewGetDefaultActions, tableviewMultiModel };
4314
+ export { AFieldDescriptor, AFieldGroupDescriptor, AFormlyCustomFieldComponent, AGenericFieldDescriptor, ActionActivationTriggerEnum, ActionDescriptorInst, ActionEditorDescriptorInst, ActionEditorSubmitDescriptorInst, ActionEditorSubmitTypeEnum, ActionInstanceStateEnum, ActionLinkDescriptorInst, ActionPositionEnum, ActionTypeEnum, CommonsActionError, DATA_LANGUAGE_DROPDOWN_COMPONENT_IT, DataProviderExecutor, DynamicTableviewDataProviderInst, EDITOR_DEFAULT_GROUP_NAME, EditorDataProviderInst, EditorDescriptorInst, EditorDescriptorNestedObjectWrapper, FieldActionDescriptor, FieldGroupDescriptor, FieldGroupTypeEnum, FieldInputDescriptor, FieldInputTypeEnum, FieldLookupDescriptor, FieldLookupEnumDescriptor, FieldLookupTypeEnum, FieldManyEditorActionEnum, FieldManyEditorDescriptor, FieldManyEditorTypeEnum, FieldManyToManyEditorActionEnum, FieldManyToManyEditorDescriptor, FieldManyToManyEditorTypeEnum, FieldSizeEnum, FieldTabGroupDescriptor, FieldValidationDescriptor, FormEventTypeEnum, FormFieldEventComponentSubtype, FormFieldEventDialogSubtype, FormFieldEventTypeEnum, TableviewActionDefaultCategories, TableviewDataProviderInst, TableviewDefaultActionsEnum, TableviewDescriptorInst, TableviewDynamicDescriptorInt, TableviewEditorTypeEnum, TableviewInputBuilder, action, actionEditor, actionEditorCancel, actionEditorGetProviderCfgObj, actionEditorOnEditor, actionEditorOnTableRow, actionEditorOnTableTop, actionEditorSubmit, actionGetProviderCfgObj, actionLink, actionLinkFromAction, actionOnEditor, actionOnTableRow, actionOnTableTop, convertDataToStringWithDelimiter, editorDataProvider, editorDescriptor, fieldLookupGetProviderCfgObj, fieldManyToManyGetProviderCfgObj, getDataProviderService, runCreateFromDataProvider, runDeleteFromDataProvider, runFetchFromDataProvider, runFnFromDataProviderOrFail, runFnFromDataProviderOrFallback, runGetAllFromDataProvider, runUpdateFromDataProvider, saveFileAs, tableview, tableviewActionAddOnTable, tableviewActionDeleteActionName, tableviewActionDeleteOnDetails, tableviewActionDeleteOnTable, tableviewActionDetailsOnTable, tableviewActionEditOnDetails, tableviewActionEditOnTable, tableviewActionEditorAddActionName, tableviewActionEditorAddRoute, tableviewActionEditorDetailsActionName, tableviewActionEditorDetailsRoute, tableviewActionEditorEditActionName, tableviewActionEditorEditRoute, tableviewActionExportCsvOnTable, tableviewActionExportJsonOnTable, tableviewActionExportOnTable, tableviewActionLocalizationLangSelectOnTable, tableviewActionRefreshOnTable, tableviewCreateDefaultAction, tableviewCreateDefaultActions, tableviewDataProvider, tableviewDataProviderFromDescriptor, tableviewDescriptor, tableviewDescriptorMultiModel, tableviewDynamicDataProvider, tableviewDynamicDescriptor, tableviewGetDefaultActions, tableviewMultiModel };
4310
4315
  //# sourceMappingURL=mediusinc-mng-commons-tableview-api.mjs.map