@pronto-tools-and-more/custom-js-functions 12.4.0 → 12.6.0

Sign up to get free protection for your applications and to get access to all the features.
package/dist/main.js CHANGED
@@ -405,6 +405,7 @@
405
405
  // src/parts/Functions/Functions.ts
406
406
  var Functions_exports = {};
407
407
  __export(Functions_exports, {
408
+ bookmarkIdString: () => bookmarkIdString,
408
409
  dateHelper: () => dateHelper,
409
410
  debugId: () => debugId,
410
411
  getPrimaryCategoryProperty: () => getPrimaryCategoryProperty,
@@ -422,6 +423,11 @@
422
423
  var import_it = __toESM(require_it(), 1);
423
424
  var dateHelper = import_dayjs.default;
424
425
 
426
+ // src/parts/FunctionBookmarkIdString/FunctionBookmarkIdString.ts
427
+ var bookmarkIdString = (bookmarks) => {
428
+ return `^(${bookmarks.join("|")})`;
429
+ };
430
+
425
431
  // src/parts/FunctionDebugId/FunctionDebugId.ts
426
432
  var debugId = (content, ...keys) => {
427
433
  let current = content;
@@ -429,7 +435,7 @@
429
435
  console.log({ content, key });
430
436
  current = current?.[key];
431
437
  }
432
- return current;
438
+ return current || "";
433
439
  };
434
440
 
435
441
  // src/parts/FunctionId/FunctionId.ts
@@ -438,7 +444,7 @@
438
444
  for (const key of keys) {
439
445
  current = current?.[key];
440
446
  }
441
- return current;
447
+ return current || "";
442
448
  };
443
449
 
444
450
  // src/parts/GetCategoryProperty/GetCategoryProperty.ts
@@ -513,7 +519,7 @@
513
519
  };
514
520
 
515
521
  // src/parts/BookmarksKey/BookmarksKey.ts
516
- var bookmarksKey = "bookmarks-v2";
522
+ var bookmarksKey = "bookmarks-v3";
517
523
 
518
524
  // src/parts/GetBookmarkedArticles/GetBookmarkedArticles.ts
519
525
  var getBookmarkedArticles = () => {
@@ -619,11 +625,26 @@
619
625
  }
620
626
  return true;
621
627
  });
628
+ const $Element = document.querySelector(
629
+ `[data-bookmark-article-id="${info.id}"]`
630
+ );
631
+ const shouldConfirm = $Element && $Element.closest(".BookmarkContent");
632
+ if (shouldConfirm) {
633
+ const reallyDelete = confirm(
634
+ "Sind Sie Sicher, dass Sie das Lesezeichen l\xF6schen m\xF6chten"
635
+ );
636
+ if (!reallyDelete) {
637
+ return;
638
+ }
639
+ }
622
640
  localStorage.setItem(bookmarksKey, JSON.stringify(newBookmarks));
623
- const $Element = document.querySelector(`[data-article-id="${info.id}"]`);
624
641
  if ($Element && $Element instanceof HTMLElement) {
625
642
  $Element.dataset.bookmarked = "false";
626
643
  }
644
+ if (shouldConfirm) {
645
+ const $Parent = $Element?.closest(".ArticleTeaser");
646
+ $Parent?.remove();
647
+ }
627
648
  };
628
649
 
629
650
  // src/parts/EnableBookmark/EnableBookmark.ts
@@ -631,14 +652,27 @@
631
652
  const bookmarks = getBookmarkedArticles();
632
653
  const newBookmarks = [...bookmarks, info];
633
654
  localStorage.setItem(bookmarksKey, JSON.stringify(newBookmarks));
634
- const $Element = document.querySelector(`[data-article-id="${info.id}"]`);
655
+ const $Element = document.querySelector(
656
+ `[data-bookmark-article-id="${info.id}"]`
657
+ );
635
658
  if ($Element && $Element instanceof HTMLElement) {
636
659
  $Element.dataset.bookmarked = "true";
637
660
  }
638
661
  };
639
662
 
640
663
  // src/parts/ToggleBookmarkArticle/ToggleBookmarkArticle.ts
