@truedat/dq 5.0.3 → 5.0.4

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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## [5.0.4] 2023-01-27
4
+
5
+ ### Changed
6
+
7
+ - [TD-5522] Merge default and user filters for implementation execution
8
+
3
9
  ## [5.0.3] 2023-01-27
4
10
 
5
11
  - [TD-5478] Render actions and views to convert basic implementation to default
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@truedat/dq",
3
- "version": "5.0.3",
3
+ "version": "5.0.4",
4
4
  "description": "Truedat Web Data Quality Module",
5
5
  "sideEffects": false,
6
6
  "jsnext:main": "src/index.js",
@@ -34,7 +34,7 @@
34
34
  "@testing-library/jest-dom": "^5.16.5",
35
35
  "@testing-library/react": "^12.0.0",
36
36
  "@testing-library/user-event": "^13.2.1",
37
- "@truedat/test": "5.0.3",
37
+ "@truedat/test": "5.0.4",
38
38
  "babel-jest": "^28.1.0",
39
39
  "babel-plugin-dynamic-import-node": "^2.3.3",
40
40
  "babel-plugin-lodash": "^3.3.4",
@@ -92,8 +92,8 @@
92
92
  },
93
93
  "dependencies": {
94
94
  "@apollo/client": "^3.7.1",
95
- "@truedat/core": "5.0.3",
96
- "@truedat/df": "5.0.3",
95
+ "@truedat/core": "5.0.4",
96
+ "@truedat/df": "5.0.4",
97
97
  "decode-uri-component": "^0.2.2",
98
98
  "graphql": "^15.5.3",
99
99
  "moment": "^2.29.4",
@@ -118,5 +118,5 @@
118
118
  "react-dom": ">= 16.8.6 < 17",
119
119
  "semantic-ui-react": ">= 2.0.3 < 2.2"
120
120
  },
121
- "gitHead": "ee802e3e32b52638cb4723fcab3cdeca266a666c"
121
+ "gitHead": "91d484a16499494eedec012362b3a7f45cb1cbc9"
122
122
  }
@@ -127,8 +127,11 @@ ImplementationSearchResults.propTypes = {
127
127
  ruleImplementations: PropTypes.array,
128
128
  };
129
129
 
130
- const mapStateToProps = (state) => ({
131
- implementationQuery: getExecutionQuery(state),
130
+ const mapStateToProps = (state, props) => ({
131
+ implementationQuery: getExecutionQuery({
132
+ ...state,
133
+ ruleImplementationDefaultFilters: _.propOr({}, "defaultFilters")(props),
134
+ }),
132
135
  role: state.authentication?.role,
133
136
  loading: state.ruleImplementationsLoading,
134
137
  ruleImplementations: state.ruleImplementations,
@@ -18,7 +18,7 @@ export const Implementations = ({ defaultFilters }) => (
18
18
  <Segment>
19
19
  <ImplementationsHeader />
20
20
  <Segment attached="bottom">
21
- <ImplementationSearchResults />
21
+ <ImplementationSearchResults defaultFilters={defaultFilters} />
22
22
  </Segment>
23
23
  </Segment>
24
24
  </>
@@ -2,13 +2,26 @@ import { getExecutionQuery } from "..";
2
2
 
3
3
  const ruleImplementationQuery = { query: "foo" };
4
4
  const ruleImplementationActiveFilters = { foo: "bar", bar: "baz" };
5
+ const ruleImplementationDefaultFilters = { status: "some status" };
5
6
 
6
7
  describe("selectors: getExecutionQuery", () => {
7
8
  it("should return query", () => {
8
9
  const res = getExecutionQuery({
9
10
  ruleImplementationQuery,
10
- ruleImplementationActiveFilters
11
+ ruleImplementationActiveFilters,
11
12
  });
12
13
  expect(res).toEqual({ query: "foo", filters: { foo: "bar", bar: "baz" } });
13
14
  });
15
+
16
+ it("should return query with default filters", () => {
17
+ const res = getExecutionQuery({
18
+ ruleImplementationQuery,
19
+ ruleImplementationActiveFilters,
20
+ ruleImplementationDefaultFilters,
21
+ });
22
+ expect(res).toEqual({
23
+ query: "foo",
24
+ filters: { foo: "bar", bar: "baz", status: "some status" },
25
+ });
26
+ });
14
27
  });
@@ -4,9 +4,16 @@ import { createSelector } from "reselect";
4
4
  export const getExecutionQuery = createSelector(
5
5
  _.prop("ruleImplementationQuery"),
6
6
  _.prop("ruleImplementationActiveFilters"),
7
- (implementationQuery, implementationActiveFilters) => {
7
+ _.prop("ruleImplementationDefaultFilters"),
8
+ (implementationQuery, implementationActiveFilters, defaultFilters) => {
8
9
  const query = _.trim(implementationQuery?.query);
9
10
  const filters = _.omitBy(_.isEmpty)(implementationActiveFilters);
10
- return query ? { filters, query } : { filters };
11
+ const filtersWithDefaults = {
12
+ ...defaultFilters,
13
+ ...filters,
14
+ };
15
+ return query
16
+ ? { filters: filtersWithDefaults, query }
17
+ : { filters: filtersWithDefaults };
11
18
  }
12
19
  );