@iamproperty/components 5.5.1-beta-1 → 5.5.1-beta-4

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 (124) hide show
  1. package/assets/css/components/actionbar.css +1 -1
  2. package/assets/css/components/actionbar.css.map +1 -1
  3. package/assets/css/components/applied-filters.css +1 -1
  4. package/assets/css/components/applied-filters.css.map +1 -1
  5. package/assets/css/components/card.css +1 -1
  6. package/assets/css/components/card.css.map +1 -1
  7. package/assets/css/components/card.global.css +1 -1
  8. package/assets/css/components/card.global.css.map +1 -1
  9. package/assets/css/components/charts.css +1 -1
  10. package/assets/css/components/charts.css.map +1 -1
  11. package/assets/css/components/fileupload.css.map +1 -1
  12. package/assets/css/components/inline-edit.css +1 -0
  13. package/assets/css/components/inline-edit.css.map +1 -0
  14. package/assets/css/components/inline-edit.preload.css +1 -0
  15. package/assets/css/components/inline-edit.preload.css.map +1 -0
  16. package/assets/css/components/multiselect.css +1 -0
  17. package/assets/css/components/multiselect.css.map +1 -0
  18. package/assets/css/components/multiselect.preload.css +1 -0
  19. package/assets/css/components/multiselect.preload.css.map +1 -0
  20. package/assets/css/components/nav.css.map +1 -1
  21. package/assets/css/components/nav.global.css +1 -1
  22. package/assets/css/components/nav.global.css.map +1 -1
  23. package/assets/css/components/slider.css.map +1 -1
  24. package/assets/css/components/tabs.css +1 -1
  25. package/assets/css/components/tabs.css.map +1 -1
  26. package/assets/css/core.min.css +1 -1
  27. package/assets/css/core.min.css.map +1 -1
  28. package/assets/css/style.min.css +1 -1
  29. package/assets/css/style.min.css.map +1 -1
  30. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  31. package/assets/js/components/actionbar/actionbar.component.js +12 -3
  32. package/assets/js/components/actionbar/actionbar.component.min.js +6 -6
  33. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  34. package/assets/js/components/address-lookup/address-lookup.component.min.js +1 -1
  35. package/assets/js/components/applied-filters/applied-filters.component.min.js +6 -6
  36. package/assets/js/components/applied-filters/applied-filters.component.min.js.map +1 -1
  37. package/assets/js/components/card/card.component.min.js +3 -3
  38. package/assets/js/components/chart/chart.component.js +71 -0
  39. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +1 -1
  40. package/assets/js/components/fileupload/fileupload.component.js +1 -1
  41. package/assets/js/components/fileupload/fileupload.component.min.js +5 -5
  42. package/assets/js/components/fileupload/fileupload.component.min.js.map +1 -1
  43. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  44. package/assets/js/components/header/header.component.min.js +1 -1
  45. package/assets/js/components/inline-edit/inline-edit.component.js +148 -0
  46. package/assets/js/components/inline-edit/inline-edit.component.min.js +22 -0
  47. package/assets/js/components/inline-edit/inline-edit.component.min.js.map +1 -0
  48. package/assets/js/components/multiselect/multiselect.component.js +221 -0
  49. package/assets/js/components/multiselect/multiselect.component.min.js +25 -0
  50. package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -0
  51. package/assets/js/components/nav/nav.component.min.js +2 -2
  52. package/assets/js/components/notification/notification.component.min.js +1 -1
  53. package/assets/js/components/pagination/pagination.component.min.js +1 -1
  54. package/assets/js/components/search/search.component.min.js +1 -1
  55. package/assets/js/components/search/search.component.min.js.map +1 -1
  56. package/assets/js/components/table/table.component.js +2 -2
  57. package/assets/js/components/table/table.component.min.js +6 -6
  58. package/assets/js/components/table/table.component.min.js.map +1 -1
  59. package/assets/js/components/tabs/tabs.component.min.js +2 -2
  60. package/assets/js/dynamic.min.js +5 -5
  61. package/assets/js/dynamic.min.js.map +1 -1
  62. package/assets/js/modules/applied-filters.js +39 -7
  63. package/assets/js/modules/chart.js +613 -111
  64. package/assets/js/modules/fileupload.js +11 -0
  65. package/assets/js/modules/helpers.js +20 -0
  66. package/assets/js/modules/inputs.js +6 -2
  67. package/assets/js/modules/table.js +62 -11
  68. package/assets/js/scripts.bundle.js +31 -31
  69. package/assets/js/scripts.bundle.js.map +1 -1
  70. package/assets/js/scripts.bundle.min.js +2 -2
  71. package/assets/js/scripts.bundle.min.js.map +1 -1
  72. package/assets/sass/_components.scss +5 -0
  73. package/assets/sass/_elements.scss +1 -1
  74. package/assets/sass/_functions/variables.scss +80 -0
  75. package/assets/sass/_utilities.scss +1 -0
  76. package/assets/sass/components/actionbar.scss +16 -0
  77. package/assets/sass/components/applied-filters.scss +6 -48
  78. package/assets/sass/components/card.global.scss +4 -0
  79. package/assets/sass/components/card.scss +1 -1
  80. package/assets/sass/components/charts.scss +981 -234
  81. package/assets/sass/components/inline-edit.preload.scss +98 -0
  82. package/assets/sass/components/inline-edit.scss +32 -0
  83. package/assets/sass/components/multiselect.preload.scss +37 -0
  84. package/assets/sass/components/multiselect.scss +186 -0
  85. package/assets/sass/components/nav.global.scss +2 -0
  86. package/assets/sass/components/tabs.scss +10 -1
  87. package/assets/sass/elements/admin-panel.scss +0 -3
  88. package/assets/sass/elements/badge-tag.scss +92 -0
  89. package/assets/sass/elements/buttons.scss +13 -1
  90. package/assets/sass/elements/details.scss +94 -5
  91. package/assets/sass/elements/dialog.scss +2 -0
  92. package/assets/sass/elements/forms.scss +42 -25
  93. package/assets/sass/elements/tooltips.scss +4 -3
  94. package/assets/sass/foundations/root.scss +11 -0
  95. package/assets/sass/helpers/wider-colours.scss +11 -0
  96. package/assets/ts/components/actionbar/actionbar.component.ts +14 -3
  97. package/assets/ts/components/chart/README.md +37 -0
  98. package/assets/ts/components/chart/chart.component.ts +98 -0
  99. package/assets/ts/components/fileupload/fileupload.component.ts +1 -1
  100. package/assets/ts/components/inline-edit/README.md +30 -0
  101. package/assets/ts/components/inline-edit/inline-edit.component.ts +211 -0
  102. package/assets/ts/components/multiselect/README.md +35 -0
  103. package/assets/ts/components/multiselect/multiselect.component.ts +304 -0
  104. package/assets/ts/components/search/README.md +36 -0
  105. package/assets/ts/components/table/table.component.ts +2 -2
  106. package/assets/ts/modules/applied-filters.ts +61 -7
  107. package/assets/ts/modules/chart.ts +808 -119
  108. package/assets/ts/modules/fileupload.ts +19 -0
  109. package/assets/ts/modules/helpers.ts +29 -1
  110. package/assets/ts/modules/inputs.ts +8 -2
  111. package/assets/ts/modules/table.ts +86 -12
  112. package/dist/components.es.js +348 -329
  113. package/dist/components.umd.js +59 -63
  114. package/dist/style.css +1 -1
  115. package/package.json +1 -1
  116. package/src/components/AppliedFilters/AppliedFilters.vue +1 -1
  117. package/src/components/Chart/Chart.vue +26 -96
  118. package/src/components/InlineEdit/InlineEdit.vue +45 -0
  119. package/src/components/InlineEdit/README.md +7 -0
  120. package/src/components/Multiselect/Multiselect.vue +24 -0
  121. package/src/components/Multiselect/README.md +12 -0
  122. package/src/components/Search/README.md +11 -0
  123. package/src/components/Search/Search.vue +1 -1
  124. package/assets/sass/elements/badge.scss +0 -29
