import { CommonService } from 'src/app/hmg-common/services/common/common.service' ;
import { Component , OnInit , ViewChild , ElementRef } from '@angular/core' ;
import { MenuEntry } from 'src/app/hmg-common/services/menu/models/menu.entry' ;
import { MenuResponse } from 'src/app/hmg-common/services/menu/models/menu-response' ;
import { EitRequest } from '../models/eit.request' ;
import { ModalController } from '@ionic/angular' ;
import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service' ;
import { EITTransactionsRequest } from '../models/EITTransactionsReq' ;
import { EitService } from '../services/eit.service' ;
import { TextAreaInput } from 'src/app/uI-elements/text-area.input' ;
import { NumberInput } from 'src/app/uI-elements/number.input' ;
import { TextInput } from 'src/app/uI-elements/text.input' ;
import { SelectInput } from 'src/app/uI-elements/select.input' ;
import { DateInput } from 'src/app/uI-elements/date.input' ;
import { TimeInput } from 'src/app/uI-elements/time.input' ;
import { DateTimeInput } from 'src/app/uI-elements/date-time.input' ;
import { ButtonInput } from 'src/app/uI-elements/button.input' ;
import { HiddenInput } from 'src/app/uI-elements/hidden.input' ;
import * as moment from 'moment' ;
import { DatePicker } from '@ionic-native/date-picker/ngx' ;
import { EIT_ACTION } from '../models/submit.eit.action' ;
import { AddEitResponse } from '../models/add.eit.response' ;
@Component ( {
selector : 'app-add-eit' ,
templateUrl : './add-eit.component.html' ,
styleUrls : [ './add-eit.component.scss' ] ,
} )
export class AddEitComponent implements OnInit {
@ViewChild ( 'containerDiv' ) containerDiv : ElementRef ;
////*new add*/////
getPassNotificationDetails : any ;
getPassdirfromNotifiPage : boolean = false ;
functionName : string = "" ;
menuType : any ;
/////////////////
private textArea : TextAreaInput ;
private numberInput : NumberInput ;
private textInput : TextInput ;
private selectInput : SelectInput ;
private dateInput : DateInput ;
private timeInput : TimeInput ;
private datetimeInput : DateTimeInput ;
private buttonInput : ButtonInput ;
private hiddenInput : HiddenInput ;
private eitResponse : any ;
private eitVALSettoCall : any = [ ] ;
private comtransNo : number = 0 ;
// private parentChilds: any[];
getPassMnuEntryObj : MenuEntry ;
selMenu : MenuResponse ;
eitSubmitAction : number = 0 ; //not submit
private eitRequest : EitRequest ;
private validateEitObj : any = [ ] ;
private ExtraObj : any = { } ;
private arrValues : any = [ ] ;
selEmp : string ;
respID : number ;
headerTitle : string = "" ;
isResubmit : boolean = false ;
//private updatedNotObject:any=[];
private updatedValues : any = [ ] ;
addEITData : any ;
constructor ( public modalController : ModalController , public cs : CommonService , private ts : TranslatorService , private eitService : EitService , public datePicker : DatePicker ) {
this . selEmp = this . cs . sharedService . getSharedData ( MenuResponse . SHARED_SEL_EMP , false ) ;
this . respID = this . cs . sharedService . getSharedData ( MenuResponse . SHARED_SEL_RESP_ID , false ) ;
this . selMenu = new MenuResponse ( ) ;
this . selMenu = this . cs . sharedService . getSharedData ( MenuResponse . SHARED_DATA , false ) ;
this . addEITData = this . cs . sharedService . getSharedData ( "AddEITData" , false ) ;
this . eitRequest = new EitRequest ( ) ;
// this.buttonInput = new ButtonInput('btnSubmit', 'Submit', 'containerDiv', 'Y');
////*new add*/////
/**********resubmit************ */
// this.getPassNotificationDetails = this.cs.sharedService.getSharedData(EITNotificatonBodyResponse.NOT_WORKLIST, true);
this . getPassdirfromNotifiPage = this . addEITData . dirfromNotificationPage ;
if ( this . getPassdirfromNotifiPage ) {
this . functionName = this . getPassNotificationDetails . FUNCTION_NAME ; //;this.getPassNotificationDetails.NOTIFICATION_NAME;
this . menuType = "E" ;
this . selEmp = this . getPassNotificationDetails . SELECTED_EMPLOYEE_NUMBER ;
this . respID = - 999 ;
this . validateEitObj = this . addEITData . submitEITObjList ;
// this.eitSubmitAction=this.getPassNotificationDetails.EIT_ACTION;
let msg : string = "" ;
msg = this . ts . trPK ( "eit" , "update-title" ) ;
this . headerTitle = msg ;
} else {
this . getPassMnuEntryObj = this . selMenu . GetMenuEntriesList ;
this . comtransNo = this . addEITData . transNo ;
this . functionName = this . getPassMnuEntryObj . FUNCTION_NAME ;
this . menuType = this . selMenu . List_Menu . MENU_TYPE ;
this . validateEitObj = this . addEITData . submitEITObjList ;
this . headerTitle = this . selMenu . GetMenuEntriesList . PROMPT ;
this . eitSubmitAction = this . cs . sharedService . getSharedData ( EITTransactionsRequest . SUBMIT_EIT_ACTION ) ;
}
}
ngOnInit() {
}
ngAfterViewInit() {
console . log ( 'ngAfterViewInit' ) ;
// console.log(this.containerDiv.nativeElement);
this . getEitDffStructure ( ) ;
// this.addFieldToDOM(this.buttonInput, 'btnSubmit', this.cs.presentAlert('Clicked!'), true)
}
private getEitDffStructure() {
const body = {
P_FUNCTION_NAME : this.functionName ,
P_SELECTED_EMPLOYEE_NUMBER : this.selEmp ,
P_MENU_TYPE : this.menuType ,
P_SELECTED_RESP_ID : this.respID
// P_USER_NAME:this.userName
}
this . eitService . getEITDFFStrutre ( body ) . subscribe ( ( result : any ) = > {
this . handleEitDffStructureResult ( result ) ;
} ) ;
}
handleEitDffStructureResult ( result ) {
if ( result . GetEITDFFStructureList != null ) {
this . eitResponse = result . GetEITDFFStructureList ;
this . drawEitFields ( result . GetEITDFFStructureList ) ;
}
}
private drawEitFields ( feildsList ) {
const containerId = 'containerDiv' ;
this . eitVALSettoCall = [ ] ;
for ( let i = 0 ; i < feildsList . length ; i ++ ) {
let defaultVal : string = "" ;
let defaultValText : string = "" ;
defaultVal = feildsList [ i ] . E_SERVICES_DV . P_ID_COLUMN_NAME ? feildsList [ i ] . E_SERVICES_DV . P_ID_COLUMN_NAME : "" ;
defaultValText = feildsList [ i ] . E_SERVICES_DV . P_VALUE_COLUMN_NAME ? feildsList [ i ] . E_SERVICES_DV . P_VALUE_COLUMN_NAME : "" ;
if ( feildsList [ i ] . DISPLAY_FLAG != "N" ) { //check if the field should be displayed
if ( feildsList [ i ] . VALIDATION_TYPE == "N" ) { //text , date , time
if ( feildsList [ i ] . FORMAT_TYPE == "C" ) { // character
// if(feildsList[i].DEFAULT_TYPE=="C"||feildsList[i].DEFAULT_TYPE==""){// default type constant
this . textInput = new TextInput ( feildsList [ i ] . SEGMENT_PROMPT , feildsList [ i ] . APPLICATION_COLUMN_NAME , defaultVal , containerId , defaultValText , feildsList [ i ] . MOBILE_ENABLED , feildsList [ i ] . DISPLAY_FLAG , feildsList [ i ] . REQUIRED_FLAG ) ;
// }else if(feildsList[i].DEFAULT_TYPE=="P"||feildsList[i].DEFAULT_TYPE=="S"){// profile/ sql
// this.textInput = new TextInput(feildsList[i].SEGMENT_PROMPT,feildsList[i].APPLICATION_COLUMN_NAME,this.getDefaultValue(feildsList[i].DESC_FLEX_NAME,feildsList[i].DESC_FLEX_CONTEXT_CODE,feildsList[i].SEGMENT_NAME,feildsList[i].PARENT_SEGMENTS_VS_SplitedVS,feildsList[i].PARENT_SEGMENTS_DV_Splited),containerId,feildsList[i].MOBILE_ENABLED);
// }
}
else if ( feildsList [ i ] . FORMAT_TYPE == "N" ) { // number
// if(feildsList[i].DEFAULT_TYPE=="C"||feildsList[i].DEFAULT_TYPE==""){
this . numberInput = new NumberInput ( feildsList [ i ] . SEGMENT_PROMPT , feildsList [ i ] . APPLICATION_COLUMN_NAME , defaultVal , containerId , feildsList [ i ] . MOBILE_ENABLED , feildsList [ i ] . DISPLAY_FLAG , feildsList [ i ] . REQUIRED_FLAG ) ;
// }else if(feildsList[i].DEFAULT_TYPE=="P"||feildsList[i].DEFAULT_TYPE=="S"){
// this.numberInput = new NumberInput(feildsList[i].SEGMENT_PROMPT,feildsList[i].APPLICATION_COLUMN_NAME,this.getDefaultValue(feildsList[i].DESC_FLEX_NAME,feildsList[i].DESC_FLEX_CONTEXT_CODE,feildsList[i].SEGMENT_NAME,feildsList[i].PARENT_SEGMENTS_VS_SplitedVS,feildsList[i].PARENT_SEGMENTS_DV_Splited),containerId,feildsList[i].MOBILE_ENABLED);
// }
}
else if ( feildsList [ i ] . FORMAT_TYPE == "X" ) { // standard date
if ( feildsList [ i ] . DEFAULT_TYPE == "C" || feildsList [ i ] . DEFAULT_TYPE == "D" || feildsList [ i ] . DEFAULT_TYPE == "P" || feildsList [ i ] . DEFAULT_TYPE == "S" ) { //constant
this . dateInput = new DateInput ( feildsList [ i ] . SEGMENT_PROMPT , feildsList [ i ] . APPLICATION_COLUMN_NAME , this . cs . reverseFormatDate ( defaultVal ) , containerId , feildsList [ i ] . MOBILE_ENABLED , feildsList [ i ] . DISPLAY_FLAG , feildsList [ i ] . REQUIRED_FLAG ) ;
} else {
this . dateInput = new DateInput ( feildsList [ i ] . SEGMENT_PROMPT , feildsList [ i ] . APPLICATION_COLUMN_NAME , "" , containerId , feildsList [ i ] . MOBILE_ENABLED , feildsList [ i ] . DISPLAY_FLAG , feildsList [ i ] . REQUIRED_FLAG ) ;
}
// else if(feildsList[i].DEFAULT_TYPE=="D"){//current date
// // this.dateInput = new DateInput(feildsList[i].SEGMENT_PROMPT,feildsList[i].APPLICATION_COLUMN_NAME,"currentDate",containerId,feildsList[i].MOBILE_ENABLED);
// this.dateInput = new DateInput(feildsList[i].SEGMENT_PROMPT,feildsList[i].APPLICATION_COLUMN_NAME,defaultVal,containerId,feildsList[i].MOBILE_ENABLED);
// }else if(feildsList[i].DEFAULT_TYPE=="P"||feildsList[i].DEFAULT_TYPE=="S"){// sql and profile
// this.dateInput = new DateInput(feildsList[i].SEGMENT_PROMPT,feildsList[i].APPLICATION_COLUMN_NAME,this.getDefaultValue(feildsList[i].DESC_FLEX_NAME,feildsList[i].DESC_FLEX_CONTEXT_CODE,feildsList[i].SEGMENT_NAME,feildsList[i].PARENT_SEGMENTS_VS_SplitedVS,feildsList[i].PARENT_SEGMENTS_DV_Splited),containerId,feildsList[i].MOBILE_ENABLED);
// }
}
else if ( feildsList [ i ] . FORMAT_TYPE == "Y" ) { // standard date time
if ( feildsList [ i ] . DEFAULT_TYPE == "C" || feildsList [ i ] . DEFAULT_TYPE == "D" || feildsList [ i ] . DEFAULT_TYPE == "P" || feildsList [ i ] . DEFAULT_TYPE == "S" ) {
this . datetimeInput = new DateTimeInput ( feildsList [ i ] . SEGMENT_PROMPT , feildsList [ i ] . APPLICATION_COLUMN_NAME , this . cs . reverseFormatStandardDate ( defaultVal ) , containerId , feildsList [ i ] . MOBILE_ENABLED , feildsList [ i ] . DISPLAY_FLAG , feildsList [ i ] . REQUIRED_FLAG ) ;
} else {
this . datetimeInput = new DateTimeInput ( feildsList [ i ] . SEGMENT_PROMPT , feildsList [ i ] . APPLICATION_COLUMN_NAME , "" , containerId , feildsList [ i ] . MOBILE_ENABLED , feildsList [ i ] . DISPLAY_FLAG , feildsList [ i ] . REQUIRED_FLAG ) ;
}
const elem = document . getElementById ( feildsList [ i ] . APPLICATION_COLUMN_NAME ) ;
elem . addEventListener ( "click" , ( e ) = > {
if ( feildsList [ i ] . MOBILE_ENABLED != 'Y' )
return false ;
this . showDateTimePicker ( feildsList [ i ] . APPLICATION_COLUMN_NAME , feildsList [ i ] . MAXIMUM_SIZE ) ;
e . stopImmediatePropagation ( ) ;
} ) ;
// else if(feildsList[i].DEFAULT_TYPE=="D"){
// this.datetimeInput = new DateTimeInput(feildsList[i].SEGMENT_PROMPT,feildsList[i].APPLICATION_COLUMN_NAME,"currentDateTime",containerId,feildsList[i].MOBILE_ENABLED);
// }else if(feildsList[i].DEFAULT_TYPE=="P"||feildsList[i].DEFAULT_TYPE=="S"){
// this.datetimeInput = new DateTimeInput(feildsList[i].SEGMENT_PROMPT,feildsList[i].APPLICATION_COLUMN_NAME,this.getDefaultValue(feildsList[i].DESC_FLEX_NAME,feildsList[i].DESC_FLEX_CONTEXT_CODE,feildsList[i].SEGMENT_NAME,feildsList[i].PARENT_SEGMENTS_VS_SplitedVS,feildsList[i].PARENT_SEGMENTS_DV_Splited),containerId,feildsList[i].MOBILE_ENABLED);
// }
}
else if ( feildsList [ i ] . FORMAT_TYPE == "I" ) { //time
if ( feildsList [ i ] . DEFAULT_TYPE == "C" || feildsList [ i ] . DEFAULT_TYPE == "D" || feildsList [ i ] . DEFAULT_TYPE == "P" || feildsList [ i ] . DEFAULT_TYPE == "S" ) {
this . timeInput = new TimeInput ( feildsList [ i ] . SEGMENT_PROMPT , feildsList [ i ] . APPLICATION_COLUMN_NAME , defaultVal , containerId , feildsList [ i ] . MOBILE_ENABLED , feildsList [ i ] . DISPLAY_FLAG , feildsList [ i ] . REQUIRED_FLAG ) ;
} else {
this . timeInput = new TimeInput ( feildsList [ i ] . SEGMENT_PROMPT , feildsList [ i ] . APPLICATION_COLUMN_NAME , "" , containerId , feildsList [ i ] . MOBILE_ENABLED , feildsList [ i ] . DISPLAY_FLAG , feildsList [ i ] . REQUIRED_FLAG ) ;
}
const elem = document . getElementById ( feildsList [ i ] . APPLICATION_COLUMN_NAME ) ;
elem . addEventListener ( "click" , ( e ) = > {
if ( feildsList [ i ] . MOBILE_ENABLED != 'Y' )
return false ;
this . showTimePicker ( feildsList [ i ] . APPLICATION_COLUMN_NAME , feildsList [ i ] . MAXIMUM_SIZE ) ;
e . stopImmediatePropagation ( ) ;
} ) ;
// else if(feildsList[i].DEFAULT_TYPE=="T"){
// this.timeInput = new TimeInput(feildsList[i].SEGMENT_PROMPT,feildsList[i].APPLICATION_COLUMN_NAME,"currentTime",containerId,feildsList[i].MOBILE_ENABLED);
// }else if(feildsList[i].DEFAULT_TYPE=="P"||feildsList[i].DEFAULT_TYPE=="S"){
// this.timeInput = new TimeInput(feildsList[i].SEGMENT_PROMPT,feildsList[i].APPLICATION_COLUMN_NAME,this.getDefaultValue(feildsList[i].DESC_FLEX_NAME,feildsList[i].DESC_FLEX_CONTEXT_CODE,feildsList[i].SEGMENT_NAME,feildsList[i].PARENT_SEGMENTS_VS_SplitedVS,feildsList[i].PARENT_SEGMENTS_DV_Splited),containerId,feildsList[i].MOBILE_ENABLED);
// }
}
} else {
if ( feildsList [ i ] . READ_ONLY == 'Y' ) {
this . textInput = new TextInput ( feildsList [ i ] . SEGMENT_PROMPT , feildsList [ i ] . APPLICATION_COLUMN_NAME , defaultVal , containerId , defaultVal , feildsList [ i ] . MOBILE_ENABLED , feildsList [ i ] . DISPLAY_FLAG , feildsList [ i ] . REQUIRED_FLAG ) ;
} else {
// dropdown list missing open in differnt page
//check this validation since he doesnt check the other default_type
//if(feildsList[i].DEFAULT_TYPE=="P" || feildsList[i].DEFAULT_TYPE=="S"){
this . selectInput = new SelectInput ( feildsList [ i ] . SEGMENT_PROMPT , feildsList [ i ] . APPLICATION_COLUMN_NAME , defaultVal , containerId , feildsList [ i ] . MOBILE_ENABLED , feildsList [ i ] . DISPLAY_FLAG , feildsList [ i ] . REQUIRED_FLAG ) ;
// }else{
// this.selectInput = new SelectInput(feildsList[i].SEGMENT_PROMPT,feildsList[i].APPLICATION_COLUMN_NAME,"",containerId,feildsList[i].MOBILE_ENABLED);
// }
// this.getValueSet(feildsList[i].SEGMENT_NAME);
this . fillDropdownList ( feildsList [ i ] . SEGMENT_NAME , feildsList [ i ] . E_SERVICES_VS , feildsList [ i ] . E_SERVICES_DV ) ;
// this.eitVALSettoCall.push(feildsList[i]);
}
}
//const elem = document.getElementById(feildsList[i].APPLICATION_COLUMN_NAME);
//elem.addEventListener("click", (e) => {
// this.getValueSet(feildsList[i].SEGMENT_NAME);
// e.stopImmediatePropagation();
// });
this . bindHtmlElemEvents ( feildsList [ i ] . APPLICATION_COLUMN_NAME , feildsList [ i ] ) ;
} else {
// if(feildsList[i].VALIDATION_TYPE=="N"){
this . hiddenInput = new HiddenInput ( defaultVal , feildsList [ i ] . APPLICATION_COLUMN_NAME , defaultValText , containerId ) ;
// }else{
// this.selectInput = new SelectInput(feildsList[i].SEGMENT_PROMPT,feildsList[i].APPLICATION_COLUMN_NAME,defaultVal,containerId,feildsList[i].MOBILE_ENABLED,feildsList[i].DISPLAY_FLAG);
// this.fillDropdownList(feildsList[i].SEGMENT_NAME,feildsList[i].E_SERVICES_VS,feildsList[i].E_SERVICES_DV);
// }
this . bindHtmlElemEvents ( feildsList [ i ] . APPLICATION_COLUMN_NAME , feildsList [ i ] ) ;
}
}
// this.callValueSet();
// let msg:string="";
// msg=this.translate.translate("confirmAddEit.start");
// this.buttonInput = new ButtonInput("EIT_Btn_Submit", this.translate.translate('general.submit'), containerId, "");
// const elem = document.getElementById("EIT_Btn_Submit");
// elem.addEventListener("click", (e) => {
// this.validateEITTransaction();
// });
if ( this . validateEitObj && this . validateEitObj . length > 0 ) {
this . fillEITStructure ( ) ;
}
}
addFieldToDOM ( fieldObject : any , fieldId : any , clickListenerEvent : any , hasClickListener : boolean ) {
console . log ( 'AddFieldToDOM' ) ;
const elemDiv = document . createElement ( 'div' ) ;
elemDiv . className = '' ;
elemDiv . innerHTML = fieldObject . getTemplate ( ) ;
console . log ( this . containerDiv . nativeElement )
this . containerDiv . nativeElement . appendChild ( elemDiv ) ;
// document.getElementById('containerDiv').appendChild(elemDiv);
if ( hasClickListener ) {
let elem = document . getElementById ( fieldId ) ;
elem . addEventListener ( "click" , ( e ) = > {
clickListenerEvent ( e ) ;
e . stopImmediatePropagation ( ) ;
} ) ;
}
}
closemodal() {
this . updatedValues = [ ] ;
this . modalController . dismiss ( ) ;
}
public showDateTimePicker ( elemID , maxSize ) {
let elem = document . getElementById ( elemID ) as HTMLDivElement ;
let date : any ;
let value = elem . innerHTML ;
if ( value )
date = moment ( value , "YYYY/MM/DD HH:mm:ss" ) . toDate ( ) ;
else
date = new Date ( ) ;
this . datePicker . show ( {
date : date ,
is24Hour : true ,
mode : 'datetime'
} ) . then (
date = > {
let dateString : string = moment ( date ) . format ( "YYYY/MM/DD HH:mm:ss" ) ;
//remove seconds if the maximum size is 17
if ( maxSize == 17 ) {
elem . innerHTML = dateString . substring ( 0 , 16 ) ;
elem . dataset . dtvalue = dateString . substring ( 0 , 16 ) ;
} else {
elem . innerHTML = dateString ;
elem . dataset . dtvalue = dateString ;
}
//elem.innerHTML = dateString;
// elem.dataset.dtvalue = dateString;
} ,
err = > console . log ( 'Error occurred while getting date: ' , err )
) ;
}
public showTimePicker ( elemID , maxSize ) {
let elem = document . getElementById ( elemID ) as HTMLDivElement ;
let date : any ;
let value = elem . innerHTML ;
if ( value ) {
let nowDate = moment ( ) . format ( "YYYY/MM/DD" ) + " " + value ;
date = moment ( nowDate , "YYYY/MM/DD HH:mm:ss" ) . toDate ( ) ;
} else {
date = new Date ( ) ;
}
this . datePicker . show ( {
date : date ,
is24Hour : true ,
mode : 'time'
} ) . then (
date = > {
let dateString : string = moment ( date ) . format ( "HH:mm:ss" ) ;
//remove seconds if the maximum size is 5
if ( maxSize == 5 ) {
elem . innerHTML = dateString . substring ( 0 , 5 ) ;
elem . dataset . dtvalue = dateString . substring ( 0 , 5 ) ;
} else {
elem . innerHTML = dateString ;
elem . dataset . dtvalue = dateString ;
}
} ,
err = > console . log ( 'Error occurred while getting date: ' , err )
) ;
}
fillDropdownList ( segmentName , optionList : any = [ ] , DV : any = "" ) {
let elemID : any = ""
let eitObj : any ;
if ( optionList . length > 0 ) {
for ( let i = 0 ; i < this . eitResponse . length ; i ++ ) {
if ( this . eitResponse [ i ] . SEGMENT_NAME == segmentName ) {
eitObj = this . eitResponse [ i ] ;
if ( this . eitResponse [ i ] . READ_ONLY == 'Y' || this . eitResponse [ i ] . DISPLAY_FLAG == 'N' ) {
return false ;
}
elemID = this . eitResponse [ i ] . APPLICATION_COLUMN_NAME ;
break ;
}
}
let select = document . getElementById ( elemID ) as HTMLSelectElement ;
document . getElementById ( elemID ) . innerHTML = "" ;
// for(let i = select.options.length - 1 ; i >= 0 ; i--)
// {
// select.remove(i);
// }
if ( eitObj . IsEmptyOption && eitObj . REQUIRED_FLAG == 'N' ) {
var firstoption = document . createElement ( "option" ) ;
firstoption . text = this . ts . trPK ( "general" , "choose" ) ;
firstoption . value = "" ;
select . add ( firstoption ) ;
}
for ( let i = 0 ; i < optionList . length ; i ++ ) {
var option = document . createElement ( "option" ) ;
option . text = optionList [ i ] . VALUE_COLUMN_NAME ;
option . value = optionList [ i ] . ID_COLUMN_NAME ;
select . add ( option ) ;
}
if ( select . dataset . hiddenval ) {
select . value = select . dataset . hiddenval ;
//select.dataset.hiddenval="";
} else {
select . value = DV . P_VALUE_COLUMN_NAME ;
}
select . disabled = false ;
}
}
bindHtmlElemEvents ( id , obj ) {
const elem = document . getElementById ( id ) ;
console . log ( elem ) ;
console . log ( obj ) ;
const elemType = elem . tagName ;
let changeEvent = 'ionChange' ;
if ( elemType == 'SELECT' )
changeEvent = 'change' ;
try {
// elem.addEventListener("change", (e) => {
elem . addEventListener ( changeEvent , ( e ) = > {
//console.log("elem change "+elem.id);
//let x=e.currentTarget as HTMLInputElement;
//let isEmpty:boolean=false;
// if(!x.value)
// isEmpty=true;
//emptyChildElement
elem . classList . remove ( "requiredClassElm" ) ;
if ( obj . CHILD_SEGMENTS_VS_Splited && obj . CHILD_SEGMENTS_VS_Splited . length > 0 ) {
let listArray : any = obj . CHILD_SEGMENTS_VS_Splited ;
listArray . forEach ( element = > {
//if(isEmpty)
this . emptyChildElement ( element ) ;
// else
this . getValueSet ( element ) ;
} ) ;
}
if ( obj . CHILD_SEGMENTS_DV_Splited && obj . CHILD_SEGMENTS_DV_Splited . length > 0 ) {
let listArray : any = obj . CHILD_SEGMENTS_DV_Splited ;
listArray . forEach ( element = > {
// if(isEmpty){
this . emptyChildElement ( element ) ;
// }else{
for ( let i = 0 ; i < this . eitResponse . length ; i ++ ) {
if ( this . eitResponse [ i ] . SEGMENT_NAME == element ) {
this . getDefaultValue ( this . eitResponse [ i ] , this . eitResponse [ i ] . DESC_FLEX_NAME , this . eitResponse [ i ] . DESC_FLEX_CONTEXT_CODE , this . eitResponse [ i ] . SEGMENT_NAME , this . eitResponse [ i ] . PARENT_SEGMENTS_VS_SplitedVS , this . eitResponse [ i ] . PARENT_SEGMENTS_DV_Splited ) ;
}
}
// }
} ) ;
}
return false ;
// e.stopImmediatePropagation();
} ) ;
} catch ( e ) {
console . log ( e . status ) ;
}
}
public getDefaultValue ( obj , descFlexName , descFlexContextCode , segmentName , parentValue , ParentsList ) {
let dependenciesList : any = [ ] ;
let parentVal : any = null ;
let isStandardDate : boolean = false ;
let isStandardTimeDate : boolean = false ;
let isStandardTime : boolean = false ;
let isHidden : boolean = false ;
let isReadOnlyList : boolean = false ;
isStandardDate = this . isStandardDate ( obj ) ;
isStandardTimeDate = this . isStandardDateTime ( obj ) ;
isStandardTime = this . isStandardTime ( obj ) ;
if ( obj . DISPLAY_FLAG == 'N' )
isHidden = true ;
if ( obj . VALIDATION_TYPE != 'N' && obj . READ_ONLY == 'Y' ) {
isReadOnlyList = true ;
}
//if(parentValue!=""){ parentVal= this.getDependenciesParams(parentValue)[0].ID_COLUMN_NAME;}
//if(ParentsList!=""){dependenciesList =this.getDependenciesParams(ParentsList); }
if ( parentValue != "" && ( obj . VALIDATION_TYPE == 'D' || obj . VALIDATION_TYPE == 'Y' ) ) {
let parvalue = this . getDependenciesParams ( parentValue ) ;
if ( parvalue && parvalue [ 0 ] )
parentVal = parvalue [ 0 ] . ID_COLUMN_NAME ;
else {
parentVal = null ;
}
if ( ! parentVal ) { return false } ;
}
if ( ParentsList != "" ) {
if ( parentValue )
ParentsList . concat ( parentValue ) ;
dependenciesList = this . getDependenciesParams ( ParentsList ) ;
if ( ! dependenciesList ) { return false } ;
}
//if (dependenciesList==false){return false};
const body = {
P_SELECTED_EMPLOYEE_NUMBER : this.selEmp ,
P_MENU_TYPE : this.menuType ,
P_SELECTED_RESP_ID : this.respID , //-999,
P_DESC_FLEX_NAME : descFlexName ,
P_DESC_FLEX_CONTEXT_CODE : descFlexContextCode ,
P_SEGMENT_NAME : segmentName ,
P_PARENT_VALUE : parentVal ,
GetValueSetValuesTBL : dependenciesList ,
}
this . eitService . getDefaultValue ( body ) . subscribe ( ( result : any ) = > {
let elem = this . getElementByName ( segmentName ) ;
console . log ( elem ) ;
// if(elem.dataset.hiddenval){
// elem.dataset.hiddenval="";
// return false;
// }
let obj = this . handleDefaultValueResult ( result ) ;
let val = obj . value ;
let text = obj . text ;
if ( isStandardDate ) {
console . log ( 'isStandardDate' ) ;
elem . value = this . cs . reverseFormatDate ( val ) ;
} else if ( isStandardTimeDate ) {
console . log ( 'isStandardTimeDate' ) ;
if ( val ) {
elem . dataset . dtvalue = this . cs . reverseFormatStandardDate ( val ) ;
elem . innerHTML = this . cs . reverseFormatStandardDate ( val ) ;
} else {
elem . dataset . dtvalue = "" ;
elem . innerHTML = "" ;
}
} else if ( isStandardTime ) {
console . log ( 'isStandardTime' ) ;
if ( val ) {
elem . dataset . dtvalue = val ;
elem . innerHTML = val ;
} else {
elem . dataset . dtvalue = "" ;
elem . innerHTML = "" ;
}
} else {
console . log ( 'else - ' + elem . value ) ;
elem . value = val ;
elem . innerText = text ;
elem . setAttribute ( 'value' , val ) ;
console . log ( 'else - ' + elem . value ) ;
}
if ( isHidden || isReadOnlyList ) {
if ( val )
elem . dataset . colmText = val ;
else
elem . dataset . colmText = "" ;
elem . value = text ;
}
var event = new Event ( 'ionChange' ) ;
elem . dispatchEvent ( event ) ;
} ) ;
}
handleDefaultValueResult ( result ) {
let data = { text : result.GetDefaultValueList.P_VALUE_COLUMN_NAME , value : result.GetDefaultValueList.P_ID_COLUMN_NAME }
return data ;
}
callValueSet() {
for ( var i = 0 ; i < this . eitVALSettoCall . length ; i ++ ) {
this . getValueSet ( this . eitVALSettoCall [ i ] . SEGMENT_NAME ) ;
}
}
getParentValue ( parentValue ) {
if ( parentValue . length == 0 ) {
for ( let i = 0 ; i < this . eitResponse . length ; i ++ ) {
if ( this . eitResponse [ i ] . SEGMENT_NAME == parentValue [ 0 ] . Name ) {
if ( this . eitResponse [ i ] . VALIDATION_TYPE == "N" ) {
let val = ( document . getElementById ( this . eitResponse [ i ] . APPLICATION_COLUMN_NAME ) as HTMLInputElement ) . value ;
return val ;
} else {
let x = ( document . getElementById ( this . eitResponse [ i ] . APPLICATION_COLUMN_NAME ) ) as HTMLSelectElement ;
if ( x . options . length > 0 ) {
let val = x . options [ x . selectedIndex ] ? x . options [ x . selectedIndex ] . value : null ;
return val ;
} else {
return "" ;
}
}
}
}
} else {
return "" ;
}
}
public getValueSet ( segmentName ) {
let descFlexName : any = "" ;
let descFlexContextCode : any = ""
let parentValue : any = [ ] ;
let ParentsList : any = [ ] ;
let parentVal : any = null ;
let dependenciesList : any = [ ] ;
let validationType : string = "" ;
for ( let i = 0 ; i < this . eitResponse . length ; i ++ ) {
if ( this . eitResponse [ i ] . SEGMENT_NAME == segmentName ) {
descFlexName = this . eitResponse [ i ] . DESC_FLEX_NAME ;
descFlexContextCode = this . eitResponse [ i ] . DESC_FLEX_CONTEXT_CODE ;
parentValue = this . eitResponse [ i ] . PARENT_SEGMENTS_VS_SplitedVS ;
ParentsList = this . eitResponse [ i ] . PARENT_SEGMENTS_VS_SplitedVS ;
validationType = this . eitResponse [ i ] . VALIDATION_TYPE ;
break ;
}
}
if ( parentValue != "" && ( validationType == "D" || validationType == "Y" ) ) {
let parvalue = this . getDependenciesParams ( parentValue ) ;
if ( parvalue && parvalue [ 0 ] )
parentVal = parvalue [ 0 ] . ID_COLUMN_NAME ;
else {
parentVal = null ;
}
if ( ! parentVal ) { return false } ;
}
if ( ParentsList != "" ) { dependenciesList = this . getDependenciesParams ( ParentsList ) ; if ( ! dependenciesList ) { return false } ; }
const body = {
P_SELECTED_EMPLOYEE_NUMBER : this.selEmp ,
P_MENU_TYPE : this.menuType ,
P_SELECTED_RESP_ID : this.respID , //-999,
P_DESC_FLEX_NAME : descFlexName ,
P_DESC_FLEX_CONTEXT_CODE : descFlexContextCode ,
P_SEGMENT_NAME : segmentName ,
P_PARENT_VALUE : parentVal ,
GetValueSetValuesTBL : dependenciesList ,
P_PAGE_NUM : 1 ,
P_PAGE_LIMIT : 1000
}
this . eitService . getSetValue ( body ) . subscribe ( ( result : any ) = > {
if ( result . GetValueSetValuesList != null ) {
this . fillDropdownList ( segmentName , result . GetValueSetValuesList ) ;
}
} ) ;
let arr : any = [ ] ;
return arr ;
}
getDependenciesParams ( parentsList ) {
let parentArr : any = [ ] ;
for ( let i = 0 ; i < parentsList . length ; i ++ ) {
for ( let j = 0 ; j < this . eitResponse . length ; j ++ ) {
if ( this . eitResponse [ j ] . SEGMENT_NAME == parentsList [ i ] . Name ) {
if ( this . eitResponse [ j ] . DISPLAY_FLAG != 'N' ) {
if ( this . eitResponse [ j ] . VALIDATION_TYPE == "N" ) {
let idColName : string ;
let val : any ;
if ( this . eitResponse [ j ] . FORMAT_TYPE == "Y" || this . eitResponse [ j ] . FORMAT_TYPE == "I" ) { //standard date time or //time
let elem = document . getElementById ( this . eitResponse [ j ] . APPLICATION_COLUMN_NAME ) as HTMLDivElement ;
val = elem . dataset . dtvalue ;
if ( ( val == undefined || val == "" ) && parentsList [ i ] . IsRequired == "REQUIRED" ) {
//alert(parentsList[i].Name +" Is required");
return false ;
}
idColName = val ;
if ( this . eitResponse [ j ] . FORMAT_TYPE == "Y" )
idColName = this . cs . formatStandardDate ( val ) ;
} else {
val = ( document . getElementById ( this . eitResponse [ j ] . APPLICATION_COLUMN_NAME ) as HTMLInputElement ) . value ;
if ( ( val == undefined || val == "" ) && parentsList [ i ] . IsRequired == "REQUIRED" ) {
//alert(parentsList[i].Name +" Is required");
return false ;
}
idColName = val ;
if ( this . eitResponse [ j ] . FORMAT_TYPE == "X" ) { //date
// idColName = this.cs.formatDate(val);
idColName = this . cs . formatDateNew ( val ) ;
}
}
parentArr . push ( { SEGMENT_NAME : this.eitResponse [ j ] . SEGMENT_NAME , VALUE_COLUMN_NAME : val , DESCRIPTION : "" , ID_COLUMN_NAME : idColName , FLEX_VALUE_SET_NAME : this.eitResponse [ j ] . FLEX_VALUE_SET_NAME } )
break ;
} else {
if ( this . eitResponse [ j ] . READ_ONLY != 'Y' ) {
let x = ( document . getElementById ( this . eitResponse [ j ] . APPLICATION_COLUMN_NAME ) ) as HTMLSelectElement ;
let text = x . options [ x . selectedIndex ] ? x . options [ x . selectedIndex ] . text : "" ;
let val = x . options [ x . selectedIndex ] ? x . options [ x . selectedIndex ] . value : undefined ;
if ( ( val == undefined || val == "" ) && parentsList [ i ] . IsRequired == "REQUIRED" ) {
//alert(parentsList[i].Name +" Is required");
return false ;
} else { }
if ( text == undefined ) { text = "" ; }
parentArr . push ( { SEGMENT_NAME : this.eitResponse [ j ] . SEGMENT_NAME , VALUE_COLUMN_NAME : text , DESCRIPTION : "" , ID_COLUMN_NAME : val , FLEX_VALUE_SET_NAME : this.eitResponse [ j ] . FLEX_VALUE_SET_NAME } )
break ;
} else {
let x = ( document . getElementById ( this . eitResponse [ j ] . APPLICATION_COLUMN_NAME ) ) as HTMLInputElement ;
let text = x . value ;
let val = x . dataset . colmText ;
if ( ( val == undefined || val == "" ) && parentsList [ i ] . IsRequired == "REQUIRED" ) {
//alert(parentsList[i].Name +" Is required");
return false ;
} else { }
if ( text == undefined ) { text = "" ; }
parentArr . push ( { SEGMENT_NAME : this.eitResponse [ j ] . SEGMENT_NAME , VALUE_COLUMN_NAME : text , DESCRIPTION : "" , ID_COLUMN_NAME : val , FLEX_VALUE_SET_NAME : this.eitResponse [ j ] . FLEX_VALUE_SET_NAME } )
break ;
}
}
} else {
let x = ( document . getElementById ( this . eitResponse [ j ] . APPLICATION_COLUMN_NAME ) ) as HTMLInputElement ;
let text = x . value ;
let val = x . dataset . colmText ;
if ( ( val == undefined || val == "" ) && parentsList [ i ] . IsRequired == "REQUIRED" ) {
//alert(parentsList[i].Name +" Is required");
return false ;
} else { }
if ( text == undefined ) { text = "" ; }
parentArr . push ( { SEGMENT_NAME : this.eitResponse [ j ] . SEGMENT_NAME , VALUE_COLUMN_NAME : text , DESCRIPTION : "" , ID_COLUMN_NAME : val , FLEX_VALUE_SET_NAME : this.eitResponse [ j ] . FLEX_VALUE_SET_NAME } )
break ;
}
}
}
}
return parentArr ;
}
emptyChildElement ( segmentName ) {
let elem = this . getElementByName ( segmentName ) ;
elem . value = null ;
elem . innerHTML = "" ;
if ( ( "dtvalue" in elem . dataset ) ) {
elem . dataset . dtvalue = "" ;
}
if ( ( "colmText" in elem . dataset ) ) {
elem . dataset . colmText = "" ;
}
var event = new Event ( 'change' ) ;
elem . dispatchEvent ( event ) ;
elem . classList . remove ( "requiredClassElm" ) ;
}
getRequiredFilds() {
for ( let i = 0 ; i < this . eitResponse . length ; i ++ ) {
if ( this . eitResponse [ i ] . REQUIRED_FLAG == "Y" ) {
let elemVal = ( document . getElementById ( this . eitResponse [ i ] . APPLICATION_COLUMN_NAME ) as HTMLInputElement ) . value ;
if ( elemVal == "" ) {
//alert(this.eitResponse[i].SEGMENT_NAME+" is required");
break ;
}
}
}
}
getElementByName ( segmentName ) {
let elemID : any = ""
for ( let i = 0 ; i < this . eitResponse . length ; i ++ ) {
if ( this . eitResponse [ i ] . SEGMENT_NAME == segmentName ) {
elemID = this . eitResponse [ i ] . APPLICATION_COLUMN_NAME ;
break ;
}
}
return document . getElementById ( elemID ) as HTMLInputElement ;
}
isStandardDate ( obj : any ) : boolean {
let isSt : boolean = false ;
if ( obj . FORMAT_TYPE == "X" ) { // standard date
if ( obj . DEFAULT_TYPE == "C" || obj . DEFAULT_TYPE == "D" || obj . DEFAULT_TYPE == "P" || obj . DEFAULT_TYPE == "S" ) { //constant
isSt = true ;
}
}
return isSt ;
}
isStandardDateTime ( obj : any ) : boolean {
let isSt : boolean = false ;
if ( obj . FORMAT_TYPE == "Y" ) { // standard date time
if ( obj . DEFAULT_TYPE == "C" || obj . DEFAULT_TYPE == "D" || obj . DEFAULT_TYPE == "P" || obj . DEFAULT_TYPE == "S" ) { //constant
isSt = true ;
}
}
return isSt ;
}
isStandardTime ( obj : any ) : boolean {
let isSt : boolean = false ;
if ( obj . FORMAT_TYPE == "I" ) { // standard date time
if ( obj . DEFAULT_TYPE == "C" || obj . DEFAULT_TYPE == "D" || obj . DEFAULT_TYPE == "P" || obj . DEFAULT_TYPE == "S" ) { //constant
isSt = true ;
}
}
return isSt ;
}
isStandardDateVal ( obj : any ) : boolean {
let isSt : boolean = false ;
if ( obj . FORMAT_TYPE == "X" ) { // standard date
// if(obj.DEFAULT_TYPE=="C" || obj.DEFAULT_TYPE=="D" || obj.DEFAULT_TYPE=="P"||obj.DEFAULT_TYPE=="S"){//constant
isSt = true ;
// }
}
return isSt ;
}
isStandardDateTimeVal ( obj : any ) : boolean {
let isSt : boolean = false ;
if ( obj . FORMAT_TYPE == "Y" ) { // standard date time
//if(obj.DEFAULT_TYPE=="C" || obj.DEFAULT_TYPE=="D" || obj.DEFAULT_TYPE=="P"||obj.DEFAULT_TYPE=="S"){//constant
isSt = true ;
//}
}
return isSt ;
}
isStandardTimeVal ( obj : any ) : boolean {
let isSt : boolean = false ;
if ( obj . FORMAT_TYPE == "I" ) { // standard time
//if(obj.DEFAULT_TYPE=="C" || obj.DEFAULT_TYPE=="D" || obj.DEFAULT_TYPE=="P"||obj.DEFAULT_TYPE=="S"){//constant
isSt = true ;
//}
}
return isSt ;
}
fillEITStructure() {
var obj = { peiObjVer : null , peiExtraInfoID : null } ;
for ( let i = 0 ; i < this . validateEitObj . length ; i ++ ) {
let val : any ;
if ( this . validateEitObj [ i ] . VARCHAR2_VALUE )
val = this . validateEitObj [ i ] . VARCHAR2_VALUE ;
else if ( this . validateEitObj [ i ] . DATE_VALUE )
val = this . validateEitObj [ i ] . DATE_VALUE ;
else if ( this . validateEitObj [ i ] . NUMBER_VALUE )
val = this . validateEitObj [ i ] . NUMBER_VALUE ;
const elem = document . getElementById ( this . validateEitObj [ i ] . APPLICATION_COLUMN_NAME ) as HTMLInputElement ;
//obj.transactionNo=this.validateEitObj[i].TRANSACTION_NUMBER;
if ( elem ) {
if ( val ) {
let feldDetails = this . eitResponse . find ( x = > x . APPLICATION_COLUMN_NAME == this . validateEitObj [ i ] . APPLICATION_COLUMN_NAME ) ;
if ( feldDetails ) {
let isStandardDate = this . isStandardDateVal ( feldDetails ) ;
let isStandardDateTime = this . isStandardDateTimeVal ( feldDetails ) ;
let isStandardTime = this . isStandardTimeVal ( feldDetails ) ;
if ( isStandardDate ) {
elem . value = this . cs . reverseFormatDate ( val ) ;
} else if ( isStandardDateTime ) {
elem . innerHTML = this . cs . reverseFormatStandardDate ( val ) ;
elem . dataset . dtvalue = this . cs . reverseFormatStandardDate ( val ) ;
} else if ( isStandardTime ) {
elem . innerHTML = val ;
elem . dataset . dtvalue = val ;
} else {
elem . value = val ;
elem . setAttribute ( 'value' , elem . value ) ;
}
if ( ( feldDetails . DISPLAY_FLAG == 'N' ) || ( feldDetails . VALIDATION_TYPE != "N" && feldDetails . READ_ONLY == 'Y' ) ) {
elem . dataset . colmText = val ;
elem . value = this . validateEitObj [ i ] . SEGMENT_VALUE_DSP ;
elem . setAttribute ( 'value' , elem . value ) ;
}
}
elem . dataset . hiddenval = val ; //hide the value to set it after calling get value set
if ( feldDetails . CHILD_SEGMENTS_VS_Splited && feldDetails . CHILD_SEGMENTS_VS_Splited . length > 0 ) {
let listArray : any = feldDetails . CHILD_SEGMENTS_VS_Splited ;
listArray . forEach ( element = > {
this . getValueSet ( element ) ;
} ) ;
}
// var event = new Event('change');
// elem.dispatchEvent(event);
}
} else {
if ( this . validateEitObj [ i ] . APPLICATION_COLUMN_NAME == "PEI_OBJECT_VERSION_NUMBER" )
obj . peiObjVer = this . validateEitObj [ i ] . NUMBER_VALUE ;
else if ( this . validateEitObj [ i ] . APPLICATION_COLUMN_NAME == "PEI_EXTRA_INFO_ID" )
obj . peiExtraInfoID = this . validateEitObj [ i ] . NUMBER_VALUE ;
}
}
this . ExtraObj = obj ;
}
public getElementsValues ( ) : any {
this . updatedValues = [ ] ; //fill updated list
let valuseArr : any = [ ] ;
let varcharValue : any = null ;
let numbervalue : any = 0 ;
let dateValue : any = null ;
let transNo : number = this . comtransNo ;
let textValue = "" ;
// if(this.ExtraObj.transactionNo)
// transNo=this.ExtraObj.transactionNo;
for ( let i = 0 ; i < this . eitResponse . length ; i ++ ) {
varcharValue = null ;
numbervalue = null ;
dateValue = null ;
/*********set transaction No of the updated object ********/
if ( this . getPassdirfromNotifiPage ) {
let updatedObj = this . validateEitObj . find ( x = > x . APPLICATION_COLUMN_NAME == this . eitResponse [ i ] . APPLICATION_COLUMN_NAME ) ;
let y = updatedObj ;
transNo = y . TRANSACTION_NUMBER ; // set the transaction number for all items in the updated loop
}
if ( this . eitResponse [ i ] . DISPLAY_FLAG != "N" ) {
if ( this . eitResponse [ i ] . VALIDATION_TYPE == "N" ) {
let elem = document . getElementById ( this . eitResponse [ i ] . APPLICATION_COLUMN_NAME ) as HTMLInputElement ;
let elemVal = ( document . getElementById ( this . eitResponse [ i ] . APPLICATION_COLUMN_NAME ) as HTMLInputElement ) . value ;
textValue = elemVal ;
//let elemVal= (<HTMLInputElement>document.getElementById(this.eitResponse[i].APPLICATION_COLUMN_NAME)).value;
if ( this . eitResponse [ i ] . FORMAT_TYPE == "X" && this . eitResponse [ i ] . DISPLAY_FLAG != "N" ) { //date
elemVal = this . cs . formatDate ( elemVal ) ;
} else if ( this . eitResponse [ i ] . FORMAT_TYPE == "Y" && this . eitResponse [ i ] . DISPLAY_FLAG != "N" ) { //standard date time
elemVal = elem . dataset . dtvalue ;
elemVal = this . cs . formatStandardDate ( elemVal ) ;
} else if ( this . eitResponse [ i ] . FORMAT_TYPE == "I" && this . eitResponse [ i ] . DISPLAY_FLAG != "N" ) { //time
elemVal = elem . dataset . dtvalue ;
}
if ( this . eitResponse [ i ] . REQUIRED_FLAG == "Y" && ! elemVal ) {
elem . classList . add ( "requiredClassElm" ) ;
//this.common.showRequiredMsg();
return false ;
} else {
elem . classList . remove ( "requiredClassElm" ) ;
}
if ( elemVal )
varcharValue = elemVal ;
valuseArr . push (
{
TRANSACTION_NUMBER : transNo ,
NAME : this.eitResponse [ i ] . APPLICATION_COLUMN_NAME ,
VARCHAR2_VALUE : varcharValue ,
NUMBER_VALUE : numbervalue ,
DATE_VALUE : dateValue
}
)
}
else {
let x = ( document . getElementById ( this . eitResponse [ i ] . APPLICATION_COLUMN_NAME ) ) as HTMLSelectElement ;
if ( this . eitResponse [ i ] . READ_ONLY == 'Y' ) {
let text = x . value ;
let val = x . dataset . colmText ;
varcharValue = val ;
textValue = text ;
} else {
let val = x . options [ x . selectedIndex ] ? x . options [ x . selectedIndex ] . value : null ;
let txt = x . options [ x . selectedIndex ] ? x . options [ x . selectedIndex ] . text : null ;
varcharValue = val ;
textValue = txt ;
}
if ( this . eitResponse [ i ] . REQUIRED_FLAG == "Y" && ! varcharValue ) {
x . classList . add ( "requiredClassElm" ) ;
//this.common.showRequiredMsg();
return false ;
} else {
x . classList . remove ( "requiredClassElm" ) ;
}
valuseArr . push (
{
TRANSACTION_NUMBER : transNo ,
NAME : this.eitResponse [ i ] . APPLICATION_COLUMN_NAME ,
VARCHAR2_VALUE : varcharValue ,
NUMBER_VALUE : numbervalue ,
DATE_VALUE : dateValue
}
) ;
} //end else
} else {
let x = ( document . getElementById ( this . eitResponse [ i ] . APPLICATION_COLUMN_NAME ) ) as HTMLSelectElement ;
let val = x . dataset . colmText ;
textValue = x . value ;
if ( this . eitResponse [ i ] . REQUIRED_FLAG == "Y" && ! val ) {
x . classList . add ( "requiredClassElm" ) ;
//this.common.showRequiredMsg();
return false ;
} else {
x . classList . remove ( "requiredClassElm" ) ;
}
if ( val )
varcharValue = val ;
valuseArr . push (
{
TRANSACTION_NUMBER : transNo ,
NAME : this.eitResponse [ i ] . APPLICATION_COLUMN_NAME ,
VARCHAR2_VALUE : varcharValue ,
NUMBER_VALUE : numbervalue ,
DATE_VALUE : dateValue
}
) ;
}
if ( this . getPassdirfromNotifiPage ) {
let updatedObj = this . validateEitObj . find ( x = > x . APPLICATION_COLUMN_NAME == this . eitResponse [ i ] . APPLICATION_COLUMN_NAME ) ;
let y = updatedObj ;
y . VARCHAR2_VALUE = varcharValue ;
y . NUMBER_VALUE = numbervalue ;
y . DATE_VALUE = dateValue ;
y . SEGMENT_VALUE_DSP = textValue ;
transNo = y . TRANSACTION_NUMBER ; // set the transaction number for all items in the updated loop
this . updatedValues . push ( y ) ;
} else {
if ( this . validateEitObj && this . eitSubmitAction == EIT_ACTION . UPDATE ) {
let updatedObj = this . validateEitObj . find ( x = > x . APPLICATION_COLUMN_NAME == this . eitResponse [ i ] . APPLICATION_COLUMN_NAME ) ;
let y = updatedObj ;
y . VARCHAR2_VALUE = varcharValue ;
y . NUMBER_VALUE = numbervalue ;
y . DATE_VALUE = dateValue ;
y . SEGMENT_VALUE_DSP = textValue ;
transNo = transNo ; // set the transaction number for all items in the updated loop
this . updatedValues . push ( y ) ;
} else {
let y = {
TRANSACTION_NUMBER : transNo ,
VARCHAR2_VALUE : varcharValue ,
NUMBER_VALUE : numbervalue ,
DATE_VALUE : dateValue ,
SEGMENT_VALUE_DSP : textValue ,
APPLICATION_COLUMN_NAME : this.eitResponse [ i ] . APPLICATION_COLUMN_NAME ,
DATATYPE : this.eitResponse [ i ] . DATATYPE ,
DESC_FLEX_CONTEXT_CODE : this.eitResponse [ i ] . DESC_FLEX_CONTEXT_CODE ,
DESC_FLEX_NAME : this.eitResponse [ i ] . DESC_FLEX_NAME ,
DISPLAY_FLAG : this.eitResponse [ i ] . DISPLAY_FLAG ,
SEGMENT_NAME : this.eitResponse [ i ] . SEGMENT_NAME ,
SEGMENT_PROMPT : this.eitResponse [ i ] . SEGMENT_PROMPT
} ;
transNo = transNo ; // set the transaction number for all items in the updated loop
this . updatedValues . push ( y ) ;
}
}
} // end for
if ( this . getPassdirfromNotifiPage ) {
let updatedObj1 = this . validateEitObj . find ( x = > x . APPLICATION_COLUMN_NAME === "PEI_ACTION" ) ;
let updatedObj2 = this . validateEitObj . find ( x = > x . APPLICATION_COLUMN_NAME === "PEI_EXTRA_INFO_ID" ) ;
let updatedObj3 = this . validateEitObj . find ( x = > x . APPLICATION_COLUMN_NAME === "PEI_OBJECT_VERSION_NUMBER" ) ;
this . updatedValues . push ( updatedObj1 ) ;
this . updatedValues . push ( updatedObj2 ) ;
this . updatedValues . push ( updatedObj3 ) ;
valuseArr = this . fillExtraInformation ( valuseArr , updatedObj1 . VARCHAR2_VALUE , updatedObj2 . NUMBER_VALUE , updatedObj3 . NUMBER_VALUE , transNo ) ;
} else {
if ( this . eitSubmitAction == EIT_ACTION . ADD ) {
this . updatedValues = this . fillExtraValuesUpdated ( this . updatedValues , "NEW_ROW" , - 1 , 0 , transNo ) ;
valuseArr = this . fillExtraInformation ( valuseArr , "NEW_ROW" , - 1 , 0 , transNo ) ;
} else if ( this . eitSubmitAction == EIT_ACTION . UPDATE ) {
valuseArr = this . fillExtraInformation ( valuseArr , "UPDATE_ROW" , this . ExtraObj . peiExtraInfoID , this . ExtraObj . peiObjVer , transNo ) ;
} else if ( this . eitSubmitAction == EIT_ACTION . DELETE ) {
valuseArr = this . fillExtraInformation ( valuseArr , "DELETE_ROW" , this . ExtraObj . peiExtraInfoID , this . ExtraObj . peiObjVer , transNo ) ;
}
}
return valuseArr ;
} // end getElementsValues
fillExtraValuesUpdated ( values : any , peiAction : string , peiExtraInfoID : number , peiObjVer : number , transNo : number ) : any {
let obj1 = {
TRANSACTION_NUMBER : transNo ,
VARCHAR2_VALUE : peiAction ,
NUMBER_VALUE : null ,
DATE_VALUE : null ,
SEGMENT_VALUE_DSP : "" ,
APPLICATION_COLUMN_NAME : "PEI_ACTION" ,
DATATYPE : "VARCHAR2" ,
DESC_FLEX_CONTEXT_CODE : "" ,
DESC_FLEX_NAME : "" ,
DISPLAY_FLAG : "N" ,
SEGMENT_NAME : "" ,
SEGMENT_PROMPT : ""
} ;
let obj2 = {
TRANSACTION_NUMBER : 1 ,
APPLICATION_COLUMN_NAME : "PEI_OBJECT_VERSION_NUMBER" ,
VARCHAR2_VALUE : null ,
NUMBER_VALUE : peiObjVer ,
DATATYPE : "NUMBER" ,
SEGMENT_VALUE_DSP : "" ,
DATE_VALUE : null ,
DESC_FLEX_CONTEXT_CODE : "" ,
DESC_FLEX_NAME : "" ,
DISPLAY_FLAG : "N" ,
SEGMENT_NAME : "" ,
SEGMENT_PROMPT : ""
}
let obj3 = {
APPLICATION_COLUMN_NAME : "PEI_EXTRA_INFO_ID" ,
DATATYPE : "NUMBER" ,
DATE_VALUE : null ,
DESC_FLEX_CONTEXT_CODE : "" ,
DESC_FLEX_NAME : "" ,
DISPLAY_FLAG : "N" ,
NUMBER_VALUE : peiExtraInfoID ,
SEGMENT_NAME : "" ,
SEGMENT_PROMPT : "" ,
SEGMENT_VALUE_DSP : "" ,
TRANSACTION_NUMBER : transNo ,
VARCHAR2_VALUE : null
}
values . push ( obj1 ) ;
values . push ( obj2 ) ;
values . push ( obj3 ) ;
return values ;
}
fillExtraInformation ( values : any , peiAction : string , peiExtraInfoID : number , peiObjVer : number , transNo : number ) : any {
values . push (
{
TRANSACTION_NUMBER : transNo ,
NAME : "PEI_ACTION" ,
VARCHAR2_VALUE : peiAction ,
NUMBER_VALUE : null ,
DATE_VALUE : null
} ) ;
values . push (
{
TRANSACTION_NUMBER : transNo ,
NAME : "PEI_EXTRA_INFO_ID" ,
VARCHAR2_VALUE : null ,
NUMBER_VALUE : peiExtraInfoID ,
DATE_VALUE : null
} ) ;
values . push (
{
TRANSACTION_NUMBER : transNo ,
NAME : "PEI_OBJECT_VERSION_NUMBER" ,
VARCHAR2_VALUE : null ,
NUMBER_VALUE : peiObjVer ,
DATE_VALUE : null
} ) ;
return values ;
}
submitEit() {
let list = this . eitRequest . EITTransactionTBL ;
this . eitRequest . EITTransactionTBL = this . fixTransactionNo ( list ) ;
this . eitService . submitEit ( this . eitRequest ) . subscribe ( ( result : AddEitResponse ) = > {
this . handleSubmitEitResult ( result ) ;
} ) ;
}
fixTransactionNo ( transactionTBL : any ) : any [ ] {
let list : any = [ ] ;
let newIndex : number = 1 ;
let length : number = transactionTBL . length ;
if ( length > 0 ) {
for ( let i = 0 ; i < length ; i ++ ) {
// let item :any={};
const item = Object . assign ( { } , transactionTBL [ i ] ) ;
let transNo : number = item . TRANSACTION_NUMBER ;
let obj : any = item ;
if ( i == 0 ) {
obj . TRANSACTION_NUMBER = newIndex ;
list . push ( obj ) ;
} else {
let prevEl : any = transactionTBL [ i - 1 ] . TRANSACTION_NUMBER ;
if ( transNo == prevEl ) {
obj . TRANSACTION_NUMBER = newIndex ;
list . push ( obj ) ;
} else {
newIndex ++ ;
obj . TRANSACTION_NUMBER = newIndex ;
list . push ( obj ) ;
}
}
}
}
return list ;
}
handleSubmitEitResult ( result ) {
if ( this . cs . validResponse ( result ) ) {
this . cs . sharedService . setSharedData ( this . eitRequest , EitRequest . SHARED_DATA ) ;
this . cs . sharedService . setSharedData ( result , AddEitResponse . SHARED_DATA ) ;
//this.addrespList=result.SubmitEITTransactionList;
// this.itemKey=this.addrespList.P_ITEM_KEY;
// this.P_TransactionID=result.SubmitEITTransactionList.P_TRANSACTION_ID;
// this.sharedData.setSharedData(result,AddEitResponse.SHARED_DATA);
// // this.sharedData.setSharedData(result.SubmitEITTransactionList.P_TRANSACTION_ID,"TransactionIDResubmit");
// // this.sharedData.setSharedData(this.eitRequest,EitRequest.SHARED_DATA);
this . cs . sharedService . setSharedData ( { isResubmit : false } , 'confirmAddEITData' )
this . cs . openConfirmEitPage ( ) ;
// this.navCtrl.push("ConfirmAddEitPage", { isResubmit: false });
}
}
validateEITTransaction() {
// let EITTransactionValues:any= [];
this . arrValues = this . getElementsValues ( ) ;
if ( this . arrValues ) {
this . eitRequest = {
P_SELECTED_EMPLOYEE_NUMBER : this.selEmp ,
P_MENU_TYPE : this.menuType ,
P_SELECTED_RESP_ID : this.respID , //this.selMenu.List_Menu.RESP_ID,//-999,
P_FUNCTION_NAME : this.functionName ,
P_DESC_FLEX_CONTEXT_CODE : this.eitResponse [ 0 ] . DESC_FLEX_CONTEXT_CODE ,
EITTransactionTBL : this.arrValues
}
this . eitService . validateEITTransaction ( this . eitRequest ) . subscribe ( ( result : any ) = > {
this . handleEITValidateTr ( result ) ;
} ) ;
}
}
private handleEITValidateTr ( result ) {
let data : any = { eitRequest : { } , updated : [ ] } ;
if ( this . cs . validResponse ( result ) ) {
// public static SHARED_DATA = 'login-request';
this . cs . sharedService . setSharedData ( this . eitRequest , EitRequest . SHARED_DATA ) ;
if ( this . getPassdirfromNotifiPage ) {
let data : any = { eitRequest : { } , updated : [ ] } ;
data . eitRequest = this . eitRequest ;
data . updated = this . updatedValues ;
// this.viewCtrl.dismiss(data);
this . closemodal ( ) ;
} else {
this . submitEit ( ) ;
// this.navCtrl.push("ConfirmAddEitPage");
// data = { eitRequest: {}, updated: [] };
// data.eitRequest = this.eitRequest;
// data.updated = this.updatedValues;
// this.viewCtrl.dismiss(data);
}
} else {
this . updatedValues = [ ] ;
data = { eitRequest : { } , updated : [ ] } ;
}
}
}