@iamproperty/components 3.7.3 → 3.7.5
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/dialog.css +1 -1
- package/assets/css/components/dialog.css.map +1 -1
- package/assets/css/components/notification.css +1 -0
- package/assets/css/components/notification.css.map +1 -0
- package/assets/css/components/table.css +1 -1
- package/assets/css/components/table.css.map +1 -1
- package/assets/css/components/tooltips.css +1 -1
- package/assets/css/components/tooltips.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/bundle.js +3 -0
- package/assets/js/components/accordion/accordion.component.js +5 -5
- package/assets/js/components/accordion/accordion.component.min.js +6 -5
- package/assets/js/components/accordion/accordion.component.min.js.map +1 -1
- package/assets/js/components/applied-filters/applied-filters.component.js +10 -3
- package/assets/js/components/applied-filters/applied-filters.component.min.js +5 -5
- package/assets/js/components/applied-filters/applied-filters.component.min.js.map +1 -1
- package/assets/js/components/card/card.component.js +11 -3
- package/assets/js/components/card/card.component.min.js +6 -6
- package/assets/js/components/card/card.component.min.js.map +1 -1
- package/assets/js/components/filterlist/filterlist.component.js +2 -1
- package/assets/js/components/filterlist/filterlist.component.min.js +4 -4
- package/assets/js/components/filterlist/filterlist.component.min.js.map +1 -1
- package/assets/js/components/header/header.component.js +3 -5
- package/assets/js/components/header/header.component.min.js +4 -8
- package/assets/js/components/header/header.component.min.js.map +1 -1
- package/assets/js/components/notification/notification.component.js +71 -0
- package/assets/js/components/notification/notification.component.min.js +18 -0
- package/assets/js/components/notification/notification.component.min.js.map +1 -0
- package/assets/js/components/pagination/pagination.component.js +6 -3
- package/assets/js/components/pagination/pagination.component.min.js +12 -10
- package/assets/js/components/pagination/pagination.component.min.js.map +1 -1
- package/assets/js/components/table/table.component.js +6 -3
- package/assets/js/components/table/table.component.min.js +14 -12
- package/assets/js/components/table/table.component.min.js.map +1 -1
- package/assets/js/components/tabs/tabs.component.js +2 -1
- package/assets/js/components/tabs/tabs.component.min.js +3 -3
- package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
- package/assets/js/dynamic.js +3 -0
- package/assets/js/dynamic.min.js +14 -2
- package/assets/js/dynamic.min.js.map +1 -1
- package/assets/js/flat-components.js +6 -0
- package/assets/js/modules/dialogs.js +8 -1
- package/assets/js/modules/helpers.js +13 -0
- package/assets/js/modules/notification.js +53 -0
- package/assets/js/modules/table.js +10 -3
- package/assets/js/scripts.bundle.js +47 -35
- 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 +1 -1
- package/assets/sass/_corefiles.scss +1 -0
- package/assets/sass/components/card.scss +9 -5
- package/assets/sass/components/dialog.scss +52 -14
- package/assets/sass/components/notification.scss +195 -0
- package/assets/sass/components/table.scss +22 -12
- package/assets/sass/components/tooltips.scss +137 -49
- package/assets/sass/foundations/buttons.scss +1 -1
- package/assets/sass/foundations/reboot.scss +80 -3
- package/assets/sass/foundations/root.scss +3 -3
- package/assets/ts/bundle.ts +4 -0
- package/assets/ts/components/accordion/accordion.component.ts +6 -8
- package/assets/ts/components/applied-filters/applied-filters.component.ts +12 -3
- package/assets/ts/components/card/card.component.ts +16 -4
- package/assets/ts/components/filterlist/filterlist.component.ts +4 -2
- package/assets/ts/components/header/header.component.ts +4 -5
- package/assets/ts/components/notification/README.md +32 -0
- package/assets/ts/components/notification/notification.component.ts +90 -0
- package/assets/ts/components/pagination/pagination.component.ts +7 -3
- package/assets/ts/components/table/table.component.ts +8 -4
- package/assets/ts/components/tabs/tabs.component.ts +3 -1
- package/assets/ts/dynamic.ts +6 -0
- package/assets/ts/flat-components.ts +8 -0
- package/assets/ts/modules/dialogs.ts +11 -4
- package/assets/ts/modules/helpers.ts +17 -0
- package/assets/ts/modules/notification.ts +76 -0
- package/assets/ts/modules/table.ts +13 -4
- package/dist/components.es.js +1027 -977
- package/dist/components.umd.js +67 -36
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/src/components/Accordion/Accordion.vue +1 -1
- package/src/components/AppliedFilters/AppliedFilters.vue +1 -1
- package/src/components/Filterlist/Filterlist.vue +1 -1
- package/src/components/Header/Header.vue +9 -5
- package/src/components/Notification/Notification.vue +24 -0
- package/src/components/Notification/README.md +32 -0
- package/src/components/Pagination/Pagination.vue +1 -1
- package/src/components/Table/Table.vue +1 -1
- package/src/components/Tabs/Tabs.vue +1 -1
- package/src/index.js +2 -1
- package/assets/css/components/alert.css +0 -1
- package/assets/css/components/alert.css.map +0 -1
- package/assets/js/modules/alert.js +0 -41
- package/assets/sass/components/alert.scss +0 -121
- package/assets/ts/modules/alert.ts +0 -58
- package/src/components/Alert/Alert.spec.js +0 -49
- package/src/components/Alert/Alert.vue +0 -39
- package/src/components/Alert/README.md +0 -29
- package/src/components/Header/Header.spec.js +0 -34
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
function setupNotification(element) {
|
|
3
|
+
|
|
4
|
+
// Add toast to notification holder
|
|
5
|
+
if(element.hasAttribute('data-type') && element.getAttribute('data-type') == "toast"){
|
|
6
|
+
let holder = document.querySelector('.notification__holder');
|
|
7
|
+
|
|
8
|
+
if(!holder){
|
|
9
|
+
|
|
10
|
+
holder = document.createElement('div');
|
|
11
|
+
holder.classList.add('notification__holder');
|
|
12
|
+
holder.classList.add('container');
|
|
13
|
+
document.querySelector('body').appendChild(holder);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
if(!element.closest('.notification__holder'))
|
|
17
|
+
holder.appendChild(element);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
element.setAttribute('role','alert');
|
|
21
|
+
|
|
22
|
+
// Create a dissmissable button
|
|
23
|
+
element.addEventListener('click', function(e){
|
|
24
|
+
|
|
25
|
+
if (event && event.target instanceof HTMLElement && event.target.closest('[data-dismiss-button]')){
|
|
26
|
+
|
|
27
|
+
e.preventDefault();
|
|
28
|
+
closeNotification(element);
|
|
29
|
+
}
|
|
30
|
+
}, false);
|
|
31
|
+
|
|
32
|
+
// Self disappearing alert
|
|
33
|
+
if(element.hasAttribute('data-timeout')){
|
|
34
|
+
|
|
35
|
+
let timeOut = element.getAttribute('data-timeout');
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
var timer = new Timer(function() {
|
|
39
|
+
closeNotification(element);
|
|
40
|
+
}, timeOut);
|
|
41
|
+
|
|
42
|
+
element.addEventListener("mouseenter", (event) => {
|
|
43
|
+
|
|
44
|
+
timer.pause();
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
element.addEventListener("mouseleave", (event) => {
|
|
48
|
+
|
|
49
|
+
timer.resume();
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
function Timer(callback, delay) {
|
|
55
|
+
var timerId, start, remaining = delay;
|
|
56
|
+
|
|
57
|
+
this.pause = function() {
|
|
58
|
+
window.clearTimeout(timerId);
|
|
59
|
+
remaining -= new Date() - start;
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
this.resume = function() {
|
|
63
|
+
start = new Date();
|
|
64
|
+
window.clearTimeout(timerId);
|
|
65
|
+
timerId = window.setTimeout(callback, remaining);
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
this.resume();
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export const closeNotification = function(element) {
|
|
72
|
+
|
|
73
|
+
element.classList.add('d-none');
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export default setupNotification
|
|
@@ -11,7 +11,7 @@ export const addDataAttributes = (table) => {
|
|
|
11
11
|
colRows.forEach((row, index) => {
|
|
12
12
|
|
|
13
13
|
const cells = Array.from(row.querySelectorAll('th, td'));
|
|
14
|
-
const statuses = ['0','low','medium','high','unknown','n/a','pending','verified','incomplete','completed','requires approval'];
|
|
14
|
+
const statuses = ['0','low','medium','high','unknown','n/a','pending','verified','overdue','incomplete','complete','completed','approval required','requires approval','to do','not started','warning','error'];
|
|
15
15
|
|
|
16
16
|
cells.forEach((cell, cellIndex) => {
|
|
17
17
|
|
|
@@ -696,6 +696,11 @@ export const addPaginationEventListeners = function(table, form, pagination, wra
|
|
|
696
696
|
url.searchParams.set("page", newPage);
|
|
697
697
|
history.pushState({'type':'pagination','form':form.getAttribute('id'),'page':newPage}, "", url)
|
|
698
698
|
}
|
|
699
|
+
|
|
700
|
+
// scroll back to the top of the table
|
|
701
|
+
const yOffset = -250;
|
|
702
|
+
const y = table.getBoundingClientRect().top + window.pageYOffset + yOffset;
|
|
703
|
+
window.scrollTo({top: y, behavior: 'smooth'});
|
|
699
704
|
}
|
|
700
705
|
|
|
701
706
|
if (event && event.target instanceof HTMLElement && event.target.closest('[data-show]')){
|
|
@@ -776,8 +781,12 @@ export const makeTableFunctional = function(table, form, pagination, wrapper){
|
|
|
776
781
|
// Work out the largest width of the CTA's in the last column
|
|
777
782
|
if(wrapper && wrapper.classList.contains('table--cta')){
|
|
778
783
|
|
|
779
|
-
|
|
780
|
-
|
|
784
|
+
if(!wrapper.hasAttribute('data-cta-width')){
|
|
785
|
+
|
|
786
|
+
const largestWidth = getLargestLastColWidth(table);
|
|
787
|
+
wrapper.style.setProperty("--cta-width", `${largestWidth}rem`);
|
|
788
|
+
wrapper.setAttribute("data-cta-width", `${largestWidth}rem`);
|
|
789
|
+
}
|
|
781
790
|
|
|
782
791
|
function outputsize() {
|
|
783
792
|
|
|
@@ -910,7 +919,7 @@ export const loadAjaxTable = async function (table, form, pagination, wrapper){
|
|
|
910
919
|
wrapper.setAttribute('data-page', parseInt(currentPage));
|
|
911
920
|
wrapper.setAttribute('data-pages', Math.ceil(wrapper.getAttribute('data-total') / wrapper.getAttribute('data-show')));
|
|
912
921
|
|
|
913
|
-
makeTableFunctional(table, form, pagination, wrapper);
|
|
922
|
+
makeTableFunctional(table, form, pagination, wrapper);
|
|
914
923
|
createPaginationButttons(wrapper, pagination);
|
|
915
924
|
|
|
916
925
|
if(parseInt(totalNumber) == 0){
|