awing-library 2.1.2-dev.9 → 2.1.2-dev.91

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.
Files changed (81) hide show
  1. package/dist/esm/AWING/DataGrid/interface.d.ts +1 -1
  2. package/dist/esm/AWING/DateRangePicker/Container.d.ts +1 -1
  3. package/dist/esm/AWING/DropDownTreeSelect/components/TreeViewSearch.d.ts +10 -0
  4. package/dist/esm/AWING/DropDownTreeSelect/components/utils.d.ts +1 -0
  5. package/dist/esm/AWING/DropDownTreeSelect/index.d.ts +10 -0
  6. package/dist/esm/AWING/DropDownTreeSelect/type.d.ts +5 -0
  7. package/dist/esm/AWING/DropDownTreeSelect/utils.d.ts +16 -0
  8. package/dist/esm/AWING/PageManagement/interface.d.ts +1 -1
  9. package/dist/esm/AWING/PlaceFilter/interface.d.ts +1 -0
  10. package/dist/esm/AWING/TableEditable/interface.d.ts +5 -1
  11. package/dist/esm/AWING/TableEditableCollapsible/Container.d.ts +2 -0
  12. package/dist/esm/AWING/TableEditableCollapsible/components/TableCellEditable.d.ts +2 -0
  13. package/dist/esm/AWING/TableEditableCollapsible/components/TableEditableBody.d.ts +2 -0
  14. package/dist/esm/AWING/TableEditableCollapsible/components/TableHeader.d.ts +2 -0
  15. package/dist/esm/AWING/TableEditableCollapsible/components/TableRowEditable.d.ts +2 -0
  16. package/dist/esm/AWING/TableEditableCollapsible/components/TopBarActions.d.ts +2 -0
  17. package/dist/esm/AWING/TableEditableCollapsible/index.d.ts +6 -0
  18. package/dist/esm/AWING/TableEditableCollapsible/interface.d.ts +102 -0
  19. package/dist/esm/AWING/index.d.ts +4 -0
  20. package/dist/esm/Commons/Components/ClassicBaseDrawer.d.ts +1 -1
  21. package/dist/esm/Commons/Components/ClassicDrawer.d.ts +6 -3
  22. package/dist/esm/Commons/Components/Drawer.d.ts +9 -1
  23. package/dist/esm/Features/NOTIFICATION/FilterNotification/Constants.d.ts +6 -0
  24. package/dist/esm/Features/NOTIFICATION/FilterNotification/Container.d.ts +2 -0
  25. package/dist/esm/Features/NOTIFICATION/FilterNotification/CreateOrEdit.d.ts +2 -0
  26. package/dist/esm/Features/NOTIFICATION/FilterNotification/Services.d.ts +35 -0
  27. package/dist/esm/Features/NOTIFICATION/FilterNotification/context.d.ts +11 -0
  28. package/dist/esm/Features/NOTIFICATION/FilterNotification/index.d.ts +8 -0
  29. package/dist/esm/Features/NOTIFICATION/FilterNotification/types.d.ts +49 -0
  30. package/dist/esm/Features/NOTIFICATION/FilterNotification/utils.d.ts +7 -0
  31. package/dist/esm/Features/NOTIFICATION/NotificationConfig/Services.d.ts +5 -2
  32. package/dist/esm/Features/NOTIFICATION/NotificationConfig/types.d.ts +1 -0
  33. package/dist/esm/Features/NOTIFICATION/ObjectFilter/Services.d.ts +5 -5
  34. package/dist/esm/Features/NOTIFICATION/ObjectFilter/context.d.ts +0 -2
  35. package/dist/esm/Features/NOTIFICATION/ObjectFilter/index.d.ts +0 -1
  36. package/dist/esm/Features/NOTIFICATION/ObjectFilter/types.d.ts +1 -2
  37. package/dist/esm/Features/NOTIFICATION/ObjectFilter/utils.d.ts +1 -1
  38. package/dist/esm/Features/NOTIFICATION/SubscriptionConfig/Services.d.ts +5 -2
  39. package/dist/esm/Features/NOTIFICATION/SubscriptionConfig/types.d.ts +9 -8
  40. package/dist/esm/Features/NOTIFICATION/Template/Services.d.ts +11 -4
  41. package/dist/esm/Features/NOTIFICATION/Template/context.d.ts +0 -3
  42. package/dist/esm/Features/NOTIFICATION/Template/hooks/useCreateOrEdit.d.ts +5 -5
  43. package/dist/esm/Features/NOTIFICATION/Template/index.d.ts +1 -3
  44. package/dist/esm/Features/NOTIFICATION/Template/types.d.ts +5 -5
  45. package/dist/esm/Features/NOTIFICATION/components/TestingTool/types.d.ts +2 -0
  46. package/dist/esm/Features/NOTIFICATION/components/TestingTool/utils.d.ts +1 -0
  47. package/dist/esm/Features/NOTIFICATION/index.d.ts +1 -0
  48. package/dist/esm/Features/NOTIFICATION/types.d.ts +14 -0
  49. package/dist/esm/Features/SYSTEM/Directory/Services.d.ts +3 -2
  50. package/dist/esm/Features/SYSTEM/Directory/index.d.ts +1 -1
  51. package/dist/esm/Features/SYSTEM/Group/Services.d.ts +8 -6
  52. package/dist/esm/Features/SYSTEM/Group/types.d.ts +1 -0
  53. package/dist/esm/Features/SYSTEM/Role/Services.d.ts +8 -9
  54. package/dist/esm/Features/SYSTEM/Role/types.d.ts +1 -0
  55. package/dist/esm/Features/SYSTEM/RoleTag/Services.d.ts +8 -9
  56. package/dist/esm/Features/SYSTEM/RoleTag/types.d.ts +1 -0
  57. package/dist/esm/Features/SYSTEM/Schema/Atoms.d.ts +18 -3
  58. package/dist/esm/Features/SYSTEM/Schema/Services.d.ts +5 -8
  59. package/dist/esm/Features/SYSTEM/Schema/types.d.ts +1 -0
  60. package/dist/esm/Features/SYSTEM/Sharing/Types.d.ts +9 -5
  61. package/dist/esm/Features/SYSTEM/Sharing/Utils.d.ts +1 -0
  62. package/dist/esm/Features/SYSTEM/Sharing/index.d.ts +2 -0
  63. package/dist/esm/Features/SYSTEM/User/Services.d.ts +5 -2
  64. package/dist/esm/Features/SYSTEM/User/types.d.ts +1 -0
  65. package/dist/esm/Features/SYSTEM/Workflow/CreateOrEdit.d.ts +1 -1
  66. package/dist/esm/Features/SYSTEM/Workflow/container.d.ts +4 -2
  67. package/dist/esm/Features/SYSTEM/Workflow/index.d.ts +5 -3
  68. package/dist/esm/Features/SYSTEM/Workflow/types.d.ts +1 -0
  69. package/dist/esm/Features/SYSTEM/index.d.ts +1 -1
  70. package/dist/esm/Features/types.d.ts +18 -0
  71. package/dist/esm/Helpers/index.d.ts +1 -0
  72. package/dist/esm/Helpers/number.d.ts +2 -1
  73. package/dist/esm/Helpers/query.d.ts +161 -0
  74. package/dist/esm/index.js +2506 -784
  75. package/dist/esm/translate/resources/en/translation.json +9 -6
  76. package/dist/esm/translate/resources/id/translation.json +9 -6
  77. package/dist/esm/translate/resources/ja/translation.json +8 -5
  78. package/dist/esm/translate/resources/th/translation.json +8 -5
  79. package/dist/esm/translate/resources/vi/translation.json +11 -6
  80. package/dist/index.d.ts +426 -123
  81. package/package.json +1 -1
