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

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.
@@ -9,7 +9,7 @@ var __webpack_modules__ = {
9
9
  "AWING/DataInput": function(module) {
10
10
  module.exports = __WEBPACK_EXTERNAL_MODULE__DataInput_index_js_c7933a4f__;
11
11
  },
12
- "../helper": function(module) {
12
+ "AWING/helper": function(module) {
13
13
  module.exports = __WEBPACK_EXTERNAL_MODULE__helper_js_663c9e82__;
14
14
  }
15
15
  };
@@ -92,9 +92,9 @@ jest.mock('@mui/material', ()=>({
92
92
  })
93
93
  }));
94
94
  const mockInputFactory = __webpack_require__("AWING/DataInput")["default"];
95
- const mockCalculateValue = __webpack_require__("../helper").calculateValue;
96
- const mockConvertFormulaToBinaryTree = __webpack_require__("../helper").convertFormulaToBinaryTree;
97
- const mockReplaceFieldsValue = __webpack_require__("../helper").replaceFieldsValue;
95
+ const mockCalculateValue = __webpack_require__("AWING/helper").calculateValue;
96
+ const mockConvertFormulaToBinaryTree = __webpack_require__("AWING/helper").convertFormulaToBinaryTree;
97
+ const mockReplaceFieldsValue = __webpack_require__("AWING/helper").replaceFieldsValue;
98
98
  describe('DataForm Component', ()=>{
99
99
  const mockFields = [
100
100
  {
@@ -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,4CAgTjD,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -30,16 +30,17 @@ const AddOrEditPermission = (props)=>{
30
30
  const setSchemas = useSetAtom(schemasState);
31
31
  const { authenType, authenValue } = getAuthenValueAndType(authenTypeValue ?? '', AUTHEN_PATH_SEPARATION);
32
32
  const currentEditPermission = listPermission?.find((p)=>p.authenType === authenType && p.authenValue === authenValue);
33
+ const defaultPermission = {
34
+ schemaId: null,
35
+ permissions: [],
36
+ workflowStateIds: []
37
+ };
33
38
  const [readyForSubmit, setReadyForSubmit] = useState(false);
34
39
  const [confirmExit, setConfirmExit] = useState(false);
35
40
  const [authenPermissions, setAuthenPermissions] = useState([]);
36
41
  const [explicitMatrixPermissions, setExplicitMatrixPermissions] = useState([]);
37
42
  const [explicitPermissions, setExplicitPermissions] = useState([
38
- {
39
- schemaId: null,
40
- permissions: [],
41
- workflowStateIds: []
42
- }
43
+ defaultPermission
43
44
  ]);
44
45
  const [schemasByWorkspace, setSchemasByWorkspace] = useState([]);
45
46
  const [currentPermission, setCurrentPermission] = useState(getDefaultCurrentPermission('Role'));
@@ -163,26 +164,26 @@ const AddOrEditPermission = (props)=>{
163
164
  if (isCreate) setAuthenPermissions(authenPermissions?.filter((a)=>!(a.authenValue === authen.authenValue && a.authenType === authen.authenType)));
164
165
  };
165
166
  useEffect(()=>{
166
- services?.getSchemaByWorkspaceId && !schemasByWorkspace.length && services.getSchemaByWorkspaceId().then((schemas)=>{
167
- setSchemasByWorkspace(schemas.items);
167
+ services?.getSchemaByWorkspaceId && services.getSchemaByWorkspaceId().then((schemas)=>{
168
+ setSchemasByWorkspace(schemas);
168
169
  });
169
170
  }, []);
170
- const schemasFiltered = useMemo(()=>schemasByWorkspace.filter((s)=>{
171
- const objectTypeCode = s.objectFilter?.objectTypeCode;
172
- return objectTypeCode === objectTypeCodeSelected;
173
- }), [
171
+ const schemasFiltered = useMemo(()=>schemasByWorkspace.filter((s)=>s.objectTypeCode === objectTypeCodeSelected), [
174
172
  schemasByWorkspace,
175
173
  objectTypeCodeSelected
176
174
  ]);
177
175
  useEffect(()=>{
178
- if (schemasFiltered.length && schemasFiltered.every((sharing)=>sharing.schema)) setExplicitPermissions([
179
- {
180
- schemaId: schemasFiltered[0].schema?.id ?? null,
181
- permissions: [],
182
- workflowStateIds: []
183
- }
176
+ schemasFiltered.length ? setExplicitPermissions((prev)=>{
177
+ if (!isCreate) return prev;
178
+ return schemasFiltered.map((s)=>({
179
+ schemaId: s.id,
180
+ permissions: [],
181
+ workflowStateIds: []
182
+ }));
183
+ }) : setExplicitPermissions([
184
+ defaultPermission
184
185
  ]);
185
- setSchemas(schemasFiltered.filter((sharing)=>sharing.schema).map((sharing)=>sharing.schema));
186
+ setSchemas(schemasFiltered);
186
187
  }, [
187
188
  schemasFiltered
188
189
  ]);
@@ -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.554",
4
4
  "license": "MIT",
5
5
  "exports": {
6
6
  ".": {