@iamproperty/components 5.6.1-beta1 → 5.6.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.
- package/assets/css/components/card.css +1 -1
- package/assets/css/components/card.css.map +1 -1
- package/assets/css/components/collapsible-side.css +1 -1
- package/assets/css/components/collapsible-side.css.map +1 -1
- package/assets/css/components/fileupload.css +1 -1
- package/assets/css/components/fileupload.css.map +1 -1
- package/assets/css/components/inline-edit.preload.css +1 -1
- package/assets/css/components/inline-edit.preload.css.map +1 -1
- package/assets/css/components/multiselect.css +1 -1
- package/assets/css/components/multiselect.css.map +1 -1
- package/assets/css/components/table.global.css +1 -1
- package/assets/css/components/table.global.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 +7 -7
- package/assets/js/components/actionbar/actionbar.component.min.js +10 -10
- package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
- package/assets/js/components/address-lookup/address-lookup.component.js +3 -3
- package/assets/js/components/address-lookup/address-lookup.component.min.js +6 -6
- package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
- package/assets/js/components/applied-filters/applied-filters.component.min.js +1 -1
- package/assets/js/components/card/card.component.js +5 -4
- package/assets/js/components/card/card.component.min.js +9 -9
- package/assets/js/components/card/card.component.min.js.map +1 -1
- package/assets/js/components/carousel/carousel.component.js +3 -3
- package/assets/js/components/carousel/carousel.component.min.js +5 -5
- package/assets/js/components/carousel/carousel.component.min.js.map +1 -1
- package/assets/js/components/collapsible-side/collapsible-side.component.js +14 -10
- package/assets/js/components/collapsible-side/collapsible-side.component.min.js +14 -14
- package/assets/js/components/collapsible-side/collapsible-side.component.min.js.map +1 -1
- package/assets/js/components/fileupload/fileupload.component.js +19 -3
- package/assets/js/components/fileupload/fileupload.component.min.js +10 -8
- package/assets/js/components/fileupload/fileupload.component.min.js.map +1 -1
- package/assets/js/components/filterlist/filterlist.component.js +2 -2
- package/assets/js/components/filterlist/filterlist.component.min.js +5 -5
- package/assets/js/components/filterlist/filterlist.component.min.js.map +1 -1
- package/assets/js/components/header/header.component.min.js +1 -1
- package/assets/js/components/inline-edit/inline-edit.component.js +11 -3
- package/assets/js/components/inline-edit/inline-edit.component.min.js +7 -7
- package/assets/js/components/inline-edit/inline-edit.component.min.js.map +1 -1
- package/assets/js/components/marketing/marketing.component.min.js +1 -1
- package/assets/js/components/multiselect/multiselect.component.js +4 -3
- package/assets/js/components/multiselect/multiselect.component.min.js +6 -6
- package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -1
- package/assets/js/components/nav/nav.component.min.js +1 -1
- package/assets/js/components/notification/notification.component.js +1 -1
- package/assets/js/components/notification/notification.component.min.js +2 -2
- package/assets/js/components/notification/notification.component.min.js.map +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/slider/slider.component.min.js +1 -1
- package/assets/js/components/table/table.component.min.js +5 -5
- 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/dialogs.js +10 -5
- package/assets/js/modules/dynamicEvents.js +3 -0
- package/assets/js/modules/fileupload.js +32 -24
- package/assets/js/modules/helpers.js +4 -0
- package/assets/js/scripts.bundle.js +17 -17
- 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 +47 -0
- package/assets/sass/_functions/variables.scss +1 -1
- package/assets/sass/components/card.scss +88 -1
- package/assets/sass/components/collapsible-side.scss +63 -48
- package/assets/sass/components/fileupload.scss +1 -0
- package/assets/sass/components/inline-edit.preload.scss +57 -3
- package/assets/sass/components/multiselect.scss +5 -1
- package/assets/sass/components/table.global.scss +4 -19
- package/assets/sass/components/tabs.scss +1 -6
- package/assets/sass/elements/buttons.scss +1 -1
- package/assets/sass/elements/dialog.scss +30 -2
- package/assets/sass/elements/forms.scss +36 -8
- package/assets/sass/elements/progress.scss +159 -17
- package/assets/sass/foundations/reboot.scss +3 -3
- package/assets/sass/foundations/root.scss +2 -2
- package/assets/ts/components/actionbar/actionbar.component.ts +7 -7
- package/assets/ts/components/address-lookup/address-lookup.component.ts +3 -3
- package/assets/ts/components/card/card.component.ts +6 -4
- package/assets/ts/components/carousel/carousel.component.ts +3 -3
- package/assets/ts/components/collapsible-side/collapsible-side.component.ts +17 -11
- package/assets/ts/components/fileupload/fileupload.component.ts +29 -3
- package/assets/ts/components/filterlist/filterlist.component.ts +2 -2
- package/assets/ts/components/inline-edit/inline-edit.component.ts +15 -4
- package/assets/ts/components/multiselect/multiselect.component.ts +4 -3
- package/assets/ts/components/notification/notification.component.ts +1 -1
- package/assets/ts/modules/dialogs.ts +13 -5
- package/assets/ts/modules/dynamicEvents.ts +3 -0
- package/assets/ts/modules/fileupload.ts +45 -31
- package/assets/ts/modules/helpers.ts +6 -0
- package/dist/components.es.js +550 -621
- package/dist/components.umd.js +92 -90
- package/dist/style.css +1 -1
- package/package.json +4 -4
- package/src/components/Card/README.md +1 -0
- package/src/components/CollapsibleSideMenu/CollapsibleSideMenu.vue +1 -1
- package/src/components/FileUpload/FileUpload.vue +29 -6
|
@@ -5,6 +5,8 @@ function fileupload(fileupload: Element, wrapper: Element) {
|
|
|
5
5
|
const dropArea = wrapper.querySelector('.drop-area');
|
|
6
6
|
const input = fileupload.querySelector('input');
|
|
7
7
|
const maxSize = fileupload.hasAttribute('data-maxsize') ? fileupload.getAttribute('data-maxsize') : 0;
|
|
8
|
+
const errorMsgSize = wrapper.querySelector('.invalid-feedback.size');
|
|
9
|
+
const errorMsgExt = wrapper.querySelector('.invalid-feedback.ext');
|
|
8
10
|
|
|
9
11
|
// We clone the input field to work as a buffer input field, this allows us to add new files without losing the old ones
|
|
10
12
|
const cloneInput = input.cloneNode();
|
|
@@ -17,7 +19,7 @@ function fileupload(fileupload: Element, wrapper: Element) {
|
|
|
17
19
|
const button = event.target.closest('.btn-primary');
|
|
18
20
|
|
|
19
21
|
// If the input allows multiples then use the buffer clone input
|
|
20
|
-
const inputTrigger =
|
|
22
|
+
const inputTrigger = cloneInput;
|
|
21
23
|
|
|
22
24
|
inputTrigger.click();
|
|
23
25
|
}
|
|
@@ -50,36 +52,60 @@ function fileupload(fileupload: Element, wrapper: Element) {
|
|
|
50
52
|
|
|
51
53
|
const changeEvent = new Event('change');
|
|
52
54
|
input.dispatchEvent(changeEvent);
|
|
55
|
+
|
|
56
|
+
const elementChangeEvent = new Event('elementChange');
|
|
57
|
+
fileupload.dispatchEvent(elementChangeEvent);
|
|
53
58
|
}
|
|
54
59
|
});
|
|
55
60
|
|
|
61
|
+
|
|
62
|
+
let checkFileExt = function(filename){
|
|
63
|
+
|
|
64
|
+
if(!input.hasAttribute('accept'))
|
|
65
|
+
return true;
|
|
66
|
+
|
|
67
|
+
const nameExtension = filename.split('.').pop();
|
|
68
|
+
const acceptedTypes = input.getAttribute('accept');
|
|
69
|
+
|
|
70
|
+
if(acceptedTypes.includes(nameExtension))
|
|
71
|
+
return true;
|
|
72
|
+
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
|
|
56
76
|
// Buffer input change event
|
|
57
77
|
cloneInput.addEventListener('change', (event) => {
|
|
58
78
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
79
|
+
errorMsgExt.classList.remove('d-block');
|
|
80
|
+
errorMsgSize.classList.remove('d-block');
|
|
81
|
+
const filesArray = [...input.files, ...cloneInput.files];
|
|
82
|
+
|
|
83
|
+
let fileNames = [];
|
|
63
84
|
|
|
64
|
-
|
|
85
|
+
const dt = new DataTransfer();
|
|
65
86
|
|
|
66
|
-
|
|
67
|
-
|
|
87
|
+
for (let i = 0; i < filesArray.length; i++) {
|
|
88
|
+
const file = filesArray[i]
|
|
68
89
|
|
|
69
|
-
|
|
90
|
+
const size = file.size/1000;
|
|
91
|
+
|
|
92
|
+
if(!fileNames.includes(file.name) && (maxSize == 0 || size < maxSize) && checkFileExt(file.name))
|
|
93
|
+
dt.items.add(file) // here you exclude the file. thus removing it.
|
|
70
94
|
|
|
71
|
-
if(!fileNames.includes(file.name) && (maxSize == 0 || size < maxSize))
|
|
72
|
-
dt.items.add(file) // here you exclude the file. thus removing it.
|
|
73
95
|
|
|
74
|
-
|
|
96
|
+
if(!checkFileExt(file.name)){
|
|
97
|
+
errorMsgExt.classList.add('d-block');
|
|
75
98
|
}
|
|
76
99
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
100
|
+
if(size > maxSize){
|
|
101
|
+
errorMsgSize.classList.add('d-block');
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
fileNames.push(file.name);
|
|
82
106
|
}
|
|
107
|
+
|
|
108
|
+
input.files = dt.files;
|
|
83
109
|
|
|
84
110
|
const changeEvent = new Event('change');
|
|
85
111
|
input.dispatchEvent(changeEvent);
|
|
@@ -115,26 +141,14 @@ function fileupload(fileupload: Element, wrapper: Element) {
|
|
|
115
141
|
|
|
116
142
|
if(fileupload.hasAttribute('data-filename')){
|
|
117
143
|
|
|
144
|
+
filesWrapper.innerHTML = '';
|
|
145
|
+
|
|
118
146
|
let filename = fileupload.getAttribute('data-filename');
|
|
119
147
|
|
|
120
148
|
if(filename)
|
|
121
149
|
filesWrapper.innerHTML += `<span class="file">${filename} <button data-file="${filename}">Remove</button></span>`;
|
|
122
150
|
}
|
|
123
151
|
|
|
124
|
-
|
|
125
|
-
// Change the filename
|
|
126
|
-
wrapper.addEventListener('click', (event) => {
|
|
127
|
-
|
|
128
|
-
if (event && event.target instanceof HTMLElement && event.target.closest('.btn-primary')){
|
|
129
|
-
|
|
130
|
-
const button = event.target.closest('.btn-primary');
|
|
131
|
-
|
|
132
|
-
// If the input allows multiples then use the buffer clone input
|
|
133
|
-
const inputTrigger = input.hasAttribute('multiple') ? cloneInput : input;
|
|
134
|
-
|
|
135
|
-
inputTrigger.click();
|
|
136
|
-
}
|
|
137
|
-
});
|
|
138
152
|
}
|
|
139
153
|
|
|
140
154
|
export default fileupload;
|
|
@@ -100,6 +100,12 @@ export const addGlobalEvents = (body) => {
|
|
|
100
100
|
}
|
|
101
101
|
});
|
|
102
102
|
|
|
103
|
+
Array.from(document.querySelectorAll('label progress')).forEach((progress,index) => {
|
|
104
|
+
let label = progress.closest('label');
|
|
105
|
+
|
|
106
|
+
label.setAttribute('data-percent',progress.getAttribute('value'));
|
|
107
|
+
});
|
|
108
|
+
|
|
103
109
|
return null
|
|
104
110
|
}
|
|
105
111
|
|