@oneuptime/common 10.0.68 → 10.0.70

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 (95) hide show
  1. package/Models/DatabaseModels/KubernetesCluster.ts +5 -0
  2. package/Models/DatabaseModels/KubernetesResource.ts +19 -0
  3. package/Server/API/KubernetesResourceAPI.ts +2 -0
  4. package/Server/Infrastructure/Postgres/SchemaMigrations/1776865086264-MigrationName.ts +17 -0
  5. package/Server/Infrastructure/Postgres/SchemaMigrations/1776881254913-DedupeKubernetesClustersAndAddUniqueIndex.ts +134 -0
  6. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +4 -0
  7. package/Server/Services/DatabaseService.ts +19 -4
  8. package/Server/Services/KubernetesResourceService.ts +323 -8
  9. package/Server/Types/Database/QueryHelper.ts +127 -0
  10. package/Server/Types/Database/QueryUtil.ts +244 -0
  11. package/Server/Utils/VM/VMRunner.ts +39 -22
  12. package/Types/BaseDatabase/EndsWith.ts +41 -0
  13. package/Types/BaseDatabase/IncludesAll.ts +45 -0
  14. package/Types/BaseDatabase/IncludesNone.ts +48 -0
  15. package/Types/BaseDatabase/NotContains.ts +41 -0
  16. package/Types/BaseDatabase/StartsWith.ts +41 -0
  17. package/Types/IsolatedVM/ReturnResult.ts +6 -0
  18. package/Types/JSON.ts +20 -0
  19. package/Types/Kubernetes/KubernetesInventoryExtractor.ts +15 -1
  20. package/Types/SerializableObjectDictionary.ts +10 -0
  21. package/UI/Components/Filters/BooleanFilter.tsx +1 -0
  22. package/UI/Components/Filters/DateFilter.tsx +212 -25
  23. package/UI/Components/Filters/DropdownFilter.tsx +1 -0
  24. package/UI/Components/Filters/EntityFilter.tsx +214 -41
  25. package/UI/Components/Filters/FilterViewer.tsx +228 -146
  26. package/UI/Components/Filters/FilterViewerItem.tsx +1 -11
  27. package/UI/Components/Filters/FiltersForm.tsx +148 -97
  28. package/UI/Components/Filters/NumberFilter.tsx +219 -34
  29. package/UI/Components/Filters/OperatorSelector.tsx +91 -0
  30. package/UI/Components/Filters/TextFilter.tsx +182 -71
  31. package/UI/Components/Filters/Types/FilterOperator.ts +73 -0
  32. package/UI/Components/ModelTable/BaseModelTable.tsx +8 -0
  33. package/build/dist/Models/DatabaseModels/KubernetesCluster.js +7 -1
  34. package/build/dist/Models/DatabaseModels/KubernetesCluster.js.map +1 -1
  35. package/build/dist/Models/DatabaseModels/KubernetesResource.js +20 -0
  36. package/build/dist/Models/DatabaseModels/KubernetesResource.js.map +1 -1
  37. package/build/dist/Server/API/KubernetesResourceAPI.js +2 -0
  38. package/build/dist/Server/API/KubernetesResourceAPI.js.map +1 -1
  39. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1776865086264-MigrationName.js +12 -0
  40. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1776865086264-MigrationName.js.map +1 -0
  41. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1776881254913-DedupeKubernetesClustersAndAddUniqueIndex.js +123 -0
  42. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1776881254913-DedupeKubernetesClustersAndAddUniqueIndex.js.map +1 -0
  43. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +4 -0
  44. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  45. package/build/dist/Server/Services/DatabaseService.js +18 -4
  46. package/build/dist/Server/Services/DatabaseService.js.map +1 -1
  47. package/build/dist/Server/Services/KubernetesResourceService.js +204 -8
  48. package/build/dist/Server/Services/KubernetesResourceService.js.map +1 -1
  49. package/build/dist/Server/Types/Database/QueryHelper.js +110 -0
  50. package/build/dist/Server/Types/Database/QueryHelper.js.map +1 -1
  51. package/build/dist/Server/Types/Database/QueryUtil.js +180 -0
  52. package/build/dist/Server/Types/Database/QueryUtil.js.map +1 -1
  53. package/build/dist/Server/Utils/VM/VMRunner.js +33 -19
  54. package/build/dist/Server/Utils/VM/VMRunner.js.map +1 -1
  55. package/build/dist/Types/BaseDatabase/EndsWith.js +31 -0
  56. package/build/dist/Types/BaseDatabase/EndsWith.js.map +1 -0
  57. package/build/dist/Types/BaseDatabase/IncludesAll.js +34 -0
  58. package/build/dist/Types/BaseDatabase/IncludesAll.js.map +1 -0
  59. package/build/dist/Types/BaseDatabase/IncludesNone.js +34 -0
  60. package/build/dist/Types/BaseDatabase/IncludesNone.js.map +1 -0
  61. package/build/dist/Types/BaseDatabase/NotContains.js +31 -0
  62. package/build/dist/Types/BaseDatabase/NotContains.js.map +1 -0
  63. package/build/dist/Types/BaseDatabase/StartsWith.js +31 -0
  64. package/build/dist/Types/BaseDatabase/StartsWith.js.map +1 -0
  65. package/build/dist/Types/JSON.js +5 -0
  66. package/build/dist/Types/JSON.js.map +1 -1
  67. package/build/dist/Types/Kubernetes/KubernetesInventoryExtractor.js +7 -1
  68. package/build/dist/Types/Kubernetes/KubernetesInventoryExtractor.js.map +1 -1
  69. package/build/dist/Types/SerializableObjectDictionary.js +10 -0
  70. package/build/dist/Types/SerializableObjectDictionary.js.map +1 -1
  71. package/build/dist/UI/Components/Filters/BooleanFilter.js +1 -1
  72. package/build/dist/UI/Components/Filters/BooleanFilter.js.map +1 -1
  73. package/build/dist/UI/Components/Filters/DateFilter.js +158 -14
  74. package/build/dist/UI/Components/Filters/DateFilter.js.map +1 -1
  75. package/build/dist/UI/Components/Filters/DropdownFilter.js +1 -1
  76. package/build/dist/UI/Components/Filters/DropdownFilter.js.map +1 -1
  77. package/build/dist/UI/Components/Filters/EntityFilter.js +174 -30
  78. package/build/dist/UI/Components/Filters/EntityFilter.js.map +1 -1
  79. package/build/dist/UI/Components/Filters/FilterViewer.js +188 -97
  80. package/build/dist/UI/Components/Filters/FilterViewer.js.map +1 -1
  81. package/build/dist/UI/Components/Filters/FilterViewerItem.js +1 -6
  82. package/build/dist/UI/Components/Filters/FilterViewerItem.js.map +1 -1
  83. package/build/dist/UI/Components/Filters/FiltersForm.js +46 -38
  84. package/build/dist/UI/Components/Filters/FiltersForm.js.map +1 -1
  85. package/build/dist/UI/Components/Filters/NumberFilter.js +165 -23
  86. package/build/dist/UI/Components/Filters/NumberFilter.js.map +1 -1
  87. package/build/dist/UI/Components/Filters/OperatorSelector.js +41 -0
  88. package/build/dist/UI/Components/Filters/OperatorSelector.js.map +1 -0
  89. package/build/dist/UI/Components/Filters/TextFilter.js +130 -53
  90. package/build/dist/UI/Components/Filters/TextFilter.js.map +1 -1
  91. package/build/dist/UI/Components/Filters/Types/FilterOperator.js +63 -0
  92. package/build/dist/UI/Components/Filters/Types/FilterOperator.js.map +1 -0
  93. package/build/dist/UI/Components/ModelTable/BaseModelTable.js +7 -0
  94. package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
  95. package/package.json +1 -1
