Skip to content

Commit 77a3d63

Browse files
committed
[NAB-378] Global role support
- Add global flag support for roles and improve role ID form - Enhanced role model to include a global flag. - Updated role-detail component to handle global flag changes. - Updated `@netgrif/petriflow` dependency to 2.2.1.
1 parent f5df106 commit 77a3d63

File tree

5 files changed

+27
-10
lines changed

5 files changed

+27
-10
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ Thumbs.db
5151
.scannerwork/
5252
out/
5353
package-lock.json
54+
pnpm-lock.yaml
5455
### JetBrains template
5556
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
5657
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959
"@netgrif/components": "7.0.0-beta.1",
6060
"@netgrif/components-core": "7.0.0-beta.1",
6161
"@netgrif/petri.svg": "1.1.1",
62-
"@netgrif/petriflow": "2.2.0",
62+
"@netgrif/petriflow": "2.2.1",
6363
"@netgrif/petriflow.svg": "1.1.1",
6464
"@ngbracket/ngx-layout": "^17.0.1",
6565
"@ngx-translate/core": "~15.0.0",

src/app/modeler/role-mode/role-detail/role-detail.component.html

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,11 @@
44

55
<mat-form-field fxFlex="45">
66
<mat-label>Id</mat-label>
7-
<input matInput [(ngModel)]="role.role.id" (change)="changeId($event)" [formControl]="form">
8-
<mat-error *ngIf="form.errors && form.errors.required">Id is required</mat-error>
9-
<mat-error *ngIf="form.errors && form.errors.validUnique">Transition with given id already exists</mat-error>
7+
<input matInput [(ngModel)]="role.role.id" (change)="changeId($event)" [formControl]="roleIdForm">
8+
<mat-error *ngIf="roleIdForm.errors && roleIdForm.errors.required">Id is required</mat-error>
9+
<mat-error *ngIf="roleIdForm.errors && roleIdForm.errors.validUnique">
10+
Transition with given id already exists
11+
</mat-error>
1012
</mat-form-field>
1113

1214
<div fxFlex="2.5"></div>
@@ -21,9 +23,17 @@
2123
<div fxLayout="row wrap" fxLayoutAlign="start center">
2224
<div fxFlex="2.5"></div>
2325

26+
<div fxFlex="45">
27+
<mat-checkbox [ngModel]="role.role.global" (change)="changeGlobalFlag($event)">
28+
Is Global
29+
</mat-checkbox>
30+
</div>
31+
32+
<div fxFlex="2.5"></div>
33+
2434
<button mat-stroked-button color="primary" (click)="openActions()" mat-dialog-close>
2535
<mat-icon>code</mat-icon>
26-
<span>Edit Actions ({{numberOfActions()}})</span>
36+
<span>Edit Actions ({{ numberOfActions() }})</span>
2737
</button>
2838

2939
<div fxFlex></div>

src/app/modeler/role-mode/role-detail/role-detail.component.ts

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,21 +13,21 @@ import {ModelerUtils} from '../../modeler-utils';
1313
@Component({
1414
selector: 'nab-role-detail',
1515
templateUrl: './role-detail.component.html',
16-
styleUrl: './role-detail.component.scss'
16+
styleUrl: './role-detail.component.scss',
1717
})
1818
export class RoleDetailComponent implements OnDestroy {
1919

2020
public role: ChangedRole;
2121
public shouldSave: boolean = false;
22-
public form: FormControl;
22+
public roleIdForm: FormControl;
2323

2424
public constructor(
2525
private _masterService: RoleMasterDetailService,
2626
private _modelService: ModelService,
2727
private _router: Router,
2828
private _actionMode: ActionsModeService,
2929
private _actionsMasterDetail: ActionsMasterDetailService,
30-
protected _historyService: HistoryService
30+
protected _historyService: HistoryService,
3131
) {
3232
this._masterService.getSelected$().subscribe(item => {
3333
this.saveChange();
@@ -36,9 +36,9 @@ export class RoleDetailComponent implements OnDestroy {
3636
}
3737
this.role = new ChangedRole(item.clone());
3838
});
39-
this.form = new FormControl('', [
39+
this.roleIdForm = new FormControl('', [
4040
Validators.required,
41-
this.validUnique()
41+
this.validUnique(),
4242
]);
4343
}
4444

@@ -75,6 +75,11 @@ export class RoleDetailComponent implements OnDestroy {
7575
this.shouldSave = true;
7676
}
7777

78+
changeGlobalFlag($event): void {
79+
this.role.role.global = $event.checked;
80+
this.shouldSave = true;
81+
}
82+
7883
get item(): Role {
7984
return this.service.getSelected();
8085
}

src/app/modeler/services/model/model.service.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -365,6 +365,7 @@ export class ModelService {
365365
const role = this.model.getRole(newRole.id);
366366
role.id = newRole.role.id;
367367
role.title = newRole.role.title;
368+
role.global = newRole.role.global;
368369
this.model.removeRole(newRole.id);
369370
this.model.addRole(role);
370371

0 commit comments

Comments
 (0)