@@ -293,4 +297,31 @@ export default {
.static-header {
position: static !important;
}
+.contracted-menu {
+ width: 40px;
+ height: 40px;
+ box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.15);
+ border-radius: 4px;
+ background-color: #FFFFFF;
+}
+.static-header:hover {
+ background-color: #EBEEF2;
+ border-radius: 4px;
+}
+.expanded-menu {
+ color: #556271;
+ text-transform: none;
+ border-radius: 4px;
+ font-size: 16px;
+}
+.ellipsis-icon-v {
+ height: 16px;
+ width: 16px;
+}
+.ellipsis-tooltip {
+ border-radius: 4px;
+}
+.ellipsis-tooltip .arrow {
+ display: none;
+}
diff --git a/resources/js/components/shared/FilterTable.vue b/resources/js/components/shared/FilterTable.vue
index c7f6215aef..e982e14da5 100644
--- a/resources/js/components/shared/FilterTable.vue
+++ b/resources/js/components/shared/FilterTable.vue
@@ -21,7 +21,8 @@
:id="`${tableName}-column-${index}`"
:key="index"
class="pm-table-ellipsis-column"
- :class="{ 'pm-table-filter-applied': column.filterApplied }"
+ :class="{ 'pm-table-filter-applied': column.filterApplied || column.sortAsc || column.sortDesc }"
+ :style="{ width: column.fixed_width + 'px' }"
>
@@ -180,6 +184,7 @@ export default {
startX: 0,
startWidth: 0,
resizingColumnIndex: -1,
+ originalWidths: [],
};
},
computed: {
@@ -212,6 +217,9 @@ export default {
},
calculateColumnWidth(widthAdjust = 1) {
this.visibleHeaders.forEach((headerColumn, index) => {
+ if (!this.originalWidths[index]) {
+ this.originalWidths[index] = headerColumn.width || this.calculateContent(index);
+ }
if (this.calculateContent(index) !== 0) {
headerColumn.width = (this.calculateContent(index) * widthAdjust) - 32;
}
@@ -250,6 +258,11 @@ export default {
this.resizingColumnIndex = -1;
}
},
+ resetSize(index) {
+ if (this.originalWidths[index]) {
+ this.visibleHeaders[index].width = this.originalWidths[index];
+ }
+ },
handleRowClick(row, event) {
this.$emit("table-row-click", row, event);
},
@@ -279,8 +292,6 @@ export default {
border-right: 1px solid rgba(0, 0, 0, 0.125);
border-bottom: 1px solid rgba(0, 0, 0, 0.125);
border-radius: 5px;
- scrollbar-width: 8px;
- scrollbar-color: #6C757D;
max-height: calc(100vh - 150px);
overflow: hidden;
}
@@ -306,9 +317,12 @@ export default {
transform: translateY(-50%);
height: 85%;
width: 10px;
- cursor: col-resize;
+ cursor: default;
border-right: 1px solid rgba(0, 0, 0, 0.125);
}
+.pm-table-column-resizer.resizable {
+ cursor: col-resize;
+}
.pm-table-filter {
width: 100%;
max-height: 400px;
@@ -326,12 +340,17 @@ export default {
height: 56px;
}
.pm-table-filter th:hover {
- background-color: #FAFBFC;
+ background-color: #F2F8FE;
color: #1572C2;
}
.pm-table-filter tbody tr:hover {
- background-color: #FAFBFC;
- color: #1572C2;
+ background-color: #EFF5FB;
+}
+.pm-table-filter tbody tr a {
+ color: #566877;
+}
+.pm-table-filter tbody tr a:hover {
+ color: #1990FF;
}
.pm-table-filter thead {
position: sticky;
@@ -363,6 +382,10 @@ export default {
opacity: 0;
visibility: hidden;
}
+.pm-table-filter-applied .pm-table-filter-button {
+ opacity: 1;
+ visibility: visible;
+}
.pm-table-ellipsis-column:hover .pm-table-filter-button {
opacity: 1;
visibility: visible;
@@ -406,26 +429,38 @@ export default {
color: #1572C2;
background-color: #F2F8FE !important;
}
+.pm-table-filter-applied-tbody {
+ background-color: rgba(247, 249, 251, 1) !important;
+}
.pm-table-unread-row {
- font-weight: bold;
+ background-color: #FFFDEA;
}
.status-success {
- background-color: rgba(78, 160, 117, 0.2);
- color: rgba(78, 160, 117, 1);
+ background-color: rgba(200, 240, 207, 1);
+ color: rgba(0, 0, 0, 0.75);
width: 100px;
border-radius: 5px;
+ padding: 7px;
}
.status-danger {
- background-color:rgba(237, 72, 88, 0.2);
- color: rgba(237, 72, 88, 1);
+ background-color:rgba(255, 199, 199, 1);
+ color: rgba(0, 0, 0, 0.75);
width: 100px;
border-radius: 5px;
+ padding: 7px;
}
.status-primary {
- background: rgba(21, 114, 194, 0.2);
- color: rgba(21, 114, 194, 1);
+ background: rgba(184, 220, 247, 1);
+ color: rgba(0, 0, 0, 0.75);
width: 100px;
border-radius: 5px;
+ padding: 7px;
+}
+.status-warning {
+ background: rgba(249, 232, 195, 1);
+ color: rgba(0, 0, 0, 0.75);
+ border-radius: 5px;
+ padding: 7px;
}
@-moz-document url-prefix() {
.pm-table-truncate {
@@ -434,14 +469,6 @@ export default {
white-space: nowrap;
}
}
-.pm-table-container::-webkit-scrollbar {
- width: 8px;
- height: 8px;
-}
-.pm-table-container::-webkit-scrollbar-thumb {
- background-color: #6C757D;
- border-radius: 20px;
-}
.ellipsis-dropdown-main ul.dropdown-menu.dropdown-menu-right.show {
max-height: 250px;
overflow-y: auto;
diff --git a/resources/js/components/shared/FilterTableBodyMixin.js b/resources/js/components/shared/FilterTableBodyMixin.js
index d153cd7fb0..a5ceec47a1 100644
--- a/resources/js/components/shared/FilterTableBodyMixin.js
+++ b/resources/js/components/shared/FilterTableBodyMixin.js
@@ -34,7 +34,8 @@ export default {
this.page = page;
this.fetch();
},
- changePerPage(value) {
+ changePerPage(value, page) {
+ this.page = page;
this.perPage = value;
this.fetch();
},
@@ -81,6 +82,6 @@ export default {
if (e.target.offsetWidth >= e.target.scrollWidth) {
e.preventDefault();
}
- }
+ },
},
};
diff --git a/resources/js/components/shared/PaginationTable.vue b/resources/js/components/shared/PaginationTable.vue
index 0323ebb1cf..e5581f48be 100644
--- a/resources/js/components/shared/PaginationTable.vue
+++ b/resources/js/components/shared/PaginationTable.vue
@@ -1,29 +1,51 @@
|