mirror of
https://github.com/Alfresco/alfresco-content-app.git
synced 2025-07-31 17:38:28 +00:00
[ACA-1245] Document List - pagination is missing (#260)
* refactor styling * disable :hoover in empty folders content
This commit is contained in:
committed by
Denys Vuika
parent
c8ace1f5f1
commit
330b795aa6
@@ -1,15 +1,11 @@
|
|||||||
|
@import 'mixins';
|
||||||
|
|
||||||
:host {
|
:host {
|
||||||
display: block;
|
@include flex-column;
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ng-content {
|
ng-content {
|
||||||
display: block;
|
@include flex-column;
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.sidenav--hidden {
|
.sidenav--hidden {
|
||||||
@@ -20,10 +16,7 @@ ng-content {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.mat-sidenav-container {
|
.mat-sidenav-container {
|
||||||
display: block;
|
@include flex-column;
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.mat-sidenav {
|
.mat-sidenav {
|
||||||
|
@@ -1,9 +1,10 @@
|
|||||||
|
@import 'mixins';
|
||||||
|
|
||||||
:host {
|
:host {
|
||||||
display: flex;
|
@include flex-column;
|
||||||
flex: 1;
|
|
||||||
|
|
||||||
.sidenav-layout {
|
.sidenav-layout {
|
||||||
width: 100%;
|
@include flex-column;
|
||||||
}
|
}
|
||||||
|
|
||||||
router-outlet {
|
router-outlet {
|
||||||
|
@@ -97,9 +97,9 @@
|
|||||||
</adf-toolbar>
|
</adf-toolbar>
|
||||||
</div>
|
</div>
|
||||||
<div class="inner-layout__content">
|
<div class="inner-layout__content">
|
||||||
<div class="inner-layout__panel">
|
<div class="inner-layout__panel" [ngClass]="{'adf-document-list--loading': documentList.isEmpty()}">
|
||||||
<adf-document-list #documentList
|
<adf-document-list #documentList
|
||||||
[attr.class]="documentList.isEmpty() ? 'empty-list' : ''"
|
[attr.class]="documentList.isEmpty() ? 'adf-document-list--empty' : ''"
|
||||||
currentFolderId="-favorites-"
|
currentFolderId="-favorites-"
|
||||||
selectionMode="multiple"
|
selectionMode="multiple"
|
||||||
[navigate]="false"
|
[navigate]="false"
|
||||||
@@ -167,10 +167,13 @@
|
|||||||
|
|
||||||
</data-columns>
|
</data-columns>
|
||||||
</adf-document-list>
|
</adf-document-list>
|
||||||
<adf-pagination [ngClass]="{ 'no-border' : documentList.isEmpty()}"
|
|
||||||
[target]="documentList"
|
<ng-container *ngIf="!documentList.isEmpty()">
|
||||||
(changePageSize)="onChangePageSize($event)">
|
<adf-pagination
|
||||||
</adf-pagination>
|
[target]="documentList"
|
||||||
|
(changePageSize)="onChangePageSize($event)">
|
||||||
|
</adf-pagination>
|
||||||
|
</ng-container>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="inner-layout__side-panel"
|
<div class="inner-layout__side-panel"
|
||||||
|
@@ -101,18 +101,18 @@
|
|||||||
</adf-toolbar>
|
</adf-toolbar>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div [attr.class]="isValidPath ? 'content--hide' : 'inner-layout__content'">
|
<div [attr.class]="isValidPath ? 'inner-layout__content--hide' : 'inner-layout__content'">
|
||||||
<app-generic-error></app-generic-error>
|
<app-generic-error></app-generic-error>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div [attr.class]="!isValidPath ? 'content--hide' : 'inner-layout__content'">
|
<div [attr.class]="!isValidPath ? 'inner-layout__content--hide' : 'inner-layout__content'">
|
||||||
<div class="inner-layout__panel">
|
<div class="inner-layout__panel" [ngClass]="{'adf-document-list--loading': isLoading}">
|
||||||
<adf-upload-drag-area
|
<adf-upload-drag-area
|
||||||
[parentId]="node?.id"
|
[parentId]="node?.id"
|
||||||
[disabled]="!canCreateContent(node)">
|
[disabled]="!canCreateContent(node)">
|
||||||
|
|
||||||
<adf-document-list #documentList
|
<adf-document-list #documentList
|
||||||
[attr.class]="documentList.isEmpty() ? 'empty-list' : ''"
|
[attr.class]="documentList.isEmpty() ? 'adf-document-list--empty' : ''"
|
||||||
[loading]="isLoading"
|
[loading]="isLoading"
|
||||||
[node]="paging"
|
[node]="paging"
|
||||||
[sorting]="sorting"
|
[sorting]="sorting"
|
||||||
|
@@ -7,9 +7,9 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="inner-layout__content">
|
<div class="inner-layout__content">
|
||||||
<div class="inner-layout__panel">
|
<div class="inner-layout__panel" [ngClass]="{'adf-document-list--loading': isLoading}">
|
||||||
<adf-document-list #documentList
|
<adf-document-list #documentList
|
||||||
[attr.class]="documentList.isEmpty() ? 'empty-list' : ''"
|
[attr.class]="documentList.isEmpty() ? 'adf-document-list--empty' : ''"
|
||||||
currentFolderId="-mysites-"
|
currentFolderId="-mysites-"
|
||||||
selectionMode="none"
|
selectionMode="none"
|
||||||
[navigate]="false"
|
[navigate]="false"
|
||||||
@@ -66,10 +66,12 @@
|
|||||||
</data-columns>
|
</data-columns>
|
||||||
</adf-document-list>
|
</adf-document-list>
|
||||||
|
|
||||||
<adf-pagination [ngClass]="{ 'no-border' : documentList.isEmpty()}"
|
<ng-container *ngIf="!documentList.isEmpty()">
|
||||||
[target]="documentList"
|
<adf-pagination
|
||||||
(changePageSize)="onChangePageSize($event)">
|
[target]="documentList"
|
||||||
</adf-pagination>
|
(changePageSize)="onChangePageSize($event)">
|
||||||
|
</adf-pagination>
|
||||||
|
</ng-container>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@@ -91,9 +91,9 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="inner-layout__content">
|
<div class="inner-layout__content">
|
||||||
<div class="inner-layout__panel">
|
<div class="inner-layout__panel" [ngClass]="{'adf-document-list--loading': documentList.isEmpty()}">
|
||||||
<adf-document-list #documentList
|
<adf-document-list #documentList
|
||||||
[attr.class]="documentList.isEmpty() ? 'empty-list' : ''"
|
[attr.class]="documentList.isEmpty() ? 'adf-document-list--empty' : ''"
|
||||||
currentFolderId="-recent-"
|
currentFolderId="-recent-"
|
||||||
selectionMode="multiple"
|
selectionMode="multiple"
|
||||||
[navigate]="false"
|
[navigate]="false"
|
||||||
@@ -156,10 +156,13 @@
|
|||||||
</data-columns>
|
</data-columns>
|
||||||
|
|
||||||
</adf-document-list>
|
</adf-document-list>
|
||||||
<adf-pagination [ngClass]="{'no-border' : documentList.isEmpty()}"
|
|
||||||
[target]="documentList"
|
<ng-container *ngIf="!documentList.isEmpty()">
|
||||||
(changePageSize)="onChangePageSize($event)">
|
<adf-pagination
|
||||||
</adf-pagination>
|
[target]="documentList"
|
||||||
|
(changePageSize)="onChangePageSize($event)">
|
||||||
|
</adf-pagination>
|
||||||
|
</ng-container>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="inner-layout__side-panel"
|
<div class="inner-layout__side-panel"
|
||||||
|
@@ -99,9 +99,9 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="inner-layout__content">
|
<div class="inner-layout__content">
|
||||||
<div class="inner-layout__panel">
|
<div class="inner-layout__panel" [ngClass]="{'adf-document-list--loading': documentList.isEmpty()}">
|
||||||
<adf-document-list #documentList
|
<adf-document-list #documentList
|
||||||
[attr.class]="documentList.isEmpty() ? 'empty-list' : ''"
|
[attr.class]="documentList.isEmpty() ? 'adf-document-list--empty' : ''"
|
||||||
currentFolderId="-sharedlinks-"
|
currentFolderId="-sharedlinks-"
|
||||||
selectionMode="multiple"
|
selectionMode="multiple"
|
||||||
[sorting]="sorting"
|
[sorting]="sorting"
|
||||||
@@ -173,10 +173,13 @@
|
|||||||
|
|
||||||
</data-columns>
|
</data-columns>
|
||||||
</adf-document-list>
|
</adf-document-list>
|
||||||
<adf-pagination [ngClass]="{ 'no-border' :documentList.isEmpty()}"
|
|
||||||
[target]="documentList"
|
<ng-container *ngIf="!documentList.isEmpty()">
|
||||||
(changePageSize)="onChangePageSize($event)">
|
<adf-pagination
|
||||||
</adf-pagination>
|
[target]="documentList"
|
||||||
|
(changePageSize)="onChangePageSize($event)">
|
||||||
|
</adf-pagination>
|
||||||
|
</ng-container>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="inner-layout__side-panel"
|
<div class="inner-layout__side-panel"
|
||||||
|
@@ -27,9 +27,9 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="inner-layout__content">
|
<div class="inner-layout__content">
|
||||||
<div class="inner-layout__panel">
|
<div class="inner-layout__panel" [ngClass]="{'adf-document-list--loading': documentList.isEmpty()}">
|
||||||
<adf-document-list #documentList
|
<adf-document-list #documentList
|
||||||
[attr.class]="documentList.isEmpty() ? 'empty-list' : ''"
|
[attr.class]="documentList.isEmpty() ? 'adf-document-list--empty' : ''"
|
||||||
currentFolderId="-trashcan-"
|
currentFolderId="-trashcan-"
|
||||||
selectionMode="multiple"
|
selectionMode="multiple"
|
||||||
[navigate]="false"
|
[navigate]="false"
|
||||||
@@ -96,12 +96,14 @@
|
|||||||
</data-column>
|
</data-column>
|
||||||
|
|
||||||
</data-columns>
|
</data-columns>
|
||||||
|
|
||||||
</adf-document-list>
|
</adf-document-list>
|
||||||
<adf-pagination [ngClass]="{ 'no-border' : documentList.isEmpty()}"
|
|
||||||
[target]="documentList"
|
<ng-container *ngIf="!documentList.isEmpty()">
|
||||||
(changePageSize)="onChangePageSize($event)">
|
<adf-pagination
|
||||||
</adf-pagination>
|
[target]="documentList"
|
||||||
|
(changePageSize)="onChangePageSize($event)">
|
||||||
|
</adf-pagination>
|
||||||
|
</ng-container>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@@ -1,65 +1,21 @@
|
|||||||
@import 'variables';
|
@import 'mixins';
|
||||||
|
|
||||||
$app-layout--header-height: 65px;
|
$app-layout--header-height: 65px;
|
||||||
$app-layout--side-width: 320px;
|
$app-layout--side-width: 320px;
|
||||||
|
|
||||||
$app-inner-layout--header-height: 48px;
|
$app-inner-layout--header-height: 48px;
|
||||||
$app-inner-layout--footer-height: 48px;
|
$app-inner-layout--footer-height: 48px;
|
||||||
|
|
||||||
.layout {
|
.layout {
|
||||||
display: flex;
|
@include flex-column;
|
||||||
flex-direction: column;
|
|
||||||
flex: 1 0;
|
|
||||||
overflow: hidden;
|
|
||||||
|
|
||||||
&__header {
|
|
||||||
flex: 0 0 $app-layout--header-height;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__content {
|
|
||||||
display: flex;
|
|
||||||
flex: 1;
|
|
||||||
flex-direction: row;
|
|
||||||
overflow: hidden;
|
|
||||||
|
|
||||||
& > * {
|
|
||||||
display: flex;
|
|
||||||
flex: 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.content--hide {
|
|
||||||
display: none !important;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.inner-layout {
|
.inner-layout {
|
||||||
display: flex;
|
@include flex-column;
|
||||||
flex: 1;
|
|
||||||
flex-direction: column;
|
|
||||||
|
|
||||||
.adf-info-drawer {
|
|
||||||
width: 350px;
|
|
||||||
height: 100%;
|
|
||||||
overflow-y: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.no-border {
|
|
||||||
border: unset
|
|
||||||
}
|
|
||||||
|
|
||||||
&--scroll {
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__header,
|
|
||||||
&__footer {
|
|
||||||
display: flex;
|
|
||||||
flex: 0 0;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__header {
|
&__header {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
flex: 0 0 $app-layout--header-height;
|
||||||
flex-basis: $app-inner-layout--header-height;
|
flex-basis: $app-inner-layout--header-height;
|
||||||
background: $alfresco-gray-background;
|
background: $alfresco-gray-background;
|
||||||
border-bottom: 1px solid $alfresco-divider-color;
|
border-bottom: 1px solid $alfresco-divider-color;
|
||||||
@@ -67,39 +23,30 @@ $app-inner-layout--footer-height: 48px;
|
|||||||
}
|
}
|
||||||
|
|
||||||
&__content {
|
&__content {
|
||||||
display: flex;
|
@include flex-row;
|
||||||
flex-direction: row;
|
|
||||||
flex: 1;
|
|
||||||
overflow: hidden;
|
|
||||||
background: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__panel {
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
display: flex;
|
|
||||||
flex:1;
|
|
||||||
flex-direction: column;
|
|
||||||
border-right: 1px solid rgba(0, 0, 0, 0.07);
|
|
||||||
}
|
|
||||||
|
|
||||||
&__side-panel {
|
|
||||||
display: flex;
|
|
||||||
width: 350px;
|
|
||||||
height: 100%;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
&__content--scroll {
|
&__content--scroll {
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
&__footer {
|
&__content--hide {
|
||||||
flex-basis: $app-inner-layout--footer-height;
|
display: none !important;
|
||||||
border-top: 1px solid $alfresco-divider-color;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
app-generic-error {
|
&__panel {
|
||||||
|
@include flex-column;
|
||||||
|
border-right: 1px solid rgba(0, 0, 0, 0.07);
|
||||||
|
}
|
||||||
|
|
||||||
|
&__side-panel {
|
||||||
|
display: block;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
width: 100%;
|
overflow-y: scroll;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
app-generic-error {
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
@@ -1,25 +1,25 @@
|
|||||||
|
@import 'mixins';
|
||||||
@import 'variables';
|
@import 'variables';
|
||||||
@import 'theme';
|
@import 'theme';
|
||||||
|
|
||||||
html, body, ng-component {
|
html, body {
|
||||||
display: flex;
|
@include flex-column;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-family: "Muli", sans-serif;
|
font-family: "Muli", sans-serif;
|
||||||
color: $alfresco-primary-text-color;
|
color: $alfresco-primary-text-color;
|
||||||
overflow: hidden;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
app-root > ng-component {
|
app-root,
|
||||||
display: block;
|
app-layout,
|
||||||
width: 100%;
|
adf-layout-container,
|
||||||
height: 100%;
|
ng-component {
|
||||||
|
@include flex-column;
|
||||||
}
|
}
|
||||||
|
|
||||||
@import 'layout';
|
@import 'layout';
|
||||||
|
|
||||||
|
@import './overrides/adf-login';
|
||||||
@import './overrides/alfresco-document-list';
|
@import './overrides/alfresco-document-list';
|
||||||
@import './overrides/alfresco-upload-drag-area';
|
@import './overrides/alfresco-upload-drag-area';
|
||||||
@import './overrides/alfresco-upload-button';
|
@import './overrides/alfresco-upload-button';
|
||||||
|
15
src/app/ui/mixins.scss
Normal file
15
src/app/ui/mixins.scss
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
@mixin flex-column {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
flex: 1;
|
||||||
|
height: 100%;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin flex-row {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
flex: 1;
|
||||||
|
height: 100%;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
5
src/app/ui/overrides/_adf-login.scss
Normal file
5
src/app/ui/overrides/_adf-login.scss
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
@import 'mixins';
|
||||||
|
|
||||||
|
adf-login {
|
||||||
|
@include flex-column;
|
||||||
|
}
|
@@ -1,16 +1,27 @@
|
|||||||
@import '../variables';
|
@import 'variables-color';
|
||||||
|
|
||||||
|
@import 'mixins';
|
||||||
|
|
||||||
adf-document-list {
|
adf-document-list {
|
||||||
display: flex;
|
@include flex-column;
|
||||||
flex-direction: column;
|
}
|
||||||
flex: 1;
|
|
||||||
overflow: auto;
|
|
||||||
|
|
||||||
& > adf-datatable {
|
.adf-document-list--loading {
|
||||||
height: 100%;
|
.adf-data-table {
|
||||||
|
@include flex-column;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.adf-datatable-table-cell {
|
||||||
|
border: none !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
adf-datatable {
|
||||||
|
@include flex-column;
|
||||||
|
overflow-y: scroll;
|
||||||
|
}
|
||||||
|
|
||||||
.adf-data-table {
|
.adf-data-table {
|
||||||
border: none !important;
|
border: none !important;
|
||||||
@@ -54,8 +65,7 @@ adf-document-list {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.adf-datatable-header:first-of-type, .adf-datatable-header.adf-data-table-cell--image,
|
.adf-datatable-body .adf-data-table-cell--image {
|
||||||
.adf-data-table-cell:first-of-type, .adf-data-table-cell.adf-data-table-cell--image {
|
|
||||||
padding-left: 24px;
|
padding-left: 24px;
|
||||||
padding-right: 0;
|
padding-right: 0;
|
||||||
width: 10px;
|
width: 10px;
|
||||||
@@ -89,13 +99,16 @@ adf-document-list {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.empty-list {
|
.adf-document-list--empty {
|
||||||
.adf-data-table {
|
.adf-data-table {
|
||||||
height: 100%;
|
@include flex-column;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
.adf-datatable-row:hover, .adf-datatable-row:focus {
|
.adf-data-table .adf-datatable-row:hover,
|
||||||
background-color: unset;
|
.adf-data-table .adf-datatable-row:focus {
|
||||||
cursor: default;
|
background-color: unset;
|
||||||
}
|
cursor: default;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,4 +1,5 @@
|
|||||||
@import '../_variables.scss';
|
@import 'mixins';
|
||||||
|
@import 'variables.scss';
|
||||||
|
|
||||||
@mixin file-draggable__input-focus {
|
@mixin file-draggable__input-focus {
|
||||||
color: $alfresco-secondary-text-color !important;
|
color: $alfresco-secondary-text-color !important;
|
||||||
@@ -6,6 +7,17 @@
|
|||||||
margin-left: 0 !important;
|
margin-left: 0 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
adf-upload-drag-area {
|
||||||
|
@include flex-column;
|
||||||
|
|
||||||
|
.upload-border {
|
||||||
|
@include flex-column;
|
||||||
|
|
||||||
|
vertical-align: unset;
|
||||||
|
text-align: unset;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
adf-upload-drag-area:first-child {
|
adf-upload-drag-area:first-child {
|
||||||
& > div {
|
& > div {
|
||||||
adf-upload-drag-area {
|
adf-upload-drag-area {
|
||||||
@@ -34,15 +46,6 @@ adf-upload-drag-area:first-child {
|
|||||||
}
|
}
|
||||||
|
|
||||||
adf-upload-drag-area {
|
adf-upload-drag-area {
|
||||||
height: 100%;
|
|
||||||
width: 100%;
|
|
||||||
|
|
||||||
& > div {
|
|
||||||
height: 100%;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
}
|
|
||||||
|
|
||||||
.file-draggable__input-focus {
|
.file-draggable__input-focus {
|
||||||
adf-document-list {
|
adf-document-list {
|
||||||
background: $alfresco-app-color--hue-1;
|
background: $alfresco-app-color--hue-1;
|
||||||
|
Reference in New Issue
Block a user