[ACS-8085] Insights module as standalone (#9768)

This commit is contained in:
Denys Vuika 2024-06-06 09:25:46 -04:00 committed by GitHub
parent a33c1663d4
commit b9399d3f06
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
140 changed files with 1267 additions and 796 deletions

View File

@ -88,7 +88,8 @@ import { FolderDirectiveModule } from './folder-directive';
NgChartsModule,
AppCloudSharedModule,
MonacoEditorModule.forRoot(),
FolderDirectiveModule
FolderDirectiveModule,
ShowDiagramComponent
],
declarations: [
AppComponent,
@ -98,7 +99,6 @@ import { FolderDirectiveModule } from './folder-directive';
SearchBarComponent,
SearchResultComponent,
ProcessServiceComponent,
ShowDiagramComponent,
FormViewerComponent,
FormNodeViewerComponent,
AppsViewComponent,

View File

@ -17,18 +17,22 @@
import { Component } from '@angular/core';
import { ActivatedRoute, Router, Params } from '@angular/router';
import { CommonModule } from '@angular/common';
import { MatIconModule } from '@angular/material/icon';
import { MatButtonModule } from '@angular/material/button';
import { DiagramComponent } from '@alfresco/adf-insights';
@Component({
selector: 'app-show-diagram',
standalone: true,
imports: [CommonModule, MatIconModule, MatButtonModule, DiagramComponent],
templateUrl: './show-diagram.component.html'
})
export class ShowDiagramComponent {
processDefinitionId: string;
appId: string;
constructor(private route: ActivatedRoute,
private router: Router) {
constructor(private route: ActivatedRoute, private router: Router) {
this.route.params.subscribe((params: Params) => {
this.processDefinitionId = params['processDefinitionId'];
this.appId = params['appId'];
@ -38,5 +42,4 @@ export class ShowDiagramComponent {
onClickBack() {
this.router.navigate(['/activiti/apps/' + this.appId + '/processes']);
}
}

View File

@ -1,71 +0,0 @@
/*!
* @license
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { DiagramsModule } from '../diagram/diagram.module';
import { MaterialModule } from '../material.module';
import { NgChartsModule } from 'ng2-charts';
import { CoreModule } from '@alfresco/adf-core';
import { AnalyticsGeneratorComponent } from './components/analytics-generator.component';
import { AnalyticsReportHeatMapComponent } from './components/analytics-report-heat-map.component';
import { AnalyticsReportListComponent } from './components/analytics-report-list.component';
import { AnalyticsReportParametersComponent } from './components/analytics-report-parameters.component';
import { AnalyticsComponent } from './components/analytics.component';
import { CheckboxWidgetAnalyticsComponent } from './components/widgets/checkbox/checkbox.widget';
import { DateRangeWidgetComponent } from './components/widgets/date-range/date-range.widget';
import { DropdownWidgetAnalyticsComponent } from './components/widgets/dropdown/dropdown.widget';
import { DurationWidgetComponent } from './components/widgets/duration/duration.widget';
import { NumberWidgetAnalyticsComponent } from './components/widgets/number/number.widget';
@NgModule({
imports: [
FormsModule,
ReactiveFormsModule,
CommonModule,
NgChartsModule,
DiagramsModule,
MaterialModule,
CoreModule
],
declarations: [
AnalyticsComponent,
AnalyticsReportListComponent,
AnalyticsReportParametersComponent,
AnalyticsGeneratorComponent,
AnalyticsReportHeatMapComponent,
DropdownWidgetAnalyticsComponent,
NumberWidgetAnalyticsComponent,
DurationWidgetComponent,
CheckboxWidgetAnalyticsComponent,
DateRangeWidgetComponent
],
exports: [
AnalyticsComponent,
AnalyticsReportListComponent,
AnalyticsReportParametersComponent,
AnalyticsGeneratorComponent,
AnalyticsReportHeatMapComponent,
DropdownWidgetAnalyticsComponent,
NumberWidgetAnalyticsComponent,
DurationWidgetComponent,
CheckboxWidgetAnalyticsComponent,
DateRangeWidgetComponent
]
})
export class AnalyticsProcessModule {}

View File

@ -37,7 +37,7 @@
<h4>{{ report.title }}</h4>
<div *ngIf="!report.hasDatasets()">{{ 'ANALYTICS.MESSAGES.NO-DATA-FOUND' | translate }}</div>
<div [attr.id]="'chart-table-' + report.id" *ngIf="report.hasDatasets()">
<table class="adf-table adf-table-responsive adf-table-condensed" class="adf-partial-width">
<table class="adf-table adf-table-responsive adf-table-condensed adf-partial-width">
<tr>
<th *ngFor="let label of report.labels">{{ label | translate }}</th>
</tr>

View File

@ -19,9 +19,30 @@ import { Component, EventEmitter, inject, Input, OnChanges, Output, ViewEncapsul
import { ReportQuery } from '../../diagram/models/report/report-query.model';
import { Chart } from '../../diagram/models/chart/chart.model';
import { AnalyticsService } from '../services/analytics.service';
import { CommonModule } from '@angular/common';
import { MatButtonModule } from '@angular/material/button';
import { MatTooltipModule } from '@angular/material/tooltip';
import { MatIconModule } from '@angular/material/icon';
import { NgChartsModule } from 'ng2-charts';
import { TranslateModule } from '@ngx-translate/core';
import { MatCheckboxModule } from '@angular/material/checkbox';
import { FormsModule } from '@angular/forms';
import { AnalyticsReportHeatMapComponent } from './analytics-report-heat-map.component';
@Component({
selector: 'adf-analytics-generator',
standalone: true,
imports: [
CommonModule,
MatButtonModule,
MatTooltipModule,
MatIconModule,
NgChartsModule,
TranslateModule,
MatCheckboxModule,
FormsModule,
AnalyticsReportHeatMapComponent
],
templateUrl: './analytics-generator.component.html',
styleUrls: ['./analytics-generator.component.scss'],
encapsulation: ViewEncapsulation.None

View File

@ -16,12 +16,17 @@
*/
import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
import { UntypedFormBuilder, UntypedFormControl, UntypedFormGroup } from '@angular/forms';
import { ReactiveFormsModule, UntypedFormBuilder, UntypedFormControl, UntypedFormGroup } from '@angular/forms';
import { AnalyticsService } from '../services/analytics.service';
import { ParameterValueModel } from '../../diagram/models/report/parameter-value.model';
import { CommonModule } from '@angular/common';
import { DropdownWidgetAnalyticsComponent } from './widgets';
import { DiagramComponent } from '../../diagram/components/diagram.component';
@Component({
selector: 'adf-analytics-report-heat-map, analytics-report-heat-map',
standalone: true,
imports: [CommonModule, ReactiveFormsModule, DropdownWidgetAnalyticsComponent, DiagramComponent],
templateUrl: './analytics-report-heat-map.component.html'
})
export class AnalyticsReportHeatMapComponent implements OnInit {

View File

@ -20,12 +20,18 @@ import { Observable, Observer } from 'rxjs';
import { ReportParametersModel } from '../../diagram/models/report/report-parameters.model';
import { AnalyticsService } from '../services/analytics.service';
import { share } from 'rxjs/operators';
import { CommonModule } from '@angular/common';
import { MatListModule } from '@angular/material/list';
import { MatIconModule } from '@angular/material/icon';
import { MatCardModule } from '@angular/material/card';
export const LAYOUT_LIST = 'LIST';
export const LAYOUT_GRID = 'GRID';
@Component({
selector: 'adf-analytics-report-list',
standalone: true,
imports: [CommonModule, MatListModule, MatIconModule, MatCardModule],
templateUrl: './analytics-report-list.component.html',
styleUrls: ['./analytics-report-list.component.scss'],
encapsulation: ViewEncapsulation.None

View File

@ -122,7 +122,7 @@
{{ 'DIALOG.SAVE_MESSAGE' | translate }}
</div>
<div class="adf-save-export-input">
<mat-form-field class="adf-example-full-width" floatPlaceholder="always">
<mat-form-field class="adf-example-full-width" [floatLabel]="'always'">
<input
matInput
type="text"

View File

@ -15,7 +15,7 @@
* limitations under the License.
*/
import { AdfDateFnsAdapter, DownloadService } from '@alfresco/adf-core';
import { AdfDateFnsAdapter, ButtonsMenuModule, DownloadService, ToolbarComponent, ToolbarTitleComponent } from '@alfresco/adf-core';
import {
AfterContentChecked,
Component,
@ -29,14 +29,22 @@ import {
ViewChild,
ViewEncapsulation
} from '@angular/core';
import { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';
import { MatDialog } from '@angular/material/dialog';
import { FormBuilder, FormControl, FormGroup, FormsModule, ReactiveFormsModule, Validators } from '@angular/forms';
import { MatDialog, MatDialogModule } from '@angular/material/dialog';
import { ReportParameterDetailsModel } from '../../diagram/models/report/report-parameter-details.model';
import { ReportParametersModel } from '../../diagram/models/report/report-parameters.model';
import { ReportQuery } from '../../diagram/models/report/report-query.model';
import { AnalyticsService } from '../services/analytics.service';
import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
import { CommonModule } from '@angular/common';
import { TranslateModule } from '@ngx-translate/core';
import { MatIconModule } from '@angular/material/icon';
import { MatFormFieldModule } from '@angular/material/form-field';
import { MatInputModule } from '@angular/material/input';
import { MatMenuModule } from '@angular/material/menu';
import { WIDGET_DIRECTIVES } from './widgets';
import { MatButtonModule } from '@angular/material/button';
const FORMAT_DATE_ACTIVITI = 'YYYY-MM-DD';
@ -98,6 +106,23 @@ export interface ReportFormValues {
@Component({
selector: 'adf-analytics-report-parameters',
standalone: true,
imports: [
CommonModule,
TranslateModule,
MatIconModule,
ReactiveFormsModule,
ToolbarComponent,
MatFormFieldModule,
MatInputModule,
MatMenuModule,
ToolbarTitleComponent,
...WIDGET_DIRECTIVES,
MatDialogModule,
FormsModule,
MatButtonModule,
ButtonsMenuModule
],
templateUrl: './analytics-report-parameters.component.html',
styleUrls: ['./analytics-report-parameters.component.scss'],
encapsulation: ViewEncapsulation.None

View File

@ -18,9 +18,13 @@
import { Component, EventEmitter, Input, OnChanges, Output, ViewChild, ViewEncapsulation } from '@angular/core';
import { ReportQuery } from '../../diagram/models/report/report-query.model';
import { AnalyticsGeneratorComponent } from './analytics-generator.component';
import { CommonModule } from '@angular/common';
import { AnalyticsReportParametersComponent } from './analytics-report-parameters.component';
@Component({
selector: 'adf-analytics',
standalone: true,
imports: [CommonModule, AnalyticsGeneratorComponent, AnalyticsReportParametersComponent],
templateUrl: './analytics.component.html',
styleUrls: ['./analytics.component.scss'],
encapsulation: ViewEncapsulation.None

View File

@ -1,9 +1,11 @@
<div [formGroup]="formGroup">
<mat-checkbox
<mat-checkbox
color="primary"
formControlName="{{controllerName}}"
[id]="field.id"
[checked]="field.value"
[(ngModel)]="field.value"
(ngModelChange)="changeValue(field)">{{field.nameKey | translate}}</mat-checkbox>
</div>
(ngModelChange)="changeValue(field)"
>{{field.nameKey | translate}}</mat-checkbox
>
</div>

View File

@ -18,11 +18,16 @@
/* eslint-disable @angular-eslint/component-selector, @angular-eslint/no-input-rename */
import { Component, Input, ViewEncapsulation } from '@angular/core';
import { UntypedFormGroup } from '@angular/forms';
import { ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';
import { WidgetComponent } from '../widget.component';
import { CommonModule } from '@angular/common';
import { TranslateModule } from '@ngx-translate/core';
import { MatCheckboxModule } from '@angular/material/checkbox';
@Component({
selector: 'analytics-checkbox-widget',
standalone: true,
imports: [CommonModule, TranslateModule, ReactiveFormsModule, MatCheckboxModule],
templateUrl: './checkbox.widget.html',
encapsulation: ViewEncapsulation.None
})

View File

@ -19,10 +19,16 @@
import { ADF_DATE_FORMATS, AdfDateFnsAdapter } from '@alfresco/adf-core';
import { Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation } from '@angular/core';
import { FormControl, FormGroup, Validators } from '@angular/forms';
import { FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';
import { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';
import { ReportParameterDetailsModel } from '../../../../diagram/models/report/report-parameter-details.model';
import { isAfter } from 'date-fns';
import { CommonModule } from '@angular/common';
import { TranslateModule } from '@ngx-translate/core';
import { MatGridListModule } from '@angular/material/grid-list';
import { MatFormFieldModule } from '@angular/material/form-field';
import { MatInputModule } from '@angular/material/input';
import { MatDatepickerModule } from '@angular/material/datepicker';
const FORMAT_DATE_ACTIVITI = 'yyyy-MM-dd';
const DISPLAY_FORMAT = 'dd/MM/yyyy';
@ -34,6 +40,8 @@ interface DateRangeProps {
@Component({
selector: 'adf-date-range-widget',
standalone: true,
imports: [CommonModule, TranslateModule, ReactiveFormsModule, MatGridListModule, MatFormFieldModule, MatInputModule, MatDatepickerModule],
templateUrl: './date-range.widget.html',
styleUrls: ['./date-range.widget.scss'],
providers: [

View File

@ -1,10 +1,12 @@
<div class="adf-dropdown-widget" [formGroup]="formGroup">
<label class="adf-dropdown-widget__label" [attr.for]="field.id">{{field.nameKey | translate}}</label>
<select [formControlName]="controllerName"
[attr.id]="'select-' + field.id"
class="adf-dropdown-widget__select"
[(ngModel)]="field.value"
(ngModelChange)="changeValue($event)">
<select
[formControlName]="controllerName"
[attr.id]="'select-' + field.id"
class="adf-dropdown-widget__select"
[(ngModel)]="field.value"
(ngModelChange)="changeValue($event)"
>
<option *ngIf="showDefaultOption" value="null">{{defaultOptionText}}</option>
<option *ngFor="let opt of field.options" [value]="opt.id">{{opt.label}}</option>
</select>

View File

@ -18,11 +18,15 @@
/* eslint-disable @angular-eslint/component-selector, @angular-eslint/no-input-rename */
import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';
import { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';
import { ReactiveFormsModule, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';
import { WidgetComponent } from '../widget.component';
import { CommonModule } from '@angular/common';
import { TranslateModule } from '@ngx-translate/core';
@Component({
selector: 'analytics-dropdown-widget',
standalone: true,
imports: [CommonModule, TranslateModule, ReactiveFormsModule],
templateUrl: './dropdown.widget.html',
styleUrls: ['./dropdown.widget.scss'],
encapsulation: ViewEncapsulation.None

View File

@ -1,23 +1,29 @@
<div class="adf-duration-widget-grid">
<div class="adf-duration-widget-cell">
<div class="adf-number-widget">
<mat-form-field class="adf-example-full-width" floatPlaceholder="always">
<input matInput
<mat-form-field class="adf-example-full-width" [floatLabel]="'always'">
<input
matInput
placeholder="{{field.nameKey | translate}}"
type="text"
pattern="-?[0-9]*(\.[0-9]+)?"
[id]="field.id"
[value]="field.value"
[(ngModel)]="field.value"
(ngModelChange)="calculateDuration()">
</mat-form-field>
(ngModelChange)="calculateDuration()"
/>
</mat-form-field>
</div>
</div>
<div class="adf-duration-widget-cell">
<div class="adf-dropdown-container">
<analytics-dropdown-widget [field]="duration" [group]="formGroup" [controllerName]="'timeType'"
[showDefaultOption]="false"
(fieldChanged)="calculateDuration()"></analytics-dropdown-widget>
<analytics-dropdown-widget
[field]="duration"
[group]="formGroup"
[controllerName]="'timeType'"
[showDefaultOption]="false"
(fieldChanged)="calculateDuration()"
></analytics-dropdown-widget>
</div>
</div>
</div>

View File

@ -18,13 +18,20 @@
/* eslint-disable @angular-eslint/component-selector, @angular-eslint/no-input-rename */
import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';
import { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';
import { FormsModule, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';
import { ParameterValueModel } from '../../../../diagram/models/report/parameter-value.model';
import { ReportParameterDetailsModel } from '../../../../diagram/models/report/report-parameter-details.model';
import { NumberWidgetAnalyticsComponent } from '../number/number.widget';
import { CommonModule } from '@angular/common';
import { MatFormFieldModule } from '@angular/material/form-field';
import { TranslateModule } from '@ngx-translate/core';
import { DropdownWidgetAnalyticsComponent } from '../dropdown/dropdown.widget';
import { MatInputModule } from '@angular/material/input';
@Component({
selector: 'duration-widget',
standalone: true,
imports: [CommonModule, MatFormFieldModule, TranslateModule, FormsModule, DropdownWidgetAnalyticsComponent, MatInputModule],
templateUrl: './duration.widget.html',
styleUrls: ['./duration.widget.scss'],
encapsulation: ViewEncapsulation.None

View File

@ -0,0 +1,36 @@
/*!
* @license
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { CheckboxWidgetAnalyticsComponent } from './checkbox/checkbox.widget';
import { DateRangeWidgetComponent } from './date-range/date-range.widget';
import { DropdownWidgetAnalyticsComponent } from './dropdown/dropdown.widget';
import { DurationWidgetComponent } from './duration/duration.widget';
import { NumberWidgetAnalyticsComponent } from './number/number.widget';
export * from './checkbox/checkbox.widget';
export * from './date-range/date-range.widget';
export * from './dropdown/dropdown.widget';
export * from './duration/duration.widget';
export * from './number/number.widget';
export const WIDGET_DIRECTIVES = [
CheckboxWidgetAnalyticsComponent,
DateRangeWidgetComponent,
DropdownWidgetAnalyticsComponent,
DurationWidgetComponent,
NumberWidgetAnalyticsComponent
] as const;

View File

@ -1,5 +1,5 @@
<div class="adf-number-widget" [formGroup]="formGroup">
<mat-form-field class="example-full-width" floatPlaceholder="always">
<mat-form-field class="example-full-width" [floatLabel]="'always'">
<input matInput
placeholder="{{field.nameKey | translate}}"
formControlName="{{controllerName}}"

View File

@ -18,11 +18,17 @@
/* eslint-disable @angular-eslint/component-selector, @angular-eslint/no-input-rename */
import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';
import { UntypedFormGroup, Validators } from '@angular/forms';
import { ReactiveFormsModule, UntypedFormGroup, Validators } from '@angular/forms';
import { WidgetComponent } from '../widget.component';
import { CommonModule } from '@angular/common';
import { TranslateModule } from '@ngx-translate/core';
import { MatFormFieldModule } from '@angular/material/form-field';
import { MatInputModule } from '@angular/material/input';
@Component({
selector: 'analytics-number-widget',
standalone: true,
imports: [CommonModule, TranslateModule, ReactiveFormsModule, MatFormFieldModule, MatInputModule],
templateUrl: './number.widget.html',
styleUrls: ['./number.widget.scss'],
encapsulation: ViewEncapsulation.None

View File

@ -15,6 +15,13 @@
* limitations under the License.
*/
import { WIDGET_DIRECTIVES } from './components/widgets';
import { AnalyticsComponent } from './components/analytics.component';
import { AnalyticsReportListComponent } from './components/analytics-report-list.component';
import { AnalyticsReportParametersComponent } from './components/analytics-report-parameters.component';
import { AnalyticsGeneratorComponent } from './components/analytics-generator.component';
import { AnalyticsReportHeatMapComponent } from './components/analytics-report-heat-map.component';
export * from './components/analytics.component';
export * from './components/analytics-report-heat-map.component';
export * from './components/analytics-generator.component';
@ -22,13 +29,14 @@ export * from './components/analytics-report-list.component';
export * from './components/analytics-report-parameters.component';
export * from './components/analytics.component';
export * from './components/widgets/checkbox/checkbox.widget';
export * from './components/widgets/date-range/date-range.widget';
export * from './components/widgets/dropdown/dropdown.widget';
export * from './components/widgets/duration/duration.widget';
export * from './components/widgets/number/number.widget';
export * from './components/widgets/widget.component';
export * from './services/analytics.service';
export * from './components/widgets';
export * from './analytics-process.module';
export const ANALYTICS_PROCESS_DIRECTIVES = [
...WIDGET_DIRECTIVES,
AnalyticsComponent,
AnalyticsReportListComponent,
AnalyticsReportParametersComponent,
AnalyticsGeneratorComponent,
AnalyticsReportHeatMapComponent
] as const;

View File

@ -30,6 +30,7 @@ import { TableChart } from '../../diagram/models/chart/table-chart.model';
import { map } from 'rxjs/operators';
import { ProcessDefinitionsApi, ReportApi } from '@alfresco/js-api';
import { ReportQuery } from '../../diagram/models/report/report-query.model';
import { LineChart } from '../../diagram/models/chart/line-chart.model';
@Injectable({ providedIn: 'root' })
export class AnalyticsService {
@ -186,6 +187,8 @@ export class AnalyticsService {
elements.push(new BarChart(chartData));
} else if (chartData.type === 'multiBarChart') {
elements.push(new MultiBarChart(chartData));
} else if (chartData.type === 'line') {
elements.push(new LineChart(chartData));
}
});

View File

@ -17,9 +17,13 @@
import { Component } from '@angular/core';
import { DiagramElement } from '../diagram-element';
import { DiagramTaskComponent } from './diagram-task.component';
import { DiagramIconAlfrescoPublishTaskComponent } from '../icons/diagram-icon-alfresco-publish-task.component';
@Component({
selector: 'adf-diagram-publish-task',
standalone: true,
imports: [DiagramTaskComponent, DiagramIconAlfrescoPublishTaskComponent],
templateUrl: './diagram-alfresco-publish-task.component.html'
})
export class DiagramAlfrescoPublishTaskComponent extends DiagramElement {}

View File

@ -15,13 +15,17 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component } from '@angular/core';
import { DiagramElement } from '../diagram-element';
import { DiagramTaskComponent } from './diagram-task.component';
import { DiagramIconBoxPublishTaskComponent } from '../icons/diagram-icon-box-publish-task.component';
@Component({
selector: 'diagram-box-publish-task',
standalone: true,
imports: [DiagramTaskComponent, DiagramIconBoxPublishTaskComponent],
templateUrl: './diagram-box-publish-task.component.html'
})
export class DiagramBoxPublishTaskComponent extends DiagramElement {}

View File

@ -15,13 +15,17 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component } from '@angular/core';
import { DiagramElement } from '../diagram-element';
import { DiagramTaskComponent } from './diagram-task.component';
import { DiagramIconBusinessRuleTaskComponent } from '../icons/diagram-icon-business-rule-task.component';
@Component({
selector: 'diagram-business-rule-task',
standalone: true,
imports: [DiagramTaskComponent, DiagramIconBusinessRuleTaskComponent],
templateUrl: './diagram-business-rule-task.component.html'
})
export class DiagramBusinessRuleTaskComponent extends DiagramElement {}

View File

@ -15,13 +15,17 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component } from '@angular/core';
import { DiagramElement } from '../diagram-element';
import { DiagramTaskComponent } from './diagram-task.component';
import { DiagramIconCamelTaskComponent } from '../icons/diagram-icon-camel-task.component';
@Component({
selector: 'diagram-camel-task',
standalone: true,
imports: [DiagramTaskComponent, DiagramIconCamelTaskComponent],
templateUrl: './diagram-camel-task.component.html'
})
export class DiagramCamelTaskComponent extends DiagramElement {}

View File

@ -15,13 +15,34 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component } from '@angular/core';
import { DiagramElement } from '../diagram-element';
import { CommonModule } from '@angular/common';
import { DiagramSendTaskComponent } from './diagram-send-task.component';
import { DiagramCamelTaskComponent } from './diagram-camel-task.component';
import { DiagramMuleTaskComponent } from './diagram-mule-task.component';
import { DiagramAlfrescoPublishTaskComponent } from './diagram-alfresco-publish-task.component';
import { DiagramRestCallTaskComponent } from './diagram-rest-call-task.component';
import { DiagramGoogleDrivePublishTaskComponent } from './diagram-google-drive-publish-task.component';
import { DiagramBoxPublishTaskComponent } from './diagram-box-publish-task.component';
import { DiagramServiceTaskComponent } from './diagram-service-task.component';
@Component({
selector: 'diagram-container-service-task',
standalone: true,
imports: [
CommonModule,
DiagramSendTaskComponent,
DiagramCamelTaskComponent,
DiagramMuleTaskComponent,
DiagramAlfrescoPublishTaskComponent,
DiagramRestCallTaskComponent,
DiagramGoogleDrivePublishTaskComponent,
DiagramBoxPublishTaskComponent,
DiagramServiceTaskComponent
],
templateUrl: './diagram-container-service-task.component.html'
})
export class DiagramContainerServiceTaskComponent extends DiagramElement {}

View File

@ -15,13 +15,17 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component } from '@angular/core';
import { DiagramElement } from '../diagram-element';
import { DiagramTaskComponent } from './diagram-task.component';
import { DiagramIconGoogleDrivePublishTaskComponent } from '../icons/diagram-icon-google-drive-publish-task.component';
@Component({
selector: 'diagram-google-drive-publish-task',
standalone: true,
imports: [DiagramTaskComponent, DiagramIconGoogleDrivePublishTaskComponent],
templateUrl: './diagram-google-drive-publish-task.component.html'
})
export class DiagramGoogleDrivePublishTaskComponent extends DiagramElement {}

View File

@ -15,13 +15,17 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component } from '@angular/core';
import { DiagramElement } from '../diagram-element';
import { DiagramTaskComponent } from './diagram-task.component';
import { DiagramIconManualTaskComponent } from '../icons/diagram-icon-manual-task.component';
@Component({
selector: 'diagram-manual-task',
standalone: true,
imports: [DiagramTaskComponent, DiagramIconManualTaskComponent],
templateUrl: './diagram-manual-task.component.html'
})
export class DiagramManualTaskComponent extends DiagramElement {}

View File

@ -15,13 +15,17 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component } from '@angular/core';
import { DiagramElement } from '../diagram-element';
import { DiagramTaskComponent } from './diagram-task.component';
import { DiagramIconMuleTaskComponent } from '../icons/diagram-icon-mule-task.component';
@Component({
selector: 'diagram-mule-task',
standalone: true,
imports: [DiagramTaskComponent, DiagramIconMuleTaskComponent],
templateUrl: './diagram-mule-task.component.html'
})
export class DiagramMuleTaskComponent extends DiagramElement {}

View File

@ -15,13 +15,17 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component } from '@angular/core';
import { DiagramElement } from '../diagram-element';
import { DiagramTaskComponent } from './diagram-task.component';
import { DiagramIconReceiveTaskComponent } from '../icons/diagram-icon-receive-task.component';
@Component({
selector: 'diagram-receive-task',
standalone: true,
imports: [DiagramTaskComponent, DiagramIconReceiveTaskComponent],
templateUrl: './diagram-receive-task.component.html'
})
export class DiagramReceiveTaskComponent extends DiagramElement {}

View File

@ -15,13 +15,17 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component } from '@angular/core';
import { DiagramElement } from '../diagram-element';
import { DiagramTaskComponent } from './diagram-task.component';
import { DiagramIconRestCallTaskComponent } from '../icons/diagram-icon-rest-call-task.component';
@Component({
selector: 'diagram-rest-call-task',
standalone: true,
imports: [DiagramTaskComponent, DiagramIconRestCallTaskComponent],
templateUrl: './diagram-rest-call-task.component.html'
})
export class DiagramRestCallTaskComponent extends DiagramElement {}

View File

@ -15,13 +15,17 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component } from '@angular/core';
import { DiagramElement } from '../diagram-element';
import { DiagramTaskComponent } from './diagram-task.component';
import { DiagramIconScriptTaskComponent } from '../icons/diagram-icon-script-task.component';
@Component({
selector: 'diagram-script-task',
standalone: true,
imports: [DiagramTaskComponent, DiagramIconScriptTaskComponent],
templateUrl: './diagram-script-task.component.html'
})
export class DiagramScriptTaskComponent extends DiagramElement {}

View File

@ -15,13 +15,17 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component } from '@angular/core';
import { DiagramElement } from '../diagram-element';
import { DiagramTaskComponent } from './diagram-task.component';
import { DiagramIconSendTaskComponent } from '../icons/diagram-icon-send-task.component';
@Component({
selector: 'diagram-send-task',
standalone: true,
imports: [DiagramTaskComponent, DiagramIconSendTaskComponent],
templateUrl: './diagram-send-task.component.html'
})
export class DiagramSendTaskComponent extends DiagramElement {}

View File

@ -15,13 +15,17 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component } from '@angular/core';
import { DiagramElement } from '../diagram-element';
import { DiagramTaskComponent } from './diagram-task.component';
import { DiagramIconServiceTaskComponent } from '../icons/diagram-icon-service-task.component';
@Component({
selector: 'diagram-service-task',
standalone: true,
imports: [DiagramTaskComponent, DiagramIconServiceTaskComponent],
templateUrl: './diagram-service-task.component.html'
})
export class DiagramServiceTaskComponent extends DiagramElement {}

View File

@ -1,5 +1,13 @@
<raphael-rect [elementId]="data.id" [leftCorner]="rectLeftCorner" [width]="data.width" [height]="data.height" [radius]="options.radius"
[stroke]="options.stroke" [strokeWidth]="options.strokeWidth"
[fillColors]="options.fillColors" [fillOpacity]="options.fillOpacity"></raphael-rect>
<raphael-rect
[elementId]="data.id"
[leftCorner]="rectLeftCorner"
[width]="data.width"
[height]="data.height"
[radius]="options.radius"
[stroke]="options.stroke"
[strokeWidth]="options.strokeWidth"
[fillColors]="options.fillColors"
[fillOpacity]="options.fillOpacity"
></raphael-rect>
<raphael-multiline-text [text]="data.name" [position]="textPosition" [elementWidth]="data.width"></raphael-multiline-text>
<diagram-tooltip [data]="data"></diagram-tooltip>

View File

@ -15,24 +15,29 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component, OnInit } from '@angular/core';
import { ACTIVITY_STROKE_COLOR } from '../../constants/diagram-colors';
import { DiagramElement } from '../diagram-element';
import { RaphaelRectDirective } from '../raphael/raphael-rect.component';
import { RaphaelMultilineTextDirective } from '../raphael/raphael-multiline-text.component';
import { DiagramTooltipComponent } from '../tooltip/diagram-tooltip.component';
@Component({
selector: 'diagram-task',
standalone: true,
imports: [RaphaelRectDirective, RaphaelMultilineTextDirective, DiagramTooltipComponent],
templateUrl: './diagram-task.component.html'
})
export class DiagramTaskComponent extends DiagramElement implements OnInit {
rectLeftCorner: any;
textPosition: any;
options: any = {stroke: '', fillColors: '', fillOpacity: '', strokeWidth: '', radius: 4};
options: any = { stroke: '', fillColors: '', fillOpacity: '', strokeWidth: '', radius: 4 };
ngOnInit() {
this.rectLeftCorner = {x: this.data.x, y: this.data.y};
this.textPosition = {x: this.data.x + ( this.data.width / 2 ), y: this.data.y + ( this.data.height / 2 )};
this.rectLeftCorner = { x: this.data.x, y: this.data.y };
this.textPosition = { x: this.data.x + this.data.width / 2, y: this.data.y + this.data.height / 2 };
this.options.fillColors = this.diagramColorService.getFillColour(this.data.id);
this.options.stroke = this.diagramColorService.getBpmnColor(this.data, ACTIVITY_STROKE_COLOR);

View File

@ -15,13 +15,17 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component } from '@angular/core';
import { DiagramElement } from '../diagram-element';
import { DiagramTaskComponent } from './diagram-task.component';
import { DiagramIconUserTaskComponent } from '../icons/diagram-icon-user-task.component';
@Component({
selector: 'diagram-user-task',
standalone: true,
imports: [DiagramTaskComponent, DiagramIconUserTaskComponent],
templateUrl: './diagram-user-task.component.html'
})
export class DiagramUserTaskComponent extends DiagramElement {}

View File

@ -15,19 +15,24 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component, OnInit } from '@angular/core';
import { MAIN_STROKE_COLOR } from '../../constants/diagram-colors';
import { DiagramElement } from '../diagram-element';
import { RaphaelCircleDirective } from '../raphael/raphael-circle.component';
import { DiagramContainerIconEventTaskComponent } from '../icons/diagram-container-icon-event.component';
import { DiagramTooltipComponent } from '../tooltip/diagram-tooltip.component';
@Component({
selector: 'diagram-boundary-event',
standalone: true,
imports: [RaphaelCircleDirective, DiagramContainerIconEventTaskComponent, DiagramTooltipComponent],
templateUrl: './diagram-boundary-event.component.html'
})
export class DiagramBoundaryEventComponent extends DiagramElement implements OnInit {
center: any = {};
options: any = {stroke: '', fillColors: '', fillOpacity: '', strokeWidth: 1};
options: any = { stroke: '', fillColors: '', fillOpacity: '', strokeWidth: 1 };
signalFillColor: string;
@ -35,8 +40,8 @@ export class DiagramBoundaryEventComponent extends DiagramElement implements OnI
circleRadiusOuter: number;
ngOnInit() {
this.center.x = this.data.x + (this.data.width / 2);
this.center.y = this.data.y + (this.data.height / 2);
this.center.x = this.data.x + this.data.width / 2;
this.center.y = this.data.y + this.data.height / 2;
this.circleRadiusInner = 12;
this.circleRadiusOuter = 15;

View File

@ -1,7 +1,23 @@
<raphael-circle [center]="center" [radius]="circleRadiusInner" [strokeWidth]="options.strokeWidth" [stroke]="options.stroke"
[fillColors]="options.fillColors" [fillOpacity]="options.fillOpacity"></raphael-circle>
<raphael-circle [elementId]="data.id" [center]="center" [radius]="circleRadiusOuter" [strokeWidth]="options.strokeWidth" [stroke]="options.stroke"
[fillColors]="options.fillColors" [fillOpacity]="options.fillOpacity"></raphael-circle>
<diagram-container-icon-event [data]="data" [type]="data.eventDefinition && data.eventDefinition.type"
[fillColor]="signalFillColor"></diagram-container-icon-event>
<raphael-circle
[center]="center"
[radius]="circleRadiusInner"
[strokeWidth]="options.strokeWidth"
[stroke]="options.stroke"
[fillColors]="options.fillColors"
[fillOpacity]="options.fillOpacity"
></raphael-circle>
<raphael-circle
[elementId]="data.id"
[center]="center"
[radius]="circleRadiusOuter"
[strokeWidth]="options.strokeWidth"
[stroke]="options.stroke"
[fillColors]="options.fillColors"
[fillOpacity]="options.fillOpacity"
></raphael-circle>
<diagram-container-icon-event
[data]="data"
[type]="data.eventDefinition && data.eventDefinition.type"
[fillColor]="signalFillColor"
></diagram-container-icon-event>
<diagram-tooltip [data]="data"></diagram-tooltip>

View File

@ -15,19 +15,24 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component, OnInit } from '@angular/core';
import { MAIN_STROKE_COLOR } from '../../constants/diagram-colors';
import { DiagramElement } from '../diagram-element';
import { RaphaelCircleDirective } from '../raphael/raphael-circle.component';
import { DiagramContainerIconEventTaskComponent } from '../icons/diagram-container-icon-event.component';
import { DiagramTooltipComponent } from '../tooltip/diagram-tooltip.component';
@Component({
selector: 'diagram-throw-event',
standalone: true,
imports: [RaphaelCircleDirective, DiagramContainerIconEventTaskComponent, DiagramTooltipComponent],
templateUrl: './diagram-throw-event.component.html'
})
export class DiagramThrowEventComponent extends DiagramElement implements OnInit {
center: any = {};
options: any = {stroke: '', fillColors: '', fillOpacity: '', strokeWidth: 1};
options: any = { stroke: '', fillColors: '', fillOpacity: '', strokeWidth: 1 };
signalFillColor: string;
@ -35,8 +40,8 @@ export class DiagramThrowEventComponent extends DiagramElement implements OnInit
circleRadiusOuter: number;
ngOnInit() {
this.center.x = this.data.x + (this.data.width / 2);
this.center.y = this.data.y + (this.data.height / 2);
this.center.x = this.data.x + this.data.width / 2;
this.center.y = this.data.y + this.data.height / 2;
this.circleRadiusInner = 12;
this.circleRadiusOuter = 15;

View File

@ -16,9 +16,13 @@
*/
import { Component, EventEmitter, Input, Output } from '@angular/core';
import { RaphaelFlowArrowDirective } from './raphael/raphael-flow-arrow.component';
import { DiagramTooltipComponent } from './tooltip/diagram-tooltip.component';
@Component({
selector: 'adf-diagram-sequence-flow',
standalone: true,
imports: [RaphaelFlowArrowDirective, DiagramTooltipComponent],
templateUrl: './diagram-sequence-flow.component.html'
})
export class DiagramSequenceFlowComponent {

View File

@ -21,17 +21,59 @@ import { DiagramModel } from '../models/diagram/diagram.model';
import { DiagramColorService } from '../services/diagram-color.service';
import { DiagramsService } from '../services/diagrams.service';
import { RaphaelService } from './raphael/raphael.service';
import { CommonModule } from '@angular/common';
import { DiagramStartEventComponent } from './events/diagram-start-event.component';
import { DiagramExclusiveGatewayComponent } from './gateways/diagram-exclusive-gateway.component';
import { DiagramInclusiveGatewayComponent } from './gateways/diagram-inclusive-gateway.component';
import { DiagramEventGatewayComponent } from './gateways/diagram-event-gateway.component';
import { DiagramParallelGatewayComponent } from './gateways/diagram-parallel-gateway.component';
import { DiagramEndEventComponent } from './events/diagram-end-event.component';
import { DiagramUserTaskComponent } from './activities/diagram-user-task.component';
import { DiagramManualTaskComponent } from './activities/diagram-manual-task.component';
import { DiagramContainerServiceTaskComponent } from './activities/diagram-container-service-task.component';
import { DiagramReceiveTaskComponent } from './activities/diagram-receive-task.component';
import { DiagramScriptTaskComponent } from './activities/diagram-script-task.component';
import { DiagramBusinessRuleTaskComponent } from './activities/diagram-business-rule-task.component';
import { DiagramBoundaryEventComponent } from './boundary-events/diagram-boundary-event.component';
import { DiagramThrowEventComponent } from './boundary-events/diagram-throw-event.component';
import { DiagramIntermediateCatchingEventComponent } from './intermediate-catching-events/diagram-intermediate-catching-event.component';
import { DiagramSubprocessComponent } from './structural/diagram-subprocess.component';
import { DiagramEventSubprocessComponent } from './structural/diagram-event-subprocess.component';
import { DiagramSequenceFlowComponent } from './diagram-sequence-flow.component';
import { DiagramPoolsComponent } from './swimlanes/diagram-pools.component';
const PADDING_WIDTH: number = 60;
const PADDING_HEIGHT: number = 60;
@Component({
selector: 'adf-diagram',
standalone: true,
imports: [
CommonModule,
DiagramStartEventComponent,
DiagramExclusiveGatewayComponent,
DiagramInclusiveGatewayComponent,
DiagramEventGatewayComponent,
DiagramParallelGatewayComponent,
DiagramEndEventComponent,
DiagramUserTaskComponent,
DiagramManualTaskComponent,
DiagramContainerServiceTaskComponent,
DiagramReceiveTaskComponent,
DiagramScriptTaskComponent,
DiagramBusinessRuleTaskComponent,
DiagramBoundaryEventComponent,
DiagramThrowEventComponent,
DiagramIntermediateCatchingEventComponent,
DiagramSubprocessComponent,
DiagramEventSubprocessComponent,
DiagramSequenceFlowComponent,
DiagramPoolsComponent
],
styleUrls: ['./diagram.component.css'],
templateUrl: './diagram.component.html'
})
export class DiagramComponent implements OnChanges {
/** processDefinitionId. */
@Input()
processDefinitionId: any;
@ -70,10 +112,7 @@ export class DiagramComponent implements OnChanges {
diagram: DiagramModel;
constructor(private diagramColorService: DiagramColorService,
private raphaelService: RaphaelService,
private diagramsService: DiagramsService) {
}
constructor(private diagramColorService: DiagramColorService, private raphaelService: RaphaelService, private diagramsService: DiagramsService) {}
ngOnChanges() {
this.reset();
@ -89,8 +128,7 @@ export class DiagramComponent implements OnChanges {
this.diagramsService.getRunningProcessDefinitionModel(processInstanceId).subscribe(
(res: any) => {
this.diagram = new DiagramModel(res);
this.raphaelService.setting(this.diagram.diagramWidth + PADDING_WIDTH,
this.diagram.diagramHeight + PADDING_HEIGHT);
this.raphaelService.setting(this.diagram.diagramWidth + PADDING_WIDTH, this.diagram.diagramHeight + PADDING_HEIGHT);
this.setMetricValueToDiagramElement(this.diagram, this.metricPercentages, this.metricType);
this.success.emit(res);
},
@ -104,8 +142,7 @@ export class DiagramComponent implements OnChanges {
this.diagramsService.getProcessDefinitionModel(processDefinitionId).subscribe(
(res: any) => {
this.diagram = new DiagramModel(res);
this.raphaelService.setting(this.diagram.diagramWidth + PADDING_WIDTH,
this.diagram.diagramHeight + PADDING_HEIGHT);
this.raphaelService.setting(this.diagram.diagramWidth + PADDING_WIDTH, this.diagram.diagramHeight + PADDING_HEIGHT);
this.setMetricValueToDiagramElement(this.diagram, this.metricPercentages, this.metricType);
this.success.emit(res);
},
@ -118,8 +155,7 @@ export class DiagramComponent implements OnChanges {
setMetricValueToDiagramElement(diagram: DiagramModel, metrics: any, metricType: string) {
for (const key in metrics) {
if (Object.prototype.hasOwnProperty.call(metrics, key)) {
const foundElement: DiagramElementModel = diagram.elements.find(
(element: DiagramElementModel) => element.id === key);
const foundElement: DiagramElementModel = diagram.elements.find((element: DiagramElementModel) => element.id === key);
if (foundElement) {
foundElement.value = metrics[key];
foundElement.dataType = metricType;

View File

@ -15,22 +15,24 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component, OnInit } from '@angular/core';
import { MAIN_STROKE_COLOR } from '../../constants/diagram-colors';
import { DiagramElement } from '../diagram-element';
import { DiagramEventComponent } from './diagram-event.component';
@Component({
selector: 'diagram-end-event',
standalone: true,
imports: [DiagramEventComponent],
templateUrl: './diagram-end-event.component.html'
})
export class DiagramEndEventComponent extends DiagramElement implements OnInit {
options: any = {stroke: '', fillColors: '', fillOpacity: '', strokeWidth: '', radius: ''};
options: any = { stroke: '', fillColors: '', fillOpacity: '', strokeWidth: '', radius: '' };
iconFillColor: any;
ngOnInit() {
this.options.radius = 14;
this.options.strokeWidth = 4;
this.options.stroke = this.diagramColorService.getBpmnColor(this.data, MAIN_STROKE_COLOR);

View File

@ -1,5 +1,15 @@
<raphael-circle [elementId]="data.id" [center]="center" [radius]="options.radius" [strokeWidth]="options.strokeWidth" [stroke]="options.stroke"
[fillColors]="options.fillColors" [fillOpacity]="options.fillOpacity"></raphael-circle>
<diagram-container-icon-event [data]="data" [type]="data.eventDefinition && data.eventDefinition.type"
[fillColor]="iconFillColor"></diagram-container-icon-event>
<raphael-circle
[elementId]="data.id"
[center]="center"
[radius]="options.radius"
[strokeWidth]="options.strokeWidth"
[stroke]="options.stroke"
[fillColors]="options.fillColors"
[fillOpacity]="options.fillOpacity"
></raphael-circle>
<diagram-container-icon-event
[data]="data"
[type]="data.eventDefinition && data.eventDefinition.type"
[fillColor]="iconFillColor"
></diagram-container-icon-event>
<diagram-tooltip [data]="data"></diagram-tooltip>

View File

@ -15,18 +15,23 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component, Input, OnInit } from '@angular/core';
import { DiagramElement } from '../diagram-element';
import { DiagramTooltipComponent } from '../tooltip/diagram-tooltip.component';
import { DiagramContainerIconEventTaskComponent } from '../icons/diagram-container-icon-event.component';
import { RaphaelCircleDirective } from '../raphael/raphael-circle.component';
@Component({
selector: 'diagram-event',
standalone: true,
imports: [DiagramTooltipComponent, DiagramContainerIconEventTaskComponent, RaphaelCircleDirective],
templateUrl: './diagram-event.component.html'
})
export class DiagramEventComponent extends DiagramElement implements OnInit {
@Input()
options: any = {stroke: '', fillColors: '', fillOpacity: '', strokeWidth: '', radius: ''};
options: any = { stroke: '', fillColors: '', fillOpacity: '', strokeWidth: '', radius: '' };
@Input()
iconFillColor: any;
@ -34,8 +39,7 @@ export class DiagramEventComponent extends DiagramElement implements OnInit {
center: any = {};
ngOnInit() {
this.center.x = this.data.x + (this.data.width / 2);
this.center.y = this.data.y + (this.data.height / 2);
this.center.x = this.data.x + this.data.width / 2;
this.center.y = this.data.y + this.data.height / 2;
}
}

View File

@ -15,22 +15,24 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component, OnInit } from '@angular/core';
import { MAIN_STROKE_COLOR } from '../../constants/diagram-colors';
import { DiagramElement } from '../diagram-element';
import { DiagramEventComponent } from './diagram-event.component';
@Component({
selector: 'diagram-start-event',
standalone: true,
imports: [DiagramEventComponent],
templateUrl: './diagram-start-event.component.html'
})
export class DiagramStartEventComponent extends DiagramElement implements OnInit {
options: any = {stroke: '', fillColors: '', fillOpacity: '', strokeWidth: '', radius: ''};
options: any = { stroke: '', fillColors: '', fillOpacity: '', strokeWidth: '', radius: '' };
iconFillColor: any;
ngOnInit() {
this.options.radius = 15;
this.options.strokeWidth = 1;
this.options.stroke = this.diagramColorService.getBpmnColor(this.data, MAIN_STROKE_COLOR);

View File

@ -1,7 +1,24 @@
<diagram-gateway [data]="data"></diagram-gateway>
<raphael-circle [center]="center" [radius]="circleRadiusInner" [strokeWidth]="options.strokeWidth" [stroke]="options.stroke"
[fillColors]="options.fillColors" [fillOpacity]="options.fillOpacity"></raphael-circle>
<raphael-circle [center]="center" [radius]="circleRadiusOuter" [strokeWidth]="options.strokeWidth" [stroke]="options.stroke"
[fillColors]="options.fillColors" [fillOpacity]="options.fillOpacity"></raphael-circle>
<raphael-pentagon [center]="centerPentagon" [strokeWidth]="pentaStrokeWidth" [stroke]="options.stroke"
[fillColors]="options.fillColors" [fillOpacity]="options.fillOpacity"></raphael-pentagon>
<raphael-circle
[center]="center"
[radius]="circleRadiusInner"
[strokeWidth]="options.strokeWidth"
[stroke]="options.stroke"
[fillColors]="options.fillColors"
[fillOpacity]="options.fillOpacity"
></raphael-circle>
<raphael-circle
[center]="center"
[radius]="circleRadiusOuter"
[strokeWidth]="options.strokeWidth"
[stroke]="options.stroke"
[fillColors]="options.fillColors"
[fillOpacity]="options.fillOpacity"
></raphael-circle>
<raphael-pentagon
[center]="centerPentagon"
[strokeWidth]="pentaStrokeWidth"
[stroke]="options.stroke"
[fillColors]="options.fillColors"
[fillOpacity]="options.fillOpacity"
></raphael-pentagon>

View File

@ -15,20 +15,25 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component, OnInit } from '@angular/core';
import { MAIN_STROKE_COLOR } from '../../constants/diagram-colors';
import { DiagramElement } from '../diagram-element';
import { DiagramGatewayComponent } from './diagram-gateway.component';
import { RaphaelCircleDirective } from '../raphael/raphael-circle.component';
import { RaphaelPentagonDirective } from '../raphael/raphael-pentagon.component';
@Component({
selector: 'diagram-event-gateway',
standalone: true,
imports: [DiagramGatewayComponent, RaphaelCircleDirective, RaphaelPentagonDirective],
templateUrl: './diagram-event-gateway.component.html'
})
export class DiagramEventGatewayComponent extends DiagramElement implements OnInit {
center: any = {};
centerPentagon: any = {};
options: any = {stroke: '', fillColors: '', fillOpacity: '', strokeWidth: 0.5};
options: any = { stroke: '', fillColors: '', fillOpacity: '', strokeWidth: 0.5 };
circleRadiusInner = 10.4;
circleRadiusOuter = 11.7;
@ -36,8 +41,8 @@ export class DiagramEventGatewayComponent extends DiagramElement implements OnIn
pentaStrokeWidth = 1.39999998;
ngOnInit() {
this.center.x = this.data.x + (this.data.width / 2);
this.center.y = this.data.y + (this.data.height / 2);
this.center.x = this.data.x + this.data.width / 2;
this.center.y = this.data.y + this.data.height / 2;
this.centerPentagon.x = this.data.x;
this.centerPentagon.y = this.data.y;

View File

@ -1,3 +1,10 @@
<diagram-gateway [data]="data"></diagram-gateway>
<raphael-cross [center]="center" [width]="width" [height]="height" [stroke]="options.stroke" [strokeWidth]="options.strokeWidth"
[fillColors]="options.fillColors" [fillOpacity]="options.fillOpacity"></raphael-cross>
<raphael-cross
[center]="center"
[width]="width"
[height]="height"
[stroke]="options.stroke"
[strokeWidth]="options.strokeWidth"
[fillColors]="options.fillColors"
[fillOpacity]="options.fillOpacity"
></raphael-cross>

View File

@ -15,21 +15,25 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component, OnInit } from '@angular/core';
import { MAIN_STROKE_COLOR } from '../../constants/diagram-colors';
import { DiagramElement } from '../diagram-element';
import { DiagramGatewayComponent } from './diagram-gateway.component';
import { RaphaelCrossDirective } from '../raphael/raphael-cross.component';
@Component({
selector: 'diagram-exclusive-gateway',
standalone: true,
imports: [DiagramGatewayComponent, RaphaelCrossDirective],
templateUrl: './diagram-exclusive-gateway.component.html'
})
export class DiagramExclusiveGatewayComponent extends DiagramElement implements OnInit {
center: any = {};
width: any;
height: any;
options: any = {stroke: '', fillColors: '', fillOpacity: '', strokeWidth: 3};
options: any = { stroke: '', fillColors: '', fillOpacity: '', strokeWidth: 3 };
ngOnInit() {
this.center.x = this.data.x;

View File

@ -1,3 +1,11 @@
<raphael-rhombus [elementId]="data.id" [center]="center" [width]="width" [height]="height" [stroke]="options.stroke" [strokeWidth]="options.strokeWidth"
[fillColors]="options.fillColors" [fillOpacity]="options.fillOpacity"></raphael-rhombus>
<raphael-rhombus
[elementId]="data.id"
[center]="center"
[width]="width"
[height]="height"
[stroke]="options.stroke"
[strokeWidth]="options.strokeWidth"
[fillColors]="options.fillColors"
[fillOpacity]="options.fillOpacity"
></raphael-rhombus>
<diagram-tooltip [data]="data"></diagram-tooltip>

View File

@ -15,21 +15,25 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component, OnInit } from '@angular/core';
import { MAIN_STROKE_COLOR } from '../../constants/diagram-colors';
import { DiagramElement } from '../diagram-element';
import { DiagramTooltipComponent } from '../tooltip/diagram-tooltip.component';
import { RaphaelRhombusDirective } from '../raphael/raphael-rhombus.component';
@Component({
selector: 'diagram-gateway',
standalone: true,
imports: [DiagramTooltipComponent, RaphaelRhombusDirective],
templateUrl: './diagram-gateway.component.html'
})
export class DiagramGatewayComponent extends DiagramElement implements OnInit {
center: any = {};
width: any;
height: any;
options: any = {stroke: '', fillColors: '', fillOpacity: '', strokeWidth: 2};
options: any = { stroke: '', fillColors: '', fillOpacity: '', strokeWidth: 2 };
ngOnInit() {
this.center.x = this.data.x;

View File

@ -1,3 +1,9 @@
<diagram-gateway [data]="data"></diagram-gateway>
<raphael-circle [center]="center" [radius]="options.radius" [strokeWidth]="options.strokeWidth" [stroke]="options.stroke"
[fillColors]="options.fillColors" [fillOpacity]="options.fillOpacity"></raphael-circle>
<raphael-circle
[center]="center"
[radius]="options.radius"
[strokeWidth]="options.strokeWidth"
[stroke]="options.stroke"
[fillColors]="options.fillColors"
[fillOpacity]="options.fillOpacity"
></raphael-circle>

View File

@ -15,25 +15,29 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component, OnInit } from '@angular/core';
import { MAIN_STROKE_COLOR } from '../../constants/diagram-colors';
import { DiagramElement } from '../diagram-element';
import { DiagramGatewayComponent } from './diagram-gateway.component';
import { RaphaelCircleDirective } from '../raphael/raphael-circle.component';
@Component({
selector: 'diagram-inclusive-gateway',
standalone: true,
imports: [DiagramGatewayComponent, RaphaelCircleDirective],
templateUrl: './diagram-inclusive-gateway.component.html'
})
export class DiagramInclusiveGatewayComponent extends DiagramElement implements OnInit {
center: any = {};
width: any;
height: any;
options: any = {stroke: '', fillColors: '', fillOpacity: '', strokeWidth: 2.5, radius: 9.75};
options: any = { stroke: '', fillColors: '', fillOpacity: '', strokeWidth: 2.5, radius: 9.75 };
ngOnInit() {
this.center.x = this.data.x + (this.data.width / 2);
this.center.y = this.data.y + (this.data.height / 2);
this.center.x = this.data.x + this.data.width / 2;
this.center.y = this.data.y + this.data.height / 2;
this.options.stroke = this.diagramColorService.getBpmnColor(this.data, MAIN_STROKE_COLOR);
this.options.fillColors = this.diagramColorService.getFillColour(this.data.id);

View File

@ -1,3 +1,8 @@
<diagram-gateway [data]="data"></diagram-gateway>
<raphael-plus [center]="center" [stroke]="options.stroke" [strokeWidth]="options.strokeWidth"
[fillColors]="options.fillColors" [fillOpacity]="options.fillOpacity"></raphael-plus>
<raphael-plus
[center]="center"
[stroke]="options.stroke"
[strokeWidth]="options.strokeWidth"
[fillColors]="options.fillColors"
[fillOpacity]="options.fillOpacity"
></raphael-plus>

View File

@ -15,21 +15,25 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component, OnInit } from '@angular/core';
import { MAIN_STROKE_COLOR } from '../../constants/diagram-colors';
import { DiagramElement } from '../diagram-element';
import { DiagramGatewayComponent } from './diagram-gateway.component';
import { RaphaelPlusDirective } from '../raphael/raphael-plus.component';
@Component({
selector: 'diagram-parallel-gateway',
standalone: true,
imports: [DiagramGatewayComponent, RaphaelPlusDirective],
templateUrl: './diagram-parallel-gateway.component.html'
})
export class DiagramParallelGatewayComponent extends DiagramElement implements OnInit {
center: any = {};
width: any;
height: any;
options: any = {stroke: '', fillColors: '', fillOpacity: '', strokeWidth: 3};
options: any = { stroke: '', fillColors: '', fillOpacity: '', strokeWidth: 3 };
ngOnInit() {
this.center.x = this.data.x;

View File

@ -15,13 +15,20 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component, Input } from '@angular/core';
import { DiagramElement } from '../diagram-element';
import { CommonModule } from '@angular/common';
import { DiagramIconTimerComponent } from './diagram-icon-timer.component';
import { DiagramIconErrorComponent } from './diagram-icon-error.component';
import { DiagramIconSignalComponent } from './diagram-icon-signal.component';
import { DiagramIconMessageComponent } from './diagram-icon-message.component';
@Component({
selector: 'diagram-container-icon-event',
standalone: true,
imports: [CommonModule, DiagramIconTimerComponent, DiagramIconErrorComponent, DiagramIconSignalComponent, DiagramIconMessageComponent],
templateUrl: './diagram-container-icon-event.component.html'
})
export class DiagramContainerIconEventTaskComponent extends DiagramElement {
@ -30,5 +37,4 @@ export class DiagramContainerIconEventTaskComponent extends DiagramElement {
@Input()
fillColor: string;
}

View File

@ -1,2 +1,7 @@
<raphael-icon-alfresco-publish [position]="position" [stroke]="options.stroke" [strokeWidth]="options.strokeWidth"
[fillColors]="options.fillColors" [fillOpacity]="options.fillOpacity"></raphael-icon-alfresco-publish>
<raphael-icon-alfresco-publish
[position]="position"
[stroke]="options.stroke"
[strokeWidth]="options.strokeWidth"
[fillColors]="options.fillColors"
[fillOpacity]="options.fillOpacity"
></raphael-icon-alfresco-publish>

View File

@ -15,23 +15,26 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component, OnInit } from '@angular/core';
import { DiagramElement } from '../diagram-element';
import { RaphaelIconAlfrescoPublishDirective } from '../raphael/icons/raphael-icon-alfresco-publish.component';
@Component({
selector: 'diagram-icon-alfresco-publish-task',
standalone: true,
imports: [RaphaelIconAlfrescoPublishDirective],
templateUrl: './diagram-icon-alfresco-publish-task.component.html'
})
export class DiagramIconAlfrescoPublishTaskComponent extends DiagramElement implements OnInit {
position: any;
options: any = {stroke: '', fillColors: '', fillOpacity: '', strokeWidth: ''};
options: any = { stroke: '', fillColors: '', fillOpacity: '', strokeWidth: '' };
ngOnInit() {
this.position = {x: this.data.x + 4, y: this.data.y + 4};
this.options.stroke = 'none' ;
this.options.fillColors = '#87C040' ;
this.position = { x: this.data.x + 4, y: this.data.y + 4 };
this.options.stroke = 'none';
this.options.fillColors = '#87C040';
}
}

View File

@ -1,2 +1,7 @@
<raphael-icon-box-publish [position]="position" [stroke]="options.stroke" [strokeWidth]="options.strokeWidth"
[fillColors]="options.fillColors" [fillOpacity]="options.fillOpacity"></raphael-icon-box-publish>
<raphael-icon-box-publish
[position]="position"
[stroke]="options.stroke"
[strokeWidth]="options.strokeWidth"
[fillColors]="options.fillColors"
[fillOpacity]="options.fillOpacity"
></raphael-icon-box-publish>

View File

@ -15,21 +15,24 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component, OnInit } from '@angular/core';
import { DiagramElement } from '../diagram-element';
import { RaphaelIconBoxPublishDirective } from '../raphael/icons/raphael-icon-box-publish.component';
@Component({
selector: 'diagram-icon-box-publish-task',
standalone: true,
imports: [RaphaelIconBoxPublishDirective],
templateUrl: './diagram-icon-box-publish-task.component.html'
})
export class DiagramIconBoxPublishTaskComponent extends DiagramElement implements OnInit {
position: any;
options: any = {stroke: '', fillColors: '', fillOpacity: '', strokeWidth: ''};
options: any = { stroke: '', fillColors: '', fillOpacity: '', strokeWidth: '' };
ngOnInit() {
this.position = {x: this.data.x + 6, y: this.data.y + 6};
this.position = { x: this.data.x + 6, y: this.data.y + 6 };
}
}

View File

@ -1,2 +1,7 @@
<raphael-icon-business-rule [position]="position" [stroke]="options.stroke" [strokeWidth]="options.strokeWidth"
[fillColors]="options.fillColors" [fillOpacity]="options.fillOpacity"></raphael-icon-business-rule>
<raphael-icon-business-rule
[position]="position"
[stroke]="options.stroke"
[strokeWidth]="options.strokeWidth"
[fillColors]="options.fillColors"
[fillOpacity]="options.fillOpacity"
></raphael-icon-business-rule>

View File

@ -15,23 +15,26 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component, OnInit } from '@angular/core';
import { DiagramElement } from '../diagram-element';
import { RaphaelIconBusinessRuleDirective } from '../raphael/icons/raphael-icon-business-rule.component';
@Component({
selector: 'diagram-icon-business-rule-task',
standalone: true,
imports: [RaphaelIconBusinessRuleDirective],
templateUrl: './diagram-icon-business-rule-task.component.html'
})
export class DiagramIconBusinessRuleTaskComponent extends DiagramElement implements OnInit {
position: any;
options: any = {stroke: '', fillColors: '', fillOpacity: '', strokeWidth: ''};
options: any = { stroke: '', fillColors: '', fillOpacity: '', strokeWidth: '' };
ngOnInit() {
this.position = {x: this.data.x + 4, y: this.data.y + 4};
this.options.stroke = 'none' ;
this.options.fillColors = '#72a7d0' ;
this.position = { x: this.data.x + 4, y: this.data.y + 4 };
this.options.stroke = 'none';
this.options.fillColors = '#72a7d0';
}
}

View File

@ -1,2 +1,7 @@
<raphael-icon-camel [position]="position" [stroke]="options.stroke" [strokeWidth]="options.strokeWidth"
[fillColors]="options.fillColors" [fillOpacity]="options.fillOpacity"></raphael-icon-camel>
<raphael-icon-camel
[position]="position"
[stroke]="options.stroke"
[strokeWidth]="options.strokeWidth"
[fillColors]="options.fillColors"
[fillOpacity]="options.fillOpacity"
></raphael-icon-camel>

View File

@ -15,23 +15,26 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component, OnInit } from '@angular/core';
import { DiagramElement } from '../diagram-element';
import { RaphaelIconCamelDirective } from '../raphael/icons/raphael-icon-camel.component';
@Component({
selector: 'diagram-icon-camel-task',
standalone: true,
imports: [RaphaelIconCamelDirective],
templateUrl: './diagram-icon-camel-task.component.html'
})
export class DiagramIconCamelTaskComponent extends DiagramElement implements OnInit {
position: any;
options: any = {stroke: '', fillColors: '', fillOpacity: '', strokeWidth: ''};
options: any = { stroke: '', fillColors: '', fillOpacity: '', strokeWidth: '' };
ngOnInit() {
this.position = {x: this.data.x + 8, y: this.data.y + 6};
this.options.stroke = 'none' ;
this.options.fillColors = '#bd4848' ;
this.position = { x: this.data.x + 8, y: this.data.y + 6 };
this.options.stroke = 'none';
this.options.fillColors = '#bd4848';
}
}

View File

@ -1,2 +1,7 @@
<raphael-icon-error [position]="position" [stroke]="options.stroke" [strokeWidth]="options.strokeWidth"
[fillColors]="options.fillColors" [fillOpacity]="options.fillOpacity"></raphael-icon-error>
<raphael-icon-error
[position]="position"
[stroke]="options.stroke"
[strokeWidth]="options.strokeWidth"
[fillColors]="options.fillColors"
[fillOpacity]="options.fillOpacity"
></raphael-icon-error>

View File

@ -15,13 +15,16 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component, Input, OnInit } from '@angular/core';
import { DiagramElement } from '../diagram-element';
import { RaphaelIconErrorDirective } from '../raphael/icons/raphael-icon-error.component';
@Component({
selector: 'diagram-icon-error',
standalone: true,
imports: [RaphaelIconErrorDirective],
templateUrl: './diagram-icon-error.component.html'
})
export class DiagramIconErrorComponent extends DiagramElement implements OnInit {
@ -30,10 +33,10 @@ export class DiagramIconErrorComponent extends DiagramElement implements OnInit
position: any;
options: any = {stroke: '', fillColors: '', fillOpacity: '', strokeWidth: ''};
options: any = { stroke: '', fillColors: '', fillOpacity: '', strokeWidth: '' };
ngOnInit() {
this.position = {x: this.data.x - 1, y: this.data.y - 1};
this.position = { x: this.data.x - 1, y: this.data.y - 1 };
this.options.stroke = 'black';
this.options.fillColors = this.fillColor;

View File

@ -1,2 +1,7 @@
<raphael-icon-google-drive-publish [position]="position" [stroke]="options.stroke" [strokeWidth]="options.strokeWidth"
[fillColors]="options.fillColors" [fillOpacity]="options.fillOpacity"></raphael-icon-google-drive-publish>
<raphael-icon-google-drive-publish
[position]="position"
[stroke]="options.stroke"
[strokeWidth]="options.strokeWidth"
[fillColors]="options.fillColors"
[fillOpacity]="options.fillOpacity"
></raphael-icon-google-drive-publish>

View File

@ -15,21 +15,24 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component, OnInit } from '@angular/core';
import { DiagramElement } from '../diagram-element';
import { RaphaelIconGoogleDrivePublishDirective } from '../raphael/icons/raphael-icon-google-drive-publish.component';
@Component({
selector: 'diagram-icon-google-drive-publish-task',
standalone: true,
imports: [RaphaelIconGoogleDrivePublishDirective],
templateUrl: './diagram-icon-google-drive-publish-task.component.html'
})
export class DiagramIconGoogleDrivePublishTaskComponent extends DiagramElement implements OnInit {
position: any;
options: any = {stroke: '', fillColors: '', fillOpacity: '', strokeWidth: ''};
options: any = { stroke: '', fillColors: '', fillOpacity: '', strokeWidth: '' };
ngOnInit() {
this.position = {x: this.data.x + 6, y: this.data.y + 6};
this.position = { x: this.data.x + 6, y: this.data.y + 6 };
}
}

View File

@ -1,2 +1,7 @@
<raphael-icon-manual [position]="position" [stroke]="options.stroke" [strokeWidth]="options.strokeWidth"
[fillColors]="options.fillColors" [fillOpacity]="options.fillOpacity"></raphael-icon-manual>
<raphael-icon-manual
[position]="position"
[stroke]="options.stroke"
[strokeWidth]="options.strokeWidth"
[fillColors]="options.fillColors"
[fillOpacity]="options.fillOpacity"
></raphael-icon-manual>

View File

@ -15,23 +15,26 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component, OnInit } from '@angular/core';
import { DiagramElement } from '../diagram-element';
import { RaphaelIconManualDirective } from '../raphael/icons/raphael-icon-manual.component';
@Component({
selector: 'diagram-icon-manual-task',
standalone: true,
imports: [RaphaelIconManualDirective],
templateUrl: './diagram-icon-manual-task.component.html'
})
export class DiagramIconManualTaskComponent extends DiagramElement implements OnInit {
position: any;
options: any = {stroke: '', fillColors: '', fillOpacity: '', strokeWidth: ''};
options: any = { stroke: '', fillColors: '', fillOpacity: '', strokeWidth: '' };
ngOnInit() {
this.position = {x: this.data.x + 4, y: this.data.y + 4};
this.options.stroke = 'none' ;
this.options.fillColors = '#d1b575' ;
this.position = { x: this.data.x + 4, y: this.data.y + 4 };
this.options.stroke = 'none';
this.options.fillColors = '#d1b575';
}
}

View File

@ -1,2 +1,7 @@
<raphael-icon-message [position]="position" [stroke]="options.stroke" [strokeWidth]="options.strokeWidth"
[fillColors]="options.fillColors" [fillOpacity]="options.fillOpacity"></raphael-icon-message>
<raphael-icon-message
[position]="position"
[stroke]="options.stroke"
[strokeWidth]="options.strokeWidth"
[fillColors]="options.fillColors"
[fillOpacity]="options.fillOpacity"
></raphael-icon-message>

View File

@ -15,22 +15,25 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component, OnInit } from '@angular/core';
import { DiagramElement } from '../diagram-element';
import { RaphaelIconMessageDirective } from '../raphael/icons/raphael-icon-message.component';
@Component({
selector: 'diagram-icon-message',
standalone: true,
imports: [RaphaelIconMessageDirective],
templateUrl: './diagram-icon-message.component.html'
})
export class DiagramIconMessageComponent extends DiagramElement implements OnInit {
position: any;
options: any = {stroke: '', fillColors: '', fillOpacity: '', strokeWidth: ''};
options: any = { stroke: '', fillColors: '', fillOpacity: '', strokeWidth: '' };
ngOnInit() {
this.position = {x: this.data.x + 6, y: this.data.y + 6};
this.position = { x: this.data.x + 6, y: this.data.y + 6 };
this.options.stroke = 'none';
this.options.fillColors = '#585858';

View File

@ -1,2 +1,7 @@
<raphael-icon-mule [position]="position" [stroke]="options.stroke" [strokeWidth]="options.strokeWidth"
[fillColors]="options.fillColors" [fillOpacity]="options.fillOpacity"></raphael-icon-mule>
<raphael-icon-mule
[position]="position"
[stroke]="options.stroke"
[strokeWidth]="options.strokeWidth"
[fillColors]="options.fillColors"
[fillOpacity]="options.fillOpacity"
></raphael-icon-mule>

View File

@ -15,23 +15,26 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component, OnInit } from '@angular/core';
import { DiagramElement } from '../diagram-element';
import { RaphaelIconMuleDirective } from '../raphael/icons/raphael-icon-mule.component';
@Component({
selector: 'diagram-icon-mule-task',
standalone: true,
imports: [RaphaelIconMuleDirective],
templateUrl: './diagram-icon-mule-task.component.html'
})
export class DiagramIconMuleTaskComponent extends DiagramElement implements OnInit {
position: any;
options: any = {stroke: '', fillColors: '', fillOpacity: '', strokeWidth: ''};
options: any = { stroke: '', fillColors: '', fillOpacity: '', strokeWidth: '' };
ngOnInit() {
this.position = {x: this.data.x + 2, y: this.data.y + 2};
this.options.stroke = 'none' ;
this.options.fillColors = '#bd4848' ;
this.position = { x: this.data.x + 2, y: this.data.y + 2 };
this.options.stroke = 'none';
this.options.fillColors = '#bd4848';
}
}

View File

@ -1,2 +1,7 @@
<raphael-icon-receive [position]="position" [stroke]="options.stroke" [strokeWidth]="options.strokeWidth"
[fillColors]="options.fillColors" [fillOpacity]="options.fillOpacity"></raphael-icon-receive>
<raphael-icon-receive
[position]="position"
[stroke]="options.stroke"
[strokeWidth]="options.strokeWidth"
[fillColors]="options.fillColors"
[fillOpacity]="options.fillOpacity"
></raphael-icon-receive>

View File

@ -15,23 +15,26 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component, OnInit } from '@angular/core';
import { DiagramElement } from '../diagram-element';
import { RaphaelIconReceiveDirective } from '../raphael/icons/raphael-icon-receive.component';
@Component({
selector: 'diagram-icon-receive-task',
standalone: true,
imports: [RaphaelIconReceiveDirective],
templateUrl: './diagram-icon-receive-task.component.html'
})
export class DiagramIconReceiveTaskComponent extends DiagramElement implements OnInit {
position: any;
options: any = {stroke: '', fillColors: '', fillOpacity: '', strokeWidth: ''};
options: any = { stroke: '', fillColors: '', fillOpacity: '', strokeWidth: '' };
ngOnInit() {
this.position = {x: this.data.x + 4, y: this.data.y + 2};
this.options.stroke = 'none' ;
this.options.fillColors = '#16964d' ;
this.position = { x: this.data.x + 4, y: this.data.y + 2 };
this.options.stroke = 'none';
this.options.fillColors = '#16964d';
}
}

View File

@ -1,2 +1,7 @@
<raphael-icon-rest-call [position]="position" [stroke]="options.stroke" [strokeWidth]="options.strokeWidth"
[fillColors]="options.fillColors" [fillOpacity]="options.fillOpacity"></raphael-icon-rest-call>
<raphael-icon-rest-call
[position]="position"
[stroke]="options.stroke"
[strokeWidth]="options.strokeWidth"
[fillColors]="options.fillColors"
[fillOpacity]="options.fillOpacity"
></raphael-icon-rest-call>

View File

@ -15,23 +15,26 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component, OnInit } from '@angular/core';
import { DiagramElement } from '../diagram-element';
import { RaphaelIconRestCallDirective } from '../raphael/icons/raphael-icon-rest-call.component';
@Component({
selector: 'diagram-icon-rest-call-task',
standalone: true,
imports: [RaphaelIconRestCallDirective],
templateUrl: './diagram-icon-rest-call-task.component.html'
})
export class DiagramIconRestCallTaskComponent extends DiagramElement implements OnInit {
position: any;
options: any = {stroke: '', fillColors: '', fillOpacity: '', strokeWidth: ''};
options: any = { stroke: '', fillColors: '', fillOpacity: '', strokeWidth: '' };
ngOnInit() {
this.position = {x: this.data.x + 2, y: this.data.y + 2};
this.options.stroke = 'none' ;
this.options.fillColors = '#bd4848' ;
this.position = { x: this.data.x + 2, y: this.data.y + 2 };
this.options.stroke = 'none';
this.options.fillColors = '#bd4848';
}
}

View File

@ -1,2 +1,7 @@
<raphael-icon-script [position]="position" [stroke]="options.stroke" [strokeWidth]="options.strokeWidth"
[fillColors]="options.fillColors" [fillOpacity]="options.fillOpacity"></raphael-icon-script>
<raphael-icon-script
[position]="position"
[stroke]="options.stroke"
[strokeWidth]="options.strokeWidth"
[fillColors]="options.fillColors"
[fillOpacity]="options.fillOpacity"
></raphael-icon-script>

View File

@ -15,23 +15,26 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component, OnInit } from '@angular/core';
import { DiagramElement } from '../diagram-element';
import { RaphaelIconScriptDirective } from '../raphael/icons/raphael-icon-script.component';
@Component({
selector: 'diagram-icon-script-task',
standalone: true,
imports: [RaphaelIconScriptDirective],
templateUrl: './diagram-icon-script-task.component.html'
})
export class DiagramIconScriptTaskComponent extends DiagramElement implements OnInit {
position: any;
options: any = {stroke: '', fillColors: '', fillOpacity: '', strokeWidth: ''};
options: any = { stroke: '', fillColors: '', fillOpacity: '', strokeWidth: '' };
ngOnInit() {
this.position = {x: this.data.x + 4, y: this.data.y + 4};
this.options.stroke = 'none' ;
this.options.fillColors = '#72a7d0' ;
this.position = { x: this.data.x + 4, y: this.data.y + 4 };
this.options.stroke = 'none';
this.options.fillColors = '#72a7d0';
}
}

View File

@ -1,3 +1,8 @@
<raphael-icon-send [position]="position" [stroke]="options.stroke" [strokeWidth]="options.strokeWidth"
[fillColors]="options.fillColors" [fillOpacity]="options.fillOpacity"></raphael-icon-send>
<raphael-icon-send
[position]="position"
[stroke]="options.stroke"
[strokeWidth]="options.strokeWidth"
[fillColors]="options.fillColors"
[fillOpacity]="options.fillOpacity"
></raphael-icon-send>
<diagram-tooltip [data]="data"></diagram-tooltip>

View File

@ -15,23 +15,27 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component, OnInit } from '@angular/core';
import { DiagramElement } from '../diagram-element';
import { RaphaelIconSendDirective } from '../raphael/icons/raphael-icon-send.component';
import { DiagramTooltipComponent } from '../tooltip/diagram-tooltip.component';
@Component({
selector: 'diagram-icon-send-task',
standalone: true,
imports: [RaphaelIconSendDirective, DiagramTooltipComponent],
templateUrl: './diagram-icon-send-task.component.html'
})
export class DiagramIconSendTaskComponent extends DiagramElement implements OnInit {
position: any;
options: any = {stroke: '', fillColors: '', fillOpacity: '', strokeWidth: ''};
options: any = { stroke: '', fillColors: '', fillOpacity: '', strokeWidth: '' };
ngOnInit() {
this.position = {x: this.data.x + 4, y: this.data.y + 4};
this.options.stroke = 'none' ;
this.options.fillColors = '#16964d' ;
this.position = { x: this.data.x + 4, y: this.data.y + 4 };
this.options.stroke = 'none';
this.options.fillColors = '#16964d';
}
}

View File

@ -1,2 +1,7 @@
<raphael-icon-service [position]="position" [stroke]="options.stroke" [strokeWidth]="options.strokeWidth"
[fillColors]="options.fillColors" [fillOpacity]="options.fillOpacity"></raphael-icon-service>
<raphael-icon-service
[position]="position"
[stroke]="options.stroke"
[strokeWidth]="options.strokeWidth"
[fillColors]="options.fillColors"
[fillOpacity]="options.fillOpacity"
></raphael-icon-service>

View File

@ -15,23 +15,26 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component, OnInit } from '@angular/core';
import { DiagramElement } from '../diagram-element';
import { RaphaelIconServiceDirective } from '../raphael/icons/raphael-icon-service.component';
@Component({
selector: 'diagram-icon-service-task',
standalone: true,
imports: [RaphaelIconServiceDirective],
templateUrl: './diagram-icon-service-task.component.html'
})
export class DiagramIconServiceTaskComponent extends DiagramElement implements OnInit {
position: any;
options: any = {stroke: '', fillColors: '', fillOpacity: '', strokeWidth: ''};
options: any = { stroke: '', fillColors: '', fillOpacity: '', strokeWidth: '' };
ngOnInit() {
this.position = {x: this.data.x + 4, y: this.data.y + 4};
this.options.stroke = 'none' ;
this.options.fillColors = '#72a7d0' ;
this.position = { x: this.data.x + 4, y: this.data.y + 4 };
this.options.stroke = 'none';
this.options.fillColors = '#72a7d0';
}
}

View File

@ -1,2 +1,7 @@
<raphael-icon-signal [position]="position" [stroke]="options.stroke" [strokeWidth]="options.strokeWidth"
[fillColors]="options.fillColors" [fillOpacity]="options.fillOpacity"></raphael-icon-signal>
<raphael-icon-signal
[position]="position"
[stroke]="options.stroke"
[strokeWidth]="options.strokeWidth"
[fillColors]="options.fillColors"
[fillOpacity]="options.fillOpacity"
></raphael-icon-signal>

View File

@ -15,13 +15,16 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component, Input, OnInit } from '@angular/core';
import { DiagramElement } from '../diagram-element';
import { RaphaelIconSignalDirective } from '../raphael/icons/raphael-icon-signal.component';
@Component({
selector: 'diagram-icon-signal',
standalone: true,
imports: [RaphaelIconSignalDirective],
templateUrl: './diagram-icon-signal.component.html'
})
export class DiagramIconSignalComponent extends DiagramElement implements OnInit {
@ -30,10 +33,10 @@ export class DiagramIconSignalComponent extends DiagramElement implements OnInit
position: any;
options: any = {stroke: '', fillColors: '', fillOpacity: '', strokeWidth: ''};
options: any = { stroke: '', fillColors: '', fillOpacity: '', strokeWidth: '' };
ngOnInit() {
this.position = {x: this.data.x - 1, y: this.data.y - 1};
this.position = { x: this.data.x - 1, y: this.data.y - 1 };
this.options.stroke = 'black';
this.options.fillColors = this.fillColor;

View File

@ -1,5 +1,16 @@
<raphael-circle [center]="center" [radius]="circleRadius" [strokeWidth]="circleOptions.strokeWidth" [stroke]="circleOptions.stroke"
[fillColors]="circleOptions.fillColors" [fillOpacity]="circleOptions.fillOpacity"></raphael-circle>
<raphael-icon-timer [position]="position" [stroke]="timerOptions.stroke" [strokeWidth]="timerOptions.strokeWidth"
[fillColors]="timerOptions.fillColors" [fillOpacity]="timerOptions.fillOpacity"></raphael-icon-timer>
<raphael-circle
[center]="center"
[radius]="circleRadius"
[strokeWidth]="circleOptions.strokeWidth"
[stroke]="circleOptions.stroke"
[fillColors]="circleOptions.fillColors"
[fillOpacity]="circleOptions.fillOpacity"
></raphael-circle>
<raphael-icon-timer
[position]="position"
[stroke]="timerOptions.stroke"
[strokeWidth]="timerOptions.strokeWidth"
[fillColors]="timerOptions.fillColors"
[fillOpacity]="timerOptions.fillOpacity"
></raphael-icon-timer>
<diagram-tooltip [data]="data"></diagram-tooltip>

View File

@ -15,13 +15,18 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component, OnInit } from '@angular/core';
import { DiagramElement } from '../diagram-element';
import { RaphaelCircleDirective } from '../raphael/raphael-circle.component';
import { RaphaelIconTimerDirective } from '../raphael/icons/raphael-icon-timer.component';
import { DiagramTooltipComponent } from '../tooltip/diagram-tooltip.component';
@Component({
selector: 'diagram-icon-timer',
standalone: true,
imports: [RaphaelCircleDirective, RaphaelIconTimerDirective, DiagramTooltipComponent],
templateUrl: './diagram-icon-timer.component.html'
})
export class DiagramIconTimerComponent extends DiagramElement implements OnInit {
@ -30,18 +35,18 @@ export class DiagramIconTimerComponent extends DiagramElement implements OnInit
circleRadius: number;
circleOptions: any = {stroke: '', fillColors: '', fillOpacity: '', strokeWidth: ''};
timerOptions: any = {stroke: '', fillColors: '', fillOpacity: '', strokeWidth: ''};
circleOptions: any = { stroke: '', fillColors: '', fillOpacity: '', strokeWidth: '' };
timerOptions: any = { stroke: '', fillColors: '', fillOpacity: '', strokeWidth: '' };
ngOnInit() {
this.center.x = this.data.x + (this.data.width / 2);
this.center.y = this.data.y + (this.data.height / 2);
this.center.x = this.data.x + this.data.width / 2;
this.center.y = this.data.y + this.data.height / 2;
this.circleRadius = 10;
this.position = {x: this.data.x + 5, y: this.data.y + 5};
this.position = { x: this.data.x + 5, y: this.data.y + 5 };
this.circleOptions.stroke = 'black' ;
this.circleOptions.fillColors = 'none' ;
this.timerOptions.stroke = 'none' ;
this.timerOptions.fillColors = '#585858' ;
this.circleOptions.stroke = 'black';
this.circleOptions.fillColors = 'none';
this.timerOptions.stroke = 'none';
this.timerOptions.fillColors = '#585858';
}
}

View File

@ -1,2 +1,7 @@
<raphael-icon-user [position]="position" [stroke]="options.stroke" [strokeWidth]="options.strokeWidth"
[fillColors]="options.fillColors" [fillOpacity]="options.fillOpacity"></raphael-icon-user>
<raphael-icon-user
[position]="position"
[stroke]="options.stroke"
[strokeWidth]="options.strokeWidth"
[fillColors]="options.fillColors"
[fillOpacity]="options.fillOpacity"
></raphael-icon-user>

View File

@ -15,23 +15,26 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component, OnInit } from '@angular/core';
import { DiagramElement } from '../diagram-element';
import { RaphaelIconUserDirective } from '../raphael/icons/raphael-icon-user.component';
@Component({
selector: 'diagram-icon-user-task',
standalone: true,
imports: [RaphaelIconUserDirective],
templateUrl: './diagram-icon-user-task.component.html'
})
export class DiagramIconUserTaskComponent extends DiagramElement implements OnInit {
position: any;
options: any = {stroke: '', fillColors: '', fillOpacity: '', strokeWidth: ''};
options: any = { stroke: '', fillColors: '', fillOpacity: '', strokeWidth: '' };
ngOnInit() {
this.position = {x: this.data.x + 4, y: this.data.y + 4};
this.options.stroke = 'none' ;
this.options.fillColors = '#d1b575' ;
this.position = { x: this.data.x + 4, y: this.data.y + 4 };
this.options.stroke = 'none';
this.options.fillColors = '#d1b575';
}
}

View File

@ -0,0 +1,120 @@
/*!
* @license
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { DiagramAlfrescoPublishTaskComponent } from './activities/diagram-alfresco-publish-task.component';
import { DiagramBoxPublishTaskComponent } from './activities/diagram-box-publish-task.component';
import { DiagramBusinessRuleTaskComponent } from './activities/diagram-business-rule-task.component';
import { DiagramCamelTaskComponent } from './activities/diagram-camel-task.component';
import { DiagramContainerServiceTaskComponent } from './activities/diagram-container-service-task.component';
import { DiagramGoogleDrivePublishTaskComponent } from './activities/diagram-google-drive-publish-task.component';
import { DiagramManualTaskComponent } from './activities/diagram-manual-task.component';
import { DiagramMuleTaskComponent } from './activities/diagram-mule-task.component';
import { DiagramReceiveTaskComponent } from './activities/diagram-receive-task.component';
import { DiagramRestCallTaskComponent } from './activities/diagram-rest-call-task.component';
import { DiagramScriptTaskComponent } from './activities/diagram-script-task.component';
import { DiagramSendTaskComponent } from './activities/diagram-send-task.component';
import { DiagramServiceTaskComponent } from './activities/diagram-service-task.component';
import { DiagramTaskComponent } from './activities/diagram-task.component';
import { DiagramUserTaskComponent } from './activities/diagram-user-task.component';
import { DiagramBoundaryEventComponent } from './boundary-events/diagram-boundary-event.component';
import { DiagramThrowEventComponent } from './boundary-events/diagram-throw-event.component';
import { DiagramEndEventComponent } from './events/diagram-end-event.component';
import { DiagramEventComponent } from './events/diagram-event.component';
import { DiagramStartEventComponent } from './events/diagram-start-event.component';
import { DiagramEventGatewayComponent } from './gateways/diagram-event-gateway.component';
import { DiagramExclusiveGatewayComponent } from './gateways/diagram-exclusive-gateway.component';
import { DiagramGatewayComponent } from './gateways/diagram-gateway.component';
import { DiagramInclusiveGatewayComponent } from './gateways/diagram-inclusive-gateway.component';
import { DiagramParallelGatewayComponent } from './gateways/diagram-parallel-gateway.component';
import { DiagramContainerIconEventTaskComponent } from './icons/diagram-container-icon-event.component';
import { DiagramIconAlfrescoPublishTaskComponent } from './icons/diagram-icon-alfresco-publish-task.component';
import { DiagramIconBoxPublishTaskComponent } from './icons/diagram-icon-box-publish-task.component';
import { DiagramIconBusinessRuleTaskComponent } from './icons/diagram-icon-business-rule-task.component';
import { DiagramIconCamelTaskComponent } from './icons/diagram-icon-camel-task.component';
import { DiagramIconErrorComponent } from './icons/diagram-icon-error.component';
import { DiagramIconGoogleDrivePublishTaskComponent } from './icons/diagram-icon-google-drive-publish-task.component';
import { DiagramIconManualTaskComponent } from './icons/diagram-icon-manual-task.component';
import { DiagramIconMessageComponent } from './icons/diagram-icon-message.component';
import { DiagramIconMuleTaskComponent } from './icons/diagram-icon-mule-task.component';
import { DiagramIconReceiveTaskComponent } from './icons/diagram-icon-receive-task.component';
import { DiagramIconRestCallTaskComponent } from './icons/diagram-icon-rest-call-task.component';
import { DiagramIconScriptTaskComponent } from './icons/diagram-icon-script-task.component';
import { DiagramIconSendTaskComponent } from './icons/diagram-icon-send-task.component';
import { DiagramIconServiceTaskComponent } from './icons/diagram-icon-service-task.component';
import { DiagramIconSignalComponent } from './icons/diagram-icon-signal.component';
import { DiagramIconTimerComponent } from './icons/diagram-icon-timer.component';
import { DiagramIconUserTaskComponent } from './icons/diagram-icon-user-task.component';
import { DiagramIntermediateCatchingEventComponent } from './intermediate-catching-events/diagram-intermediate-catching-event.component';
import { DiagramEventSubprocessComponent } from './structural/diagram-event-subprocess.component';
import { DiagramSubprocessComponent } from './structural/diagram-subprocess.component';
import { DiagramLaneComponent } from './swimlanes/diagram-lane.component';
import { DiagramLanesComponent } from './swimlanes/diagram-lanes.component';
import { DiagramPoolComponent } from './swimlanes/diagram-pool.component';
import { DiagramPoolsComponent } from './swimlanes/diagram-pools.component';
export const DIAGRAM_COMPONENT_DIRECTIVES = [
DiagramAlfrescoPublishTaskComponent,
DiagramBoxPublishTaskComponent,
DiagramBusinessRuleTaskComponent,
DiagramCamelTaskComponent,
DiagramContainerServiceTaskComponent,
DiagramGoogleDrivePublishTaskComponent,
DiagramManualTaskComponent,
DiagramMuleTaskComponent,
DiagramReceiveTaskComponent,
DiagramRestCallTaskComponent,
DiagramScriptTaskComponent,
DiagramSendTaskComponent,
DiagramServiceTaskComponent,
DiagramTaskComponent,
DiagramUserTaskComponent,
DiagramBoundaryEventComponent,
DiagramThrowEventComponent,
DiagramEndEventComponent,
DiagramEventComponent,
DiagramStartEventComponent,
DiagramEventGatewayComponent,
DiagramExclusiveGatewayComponent,
DiagramGatewayComponent,
DiagramInclusiveGatewayComponent,
DiagramParallelGatewayComponent,
DiagramContainerIconEventTaskComponent,
DiagramIconAlfrescoPublishTaskComponent,
DiagramIconBoxPublishTaskComponent,
DiagramIconBusinessRuleTaskComponent,
DiagramIconCamelTaskComponent,
DiagramIconErrorComponent,
DiagramIconGoogleDrivePublishTaskComponent,
DiagramIconManualTaskComponent,
DiagramIconMessageComponent,
DiagramIconMuleTaskComponent,
DiagramIconReceiveTaskComponent,
DiagramIconRestCallTaskComponent,
DiagramIconScriptTaskComponent,
DiagramIconSendTaskComponent,
DiagramIconServiceTaskComponent,
DiagramIconSignalComponent,
DiagramIconTimerComponent,
DiagramIconUserTaskComponent,
DiagramIntermediateCatchingEventComponent,
DiagramEventSubprocessComponent,
DiagramSubprocessComponent,
DiagramLaneComponent,
DiagramLanesComponent,
DiagramPoolComponent,
DiagramPoolsComponent
] as const;

View File

@ -1,6 +1,19 @@
<raphael-circle [center]="center" [radius]="circleRadiusInner" [strokeWidth]="options.strokeWidth" [stroke]="options.stroke"
[fillColors]="options.fillColors" [fillOpacity]="options.fillOpacity"></raphael-circle>
<raphael-circle [elementId]="data.id" [center]="center" [radius]="circleRadiusOuter" [strokeWidth]="options.strokeWidth" [stroke]="options.stroke"
[fillColors]="options.fillColors" [fillOpacity]="options.fillOpacity"></raphael-circle>
<raphael-circle
[center]="center"
[radius]="circleRadiusInner"
[strokeWidth]="options.strokeWidth"
[stroke]="options.stroke"
[fillColors]="options.fillColors"
[fillOpacity]="options.fillOpacity"
></raphael-circle>
<raphael-circle
[elementId]="data.id"
[center]="center"
[radius]="circleRadiusOuter"
[strokeWidth]="options.strokeWidth"
[stroke]="options.stroke"
[fillColors]="options.fillColors"
[fillOpacity]="options.fillOpacity"
></raphael-circle>
<diagram-container-icon-event [data]="data" [type]="data.eventDefinition.type"></diagram-container-icon-event>
<diagram-tooltip [data]="data"></diagram-tooltip>

View File

@ -15,26 +15,31 @@
* limitations under the License.
*/
/* eslint-disable @angular-eslint/component-selector */
/* eslint-disable @angular-eslint/component-selector */
import { Component, OnInit } from '@angular/core';
import { MAIN_STROKE_COLOR } from '../../constants/diagram-colors';
import { DiagramElement } from '../diagram-element';
import { RaphaelCircleDirective } from '../raphael/raphael-circle.component';
import { DiagramContainerIconEventTaskComponent } from '../icons/diagram-container-icon-event.component';
import { DiagramTooltipComponent } from '../tooltip/diagram-tooltip.component';
@Component({
selector: 'diagram-intermediate-catching-event',
standalone: true,
imports: [RaphaelCircleDirective, DiagramContainerIconEventTaskComponent, DiagramTooltipComponent],
templateUrl: './diagram-intermediate-catching-event.component.html'
})
export class DiagramIntermediateCatchingEventComponent extends DiagramElement implements OnInit {
center: any = {};
options: any = {stroke: '', fillColors: '', fillOpacity: '', strokeWidth: 1};
options: any = { stroke: '', fillColors: '', fillOpacity: '', strokeWidth: 1 };
circleRadiusInner: number;
circleRadiusOuter: number;
ngOnInit() {
this.center.x = this.data.x + (this.data.width / 2);
this.center.y = this.data.y + (this.data.height / 2);
this.center.x = this.data.x + this.data.width / 2;
this.center.y = this.data.y + this.data.height / 2;
this.circleRadiusInner = 12;
this.circleRadiusOuter = 15;

View File

@ -22,7 +22,10 @@ import { RaphaelBase } from '../raphael-base';
/**
* Directive selectors without adf- prefix will be deprecated on 3.0.0
*/
@Directive({ selector: 'adf-raphael-icon-alfresco-publish, raphael-icon-alfresco-publish' })
@Directive({
selector: 'adf-raphael-icon-alfresco-publish, raphael-icon-alfresco-publish',
standalone: true
})
export class RaphaelIconAlfrescoPublishDirective extends RaphaelBase implements OnInit {
@Input()
paper: any;

View File

@ -23,7 +23,10 @@ import { RaphaelBase } from '../raphael-base';
/**
* Directive selectors without adf- prefix will be deprecated on 3.0.0
*/
@Directive({ selector: 'adf-raphael-icon-box-publish, raphael-icon-box-publish' })
@Directive({
selector: 'adf-raphael-icon-box-publish, raphael-icon-box-publish',
standalone: true
})
export class RaphaelIconBoxPublishDirective extends RaphaelBase implements OnInit {
@Input()
paper: any;

View File

@ -22,7 +22,10 @@ import { RaphaelBase } from '../raphael-base';
/**
* Directive selectors without adf- prefix will be deprecated on 3.0.0
*/
@Directive({ selector: 'adf-raphael-icon-business-rule, raphael-icon-business-rule' })
@Directive({
selector: 'adf-raphael-icon-business-rule, raphael-icon-business-rule',
standalone: true
})
export class RaphaelIconBusinessRuleDirective extends RaphaelBase implements OnInit {
@Input()
paper: any;

View File

@ -22,7 +22,10 @@ import { RaphaelBase } from '../raphael-base';
/**
* Directive selectors without adf- prefix will be deprecated on 3.0.0
*/
@Directive({ selector: 'adf-raphael-icon-camel, raphael-icon-camel' })
@Directive({
selector: 'adf-raphael-icon-camel, raphael-icon-camel',
standalone: true
})
export class RaphaelIconCamelDirective extends RaphaelBase implements OnInit {
@Input()
paper: any;

View File

@ -22,7 +22,10 @@ import { RaphaelBase } from '../raphael-base';
/**
* Directive selectors without adf- prefix will be deprecated on 3.0.0
*/
@Directive({ selector: 'adf-raphael-icon-error, raphael-icon-error' })
@Directive({
selector: 'adf-raphael-icon-error, raphael-icon-error',
standalone: true
})
export class RaphaelIconErrorDirective extends RaphaelBase implements OnInit {
@Input()
paper: any;

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