import { ModalDirective } from 'ngx-bootstrap/modal'
import { ConfirmService } from './confirm.service'
-
-export interface ConfigChangedEvent {
- columns: { [id: string]: { isDisplayed: boolean } }
- config: { resultsPerPage: number }
-}
+import { I18n } from '@ngx-translate/i18n-polyfill'
@Component({
selector: 'my-confirm',
- templateUrl: './confirm.component.html'
+ templateUrl: './confirm.component.html',
+ styleUrls: [ './confirm.component.scss' ]
})
export class ConfirmComponent implements OnInit {
@ViewChild('confirmModal') confirmModal: ModalDirective
title = ''
message = ''
+ expectedInputValue = ''
+ inputLabel = ''
- constructor (private confirmService: ConfirmService) {
+ inputValue = ''
+ confirmButtonText = ''
+
+ constructor (
+ private confirmService: ConfirmService,
+ private i18n: I18n
+ ) {
// Empty
}
}
this.confirmService.showConfirm.subscribe(
- ({ title, message }) => {
+ ({ title, message, expectedInputValue, inputLabel, confirmButtonText }) => {
this.title = title
this.message = message
+ this.inputLabel = inputLabel
+ this.expectedInputValue = expectedInputValue
+
+ this.confirmButtonText = confirmButtonText || this.i18n('Confirm')
+
this.showModal()
}
)
this.hideModal()
}
+ isConfirmationDisabled () {
+ // No input validation
+ if (!this.inputLabel || !this.expectedInputValue) return false
+
+ return this.expectedInputValue !== this.inputValue
+ }
+
showModal () {
this.confirmModal.show()
}