[ADF-5505] deprecate angular flex layout library (#8562)

* ADF-5505 Removed some angular flex usages

* ADF-5505 Deprecated usage of angular flex layout in demo shell

* ADF-5505 Deprecated usage of angular flex layout in core files

* ADF-5505 Removed usage of angular flex layout from files from process services

* ADF-5505 Removed usage of angular flex layout from files from process services cloud

* ADF-5505 Removed usage of fxflex and fxlayout from left files

* ADF-5505 Removed usage of fxhide from left files

* ADF-5505 Fixed issue with incorrect colors

* ADF-5505 Fixed some lint issues

* ADF-5505 Removed imports of FlexLayoutModule

* ADF-5505 Uninstalled angular flex layout dependency

* ADF-5505 Removed usage of ngClass with gt-md

* ADF-5505 Removed duplicated selector

* ADF-5505 Removed empty line

* ADF-5505 Changed encapsulation
This commit is contained in:
AleksanderSklorz
2023-05-17 14:44:59 +02:00
committed by GitHub
parent 7e2a7f5b2c
commit 3b1842f038
148 changed files with 1852 additions and 1260 deletions

View File

@@ -18,7 +18,6 @@
import { BrowserModule } from '@angular/platform-browser'; import { BrowserModule } from '@angular/platform-browser';
import { APP_INITIALIZER, NgModule } from '@angular/core'; import { APP_INITIALIZER, NgModule } from '@angular/core';
import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { FlexLayoutModule } from '@angular/flex-layout';
import { ChartsModule } from 'ng2-charts'; import { ChartsModule } from 'ng2-charts';
import { HttpClientModule } from '@angular/common/http'; import { HttpClientModule } from '@angular/common/http';
import { BrowserAnimationsModule, NoopAnimationsModule } from '@angular/platform-browser/animations'; import { BrowserAnimationsModule, NoopAnimationsModule } from '@angular/platform-browser/animations';
@@ -144,7 +143,6 @@ registerLocaleData(localeSv);
FormsModule, FormsModule,
HttpClientModule, HttpClientModule,
MaterialModule, MaterialModule,
FlexLayoutModule,
TranslateModule.forRoot(), TranslateModule.forRoot(),
CoreModule.forRoot(), CoreModule.forRoot(),
ContentModule.forRoot(), ContentModule.forRoot(),

View File

@@ -18,7 +18,7 @@
<div class="app-layout-menu-spacer"></div> <div class="app-layout-menu-spacer"></div>
<app-search-bar fxFlex="0 1 auto"></app-search-bar> <app-search-bar></app-search-bar>
<div class="app-header-delimiexpandedSidenavter"></div> <div class="app-header-delimiexpandedSidenavter"></div>

View File

@@ -58,12 +58,11 @@
</small> </small>
<adf-toolbar class="app-full-content-toolbar"> <adf-toolbar class="app-full-content-toolbar">
<adf-toolbar-title fxFlex="0 1 auto"> <adf-toolbar-title>
<adf-breadcrumb root="APP.PERSONAL-FILES" [target]="documentList" [folderNode]="documentList.folderNode"> <adf-breadcrumb root="APP.PERSONAL-FILES" [target]="documentList" [folderNode]="documentList.folderNode">
</adf-breadcrumb> </adf-breadcrumb>
</adf-toolbar-title> </adf-toolbar-title>
<adf-toolbar-divider fxFlex="0 0 auto"></adf-toolbar-divider> <adf-toolbar-divider></adf-toolbar-divider>
<div fxFlex="0 0 auto">
<button mat-icon-button [attr.aria-label]="'BREADCRUMB_DEMO.NEW_FOLDER_LABEL' | translate"> <button mat-icon-button [attr.aria-label]="'BREADCRUMB_DEMO.NEW_FOLDER_LABEL' | translate">
<mat-icon>create_new_folder</mat-icon> <mat-icon>create_new_folder</mat-icon>
</button> </button>
@@ -73,13 +72,11 @@
<button mat-icon-button [attr.aria-label]="'BREADCRUMB_DEMO.DELETE_NODE_LABEL' | translate"> <button mat-icon-button [attr.aria-label]="'BREADCRUMB_DEMO.DELETE_NODE_LABEL' | translate">
<mat-icon>delete</mat-icon> <mat-icon>delete</mat-icon>
</button> </button>
</div>
</adf-toolbar> </adf-toolbar>
<h2>6. Dropdown Breadcrumb</h2> <h2>6. Dropdown Breadcrumb</h2>
<adf-dropdown-breadcrumb fxHide fxShow.lt-sm="true" <adf-dropdown-breadcrumb class="app-files-breadcrumb"
class="app-files-breadcrumb"
[target]="documentList"> [target]="documentList">
</adf-dropdown-breadcrumb> </adf-dropdown-breadcrumb>

View File

@@ -1,3 +1,4 @@
app-breadcrumb-demo {
.app-breadcrumb-container-restricted { .app-breadcrumb-container-restricted {
width: 800px; width: 800px;
max-width: 800px; max-width: 800px;
@@ -11,3 +12,10 @@
.app-full-content-toolbar .app-toolbar-title .app-breadcrumb { .app-full-content-toolbar .app-toolbar-title .app-breadcrumb {
width: 0; width: 0;
} }
@media screen and (min-width: 600px) {
.app-files-breadcrumb {
display: none;
}
}
}

View File

@@ -15,11 +15,13 @@
* limitations under the License. * limitations under the License.
*/ */
import { Component } from '@angular/core'; import { Component, ViewEncapsulation } from '@angular/core';
@Component({ @Component({
selector: 'app-breadcrumb-demo',
templateUrl: './breadcrumb-demo.component.html', templateUrl: './breadcrumb-demo.component.html',
styleUrls: [`./breadcrumb-demo.component.scss`] styleUrls: [`./breadcrumb-demo.component.scss`],
encapsulation: ViewEncapsulation.None
}) })
export class BreadcrumbDemoComponent { export class BreadcrumbDemoComponent {

View File

@@ -1,8 +1,4 @@
<adf-toolbar> <adf-toolbar>
<div fxLayout="column" fxLayoutAlign="center">
<div fxLayout="row">
<div class="app-crumb">{{appName + ' >'}} </div> <div class="app-crumb">{{appName + ' >'}} </div>
<div class="app-filter-crumb"> {{filterName | translate}}</div> <div class="app-filter-crumb"> {{filterName | translate}}</div>
</div>
</div>
</adf-toolbar> </adf-toolbar>

View File

@@ -1,3 +1,4 @@
app-cloud-breadcrumbs {
.app-app-crumb { .app-app-crumb {
opacity: 0.5; opacity: 0.5;
} }
@@ -6,3 +7,8 @@
opacity: 0.8; opacity: 0.8;
margin-left: 5px; margin-left: 5px;
} }
adf-toolbar {
display: flex;
}
}

View File

@@ -15,13 +15,14 @@
* limitations under the License. * limitations under the License.
*/ */
import { Component, OnInit } from '@angular/core'; import { Component, OnInit, ViewEncapsulation } from '@angular/core';
import { ActivatedRoute } from '@angular/router'; import { ActivatedRoute } from '@angular/router';
@Component({ @Component({
selector: 'app-cloud-breadcrumbs', selector: 'app-cloud-breadcrumbs',
templateUrl: './cloud-breadcrumb-component.html', templateUrl: './cloud-breadcrumb-component.html',
styleUrls: ['./cloud-breadcrumb-component.scss'] styleUrls: ['./cloud-breadcrumb-component.scss'],
encapsulation: ViewEncapsulation.None
}) })
export class CloudBreadcrumbsComponent implements OnInit { export class CloudBreadcrumbsComponent implements OnInit {
appName: string; appName: string;

View File

@@ -1,7 +1,6 @@
<mat-tab-group fxFill class="app-cloud-layout-tab-body"> <mat-tab-group class="app-cloud-layout-tab-body">
<mat-tab label="{{'PS_CLOUD_TAB.APPS_TAB' | translate}}"> <mat-tab label="{{'PS_CLOUD_TAB.APPS_TAB' | translate}}">
<div fxFill fxLayout> <adf-sidenav-layout [sidenavMin]="70" [sidenavMax]="270" [stepOver]="780">
<adf-sidenav-layout fxFlex [sidenavMin]="70" [sidenavMax]="270" [stepOver]="780">
<adf-sidenav-layout-header> <adf-sidenav-layout-header>
<ng-template> <ng-template>
<app-cloud-breadcrumbs></app-cloud-breadcrumbs> <app-cloud-breadcrumbs></app-cloud-breadcrumbs>
@@ -33,7 +32,6 @@
</ng-template> </ng-template>
</adf-sidenav-layout-content> </adf-sidenav-layout-content>
</adf-sidenav-layout> </adf-sidenav-layout>
</div>
</mat-tab> </mat-tab>
<mat-tab label="{{'PS_CLOUD_TAB.SETTINGS_TAB' | translate}}"> <mat-tab label="{{'PS_CLOUD_TAB.SETTINGS_TAB' | translate}}">
<app-cloud-settings></app-cloud-settings> <app-cloud-settings></app-cloud-settings>

View File

@@ -5,3 +5,18 @@
.app-cloud-layout-tab-body .mat-tab-body-wrapper { .app-cloud-layout-tab-body .mat-tab-body-wrapper {
height: 100%; height: 100%;
} }
app-cloud-layout {
.app-cloud-layout-tab-body {
height: 100%;
min-height: 100%;
min-width: 100%;
width: 100%;
adf-sidenav-layout {
flex-direction: row;
box-sizing: border-box;
display: flex;
}
}
}

View File

@@ -1,7 +1,6 @@
<mat-tab-group fxFill class="app-cloud-layout-tab-body"> <mat-tab-group class="app-cloud-layout-tab-body">
<mat-tab label="{{'PS_CLOUD_TAB.APPS_TAB' | translate}}"> <mat-tab label="{{'PS_CLOUD_TAB.APPS_TAB' | translate}}">
<div fxFill fxLayout> <adf-sidenav-layout [sidenavMin]="70" [sidenavMax]="270" [stepOver]="780">
<adf-sidenav-layout fxFlex [sidenavMin]="70" [sidenavMax]="270" [stepOver]="780">
<adf-sidenav-layout-navigation> <adf-sidenav-layout-navigation>
<ng-template> <ng-template>
<adf-sidebar-action-menu [expanded]="true" [width]="205" title="{{'ADF_SIDEBAR_ACTION_MENU.BUTTON.CREATE' | translate}}"> <adf-sidebar-action-menu [expanded]="true" [width]="205" title="{{'ADF_SIDEBAR_ACTION_MENU.BUTTON.CREATE' | translate}}">
@@ -28,7 +27,6 @@
</ng-template> </ng-template>
</adf-sidenav-layout-content> </adf-sidenav-layout-content>
</adf-sidenav-layout> </adf-sidenav-layout>
</div>
</mat-tab> </mat-tab>
<mat-tab label="{{'PS_CLOUD_TAB.SETTINGS_TAB' | translate}}"> <mat-tab label="{{'PS_CLOUD_TAB.SETTINGS_TAB' | translate}}">
<app-cloud-settings></app-cloud-settings> <app-cloud-settings></app-cloud-settings>

View File

@@ -0,0 +1,20 @@
.app-cloud-layout-overflow {
overflow: auto;
}
.app-cloud-layout-tab-body {
height: 100%;
min-height: 100%;
min-width: 100%;
width: 100%;
.mat-tab-body-wrapper {
height: 100%;
}
adf-sidenav-layout {
min-height: 100%;
min-width: 100%;
}
}

View File

@@ -21,14 +21,7 @@ import { CloudLayoutService } from '../services/cloud-layout.service';
@Component({ @Component({
templateUrl: './community-cloud.component.html', templateUrl: './community-cloud.component.html',
styles: [`.app-cloud-layout-overflow { styleUrls: ['./community-cloud.component.scss'],
overflow: auto;
}
.app-cloud-layout-tab-body .mat-tab-body-wrapper {
height: 100% !important;
}
`],
encapsulation: ViewEncapsulation.None encapsulation: ViewEncapsulation.None
}) })
export class CommunityCloudComponent implements OnInit { export class CommunityCloudComponent implements OnInit {

View File

@@ -8,11 +8,9 @@
<div class="app-process-cloud-container"> <div class="app-process-cloud-container">
<adf-cloud-task-list <adf-cloud-task-list
fxFlex
class="app-cloud-layout-overflow" class="app-cloud-layout-overflow"
[processInstanceId]="processInstanceId" [processInstanceId]="processInstanceId"
(rowClick)="onRowClick($event)" (rowClick)="onRowClick($event)">
#taskCloud>
</adf-cloud-task-list> </adf-cloud-task-list>
<adf-cloud-process-header <adf-cloud-process-header

View File

@@ -1,3 +1,4 @@
app-community-process-details-cloud {
.app { .app {
&-process-cloud-container { &-process-cloud-container {
display: flex; display: flex;
@@ -5,6 +6,7 @@
&-cloud-layout-overflow { &-cloud-layout-overflow {
width: 67%; width: 67%;
flex: 1;
} }
&-process-cloud-header { &-process-cloud-header {
@@ -12,3 +14,4 @@
width: 25%; width: 25%;
} }
} }
}

View File

@@ -15,12 +15,14 @@
* limitations under the License. * limitations under the License.
*/ */
import { Component } from '@angular/core'; import { Component, ViewEncapsulation } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router'; import { ActivatedRoute, Router } from '@angular/router';
@Component({ @Component({
selector: 'app-community-process-details-cloud',
templateUrl: './community-process-details-cloud.component.html', templateUrl: './community-process-details-cloud.component.html',
styleUrls: ['./community-process-details-cloud.component.scss'] styleUrls: ['./community-process-details-cloud.component.scss'],
encapsulation: ViewEncapsulation.None
}) })
export class CommunityProcessDetailsCloudDemoComponent { export class CommunityProcessDetailsCloudDemoComponent {

View File

@@ -1,4 +1,3 @@
<div fxLayout="column" fxFill fxLayoutGap="2px">
<adf-cloud-edit-process-filter <adf-cloud-edit-process-filter
[id]="filterId" [id]="filterId"
[filterProperties]="processFilterProperties.filterProperties" [filterProperties]="processFilterProperties.filterProperties"
@@ -7,9 +6,11 @@
(filterChange)="onFilterChange($event)" (filterChange)="onFilterChange($event)"
(action)="onProcessFilterAction($event)"> (action)="onProcessFilterAction($event)">
</adf-cloud-edit-process-filter> </adf-cloud-edit-process-filter>
<div fxLayout="column" fxFlex fxLayoutAlign="space-between" *ngIf="editedFilter"> <div
<adf-cloud-process-list #processCloud class="app-cloud-process-list-container"
fxFlex *ngIf="editedFilter">
<adf-cloud-process-list
#processCloud
class="app-cloud-layout-overflow" class="app-cloud-layout-overflow"
[initiator]="editedFilter.initiator" [initiator]="editedFilter.initiator"
[processDefinitionId]="editedFilter.processDefinitionId" [processDefinitionId]="editedFilter.processDefinitionId"
@@ -39,4 +40,3 @@
</ul> </ul>
</div> </div>
</div> </div>
</div>

View File

@@ -0,0 +1,21 @@
app-community-processes-cloud-demo {
height: 100%;
min-height: 100%;
min-width: 100%;
width: 100%;
.app-cloud-process-list-container {
place-content: stretch space-between;
align-items: stretch;
margin-top: 2px;
}
&, .app-cloud-process-list-container {
flex-direction: column;
display: flex;
}
.app-cloud-layout-overflow, .app-cloud-process-list-container {
flex: 1;
}
}

View File

@@ -15,17 +15,17 @@
* limitations under the License. * limitations under the License.
*/ */
import { Component, ViewChild, OnInit, OnDestroy } from '@angular/core'; import { Component, OnDestroy, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';
import { import {
ProcessListCloudComponent,
ProcessFilterCloudModel, ProcessFilterCloudModel,
ProcessListCloudSortingModel, ProcessFilterCloudService,
ProcessFiltersCloudComponent, ProcessFiltersCloudComponent,
ProcessFilterCloudService ProcessListCloudComponent,
ProcessListCloudSortingModel
} from '@alfresco/adf-process-services-cloud'; } from '@alfresco/adf-process-services-cloud';
import { ActivatedRoute, Router } from '@angular/router'; import { ActivatedRoute, Router } from '@angular/router';
import { UserPreferencesService, AppConfigService } from '@alfresco/adf-core'; import { AppConfigService, UserPreferencesService } from '@alfresco/adf-core';
import { CloudLayoutService } from '../services/cloud-layout.service'; import { CloudLayoutService } from '../services/cloud-layout.service';
import { Subject } from 'rxjs'; import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators'; import { takeUntil } from 'rxjs/operators';
@@ -35,7 +35,10 @@ const PROCESS_FILTER_PROPERTY_KEYS = 'adf-edit-process-filter';
const ACTION_SAVE_AS = 'saveAs'; const ACTION_SAVE_AS = 'saveAs';
@Component({ @Component({
templateUrl: './community-processes-cloud.component.html' selector: 'app-community-processes-cloud-demo',
templateUrl: './community-processes-cloud.component.html',
styleUrls: ['./community-processes-cloud.component.scss'],
encapsulation: ViewEncapsulation.None
}) })
export class CommunityProcessesCloudDemoComponent implements OnInit, OnDestroy { export class CommunityProcessesCloudDemoComponent implements OnInit, OnDestroy {
@ViewChild('processCloud') @ViewChild('processCloud')

View File

@@ -1,4 +1,3 @@
<div fxLayout="column" fxFill fxLayoutGap="2px">
<adf-cloud-edit-task-filter <adf-cloud-edit-task-filter
[id]="filterId" [id]="filterId"
[filterProperties]="taskFilterProperties.filterProperties" [filterProperties]="taskFilterProperties.filterProperties"
@@ -7,9 +6,11 @@
(action)="onTaskFilterAction($event)" (action)="onTaskFilterAction($event)"
(filterChange)="onFilterChange($event)"> (filterChange)="onFilterChange($event)">
</adf-cloud-edit-task-filter> </adf-cloud-edit-task-filter>
<div fxLayout="column" fxFlex fxLayoutAlign="space-between" *ngIf="editedFilter"> <div
<adf-cloud-task-list #taskCloud class="app-cloud-task-list-container"
fxFlex *ngIf="editedFilter">
<adf-cloud-task-list
#taskCloud
class="app-cloud-layout-overflow" class="app-cloud-layout-overflow"
[processDefinitionId]="editedFilter.processDefinitionId" [processDefinitionId]="editedFilter.processDefinitionId"
[processInstanceId]="editedFilter.processInstanceId" [processInstanceId]="editedFilter.processInstanceId"
@@ -43,4 +44,3 @@
</ul> </ul>
</div> </div>
</div> </div>
</div>

View File

@@ -0,0 +1,27 @@
app-community-tasks-cloud-demo {
height: 100%;
min-height: 100%;
min-width: 100%;
width: 100%;
.adf-cloud-layout-tab-body {
.mat-tab-body-wrapper {
height: 100%;
}
}
.app-cloud-task-list-container {
place-content: stretch space-between;
align-items: stretch;
margin-top: 2px;
}
&, .app-cloud-task-list-container {
flex-direction: column;
display: flex;
}
.app-cloud-layout-overflow, .app-cloud-task-list-container {
flex: 1;
}
}

View File

@@ -15,9 +15,14 @@
* limitations under the License. * limitations under the License.
*/ */
import { Component, ViewChild, OnInit, OnDestroy } from '@angular/core'; import { Component, OnDestroy, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';
import { TaskListCloudComponent, TaskListCloudSortingModel, TaskFilterCloudModel, TaskFilterCloudService } from '@alfresco/adf-process-services-cloud'; import {
import { UserPreferencesService, AppConfigService } from '@alfresco/adf-core'; TaskFilterCloudModel,
TaskFilterCloudService,
TaskListCloudComponent,
TaskListCloudSortingModel
} from '@alfresco/adf-process-services-cloud';
import { AppConfigService, UserPreferencesService } from '@alfresco/adf-core';
import { ActivatedRoute, Router } from '@angular/router'; import { ActivatedRoute, Router } from '@angular/router';
import { CloudLayoutService } from '../services/cloud-layout.service'; import { CloudLayoutService } from '../services/cloud-layout.service';
import { Subject } from 'rxjs'; import { Subject } from 'rxjs';
@@ -28,8 +33,10 @@ const ACTION_SAVE_AS = 'saveAs';
const TASK_FILTER_PROPERTY_KEYS = 'adf-edit-task-filter'; const TASK_FILTER_PROPERTY_KEYS = 'adf-edit-task-filter';
@Component({ @Component({
selector: 'app-community-tasks-cloud-demo',
templateUrl: './community-task-cloud.component.html', templateUrl: './community-task-cloud.component.html',
styles: [`.adf-cloud-layout-tab-body .mat-tab-body-wrapper { height: 100%; }`] styleUrls: ['./community-task-cloud.component.scss'],
encapsulation: ViewEncapsulation.None
}) })
export class CommunityTasksCloudDemoComponent implements OnInit, OnDestroy { export class CommunityTasksCloudDemoComponent implements OnInit, OnDestroy {
@ViewChild('taskCloud') @ViewChild('taskCloud')

View File

@@ -1,8 +1,7 @@
<h4 data-automation-id="task-details-header">Simple page to show the taskId: {{ taskId }}</h4> <h4 data-automation-id="task-details-header">Simple page to show the taskId: {{ taskId }}</h4>
<div fxLayout="column" fxFill fxLayoutGap="2px"> <div class="app-community-task-details-cloud-column">
<div fxLayout="row" fxFill> <div class="app-community-task-details-cloud-row">
<div fxLayout="column" fxFlex="80%">
<adf-cloud-task-form <adf-cloud-task-form
[taskId]="taskId" [taskId]="taskId"
(cancelClick)="goBack()" (cancelClick)="goBack()"
@@ -12,9 +11,6 @@
(formSaved)="onFormSaved()" (formSaved)="onFormSaved()"
(error)="onError($event)"> (error)="onError($event)">
</adf-cloud-task-form> </adf-cloud-task-form>
</div> <adf-cloud-task-header [taskId]="taskId"></adf-cloud-task-header>
<adf-cloud-task-header fxFlex
[taskId]="taskId">
</adf-cloud-task-header>
</div> </div>
</div> </div>

View File

@@ -1,3 +1,4 @@
app-community-task-details-cloud {
.app { .app {
&-task-detail-container { &-task-detail-container {
display: flex; display: flex;
@@ -15,4 +16,33 @@
width: 30%; width: 30%;
font-family: inherit; font-family: inherit;
} }
&-community-task-details-cloud-column {
margin: 0;
flex-direction: column;
.app-community-task-details-cloud-row {
flex-direction: row;
adf-cloud-task-form {
flex: 1 1 100%;
flex-direction: column;
display: flex;
max-width: 80%;
}
adf-cloud-task-header {
flex: 1;
}
}
}
&-community-task-details-cloud-column, &-community-task-details-cloud-row {
height: 100%;
min-height: 100%;
min-width: 100%;
width: 100%;
display: flex;
}
}
} }

View File

@@ -15,13 +15,15 @@
* limitations under the License. * limitations under the License.
*/ */
import { Component } from '@angular/core'; import { Component, ViewEncapsulation } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router'; import { ActivatedRoute, Router } from '@angular/router';
import { NotificationService } from '@alfresco/adf-core'; import { NotificationService } from '@alfresco/adf-core';
@Component({ @Component({
selector: 'app-community-task-details-cloud',
templateUrl: './community-task-details-cloud.component.html', templateUrl: './community-task-details-cloud.component.html',
styleUrls: ['./community-task-details-cloud.component.scss'] styleUrls: ['./community-task-details-cloud.component.scss'],
encapsulation: ViewEncapsulation.None
}) })
export class CommunityTaskDetailsCloudDemoComponent { export class CommunityTaskDetailsCloudDemoComponent {

View File

@@ -19,7 +19,6 @@ import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router'; import { Routes, RouterModule } from '@angular/router';
import { CommonModule } from '@angular/common'; import { CommonModule } from '@angular/common';
import { CoreModule } from '@alfresco/adf-core'; import { CoreModule } from '@alfresco/adf-core';
import { FlexLayoutModule } from '@angular/flex-layout';
import { import {
ProcessServicesCloudModule, ProcessServicesCloudModule,
LocalPreferenceCloudService, LocalPreferenceCloudService,
@@ -76,8 +75,7 @@ const routes: Routes = [
CoreModule, CoreModule,
ProcessServicesCloudModule, ProcessServicesCloudModule,
RouterModule.forChild(routes), RouterModule.forChild(routes),
AppCloudSharedModule, AppCloudSharedModule
FlexLayoutModule
], ],
declarations: [ declarations: [
CommunityCloudComponent, CommunityCloudComponent,

View File

@@ -7,12 +7,10 @@
<div class="app-process-cloud-container"> <div class="app-process-cloud-container">
<adf-cloud-task-list <adf-cloud-task-list
fxFlex
class="app-cloud-layout-overflow" class="app-cloud-layout-overflow"
[appName]="appName" [appName]="appName"
[processInstanceId]="processInstanceId" [processInstanceId]="processInstanceId"
(rowClick)="onRowClick($event)" (rowClick)="onRowClick($event)">
#taskCloud>
</adf-cloud-task-list> </adf-cloud-task-list>
<adf-cloud-process-header <adf-cloud-process-header

View File

@@ -1,3 +1,4 @@
app-process-details-cloud-demo {
.app { .app {
&-process-cloud-container { &-process-cloud-container {
display: flex; display: flex;
@@ -5,6 +6,7 @@
&-cloud-layout-overflow { &-cloud-layout-overflow {
width: 67%; width: 67%;
flex: 1;
} }
&-process-cloud-header { &-process-cloud-header {
@@ -12,3 +14,4 @@
width: 25%; width: 25%;
} }
} }
}

View File

@@ -15,12 +15,14 @@
* limitations under the License. * limitations under the License.
*/ */
import { Component } from '@angular/core'; import { Component, ViewEncapsulation } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router'; import { ActivatedRoute, Router } from '@angular/router';
@Component({ @Component({
selector: 'app-process-details-cloud-demo',
templateUrl: './process-details-cloud-demo.component.html', templateUrl: './process-details-cloud-demo.component.html',
styleUrls: ['./process-details-cloud-demo.component.scss'] styleUrls: ['./process-details-cloud-demo.component.scss'],
encapsulation: ViewEncapsulation.None
}) })
export class ProcessDetailsCloudDemoComponent { export class ProcessDetailsCloudDemoComponent {

View File

@@ -1,4 +1,3 @@
<div fxLayout="column" fxFill fxLayoutGap="2px">
<adf-cloud-edit-process-filter <adf-cloud-edit-process-filter
[appName]="appName" [appName]="appName"
[id]="filterId" [id]="filterId"
@@ -9,9 +8,11 @@
(filterChange)="onFilterChange($event)" (filterChange)="onFilterChange($event)"
(action)="onProcessFilterAction($event)"> (action)="onProcessFilterAction($event)">
</adf-cloud-edit-process-filter> </adf-cloud-edit-process-filter>
<div fxLayout="column" fxFlex fxLayoutAlign="space-between" *ngIf="editedFilter"> <div
<adf-cloud-process-list #processCloud *ngIf="editedFilter"
fxFlex class="app-processes-list-container">
<adf-cloud-process-list
#processCloud
class="app-cloud-layout-overflow" class="app-cloud-layout-overflow"
[appName]="editedFilter.appName" [appName]="editedFilter.appName"
[appVersion]="editedFilter.appVersion" [appVersion]="editedFilter.appVersion"
@@ -68,4 +69,3 @@
</div> </div>
</div> </div>
</div> </div>
</div>

View File

@@ -0,0 +1,22 @@
app-processes-cloud-demo {
height: 100%;
min-height: 100%;
min-width: 100%;
width: 100%;
.app-processes-list-container {
box-sizing: border-box;
place-content: stretch space-between;
align-items: stretch;
margin-top: 2px;
}
&, .app-processes-list-container {
flex-direction: column;
display: flex;
}
.app-processes-list-container, .app-cloud-layout-overflow {
flex: 1;
}
}

View File

@@ -15,10 +15,16 @@
* limitations under the License. * limitations under the License.
*/ */
import { Component, OnInit, OnDestroy } from '@angular/core'; import { Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';
import { ProcessFilterAction, ProcessFilterCloudModel, PROCESS_FILTER_ACTION_DELETE, PROCESS_FILTER_ACTION_SAVE, PROCESS_FILTER_ACTION_SAVE_AS } from '@alfresco/adf-process-services-cloud'; import {
PROCESS_FILTER_ACTION_DELETE,
PROCESS_FILTER_ACTION_SAVE,
PROCESS_FILTER_ACTION_SAVE_AS,
ProcessFilterAction,
ProcessFilterCloudModel
} from '@alfresco/adf-process-services-cloud';
import { ActivatedRoute, Router } from '@angular/router'; import { ActivatedRoute, Router } from '@angular/router';
import { UserPreferencesService, DataCellEvent } from '@alfresco/adf-core'; import { DataCellEvent, UserPreferencesService } from '@alfresco/adf-core';
import { CloudLayoutService, CloudServiceSettings } from './services/cloud-layout.service'; import { CloudLayoutService, CloudServiceSettings } from './services/cloud-layout.service';
import { Subject } from 'rxjs'; import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators'; import { takeUntil } from 'rxjs/operators';
@@ -26,7 +32,10 @@ import { Pagination } from '@alfresco/js-api';
import { CloudProcessFiltersService } from './services/cloud-process-filters.service'; import { CloudProcessFiltersService } from './services/cloud-process-filters.service';
@Component({ @Component({
templateUrl: './processes-cloud-demo.component.html' selector: 'app-processes-cloud-demo',
templateUrl: './processes-cloud-demo.component.html',
styleUrls: ['./processes-cloud-demo.component.scss'],
encapsulation: ViewEncapsulation.None
}) })
export class ProcessesCloudDemoComponent implements OnInit, OnDestroy { export class ProcessesCloudDemoComponent implements OnInit, OnDestroy {
appName: string = ''; appName: string = '';

View File

@@ -1,27 +1,23 @@
<div fxLayout <adf-cloud-service-task-filters
fxFill> [appName]="appName"
<adf-cloud-service-task-filters [appName]="appName"
[filterParam]="{index: 0}" [filterParam]="{index: 0}"
(filterClicked)="onTaskFilterSelected($event)" (filterClicked)="onTaskFilterSelected($event)"
(filterSelected)="onTaskFilterSelected($event)"> (filterSelected)="onTaskFilterSelected($event)">
</adf-cloud-service-task-filters> </adf-cloud-service-task-filters>
<div fxLayout="column" <div class="app-task-list-with-filter">
fxFlex> <adf-cloud-edit-service-task-filter
<adf-cloud-edit-service-task-filter [id]="filterId" [id]="filterId"
[appName]="appName" [appName]="appName"
[filterProperties]="taskFilterProperties.filterProperties" [filterProperties]="taskFilterProperties.filterProperties"
[sortProperties]="taskFilterProperties.sortProperties" [sortProperties]="taskFilterProperties.sortProperties"
[actions]="taskFilterProperties.actions" [actions]="taskFilterProperties.actions"
(filterChange)="onFilterChange($event)"> (filterChange)="onFilterChange($event)">
</adf-cloud-edit-service-task-filter> </adf-cloud-edit-service-task-filter>
<div fxLayout="column" <div
fxFlex class="app-task-list-container"
fxFill
fxLayoutAlign="space-between"
*ngIf="editedFilter"> *ngIf="editedFilter">
<adf-cloud-service-task-list #taskCloud <adf-cloud-service-task-list
fxFlex #taskCloud
[queryParams]="editedFilter" [queryParams]="editedFilter"
class="app-cloud-layout-overflow" class="app-cloud-layout-overflow"
[appName]="editedFilter.appName" [appName]="editedFilter.appName"
@@ -32,11 +28,11 @@
[showActions]="actionMenu" [showActions]="actionMenu"
[showContextMenu]="contextMenu"> [showContextMenu]="contextMenu">
</adf-cloud-service-task-list> </adf-cloud-service-task-list>
<adf-pagination [target]="taskCloud" <adf-pagination
[target]="taskCloud"
(changePageSize)="onChangePageSize($event)" (changePageSize)="onChangePageSize($event)"
(nextPage)="resetSelectedRows()" (nextPage)="resetSelectedRows()"
(prevPage)="resetSelectedRows()"> (prevPage)="resetSelectedRows()">
</adf-pagination> </adf-pagination>
</div> </div>
</div> </div>
</div>

View File

@@ -0,0 +1,25 @@
app-service-task-list-cloud-demo {
min-height: 100%;
min-width: 100%;
display: flex;
.app-task-list-with-filter, .app-task-list-container {
flex-direction: column;
display: flex;
flex: 1;
}
&, .app-task-list-container {
height: 100%;
width: 100%;
}
.app-task-list-container {
place-content: stretch space-between;
align-items: stretch;
.app-cloud-layout-overflow {
flex: 1;
}
}
}

View File

@@ -15,9 +15,13 @@
* limitations under the License. * limitations under the License.
*/ */
import { Component, OnInit, OnDestroy, ViewChild } from '@angular/core'; import { Component, OnDestroy, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';
import { TaskListCloudSortingModel, ServiceTaskListCloudComponent, ServiceTaskFilterCloudModel } from '@alfresco/adf-process-services-cloud'; import {
import { UserPreferencesService, AppConfigService, PaginationModel } from '@alfresco/adf-core'; ServiceTaskFilterCloudModel,
ServiceTaskListCloudComponent,
TaskListCloudSortingModel
} from '@alfresco/adf-process-services-cloud';
import { AppConfigService, PaginationModel, UserPreferencesService } from '@alfresco/adf-core';
import { CloudLayoutService, CloudServiceSettings } from './services/cloud-layout.service'; import { CloudLayoutService, CloudServiceSettings } from './services/cloud-layout.service';
import { Subject } from 'rxjs'; import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators'; import { takeUntil } from 'rxjs/operators';
@@ -25,7 +29,10 @@ import { takeUntil } from 'rxjs/operators';
const TASK_FILTER_PROPERTY_KEYS = 'adf-edit-service-task-filter'; const TASK_FILTER_PROPERTY_KEYS = 'adf-edit-service-task-filter';
@Component({ @Component({
templateUrl: './service-task-list-cloud-demo.component.html' selector: 'app-service-task-list-cloud-demo',
templateUrl: './service-task-list-cloud-demo.component.html',
styleUrls: ['./service-task-list-cloud-demo.component.scss'],
encapsulation: ViewEncapsulation.None
}) })
export class ServiceTaskListCloudDemoComponent implements OnInit, OnDestroy { export class ServiceTaskListCloudDemoComponent implements OnInit, OnDestroy {
@ViewChild('taskCloud') @ViewChild('taskCloud')

View File

@@ -1,4 +1,3 @@
<div fxFlex fxLayout="column" class="app-settings-container">
<mat-slide-toggle [color]="'primary'" [checked]="multiselect" (change)="toggleMultiselect()" data-automation-id="multiSelection"> <mat-slide-toggle [color]="'primary'" [checked]="multiselect" (change)="toggleMultiselect()" data-automation-id="multiSelection">
{{ 'SETTINGS_CLOUD.MULTISELECTION' | translate }} {{ 'SETTINGS_CLOUD.MULTISELECTION' | translate }}
</mat-slide-toggle> </mat-slide-toggle>
@@ -32,17 +31,15 @@
<mat-card-title>{{ 'SETTINGS_CLOUD.ACTION.ACTION_TITLE' | translate }}</mat-card-title> <mat-card-title>{{ 'SETTINGS_CLOUD.ACTION.ACTION_TITLE' | translate }}</mat-card-title>
</mat-card-header> </mat-card-header>
<mat-card-content> <mat-card-content>
<form [formGroup]="actionMenuForm" fxLayout="row" fxLayoutAlign="space-around center" fxLayoutGap="20px"> <form class="app-cloud-settings-form" [formGroup]="actionMenuForm">
<mat-form-field fxFlex="23%"> <mat-form-field>
<input matInput formControlName="key" placeholder="{{ 'SETTINGS_CLOUD.ACTION.KEY' | translate }}"> <input matInput formControlName="key" placeholder="{{ 'SETTINGS_CLOUD.ACTION.KEY' | translate }}">
</mat-form-field> </mat-form-field>
<mat-form-field>
<mat-form-field fxFlex="23%">
<input matInput formControlName="title" placeholder="{{ 'SETTINGS_CLOUD.ACTION.TITLE' | translate }}"> <input matInput formControlName="title" placeholder="{{ 'SETTINGS_CLOUD.ACTION.TITLE' | translate }}">
</mat-form-field> </mat-form-field>
<mat-form-field>
<mat-form-field fxFlex="23%"> <input matInput formControlName="icon" placeholder="{{ 'SETTINGS_CLOUD.ACTION.ICON' | translate }}">
<input matInput formControlName="icon" placeholder="{{ 'SETTINGS_CLOUD.ACTION.ICON' | translate }}"I>
</mat-form-field> </mat-form-field>
<mat-checkbox formControlName="visible"> <mat-checkbox formControlName="visible">
{{ 'SETTINGS_CLOUD.ACTION.ACTION_VISIBLE' | translate }} {{ 'SETTINGS_CLOUD.ACTION.ACTION_VISIBLE' | translate }}
@@ -55,7 +52,7 @@
</button> </button>
</form> </form>
<div *ngIf="actions.length > 0"> <div *ngIf="actions.length > 0">
<mat-chip-list #chipList> <mat-chip-list>
<mat-chip *ngFor="let action of actions" [removable]="true"> <mat-chip *ngFor="let action of actions" [removable]="true">
{{action.title}} {{action.title}}
<mat-icon <mat-icon
@@ -68,4 +65,3 @@
</div> </div>
</mat-card-content> </mat-card-content>
</mat-card> </mat-card>
</div>

View File

@@ -1,7 +1,25 @@
.app-settings-container { app-cloud-settings {
padding: 20px 30px; padding: 20px 30px;
} flex-direction: column;
display: flex;
flex: 1;
.app-settings-container mat-form-field { mat-form-field {
max-width: 200px; max-width: 200px;
} }
.app-cloud-settings-form {
display: flex;
place-content: center space-around;
align-items: center;
mat-form-field {
flex: 1 1 100%;
max-width: 23%;
}
mat-form-field, mat-checkbox {
margin-right: 20px;
}
}
}

View File

@@ -15,16 +15,17 @@
* limitations under the License. * limitations under the License.
*/ */
import { Component, OnInit, OnDestroy } from '@angular/core'; import { Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';
import { CloudLayoutService, ActionMenuModel } from '../services/cloud-layout.service'; import { ActionMenuModel, CloudLayoutService } from '../services/cloud-layout.service';
import { Subject } from 'rxjs'; import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators'; import { takeUntil } from 'rxjs/operators';
import { UntypedFormGroup, UntypedFormControl } from '@angular/forms'; import { UntypedFormControl, UntypedFormGroup } from '@angular/forms';
@Component({ @Component({
selector: 'app-cloud-settings', selector: 'app-cloud-settings',
templateUrl: './cloud-settings.component.html', templateUrl: './cloud-settings.component.html',
styleUrls: ['./cloud-settings.component.scss'] styleUrls: ['./cloud-settings.component.scss'],
encapsulation: ViewEncapsulation.None
}) })
export class CloudSettingsComponent implements OnInit, OnDestroy { export class CloudSettingsComponent implements OnInit, OnDestroy {
private onDestroy$ = new Subject<boolean>(); private onDestroy$ = new Subject<boolean>();

View File

@@ -23,7 +23,6 @@ import { MatInputModule } from '@angular/material/input';
import { MatSelectModule } from '@angular/material/select'; import { MatSelectModule } from '@angular/material/select';
import { MatSlideToggleModule } from '@angular/material/slide-toggle'; import { MatSlideToggleModule } from '@angular/material/slide-toggle';
import { CoreModule } from '@alfresco/adf-core'; import { CoreModule } from '@alfresco/adf-core';
import { FlexLayoutModule } from '@angular/flex-layout';
@NgModule({ @NgModule({
imports: [ imports: [
@@ -32,8 +31,7 @@ import { FlexLayoutModule } from '@angular/flex-layout';
MatDialogModule, MatDialogModule,
MatInputModule, MatInputModule,
MatSelectModule, MatSelectModule,
MatSlideToggleModule, MatSlideToggleModule
FlexLayoutModule
], ],
declarations: [ CloudSettingsComponent ], declarations: [ CloudSettingsComponent ],
exports: [ CommonModule, CloudSettingsComponent] exports: [ CommonModule, CloudSettingsComponent]

View File

@@ -1,8 +1,7 @@
<h4 data-automation-id="task-details-header">Simple page to show the taskId: {{ taskId }} of the app: {{ appName }}</h4> <h4 data-automation-id="task-details-header">Simple page to show the taskId: {{ taskId }} of the app: {{ appName }}</h4>
<div fxLayout="column" fxFill fxLayoutGap="2px"> <div class="app-task-details-cloud-column">
<div fxLayout="row" fxFill> <div class="app-task-details-cloud-row">
<div fxLayout="column" fxFlex="80%">
<adf-cloud-task-form <adf-cloud-task-form
[appName]="appName" [appName]="appName"
[taskId]="taskId" [taskId]="taskId"
@@ -12,8 +11,8 @@
(formSaved)="onFormSaved()" (formSaved)="onFormSaved()"
(error)="onError($event)"> (error)="onError($event)">
</adf-cloud-task-form> </adf-cloud-task-form>
</div> <adf-cloud-task-header
<adf-cloud-task-header #taskHeader fxFlex #taskHeader
[appName]="appName" [appName]="appName"
[taskId]="taskId"> [taskId]="taskId">
</adf-cloud-task-header> </adf-cloud-task-header>

View File

@@ -1,3 +1,4 @@
app-task-details-cloud-demo {
.app { .app {
&-task-detail-container { &-task-detail-container {
display: flex; display: flex;
@@ -15,4 +16,33 @@
width: 30%; width: 30%;
font-family: inherit; font-family: inherit;
} }
&-task-details-cloud-column {
margin: 0;
flex-direction: column;
.app-task-details-cloud-row {
flex-direction: row;
adf-cloud-task-form {
flex: 1 1 100%;
flex-direction: column;
display: flex;
max-width: 80%;
}
adf-cloud-task-header {
flex: 1;
}
}
}
&-task-details-cloud-column, &-task-details-cloud-row {
height: 100%;
min-height: 100%;
min-width: 100%;
width: 100%;
display: flex;
}
}
} }

View File

@@ -15,15 +15,17 @@
* limitations under the License. * limitations under the License.
*/ */
import { Component, ViewChild } from '@angular/core'; import { Component, ViewChild, ViewEncapsulation } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router'; import { ActivatedRoute, Router } from '@angular/router';
import { NotificationService } from '@alfresco/adf-core'; import { NotificationService } from '@alfresco/adf-core';
import { TaskHeaderCloudComponent } from '@alfresco/adf-process-services-cloud'; import { TaskHeaderCloudComponent } from '@alfresco/adf-process-services-cloud';
import { PreviewService } from '../../services/preview.service'; import { PreviewService } from '../../services/preview.service';
@Component({ @Component({
selector: 'app-task-details-cloud-demo',
templateUrl: './task-details-cloud-demo.component.html', templateUrl: './task-details-cloud-demo.component.html',
styleUrls: ['./task-details-cloud-demo.component.scss'] styleUrls: ['./task-details-cloud-demo.component.scss'],
encapsulation: ViewEncapsulation.None
}) })
export class TaskDetailsCloudDemoComponent { export class TaskDetailsCloudDemoComponent {

View File

@@ -1,4 +1,3 @@
<div fxLayout="column" fxFill fxLayoutGap="2px">
<adf-cloud-edit-task-filter <adf-cloud-edit-task-filter
[appName]="appName" [appName]="appName"
[id]="filterId" [id]="filterId"
@@ -8,9 +7,9 @@
(action)="onTaskFilterAction($event)" (action)="onTaskFilterAction($event)"
(filterChange)="onFilterChange($event)"> (filterChange)="onFilterChange($event)">
</adf-cloud-edit-task-filter> </adf-cloud-edit-task-filter>
<div fxLayout="column" fxFlex fxLayoutAlign="space-between" *ngIf="editedFilter"> <div class="adf-cloud-task-list-container" *ngIf="editedFilter">
<adf-cloud-task-list #taskCloud <adf-cloud-task-list
fxFlex #taskCloud
class="app-cloud-layout-overflow" class="app-cloud-layout-overflow"
[appName]="editedFilter.appName" [appName]="editedFilter.appName"
[processDefinitionId]="editedFilter.processDefinitionId" [processDefinitionId]="editedFilter.processDefinitionId"
@@ -70,4 +69,3 @@
</div> </div>
</div> </div>
</div> </div>
</div>

View File

@@ -0,0 +1,22 @@
app-tasks-cloud-demo {
height: 100%;
min-height: 100%;
min-width: 100%;
width: 100%;
.adf-cloud-task-list-container {
box-sizing: border-box;
place-content: stretch space-between;
align-items: stretch;
margin-top: 2px;
}
&, .adf-cloud-task-list-container {
flex-direction: column;
display: flex;
}
.adf-cloud-task-list-container, .app-cloud-layout-overflow {
flex: 1;
}
}

View File

@@ -15,9 +15,13 @@
* limitations under the License. * limitations under the License.
*/ */
import { Component, ViewChild, OnInit, OnDestroy } from '@angular/core'; import { Component, OnDestroy, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';
import { TaskListCloudComponent, TaskListCloudSortingModel, TaskFilterCloudModel } from '@alfresco/adf-process-services-cloud'; import {
import { UserPreferencesService, AppConfigService, DataCellEvent } from '@alfresco/adf-core'; TaskFilterCloudModel,
TaskListCloudComponent,
TaskListCloudSortingModel
} from '@alfresco/adf-process-services-cloud';
import { AppConfigService, DataCellEvent, UserPreferencesService } from '@alfresco/adf-core';
import { ActivatedRoute, Router } from '@angular/router'; import { ActivatedRoute, Router } from '@angular/router';
import { CloudLayoutService } from './services/cloud-layout.service'; import { CloudLayoutService } from './services/cloud-layout.service';
import { Subject } from 'rxjs'; import { Subject } from 'rxjs';
@@ -28,7 +32,10 @@ const ACTION_DELETE = 'delete';
const TASK_FILTER_PROPERTY_KEYS = 'adf-edit-task-filter'; const TASK_FILTER_PROPERTY_KEYS = 'adf-edit-task-filter';
@Component({ @Component({
templateUrl: './tasks-cloud-demo.component.html' selector: 'app-tasks-cloud-demo',
templateUrl: './tasks-cloud-demo.component.html',
styleUrls: ['./tasks-cloud-demo.component.scss'],
encapsulation: ViewEncapsulation.None
}) })
export class TasksCloudDemoComponent implements OnInit, OnDestroy { export class TasksCloudDemoComponent implements OnInit, OnDestroy {
@ViewChild('taskCloud') @ViewChild('taskCloud')

View File

@@ -8,7 +8,7 @@
</mat-select> </mat-select>
</mat-form-field> </mat-form-field>
</adf-toolbar-title> </adf-toolbar-title>
<adf-toolbar-divider fxFlex="0 0 auto"></adf-toolbar-divider> <adf-toolbar-divider></adf-toolbar-divider>
<button mat-icon-button <button mat-icon-button
[disabled]="!hasSelection(customSourcesDocumentList.selection)" [disabled]="!hasSelection(customSourcesDocumentList.selection)"
title="{{ 'DOCUMENT_LIST.TOOLBAR.DOWNLOAD' | translate }}" title="{{ 'DOCUMENT_LIST.TOOLBAR.DOWNLOAD' | translate }}"

View File

@@ -15,12 +15,13 @@
* limitations under the License. * limitations under the License.
*/ */
import { Component, Input, ViewChild } from '@angular/core'; import { Component, Input, ViewChild, ViewEncapsulation } from '@angular/core';
import { DocumentListComponent } from '@alfresco/adf-content-services'; import { DocumentListComponent } from '@alfresco/adf-content-services';
@Component({ @Component({
selector: 'app-custom-sources', selector: 'app-custom-sources',
templateUrl: './custom-sources.component.html' templateUrl: './custom-sources.component.html',
encapsulation: ViewEncapsulation.None
}) })
export class CustomSourcesComponent { export class CustomSourcesComponent {

View File

@@ -33,9 +33,10 @@
</adf-sites-dropdown> </adf-sites-dropdown>
</div> </div>
<div id="document-list-container" class="app-document-list-container" fxLayout="row" fxLayoutAlign="start stretch" <div
fxLayoutGap="16px"> id="document-list-container"
<adf-upload-drag-area fxFlex="1 1 auto" class="app-document-list-container">
<adf-upload-drag-area
[disabled]="disableDragArea" [disabled]="disableDragArea"
[acceptedFilesType]="getFileFiltering()" [acceptedFilesType]="getFileFiltering()"
[rootFolderId]="currentFolderId" [rootFolderId]="currentFolderId"
@@ -51,21 +52,21 @@
<span class="app-error-message--text">{{errorMessage}}</span> <span class="app-error-message--text">{{errorMessage}}</span>
</div> </div>
<adf-toolbar *ngIf="!disableDragArea" [color]="toolbarColor" class="app-files-toolbar"> <adf-toolbar *ngIf="!disableDragArea" [color]="toolbarColor" class="app-files-toolbar">
<adf-toolbar-title fxFlex="0 1 auto"> <adf-toolbar-title>
<adf-breadcrumb fxShow fxHide.lt-sm="true" <adf-breadcrumb
class="app-files-breadcrumb" class="app-files-breadcrumb"
root="APP.PERSONAL-FILES" root="APP.PERSONAL-FILES"
[target]="documentList"> [target]="documentList">
</adf-breadcrumb> </adf-breadcrumb>
<adf-dropdown-breadcrumb fxHide fxShow.lt-sm="true" <adf-dropdown-breadcrumb
class="app-files-breadcrumb" class="app-files-breadcrumb"
[target]="documentList"> [target]="documentList">
</adf-dropdown-breadcrumb> </adf-dropdown-breadcrumb>
</adf-toolbar-title> </adf-toolbar-title>
<adf-toolbar-divider fxFlex="0 0 auto"></adf-toolbar-divider> <adf-toolbar-divider></adf-toolbar-divider>
<div fxFlex="0 0 auto" class="app-document-action-buttons" fxShow fxHide.lt-sm="true"> <div class="app-document-action-buttons">
<button <button
mat-icon-button mat-icon-button
data-automation-id="document-list-grid-view" data-automation-id="document-list-grid-view"
@@ -150,7 +151,7 @@
</button> </button>
</div> </div>
<button fxFlex="1 0 auto" mat-icon-button [matMenuTriggerFor]="themePicker" <button mat-icon-button [matMenuTriggerFor]="themePicker"
matTooltip="{{ 'DOCUMENT_LIST.TOOLBAR.THEME' | translate }}"> matTooltip="{{ 'DOCUMENT_LIST.TOOLBAR.THEME' | translate }}">
<mat-icon>format_color_fill</mat-icon> <mat-icon>format_color_fill</mat-icon>
</button> </button>
@@ -171,9 +172,9 @@
</mat-icon> </mat-icon>
</button> </button>
<adf-toolbar-divider fxFlex="0 0 auto" fxHide fxShow.lt-sm="true"></adf-toolbar-divider> <adf-toolbar-divider class="app-toolbar-divider-before-more-menu"></adf-toolbar-divider>
<button fxFlex="0 0 auto" mat-icon-button [matMenuTriggerFor]="menu" fxHide fxShow.lt-sm="true"> <button class="app-toolbar-more-menu-button" mat-icon-button [matMenuTriggerFor]="menu">
<mat-icon>more_vert</mat-icon> <mat-icon>more_vert</mat-icon>
</button> </button>
<mat-menu #menu="matMenu"> <mat-menu #menu="matMenu">
@@ -212,7 +213,7 @@
</mat-menu> </mat-menu>
</adf-toolbar> </adf-toolbar>
<div class="app-document-list-container" [ngClass]="{'adf-sticky-document-list': stickyHeader }"> <div class="app-document-list-container-in-upload-drag-area app-document-list-container" [ngClass]="{'adf-sticky-document-list': stickyHeader }">
<adf-document-list <adf-document-list
#documentList #documentList
class="app-file-list-container" class="app-file-list-container"
@@ -464,7 +465,7 @@
</adf-infinite-pagination> </adf-infinite-pagination>
</adf-upload-drag-area> </adf-upload-drag-area>
<adf-info-drawer-layout *ngIf="showVersions" class="app-manage-versions-sidebar" fxFlex="0 0 auto"> <adf-info-drawer-layout *ngIf="showVersions" class="app-manage-versions-sidebar">
<div info-drawer-content> <div info-drawer-content>
<adf-info-drawer [title]="'Details'" *ngIf="documentList.selection[0]"> <adf-info-drawer [title]="'Details'" *ngIf="documentList.selection[0]">

View File

@@ -26,6 +26,37 @@
.app-datatable-list { .app-datatable-list {
min-height: 400px; min-height: 400px;
} }
adf-upload-drag-area {
margin-right: 16px;
adf-toolbar-title {
flex: 0 1 auto;
}
.app-document-action-buttons {
flex: 0 0 auto;
}
@media screen and (max-width: 600px) {
adf-breadcrumb, .app-document-action-buttons {
display: none;
}
}
@media screen and (min-width: 600px) {
adf-dropdown-breadcrumb, .app-toolbar-divider-before-more-menu, .app-toolbar-more-menu-button {
display: none;
}
}
}
&:not(.app-document-list-container-in-upload-drag-area) {
display: flex;
place-content: stretch flex-start;
align-items: stretch;
max-height: 100%;
}
} }
.adf-datatable-card .app-lock-button { .adf-datatable-card .app-lock-button {
@@ -45,10 +76,10 @@
} }
.app-manage-versions-sidebar { .app-manage-versions-sidebar {
width: 360px !important; flex: 0 0 auto;
& .app-info-drawer-layout-header { &.adf-info-drawer-layout {
display: none !important; width: 360px;
} }
} }

View File

@@ -3,6 +3,6 @@
<adf-content-metadata-card [node]="contentEntry" <adf-content-metadata-card [node]="contentEntry"
[displayEmpty]="displayEmptyMetadata"></adf-content-metadata-card> [displayEmpty]="displayEmptyMetadata"></adf-content-metadata-card>
</section> </section>
<footer mat-dialog-actions fxLayout="row" fxLayoutAlign="end center"> <footer mat-dialog-actions class="adf-metadata-dialog-actions">
<button mat-button (click)="close()">{{'METADATA.DIALOG.CLOSE' | translate}}</button> <button mat-button (click)="close()">{{'METADATA.DIALOG.CLOSE' | translate}}</button>
</footer> </footer>

View File

@@ -0,0 +1,6 @@
.adf-metadata-dialog-actions {
display: flex;
max-height: 100%;
place-content: center flex-end;
align-items: center;
}

View File

@@ -40,6 +40,6 @@
<adf-version-list [node]="contentEntry" [showActions]="false"></adf-version-list> <adf-version-list [node]="contentEntry" [showActions]="false"></adf-version-list>
</section> </section>
<footer mat-dialog-actions fxLayout="row" fxLayoutAlign="end center"> <footer mat-dialog-actions class="adf-version-manager-dialog-actions">
<button mat-button (click)="close()">{{'VERSION.DIALOG.CLOSE' | translate}}</button> <button mat-button (click)="close()">{{'VERSION.DIALOG.CLOSE' | translate}}</button>
</footer> </footer>

View File

@@ -0,0 +1,6 @@
.adf-version-manager-dialog-actions {
display: flex;
max-height: 100%;
place-content: center flex-end;
align-items: center;
}

View File

@@ -1,3 +1,9 @@
adf-create-process-attachment ::ng-deep button { app-process-attachments adf-create-process-attachment button {
float: right; float: right;
} }
@media screen and (max-width: 960px) {
app-process-attachments .app-empty-list-drag_drop, app-process-attachments .app-empty-list__any-files-here-to-add {
display: none;
}
}

View File

@@ -15,14 +15,13 @@
{{'ADF_PROCESS_LIST.PROCESS-ATTACHMENT.EMPTY.HEADER' | translate}} {{'ADF_PROCESS_LIST.PROCESS-ATTACHMENT.EMPTY.HEADER' | translate}}
</div> </div>
<div adf-empty-list-body *ngIf="!isCompletedProcess()"> <div adf-empty-list-body *ngIf="!isCompletedProcess()">
<div fxHide.lt-md="true" class="app-empty-list-drag_drop"> <div class="app-empty-list-drag_drop">
{{'ADF_PROCESS_LIST.PROCESS-ATTACHMENT.EMPTY.DRAG-AND-DROP.TITLE' | translate}} {{'ADF_PROCESS_LIST.PROCESS-ATTACHMENT.EMPTY.DRAG-AND-DROP.TITLE' | translate}}
</div> </div>
<div fxHide.lt-md="true" class="app-empty-list__any-files-here-to-add"> <div class="app-empty-list__any-files-here-to-add">
{{'ADF_PROCESS_LIST.PROCESS-ATTACHMENT.EMPTY.DRAG-AND-DROP.SUBTITLE' | translate}} {{'ADF_PROCESS_LIST.PROCESS-ATTACHMENT.EMPTY.DRAG-AND-DROP.SUBTITLE' | translate}}
</div> </div>
</div> </div>
</adf-empty-list> </adf-empty-list>
</adf-process-attachment-list> </adf-process-attachment-list>

View File

@@ -15,11 +15,15 @@
* limitations under the License. * limitations under the License.
*/ */
import { Component, Input, OnChanges, OnInit, ViewChild, OnDestroy } from '@angular/core'; import { Component, Input, OnChanges, OnDestroy, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';
import { ProcessInstance, ProcessService , import {
ProcessAttachmentListComponent, ProcessUploadService } from '@alfresco/adf-process-services'; ProcessAttachmentListComponent,
ProcessInstance,
ProcessService,
ProcessUploadService
} from '@alfresco/adf-process-services';
import { AlfrescoApiService, AppConfigService } from '@alfresco/adf-core'; import { AlfrescoApiService, AppConfigService } from '@alfresco/adf-core';
import { UploadService, DiscoveryApiService } from '@alfresco/adf-content-services'; import { DiscoveryApiService, UploadService } from '@alfresco/adf-content-services';
import { PreviewService } from '../../services/preview.service'; import { PreviewService } from '../../services/preview.service';
import { Subject } from 'rxjs'; import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators'; import { takeUntil } from 'rxjs/operators';
@@ -38,7 +42,8 @@ export function processUploadServiceFactory(api: AlfrescoApiService, config: App
useFactory: (processUploadServiceFactory), useFactory: (processUploadServiceFactory),
deps: [AlfrescoApiService, AppConfigService, DiscoveryApiService] deps: [AlfrescoApiService, AppConfigService, DiscoveryApiService]
} }
] ],
encapsulation: ViewEncapsulation.None
}) })
export class ProcessAttachmentsComponent implements OnInit, OnChanges, OnDestroy { export class ProcessAttachmentsComponent implements OnInit, OnChanges, OnDestroy {

View File

@@ -2,8 +2,8 @@
data-automation-id="navigation-bar"> data-automation-id="navigation-bar">
<mat-tab id="app-tasks-header" href="#tasks" label="{{'PS-TAB.TASKS-TAB' | translate}}"> <mat-tab id="app-tasks-header" href="#tasks" label="{{'PS-TAB.TASKS-TAB' | translate}}">
<div class="app-page-content" *ngIf="showTaskTab"> <div class="app-page-content" *ngIf="showTaskTab">
<div class="app-grid" fxLayout="row" fxLayout.lt-lg="column" fxLayoutAlign="stretch"> <div class="app-grid">
<div class="app-grid-item app-tasks-menu" fxFlex.gt-md="265px"> <div class="app-grid-item app-tasks-menu">
<div class="app-list-buttons"> <div class="app-list-buttons">
<adf-sidebar-action-menu [expanded]="true" [width]="205" <adf-sidebar-action-menu [expanded]="true" [width]="205"
title="{{'ADF_SIDEBAR_ACTION_MENU.BUTTON.CREATE' | translate}}"> title="{{'ADF_SIDEBAR_ACTION_MENU.BUTTON.CREATE' | translate}}">
@@ -36,8 +36,8 @@
</mat-expansion-panel> </mat-expansion-panel>
</mat-accordion> </mat-accordion>
</div> </div>
<div class="app-grid-item app-tasks-list" fxFlex.gt-md="380px" <div
[ngClass.gt-md]="{'adf-small-pagination': true}" class="app-grid-item app-tasks-list"
*ngIf="taskFilter && !isStartTaskMode()"> *ngIf="taskFilter && !isStartTaskMode()">
<adf-tasklist <adf-tasklist
[appId]="taskFilter?.appId" [appId]="taskFilter?.appId"
@@ -74,7 +74,9 @@
#taskListPagination> #taskListPagination>
</adf-pagination> </adf-pagination>
</div> </div>
<div class="app-grid-item app-tasks-details" *ngIf="!isStartTaskMode()" fxFlex.gt-md="1 1 auto" <div
class="app-grid-item app-tasks-details"
*ngIf="!isStartTaskMode()"
data-automation-id="app-tasks-details"> data-automation-id="app-tasks-details">
<adf-task-details #activitiDetails <adf-task-details #activitiDetails
[debugMode]="true" [debugMode]="true"
@@ -106,7 +108,9 @@
</mat-card-content> </mat-card-content>
</mat-card> </mat-card>
</div> </div>
<div class="app-grid-item app-tasks-start" *ngIf="isStartTaskMode()" fxFlex.gt-md="1 1 auto"> <div
class="app-grid-item app-tasks-start"
*ngIf="isStartTaskMode()">
<adf-start-task <adf-start-task
[appId]="appId" [appId]="appId"
[name]="defaultTaskName" [name]="defaultTaskName"
@@ -120,8 +124,10 @@
<mat-tab id="processes-header" href="#processes" <mat-tab id="processes-header" href="#processes"
label="{{'PS-TAB.PROCESSES-TAB' | translate}}"> label="{{'PS-TAB.PROCESSES-TAB' | translate}}">
<div class="app-page-content" *ngIf="showProcessTab"> <div class="app-page-content" *ngIf="showProcessTab">
<div class="app-grid" fxLayout="row" fxLayout.lt-lg="column" fxLayoutAlign="stretch"> <div class="app-grid">
<div id="app-processes-menu" class="app-grid-item app-processes-menu" fxFlex.gt-md="225px"> <div
id="app-processes-menu"
class="app-grid-item app-processes-menu">
<div class="app-list-buttons"> <div class="app-list-buttons">
<adf-sidebar-action-menu [expanded]="true" [width]="205" <adf-sidebar-action-menu [expanded]="true" [width]="205"
title="{{'ADF_SIDEBAR_ACTION_MENU.BUTTON.CREATE' | translate}}"> title="{{'ADF_SIDEBAR_ACTION_MENU.BUTTON.CREATE' | translate}}">
@@ -157,8 +163,8 @@
</mat-expansion-panel> </mat-expansion-panel>
</mat-accordion> </mat-accordion>
</div> </div>
<div class="app-grid-item app-processes-list app-list" fxFlex.gt-md="380px" <div
[ngClass.gt-md]="{'adf-small-pagination': true}" class="app-grid-item app-processes-list app-list"
*ngIf="processFilter && !isStartProcessMode()"> *ngIf="processFilter && !isStartProcessMode()">
<adf-process-instance-list <adf-process-instance-list
#processList #processList
@@ -190,7 +196,9 @@
#processListPagination> #processListPagination>
</adf-pagination> </adf-pagination>
</div> </div>
<div class="app-grid-item app-processes-details" *ngIf="!isStartProcessMode()" fxFlex.gt-md="1 1 auto"> <div
class="app-grid-item app-processes-details"
*ngIf="!isStartProcessMode()">
<adf-process-instance-details <adf-process-instance-details
#activitiProcessDetails #activitiProcessDetails
[processInstanceId]="currentProcessInstanceId" [processInstanceId]="currentProcessInstanceId"
@@ -218,7 +226,8 @@
</mat-card-content> </mat-card-content>
</mat-card> </mat-card>
</div> </div>
<div class="app-grid-item app-processes-start" fxFlex.gt-md="1 1 auto" <div
class="app-grid-item app-processes-start"
*ngIf="isStartProcessMode()"> *ngIf="isStartProcessMode()">
<adf-start-process <adf-start-process
#activitiStartProcess #activitiStartProcess
@@ -238,18 +247,12 @@
</mat-tab> </mat-tab>
<mat-tab id="report-header" href="#report" <mat-tab id="report-header" href="#report"
label="{{'PS-TAB.REPORTS-TAB' | translate}}"> label="{{'PS-TAB.REPORTS-TAB' | translate}}">
<div class="app-grid" fxLayout="row" fxLayout.lt-lg="column" fxLayoutAlign="stretch"> <div class="app-grid">
<div class="app-grid-item app-reports-menu" fxFlex.gt-md="300px"> <div class="app-grid-item app-reports-menu">
<span><h5>Report List</h5></span> <span><h5>Report List</h5></span>
<mat-divider></mat-divider> <mat-divider></mat-divider>
<!-- <adf-analytics-report-list
[appId]="appId"
[selectFirst]="selectFirstReport"
(reportClick)="onReportClick($event)"
#analyticsReportList>
</adf-analytics-report-list> -->
</div> </div>
<div class="app-grid-item app-reports-details" fxFlex.gt-md="1 1 auto"> <div class="app-grid-item app-reports-details">
<adf-analytics <adf-analytics
*ngIf="report" *ngIf="report"
[appId]="appId" [appId]="appId"
@@ -267,11 +270,11 @@
</mat-tab> </mat-tab>
<mat-tab id="settings-header" href="#settings" <mat-tab id="settings-header" href="#settings"
label="{{'PS-TAB.SETTINGS-TAB' | translate}}"> label="{{'PS-TAB.SETTINGS-TAB' | translate}}">
<div class="app-grid" fxLayout="row" fxLayout.lt-lg="column" fxLayoutAlign="stretch"> <div class="app-grid">
<div class="app-grid-item app-settings-menu" fxFlex.gt-md="300px"> <div class="app-grid-item app-settings-menu">
<span><h3>Settings Menu</h3></span> <span><h3>Settings Menu</h3></span>
</div> </div>
<div class="app-grid-item app-settings-details" fxFlex.gt-md="1 1 auto"> <div class="app-grid-item app-settings-details">
<div> <div>
<mat-slide-toggle id="adf-show-task-filter-icon" [(ngModel)]="showTaskFilterIcon">Show task filters icons <mat-slide-toggle id="adf-show-task-filter-icon" [(ngModel)]="showTaskFilterIcon">Show task filters icons
</mat-slide-toggle> </mat-slide-toggle>
@@ -304,7 +307,7 @@
<mat-card-header > <mat-card-header >
<mat-card-title>Filter Process definitions</mat-card-title> <mat-card-title>Filter Process definitions</mat-card-title>
</mat-card-header> </mat-card-header>
<mat-card-content fxLayout="column" fxLayoutAlign="space-around stretch"> <mat-card-content class="app-filter-process-definitions-inputs">
<mat-form-field> <mat-form-field>
<mat-label>ApplicationId</mat-label> <mat-label>ApplicationId</mat-label>
<input matInput [(ngModel)]="applicationId"> <input matInput [(ngModel)]="applicationId">

View File

@@ -5,13 +5,28 @@
} }
.app-grid { .app-grid {
flex-direction: row;
display: flex;
max-height: 100%;
place-content: stretch flex-start;
align-items: stretch;
.app-grid-item { .app-grid-item {
flex: 1;
margin: 4px; margin: 4px;
box-shadow: box-shadow:
0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 2px 2px 0 rgba(0, 0, 0, 0.14),
0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 3px 1px -2px rgba(0, 0, 0, 0.2),
0 1px 5px 0 rgba(0, 0, 0, 0.12); 0 1px 5px 0 rgba(0, 0, 0, 0.12);
padding: 10px; padding: 10px;
.app-filter-process-definitions-inputs {
flex-direction: column;
display: flex;
max-width: 100%;
place-content: stretch space-around;
align-items: stretch;
}
} }
.app-list-buttons { .app-list-buttons {
@@ -70,6 +85,37 @@
margin: 10px; margin: 10px;
} }
@media screen and (min-width: 1280px) {
.app-tasks-menu {
flex: 1 1 265px;
max-width: 265px;
min-width: 265px;
}
.app-tasks-list, .app-processes-list {
flex: 1 1 380px;
max-width: 380px;
min-width: 380px;
}
.app-processes-menu {
flex: 1 1 225px;
max-width: 225px;
min-width: 225px;
}
.app-reports-menu, .app-settings-menu {
flex: 1 1 300px;
max-width: 300px;
min-width: 300px;
}
.app-tasks-details, .app-tasks-start, .app-processes-details, .app-processes-start, .app-reports-details, .app-settings-details {
flex: 1 1 auto;
min-width: auto;
}
}
@media screen and (max-width: 959px) { @media screen and (max-width: 959px) {
container-widget .app-grid-list { container-widget .app-grid-list {
flex-direction: column; flex-direction: column;
@@ -77,6 +123,14 @@
} }
} }
@media screen and (max-width: 1279px) {
.app-grid {
flex-direction: column;
max-width: 100%;
max-height: initial;
}
}
.app-accordion-panel { .app-accordion-panel {
.mat-expansion-panel { .mat-expansion-panel {
background: inherit; background: inherit;

View File

@@ -1,3 +1,9 @@
adf-create-task-attachment ::ng-deep button { app-task-attachments adf-create-task-attachment button {
float: right; float: right;
} }
@media screen and (max-width: 960px) {
app-task-attachments .app-empty-list-drag_drop, app-task-attachments .app-empty-list__any-files-here-to-add {
display: none;
}
}

View File

@@ -13,10 +13,10 @@
<div adf-empty-list-header class="app-empty-list-header">{{'ADF_TASK_LIST.ATTACHMENT.EMPTY.HEADER' | translate}} <div adf-empty-list-header class="app-empty-list-header">{{'ADF_TASK_LIST.ATTACHMENT.EMPTY.HEADER' | translate}}
</div> </div>
<div adf-empty-list-body *ngIf="!isCompletedTask()"> <div adf-empty-list-body *ngIf="!isCompletedTask()">
<div fxHide.lt-md="true" class="app-empty-list-drag_drop"> <div class="app-empty-list-drag_drop">
{{'ADF_TASK_LIST.ATTACHMENT.EMPTY.DRAG-AND-DROP.TITLE' | translate}} {{'ADF_TASK_LIST.ATTACHMENT.EMPTY.DRAG-AND-DROP.TITLE' | translate}}
</div> </div>
<div fxHide.lt-md="true" class="app-empty-list__any-files-here-to-add"> <div class="app-empty-list__any-files-here-to-add">
{{'ADF_TASK_LIST.ATTACHMENT.EMPTY.DRAG-AND-DROP.SUBTITLE' | translate}} {{'ADF_TASK_LIST.ATTACHMENT.EMPTY.DRAG-AND-DROP.SUBTITLE' | translate}}
</div> </div>
</div> </div>

View File

@@ -15,15 +15,15 @@
* limitations under the License. * limitations under the License.
*/ */
import { Component, Input, OnChanges, OnInit, ViewChild, OnDestroy } from '@angular/core'; import { Component, Input, OnChanges, OnDestroy, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';
import { import {
TaskListService,
TaskAttachmentListComponent, TaskAttachmentListComponent,
TaskUploadService, TaskDetailsModel,
TaskDetailsModel TaskListService,
TaskUploadService
} from '@alfresco/adf-process-services'; } from '@alfresco/adf-process-services';
import { AlfrescoApiService, AppConfigService } from '@alfresco/adf-core'; import { AlfrescoApiService, AppConfigService } from '@alfresco/adf-core';
import { UploadService, DiscoveryApiService } from '@alfresco/adf-content-services'; import { DiscoveryApiService, UploadService } from '@alfresco/adf-content-services';
import { PreviewService } from '../../services/preview.service'; import { PreviewService } from '../../services/preview.service';
import { Subject } from 'rxjs'; import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators'; import { takeUntil } from 'rxjs/operators';
@@ -36,6 +36,7 @@ export function taskUploadServiceFactory(api: AlfrescoApiService, config: AppCon
selector: 'app-task-attachments', selector: 'app-task-attachments',
templateUrl: './task-attachments.component.html', templateUrl: './task-attachments.component.html',
styleUrls: ['./task-attachments.component.css'], styleUrls: ['./task-attachments.component.css'],
encapsulation: ViewEncapsulation.None,
providers: [ providers: [
{ {
provide: UploadService, provide: UploadService,

View File

@@ -1,12 +1,10 @@
<div class="app-rich-text-editor-container" fxLayout="row wrap" fxLayoutAlign="center start"> <div class="app-rich-text-editor-container" >
<div class="app-rich-text-editor-col app-rich-text-editor-col-sx">
<div fxFlex="50" class="app-rich-text-editor-col app-rich-text-editor-col-sx">
<h1 class="app-rich-text-editor-col-title">Rich Text Editor</h1> <h1 class="app-rich-text-editor-col-title">Rich Text Editor</h1>
<adf-cloud-rich-text-editor [data]="sampleData" #textEditor></adf-cloud-rich-text-editor> <adf-cloud-rich-text-editor [data]="sampleData" #textEditor></adf-cloud-rich-text-editor>
</div> </div>
<div fxFlex="50" class="app-rich-text-editor-col app-rich-text-editor-col-rx"> <div class="app-rich-text-editor-col app-rich-text-editor-col-rx">
<h1 class="app-rich-text-editor-col-title">Output Data</h1> <h1 class="app-rich-text-editor-col-title">Output Data</h1>
<pre class="app-rich-text-editor-output">{{editorOutputData | json}}</pre> <pre class="app-rich-text-editor-output">{{editorOutputData | json}}</pre>
</div> </div>
</div> </div>

View File

@@ -1,6 +1,12 @@
app-rich-text-editor {
.app-rich-text-editor-container { .app-rich-text-editor-container {
display: flex;
.app-rich-text-editor-col { .app-rich-text-editor-col {
padding: 20px; padding: 20px;
flex: 1 1 50%;
max-width: 50%;
box-sizing: border-box;
&-rx { &-rx {
border-left: 1px dashed var(--theme-primary-color); border-left: 1px dashed var(--theme-primary-color);
@@ -17,3 +23,4 @@
overflow-x: scroll; overflow-x: scroll;
} }
} }
}

View File

@@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
import { AfterViewInit, Component, OnDestroy, ViewChild } from '@angular/core'; import { AfterViewInit, Component, OnDestroy, ViewChild, ViewEncapsulation } from '@angular/core';
import { OutputData } from '@editorjs/editorjs'; import { OutputData } from '@editorjs/editorjs';
import { RichTextEditorComponent as AdfRichTextEditorComponent } from '@alfresco/adf-process-services-cloud'; import { RichTextEditorComponent as AdfRichTextEditorComponent } from '@alfresco/adf-process-services-cloud';
import { takeUntil } from 'rxjs/operators'; import { takeUntil } from 'rxjs/operators';
@@ -24,7 +24,8 @@ import { Subject } from 'rxjs';
@Component({ @Component({
selector: 'app-rich-text-editor', selector: 'app-rich-text-editor',
templateUrl: './rich-text-editor.component.html', templateUrl: './rich-text-editor.component.html',
styleUrls: ['./rich-text-editor.component.scss'] styleUrls: ['./rich-text-editor.component.scss'],
encapsulation: ViewEncapsulation.None
}) })
export class RichTextEditorComponent implements AfterViewInit, OnDestroy { export class RichTextEditorComponent implements AfterViewInit, OnDestroy {

View File

@@ -22,7 +22,6 @@ import { ContentModule } from '@alfresco/adf-content-services';
import { RichTextEditorModule } from '@alfresco/adf-process-services-cloud'; import { RichTextEditorModule } from '@alfresco/adf-process-services-cloud';
import { CoreModule } from '@alfresco/adf-core'; import { CoreModule } from '@alfresco/adf-core';
import { RouterModule, Routes } from '@angular/router'; import { RouterModule, Routes } from '@angular/router';
import { FlexLayoutModule } from '@angular/flex-layout';
const routes: Routes = [ const routes: Routes = [
{ {
@@ -38,7 +37,6 @@ const routes: Routes = [
CoreModule, CoreModule,
RouterModule.forChild(routes), RouterModule.forChild(routes),
ContentModule.forChild(), ContentModule.forChild(),
FlexLayoutModule,
RichTextEditorModule RichTextEditorModule
] ]
}) })

View File

@@ -1,21 +1,17 @@
<label for="nodeId"><b>Insert Node Id</b></label><br> <label for="nodeId"><b>Insert Node Id</b></label><br>
<input id="nodeId" type="text" size="48" [(ngModel)]="nodeId"><br> <input id="nodeId" type="text" size="48" [(ngModel)]="nodeId"><br>
<div fxLayout="row" fxLayout.lt-lg="column" fxLayoutAlign="stretch"> <div class="app-social-example-areas">
<div class="app-social-example-area" fxFlex.gt-md="1 1 auto"> <mat-card class="app-social-example-area">
<mat-card>
<div class="app-social-title"> <div class="app-social-title">
{{'SOCIAL.LIKE' | translate }} {{'SOCIAL.LIKE' | translate }}
</div> </div>
<adf-like [nodeId]="nodeId"></adf-like> <adf-like [nodeId]="nodeId"></adf-like>
</mat-card> </mat-card>
</div> <mat-card class="app-social-example-area">
<div class="app-social-example-area" fxFlex.gt-md="1 1 auto">
<mat-card>
<div class="app-social-title"> <div class="app-social-title">
{{'SOCIAL.RATING' | translate }} {{'SOCIAL.RATING' | translate }}
</div> </div>
<adf-rating [nodeId]="nodeId"></adf-rating> <adf-rating [nodeId]="nodeId"></adf-rating>
</mat-card> </mat-card>
</div> </div>
</div>

View File

@@ -1,7 +1,25 @@
app-social {
.app-social-example-areas {
flex-direction: column;
box-sizing: border-box;
display: flex;
place-content: stretch flex-start;
align-items: stretch;
.app-social-example-area { .app-social-example-area {
margin: 10px; margin: 10px;
}
.app-social-example-title { .app-social-example-title {
padding-bottom: 12px; padding-bottom: 12px;
} }
}
@media screen and (min-width: 1280px) {
flex-direction: row;
.app-social-example-area {
flex: 1 1 auto;
}
}
}
}

View File

@@ -15,12 +15,13 @@
* limitations under the License. * limitations under the License.
*/ */
import { Component } from '@angular/core'; import { Component, ViewEncapsulation } from '@angular/core';
@Component({ @Component({
selector: 'app-social', selector: 'app-social',
templateUrl: './social.component.html', templateUrl: './social.component.html',
styleUrls: ['./social.component.scss'] styleUrls: ['./social.component.scss'],
encapsulation: ViewEncapsulation.None
}) })
export class SocialComponent { export class SocialComponent {

View File

@@ -3,22 +3,18 @@
<button mat-raised-button id="adf-tag-node-send" (click)="onSubmit()" color="primary">Confirm</button> <button mat-raised-button id="adf-tag-node-send" (click)="onSubmit()" color="primary">Confirm</button>
<br> <br>
<div fxLayout="row" fxLayout.lt-lg="column" fxLayoutAlign="stretch"> <div class="app-tag-example-areas">
<div class="app-tag-example-area" fxFlex.gt-md="1 1 auto"> <mat-card class="app-tag-example-area">
<mat-card>
<adf-tag-node-actions-list [nodeId]="nodeId"></adf-tag-node-actions-list> <adf-tag-node-actions-list [nodeId]="nodeId"></adf-tag-node-actions-list>
</mat-card> </mat-card>
</div> <mat-card class="app-tag-example-area">
<div class="app-tag-example-area" fxFlex.gt-md="1 1 auto">
<mat-card>
<div class="app-tag-example-title"> <div class="app-tag-example-title">
{{'TAG.LIST' | translate }} {{'TAG.LIST' | translate }}
</div> </div>
<adf-tag-list></adf-tag-list> <adf-tag-list></adf-tag-list>
</mat-card> </mat-card>
</div> <div class="app-tag-example-area">
<div class="app-tag-example-area" fxFlex.gt-md="1 1 auto"> <mat-card class="app-tag-example-area">
<mat-card>
<div class="app-tag-example-title"> <div class="app-tag-example-title">
{{'TAG.NODE_LIST' | translate }} {{'TAG.NODE_LIST' | translate }}
</div> </div>

View File

@@ -1,7 +1,25 @@
app-tag {
.app-tag-example-areas {
flex-direction: column;
box-sizing: border-box;
display: flex;
place-content: stretch flex-start;
align-items: stretch;
.app-tag-example-area { .app-tag-example-area {
margin: 10px; margin: 10px;
}
.app-tag-example-title { .app-tag-example-title {
padding-bottom: 12px; padding-bottom: 12px;
} }
}
@media screen and (min-width: 1280px) {
flex-direction: row;
.app-tag-example-area {
flex: 1 1 auto;
}
}
}
}

View File

@@ -15,12 +15,13 @@
* limitations under the License. * limitations under the License.
*/ */
import { Component } from '@angular/core'; import { Component, ViewEncapsulation } from '@angular/core';
@Component({ @Component({
selector: 'app-tag', selector: 'app-tag',
templateUrl: './tag.component.html', templateUrl: './tag.component.html',
styleUrls: ['./tag.component.scss'] styleUrls: ['./tag.component.scss'],
encapsulation: ViewEncapsulation.None
}) })
export class TagComponent { export class TagComponent {

View File

@@ -260,7 +260,6 @@
"/@angular/compiler", "/@angular/compiler",
"/@angular/compiler-cli", "/@angular/compiler-cli",
"/@angular/core", "/@angular/core",
"/@angular/flex-layout",
"/@angular/forms", "/@angular/forms",
"/@angular/http", "/@angular/http",
"/@angular/material", "/@angular/material",
@@ -561,11 +560,6 @@
}, },
"peerMissing": true "peerMissing": true
}, },
"@angular/flex-layout": {
"version": "7.0.0-beta.24",
"from": "@angular/flex-layout@^7.0.0-beta.24",
"resolved": "https://registry.npmjs.org/@angular/flex-layout/-/flex-layout-7.0.0-beta.24.tgz"
},
"@angular/forms": { "@angular/forms": {
"version": "7.2.15", "version": "7.2.15",
"from": "@angular/forms@^7.2.15", "from": "@angular/forms@^7.2.15",

View File

@@ -16,7 +16,6 @@
"@angular/common": ">=14.1.3", "@angular/common": ">=14.1.3",
"@angular/compiler": ">=14.1.3", "@angular/compiler": ">=14.1.3",
"@angular/core": ">=14.1.3", "@angular/core": ">=14.1.3",
"@angular/flex-layout": "^14.0.0-beta.40",
"@angular/forms": ">=14.1.3", "@angular/forms": ">=14.1.3",
"@angular/material": ">=14.1.2", "@angular/material": ">=14.1.2",
"@angular/platform-browser": ">=14.1.3", "@angular/platform-browser": ">=14.1.3",

View File

@@ -13,7 +13,7 @@
[displayCategories]="true"> [displayCategories]="true">
</adf-content-metadata> </adf-content-metadata>
</mat-card-content> </mat-card-content>
<mat-card-footer class="adf-content-metadata-card-footer" fxLayout="row" fxLayoutAlign="space-between stretch"> <mat-card-footer class="adf-content-metadata-card-footer">
<div> <div>
<button *ngIf="isEditAspectSupported()" <button *ngIf="isEditAspectSupported()"
mat-icon-button mat-icon-button

View File

@@ -11,6 +11,10 @@
margin: 0; margin: 0;
padding: 8px 12px; padding: 8px 12px;
border-top: 1px solid var(--adf-theme-foreground-text-color-007); border-top: 1px solid var(--adf-theme-foreground-text-color-007);
display: flex;
place-content: stretch space-between;
align-items: stretch;
max-height: 100%;
button { button {
color: var(--adf-theme-foreground-text-color-054); color: var(--adf-theme-foreground-text-color-054);

View File

@@ -16,7 +16,6 @@
*/ */
import { CommonModule } from '@angular/common'; import { CommonModule } from '@angular/common';
import { FlexLayoutModule } from '@angular/flex-layout';
import { NgModule } from '@angular/core'; import { NgModule } from '@angular/core';
import { MaterialModule } from '../material.module'; import { MaterialModule } from '../material.module';
import { CoreModule } from '@alfresco/adf-core'; import { CoreModule } from '@alfresco/adf-core';
@@ -29,7 +28,6 @@ import { CategoriesModule } from '../category/category.module';
imports: [ imports: [
CommonModule, CommonModule,
MaterialModule, MaterialModule,
FlexLayoutModule,
CoreModule, CoreModule,
TagModule, TagModule,
CategoriesModule CategoriesModule

View File

@@ -59,10 +59,8 @@
</div> </div>
<adf-empty-list data-automation-id="adf-empty-list" *ngIf="!uploadStarted"> <adf-empty-list data-automation-id="adf-empty-list" *ngIf="!uploadStarted">
<div class="adf-empty-list_template adf-empty-folder"> <div class="adf-empty-list_template adf-empty-folder">
<div fxHide.lt-md="true" <div class="adf-empty-folder-drag-drop">{{ 'ADF-DATATABLE.EMPTY.DRAG-AND-DROP.TITLE' | translate }}</div>
class="adf-empty-folder-drag-drop">{{ 'ADF-DATATABLE.EMPTY.DRAG-AND-DROP.TITLE' | translate }}</div> <div class="adf-empty-folder-any-files-here-to-add">{{ 'ADF-DATATABLE.EMPTY.DRAG-AND-DROP.SUBTITLE' | translate }}</div>
<div fxHide.lt-md="true"
class="adf-empty-folder-any-files-here-to-add">{{ 'ADF-DATATABLE.EMPTY.DRAG-AND-DROP.SUBTITLE' | translate }}</div>
<img [alt]="'ADF-DATATABLE.EMPTY.DRAG-AND-DROP.TITLE' | translate" class="adf-empty-folder-image" <img [alt]="'ADF-DATATABLE.EMPTY.DRAG-AND-DROP.TITLE' | translate" class="adf-empty-folder-image"
[src]="emptyFolderImageUrl"> [src]="emptyFolderImageUrl">
</div> </div>

View File

@@ -38,8 +38,8 @@
<adf-empty-list *ngIf="!customNoContentTemplate"> <adf-empty-list *ngIf="!customNoContentTemplate">
<div class="adf-empty-list_template adf-empty-folder"> <div class="adf-empty-list_template adf-empty-folder">
<div class="adf-empty-folder-this-space-is-empty">{{'ADF-DOCUMENT-LIST.EMPTY.HEADER' | translate}}</div> <div class="adf-empty-folder-this-space-is-empty">{{'ADF-DOCUMENT-LIST.EMPTY.HEADER' | translate}}</div>
<div fxHide.lt-md="true" class="adf-empty-folder-drag-drop">{{ 'ADF-DATATABLE.EMPTY.DRAG-AND-DROP.TITLE' | translate }}</div> <div class="adf-empty-folder-drag-drop">{{ 'ADF-DATATABLE.EMPTY.DRAG-AND-DROP.TITLE' | translate }}</div>
<div fxHide.lt-md="true" class="adf-empty-folder-any-files-here-to-add">{{ 'ADF-DATATABLE.EMPTY.DRAG-AND-DROP.SUBTITLE' | translate }}</div> <div class="adf-empty-folder-any-files-here-to-add">{{ 'ADF-DATATABLE.EMPTY.DRAG-AND-DROP.SUBTITLE' | translate }}</div>
<img [alt]="'ADF-DATATABLE.EMPTY.DRAG-AND-DROP.TITLE' | translate" class="adf-empty-folder-image" [src]="emptyFolderImageUrl"> <img [alt]="'ADF-DATATABLE.EMPTY.DRAG-AND-DROP.TITLE' | translate" class="adf-empty-folder-image" [src]="emptyFolderImageUrl">
</div> </div>
</adf-empty-list> </adf-empty-list>

View File

@@ -170,6 +170,13 @@
width: 250px; width: 250px;
} }
} }
@media screen and (max-width: 960px) {
&-drag-drop,
&-any-files-here-to-add {
display: none;
}
}
} }
.adf-datatable-gallery-thumbnails { .adf-datatable-gallery-thumbnails {

View File

@@ -17,7 +17,6 @@
import { CommonModule } from '@angular/common'; import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core'; import { NgModule } from '@angular/core';
import { FlexLayoutModule } from '@angular/flex-layout';
import { CoreModule, EditJsonDialogModule } from '@alfresco/adf-core'; import { CoreModule, EditJsonDialogModule } from '@alfresco/adf-core';
import { MaterialModule } from '../material.module'; import { MaterialModule } from '../material.module';
@@ -43,7 +42,6 @@ import { ContentDirectiveModule } from '../directives/content-directive.module';
CoreModule, CoreModule,
CommonModule, CommonModule,
ContentPipeModule, ContentPipeModule,
FlexLayoutModule,
MaterialModule, MaterialModule,
UploadModule, UploadModule,
EditJsonDialogModule, EditJsonDialogModule,

View File

@@ -2,7 +2,7 @@
<adf-version-comparison *ngIf="showVersionComparison" [node]="node" [newFileVersion]="newFileVersion"></adf-version-comparison> <adf-version-comparison *ngIf="showVersionComparison" [node]="node" [newFileVersion]="newFileVersion"></adf-version-comparison>
<div class="adf-new-version-uploader-container" id="adf-new-version-uploader-container" fxLayout="row" fxLayoutAlign="end center" [@uploadToggle]="uploadState"> <div class="adf-new-version-uploader-container" id="adf-new-version-uploader-container" [@uploadToggle]="uploadState">
<table class="adf-version-upload" *ngIf="uploadState !== 'close' && !versionList.isLoading"> <table class="adf-version-upload" *ngIf="uploadState !== 'close' && !versionList.isLoading">
<tr> <tr>
<td> <td>

View File

@@ -18,7 +18,6 @@
import { CommonModule } from '@angular/common'; import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core'; import { NgModule } from '@angular/core';
import { TranslateModule } from '@ngx-translate/core'; import { TranslateModule } from '@ngx-translate/core';
import { FlexLayoutModule } from '@angular/flex-layout';
import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { ExtensionsModule } from '@alfresco/adf-extensions'; import { ExtensionsModule } from '@alfresco/adf-extensions';
@@ -37,7 +36,6 @@ import { ContentDirectiveModule } from '../directives';
TranslateModule, TranslateModule,
FormsModule, FormsModule,
ReactiveFormsModule, ReactiveFormsModule,
FlexLayoutModule,
A11yModule, A11yModule,
ExtensionsModule, ExtensionsModule,
ContentDirectiveModule ContentDirectiveModule

View File

@@ -26,7 +26,6 @@
"@angular/cdk": ">=14.1.2", "@angular/cdk": ">=14.1.2",
"@angular/common": ">=14.1.3", "@angular/common": ">=14.1.3",
"@angular/core": ">=14.1.3", "@angular/core": ">=14.1.3",
"@angular/flex-layout": "^14.0.0-beta.40",
"@angular/forms": ">=14.1.3", "@angular/forms": ">=14.1.3",
"@angular/material": ">=14.1.2", "@angular/material": ">=14.1.2",
"@angular/material-moment-adapter": ">=14.1.2", "@angular/material-moment-adapter": ">=14.1.2",

View File

@@ -22,15 +22,13 @@ import { MatIconModule } from '@angular/material/icon';
import { MatMenuModule } from '@angular/material/menu'; import { MatMenuModule } from '@angular/material/menu';
import { MatButtonModule } from '@angular/material/button'; import { MatButtonModule } from '@angular/material/button';
import { ButtonsMenuComponent } from './buttons-menu.component'; import { ButtonsMenuComponent } from './buttons-menu.component';
import { FlexLayoutModule } from '@angular/flex-layout';
@NgModule({ @NgModule({
imports: [ imports: [
CommonModule, CommonModule,
MatIconModule, MatIconModule,
MatMenuModule, MatMenuModule,
TranslateModule, TranslateModule
FlexLayoutModule
], ],
declarations: [ButtonsMenuComponent], declarations: [ButtonsMenuComponent],
exports: [ButtonsMenuComponent, MatIconModule, MatMenuModule, MatButtonModule] exports: [ButtonsMenuComponent, MatIconModule, MatMenuModule, MatButtonModule]

View File

@@ -32,7 +32,6 @@ import { MatSlideToggleModule } from '@angular/material/slide-toggle';
import { MatTableModule } from '@angular/material/table'; import { MatTableModule } from '@angular/material/table';
import { MatTooltipModule } from '@angular/material/tooltip'; import { MatTooltipModule } from '@angular/material/tooltip';
import { MatDatetimepickerModule, MatNativeDatetimeModule } from '@mat-datetimepicker/core'; import { MatDatetimepickerModule, MatNativeDatetimeModule } from '@mat-datetimepicker/core';
import { FlexLayoutModule } from '@angular/flex-layout';
import { TranslateModule } from '@ngx-translate/core'; import { TranslateModule } from '@ngx-translate/core';
import { CardViewContentProxyDirective } from './directives/card-view-content-proxy.directive'; import { CardViewContentProxyDirective } from './directives/card-view-content-proxy.directive';
@@ -52,7 +51,6 @@ import { SelectFilterInputComponent } from './components/card-view-selectitem/se
CommonModule, CommonModule,
FormsModule, FormsModule,
ReactiveFormsModule, ReactiveFormsModule,
FlexLayoutModule,
TranslateModule, TranslateModule,
MatDatepickerModule, MatDatepickerModule,
MatNativeDateModule, MatNativeDateModule,

View File

@@ -88,9 +88,7 @@
class="adf-textitem-clickable" class="adf-textitem-clickable"
[ngClass]="{ 'adf-property-read-only': !isEditable }" [ngClass]="{ 'adf-property-read-only': !isEditable }"
[attr.data-automation-id]="'card-textitem-toggle-' + property.key" [attr.data-automation-id]="'card-textitem-toggle-' + property.key"
(click)="clicked()" (click)="clicked()">
fxLayout="row"
fxLayoutAlign="space-between center">
<mat-form-field class="adf-property-field adf-card-textitem-field" appearance="standard" <mat-form-field class="adf-property-field adf-card-textitem-field" appearance="standard"
[floatLabel]="'never'"> [floatLabel]="'never'">
<mat-label *ngIf="showProperty || isEditable" [attr.data-automation-id]="'card-textitem-label-' + property.key" class="adf-property-label"> <mat-label *ngIf="showProperty || isEditable" [attr.data-automation-id]="'card-textitem-label-' + property.key" class="adf-property-label">
@@ -110,7 +108,6 @@
[attr.data-automation-id]="'card-textitem-value-' + property.key"> [attr.data-automation-id]="'card-textitem-value-' + property.key">
<button mat-icon-button <button mat-icon-button
matSuffix matSuffix
fxFlex="0 0 auto"
*ngIf="showClickableIcon" *ngIf="showClickableIcon"
class="adf-textitem-action" class="adf-textitem-action"
[attr.title]="'CORE.METADATA.ACTIONS.EDIT' | translate" [attr.title]="'CORE.METADATA.ACTIONS.EDIT' | translate"

View File

@@ -35,7 +35,6 @@ import { MatDatetimepickerModule, MatNativeDatetimeModule } from '@mat-datetimep
import { FormRendererComponent } from './components/form-renderer.component'; import { FormRendererComponent } from './components/form-renderer.component';
import { EditJsonDialogModule } from '../dialogs/edit-json/edit-json.dialog.module'; import { EditJsonDialogModule } from '../dialogs/edit-json/edit-json.dialog.module';
import { A11yModule } from '@angular/cdk/a11y'; import { A11yModule } from '@angular/cdk/a11y';
import { FlexLayoutModule } from '@angular/flex-layout';
import { ViewerModule } from '../viewer/viewer.module'; import { ViewerModule } from '../viewer/viewer.module';
import { InplaceFormInputComponent } from './components/inplace-form-input/inplace-form-input.component'; import { InplaceFormInputComponent } from './components/inplace-form-input/inplace-form-input.component';
@@ -43,7 +42,6 @@ import { InplaceFormInputComponent } from './components/inplace-form-input/inpla
imports: [ imports: [
CommonModule, CommonModule,
A11yModule, A11yModule,
FlexLayoutModule,
DataTableModule, DataTableModule,
HttpClientModule, HttpClientModule,
MaterialModule, MaterialModule,

View File

@@ -28,11 +28,10 @@
role="link" role="link"
[attr.aria-label]="title | translate" [attr.aria-label]="title | translate"
[routerLink]="redirectUrl" [routerLink]="redirectUrl"
fxFlex="1 1 auto"
fxShow
fxHide.lt-sm="true"
class="adf-app-title" class="adf-app-title"
>{{ title }}</h1> >
{{ title }}
</h1>
<ng-content></ng-content> <ng-content></ng-content>
<button <button

View File

@@ -1,12 +1,9 @@
<div *ngIf="isLoading" <div *ngIf="isLoading"
class="adf-viewer-render-main" class="adf-viewer-render-main">
fxFlexOrder="1"
fxFlex="1 1 auto">
<div class="adf-viewer-render-layout-content adf-viewer__fullscreen-container"> <div class="adf-viewer-render-layout-content adf-viewer__fullscreen-container">
<div class="adf-viewer-render-content-container"> <div class="adf-viewer-render-content-container">
<ng-container *ngIf="isLoading"> <ng-container *ngIf="isLoading">
<div class="adf-viewer-render__loading-screen" <div class="adf-viewer-render__loading-screen">
fxFlex="1 1 auto">
<h2>{{ 'ADF_VIEWER.LOADING' | translate }}</h2> <h2>{{ 'ADF_VIEWER.LOADING' | translate }}</h2>
<div> <div>
<mat-spinner></mat-spinner> <mat-spinner></mat-spinner>
@@ -19,9 +16,7 @@
</div> </div>
<div *ngIf="!isLoading" <div *ngIf="!isLoading"
class="adf-viewer-render-main" class="adf-viewer-render-main">
fxFlexOrder="1"
fxFlex="1 1 auto">
<div class="adf-viewer-render-layout-content adf-viewer__fullscreen-container"> <div class="adf-viewer-render-layout-content adf-viewer__fullscreen-container">
<div class="adf-viewer-render-content-container" [ngSwitch]="viewerType"> <div class="adf-viewer-render-content-container" [ngSwitch]="viewerType">
<ng-container *ngSwitchCase="'external'"> <ng-container *ngSwitchCase="'external'">

View File

@@ -8,6 +8,8 @@
.adf-viewer-render { .adf-viewer-render {
&-main { &-main {
width: 0; width: 0;
order: 1;
flex: 1 1 auto;
} }
&-content-container { &-content-container {
@@ -48,6 +50,7 @@
&__loading-screen { &__loading-screen {
display: flex; display: flex;
flex: 1 1 auto;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
flex-direction: column; flex-direction: column;

View File

@@ -4,7 +4,6 @@
[class.adf-viewer-inline-container]="!overlayMode"> [class.adf-viewer-inline-container]="!overlayMode">
<div class="adf-viewer-content" <div class="adf-viewer-content"
fxLayout="column"
[cdkTrapFocus]="overlayMode" [cdkTrapFocus]="overlayMode"
cdkTrapFocusAutoCapture> cdkTrapFocusAutoCapture>
<ng-content select="adf-viewer-toolbar"></ng-content> <ng-content select="adf-viewer-toolbar"></ng-content>
@@ -35,8 +34,7 @@
</button> </button>
</adf-toolbar-title> </adf-toolbar-title>
<div fxFlex="1 1 auto" <div class="adf-viewer__file-title">
class="adf-viewer__file-title">
<button *ngIf="allowNavigate && canNavigateBefore" <button *ngIf="allowNavigate && canNavigateBefore"
data-automation-id="adf-toolbar-pref-file" data-automation-id="adf-toolbar-pref-file"
mat-icon-button mat-icon-button
@@ -125,13 +123,10 @@
</adf-toolbar> </adf-toolbar>
</ng-container> </ng-container>
<div fxLayout="row" <div class="adf-viewer-sidebars">
fxFlex="1 1 auto">
<ng-container *ngIf="allowRightSidebar && showRightSidebar"> <ng-container *ngIf="allowRightSidebar && showRightSidebar">
<div class="adf-viewer__sidebar" <div class="adf-viewer__sidebar adf-viewer__sidebar__right"
[ngClass]="'adf-viewer__sidebar__right'"
fxFlexOrder="4"
id="adf-right-sidebar"> id="adf-right-sidebar">
<ng-container *ngIf="sidebarRightTemplate"> <ng-container *ngIf="sidebarRightTemplate">
<ng-container *ngTemplateOutlet="sidebarRightTemplate;context:sidebarRightTemplateContext"> <ng-container *ngTemplateOutlet="sidebarRightTemplate;context:sidebarRightTemplateContext">
@@ -143,9 +138,7 @@
</ng-container> </ng-container>
<ng-container *ngIf="allowLeftSidebar && showLeftSidebar"> <ng-container *ngIf="allowLeftSidebar && showLeftSidebar">
<div class="adf-viewer__sidebar" <div class="adf-viewer__sidebar adf-viewer__sidebar__left"
[ngClass]="'adf-viewer__sidebar__left'"
fxFlexOrder="1"
id="adf-left-sidebar"> id="adf-left-sidebar">
<ng-container *ngIf="sidebarLeftTemplate"> <ng-container *ngIf="sidebarLeftTemplate">
<ng-container *ngTemplateOutlet="sidebarLeftTemplate;context:sidebarLeftTemplateContext"> <ng-container *ngTemplateOutlet="sidebarLeftTemplate;context:sidebarLeftTemplateContext">
@@ -157,8 +150,6 @@
</ng-container> </ng-container>
<adf-viewer-render <adf-viewer-render
fxFlexOrder="1"
fxFlex="1 1 auto"
(close)="onClose()" (close)="onClose()"
[mimeType]="mimeType" [mimeType]="mimeType"
[fileName]="fileName" [fileName]="fileName"

View File

@@ -36,6 +36,7 @@
&__file-title { &__file-title {
text-align: center; text-align: center;
flex: 1 1 auto;
} }
&__display-name { &__display-name {
@@ -92,6 +93,8 @@
@extend .adf-full-screen; @extend .adf-full-screen;
flex: 1; flex: 1;
flex-direction: column;
display: flex;
& > div { & > div {
height: 0; // Firefox height: 0; // Firefox
@@ -112,7 +115,11 @@
@extend .adf-full-screen; @extend .adf-full-screen;
} }
&__sidebar { &-sidebars {
display: flex;
flex: 1 1 auto;
.adf-viewer__sidebar {
width: 350px; width: 350px;
display: block; display: block;
padding: 0; padding: 0;
@@ -122,10 +129,19 @@
&__right { &__right {
border-left: 1px solid var(--adf-theme-foreground-text-color-007); border-left: 1px solid var(--adf-theme-foreground-text-color-007);
order: 4;
} }
&__left { &__left {
border-right: 1px solid var(--adf-theme-foreground-text-color-007); border-right: 1px solid var(--adf-theme-foreground-text-color-007);
order: 1;
}
}
adf-viewer-render {
order: 1;
flex: 1 1 auto;
display: flex;
} }
} }
} }

View File

@@ -18,7 +18,6 @@
import { CommonModule } from '@angular/common'; import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core'; import { NgModule } from '@angular/core';
import { TranslateModule } from '@ngx-translate/core'; import { TranslateModule } from '@ngx-translate/core';
import { FlexLayoutModule } from '@angular/flex-layout';
import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { ExtensionsModule } from '@alfresco/adf-extensions'; import { ExtensionsModule } from '@alfresco/adf-extensions';
@@ -56,7 +55,6 @@ import { DownloadPromptDialogComponent } from './components/download-prompt-dial
ReactiveFormsModule, ReactiveFormsModule,
ToolbarModule, ToolbarModule,
PipeModule, PipeModule,
FlexLayoutModule,
DirectiveModule, DirectiveModule,
A11yModule, A11yModule,
ExtensionsModule ExtensionsModule

View File

@@ -14,7 +14,6 @@
"@angular/common": ">=14.1.3", "@angular/common": ">=14.1.3",
"@angular/compiler": ">=14.1.3", "@angular/compiler": ">=14.1.3",
"@angular/core": ">=14.1.3", "@angular/core": ">=14.1.3",
"@angular/flex-layout": "^14.0.0-beta.40",
"@angular/forms": ">=14.1.3", "@angular/forms": ">=14.1.3",
"@angular/material": ">=14.1.2", "@angular/material": ">=14.1.2",
"@alfresco/adf-core": ">=6.0.0", "@alfresco/adf-core": ">=6.0.0",

View File

@@ -36,8 +36,6 @@ import { DropdownWidgetAnalyticsComponent } from './components/widgets/dropdown/
import { DurationWidgetComponent } from './components/widgets/duration/duration.widget'; import { DurationWidgetComponent } from './components/widgets/duration/duration.widget';
import { NumberWidgetAnalyticsComponent } from './components/widgets/number/number.widget'; import { NumberWidgetAnalyticsComponent } from './components/widgets/number/number.widget';
import { FlexLayoutModule } from '@angular/flex-layout';
@NgModule({ @NgModule({
imports: [ imports: [
FormsModule, FormsModule,
@@ -46,7 +44,6 @@ import { FlexLayoutModule } from '@angular/flex-layout';
ChartsModule, ChartsModule,
DiagramsModule, DiagramsModule,
MaterialModule, MaterialModule,
FlexLayoutModule,
CoreModule CoreModule
], ],
declarations: [ declarations: [

View File

@@ -29,7 +29,6 @@
"@angular/common": ">=14.1.3", "@angular/common": ">=14.1.3",
"@angular/compiler": ">=14.1.3", "@angular/compiler": ">=14.1.3",
"@angular/core": ">=14.1.3", "@angular/core": ">=14.1.3",
"@angular/flex-layout": "^14.0.0-beta.40",
"@angular/forms": ">=14.1.3", "@angular/forms": ">=14.1.3",
"@angular/material": ">=14.1.2", "@angular/material": ">=14.1.2",
"@angular/material-moment-adapter": ">=14.1.2", "@angular/material-moment-adapter": ">=14.1.2",

View File

@@ -16,7 +16,6 @@
*/ */
import { NgModule } from '@angular/core'; import { NgModule } from '@angular/core';
import { FlexLayoutModule } from '@angular/flex-layout';
import { MaterialModule } from '../material.module'; import { MaterialModule } from '../material.module';
import { CommonModule } from '@angular/common'; import { CommonModule } from '@angular/common';
import { AppDetailsCloudComponent } from './components/app-details-cloud.component'; import { AppDetailsCloudComponent } from './components/app-details-cloud.component';
@@ -28,7 +27,6 @@ import { TemplateModule, CoreModule } from '@alfresco/adf-core';
CommonModule, CommonModule,
TemplateModule, TemplateModule,
MaterialModule, MaterialModule,
FlexLayoutModule,
CoreModule CoreModule
], ],
declarations: [ declarations: [

View File

@@ -1,7 +1,7 @@
<div class="adf-app-listgrid"> <div class="adf-app-listgrid">
<div class="adf-app-listgrid-item"> <div class="adf-app-listgrid-item">
<mat-card tabindex="0" <mat-card
fxLayout="column" tabindex="0"
role="button" role="button"
class="adf-app-listgrid-item-card" class="adf-app-listgrid-item-card"
title="{{applicationInstance.name}}" title="{{applicationInstance.name}}"
@@ -14,7 +14,7 @@
<div mat-card-title class="adf-app-listgrid-item-card-title"> <div mat-card-title class="adf-app-listgrid-item-card-title">
<h1>{{applicationInstance.name}}</h1> <h1>{{applicationInstance.name}}</h1>
</div> </div>
<mat-card-subtitle class="adf-app-listgrid-item-card-subtitle" fxFlex="1 0 auto"> <mat-card-subtitle class="adf-app-listgrid-item-card-subtitle">
<div class="adf-line-clamp">{{applicationInstance.description}}</div> <div class="adf-line-clamp">{{applicationInstance.description}}</div>
</mat-card-subtitle> </mat-card-subtitle>
</mat-card> </mat-card>

View File

@@ -34,13 +34,17 @@ $tile-themes: (
theme-10: (bg: #cabb33, color: #baab23) theme-10: (bg: #cabb33, color: #baab23)
); );
adf-cloud-app-details {
.adf-app-listgrid { .adf-app-listgrid {
padding: 8px; padding: 8px;
display: block;
&-item { &-item {
outline: none; outline: none;
padding: 8px; padding: 8px;
box-sizing: border-box; box-sizing: border-box;
flex: unset;
max-width: unset;
&-card { &-card {
@for $i from 1 through 10 { @for $i from 1 through 10 {
@@ -48,13 +52,21 @@ $tile-themes: (
$tile-theme: map-get($tile-themes, theme-#{$i}); $tile-theme: map-get($tile-themes, theme-#{$i});
background-color: map-get($tile-theme, bg); background-color: map-get($tile-theme, bg);
.adf-app-listgrid-item-card-logo-icon {
color: map-get($tile-theme, color);
}
} }
} }
outline: none; outline: none;
transition: transform 280ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1); transition: transform 280ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
min-height: 200px; min-height: 200px;
flex-direction: column;
box-sizing: border-box;
display: flex;
padding: 0 !important; padding: 0 !important;
max-width: unset;
&:hover { &:hover {
box-shadow: box-shadow:
@@ -76,14 +88,6 @@ $tile-themes: (
font-size: 70px; font-size: 70px;
width: 1em !important; width: 1em !important;
height: 1em !important; height: 1em !important;
@for $i from 1 through 10 {
.theme-#{$i} & {
$tile-theme: map-get($tile-themes, theme-#{$i});
color: map-get($tile-theme, color);
}
}
} }
} }
@@ -108,6 +112,7 @@ $tile-themes: (
color: white; color: white;
z-index: 9999; z-index: 9999;
padding: 16px; padding: 16px;
flex: 1 0 auto;
.adf-line-clamp { .adf-line-clamp {
@include adf-line-clamp(1.25, 3); @include adf-line-clamp(1.25, 3);
@@ -136,3 +141,4 @@ $tile-themes: (
} }
} }
} }
}

View File

@@ -1,8 +1,12 @@
<div class="menu-container" *ngIf="apps$ | async as appsList; else loadingOrError"> <div class="menu-container" *ngIf="apps$ | async as appsList; else loadingOrError">
<ng-container *ngIf="appsList.length > 0; else noApps"> <ng-container *ngIf="appsList.length > 0; else noApps">
<div *ngIf="isGrid(); else appList" fxLayout="row wrap"> <div
<adf-cloud-app-details fxFlex="33.33333%" fxFlex.lt-md="50%" fxFlex.lt-sm="100%" *ngIf="isGrid(); else appList"
*ngFor="let app of appsList" [applicationInstance]="app" (selectedApp)="onSelectApp($event)"> class="adf-app-apps-grid">
<adf-cloud-app-details
*ngFor="let app of appsList"
[applicationInstance]="app"
(selectedApp)="onSelectApp($event)">
</adf-cloud-app-details> </adf-cloud-app-details>
</div> </div>

Some files were not shown because too many files have changed in this diff Show More