@iamproperty/components 3.7.3 → 3.7.5

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.
Files changed (104) hide show
  1. package/assets/css/components/card.css +1 -1
  2. package/assets/css/components/card.css.map +1 -1
  3. package/assets/css/components/dialog.css +1 -1
  4. package/assets/css/components/dialog.css.map +1 -1
  5. package/assets/css/components/notification.css +1 -0
  6. package/assets/css/components/notification.css.map +1 -0
  7. package/assets/css/components/table.css +1 -1
  8. package/assets/css/components/table.css.map +1 -1
  9. package/assets/css/components/tooltips.css +1 -1
  10. package/assets/css/components/tooltips.css.map +1 -1
  11. package/assets/css/core.min.css +1 -1
  12. package/assets/css/core.min.css.map +1 -1
  13. package/assets/css/style.min.css +1 -1
  14. package/assets/css/style.min.css.map +1 -1
  15. package/assets/js/bundle.js +3 -0
  16. package/assets/js/components/accordion/accordion.component.js +5 -5
  17. package/assets/js/components/accordion/accordion.component.min.js +6 -5
  18. package/assets/js/components/accordion/accordion.component.min.js.map +1 -1
  19. package/assets/js/components/applied-filters/applied-filters.component.js +10 -3
  20. package/assets/js/components/applied-filters/applied-filters.component.min.js +5 -5
  21. package/assets/js/components/applied-filters/applied-filters.component.min.js.map +1 -1
  22. package/assets/js/components/card/card.component.js +11 -3
  23. package/assets/js/components/card/card.component.min.js +6 -6
  24. package/assets/js/components/card/card.component.min.js.map +1 -1
  25. package/assets/js/components/filterlist/filterlist.component.js +2 -1
  26. package/assets/js/components/filterlist/filterlist.component.min.js +4 -4
  27. package/assets/js/components/filterlist/filterlist.component.min.js.map +1 -1
  28. package/assets/js/components/header/header.component.js +3 -5
  29. package/assets/js/components/header/header.component.min.js +4 -8
  30. package/assets/js/components/header/header.component.min.js.map +1 -1
  31. package/assets/js/components/notification/notification.component.js +71 -0
  32. package/assets/js/components/notification/notification.component.min.js +18 -0
  33. package/assets/js/components/notification/notification.component.min.js.map +1 -0
  34. package/assets/js/components/pagination/pagination.component.js +6 -3
  35. package/assets/js/components/pagination/pagination.component.min.js +12 -10
  36. package/assets/js/components/pagination/pagination.component.min.js.map +1 -1
  37. package/assets/js/components/table/table.component.js +6 -3
  38. package/assets/js/components/table/table.component.min.js +14 -12
  39. package/assets/js/components/table/table.component.min.js.map +1 -1
  40. package/assets/js/components/tabs/tabs.component.js +2 -1
  41. package/assets/js/components/tabs/tabs.component.min.js +3 -3
  42. package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
  43. package/assets/js/dynamic.js +3 -0
  44. package/assets/js/dynamic.min.js +14 -2
  45. package/assets/js/dynamic.min.js.map +1 -1
  46. package/assets/js/flat-components.js +6 -0
  47. package/assets/js/modules/dialogs.js +8 -1
  48. package/assets/js/modules/helpers.js +13 -0
  49. package/assets/js/modules/notification.js +53 -0
  50. package/assets/js/modules/table.js +10 -3
  51. package/assets/js/scripts.bundle.js +47 -35
  52. package/assets/js/scripts.bundle.js.map +1 -1
  53. package/assets/js/scripts.bundle.min.js +2 -2
  54. package/assets/js/scripts.bundle.min.js.map +1 -1
  55. package/assets/sass/_components.scss +1 -1
  56. package/assets/sass/_corefiles.scss +1 -0
  57. package/assets/sass/components/card.scss +9 -5
  58. package/assets/sass/components/dialog.scss +52 -14
  59. package/assets/sass/components/notification.scss +195 -0
  60. package/assets/sass/components/table.scss +22 -12
  61. package/assets/sass/components/tooltips.scss +137 -49
  62. package/assets/sass/foundations/buttons.scss +1 -1
  63. package/assets/sass/foundations/reboot.scss +80 -3
  64. package/assets/sass/foundations/root.scss +3 -3
  65. package/assets/ts/bundle.ts +4 -0
  66. package/assets/ts/components/accordion/accordion.component.ts +6 -8
  67. package/assets/ts/components/applied-filters/applied-filters.component.ts +12 -3
  68. package/assets/ts/components/card/card.component.ts +16 -4
  69. package/assets/ts/components/filterlist/filterlist.component.ts +4 -2
  70. package/assets/ts/components/header/header.component.ts +4 -5
  71. package/assets/ts/components/notification/README.md +32 -0
  72. package/assets/ts/components/notification/notification.component.ts +90 -0
  73. package/assets/ts/components/pagination/pagination.component.ts +7 -3
  74. package/assets/ts/components/table/table.component.ts +8 -4
  75. package/assets/ts/components/tabs/tabs.component.ts +3 -1
  76. package/assets/ts/dynamic.ts +6 -0
  77. package/assets/ts/flat-components.ts +8 -0
  78. package/assets/ts/modules/dialogs.ts +11 -4
  79. package/assets/ts/modules/helpers.ts +17 -0
  80. package/assets/ts/modules/notification.ts +76 -0
  81. package/assets/ts/modules/table.ts +13 -4
  82. package/dist/components.es.js +1027 -977
  83. package/dist/components.umd.js +67 -36
  84. package/dist/style.css +1 -1
  85. package/package.json +1 -1
  86. package/src/components/Accordion/Accordion.vue +1 -1
  87. package/src/components/AppliedFilters/AppliedFilters.vue +1 -1
  88. package/src/components/Filterlist/Filterlist.vue +1 -1
  89. package/src/components/Header/Header.vue +9 -5
  90. package/src/components/Notification/Notification.vue +24 -0
  91. package/src/components/Notification/README.md +32 -0
  92. package/src/components/Pagination/Pagination.vue +1 -1
  93. package/src/components/Table/Table.vue +1 -1
  94. package/src/components/Tabs/Tabs.vue +1 -1
  95. package/src/index.js +2 -1
  96. package/assets/css/components/alert.css +0 -1
  97. package/assets/css/components/alert.css.map +0 -1
  98. package/assets/js/modules/alert.js +0 -41
  99. package/assets/sass/components/alert.scss +0 -121
  100. package/assets/ts/modules/alert.ts +0 -58
  101. package/src/components/Alert/Alert.spec.js +0 -49
  102. package/src/components/Alert/Alert.vue +0 -39
  103. package/src/components/Alert/README.md +0 -29
  104. package/src/components/Header/Header.spec.js +0 -34
