@iamproperty/components 7.5.1--beta10 → 7.5.1--beta11

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 (143) hide show
  1. package/assets/css/components/actionbar.component.css +1 -1
  2. package/assets/css/components/actionbar.component.css.map +1 -1
  3. package/assets/css/components/address-lookup.component.css +1 -1
  4. package/assets/css/components/address-lookup.component.css.map +1 -1
  5. package/assets/css/components/barchart.component.css +1 -1
  6. package/assets/css/components/barchart.component.css.map +1 -1
  7. package/assets/css/components/calendar.component.css +1 -1
  8. package/assets/css/components/calendar.component.css.map +1 -1
  9. package/assets/css/components/card.component.css +1 -1
  10. package/assets/css/components/card.component.css.map +1 -1
  11. package/assets/css/components/carousel.component.css +1 -1
  12. package/assets/css/components/carousel.component.css.map +1 -1
  13. package/assets/css/components/collapsible-side.css +1 -1
  14. package/assets/css/components/collapsible-side.css.map +1 -1
  15. package/assets/css/components/content.component.css +1 -1
  16. package/assets/css/components/content.component.css.map +1 -1
  17. package/assets/css/components/doughnutchart.component.css +1 -1
  18. package/assets/css/components/doughnutchart.component.css.map +1 -1
  19. package/assets/css/components/fileupload.css +1 -1
  20. package/assets/css/components/fileupload.css.map +1 -1
  21. package/assets/css/components/menu.component.css +1 -1
  22. package/assets/css/components/menu.component.css.map +1 -1
  23. package/assets/css/components/modal.component.css +1 -1
  24. package/assets/css/components/modal.component.css.map +1 -1
  25. package/assets/css/components/multi-step-modal.component.css +1 -1
  26. package/assets/css/components/multi-step-modal.component.css.map +1 -1
  27. package/assets/css/components/multiselect.css +1 -1
  28. package/assets/css/components/multiselect.css.map +1 -1
  29. package/assets/css/components/nav.component.css +1 -1
  30. package/assets/css/components/nav.component.css.map +1 -1
  31. package/assets/css/components/pagination.css +1 -1
  32. package/assets/css/components/pagination.css.map +1 -1
  33. package/assets/css/components/popover.component.css +1 -0
  34. package/assets/css/components/popover.component.css.map +1 -0
  35. package/assets/css/components/split-button.component.css +1 -1
  36. package/assets/css/components/split-button.component.css.map +1 -1
  37. package/assets/css/components/table-basic.global.css +1 -1
  38. package/assets/css/components/table-basic.global.css.map +1 -1
  39. package/assets/css/components/table.global.css +1 -1
  40. package/assets/css/components/table.global.css.map +1 -1
  41. package/assets/css/components/tabs.component.css +1 -1
  42. package/assets/css/components/tabs.component.css.map +1 -1
  43. package/assets/css/components/tooltip.component.css +1 -0
  44. package/assets/css/components/tooltip.component.css.map +1 -0
  45. package/assets/css/core.min.css +1 -1
  46. package/assets/css/core.min.css.map +1 -1
  47. package/assets/css/mobile-core.min.css +1 -1
  48. package/assets/css/mobile-core.min.css.map +1 -1
  49. package/assets/css/mobile.min.css +1 -1
  50. package/assets/css/mobile.min.css.map +1 -1
  51. package/assets/css/style.min.css +1 -1
  52. package/assets/css/style.min.css.map +1 -1
  53. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  54. package/assets/js/components/actionbar/actionbar.component.min.js +4 -4
  55. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  56. package/assets/js/components/address-lookup/address-lookup.component.min.js +2 -2
  57. package/assets/js/components/advanced-select/advanced-select.component.min.js +1 -1
  58. package/assets/js/components/applied-filters/applied-filters.component.min.js +4 -4
  59. package/assets/js/components/applied-filters/applied-filters.component.min.js.map +1 -1
  60. package/assets/js/components/barchart/barchart.component.min.js +2 -2
  61. package/assets/js/components/bento-grid/bento-grid.component.min.js +1 -1
  62. package/assets/js/components/calendar/calendar.component.min.js +4 -4
  63. package/assets/js/components/card/card.component.min.js +6 -6
  64. package/assets/js/components/card/card.component.min.js.map +1 -1
  65. package/assets/js/components/carousel/carousel.component.min.js +4 -4
  66. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +2 -2
  67. package/assets/js/components/content/content.component.min.js +2 -2
  68. package/assets/js/components/darkmode/darkmode.component.min.js +1 -1
  69. package/assets/js/components/doughnutchart/doughnutchart.component.min.js +7 -7
  70. package/assets/js/components/fileupload/fileupload.component.min.js +2 -2
  71. package/assets/js/components/filter-card/filter-card.component.min.js +1 -1
  72. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  73. package/assets/js/components/header/header.component.min.js +1 -1
  74. package/assets/js/components/inline-edit/inline-edit.component.min.js +1 -1
  75. package/assets/js/components/input/input.component.min.js +1 -1
  76. package/assets/js/components/input-range/input-range.component.min.js +1 -1
  77. package/assets/js/components/marketing/marketing.component.min.js +1 -1
  78. package/assets/js/components/menu/menu.component.js +1 -0
  79. package/assets/js/components/menu/menu.component.min.js +4 -4
  80. package/assets/js/components/menu/menu.component.min.js.map +1 -1
  81. package/assets/js/components/milestone/milestone.component.min.js +1 -1
  82. package/assets/js/components/milestone-group/milestone-group.component.min.js +1 -1
  83. package/assets/js/components/modal/modal.component.min.js +4 -4
  84. package/assets/js/components/multi-step/multi-step.component.min.js +1 -1
  85. package/assets/js/components/multi-step-modal/multi-step-modal.component.min.js +4 -4
  86. package/assets/js/components/multiselect/multiselect.component.min.js +4 -4
  87. package/assets/js/components/nav/nav.component.min.js +2 -2
  88. package/assets/js/components/notification/notification.component.min.js +1 -1
  89. package/assets/js/components/pagination/pagination.component.min.js +2 -2
  90. package/assets/js/components/password/password.component.min.js +1 -1
  91. package/assets/js/components/popover/popover.component.js +36 -0
  92. package/assets/js/components/popover/popover.component.min.js +13 -0
  93. package/assets/js/components/popover/popover.component.min.js.map +1 -0
  94. package/assets/js/components/rank/rank.component.min.js +1 -1
  95. package/assets/js/components/rankings/rankings.component.min.js +1 -1
  96. package/assets/js/components/record-card/record-card.component.min.js +1 -1
  97. package/assets/js/components/search/search.component.min.js +1 -1
  98. package/assets/js/components/slider/slider.component.min.js +1 -1
  99. package/assets/js/components/split-button/split-button.component.min.js +4 -4
  100. package/assets/js/components/split-button/split-button.component.min.js.map +1 -1
  101. package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js +2 -2
  102. package/assets/js/components/table/table.component.min.js +6 -6
  103. package/assets/js/components/table/table.component.min.js.map +1 -1
  104. package/assets/js/components/table-ajax/table-ajax.component.min.js +6 -6
  105. package/assets/js/components/table-ajax/table-ajax.component.min.js.map +1 -1
  106. package/assets/js/components/table-basic/table-basic.component.js +1 -1
  107. package/assets/js/components/table-basic/table-basic.component.min.js +3 -3
  108. package/assets/js/components/table-basic/table-basic.component.min.js.map +1 -1
  109. package/assets/js/components/table-no-submit/table-no-submit.component.min.js +6 -6
  110. package/assets/js/components/table-no-submit/table-no-submit.component.min.js.map +1 -1
  111. package/assets/js/components/table-submit/table-submit.component.min.js +4 -4
  112. package/assets/js/components/table-submit/table-submit.component.min.js.map +1 -1
  113. package/assets/js/components/tabs/tabs.component.min.js +2 -2
  114. package/assets/js/components/tooltip/tooltip.component.js +68 -0
  115. package/assets/js/components/tooltip/tooltip.component.min.js +14 -0
  116. package/assets/js/components/tooltip/tooltip.component.min.js.map +1 -0
  117. package/assets/js/components/video-card/video-card.component.min.js +1 -1
  118. package/assets/js/components/word-count/word-count.component.min.js +1 -1
  119. package/assets/js/modules/applied-filters.js +8 -2
  120. package/assets/js/modules/table.js +1 -1
  121. package/assets/js/scripts.bundle.js +1 -1
  122. package/assets/js/scripts.bundle.min.js +1 -1
  123. package/assets/sass/components/menu.component.scss +7 -5
  124. package/assets/sass/components/popover.component.scss +28 -0
  125. package/assets/sass/components/table-basic.global.scss +5 -1
  126. package/assets/sass/components/tooltip.component.scss +120 -0
  127. package/assets/sass/elements/buttons--special.scss +45 -0
  128. package/assets/sass/elements/buttons.scss +6 -0
  129. package/assets/sass/elements/dialog.scss +8 -7
  130. package/assets/sass/elements/forms.scss +1 -1
  131. package/assets/sass/elements/popover.scss +3 -2
  132. package/assets/ts/components/menu/menu.component.ts +1 -0
  133. package/assets/ts/components/popover/popover.component.ts +50 -0
  134. package/assets/ts/components/table-basic/table-basic.component.ts +1 -1
  135. package/assets/ts/components/tooltip/tooltip.component.ts +98 -0
  136. package/assets/ts/modules/applied-filters.ts +12 -1
  137. package/assets/ts/modules/table.ts +1 -1
  138. package/dist/components.es.js +493 -563
  139. package/dist/components.umd.js +211 -188
  140. package/package.json +3 -3
  141. package/src/components/Filterlist/Filterlist.vue +0 -12
  142. package/src/components/Popover/Popover.vue +22 -0
  143. package/src/components/Tooltip/Tooltip.vue +22 -0
