@teambit/component.ui.component-filters.env-filter 0.0.26 → 0.0.28
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/dist/envs-filter.js +19 -10
- package/dist/envs-filter.js.map +1 -1
- package/envs-filter.tsx +25 -11
- package/package-tar/teambit-component.ui.component-filters.env-filter-0.0.28.tgz +0 -0
- package/package.json +3 -3
- /package/{preview-1666409808293.js → preview-1666755696699.js} +0 -0
- package/package-tar/teambit-component.ui.component-filters.env-filter-0.0.26.tgz +0 -0
package/dist/envs-filter.js
CHANGED
|
@@ -89,15 +89,24 @@ const deriveEnvsFilterState = (components) => {
|
|
|
89
89
|
}, [components]);
|
|
90
90
|
};
|
|
91
91
|
function envsFilter({ components, className, lanes }) {
|
|
92
|
+
var _a, _b;
|
|
92
93
|
const [filters = []] = (0, component_ui_component_filters_component_filter_context_1.useComponentFilters)() || [];
|
|
93
94
|
const filtersExceptEnv = filters.filter((filter) => filter.id !== exports.EnvsFilter.id);
|
|
94
|
-
const filteredComponents = (0, component_ui_component_filters_component_filter_context_1.runAllFilters)(filtersExceptEnv, { components, lanes });
|
|
95
|
+
const filteredComponents = (0, react_1.useMemo)(() => (0, component_ui_component_filters_component_filter_context_1.runAllFilters)(filtersExceptEnv, { components, lanes }), [filtersExceptEnv, (_a = lanes === null || lanes === void 0 ? void 0 : lanes.viewedLane) === null || _a === void 0 ? void 0 : _a.id.toString()]);
|
|
95
96
|
const envsFilterState = deriveEnvsFilterState(filteredComponents);
|
|
96
97
|
const filterContext = (0, component_ui_component_filters_component_filter_context_1.useComponentFilter)(exports.EnvsFilter.id, envsFilterState);
|
|
97
|
-
if (!filterContext)
|
|
98
|
-
return null;
|
|
99
98
|
const envs = envsFilterState.envsState;
|
|
100
|
-
const [currentFilter, updateFilter] = filterContext;
|
|
99
|
+
const [currentFilter, updateFilter] = filterContext || [];
|
|
100
|
+
/**
|
|
101
|
+
* this will not work if other filters in a single re-render
|
|
102
|
+
* result in the same number of components with different ids
|
|
103
|
+
*/
|
|
104
|
+
(0, react_1.useEffect)(() => {
|
|
105
|
+
updateFilter === null || updateFilter === void 0 ? void 0 : updateFilter((currentState) => {
|
|
106
|
+
currentState.state = envsFilterState;
|
|
107
|
+
return currentState;
|
|
108
|
+
});
|
|
109
|
+
}, [filteredComponents.length, (_b = lanes === null || lanes === void 0 ? void 0 : lanes.viewedLane) === null || _b === void 0 ? void 0 : _b.id.toString()]);
|
|
101
110
|
const selectList = [];
|
|
102
111
|
envs.forEach((state) => {
|
|
103
112
|
var _a;
|
|
@@ -105,13 +114,13 @@ function envsFilter({ components, className, lanes }) {
|
|
|
105
114
|
value: state.id,
|
|
106
115
|
icon: state.icon,
|
|
107
116
|
description: state.description,
|
|
108
|
-
checked: !!((_a = currentFilter.state.envsState.get(state.id)) === null || _a === void 0 ? void 0 : _a.active),
|
|
117
|
+
checked: !!((_a = currentFilter === null || currentFilter === void 0 ? void 0 : currentFilter.state.envsState.get(state.id)) === null || _a === void 0 ? void 0 : _a.active),
|
|
109
118
|
element: react_1.default.createElement(EnvsDropdownItem, Object.assign({}, state)),
|
|
110
119
|
});
|
|
111
120
|
});
|
|
112
121
|
const onCheck = (value, e) => {
|
|
113
122
|
const checked = e.target.checked;
|
|
114
|
-
updateFilter((currentState) => {
|
|
123
|
+
updateFilter === null || updateFilter === void 0 ? void 0 : updateFilter((currentState) => {
|
|
115
124
|
if (checked && !currentState.state.dropdownState) {
|
|
116
125
|
currentState.state.dropdownState = true;
|
|
117
126
|
}
|
|
@@ -123,7 +132,7 @@ function envsFilter({ components, className, lanes }) {
|
|
|
123
132
|
});
|
|
124
133
|
};
|
|
125
134
|
const onClear = () => {
|
|
126
|
-
updateFilter((currentState) => {
|
|
135
|
+
updateFilter === null || updateFilter === void 0 ? void 0 : updateFilter((currentState) => {
|
|
127
136
|
currentState.state.envsState.forEach((value, key) => {
|
|
128
137
|
currentState.state.envsState.set(key, Object.assign(Object.assign({}, value), { active: false }));
|
|
129
138
|
});
|
|
@@ -131,19 +140,19 @@ function envsFilter({ components, className, lanes }) {
|
|
|
131
140
|
});
|
|
132
141
|
};
|
|
133
142
|
const onSubmit = () => {
|
|
134
|
-
updateFilter((currentState) => {
|
|
143
|
+
updateFilter === null || updateFilter === void 0 ? void 0 : updateFilter((currentState) => {
|
|
135
144
|
currentState.state.dropdownState = false;
|
|
136
145
|
return currentState;
|
|
137
146
|
});
|
|
138
147
|
};
|
|
139
148
|
const onDropdownToggled = (event, open) => {
|
|
140
|
-
updateFilter((currentState) => {
|
|
149
|
+
updateFilter === null || updateFilter === void 0 ? void 0 : updateFilter((currentState) => {
|
|
141
150
|
currentState.state.dropdownState = open;
|
|
142
151
|
return currentState;
|
|
143
152
|
});
|
|
144
153
|
};
|
|
145
154
|
return (react_1.default.createElement("div", { className: (0, classnames_1.default)(envs_filter_module_scss_1.default.envsFilterContainer, className) },
|
|
146
|
-
react_1.default.createElement(design_inputs_selectors_multi_select_1.MultiSelect, { itemsList: selectList, placeholder: react_1.default.createElement(EnvsPlaceholder, null), onSubmit: onSubmit, onCheck: onCheck, onClear: onClear, onChange: onDropdownToggled, open: currentFilter.state.dropdownState, dropdownBorder: false, className: envs_filter_module_scss_1.default.envFilterDropdownContainer, dropClass: envs_filter_module_scss_1.default.envFilterDropdown })));
|
|
155
|
+
react_1.default.createElement(design_inputs_selectors_multi_select_1.MultiSelect, { itemsList: selectList, placeholder: react_1.default.createElement(EnvsPlaceholder, null), onSubmit: onSubmit, onCheck: onCheck, onClear: onClear, onChange: onDropdownToggled, open: !!(currentFilter === null || currentFilter === void 0 ? void 0 : currentFilter.state.dropdownState), dropdownBorder: false, className: envs_filter_module_scss_1.default.envFilterDropdownContainer, dropClass: envs_filter_module_scss_1.default.envFilterDropdown })));
|
|
147
156
|
}
|
|
148
157
|
function EnvsPlaceholder() {
|
|
149
158
|
return (react_1.default.createElement("div", { className: envs_filter_module_scss_1.default.filterIcon },
|
package/dist/envs-filter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envs-filter.js","sourceRoot":"","sources":["../envs-filter.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+
|
|
1
|
+
{"version":3,"file":"envs-filter.js","sourceRoot":"","sources":["../envs-filter.tsx"],"names":[],"mappings":"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"}
|
package/envs-filter.tsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useMemo } from 'react';
|
|
1
|
+
import React, { useMemo, useEffect } from 'react';
|
|
2
2
|
import { MultiSelect, ItemType } from '@teambit/design.inputs.selectors.multi-select';
|
|
3
3
|
import { ComponentID, ComponentModel } from '@teambit/component';
|
|
4
4
|
import { ComponentUrl } from '@teambit/component.modules.component-url';
|
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
useComponentFilters,
|
|
14
14
|
runAllFilters,
|
|
15
15
|
} from '@teambit/component.ui.component-filters.component-filter-context';
|
|
16
|
+
|
|
16
17
|
import styles from './envs-filter.module.scss';
|
|
17
18
|
|
|
18
19
|
type EnvFilterEnvState = {
|
|
@@ -94,16 +95,29 @@ const deriveEnvsFilterState = (components: ComponentModel[]) => {
|
|
|
94
95
|
function envsFilter({ components, className, lanes }: ComponentFilterRenderProps) {
|
|
95
96
|
const [filters = []] = useComponentFilters() || [];
|
|
96
97
|
const filtersExceptEnv = filters.filter((filter) => filter.id !== EnvsFilter.id);
|
|
97
|
-
const filteredComponents =
|
|
98
|
+
const filteredComponents = useMemo(
|
|
99
|
+
() => runAllFilters(filtersExceptEnv, { components, lanes }),
|
|
100
|
+
[filtersExceptEnv, lanes?.viewedLane?.id.toString()]
|
|
101
|
+
);
|
|
98
102
|
|
|
99
103
|
const envsFilterState = deriveEnvsFilterState(filteredComponents);
|
|
100
|
-
const filterContext = useComponentFilter(EnvsFilter.id, envsFilterState);
|
|
101
104
|
|
|
102
|
-
|
|
105
|
+
const filterContext = useComponentFilter(EnvsFilter.id, envsFilterState);
|
|
103
106
|
|
|
104
107
|
const envs = envsFilterState.envsState;
|
|
105
108
|
|
|
106
|
-
const [currentFilter, updateFilter] = filterContext;
|
|
109
|
+
const [currentFilter, updateFilter] = filterContext || [];
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* this will not work if other filters in a single re-render
|
|
113
|
+
* result in the same number of components with different ids
|
|
114
|
+
*/
|
|
115
|
+
useEffect(() => {
|
|
116
|
+
updateFilter?.((currentState) => {
|
|
117
|
+
currentState.state = envsFilterState;
|
|
118
|
+
return currentState;
|
|
119
|
+
});
|
|
120
|
+
}, [filteredComponents.length, lanes?.viewedLane?.id.toString()]);
|
|
107
121
|
|
|
108
122
|
const selectList: ItemType[] = [];
|
|
109
123
|
|
|
@@ -112,7 +126,7 @@ function envsFilter({ components, className, lanes }: ComponentFilterRenderProps
|
|
|
112
126
|
value: state.id,
|
|
113
127
|
icon: state.icon,
|
|
114
128
|
description: state.description,
|
|
115
|
-
checked: !!currentFilter
|
|
129
|
+
checked: !!currentFilter?.state.envsState.get(state.id)?.active,
|
|
116
130
|
element: <EnvsDropdownItem {...state} />,
|
|
117
131
|
});
|
|
118
132
|
});
|
|
@@ -120,7 +134,7 @@ function envsFilter({ components, className, lanes }: ComponentFilterRenderProps
|
|
|
120
134
|
const onCheck = (value: string, e: React.ChangeEvent<HTMLInputElement>) => {
|
|
121
135
|
const checked = e.target.checked;
|
|
122
136
|
|
|
123
|
-
updateFilter((currentState) => {
|
|
137
|
+
updateFilter?.((currentState) => {
|
|
124
138
|
if (checked && !currentState.state.dropdownState) {
|
|
125
139
|
currentState.state.dropdownState = true;
|
|
126
140
|
}
|
|
@@ -135,7 +149,7 @@ function envsFilter({ components, className, lanes }: ComponentFilterRenderProps
|
|
|
135
149
|
};
|
|
136
150
|
|
|
137
151
|
const onClear = () => {
|
|
138
|
-
updateFilter((currentState) => {
|
|
152
|
+
updateFilter?.((currentState) => {
|
|
139
153
|
currentState.state.envsState.forEach((value, key) => {
|
|
140
154
|
currentState.state.envsState.set(key, { ...value, active: false });
|
|
141
155
|
});
|
|
@@ -144,14 +158,14 @@ function envsFilter({ components, className, lanes }: ComponentFilterRenderProps
|
|
|
144
158
|
};
|
|
145
159
|
|
|
146
160
|
const onSubmit = () => {
|
|
147
|
-
updateFilter((currentState) => {
|
|
161
|
+
updateFilter?.((currentState) => {
|
|
148
162
|
currentState.state.dropdownState = false;
|
|
149
163
|
return currentState;
|
|
150
164
|
});
|
|
151
165
|
};
|
|
152
166
|
|
|
153
167
|
const onDropdownToggled = (event, open) => {
|
|
154
|
-
updateFilter((currentState) => {
|
|
168
|
+
updateFilter?.((currentState) => {
|
|
155
169
|
currentState.state.dropdownState = open;
|
|
156
170
|
return currentState;
|
|
157
171
|
});
|
|
@@ -166,7 +180,7 @@ function envsFilter({ components, className, lanes }: ComponentFilterRenderProps
|
|
|
166
180
|
onCheck={onCheck}
|
|
167
181
|
onClear={onClear}
|
|
168
182
|
onChange={onDropdownToggled}
|
|
169
|
-
open={currentFilter
|
|
183
|
+
open={!!currentFilter?.state.dropdownState}
|
|
170
184
|
dropdownBorder={false}
|
|
171
185
|
className={styles.envFilterDropdownContainer}
|
|
172
186
|
dropClass={styles.envFilterDropdown}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/component.ui.component-filters.env-filter",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.28",
|
|
4
4
|
"homepage": "https://bit.dev/teambit/component/ui/component-filters/env-filter",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.component",
|
|
8
8
|
"name": "ui/component-filters/env-filter",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.28"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"classnames": "2.2.6",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"@teambit/design.inputs.selectors.multi-select": "0.0.20",
|
|
16
16
|
"@teambit/ui-foundation.ui.constants.z-indexes": "0.0.494",
|
|
17
17
|
"@teambit/component.modules.component-url": "0.0.141",
|
|
18
|
-
"@teambit/component.ui.component-filters.component-filter-context": "0.0.
|
|
18
|
+
"@teambit/component.ui.component-filters.component-filter-context": "0.0.22",
|
|
19
19
|
"@teambit/design.ui.styles.ellipsis": "0.0.353",
|
|
20
20
|
"@teambit/design.ui.tooltip": "0.0.358"
|
|
21
21
|
},
|
|
File without changes
|
|
Binary file
|