ng-metamagic-extensions
Version:
[](https://badge.fury.io/js/ng-metamagic-extensions) []() [ • 2.88 kB
text/typescript
/**
* Created by patrick on 4/4/17.
*/
import {Injectable} from '@angular/core';
/**
* Using Toaster from ref : http://www.jqueryscript.net/other/jQuery-Bootstrap-Based-Toast-Notification-Plugin-toaster.html
*/
declare var $ : any;
declare var toaster : any;
()
export class WidgetService {
constructor() {
}
setDisabled(inputTexts : any, fieldName: string, disabled: boolean){
let components = inputTexts._results;
for(let iComponents = 0 ; iComponents<components.length; iComponents++){
let inputText = components[iComponents];
if(inputText.fieldName == fieldName){
inputText.disabled = disabled;
}
}
}
validate(inputTexts: any){
let components = inputTexts;
let showMessage = false;
let errorCounter = 1;
let title= "<strong>Please validate following fields</strong><br><hr>";
let validateMsg = "<br>";
for(let iComponents = 0 ; iComponents<components.length; iComponents++){
let inputText = components[iComponents];
let isValid = inputText.isValidInput();
if(isValid){
validateMsg = validateMsg +' '+errorCounter +') '+inputText.fieldLabel +"<br/>";
showMessage = true;
errorCounter++;
}
}
if(showMessage)
$.toaster({ priority : 'danger', title : title, message :validateMsg}); // toaster.error(validateMsg);
return showMessage;
}
validateAll(inputTexts: any[]){
let showMessage = false;
let errorCounter = 1;
let title= "<strong>Please validate following fields</strong><hr>";
let validateMsg = "<br>";
for (let ic = 0; ic < inputTexts.length; ic++){
let component = inputTexts[ic];
let isValid = component.isValidInput();
if(isValid){
validateMsg = validateMsg + ' '+errorCounter +') '+component.fieldLabel +"<br>";
showMessage = true;
errorCounter++;
}
}
if(showMessage)
$.toaster({ priority : 'danger', title : title, message :validateMsg});
return showMessage;
}
toasterDanger(title : string,message : string,timeout : string){
$.toaster({settings : {'timeout': parseInt(timeout)}});
$.toaster({ priority : 'danger', title : title, message :message});
}
toasterWarning(title : string,message : string,timeout : string){
$.toaster({settings : {'timeout': parseInt(timeout)}});
$.toaster({ priority : 'warning', title : title, message :message});
}
toasterSuccess(title : string,message : string,timeout : string){
$.toaster({settings : {'timeout': parseInt(timeout)}});
$.toaster({ priority : 'success', title : title, message :message});
}
toasterInfo(title : string,message : string,timeout : string){
$.toaster({settings : {'timeout': parseInt(timeout)}});
$.toaster({ priority : 'info', title : title, message :message});
}
}