@@ -1,10 +1,13 @@
1
- import type { PagingQueryInput } from 'Features/types';
1
+ import type { CustomPagingRequestInput, PagingQueryInput } from 'Features/types';
2
2
  import type { Template, TemplateInput, TemplateGenerationInput, ObjectDefinition } from './types';
3
+ import { GraphQLQuery } from '../types';
3
4
  export type TemplateServices = {
4
5
  /** Get Roles
5
6
  * @param p - PagingQueryInput<Role> - Không truyền param sẽ lấy tất cả Role
6
7
  */
7
- getTemplates: (p?: PagingQueryInput<Template>) => Promise<{
8
+ getTemplates: (p: {
9
+ input: CustomPagingRequestInput;
10
+ }) => Promise<{
8
11
  items: Template[];
9
12
  totalCount: number;
10
13
  }>;
@@ -20,8 +23,7 @@ export type TemplateServices = {
20
23
  id: number;
21
24
  }) => Promise<Template>;
22
25
  getObjectDefinitions: (p?: PagingQueryInput<ObjectDefinition>) => Promise<{
23
- items: ObjectDefinition[];
24
- totalCount: number;
26
+ data: ObjectDefinition[];
25
27
  }>;
26
28
  createTemplate: (p: {
27
29
  input: TemplateInput;
@@ -29,5 +31,10 @@ export type TemplateServices = {
29
31
  updateTemplate: (p: {
30
32
  input: TemplateInput;
31
33
  id: number;
34
+ versionId?: number;
32
35
  }) => Promise<void>;
36
+ getGraphQLQueries: (p: CustomPagingRequestInput) => Promise<{
37
+ items: GraphQLQuery[];
38
+ totalCount: number;
39
+ }>;
33
40
  };
@@ -1,14 +1,11 @@
1
1
  import { TemplateServices } from './Services';
2
- import { ObjectTypeCode } from 'Features/types';
3
2
  import { type ObjectDefinition } from './types';
4
3
  /** Role Context */
5
4
  export declare const TemplateContext: import("react").Context<{
6
5
  services?: TemplateServices;
7
- objectTypeCodes?: ObjectTypeCode[];
8
6
  objectDefinitions?: ObjectDefinition[];
9
7
  }>;
10
8
  export declare const useGetContext: () => {
11
9
  services?: TemplateServices;
12
- objectTypeCodes?: ObjectTypeCode[];
13
10
  objectDefinitions?: ObjectDefinition[];
14
11
  };
@@ -1,10 +1,10 @@
1
- import { Dispatch, SetStateAction, RefObject } from 'react';
2
- import { FormMode } from '../../enums';
3
- import { TestingDataInput } from 'Features/NOTIFICATION/components/TestingTool';
4
1
  import { FieldDefinitionProps } from 'AWING/DataInput';
2
+ import { TestingDataInput } from 'Features/NOTIFICATION/components/TestingTool';
3
+ import { GraphQLQuery } from 'Features/NOTIFICATION/types';
5
4
  import { DataObject } from 'Features/types';
5
+ import { Dispatch, RefObject, SetStateAction } from 'react';
6
+ import { FormMode } from '../../enums';
6
7
  import { FieldPermissions, Template, TemplateInput } from '../types';
7
- import { ObjectTypeCode } from 'Features/types';
8
8
  export declare const DEFAULT_FIELD_PERMISSIONS: FieldPermissions;
9
9
  /**
10
10
  * Hook lấy thông tin mode và id param của component khi render
@@ -48,4 +48,4 @@ export declare const useTemplatePermissions: (mode: FormMode, template: Template
48
48
  /**
49
49
  * Hook lấy thông tin các field của template
50
50
  */
51
- export declare const useTemplateFields: (mode: FormMode, templateInput: Partial<TemplateInput> | undefined, fieldPermissions: DataObject, templateData?: Template, objectTypeCodes?: ObjectTypeCode[]) => FieldDefinitionProps<TemplateInput>[];
51
+ export declare const useTemplateFields: (mode: FormMode, templateInput: Partial<TemplateInput> | undefined, fieldPermissions: DataObject, templateData?: Template, graphqlQueries?: GraphQLQuery[]) => FieldDefinitionProps<TemplateInput>[];
@@ -1,10 +1,8 @@
1
1
  import { TemplateServices } from './Services';
2
- import { ObjectTypeCode } from 'Features/types';
3
2
  export type TemplateProps = {
4
3
  services: TemplateServices;
5
- objectTypeCodes: ObjectTypeCode[];
6
4
  };
7
5
  declare function Template(props: TemplateProps): import("react/jsx-runtime").JSX.Element;
8
6
  export default Template;
9
- export * from './types';
10
7
  export * from './Services';
8
+ export * from './types';
@@ -1,4 +1,5 @@
1
1
  import { SortInputType } from 'Features/types';
2
+ import { GraphQLQuery } from '../types';
2
3
  export type FieldPermissions = {
3
4
  objectType: boolean;
4
5
  configType: boolean;
@@ -44,13 +45,12 @@ export type Template = {
44
45
  contentType?: string;
45
46
  id?: number;
46
47
  name?: string;
47
- notificationConfigDetails?: Array<NotificationConfigDetail>;
48
- objectType?: string;
48
+ graphQLQuery?: GraphQLQuery;
49
+ graphqlQueryId?: number;
49
50
  outputFieldPermission?: OutputFieldPermission;
50
- schema?: Schema;
51
- schemaId?: number;
52
51
  subscriptionConfigDetails?: Array<SubscriptionConfigDetail>;
53
52
  title?: string;
53
+ versionId?: number;
54
54
  };
55
55
  export type SortInput = SortInputType<Template>;
56
56
  export type ConvertObjectDefinition = ObjectDefinition & {
@@ -65,7 +65,7 @@ export type TemplateInput = {
65
65
  content?: string;
66
66
  contentType?: string;
67
67
  name?: string;
68
- objectType?: string;
68
+ graphqlQueryId?: number;
69
69
  schemaId?: number;
70
70
  title?: string;
71
71
  };
@@ -1,3 +1,4 @@
1
+ import { NotificationFilterInput } from 'Features/NOTIFICATION/FilterNotification';
1
2
  import { ObjectFilterInput } from 'Features/NOTIFICATION/ObjectFilter';
2
3
  export type ProcessedData = {
3
4
  moduleTitle: string;
@@ -52,6 +53,7 @@ export type TestingDataInput = TestingInput & {
52
53
  objectId?: number;
53
54
  objectFilter?: ObjectFilterInput;
54
55
  notificationTemplate?: NotificationTemplateInput;
56
+ notificationFilter?: NotificationFilterInput;
55
57
  };
56
58
  export type FullEditorConfig = {
57
59
  position: 0 | 1;
@@ -13,5 +13,6 @@ export declare const computedTestingData: (testingData: TestingDataInput, isObje
13
13
  objectId?: number;
14
14
  objectFilter?: import("../../ObjectFilter").ObjectFilterInput;
15
15
  notificationTemplate?: import("./types").NotificationTemplateInput;
16
+ notificationFilter?: import("../../FilterNotification").NotificationFilterInput;
16
17
  };
17
18
  export declare const getMessageTitle: (isObjectFilter?: boolean, isNotificationTemplate?: boolean, isNotificationConfig?: boolean) => string;
@@ -1,4 +1,5 @@
1
1
  export { default as NotificationConfig } from './NotificationConfig';
2
2
  export { default as NotificationObjectFilter } from './ObjectFilter';
3
+ export { default as FilterNotification } from './FilterNotification';
3
4
  export { default as SubscriptionConfig } from './SubscriptionConfig';
4
5
  export { default as TemplateConfig } from './Template';
@@ -11,3 +11,17 @@ export type ObjectDataInputOfNotificationConfigDetailInput = {
11
11
  key?: string | number;
12
12
  value?: NotificationConfigDetailInput;
13
13
  };
14
+ export type GraphQLQuery = {
15
+ id?: number;
16
+ name?: string;
17
+ baseObjectType?: string;
18
+ directoryPath?: string;
19
+ queryString?: string;
20
+ resultExpression?: string;
21
+ graphqlVariables?: {
22
+ id?: string;
23
+ name?: string;
24
+ type?: string;
25
+ value?: string;
26
+ };
27
+ };
@@ -1,12 +1,13 @@
1
1
  import { type DirectoryAddOrEditServices } from 'AWING/DirectoryForm';
2
2
  import { type DirectoryPermissionServices } from 'AWING/DirectoryPermission';
3
- import type { PagingQueryInput } from 'Features/types';
3
+ import type { CustomPagingRequestInput } from 'Features/types';
4
4
  import type { Directory } from './types';
5
5
  export type DirectoryServices = DirectoryAddOrEditServices & DirectoryPermissionServices & {
6
6
  /** Get Directories
7
7
  * @params PagingQueryInput<Directory> - Không truyền param sẽ lấy tất cả
8
8
  */
9
- getDirectories: (params?: PagingQueryInput<Directory> & {
9
+ getDirectories: (params?: {
10
+ input?: CustomPagingRequestInput;
10
11
  parentDirectoryId?: number;
11
12
  workspaceId?: number;
12
13
  depthFromRoot?: number;
@@ -6,7 +6,7 @@ export type DirectorySystemProps = DirectoryServices & {
6
6
  currentWorkspace?: CurrentWorkspace;
7
7
  objectTypeCodes?: ObjectTypeCode[];
8
8
  };
9
- declare const DirectorySystem: (props: DirectorySystemProps) => import("react/jsx-runtime").JSX.Element;
9
+ declare const DirectorySystem: (props: DirectorySystemProps) => import("react/jsx-runtime").JSX.Element | null;
10
10
  export * from './types';
11
11
  export * from './Services';
12
12
  export default DirectorySystem;
@@ -1,12 +1,14 @@
1
1
  import type { Group, GroupInput } from './types';
2
- import type { PagingQueryInput } from 'Features/types';
2
+ import type { CustomPagingRequestInput, PagingQueryInput } from 'Features/types';
3
3
  import type { RoleTag } from './types';
4
4
  import { User } from '../User/types';
5
5
  export type GroupServices = {
6
6
  /** Get RoleTags
7
7
  * @param p - PagingQueryInput<RoleTag> - Không truyền param sẽ lấy tất cả RoleTag
8
8
  */
9
- getRoleTags: (p?: PagingQueryInput<RoleTag>) => Promise<{
9
+ getRoleTags: (p?: {
10
+ input: CustomPagingRequestInput;
11
+ }) => Promise<{
10
12
  roleTags: RoleTag[];
11
13
  total: number;
12
14
  }>;
@@ -17,10 +19,9 @@ export type GroupServices = {
17
19
  users: User[];
18
20
  total: number;
19
21
  }>;
20
- /** Get Groups
21
- * @param p - PagingQueryInput<Group> - Không truyền param sẽ lấy tất cả Group
22
- */
23
- getGroups: (p?: PagingQueryInput<Group>) => Promise<{
22
+ getGroups: (p?: {
23
+ input: CustomPagingRequestInput;
24
+ }) => Promise<{
24
25
  groups: Group[];
25
26
  total: number;
26
27
  }>;
@@ -39,6 +40,7 @@ export type GroupServices = {
39
40
  updateGroup: (p: {
40
41
  input: GroupInput;
41
42
  id: number;
43
+ versionId?: number;
42
44
  }) => Promise<void>;
43
45
  /** Loading khi lấy dữ liệu */
44
46
  isLoading: boolean;
@@ -12,6 +12,7 @@ export type Group = {
12
12
  roleAuthens?: RoleAuthens[];
13
13
  workspaceId?: number;
14
14
  isSystem?: boolean;
15
+ versionId?: number;
15
16
  };
16
17
  export type SortInputGroup = SortInputType<Group>;
17
18
  export type GroupInput = {
@@ -1,17 +1,15 @@
1
- import type { PagingQueryInput } from 'Features/types';
1
+ import type { CustomPagingRequestInput } from 'Features/types';
2
2
  import type { Role, RoleTag, RoleInput } from './types';
3
3
  export type RoleServices = {
4
- /** Get Roles
5
- * @param p - PagingQueryInput<Role> - Không truyền param sẽ lấy tất cả Role
6
- */
7
- getRoles: (p?: PagingQueryInput<Role>) => Promise<{
4
+ getRoles: (p?: {
5
+ input: CustomPagingRequestInput;
6
+ }) => Promise<{
8
7
  roles: Role[];
9
8
  total: number;
10
9
  }>;
11
- /** Get RoleTags
12
- * @param p - PagingQueryInput<RoleTag> - Không truyền param sẽ lấy tất cả RoleTag
13
- */
14
- getRoleTags: (p?: PagingQueryInput<RoleTag>) => Promise<{
10
+ getRoleTags: (p?: {
11
+ input: CustomPagingRequestInput;
12
+ }) => Promise<{
15
13
  roleTags: RoleTag[];
16
14
  total: number;
17
15
  }>;
@@ -30,5 +28,6 @@ export type RoleServices = {
30
28
  updateRole: (p: {
31
29
  input: RoleInput;
32
30
  id: number;
31
+ versionId?: number;
33
32
  }) => Promise<void>;
34
33
  };
@@ -6,6 +6,7 @@ export type Role = {
6
6
  name?: string;
7
7
  roleTags?: Array<RoleTag>;
8
8
  workspaceId?: number;
9
+ versionId?: number;
9
10
  };
10
11
  export type RoleTag = IRoleTag;
11
12
  export type SortInput = SortInputType<Role>;
@@ -1,17 +1,15 @@
1
- import type { PagingQueryInput } from 'Features/types';
1
+ import type { CustomPagingRequestInput } from 'Features/types';
2
2
  import type { RoleTag, Role, RoleTagInput } from './types';
3
3
  export type RoleTagServices = {
4
- /** Get Roles
5
- * @param p - PagingQueryInput<Role> - Không truyền param sẽ lấy tất cả Role
6
- */
7
- getRoles: (p?: PagingQueryInput<Role>) => Promise<{
4
+ getRoles: (p?: {
5
+ input: CustomPagingRequestInput;
6
+ }) => Promise<{
8
7
  roles: Role[];
9
8
  total: number;
10
9
  }>;
11
- /** Get RoleTags
12
- * @param p - PagingQueryInput<RoleTag> - Không truyền param sẽ lấy tất cả RoleTag
13
- */
14
- getRoleTags: (p?: PagingQueryInput<RoleTag>) => Promise<{
10
+ getRoleTags: (p?: {
11
+ input: CustomPagingRequestInput;
12
+ }) => Promise<{
15
13
  roleTags: RoleTag[];
16
14
  total: number;
17
15
  }>;
@@ -30,5 +28,6 @@ export type RoleTagServices = {
30
28
  updateRoleTag: (p: {
31
29
  input: RoleTagInput;
32
30
  id: number;
31
+ versionId?: number;
33
32
  }) => Promise<void>;
34
33
  };
@@ -5,6 +5,7 @@ export type RoleTag = {
5
5
  id?: number;
6
6
  name?: string;
7
7
  workspaceId?: number;
8
+ versionId?: number;
8
9
  };
9
10
  export type Role = IRole;
10
11
  export type RoleOptions = {
@@ -6,9 +6,24 @@ export declare const fullFieldsState: import("jotai").PrimitiveAtom<ObjectDefini
6
6
  export declare const objectTypeCodesState: import("jotai").PrimitiveAtom<ObjectTypeCode[]> & {
7
7
  init: ObjectTypeCode[];
8
8
  };
9
- export declare const rootSchemasState: import("jotai").PrimitiveAtom<Schema[]> & {
10
- init: Schema[];
11
- };
9
+ /**
10
+ * Consolidated schema state - contains both regular and root schemas
11
+ * - rootSchemas: The root/default schemas from the workspace
12
+ * - regularSchemas: The regular schemas retrieved from API
13
+ * - totalCount: The total count of regular schemas (for pagination)
14
+ */
15
+ export declare const schemasState: import("jotai").PrimitiveAtom<{
16
+ rootSchemas: Schema[];
17
+ regularSchemas: Schema[];
18
+ totalCount: number;
19
+ }> & {
20
+ init: {
21
+ rootSchemas: Schema[];
22
+ regularSchemas: Schema[];
23
+ totalCount: number;
24
+ };
25
+ };
26
+ export declare const rootSchemasState: import("jotai").WritableAtom<Schema[], [update: Schema[]], void>;
12
27
  export declare const nameState: import("jotai").PrimitiveAtom<string> & {
13
28
  init: string;
14
29
  };
@@ -1,16 +1,12 @@
1
- import type { PagingQueryInput } from 'Features/types';
1
+ import type { CustomPagingRequestInput, PagingQueryInput } from 'Features/types';
2
2
  import type { Schema, ObjectDefinition, SchemaInput } from './types';
3
3
  export type SchemaServices = {
4
- /** Get Schemas
5
- * @param p - PagingQueryInput<Schema> - Không truyền param sẽ lấy tất cả Schema
6
- */
7
- getSchemas: (p?: PagingQueryInput<Schema>) => Promise<{
4
+ getSchemas: (p?: {
5
+ input: CustomPagingRequestInput;
6
+ }) => Promise<{
8
7
  items: Schema[];
9
8
  total: number;
10
9
  }>;
11
- /** Get Schemas
12
- * @param p - PagingQueryInput<Schema> - Không truyền param sẽ lấy tất cả Schema
13
- */
14
10
  getSchemaById: (p: {
15
11
  id: number;
16
12
  }) => Promise<Schema>;
@@ -33,5 +29,6 @@ export type SchemaServices = {
33
29
  updateSchema: (p: {
34
30
  input: SchemaInput;
35
31
  id: number;
32
+ versionId?: number;
36
33
  }) => Promise<void>;
37
34
  };
@@ -23,6 +23,7 @@ export type Schema = {
23
23
  schemaObjectDefinitions?: Array<SchemaObjectDefinition>;
24
24
  workspaceId?: number;
25
25
  isRoot?: boolean;
26
+ versionId?: number;
26
27
  };
27
28
  export type WorkspaceDefaultSchema = {
28
29
  schemaId?: number;
@@ -1,4 +1,4 @@
1
- import { PagingQueryInput } from 'Features/types';
1
+ import { CustomPagingRequestInput } from 'Features/types';
2
2
  import { Schema, SchemaObjectDefinition } from '../Schema';
3
3
  import { Workspace } from '../types';
4
4
  import { Atom } from 'jotai';
@@ -20,11 +20,11 @@ export type Sharing = {
20
20
  objectFilterId: number;
21
21
  schema?: Schema;
22
22
  schemaId?: number;
23
- sharingWorkspaces: Array<SharingWorkspace>;
24
- totalTargetWorkspace: number;
23
+ sharingWorkspaces?: Array<SharingWorkspace>;
25
24
  workspaceId: number;
26
25
  folderSourceDirectoryId?: number;
27
26
  key?: string;
27
+ versionId?: number;
28
28
  };
29
29
  export type ObjectFilter = {
30
30
  configType?: string;
@@ -94,6 +94,7 @@ export type SharingInput = {
94
94
  folderSourceDirectoryId?: number;
95
95
  targetWorkspaceId?: number;
96
96
  sharingWorkspaces?: Array<ObjectDataInputOfSharingWorkspaceInput>;
97
+ versionId?: number;
97
98
  };
98
99
  export type ParamConfiguration = {
99
100
  id: number;
@@ -150,9 +151,11 @@ export interface SharingProps {
150
151
  updateWorkspaceSharing: (p: {
151
152
  id: number;
152
153
  input: SharingInput;
154
+ versionId?: number;
153
155
  }) => Promise<void>;
154
156
  getSharings: (p?: {
155
- GetPagingInWorkspaceRequestGqlInput: GetPagingInWorkspaceRequestGqlInput;
157
+ input: CustomPagingRequestInput;
158
+ objectTypeCode?: string;
156
159
  }) => Promise<{
157
160
  sharings: Sharing[];
158
161
  total: number;
@@ -166,7 +169,8 @@ export interface SharingProps {
166
169
  id: number;
167
170
  }) => Promise<void>;
168
171
  getObjectFilters: () => Promise<ObjectFilter[]>;
169
- getDirectories: (params?: PagingQueryInput<Directory> & {
172
+ getDirectories: (params?: {
173
+ input?: CustomPagingRequestInput;
170
174
  parentDirectoryId?: number;
171
175
  workspaceId?: number;
172
176
  depthFromRoot?: number;
@@ -1,5 +1,6 @@
1
1
  import { ConfigArrayEdit, ConfigResult, ParamConfiguration, WorkspaceSharingInputForm, type SharingWorkspace, type WorkspaceSharing, type Configuration, ObjectDataInputOfSharingWorkspaceConfigInput, ObjectDataInputOfSharingWorkspaceInput } from './Types';
2
2
  import { type WorkspaceOption } from './Atoms';
3
+ export declare const generateUniqueId: () => number;
3
4
  export declare const checkValid: (cws?: WorkspaceSharing) => boolean;
4
5
  /** Lấy tất cả param trong dấu {}:
5
6
  * VD any(o.MediaPlanApprovals, i.CustomerId = {CustomerId}) => return: ["CustomerId"]
@@ -2,3 +2,5 @@ import { SharingProps } from './Types';
2
2
  export declare function Sharing(props: SharingProps): import("react/jsx-runtime").JSX.Element;
3
3
  export * from './Types';
4
4
  export default Sharing;
5
+ export { default as ParamConfigurationInputs } from './component/ParamConfigurationInputs';
6
+ export { getAllStringsBetweenBraces, getDefaultValues } from './Utils';
@@ -1,4 +1,4 @@
1
- import type { PagingQueryInput } from 'Features/types';
1
+ import type { CustomPagingRequestInput, PagingQueryInput } from 'Features/types';
2
2
  import type { UserInput, RoleTag, User, Group } from './types';
3
3
  export type UserServices = {
4
4
  /** Get RoleTags
@@ -11,7 +11,9 @@ export type UserServices = {
11
11
  /** Get Users
12
12
  * @param p - PagingQueryInput<Users> - Không truyền param sẽ lấy tất cả Users
13
13
  */
14
- getUsers: (p?: PagingQueryInput<User>) => Promise<{
14
+ getUsers: (p?: {
15
+ input: CustomPagingRequestInput;
16
+ }) => Promise<{
15
17
  users: User[];
16
18
  total: number;
17
19
  }>;
@@ -26,6 +28,7 @@ export type UserServices = {
26
28
  updateUser: (p: {
27
29
  user: UserInput;
28
30
  id: number;
31
+ versionId?: number;
29
32
  }) => Promise<void>;
30
33
  /** Delete User by ID */
31
34
  deleteUser: (p: {
@@ -50,4 +50,5 @@ export type User = {
50
50
  groups?: number[];
51
51
  roleAuthens?: Array<RoleAuthens>;
52
52
  username?: string;
53
+ versionId?: number;
53
54
  };
@@ -3,7 +3,7 @@ import { ObjectInputType } from 'Features/types';
3
3
  type CreateOrEditProps = {
4
4
  getById: (id: number) => Promise<Workflow>;
5
5
  create: (workflow: ObjectInputType<Workflow>) => Promise<void>;
6
- update: (id: number, workflow: ObjectInputType<Workflow>) => Promise<void>;
6
+ update: (id: number, workflow: ObjectInputType<Workflow>, versionId?: number) => Promise<void>;
7
7
  objectTypeCodeMap: {
8
8
  value: string;
9
9
  label: string;
@@ -1,7 +1,9 @@
1
+ import { CustomPagingRequestInput, PagingType } from 'Features/types';
1
2
  import { Workflow } from './types';
2
- import { PagingQueryInput, PagingType } from 'Features/types';
3
3
  type WorkflowContainerProps = {
4
- getPaging: (queryInput: PagingQueryInput<Workflow>) => Promise<PagingType<Workflow>>;
4
+ getPaging: (queryInput: {
5
+ input: CustomPagingRequestInput;
6
+ }) => Promise<PagingType<Workflow>>;
5
7
  remove: (id: number) => Promise<void>;
6
8
  };
7
9
  declare const WorkflowContainer: (props: WorkflowContainerProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,10 +1,12 @@
1
+ import { CustomPagingRequestInput, ObjectInputType, PagingType } from 'Features/types';
1
2
  import { Workflow } from './types';
2
- import { ObjectInputType, PagingQueryInput, PagingType } from 'Features/types';
3
3
  type WorkflowFeatureProps = {
4
4
  getById: (id: number) => Promise<Workflow>;
5
- getPaging: (queryInput: PagingQueryInput<Workflow>) => Promise<PagingType<Workflow>>;
5
+ getPaging: (queryInput: {
6
+ input: CustomPagingRequestInput;
7
+ }) => Promise<PagingType<Workflow>>;
6
8
  create: (workflow: ObjectInputType<Workflow>) => Promise<void>;
7
- update: (id: number, workflow: ObjectInputType<Workflow>) => Promise<void>;
9
+ update: (id: number, workflow: ObjectInputType<Workflow>, versionId?: number) => Promise<void>;
8
10
  remove: (id: number) => Promise<void>;
9
11
  objectTypeCodeMap: {
10
12
  value: string;
@@ -6,6 +6,7 @@ export type Workflow = {
6
6
  description?: string;
7
7
  workflowMatrices: Array<WorkflowMatrix>;
8
8
  workflowStates: Array<WorkflowState>;
9
+ versionId?: number;
9
10
  };
10
11
  export type WorkflowMatrix = {
11
12
  id: number;
@@ -7,4 +7,4 @@ export { default as UserSystem } from './User';
7
7
  export { default as SchemaSystem } from './Schema';
8
8
  export { default as WorkflowSystem } from './Workflow';
9
9
  export { default as DirectorySystem } from './Directory';
10
- export { default as SharingSystem } from './Sharing';
10
+ export { default as SharingSystem, ParamConfigurationInputs, type Configuration, type ParamConfiguration, getAllStringsBetweenBraces, getDefaultValues } from './Sharing';
@@ -63,3 +63,21 @@ export type EnumTypeConvert = {
63
63
  key: string;
64
64
  value: string | number;
65
65
  };
66
+ export declare enum Direction {
67
+ Asc = "ASC",
68
+ Desc = "DESC"
69
+ }
70
+ export type SortingTokenInput = {
71
+ direction: Direction;
72
+ field?: string;
73
+ };
74
+ export type WhereConditionInput = {
75
+ condition?: string;
76
+ params?: string[];
77
+ };
78
+ export type CustomPagingRequestInput = {
79
+ order?: SortingTokenInput[];
80
+ skip?: number;
81
+ take?: number;
82
+ where?: WhereConditionInput;
83
+ };
@@ -4,3 +4,4 @@ export * from './datetime';
4
4
  export * from './number';
5
5
  export * from './text';
6
6
  export * from './validation';
7
+ export * from './query';
@@ -2,6 +2,7 @@
2
2
  * Xử lý các thao tác số học và toán học một cách tiện lợi.
3
3
  * Hỗ trợ các phép toán phức tạp hoặc tối ưu hóa các logic tính toán thường dùng.
4
4
  */
5
- export declare function formatNumber(num: number | bigint | string | undefined): string;
5
+ export type Locale = 'vi' | 'en' | 'ja' | 'th' | 'id';
6
+ export declare function formatNumberByLocale(value?: number | bigint, lang?: string, locale?: string): string;
6
7
  export declare function roundDecimalNumber(number: any): string | null;
7
8
  export declare function WMAPEcalculator(data: any): number | "∞";