minicard.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. // Template.cards.events({
  2. // 'click .member': Popup.open('cardMember')
  3. // });
  4. BlazeComponent.extendComponent({
  5. template() {
  6. return 'minicard';
  7. },
  8. formattedCurrencyCustomFieldValue(definition) {
  9. const customField = this.data()
  10. .customFieldsWD()
  11. .find(f => f._id === definition._id);
  12. const customFieldTrueValue =
  13. customField && customField.trueValue ? customField.trueValue : '';
  14. const locale = TAPi18n.getLanguage();
  15. return new Intl.NumberFormat(locale, {
  16. style: 'currency',
  17. currency: definition.settings.currencyCode,
  18. }).format(customFieldTrueValue);
  19. },
  20. formattedStringtemplateCustomFieldValue(definition) {
  21. const customField = this.data()
  22. .customFieldsWD()
  23. .find(f => f._id === definition._id);
  24. const customFieldTrueValue =
  25. customField && customField.trueValue ? customField.trueValue : [];
  26. return customFieldTrueValue
  27. .filter(value => !!value.trim())
  28. .map(value => definition.settings.stringtemplateFormat.replace(/%\{value\}/gi, value))
  29. .join(definition.settings.stringtemplateSeparator ?? '');
  30. },
  31. events() {
  32. return [
  33. {
  34. 'click .js-linked-link'() {
  35. if (this.data().isLinkedCard()) Utils.goCardId(this.data().linkedId);
  36. else if (this.data().isLinkedBoard())
  37. Utils.goBoardId(this.data().linkedId);
  38. },
  39. },
  40. {
  41. 'click .js-toggle-minicard-label-text'() {
  42. if (window.localStorage.getItem('hiddenMinicardLabelText')) {
  43. window.localStorage.removeItem('hiddenMinicardLabelText'); //true
  44. } else {
  45. window.localStorage.setItem('hiddenMinicardLabelText', 'true'); //true
  46. }
  47. },
  48. },
  49. ];
  50. },
  51. }).register('minicard');
  52. Template.minicard.helpers({
  53. showDesktopDragHandles() {
  54. currentUser = Meteor.user();
  55. if (currentUser) {
  56. return (currentUser.profile || {}).showDesktopDragHandles;
  57. } else if (window.localStorage.getItem('showDesktopDragHandles')) {
  58. return true;
  59. } else {
  60. return false;
  61. }
  62. },
  63. hiddenMinicardLabelText() {
  64. currentUser = Meteor.user();
  65. if (currentUser) {
  66. return (currentUser.profile || {}).hiddenMinicardLabelText;
  67. } else if (window.localStorage.getItem('hiddenMinicardLabelText')) {
  68. return true;
  69. } else {
  70. return false;
  71. }
  72. },
  73. });