@@ -2,7 +2,7 @@
2
2
  function createAppliedFilters(container,filters) {
3
3
 
4
4
 
5
- function addFilterButton (filters, input){
5
+ function addFilterButton (filters, input,notSet=true){
6
6
 
7
7
  let shouldRemoveFilter = false;
8
8
  let inputName = input.getAttribute('name');
@@ -24,6 +24,11 @@ function createAppliedFilters(container,filters) {
24
24
 
25
25
  filter.setAttribute('type','button')
26
26
  filter.classList.add('filter');
27
+ filter.classList.add('tag');
28
+
29
+ if(notSet)
30
+ filter.classList.add('tag--not-set');
31
+
27
32
  filter.setAttribute('data-name',inputName);
28
33
 
29
34
  filter.innerHTML = filterText.replace('$value', input.value);
@@ -55,6 +60,11 @@ function createAppliedFilters(container,filters) {
55
60
  let childFilter = document.createElement('button');
56
61
  childFilter.setAttribute('type','button')
57
62
  childFilter.classList.add('filter');
63
+ childFilter.classList.add('tag');
64
+
65
+ if(notSet)
66
+ filter.classList.add('tag--not-set');
67
+
58
68
  childFilter.setAttribute('data-name',name);
59
69
  childFilter.innerHTML = filterText.replace('$value', element.value);
60
70
  filters.appendChild(childFilter);
@@ -63,9 +73,11 @@ function createAppliedFilters(container,filters) {
63
73
  allValuesSet = false;
64
74
  });
65
75
 
76
+
66
77
  if(filters.querySelector(`[data-name="${inputName}"]`))
67
78
  filters.querySelector(`[data-name="${inputName}"]`).remove();
68
79
 
80
+
69
81
  if(allValuesSet){
70
82
 
71
83
  let newFilterText = parent.getAttribute('data-filter-text');
@@ -83,6 +95,11 @@ function createAppliedFilters(container,filters) {
83
95
  let parentFilter = document.createElement('button');
84
96
  parentFilter.setAttribute('type','button')
85
97
  parentFilter.classList.add('filter');
98
+ parentFilter.classList.add('tag');
99
+
100
+ if(notSet)
101
+ filter.classList.add('tag--not-set');
102
+
86
103
  parentFilter.setAttribute('data-name',inputName);
87
104
  parentFilter.innerHTML = newFilterText;
88
105
  filters.appendChild(parentFilter);
@@ -94,17 +111,48 @@ function createAppliedFilters(container,filters) {
94
111
  }
95
112
 
96
113
  // check for inputs on load
97
- Array.from(container.querySelectorAll('input[type="checkbox"]:checked')).forEach((input, index) => {
98
- addFilterButton(filters, input)
114
+ Array.from(container.querySelectorAll('input[type="checkbox"]:checked, input:not([type="checkbox"]):not([type="radio"])')).forEach((input, index) => {
115
+
116
+ addFilterButton(filters, input, false)
117
+ });
118
+
119
+ let dialog = container.closest('dialog')
120
+
121
+ if(dialog){
122
+
123
+ let observer = new MutationObserver(function(event) {
124
+ if (event[0].attributeName == 'open') {
125
+ Array.from(container.querySelectorAll('input[type="checkbox"]:checked, input:not([type="checkbox"]):not([type="radio"])')).forEach((input, index) => {
126
+
127
+ addFilterButton(filters, input, false)
128
+ });
129
+ }
130
+ });
131
+
132
+ observer.observe(dialog, { attributes: true });
133
+ }
134
+
135
+
136
+
137
+
138
+ container.addEventListener('tags-set', function(event){
139
+
140
+ filters.innerHTML = '';
141
+ Array.from(container.querySelectorAll('input[type="checkbox"]:checked, input:not([type="checkbox"]):not([type="radio"])')).forEach((input, index) => {
142
+
143
+ addFilterButton(filters, input, false)
144
+ });
99
145
  });
100
146
 
101
147
 
102
148
  // check for change in displayed inputs
103
- Array.from(container.querySelectorAll('input[data-filter-text]')).forEach((input, index) => {
149
+ Array.from(container.querySelectorAll('input[type="checkbox"]:checked, input:not([type="checkbox"]):not([type="radio"])')).forEach((input, index) => {
104
150
 
105
151
  input.addEventListener('change', function(event){
106
152
 
107
- addFilterButton(filters, input);
153
+ if(!container.hasAttribute('data-keep-same'))
154
+ addFilterButton(filters, input);
155
+
108
156
  event.stopPropagation(); // Don't allow the below event handler to trigger
109
157
  });
110
158
  });
@@ -114,7 +162,8 @@ function createAppliedFilters(container,filters) {
114
162
 
115
163
  if (event && event.target instanceof HTMLElement && event.target.closest('input[data-filter-text]')){
116
164
  let input = event.target.closest('input[data-filter-text]');
117
- addFilterButton(filters, input);
165
+ if(!container.hasAttribute('data-keep-same'))
166
+ addFilterButton(filters, input);
118
167
  }
119
168
  });
120
169
 
@@ -140,8 +189,13 @@ function createAppliedFilters(container,filters) {
140
189
  let input = inputs[i];
141
190
 
142
191
 
143
- if(input.getAttribute('type') != 'radio' && input.getAttribute('type') != 'checkbox')
192
+ if(input.getAttribute('type') != 'radio' && input.getAttribute('type') != 'checkbox'){
144
193
  input.value = "";
194
+
195
+ var event = new Event('force');
196
+ if(!container.hasAttribute('data-nosubmit'))
197
+ input.closest('form').dispatchEvent(event);
198
+ }
145
199
  else {
146
200
  input.checked = false;
147
201