@@ -1,4 +1,18 @@
1
+ import Icon from "../Icon/Icon";
1
2
  import Includes from "../../../Types/BaseDatabase/Includes";
3
+ import IncludesAll from "../../../Types/BaseDatabase/IncludesAll";
4
+ import IncludesNone from "../../../Types/BaseDatabase/IncludesNone";
5
+ import StartsWith from "../../../Types/BaseDatabase/StartsWith";
6
+ import EndsWith from "../../../Types/BaseDatabase/EndsWith";
7
+ import NotContains from "../../../Types/BaseDatabase/NotContains";
8
+ import EqualTo from "../../../Types/BaseDatabase/EqualTo";
9
+ import NotEqual from "../../../Types/BaseDatabase/NotEqual";
10
+ import GreaterThan from "../../../Types/BaseDatabase/GreaterThan";
11
+ import LessThan from "../../../Types/BaseDatabase/LessThan";
12
+ import GreaterThanOrEqual from "../../../Types/BaseDatabase/GreaterThanOrEqual";
13
+ import LessThanOrEqual from "../../../Types/BaseDatabase/LessThanOrEqual";
14
+ import IsNull from "../../../Types/BaseDatabase/IsNull";
15
+ import NotNull from "../../../Types/BaseDatabase/NotNull";
2
16
  import Button, { ButtonStyleType } from "../Button/Button";
3
17
  import ErrorMessage from "../ErrorMessage/ErrorMessage";
4
18
  import { SizeProp } from "../Icon/Icon";
