@vonaffenfels/contentful-teasermanager 1.2.1 → 1.2.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vonaffenfels/contentful-teasermanager",
3
- "version": "1.2.1",
3
+ "version": "1.2.2",
4
4
  "main": "dist/index.js",
5
5
  "scripts": {
6
6
  "prepublish": "yarn run build",
@@ -101,7 +101,7 @@
101
101
  "contentful-resolve-response": "^1.9.2",
102
102
  "webpack": "5.88.2"
103
103
  },
104
- "gitHead": "b06b79ed032fecf1dfeef2e7e312eb0d42f2e84e",
104
+ "gitHead": "1e99cab528da01b06334b55df31f21305222e6b8",
105
105
  "publishConfig": {
106
106
  "access": "public"
107
107
  }
@@ -53,10 +53,7 @@ export const LogicEditor = (props) => {
53
53
  const LogicEditorInner = ({
54
54
  onSave = () => alert("onSave missing"),
55
55
  sdk,
56
- logicData = {
57
- timepoints: [7, 12, 18],
58
- tags: [],
59
- },
56
+ logicData,
60
57
  selectedTags,
61
58
  setSelectedTags,
62
59
  }) => {
@@ -69,8 +66,12 @@ const LogicEditorInner = ({
69
66
  const debouncedSearch = useDebounce(searchQuery, 500);
70
67
  const [selectedTimepoints, setSelectedTimepoints] = useState([]);
71
68
  useEffect(() => {
72
- setSelectedTimepoints(logicData?.timepoints || []);
73
- }, [logicData?.timepoints]);
69
+ if (logicData?.timepoints) {
70
+ setSelectedTimepoints(logicData?.timepoints);
71
+ } else {
72
+ setSelectedTimepoints([7, 12, 18]);
73
+ }
74
+ }, [logicData]);
74
75
  const {
75
76
  setNodeRef: setOrNodeRef,
76
77
  isOver: isOrOver,
@@ -265,11 +266,16 @@ const LogicEditorInner = ({
265
266
  return (
266
267
  <Checkbox
267
268
  key={category.id}
268
- isChecked={selectedTags.some((t) => category.tags.some((c) => c.id === t.id))}
269
+ isChecked={selectedTags.some((t) => category.tags.some((c) => c.id === t.id) || t.id === category.id)}
269
270
  onChange={(e) => {
270
271
  let newTags = [...selectedTags];
271
272
 
272
273
  if (e.target.checked) {
274
+ newTags.push({
275
+ label: category.title,
276
+ id: category.id,
277
+ type: "or",
278
+ });
273
279
  for (const tag of category.tags) {
274
280
  if (!selectedTags.find((t) => t.id === tag.id)) {
275
281
  newTags.push({
@@ -280,6 +286,8 @@ const LogicEditorInner = ({
280
286
  }
281
287
  }
282
288
  } else {
289
+ newTags = newTags.filter((t) => t.id !== category.id);
290
+
283
291
  for (const tag of category.tags) {
284
292
  newTags = newTags.filter((t) => t.id !== tag.id);
285
293
  }
@@ -288,7 +296,8 @@ const LogicEditorInner = ({
288
296
  setSelectedTags(newTags);
289
297
  }}
290
298
  >
291
- {category.title} ({selectedTags.filter((t) => category.tags.some((c) => c.id === t.id)).length}/{category.tags.length})
299
+ {category.title} ({selectedTags.filter((t) =>
300
+ category.tags.some((c) => c.id === t.id) || t.id === category.id).length}/{category.tags.length + 1})
292
301
  </Checkbox>
293
302
  );
294
303
  })}