* first cut * Code refactoring, styling * Added Sorting * Revert query_report to use slickgrid * cleanup * Edit cell working * Add regrid, remove datatable * Add clusterize * Update lib, fix get_checked_items * New ReportView * wip * Enable editing, fix styles * update lib * wip * fix refresh rows and editable cells * Refresh list_view every 3s, decouple refreshing logic * Report editing fixes * Cleanup loading fields, add column then refresh list * [wip] New List View * [working] Render results * ListView is now BaseList, add new ListView and GanttView * Create new page for each ListView * GanttView working * CalendarView working * KanbanView working * Cache list_view based on page_name * Gantt view buttons on mobile * Add ReportView * Refresh datatable on render * Setup like * [start][filters] clean up FilterList * [filters] refactor FilterList * [filters] minor fix * [filters] fix remove filter * filter utils * more utils, remove apply * rewrite as class, remove 'me' references * [filter] implement on_change to decouple parent functions * Integrate new filters with new BaseList * Setup freeze area for ListView * Set breadcrumbs on setup_page * Trigger list update from events * Setup footnote area * Fix Kanban Board filters * Add filters to standard filters, then filter_list * Remove old files * Fix ImageView * Some more fixes for BaseList.init * Fix order_by on load * Report View: remember columns * Fix for hidden filters * Fix for delete items * InboxView * Shift select checkboxes * Fix ESLint errors * More refactoring - Move ListMenu to Listview - New FileView - Ability to add custom breadcrumbs * FileManager working * Tags, set filters from route options * Custom Reports Working * List Sidebar reports * Report Name as title * Fix ESLint errors * Fix UI tests * Fix Kanban test * Format ID column * [fix] Kanban cards title * Checkbox fix * Fix Activity Page * Update rows in Report in place * Child Table columns in Report View
501 lines
10 KiB
CSS
501 lines
10 KiB
CSS
.result,
|
|
.no-result,
|
|
.freeze {
|
|
min-height: calc(100vh - 284px);
|
|
}
|
|
.freeze-row .level-left,
|
|
.freeze-row .level-right,
|
|
.freeze-row .list-row-col {
|
|
height: 100%;
|
|
width: 100%;
|
|
}
|
|
.freeze-row .list-row-col {
|
|
background-color: #d1d8dd;
|
|
border-radius: 2px;
|
|
animation: 2s breathe infinite;
|
|
}
|
|
@keyframes breathe {
|
|
0% {
|
|
opacity: 0.2;
|
|
}
|
|
50% {
|
|
opacity: 0.5;
|
|
}
|
|
100% {
|
|
opacity: 0.2;
|
|
}
|
|
}
|
|
.sort-selector .dropdown:hover {
|
|
text-decoration: underline;
|
|
}
|
|
.filter-list {
|
|
position: relative;
|
|
}
|
|
.filter-list .sort-selector {
|
|
position: absolute;
|
|
top: 15px;
|
|
right: 15px;
|
|
}
|
|
.tag-filters-area {
|
|
padding: 15px 15px 0px;
|
|
border-bottom: 1px solid #d1d8dd;
|
|
}
|
|
.active-tag-filters {
|
|
padding-bottom: 4px;
|
|
padding-right: 120px;
|
|
}
|
|
@media (max-width: 767px) {
|
|
.active-tag-filters {
|
|
padding-right: 80px;
|
|
}
|
|
}
|
|
.active-tag-filters .btn {
|
|
margin-bottom: 10px;
|
|
}
|
|
.active-tag-filters .btn-group {
|
|
margin-left: 10px;
|
|
white-space: nowrap;
|
|
font-size: 0;
|
|
}
|
|
.active-tag-filters .btn-group .btn-default {
|
|
background-color: transparent;
|
|
border: 1px solid #d1d8dd;
|
|
color: #8D99A6;
|
|
float: none;
|
|
}
|
|
.filter-box {
|
|
border-bottom: 1px solid #d1d8dd;
|
|
padding: 10px 15px 3px;
|
|
}
|
|
.filter-box .remove-filter {
|
|
margin-top: 6px;
|
|
margin-left: 15px;
|
|
}
|
|
.filter-box .filter-field {
|
|
padding-right: 15px;
|
|
width: calc(64%);
|
|
}
|
|
.filter-box .filter-field .frappe-control {
|
|
position: relative;
|
|
}
|
|
@media (min-width: 767px) {
|
|
.filter-box .row > div[class*="col-sm-"] {
|
|
padding-right: 0px;
|
|
}
|
|
.filter-field {
|
|
width: 65% !important;
|
|
}
|
|
.filter-field .frappe-control {
|
|
position: relative;
|
|
}
|
|
}
|
|
.list-row-container {
|
|
border-bottom: 1px solid #d1d8dd;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.list-row {
|
|
padding: 12px 15px;
|
|
height: 40px;
|
|
cursor: pointer;
|
|
transition: color 0.2s;
|
|
-webkit-transition: color 0.2s;
|
|
}
|
|
.list-row:hover {
|
|
background-color: #F7FAFC;
|
|
}
|
|
.list-row:last-child {
|
|
border-bottom: 0px;
|
|
}
|
|
.list-row .level-left {
|
|
flex: 3;
|
|
}
|
|
.list-row .level-right {
|
|
flex: 1;
|
|
}
|
|
.list-row-head {
|
|
background-color: #F7FAFC;
|
|
border-bottom: 1px solid #d1d8dd !important;
|
|
}
|
|
.list-row-head .list-subject {
|
|
font-weight: normal;
|
|
}
|
|
.list-row-head .checkbox-actions {
|
|
display: none;
|
|
}
|
|
.list-row-col {
|
|
flex: 1;
|
|
margin-right: 15px;
|
|
}
|
|
.list-subject {
|
|
flex: 2;
|
|
font-weight: bold;
|
|
justify-content: start;
|
|
}
|
|
.list-subject .level-item {
|
|
margin-right: 8px;
|
|
}
|
|
.list-subject.seen {
|
|
font-weight: normal;
|
|
}
|
|
.list-row-activity {
|
|
justify-content: flex-end;
|
|
min-width: 120px;
|
|
}
|
|
.list-row-activity .avatar:not(.avatar-empty) {
|
|
margin: 0;
|
|
}
|
|
.list-row-activity > span {
|
|
display: inline-block;
|
|
margin-left: 10px;
|
|
margin-right: 0;
|
|
}
|
|
.list-paging-area,
|
|
.footnote-area {
|
|
padding: 10px 15px;
|
|
border-top: 1px solid #d1d8dd;
|
|
overflow: auto;
|
|
}
|
|
.progress {
|
|
height: 10px;
|
|
}
|
|
.likes-count {
|
|
display: none;
|
|
}
|
|
.list-liked-by-me {
|
|
margin-bottom: 1px;
|
|
}
|
|
input.list-check-all,
|
|
input.list-row-checkbox {
|
|
margin-top: 0px;
|
|
}
|
|
.filterable {
|
|
cursor: pointer;
|
|
}
|
|
.listview-main-section .octicon-heart {
|
|
cursor: pointer;
|
|
}
|
|
.listview-main-section .page-form {
|
|
padding-left: 17px;
|
|
}
|
|
@media (max-width: 991px) {
|
|
.listview-main-section .page-form {
|
|
padding-left: 25px;
|
|
}
|
|
}
|
|
.listview-main-section .page-form .octicon-search {
|
|
float: left;
|
|
padding-top: 7px;
|
|
margin-left: -4px;
|
|
margin-right: -4px;
|
|
}
|
|
@media (max-width: 991px) {
|
|
.listview-main-section .page-form .octicon-search {
|
|
margin-left: -12px;
|
|
}
|
|
}
|
|
.like-action.octicon-heart {
|
|
color: #ff5858;
|
|
}
|
|
.list-comment-count {
|
|
display: inline-block;
|
|
width: 37px;
|
|
text-align: left;
|
|
}
|
|
.result.tags-shown .tag-row {
|
|
display: block;
|
|
}
|
|
.tag-row {
|
|
display: none;
|
|
margin-left: 50px;
|
|
}
|
|
.taggle_placeholder {
|
|
top: 0;
|
|
left: 5px;
|
|
font-size: 11px;
|
|
color: #8D99A6;
|
|
}
|
|
.taggle_list {
|
|
padding-left: 5px;
|
|
margin-bottom: 3px;
|
|
}
|
|
.taggle_list .taggle {
|
|
font-size: 11px;
|
|
padding: 2px 4px;
|
|
font-weight: normal;
|
|
background-color: #F0F4F7;
|
|
white-space: normal;
|
|
}
|
|
.taggle_list .taggle:hover {
|
|
padding: 2px 15px 2px 4px;
|
|
background: #cfdce5;
|
|
transition: all .2s;
|
|
}
|
|
.taggle_list li {
|
|
margin-bottom: 0;
|
|
}
|
|
.taggle_list li .awesomplete > ul > li {
|
|
width: 100%;
|
|
}
|
|
.taggle_list li .awesomplete > ul {
|
|
top: 15px;
|
|
z-index: 100;
|
|
}
|
|
.taggle_list .close {
|
|
right: 5px;
|
|
color: #36414C;
|
|
font-size: 11px;
|
|
}
|
|
.page-form .awesomplete > ul {
|
|
min-width: 300px;
|
|
}
|
|
.taggle_input {
|
|
padding: 0;
|
|
margin-top: 3px;
|
|
font-size: 11px;
|
|
max-width: 100px;
|
|
}
|
|
.image-view-container {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
}
|
|
.image-view-container .image-view-row {
|
|
display: flex;
|
|
border-bottom: 1px solid #ebeff2;
|
|
}
|
|
.image-view-container .image-view-item {
|
|
flex: 0 0 25%;
|
|
padding: 15px;
|
|
border-bottom: 1px solid #EBEFF2;
|
|
border-right: 1px solid #EBEFF2;
|
|
max-width: 25%;
|
|
}
|
|
.image-view-container .image-view-item:nth-child(4n) {
|
|
border-right: none;
|
|
}
|
|
.image-view-container .image-view-item:nth-last-child(-n + 4):nth-child(4n + 1),
|
|
.image-view-container .image-view-item:nth-last-child(-n + 4):nth-child(4n + 1) ~ .image-view-item {
|
|
border-bottom: none;
|
|
}
|
|
.image-view-container .image-view-header {
|
|
margin-bottom: 10px;
|
|
}
|
|
.image-view-container .image-view-body:hover .zoom-view {
|
|
opacity: 0.7;
|
|
}
|
|
.image-view-container .image-view-body a {
|
|
text-decoration: none;
|
|
}
|
|
.image-view-container .image-field {
|
|
display: flex;
|
|
align-content: center;
|
|
align-items: center;
|
|
justify-content: center;
|
|
position: relative;
|
|
height: 200px;
|
|
padding: 15px;
|
|
}
|
|
.image-view-container .image-field img {
|
|
max-height: 100%;
|
|
}
|
|
.image-view-container .image-field.no-image {
|
|
background-color: #fafbfc;
|
|
}
|
|
.image-view-container .placeholder-text {
|
|
font-size: 72px;
|
|
color: #d1d8dd;
|
|
}
|
|
.image-view-container .zoom-view {
|
|
bottom: 10px !important;
|
|
right: 10px !important;
|
|
width: 36px;
|
|
height: 36px;
|
|
opacity: 0;
|
|
font-size: 16px;
|
|
color: #36414C;
|
|
position: absolute;
|
|
}
|
|
@media (max-width: 767px) {
|
|
.image-view-container .zoom-view {
|
|
opacity: 0.5;
|
|
}
|
|
}
|
|
@media (max-width: 991px) {
|
|
.image-view-container .image-view-item {
|
|
flex: 0 0 33.33333333%;
|
|
max-width: 33.33333333%;
|
|
}
|
|
.image-view-container .image-view-item:nth-child(3n) {
|
|
border-right: none;
|
|
}
|
|
.image-view-container .image-view-item:nth-last-child(-n + 3):nth-child(3n + 1),
|
|
.image-view-container .image-view-item:nth-last-child(-n + 3):nth-child(3n + 1) ~ .image-view-item {
|
|
border-bottom: none;
|
|
}
|
|
.image-view-container .image-view-item:nth-child(4n) {
|
|
border-right: 1px solid #EBEFF2;
|
|
}
|
|
.image-view-container .image-view-item:nth-last-child(-n + 4):nth-child(4n + 1),
|
|
.image-view-container .image-view-item:nth-last-child(-n + 4):nth-child(4n + 1) ~ .image-view-item {
|
|
border-bottom: 1px solid #EBEFF2;
|
|
}
|
|
}
|
|
.item-selector {
|
|
border: 1px solid #d1d8dd;
|
|
}
|
|
.item-selector .image-view-row {
|
|
width: 100%;
|
|
}
|
|
.item-selector .image-field {
|
|
height: 120px;
|
|
}
|
|
.item-selector .placeholder-text {
|
|
font-size: 48px;
|
|
}
|
|
.image-view-container.three-column .image-view-item {
|
|
flex: 0 0 33.33333333%;
|
|
max-width: 33.33333333%;
|
|
}
|
|
.image-view-container.three-column .image-view-item:nth-child(3n) {
|
|
border-right: none;
|
|
}
|
|
.image-view-container.three-column .image-view-item:nth-last-child(-n + 3):nth-child(3n + 1),
|
|
.image-view-container.three-column .image-view-item:nth-last-child(-n + 3):nth-child(3n + 1) ~ .image-view-item {
|
|
border-bottom: none;
|
|
}
|
|
.image-view-container.three-column .image-view-item:nth-child(4n) {
|
|
border-right: 1px solid #EBEFF2;
|
|
}
|
|
.image-view-container.three-column .image-view-item:nth-last-child(-n + 4):nth-child(4n + 1),
|
|
.image-view-container.three-column .image-view-item:nth-last-child(-n + 4):nth-child(4n + 1) ~ .image-view-item {
|
|
border-bottom: 1px solid #EBEFF2;
|
|
}
|
|
.pswp--svg .pswp__button,
|
|
.pswp--svg .pswp__button--arrow--left:before,
|
|
.pswp--svg .pswp__button--arrow--right:before {
|
|
background-image: url('/assets/frappe/images/default-skin.svg') !important;
|
|
}
|
|
.pswp--svg .pswp__button--arrow--left,
|
|
.pswp--svg .pswp__button--arrow--right {
|
|
background: none !important;
|
|
}
|
|
.pswp__bg {
|
|
background-color: #fff !important;
|
|
}
|
|
.pswp__more-items {
|
|
position: absolute;
|
|
bottom: 12px;
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
}
|
|
.pswp__more-item {
|
|
display: inline-block;
|
|
margin: 5px;
|
|
height: 100px;
|
|
cursor: pointer;
|
|
border: 1px solid #d1d8dd;
|
|
}
|
|
.pswp__more-item img {
|
|
max-height: 100%;
|
|
}
|
|
.list-paging-area .gantt-view-mode {
|
|
margin-left: 15px;
|
|
margin-right: 15px;
|
|
}
|
|
.gantt .details-container .heading {
|
|
margin-bottom: 10px;
|
|
font-size: 12px;
|
|
}
|
|
.gantt .details-container .avatar-small {
|
|
width: 16px;
|
|
height: 16px;
|
|
}
|
|
.gantt .details-container .standard-image {
|
|
display: block;
|
|
}
|
|
.inbox-attachment,
|
|
.inbox-link {
|
|
margin-right: 7px;
|
|
}
|
|
.select-inbox {
|
|
padding: 30px 30px;
|
|
}
|
|
.inbox-value {
|
|
padding-top: 2px;
|
|
}
|
|
.list-items {
|
|
width: 100%;
|
|
}
|
|
.list-item-container {
|
|
border-bottom: 1px solid #d1d8dd;
|
|
}
|
|
.list-item-container:last-child {
|
|
border-bottom: none;
|
|
}
|
|
.list-item-table {
|
|
border: 1px solid #d1d8dd;
|
|
border-radius: 3px;
|
|
}
|
|
.list-item {
|
|
display: flex;
|
|
align-items: center;
|
|
cursor: pointer;
|
|
height: 40px;
|
|
padding-left: 15px;
|
|
font-size: 12px;
|
|
}
|
|
.list-item:hover {
|
|
background-color: #F7FAFC;
|
|
}
|
|
@media (max-width: 767px) {
|
|
.list-item {
|
|
height: 50px;
|
|
padding-left: 10px;
|
|
font-size: 14px;
|
|
font-weight: normal;
|
|
}
|
|
}
|
|
.list-item--head {
|
|
background-color: #F7FAFC;
|
|
border-bottom: 1px solid #d1d8dd;
|
|
cursor: auto;
|
|
}
|
|
.list-item input[type=checkbox] {
|
|
margin: 0;
|
|
margin-right: 5px;
|
|
flex: 0 0 12px;
|
|
}
|
|
.list-item .liked-by,
|
|
.list-item .liked-by-filter-button {
|
|
display: inline-block;
|
|
width: 20px;
|
|
margin-right: 10px;
|
|
}
|
|
.list-item__content {
|
|
flex: 1;
|
|
margin-right: 15px;
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
.list-item__content--flex-2 {
|
|
flex: 2;
|
|
}
|
|
.list-item__content--activity {
|
|
justify-content: flex-end;
|
|
margin-right: 5px;
|
|
min-width: 110px;
|
|
}
|
|
.list-item__content--activity .list-row-modified,
|
|
.list-item__content--activity .avatar-small {
|
|
margin-right: 10px;
|
|
}
|
|
.list-item__content--indicator span::before {
|
|
height: 12px;
|
|
width: 12px;
|
|
}
|
|
.list-item__content--id {
|
|
justify-content: flex-end;
|
|
}
|
|
.frappe-timestamp {
|
|
white-space: nowrap;
|
|
}
|