awing-library 2.1.2-dev.552 → 2.1.2-dev.553

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.
@@ -1 +1 @@
1
- {"version":3,"file":"Container.d.ts","sourceRoot":"","sources":["../../../../src/AWING/DirectoryPermission/AddOrEdit/Container.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,cAAc,EAA2B,MAAM,SAAS,CAAC;AAGvE,QAAA,MAAM,mBAAmB,UAAW,cAAc,4CAkTjD,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"Container.d.ts","sourceRoot":"","sources":["../../../../src/AWING/DirectoryPermission/AddOrEdit/Container.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,cAAc,EAA2B,MAAM,SAAS,CAAC;AAEvE,QAAA,MAAM,mBAAmB,UAAW,cAAc,4CAiTjD,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -163,26 +163,25 @@ const AddOrEditPermission = (props)=>{
163
163
  if (isCreate) setAuthenPermissions(authenPermissions?.filter((a)=>!(a.authenValue === authen.authenValue && a.authenType === authen.authenType)));
164
164
  };
165
165
  useEffect(()=>{
166
- services?.getSchemaByWorkspaceId && !schemasByWorkspace.length && services.getSchemaByWorkspaceId().then((schemas)=>{
167
- setSchemasByWorkspace(schemas.items);
166
+ services?.getSchemaByWorkspaceId && services.getSchemaByWorkspaceId().then((schemas)=>{
167
+ setSchemasByWorkspace(schemas);
168
168
  });
169
169
  }, []);
170
- const schemasFiltered = useMemo(()=>schemasByWorkspace.filter((s)=>{
171
- const objectTypeCode = s.objectFilter?.objectTypeCode;
172
- return objectTypeCode === objectTypeCodeSelected;
173
- }), [
170
+ const schemasFiltered = useMemo(()=>schemasByWorkspace.filter((s)=>s.objectTypeCode === objectTypeCodeSelected), [
174
171
  schemasByWorkspace,
175
172
  objectTypeCodeSelected
176
173
  ]);
177
174
  useEffect(()=>{
178
- if (schemasFiltered.length && schemasFiltered.every((sharing)=>sharing.schema)) setExplicitPermissions([
179
- {
180
- schemaId: schemasFiltered[0].schema?.id ?? null,
181
- permissions: [],
182
- workflowStateIds: []
183
- }
184
- ]);
185
- setSchemas(schemasFiltered.filter((sharing)=>sharing.schema).map((sharing)=>sharing.schema));
175
+ if (schemasFiltered.length) setExplicitPermissions((prev)=>{
176
+ const isDefaultState = 1 === prev.length && prev[0]?.schemaId == null;
177
+ if (!isDefaultState) return prev;
178
+ return schemasFiltered.map((s)=>({
179
+ schemaId: s.id,
180
+ permissions: [],
181
+ workflowStateIds: []
182
+ }));
183
+ });
184
+ setSchemas(schemasFiltered);
186
185
  }, [
187
186
  schemasFiltered
188
187
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"PageContent.d.ts","sourceRoot":"","sources":["../../../../src/AWING/DirectoryPermission/AddOrEdit/PageContent.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAGhD,iBAAS,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAsI3C;AAED,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"PageContent.d.ts","sourceRoot":"","sources":["../../../../src/AWING/DirectoryPermission/AddOrEdit/PageContent.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAKhD,iBAAS,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAyI3C;AAED,eAAe,WAAW,CAAC"}
@@ -9,6 +9,8 @@ import WorkflowMatrix from "../components/WorkflowMatrix.js";
9
9
  import PermissionTable from "../components/PermissionTable.js";
10
10
  import AddOrEditHeader from "../components/AddOrEditHeader.js";
11
11
  import { useAtomValue } from "jotai";
12
+ import { useGetDirectoryContext } from "../../../Features/SYSTEM/Directory/context.js";
13
+ import { WorkspaceType } from "../../../index.js";
12
14
  function PageContent(props) {
13
15
  const { t } = useTranslation();
14
16
  const { explicitMatrixPermissions, inheritedMatrixPermissions, onExplicitMatrixPermissionsChange, isCreate, objectTypeCodeSelected, onDeleteAuthen, disableSelectSchema, explicitPermissions, onExplicitPermissionsChange, inheritedPermissions, authenPermissions, onChangeObjectTypeCode, onDrawerLevelChange, isFile } = props;
@@ -25,6 +27,8 @@ function PageContent(props) {
25
27
  const newPermissions = getNewPermissionStates(explicitPermissions, stateId, schemaId, workflow?.workflowStates ?? []);
26
28
  onExplicitPermissionsChange(newPermissions);
27
29
  };
30
+ const { currentWorkspace } = useGetDirectoryContext();
31
+ const isAdmin = currentWorkspace?.type === WorkspaceType.ADMIN;
28
32
  return /*#__PURE__*/ jsx(Paper, {
29
33
  sx: {
30
34
  padding: 2,
@@ -75,7 +79,7 @@ function PageContent(props) {
75
79
  })
76
80
  })
77
81
  }),
78
- !disableSelectSchema && /*#__PURE__*/ jsx(Grid, {
82
+ !disableSelectSchema && isAdmin && /*#__PURE__*/ jsx(Grid, {
79
83
  size: {
80
84
  xs: 12
81
85
  },
@@ -109,7 +113,8 @@ function PageContent(props) {
109
113
  disableSelectSchema: disableSelectSchema,
110
114
  onChangePermission: handleChangePermission,
111
115
  onDeleteSchema: handleDeleteSchema,
112
- onChangeStates: handleChangeStates
116
+ onChangeStates: handleChangeStates,
117
+ objectTypeCodeSelected: objectTypeCodeSelected
113
118
  })
114
119
  ]
115
120
  }),
@@ -1,6 +1,5 @@
1
- import type { Directory, DirectoryPermissionInput } from './types';
1
+ import type { Directory, DirectoryPermissionInput, Schema } from './types';
2
2
  import type { SchemaServices } from '../../Features/SYSTEM/Schema';
3
- import { Sharing } from '../../Features/SYSTEM/Sharing/Types';
4
3
  import { fetchOptionsType } from '../AsyncAutocomplete';
5
4
  import { AuthenOption } from './AddNewAuthen';
6
5
  /** Gọi đến Service Schema Feature */
@@ -27,9 +26,9 @@ export type DirectoryPermissionServices = CrSchemaServices & {
27
26
  getRoles: fetchOptionsType<AuthenOption>;
28
27
  /** Group */
29
28
  getGroups: fetchOptionsType<AuthenOption>;
30
- getSchemaByWorkspaceId: () => Promise<{
31
- items: Sharing[];
32
- total: number;
33
- }>;
29
+ getSchemaByWorkspaceId: () => Promise<Schema[]>;
30
+ getSchemaDetails: (p?: {
31
+ objectTypeCode: string;
32
+ }) => Promise<Schema[]>;
34
33
  };
35
34
  //# sourceMappingURL=Services.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Services.d.ts","sourceRoot":"","sources":["../../../src/AWING/DirectoryPermission/Services.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,qCAAqC;AACrC,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,EAAE,sBAAsB,GAAG,YAAY,GAAG,eAAe,GAAG,cAAc,GAAG,oBAAoB,CAAC,CAAC;AAErJ,sDAAsD;AACtD,MAAM,MAAM,2BAA2B,GAAG,gBAAgB,GAAG;IACzD;;OAEG;IACH,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;IAE7D,uBAAuB;IACvB,yBAAyB,EAAE,CAAC,CAAC,EAAE;QAAE,KAAK,EAAE,wBAAwB,CAAA;KAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAEpF,+BAA+B;IAC/B,sBAAsB,EAAE,CAAC,CAAC,EAAE;QAAE,KAAK,EAAE,wBAAwB,CAAA;KAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAEjF,WAAW;IACX,QAAQ,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAEzC,WAAW;IACX,QAAQ,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAEzC,YAAY;IACZ,SAAS,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAE1C,sBAAsB,EAAE,MAAM,OAAO,CAAC;QAClC,KAAK,EAAE,OAAO,EAAE,CAAC;QACjB,KAAK,EAAE,MAAM,CAAA;KAChB,CAAC,CAAC;CACN,CAAC"}
1
+ {"version":3,"file":"Services.d.ts","sourceRoot":"","sources":["../../../src/AWING/DirectoryPermission/Services.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,wBAAwB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,qCAAqC;AACrC,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,EAAE,sBAAsB,GAAG,YAAY,GAAG,eAAe,GAAG,cAAc,GAAG,oBAAoB,CAAC,CAAC;AAErJ,sDAAsD;AACtD,MAAM,MAAM,2BAA2B,GAAG,gBAAgB,GAAG;IACzD;;OAEG;IACH,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;IAE7D,uBAAuB;IACvB,yBAAyB,EAAE,CAAC,CAAC,EAAE;QAAE,KAAK,EAAE,wBAAwB,CAAA;KAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAEpF,+BAA+B;IAC/B,sBAAsB,EAAE,CAAC,CAAC,EAAE;QAAE,KAAK,EAAE,wBAAwB,CAAA;KAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAEjF,WAAW;IACX,QAAQ,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAEzC,WAAW;IACX,QAAQ,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAEzC,YAAY;IACZ,SAAS,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAE1C,sBAAsB,EAAE,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAChD,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE;QAAE,cAAc,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAC3E,CAAC"}
@@ -13,6 +13,7 @@ export type OwnProps = {
13
13
  onDeleteSchema: (schemaId: number | null) => void;
14
14
  disableSelectSchema: boolean;
15
15
  onChangeStates: (stateId: string, schemaId: number | null) => void;
16
+ objectTypeCodeSelected?: string;
16
17
  };
17
18
  export default function PermissionTable(props: OwnProps): import("react/jsx-runtime").JSX.Element;
18
19
  //# sourceMappingURL=PermissionTable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PermissionTable.d.ts","sourceRoot":"","sources":["../../../../src/AWING/DirectoryPermission/components/PermissionTable.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAGnD,MAAM,MAAM,QAAQ,GAAG;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,OAAO,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACnB,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;IAC1C,oBAAoB,EAAE,kBAAkB,EAAE,CAAC;IAC3C,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACpE,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAClD,mBAAmB,EAAE,OAAO,CAAC;IAC7B,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CACtE,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAK,EAAE,QAAQ,2CAyCtD"}
1
+ {"version":3,"file":"PermissionTable.d.ts","sourceRoot":"","sources":["../../../../src/AWING/DirectoryPermission/components/PermissionTable.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAGnD,MAAM,MAAM,QAAQ,GAAG;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,OAAO,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACnB,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;IAC1C,oBAAoB,EAAE,kBAAkB,EAAE,CAAC;IAC3C,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACpE,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAClD,mBAAmB,EAAE,OAAO,CAAC;IAC7B,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACnE,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACnC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAK,EAAE,QAAQ,2CAkDtD"}
@@ -6,7 +6,7 @@ import TableHeader from "./TableHeader.js";
6
6
  import SchemaRow from "./SchemaRow.js";
7
7
  import { useAtomValue } from "jotai";
8
8
  function PermissionTable(props) {
9
- const { disableSelectSchema, explicitPermissions, inheritedPermissions, onChangePermission, onDeleteSchema, onChangeStates } = props;
9
+ const { disableSelectSchema, explicitPermissions, inheritedPermissions, onChangePermission, onDeleteSchema, onChangeStates, objectTypeCodeSelected } = props;
10
10
  const schemas = useAtomValue(schemasState);
11
11
  const workflow = useAtomValue(workflowStates);
12
12
  return /*#__PURE__*/ jsx(Stack, {
@@ -33,7 +33,8 @@ function PermissionTable(props) {
33
33
  inheritedPermissions: inheritedPermissions,
34
34
  explicitPermission: item,
35
35
  workflow: workflow,
36
- onChangeStates: onChangeStates
36
+ onChangeStates: onChangeStates,
37
+ objectTypeCodeSelected: objectTypeCodeSelected
37
38
  }, `schemaRow_${item.schemaId}`))
38
39
  })
39
40
  ]
@@ -0,0 +1,12 @@
1
+ import { Schema, TypeDefinitionCustom } from '../../../Features/SYSTEM/Schema';
2
+ type SchemaDetailProps = {
3
+ id?: string;
4
+ objectDefinitions: TypeDefinitionCustom[];
5
+ selectedSchemaIds: (number | null)[];
6
+ schema?: Schema;
7
+ onOpenEditSchema?: (schema: Schema) => void;
8
+ onSelectedSchemaChange?: (checked: boolean, schema: Schema) => void;
9
+ };
10
+ export default function SchemaDetail(props: SchemaDetailProps): import("react/jsx-runtime").JSX.Element | null;
11
+ export {};
12
+ //# sourceMappingURL=SchemaDetail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SchemaDetail.d.ts","sourceRoot":"","sources":["../../../../src/AWING/DirectoryPermission/components/SchemaDetail.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAa,MAAM,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAKjF,KAAK,iBAAiB,GAAG;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,iBAAiB,EAAE,oBAAoB,EAAE,CAAC;IAC1C,iBAAiB,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,sBAAsB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACvE,CAAC;AACF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,KAAK,EAAE,iBAAiB,kDAwC5D"}
@@ -0,0 +1,46 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { ChevronRight, ExpandMore } from "@mui/icons-material";
3
+ import { Box } from "@mui/material";
4
+ import { SimpleTreeView } from "@mui/x-tree-view";
5
+ import { FieldView } from "../../../Features/SYSTEM/Schema/index.js";
6
+ import { convertToDisplayData, convertToTreeData } from "../../../Features/SYSTEM/Schema/utils.js";
7
+ import { useState } from "react";
8
+ import { BORDER_LIGHTGRAY } from "../constants.js";
9
+ function SchemaDetail(props) {
10
+ const { objectDefinitions, schema } = props;
11
+ const [expanded, setExpanded] = useState([]);
12
+ if (!schema) return null;
13
+ const handleToggle = (_e, nodeIds)=>{
14
+ setExpanded(nodeIds);
15
+ };
16
+ const displayData = convertToDisplayData(objectDefinitions);
17
+ const treeDatas = convertToTreeData(displayData);
18
+ return /*#__PURE__*/ jsx(Box, {
19
+ style: {
20
+ borderBottom: BORDER_LIGHTGRAY
21
+ },
22
+ children: /*#__PURE__*/ jsx(SimpleTreeView, {
23
+ "aria-label": "controlled",
24
+ slots: {
25
+ collapseIcon: ExpandMore,
26
+ expandIcon: ChevronRight
27
+ },
28
+ expandedItems: expanded,
29
+ onExpandedItemsChange: handleToggle,
30
+ sx: {
31
+ paddingBottom: 2
32
+ },
33
+ disableSelection: true,
34
+ children: treeDatas.map((fieldInfo, index)=>/*#__PURE__*/ jsx(FieldView, {
35
+ isDefaultSchema: null === schema.id,
36
+ fieldInfo: fieldInfo,
37
+ schemaDetails: (schema.schemaObjectDefinitions ?? []).map((p)=>({
38
+ id: p.id,
39
+ typeDefinitionId: p.typeDefinitionId,
40
+ typeDefinition: p.typeDefinition
41
+ }))
42
+ }, index))
43
+ })
44
+ });
45
+ }
46
+ export { SchemaDetail as default };
@@ -10,6 +10,7 @@ export type OwnProps = {
10
10
  disableSelectSchema: boolean;
11
11
  workflow: Workflow;
12
12
  onChangeStates: (stateId: string, schemaId: number | null) => void;
13
+ objectTypeCodeSelected?: string;
13
14
  };
14
15
  export default function Container(props: OwnProps): import("react/jsx-runtime").JSX.Element;
15
16
  //# sourceMappingURL=SchemaRow.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaRow.d.ts","sourceRoot":"","sources":["../../../../src/AWING/DirectoryPermission/components/SchemaRow.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGrE,MAAM,MAAM,QAAQ,GAAG;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,oBAAoB,EAAE,kBAAkB,EAAE,CAAC;IAC3C,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACpE,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAClD,mBAAmB,EAAE,OAAO,CAAC;IAC7B,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CACtE,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,KAAK,EAAE,QAAQ,2CAiJhD"}
1
+ {"version":3,"file":"SchemaRow.d.ts","sourceRoot":"","sources":["../../../../src/AWING/DirectoryPermission/components/SchemaRow.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAMrE,MAAM,MAAM,QAAQ,GAAG;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,oBAAoB,EAAE,kBAAkB,EAAE,CAAC;IAC3C,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACpE,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAClD,mBAAmB,EAAE,OAAO,CAAC;IAC7B,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACnE,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACnC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,KAAK,EAAE,QAAQ,2CAyLhD"}
@@ -2,21 +2,35 @@ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
2
  import { useState } from "react";
3
3
  import { Box, Checkbox, IconButton, TableCell, TableRow, Typography } from "@mui/material";
4
4
  import { Clear, ExpandLess, ExpandMore } from "@mui/icons-material";
5
- import { Constants } from "../constants.js";
5
+ import { Constants, OBJECT_TYPE_CODE_NONE } from "../constants.js";
6
6
  import { rootSchemasState } from "../Atoms.js";
7
7
  import StatePicker from "./StatePicker.js";
8
8
  import { useAtomValue } from "jotai";
9
+ import SchemaDetail from "./SchemaDetail.js";
10
+ import { useGetDirectoryContext } from "../context.js";
9
11
  function Container(props) {
10
- const { index, schemas, schemaId, onChangePermission, disableSelectSchema, onDeleteSchema, inheritedPermissions, explicitPermission, workflow, onChangeStates } = props;
12
+ const { index, schemas, schemaId, onChangePermission, disableSelectSchema, onDeleteSchema, inheritedPermissions, explicitPermission, workflow, onChangeStates, objectTypeCodeSelected } = props;
11
13
  const rootSchemas = useAtomValue(rootSchemasState);
12
14
  const inherit = inheritedPermissions?.find((i)=>i.schemaId === explicitPermission.schemaId);
13
15
  const iPermissions = inherit?.permissions || [];
14
16
  const iWorkflowStateIds = inherit?.workflowStateIds || [];
15
17
  const ePermissions = explicitPermission.permissions;
16
18
  const eWorkflowStateIds = explicitPermission.workflowStateIds;
17
- const [open, setOpen] = useState(true);
19
+ const { services } = useGetDirectoryContext();
20
+ const [typeDefinitions, setTypeDefinitions] = useState([]);
21
+ const [open, setOpen] = useState(false);
18
22
  const handleOpen = ()=>{
19
23
  setOpen(!open);
24
+ objectTypeCodeSelected && objectTypeCodeSelected !== OBJECT_TYPE_CODE_NONE && services?.getSchemaDetails && services.getSchemaDetails({
25
+ objectTypeCode: objectTypeCodeSelected
26
+ }).then((schemas)=>{
27
+ const typeDefinitions = schemas.flatMap((s)=>s.schemaObjectDefinitions ?? []).map((d)=>({
28
+ ...d.typeDefinition,
29
+ fieldPath: d.fieldPath,
30
+ isReadOnly: d.isReadOnly
31
+ }));
32
+ setTypeDefinitions(typeDefinitions);
33
+ });
20
34
  };
21
35
  const handleChangeStates = (stateId)=>{
22
36
  onChangeStates(stateId, schemaId);
@@ -39,10 +53,11 @@ function Container(props) {
39
53
  children: /*#__PURE__*/ jsxs(Box, {
40
54
  style: {
41
55
  display: 'flex',
42
- flexDirection: 'row'
56
+ flexDirection: 'row',
57
+ alignItems: 'center'
43
58
  },
44
59
  children: [
45
- workflow && (open ? /*#__PURE__*/ jsx(ExpandLess, {
60
+ open ? /*#__PURE__*/ jsx(ExpandLess, {
46
61
  sx: {
47
62
  marginRight: 0.5
48
63
  }
@@ -50,7 +65,7 @@ function Container(props) {
50
65
  sx: {
51
66
  marginRight: 0.5
52
67
  }
53
- })),
68
+ }),
54
69
  /*#__PURE__*/ jsx(Typography, {
55
70
  variant: "body1",
56
71
  sx: {
@@ -92,22 +107,28 @@ function Container(props) {
92
107
  }, `per_${code}`)),
93
108
  /*#__PURE__*/ jsx(TableCell, {
94
109
  style: {
95
- display: 'flex',
96
- justifyContent: 'flex-end',
97
110
  borderBottom: open ? 'none' : ''
98
111
  },
99
- children: disableSelectSchema ? /*#__PURE__*/ jsx(Clear, {
100
- color: "action",
112
+ children: /*#__PURE__*/ jsx(Box, {
101
113
  sx: {
102
- opacity: '0',
103
- margin: 1
104
- }
105
- }) : /*#__PURE__*/ jsx(IconButton, {
106
- onClick: ()=>{
107
- onDeleteSchema(schemaId);
114
+ display: 'flex',
115
+ justifyContent: 'flex-end',
116
+ alignItems: 'center',
117
+ height: '100%'
108
118
  },
109
- children: /*#__PURE__*/ jsx(Clear, {
110
- color: "action"
119
+ children: disableSelectSchema ? /*#__PURE__*/ jsx(Clear, {
120
+ color: "action",
121
+ sx: {
122
+ opacity: '0',
123
+ margin: 1
124
+ }
125
+ }) : /*#__PURE__*/ jsx(IconButton, {
126
+ onClick: ()=>{
127
+ onDeleteSchema(schemaId);
128
+ },
129
+ children: /*#__PURE__*/ jsx(Clear, {
130
+ color: "action"
131
+ })
111
132
  })
112
133
  })
113
134
  })
@@ -124,7 +145,20 @@ function Container(props) {
124
145
  onChangeStates: handleChangeStates
125
146
  }, `state_${state.id}`))
126
147
  })
127
- })
148
+ }),
149
+ open && schemas.map((schema)=>/*#__PURE__*/ jsx(TableRow, {
150
+ children: /*#__PURE__*/ jsx(TableCell, {
151
+ colSpan: 8,
152
+ children: /*#__PURE__*/ jsx(SchemaDetail, {
153
+ id: `SchemaView_${schema.id}`,
154
+ objectDefinitions: typeDefinitions,
155
+ schema: schema,
156
+ selectedSchemaIds: [
157
+ schemaId ?? 0
158
+ ]
159
+ })
160
+ })
161
+ }, `schema_view_row_${schema.id}`))
128
162
  ]
129
163
  });
130
164
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Container.d.ts","sourceRoot":"","sources":["../../../../../src/Features/SYSTEM/Directory/Permission/Container.tsx"],"names":[],"mappings":"AAGA,iBAAS,SAAS,4CAmCjB;AAED,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"Container.d.ts","sourceRoot":"","sources":["../../../../../src/Features/SYSTEM/Directory/Permission/Container.tsx"],"names":[],"mappings":"AAGA,iBAAS,SAAS,4CAoCjB;AAED,eAAe,SAAS,CAAC"}
@@ -15,7 +15,8 @@ function Container() {
15
15
  getGroups: services?.getGroups,
16
16
  getRoles: services?.getRoles,
17
17
  getUsers: services?.getUsers,
18
- getSchemaByWorkspaceId: services?.getSchemaByWorkspaceId
18
+ getSchemaByWorkspaceId: services?.getSchemaByWorkspaceId,
19
+ getSchemaDetails: services?.getSchemaDetails
19
20
  } : void 0;
20
21
  return /*#__PURE__*/ jsx(DirectoryPermission, {
21
22
  currentWorkspace: currentWorkspace,
@@ -1,8 +1,7 @@
1
1
  import { type DirectoryAddOrEditServices } from '../../../AWING/DirectoryForm';
2
- import { type DirectoryPermissionServices } from '../../../AWING/DirectoryPermission';
2
+ import { Schema, type DirectoryPermissionServices } from '../../../AWING/DirectoryPermission';
3
3
  import type { CustomPagingRequestInput } from '../../types';
4
4
  import type { Directory } from './types';
5
- import { Sharing } from '../Sharing/Types';
6
5
  export type DirectoryServices = DirectoryAddOrEditServices & DirectoryPermissionServices & {
7
6
  /** Get Directories
8
7
  * @params PagingQueryInput<Directory> - Không truyền param sẽ lấy tất cả
@@ -20,9 +19,9 @@ export type DirectoryServices = DirectoryAddOrEditServices & DirectoryPermission
20
19
  deleteDirectory: (params: {
21
20
  id: number;
22
21
  }) => Promise<any>;
23
- getSchemaByWorkspaceId: () => Promise<{
24
- items: Sharing[];
25
- total: number;
26
- }>;
22
+ getSchemaByWorkspaceId: () => Promise<Schema[]>;
23
+ getSchemaDetails: (p?: {
24
+ objectTypeCode: string;
25
+ }) => Promise<Schema[]>;
27
26
  };
28
27
  //# sourceMappingURL=Services.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Services.d.ts","sourceRoot":"","sources":["../../../../src/Features/SYSTEM/Directory/Services.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,MAAM,MAAM,iBAAiB,GAAG,0BAA0B,GACtD,2BAA2B,GAAG;IAC1B;;OAEG;IACH,cAAc,EAAE,CACZ,MAAM,CAAC,EAAE;QACL,KAAK,CAAC,EAAE,wBAAwB,CAAC;QACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,aAAa,CAAC,EAAE,MAAM,CAAC;KAC1B,KACA,OAAO,CAAC;QAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEpD,uBAAuB;IACvB,eAAe,EAAE,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAE1D,sBAAsB,EAAE,MAAM,OAAO,CAAC;QAClC,KAAK,EAAE,OAAO,EAAE,CAAC;QACjB,KAAK,EAAE,MAAM,CAAA;KAChB,CAAC,CAAC;CACN,CAAC"}
1
+ {"version":3,"file":"Services.d.ts","sourceRoot":"","sources":["../../../../src/Features/SYSTEM/Directory/Services.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,KAAK,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,MAAM,iBAAiB,GAAG,0BAA0B,GACtD,2BAA2B,GAAG;IAC1B;;OAEG;IACH,cAAc,EAAE,CACZ,MAAM,CAAC,EAAE;QACL,KAAK,CAAC,EAAE,wBAAwB,CAAC;QACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,aAAa,CAAC,EAAE,MAAM,CAAC;KAC1B,KACA,OAAO,CAAC;QAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEpD,uBAAuB;IACvB,eAAe,EAAE,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAE1D,sBAAsB,EAAE,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAChD,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE;QAAE,cAAc,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAC3E,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "awing-library",
3
- "version": "2.1.2-dev.552",
3
+ "version": "2.1.2-dev.553",
4
4
  "license": "MIT",
5
5
  "exports": {
6
6
  ".": {