@@ -0,0 +1,76 @@
1
+ // @ts-nocheck
2
+ function setupNotification(element) {
3
+
4
+ // Add toast to notification holder
5
+ if(element.hasAttribute('data-type') && element.getAttribute('data-type') == "toast"){
6
+ let holder = document.querySelector('.notification__holder');
7
+
8
+ if(!holder){
9
+
10
+ holder = document.createElement('div');
11
+ holder.classList.add('notification__holder');
12
+ holder.classList.add('container');
13
+ document.querySelector('body').appendChild(holder);
14
+ }
15
+
16
+ if(!element.closest('.notification__holder'))
17
+ holder.appendChild(element);
18
+ }
19
+
20
+ element.setAttribute('role','alert');
21
+
22
+ // Create a dissmissable button
23
+ element.addEventListener('click', function(e){
24
+
25
+ if (event && event.target instanceof HTMLElement && event.target.closest('[data-dismiss-button]')){
26
+
27
+ e.preventDefault();
28
+ closeNotification(element);
29
+ }
30
+ }, false);
31
+
32
+ // Self disappearing alert
33
+ if(element.hasAttribute('data-timeout')){
34
+
35
+ let timeOut = element.getAttribute('data-timeout');
36
+
37
+
38
+ var timer = new Timer(function() {
39
+ closeNotification(element);
40
+ }, timeOut);
41
+
42
+ element.addEventListener("mouseenter", (event) => {
43
+
44
+ timer.pause();
45
+ });
46
+
47
+ element.addEventListener("mouseleave", (event) => {
48
+
49
+ timer.resume();
50
+ });
51
+ }
52
+ }
53
+
54
+ function Timer(callback, delay) {
55
+ var timerId, start, remaining = delay;
56
+
57
+ this.pause = function() {
58
+ window.clearTimeout(timerId);
59
+ remaining -= new Date() - start;
60
+ };
61
+
62
+ this.resume = function() {
63
+ start = new Date();
64
+ window.clearTimeout(timerId);
65
+ timerId = window.setTimeout(callback, remaining);
66
+ };
67
+
68
+ this.resume();
69
+ }
70
+
71
+ export const closeNotification = function(element) {
72
+
73
+ element.classList.add('d-none');
74
+ }
75
+
76
+ export default setupNotification
@@ -11,7 +11,7 @@ export const addDataAttributes = (table) => {
11
11
  colRows.forEach((row, index) => {
12
12
 
13
13
  const cells = Array.from(row.querySelectorAll('th, td'));
14
- const statuses = ['0','low','medium','high','unknown','n/a','pending','verified','incomplete','completed','requires approval'];
14
+ const statuses = ['0','low','medium','high','unknown','n/a','pending','verified','overdue','incomplete','complete','completed','approval required','requires approval','to do','not started','warning','error'];
15
15
 
16
16
  cells.forEach((cell, cellIndex) => {
17
17
 
@@ -696,6 +696,11 @@ export const addPaginationEventListeners = function(table, form, pagination, wra
696
696
  url.searchParams.set("page", newPage);
697
697
  history.pushState({'type':'pagination','form':form.getAttribute('id'),'page':newPage}, "", url)
698
698
  }
699
+
700
+ // scroll back to the top of the table
701
+ const yOffset = -250;
702
+ const y = table.getBoundingClientRect().top + window.pageYOffset + yOffset;
703
+ window.scrollTo({top: y, behavior: 'smooth'});
699
704
  }
700
705
 
701
706
  if (event && event.target instanceof HTMLElement && event.target.closest('[data-show]')){
@@ -776,8 +781,12 @@ export const makeTableFunctional = function(table, form, pagination, wrapper){
776
781
  // Work out the largest width of the CTA's in the last column
777
782
  if(wrapper && wrapper.classList.contains('table--cta')){
778
783
 
779
- const largestWidth = getLargestLastColWidth(table);
780
- wrapper.style.setProperty("--cta-width", `${largestWidth}rem`);
784
+ if(!wrapper.hasAttribute('data-cta-width')){
785
+
786
+ const largestWidth = getLargestLastColWidth(table);
787
+ wrapper.style.setProperty("--cta-width", `${largestWidth}rem`);
788
+ wrapper.setAttribute("data-cta-width", `${largestWidth}rem`);
789
+ }
781
790
 
782
791
  function outputsize() {
783
792
 
@@ -910,7 +919,7 @@ export const loadAjaxTable = async function (table, form, pagination, wrapper){
910
919
  wrapper.setAttribute('data-page', parseInt(currentPage));
911
920
  wrapper.setAttribute('data-pages', Math.ceil(wrapper.getAttribute('data-total') / wrapper.getAttribute('data-show')));
912
921
 
913
- makeTableFunctional(table, form, pagination, wrapper);
922
+ makeTableFunctional(table, form, pagination, wrapper);
914
923
  createPaginationButttons(wrapper, pagination);
915
924
 
916
925
  if(parseInt(totalNumber) == 0){