awing-library 2.1.2-dev.533 → 2.1.2-dev.535
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/AWING/PlaceFilter/DataTable/component.d.ts +1 -1
- package/dist/AWING/PlaceFilter/DataTable/component.d.ts.map +1 -1
- package/dist/AWING/PlaceFilter/DataTable/component.js +3 -2
- package/dist/AWING/PlaceFilter/DataTable/container.d.ts.map +1 -1
- package/dist/AWING/PlaceFilter/DataTable/container.js +40 -15
- package/dist/AWING/PlaceFilter/PlaceFilter.test.js +24 -9
- package/dist/AWING/PlaceFilter/Recoil/Atom.d.ts +4 -1
- package/dist/AWING/PlaceFilter/Recoil/Atom.d.ts.map +1 -1
- package/dist/AWING/PlaceFilter/Recoil/Atom.js +2 -1
- package/dist/AWING/PlaceFilter/container.d.ts.map +1 -1
- package/dist/AWING/PlaceFilter/container.js +13 -4
- package/dist/AWING/PlaceFilter/interface.d.ts +3 -2
- package/dist/AWING/PlaceFilter/interface.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -8,7 +8,7 @@ interface Props {
|
|
|
8
8
|
totalSelected: number;
|
|
9
9
|
onSelectAll: (checked: boolean) => void;
|
|
10
10
|
onSelectFilter: (checked: boolean) => void;
|
|
11
|
-
onSelect: (checked: boolean, id: string) => void;
|
|
11
|
+
onSelect: (checked: boolean, id: string, place?: IPlace) => void;
|
|
12
12
|
getId: (row: IPlace) => string | undefined;
|
|
13
13
|
}
|
|
14
14
|
export default function DataTableComponent(props: Props): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../../src/AWING/PlaceFilter/DataTable/component.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE7D,UAAU,KAAK;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,cAAc,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../../src/AWING/PlaceFilter/DataTable/component.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE7D,UAAU,KAAK;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,cAAc,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACjE,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CAC9C;AAED,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,KAAK,EAAE,KAAK,2CA0JtD"}
|
|
@@ -105,7 +105,7 @@ function DataTableComponent(props) {
|
|
|
105
105
|
onClick: (e)=>{
|
|
106
106
|
if (isDisabled) return void e.stopPropagation();
|
|
107
107
|
const checked = !tagsAll.selectedPlaceIds?.includes(row.id + '');
|
|
108
|
-
onSelect(checked, String(row.id));
|
|
108
|
+
onSelect(checked, String(row.id), row);
|
|
109
109
|
}
|
|
110
110
|
};
|
|
111
111
|
},
|
|
@@ -114,7 +114,8 @@ function DataTableComponent(props) {
|
|
|
114
114
|
onSelectedChange: (selected)=>{
|
|
115
115
|
xor(tagsAll.selectedPlaceIds, selected).forEach((id)=>{
|
|
116
116
|
const checked = selected.includes(id);
|
|
117
|
-
|
|
117
|
+
const place = places.find((item)=>String(item.id) === String(id));
|
|
118
|
+
onSelect(checked, String(id), place);
|
|
118
119
|
});
|
|
119
120
|
},
|
|
120
121
|
selected: tagsAll.selectedPlaceIds?.concat(tagsAll.filterPlaceIds ?? []),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../../src/AWING/PlaceFilter/DataTable/container.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAA+B,MAAM,OAAO,CAAC;AAQxD,OAAO,EAAwB,WAAW,EAAQ,MAAM,cAAc,CAAC;AAWvE,MAAM,WAAW,cAAe,SAAQ,WAAW;IAC/C,MAAM,EAAE,OAAO,CAAC;CACnB;AACD,QAAA,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,
|
|
1
|
+
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../../src/AWING/PlaceFilter/DataTable/container.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAA+B,MAAM,OAAO,CAAC;AAQxD,OAAO,EAAwB,WAAW,EAAQ,MAAM,cAAc,CAAC;AAWvE,MAAM,WAAW,cAAe,SAAQ,WAAW;IAC/C,MAAM,EAAE,OAAO,CAAC;CACnB;AACD,QAAA,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CAwejC,CAAC;AACF,eAAe,SAAS,CAAC"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect, useRef, useState } from "react";
|
|
3
3
|
import { useTranslation } from "react-i18next";
|
|
4
|
-
import { isEqual, uniq } from "lodash";
|
|
4
|
+
import { isEqual, uniq, uniqBy } from "lodash";
|
|
5
5
|
import { useAtom, useAtomValue } from "jotai";
|
|
6
6
|
import { CircularProgress } from "../../index.js";
|
|
7
7
|
import { compareTwoArrayObject } from "../common.js";
|
|
8
8
|
import { Constants } from "../../../Commons/Constant.js";
|
|
9
9
|
import { EnumSelectedPlaceType } from "../Enum.js";
|
|
10
|
-
import { isSelectedTagAllState, tagSelectedState, tagsAllState } from "../Recoil/Atom.js";
|
|
10
|
+
import { isSelectedTagAllState, selectedPlacesState, tagSelectedState, tagsAllState } from "../Recoil/Atom.js";
|
|
11
11
|
import component from "./component.js";
|
|
12
12
|
const getId = (row)=>{
|
|
13
13
|
if (row.hasOwnProperty('id')) return String(row['id']);
|
|
@@ -22,6 +22,7 @@ const DataTable = (props)=>{
|
|
|
22
22
|
const [pageSize, setPageSize] = useState(Constants.PAGE_SIZE_DEFAULT);
|
|
23
23
|
const [tagsAll, setTagsAll] = useAtom(tagsAllState);
|
|
24
24
|
const [tagSelected, setTagSelected] = useAtom(tagSelectedState);
|
|
25
|
+
const [, setSelectedPlaces] = useAtom(selectedPlacesState);
|
|
25
26
|
const isSelectedTagAll = useAtomValue(isSelectedTagAllState);
|
|
26
27
|
const [isLoading, setIsLoading] = useState(false);
|
|
27
28
|
const [isError, setIsError] = useState(false);
|
|
@@ -109,7 +110,7 @@ const DataTable = (props)=>{
|
|
|
109
110
|
if (1 === newSelectedPlaceIds.length && !checkedType && !prevState?.selectedPlaceIds?.includes(newSelectedPlaceIds[0])) temp = prevState?.selectedPlaceIds?.filter((id)=>temp.indexOf(id) < 0) || [];
|
|
110
111
|
return {
|
|
111
112
|
...prevState,
|
|
112
|
-
selectedPlaceIds: selectedPlaceType
|
|
113
|
+
selectedPlaceIds: selectedPlaceType === EnumSelectedPlaceType.FILTER ? newFilterPlaceIds : temp,
|
|
113
114
|
filterPlaceIds: selectedPlaceType === EnumSelectedPlaceType.FILTER ? newFilterPlaceIds : [],
|
|
114
115
|
selectedType: newSelectedPlaceType
|
|
115
116
|
};
|
|
@@ -126,7 +127,7 @@ const DataTable = (props)=>{
|
|
|
126
127
|
tmpFilterPlaceIds.push(...newFilterPlaceIds);
|
|
127
128
|
return {
|
|
128
129
|
...tagItem,
|
|
129
|
-
selectedPlaceIds: newSelectedPlaceIds,
|
|
130
|
+
selectedPlaceIds: newSelectedPlaceType === EnumSelectedPlaceType.FILTER ? newFilterPlaceIds : newSelectedPlaceIds,
|
|
130
131
|
filterPlaceIds: newSelectedPlaceType === EnumSelectedPlaceType.FILTER ? newFilterPlaceIds : [],
|
|
131
132
|
selectedType: newSelectedPlaceType
|
|
132
133
|
};
|
|
@@ -152,7 +153,7 @@ const DataTable = (props)=>{
|
|
|
152
153
|
let prevTags = prevState.tags;
|
|
153
154
|
newTagAllSelectedIds = [
|
|
154
155
|
...prevState.selectedPlaceIds,
|
|
155
|
-
...newSelectedPlaceIds
|
|
156
|
+
...newSelectedPlaceIds.length > 0 ? newSelectedPlaceIds : newFilterPlaceIds
|
|
156
157
|
];
|
|
157
158
|
newTagAllFilterIds = [
|
|
158
159
|
...prevState.filterPlaceIds,
|
|
@@ -270,7 +271,7 @@ const DataTable = (props)=>{
|
|
|
270
271
|
if (selectedIds.length > 0) {
|
|
271
272
|
const newTag = {
|
|
272
273
|
filterFields: filterFields,
|
|
273
|
-
selectedPlaceIds:
|
|
274
|
+
selectedPlaceIds: selectedIds,
|
|
274
275
|
filterPlaceIds: selectedIds,
|
|
275
276
|
selectedType: EnumSelectedPlaceType.FILTER
|
|
276
277
|
};
|
|
@@ -279,7 +280,7 @@ const DataTable = (props)=>{
|
|
|
279
280
|
} else if (tagSelected?.isTagPrepare) {
|
|
280
281
|
const newTag = {
|
|
281
282
|
filterFields: filterFields,
|
|
282
|
-
selectedPlaceIds:
|
|
283
|
+
selectedPlaceIds: selectedIds,
|
|
283
284
|
filterPlaceIds: selectedIds,
|
|
284
285
|
selectedType: EnumSelectedPlaceType.FILTER
|
|
285
286
|
};
|
|
@@ -302,31 +303,55 @@ const DataTable = (props)=>{
|
|
|
302
303
|
};
|
|
303
304
|
const handleSelectAll = (checked)=>{
|
|
304
305
|
if (checked) getAllPlaces().then((data)=>{
|
|
305
|
-
const
|
|
306
|
+
const allPlaces = data?.places || [];
|
|
307
|
+
const selectAllIds = allPlaces.map((place)=>place.id);
|
|
308
|
+
setSelectedPlaces((prevState)=>uniqBy([
|
|
309
|
+
...prevState,
|
|
310
|
+
...allPlaces
|
|
311
|
+
], (item)=>String(item.id)));
|
|
306
312
|
createOrEditTags(selectAllIds.map(String), EnumSelectedPlaceType.IDS, checked);
|
|
307
313
|
});
|
|
308
|
-
else
|
|
314
|
+
else {
|
|
315
|
+
const filterIds = new Set(tagsAll?.filterPlaceIds || []);
|
|
316
|
+
setSelectedPlaces((prevState)=>prevState.filter((place)=>filterIds.has(String(place.id))));
|
|
317
|
+
createOrEditTags([], EnumSelectedPlaceType.IDS, checked);
|
|
318
|
+
}
|
|
309
319
|
};
|
|
310
320
|
const handleSelectFilter = (checked)=>{
|
|
311
321
|
if (checked) getAllPlaces().then((data)=>{
|
|
312
|
-
const
|
|
322
|
+
const allPlaces = data?.places || [];
|
|
323
|
+
const selectAllIds = allPlaces.map((place)=>place.id);
|
|
324
|
+
setSelectedPlaces((prevState)=>uniqBy([
|
|
325
|
+
...prevState,
|
|
326
|
+
...allPlaces
|
|
327
|
+
], (item)=>String(item.id)));
|
|
313
328
|
createOrEditTags(selectAllIds.map(String), EnumSelectedPlaceType.FILTER, checked);
|
|
314
329
|
});
|
|
315
|
-
else
|
|
330
|
+
else {
|
|
331
|
+
const selectedIds = new Set(tagsAll?.selectedPlaceIds || []);
|
|
332
|
+
setSelectedPlaces((prevState)=>prevState.filter((place)=>selectedIds.has(String(place.id))));
|
|
333
|
+
createOrEditTags([], EnumSelectedPlaceType.FILTER, checked);
|
|
334
|
+
}
|
|
316
335
|
};
|
|
317
|
-
const handleSelect = (checked, id)=>{
|
|
336
|
+
const handleSelect = (checked, id, place)=>{
|
|
337
|
+
const selectedId = String(place?.id ?? id);
|
|
318
338
|
if (checked) {
|
|
339
|
+
if (place) setSelectedPlaces((prevState)=>uniqBy([
|
|
340
|
+
...prevState,
|
|
341
|
+
place
|
|
342
|
+
], (item)=>String(item.id)));
|
|
319
343
|
let newSelected = tagSelected?.selectedPlaceIds?.slice() || [];
|
|
320
|
-
newSelected.push(
|
|
344
|
+
newSelected.push(selectedId);
|
|
321
345
|
createOrEditTags(newSelected, EnumSelectedPlaceType.IDS, checked);
|
|
322
346
|
} else {
|
|
347
|
+
setSelectedPlaces((prevState)=>prevState.filter((item)=>String(item.id) !== selectedId));
|
|
323
348
|
let newSelected = tagSelected?.selectedPlaceIds?.slice() || [];
|
|
324
|
-
const index = newSelected?.indexOf(
|
|
349
|
+
const index = newSelected?.indexOf(selectedId);
|
|
325
350
|
if (-1 !== index) {
|
|
326
351
|
newSelected.splice(index, 1);
|
|
327
352
|
createOrEditTags(newSelected || [], EnumSelectedPlaceType.IDS, checked);
|
|
328
353
|
} else createOrEditTags([
|
|
329
|
-
|
|
354
|
+
selectedId
|
|
330
355
|
], EnumSelectedPlaceType.IDS, checked);
|
|
331
356
|
}
|
|
332
357
|
};
|
|
@@ -2,7 +2,6 @@ import { jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { render } from "@testing-library/react";
|
|
3
3
|
import container from "./container.js";
|
|
4
4
|
import { EnumFieldInputType } from "./Enum.js";
|
|
5
|
-
import { Provider } from "recoil";
|
|
6
5
|
jest.mock('./Tag', ()=>()=>/*#__PURE__*/ jsx("div", {
|
|
7
6
|
children: "Tag"
|
|
8
7
|
}));
|
|
@@ -134,28 +133,28 @@ describe('ACM > PlaceFilter', ()=>{
|
|
|
134
133
|
total: 0
|
|
135
134
|
});
|
|
136
135
|
});
|
|
137
|
-
const getPlacesByIds = (placeIds)=>new Promise((resolve, reject)=>{
|
|
136
|
+
const getPlacesByIds = jest.fn((placeIds)=>new Promise((resolve, reject)=>{
|
|
138
137
|
resolve({
|
|
139
138
|
places: [],
|
|
140
139
|
total: 0
|
|
141
140
|
});
|
|
142
|
-
});
|
|
143
|
-
const mockCallbackFunction = jest.fn((selectedPlaceIds, filterPlaceIds, tags)=>{});
|
|
144
|
-
const Wrapper = (tags = [])=>render(/*#__PURE__*/ jsx("div", {
|
|
141
|
+
}));
|
|
142
|
+
const mockCallbackFunction = jest.fn((selectedPlaceIds, filterPlaceIds, tags, selectedPlaces)=>{});
|
|
143
|
+
const Wrapper = (tags = [], initialSelectedPlaces = [])=>render(/*#__PURE__*/ jsx("div", {
|
|
145
144
|
children: /*#__PURE__*/ jsx(container, {
|
|
146
145
|
filterFields: [],
|
|
147
146
|
getPlacesByFilter: getPlacesByFilter,
|
|
148
147
|
getPlacesByIds: getPlacesByIds,
|
|
149
148
|
callbackFunction: mockCallbackFunction,
|
|
150
|
-
tags: tags
|
|
149
|
+
tags: tags,
|
|
150
|
+
initialSelectedPlaces: initialSelectedPlaces
|
|
151
151
|
})
|
|
152
|
-
})
|
|
153
|
-
wrapper: Provider
|
|
154
|
-
});
|
|
152
|
+
}));
|
|
155
153
|
it('Case empty', ()=>{
|
|
156
154
|
const wrapper = Wrapper();
|
|
157
155
|
expect(wrapper.getByText('Tag')).toBeInTheDocument();
|
|
158
156
|
expect(wrapper.getByText('FieldInput')).toBeInTheDocument();
|
|
157
|
+
expect(getPlacesByIds).not.toHaveBeenCalled();
|
|
159
158
|
});
|
|
160
159
|
it('case have tags', ()=>{
|
|
161
160
|
const wrapper = Wrapper([
|
|
@@ -164,4 +163,20 @@ describe('ACM > PlaceFilter', ()=>{
|
|
|
164
163
|
expect(wrapper.getByText('Tag')).toBeInTheDocument();
|
|
165
164
|
expect(wrapper.getByText('FieldInput')).toBeInTheDocument();
|
|
166
165
|
});
|
|
166
|
+
it('should use initial selected places', ()=>{
|
|
167
|
+
Wrapper([
|
|
168
|
+
mockTagsAll
|
|
169
|
+
], [
|
|
170
|
+
{
|
|
171
|
+
id: 1,
|
|
172
|
+
name: 'Place 1'
|
|
173
|
+
}
|
|
174
|
+
]);
|
|
175
|
+
expect(mockCallbackFunction).toHaveBeenCalledWith(expect.any(Array), expect.any(Array), expect.any(Array), [
|
|
176
|
+
{
|
|
177
|
+
id: 1,
|
|
178
|
+
name: 'Place 1'
|
|
179
|
+
}
|
|
180
|
+
]);
|
|
181
|
+
});
|
|
167
182
|
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ITagAll, ITag } from '../interface';
|
|
1
|
+
import { IPlace, ITagAll, ITag } from '../interface';
|
|
2
2
|
export declare const tagsAllState: import("jotai").PrimitiveAtom<ITagAll> & {
|
|
3
3
|
init: ITagAll;
|
|
4
4
|
};
|
|
@@ -11,4 +11,7 @@ export declare const tagSelectedState: import("jotai").PrimitiveAtom<ITag | unde
|
|
|
11
11
|
export declare const isSelectedTagAllState: import("jotai").PrimitiveAtom<boolean> & {
|
|
12
12
|
init: boolean;
|
|
13
13
|
};
|
|
14
|
+
export declare const selectedPlacesState: import("jotai").PrimitiveAtom<IPlace[]> & {
|
|
15
|
+
init: IPlace[];
|
|
16
|
+
};
|
|
14
17
|
//# sourceMappingURL=Atom.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Atom.d.ts","sourceRoot":"","sources":["../../../../src/AWING/PlaceFilter/Recoil/Atom.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"Atom.d.ts","sourceRoot":"","sources":["../../../../src/AWING/PlaceFilter/Recoil/Atom.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAErD,eAAO,MAAM,YAAY;;CAIvB,CAAC;AAEH,eAAO,MAAM,gBAAgB;;CAI3B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;CAAoC,CAAC;AAElE,eAAO,MAAM,qBAAqB;;CAAuB,CAAC;AAE1D,eAAO,MAAM,mBAAmB;;CAAqB,CAAC"}
|
|
@@ -11,4 +11,5 @@ const snapTagsAllState = atom({
|
|
|
11
11
|
});
|
|
12
12
|
const tagSelectedState = atom(void 0);
|
|
13
13
|
const isSelectedTagAllState = atom(false);
|
|
14
|
-
|
|
14
|
+
const selectedPlacesState = atom([]);
|
|
15
|
+
export { isSelectedTagAllState, selectedPlacesState, snapTagsAllState, tagSelectedState, tagsAllState };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../src/AWING/PlaceFilter/container.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAuB,MAAM,OAAO,CAAC;AAChD,OAAO,EAAQ,gBAAgB,EAAE,MAAM,aAAa,CAAC;AA0BrD,QAAA,MAAM,oBAAoB,EAAE,EAAE,CAAC,gBAAgB,
|
|
1
|
+
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../src/AWING/PlaceFilter/container.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAuB,MAAM,OAAO,CAAC;AAChD,OAAO,EAAQ,gBAAgB,EAAE,MAAM,aAAa,CAAC;AA0BrD,QAAA,MAAM,oBAAoB,EAAE,EAAE,CAAC,gBAAgB,CA2D9C,CAAC;AACF,eAAe,oBAAoB,CAAC"}
|
|
@@ -5,7 +5,7 @@ import Input from "./Input/index.js";
|
|
|
5
5
|
import DataTable from "./DataTable/index.js";
|
|
6
6
|
import { EnumSelectedPlaceType } from "./Enum.js";
|
|
7
7
|
import Tag from "./Tag/index.js";
|
|
8
|
-
import { snapTagsAllState, tagSelectedState, tagsAllState } from "./Recoil/Atom.js";
|
|
8
|
+
import { selectedPlacesState, snapTagsAllState, tagSelectedState, tagsAllState } from "./Recoil/Atom.js";
|
|
9
9
|
import { uniq } from "lodash";
|
|
10
10
|
import { useAtom, useSetAtom } from "jotai";
|
|
11
11
|
const generateTagAll = (tags)=>{
|
|
@@ -28,9 +28,10 @@ const generateTagAll = (tags)=>{
|
|
|
28
28
|
};
|
|
29
29
|
};
|
|
30
30
|
const PlaceFilterContainer = (props)=>{
|
|
31
|
-
const { filterFields, getPlacesByFilter, getPlacesByIds, callbackFunction, tags } = props;
|
|
31
|
+
const { filterFields, getPlacesByFilter, getPlacesByIds, callbackFunction, tags, initialSelectedPlaces = [] } = props;
|
|
32
32
|
const [isInit, setIsInit] = useState(true);
|
|
33
33
|
const [tagsAll, setTagsAll] = useAtom(tagsAllState);
|
|
34
|
+
const [selectedPlaces, setSelectedPlaces] = useAtom(selectedPlacesState);
|
|
34
35
|
const setSnapTagsAll = useSetAtom(snapTagsAllState);
|
|
35
36
|
const setTagSelected = useSetAtom(tagSelectedState);
|
|
36
37
|
useEffect(()=>{
|
|
@@ -44,12 +45,20 @@ const PlaceFilterContainer = (props)=>{
|
|
|
44
45
|
});
|
|
45
46
|
setTagsAll(tagAll);
|
|
46
47
|
setSnapTagsAll(tagAll);
|
|
48
|
+
setSelectedPlaces(initialSelectedPlaces);
|
|
47
49
|
setIsInit(false);
|
|
48
50
|
}, []);
|
|
49
51
|
useEffect(()=>{
|
|
50
|
-
|
|
52
|
+
const selectedIds = new Set([
|
|
53
|
+
...tagsAll?.selectedPlaceIds || [],
|
|
54
|
+
...tagsAll?.filterPlaceIds || []
|
|
55
|
+
]);
|
|
56
|
+
const nextSelectedPlaces = selectedPlaces.filter((place)=>selectedIds.has(String(place.id)));
|
|
57
|
+
if (nextSelectedPlaces.length !== selectedPlaces.length) setSelectedPlaces(nextSelectedPlaces);
|
|
58
|
+
callbackFunction(tagsAll?.selectedPlaceIds || [], tagsAll?.filterPlaceIds || [], tagsAll?.tags || [], nextSelectedPlaces);
|
|
51
59
|
}, [
|
|
52
|
-
tagsAll
|
|
60
|
+
tagsAll,
|
|
61
|
+
selectedPlaces
|
|
53
62
|
]);
|
|
54
63
|
return /*#__PURE__*/ jsxs(Box, {
|
|
55
64
|
sx: {
|
|
@@ -98,8 +98,9 @@ export interface IPlaceQuery {
|
|
|
98
98
|
}
|
|
99
99
|
export interface PlaceFilterProps extends IPlaceQuery {
|
|
100
100
|
filterFields: IFilterField[];
|
|
101
|
-
callbackFunction: (selectedPlaceIds: string[], filterPlaceIds: string[], tags: ITag[]) => void;
|
|
101
|
+
callbackFunction: (selectedPlaceIds: string[], filterPlaceIds: string[], tags: ITag[], selectedPlaces: IPlace[]) => void;
|
|
102
102
|
tags?: ITag[];
|
|
103
|
+
initialSelectedPlaces?: IPlace[];
|
|
103
104
|
}
|
|
104
105
|
export declare enum PlaceStatus {
|
|
105
106
|
Active = "Active",
|
|
@@ -121,7 +122,7 @@ export type IPlace = {
|
|
|
121
122
|
placeSelectionParameter?: string;
|
|
122
123
|
provinceCode?: string;
|
|
123
124
|
status: PlaceStatus;
|
|
124
|
-
|
|
125
|
+
ownerWorkspaceId?: number;
|
|
125
126
|
};
|
|
126
127
|
export {};
|
|
127
128
|
//# sourceMappingURL=interface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/AWING/PlaceFilter/interface.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/AWING/PlaceFilter/interface.ts"],"names":[],"mappings":"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"}
|