diff --git a/package-lock.json b/package-lock.json index 0872125840c7fe389c6553160f7b411c05b4b51d..f61f5e9255306db709c48725cefda03a03fd3821 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3363,9 +3363,9 @@ } }, "node_modules/@formio/bootstrap": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@formio/bootstrap/-/bootstrap-3.0.0.tgz", - "integrity": "sha512-9a2JMY/qU/UUQ3BvlxrZfAjy/v5unwkXXBdy98+MiUbmQVaLi8ITIsA/YeYkRKFQW8V6BSbOoTlJhmVvxdvPnA==" + "version": "3.0.2-rc.1", + "resolved": "https://registry.npmjs.org/@formio/bootstrap/-/bootstrap-3.0.2-rc.1.tgz", + "integrity": "sha512-CfwnU04l8yMc0kr1j2Y7mj193Z5BfqoNiCGBsTz1bDIr/tnaQkfEOZ21zJ15KVpCXVGc6SjW7QQ1JY8UVsE0lQ==" }, "node_modules/@formio/bootstrap3": { "version": "2.12.4-rc.1", @@ -3387,9 +3387,9 @@ } }, "node_modules/@formio/core": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@formio/core/-/core-2.3.0.tgz", - "integrity": "sha512-jAlNm0vaSZQ9RSxt79PqeHdXYv/1i+zNfasVWbH1xRJSicJK0JcdodrBaDw8kKnEh0UmflW6RyIiaMyDbww4Ug==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@formio/core/-/core-2.3.3.tgz", + "integrity": "sha512-Tgv5FEwEf9xQtl/cqviaWyBCFcwGCb1pVXwTjIH7KxtWMwsyXtbxGotjfFyZY9unOw6Snk2ik/sln80yQe5y9A==", "dependencies": { "@types/json-logic-js": "^2.0.7", "browser-cookies": "^1.2.0", @@ -3411,14 +3411,14 @@ "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" }, "node_modules/@formio/js": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@formio/js/-/js-5.0.0.tgz", - "integrity": "sha512-Ly3f7q2wo5oFjlECKFtkIMy+Ah9HyAkf6ob70OrF/6MooSPF3hEu9euXouEWOoNdI+Tokr690/GdM2sDZtYzww==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@formio/js/-/js-5.0.2.tgz", + "integrity": "sha512-zAuCUuxBPCJ7Nmt8+xPE5XyLkVg550a//I9ke8bhI7EGlRkN6xF1Ve7Nomsi8ruohiw2BVcMH+5SS3LXWUm0uQ==", "dependencies": { - "@formio/bootstrap": "3.0.0", + "@formio/bootstrap": "3.0.2-rc.1", "@formio/choices.js": "^10.2.1", - "@formio/core": "2.3.0", - "@formio/text-mask-addons": "^3.8.0-formio.3", + "@formio/core": "2.3.3", + "@formio/text-mask-addons": "3.8.0-formio.4", "@formio/vanilla-text-mask": "^5.1.1-formio.1", "abortcontroller-polyfill": "^1.7.5", "autocompleter": "^8.0.4", @@ -3458,9 +3458,9 @@ "integrity": "sha512-q334YswwucSBphN5djVkEt3beVhHotrCtPGNIXmyilw9UnXV9Cb+gNAZ2yhZSfiBSzP6rxHLLT2gpr57xgbcwQ==" }, "node_modules/@formio/js/node_modules/bootstrap": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.3.tgz", - "integrity": "sha512-8HLCdWgyoMguSO9o+aH+iuZ+aht+mzW0u3HIMzVu7Srrpv7EBBxTnrFlSCskwdY1+EOFQSm7uMJhNQHkdPcmjg==", + "version": "5.3.5", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.5.tgz", + "integrity": "sha512-ct1CHKtiobRimyGzmsSldEtM03E8fcEX4Tb3dGXz1V8faRwM50+vfHwTzOxB3IlKO7m+9vTH3s/3C6T2EAPeTA==", "funding": [ { "type": "github", @@ -17767,9 +17767,9 @@ } }, "@formio/bootstrap": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@formio/bootstrap/-/bootstrap-3.0.0.tgz", - "integrity": "sha512-9a2JMY/qU/UUQ3BvlxrZfAjy/v5unwkXXBdy98+MiUbmQVaLi8ITIsA/YeYkRKFQW8V6BSbOoTlJhmVvxdvPnA==" + "version": "3.0.2-rc.1", + "resolved": "https://registry.npmjs.org/@formio/bootstrap/-/bootstrap-3.0.2-rc.1.tgz", + "integrity": "sha512-CfwnU04l8yMc0kr1j2Y7mj193Z5BfqoNiCGBsTz1bDIr/tnaQkfEOZ21zJ15KVpCXVGc6SjW7QQ1JY8UVsE0lQ==" }, "@formio/bootstrap3": { "version": "2.12.4-rc.1", @@ -17791,9 +17791,9 @@ } }, "@formio/core": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@formio/core/-/core-2.3.0.tgz", - "integrity": "sha512-jAlNm0vaSZQ9RSxt79PqeHdXYv/1i+zNfasVWbH1xRJSicJK0JcdodrBaDw8kKnEh0UmflW6RyIiaMyDbww4Ug==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@formio/core/-/core-2.3.3.tgz", + "integrity": "sha512-Tgv5FEwEf9xQtl/cqviaWyBCFcwGCb1pVXwTjIH7KxtWMwsyXtbxGotjfFyZY9unOw6Snk2ik/sln80yQe5y9A==", "requires": { "@types/json-logic-js": "^2.0.7", "browser-cookies": "^1.2.0", @@ -17817,14 +17817,14 @@ } }, "@formio/js": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@formio/js/-/js-5.0.0.tgz", - "integrity": "sha512-Ly3f7q2wo5oFjlECKFtkIMy+Ah9HyAkf6ob70OrF/6MooSPF3hEu9euXouEWOoNdI+Tokr690/GdM2sDZtYzww==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@formio/js/-/js-5.0.2.tgz", + "integrity": "sha512-zAuCUuxBPCJ7Nmt8+xPE5XyLkVg550a//I9ke8bhI7EGlRkN6xF1Ve7Nomsi8ruohiw2BVcMH+5SS3LXWUm0uQ==", "requires": { - "@formio/bootstrap": "3.0.0", + "@formio/bootstrap": "3.0.2-rc.1", "@formio/choices.js": "^10.2.1", - "@formio/core": "2.3.0", - "@formio/text-mask-addons": "^3.8.0-formio.3", + "@formio/core": "2.3.3", + "@formio/text-mask-addons": "3.8.0-formio.4", "@formio/vanilla-text-mask": "^5.1.1-formio.1", "abortcontroller-polyfill": "^1.7.5", "autocompleter": "^8.0.4", @@ -17864,9 +17864,9 @@ "integrity": "sha512-q334YswwucSBphN5djVkEt3beVhHotrCtPGNIXmyilw9UnXV9Cb+gNAZ2yhZSfiBSzP6rxHLLT2gpr57xgbcwQ==" }, "bootstrap": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.3.tgz", - "integrity": "sha512-8HLCdWgyoMguSO9o+aH+iuZ+aht+mzW0u3HIMzVu7Srrpv7EBBxTnrFlSCskwdY1+EOFQSm7uMJhNQHkdPcmjg==", + "version": "5.3.5", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.5.tgz", + "integrity": "sha512-ct1CHKtiobRimyGzmsSldEtM03E8fcEX4Tb3dGXz1V8faRwM50+vfHwTzOxB3IlKO7m+9vTH3s/3C6T2EAPeTA==", "requires": {} }, "compare-versions": { diff --git a/src/app/appmarket/appinstance/appinstance/appinstance.component.html b/src/app/appmarket/appinstance/appinstance/appinstance.component.html index dae5bdb3129447e7c0b42026df44635231b470d3..9ad4da9d993d742d8c3d061ce577ee84d3739b34 100644 --- a/src/app/appmarket/appinstance/appinstance/appinstance.component.html +++ b/src/app/appmarket/appinstance/appinstance/appinstance.component.html @@ -275,10 +275,10 @@ </div> </div> <div class="nmaas-modal-footer"> - <button type="button" class="btn btn-danger" - (click)="this.undeploy()">{{'UNDEPLOY_MODAL.YES_BUTTON' | translate}}</button> <button type="button" class="btn btn-primary" (click)="this.undeployModal.hide()">{{'UNDEPLOY_MODAL.CANCEL_BUTTON' | translate}}</button> + <button type="button" class="btn btn-danger" + (click)="this.undeploy()">{{'UNDEPLOY_MODAL.YES_BUTTON' | translate}}</button> </div> </nmaas-modal> @@ -302,11 +302,11 @@ </div> </div> <div class="nmaas-modal-footer"> + <button type="button" class="btn btn-secondary" + (click)="this.manualUpdateModal.hide()">{{'UNDEPLOY_MODAL.CANCEL_BUTTON' | translate}}</button> <button type="button" class="btn btn-primary " [disabled]="appVersions.length === 0 || selectedVersion === ''" (click)="this.manualUpdateVersion()">{{'APP_INSTANCES.MANUAL_UPDATE.YES_BUTTON' | translate}}</button> - <button type="button" class="btn btn-secondary" - (click)="this.manualUpdateModal.hide()">{{'UNDEPLOY_MODAL.CANCEL_BUTTON' | translate}}</button> </div> </nmaas-modal> @@ -402,10 +402,11 @@ {{'REDEPLOY_MODAL.BODY' | translate}} </div> <div class="nmaas-modal-footer"> - <button type="button" class="btn btn-primary" - (click)="redeploy(); redeployConfirm.hide()">{{'REDEPLOY_MODAL.OK_BUTTON' | translate}}</button> <button type="button" class="btn btn-secondary" (click)="redeployConfirm.hide()">{{'REDEPLOY_MODAL.CANCEL_BUTTON' | translate}}</button> + <button type="button" class="btn btn-primary" + (click)="redeploy(); redeployConfirm.hide()">{{'REDEPLOY_MODAL.OK_BUTTON' | translate}}</button> + </div> </nmaas-modal> @@ -418,10 +419,10 @@ {{'REMOVE_MODAL.BODY' | translate}} </div> <div class="nmaas-modal-footer"> - <button type="button" class="btn btn-primary" - (click)="removalFailedInstance(); removeConfirm.hide()">{{'REMOVE_MODAL.OK_BUTTON' | translate}}</button> <button type="button" class="btn btn-secondary" (click)="removeConfirm.hide()">{{'REMOVE_MODAL.CANCEL_BUTTON' | translate}}</button> + <button type="button" class="btn btn-primary" + (click)="removalFailedInstance(); removeConfirm.hide()">{{'REMOVE_MODAL.OK_BUTTON' | translate}}</button> </div> </nmaas-modal> @@ -434,10 +435,10 @@ <div [innerHTML]="'ENABLE_AUTO_UPGRADES_MODAL.BODY' | translate"></div> </div> <div class="nmaas-modal-footer"> - <button type="button" class="btn btn-primary" - (click)="enableAutoUpgrades(); enableAutoUpgradesConfirm.hide()">{{'ENABLE_AUTO_UPGRADES_MODAL.OK_BUTTON' | translate}}</button> <button type="button" class="btn btn-secondary" (click)="enableAutoUpgradesConfirm.hide()">{{'ENABLE_AUTO_UPGRADES_MODAL.CANCEL_BUTTON' | translate}}</button> + <button type="button" class="btn btn-primary" + (click)="enableAutoUpgrades(); enableAutoUpgradesConfirm.hide()">{{'ENABLE_AUTO_UPGRADES_MODAL.OK_BUTTON' | translate}}</button> </div> </nmaas-modal> @@ -450,10 +451,10 @@ <div [innerHTML]="'DISABLE_AUTO_UPGRADES_MODAL.BODY' | translate"></div> </div> <div class="nmaas-modal-footer"> - <button type="button" class="btn btn-primary" - (click)="disableAutoUpgrades(); disableAutoUpgradesConfirm.hide()">{{'DISABLE_AUTO_UPGRADES_MODAL.OK_BUTTON' | translate}}</button> <button type="button" class="btn btn-secondary" (click)="disableAutoUpgradesConfirm.hide()">{{'DISABLE_AUTO_UPGRADES_MODAL.CANCEL_BUTTON' | translate}}</button> + <button type="button" class="btn btn-primary" + (click)="disableAutoUpgrades(); disableAutoUpgradesConfirm.hide()">{{'DISABLE_AUTO_UPGRADES_MODAL.OK_BUTTON' | translate}}</button> </div> </nmaas-modal> diff --git a/src/app/appmarket/appinstance/appinstancelist/appinstancelist.component.html b/src/app/appmarket/appinstance/appinstancelist/appinstancelist.component.html index c49146f7a9b849236499157af455e499196403d9..7af02f7f4a03f7036cea696cf1beb791583dcfca 100644 --- a/src/app/appmarket/appinstance/appinstancelist/appinstancelist.component.html +++ b/src/app/appmarket/appinstance/appinstancelist/appinstancelist.component.html @@ -1,17 +1,12 @@ <div style="display: flex; align-items: flex-start; justify-content: space-between; margin-top:20px"> <div style="display:flex; align-items: center;"> - <input pInputText name="search" id="search" placeholder="Search" type="text" [(ngModel)]="searchValue"> - <div class="" style="display: inline-flex; align-items: center; margin-right:20px"> - <label class="mr-3" for="selectionType">{{ 'APP_INSTANCES.SHOW' | translate }}: </label> - <p-selectButton - id="selectionType" - [options]="selectionOptions" - [(ngModel)]="listSelection" - [ngModelOptions]="{standalone: true}" - (ngModelChange)="onSelectionChange($event)" - optionLabel="label" - optionValue="value" - ngDefaultControl/> + <span class="p-input-icon-right"> + <i class="pi pi-search" style="font-size: 13px; top: 16px; margin-right: 5px;"></i> + <input pInputText class="form-control" name="search" id="search" placeholder="Search" type="text" [(ngModel)]="searchValue"> + </span> + <div style="display: flex; margin: 0 20px"> + <p-checkbox id="show_my" inputId="show_my" binary="true" [(ngModel)]="showAll" (onChange)="onSelectionChange()" [ngModelOptions]="{standalone: true}" ngDefaultControl></p-checkbox> + <label for="show_my" style="text-wrap: nowrap">Show all instances</label> </div> <div style="display: flex"> <p-checkbox *domainRoles="['ROLE_DOMAIN_ADMIN', 'ROLE_SYSTEM_ADMIN', 'ROLE_OPERATOR'];domainId:domainId" diff --git a/src/app/appmarket/appinstance/appinstancelist/appinstancelist.component.ts b/src/app/appmarket/appinstance/appinstancelist/appinstancelist.component.ts index 34c19ec8c7a6fbd77cccceb90684018e19fe31c6..6c09b32f86857764f1631aa41a5580bd094e2449 100644 --- a/src/app/appmarket/appinstance/appinstancelist/appinstancelist.component.ts +++ b/src/app/appmarket/appinstance/appinstancelist/appinstancelist.component.ts @@ -23,6 +23,7 @@ export enum AppInstanceListSelection { export class AppInstanceListComponent implements OnInit { public undeployedVisible = false; + public showAll = false; private readonly item_number_key: string = 'item_number_per_page'; private readonly list_selection_key: string = 'list_selection'; @@ -60,10 +61,6 @@ export class AppInstanceListComponent implements OnInit { public selectedOption = 'list'; public searchValue = ''; - public selectionOptions = [ - { label: this.translateEnum(AppInstanceListSelection.ALL), value: AppInstanceListSelection.ALL }, - { label: this.translateEnum(AppInstanceListSelection.MY), value: AppInstanceListSelection.MY }, - ]; constructor(private appInstanceService: AppInstanceService, @@ -88,6 +85,7 @@ export class AppInstanceListComponent implements OnInit { const ls = AppInstanceListSelection[sessionStorage.getItem(this.list_selection_key)]; if (ls !== undefined) { this.listSelection = ls; + this.showAll = ls === AppInstanceListSelection.ALL; } console.log(this.listSelection); this.userDataService.selectedDomainId.subscribe(domainId => { @@ -100,31 +98,6 @@ export class AppInstanceListComponent implements OnInit { this.update(domainId) }); - forkJoin({ - all: this.translateService.get('ENUM.ALL'), - my: this.translateService.get('ENUM.MY') - }).subscribe(translations => { - this.selectionOptions = [ - { label: translations.all, value: AppInstanceListSelection.ALL }, - { label: translations.my, value: AppInstanceListSelection.MY }, - ]; - }); - } - - - public translateEnum(value: AppInstanceListSelection): string { - let outValue = ''; - if (value.toString() === 'ALL') { - this.translateService.get('ENUM.ALL').subscribe((res: string) => { - outValue = res; - }) - } - if (value.toString() === 'MY') { - this.translateService.get('ENUM.MY').subscribe((res: string) => { - outValue = res; - }) - } - return outValue; } public update(domainId: number): void { @@ -150,7 +123,11 @@ export class AppInstanceListComponent implements OnInit { || this.authService.hasDomainRole(app.domainId, 'ROLE_USER'); } - public onSelectionChange(event) { + public onSelectionChange() { + this.listSelection = this.showAll + ? AppInstanceListSelection.ALL + : AppInstanceListSelection.MY; + sessionStorage.setItem(this.list_selection_key, AppInstanceListSelection[this.listSelection]); this.update(this.domainId); } diff --git a/src/app/appmarket/bulkDeployment/bulk-list/bulk-list.component.html b/src/app/appmarket/bulkDeployment/bulk-list/bulk-list.component.html index 29bef44c53d82bf456ebf0f4e54b20f0ffcc145c..77fa7865ee58f68e0d6d01784560d9c485f3aa1a 100644 --- a/src/app/appmarket/bulkDeployment/bulk-list/bulk-list.component.html +++ b/src/app/appmarket/bulkDeployment/bulk-list/bulk-list.component.html @@ -3,7 +3,7 @@ <div style="margin-right:20px"> <span class="p-input-icon-right" style="width: 100%"> <i class="pi pi-search" style="font-size: 13px; top: 16px; margin-right: 5px;"></i> - <input pInputText class="flex" name="search" id="search" placeholder="Search" type="text" + <input pInputText class="flex form-control" name="search" id="search" placeholder="Search" type="text" style="height: 34px" [(ngModel)]="searchValue"> </span> </div> diff --git a/src/app/appmarket/domains/domain-groups/domain-groups.component.html b/src/app/appmarket/domains/domain-groups/domain-groups.component.html index c3834f6720d71b648f8871e43118615242b9decd..0e054bd69320aa30d884104e74f13f0865f7923e 100644 --- a/src/app/appmarket/domains/domain-groups/domain-groups.component.html +++ b/src/app/appmarket/domains/domain-groups/domain-groups.component.html @@ -2,7 +2,7 @@ <div style="margin-right:20px"> <span class="p-input-icon-right" style="width: 100%"> <i class="pi pi-search" style="font-size: 13px; top: 16px; margin-right: 5px;"></i> - <input pInputText class="flex" name="search" id="search" placeholder="Search" type="text" style="height: 34px" [(ngModel)]="searchValue"> + <input pInputText class="flex form-control" name="search" id="search" placeholder="Search" type="text" style="height: 34px" [(ngModel)]="searchValue"> </span> </div> <div class="flex" style="margin-right:20px"> diff --git a/src/app/model/cluster-manager.ts b/src/app/model/cluster-manager.ts index 128a5521b4b5240a4b812e017fc936f0e94b6ce8..f37b9747cb8cc223d1ee1d4d8b5f142cf582b270 100644 --- a/src/app/model/cluster-manager.ts +++ b/src/app/model/cluster-manager.ts @@ -15,5 +15,6 @@ export class ClusterManager { public externalNetworks: ClusterExtNetwork[] public domainNames: string[]; public state : string; + public currentStateSince: Date; public contactEmail: string; } \ No newline at end of file diff --git a/src/app/service/domain.service.ts b/src/app/service/domain.service.ts index 621496caa8a8f09d8660674a01cc7a163a59dfa9..7f6a3e2c51420794fc1317ac2e88ddabfdfdc7d8 100644 --- a/src/app/service/domain.service.ts +++ b/src/app/service/domain.service.ts @@ -19,12 +19,15 @@ export class DomainService extends GenericDataService { protected url: string; + protected urlGroups: string; + private updateRequiredFlag: boolean; constructor(http: HttpClient, appConfig: AppConfigService) { super(http, appConfig); this.updateRequiredFlag = false; this.url = this.appConfig.getApiUrl() + '/domains'; + this.urlGroups = this.appConfig.getApiUrl() + '/groups'; } public getGlobalDomainId(): number { @@ -93,35 +96,35 @@ export class DomainService extends GenericDataService { // GROUPS public getAllDomainGroups(): Observable<DomainGroup[]> { - return this.get<DomainGroup[]>(this.url + '/group'); + return this.get<DomainGroup[]>(this.urlGroups); } public getDomainGroup(domainGroupId: number): Observable<DomainGroup> { - return this.get<DomainGroup>(this.url + '/group/' + domainGroupId); + return this.get<DomainGroup>(this.urlGroups + '/' + domainGroupId); } public deleteDomainGroup(domainGroupId: number): Observable<void> { - return this.delete<void>(this.url + '/group/' + domainGroupId); + return this.delete<void>(this.urlGroups + '/' + domainGroupId); } public addDomainsToGroup(groupCodeName: string, domainIds: number[]): Observable<DomainGroup> { - return this.post(this.url + '/group/' + groupCodeName, domainIds); + return this.post(this.urlGroups + '/' + groupCodeName, domainIds); } public deleteDomainFromGroup(groupId: number, domainId: number): Observable<DomainGroup> { - return this.patch(this.url + '/group/' + groupId, domainId); + return this.patch(this.urlGroups + '/' + groupId, domainId); } public createDomainGroup(domainGroup: DomainGroup): Observable<Id> { - return this.post(this.url + '/group', domainGroup); + return this.post(this.urlGroups , domainGroup); } public updateDomainGroup(domainGroup: DomainGroup, id: number): Observable<Id> { - return this.put(this.url + '/group/' + id, domainGroup); + return this.put(this.urlGroups+ "/" + id, domainGroup); } public updateDomainGroupManagers(managers: User[], id: number): Observable<DomainGroup> { - return this.put(this.url + '/group/members/' + id, managers); + return this.put(this.urlGroups + '/' + id + "/members", managers); } public getAnnotations(): Observable<DomainAnnotation[]> { diff --git a/src/app/shared/admin/clusters/managerdetails/managerdetails.component.html b/src/app/shared/admin/clusters/managerdetails/managerdetails.component.html index 28edc9a564b5b7dc72d04895c8c721df681298a3..9f7c872af6f0fe143d19d6bf09102cd51986309c 100644 --- a/src/app/shared/admin/clusters/managerdetails/managerdetails.component.html +++ b/src/app/shared/admin/clusters/managerdetails/managerdetails.component.html @@ -70,6 +70,16 @@ </div> </div> + <div class="form-group"> + <label for="state" class="col-sm-2 control-label">{{ 'CLUSTERS.STATE_SINCE' | translate }}</label> + <div class="col-sm-10"> + <div class="col-sm-10"> + <input type="text" class="form-control" id="state" name="state" + [ngModel]="formatDate(cluster.currentStateSince)" [disabled]="true"> + </div> + </div> + </div> + <div class="form-group"> <label for="clusterCreationDate" class="col-sm-2 control-label">{{ 'CLUSTERS.CREATION_DATE' | translate }}</label> diff --git a/src/app/shared/modal/modal-notification-send/modal-notification-send.component.html b/src/app/shared/modal/modal-notification-send/modal-notification-send.component.html index 435992b9e9b3e71156a5ded7e6ca4008a93fd501..4b2cbdcdab4c8f136b1224cc865065dc43c96642 100644 --- a/src/app/shared/modal/modal-notification-send/modal-notification-send.component.html +++ b/src/app/shared/modal/modal-notification-send/modal-notification-send.component.html @@ -13,7 +13,7 @@ </form> </div> <div class="nmaas-modal-footer"> + <button type="button" (click)="modal.hide()" class="btn btn-secondary text-center">{{'MESSAGE_MODAL.DISMISS' | translate}}</button> <button type="submit" class="btn btn-primary text-center" [disabled]="!f.valid" form="notification-form">{{'MESSAGE_MODAL.CONFIRM' | translate}}</button> - <button type="button" (click)="modal.hide()" class="btn btn-secondary text-center">{{'MESSAGE_MODAL.DISMISS' | translate}}</button> </div> </nmaas-modal>