@webiny/app-audit-logs 6.4.11 → 6.6.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/components/Text.d.ts +1 -3
  2. package/components/Text.js +4 -9
  3. package/components/Text.js.map +1 -1
  4. package/config/list/AuditLogsListConfig.d.ts +11 -5
  5. package/config/list/AuditLogsListConfig.js +10 -1
  6. package/config/list/AuditLogsListConfig.js.map +1 -1
  7. package/config/list/Browser/index.d.ts +2 -3
  8. package/config/list/Details/PreviewTab.d.ts +15 -0
  9. package/config/list/Details/PreviewTab.js +32 -0
  10. package/config/list/Details/PreviewTab.js.map +1 -0
  11. package/config/list/Details/index.d.ts +8 -0
  12. package/config/list/Details/index.js +7 -0
  13. package/config/list/Details/index.js.map +1 -0
  14. package/features/listAuditLogs/ListAuditLogsGateway.d.ts +11 -0
  15. package/features/listAuditLogs/ListAuditLogsGateway.js +71 -0
  16. package/features/listAuditLogs/ListAuditLogsGateway.js.map +1 -0
  17. package/features/listAuditLogs/ListAuditLogsRepository.d.ts +11 -0
  18. package/features/listAuditLogs/ListAuditLogsRepository.js +35 -0
  19. package/features/listAuditLogs/ListAuditLogsRepository.js.map +1 -0
  20. package/features/listAuditLogs/ListAuditLogsUseCase.d.ts +10 -0
  21. package/features/listAuditLogs/ListAuditLogsUseCase.js +19 -0
  22. package/features/listAuditLogs/ListAuditLogsUseCase.js.map +1 -0
  23. package/features/listAuditLogs/abstractions/ListAuditLogsGateway.d.ts +20 -0
  24. package/features/listAuditLogs/abstractions/ListAuditLogsGateway.js +5 -0
  25. package/features/listAuditLogs/abstractions/ListAuditLogsGateway.js.map +1 -0
  26. package/features/listAuditLogs/abstractions/ListAuditLogsRepository.d.ts +20 -0
  27. package/features/listAuditLogs/abstractions/ListAuditLogsRepository.js +5 -0
  28. package/features/listAuditLogs/abstractions/ListAuditLogsRepository.js.map +1 -0
  29. package/features/listAuditLogs/abstractions/ListAuditLogsUseCase.d.ts +20 -0
  30. package/features/listAuditLogs/abstractions/ListAuditLogsUseCase.js +5 -0
  31. package/features/listAuditLogs/abstractions/ListAuditLogsUseCase.js.map +1 -0
  32. package/features/listAuditLogs/abstractions/index.d.ts +6 -0
  33. package/features/listAuditLogs/abstractions/index.js +3 -0
  34. package/features/listAuditLogs/feature.d.ts +3 -0
  35. package/features/listAuditLogs/feature.js +21 -0
  36. package/features/listAuditLogs/feature.js.map +1 -0
  37. package/features/listAuditLogs/index.d.ts +1 -0
  38. package/features/listAuditLogs/index.js +1 -0
  39. package/graphql.d.ts +1 -1
  40. package/graphql.js +1 -2
  41. package/graphql.js.map +1 -1
  42. package/hooks/graphql.d.ts +0 -18
  43. package/hooks/graphql.js +0 -44
  44. package/hooks/schema.d.ts +2 -3
  45. package/hooks/schema.js +1 -2
  46. package/hooks/schema.js.map +1 -1
  47. package/hooks/useAuditLogsList.d.ts +1 -4
  48. package/hooks/useAuditLogsList.js +34 -42
  49. package/hooks/useAuditLogsList.js.map +1 -1
  50. package/index.js +15 -5
  51. package/index.js.map +1 -1
  52. package/package.json +14 -17
  53. package/types.d.ts +2 -2
  54. package/views/Logs/Filters/FilterByAction.d.ts +1 -1
  55. package/views/Logs/Filters/FilterByAction.js +5 -3
  56. package/views/Logs/Filters/FilterByAction.js.map +1 -1
  57. package/views/Logs/Filters/FilterByApp.js +2 -1
  58. package/views/Logs/Filters/FilterByApp.js.map +1 -1
  59. package/views/Logs/Filters/FilterByCreatedBy.js +18 -10
  60. package/views/Logs/Filters/FilterByCreatedBy.js.map +1 -1
  61. package/views/Logs/Filters/FilterByCreatedOn.js +26 -27
  62. package/views/Logs/Filters/FilterByCreatedOn.js.map +1 -1
  63. package/views/Logs/Filters/FilterByEntity.d.ts +1 -1
  64. package/views/Logs/Filters/FilterByEntity.js +5 -3
  65. package/views/Logs/Filters/FilterByEntity.js.map +1 -1
  66. package/views/Logs/Filters/FilterByEntityId.js +2 -1
  67. package/views/Logs/Filters/FilterByEntityId.js.map +1 -1
  68. package/views/Logs/Filters/FilterByInitiator.js +16 -9
  69. package/views/Logs/Filters/FilterByInitiator.js.map +1 -1
  70. package/views/Logs/Filters/Filters.d.ts +1 -2
  71. package/views/Logs/Filters/Filters.js +61 -13
  72. package/views/Logs/Filters/Filters.js.map +1 -1
  73. package/views/Logs/Header/ButtonFilters/ButtonFilters.js +4 -5
  74. package/views/Logs/Header/ButtonFilters/ButtonFilters.js.map +1 -1
  75. package/views/Logs/Header/Header.d.ts +2 -4
  76. package/views/Logs/Header/Header.js +4 -7
  77. package/views/Logs/Header/Header.js.map +1 -1
  78. package/views/Logs/LoadMoreButton/styled.d.ts +4 -4
  79. package/views/Logs/LoadMoreButton/styled.js +4 -6
  80. package/views/Logs/LoadMoreButton/styled.js.map +1 -1
  81. package/views/Logs/LogsView.js +4 -8
  82. package/views/Logs/LogsView.js.map +1 -1
  83. package/views/Logs/Preview/AuditLogDetailsPresenter.d.ts +13 -0
  84. package/views/Logs/Preview/AuditLogDetailsPresenter.js +36 -0
  85. package/views/Logs/Preview/AuditLogDetailsPresenter.js.map +1 -0
  86. package/views/Logs/Preview/Preview.d.ts +4 -2
  87. package/views/Logs/Preview/Preview.js +67 -22
  88. package/views/Logs/Preview/Preview.js.map +1 -1
  89. package/views/Logs/Preview/abstractions.d.ts +14 -0
  90. package/views/Logs/Preview/abstractions.js +5 -0
  91. package/views/Logs/Preview/abstractions.js.map +1 -0
  92. package/views/Logs/Preview/feature.d.ts +5 -0
  93. package/views/Logs/Preview/feature.js +22 -0
  94. package/views/Logs/Preview/feature.js.map +1 -0
  95. package/views/Logs/Preview/index.d.ts +2 -0
  96. package/views/Logs/Preview/index.js +1 -0
  97. package/views/Logs/Preview/tabs/AiPromptTabs.d.ts +2 -0
  98. package/views/Logs/Preview/tabs/AiPromptTabs.js +25 -0
  99. package/views/Logs/Preview/tabs/AiPromptTabs.js.map +1 -0
  100. package/views/Logs/Preview/tabs/LlmResponseTab.d.ts +4 -0
  101. package/views/Logs/Preview/tabs/LlmResponseTab.js +41 -0
  102. package/views/Logs/Preview/tabs/LlmResponseTab.js.map +1 -0
  103. package/views/Logs/Preview/tabs/SystemPromptTab.d.ts +4 -0
  104. package/views/Logs/Preview/tabs/SystemPromptTab.js +24 -0
  105. package/views/Logs/Preview/tabs/SystemPromptTab.js.map +1 -0
  106. package/views/Logs/Preview/tabs/UserPromptTab.d.ts +4 -0
  107. package/views/Logs/Preview/tabs/UserPromptTab.js +18 -0
  108. package/views/Logs/Preview/tabs/UserPromptTab.js.map +1 -0
  109. package/views/Logs/Preview/tabs/shared.d.ts +28 -0
  110. package/views/Logs/Preview/tabs/shared.js +16 -0
  111. package/views/Logs/Preview/tabs/shared.js.map +1 -0
  112. package/views/Logs/Table/Table.d.ts +3 -6
  113. package/views/Logs/Table/Table.js +25 -16
  114. package/views/Logs/Table/Table.js.map +1 -1
  115. package/views/Logs/Table/styled.d.ts +1 -16
  116. package/views/Logs/Table/styled.js +15 -55
  117. package/views/Logs/Table/styled.js.map +1 -1
  118. package/hooks/graphql.js.map +0 -1
  119. package/views/Logs/Filters/FilterByTimestamp.d.ts +0 -2
  120. package/views/Logs/Filters/FilterByTimestamp.js +0 -39
  121. package/views/Logs/Filters/FilterByTimestamp.js.map +0 -1
  122. package/views/Logs/Filters/styled.d.ts +0 -4
  123. package/views/Logs/Filters/styled.js +0 -13
  124. package/views/Logs/Filters/styled.js.map +0 -1
  125. package/views/Logs/Logs.d.ts +0 -3
  126. package/views/Logs/Logs.js +0 -76
  127. package/views/Logs/Logs.js.map +0 -1
  128. package/views/Logs/Preview/styled.d.ts +0 -5
  129. package/views/Logs/Preview/styled.js +0 -32
  130. package/views/Logs/Preview/styled.js.map +0 -1