@@ -6,6 +20,7 @@ import Modal, { ModalWidth } from "../Modal/Modal";
6
20
  import FieldType from "../Types/FieldType";
7
21
  import FilterViewerItem from "./FilterViewerItem";
8
22
  import FiltersForm from "./FiltersForm";
23
+ import InBetween from "../../../Types/BaseDatabase/InBetween";
9
24
  import Search from "../../../Types/BaseDatabase/Search";
10
25
  import OneUptimeDate from "../../../Types/Date";
11
26
  import IconProp from "../../../Types/Icon/IconProp";
@@ -51,7 +66,6 @@ const FilterComponent = (props) => {
51
66
  });
52
67
  };
53
68
  const translateFilterItemToText = (data) => {
54
- var _a, _b;
55
69
  let filterText = React.createElement(React.Fragment, null);
56
70
  if (!data.filter.key) {
57
71
  return null;
@@ -61,13 +75,11 @@ const FilterComponent = (props) => {
61
75
  return null;
62
76
  }
63
77
  if (data.filter.type === FieldType.Boolean) {
64
- filterText = (React.createElement("div", null,
65
- " ",
78
+ filterText = (React.createElement("span", null,
66
79
  React.createElement("span", { className: "font-medium" }, data.filter.title),
67
80
  " is",
68
81
  " ",
69
- React.createElement("span", { className: "font-medium" }, data.filterData[data.filter.key] ? "Yes" : "No"),
70
- " "));
82
+ React.createElement("span", { className: "font-medium" }, data.filterData[data.filter.key] ? "Yes" : "No")));
71
83
  return filterText;
72
84
  }
73
85
  if (data.filter.type === FieldType.Text ||
@@ -75,55 +87,114 @@ const FilterComponent = (props) => {
75
87
  data.filter.type === FieldType.Email ||
76
88
  data.filter.type === FieldType.Phone ||
77
89
  data.filter.type === FieldType.URL ||
78
- data.filter.type === FieldType.Hostname) {
90
+ data.filter.type === FieldType.Hostname ||
91
+ data.filter.type === FieldType.LongText ||
92
+ data.filter.type === FieldType.Name ||
93
+ data.filter.type === FieldType.Port ||
94
+ data.filter.type === FieldType.ObjectID) {
79
95
  const key = data.filter.key;
80
- if (data.filterData[key] && data.filterData[key] instanceof Search) {
81
- filterText = (React.createElement("div", null,
82
- " ",
96
+ const value = data.filterData[key];
97
+ const render = (verb, display) => {
98
+ return (React.createElement("span", null,
83
99
  React.createElement("span", { className: "font-medium" }, data.filter.title),
84
- " contains",
85
100
  " ",
86
- React.createElement("span", { className: "font-medium" }, (_a = data.filterData[data.filter.key]) === null || _a === void 0 ? void 0 : _a.toString()),
87
- " "));
88
- }
89
- else if (data.filterData[key]) {
90
- filterText = (React.createElement("div", null,
101
+ verb,
91
102
  " ",
103
+ React.createElement("span", { className: "font-medium" }, display)));
104
+ };
105
+ if (value instanceof IsNull) {
106
+ return (React.createElement("span", null,
92
107
  React.createElement("span", { className: "font-medium" }, data.filter.title),
93
- " is",
94
- " ",
95
- React.createElement("span", { className: "font-medium" }, (_b = data.filterData[data.filter.key]) === null || _b === void 0 ? void 0 : _b.toString()),
96
- " "));
108
+ " is empty"));
97
109
  }
98
- return filterText;
110
+ if (value instanceof NotNull) {
111
+ return (React.createElement("span", null,
112
+ React.createElement("span", { className: "font-medium" }, data.filter.title),
113
+ " is not empty"));
114
+ }
115
+ if (value instanceof Search) {
116
+ return render("contains", value.toString());
117
+ }
118
+ if (value instanceof NotContains) {
119
+ return render("does not contain", value.toString());
120
+ }
121
+ if (value instanceof StartsWith) {
122
+ return render("starts with", value.toString());
123
+ }
124
+ if (value instanceof EndsWith) {
125
+ return render("ends with", value.toString());
126
+ }
127
+ if (value instanceof InBetween) {
128
+ return render("is between", `${value.startValue} and ${value.endValue}`);
129
+ }
130
+ if (value instanceof GreaterThanOrEqual) {
131
+ return render("is ≥", value.toString());
132
+ }
133
+ if (value instanceof LessThanOrEqual) {
134
+ return render("is ≤", value.toString());
135
+ }
136
+ if (value instanceof GreaterThan) {
137
+ return render("is greater than", value.toString());
138
+ }
139
+ if (value instanceof LessThan) {
140
+ return render("is less than", value.toString());
141
+ }
142
+ if (value instanceof NotEqual) {
143
+ return render("does not equal", value.toString());
144
+ }
145
+ if (value instanceof EqualTo) {
146
+ return render("equals", value.toString());
147
+ }
148
+ if (value !== undefined && value !== null && value !== "") {
149
+ return render("is", value.toString());
150
+ }
151
+ return null;
99
152
  }
100
153
  if (data.filter.type === FieldType.Date ||
101
154
  data.filter.type === FieldType.DateTime) {
102
155
  const key = data.filter.key;
103
- const startAndEndDates = data.filterData[key];
156
+ const value = data.filterData[key];
104
157
  const shouldOnlyShowDate = data.filter.type === FieldType.Date;
105
158
  const shouldShowSeconds = data.filter.type === FieldType.DateTime;
106
- if (OneUptimeDate.getDateAsUserFriendlyLocalFormattedString(startAndEndDates.startValue, shouldOnlyShowDate, shouldShowSeconds) ===
107
- OneUptimeDate.getDateAsUserFriendlyLocalFormattedString(startAndEndDates.endValue, shouldOnlyShowDate, shouldShowSeconds)) {
108
- return (React.createElement("div", null,
109
- " ",
159
+ const format = (d) => {
160
+ return OneUptimeDate.getDateAsUserFriendlyLocalFormattedString(d, shouldOnlyShowDate, shouldShowSeconds);
161
+ };
162
+ const render = (verb, display) => {
163
+ return (React.createElement("span", null,
110
164
  React.createElement("span", { className: "font-medium" }, data.filter.title),
111
- " at",
112
165
  " ",
113
- React.createElement("span", { className: "font-medium" }, OneUptimeDate.getDateAsUserFriendlyLocalFormattedString(startAndEndDates.startValue, data.filter.type === FieldType.Date, shouldShowSeconds)),
114
- " "));
166
+ verb,
167
+ " ",
168
+ React.createElement("span", { className: "font-medium" }, display)));
169
+ };
170
+ if (value instanceof IsNull) {
171
+ return (React.createElement("span", null,
172
+ React.createElement("span", { className: "font-medium" }, data.filter.title),
173
+ " is empty"));
115
174
  }
116
- return (React.createElement("div", null,
117
- " ",
118
- React.createElement("span", { className: "font-medium" }, data.filter.title),
119
- " is in between",
120
- " ",
121
- React.createElement("span", { className: "font-medium" }, OneUptimeDate.getDateAsUserFriendlyLocalFormattedString(startAndEndDates.startValue, shouldOnlyShowDate, shouldShowSeconds)),
122
- " ",
123
- "and",
124
- " ",
125
- React.createElement("span", { className: "font-medium" }, OneUptimeDate.getDateAsUserFriendlyLocalFormattedString(startAndEndDates.endValue, shouldOnlyShowDate, shouldShowSeconds)),
126
- " "));
175
+ if (value instanceof NotNull) {
176
+ return (React.createElement("span", null,
177
+ React.createElement("span", { className: "font-medium" }, data.filter.title),
178
+ " is not empty"));
179
+ }
180
+ if (value instanceof InBetween) {
181
+ const start = value.startValue;
182
+ const end = value.endValue;
183
+ if (format(start) === format(end)) {
184
+ return render("is", format(start));
185
+ }
186
+ return render("is between", `${format(start)} and ${format(end)}`);
187
+ }
188
+ if (value instanceof GreaterThan) {
189
+ return render("is after", format(value.value));
190
+ }
191
+ if (value instanceof LessThan) {
192
+ return render("is before", format(value.value));
193
+ }
194
+ if (value instanceof EqualTo) {
195
+ return render("is", format(value.value));
196
+ }
197
+ return null;
127
198
  }
128
199
  if (data.filter.type === FieldType.JSON) {
129
200
  const key = data.filter.key;
@@ -133,56 +204,82 @@ const FilterComponent = (props) => {
133
204
  return null;
134
205
  }
135
206
  const isPlural = Object.keys(json).length > 1;
136
- return (React.createElement("div", { className: "flex space-x-1" },
137
- " ",
138
- React.createElement("div", { className: "font-medium" }, data.filter.title),
139
- " ",
140
- React.createElement("div", null,
141
- isPlural ? "are" : "is",
142
- " ",
143
- ""),
144
- React.createElement("div", { className: "font-medium" }, formatJson(json)),
145
- " "));
207
+ return (React.createElement("span", { className: "inline-flex items-center space-x-1" },
208
+ React.createElement("span", { className: "font-medium" }, data.filter.title),
209
+ React.createElement("span", null, isPlural ? "are" : "is"),
210
+ React.createElement("span", { className: "font-medium" }, formatJson(json))));
146
211
  }
147
212
  if (data.filter.type === FieldType.Dropdown ||
148
213
  data.filter.type === FieldType.MultiSelectDropdown ||
149
214
  data.filter.type === FieldType.Entity ||
150
215
  data.filter.type === FieldType.EntityArray) {
151
216
  const key = data.filter.key;
152
- let items = data.filterData[key];
153
- if (typeof items === "string") {
154
- items = [items];
217
+ const rawValue = data.filterData[key];
218
+ if (rawValue instanceof IsNull) {
219
+ return (React.createElement("span", null,
220
+ React.createElement("span", { className: "font-medium" }, data.filter.title),
221
+ " is empty"));
155
222
  }
156
- if (items instanceof Includes) {
157
- items = items.values;
223
+ if (rawValue instanceof NotNull) {
224
+ return (React.createElement("span", null,
225
+ React.createElement("span", { className: "font-medium" }, data.filter.title),
226
+ " is not empty"));
158
227
  }
159
- const isMoreItems = items.length > 1;
160
- if (items && items instanceof Array) {
161
- const entityNames = items
162
- .map((item) => {
163
- // item is the id of the entity. We need to find the name of the entity from the list of entities.
164
- var _a;
165
- const entity = (_a = data.filter.filterDropdownOptions) === null || _a === void 0 ? void 0 : _a.find((entity) => {
166
- return (entity === null || entity === void 0 ? void 0 : entity.value.toString()) === item.toString();
167
- });
168
- if (entity) {
169
- return entity.label.toString();
170
- }
171
- return null;
172
- })
173
- .filter((item) => {
174
- return item !== null;
175
- })
176
- .join(", ");
177
- if (!entityNames) {
178
- return null;
228
+ let items = [];
229
+ let matchMode = "any";
230
+ if (rawValue instanceof IncludesAll) {
231
+ items = rawValue.values;
232
+ matchMode = "all";
233
+ }
234
+ else if (rawValue instanceof IncludesNone) {
235
+ items = rawValue.values;
236
+ matchMode = "none";
237
+ }
238
+ else if (rawValue instanceof Includes) {
239
+ items = rawValue.values;
240
+ }
241
+ else if (Array.isArray(rawValue)) {
242
+ items = rawValue;
243
+ }
244
+ else if (typeof rawValue === "string") {
245
+ items = [rawValue];
246
+ }
247
+ const entityNames = items
248
+ .map((item) => {
249
+ var _a;
250
+ const entity = (_a = data.filter.filterDropdownOptions) === null || _a === void 0 ? void 0 : _a.find((e) => {
251
+ return (e === null || e === void 0 ? void 0 : e.value.toString()) === item.toString();
252
+ });
253
+ if (entity) {
254
+ return entity.label.toString();
179
255
  }
180
- return (React.createElement("div", null,
181
- React.createElement("span", { className: "font-medium" }, data.filter.title),
182
- isMoreItems ? " is any of these values: " : " is ",
183
- React.createElement("span", { className: "font-medium" }, entityNames)));
256
+ return null;
257
+ })
258
+ .filter((name) => {
259
+ return name !== null;
260
+ })
261
+ .join(", ");
262
+ if (!entityNames) {
263
+ return null;
184
264
  }
185
- return filterText;
265
+ const isMoreItems = items.length > 1;
266
+ let joiner;
267
+ if (matchMode === "all") {
268
+ joiner = " has all of: ";
269
+ }
270
+ else if (matchMode === "none") {
271
+ joiner = " has none of: ";
272
+ }
273
+ else if (isMoreItems) {
274
+ joiner = " is any of: ";
275
+ }
276
+ else {
277
+ joiner = " is ";
278
+ }
279
+ return (React.createElement("span", null,
280
+ React.createElement("span", { className: "font-medium" }, data.filter.title),
281
+ joiner,
282
+ React.createElement("span", { className: "font-medium" }, entityNames)));
186
283
  }
187
284
  return filterText;
188
285
  };
@@ -196,32 +293,26 @@ const FilterComponent = (props) => {
196
293
  const showViewer = filterTexts.length > 0;
197
294
  return (React.createElement("div", null,
198
295
  showViewer && (React.createElement("div", null,
199
- React.createElement("div", { className: "mt-5 mb-5 bg-gray-50 rounded-xl p-5 border-2 border-gray-100" },
200
- React.createElement("div", { className: "flex mt-1 mb-2" },
201
- React.createElement("div", { className: "flex-auto py-0.5 text-sm leading-5" },
296
+ React.createElement("div", { className: "mt-4 mb-4 bg-gray-50 rounded-xl p-4 border border-gray-200" },
297
+ React.createElement("div", { className: "flex items-center justify-between mb-3" },
298
+ React.createElement("div", { className: "flex items-center gap-2 text-sm text-gray-700" },
299
+ React.createElement(Icon, { icon: IconProp.Filter, size: SizeProp.Smaller }),
202
300
  React.createElement("span", { className: "font-semibold" },
203
- "Filter ",
204
- props.pluralLabel + " " || "",
205
- "by the following criteria:"),
206
- " ")),
207
- React.createElement("ul", { role: "list", className: "space-y-3" }, filterTexts.map((filterText, index) => {
208
- const isLastItem = index === filterTexts.length - 1;
209
- return (React.createElement("li", { className: "relative flex gap-x-2", key: index },
210
- !isLastItem && (React.createElement("div", { className: "absolute left-0 top-0 flex w-6 justify-center -bottom-6" },
211
- React.createElement("div", { className: "w-px bg-gray-200" }))),
212
- React.createElement("div", { className: "relative flex h-6 w-6 flex-none items-center justify-center bg-gray-50" },
213
- React.createElement("div", { className: "h-1.5 w-1.5 rounded-full bg-gray-100 ring-1 ring-gray-300" })),
214
- React.createElement(FilterViewerItem, { key: index, text: filterText }),
215
- " "));
301
+ "Showing ",
302
+ props.pluralLabel || "results",
303
+ " that match"))),
304
+ React.createElement("div", { className: "flex flex-wrap gap-2" }, filterTexts.map((filterText, index) => {
305
+ return (React.createElement("div", { key: index, className: "inline-flex items-center rounded-full bg-white border border-gray-200 px-3 py-1 text-sm text-gray-700 shadow-sm whitespace-nowrap" },
306
+ React.createElement(FilterViewerItem, { key: index, text: filterText })));
216
307
  })),
217
- React.createElement("div", { className: "flex -ml-3 mt-3 -mb-2" },
308
+ React.createElement("div", { className: "flex -ml-3 mt-3 -mb-1" },
218
309
  React.createElement(Button, { className: "font-medium text-gray-900", icon: IconProp.Filter, onClick: props.onFilterModalOpen, title: "Edit Filters", iconSize: SizeProp.Smaller, buttonStyle: ButtonStyleType.SECONDARY_LINK }),
219
310
  React.createElement(Button, { onClick: () => {
220
311
  var _a;
221
312
  changeFilterData({});
222
313
  (_a = props.onFilterModalClose) === null || _a === void 0 ? void 0 : _a.call(props);
223
314
  }, className: "font-medium text-gray-900", icon: IconProp.Close, title: "Clear Filters", buttonStyle: ButtonStyleType.SECONDARY_LINK }))))),
224
- props.showFilterModal && (React.createElement(Modal, { modalWidth: ModalWidth.Large, isLoading: props.isModalLoading, title: `${props.singularLabel + " " || ""}Filters`, description: `Filter ${props.pluralLabel || ""} by the following criteria:`, submitButtonText: `Apply Filters`, onClose: () => {
315
+ props.showFilterModal && (React.createElement(Modal, { modalWidth: ModalWidth.Large, isLoading: props.isModalLoading, title: `Filter ${props.pluralLabel || props.singularLabel || "results"}`, description: `Narrow down ${props.pluralLabel || "results"} by one or more criteria below.`, submitButtonText: `Apply Filters`, onClose: () => {
225
316
  var _a;
226
317
  (_a = props.onFilterModalClose) === null || _a === void 0 ? void 0 : _a.call(props);
227
318
  }, onSubmit: () => {
@@ -1 +1 @@
1
- {"version":3,"file":"FilterViewer.js","sourceRoot":"","sources":["../../../../../UI/Components/Filters/FilterViewer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FilterViewer.js","sourceRoot":"","sources":["../../../../../UI/Components/Filters/FilterViewer.tsx"],"names":[],"mappings":"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"}
@@ -1,11 +1,6 @@
1
1
  import React from "react";
2
2
  const FilterViewerItem = (props) => {
3
- const { text } = props;
4
- return (React.createElement("div", { className: "flex w-full -ml-3" },
5
- React.createElement("div", { className: "flex" },
6
- React.createElement("div", { className: "ml-1 flex-auto py-0.5 text-sm leading-5 text-gray-500" },
7
- React.createElement("span", { className: "text-gray-900" }, text),
8
- " "))));
3
+ return React.createElement("span", { className: "text-gray-800 leading-5" }, props.text);
9
4
  };
10
5
  export default FilterViewerItem;
11
6
  //# sourceMappingURL=FilterViewerItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FilterViewerItem.js","sourceRoot":"","sources":["../../../../../UI/Components/Filters/FilterViewerItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuB,MAAM,OAAO,CAAC;AAU5C,MAAM,gBAAgB,GAAsC,CAC1D,KAAqB,EACP,EAAE;IAChB,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAEvB,OAAO,CACL,6BAAK,SAAS,EAAC,mBAAmB;QAChC,6BAAK,SAAS,EAAC,MAAM;YACnB,6BAAK,SAAS,EAAC,uDAAuD;gBACpE,8BAAM,SAAS,EAAC,eAAe,IAAE,IAAI,CAAQ;gBAAC,GAAG,CAC7C,CACF,CACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"FilterViewerItem.js","sourceRoot":"","sources":["../../../../../UI/Components/Filters/FilterViewerItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuB,MAAM,OAAO,CAAC;AAU5C,MAAM,gBAAgB,GAAsC,CAC1D,KAAqB,EACP,EAAE;IAChB,OAAO,8BAAM,SAAS,EAAC,yBAAyB,IAAE,KAAK,CAAC,IAAI,CAAQ,CAAC;AACvE,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -1,8 +1,8 @@
1
- import Button, { ButtonStyleType } from "../Button/Button";
1
+ import Button, { ButtonSize, ButtonStyleType } from "../Button/Button";
2
2
  import ComponentLoader from "../ComponentLoader/ComponentLoader";
3
3
  import ErrorMessage from "../ErrorMessage/ErrorMessage";
4
- import FieldLabelElement from "../Forms/Fields/FieldLabel";
5
4
  import FieldType from "../Types/FieldType";
5
+ import IconProp from "../../../Types/Icon/IconProp";
6
6
  import BooleanFilter from "./BooleanFilter";
7
7
  import DateFilter from "./DateFilter";
8
8
  import DropdownFilter from "./DropdownFilter";
@@ -25,43 +25,51 @@ const FiltersForm = (props) => {
25
25
  return filter.isAdvancedFilter;
26
26
  }));
27
27
  const [showMoreFilters, setShowMoreFilters] = React.useState((_a = props.showAdvancedFiltersByDefault) !== null && _a !== void 0 ? _a : false);
28
+ const clearFilter = (key) => {
29
+ const next = Object.assign({}, props.filterData);
30
+ delete next[key];
31
+ changeFilterData(next);
32
+ };
33
+ const visibleFilters = props.filters.filter((filter) => {
34
+ if (filter.isAdvancedFilter) {
35
+ return (showMoreFilters && !props.isFilterLoading && !props.filterError);
36
+ }
37
+ return true;
38
+ });
28
39
  return (React.createElement("div", { id: props.id },
29
- React.createElement("div", { className: "pt-3 pb-5" },
30
- React.createElement("div", { className: "space-y-5" }, props.showFilter &&
31
- props.filters &&
32
- props.filters
33
- .filter((filter) => {
34
- if (filter.isAdvancedFilter) {
35
- // Hide advanced filters if not toggled on, or if they are still loading/errored
36
- return (showMoreFilters &&
37
- !props.isFilterLoading &&
38
- !props.filterError);
39
- }
40
- return true;
41
- })
42
- .map((filter, i) => {
43
- return (React.createElement("div", { key: i, className: "col-span-3 sm:col-span-3 " },
44
- React.createElement(FieldLabelElement, { required: true, title: filter.title }),
45
- React.createElement(DropdownFilter, { filter: filter, filterData: props.filterData, onFilterChanged: changeFilterData, isMultiSelect: filter.type === FieldType.MultiSelectDropdown }),
46
- React.createElement(EntityFilter, { filter: filter, filterData: props.filterData, onFilterChanged: changeFilterData }),
47
- React.createElement(BooleanFilter, { filter: filter, filterData: props.filterData, onFilterChanged: changeFilterData }),
48
- React.createElement(DateFilter, { filter: filter, filterData: props.filterData, onFilterChanged: changeFilterData }),
49
- React.createElement(TextFilter, { filter: filter, filterData: props.filterData, onFilterChanged: changeFilterData }),
50
- React.createElement(NumberFilter, { filter: filter, filterData: props.filterData, onFilterChanged: changeFilterData }),
51
- React.createElement(JSONFilter, { filter: filter, filterData: props.filterData, onFilterChanged: changeFilterData, jsonKeys: filter.jsonKeys, jsonValueSuggestions: filter.jsonValueSuggestions, onJsonKeySelected: filter.onJsonKeySelected })));
52
- })),
53
- props.showFilter && props.isFilterLoading && !props.filterError && (React.createElement(ComponentLoader, null)),
54
- props.showFilter && props.filterError && (React.createElement(ErrorMessage, { message: props.filterError, onRefreshClick: props.onFilterRefreshClick })),
55
- showAdvancedFilterButton && (React.createElement(Button, { className: "-ml-3 mt-1", buttonStyle: ButtonStyleType.SECONDARY_LINK, title: showMoreFilters
56
- ? "Hide Advanced Filters"
57
- : "Show Advanced Filters", onClick: () => {
58
- setShowMoreFilters((currentValue) => {
59
- var _a;
60
- const newValue = !currentValue;
61
- (_a = props.onAdvancedFiltersToggle) === null || _a === void 0 ? void 0 : _a.call(props, newValue);
62
- return newValue;
63
- });
64
- } })))));
40
+ React.createElement("div", { className: "space-y-3" }, visibleFilters.map((filter, i) => {
41
+ const hasValue = filter.key !== undefined &&
42
+ props.filterData[filter.key] !== undefined &&
43
+ props.filterData[filter.key] !== null;
44
+ return (React.createElement("div", { key: i, className: "grid grid-cols-[140px_1fr_auto] items-center gap-3" },
45
+ React.createElement("div", { className: "flex items-center min-w-0" },
46
+ React.createElement("label", { className: "text-sm font-medium text-gray-700 truncate" }, filter.title)),
47
+ React.createElement("div", { className: "min-w-0" },
48
+ React.createElement(DropdownFilter, { filter: filter, filterData: props.filterData, onFilterChanged: changeFilterData, isMultiSelect: filter.type === FieldType.MultiSelectDropdown }),
49
+ React.createElement(EntityFilter, { filter: filter, filterData: props.filterData, onFilterChanged: changeFilterData }),
50
+ React.createElement(BooleanFilter, { filter: filter, filterData: props.filterData, onFilterChanged: changeFilterData }),
51
+ React.createElement(DateFilter, { filter: filter, filterData: props.filterData, onFilterChanged: changeFilterData }),
52
+ React.createElement(TextFilter, { filter: filter, filterData: props.filterData, onFilterChanged: changeFilterData }),
53
+ React.createElement(NumberFilter, { filter: filter, filterData: props.filterData, onFilterChanged: changeFilterData }),
54
+ React.createElement(JSONFilter, { filter: filter, filterData: props.filterData, onFilterChanged: changeFilterData, jsonKeys: filter.jsonKeys, jsonValueSuggestions: filter.jsonValueSuggestions, onJsonKeySelected: filter.onJsonKeySelected })),
55
+ React.createElement("div", { className: "flex items-center" }, hasValue && filter.key ? (React.createElement("button", { type: "button", onClick: () => {
56
+ return clearFilter(filter.key);
57
+ }, className: "p-1.5 rounded-md text-gray-400 hover:text-gray-700 hover:bg-gray-100 transition-colors", "aria-label": `Clear ${filter.title} filter`, title: `Clear ${filter.title}` },
58
+ React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: "currentColor", className: "w-4 h-4" },
59
+ React.createElement("path", { fillRule: "evenodd", d: "M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z", clipRule: "evenodd" })))) : (React.createElement("div", { className: "w-7", "aria-hidden": "true" })))));
60
+ })),
61
+ props.showFilter && props.isFilterLoading && !props.filterError && (React.createElement("div", { className: "py-4" },
62
+ React.createElement(ComponentLoader, null))),
63
+ props.showFilter && props.filterError && (React.createElement("div", { className: "py-4" },
64
+ React.createElement(ErrorMessage, { message: props.filterError, onRefreshClick: props.onFilterRefreshClick }))),
65
+ showAdvancedFilterButton && (React.createElement(Button, { className: "-ml-3 mt-3", buttonSize: ButtonSize.Small, buttonStyle: ButtonStyleType.SECONDARY_LINK, icon: showMoreFilters ? IconProp.ChevronUp : IconProp.ChevronDown, title: showMoreFilters ? "Hide Advanced Filters" : "Show Advanced Filters", onClick: () => {
66
+ setShowMoreFilters((currentValue) => {
67
+ var _a;
68
+ const newValue = !currentValue;
69
+ (_a = props.onAdvancedFiltersToggle) === null || _a === void 0 ? void 0 : _a.call(props, newValue);
70
+ return newValue;
71
+ });
72
+ } }))));
65
73
  };
66
74
  export default FiltersForm;
67
75
  //# sourceMappingURL=FiltersForm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FiltersForm.js","sourceRoot":"","sources":["../../../../../UI/Components/Filters/FiltersForm.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FiltersForm.js","sourceRoot":"","sources":["../../../../../UI/Components/Filters/FiltersForm.tsx"],"names":[],"mappings":"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"}