@mediusinc/mng-commons 7.4.0 → 8.0.0-rc.2
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.
- package/README.md +74 -62
- package/fesm2022/mediusinc-mng-commons-core.mjs +159 -302
- package/fesm2022/mediusinc-mng-commons-core.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-filter.mjs +3 -9
- package/fesm2022/mediusinc-mng-commons-filter.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-form-api.mjs +4 -4
- package/fesm2022/mediusinc-mng-commons-form-api.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-form.mjs +285 -203
- package/fesm2022/mediusinc-mng-commons-form.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-model.mjs +2 -5
- package/fesm2022/mediusinc-mng-commons-model.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-table-api.mjs +1 -0
- package/fesm2022/mediusinc-mng-commons-table-api.mjs.map +1 -1
- package/fesm2022/{mediusinc-mng-commons-table-column-toggle.component-BS5xvoDR.mjs → mediusinc-mng-commons-table-column-toggle.component-BHIzrUZz.mjs} +14 -12
- package/fesm2022/mediusinc-mng-commons-table-column-toggle.component-BHIzrUZz.mjs.map +1 -0
- package/fesm2022/{mediusinc-mng-commons-table-mediusinc-mng-commons-table-BfEYZG7s.mjs → mediusinc-mng-commons-table-mediusinc-mng-commons-table-BPgwJRZk.mjs} +558 -522
- package/fesm2022/mediusinc-mng-commons-table-mediusinc-mng-commons-table-BPgwJRZk.mjs.map +1 -0
- package/fesm2022/mediusinc-mng-commons-table.mjs +1 -1
- package/fesm2022/mediusinc-mng-commons-tableview-api.mjs +10 -75
- package/fesm2022/mediusinc-mng-commons-tableview-api.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-tableview.mjs +460 -326
- package/fesm2022/mediusinc-mng-commons-tableview.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons.mjs.map +1 -1
- package/i18n/en.json +1 -1
- package/i18n/sl.json +2 -2
- package/package.json +11 -24
- package/types/mediusinc-mng-commons-core.d.ts +55 -115
- package/types/mediusinc-mng-commons-filter.d.ts +4 -8
- package/types/mediusinc-mng-commons-form-api.d.ts +7 -7
- package/types/mediusinc-mng-commons-form.d.ts +11 -11
- package/types/mediusinc-mng-commons-table-api.d.ts +2 -2
- package/types/mediusinc-mng-commons-table.d.ts +21 -25
- package/types/mediusinc-mng-commons-tableview-api.d.ts +9 -51
- package/types/mediusinc-mng-commons-tableview.d.ts +9 -15
- package/fesm2022/mediusinc-mng-commons-model-class.mjs +0 -97
- package/fesm2022/mediusinc-mng-commons-model-class.mjs.map +0 -1
- package/fesm2022/mediusinc-mng-commons-table-api-class.mjs +0 -204
- package/fesm2022/mediusinc-mng-commons-table-api-class.mjs.map +0 -1
- package/fesm2022/mediusinc-mng-commons-table-column-toggle.component-BS5xvoDR.mjs.map +0 -1
- package/fesm2022/mediusinc-mng-commons-table-mediusinc-mng-commons-table-BfEYZG7s.mjs.map +0 -1
- package/fesm2022/mediusinc-mng-commons-tableview-api-class.mjs +0 -374
- package/fesm2022/mediusinc-mng-commons-tableview-api-class.mjs.map +0 -1
- package/model/class/README.md +0 -8
- package/table/api/class/README.md +0 -10
- package/tableview/api/class/README.md +0 -13
- package/types/mediusinc-mng-commons-model-class.d.ts +0 -25
- package/types/mediusinc-mng-commons-table-api-class.d.ts +0 -77
- package/types/mediusinc-mng-commons-tableview-api-class.d.ts +0 -141
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DataProviderInst,
|
|
1
|
+
import { DataProviderInst, getI18n, getI18nTypeParams, getI18nTypeParamsAsync, getI18nTypeKeyBasePath } from '@mediusinc/mng-commons/core';
|
|
2
2
|
import { map } from 'rxjs/operators';
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -18,10 +18,7 @@ class EnumDescriptor {
|
|
|
18
18
|
this._value = value;
|
|
19
19
|
this._type = type;
|
|
20
20
|
this._nameAsValue = nameAsValue;
|
|
21
|
-
|
|
22
|
-
i18nBaseKey = findReflectEnumName(type);
|
|
23
|
-
}
|
|
24
|
-
this._i18nBaseKey = i18nBaseKey;
|
|
21
|
+
this._i18nBaseKey = i18nBaseKey ?? null;
|
|
25
22
|
}
|
|
26
23
|
get type() {
|
|
27
24
|
return this._type;
|
|
@@ -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 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
|
+
{"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} 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 this._i18nBaseKey = i18nBaseKey ?? null;\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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"}
|
|
@@ -49,6 +49,7 @@ function tableDataProvider(opts) {
|
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
const dateRegex = /\d{4}-[01]\d-[0-3]\d/;
|
|
52
|
+
// eslint-disable-next-line sonarjs/regex-complexity
|
|
52
53
|
const dateTimeRegex = /\d{4}-[01]\d-[0-3]\dT([0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z?)|([0-2]\d:[0-5]\d:[0-5]\d\+[0-2]\d:[0-5]\d))/;
|
|
53
54
|
/**
|
|
54
55
|
* converts column to number or date on value based
|