641
- var toggleBookmarkArticle = (info) => {
664
+ var toggleBookmarkArticle = (node) => {
665
+ const info = {
666
+ id: node.dataset.bookmarkArticleId,
667
+ name: node.dataset.bookmarkArticleName,
668
+ description: node.dataset.bookmarkArticleDescription,
669
+ imageSrc: node.dataset.bookmarkArticleImagesrc,
670
+ slug: node.dataset.bookmarkArticleSlug,
671
+ metadataVideoPodcast: node.dataset.bookmarkArticleMetadatavideopodcast,
672
+ readTime: node.dataset.bookmarkArticleReadtime,
673
+ primaryCategoryId: node.dataset.bookmarkArticlePrimarycategoryid,
674
+ primaryCategoryName: node.dataset.bookmarkArticlePrimarycategoryname
675
+ };
642
676
  if (isBookmarked(info.id)) {
643
677
  disableBookmark(info);
644
678
  } else {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pronto-tools-and-more/custom-js-functions",
3
- "version": "12.4.0",
3
+ "version": "12.6.0",
4
4
  "description": "",
5
5
  "main": "dist/main.js",
6
6
  "type": "module",
@@ -1,2 +1,2 @@
1
1
  // TODO version this
2
- export const bookmarksKey = "bookmarks-v2";
2
+ export const bookmarksKey = "bookmarks-v3";
@@ -9,10 +9,25 @@ export const disableBookmark = (info) => {
9
9
  }
10
10
  return true;
11
11
  });
12
+ const $Element = document.querySelector(
13
+ `[data-bookmark-article-id="${info.id}"]`
14
+ );
15
+ const shouldConfirm = $Element && $Element.closest(".BookmarkContent");
16
+ if (shouldConfirm) {
17
+ const reallyDelete = confirm(
18
+ "Sind Sie Sicher, dass Sie das Lesezeichen löschen möchten"
19
+ );
20
+ if (!reallyDelete) {
21
+ return;
22
+ }
23
+ }
12
24
  localStorage.setItem(bookmarksKey, JSON.stringify(newBookmarks));
13
- const $Element = document.querySelector(`[data-article-id="${info.id}"]`);
14
25
 
15
26
  if ($Element && $Element instanceof HTMLElement) {
16
27
  $Element.dataset.bookmarked = "false";
17
28
  }
29
+ if (shouldConfirm) {
30
+ const $Parent = $Element?.closest(".ArticleTeaser");
31
+ $Parent?.remove();
32
+ }
18
33
  };
@@ -5,7 +5,9 @@ export const enableBookmark = (info) => {
5
5
  const bookmarks = getBookmarkedArticles();
6
6
  const newBookmarks = [...bookmarks, info];
7
7
  localStorage.setItem(bookmarksKey, JSON.stringify(newBookmarks));
8
- const $Element = document.querySelector(`[data-article-id="${info.id}"]`);
8
+ const $Element = document.querySelector(
9
+ `[data-bookmark-article-id="${info.id}"]`
10
+ );
9
11
  if ($Element && $Element instanceof HTMLElement) {
10
12
  $Element.dataset.bookmarked = "true";
11
13
  }
@@ -0,0 +1,3 @@
1
+ export const bookmarkIdString = (bookmarks) => {
2
+ return `^(${bookmarks.join("|")})`;
3
+ };
@@ -4,5 +4,5 @@ export const debugId = (content, ...keys) => {
4
4
  console.log({ content, key });
5
5
  current = current?.[key];
6
6
  }
7
- return current;
7
+ return current || "";
8
8
  };
@@ -3,5 +3,5 @@ export const id = (content, ...keys) => {
3
3
  for (const key of keys) {
4
4
  current = current?.[key];
5
5
  }
6
- return current;
6
+ return current || "";
7
7
  };
@@ -1,4 +1,5 @@
1
1
  export * from "../DateHelper/DateHelper.ts";
2
+ export * from "../FunctionBookmarkIdString/FunctionBookmarkIdString.ts";
2
3
  export * from "../FunctionDebugId/FunctionDebugId.ts";
3
4
  export * from "../FunctionId/FunctionId.ts";
4
5
  export * from "../GetCategoryProperty/GetCategoryProperty.ts";
@@ -2,7 +2,18 @@ import { disableBookmark } from "../DisableBookmark/DisableBookmark.ts";
2
2
  import { enableBookmark } from "../EnableBookmark/EnableBookmark.ts";
3
3
  import { isBookmarked } from "../IsBookmarked/IsBookmarked.ts";
4
4
 
5
- export const toggleBookmarkArticle = (info) => {
5
+ export const toggleBookmarkArticle = (node: any) => {
6
+ const info = {
7
+ id: node.dataset.bookmarkArticleId,
8
+ name: node.dataset.bookmarkArticleName,
9
+ description: node.dataset.bookmarkArticleDescription,
10
+ imageSrc: node.dataset.bookmarkArticleImagesrc,
11
+ slug: node.dataset.bookmarkArticleSlug,
12
+ metadataVideoPodcast: node.dataset.bookmarkArticleMetadatavideopodcast,
13
+ readTime: node.dataset.bookmarkArticleReadtime,
14
+ primaryCategoryId: node.dataset.bookmarkArticlePrimarycategoryid,
15
+ primaryCategoryName: node.dataset.bookmarkArticlePrimarycategoryname,
16
+ };
6
17
  if (isBookmarked(info.id)) {
7
18
  disableBookmark(info);
8
19
  } else {