@iamproperty/components 7.7.1--beta10 → 7.7.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 (67) hide show
  1. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  2. package/assets/js/components/actionbar/actionbar.component.min.js +1 -1
  3. package/assets/js/components/address-lookup/address-lookup.component.min.js +1 -1
  4. package/assets/js/components/advanced-select/advanced-select.component.min.js +1 -1
  5. package/assets/js/components/applied-filters/applied-filters.component.min.js +1 -1
  6. package/assets/js/components/barchart/barchart.component.min.js +1 -1
  7. package/assets/js/components/bento-grid/bento-grid.component.min.js +1 -1
  8. package/assets/js/components/calendar/calendar.component.min.js +1 -1
  9. package/assets/js/components/card/card.component.min.js +1 -1
  10. package/assets/js/components/carousel/carousel.component.min.js +1 -1
  11. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +1 -1
  12. package/assets/js/components/config/config.component.min.js +1 -1
  13. package/assets/js/components/content/content.component.min.js +1 -1
  14. package/assets/js/components/darkmode/darkmode.component.min.js +1 -1
  15. package/assets/js/components/doughnutchart/doughnutchart.component.min.js +1 -1
  16. package/assets/js/components/fileupload/fileupload.component.min.js +1 -1
  17. package/assets/js/components/filter-card/filter-card.component.min.js +1 -1
  18. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  19. package/assets/js/components/form/form.component.js +34 -2
  20. package/assets/js/components/form/form.component.min.js +3 -3
  21. package/assets/js/components/form/form.component.min.js.map +1 -1
  22. package/assets/js/components/header/header.component.min.js +1 -1
  23. package/assets/js/components/inline-edit/inline-edit.component.min.js +1 -1
  24. package/assets/js/components/input/input.component.min.js +1 -1
  25. package/assets/js/components/input-range/input-range.component.min.js +1 -1
  26. package/assets/js/components/marketing/marketing.component.min.js +1 -1
  27. package/assets/js/components/menu/menu.component.min.js +1 -1
  28. package/assets/js/components/milestone/milestone.component.min.js +1 -1
  29. package/assets/js/components/milestone-group/milestone-group.component.min.js +1 -1
  30. package/assets/js/components/modal/modal.component.js +2 -1
  31. package/assets/js/components/modal/modal.component.min.js +3 -3
  32. package/assets/js/components/modal/modal.component.min.js.map +1 -1
  33. package/assets/js/components/multi-step/multi-step.component.min.js +1 -1
  34. package/assets/js/components/multi-step-modal/multi-step-modal.component.min.js +1 -1
  35. package/assets/js/components/multiselect/multiselect.component.min.js +1 -1
  36. package/assets/js/components/nav/nav.component.min.js +1 -1
  37. package/assets/js/components/notification/notification.component.min.js +1 -1
  38. package/assets/js/components/pagination/pagination.component.min.js +1 -1
  39. package/assets/js/components/password/password.component.min.js +1 -1
  40. package/assets/js/components/popover/popover.component.min.js +1 -1
  41. package/assets/js/components/rank/rank.component.min.js +1 -1
  42. package/assets/js/components/rankings/rankings.component.min.js +1 -1
  43. package/assets/js/components/rating/rating.component.min.js +1 -1
  44. package/assets/js/components/record-card/record-card.component.min.js +1 -1
  45. package/assets/js/components/search/search.component.min.js +1 -1
  46. package/assets/js/components/slider/slider.component.min.js +1 -1
  47. package/assets/js/components/split-button/split-button.component.min.js +1 -1
  48. package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js +1 -1
  49. package/assets/js/components/table/table.component.min.js +1 -1
  50. package/assets/js/components/table-ajax/table-ajax.component.min.js +1 -1
  51. package/assets/js/components/table-basic/table-basic.component.min.js +1 -1
  52. package/assets/js/components/table-no-submit/table-no-submit.component.min.js +1 -1
  53. package/assets/js/components/table-submit/table-submit.component.min.js +1 -1
  54. package/assets/js/components/tabs/tabs.component.min.js +1 -1
  55. package/assets/js/components/tag/tag.component.min.js +1 -1
  56. package/assets/js/components/tooltip/tooltip.component.min.js +1 -1
  57. package/assets/js/components/video/video.component.min.js +1 -1
  58. package/assets/js/components/video-card/video-card.component.min.js +1 -1
  59. package/assets/js/components/video-modal/video-modal.component.min.js +1 -1
  60. package/assets/js/components/word-count/word-count.component.min.js +1 -1
  61. package/assets/js/scripts.bundle.js +1 -1
  62. package/assets/js/scripts.bundle.min.js +1 -1
  63. package/assets/ts/components/form/form.component.ts +51 -2
  64. package/assets/ts/components/modal/modal.component.ts +2 -1
  65. package/dist/components.es.js +24 -24
  66. package/dist/components.umd.js +68 -68
  67. package/package.json +1 -1
@@ -3,7 +3,7 @@ import { searchAjax, filterList, setTag } from '../../modules/dropdown';
3
3
 
4
4
  trackComponentRegistered('iam-tag');
5
5
 
6
- class iamTag extends HTMLElement {
6
+ class iamForm extends HTMLElement {
7
7
  constructor() {
8
8
  super();
9
9
  this.attachShadow({ mode: 'open' });
@@ -32,6 +32,42 @@ class iamTag extends HTMLElement {
32
32
  return true;
33
33
  };
34
34
 
35
+ checkConditions = (conditions):boolean => {
36
+
37
+ let meetsCondition = true;
38
+
39
+ JSON.parse(conditions).forEach((condition) => {
40
+ if(this.querySelector(`#${condition['if']}`).value != condition['equals'])
41
+ meetsCondition = false;
42
+ });
43
+
44
+ return meetsCondition;
45
+ }
46
+
47
+ showIf = ():void => {
48
+
49
+ Array.from(this.querySelectorAll('[data-show-if]')).forEach((element) => {
50
+
51
+ if(!this.checkConditions(element.getAttribute('data-show-if')))
52
+ element.classList.add('d-none');
53
+ else
54
+ element.classList.remove('d-none');
55
+
56
+ });
57
+ }
58
+
59
+ disabledIf = ():void => {
60
+
61
+ Array.from(this.querySelectorAll('[data-disabled-if]')).forEach((element) => {
62
+
63
+ if(!this.checkConditions(element.getAttribute('data-disabled-if')))
64
+ element.setAttribute('disabled','disabled');
65
+ else
66
+ element.removeAttribute('disabled');
67
+
68
+ });
69
+ }
70
+
35
71
  connectedCallback(): void {
36
72
 
37
73
  const form = this.querySelector('form');
@@ -96,7 +132,20 @@ class iamTag extends HTMLElement {
96
132
  input.setAttribute('data-required', 'true');
97
133
  });
98
134
  });
135
+
136
+ // #region if
137
+
138
+ this.showIf();
139
+ this.disabledIf();
140
+
141
+ form.addEventListener('change', (e) => {
142
+
143
+ this.showIf();
144
+ this.disabledIf();
145
+ });
146
+
147
+ // #endregion
99
148
  }
100
149
  }
101
150
 
102
- export default iamTag;
151
+ export default iamForm;
@@ -56,7 +56,8 @@ class iamModal extends HTMLElement {
56
56
 
57
57
  this.dispatchEvent(agreedEvent);
58
58
 
59
- closeModal(this);
59
+ if(!this.querySelector(':invalid'))
60
+ closeModal(this);
60
61
  }
61
62
 
62
63
  document.addEventListener('click', (e) => {