@@ -1,16 +1 @@
1
- import { ActionType } from "../../../types.js";
2
- export declare const ActionWrapper: import("@emotion/styled").StyledComponent<{
3
- theme?: import("@emotion/react").Theme;
4
- as?: React.ElementType;
5
- } & {
6
- value: ActionType;
7
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
8
- export declare const wideColumn: string;
9
- export declare const appColumn: string;
10
- export declare const previewColumn: string;
11
- export declare const TextGray: import("@emotion/styled").StyledComponent<import("~/components/Text.js").TypographyProps & {
12
- theme?: import("@emotion/react").Theme;
13
- }, {}, {}>;
14
- export declare const TimezoneText: import("@emotion/styled").StyledComponent<import("~/components/Text.js").TypographyProps & {
15
- theme?: import("@emotion/react").Theme;
16
- }, {}, {}>;
1
+ export declare function getActionColorClasses(value: string): string;
@@ -1,57 +1,17 @@
1
- import styled from "@emotion/styled";
2
- import { css } from "@emotion/css";
3
- import { Text } from "../../../components/Text.js";
4
- import { ActionType } from "../../../types.js";
5
- const ACTION_TYPES_COLORS_MAP = {
6
- YELLOW: [
7
- ActionType.UPDATE
8
- ],
9
- RED: [
10
- ActionType.DELETE,
11
- ActionType.UNPUBLISH,
12
- ActionType.MOVE_TO_TRASH
13
- ]
14
- };
15
- const ActionWrapper = styled.div`
16
- padding: 0 8px;
17
- width: fit-content;
18
- border: 1px solid;
19
- border-radius: 5px;
20
-
21
- ${({ value: actionType })=>{
22
- if (ACTION_TYPES_COLORS_MAP.YELLOW.includes(actionType)) return `
23
- background-color: #fac42810;
24
- border-color: #fac428;
25
- color: #fac428;
26
- `;
27
- if (ACTION_TYPES_COLORS_MAP.RED.includes(actionType)) return `
28
- background-color: #ff000010;
29
- border-color: #ff0000;
30
- color: #ff0000;
31
- `;
32
- return `
33
- background-color: #00ccb010;
34
- border-color: #00ccb0;
35
- color: #00ccb0;
36
- `;
37
- }}
38
- `;
39
- const wideColumn = css`
40
- width: auto !important;
41
- `;
42
- const appColumn = css`
43
- width: 280px !important;
44
- `;
45
- const previewColumn = css`
46
- width: 100px !important;
47
- `;
48
- const TextGray = styled(Text)`
49
- color: "#616161";
50
- `;
51
- const TimezoneText = styled(TextGray)`
52
- padding-left: 6px;
53
- padding-right: 6px;
54
- `;
55
- export { ActionWrapper, TextGray, TimezoneText, appColumn, previewColumn, wideColumn };
1
+ import { ActionType } from "@webiny/common-audit-logs";
2
+ const YELLOW_ACTIONS = [
3
+ ActionType.UPDATE
4
+ ];
5
+ const RED_ACTIONS = [
6
+ ActionType.DELETE,
7
+ ActionType.UNPUBLISH,
8
+ ActionType.MOVE_TO_TRASH
9
+ ];
10
+ function getActionColorClasses(value) {
11
+ if (YELLOW_ACTIONS.includes(value)) return "bg-warning-100 border-warning-500 text-warning-700";
12
+ if (RED_ACTIONS.includes(value)) return "bg-destructive-100 border-destructive-500 text-destructive-700";
13
+ return "bg-success-100 border-success-500 text-success-700";
14
+ }
15
+ export { getActionColorClasses };
56
16
 
57
17
  //# sourceMappingURL=styled.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"views/Logs/Table/styled.js","sources":["../../../../src/views/Logs/Table/styled.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport { css } from \"@emotion/css\";\nimport { Text } from \"~/components/Text.js\";\nimport { ActionType } from \"~/types.js\";\n\nconst ACTION_TYPES_COLORS_MAP = {\n YELLOW: [ActionType.UPDATE],\n RED: [ActionType.DELETE, ActionType.UNPUBLISH, ActionType.MOVE_TO_TRASH]\n};\n\nexport const ActionWrapper = styled.div<{ value: ActionType }>`\n padding: 0 8px;\n width: fit-content;\n border: 1px solid;\n border-radius: 5px;\n\n ${({ value: actionType }) => {\n // Yellow.\n if (ACTION_TYPES_COLORS_MAP.YELLOW.includes(actionType)) {\n return `\n background-color: #fac42810;\n border-color: #fac428;\n color: #fac428;\n `;\n }\n\n // Red.\n if (ACTION_TYPES_COLORS_MAP.RED.includes(actionType)) {\n return `\n background-color: #ff000010;\n border-color: #ff0000;\n color: #ff0000;\n `;\n }\n\n // Green.\n return `\n background-color: #00ccb010;\n border-color: #00ccb0;\n color: #00ccb0;\n `;\n }}\n`;\n\nexport const wideColumn = css`\n width: auto !important;\n`;\n\nexport const appColumn = css`\n width: 280px !important;\n`;\n\nexport const previewColumn = css`\n width: 100px !important;\n`;\n\nexport const TextGray = styled(Text)`\n color: \"#616161\";\n`;\n\nexport const TimezoneText = styled(TextGray)`\n padding-left: 6px;\n padding-right: 6px;\n`;\n"],"names":["ACTION_TYPES_COLORS_MAP","ActionType","ActionWrapper","styled","actionType","wideColumn","css","appColumn","previewColumn","TextGray","Text","TimezoneText"],"mappings":";;;;AAKA,MAAMA,0BAA0B;IAC5B,QAAQ;QAACC,WAAW,MAAM;KAAC;IAC3B,KAAK;QAACA,WAAW,MAAM;QAAEA,WAAW,SAAS;QAAEA,WAAW,aAAa;KAAC;AAC5E;AAEO,MAAMC,gBAAgBC,OAAO,GAA0B,CAAC;;;;;;IAM3D,EAAE,CAAC,EAAE,OAAOC,UAAU,EAAE;IAEpB,IAAIJ,wBAAwB,MAAM,CAAC,QAAQ,CAACI,aACxC,OAAO,CAAC;;;;YAIR,CAAC;IAIL,IAAIJ,wBAAwB,GAAG,CAAC,QAAQ,CAACI,aACrC,OAAO,CAAC;;;;YAIR,CAAC;IAIL,OAAO,CAAC;;;;QAIR,CAAC;AACL,EAAE;AACN,CAAC;AAEM,MAAMC,aAAaC,GAAG,CAAC;;AAE9B,CAAC;AAEM,MAAMC,YAAYD,GAAG,CAAC;;AAE7B,CAAC;AAEM,MAAME,gBAAgBF,GAAG,CAAC;;AAEjC,CAAC;AAEM,MAAMG,WAAWN,OAAOO,KAAK,CAAC;;AAErC,CAAC;AAEM,MAAMC,eAAeR,OAAOM,SAAS,CAAC;;;AAG7C,CAAC"}
1
+ {"version":3,"file":"views/Logs/Table/styled.js","sources":["../../../../src/views/Logs/Table/styled.tsx"],"sourcesContent":["import { ActionType } from \"@webiny/common-audit-logs\";\n\nconst YELLOW_ACTIONS: string[] = [ActionType.UPDATE];\nconst RED_ACTIONS: string[] = [ActionType.DELETE, ActionType.UNPUBLISH, ActionType.MOVE_TO_TRASH];\n\nexport function getActionColorClasses(value: string): string {\n if (YELLOW_ACTIONS.includes(value)) {\n return \"bg-warning-100 border-warning-500 text-warning-700\";\n }\n if (RED_ACTIONS.includes(value)) {\n return \"bg-destructive-100 border-destructive-500 text-destructive-700\";\n }\n return \"bg-success-100 border-success-500 text-success-700\";\n}\n"],"names":["YELLOW_ACTIONS","ActionType","RED_ACTIONS","getActionColorClasses","value"],"mappings":";AAEA,MAAMA,iBAA2B;IAACC,WAAW,MAAM;CAAC;AACpD,MAAMC,cAAwB;IAACD,WAAW,MAAM;IAAEA,WAAW,SAAS;IAAEA,WAAW,aAAa;CAAC;AAE1F,SAASE,sBAAsBC,KAAa;IAC/C,IAAIJ,eAAe,QAAQ,CAACI,QACxB,OAAO;IAEX,IAAIF,YAAY,QAAQ,CAACE,QACrB,OAAO;IAEX,OAAO;AACX"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hooks/graphql.js","sources":["../../src/hooks/graphql.ts"],"sourcesContent":["import gql from \"graphql-tag\";\nimport type { IAuditLogRaw, IAuditLogsError, IAuditLogsMeta } from \"~/types.js\";\n\nexport interface IListAuditLogsVariablesWhere {\n app?: string;\n action?: string;\n createdBy?: string;\n entity?: string;\n entityId?: string;\n createdOn_gte?: Date;\n createdOn_lte?: Date;\n}\n\nexport interface IListAuditLogsVariables {\n where: Partial<IListAuditLogsVariablesWhere>;\n after: string | undefined;\n sort: \"ASC\" | \"DESC\" | undefined;\n limit: number | undefined;\n}\n\nexport type IListAuditLogsVariablesPartial = Partial<IListAuditLogsVariables>;\n\nexport interface IListAuditLogsResponse {\n auditLogs: {\n listAuditLogs: {\n data: IAuditLogRaw[] | null;\n meta: IAuditLogsMeta | null;\n error: IAuditLogsError | null;\n };\n };\n}\n\nexport const LIST_AUDIT_LOGS = gql`\n query ListAuditLogs(\n $where: ListAuditLogsWhere!\n $sort: AuditLogsSort\n $after: String\n $limit: Number\n ) {\n auditLogs {\n listAuditLogs(where: $where, after: $after, sort: $sort, limit: $limit) {\n data {\n id\n createdBy {\n id\n displayName\n type\n }\n createdOn\n app\n action\n message\n entity\n entityId\n tags\n expiresAt\n content\n }\n meta {\n hasMoreItems\n cursor\n }\n error {\n message\n code\n data\n stack\n }\n }\n }\n }\n`;\n"],"names":["LIST_AUDIT_LOGS","gql"],"mappings":";AAgCO,MAAMA,kBAAkBC,WAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCnC,CAAC"}
@@ -1,2 +0,0 @@
1
- import React from "react";
2
- export declare const FilterByTimestamp: () => React.JSX.Element;
@@ -1,39 +0,0 @@
1
- import react from "react";
2
- import { format } from "date-fns";
3
- import { Input } from "@webiny/admin-ui";
4
- import { useBind } from "@webiny/form";
5
- import { TimestampFiltersContainer } from "./styled.js";
6
- const formatDateTime = (date)=>{
7
- if (!date) return "";
8
- return format(new Date(date), "yyyy-MM-dd'T'HH:mm");
9
- };
10
- const getValidFilterValue = (value)=>{
11
- if ("" === value) return;
12
- return new Date(value);
13
- };
14
- const FilterByTimestamp = ()=>{
15
- const bindFrom = useBind({
16
- name: "data.timestamp_gte",
17
- beforeChange (value, cb) {
18
- cb(getValidFilterValue(value));
19
- }
20
- });
21
- const bindTo = useBind({
22
- name: "data.timestamp_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
- }));
36
- };
37
- export { FilterByTimestamp };
38
-
39
- //# sourceMappingURL=FilterByTimestamp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"views/Logs/Filters/FilterByTimestamp.js","sources":["../../../../src/views/Logs/Filters/FilterByTimestamp.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 FilterByTimestamp = () => {\n const bindFrom = useBind({\n name: \"data.timestamp_gte\",\n beforeChange(value, cb) {\n cb(getValidFilterValue(value));\n }\n });\n\n const bindTo = useBind({\n name: \"data.timestamp_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","FilterByTimestamp","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,4 +0,0 @@
1
- export declare const TimestampFiltersContainer: import("@emotion/styled").StyledComponent<{
2
- theme?: import("@emotion/react").Theme;
3
- as?: React.ElementType;
4
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
@@ -1,13 +0,0 @@
1
- import styled from "@emotion/styled";
2
- const TimestampFiltersContainer = styled.div`
3
- display: flex;
4
- column-gap: 16px;
5
- grow: 1;
6
-
7
- .relative {
8
- height: 32px;
9
- }
10
- `;
11
- export { TimestampFiltersContainer };
12
-
13
- //# sourceMappingURL=styled.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"views/Logs/Filters/styled.js","sources":["../../../../src/views/Logs/Filters/styled.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\n\nexport const TimestampFiltersContainer = styled.div`\n display: flex;\n column-gap: 16px;\n grow: 1;\n\n .relative {\n height: 32px;\n }\n`;\n"],"names":["TimestampFiltersContainer","styled"],"mappings":";AAEO,MAAMA,4BAA4BC,OAAO,GAAG,CAAC;;;;;;;;AAQpD,CAAC"}
@@ -1,3 +0,0 @@
1
- import React from "react";
2
- declare const AuditLogsView: () => React.JSX.Element;
3
- export default AuditLogsView;
@@ -1,76 +0,0 @@
1
- import react, { useCallback, useEffect, useRef, useState } from "react";
2
- import debounce from "lodash/debounce.js";
3
- import { i18n } from "@webiny/app/i18n/index.js";
4
- import { EmptyView, useSecurity } from "@webiny/app-admin";
5
- import { Scrollbar } from "@webiny/admin-ui";
6
- import { LoadingMore } from "./LoadingMore/index.js";
7
- import { LoadMoreButton } from "./LoadMoreButton/index.js";
8
- import { Header } from "./Header/index.js";
9
- import { Filters } from "./Filters/index.js";
10
- import { Table } from "./Table/index.js";
11
- import { Preview } from "./Preview/index.js";
12
- import { useAuditLogsList } from "../../hooks/index.js";
13
- const t = i18n.ns("app-audit-logs/views/logs");
14
- const AuditLogsView = ()=>{
15
- const [selectedAuditLog, setSelectedAuditLog] = useState(null);
16
- const handleAuditLogSelect = useCallback((auditLog)=>setSelectedAuditLog(auditLog), []);
17
- const closePreviewModal = useCallback(()=>setSelectedAuditLog(null), []);
18
- const { innerHeight: windowHeight } = window;
19
- const [tableHeight, setTableHeight] = useState(0);
20
- const tableRef = useRef(null);
21
- const { getPermissions } = useSecurity();
22
- const hasAccessToUsers = Boolean(getPermissions("adminUsers").length);
23
- const list = useAuditLogsList();
24
- useEffect(()=>{
25
- setTableHeight(tableRef?.current?.clientHeight || 0);
26
- return ()=>{
27
- setTableHeight(0);
28
- };
29
- });
30
- const loadMoreOnScroll = debounce(({ scrollFrame })=>{
31
- if (scrollFrame.top > 0.8 && !list.isListLoadingMore && list.meta.hasMoreItems) list.listMoreRecords();
32
- }, 200);
33
- return /*#__PURE__*/ react.createElement("div", {
34
- className: "flex flex-col h-main-content"
35
- }, /*#__PURE__*/ react.createElement(Header, {
36
- title: "Audit Logs",
37
- showingFilters: list.showingFilters,
38
- showFilters: list.showFilters,
39
- hideFilters: list.hideFilters
40
- }), /*#__PURE__*/ react.createElement("div", {
41
- className: "flex-1 min-h-0"
42
- }, /*#__PURE__*/ react.createElement(Filters, {
43
- showingFilters: list.showingFilters,
44
- setWhere: list.setWhere
45
- }), 0 !== list.records.length || list.isListLoading ? /*#__PURE__*/ react.createElement(react.Fragment, null, /*#__PURE__*/ react.createElement(Preview, {
46
- auditLog: selectedAuditLog,
47
- onClose: ()=>closePreviewModal(),
48
- hasAccessToUsers: hasAccessToUsers
49
- }), /*#__PURE__*/ react.createElement(Scrollbar, {
50
- "data-testid": "default-data-list",
51
- onScrollFrame: (scrollFrame)=>loadMoreOnScroll({
52
- scrollFrame
53
- })
54
- }, /*#__PURE__*/ react.createElement(Table, {
55
- ref: tableRef,
56
- records: list.records,
57
- loading: list.isListLoading && !list.isListLoadingMore,
58
- handleRecordSelect: handleAuditLogSelect,
59
- sorting: list.sorting,
60
- onSortingChange: list.setSorting,
61
- hasAccessToUsers: hasAccessToUsers
62
- }), /*#__PURE__*/ react.createElement(LoadMoreButton, {
63
- show: !list.isListLoading && list.meta.hasMoreItems,
64
- disabled: list.isListLoadingMore,
65
- windowHeight: windowHeight,
66
- tableHeight: tableHeight,
67
- onClick: list.listMoreRecords
68
- })), list.isListLoadingMore && /*#__PURE__*/ react.createElement(LoadingMore, null)) : /*#__PURE__*/ react.createElement(EmptyView, {
69
- title: t`No results found.`,
70
- action: null
71
- })));
72
- };
73
- const Logs = AuditLogsView;
74
- export default Logs;
75
-
76
- //# sourceMappingURL=Logs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"views/Logs/Logs.js","sources":["../../../src/views/Logs/Logs.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport debounce from \"lodash/debounce.js\";\nimport { i18n } from \"@webiny/app/i18n/index.js\";\nimport { EmptyView } from \"@webiny/app-admin\";\nimport { useSecurity } from \"@webiny/app-admin\";\nimport { Scrollbar } from \"@webiny/admin-ui\";\nimport { LoadingMore } from \"~/views/Logs/LoadingMore/index.js\";\nimport { LoadMoreButton } from \"~/views/Logs/LoadMoreButton/index.js\";\nimport { Header } from \"~/views/Logs/Header/index.js\";\nimport { Filters } from \"~/views/Logs/Filters/index.js\";\nimport { Table } from \"~/views/Logs/Table/index.js\";\nimport { Preview } from \"~/views/Logs/Preview/index.js\";\nimport { useAuditLogsList } from \"~/hooks/index.js\";\nimport type { IAuditLog } from \"~/types.js\";\n\nconst t = i18n.ns(\"app-audit-logs/views/logs\");\n\nconst AuditLogsView = () => {\n const [selectedAuditLog, setSelectedAuditLog] = useState<IAuditLog | null>(null);\n const handleAuditLogSelect = useCallback(\n (auditLog: IAuditLog) => setSelectedAuditLog(auditLog),\n []\n );\n const closePreviewModal = useCallback(() => setSelectedAuditLog(null), []);\n\n const { innerHeight: windowHeight } = window;\n const [tableHeight, setTableHeight] = useState(0);\n const tableRef = useRef<HTMLDivElement>(null);\n const { getPermissions } = useSecurity();\n const hasAccessToUsers = Boolean(getPermissions(\"adminUsers\").length);\n\n const list = useAuditLogsList();\n\n useEffect(() => {\n setTableHeight(tableRef?.current?.clientHeight || 0);\n\n return () => {\n setTableHeight(0);\n };\n });\n\n const loadMoreOnScroll = debounce(({ scrollFrame }) => {\n if (scrollFrame.top > 0.8 && !list.isListLoadingMore && list.meta.hasMoreItems) {\n list.listMoreRecords();\n }\n }, 200);\n\n return (\n <div className={\"flex flex-col h-main-content\"}>\n <Header\n title=\"Audit Logs\"\n showingFilters={list.showingFilters}\n showFilters={list.showFilters}\n hideFilters={list.hideFilters}\n />\n <div className={\"flex-1 min-h-0\"}>\n <Filters showingFilters={list.showingFilters} setWhere={list.setWhere} />\n {list.records.length === 0 && !list.isListLoading ? (\n <EmptyView title={t`No results found.`} action={null} />\n ) : (\n <>\n <Preview\n auditLog={selectedAuditLog}\n onClose={() => closePreviewModal()}\n hasAccessToUsers={hasAccessToUsers}\n />\n <Scrollbar\n data-testid=\"default-data-list\"\n onScrollFrame={scrollFrame => loadMoreOnScroll({ scrollFrame })}\n >\n <Table\n ref={tableRef}\n records={list.records}\n loading={list.isListLoading && !list.isListLoadingMore}\n handleRecordSelect={handleAuditLogSelect}\n sorting={list.sorting}\n onSortingChange={list.setSorting}\n hasAccessToUsers={hasAccessToUsers}\n />\n <LoadMoreButton\n show={!list.isListLoading && list.meta.hasMoreItems}\n disabled={list.isListLoadingMore}\n windowHeight={windowHeight}\n tableHeight={tableHeight}\n onClick={list.listMoreRecords}\n />\n </Scrollbar>\n {list.isListLoadingMore && <LoadingMore />}\n </>\n )}\n </div>\n </div>\n );\n};\n\nexport default AuditLogsView;\n"],"names":["t","i18n","AuditLogsView","selectedAuditLog","setSelectedAuditLog","useState","handleAuditLogSelect","useCallback","auditLog","closePreviewModal","windowHeight","window","tableHeight","setTableHeight","tableRef","useRef","getPermissions","useSecurity","hasAccessToUsers","Boolean","list","useAuditLogsList","useEffect","loadMoreOnScroll","debounce","scrollFrame","Header","Filters","Preview","Scrollbar","Table","LoadMoreButton","LoadingMore","EmptyView"],"mappings":";;;;;;;;;;;;AAeA,MAAMA,IAAIC,KAAK,EAAE,CAAC;AAElB,MAAMC,gBAAgB;IAClB,MAAM,CAACC,kBAAkBC,oBAAoB,GAAGC,SAA2B;IAC3E,MAAMC,uBAAuBC,YACzB,CAACC,WAAwBJ,oBAAoBI,WAC7C,EAAE;IAEN,MAAMC,oBAAoBF,YAAY,IAAMH,oBAAoB,OAAO,EAAE;IAEzE,MAAM,EAAE,aAAaM,YAAY,EAAE,GAAGC;IACtC,MAAM,CAACC,aAAaC,eAAe,GAAGR,SAAS;IAC/C,MAAMS,WAAWC,OAAuB;IACxC,MAAM,EAAEC,cAAc,EAAE,GAAGC;IAC3B,MAAMC,mBAAmBC,QAAQH,eAAe,cAAc,MAAM;IAEpE,MAAMI,OAAOC;IAEbC,UAAU;QACNT,eAAeC,UAAU,SAAS,gBAAgB;QAElD,OAAO;YACHD,eAAe;QACnB;IACJ;IAEA,MAAMU,mBAAmBC,SAAS,CAAC,EAAEC,WAAW,EAAE;QAC9C,IAAIA,YAAY,GAAG,GAAG,OAAO,CAACL,KAAK,iBAAiB,IAAIA,KAAK,IAAI,CAAC,YAAY,EAC1EA,KAAK,eAAe;IAE5B,GAAG;IAEH,OAAO,WAAP,GACI,oBAAC;QAAI,WAAW;qBACZ,oBAACM,QAAMA;QACH,OAAM;QACN,gBAAgBN,KAAK,cAAc;QACnC,aAAaA,KAAK,WAAW;QAC7B,aAAaA,KAAK,WAAW;sBAEjC,oBAAC;QAAI,WAAW;qBACZ,oBAACO,SAAOA;QAAC,gBAAgBP,KAAK,cAAc;QAAE,UAAUA,KAAK,QAAQ;QACpEA,AAAwB,MAAxBA,KAAK,OAAO,CAAC,MAAM,IAAWA,KAAK,aAAa,G,cAG7C,wDACI,oBAACQ,SAAOA;QACJ,UAAUzB;QACV,SAAS,IAAMM;QACf,kBAAkBS;sBAEtB,oBAACW,WAASA;QACN,eAAY;QACZ,eAAeJ,CAAAA,cAAeF,iBAAiB;gBAAEE;YAAY;qBAE7D,oBAACK,OAAKA;QACF,KAAKhB;QACL,SAASM,KAAK,OAAO;QACrB,SAASA,KAAK,aAAa,IAAI,CAACA,KAAK,iBAAiB;QACtD,oBAAoBd;QACpB,SAASc,KAAK,OAAO;QACrB,iBAAiBA,KAAK,UAAU;QAChC,kBAAkBF;sBAEtB,oBAACa,gBAAcA;QACX,MAAM,CAACX,KAAK,aAAa,IAAIA,KAAK,IAAI,CAAC,YAAY;QACnD,UAAUA,KAAK,iBAAiB;QAChC,cAAcV;QACd,aAAaE;QACb,SAASQ,KAAK,eAAe;SAGpCA,KAAK,iBAAiB,IAAI,WAAJ,GAAI,oBAACY,aAAWA,SA9BK,WAAH,GAC7C,oBAACC,WAASA;QAAC,OAAOjC,CAAC,CAAC,iBAAiB,CAAC;QAAE,QAAQ;;AAmCpE;AAEA,aAAeE"}
@@ -1,5 +0,0 @@
1
- export declare const PayloadWrapper: import("@emotion/styled").StyledComponent<{
2
- theme?: import("@emotion/react").Theme;
3
- as?: React.ElementType;
4
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
5
- export declare const previewDialog: string;
@@ -1,32 +0,0 @@
1
- import styled from "@emotion/styled";
2
- import { css } from "@emotion/css";
3
- const PayloadWrapper = styled("div")`
4
- #brace-editor {
5
- height: 280px !important;
6
- }
7
-
8
- .ace_print-margin,
9
- .ace_active-line,
10
- .ace_gutter-active-line,
11
- .ace_cursor-layer {
12
- display: none;
13
- }
14
-
15
- .ace_line,
16
- .ace_gutter-cell {
17
- height: 12px !important;
18
- }
19
-
20
- .ace_gutter-layer {
21
- width: 47px !important;
22
- }
23
- `;
24
- const previewDialog = css`
25
- & .mdc-dialog__surface {
26
- width: 800px;
27
- min-width: 800px;
28
- }
29
- `;
30
- export { PayloadWrapper, previewDialog };
31
-
32
- //# sourceMappingURL=styled.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"views/Logs/Preview/styled.js","sources":["../../../../src/views/Logs/Preview/styled.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport { css } from \"@emotion/css\";\n\nexport const PayloadWrapper = styled(\"div\")`\n #brace-editor {\n height: 280px !important;\n }\n\n .ace_print-margin,\n .ace_active-line,\n .ace_gutter-active-line,\n .ace_cursor-layer {\n display: none;\n }\n\n .ace_line,\n .ace_gutter-cell {\n height: 12px !important;\n }\n\n .ace_gutter-layer {\n width: 47px !important;\n }\n`;\n\nexport const previewDialog = css`\n & .mdc-dialog__surface {\n width: 800px;\n min-width: 800px;\n }\n`;\n"],"names":["PayloadWrapper","styled","previewDialog","css"],"mappings":";;AAGO,MAAMA,iBAAiBC,OAAO,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;AAoB5C,CAAC;AAEM,MAAMC,gBAAgBC,GAAG,CAAC;;;;;AAKjC,CAAC"}