swoop-common 2.1.24 → 2.1.25
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.
|
@@ -5,6 +5,7 @@ interface ComponentPickerModalProps {
|
|
|
5
5
|
onClose: () => void;
|
|
6
6
|
onSelect: (component: DTOComponentRead) => void;
|
|
7
7
|
selectedComponent?: DTOComponentRead | null;
|
|
8
|
+
parentIdsFilter?: Array<string>;
|
|
8
9
|
}
|
|
9
|
-
export default function ComponentPickerModal({ open, onClose, onSelect, selectedComponent, }: ComponentPickerModalProps): React.JSX.Element;
|
|
10
|
+
export default function ComponentPickerModal({ open, onClose, onSelect, selectedComponent, parentIdsFilter }: ComponentPickerModalProps): React.JSX.Element;
|
|
10
11
|
export {};
|
|
@@ -13,7 +13,7 @@ import { Search as SearchIcon, Clear as ClearIcon, FilterList as FilterIcon, } f
|
|
|
13
13
|
import { PARTNER_REGION_READABLE } from "../consts/region";
|
|
14
14
|
import { fetchComponents, getAllPartners } from "../util/api";
|
|
15
15
|
import { InternalServices } from "../../api/init";
|
|
16
|
-
export default function ComponentPickerModal({ open, onClose, onSelect, selectedComponent, }) {
|
|
16
|
+
export default function ComponentPickerModal({ open, onClose, onSelect, selectedComponent, parentIdsFilter }) {
|
|
17
17
|
const [searchTerm, setSearchTerm] = useState("");
|
|
18
18
|
const [selectedRegion, setSelectedRegion] = useState("");
|
|
19
19
|
const [selectedPartner, setSelectedPartner] = useState("");
|
|
@@ -91,6 +91,9 @@ export default function ComponentPickerModal({ open, onClose, onSelect, selected
|
|
|
91
91
|
query.partners = selectedPartner;
|
|
92
92
|
if (selectedTemplate)
|
|
93
93
|
query.templateId = selectedTemplate;
|
|
94
|
+
// Parent ids overwrites templateid filter
|
|
95
|
+
if (parentIdsFilter === null || parentIdsFilter === void 0 ? void 0 : parentIdsFilter.length)
|
|
96
|
+
query.templateId = parentIdsFilter.join(",");
|
|
94
97
|
const { data, pagination } = yield fetchComponents(query);
|
|
95
98
|
setComponents(data || []);
|
|
96
99
|
setTotalCount(pagination.total || 0);
|
|
@@ -149,12 +152,13 @@ export default function ComponentPickerModal({ open, onClose, onSelect, selected
|
|
|
149
152
|
React.createElement(TextField, { select: true, size: "small", label: "Partner", value: selectedPartner, onChange: (e) => setSelectedPartner(e.target.value), sx: { minWidth: 160 } },
|
|
150
153
|
React.createElement(MenuItem, { value: "" }, "All Partners"),
|
|
151
154
|
usedPartners.map((partner) => (React.createElement(MenuItem, { key: partner.id, value: partner.id }, partner.name)))),
|
|
152
|
-
|
|
153
|
-
React.createElement(
|
|
154
|
-
|
|
155
|
-
template.
|
|
156
|
-
|
|
157
|
-
|
|
155
|
+
!(parentIdsFilter === null || parentIdsFilter === void 0 ? void 0 : parentIdsFilter.length) &&
|
|
156
|
+
React.createElement(TextField, { select: true, size: "small", label: "Type", value: selectedTemplate, onChange: (e) => setSelectedTemplate(e.target.value), sx: { minWidth: 160 } },
|
|
157
|
+
React.createElement(MenuItem, { value: "" }, "All Types"),
|
|
158
|
+
usedTemplates.map((template) => (React.createElement(MenuItem, { key: template.id, value: template.id },
|
|
159
|
+
template.name,
|
|
160
|
+
" v",
|
|
161
|
+
template.revision))))),
|
|
158
162
|
React.createElement(Box, { display: "flex", alignItems: "center", gap: 2, mb: 1 },
|
|
159
163
|
React.createElement(Typography, { variant: "body2", color: "text.secondary" },
|
|
160
164
|
totalCount,
|
|
@@ -20,9 +20,11 @@ export const ComponentPickerProvider = ({ children }) => {
|
|
|
20
20
|
const [open, setOpen] = useState(false);
|
|
21
21
|
const changeProp = useRef(() => { });
|
|
22
22
|
const closeProp = useRef(() => { });
|
|
23
|
-
const
|
|
23
|
+
const [parentIds, setParentIds] = useState([]);
|
|
24
|
+
const getSelectedComponent = (...args_1) => __awaiter(void 0, [...args_1], void 0, function* (parentIds = []) {
|
|
24
25
|
setOpen(true);
|
|
25
26
|
return new Promise((res, rej) => {
|
|
27
|
+
setParentIds(parentIds);
|
|
26
28
|
// In case of old refs being called (so i dont need to explicitly remove them)
|
|
27
29
|
let done = false;
|
|
28
30
|
changeProp.current = (value) => {
|
|
@@ -42,6 +44,6 @@ export const ComponentPickerProvider = ({ children }) => {
|
|
|
42
44
|
});
|
|
43
45
|
});
|
|
44
46
|
return (React.createElement(ComponentSelectorContext.Provider, { value: { get: getSelectedComponent } },
|
|
45
|
-
React.createElement(ComponentPickerModal, { open: open, onClose: closeProp.current, onSelect: changeProp.current }),
|
|
47
|
+
React.createElement(ComponentPickerModal, { parentIdsFilter: parentIds.length ? parentIds : undefined, open: open, onClose: closeProp.current, onSelect: changeProp.current }),
|
|
46
48
|
children));
|
|
47
49
|
};
|