@@ -0,0 +1,120 @@
1
+ @use '../_func.scss' as *;
2
+
3
+ *,
4
+ *::before,
5
+ *::after {
6
+ box-sizing: border-box;
7
+ }
8
+
9
+ @layer components {
10
+
11
+ :host {
12
+ display: inline;
13
+ position: relative;
14
+ text-decoration: underline;
15
+ text-decoration-style: dashed;
16
+ text-underline-offset: 0.2em;
17
+ overflow-anchor: none;
18
+ cursor: pointer;
19
+ }
20
+
21
+ .tooltip__anchor {
22
+
23
+ anchor-name: --anchor;
24
+ position: absolute;
25
+ display: block;
26
+ inset: 0;
27
+ height: 100%;
28
+ width: 100%;
29
+ min-width: 1rem;
30
+ left: auto;
31
+ right: 0;
32
+ }
33
+
34
+ :host(:empty) .tooltip__anchor{
35
+
36
+ height: 1rem;
37
+ width: 1rem;
38
+ }
39
+
40
+ :host(:empty) .tooltip__anchor:after {
41
+ font-family: "Font Awesome 6 Pro";
42
+ font-weight: 900;
43
+ content: "\f059";
44
+ display: block;
45
+ margin: 0;
46
+ line-height: 1;
47
+ color: var(--colour-primary);
48
+ position: absolute;
49
+ top: 50%;
50
+ left: 50%;
51
+ translate: -50% -50%;
52
+ }
53
+
54
+ .tooltip__content {
55
+ position: fixed;
56
+ position-anchor: --anchor;
57
+ position-area: center end;
58
+ position-try-fallbacks: bottom span-all, top span-all, start;
59
+
60
+ container-type: anchored;
61
+ max-width: #{rem(270)};
62
+ background: var(--colour-primary);
63
+ color: var(--colour-white);
64
+ padding: rem(24);
65
+ border: none;
66
+ border-radius: 0.5rem;
67
+ box-shadow: 0px 2px 9px rgba(0, 0, 0, 0.11);
68
+ margin: 0.75rem;
69
+ overflow: visible;
70
+
71
+ > strong:first-child {
72
+ display: block;
73
+ padding-bottom: 1rem;
74
+ color: inherit;
75
+ }
76
+
77
+ @include media-breakpoint-up(sm, $mobileOnly) {
78
+ max-width: #{rem(335)};
79
+ }
80
+
81
+ @include media-breakpoint-up(md, $mobileOnly) {
82
+ max-width: #{rem(360)};
83
+ }
84
+
85
+ &::after {
86
+ content: '';
87
+ position: absolute;
88
+ bottom: 50%;
89
+ left: -0.45rem;
90
+ transform: translate(-50%, 0);
91
+ border-width: 0.5rem;
92
+ border-style: solid;
93
+ border-color: transparent var(--colour-primary) transparent transparent;
94
+ margin-bottom: -0.5rem;
95
+
96
+ @container anchored(fallback: top span-all) {
97
+
98
+ left: 50%;
99
+ bottom: auto;
100
+ top: 100%;
101
+ border-color: var(--colour-primary) transparent transparent transparent;
102
+ margin-bottom: -1px;
103
+ }
104
+
105
+ @container anchored(fallback: bottom span-all) {
106
+
107
+ top: auto;
108
+ bottom: 100%;
109
+ left: 50%;
110
+ border-color: transparent transparent var(--colour-primary) transparent;
111
+ margin-bottom: -1px;
112
+ }
113
+
114
+ @container anchored(fallback: start) {
115
+
116
+ display: none;
117
+ }
118
+ }
119
+ }
120
+ }
@@ -0,0 +1,45 @@
1
+ @use '../_func' as *;
2
+
3
+ $layers: 'true' !default;
4
+ $mobileOnly: 'false' !default;
5
+ $darkMode: 'true' !default;
6
+
7
+
8
+ // #region btn compact
9
+ .btn[popovertarget] {
10
+
11
+ position: relative;
12
+ anchor-name: --button2;
13
+
14
+ > .fa-chevron-down {
15
+ display: none;
16
+ }
17
+
18
+ &:after {
19
+ content: '';
20
+
21
+ display: inline-block;
22
+ margin-left: 1em;
23
+
24
+ height: 0.8em;
25
+ width: 0.8em;
26
+ z-index: var(--index-focus);
27
+ background: currentColor;
28
+ mask-image: var(--icon-arrow);
29
+ mask-size: 100%;
30
+ mask-repeat: no-repeat;
31
+ mask-position: 50% 50%;
32
+ -webkit-mask-image: var(--icon-arrow);
33
+ -webkit-mask-size: 100%;
34
+ -webkit-mask-repeat: no-repeat;
35
+ -webkit-mask-position: 50% 50%;
36
+
37
+ transform: rotate(90deg);
38
+ }
39
+
40
+ &[aria-pressed]:after {
41
+ transform: rotate(270deg);
42
+ }
43
+ }
44
+
45
+ // #endregion
@@ -29,3 +29,9 @@ $darkMode: 'true' !default;
29
29
  $darkMode: $darkMode,
