@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.
- package/assets/css/components/actionbar.css +1 -1
- package/assets/css/components/actionbar.css.map +1 -1
- package/assets/css/components/applied-filters.css +1 -1
- package/assets/css/components/applied-filters.css.map +1 -1
- package/assets/css/components/card.css +1 -1
- package/assets/css/components/card.css.map +1 -1
- package/assets/css/components/card.global.css +1 -1
- package/assets/css/components/card.global.css.map +1 -1
- package/assets/css/components/charts.css +1 -1
- package/assets/css/components/charts.css.map +1 -1
- package/assets/css/components/fileupload.css.map +1 -1
- package/assets/css/components/inline-edit.css +1 -0
- package/assets/css/components/inline-edit.css.map +1 -0
- package/assets/css/components/inline-edit.preload.css +1 -0
- package/assets/css/components/inline-edit.preload.css.map +1 -0
- package/assets/css/components/multiselect.css +1 -0
- package/assets/css/components/multiselect.css.map +1 -0
- package/assets/css/components/multiselect.preload.css +1 -0
- package/assets/css/components/multiselect.preload.css.map +1 -0
- package/assets/css/components/nav.css.map +1 -1
- package/assets/css/components/nav.global.css +1 -1
- package/assets/css/components/nav.global.css.map +1 -1
- package/assets/css/components/slider.css.map +1 -1
- package/assets/css/components/tabs.css +1 -1
- package/assets/css/components/tabs.css.map +1 -1
- package/assets/css/core.min.css +1 -1
- package/assets/css/core.min.css.map +1 -1
- package/assets/css/style.min.css +1 -1
- package/assets/css/style.min.css.map +1 -1
- package/assets/js/components/accordion/accordion.component.min.js +1 -1
- package/assets/js/components/actionbar/actionbar.component.js +12 -3
- package/assets/js/components/actionbar/actionbar.component.min.js +6 -6
- package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
- package/assets/js/components/address-lookup/address-lookup.component.min.js +1 -1
- package/assets/js/components/applied-filters/applied-filters.component.min.js +6 -6
- package/assets/js/components/applied-filters/applied-filters.component.min.js.map +1 -1
- package/assets/js/components/card/card.component.min.js +3 -3
- package/assets/js/components/chart/chart.component.js +71 -0
- package/assets/js/components/collapsible-side/collapsible-side.component.min.js +1 -1
- package/assets/js/components/fileupload/fileupload.component.js +1 -1
- package/assets/js/components/fileupload/fileupload.component.min.js +5 -5
- package/assets/js/components/fileupload/fileupload.component.min.js.map +1 -1
- package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
- package/assets/js/components/header/header.component.min.js +1 -1
- package/assets/js/components/inline-edit/inline-edit.component.js +148 -0
- package/assets/js/components/inline-edit/inline-edit.component.min.js +22 -0
- package/assets/js/components/inline-edit/inline-edit.component.min.js.map +1 -0
- package/assets/js/components/multiselect/multiselect.component.js +221 -0
- package/assets/js/components/multiselect/multiselect.component.min.js +25 -0
- package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -0
- package/assets/js/components/nav/nav.component.min.js +2 -2
- package/assets/js/components/notification/notification.component.min.js +1 -1
- package/assets/js/components/pagination/pagination.component.min.js +1 -1
- package/assets/js/components/search/search.component.min.js +1 -1
- package/assets/js/components/search/search.component.min.js.map +1 -1
- package/assets/js/components/table/table.component.js +2 -2
- package/assets/js/components/table/table.component.min.js +6 -6
- package/assets/js/components/table/table.component.min.js.map +1 -1
- package/assets/js/components/tabs/tabs.component.min.js +2 -2
- package/assets/js/dynamic.min.js +5 -5
- package/assets/js/dynamic.min.js.map +1 -1
- package/assets/js/modules/applied-filters.js +39 -7
- package/assets/js/modules/chart.js +613 -111
- package/assets/js/modules/fileupload.js +11 -0
- package/assets/js/modules/helpers.js +20 -0
- package/assets/js/modules/inputs.js +6 -2
- package/assets/js/modules/table.js +62 -11
- package/assets/js/scripts.bundle.js +31 -31
- package/assets/js/scripts.bundle.js.map +1 -1
- package/assets/js/scripts.bundle.min.js +2 -2
- package/assets/js/scripts.bundle.min.js.map +1 -1
- package/assets/sass/_components.scss +5 -0
- package/assets/sass/_elements.scss +1 -1
- package/assets/sass/_functions/variables.scss +80 -0
- package/assets/sass/_utilities.scss +1 -0
- package/assets/sass/components/actionbar.scss +16 -0
- package/assets/sass/components/applied-filters.scss +6 -48
- package/assets/sass/components/card.global.scss +4 -0
- package/assets/sass/components/card.scss +1 -1
- package/assets/sass/components/charts.scss +981 -234
- package/assets/sass/components/inline-edit.preload.scss +98 -0
- package/assets/sass/components/inline-edit.scss +32 -0
- package/assets/sass/components/multiselect.preload.scss +37 -0
- package/assets/sass/components/multiselect.scss +186 -0
- package/assets/sass/components/nav.global.scss +2 -0
- package/assets/sass/components/tabs.scss +10 -1
- package/assets/sass/elements/admin-panel.scss +0 -3
- package/assets/sass/elements/badge-tag.scss +92 -0
- package/assets/sass/elements/buttons.scss +13 -1
- package/assets/sass/elements/details.scss +94 -5
- package/assets/sass/elements/dialog.scss +2 -0
- package/assets/sass/elements/forms.scss +42 -25
- package/assets/sass/elements/tooltips.scss +4 -3
- package/assets/sass/foundations/root.scss +11 -0
- package/assets/sass/helpers/wider-colours.scss +11 -0
- package/assets/ts/components/actionbar/actionbar.component.ts +14 -3
- package/assets/ts/components/chart/README.md +37 -0
- package/assets/ts/components/chart/chart.component.ts +98 -0
- package/assets/ts/components/fileupload/fileupload.component.ts +1 -1
- package/assets/ts/components/inline-edit/README.md +30 -0
- package/assets/ts/components/inline-edit/inline-edit.component.ts +211 -0
- package/assets/ts/components/multiselect/README.md +35 -0
- package/assets/ts/components/multiselect/multiselect.component.ts +304 -0
- package/assets/ts/components/search/README.md +36 -0
- package/assets/ts/components/table/table.component.ts +2 -2
- package/assets/ts/modules/applied-filters.ts +61 -7
- package/assets/ts/modules/chart.ts +808 -119
- package/assets/ts/modules/fileupload.ts +19 -0
- package/assets/ts/modules/helpers.ts +29 -1
- package/assets/ts/modules/inputs.ts +8 -2
- package/assets/ts/modules/table.ts +86 -12
- package/dist/components.es.js +348 -329
- package/dist/components.umd.js +59 -63
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/src/components/AppliedFilters/AppliedFilters.vue +1 -1
- package/src/components/Chart/Chart.vue +26 -96
- package/src/components/InlineEdit/InlineEdit.vue +45 -0
- package/src/components/InlineEdit/README.md +7 -0
- package/src/components/Multiselect/Multiselect.vue +24 -0
- package/src/components/Multiselect/README.md +12 -0
- package/src/components/Search/README.md +11 -0
- package/src/components/Search/Search.vue +1 -1
- 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
|
-
|
|
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[
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|