@webiny/app-audit-logs 6.3.0 → 6.4.0-beta.0
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/SecurityPermission.js +11 -14
- package/SecurityPermission.js.map +1 -1
- package/components/Text.d.ts +9 -1
- package/components/Text.js +37 -21
- package/components/Text.js.map +1 -1
- package/config/list/AuditLogsListConfig.js +26 -27
- package/config/list/AuditLogsListConfig.js.map +1 -1
- package/config/list/Browser/Filter.js +30 -37
- package/config/list/Browser/Filter.js.map +1 -1
- package/config/list/Browser/FiltersToWhere.js +10 -13
- package/config/list/Browser/FiltersToWhere.js.map +1 -1
- package/config/list/Browser/index.js +4 -3
- package/config/list/Browser/index.js.map +1 -1
- package/config/list/index.js +0 -2
- package/constants/index.js +2 -1
- package/constants/index.js.map +1 -1
- package/domain/permissionsSchema.js +4 -3
- package/domain/permissionsSchema.js.map +1 -1
- package/features/permissions/abstractions.js +2 -1
- package/features/permissions/abstractions.js.map +1 -1
- package/features/permissions/feature.js +2 -1
- package/features/permissions/feature.js.map +1 -1
- package/graphql.js +4 -3
- package/graphql.js.map +1 -1
- package/hooks/graphql.js +3 -2
- package/hooks/graphql.js.map +1 -1
- package/hooks/index.js +0 -2
- package/hooks/schema.d.ts +4 -4
- package/hooks/schema.js +22 -28
- package/hooks/schema.js.map +1 -1
- package/hooks/useAuditLogsList.d.ts +3 -3
- package/hooks/useAuditLogsList.js +100 -93
- package/hooks/useAuditLogsList.js.map +1 -1
- package/index.js +32 -36
- package/index.js.map +1 -1
- package/package.json +12 -12
- package/routes.js +6 -5
- package/routes.js.map +1 -1
- package/types.js +1 -4
- package/utils/transformRawAuditLog.js +22 -24
- package/utils/transformRawAuditLog.js.map +1 -1
- package/views/Logs/Filters/FilterByAction.js +39 -40
- package/views/Logs/Filters/FilterByAction.js.map +1 -1
- package/views/Logs/Filters/FilterByApp.js +32 -31
- package/views/Logs/Filters/FilterByApp.js.map +1 -1
- package/views/Logs/Filters/FilterByCreatedBy.js +35 -32
- package/views/Logs/Filters/FilterByCreatedBy.js.map +1 -1
- package/views/Logs/Filters/FilterByCreatedOn.js +31 -32
- package/views/Logs/Filters/FilterByCreatedOn.js.map +1 -1
- package/views/Logs/Filters/FilterByEntity.js +39 -41
- package/views/Logs/Filters/FilterByEntity.js.map +1 -1
- package/views/Logs/Filters/FilterByEntityId.js +21 -24
- package/views/Logs/Filters/FilterByEntityId.js.map +1 -1
- package/views/Logs/Filters/FilterByInitiator.js +35 -32
- package/views/Logs/Filters/FilterByInitiator.js.map +1 -1
- package/views/Logs/Filters/FilterByTimestamp.js +31 -32
- package/views/Logs/Filters/FilterByTimestamp.js.map +1 -1
- package/views/Logs/Filters/Filters.js +17 -21
- package/views/Logs/Filters/Filters.js.map +1 -1
- package/views/Logs/Filters/index.js +0 -2
- package/views/Logs/Filters/styled.js +11 -15
- package/views/Logs/Filters/styled.js.map +1 -1
- package/views/Logs/Filters/types.js +0 -3
- package/views/Logs/Header/ButtonFilters/ButtonFilters.js +25 -44
- package/views/Logs/Header/ButtonFilters/ButtonFilters.js.map +1 -1
- package/views/Logs/Header/ButtonFilters/index.js +0 -2
- package/views/Logs/Header/Header.js +13 -66
- package/views/Logs/Header/Header.js.map +1 -1
- package/views/Logs/Header/index.js +0 -2
- package/views/Logs/LoadMoreButton/LoadMoreButton.js +9 -16
- package/views/Logs/LoadMoreButton/LoadMoreButton.js.map +1 -1
- package/views/Logs/LoadMoreButton/index.js +0 -2
- package/views/Logs/LoadMoreButton/styled.js +7 -15
- package/views/Logs/LoadMoreButton/styled.js.map +1 -1
- package/views/Logs/LoadingMore/index.js +12 -12
- package/views/Logs/LoadingMore/index.js.map +1 -1
- package/views/Logs/Logs.js +63 -68
- package/views/Logs/Logs.js.map +1 -1
- package/views/Logs/LogsModule.js +22 -25
- package/views/Logs/LogsModule.js.map +1 -1
- package/views/Logs/LogsView.js +64 -67
- package/views/Logs/LogsView.js.map +1 -1
- package/views/Logs/Preview/Preview.js +75 -84
- package/views/Logs/Preview/Preview.js.map +1 -1
- package/views/Logs/Preview/index.js +0 -2
- package/views/Logs/Preview/styled.js +29 -23
- package/views/Logs/Preview/styled.js.map +1 -1
- package/views/Logs/Table/Table.d.ts +3 -3
- package/views/Logs/Table/Table.js +101 -125
- package/views/Logs/Table/Table.js.map +1 -1
- package/views/Logs/Table/index.js +0 -2
- package/views/Logs/Table/styled.d.ts +2 -2
- package/views/Logs/Table/styled.js +38 -75
- package/views/Logs/Table/styled.js.map +1 -1
- package/config/list/index.js.map +0 -1
- package/hooks/index.js.map +0 -1
- package/types.js.map +0 -1
- package/views/Logs/Filters/index.js.map +0 -1
- package/views/Logs/Filters/types.js.map +0 -1
- package/views/Logs/Header/ButtonFilters/index.js.map +0 -1
- package/views/Logs/Header/index.js.map +0 -1
- package/views/Logs/LoadMoreButton/index.js.map +0 -1
- package/views/Logs/LoadingMore/styled.d.ts +0 -8
- package/views/Logs/LoadingMore/styled.js +0 -30
- package/views/Logs/LoadingMore/styled.js.map +0 -1
- package/views/Logs/Preview/index.js.map +0 -1
- package/views/Logs/Table/index.js.map +0 -1
- package/views/Logs/styled.d.ts +0 -8
- package/views/Logs/styled.js +0 -30
- package/views/Logs/styled.js.map +0 -1
|
@@ -1,45 +1,44 @@
|
|
|
1
|
-
import
|
|
1
|
+
import react, { useMemo } from "react";
|
|
2
2
|
import { useBind, useForm } from "@webiny/form";
|
|
3
|
-
import { Select } from "@webiny/ui
|
|
4
|
-
import { apps
|
|
5
|
-
const getValidFilterValue = value
|
|
6
|
-
|
|
7
|
-
return
|
|
8
|
-
}
|
|
9
|
-
return value;
|
|
3
|
+
import { Select } from "@webiny/admin-ui";
|
|
4
|
+
import { apps } from "@webiny/common-audit-logs";
|
|
5
|
+
const getValidFilterValue = (value)=>{
|
|
6
|
+
if ("all" === value || "" === value) return;
|
|
7
|
+
return value;
|
|
10
8
|
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
return null;
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
9
|
+
const FilterByAction = ()=>{
|
|
10
|
+
const { data } = useForm();
|
|
11
|
+
const bind = useBind({
|
|
12
|
+
name: "action",
|
|
13
|
+
beforeChange (value, cb) {
|
|
14
|
+
cb(getValidFilterValue(value));
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
const options = useMemo(()=>{
|
|
18
|
+
if (!data.app) return [];
|
|
19
|
+
const entities = apps.find((app)=>app.app === data.app)?.entities || [];
|
|
20
|
+
const actions = entities.find((entity)=>entity.type === data.entity)?.actions || [];
|
|
21
|
+
return [
|
|
22
|
+
{
|
|
23
|
+
label: "All",
|
|
24
|
+
value: "all"
|
|
25
|
+
},
|
|
26
|
+
...actions.map((entity)=>({
|
|
27
|
+
label: entity.displayName,
|
|
28
|
+
value: entity.type
|
|
29
|
+
}))
|
|
30
|
+
];
|
|
31
|
+
}, [
|
|
32
|
+
data
|
|
33
|
+
]);
|
|
34
|
+
if (!data.app || !data.entity) return null;
|
|
35
|
+
return /*#__PURE__*/ react.createElement(Select, {
|
|
36
|
+
...bind,
|
|
37
|
+
size: "md",
|
|
38
|
+
placeholder: "Filter by Action",
|
|
39
|
+
options: options
|
|
40
|
+
});
|
|
43
41
|
};
|
|
42
|
+
export { FilterByAction };
|
|
44
43
|
|
|
45
44
|
//# sourceMappingURL=FilterByAction.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"views/Logs/Filters/FilterByAction.js","sources":["../../../../src/views/Logs/Filters/FilterByAction.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { useBind, useForm } from \"@webiny/form\";\nimport { Select } from \"@webiny/admin-ui\";\nimport { apps as auditLogsApps } from \"@webiny/common-audit-logs\";\nimport type { IFilterFormData } from \"~/views/Logs/Filters/types.js\";\n\nconst getValidFilterValue = (value: string): string | undefined => {\n if (value === \"all\" || value === \"\") {\n return undefined;\n }\n return value;\n};\n\nexport const FilterByAction = () => {\n const { data } = useForm<IFilterFormData>();\n const bind = useBind({\n name: \"action\",\n beforeChange(value, cb) {\n cb(getValidFilterValue(value));\n }\n });\n\n const options = useMemo(() => {\n if (!data.app) {\n return [];\n }\n\n const entities = auditLogsApps.find(app => app.app === data.app)?.entities || [];\n const actions = entities.find(entity => entity.type === data.entity)?.actions || [];\n\n return [\n { label: \"All\", value: \"all\" },\n ...actions.map(entity => ({ label: entity.displayName, value: entity.type }))\n ];\n }, [data]);\n\n if (!data.app || !data.entity) {\n return null;\n }\n\n return <Select {...bind} size={\"md\"} placeholder={\"Filter by Action\"} options={options} />;\n};\n"],"names":["getValidFilterValue","value","FilterByAction","data","useForm","bind","useBind","cb","options","useMemo","entities","auditLogsApps","app","actions","entity","Select"],"mappings":";;;;AAMA,MAAMA,sBAAsB,CAACC;IACzB,IAAIA,AAAU,UAAVA,SAAmBA,AAAU,OAAVA,OACnB;IAEJ,OAAOA;AACX;AAEO,MAAMC,iBAAiB;IAC1B,MAAM,EAAEC,IAAI,EAAE,GAAGC;IACjB,MAAMC,OAAOC,QAAQ;QACjB,MAAM;QACN,cAAaL,KAAK,EAAEM,EAAE;YAClBA,GAAGP,oBAAoBC;QAC3B;IACJ;IAEA,MAAMO,UAAUC,QAAQ;QACpB,IAAI,CAACN,KAAK,GAAG,EACT,OAAO,EAAE;QAGb,MAAMO,WAAWC,KAAc,IAAI,CAACC,CAAAA,MAAOA,IAAI,GAAG,KAAKT,KAAK,GAAG,GAAG,YAAY,EAAE;QAChF,MAAMU,UAAUH,SAAS,IAAI,CAACI,CAAAA,SAAUA,OAAO,IAAI,KAAKX,KAAK,MAAM,GAAG,WAAW,EAAE;QAEnF,OAAO;YACH;gBAAE,OAAO;gBAAO,OAAO;YAAM;eAC1BU,QAAQ,GAAG,CAACC,CAAAA,SAAW;oBAAE,OAAOA,OAAO,WAAW;oBAAE,OAAOA,OAAO,IAAI;gBAAC;SAC7E;IACL,GAAG;QAACX;KAAK;IAET,IAAI,CAACA,KAAK,GAAG,IAAI,CAACA,KAAK,MAAM,EACzB,OAAO;IAGX,OAAO,WAAP,GAAO,oBAACY,QAAMA;QAAE,GAAGV,IAAI;QAAE,MAAM;QAAM,aAAa;QAAoB,SAASG;;AACnF"}
|
|
@@ -1,36 +1,37 @@
|
|
|
1
|
-
import
|
|
1
|
+
import react from "react";
|
|
2
2
|
import { useBind, useForm } from "@webiny/form";
|
|
3
|
-
import { Select } from "@webiny/ui
|
|
4
|
-
import { apps
|
|
5
|
-
const getValidFilterValue = value
|
|
6
|
-
|
|
7
|
-
return
|
|
8
|
-
}
|
|
9
|
-
return value;
|
|
3
|
+
import { Select } from "@webiny/admin-ui";
|
|
4
|
+
import { apps } from "@webiny/common-audit-logs";
|
|
5
|
+
const getValidFilterValue = (value)=>{
|
|
6
|
+
if ("all" === value || "" === value) return;
|
|
7
|
+
return value;
|
|
10
8
|
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
9
|
+
const FilterByApp = ()=>{
|
|
10
|
+
const { setValue } = useForm();
|
|
11
|
+
const bind = useBind({
|
|
12
|
+
name: "app",
|
|
13
|
+
beforeChange (value, cb) {
|
|
14
|
+
setValue("entity", void 0);
|
|
15
|
+
setValue("action", void 0);
|
|
16
|
+
cb(getValidFilterValue(value));
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
return /*#__PURE__*/ react.createElement(Select, {
|
|
20
|
+
...bind,
|
|
21
|
+
size: "md",
|
|
22
|
+
placeholder: "Filter by App",
|
|
23
|
+
options: [
|
|
24
|
+
{
|
|
25
|
+
label: "All",
|
|
26
|
+
value: "all"
|
|
27
|
+
},
|
|
28
|
+
...apps.map((app)=>({
|
|
29
|
+
label: app.displayName,
|
|
30
|
+
value: app.app
|
|
31
|
+
}))
|
|
32
|
+
]
|
|
33
|
+
});
|
|
34
34
|
};
|
|
35
|
+
export { FilterByApp };
|
|
35
36
|
|
|
36
37
|
//# sourceMappingURL=FilterByApp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"views/Logs/Filters/FilterByApp.js","sources":["../../../../src/views/Logs/Filters/FilterByApp.tsx"],"sourcesContent":["import React from \"react\";\nimport { useBind, useForm } from \"@webiny/form\";\nimport { Select } from \"@webiny/admin-ui\";\nimport { apps as auditLogsApps } from \"@webiny/common-audit-logs\";\nimport type { IFilterFormData } from \"~/views/Logs/Filters/types.js\";\n\nconst getValidFilterValue = (value: string): string | undefined => {\n if (value === \"all\" || value === \"\") {\n return undefined;\n }\n return value;\n};\n\nexport const FilterByApp = () => {\n const { setValue } = useForm<IFilterFormData>();\n const bind = useBind({\n name: \"app\",\n beforeChange(value, cb) {\n setValue(\"entity\", undefined);\n setValue(\"action\", undefined);\n cb(getValidFilterValue(value));\n }\n });\n\n return (\n <Select\n {...bind}\n size={\"md\"}\n placeholder={\"Filter by App\"}\n options={[\n { label: \"All\", value: \"all\" },\n ...auditLogsApps.map(app => ({ label: app.displayName, value: app.app }))\n ]}\n />\n );\n};\n"],"names":["getValidFilterValue","value","FilterByApp","setValue","useForm","bind","useBind","cb","undefined","Select","auditLogsApps","app"],"mappings":";;;;AAMA,MAAMA,sBAAsB,CAACC;IACzB,IAAIA,AAAU,UAAVA,SAAmBA,AAAU,OAAVA,OACnB;IAEJ,OAAOA;AACX;AAEO,MAAMC,cAAc;IACvB,MAAM,EAAEC,QAAQ,EAAE,GAAGC;IACrB,MAAMC,OAAOC,QAAQ;QACjB,MAAM;QACN,cAAaL,KAAK,EAAEM,EAAE;YAClBJ,SAAS,UAAUK;YACnBL,SAAS,UAAUK;YACnBD,GAAGP,oBAAoBC;QAC3B;IACJ;IAEA,OAAO,WAAP,GACI,oBAACQ,QAAMA;QACF,GAAGJ,IAAI;QACR,MAAM;QACN,aAAa;QACb,SAAS;YACL;gBAAE,OAAO;gBAAO,OAAO;YAAM;eAC1BK,KAAAA,GAAiB,CAACC,CAAAA,MAAQ;oBAAE,OAAOA,IAAI,WAAW;oBAAE,OAAOA,IAAI,GAAG;gBAAC;SACzE;;AAGb"}
|
|
@@ -1,39 +1,42 @@
|
|
|
1
|
-
import
|
|
1
|
+
import react, { useMemo } from "react";
|
|
2
2
|
import { useQuery } from "@apollo/react-hooks";
|
|
3
3
|
import { useBind } from "@webiny/form";
|
|
4
|
-
import { Select } from "@webiny/ui
|
|
4
|
+
import { Select } from "@webiny/admin-ui";
|
|
5
5
|
import { LIST_USERS } from "../../../graphql.js";
|
|
6
|
-
const getValidFilterValue = value
|
|
7
|
-
|
|
8
|
-
return
|
|
9
|
-
}
|
|
10
|
-
return value;
|
|
6
|
+
const getValidFilterValue = (value)=>{
|
|
7
|
+
if ("all" === value || "" === value) return;
|
|
8
|
+
return value;
|
|
11
9
|
};
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
10
|
+
const FilterByCreatedBy = ()=>{
|
|
11
|
+
const { data: listUsers } = useQuery(LIST_USERS);
|
|
12
|
+
const bind = useBind({
|
|
13
|
+
name: "createdBy",
|
|
14
|
+
beforeChange (value, cb) {
|
|
15
|
+
cb(getValidFilterValue(value));
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
const options = useMemo(()=>{
|
|
19
|
+
const users = listUsers?.adminUsers?.users?.data || [];
|
|
20
|
+
return [
|
|
21
|
+
{
|
|
22
|
+
label: "All",
|
|
23
|
+
value: "all"
|
|
24
|
+
},
|
|
25
|
+
...users.map((user)=>({
|
|
26
|
+
label: `${user.firstName} ${user.lastName}`,
|
|
27
|
+
value: user.id
|
|
28
|
+
}))
|
|
29
|
+
];
|
|
30
|
+
}, [
|
|
31
|
+
listUsers
|
|
32
|
+
]);
|
|
33
|
+
return /*#__PURE__*/ react.createElement(Select, {
|
|
34
|
+
...bind,
|
|
35
|
+
size: "md",
|
|
36
|
+
placeholder: "Filter by Initiator",
|
|
37
|
+
options: options
|
|
38
|
+
});
|
|
37
39
|
};
|
|
40
|
+
export { FilterByCreatedBy };
|
|
38
41
|
|
|
39
42
|
//# sourceMappingURL=FilterByCreatedBy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"views/Logs/Filters/FilterByCreatedBy.js","sources":["../../../../src/views/Logs/Filters/FilterByCreatedBy.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { useQuery } from \"@apollo/react-hooks\";\nimport { useBind } from \"@webiny/form\";\nimport { Select } from \"@webiny/admin-ui\";\nimport { LIST_USERS } from \"~/graphql.js\";\nimport type { User } from \"~/types.js\";\n\nconst getValidFilterValue = (value: string): string | undefined => {\n if (value === \"all\" || value === \"\") {\n return undefined;\n }\n return value;\n};\n\nexport const FilterByCreatedBy = () => {\n const { data: listUsers } = useQuery(LIST_USERS);\n const bind = useBind({\n name: \"createdBy\",\n beforeChange(value, cb) {\n cb(getValidFilterValue(value));\n }\n });\n\n const options = useMemo(() => {\n const users: User[] = listUsers?.adminUsers?.users?.data || [];\n\n return [\n { label: \"All\", value: \"all\" },\n ...users.map(user => ({ label: `${user.firstName} ${user.lastName}`, value: user.id }))\n ];\n }, [listUsers]);\n\n return <Select {...bind} size={\"md\"} placeholder={\"Filter by Initiator\"} options={options} />;\n};\n"],"names":["getValidFilterValue","value","FilterByCreatedBy","listUsers","useQuery","LIST_USERS","bind","useBind","cb","options","useMemo","users","user","Select"],"mappings":";;;;;AAOA,MAAMA,sBAAsB,CAACC;IACzB,IAAIA,AAAU,UAAVA,SAAmBA,AAAU,OAAVA,OACnB;IAEJ,OAAOA;AACX;AAEO,MAAMC,oBAAoB;IAC7B,MAAM,EAAE,MAAMC,SAAS,EAAE,GAAGC,SAASC;IACrC,MAAMC,OAAOC,QAAQ;QACjB,MAAM;QACN,cAAaN,KAAK,EAAEO,EAAE;YAClBA,GAAGR,oBAAoBC;QAC3B;IACJ;IAEA,MAAMQ,UAAUC,QAAQ;QACpB,MAAMC,QAAgBR,WAAW,YAAY,OAAO,QAAQ,EAAE;QAE9D,OAAO;YACH;gBAAE,OAAO;gBAAO,OAAO;YAAM;eAC1BQ,MAAM,GAAG,CAACC,CAAAA,OAAS;oBAAE,OAAO,GAAGA,KAAK,SAAS,CAAC,CAAC,EAAEA,KAAK,QAAQ,EAAE;oBAAE,OAAOA,KAAK,EAAE;gBAAC;SACvF;IACL,GAAG;QAACT;KAAU;IAEd,OAAO,WAAP,GAAO,oBAACU,QAAMA;QAAE,GAAGP,IAAI;QAAE,MAAM;QAAM,aAAa;QAAuB,SAASG;;AACtF"}
|
|
@@ -1,40 +1,39 @@
|
|
|
1
|
-
import
|
|
1
|
+
import react from "react";
|
|
2
2
|
import { format } from "date-fns";
|
|
3
|
-
import { Input } from "@webiny/ui
|
|
3
|
+
import { Input } from "@webiny/admin-ui";
|
|
4
4
|
import { useBind } from "@webiny/form";
|
|
5
5
|
import { TimestampFiltersContainer } from "./styled.js";
|
|
6
|
-
const formatDateTime = date
|
|
7
|
-
|
|
8
|
-
return "";
|
|
9
|
-
}
|
|
10
|
-
return format(new Date(date), "yyyy-MM-dd'T'HH:mm");
|
|
6
|
+
const formatDateTime = (date)=>{
|
|
7
|
+
if (!date) return "";
|
|
8
|
+
return format(new Date(date), "yyyy-MM-dd'T'HH:mm");
|
|
11
9
|
};
|
|
12
|
-
const getValidFilterValue = value
|
|
13
|
-
|
|
14
|
-
return
|
|
15
|
-
}
|
|
16
|
-
return new Date(value);
|
|
10
|
+
const getValidFilterValue = (value)=>{
|
|
11
|
+
if ("" === value) return;
|
|
12
|
+
return new Date(value);
|
|
17
13
|
};
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
14
|
+
const FilterByCreatedOn = ()=>{
|
|
15
|
+
const bindFrom = useBind({
|
|
16
|
+
name: "createdOn_gte",
|
|
17
|
+
beforeChange (value, cb) {
|
|
18
|
+
cb(getValidFilterValue(value));
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
const bindTo = useBind({
|
|
22
|
+
name: "createdOn_lte",
|
|
23
|
+
beforeChange (value, cb) {
|
|
24
|
+
cb(getValidFilterValue(value));
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
return /*#__PURE__*/ react.createElement(TimestampFiltersContainer, null, /*#__PURE__*/ react.createElement(Input, {
|
|
28
|
+
...bindFrom,
|
|
29
|
+
value: formatDateTime(bindFrom.value),
|
|
30
|
+
type: "datetime-local"
|
|
31
|
+
}), /*#__PURE__*/ react.createElement(Input, {
|
|
32
|
+
...bindTo,
|
|
33
|
+
value: formatDateTime(bindTo.value),
|
|
34
|
+
type: "datetime-local"
|
|
35
|
+
}));
|
|
38
36
|
};
|
|
37
|
+
export { FilterByCreatedOn };
|
|
39
38
|
|
|
40
39
|
//# sourceMappingURL=FilterByCreatedOn.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"views/Logs/Filters/FilterByCreatedOn.js","sources":["../../../../src/views/Logs/Filters/FilterByCreatedOn.tsx"],"sourcesContent":["import React from \"react\";\nimport { format } from \"date-fns\";\nimport { Input } from \"@webiny/admin-ui\";\nimport { useBind } from \"@webiny/form\";\nimport { TimestampFiltersContainer } from \"./styled.js\";\n\nconst formatDateTime = (date: string) => {\n if (!date) {\n return \"\";\n }\n\n return format(new Date(date), \"yyyy-MM-dd'T'HH:mm\");\n};\n\nconst getValidFilterValue = (value: string): Date | undefined => {\n if (value === \"\") {\n return undefined;\n }\n\n return new Date(value);\n};\n\nexport const FilterByCreatedOn = () => {\n const bindFrom = useBind({\n name: \"createdOn_gte\",\n beforeChange(value, cb) {\n cb(getValidFilterValue(value));\n }\n });\n\n const bindTo = useBind({\n name: \"createdOn_lte\",\n beforeChange(value, cb) {\n cb(getValidFilterValue(value));\n }\n });\n\n return (\n <TimestampFiltersContainer>\n <Input {...bindFrom} value={formatDateTime(bindFrom.value)} type=\"datetime-local\" />\n <Input {...bindTo} value={formatDateTime(bindTo.value)} type=\"datetime-local\" />\n </TimestampFiltersContainer>\n );\n};\n"],"names":["formatDateTime","date","format","Date","getValidFilterValue","value","FilterByCreatedOn","bindFrom","useBind","cb","bindTo","TimestampFiltersContainer","Input"],"mappings":";;;;;AAMA,MAAMA,iBAAiB,CAACC;IACpB,IAAI,CAACA,MACD,OAAO;IAGX,OAAOC,OAAO,IAAIC,KAAKF,OAAO;AAClC;AAEA,MAAMG,sBAAsB,CAACC;IACzB,IAAIA,AAAU,OAAVA,OACA;IAGJ,OAAO,IAAIF,KAAKE;AACpB;AAEO,MAAMC,oBAAoB;IAC7B,MAAMC,WAAWC,QAAQ;QACrB,MAAM;QACN,cAAaH,KAAK,EAAEI,EAAE;YAClBA,GAAGL,oBAAoBC;QAC3B;IACJ;IAEA,MAAMK,SAASF,QAAQ;QACnB,MAAM;QACN,cAAaH,KAAK,EAAEI,EAAE;YAClBA,GAAGL,oBAAoBC;QAC3B;IACJ;IAEA,OAAO,WAAP,GACI,oBAACM,2BAAyBA,MAAAA,WAAAA,GACtB,oBAACC,OAAKA;QAAE,GAAGL,QAAQ;QAAE,OAAOP,eAAeO,SAAS,KAAK;QAAG,MAAK;sBACjE,oBAACK,OAAKA;QAAE,GAAGF,MAAM;QAAE,OAAOV,eAAeU,OAAO,KAAK;QAAG,MAAK;;AAGzE"}
|
|
@@ -1,46 +1,44 @@
|
|
|
1
|
-
import
|
|
1
|
+
import react, { useMemo } from "react";
|
|
2
2
|
import { useBind, useForm } from "@webiny/form";
|
|
3
|
-
import { Select } from "@webiny/ui
|
|
4
|
-
import { apps
|
|
5
|
-
const getValidFilterValue = value
|
|
6
|
-
|
|
7
|
-
return
|
|
8
|
-
}
|
|
9
|
-
return value;
|
|
3
|
+
import { Select } from "@webiny/admin-ui";
|
|
4
|
+
import { apps } from "@webiny/common-audit-logs";
|
|
5
|
+
const getValidFilterValue = (value)=>{
|
|
6
|
+
if ("all" === value || "" === value) return;
|
|
7
|
+
return value;
|
|
10
8
|
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
return
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}));
|
|
9
|
+
const FilterByEntity = ()=>{
|
|
10
|
+
const { data, setValue } = useForm();
|
|
11
|
+
const bind = useBind({
|
|
12
|
+
name: "entity",
|
|
13
|
+
beforeChange (value, cb) {
|
|
14
|
+
setValue("action", void 0);
|
|
15
|
+
cb(getValidFilterValue(value));
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
const options = useMemo(()=>{
|
|
19
|
+
if (!data.app) return [];
|
|
20
|
+
const entities = apps.find((app)=>app.app === data.app)?.entities || [];
|
|
21
|
+
return [
|
|
22
|
+
{
|
|
23
|
+
label: "All",
|
|
24
|
+
value: "all"
|
|
25
|
+
},
|
|
26
|
+
...entities.map((entity)=>({
|
|
27
|
+
label: entity.displayName,
|
|
28
|
+
value: entity.type
|
|
29
|
+
}))
|
|
30
|
+
];
|
|
31
|
+
}, [
|
|
32
|
+
data.app
|
|
33
|
+
]);
|
|
34
|
+
if (0 === options.length) return null;
|
|
35
|
+
return /*#__PURE__*/ react.createElement(Select, {
|
|
36
|
+
...bind,
|
|
37
|
+
size: "md",
|
|
38
|
+
placeholder: "Filter by Entity",
|
|
39
|
+
options: options
|
|
40
|
+
});
|
|
44
41
|
};
|
|
42
|
+
export { FilterByEntity };
|
|
45
43
|
|
|
46
44
|
//# sourceMappingURL=FilterByEntity.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"views/Logs/Filters/FilterByEntity.js","sources":["../../../../src/views/Logs/Filters/FilterByEntity.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { useBind, useForm } from \"@webiny/form\";\nimport { Select } from \"@webiny/admin-ui\";\nimport { apps as auditLogsApps } from \"@webiny/common-audit-logs\";\nimport type { IFilterFormData } from \"./types.js\";\n\nconst getValidFilterValue = (value: string): string | undefined => {\n if (value === \"all\" || value === \"\") {\n return undefined;\n }\n return value;\n};\n\nexport const FilterByEntity = () => {\n const { data, setValue } = useForm<IFilterFormData>();\n const bind = useBind({\n name: \"entity\",\n beforeChange(value, cb) {\n setValue(\"action\", undefined);\n cb(getValidFilterValue(value));\n }\n });\n\n const options = useMemo(() => {\n if (!data.app) {\n return [];\n }\n\n const entities = auditLogsApps.find(app => app.app === data.app)?.entities || [];\n\n return [\n { label: \"All\", value: \"all\" },\n ...entities.map(entity => ({ label: entity.displayName, value: entity.type }))\n ];\n }, [data.app]);\n\n if (options.length === 0) {\n return null;\n }\n\n return <Select {...bind} size={\"md\"} placeholder={\"Filter by Entity\"} options={options} />;\n};\n"],"names":["getValidFilterValue","value","FilterByEntity","data","setValue","useForm","bind","useBind","cb","undefined","options","useMemo","entities","auditLogsApps","app","entity","Select"],"mappings":";;;;AAMA,MAAMA,sBAAsB,CAACC;IACzB,IAAIA,AAAU,UAAVA,SAAmBA,AAAU,OAAVA,OACnB;IAEJ,OAAOA;AACX;AAEO,MAAMC,iBAAiB;IAC1B,MAAM,EAAEC,IAAI,EAAEC,QAAQ,EAAE,GAAGC;IAC3B,MAAMC,OAAOC,QAAQ;QACjB,MAAM;QACN,cAAaN,KAAK,EAAEO,EAAE;YAClBJ,SAAS,UAAUK;YACnBD,GAAGR,oBAAoBC;QAC3B;IACJ;IAEA,MAAMS,UAAUC,QAAQ;QACpB,IAAI,CAACR,KAAK,GAAG,EACT,OAAO,EAAE;QAGb,MAAMS,WAAWC,KAAc,IAAI,CAACC,CAAAA,MAAOA,IAAI,GAAG,KAAKX,KAAK,GAAG,GAAG,YAAY,EAAE;QAEhF,OAAO;YACH;gBAAE,OAAO;gBAAO,OAAO;YAAM;eAC1BS,SAAS,GAAG,CAACG,CAAAA,SAAW;oBAAE,OAAOA,OAAO,WAAW;oBAAE,OAAOA,OAAO,IAAI;gBAAC;SAC9E;IACL,GAAG;QAACZ,KAAK,GAAG;KAAC;IAEb,IAAIO,AAAmB,MAAnBA,QAAQ,MAAM,EACd,OAAO;IAGX,OAAO,WAAP,GAAO,oBAACM,QAAMA;QAAE,GAAGV,IAAI;QAAE,MAAM;QAAM,aAAa;QAAoB,SAASI;;AACnF"}
|
|
@@ -1,28 +1,25 @@
|
|
|
1
|
-
import
|
|
1
|
+
import react from "react";
|
|
2
2
|
import { useBind, useForm } from "@webiny/form";
|
|
3
|
-
import { Input } from "@webiny/ui
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
return /*#__PURE__*/React.createElement(Input, Object.assign({}, bind, {
|
|
23
|
-
size: "medium",
|
|
24
|
-
placeholder: "Filter by EntityId"
|
|
25
|
-
}));
|
|
3
|
+
import { Input } from "@webiny/admin-ui";
|
|
4
|
+
const FilterByEntityId = ()=>{
|
|
5
|
+
const { setValue } = useForm();
|
|
6
|
+
const bind = useBind({
|
|
7
|
+
name: "entityId",
|
|
8
|
+
beforeChange (value, cb) {
|
|
9
|
+
if (!value) return void cb(void 0);
|
|
10
|
+
setValue("app", void 0);
|
|
11
|
+
setValue("entity", void 0);
|
|
12
|
+
setValue("action", void 0);
|
|
13
|
+
setValue("createdBy", void 0);
|
|
14
|
+
cb(value);
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
return /*#__PURE__*/ react.createElement(Input, {
|
|
18
|
+
...bind,
|
|
19
|
+
size: "md",
|
|
20
|
+
placeholder: "Filter by EntityId"
|
|
21
|
+
});
|
|
26
22
|
};
|
|
23
|
+
export { FilterByEntityId };
|
|
27
24
|
|
|
28
25
|
//# sourceMappingURL=FilterByEntityId.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"views/Logs/Filters/FilterByEntityId.js","sources":["../../../../src/views/Logs/Filters/FilterByEntityId.tsx"],"sourcesContent":["import React from \"react\";\nimport { useBind, useForm } from \"@webiny/form\";\nimport { Input } from \"@webiny/admin-ui\";\nimport type { IFilterFormData } from \"~/views/Logs/Filters/types.js\";\n\nexport const FilterByEntityId = () => {\n const { setValue } = useForm<IFilterFormData>();\n const bind = useBind({\n name: \"entityId\",\n beforeChange(value, cb) {\n if (!value) {\n cb(undefined);\n return;\n }\n setValue(\"app\", undefined);\n setValue(\"entity\", undefined);\n setValue(\"action\", undefined);\n setValue(\"createdBy\", undefined);\n cb(value);\n }\n });\n\n return <Input {...bind} size={\"md\"} placeholder={\"Filter by EntityId\"} />;\n};\n"],"names":["FilterByEntityId","setValue","useForm","bind","useBind","value","cb","undefined","Input"],"mappings":";;;AAKO,MAAMA,mBAAmB;IAC5B,MAAM,EAAEC,QAAQ,EAAE,GAAGC;IACrB,MAAMC,OAAOC,QAAQ;QACjB,MAAM;QACN,cAAaC,KAAK,EAAEC,EAAE;YAClB,IAAI,CAACD,OAAO,YACRC,GAAGC;YAGPN,SAAS,OAAOM;YAChBN,SAAS,UAAUM;YACnBN,SAAS,UAAUM;YACnBN,SAAS,aAAaM;YACtBD,GAAGD;QACP;IACJ;IAEA,OAAO,WAAP,GAAO,oBAACG,OAAKA;QAAE,GAAGL,IAAI;QAAE,MAAM;QAAM,aAAa;;AACrD"}
|