@m4l/layouts 9.2.0 → 9.2.1-beta.1

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.
@@ -2,4 +2,4 @@ import { ModuleDetailTabsProps } from './types';
2
2
  /**
3
3
  * Componente para mostrar un listado de tabs y contenido en un MasterDetail, basado en las props
4
4
  */
5
- export declare function ModuleDetailTabs(props: ModuleDetailTabsProps): import("react/jsx-runtime").JSX.Element;
5
+ export declare function ModuleDetailTabs<T extends Record<string, any> = Record<string, any>>(props: ModuleDetailTabsProps<T>): import("react/jsx-runtime").JSX.Element;
@@ -51,7 +51,14 @@ export interface ModuleDatailTab<T extends Record<string, any> = Record<string,
51
51
  /**
52
52
  * Interfaz para las props del tab de logs
53
53
  */
54
- export interface ModuleDetailObjectLogs extends ModuleDetailBaseTab {
54
+ export interface ModuleDetailBaseObjectLogs extends ModuleDetailBaseTab {
55
+ type?: 'm4l' | 'other';
56
+ }
57
+ /**
58
+ * Interfaz para las props del tab de logs
59
+ */
60
+ export interface ModuleDetailM4LObjectLogs<T> extends ModuleDetailBaseObjectLogs {
61
+ type?: 'm4l';
55
62
  /**
56
63
  * "resourceId" Id del recurso para el logs.
57
64
  */
@@ -59,8 +66,23 @@ export interface ModuleDetailObjectLogs extends ModuleDetailBaseTab {
59
66
  /**
60
67
  * "getObjectId" Función para obtener el id del objeto.
61
68
  */
62
- getObjectId: (detailData: Record<string, any>) => number;
69
+ getObjectId: (detailData: T) => number;
70
+ }
71
+ /**
72
+ * Interfaz para las props del tab de logs
73
+ */
74
+ export interface ModuleDetailOtherObjectLogs<T> extends ModuleDetailBaseObjectLogs {
75
+ type: 'other';
76
+ /**
77
+ * "resourceTypeId" Id del tipo de recurso para el logs.
78
+ */
79
+ resourceTypeId: string;
80
+ /**
81
+ * "getObjectSerialId" retorna el uuid del objeto.
82
+ */
83
+ getObjectSerialId: (detailData: T) => string;
63
84
  }
85
+ export type ModuleDetailObjectLogs<T extends Record<string, any>> = ModuleDetailM4LObjectLogs<T> | ModuleDetailOtherObjectLogs<T>;
64
86
  export interface ModuleDetailTabsProps<T extends Record<string, any> = Record<string, any>, K extends Record<string, any> = Record<string, any>> {
65
87
  /**
66
88
  * "defaultTab" Valor o key del tab por defecto, default: el primer tab
@@ -79,7 +101,7 @@ export interface ModuleDetailTabsProps<T extends Record<string, any> = Record<st
79
101
  /**
80
102
  * ObjectLogs props
81
103
  */
82
- objectLogsProps?: ModuleDetailObjectLogs;
104
+ objectLogsProps?: ModuleDetailObjectLogs<T>;
83
105
  /**
84
106
  * "endPoint" Endpoint para obtener los datos del detalle., en caso de que se requiera.
85
107
  */
@@ -1,4 +1,4 @@
1
- import { ModuleDetailTabContent, ModuleDetailTabsProps } from './types';
1
+ import { ModuleDetailTabsProps } from './types';
2
2
  /**
3
3
  * Componente para mostrar un listado de tabs y contenido en un MasterDetail, basado en las props
4
4
  */
@@ -14,7 +14,7 @@ export declare function useModuleDetailTabs<T extends Record<string, any> = Reco
14
14
  label: string | undefined;
15
15
  value: string;
16
16
  tabContent: import('react').FunctionComponent<any>;
17
- componentProps?: Omit<any, keyof ModuleDetailTabContent<T_1, K_1>> | undefined;
17
+ componentProps?: Omit<any, keyof import('./types').ModuleDetailTabContent<T_1, K_1>> | undefined;
18
18
  dictionaryId?: string;
19
19
  size?: Extract<import('@m4l/styles').Sizes, "small" | "medium"> | undefined;
20
20
  children?: null | undefined;
@@ -22,15 +22,23 @@ function useModuleDetailTabs(props) {
22
22
  }
23
23
  const arrTabs = [...tabs];
24
24
  if (objectLogsProps) {
25
+ const componentProps = {
26
+ ...objectLogsProps.type === "other" ? {
27
+ type: "other",
28
+ resourceTypeId: objectLogsProps.resourceTypeId,
29
+ resourceSerialId: objectLogsProps.getObjectSerialId(masterSelection[0])
30
+ } : {
31
+ type: "m4l",
32
+ resourceId: objectLogsProps.resourceId,
33
+ objectId: objectLogsProps.getObjectId(masterSelection[0])
34
+ }
35
+ };
25
36
  arrTabs.push({
26
37
  ...objectLogsProps,
27
38
  value: "objectLogs",
28
39
  tabContent: ObjectLogs,
29
40
  unmountable: false,
30
- componentProps: {
31
- resourceId: objectLogsProps.resourceId.toString(),
32
- objectId: objectLogsProps.getObjectId(masterSelection[0])
33
- }
41
+ componentProps
34
42
  });
35
43
  }
36
44
  return arrTabs.map((tab) => ({
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@m4l/layouts",
3
- "version": "9.2.0",
3
+ "version": "9.2.1-beta.1",
4
4
  "license": "UNLICENSED",
5
- "author": "M4L Team",
5
+ "author": "M4L Team ",
6
6
  "lint-staged": {
7
7
  "*.{js,ts,tsx}": "eslint --fix --max-warnings 0"
8
8
  },
9
9
  "peerDependencies": {
10
- "@m4l/components": "^9.0.0",
10
+ "@m4l/components": "9.2.51-beta.1",
11
11
  "@m4l/core": "^2.0.0",
12
12
  "@m4l/graphics": "^7.0.0",
13
13
  "@m4l/styles": "^7.0.0"