30
30
  $mobileOnly: $mobileOnly
31
31
  );
32
+
33
+ @use './buttons--special.scss' with (
34
+ $layers: $layers,
35
+ $darkMode: $darkMode,
36
+ $mobileOnly: $mobileOnly
37
+ );
@@ -12,7 +12,8 @@ $darkMode: 'true' !default;
12
12
  }
13
13
 
14
14
  // #region Default styling of both modals
15
- dialog {
15
+ dialog,
16
+ [popover] {
16
17
  --dialog-padding: #{rem(24)};
17
18
 
18
19
  --mh-padding-inline: var(--dialog-padding);
@@ -42,13 +43,15 @@ $darkMode: 'true' !default;
42
43
  overscroll-behavior: contain;
43
44
  }
44
45
 
45
- dialog[open] {
46
+ dialog[open],
47
+ [popover]:popover-open {
46
48
  display: flex;
47
49
  flex-direction: column;
48
50
  }
49
51
 
50
52
  // TODO: when the old modals are depreciated this selector can be simplified
51
- *:not(.dialog__wrapper) > dialog[open]:not([popover]) {
53
+ *:not(.dialog__wrapper) > dialog[open],
54
+ *:not(.dialog__wrapper) > [popover]:popover-open {
52
55
 
53
56
  overflow-y: auto;
54
57
  width: 90vw;
@@ -59,8 +62,8 @@ $darkMode: 'true' !default;
59
62
  overscroll-behavior: contain;
60
63
 
61
64
  @include media-breakpoint-up(sm, $mobileOnly) {
62
- --dialog-padding: #{rem(32)};
63
- padding: var(--dialog-padding);
65
+ //--dialog-padding: #{rem(32)};
66
+ //padding: var(--dialog-padding);
64
67
  min-width: rem(335);
65
68
  width: fit-content;
66
69
  max-width: rem(686);
@@ -75,11 +78,9 @@ $darkMode: 'true' !default;
75
78
  }
76
79
  // #endregion
77
80
 
78
-
79
81
  details.bg-light {
80
82
  margin-inline: calc(var(--dialog-padding) * -1);
81
83
  padding-inline: var(--dialog-padding);
82
84
  }
83
85
 
84
86
  }
85
-
@@ -3,7 +3,7 @@
3
3
 
4
4
  @use '../_func' as *;
5
5
 
6
- @use 'input' as *;
6
+ @use './input' as *;
7
7
 
8
8
 
9
9
  $icon-error: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><!--! Font Awesome Pro 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d='M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c-8.8 0-16 7.2-16 16V272c0 8.8 7.2 16 16 16s16-7.2 16-16V144c0-8.8-7.2-16-16-16zm24 224a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z' fill='#dc3545'/></svg>");
@@ -71,7 +71,8 @@ $darkMode: 'true' !default;
71
71
 
72
72
  //right: auto;
73
73
  margin: 0 0 0 #{rem(4)};
74
- padding: rem(16);
74
+ //padding: rem(16);
75
+ padding: rem(24);
75
76
 
76
77
  &::backdrop {
77
78
  display: none;
@@ -94,7 +95,6 @@ $darkMode: 'true' !default;
94
95
  min-width: rem(320);
95
96
  border-radius: rem(16);
96
97
  width: rem(320);
97
- padding: rem(24);
98
98
 
99
99
  @include media-breakpoint-up(sm, $mobileOnly) {
100
100
  width: rem(335);
@@ -256,3 +256,4 @@ $darkMode: 'true' !default;
256
256
  }
257
257
  // #endregion
258
258
  }
259
+
@@ -40,6 +40,7 @@ class iamMenu extends HTMLElement {
40
40
  // Set the needed CSS styles to connect the ID attribute to the anchor name
41
41
  if (menuID && menuButton) {
42
42
  this.setAttribute('role', 'menu');
43
+ this.setAttribute('popover', 'auto');
43
44
  this.style['position-anchor'] = `--${menuID}`;
44
45
 
45
46
  menuButton?.setAttribute('aria-haspopup', 'true');
@@ -0,0 +1,50 @@
1
+ import { trackComponent, trackComponentRegistered } from '../_global';
2
+
3
+
4
+ trackComponentRegistered('iam-popover');
5
+
6
+ class iamPopover extends HTMLElement {
7
+ constructor() {
8
+ super();
9
+ this.attachShadow({ mode: 'open' });
10
+
11
+ const assetLocation = document.body.hasAttribute('data-assets-location')
12
+ ? document.body.getAttribute('data-assets-location')
13
+ : '/assets';
14
+ const loadCSS = `@import "${assetLocation}/css/components/popover.component.css";`;
15
+
16
+ const template = document.createElement('template');
17
+ template.innerHTML = `
18
+ <style>
19
+ ${loadCSS}
20
+ </style>
21
+ <div>
22
+ <slot></slot>
23
+ </div>
24
+ `;
25
+
26
+ this.shadowRoot.appendChild(template.content.cloneNode(true));
27
+ }
28
+
29
+ connectedCallback(): void {
30
+
31
+ const id = this.getAttribute('id');
32
+ const button = document.querySelector(`[popovertarget="${id}"]`);
33
+
34
+ this.setAttribute('popover','auto');
35
+
36
+
37
+ button?.addEventListener('click',() => {
38
+
39
+ if(this.matches(':popover-open')){
40
+ button.removeAttribute('aria-pressed');
41
+ }
42
+ else {
43
+
44
+ button.setAttribute('aria-pressed','true');
45
+ }
46
+ });
47
+ }
48
+ }
49
+
50
+ export default iamPopover;
@@ -48,7 +48,7 @@ class iamTableBasic extends HTMLElement {
48
48
  setupBasicTable(this, table, form, pagination);
49
49
 
50
50
  paginateTable(this, table, form, pagination, () => {
51
- paginateRows(component);
51
+ paginateRows(this);
52
52
  });
53
53
  }
54
54
  }
@@ -0,0 +1,98 @@
1
+ import { trackComponent, trackComponentRegistered } from '../_global';
2
+
3
+
4
+ trackComponentRegistered('iam-tooltip');
5
+
6
+ class iamTooltip extends HTMLElement {
7
+ constructor() {
8
+ super();
9
+ this.attachShadow({ mode: 'open' });
10
+
11
+ const assetLocation = document.body.hasAttribute('data-assets-location')
12
+ ? document.body.getAttribute('data-assets-location')
13
+ : '/assets';
14
+ const loadCSS = `@import "${assetLocation}/css/components/popover.component.css";`;
15
+
16
+ const template = document.createElement('template');
17
+ template.innerHTML = `
18
+ <style>
19
+ ${loadCSS}
20
+ </style>
21
+ <slot></slot>
22
+ <div class="tooltip__anchor">
23
+ </div>
24
+ <div class="tooltip__content" id="tooltip"></div>
25
+ `;
26
+
27
+ this.shadowRoot.appendChild(template.content.cloneNode(true));
28
+ }
29
+
30
+ connectedCallback(): void {
31
+
32
+
33
+ const contentWrapper = this.shadowRoot?.querySelector('.tooltip__content');
34
+ const anchor = this.shadowRoot?.querySelector('.tooltip__anchor');
35
+
36
+ if(this.hasAttribute('data-heading'))
37
+ contentWrapper?.innerHTML += `<strong>${this.getAttribute('data-heading')}</strong>`;
38
+
39
+ contentWrapper?.innerHTML += this.getAttribute('title');
40
+
41
+
42
+ this.removeAttribute('title');
43
+
44
+ contentWrapper?.setAttribute('popover', 'auto');
45
+
46
+ this?.addEventListener('mouseenter', (event) => {
47
+
48
+ contentWrapper.showPopover();
49
+ });
50
+ this?.addEventListener('mouseleave', (event) => {
51
+
52
+ if(!contentWrapper?.classList.contains('show-popover'))
53
+ contentWrapper.hidePopover();
54
+ });
55
+
56
+
57
+ // Check if th component sets the tooltip open by default
58
+ if(this.classList.contains('show-popover')){
59
+ contentWrapper?.classList.add('show-popover');
60
+
61
+ contentWrapper?.setAttribute('popover', 'manual'); // Switch popover type first before showing popover
62
+ contentWrapper.showPopover();
63
+ }
64
+
65
+ this?.addEventListener('click', (event) => {
66
+
67
+ contentWrapper?.classList.toggle('show-popover');
68
+
69
+ if(contentWrapper?.classList.contains('show-popover')){
70
+
71
+ contentWrapper?.setAttribute('popover', 'manual'); // Switch popover type first before showing popover
72
+ contentWrapper.showPopover();
73
+ }
74
+ else {
75
+
76
+ contentWrapper?.setAttribute('popover', 'auto');
77
+ contentWrapper.hidePopover();
78
+ }
79
+ });
80
+
81
+ // Used for documentation
82
+ this?.parentNode?.addEventListener('update', (event) => {
83
+ contentWrapper?.setAttribute('popover', 'auto');
84
+ contentWrapper.hidePopover();
85
+
86
+ setTimeout(() => {
87
+
88
+ contentWrapper?.classList.add('show-popover');
89
+
90
+ contentWrapper?.setAttribute('popover', 'manual'); // Switch popover type first before showing popover
91
+ contentWrapper.showPopover();
92
+
93
+ }, 100);
94
+ });
95
+ }
96
+ }
97
+
98
+ export default iamTooltip;
@@ -127,6 +127,10 @@ function createAppliedFilters(container, filters): void {
127
127
 
128
128
 
129
129
  const filterClicked = (filter) => {
130
+
131
+ if(!filter?.hasAttribute('data-name'))
132
+ return false;
133
+
130
134
  const names = filter.getAttribute('data-name').split(',');
131
135
 
132
136
  for (let t = 0; t < names.length; t++) {
@@ -172,6 +176,9 @@ function createAppliedFilters(container, filters): void {
172
176
 
173
177
  filterClicked(filter);
174
178
 
179
+ const clickedEvent = new CustomEvent('filter-clicked',{'detail':filterName });
180
+ container.dispatchEvent(clickedEvent);
181
+
175
182
  // If you clicked on the filter on the parent component we want to tell the child component which filter to copy
176
183
  if(container.querySelector('dialog iam-applied-filters')) {
177
184
  const event = new CustomEvent('filter',{'detail':filterName });
@@ -196,10 +203,14 @@ function createAppliedFilters(container, filters): void {
196
203
  });
197
204
 
198
205
  if(dialog){
206
+ const primaryButton = container.querySelector('.btn-primary') ? container.querySelector('.btn-primary') : container.shadowRoot.querySelector('.btn-primary');
199
207
  // Force the filters inside of the dialog to effect the filters above
200
- container.querySelector('.btn-primary')?.addEventListener('click', (e) => {
208
+ primaryButton?.addEventListener('click', (e) => {
201
209
 
202
210
  const event = new CustomEvent('update');
211
+ const submitEvent = new CustomEvent('submit');
212
+
213
+ container.dispatchEvent(submitEvent);
203
214
 
204
215
  if(container.parentElement.closest('iam-applied-filters'))
205
216
  container.parentElement.closest('iam-applied-filters').dispatchEvent(event);
@@ -1396,7 +1396,7 @@ export const loadAjaxTable = async function (component, table, form, pagination)
1396
1396
  tbody.appendChild(table_row);
1397
1397
  });
1398
1398
 
1399
- //component.setAttribute('data-total', parseInt(totalNumber));
1399
+ component.setAttribute('data-total', parseInt(totalNumber));
1400
1400
  //component.setAttribute('data-page', parseInt(currentPage));
1401
1401
 
1402
1402
  //pagination.setAttribute('data-total', totalNumber);